commit 9fa15463bd849f1ae34812183b2bf5285b8b0a67 (HEAD, refs/remotes/origin/master) Merge: 93d9bc09f4 bc6bcb8f0b Author: Stefan Kangas Date: Wed Dec 1 06:30:23 2021 +0100 ; Merge from origin/emacs-28 The following commit was skipped: bc6bcb8f0b ; Auto-commit of loaddefs files. commit 93d9bc09f4167100664ac5a3a1cd686e6d7be9a8 Merge: 6adf37b4a5 e632b83a28 Author: Stefan Kangas Date: Wed Dec 1 06:30:22 2021 +0100 Merge from origin/emacs-28 e632b83a28 Update authors.el for Emacs 28 e9fdb11903 ; * ChangeLog.3: Some additional fixes. 8fa4749df1 ; * ChangeLog.3: Filename fixes. ea5a90b4f4 * lisp/repeat.el: Fix long-standing problem when a random ... ef4954b69c * lisp/repeat.el (repeat-keep-prefix): Change default to nil. 6d5886e780 * test/lisp/repeat-tests.el (repeat-tests-call-b): Test fo... 9e16c6a96d ; * src/comp.c (syms_of_comp) : Doc... 9aa8fd6e62 * src/callint.c (Fcall_interactively): Fix inhibit_mouse_e... 70c229b1fc Fix regression in gdb-frame-handler cd9dd26d24 Format and index concept 'predicate' in ELisp Intro ab291656d0 ; * ChangeLog.3: Fix typos. 354f6c5609 ; * ChangeLog.3: Formatting fixes. 6192525a96 ; make change-history-commit commit 6adf37b4a5a954ac981c2f89ea2c343658f532c2 Author: Stefan Kangas Date: Wed Dec 1 06:01:07 2021 +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 f1e06ccfca..2d4f619898 100644 --- a/leim/SKK-DIC/SKK-JISYO.L +++ b/leim/SKK-DIC/SKK-JISYO.L @@ -143454,7 +143454,7 @@ zyklus / はっせいえいが /発声映画/ はっせいかいすう /発生回数/ はっせいかいろ /発生回路/ -はっせいかくりつ /発生確立/ +はっせいかくりつ /発生確率/ はっせいかしょ /発生箇所/ はっせいかんかく /発生間隔/ はっせいがく /発生学/ commit 2fb5e91d012a1c680244a07a166225b16d97903b Author: Stefan Kangas Date: Wed Dec 1 06:01:05 2021 +0100 Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/public_suffix_list.dat dated 2021-11-26 23:07:15 UTC. diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt index 5cc95b9000..5529554d82 100644 --- a/etc/publicsuffix.txt +++ b/etc/publicsuffix.txt @@ -7132,7 +7132,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-10-08T15:12:46Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-11-13T15:12:42Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -7647,7 +7647,7 @@ cars // casa : 2013-11-21 Registry Services, LLC casa -// case : 2015-09-03 CNH Industrial N.V. +// case : 2015-09-03 Helium TLDs Ltd case // cash : 2014-03-06 Binky Moon, LLC @@ -10317,9 +10317,6 @@ xin // xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED OY 膾 -// xn--3oq18vl8pn36a : 2015-07-02 Volkswagen (China) Investment Co., Ltd. -紊т羆処拾 - // xn--3pxu8k : 2015-01-15 VeriSign Sarl 合 @@ -10785,10 +10782,6 @@ s3-website.eu-west-2.amazonaws.com s3-website.eu-west-3.amazonaws.com s3-website.us-east-2.amazonaws.com -// Amsterdam Wireless: https://www.amsterdamwireless.nl/ -// Submitted by Imre Jonk -amsw.nl - // Amune : https://amune.org/ // Submitted by Team Amune t3l3p0rt.net @@ -10982,7 +10975,6 @@ za.com // No longer operated by CentralNic, these entries should be adopted and/or removed by current operators // Submitted by Gavin Brown ar.com -gb.com hu.com kr.com no.com @@ -11036,10 +11028,6 @@ cx.ua discourse.group discourse.team -// ClearVox : http://www.clearvox.nl/ -// Submitted by Leon Rowland -virtueeldomein.nl - // Clever Cloud : https://www.clever-cloud.com/ // Submitted by Quentin Adam cleverapps.io @@ -11642,12 +11630,6 @@ blogsite.xyz // Submitted by Dominik Menke dynv6.net -// Ellucian : https://ellucian.com -// Submitted by Josue Colon -elluciancrmadvance.com -elluciancrmadvise.com -elluciancrmrecruit.com - // E4YOU spol. s.r.o. : https://e4you.cz/ // Submitted by Vladimir Dudr e4.cz @@ -11915,6 +11897,11 @@ fireweb.app // Submitted by Louis Chemineau flap.id +// FlashDrive : https://flashdrive.io +// Submitted by Eric Chan +onflashdrive.app +fldrv.com + // fly.io: https://fly.io // Submitted by Kurt Mackey fly.dev commit 3e756b12b62ffb0799aa5a586336405fb0fcdd76 Author: Jim Porter Date: Wed Dec 1 05:56:55 2021 +0100 Suppress emacsclient message that daemon should have started if --quiet * lib-src/emacsclient.c (start_daemon_and_retry_set_socket): Don't output "daemon should have started" message if --quiet (bug#52214). diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index c55b29830d..6afea6f306 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -1758,8 +1758,9 @@ start_daemon_and_retry_set_socket (void) } /* Try connecting, the daemon should have started by now. */ - message (true, - "Emacs daemon should have started, trying to connect again\n"); + if (!quiet) + message (true, + "Emacs daemon should have started, trying to connect again\n"); } else if (dpid < 0) { @@ -1850,7 +1851,7 @@ start_daemon_and_retry_set_socket (void) /* Try connecting, the daemon should have started by now. */ /* It's just a progress message, so don't pop a dialog if this is emacsclientw. */ - if (!w32_window_app ()) + if (!quiet && !w32_window_app ()) message (true, "Emacs daemon should have started, trying to connect again\n"); #endif /* WINDOWSNT */ commit ec59a6cb0fa4e8d0848a61bcb424ace7ce2ac922 Author: Bob Rogers Date: Wed Dec 1 05:14:26 2021 +0100 Make date-to-time work with date-only date strings * lisp/calendar/time-date.el (date-to-time): Try harder to parse dates with no times (bug#52209). diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el index 155c34927f..6407138953 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el @@ -153,19 +153,25 @@ it is assumed that PICO was omitted and should be treated as zero." "Parse a string DATE that represents a date-time and return a time value. DATE should be in one of the forms recognized by `parse-time-string'. If DATE lacks timezone information, GMT is assumed." - (condition-case err - (encode-time (parse-time-string date)) - (error - (let ((overflow-error '(error "Specified time is not representable"))) - (if (equal err overflow-error) - (signal (car err) (cdr err)) - (condition-case err - (encode-time (parse-time-string - (timezone-make-date-arpa-standard date))) - (error - (if (equal err overflow-error) - (signal (car err) (cdr err)) - (error "Invalid date: %s" date))))))))) + ;; Pass the result of parsing through decoded-time-set-defaults + ;; because encode-time signals if HH:MM:SS are not filled in. + (encode-time + (decoded-time-set-defaults + (condition-case err + (parse-time-string date) + (error + (let ((overflow-error '(error "Specified time is not representable"))) + (if (or (equal err overflow-error) + ;; timezone-make-date-arpa-standard misbehaves if + ;; not given at least HH:MM as part of the date. + (not (string-match ":" date))) + (signal (car err) (cdr err)) + (condition-case err + (parse-time-string (timezone-make-date-arpa-standard date)) + (error + (if (equal err overflow-error) + (signal (car err) (cdr err)) + (error "Invalid date: %s" date))))))))))) ;;;###autoload (defalias 'time-to-seconds 'float-time) commit e2637beb286d8fcc2775b0692494cfade5815921 Author: Lars Ingebrigtsen Date: Wed Dec 1 04:55:14 2021 +0100 Regenerate ldefs-boot.el diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index cdce950ee4..0fbae8508a 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -3100,6 +3100,11 @@ disabled. (put 'byte-compile-warnings 'safe-local-variable (lambda (v) (or (symbolp v) (null (delq nil (mapcar (lambda (x) (not (symbolp x))) v)))))) +(autoload 'byte-compile-warning-enabled-p "bytecomp" "\ +Return non-nil if WARNING is enabled, according to `byte-compile-warnings'. + +\(fn WARNING &optional SYMBOL)" nil nil) + (autoload 'byte-compile-disable-warning "bytecomp" "\ Change `byte-compile-warnings' to disable WARNING. If `byte-compile-warnings' is t, set it to `(not WARNING)'. @@ -39702,12 +39707,10 @@ Zone out, completely." t nil) ;;;### (autoloads nil nil ("abbrev.el" "bindings.el" "buff-menu.el" ;;;;;; "button.el" "calc/calc-aent.el" "calc/calc-embed.el" "calc/calc-misc.el" -;;;;;; "calc/calc-yank.el" "calendar/cal-loaddefs.el" "calendar/diary-loaddefs.el" -;;;;;; "calendar/hol-loaddefs.el" "case-table.el" "cedet/ede/base.el" -;;;;;; "cedet/ede/config.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el" -;;;;;; "cedet/ede/dired.el" "cedet/ede/emacs.el" "cedet/ede/files.el" -;;;;;; "cedet/ede/generic.el" "cedet/ede/linux.el" "cedet/ede/locate.el" -;;;;;; "cedet/ede/make.el" "cedet/ede/shell.el" "cedet/ede/speedbar.el" +;;;;;; "calc/calc-yank.el" "case-table.el" "cedet/ede/cpp-root.el" +;;;;;; "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el" +;;;;;; "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el" +;;;;;; "cedet/ede/locate.el" "cedet/ede/make.el" "cedet/ede/speedbar.el" ;;;;;; "cedet/ede/system.el" "cedet/ede/util.el" "cedet/semantic/analyze.el" ;;;;;; "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/refs.el" ;;;;;; "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el" @@ -39739,8 +39742,8 @@ Zone out, completely." t nil) ;;;;;; "cedet/srecode/insert.el" "cedet/srecode/java.el" "cedet/srecode/map.el" ;;;;;; "cedet/srecode/mode.el" "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" ;;;;;; "cedet/srecode/template.el" "cedet/srecode/texi.el" "composite.el" -;;;;;; "cus-face.el" "cus-start.el" "custom.el" "dired-aux.el" "dired-x.el" -;;;;;; "electric.el" "emacs-lisp/backquote.el" "emacs-lisp/byte-run.el" +;;;;;; "cus-face.el" "cus-load.el" "cus-start.el" "custom.el" "dired-aux.el" +;;;;;; "dired-x.el" "electric.el" "emacs-lisp/backquote.el" "emacs-lisp/byte-run.el" ;;;;;; "emacs-lisp/cl-extra.el" "emacs-lisp/cl-macs.el" "emacs-lisp/cl-preloaded.el" ;;;;;; "emacs-lisp/cl-seq.el" "emacs-lisp/easymenu.el" "emacs-lisp/eieio-compat.el" ;;;;;; "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-opt.el" "emacs-lisp/float-sup.el" @@ -39762,60 +39765,70 @@ Zone out, completely." t nil) ;;;;;; "eshell/em-ls.el" "eshell/em-pred.el" "eshell/em-prompt.el" ;;;;;; "eshell/em-rebind.el" "eshell/em-script.el" "eshell/em-smart.el" ;;;;;; "eshell/em-term.el" "eshell/em-tramp.el" "eshell/em-unix.el" -;;;;;; "eshell/em-xtra.el" "faces.el" "files.el" "font-core.el" -;;;;;; "font-lock.el" "format.el" "frame.el" "help.el" "hfy-cmap.el" -;;;;;; "ibuf-ext.el" "indent.el" "international/characters.el" "international/charscript.el" -;;;;;; "international/cp51932.el" "international/emoji-zwj.el" "international/eucjp-ms.el" -;;;;;; "international/iso-transl.el" "international/mule-cmds.el" -;;;;;; "international/mule-conf.el" "international/mule.el" "isearch.el" -;;;;;; "jit-lock.el" "jka-cmpr-hook.el" "keymap.el" "language/burmese.el" -;;;;;; "language/cham.el" "language/chinese.el" "language/cyrillic.el" -;;;;;; "language/czech.el" "language/english.el" "language/ethiopic.el" -;;;;;; "language/european.el" "language/georgian.el" "language/greek.el" -;;;;;; "language/hebrew.el" "language/indian.el" "language/japanese.el" -;;;;;; "language/khmer.el" "language/korean.el" "language/lao.el" -;;;;;; "language/misc-lang.el" "language/romanian.el" "language/sinhala.el" -;;;;;; "language/slovak.el" "language/tai-viet.el" "language/thai.el" -;;;;;; "language/tibetan.el" "language/utf-8-lang.el" "language/vietnamese.el" -;;;;;; "ldefs-boot.el" "leim/ja-dic/ja-dic.el" "leim/leim-list.el" -;;;;;; "leim/quail/4Corner.el" "leim/quail/ARRAY30.el" "leim/quail/CCDOSPY.el" -;;;;;; "leim/quail/CTLau-b5.el" "leim/quail/CTLau.el" "leim/quail/ECDICT.el" -;;;;;; "leim/quail/ETZY.el" "leim/quail/PY-b5.el" "leim/quail/PY.el" -;;;;;; "leim/quail/Punct-b5.el" "leim/quail/Punct.el" "leim/quail/QJ-b5.el" -;;;;;; "leim/quail/QJ.el" "leim/quail/SW.el" "leim/quail/TONEPY.el" -;;;;;; "leim/quail/ZIRANMA.el" "leim/quail/ZOZY.el" "leim/quail/arabic.el" -;;;;;; "leim/quail/cham.el" "leim/quail/compose.el" "leim/quail/croatian.el" -;;;;;; "leim/quail/cyril-jis.el" "leim/quail/cyrillic.el" "leim/quail/czech.el" -;;;;;; "leim/quail/georgian.el" "leim/quail/greek.el" "leim/quail/hanja-jis.el" -;;;;;; "leim/quail/hanja.el" "leim/quail/hanja3.el" "leim/quail/hebrew.el" -;;;;;; "leim/quail/ipa-praat.el" "leim/quail/latin-alt.el" "leim/quail/latin-ltx.el" -;;;;;; "leim/quail/latin-post.el" "leim/quail/latin-pre.el" "leim/quail/persian.el" -;;;;;; "leim/quail/programmer-dvorak.el" "leim/quail/py-punct.el" -;;;;;; "leim/quail/pypunct-b5.el" "leim/quail/quick-b5.el" "leim/quail/quick-cns.el" -;;;;;; "leim/quail/rfc1345.el" "leim/quail/sami.el" "leim/quail/sgml-input.el" -;;;;;; "leim/quail/slovak.el" "leim/quail/symbol-ksc.el" "leim/quail/tamil-dvorak.el" -;;;;;; "leim/quail/tsang-b5.el" "leim/quail/tsang-cns.el" "leim/quail/vntelex.el" -;;;;;; "leim/quail/vnvni.el" "leim/quail/welsh.el" "loadup.el" "mail/blessmail.el" -;;;;;; "mail/rmailedit.el" "mail/rmailkwd.el" "mail/rmailmm.el" -;;;;;; "mail/rmailmsc.el" "mail/rmailsort.el" "mail/rmailsum.el" -;;;;;; "mail/undigest.el" "menu-bar.el" "mh-e/mh-gnus.el" "mh-e/mh-loaddefs.el" -;;;;;; "minibuffer.el" "mouse.el" "net/tramp-loaddefs.el" "newcomment.el" -;;;;;; "obarray.el" "org/ob-core.el" "org/ob-lob.el" "org/ob-matlab.el" -;;;;;; "org/ob-tangle.el" "org/ob.el" "org/ol-bbdb.el" "org/ol-irc.el" -;;;;;; "org/ol.el" "org/org-archive.el" "org/org-attach.el" "org/org-clock.el" -;;;;;; "org/org-colview.el" "org/org-compat.el" "org/org-datetree.el" -;;;;;; "org/org-duration.el" "org/org-element.el" "org/org-feed.el" -;;;;;; "org/org-footnote.el" "org/org-goto.el" "org/org-id.el" "org/org-indent.el" -;;;;;; "org/org-install.el" "org/org-keys.el" "org/org-lint.el" -;;;;;; "org/org-list.el" "org/org-macs.el" "org/org-mobile.el" "org/org-num.el" -;;;;;; "org/org-plot.el" "org/org-refile.el" "org/org-table.el" -;;;;;; "org/org-timer.el" "org/ox-ascii.el" "org/ox-beamer.el" "org/ox-html.el" -;;;;;; "org/ox-icalendar.el" "org/ox-latex.el" "org/ox-md.el" "org/ox-odt.el" -;;;;;; "org/ox-org.el" "org/ox-publish.el" "org/ox-texinfo.el" "org/ox.el" -;;;;;; "paren.el" "progmodes/elisp-mode.el" "progmodes/prog-mode.el" -;;;;;; "ps-mule.el" "register.el" "replace.el" "rfn-eshadow.el" -;;;;;; "select.el" "simple.el" "startup.el" "subdirs.el" "subr.el" -;;;;;; "tab-bar.el" "textmodes/fill.el" "textmodes/makeinfo.el" +;;;;;; "eshell/em-xtra.el" "eshell/esh-groups.el" "faces.el" "files.el" +;;;;;; "finder-inf.el" "font-core.el" "font-lock.el" "format.el" +;;;;;; "frame.el" "help.el" "hfy-cmap.el" "ibuf-ext.el" "indent.el" +;;;;;; "international/characters.el" "international/charprop.el" +;;;;;; "international/charscript.el" "international/cp51932.el" +;;;;;; "international/emoji-labels.el" "international/emoji-zwj.el" +;;;;;; "international/eucjp-ms.el" "international/iso-transl.el" +;;;;;; "international/mule-cmds.el" "international/mule-conf.el" +;;;;;; "international/mule.el" "international/uni-bidi.el" "international/uni-brackets.el" +;;;;;; "international/uni-category.el" "international/uni-combining.el" +;;;;;; "international/uni-comment.el" "international/uni-decimal.el" +;;;;;; "international/uni-decomposition.el" "international/uni-digit.el" +;;;;;; "international/uni-lowercase.el" "international/uni-mirrored.el" +;;;;;; "international/uni-name.el" "international/uni-numeric.el" +;;;;;; "international/uni-old-name.el" "international/uni-special-lowercase.el" +;;;;;; "international/uni-special-titlecase.el" "international/uni-special-uppercase.el" +;;;;;; "international/uni-titlecase.el" "international/uni-uppercase.el" +;;;;;; "isearch.el" "jit-lock.el" "jka-cmpr-hook.el" "keymap.el" +;;;;;; "language/burmese.el" "language/cham.el" "language/chinese.el" +;;;;;; "language/cyrillic.el" "language/czech.el" "language/english.el" +;;;;;; "language/ethiopic.el" "language/european.el" "language/georgian.el" +;;;;;; "language/greek.el" "language/hebrew.el" "language/indian.el" +;;;;;; "language/japanese.el" "language/khmer.el" "language/korean.el" +;;;;;; "language/lao.el" "language/misc-lang.el" "language/romanian.el" +;;;;;; "language/sinhala.el" "language/slovak.el" "language/tai-viet.el" +;;;;;; "language/thai.el" "language/tibetan.el" "language/utf-8-lang.el" +;;;;;; "language/vietnamese.el" "ldefs-boot.el" "leim/ja-dic/ja-dic.el" +;;;;;; "leim/leim-list.el" "leim/quail/4Corner.el" "leim/quail/ARRAY30.el" +;;;;;; "leim/quail/CCDOSPY.el" "leim/quail/CTLau-b5.el" "leim/quail/CTLau.el" +;;;;;; "leim/quail/ECDICT.el" "leim/quail/ETZY.el" "leim/quail/PY-b5.el" +;;;;;; "leim/quail/PY.el" "leim/quail/Punct-b5.el" "leim/quail/Punct.el" +;;;;;; "leim/quail/QJ-b5.el" "leim/quail/QJ.el" "leim/quail/SW.el" +;;;;;; "leim/quail/TONEPY.el" "leim/quail/ZIRANMA.el" "leim/quail/ZOZY.el" +;;;;;; "leim/quail/arabic.el" "leim/quail/cham.el" "leim/quail/compose.el" +;;;;;; "leim/quail/croatian.el" "leim/quail/cyril-jis.el" "leim/quail/cyrillic.el" +;;;;;; "leim/quail/czech.el" "leim/quail/georgian.el" "leim/quail/greek.el" +;;;;;; "leim/quail/hanja-jis.el" "leim/quail/hanja.el" "leim/quail/hanja3.el" +;;;;;; "leim/quail/hebrew.el" "leim/quail/ipa-praat.el" "leim/quail/latin-alt.el" +;;;;;; "leim/quail/latin-ltx.el" "leim/quail/latin-post.el" "leim/quail/latin-pre.el" +;;;;;; "leim/quail/persian.el" "leim/quail/programmer-dvorak.el" +;;;;;; "leim/quail/py-punct.el" "leim/quail/pypunct-b5.el" "leim/quail/quick-b5.el" +;;;;;; "leim/quail/quick-cns.el" "leim/quail/rfc1345.el" "leim/quail/sami.el" +;;;;;; "leim/quail/sgml-input.el" "leim/quail/slovak.el" "leim/quail/symbol-ksc.el" +;;;;;; "leim/quail/tamil-dvorak.el" "leim/quail/tsang-b5.el" "leim/quail/tsang-cns.el" +;;;;;; "leim/quail/vntelex.el" "leim/quail/vnvni.el" "leim/quail/welsh.el" +;;;;;; "loadup.el" "mail/blessmail.el" "mail/rmailedit.el" "mail/rmailkwd.el" +;;;;;; "mail/rmailmm.el" "mail/rmailmsc.el" "mail/rmailsort.el" +;;;;;; "mail/rmailsum.el" "mail/undigest.el" "menu-bar.el" "mh-e/mh-gnus.el" +;;;;;; "minibuffer.el" "mouse.el" "newcomment.el" "obarray.el" "org/ob-core.el" +;;;;;; "org/ob-lob.el" "org/ob-matlab.el" "org/ob-tangle.el" "org/ob.el" +;;;;;; "org/ol-bbdb.el" "org/ol-irc.el" "org/ol.el" "org/org-archive.el" +;;;;;; "org/org-attach.el" "org/org-clock.el" "org/org-colview.el" +;;;;;; "org/org-compat.el" "org/org-datetree.el" "org/org-duration.el" +;;;;;; "org/org-element.el" "org/org-feed.el" "org/org-footnote.el" +;;;;;; "org/org-goto.el" "org/org-id.el" "org/org-indent.el" "org/org-install.el" +;;;;;; "org/org-keys.el" "org/org-lint.el" "org/org-list.el" "org/org-macs.el" +;;;;;; "org/org-mobile.el" "org/org-num.el" "org/org-plot.el" "org/org-refile.el" +;;;;;; "org/org-table.el" "org/org-timer.el" "org/ox-ascii.el" "org/ox-beamer.el" +;;;;;; "org/ox-html.el" "org/ox-icalendar.el" "org/ox-latex.el" +;;;;;; "org/ox-md.el" "org/ox-odt.el" "org/ox-org.el" "org/ox-publish.el" +;;;;;; "org/ox-texinfo.el" "org/ox.el" "paren.el" "progmodes/elisp-mode.el" +;;;;;; "progmodes/prog-mode.el" "ps-mule.el" "register.el" "replace.el" +;;;;;; "rfn-eshadow.el" "select.el" "simple.el" "startup.el" "subdirs.el" +;;;;;; "subr.el" "tab-bar.el" "textmodes/fill.el" "textmodes/makeinfo.el" ;;;;;; "textmodes/page.el" "textmodes/paragraphs.el" "textmodes/reftex-auc.el" ;;;;;; "textmodes/reftex-cite.el" "textmodes/reftex-dcr.el" "textmodes/reftex-global.el" ;;;;;; "textmodes/reftex-index.el" "textmodes/reftex-parse.el" "textmodes/reftex-ref.el" commit a8c067591e4671eba0a779586590b7e5e75720b8 Author: Lars Ingebrigtsen Date: Wed Dec 1 04:54:59 2021 +0100 Autoload byte-compile-warning-enabled-p * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-enabled-p): Autoloads (for easier use in macroexp etc). diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 5ce5b2952b..d6b25e0279 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -344,6 +344,7 @@ suppress. For example, (not mapcar) will suppress warnings about mapcar." (or (symbolp v) (null (delq nil (mapcar (lambda (x) (not (symbolp x))) v)))))) +;;;###autoload (defun byte-compile-warning-enabled-p (warning &optional symbol) "Return non-nil if WARNING is enabled, according to `byte-compile-warnings'." (let ((suppress nil)) commit a4cf68af2b88396713a951c5e2597aed08b08477 Author: Lars Ingebrigtsen Date: Wed Dec 1 04:54:20 2021 +0100 Add an ldefs-boot.el target to the Makefile * lisp/Makefile.in (ldefs-boot.el): Add a target to regenerate the ldefs-boot.el file. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 60d1d10e5b..4380a3bdb6 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -205,6 +205,9 @@ autoloads-force: rm -f $(lisp)/loaddefs.el $(MAKE) autoloads +ldefs-boot.el: autoloads-force + cp $(lisp)/loaddefs.el $(lisp)/ldefs-boot.el + # This is required by the bootstrap-emacs target in ../src/Makefile, so # we know that if we have an emacs executable, we also have a subdirs.el. $(lisp)/subdirs.el: commit 71f33b39cfd2a28047d32231d525d8b1e99a3ea5 Author: Lars Ingebrigtsen Date: Wed Dec 1 04:51:01 2021 +0100 Make "make force-autoloads" produce the correct result * lisp/emacs-lisp/autoload.el (cl-lib): We need the cl-macs at runtime to expand cl-defmacros to find declare indent forms. diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 5857aa5571..d8b4c1f885 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -32,7 +32,7 @@ (require 'lisp-mode) ;for `doc-string-elt' properties. (require 'lisp-mnt) -(eval-when-compile (require 'cl-lib)) +(require 'cl-lib) (defvar generated-autoload-file nil "File into which to write autoload definitions. commit 1f9834cd764fb89d01afca096068034acbf2c79d Author: Lars Ingebrigtsen Date: Wed Dec 1 03:55:17 2021 +0100 Don't include the other loaddef files in the no-autoloads section * lisp/emacs-lisp/autoload.el (make-directory-autoloads): Don't include the other loaddef files in the no-autoloads section. diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 23fb400249..5857aa5571 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -1196,9 +1196,17 @@ directory or directories specified." (goto-char (point-max)) (search-backward "\f" nil t) (autoload-insert-section-header - (current-buffer) nil nil no-autoloads (if autoload-timestamps - no-autoloads-time - autoload--non-timestamp)) + (current-buffer) nil nil + ;; Filter out the other loaddefs files, because it makes + ;; the list unstable (and leads to spurious changes in + ;; ldefs-boot.el) since the loaddef files can be created in + ;; any order. + (seq-filter (lambda (file) + (not (string-match-p "[/-]loaddefs.el" file))) + no-autoloads) + (if autoload-timestamps + no-autoloads-time + autoload--non-timestamp)) (insert generate-autoload-section-trailer))) ;; Don't modify the file if its content has not been changed, so `make' commit 541f61b378eca85fa118caff5ad97b56171baa98 Author: Po Lu Date: Wed Dec 1 11:22:58 2021 +0800 Avoid unnecessary call when pixel scrolling * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Avoid unnecessary call to `posn-at-point' diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index f514a010ad..6567153486 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -388,13 +388,14 @@ the height of the current window." (point)))) (if (and (< (point) next-pos) (let ((pos-visibility (pos-visible-in-window-p next-pos nil t))) - (or (eq (length pos-visibility) 2) - (when-let* ((posn (posn-at-point next-pos)) - (edges (window-edges nil t)) - (usable-height (- (nth 3 edges) - (nth 1 edges)))) - (> (cdr (posn-object-width-height posn)) - usable-height))))) + (and pos-visibility + (or (eq (length pos-visibility) 2) + (when-let* ((posn (posn-at-point next-pos)) + (edges (window-edges nil t)) + (usable-height (- (nth 3 edges) + (nth 1 edges)))) + (> (cdr (posn-object-width-height posn)) + usable-height)))))) (goto-char next-pos)) (if (or (consp object) (stringp object)) ;; We are either on an overlay or a string, so set vscroll commit 034d8a3ea8437a6ef88d33275e2a5818380afd74 Author: Po Lu Date: Wed Dec 1 09:33:35 2021 +0800 Make pixel scrolling faster * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Get rid of big motion loop. (pixel-scroll-precision-scroll-up): Stop subtracting height of window lines. diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 5ffa8caa71..f514a010ad 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -375,59 +375,42 @@ Otherwise, redisplay will reset the window's vscroll." "Scroll the current window down by DELTA pixels. Note that this function doesn't work if DELTA is larger than the height of the current window." - (when-let* ((posn (posn-at-point)) - (current-y (cdr (posn-x-y posn))) - (min-y (+ (frame-char-height) - (window-tab-line-height) - (window-header-line-height))) - (cursor-height (line-pixel-height)) - (window-height (window-text-height nil t)) - (next-height (save-excursion - (vertical-motion 1) - (line-pixel-height)))) - (if (and (> delta 0) - (<= cursor-height window-height)) - (while (< (- current-y min-y) delta) - (vertical-motion 1) - (setq current-y (+ current-y - (line-pixel-height))) - (when (eobp) - (signal 'end-of-buffer nil))) - (when (< (- (cdr (posn-object-width-height posn)) - (cdr (posn-object-x-y posn))) - (- window-height next-height)) - (vertical-motion 1) - (setq posn (posn-at-point) - current-y (cdr (posn-x-y posn))) - (while (< (- current-y min-y) delta) - (vertical-motion 1) - (setq current-y (+ current-y - (line-pixel-height))) - (when (eobp) - (signal 'end-of-buffer nil))))) - (let* ((desired-pos (posn-at-x-y 0 (+ delta - (window-tab-line-height) - (window-header-line-height)))) - (object (posn-object desired-pos)) - (desired-start (posn-point desired-pos)) - (desired-vscroll (cdr (posn-object-x-y desired-pos)))) - (if (or (consp object) (stringp object)) - ;; We are either on an overlay or a string, so set vscroll - ;; directly. - (set-window-vscroll nil (+ (window-vscroll nil t) - delta) - t) - (unless (eq (window-start) desired-start) - (set-window-start nil desired-start t)) - (set-window-vscroll nil desired-vscroll t))))) + (let* ((desired-pos (posn-at-x-y 0 (+ delta + (window-tab-line-height) + (window-header-line-height)))) + (object (posn-object desired-pos)) + (desired-start (posn-point desired-pos)) + (desired-vscroll (cdr (posn-object-x-y desired-pos))) + (next-pos (save-excursion + (goto-char desired-start) + (when (zerop (vertical-motion 1)) + (signal 'end-of-buffer nil)) + (point)))) + (if (and (< (point) next-pos) + (let ((pos-visibility (pos-visible-in-window-p next-pos nil t))) + (or (eq (length pos-visibility) 2) + (when-let* ((posn (posn-at-point next-pos)) + (edges (window-edges nil t)) + (usable-height (- (nth 3 edges) + (nth 1 edges)))) + (> (cdr (posn-object-width-height posn)) + usable-height))))) + (goto-char next-pos)) + (if (or (consp object) (stringp object)) + ;; We are either on an overlay or a string, so set vscroll + ;; directly. + (set-window-vscroll nil (+ (window-vscroll nil t) + delta) + t) + (unless (eq (window-start) desired-start) + (set-window-start nil desired-start t)) + (set-window-vscroll nil desired-vscroll t)))) (defun pixel-scroll-precision-scroll-up (delta) "Scroll the current window up by DELTA pixels." (let* ((edges (window-edges nil t nil t)) (max-y (- (nth 3 edges) - (nth 1 edges) - (window-tab-line-height) - (window-header-line-height))) + (nth 1 edges))) (usable-height max-y)) (when-let* ((posn (posn-at-point)) (current-y (+ (cdr (posn-x-y posn)) commit bc6bcb8f0be9c472a381b07c1cfcb1d52f96ebd1 (refs/remotes/origin/emacs-28) Author: Stefan Kangas Date: Wed Dec 1 02:15:10 2021 +0100 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index ee0a50be94..dbf86af456 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -6736,7 +6736,7 @@ You can set this option through Custom, if you carefully read the last paragraph below. However, usually it is simpler to write something like the following in your init file: -\(setq custom-file \"~/.emacs-custom.el\") +\(setq custom-file \"~/.config/emacs-custom.el\") \(load custom-file) Note that both lines are necessary: the first line tells Custom to @@ -13226,7 +13226,7 @@ retrieval with `flymake-diagnostic-data'. If LOCUS is a buffer BEG and END should be buffer positions inside it. If LOCUS designates a file, BEG and END should be a cons (LINE . COL) indicating a file position. In this second -case, END may be ommited in which case the region is computed +case, END may be omitted in which case the region is computed using `flymake-diag-region' if the diagnostic is appended to an actual buffer. @@ -24054,7 +24054,7 @@ Coloring: ;;;### (autoloads nil "org" "org/org.el" (0 0 0 0)) ;;; Generated autoloads from org/org.el -(push (purecopy '(org 9 5)) package--builtin-versions) +(push (purecopy '(org 9 5 1)) package--builtin-versions) (autoload 'org-babel-do-load-languages "org" "\ Load the languages defined in `org-babel-load-languages'. commit aa0162ddfa30842a6dc5d5eebfae8f77aa7b15b9 Author: Stefan Kangas Date: Wed Dec 1 01:57:24 2021 +0100 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index af53e9bf75..cdce950ee4 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -17349,7 +17349,9 @@ inlined into the compiled format versions. This means that if you change its definition, you should explicitly call `ibuffer-recompile-formats'. -\(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil 'macro) +\(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil t) + +(function-put 'define-ibuffer-column 'lisp-indent-function 'defun) (autoload 'define-ibuffer-sorter "ibuf-macs" "\ Define a method of sorting named NAME. @@ -17361,7 +17363,11 @@ For sorting, the forms in BODY will be evaluated with `a' bound to one buffer object, and `b' bound to another. BODY should return a non-nil value if and only if `a' is \"less than\" `b'. -\(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil 'macro) +\(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil t) + +(function-put 'define-ibuffer-sorter 'lisp-indent-function '1) + +(function-put 'define-ibuffer-sorter 'doc-string-elt '2) (autoload 'define-ibuffer-op "ibuf-macs" "\ Generate a function which operates on a buffer. @@ -17401,7 +17407,11 @@ BODY define the operation; they are forms to evaluate per each marked buffer. BODY is evaluated with `buf' bound to the buffer object. -\(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil 'macro) +\(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil t) + +(function-put 'define-ibuffer-op 'lisp-indent-function '2) + +(function-put 'define-ibuffer-op 'doc-string-elt '3) (autoload 'define-ibuffer-filter "ibuf-macs" "\ Define a filter named NAME. @@ -17417,7 +17427,11 @@ not a particular buffer should be displayed or not. The forms in BODY will be evaluated with BUF bound to the buffer object, and QUALIFIER bound to the current value of the filter. -\(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil 'macro) +\(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil t) + +(function-put 'define-ibuffer-filter 'lisp-indent-function '2) + +(function-put 'define-ibuffer-filter 'doc-string-elt '2) (register-definition-prefixes "ibuf-macs" '("ibuffer-")) @@ -25859,6 +25873,14 @@ they are not by default assigned to keys." t nil) (register-definition-prefixes "pinyin" '("pinyin-character-map")) +;;;*** + +;;;### (autoloads nil "pixel-fill" "textmodes/pixel-fill.el" (0 0 +;;;;;; 0 0)) +;;; Generated autoloads from textmodes/pixel-fill.el + +(register-definition-prefixes "pixel-fill" '("pixel-fill-")) + ;;;*** ;;;### (autoloads nil "pixel-scroll" "pixel-scroll.el" (0 0 0 0)) @@ -39679,59 +39701,57 @@ Zone out, completely." t nil) ;;;*** ;;;### (autoloads nil nil ("abbrev.el" "bindings.el" "buff-menu.el" -;;;;;; "button.el" "calc/calc-aent.el" "calc/calc-embed.el" "calc/calc-loaddefs.el" -;;;;;; "calc/calc-misc.el" "calc/calc-yank.el" "calendar/cal-loaddefs.el" -;;;;;; "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "case-table.el" -;;;;;; "cedet/ede/cpp-root.el" "cedet/ede/custom.el" "cedet/ede/dired.el" -;;;;;; "cedet/ede/emacs.el" "cedet/ede/files.el" "cedet/ede/generic.el" -;;;;;; "cedet/ede/linux.el" "cedet/ede/loaddefs.el" "cedet/ede/locate.el" -;;;;;; "cedet/ede/make.el" "cedet/ede/speedbar.el" "cedet/ede/system.el" -;;;;;; "cedet/ede/util.el" "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el" -;;;;;; "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el" -;;;;;; "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el" -;;;;;; "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el" -;;;;;; "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el" -;;;;;; "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el" -;;;;;; "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-file.el" -;;;;;; "cedet/semantic/db-find.el" "cedet/semantic/db-global.el" -;;;;;; "cedet/semantic/db-mode.el" "cedet/semantic/db-typecache.el" -;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate/include.el" -;;;;;; "cedet/semantic/decorate/mode.el" "cedet/semantic/dep.el" -;;;;;; "cedet/semantic/doc.el" "cedet/semantic/edit.el" "cedet/semantic/find.el" -;;;;;; "cedet/semantic/format.el" "cedet/semantic/grammar-wy.el" +;;;;;; "button.el" "calc/calc-aent.el" "calc/calc-embed.el" "calc/calc-misc.el" +;;;;;; "calc/calc-yank.el" "calendar/cal-loaddefs.el" "calendar/diary-loaddefs.el" +;;;;;; "calendar/hol-loaddefs.el" "case-table.el" "cedet/ede/base.el" +;;;;;; "cedet/ede/config.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el" +;;;;;; "cedet/ede/dired.el" "cedet/ede/emacs.el" "cedet/ede/files.el" +;;;;;; "cedet/ede/generic.el" "cedet/ede/linux.el" "cedet/ede/locate.el" +;;;;;; "cedet/ede/make.el" "cedet/ede/shell.el" "cedet/ede/speedbar.el" +;;;;;; "cedet/ede/system.el" "cedet/ede/util.el" "cedet/semantic/analyze.el" +;;;;;; "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/refs.el" +;;;;;; "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el" +;;;;;; "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/el.el" +;;;;;; "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el" +;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el" +;;;;;; "cedet/semantic/bovine/scm.el" "cedet/semantic/complete.el" +;;;;;; "cedet/semantic/ctxt.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" +;;;;;; "cedet/semantic/db-global.el" "cedet/semantic/db-mode.el" +;;;;;; "cedet/semantic/db-typecache.el" "cedet/semantic/db.el" "cedet/semantic/debug.el" +;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el" +;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/edit.el" +;;;;;; "cedet/semantic/find.el" "cedet/semantic/format.el" "cedet/semantic/grammar-wy.el" ;;;;;; "cedet/semantic/grm-wy-boot.el" "cedet/semantic/html.el" ;;;;;; "cedet/semantic/ia-sb.el" "cedet/semantic/ia.el" "cedet/semantic/idle.el" ;;;;;; "cedet/semantic/imenu.el" "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" -;;;;;; "cedet/semantic/loaddefs.el" "cedet/semantic/mru-bookmark.el" -;;;;;; "cedet/semantic/scope.el" "cedet/semantic/senator.el" "cedet/semantic/sort.el" -;;;;;; "cedet/semantic/symref.el" "cedet/semantic/symref/cscope.el" -;;;;;; "cedet/semantic/symref/global.el" "cedet/semantic/symref/grep.el" -;;;;;; "cedet/semantic/symref/idutils.el" "cedet/semantic/symref/list.el" -;;;;;; "cedet/semantic/tag-file.el" "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el" +;;;;;; "cedet/semantic/mru-bookmark.el" "cedet/semantic/scope.el" +;;;;;; "cedet/semantic/senator.el" "cedet/semantic/sort.el" "cedet/semantic/symref.el" +;;;;;; "cedet/semantic/symref/cscope.el" "cedet/semantic/symref/global.el" +;;;;;; "cedet/semantic/symref/grep.el" "cedet/semantic/symref/idutils.el" +;;;;;; "cedet/semantic/symref/list.el" "cedet/semantic/tag-file.el" +;;;;;; "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el" ;;;;;; "cedet/semantic/tag.el" "cedet/semantic/texi.el" "cedet/semantic/util-modes.el" ;;;;;; "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el" ;;;;;; "cedet/semantic/wisent/javat-wy.el" "cedet/semantic/wisent/js-wy.el" ;;;;;; "cedet/semantic/wisent/python-wy.el" "cedet/semantic/wisent/python.el" ;;;;;; "cedet/srecode/compile.el" "cedet/srecode/cpp.el" "cedet/srecode/document.el" ;;;;;; "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/getset.el" -;;;;;; "cedet/srecode/insert.el" "cedet/srecode/java.el" "cedet/srecode/loaddefs.el" -;;;;;; "cedet/srecode/map.el" "cedet/srecode/mode.el" "cedet/srecode/srt-wy.el" -;;;;;; "cedet/srecode/srt.el" "cedet/srecode/template.el" "cedet/srecode/texi.el" -;;;;;; "composite.el" "cus-face.el" "cus-load.el" "cus-start.el" -;;;;;; "custom.el" "dired-aux.el" "dired-loaddefs.el" "dired-x.el" +;;;;;; "cedet/srecode/insert.el" "cedet/srecode/java.el" "cedet/srecode/map.el" +;;;;;; "cedet/srecode/mode.el" "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" +;;;;;; "cedet/srecode/template.el" "cedet/srecode/texi.el" "composite.el" +;;;;;; "cus-face.el" "cus-start.el" "custom.el" "dired-aux.el" "dired-x.el" ;;;;;; "electric.el" "emacs-lisp/backquote.el" "emacs-lisp/byte-run.el" -;;;;;; "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" "emacs-lisp/cl-macs.el" -;;;;;; "emacs-lisp/cl-preloaded.el" "emacs-lisp/cl-seq.el" "emacs-lisp/easymenu.el" -;;;;;; "emacs-lisp/eieio-compat.el" "emacs-lisp/eieio-custom.el" -;;;;;; "emacs-lisp/eieio-loaddefs.el" "emacs-lisp/eieio-opt.el" -;;;;;; "emacs-lisp/float-sup.el" "emacs-lisp/lisp-mode.el" "emacs-lisp/lisp.el" -;;;;;; "emacs-lisp/macroexp.el" "emacs-lisp/map-ynp.el" "emacs-lisp/nadvice.el" -;;;;;; "emacs-lisp/shorthands.el" "emacs-lisp/syntax.el" "emacs-lisp/timer.el" -;;;;;; "env.el" "epa-hook.el" "erc/erc-autoaway.el" "erc/erc-button.el" -;;;;;; "erc/erc-capab.el" "erc/erc-compat.el" "erc/erc-dcc.el" "erc/erc-desktop-notifications.el" +;;;;;; "emacs-lisp/cl-extra.el" "emacs-lisp/cl-macs.el" "emacs-lisp/cl-preloaded.el" +;;;;;; "emacs-lisp/cl-seq.el" "emacs-lisp/easymenu.el" "emacs-lisp/eieio-compat.el" +;;;;;; "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-opt.el" "emacs-lisp/float-sup.el" +;;;;;; "emacs-lisp/lisp-mode.el" "emacs-lisp/lisp.el" "emacs-lisp/macroexp.el" +;;;;;; "emacs-lisp/map-ynp.el" "emacs-lisp/nadvice.el" "emacs-lisp/shorthands.el" +;;;;;; "emacs-lisp/syntax.el" "emacs-lisp/timer.el" "env.el" "epa-hook.el" +;;;;;; "erc/erc-autoaway.el" "erc/erc-button.el" "erc/erc-capab.el" +;;;;;; "erc/erc-compat.el" "erc/erc-dcc.el" "erc/erc-desktop-notifications.el" ;;;;;; "erc/erc-ezbounce.el" "erc/erc-fill.el" "erc/erc-identd.el" -;;;;;; "erc/erc-imenu.el" "erc/erc-join.el" "erc/erc-list.el" "erc/erc-loaddefs.el" -;;;;;; "erc/erc-log.el" "erc/erc-match.el" "erc/erc-menu.el" "erc/erc-netsplit.el" +;;;;;; "erc/erc-imenu.el" "erc/erc-join.el" "erc/erc-list.el" "erc/erc-log.el" +;;;;;; "erc/erc-match.el" "erc/erc-menu.el" "erc/erc-netsplit.el" ;;;;;; "erc/erc-notify.el" "erc/erc-page.el" "erc/erc-pcomplete.el" ;;;;;; "erc/erc-replace.el" "erc/erc-ring.el" "erc/erc-services.el" ;;;;;; "erc/erc-sound.el" "erc/erc-speedbar.el" "erc/erc-spelling.el" @@ -39742,52 +39762,40 @@ Zone out, completely." t nil) ;;;;;; "eshell/em-ls.el" "eshell/em-pred.el" "eshell/em-prompt.el" ;;;;;; "eshell/em-rebind.el" "eshell/em-script.el" "eshell/em-smart.el" ;;;;;; "eshell/em-term.el" "eshell/em-tramp.el" "eshell/em-unix.el" -;;;;;; "eshell/em-xtra.el" "eshell/esh-groups.el" "faces.el" "files.el" -;;;;;; "finder-inf.el" "font-core.el" "font-lock.el" "format.el" -;;;;;; "frame.el" "help.el" "hfy-cmap.el" "htmlfontify-loaddefs.el" -;;;;;; "ibuf-ext.el" "ibuffer-loaddefs.el" "indent.el" "international/characters.el" -;;;;;; "international/charprop.el" "international/charscript.el" -;;;;;; "international/cp51932.el" "international/emoji-labels.el" -;;;;;; "international/emoji-zwj.el" "international/eucjp-ms.el" +;;;;;; "eshell/em-xtra.el" "faces.el" "files.el" "font-core.el" +;;;;;; "font-lock.el" "format.el" "frame.el" "help.el" "hfy-cmap.el" +;;;;;; "ibuf-ext.el" "indent.el" "international/characters.el" "international/charscript.el" +;;;;;; "international/cp51932.el" "international/emoji-zwj.el" "international/eucjp-ms.el" ;;;;;; "international/iso-transl.el" "international/mule-cmds.el" -;;;;;; "international/mule-conf.el" "international/mule.el" "international/uni-bidi.el" -;;;;;; "international/uni-brackets.el" "international/uni-category.el" -;;;;;; "international/uni-combining.el" "international/uni-comment.el" -;;;;;; "international/uni-decimal.el" "international/uni-decomposition.el" -;;;;;; "international/uni-digit.el" "international/uni-lowercase.el" -;;;;;; "international/uni-mirrored.el" "international/uni-name.el" -;;;;;; "international/uni-numeric.el" "international/uni-old-name.el" -;;;;;; "international/uni-special-lowercase.el" "international/uni-special-titlecase.el" -;;;;;; "international/uni-special-uppercase.el" "international/uni-titlecase.el" -;;;;;; "international/uni-uppercase.el" "isearch.el" "jit-lock.el" -;;;;;; "jka-cmpr-hook.el" "keymap.el" "language/burmese.el" "language/cham.el" -;;;;;; "language/chinese.el" "language/cyrillic.el" "language/czech.el" -;;;;;; "language/english.el" "language/ethiopic.el" "language/european.el" -;;;;;; "language/georgian.el" "language/greek.el" "language/hebrew.el" -;;;;;; "language/indian.el" "language/japanese.el" "language/khmer.el" -;;;;;; "language/korean.el" "language/lao.el" "language/misc-lang.el" -;;;;;; "language/romanian.el" "language/sinhala.el" "language/slovak.el" -;;;;;; "language/tai-viet.el" "language/thai.el" "language/tibetan.el" -;;;;;; "language/utf-8-lang.el" "language/vietnamese.el" "ldefs-boot.el" -;;;;;; "leim/ja-dic/ja-dic.el" "leim/leim-list.el" "leim/quail/4Corner.el" -;;;;;; "leim/quail/ARRAY30.el" "leim/quail/CCDOSPY.el" "leim/quail/CTLau-b5.el" -;;;;;; "leim/quail/CTLau.el" "leim/quail/ECDICT.el" "leim/quail/ETZY.el" -;;;;;; "leim/quail/PY-b5.el" "leim/quail/PY.el" "leim/quail/Punct-b5.el" -;;;;;; "leim/quail/Punct.el" "leim/quail/QJ-b5.el" "leim/quail/QJ.el" -;;;;;; "leim/quail/SW.el" "leim/quail/TONEPY.el" "leim/quail/ZIRANMA.el" -;;;;;; "leim/quail/ZOZY.el" "leim/quail/arabic.el" "leim/quail/cham.el" -;;;;;; "leim/quail/compose.el" "leim/quail/croatian.el" "leim/quail/cyril-jis.el" -;;;;;; "leim/quail/cyrillic.el" "leim/quail/czech.el" "leim/quail/georgian.el" -;;;;;; "leim/quail/greek.el" "leim/quail/hanja-jis.el" "leim/quail/hanja.el" -;;;;;; "leim/quail/hanja3.el" "leim/quail/hebrew.el" "leim/quail/ipa-praat.el" -;;;;;; "leim/quail/latin-alt.el" "leim/quail/latin-ltx.el" "leim/quail/latin-post.el" -;;;;;; "leim/quail/latin-pre.el" "leim/quail/persian.el" "leim/quail/programmer-dvorak.el" -;;;;;; "leim/quail/py-punct.el" "leim/quail/pypunct-b5.el" "leim/quail/quick-b5.el" -;;;;;; "leim/quail/quick-cns.el" "leim/quail/rfc1345.el" "leim/quail/sami.el" -;;;;;; "leim/quail/sgml-input.el" "leim/quail/slovak.el" "leim/quail/symbol-ksc.el" -;;;;;; "leim/quail/tamil-dvorak.el" "leim/quail/tsang-b5.el" "leim/quail/tsang-cns.el" -;;;;;; "leim/quail/vntelex.el" "leim/quail/vnvni.el" "leim/quail/welsh.el" -;;;;;; "loadup.el" "mail/blessmail.el" "mail/rmail-loaddefs.el" +;;;;;; "international/mule-conf.el" "international/mule.el" "isearch.el" +;;;;;; "jit-lock.el" "jka-cmpr-hook.el" "keymap.el" "language/burmese.el" +;;;;;; "language/cham.el" "language/chinese.el" "language/cyrillic.el" +;;;;;; "language/czech.el" "language/english.el" "language/ethiopic.el" +;;;;;; "language/european.el" "language/georgian.el" "language/greek.el" +;;;;;; "language/hebrew.el" "language/indian.el" "language/japanese.el" +;;;;;; "language/khmer.el" "language/korean.el" "language/lao.el" +;;;;;; "language/misc-lang.el" "language/romanian.el" "language/sinhala.el" +;;;;;; "language/slovak.el" "language/tai-viet.el" "language/thai.el" +;;;;;; "language/tibetan.el" "language/utf-8-lang.el" "language/vietnamese.el" +;;;;;; "ldefs-boot.el" "leim/ja-dic/ja-dic.el" "leim/leim-list.el" +;;;;;; "leim/quail/4Corner.el" "leim/quail/ARRAY30.el" "leim/quail/CCDOSPY.el" +;;;;;; "leim/quail/CTLau-b5.el" "leim/quail/CTLau.el" "leim/quail/ECDICT.el" +;;;;;; "leim/quail/ETZY.el" "leim/quail/PY-b5.el" "leim/quail/PY.el" +;;;;;; "leim/quail/Punct-b5.el" "leim/quail/Punct.el" "leim/quail/QJ-b5.el" +;;;;;; "leim/quail/QJ.el" "leim/quail/SW.el" "leim/quail/TONEPY.el" +;;;;;; "leim/quail/ZIRANMA.el" "leim/quail/ZOZY.el" "leim/quail/arabic.el" +;;;;;; "leim/quail/cham.el" "leim/quail/compose.el" "leim/quail/croatian.el" +;;;;;; "leim/quail/cyril-jis.el" "leim/quail/cyrillic.el" "leim/quail/czech.el" +;;;;;; "leim/quail/georgian.el" "leim/quail/greek.el" "leim/quail/hanja-jis.el" +;;;;;; "leim/quail/hanja.el" "leim/quail/hanja3.el" "leim/quail/hebrew.el" +;;;;;; "leim/quail/ipa-praat.el" "leim/quail/latin-alt.el" "leim/quail/latin-ltx.el" +;;;;;; "leim/quail/latin-post.el" "leim/quail/latin-pre.el" "leim/quail/persian.el" +;;;;;; "leim/quail/programmer-dvorak.el" "leim/quail/py-punct.el" +;;;;;; "leim/quail/pypunct-b5.el" "leim/quail/quick-b5.el" "leim/quail/quick-cns.el" +;;;;;; "leim/quail/rfc1345.el" "leim/quail/sami.el" "leim/quail/sgml-input.el" +;;;;;; "leim/quail/slovak.el" "leim/quail/symbol-ksc.el" "leim/quail/tamil-dvorak.el" +;;;;;; "leim/quail/tsang-b5.el" "leim/quail/tsang-cns.el" "leim/quail/vntelex.el" +;;;;;; "leim/quail/vnvni.el" "leim/quail/welsh.el" "loadup.el" "mail/blessmail.el" ;;;;;; "mail/rmailedit.el" "mail/rmailkwd.el" "mail/rmailmm.el" ;;;;;; "mail/rmailmsc.el" "mail/rmailsort.el" "mail/rmailsum.el" ;;;;;; "mail/undigest.el" "menu-bar.el" "mh-e/mh-gnus.el" "mh-e/mh-loaddefs.el" @@ -39799,21 +39807,19 @@ Zone out, completely." t nil) ;;;;;; "org/org-duration.el" "org/org-element.el" "org/org-feed.el" ;;;;;; "org/org-footnote.el" "org/org-goto.el" "org/org-id.el" "org/org-indent.el" ;;;;;; "org/org-install.el" "org/org-keys.el" "org/org-lint.el" -;;;;;; "org/org-list.el" "org/org-loaddefs.el" "org/org-macs.el" -;;;;;; "org/org-mobile.el" "org/org-num.el" "org/org-plot.el" "org/org-refile.el" -;;;;;; "org/org-table.el" "org/org-timer.el" "org/ox-ascii.el" "org/ox-beamer.el" -;;;;;; "org/ox-html.el" "org/ox-icalendar.el" "org/ox-latex.el" -;;;;;; "org/ox-md.el" "org/ox-odt.el" "org/ox-org.el" "org/ox-publish.el" -;;;;;; "org/ox-texinfo.el" "org/ox.el" "paren.el" "progmodes/elisp-mode.el" -;;;;;; "progmodes/prog-mode.el" "ps-mule.el" "ps-print-loaddefs.el" -;;;;;; "register.el" "replace.el" "rfn-eshadow.el" "select.el" "simple.el" -;;;;;; "startup.el" "subdirs.el" "subr.el" "tab-bar.el" "textmodes/fill.el" -;;;;;; "textmodes/makeinfo.el" "textmodes/page.el" "textmodes/paragraphs.el" -;;;;;; "textmodes/reftex-auc.el" "textmodes/reftex-cite.el" "textmodes/reftex-dcr.el" -;;;;;; "textmodes/reftex-global.el" "textmodes/reftex-index.el" -;;;;;; "textmodes/reftex-loaddefs.el" "textmodes/reftex-parse.el" -;;;;;; "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" "textmodes/reftex-toc.el" -;;;;;; "textmodes/texinfo-loaddefs.el" "textmodes/texnfo-upd.el" +;;;;;; "org/org-list.el" "org/org-macs.el" "org/org-mobile.el" "org/org-num.el" +;;;;;; "org/org-plot.el" "org/org-refile.el" "org/org-table.el" +;;;;;; "org/org-timer.el" "org/ox-ascii.el" "org/ox-beamer.el" "org/ox-html.el" +;;;;;; "org/ox-icalendar.el" "org/ox-latex.el" "org/ox-md.el" "org/ox-odt.el" +;;;;;; "org/ox-org.el" "org/ox-publish.el" "org/ox-texinfo.el" "org/ox.el" +;;;;;; "paren.el" "progmodes/elisp-mode.el" "progmodes/prog-mode.el" +;;;;;; "ps-mule.el" "register.el" "replace.el" "rfn-eshadow.el" +;;;;;; "select.el" "simple.el" "startup.el" "subdirs.el" "subr.el" +;;;;;; "tab-bar.el" "textmodes/fill.el" "textmodes/makeinfo.el" +;;;;;; "textmodes/page.el" "textmodes/paragraphs.el" "textmodes/reftex-auc.el" +;;;;;; "textmodes/reftex-cite.el" "textmodes/reftex-dcr.el" "textmodes/reftex-global.el" +;;;;;; "textmodes/reftex-index.el" "textmodes/reftex-parse.el" "textmodes/reftex-ref.el" +;;;;;; "textmodes/reftex-sel.el" "textmodes/reftex-toc.el" "textmodes/texnfo-upd.el" ;;;;;; "textmodes/text-mode.el" "uniquify.el" "vc/ediff-hook.el" ;;;;;; "vc/vc-hooks.el" "version.el" "widget.el" "window.el") (0 ;;;;;; 0 0 0)) commit e632b83a281fedf652d254ceaa210438301e2513 Author: Stefan Kangas Date: Wed Dec 1 00:20:24 2021 +0100 Update authors.el for Emacs 28 * admin/authors.el (authors-aliases, authors-ignored-files) (authors-renamed-files-alist): Update for Emacs 28. diff --git a/admin/authors.el b/admin/authors.el index 23990fee70..4feb300401 100644 --- a/admin/authors.el +++ b/admin/authors.el @@ -41,10 +41,14 @@ files.") (defconst authors-aliases '( (nil "A\\. N\\. Other") ; unknown author 2014-12-03, later removed + (nil "Anticrisis") + (nil "akater") ("Aaron S. Hawley" "Aaron Hawley") ("Alan Third" "Alan J Third") + ("Alexander Gramiak" "Alex Gramiak") ("Alexandru Harsanyi" "Alex Harsanyi") ("lvar Jes炭s Ibeas Mart鱈n" "lvar Ibeas") + ("Andrea Corallo" "AndreaCorallo") ("Andrew Csillag" "Drew Csillag") ("Anna M. Bigatti" "Anna Bigatti") ("Aur辿lien Aptel" "Aurelien Aptel") @@ -61,6 +65,7 @@ files.") ("Brian Sniffen" "Brian T. Sniffen") (nil "castor@my-dejanews") (nil "chengang31@gmail.com") + (nil "chuntaro") ("David Abrahams" "Dave Abrahams") ("David J. Biesack" "David Biesack") ("David De La Harpe Golden" "David Golden") @@ -70,8 +75,10 @@ files.") ("David M. Koppelman" "David Koppelman") ("David M. Smith" "David Smith" "David M Smith") ("David O'Toole" "David T. O'Toole") + (nil "dalanicolai") (nil "deech@deech") ("Deepak Goel" "D. Goel") + ("Earl Hyatt" "Earl" "ej32u@protonmail.com") ("Ed L. Cashin" "Ed L Cashin") ("Edward M. Reingold" "Ed\\(ward\\( M\\)?\\)? Reingold" "Reingold Edward M") ("Emilio C. Lopes" "Emilio Lopes") @@ -93,22 +100,27 @@ files.") (nil "immerrr") (nil "aaa bbb") (nil "Code Extracted") ; lisp/newcomment.el's "Author:" header + (nil "jakanakaevangeli") + ("J. Alexander Branham" "Alex Branham") ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn") ("Jan Dj辰rv" "Jan D." "Jan Djarv") ("Jay K. Adams" "Jay Adams") ("J辿r担me Marant" "J辿r担me Marant" "Jerome Marant") ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen") ("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard") + ("Jimmy Aguilar Mena" "Ergus") ("Johan Bockg奪rd" "Johan Bockgard") ("John F. Carr" "John F Carr") ("John J Foerch" "John Foerch") ("John W. Eaton" "John Eaton") ("Jonathan I. Kamens" "Jonathan Kamens") ("Jorgen Sch辰fer" "Jorgen Schaefer") + ("Jose A. Ortega Ruiz" "Jose A Ortega Ruiz") ("Joseph Arceneaux" "Joe Arceneaux") ("Joseph M. Kelsey" "Joe Kelsey") ; FIXME ? ("Juan Le坦n Lahoz Garc鱈a" "Juan-Leon Lahoz Garcia") ("J端rgen H旦tzel" "Juergen Hoetzel") + (nil "k3tu0isui") ("K. Shane Hartman" "Shane Hartman") ("Kai Grojohann" "Kai Grossjohann") ("Karl Berry" "K. Berry") @@ -120,15 +132,18 @@ files.") ("Kim F. Storm" "Kim Storm") ("Kyle Jones" "Kyle E. Jones") ("Lars Magne Ingebrigtsen" "Lars Ingebrigtsen") + (nil "leo") (nil "LynX@bk.ru") (nil "lu4nx") ("Marcus G. Daniels" "Marcus Daniels") ("Mark D. Baushke" "Mark D Baushke") ("Mark E. Shoulson" "Mark Shoulson") ("Marko Kohtala" "Kohtala Marko") + ("Maxim Nikulin" "Max Nikulin") ("Agust鱈n Mart鱈n" "Agustin Martin" "Agust鱈n Mart鱈n Domingo") ("Martin Lorentzon" "Martin Lorentzson") ("Matt Swift" "Matthew Swift") + (nil "Madhu") (nil "mu@magi.net.ru") ("Maxime Edouard Robert Froumentin" "Max Froumentin") ("Michael R. Mauger" "Michael Mauger") @@ -137,11 +152,13 @@ files.") ("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, p/BSG") ("Michael R. Cook" "Michael Cook") ("Michael Sperber" "Mike Sperber" "Michael Sperber \\[Mr. Preprocessor\\]") + ("Michalis V" "mvar") ("Mikio Nakajima" "Nakajima Mikio") ("Nelson Jose dos Santos Ferreira" "Nelson Ferreira") ("Noorul Islam" "Noorul Islam K M") ;;; ("Tetsurou Okazaki" "OKAZAKI Tetsurou") ; FIXME? ("scar Fuentes" "Oscar Fuentes") + (nil "pillule") (nil "psyberbits@gmail.com") ("Paul Eggert" "Paul R\\. Eggert") ("Pavel Jan鱈k" "Pavel Jan鱈k Ml." "Pavel Janik Ml." "Pavel Janik") @@ -151,8 +168,10 @@ files.") ("Peter J. Weisberg" "PJ Weisberg") ("Peter S. Galbraith" "Peter S Galbraith" "Peter Galbraith") ("Peter Runestig" "Peter 'luna' Runestig") + ("Philip Kaludercic" "Philip K\\." "Philip K") ("Philipp Stephani" "Philipp .*phst@google") ("Piotr Zieliski" "Piotr Zielinski") + ("Po Lu" "Po Lu Via") ; looks like a mistake ("Przemysaw Wojnowski" "Przemyslaw Wojnowski") ("R. Bernstein" "rb@dustyfeet.com") ("Rainer Sch旦pf" "Rainer Schoepf") @@ -187,6 +206,7 @@ files.") ("Takaaki Ota" "Tak Ota") ("Takahashi Naoto" "Naoto Takahashi") ("Teodor Zlatanov" "Ted Zlatanov") + (nil "TEC") (nil "The PCL-CVS Trust") ("Thomas Dye" "Tom Dye") ("Thomas Horsley" "Tom Horsley") ; FIXME ? @@ -212,7 +232,7 @@ files.") ("Carlos Pita" "memeplex") ("Vinicius Jose Latorre" "viniciusjl") ("Gaby Launay" "galaunay") - ("Dick R. Chiang" "dickmao") + ("Dick R. Chiang" "dickmao" "dick") ) "Alist of author aliases. @@ -328,7 +348,7 @@ Changes to files matching one of the regexps in this list are not listed.") "install.sh" "install-sh" "missing" "mkinstalldirs" "termcap.dat" "termcap.src" "termcap.ucb" "termcap" "ChangeLog.nextstep" "Emacs.clr" "spec.txt" - "gfdl.1" + "gfdl.1" "ledit.l" "texi/Makefile.in" "autodeps.mk" "lwlib/autodeps.mk" @@ -350,6 +370,8 @@ Changes to files matching one of the regexps in this list are not listed.") "cedet/tests/test.py" "cedet/tests/teststruct.cpp" "subdirs.el" + "etc/facemenu-removal.txt" + "src/bytecode.h" "*.el" ;; Autogen: "cus-load.el" "finder-inf.el" "ldefs-boot.el" "loaddefs-boot.el" @@ -363,6 +385,10 @@ Changes to files matching one of the regexps in this list are not listed.") ;; Only existed briefly, then renamed: "images/icons/allout-widgets-dark-bg" "images/icons/allout-widgets-light-bg" + "lisp/shorthand.el" + "test/lisp/shorthand-tests.el" + "lisp/net/link.el" + "lisp/net/connection.el" ;; Never had any meaningful changes logged, now deleted: "lib/stdarg.in.h" "lib/stdbool.in.h" "unidata/bidimirror.awk" "unidata/biditype.awk" @@ -422,6 +448,10 @@ Changes to files matching one of the regexps in this list are not listed.") "info/dir" ;; Not in gnulib anymore "lib/qset-acl.c" "lib/qcopy-acl.c" "lib/file-has-acl.c" "lib/secure_getenv.c" + "lib/malloca.c" "lib/malloca.h" + ;; Briefly added to repository from gnulib, but not used + "lib/localtime-buffer.c" + "lib/localtime-buffer.h" ;; files from old MS Windows build procedures "nt/gnulib-modules-to-delete.cfg" "makefile.w32-in" @@ -466,6 +496,9 @@ Changes to files matching one of the regexps in this list are not listed.") "WHY-FREE" "MORE.STUFF" "notes/font-backend" + "src/ftxfont.c" + "src/ptr-bounds.h" + "obsolete/options.el" ;; ada-mode has been deleted, now in GNU ELPA "ada-mode.texi" "doc/misc/ada-mode.texi" @@ -483,6 +516,16 @@ Changes to files matching one of the regexps in this list are not listed.") "src/mini-gmp-emacs.c" "lib/dosname.h" "lib/putenv.c" + ;; Moved to the org-contrib repo + "ob-asymptote.el" + "ob-shen.el" + "ob-picolisp.el" + "ob-io.el" + "ob-mscgen.el" + "ob-ledger.el" + "lisp/org/ob-abc.el" + "lisp/org/ob-ebnf.el" + "lisp/org/ob-J.el" ) "List of files and directories to ignore. Changes to files in this list are not listed.") @@ -1138,6 +1181,11 @@ in the repository.") ("src/mini-gmp.c" . "lib/mini-gmp.c") ("src/mini-gmp.h" . "lib/mini-gmp.h") ("sysdep.c" . "src/sysdep.c") + ("lisp/gnus/nnir.el" . "nnir.el") + ("src/regex.c" . "emacs-regex.c") + ("src/regex.h" . "emacs-regex.h") + ("erc-compat.el" . "erc-compat.el") + ("semantic-utest-fmt.el" . "format-tests.el") ) "Alist of files which have been renamed during their lifetime. Elements are (OLDNAME . NEWNAME).") commit e9fdb119033da1b8693311b455544be6d0b5f2ff Author: Stefan Kangas Date: Tue Nov 30 23:46:45 2021 +0100 ; * ChangeLog.3: Some additional fixes. diff --git a/ChangeLog.3 b/ChangeLog.3 index 43f2ee3fa6..0650586bed 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -6952,7 +6952,7 @@ Restore rcirc-target if possible - * rcirc.el (rcirc-process-message): Extract target from buffer name + * lisp/net/rcirc.el (rcirc-process-message): Extract target from buffer name 2021-09-14 Jo達o T叩vora @@ -6964,7 +6964,7 @@ Display server buffer after connecting - * rcirc.el (rcirc-display-server-buffer): Add new option + * lisp/net/rcirc.el (rcirc-display-server-buffer): Add new option (rcirc): Respect rcirc-display-server-buffer 2021-09-14 Philip Kaludercic @@ -6990,7 +6990,7 @@ 2021-09-14 Philip Kaludercic - * rcirc.el (rcirc-server-alist): Add #emacs to default server list + * lisp/net/rcirc.el (rcirc-server-alist): Add #emacs to default server list Author: @@ -7867,7 +7867,7 @@ Rename rcirc-omit-after-reconnect to rcirc-omit-after-connect - * rcirc.el (rcirc-omit-after-reconnect): Remove variable + * lisp/net/rcirc.el (rcirc-omit-after-reconnect): Remove variable (rcirc-omit-responses-after-join): Add variable (rcirc-reconncting): Remove variable (rcirc-joined): Add variable @@ -8039,7 +8039,7 @@ Fix double reconnection bug - * rcirc.el (rcirc-sentinel): Don't reconnect if reconnecting + * lisp/net/rcirc.el (rcirc-sentinel): Don't reconnect if reconnecting (reconnect): Use delete-process instead of kill-process 2021-09-10 Dmitry Gutov @@ -8377,7 +8377,7 @@ Add rcirc-track-ignore-server-buffer-flag option - * rcirc.el (rcirc-track-ignore-server-buffer-flag): Add option + * lisp/net/rcirc.el (rcirc-track-ignore-server-buffer-flag): Add option (rcirc-record-activity): Use rcirc-track-ignore-server-buffer-flag 2021-09-07 Eric Abrahamsen @@ -8497,13 +8497,13 @@ Use fresh symbol for argument list - * rcirc.el (rcirc-define-command): Use make-symbol instead of gensym + * lisp/net/rcirc.el (rcirc-define-command): Use make-symbol instead of gensym 2021-09-07 Philip Kaludercic Allow /reconnect while connecting - * rcirc.el (reconnect): Kill previous process and start a new one + * lisp/net/rcirc.el (reconnect): Kill previous process and start a new one 2021-09-07 A @@ -8546,13 +8546,13 @@ Mention list of capabilities that should be implemented - * rcirc.el (rcirc-implemented-capabilities): Add comment + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add comment 2021-09-06 Philip Kaludercic Implement standard-replies capability - * rcirc.el (rcirc-implemented-capabilities): Add standard-replies to list + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add standard-replies to list (rcirc-response-formats): Add response formats for WARN, FAIL and NOTE (rcirc-handler-FAIL): Add handler (rcirc-handler-WARN): Add handler @@ -8562,7 +8562,7 @@ Connect to server asynchronously - * rcirc.el (rcirc-connect): Add :nowait option to open-network-stream + * lisp/net/rcirc.el (rcirc-connect): Add :nowait option to open-network-stream (rcirc-sentinel): Handle "open\n" events 2021-09-06 Tassilo Horn @@ -8764,20 +8764,20 @@ Implement multi-prefix capability - * rcirc.el (rcirc-implemented-capabilities): Add capability + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add capability (rcirc-user-nick): Handle multiple prefixes 2021-09-05 Philip Kaludercic Fix rcirc-track-abbrevate-flag documentation - * rcirc.el (rcirc-track-abbrevate-flag): Rephrase docstring + * lisp/net/rcirc.el (rcirc-track-abbrevate-flag): Rephrase docstring 2021-09-05 Philip Kaludercic Store symbols in rcirc-acked-capabilities - * rcirc.el (rcirc-handler-CAP): Use intern and downcase + * lisp/net/rcirc.el (rcirc-handler-CAP): Use intern and downcase 2021-09-05 Juri Linkov @@ -8800,7 +8800,7 @@ Print value on malformed input - * rcirc.el (rcirc-define-command): Unquote argument + * lisp/net/rcirc.el (rcirc-define-command): Unquote argument 2021-09-05 Lars Ingebrigtsen @@ -8906,7 +8906,7 @@ Replace with-current-buffer with buffer-local-value where applicable - * rcirc.el (rcirc-buffer-process): Use buffer-local-value + * lisp/net/rcirc.el (rcirc-buffer-process): Use buffer-local-value (rcirc-last-quit-line): Use buffer-local-value (rcirc-bury-buffers): Use buffer-local-value (rcirc-record-activity): Use buffer-local-value @@ -12519,7 +12519,7 @@ Add new option rcirc-channel-filter - * rcirc.el (rcirc-channel-filter): Add option + * lisp/net/rcirc.el (rcirc-channel-filter): Add option (rcirc-short-buffer-name): Respect rcirc-channel-filter (rcirc-handler-JOIN): Respect rcirc-channel-filter (rcirc-handler-PART): Respect rcirc-channel-filter @@ -12531,7 +12531,7 @@ Add new option rcirc-track-abbrevate-flag - * rcirc.el (rcirc-track-abbrevate-flag): Add option + * lisp/net/rcirc.el (rcirc-track-abbrevate-flag): Add option (rcirc-short-buffer-name): Respect rcirc-track-abbrevate-flag 2021-08-06 Glenn Morris @@ -13707,7 +13707,7 @@ Replace cl-c[ad]+r with regular c[ad]+r - * rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr + * lisp/net/rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr (rcirc-handler-333): Replace cl-cadddr with cadddr (rcirc-authenticate): Replace cl-cdddr with cdddr @@ -13788,7 +13788,7 @@ Remove removal of text properties from rcirc-buffer-alist keys - * rcirc.el (rcirc-mode): Remove set-text-properties call + * lisp/net/rcirc.el (rcirc-mode): Remove set-text-properties call 2021-07-27 Michael Albinus @@ -13801,7 +13801,7 @@ Fix checkdoc issues - * rcirc.el (rcirc-finished-sasl): Add period. + * lisp/net/rcirc.el (rcirc-finished-sasl): Add period. (rcirc-mode): Expand docstring. (rcirc-handler-900): Document sender and process @@ -13820,7 +13820,7 @@ Update rcirc-buffer-alist after receiving NICK - * rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick + * lisp/net/rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick 2021-07-27 Lars Ingebrigtsen @@ -13835,7 +13835,7 @@ Fix TOPIC command - * rcirc.el (topic): Add target argument. + * lisp/net/rcirc.el (topic): Add target argument. 2021-07-27 Michael Albinus @@ -14190,7 +14190,7 @@ Ensure that rcirc-buffer-alist has no text properties - * rcirc.el (rcirc-mode): Remove text properties from + * lisp/net/rcirc.el (rcirc-mode): Remove text properties from rcirc-buffer-alist keys 2021-07-24 Michael Albinus @@ -14244,7 +14244,7 @@ Generate no message when activating rcirc-omit-mode - * rcirc.el (rcirc-omit-mode): Remove (message ...) expressions + * lisp/net/rcirc.el (rcirc-omit-mode): Remove (message ...) expressions 2021-07-24 Lars Ingebrigtsen @@ -16428,13 +16428,13 @@ Add query command removed in 4ff1f66b12 - * rcirc.el (query): Readd accidentally removed command + * lisp/net/rcirc.el (query): Readd accidentally removed command 2021-07-06 Philip Kaludercic Fix issues with argument parsing in rcirc-define-command - * rcirc.el (rcirc-define-command): Fix issues + * lisp/net/rcirc.el (rcirc-define-command): Fix issues 2021-07-06 Dmitry Gutov @@ -16653,7 +16653,7 @@ 2021-07-02 Philip Kaludercic - * rcirc.el (rcirc-define-command): Mention name of malformed command + * lisp/net/rcirc.el (rcirc-define-command): Mention name of malformed command Author: @@ -17502,7 +17502,7 @@ Query encryption using yes-or-no-p - * rcirc.el (rcirc-prompt-for-encryption): Replace completing-read + * lisp/net/rcirc.el (rcirc-prompt-for-encryption): Replace completing-read prompt with yes-or-no-p 2021-06-20 Alan Third @@ -17841,7 +17841,7 @@ Force mode line update after modifying activity string - * rcirc.el (rcirc-update-activity-string): Call force-mode-line-update + * lisp/net/rcirc.el (rcirc-update-activity-string): Call force-mode-line-update 2021-06-16 pillule @@ -17873,13 +17873,13 @@ Fix edge case with single argument for rcirc-define-command - * rcirc.el (rcirc-define-command): Update regular expression generator + * lisp/net/rcirc.el (rcirc-define-command): Update regular expression generator 2021-06-15 Philip Kaludercic Fix argument parser for rcirc-define-command with string input - * rcirc.el (rcirc-define-command): Require at least one space between + * lisp/net/rcirc.el (rcirc-define-command): Require at least one space between arguments 2021-06-15 Lars Ingebrigtsen @@ -17915,7 +17915,7 @@ Check if server buffer is live - * rcirc.el (with-rcirc-server-buffer): Use live-buffer-p + * lisp/net/rcirc.el (with-rcirc-server-buffer): Use live-buffer-p (rcirc-buffer-nick): Use with-rcirc-server-buffer (rcirc-switch-to-server-buffer): Use with-rcirc-server-buffer @@ -17970,7 +17970,7 @@ Improve message markup - * rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes, + * lisp/net/rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes, rcirc-remove-markup-codes (rcirc-markup-attributes): Recognize strike-through and monospace, don't remove control codes @@ -17994,7 +17994,7 @@ Fix construction of interactive specification in rcirc-define-command - * rcirc.el (rcirc-define-command): Ensure that only one argument is passed. + * lisp/net/rcirc.el (rcirc-define-command): Ensure that only one argument is passed. 2021-06-14 Lars Ingebrigtsen @@ -18036,7 +18036,7 @@ Rename set-rcirc-{encode,decode}-coding-system - * rcirc.el (set-rcirc-decode-coding-system): Deprecate command + * lisp/net/rcirc.el (set-rcirc-decode-coding-system): Deprecate command (rcirc-set-decode-coding-system): New command (set-rcirc-encode-coding-system): Deprecate command (rcirc-set-encode-coding-system): New command @@ -18045,7 +18045,7 @@ Preserve order of completion during cycling - * rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function + * lisp/net/rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function 2021-06-14 Michael Albinus @@ -18102,13 +18102,13 @@ Add mouse properties to activity string - * rcirc.el (rcirc-activity-string): Allow clicking on string + * lisp/net/rcirc.el (rcirc-activity-string): Allow clicking on string 2021-06-13 Philip Kaludercic Update activity string after switching to next active buffer - * rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string + * lisp/net/rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string 2021-06-13 Eli Zaretskii @@ -18322,13 +18322,13 @@ Preserve incoming order of messages with same timestamp - * rcirc.el (rcirc-print): Emulate time-less-or-equal-p + * lisp/net/rcirc.el (rcirc-print): Emulate time-less-or-equal-p 2021-06-10 Philip Kaludercic Allow hiding certain message types after reconnecting - * rcirc.el (rcirc-omit-after-reconnect): Add new user option + * lisp/net/rcirc.el (rcirc-omit-after-reconnect): Add new user option (rcirc-reconncting): Add new variable (rcirc-print): Check if message should be omitted (reconnect): Mark buffers as freshly reconnected @@ -18341,20 +18341,20 @@ Allow for optional arguments using rcirc-define-command - * rcirc.el (rcirc-define-command): Handle &optional arguments + * lisp/net/rcirc.el (rcirc-define-command): Handle &optional arguments 2021-06-10 Philip Kaludercic Fix prompt doubling when reconnecting - * rcirc.el (rcirc-connect): Check if rcirc-mode is already active + * lisp/net/rcirc.el (rcirc-connect): Check if rcirc-mode is already active (rcirc-get-buffer-create): Check if rcirc-mode is already active 2021-06-10 Philip Kaludercic Allow filtering how nicks are presented - * rcirc.el (rcirc-nick-filter): Add new option + * lisp/net/rcirc.el (rcirc-nick-filter): Add new option (rcirc-completion-at-point): Use rcirc-nick-filter (rcirc-format-response-string): Use rcirc-nick-filter (rcirc-sort-nicknames-join): Use rcirc-nick-filter @@ -18363,20 +18363,20 @@ Implement invite-notify capability - * rcirc.el (rcirc-implemented-capabilities): Add invite-notify + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add invite-notify (rcirc-handler-INVITE): Handle invite notifications 2021-06-10 Philip Kaludercic Add TAGMSG handler - * rcirc.el (rcirc-handler-TAGMSG): Add new message handler + * lisp/net/rcirc.el (rcirc-handler-TAGMSG): Add new message handler 2021-06-10 Philip Kaludercic Implement message-ids extension - * rcirc.el (rcirc-implemented-capabilities): Add to list of + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add to list of implemented extensions (rcirc-print): Insert property denoting message ID @@ -18384,7 +18384,7 @@ Implement batch extension - * rcirc.el (rcirc-implemented-capabilities): Add batch extension + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add batch extension (rcirc-supported-batch-types): Add new variable (rcirc-batch-attributes): Add new variable (rcirc-batched-messages): Add new variable @@ -18395,7 +18395,7 @@ Implement server-time extension - * rcirc.el (rcirc-implemented-capabilities): Add new capability + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add new capability (rcirc-print): Insert messages in the right position (rcirc-log): Use right time value (rcirc-markup-timestamp): Use right time value @@ -18404,7 +18404,7 @@ Create framework for IRCv3 support - * rcirc.el (rcirc-implemented-capabilities): Add new variable + * lisp/net/rcirc.el (rcirc-implemented-capabilities): Add new variable (rcirc-requested-capabilities): Add new variable (rcirc-acked-capabilities): Add new variable (rcirc-connect): Request capabilities from rcirc-implemented-capabilities @@ -18419,7 +18419,7 @@ Replace defun-rcirc-command with rcirc-define-command - * rcirc.el (defun-rcirc-command): Remove old macro + * lisp/net/rcirc.el (defun-rcirc-command): Remove old macro (rcirc-define-command): Create new macro 2021-06-10 Eli Zaretskii @@ -18491,7 +18491,7 @@ Remove custom rcirc-completion implementation - * rcirc.el (rcirc-completion-at-point): Improve completion suggestions + * lisp/net/rcirc.el (rcirc-completion-at-point): Improve completion suggestions (rcirc-completions): Remove variable (rcirc-completion-start): Remove variable (rcirc-complete): Remove function @@ -18502,14 +18502,14 @@ Recognize quoted commands in rcirc-process-input-line - * rcirc.el (rcirc-process-input-line): Check for quoted commands + * lisp/net/rcirc.el (rcirc-process-input-line): Check for quoted commands (rcirc-process-command): Don't check for quoted commands 2021-06-09 Philip Kaludercic Integrate formatting into rcirc-send-string - * rcirc.el (rcirc-connect): Use new syntax + * lisp/net/rcirc.el (rcirc-connect): Use new syntax (rcirc-send-string): Allow for more arguments (rcirc-send-privmsg): Use new syntax (rcirc-send-ctcp): Use new syntax @@ -18546,7 +18546,7 @@ Default to libera instead of freenode - * rcirc.el (rcirc-server-alist): Update default value + * lisp/net/rcirc.el (rcirc-server-alist): Update default value 2021-06-09 Alan Third @@ -20512,7 +20512,7 @@ change eases the addition of more formats. Add support for group titles to the vertical and horizontal formatting functions. - * minibuffer.el (completion--insert): Add new function. + * lisp/minibuffer.el (completion--insert): Add new function. (completion--insert-vertical, completion--insert-horizontal, completion--insert-one-column): Extract function from `completion--insert-strings`. Use new function `completion--insert`. @@ -24286,7 +24286,7 @@ Even in the cases where it does not make much visible difference, it brings the benefit of making the result deterministic. - * minibuffer.el (minibuffer--sort-by-length-alpha): New function. + * lisp/minibuffer.el (minibuffer--sort-by-length-alpha): New function. (minibuffer--sort-by-position): New function extracted from `completion-all-sorted-completions`. (completion-all-sorted-completions): Use use them. @@ -24295,7 +24295,7 @@ minibuffer.el: Use completion--message instead of minibuffer-message - * minibuffer.el: Use completion--message consistently for the messages + * lisp/minibuffer.el: Use completion--message consistently for the messages "Incomplete", "Sole completion" and "No completions". 2021-04-19 Philipp Stephani @@ -63727,7 +63727,7 @@ Allow CSS completion with multiple rules on one line - * lisp/progmodes/css-mode.el (css--complete-property-value): Check + * lisp/textmodes/css-mode.el (css--complete-property-value): Check for semi-colon when completing property values (bug#43242). 2020-09-06 Lars Ingebrigtsen @@ -74673,7 +74673,7 @@ Highlight typed variables in Python - * progmodes/python.el + * lisp/progmodes/python.el (python-font-lock-keywords-maximum-decoration): Recognize typed variables like "foo: int = 1" as well. (Bug#41684) @@ -76200,7 +76200,7 @@ Bump project.el version - * project.el: Bump the version + * lisp/progmodes/project.el: Bump the version 2020-05-25 Philipp Stephani @@ -81762,7 +81762,7 @@ 2020-03-24 Andrea Corallo - * lisp/comp.el (native-compile-async): Fix excessive messaging + * lisp/emacs-lisp/comp.el (native-compile-async): Fix excessive messaging 2020-03-24 Philip K @@ -81809,7 +81809,7 @@ 2020-03-23 Andrea Corallo - * comp.el : Fix typo introduced by f8b07ff4f3 + * lisp/emacs-lisp/comp.el : Fix typo introduced by f8b07ff4f3 Merge remote-tracking branch 'savannah/master' into HEAD @@ -81867,15 +81867,15 @@ 2020-03-22 Andrea Corallo - * comp.c (maybe_defer_native_compilation): Fix + * src/comp.c (maybe_defer_native_compilation): Fix Prevent recursive compilation while deferring compilation. 2020-03-22 Andrea Corallo - * comp.c (maybe_defer_native_compilation): Add some debug code + * src/comp.c (maybe_defer_native_compilation): Add some debug code - * comp.el: Add missing require + * lisp/emacs-lisp/comp.el: Add missing require 2020-03-22 Andrea Corallo @@ -81983,11 +81983,11 @@ 2020-03-19 Andrea Corallo - * comp.el (comp-async-jobs-number): Fix customize type. + * lisp/emacs-lisp/comp.el (comp-async-jobs-number): Fix customize type. Merge remote-tracking branch 'savannah/master' into HEAD - * comp.el (comp-run-async-workers): Load only if compilation succeed + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Load only if compilation succeed 2020-03-19 Lars Ingebrigtsen @@ -82035,19 +82035,19 @@ 2020-03-18 Andrea Corallo - * comp.c (native-elisp-load): Guard against missing file. + * src/comp.c (native-elisp-load): Guard against missing file. 2020-03-19 Andrea Corallo Command late load when deferring compilation - * comp.el: Extend `native-compile-async' for load and late-load + * lisp/emacs-lisp/comp.el: Extend `native-compile-async' for load and late-load Extend low level code for late load - * comp.el: late-load support optional as `native-compile' parameter + * lisp/emacs-lisp/comp.el: late-load support optional as `native-compile' parameter - * comp.el: Have the compiler generates 'late_top_level_run' + * lisp/emacs-lisp/comp.el: Have the compiler generates 'late_top_level_run' 2020-03-18 Glenn Morris @@ -82102,17 +82102,17 @@ 2020-03-16 Andrea Corallo - * comp.el: (native-compile-async) do not duplicate queue entries + * lisp/emacs-lisp/comp.el: (native-compile-async) do not duplicate queue entries 2020-03-16 Andrea Corallo - * comp.el: Estimate async worker number using system CPU number + * lisp/emacs-lisp/comp.el: Estimate async worker number using system CPU number This only when `comp-async-jobs-number' is 0 (default). 2020-03-16 Andrea Corallo - * comp.el: Make compilation logic to be dynamically controllable + * lisp/emacs-lisp/comp.el: Make compilation logic to be dynamically controllable Introduce `comp-async-jobs-number' to control async job number, this can be now adjusted dynamically. @@ -82188,7 +82188,7 @@ 2020-03-15 Andrea Corallo - * comp.el: Fix missing rx require + * lisp/emacs-lisp/comp.el: Fix missing rx require 2020-03-15 Adam Porter commit 8fa4749df16bdf9f6e3ce6e9c95bd7ccdd43c903 Author: Stefan Kangas Date: Tue Nov 30 20:15:19 2021 +0100 ; * ChangeLog.3: Filename fixes. diff --git a/ChangeLog.3 b/ChangeLog.3 index f4992329ef..43f2ee3fa6 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -289,9 +289,9 @@ 2021-11-14 Philip Kaludercic - * rcirc.el (rcirc-define-command): Fix interactive-spec generation + * lisp/net/rcirc.el (rcirc-define-command): Fix interactive-spec generation - * rcirc.el (rcirc-define-command): Wrap interactive spec in a list call. + (rcirc-define-command): Wrap interactive spec in a list call. 2021-11-14 Lars Ingebrigtsen @@ -1752,7 +1752,8 @@ Use browse-url-button-regexp for rcirc-url-regexp - * rcirc.el (rcirc-url-regexp): Copy improved regexp from browse-url + * lisp/net/rcirc.el (rcirc-url-regexp): Copy improved regexp from + browse-url 2021-10-13 Juri Linkov @@ -2473,7 +2474,7 @@ * m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4: Remove. These are either no longer present in Gnulib, or are no longer needed by modules that Emacs uses. - * oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first; + * oldXMenu/AddPane.c, oldXMenu/AddSel.c: Include XmenuInt.h first; needed for new Gnulib. * src/xmenu.c: Call emacs_abort, not abort. @@ -3393,7 +3394,8 @@ The implementation does not work as expected and behaves unpredictably. - * rcirc.el (rcirc-omit-responses-after-join): Remove option + * lisp/net/rcirc.el (rcirc-omit-responses-after-join): Remove + option (rcirc-joined): Remove variable (rcirc-reconnect): Remove rcirc-joined code (rcirc-get-buffer-create): Remove rcirc-joined code @@ -4293,13 +4295,13 @@ Add myself as rcirc maintainer - * rcirc.el (rcirc-sentinel): Use process-status + * lisp/net/rcirc.el (rcirc-sentinel): Use process-status - * rcirc.texi (Using rcirc with bouncers): Remove confusing sentence + * doc/misc/rcirc.texi (Using rcirc with bouncers): Remove confusing sentence - * rcirc.el (rcirc-reconnect): Use rcirc-reconnect-delay + * lisp/net/rcirc.el (rcirc-reconnect): Use rcirc-reconnect-delay - * rcirc.el (rcirc-reconnect): Set rcirc-joined + * lisp/net/rcirc.el (rcirc-reconnect): Set rcirc-joined 2021-09-25 Stefan Kangas @@ -4712,7 +4714,7 @@ Add support for "bright" ANSI colors in term-mode - * list/term.el (ansi-term-color-vector): Add new faces. + * lisp/term.el (ansi-term-color-vector): Add new faces. (term-color-black, term-color-red, term-color-green, term-color-yellow) (term-color-blue, term-color-magenta, term-color-cyan, term-color-white): Inherit from 'ansi-color-COLOR'. @@ -4775,8 +4777,8 @@ Handle updates flags when setting flags - * nnmaildir.el (nnmaildir--article-set-flags): Handle updated flags - more gracefully + * lisp/gnus/nnmaildir.el (nnmaildir--article-set-flags): Handle + updated flags more gracefully. 2021-09-23 Dmitry Gutov @@ -4808,7 +4810,7 @@ Fix string-distance for two empty strings - * fns.c (Fstring_distance): Avoid using uninitialized memory. + * src/fns.c (Fstring_distance): Avoid using uninitialized memory. * test/src/fns-tests.el (test-string-distance): Add test cases. 2021-09-23 Juri Linkov @@ -4861,11 +4863,12 @@ Add aggregate project discovery and maintenance functions - * project.el (project-remember-project): Add optional no-write argument - (project-remember-projects-under): Add command - (project-forget-zombie-projects): Add command - (project-forget-projects-under): Add command - * etc/NEWS: Document new commands + * lisp/progmodes/project.el (project-remember-project): Add + optional no-write argument. + (project-remember-projects-under): Add command. + (project-forget-zombie-projects): Add command. + (project-forget-projects-under): Add command. + * etc/NEWS: Document new commands. 2021-09-23 Dmitry Gutov @@ -5381,7 +5384,8 @@ 2021-09-21 Stefan Monnier - * python.el (python-syntax-stringify): Extend comment about last change + * lisp/progmodes/python.el (python-syntax-stringify): Extend + comment about last change. 2021-09-21 Robert Pluim @@ -5758,8 +5762,8 @@ Fix dolist-with-progress-reporter behaviour - * subr.el (dolist-with-progress-reporter): Use the length of list - argument as maximal value the reporter with reach + * lisp/subr.el (dolist-with-progress-reporter): Use the length of + list argument as maximal value the reporter with reach. 2021-09-19 Stefan Kangas @@ -6446,7 +6450,7 @@ verilog-mode.el: Merge from upstream: prepare for lexical bindings. - * verilog-mode.el (verilog-do-indent) + * lisp/progmodes/verilog-mode.el (verilog-do-indent) (verilog-indent-declaration, verilog-read-always-signals-recurse) (verilog-read-decls): Prepare for lexical bindings. @@ -6544,11 +6548,11 @@ Change the erc debug logging format to be more repeatable - * erc.el (erc-debug-irc-protocol): Fix line-ending mismatch between - incoming and outgoing logger lines without changing interface. Do this - by adding carriage returns to the latter to improve machine - readability. Change printed peer labels to most accurately reflect - logical endpoints. + * lisp/erc/erc.el (erc-debug-irc-protocol): Fix line-ending + mismatch between incoming and outgoing logger lines without + changing interface. Do this by adding carriage returns to the + latter to improve machine readability. Change printed peer labels + to most accurately reflect logical endpoints. (erc-debug-irc-protocol-time-format): Add new variable to support timestamps in protocol logger output. @@ -6805,7 +6809,8 @@ Python shell: rearrange printing of newline before output - * progmodes/python.el (python-shell-output-filter-in-progress) + * lisp/progmodes/python.el + (python-shell-output-filter-in-progress) (python-shell-output-filter-buffer): Move defvars to avoid compiler warnings. (python-shell-eval-setup-code): Don't print a newline in @@ -6842,7 +6847,7 @@ Add occur-related context-menu operations (bug#50552) - * replace.el (occur-word-at-mouse): Add new command. + * lisp/replace.el (occur-word-at-mouse): Add new command. (occur-symbol-at-mouse): Add new command. (occur-context-menu): Add new function. @@ -6933,13 +6938,15 @@ Fix interactive forms for rcirc-define-command - * rcirc.el (rcirc-define-command): Handle string descriptors correctly + * lisp/net/rcirc.el (rcirc-define-command): Handle string + descriptors correctly. 2021-09-14 Philip Kaludercic Unset mode-line-process for all buffers on reconnecting - * rcirc.el (rcirc-sentinel): Add loop over all managed buffers + * lisp/net/rcirc.el (rcirc-sentinel): Add loop over all managed + buffers. 2021-09-14 Philip Kaludercic @@ -6978,7 +6985,8 @@ 2021-09-14 Philip Kaludercic - * rcirc.texi (Hacking and Tweaking): Add missing section to menu + * doc/misc/rcirc.texi (Hacking and Tweaking): Add missing section + to menu. 2021-09-14 Philip Kaludercic @@ -7842,15 +7850,18 @@ 2021-09-11 Philip Kaludercic - * rcirc.texi: Replace defun-rcirc-command with rcirc-define-command + * doc/misc/rcirc.texi: Replace defun-rcirc-command with + rcirc-define-command - * rcirc.texi: Document rcirc-track-abbrevate-flag + * doc/misc/rcirc.texi: Document rcirc-track-abbrevate-flag - * rcirc.texi: Document rcirc-nick-filter and rcirc-channel-filter + * doc/misc/rcirc.texi: Document rcirc-nick-filter and + rcirc-channel-filter - * rcirc.texi: Document rcirc-track-ignore-server-buffer-flag + * doc/misc/rcirc.texi: Document + rcirc-track-ignore-server-buffer-flag - * rcirc.texi: Document rcirc-omit-responses-after-join + * doc/misc/rcirc.texi: Document rcirc-omit-responses-after-join 2021-09-11 Philip Kaludercic @@ -7868,7 +7879,7 @@ Keep python.el compatible with older Emacsen - * progmodes/python.el (python-shell-send-string): Don't assume + * lisp/progmodes/python.el (python-shell-send-string): Don't assume comint-max-line-length is defined (bug#50503). 2021-09-11 Michael Albinus @@ -7890,9 +7901,9 @@ Allow using 'python-shell-send-file' across machines - * progmodes/python.el (python-shell-eval-file-setup-code): Look for a - file coding cookie on the Python rather than on the Emacs side, to - avoid additional file transfers. + * lisp/progmodes/python.el (python-shell-eval-file-setup-code): + Look for a file coding cookie on the Python rather than on the + Emacs side, to avoid additional file transfers. (python-shell--save-temp-file): Allow argument to be a buffer. (python-shell-send-file): Address the case where the selected file and the inferior process are on different machines (bug#50516). @@ -9034,30 +9045,30 @@ Update to CSS Flexible Box Layout Module Level 2 - * css-mode.el (css-property-alist): Update link. + * lisp/textmodes/css-mode.el (css-property-alist): Update link. 2021-09-03 Theodor Thornhill Update to CSS Containment Module Level 2 - * css-mode.el (css-property-alist): Update contain, and add - content-visibility. + * lisp/textmodes/css-mode.el (css-property-alist): Update contain, + and add content-visibility. 2021-09-03 Theodor Thornhill Update to CSS Grid Layout Module Level 2 - * css-mode.el (css-property-alist): Update to the newer spec, and add - the subgrid keywords + * lisp/textmodes/css-mode.el (css-property-alist): Update to the + newer spec, and add the subgrid keywords. 2021-09-03 Theodor Thornhill Clean up css-property-alist for alignment - * css-mode.el (css-property-alist, css-value-class-alist): Provide new - position related entries for use in css-property-alist. Make sure - that property-alist reflect the spec: - https://www.w3.org/TR/css-align-3/#property-index + * lisp/textmodes/css-mode.el (css-property-alist) + (css-value-class-alist): Provide new position related entries for + use in css-property-alist. Make sure that property-alist reflect + the spec: https://www.w3.org/TR/css-align-3/#property-index 2021-09-03 Lars Ingebrigtsen @@ -9411,7 +9422,8 @@ Avoid failing if vc backend doesn't implement ignore-completion-table - * project.el (project-ignores): Handle vc-not-supported signals + * lisp/progmodes/project.el (project-ignores): Handle + vc-not-supported signals. 2021-08-31 Lars Ingebrigtsen @@ -9633,8 +9645,6 @@ function, check alternatively for c-back-over-compound-identifier when doing c-backward-token-2. - * bracelist-36.{cc,res}: New test files. - 2021-08-29 Alan Third Fix libexec installation on NS (bug#50250) @@ -9960,7 +9970,7 @@ Add support for "bright" ANSI colors in term-mode - * list/term.el (ansi-term-color-vector): Add new faces. + * lisp/term.el (ansi-term-color-vector): Add new faces. (term-color-white): Tweak colors. (term-color-bright-black, term-color-bright-red, term-color-bright-green) (term-color-bright-yellow, term-color-bright-blue) @@ -10360,7 +10370,8 @@ mh-x-image-url-sane-p: accept "https" URLs * lisp/mh-e/mh-xface.el (mh-x-image-url-sane-p): Accept https URLs. - * test/lisp/mh-e/mh-xface.el: New file, to test mh-x-image-url-sane-p. + * test/lisp/mh-e/mh-xface-tests.el: New file, to test + mh-x-image-url-sane-p. 2021-08-21 Glenn Morris @@ -11275,16 +11286,18 @@ (Bug#49888) - * minibuffer.el (completion--flex-adjust-metadata): Fall back to usual - alphanumeric, length, recency strategy if no minibuffer input. There - is still a bug indicated by the nearby FIXMEs, though. + * lisp/minibuffer.el (completion--flex-adjust-metadata): Fall back + to usual alphanumeric, length, recency strategy if no minibuffer + input. There is still a bug indicated by the nearby FIXMEs, + though. 2021-08-15 Augusto Stoffel Allow evaluating Python code across machines - * python.el (python-shell-send-string): Ensure that the temporary file - is created in the host running the Python process (bug#50057). + * lisp/progmodes/python.el (python-shell-send-string): Ensure that + the temporary file is created in the host running the Python + process (bug#50057). 2021-08-15 Lars Ingebrigtsen @@ -11872,7 +11885,8 @@ This is necessary to get the Gnome desktop to show Emacs (Client) when the user searches for emacsclient. - * etc/emacsclient.desktop, emacsclient-mail.desktop (Keywords): Add + * etc/emacsclient.desktop (Keywords): + * etc/emacsclient-mail.desktop (Keywords): Add emacsclient. 2021-08-11 Peter Oliver @@ -13574,11 +13588,13 @@ * lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist". * doc/misc/mh-e.texi: update manual to match. - * lisp/mh-e/folder.el: Change the binding of 'mh-junk-allowlist' to 'J a'. - Add a compatibility binding for the old 'J w'. + * lisp/mh-e/mh-folder.el: Change the binding of + 'mh-junk-allowlist' to 'J a'. Add a compatibility binding for the + old 'J w'. * lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'. - * lisp/mh-e/junk.el: Rename 'mh-blacklist-a-msg' to 'mh-junk-blocklist-a-msg', - adding the missing "junk-" to the function name. + * lisp/mh-e/mh-junk.el: Rename 'mh-blacklist-a-msg' to + 'mh-junk-blocklist-a-msg', adding the missing "junk-" to the + function name. 2021-07-29 Nick Gasson (tiny change) @@ -15189,7 +15205,7 @@ - Defaulting of Initialization Arguments - Rules for Initialization Arguments - * test/lisp/emacs-lisp/eieio-etests/eieio-tests.el: + * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Add corresponding tests Fix a typo @@ -16907,7 +16923,8 @@ * doc/emacs/misc.texi: (Using Emacs as a Server) Explain emacsclient.desktop. * etc/NEWS: (Emacs Server): Explain emacsclient.desktop. - * emacs-mail.desktop, etc/emacsclient.desktop: Automatically try to + * etc/emacs-mail.desktop: + * etc/emacsclient.desktop: Automatically try to reuse an existing frame, open a new frame, or start a new Emacs daemon. Add actions for specific behaviours (bug#49195). @@ -16954,10 +16971,10 @@ * doc/misc/trampver.texi: * lisp/net/trampver.el: Change version to "2.5.1". - * lisp/tramp.el (tramp-handle-write-region): - * lisp/tramp-adb.el (tramp-adb-handle-write-region): - * lisp/tramp-sh.el (tramp-sh-handle-write-region): Call local - `write-region' directly. + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Call + local `write-region' directly. * test/lisp/net/tramp-tests.el (tramp--test-utf8): Adapt test for MS Windows. @@ -17382,8 +17399,9 @@ If the daemons TTY is our only frame, create a new frame - * server.el (server-process-filter): If there won't be a current frame - to use, fall back to trying to create a new one (bug#11033). + * lisp/server.el (server-process-filter): If there won't be a + current frame to use, fall back to trying to create a new one + (bug#11033). 2021-06-22 Peter Oliver @@ -18947,7 +18965,7 @@ Add user options for default windmove commands (bug#41438) - * windmove.el (windmove--default-keybindings-type): Add type. + * lisp/windmove.el (windmove--default-keybindings-type): Add type. (windmove-default-keybindings): Add user option. (windmove-display-default-keybindings): Add user option. (windmove-delete-default-keybindings): Add user option. @@ -18957,7 +18975,7 @@ Improve windmove-*-default-keybindings functions (bug#41438) - * windmove.el (windmove-mode-map): Add special map for windmove commands. + * lisp/windmove.el (windmove-mode-map): Add special map for windmove commands. (windmove-mode): Add minor mode for activating windmove-mode-map. (windmove-install-defaults): Add general function for manipulating windmove-mode-map. @@ -19313,7 +19331,7 @@ Improve random selection of keyservers - * epa-ks.el (epa-keyserver): Interpret a list as a pool. + * lisp/epa-ks.el (epa-keyserver): Interpret a list as a pool. (epa-ks--query-url): Add new auxiliary function. (epa-ks--fetch-key): Use epa-ks--query-url. (epa-search-keys): Use epa-ks--query-url. @@ -19371,7 +19389,7 @@ which gave rise to spurious drag events when the origin of the window changed between the mouse down and up events. This fixes bug #48409. - * keyboard.c (frame_relative_event_pos): New static variable. + * src/keyboard.c (frame_relative_event_pos): New static variable. (make_lispy_event): Record frame relative position of down event. When the up event is in the same position, "move" this event into the window of the down event when this window (typically a mini-window) is no longer under the mouse. @@ -20006,7 +20024,7 @@ Remove modus-themes.org build date (bug#48661) - * modus-themes.org: Delete Org macro of the current export date. + * doc/misc/modus-themes.org: Delete Org macro of the current export date. This makes the manual reproducible between Emacs builds. @@ -20471,7 +20489,8 @@ Insert the candidates vertically within the groups, but keep the groups separate using the full width group separators. - * minibuffer.el (completion--insert-vertical): Adjust grouping. + * lisp/minibuffer.el (completion--insert-vertical): Adjust + grouping. 2021-05-20 Daniel Mendler @@ -20481,8 +20500,8 @@ completion table individually. The guard variable `completions-detailed` variable is used in the same way. - * minibuffer.el (minibuffer-completion-help): Remove check of - `completions-group`. + * lisp/minibuffer.el (minibuffer-completion-help): Remove check of + `completions-group`. 2021-05-20 Daniel Mendler @@ -22676,7 +22695,8 @@ project--buffer-list: Avoid Tramp buffers when possible - * project.el (project--buffer-list): Add file-remote-p check. + * lisp/progmodes/project.el (project--buffer-list): Add + file-remote-p check. 2021-05-03 Michael Albinus @@ -22774,7 +22794,8 @@ 2021-05-02 Alan Mackenzie - * lisp/progmodes/cc-defs (c-save-buffer-state): Amend debug spec, t to let* + * lisp/progmodes/cc-defs.el (c-save-buffer-state): Amend debug + spec, t to let*. This should solve part of bug #48100. @@ -24038,7 +24059,7 @@ * test/src/comp-tests.el (comp-test-47868-1): Improve testcase. - * test/src/comp-test-funcs.el (comp-test-47868-3-f) + * test/src/comp-resources/comp-test-funcs.el (comp-test-47868-3-f) (comp-test-47868-4-f): New functions. 2021-04-22 Stefan Kangas @@ -24076,7 +24097,7 @@ Make outline commands repeatable (bug#47878) - * outline.el (outline-navigation-repeat-map): Add new map. + * lisp/outline.el (outline-navigation-repeat-map): Add new map. (outline-editing-repeat-map): Add new map. 2021-04-21 Mattias Engdeg奪rd @@ -24122,7 +24143,7 @@ Fix native compiler string hash consing strategy (bug#47868) * test/src/comp-tests.el (comp-test-47868-1): Add new test. - * test/src/comp-test-funcs.el (comp-test-47868-1-f) + * test/src/comp-resources/comp-test-funcs.el (comp-test-47868-1-f) (comp-test-47868-2-f): New functions. * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash tanble test. @@ -24678,7 +24699,7 @@ 2021-04-17 Eli Zaretskii - * emacs.c (load_pdump): Fix compilation on picky-complier platforms. + * src/emacs.c (load_pdump): Fix compilation on picky-complier platforms. 2021-04-17 Daniel Mart鱈n @@ -27697,12 +27718,15 @@ Update rnc to use Open Document's Relax-NG schema to version 1.3 - * Use the LibreOffice Relax-NG files since they include a hack to - support 1.2. - * rng source: + * etc/schema/OpenDocument-schema-v1.3+libreoffice.rnc: + * etc/schema/OpenDocument-schema-v1.3.rnc: New files. + * etc/schema/schemas.xml: Use the LibreOffice Relax-NG files since + they include a hack to support 1.2. + + rng source: https://raw.githubusercontent.com/freedesktop/libreoffice-core/master/ schema/libreoffice/OpenDocument-schema-v1.3%2Blibreoffice.rng - * translation to rnc with trang: + translation to rnc with trang: trang -I rng -O rnc OpenDocument-schema-v1.3+libreoffice.rng \ OpenDocument-schema-v1.3+libreoffice.rnc @@ -27778,7 +27802,7 @@ * lisp/progmodes/project.el (project-current): Add the report message. - * doc/emacs/maintaining.text: Add information about the new command to + * doc/emacs/maintaining.texi: Add information about the new command to the manual. 2021-03-24 Stefan Monnier @@ -27884,8 +27908,9 @@ electric-tests.log, along with all the other failure information. Fixes bug #47320. - * electric-tests.el (electric-pair-test-for) New parameter doc-string. On a - test failure, output the doc-string parameter with message. + * test/lisp/electric-tests.el (electric-pair-test-for) New + parameter doc-string. On a test failure, output the doc-string + parameter with message. (electric-pair-define-test-form): Set the new variable doc-string to the generated doc string, and pass this as argument to both ert-deftest and electric-pair-test-for. @@ -29486,7 +29511,7 @@ 2021-03-12 Stefan Monnier - * src/keyboard.c parse_solitary_modifier): Accept `click` modifier + * src/keyboard.c (parse_solitary_modifier): Accept `click` modifier 2021-03-12 Yuan Fu @@ -30280,7 +30305,8 @@ * src/comp.c (ABI_VERSION): Bump following-up 380ba045c4. - * test/src/comp-test-funcs.el (comp-test-46670-1-f): Remove a warning. + * test/src/comp-resources/comp-test-funcs.el + (comp-test-46670-1-f): Remove a warning. Merge commit '9cbdf20316' into native-comp @@ -31669,7 +31695,8 @@ (declare_runtime_imported_funcs): Don't import SETJMP at runtime. (ABI_VERSION): Bump. * test/src/comp-tests.el (46824-1): New test. - * test/src/comp-test-funcs.el (comp-test-46824-1-f): New function. + * test/src/comp-resources/comp-test-funcs.el + (comp-test-46824-1-f): New function. 2021-03-03 Andrea Corallo @@ -33005,7 +33032,8 @@ Use named faces in shortdoc - * shortdoc.el (shortdoc-heading): Define new face for headings. + * lisp/emacs-lisp/shortdoc.el (shortdoc-heading): Define new face + for headings. (shortdoc-display-group): Apply new heading face. (shortdoc--display-function): Use existing face for section text. * etc/NEWS: Document new face (bug#46748). @@ -34799,7 +34827,7 @@ 2021-02-15 Stefan Monnier - * Edebug: Generalize `&lookup`, use it for `cl-macrolet` and `cl-generic` + Edebug: Generalize `&lookup`, use it for `cl-macrolet` and `cl-generic` This allows the use of (declare (debug ...)) in the lexical macros defined with `cl-macrolet`. It also fixes the names used by Edebug @@ -35921,7 +35949,7 @@ 2021-02-10 Stefan Monnier - * list/emacs-lisp/edebug.el: Don't overload `edebug-form-spec` + * lisp/emacs-lisp/edebug.el: Don't overload `edebug-form-spec`. The `edebug-form-spec` symbol property was used to store two different things: the handlers for spec elements like `body` and the handlers for @@ -38562,13 +38590,13 @@ least as long as the value of the new custom variable `lazy-highlight-no-delay-length`. Also avoid updating the lazy count in the echo area too often. - * isearch.el (lazy-highlight-no-delay-length): New defcustom. - * isearch.el (lazy-lazy-count-format): Avoid a momentarily incorrect + * lisp/isearch.el (lazy-highlight-no-delay-length): New defcustom. + (lazy-lazy-count-format): Avoid a momentarily incorrect count when reversing search direction. - * isearch.el (isearch-lazy-highlight-new-loop): Avoid a call to + (isearch-lazy-highlight-new-loop): Avoid a call to `isearch-message` that is quickly succeed by a second echo area update, thus causing flicker. - * isearch.el (isearch-lazy-highlight-new-loop): + (isearch-lazy-highlight-new-loop): Start lazy highlight immediately if appropriate. * etc/NEWS: Announce the change. * doc/emacs/search.texi: Document `lazy-highlight-no-delay-length'. @@ -38908,7 +38936,7 @@ Fix previous commit regarding revert-buffer-function - * simple.el (shell-command, shell-command-on-region): Set + * lisp/simple.el (shell-command, shell-command-on-region): Set revert-buffer-function buffer-locally, not globally. Also, avoid an unnecessary call to (current-buffer) by taking advantage of the closure (bug#46151). @@ -38963,8 +38991,9 @@ Set revert-buffer-function in shell command output buffers - * simple.el (shell-command, shell-command-on-region): Set - revert-buffer-function in shell command output buffers (bug#46151). + * lisp/simple.el (shell-command, shell-command-on-region): Set + revert-buffer-function in shell command output buffers + (bug#46151). 2021-01-29 Lars Ingebrigtsen @@ -41562,18 +41591,19 @@ Support using auth-source for NickServ passwords in ERC - * lisp/etc/erc-services.el (erc-nickserv-passwords): Document that + * lisp/erc/erc-services.el (erc-nickserv-passwords): Document that the passwords are only used when erc-prompt-for-nickserv-password is nil. - * (erc-use-auth-source-for-nickserv-password): New customizable + (erc-use-auth-source-for-nickserv-password): New customizable variable to enable checking auth-source for NickServ passwords. - * (etc-nickserv-get-password): New function to handle the lookup + (etc-nickserv-get-password): New function to handle the lookup of the NickServ password from both auth-source and the erc-nickserv-passwords variable. - * (erc-nickserv-call-identify-function): Use new + (erc-nickserv-call-identify-function): Use new erc-nickserv-get-password function to lookup NickServ passwords. - * (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect, - erc-nickserv-identify-on-nick-change): Call + (erc-nickserv-identify-autodetect) + (erc-nickserv-identify-on-connect) + (erc-nickserv-identify-on-nick-change): Call erc-nickserv-call-identify-function when erc-use-auth-source-for-nickserv-password is set. * etc/NEWS: Document change (bug#45340). @@ -42214,7 +42244,7 @@ * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the tmp file used to pass data the child processes. * test/src/comp-tests.el (45603-1): New testcase - * test/src/comp-test-45603.el : New File. + * test/src/comp-resources/comp-test-45603.el: New File. 2021-01-06 Michael Heerdegen @@ -42886,7 +42916,7 @@ close standard input when done. That way, we only wait as long as needed. - * process-tests.el + * test/src/process-tests.el (process-tests/fd-setsize-no-crash/make-process): Invoke 'cat' instead of 'sleep'. Close standard input to exit the 'cat' processes. @@ -46207,7 +46237,7 @@ Make "Invalid modifier in string" ordinary invalid-read-syntax error - * src/lread.ec (read1): Raise "Invalid modifier in string" error as + * src/lread.c (read1): Raise "Invalid modifier in string" error as `invalid-read-syntax'. This fixes raise of unhandled error in `elisp--local-variables' @@ -46449,7 +46479,7 @@ Optimise c-parse-state for large buffers with few (if any) braces. - * lisp/progmodes/cc-engine (c-get-fallback-scan-pos): Search a maximum of + * lisp/progmodes/cc-engine.el (c-get-fallback-scan-pos): Search a maximum of 50,000 characters back for the two BODs. Return nil if we dont' find them. (c-parse-state-get-strategy): For strategy `forward', always use the position `good-pos' for `start-point', even when there's a change of current macro. @@ -48246,11 +48276,11 @@ as (should (ert-fail "Boo")) weren't affected because they wouldn't use the `ert--should-signal-hook'. - * test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with - the right arguments. + * lisp/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger + with the right arguments. - * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add - unit test. + * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): + Add unit test. 2020-12-07 Lars Ingebrigtsen @@ -51233,10 +51263,10 @@ Support nil value for dictionary-server - * net/lisp/dictionary.el (dictionary-server): Support choice to select - the dictionary server to use - * net/lisp/dictionary.el (dictionary-check-connection): Support nil - value for dictionary-server + * lisp/net/dictionary.el (dictionary-server): Support choice to select + the dictionary server to use. + * lisp/net/dictionary.el (dictionary-check-connection): Support nil + value for dictionary-server. This nil value is the new default value of that variable. When opening a new connection and dictionary-server is nil the code @@ -51963,7 +51993,7 @@ Add an option to preserve ANSI sequences - * lisp/ansi-color.el Add an option to preserve the ANSI sequences + * lisp/ansi-color.el: Add an option to preserve the ANSI sequences. * test/lisp/ansi-color-tests.el: Add tests (bug#44589). 2020-11-14 Lars Ingebrigtsen @@ -52681,7 +52711,8 @@ * lisp/progmodes/cc-align.el (three places) prefix langelem with a _. - * lisp/progmodes/cc-{cmds,engine}.el: Remove superfluous local variables. + * lisp/progmodes/cc-cmds.el: + * lisp/progmodes/cc-engine.el: Remove superfluous local variables. * lisp/progmodes/cc-defs.el (c-will-be-unescaped): Remove unused parameter end. @@ -53487,7 +53518,7 @@ 2020-11-04 Stefan Monnier - * lisp-mode.el: Fix missing highlight of "hidden" string arg + * lisp/emacs-lisp/lisp-mode.el: Fix missing highlight of "hidden" string arg * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it @@ -53582,7 +53613,8 @@ thread search. (gnus-summary-make-search-group): Switch to use gnus-search function and arguments. - * test/lisp/gnus/search-tests.el: Tests for new functionality. + * test/lisp/gnus/gnus-search-tests.el: Tests for new + functionality. 2020-11-04 Stefan Monnier @@ -56553,8 +56585,9 @@ Explain difference between Unicode and Emacs scripts - * nonascii.texi (Character Properties): Document that Emacs' - scripts and Unicode's scripts do not necessarily correspond. + * doc/lispref/nonascii.texi (Character Properties): Document that + Emacs' scripts and Unicode's scripts do not necessarily + correspond. 2020-10-19 Harald J旦rg @@ -56916,8 +56949,8 @@ Synchronises with latest released GNU MDK 1.2.11 - * mixal-mode.el (mixal-operation-codes-alist): - Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO + * lisp/progmodes/mixal-mode.el (mixal-operation-codes-alist): + Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO. 2020-10-17 Stefan Kangas @@ -57518,14 +57551,15 @@ Handle retrying of MIME failure messages - * rmail.el (rmail-retry-failure): Handle retrying of MIME failure messages. + * lisp/mail/rmail.el (rmail-retry-failure): Handle retrying of + MIME failure messages. 2020-10-15 Richard M Stallman Handle encrypting mime parts - * epa-mail.el (epa-mail-encrypt): Insert any encoded mime parts - that are queued up to insert before sending the message. + * lisp/epa-mail.el (epa-mail-encrypt): Insert any encoded mime + parts that are queued up to insert before sending the message. 2020-10-15 Stefan Monnier @@ -57814,7 +57848,7 @@ (outline-cycle, outline-cycle-buffer): New functions. (outline-mode-map): Add key bindings for the two new commands. (outline--cycle-buffer-state): New variable. - * doc/emacs/text.text (Outline Visibility): Add 'outline-cycle' and + * doc/emacs/text.texi (Outline Visibility): Add 'outline-cycle' and 'outline-cycle-buffer'. * etc/NEWS (Outline): Record the change (bug#41130). @@ -58336,12 +58370,13 @@ Adding details page for dictionary - * net/lisp/dictionary.el (dictionary-display-dictionary-line): Allow - getting more details on a dictionary by clicking the "(Details)" link. + * lisp/net/dictionary.el (dictionary-display-dictionary-line): + Allow getting more details on a dictionary by clicking the + "(Details)" link. I had the functionality to query the dictionary information but no - mechanism to invoke it. So just add a button after the short description - of the dictionary to get more information. + mechanism to invoke it. So just add a button after the short + description of the dictionary to get more information. 2020-10-09 Torsten Hilbrich @@ -58514,15 +58549,15 @@ Removed some compatibility parts in dictionary * lisp/net/dictionary.el: Use cl-lib, remove defface and defgroup - checks, remove xemacs-related code - * lisp/net/dictionary-link.el: Remove xemacs-related code + checks, remove xemacs-related code. + * lisp/net/dictionary-link.el: Remove xemacs-related code. 2020-10-08 Torsten Hilbrich Renamed link.el - * lisp/net/link.el: Renamed to connection-link.el, also prefixing all - functions with "dictionary-" prefix + * lisp/net/link.el: Renamed to connection-link.el, also prefixing + all functions with "dictionary-" prefix * lisp/net/dictionary.el: Adapt to renamed functions 2020-10-08 Torsten Hilbrich @@ -59384,8 +59419,9 @@ Enhance syntax-tests.el to test some comment character handling. - * test/src/syntax-tests: Add a new section testing some aspects of comment - handling in syntax.c. This needs further enhancement. It uses .... + * test/src/syntax-tests.el: Add a new section testing some aspects + of comment handling in syntax.c. This needs further enhancement. + It uses .... * test/data/syntax-comments.txt: A new test file. @@ -59642,7 +59678,7 @@ When recipient has no public key, make offer to skip it optional. - * epa-mail.el (epa-mail-offer-skip): New option. + * lisp/epa-mail.el (epa-mail-offer-skip): New option. (epa-mail-encrypt): If epa-mail-offer-skip is nil, don't offer to skip a keyless recipient, just cause error. @@ -61568,8 +61604,8 @@ Extend process-lines to allow exit status handling - * subr.el (process-lines-handling-status): Extension of the old - process-lines, with more flexible handling of the exit status. + * lisp/subr.el (process-lines-handling-status): Extension of the + old process-lines, with more flexible handling of the exit status. (process-lines): Old API implemented using the new function. (process-lines-ignore-status): Another use of the new function - return the output lines regardless of the exit status (bug#1321). @@ -61821,18 +61857,18 @@ TTY Support for ECMA-48 strike-through graphic rendition - * term.c: Support strike-through in capable terminals. + * src/term.c: Support strike-through in capable terminals. (no_color_bit): Replace unused NC_INVIS with NC_STRIKE_THROUGH. (turn_on_face): Output via TS_enter_strike_through_mode if available. (turn_off_face): Handle strike-through case. (tty_capable_p, init_tty): Support strike-through. - * termchar.h (struct tty_display_info): Add field for + * src/termchar.h (struct tty_display_info): Add field for strike-through. - * xfaces.c (tty_supports_face_attributes_p, realize_tty_face): + * src/xfaces.c (tty_supports_face_attributes_p, realize_tty_face): Handle strike-through case. - * dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition. + * src/dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition. (struct face): Add field tty_strike_through_p. 2020-09-18 James N. V. Cash (tiny change) @@ -62871,7 +62907,7 @@ These sometimes gave rise to the tail of a buffer being "stringed out". - * lixp/progmodes/cc-defs.el (c-will-be-unescaped): New macro. + * lisp/progmodes/cc-defs.el (c-will-be-unescaped): New macro. * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings) (c-after-change-mark-abnormal-strings): Fix bugs in the handling of string @@ -63275,7 +63311,7 @@ * lisp/emacs-lisp/gv.el: Add gv-define-expander for plist-get - * lisp/emacs-lisp/gv-tests.el: Add new tests for plist-get + * test/lisp/emacs-lisp/gv-tests.el: Add new tests for plist-get 2020-09-09 Stefan Monnier @@ -63691,8 +63727,8 @@ Allow CSS completion with multiple rules on one line - * css-mode.el (css--complete-property-value): Check for semi-colon - when completing property values (bug#43242). + * lisp/progmodes/css-mode.el (css--complete-property-value): Check + for semi-colon when completing property values (bug#43242). 2020-09-06 Lars Ingebrigtsen @@ -64276,7 +64312,7 @@ * lisp/gnus/gnus-cache.el (gnus-possibly-enter-article): * lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks): * lisp/gnus/gnus-msg.el (gnus-inews-yank-articles): - * lisp/gnus/gnus-sum. (gnus-get-newsgroup-headers): + * lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers): * lisp/gnus/nndiary.el (nndiary-parse-head): * lisp/gnus/nnfolder.el (nnfolder-parse-head): * lisp/gnus/nnmaildir.el (nnmaildir--update-nov): @@ -64748,7 +64784,7 @@ Strip carriage returns from received password prompts (comint) - * comint.el (comint-password-prompt-regexp): Strip carriage + * lisp/comint.el (comint-password-prompt-regexp): Strip carriage returns from the received prompt before matching. (Bug#43003) 2020-09-01 Mauro Aranda @@ -65276,10 +65312,10 @@ Use lexical-binding in warnings.el and add tests - * lisp/warnings.el: Use lexical-binding. + * lisp/emacs-lisp/warnings.el: Use lexical-binding. Remove redundant :group args. - * test/lisp/warnings-tests.el: New file. + * test/lisp/emacs-lisp/warnings-tests.el: New file. 2020-08-28 Eric Abrahamsen @@ -65605,13 +65641,12 @@ Fix windows NT handling for [...]_add_driver_options - * Instead of conditionalizing on the wrong preprocessor flag, now use - the right one: LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option - - * Also perform the driver-option-adding step on win NT, but only if - the function is non-NULL. - - * Make the function declaration for add_driver_options non-old-style. + * src/comp.c (add_driver_options): Instead of conditionalizing on + the wrong preprocessor flag, now use the right one: + 'LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option'. Also perform + the driver-option-adding step on win NT, but only if the function + is non-NULL. Make the function declaration for add_driver_options + non-old-style. 2020-08-26 Andreas Fuchs @@ -65934,7 +65969,7 @@ Tweak how "u" works in Info buffers when scroll-conservatively is set - * info.el (Info-up): If scroll-conservatively is non-zero and + * lisp/info.el (Info-up): If scroll-conservatively is non-zero and less than 101, display as much of the superior node above the target line as possible (Bug#13690). @@ -66657,9 +66692,10 @@ Have ispell add new LocalWords lines after any such existing lines - * textmodes/ispell.el (ispell-add-per-file-word-list): Add new - LocalWords line just after existing such lines. Good to keep words - together or if deliberately placed somewhere special (bug#20486). + * lisp/textmodes/ispell.el (ispell-add-per-file-word-list): Add + new LocalWords line just after existing such lines. Good to keep + words together or if deliberately placed somewhere special + (bug#20486). 2020-08-21 Christophe Troestler (tiny change) @@ -67243,7 +67279,7 @@ Fix minor bugs in image.c - * test/src/image-tests.el (image-test-circular-specs): New file. + * test/lisp/image-tests.el (image-test-circular-specs): New file. * src/image.c (parse_image_spec): Return failure for circular lists. (valid_image_p): Don't look at odd-numbered list elements expecting to find a property name. @@ -67264,11 +67300,11 @@ Fix buffer overflow in x-send-client-message - * xselect.c (x_fill_property_data): Add parameter NELEMENTS_MAX. - * xterm.h (x_fill_property_data): Update prototype. - * xselect.c (Fx_send_client_event): Update call. This fixes + * src/xselect.c (x_fill_property_data): Add parameter NELEMENTS_MAX. + * src/xterm.h (x_fill_property_data): Update prototype. + * src/xselect.c (Fx_send_client_event): Update call. This fixes a buffer overflow in event.xclient.data. - * xfns.c (Fx_change_window_property): Update call (bug#23482). + * src/xfns.c (Fx_change_window_property): Update call (bug#23482). 2020-08-18 Glenn Morris @@ -68554,7 +68590,7 @@ Handle negative prefix arguments to mark-paragraph correctly - * textmodes/paragraph.el (mark-paragraph): Handle negative + * lisp/textmodes/paragraphs.el (mark-paragraph): Handle negative arguments correctly (bug#18847). This makes `M- M-h M-h' do the correct thing with expanding the region (like other marking commands) backwards. Also fix problem at the end of the buffer, @@ -69606,10 +69642,11 @@ Indent python multiline strings to start and previous levels - * progmodes/python.el (python-indent--calculate-indentation): Add an - additional indentation point to match indentation of previous line in - a multiline string. Then Tab iterates between 0, the start indentation - level and the previous line level (bug#37726). + * lisp/progmodes/python.el (python-indent--calculate-indentation): + Add an additional indentation point to match indentation of + previous line in a multiline string. Then Tab iterates between 0, + the start indentation level and the previous line level + (bug#37726). 2020-08-09 Philipp Stephani @@ -73225,7 +73262,7 @@ Add a test for lambda list containing uninterned symbols - * test/src/comp-test-funcs-dyn.el + * test/src/comp-resources/comp-test-funcs-dyn.el (comp-tests-cl-uninterned-arg-parse-f): New function. * test/src/comp-tests.el (comp-tests-cl-uninterned-arg-parse-f): @@ -73268,7 +73305,7 @@ (c-clear-syn-tab-properties): Amended to use c-min/max-syn-tab-mkr. (c-with-extended-string-fences): Removed. - * lisp/progmodes/cc-engine-el (c-enclosing-c++-attribute): Rewritten for + * lisp/progmodes/cc-engine.el (c-enclosing-c++-attribute): Rewritten for speed. (c-slow-enclosing-c++-attribute): Removed. (c-semi-pp-to-literal): Remove a superfluous call to @@ -73345,7 +73382,8 @@ * test/src/comp-tests.el (comp-tests-cl-macro-exp): New test. - * test/src/comp-test-funcs-dyn.el: Require `cl-lib'. + * test/src/comp-resources/comp-test-funcs-dyn.el: Require + `cl-lib'. (comp-tests-cl-macro-exp-f): New function. 2020-06-28 Andrea Corallo @@ -73365,7 +73403,7 @@ this call and pthread_setname_np (the latter call is used in preference). * configure.ac: Detect pthread_set_name_np. - * sys/systhread.c: + * src/systhread.c: Include and call pthread_set_name_np if available. 2020-06-27 Andrea Corallo @@ -73877,7 +73915,7 @@ * lisp/progmodes/project.el (project-shell): Improve docstring to include information about an implementation detail. - * list/progmodes/project.el (project-eshell): Modelled after + * lisp/progmodes/project.el (project-eshell): Modelled after 'project-shell', change default behavior such that we don't create too many eshell buffers by default. Use universal argument to create subsequent buffers. @@ -75735,7 +75773,8 @@ 2020-05-29 Stefan Monnier - * lisp/emacs-lisp/package.elm lisp/emacs-lisp/smie.el: Fix indent + * lisp/emacs-lisp/package.el: + * lisp/emacs-lisp/smie.el: Fix indent. Use the new "space after paren" convention to get the desired indentation @@ -76378,7 +76417,7 @@ 2020-05-23 Nicol叩s B辿rtolo - * Windows: Use NUMBER_OF_PROCESSORS environment variable. + Windows: Use NUMBER_OF_PROCESSORS environment variable. * lisp/emacs-lisp/comp.el (comp-effective-async-max-jobs): Use NUMBER_OF_PROCESSORS environment variable if system is Windows NT, @@ -76531,7 +76570,7 @@ * etc/NEWS: Announce that json-read-number is now stricter. - * json.el: Bump package version. + * lisp/json.el: Bump package version. (json-encoding-lisp-style-closings, json-pre-element-read-function) (json-post-element-read-function, json-advance, json-peek) (json--path): Clarify and improve style of doc strings. @@ -77891,7 +77930,7 @@ cc-mode: extend regexp used by c-or-c++-mode - * lisp/progmodes/cc-mode (c-or-c++-mode--regexp): Expand the regexp to + * lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Expand the regexp to match some more C++-only constructs and recognise a few more standard C++ header files. Also make sure identifiers start with non-digit. (c-or-c++-mode): Add (interactive) declaration. @@ -80966,12 +81005,13 @@ make-{network,serial}-process and make-{pipe}process. Now they all handle :coding nil as if :coding had not been specified. - * process.c (Fmake_serial_process) + * src/process.c (Fmake_serial_process) (set_network_socket_coding_system): Use plist-get to check if :coding has been specified instead of plist-member, to ensure that ":coding nil" does not override coding-system-for-{read,write}. - * network-stream-tests.el (check-network-process-coding-system-bind) + * test/lisp/net/network-stream-tests.el + (check-network-process-coding-system-bind) (check-network-process-coding-system-no-override) (check-network-process-coding-system-override): New tests. @@ -81287,7 +81327,8 @@ Fix free function compilation - * comp.el (comp-output-base-filename): Handle src being a symbol + * lisp/emacs-lisp/comp.el (comp-output-base-filename): Handle src + being a symbol. Add comp-test-40187 checking function shadowing. @@ -81304,7 +81345,7 @@ 2020-03-29 Andrea Corallo - * comp.c (maybe_defer_native_compilation): Compile comp dependencies. + * src/comp.c (maybe_defer_native_compilation): Compile comp dependencies. Make maybe_defer_native_compilation able to compile comp dependencies breaking circularity. @@ -81714,14 +81755,14 @@ 2020-03-24 Andrea Corallo - * comp.c (emit_mvar_access): Fix speed 1 compilation + * src/comp.c (emit_mvar_access): Fix speed 1 compilation At speed 1 propagate does not run and all mvars are allocated in array 0. 2020-03-24 Andrea Corallo - * comp.el (native-compile-async): Fix excessive messaging + * lisp/comp.el (native-compile-async): Fix excessive messaging 2020-03-24 Philip K @@ -83333,7 +83374,7 @@ * doc/lispref/os.texi (File Notifications): * etc/NEWS: Adjust documentation accordingly. - * lib/chmodat.c, lib/fchmodat.c, lib/lchmod.c, m4/fchmodat.m4: + * lib/fchmodat.c, lib/lchmod.c, m4/fchmodat.m4: * m4/lchmod.m4: New files, copied from Gnulib. * lib/gnulib.mk.in: Regenerate. * lisp/dired-aux.el (dired-do-chmod): @@ -84027,9 +84068,9 @@ This allows control of the minimum size of a masked image under which the box cursor becomes hollow. - * buffer.c (cursor-type): Add commentary about (box . SIZE) + * src/buffer.c (cursor-type): Add commentary about (box . SIZE) 'cursor-type'. - * xdisp.c (get_specified_cursor_type): Check for 'cursor-type' + * src/xdisp.c (get_specified_cursor_type): Check for 'cursor-type' of the form (box . SIZE). (get_window_cursor_type): Check masked image size for (box . SIZE) 'cursor-type'. @@ -84233,23 +84274,23 @@ Make 'M-x battery RET' work out-of-box for UPower users. - * battery.el (battery-upower-prop): Removed in favor for - 'battery-upower-device-property'. - (battery-upower-device): Can be nil, meaning autodetect the battery - device. - (battery-upower-line-power-device): New. line-power device. Can be - nil, meaning autodetect line-power device. - (battery-status-function): Check UPower service is available to use - 'battery-upower' as status function. - (battery-upower): Speedup. Request D-Bus only once, fetching all - the properties at once. Provide string for "%b" format spec. - (battery-upower-device-list, battery-upower-device-all-properties, - battery-upower-device-property): New functions to work with UPower - devices. - (battery-upower-dbus-service, battery-upower-dbus-interface, - battery-upower-dbus-path, battery-upower-dbus-device-interface, - battery-upower-dbus-device-path): New constants describing UPower - D-Bus service. + * lisp/battery.el (battery-upower-prop): Removed in favor for + 'battery-upower-device-property'. + (battery-upower-device): Can be nil, meaning autodetect the battery + device. + (battery-upower-line-power-device): New. line-power device. Can be + nil, meaning autodetect line-power device. + (battery-status-function): Check UPower service is available to use + 'battery-upower' as status function. + (battery-upower): Speedup. Request D-Bus only once, fetching all + the properties at once. Provide string for "%b" format spec. + (battery-upower-device-list, battery-upower-device-all-properties) + (battery-upower-device-property): New functions to work with UPower + devices. + (battery-upower-dbus-service, battery-upower-dbus-interface) + (battery-upower-dbus-path, battery-upower-dbus-device-interface) + (battery-upower-dbus-device-path): New constants describing UPower + D-Bus service. 2020-02-05 Juri Linkov @@ -84486,7 +84527,7 @@ * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Use `tramp-process-running-p'. - * lisp/net/lisp/net/tramp.el (with-tramp-progress-reporter): Simplify. + * lisp/net/tramp.el (with-tramp-progress-reporter): Simplify. (tramp-process-running-p): New defun. 2020-01-31 Juri Linkov @@ -84539,8 +84580,8 @@ fix bug#39344 - * gnus.el (gnus-add-buffer): Use `cl-pushnew' instead of `push' to - avoid duplicate entries. + * lisp/gnus/gnus.el (gnus-add-buffer): Use 'cl-pushnew' instead of + 'push' to avoid duplicate entries. 2020-01-28 Eli Zaretskii @@ -85829,7 +85870,7 @@ * lisp/net/sasl.el (sasl-mechanisms): Add SCRAM-SHA-256. (sasl-mechanism-alist): Ditto. * lisp/net/sasl-scram-sha256.el: New file. - * tests/lisp/net/sasl-scram-rfc-tests.el (sasl-scram-sha-256-test): + * test/lisp/net/sasl-scram-rfc-tests.el (sasl-scram-sha-256-test): New function. 2020-01-16 Paul Eggert @@ -134070,7 +134111,8 @@ * lisp/auth-source-pass.el (auth-source-pass-entries): * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows): - * lisp/org/ob-abc.el (org-babel-expand-body:abc, org-babel-execute:abc): + * lisp/org/ob-abc.el (org-babel-expand-body:abc) + (org-babel-execute:abc): * lisp/org/ob-forth.el (org-babel-forth-session-execute): * lisp/vc/vc-git.el (vc-git--program-version): Add backslash in regexp for correctness. commit ea5a90b4f47f008a3e2dd58cda5a6b771fb80403 Author: Juri Linkov Date: Tue Nov 30 21:05:05 2021 +0200 * lisp/repeat.el: Fix long-standing problem when a random key activates map * lisp/repeat.el (repeat-check-key): New defcustom (bug#51390). (repeat--command-property): New internal function. (repeat-check-key): New function. (repeat-post-hook): Use repeat--command-property and repeat-check-key. * test/lisp/repeat-tests.el (repeat-tests-check-key): New test. diff --git a/lisp/repeat.el b/lisp/repeat.el index 5b3ab03796..664a4d68ec 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el @@ -360,6 +360,24 @@ of the specified number of seconds." :group 'convenience :version "28.1") +(defcustom repeat-check-key t + "Whether to check that the last key exists in the repeat map. +When non-nil and the last typed key (with or without modifiers) +doesn't exist in the keymap attached by the `repeat-map' property, +then don't activate that keymap for the next command. So only the +same keys among repeatable keys are allowed in the repeating sequence. +For example, with a non-nil value, only `C-x u u' repeats undo, +whereas `C-/ u' doesn't. + +You can also set the property `repeat-check-key' on the command symbol. +This property can override the value of this variable. +When the variable value is non-nil, but the property value is `no', +then don't check the last key. Also when the variable value is nil, +but the property value is `t', then check the last key." + :type 'boolean + :group 'convenience + :version "28.1") + (defcustom repeat-echo-function #'repeat-echo-message "Function to display a hint about available keys. Function is called after every repeatable command with one argument: @@ -405,16 +423,26 @@ See `describe-repeat-maps' for a list of all repeatable commands." (defvar repeat--prev-mb '(0) "Previous minibuffer state.") +(defun repeat--command-property (property) + (or (and (symbolp this-command) + (get this-command property)) + (and (symbolp real-this-command) + (get real-this-command property)))) + +(defun repeat-check-key (key map) + "Check if the last key is suitable to activate the repeating MAP." + (let ((property (repeat--command-property 'repeat-check-key))) + (or (if repeat-check-key (eq property 'no) (not (eq property t))) + (lookup-key map (vector key)) + ;; Try without modifiers: + (lookup-key map (vector (event-basic-type key)))))) + (defun repeat-post-hook () "Function run after commands to set transient keymap for repeatable keys." (let ((was-in-progress repeat-in-progress)) (setq repeat-in-progress nil) (when repeat-mode - (let ((rep-map (or repeat-map - (and (symbolp this-command) - (get this-command 'repeat-map)) - (and (symbolp real-this-command) - (get real-this-command 'repeat-map))))) + (let ((rep-map (or repeat-map (repeat--command-property 'repeat-map)))) (when rep-map (when (and (symbolp rep-map) (boundp rep-map)) (setq rep-map (symbol-value rep-map))) @@ -426,10 +454,8 @@ See `describe-repeat-maps' for a list of all repeatable commands." ;; in the middle of repeating sequence (bug#47566). (or (< (minibuffer-depth) (car repeat--prev-mb)) (eq current-minibuffer-command (cdr repeat--prev-mb))) - ;; Exit when the last char is not among repeatable keys, - ;; so e.g. `C-x u u' repeats undo, whereas `C-/ u' doesn't. - (or (lookup-key map (this-command-keys-vector)) - prefix-arg)) + (or (not repeat-keep-prefix) prefix-arg) + (repeat-check-key last-command-event map)) ;; Messaging (unless prefix-arg diff --git a/test/lisp/repeat-tests.el b/test/lisp/repeat-tests.el index 76abd24ea2..02d9ddbc96 100644 --- a/test/lisp/repeat-tests.el +++ b/test/lisp/repeat-tests.el @@ -37,6 +37,8 @@ (defvar repeat-tests-map (let ((map (make-sparse-keymap))) (define-key map (kbd "C-x w a") 'repeat-tests-call-a) + (define-key map (kbd "M-C-a") 'repeat-tests-call-a) + (define-key map (kbd "M-C-z") 'repeat-tests-call-a) map) "Keymap for keys that initiate repeating sequences.") @@ -70,6 +72,38 @@ ;; Check for self-inserting keys (should (equal (buffer-string) inserted))) +(ert-deftest repeat-tests-check-key () + (with-repeat-mode + (let ((repeat-echo-function 'ignore)) + (let ((repeat-check-key t)) + (repeat-tests--check + "C-x w a b a c" + '((1 a) (1 b) (1 a)) "c") + (repeat-tests--check + "M-C-a b a c" + '((1 a) (1 b) (1 a)) "c") + (repeat-tests--check + "M-C-z b a c" + '((1 a)) "bac") + (unwind-protect + (progn + (put 'repeat-tests-call-a 'repeat-check-key 'no) + (repeat-tests--check + "M-C-z b a c" + '((1 a) (1 b) (1 a)) "c")) + (put 'repeat-tests-call-a 'repeat-check-key nil))) + (let ((repeat-check-key nil)) + (repeat-tests--check + "M-C-z b a c" + '((1 a) (1 b) (1 a)) "c") + (unwind-protect + (progn + (put 'repeat-tests-call-a 'repeat-check-key t) + (repeat-tests--check + "M-C-z b a c" + '((1 a)) "bac")) + (put 'repeat-tests-call-a 'repeat-check-key nil)))))) + (ert-deftest repeat-tests-exit-key () (with-repeat-mode (let ((repeat-echo-function 'ignore)) commit ef4954b69c17831f4c8360c436352170305666ea Author: Juri Linkov Date: Tue Nov 30 20:55:19 2021 +0200 * lisp/repeat.el (repeat-keep-prefix): Change default to nil. 'repeat-keep-prefix' doesn't yet have sufficient support that covers all cases in bug#51281, so it's disabled now. diff --git a/lisp/repeat.el b/lisp/repeat.el index 32ffb1884f..5b3ab03796 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el @@ -354,7 +354,7 @@ of the specified number of seconds." (defvar repeat-exit-timer nil "Timer activated after the last key typed in the repeating key sequence.") -(defcustom repeat-keep-prefix t +(defcustom repeat-keep-prefix nil "Whether to keep the prefix arg of the previous command when repeating." :type 'boolean :group 'convenience commit 6d5886e7804314e9e9f94a0b6f09cc3197c29879 Author: Juri Linkov Date: Tue Nov 30 20:52:47 2021 +0200 * test/lisp/repeat-tests.el (repeat-tests-call-b): Test for commit 588caf0b27. This tests for 'repeat-map' as a variable instead of a symbol. diff --git a/test/lisp/repeat-tests.el b/test/lisp/repeat-tests.el index a1f9bbb173..76abd24ea2 100644 --- a/test/lisp/repeat-tests.el +++ b/test/lisp/repeat-tests.el @@ -47,7 +47,7 @@ map) "Keymap for repeating sequences.") (put 'repeat-tests-call-a 'repeat-map 'repeat-tests-repeat-map) -(put 'repeat-tests-call-b 'repeat-map 'repeat-tests-repeat-map) +(put 'repeat-tests-call-b 'repeat-map repeat-tests-repeat-map) (defmacro with-repeat-mode (&rest body) "Create environment for testing `repeat-mode'." commit 9e16c6a96d6c5bbe97d6a90897e0322e3322e20e Author: Eli Zaretskii Date: Tue Nov 30 20:23:47 2021 +0200 ; * src/comp.c (syms_of_comp) : Doc fix. diff --git a/src/comp.c b/src/comp.c index bc1adcf4e2..1381d982aa 100644 --- a/src/comp.c +++ b/src/comp.c @@ -5525,9 +5525,9 @@ protect the trampolines against GC. */); Vcomp_installed_trampolines_h = CALLN (Fmake_hash_table); DEFVAR_LISP ("comp-no-native-file-h", V_comp_no_native_file_h, - doc: /* Files for which no deferred compilation has to -be performed because the bytecode version was explicitly requested by -the user during load. + doc: /* Files for which no deferred compilation has to be performed. +These files' compilation should not be deferred because the bytecode +version was explicitly requested by the user during load. For internal use. */); V_comp_no_native_file_h = CALLN (Fmake_hash_table, QCtest, Qequal); commit a7dfb2acfc17381bf03ead64c0d1b71576b3aea0 Author: Andrea Corallo Date: Tue Nov 30 19:12:52 2021 +0100 * lisp/loadup.el (paren): Preload it (again). diff --git a/lisp/loadup.el b/lisp/loadup.el index 3f22ceb94e..ed1570e778 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -358,6 +358,7 @@ (load "vc/ediff-hook") (load "uniquify") (load "electric") +(load "paren") (load "emacs-lisp/shorthands") commit bf299b7d2f712cd7311130e0375bcfe523d727c6 Author: Eli Zaretskii Date: Tue Nov 30 20:16:25 2021 +0200 ; * src/comp.c (syms_of_comp): Fix first lines of doc strings. diff --git a/src/comp.c b/src/comp.c index ab7006cca6..486b35f681 100644 --- a/src/comp.c +++ b/src/comp.c @@ -5311,12 +5311,12 @@ syms_of_comp (void) { #ifdef HAVE_NATIVE_COMP DEFVAR_LISP ("comp--delayed-sources", Vcomp__delayed_sources, - doc: /* List of sources to be native compiled when - startup is finished. For internal use. */); + doc: /* List of sources to be native-compiled when startup is finished. +For internal use. */); DEFVAR_BOOL ("comp--loadable", comp__loadable, - doc: /* Non-nil when comp.el can be loaded. For - internal use. */); + doc: /* Non-nil when comp.el can be loaded. +For internal use. */); /* Compiler control customizes. */ DEFVAR_BOOL ("native-comp-deferred-compilation", native_comp_deferred_compilation, commit 9aa8fd6e62c7621c0e722f874a02007debed91b0 Author: Juri Linkov Date: Tue Nov 30 20:12:06 2021 +0200 * src/callint.c (Fcall_interactively): Fix inhibit_mouse_event_check. Don't search for the next mouse event with parameters when inhibit-mouse-event-check is non-nil (bug#50067). diff --git a/src/callint.c b/src/callint.c index 44dae361c1..68f103759a 100644 --- a/src/callint.c +++ b/src/callint.c @@ -364,11 +364,14 @@ invoke it (via an `interactive' spec that contains, for instance, an /* The index of the next element of this_command_keys to examine for the 'e' interactive code. Initialize it to point to the first - event with parameters. */ - ptrdiff_t next_event; - for (next_event = 0; next_event < key_count; next_event++) - if (EVENT_HAS_PARAMETERS (AREF (keys, next_event))) - break; + event with parameters. When `inhibit_mouse_event_check' is non-nil, + the command can accept an event without parameters, + so don't search for the event with parameters in this case. */ + ptrdiff_t next_event = 0; + if (!inhibit_mouse_event_check) + for (; next_event < key_count; next_event++) + if (EVENT_HAS_PARAMETERS (AREF (keys, next_event))) + break; /* Handle special starting chars `*' and `@'. Also `-'. */ /* Note that `+' is reserved for user extensions. */ @@ -606,7 +609,7 @@ invoke it (via an `interactive' spec that contains, for instance, an break; case 'e': /* The invoking event. */ - if (!inhibit_mouse_event_check && next_event >= key_count) + if (next_event >= key_count) error ("%s must be bound to an event with parameters", (SYMBOLP (function) ? SSDATA (SYMBOL_NAME (function)) @@ -614,11 +617,15 @@ invoke it (via an `interactive' spec that contains, for instance, an args[i] = AREF (keys, next_event); varies[i] = -1; - /* Find the next parameterized event. */ - do + /* `inhibit_mouse_event_check' allows non-parameterized events. */ + if (inhibit_mouse_event_check) next_event++; - while (next_event < key_count - && ! EVENT_HAS_PARAMETERS (AREF (keys, next_event))); + else + /* Find the next parameterized event. */ + do + next_event++; + while (next_event < key_count + && ! EVENT_HAS_PARAMETERS (AREF (keys, next_event))); break; commit 3747c59cac0af4b467d5af989280724c61f97cb0 Author: Eli Zaretskii Date: Tue Nov 30 20:09:08 2021 +0200 ; Fix last change. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 71540742ba..b49a998735 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -1661,7 +1661,7 @@ of text between @var{start} and @var{end} at pixel granularity, so text using variable-pitch fonts or several different fonts looks filled regardless of different character sizes. The argument @var{pixel-width} specifies the maximum pixel width a line is allowed -to have aftder filling; it is the pixel-resolution equivalent of the +to have after filling; it is the pixel-resolution equivalent of the @code{fill-column} in @code{fill-region}. For instance, this Lisp snippet will insert text using a proportional font, and then fill this to be no wider than 300 pixels: commit 7433e7457118841b4820cd865fb60b247ba97ef0 Author: Eli Zaretskii Date: Tue Nov 30 20:07:19 2021 +0200 Improve documentation of pixel-fill * doc/lispref/text.texi (Filling): Describe the arguments of 'pixel-fill-region'. Add index entry. * lisp/textmodes/pixel-fill.el (pixel-fill-region): Doc fix. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index ff42ceaf9c..71540742ba 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -1656,9 +1656,15 @@ Most Emacs buffers use monospaced text, so all the filling functions (like @code{fill-region}) work based on the number of characters and @code{char-width}. However, Emacs can render other types of things, like text that contains images and using proportional fonts, and the -@code{pixel-fill-region} exists to handle that. For instance, this -Lisp snippet will insert text using a proportional font, and then fill -this to be no wider than 300 pixels: +@code{pixel-fill-region} exists to handle that. It fills the region +of text between @var{start} and @var{end} at pixel granularity, so +text using variable-pitch fonts or several different fonts looks +filled regardless of different character sizes. The argument +@var{pixel-width} specifies the maximum pixel width a line is allowed +to have aftder filling; it is the pixel-resolution equivalent of the +@code{fill-column} in @code{fill-region}. For instance, this Lisp +snippet will insert text using a proportional font, and then fill this +to be no wider than 300 pixels: @lisp (insert (propertize @@ -1667,9 +1673,11 @@ this to be no wider than 300 pixels: (pixel-fill-region (point) (point-max) 300) @end lisp -If @var{start} isn't at the start of a line, that pixel position will -be used as the indentation prefix on subsequent lines. +If @var{start} isn't at the start of a line, the horizontal position +of @var{start}, converted to pixel units, will be used as the +indentation prefix on subsequent lines. +@findex pixel-fill-width The @code{pixel-fill-width} helper function can be used to compute the pixel width to use. If given no arguments, it'll return a value slightly less than the width of the current window. The first diff --git a/lisp/textmodes/pixel-fill.el b/lisp/textmodes/pixel-fill.el index a66f07e1a9..53aeb0a2d6 100644 --- a/lisp/textmodes/pixel-fill.el +++ b/lisp/textmodes/pixel-fill.el @@ -70,8 +70,9 @@ If WINDOW is nil, this defaults to the current window." This will attempt to reformat the text in the region to have no lines that are visually wider than PIXEL-WIDTH. -If START isn't at the start of a line, that pixel position will -be used as the indentation prefix on subsequent lines." +If START isn't at the start of a line, the horizontal position of +START, converted to pixel units, will be used as the indentation +prefix on subsequent lines." (save-excursion (goto-char start) (let ((indentation commit a2d98c54f71a8f1c0a1dee32dfcd6c36e5d7c107 Author: Lars Ingebrigtsen Date: Tue Nov 30 16:54:34 2021 +0100 Use pixel-fill-width in shr.el * lisp/net/shr.el (shr--window-width): Factor out into own function. (shr-insert-document): Use it. (shr-fill-text): Ditto. diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 5d38a7e19d..d4c7aaf1c8 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -312,6 +312,18 @@ and other things: (or (not (zerop (fringe-columns 'right))) (not (zerop (fringe-columns 'left)))))) +(defun shr--window-width () + ;; Compute the width based on the window width. We need to + ;; adjust the available width for when the user disables + ;; the fringes, which will cause the display engine usurp + ;; one column for the continuation glyph. + (if (not shr-use-fonts) + (- (window-body-width) 1 + (if (shr--have-one-fringe-p) + 1 + 0)) + (pixel-fill-width))) + ;;;###autoload (defun shr-insert-document (dom) "Render the parsed document DOM into the current buffer. @@ -333,21 +345,7 @@ DOM should be a parse tree as generated by (if (not shr-use-fonts) shr-width (* shr-width (frame-char-width))) - ;; Compute the width based on the window width. We need to - ;; adjust the available width for when the user disables - ;; the fringes, which will cause the display engine usurp - ;; one column for the continuation glyph. - (if (not shr-use-fonts) - (- (window-body-width) 1 - (if (shr--have-one-fringe-p) - 1 - 0)) - (- (window-body-width nil t) - (* 2 (frame-char-width)) - (if (shr--have-one-fringe-p) - 0 - (* (frame-char-width) 2)) - 1)))) + (shr--window-width))) (max-specpdl-size max-specpdl-size) ;; `bidi-display-reordering' is supposed to be only used for ;; debugging purposes, but Shr's na誰ve filling algorithm @@ -626,17 +624,7 @@ size, and full-buffer size." (with-temp-buffer (let ((shr-indentation 0) (shr-start nil) - (shr-internal-width (- (window-body-width nil t) - (* 2 (frame-char-width)) - ;; Adjust the window width for when - ;; the user disables the fringes, - ;; which causes the display engine - ;; to usurp one column for the - ;; continuation glyph. - (if (and (null shr-width) - (not (shr--have-one-fringe-p))) - (* (frame-char-width) 2) - 0)))) + (shr-internal-width (shr--window-width))) (shr-insert text) (shr-fill-lines (point-min) (point-max)) (buffer-string))))) commit 10d371e4fa0aa5f18f006f6698052ba18c1f5987 Author: Lars Ingebrigtsen Date: Tue Nov 30 16:46:24 2021 +0100 Document pixel-fill-region * doc/lispref/text.texi (Filling): Document pixel-fill-region. * lisp/textmodes/pixel-fill.el (pixel-fill-width): Add new helper function. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 25579e79ea..ff42ceaf9c 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -1651,6 +1651,39 @@ The variable @code{paragraph-separate} controls how to distinguish paragraphs. @xref{Standard Regexps}. @end deffn +@defun pixel-fill-region start end pixel-width +Most Emacs buffers use monospaced text, so all the filling functions +(like @code{fill-region}) work based on the number of characters and +@code{char-width}. However, Emacs can render other types of things, +like text that contains images and using proportional fonts, and the +@code{pixel-fill-region} exists to handle that. For instance, this +Lisp snippet will insert text using a proportional font, and then fill +this to be no wider than 300 pixels: + +@lisp +(insert (propertize + "This is a sentence that's ends here." + 'face 'variable-pitch)) +(pixel-fill-region (point) (point-max) 300) +@end lisp + +If @var{start} isn't at the start of a line, that pixel position will +be used as the indentation prefix on subsequent lines. + +The @code{pixel-fill-width} helper function can be used to compute the +pixel width to use. If given no arguments, it'll return a value +slightly less than the width of the current window. The first +optional value, @var{columns}, specifies the number of columns using +the standard, monospaced fonts, e.g. @code{fill-column}. The second +optional value is the window to use. You'd typically use it like +this: + +@lisp +(pixel-fill-region + start end (pixel-fill-width fill-column)) +@end lisp +@end defun + @deffn Command fill-individual-paragraphs start end &optional justify citation-regexp This command fills each paragraph in the region according to its individual fill prefix. Thus, if the lines of a paragraph were indented diff --git a/etc/NEWS b/etc/NEWS index dba5ed9247..52686479ce 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -306,8 +306,10 @@ For instance, to enable jumping to the *Messages* buffer with ** pixel-fill ++++ *** This is a new package that deals with filling variable-pitch text. ++++ *** New function 'pixel-fill-region'. This fills the region to be no wider than a specified pixel width. diff --git a/lisp/textmodes/pixel-fill.el b/lisp/textmodes/pixel-fill.el index eff09dfca6..a66f07e1a9 100644 --- a/lisp/textmodes/pixel-fill.el +++ b/lisp/textmodes/pixel-fill.el @@ -43,6 +43,28 @@ of a line or the end of a line." :type 'boolean :version "29.1") +(defun pixel-fill-width (&optional columns window) + "Return the pixel width corresponding to COLUMNS in WINDOW. +If COLUMNS in nil, use the enture window width. + +If WINDOW is nil, this defaults to the current window." + (unless window + (setq window (selected-window))) + (let ((frame (window-frame window))) + (if columns + (* (frame-char-width frame) columns) + (- (window-body-width nil t) + (* 2 (frame-char-width frame)) + ;; We need to adjust the available width for when the user + ;; disables the fringes, which will cause the display + ;; engine usurp one column for the continuation glyph. + (if (and (fboundp 'fringe-columns) + (or (not (zerop (fringe-columns 'right))) + (not (zerop (fringe-columns 'left))))) + 0 + (* (frame-char-width frame) 2)) + 1)))) + (defun pixel-fill-region (start end pixel-width) "Fill the region between START and END. This will attempt to reformat the text in the region to have no commit 99c276b3c0aee5599c1d281c1e9fe223810784ca Author: Andrea Corallo Date: Tue Nov 30 13:49:36 2021 +0100 Revert "Preload paren.el" Reverting as the previous commit make this fix not anymore necessary. This reverts commit 340e527bed83ff0382446132c871088ad61d1745. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 3e764c5a78..60d1d10e5b 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -91,19 +91,8 @@ COMPILE_FIRST = \ $(lisp)/emacs-lisp/byte-opt.elc \ $(lisp)/emacs-lisp/bytecomp.elc ifeq ($(HAVE_NATIVE_COMP),yes) -COMPILE_FIRST += \ - $(lisp)/emacs-lisp/comp.elc \ - $(lisp)/emacs-lisp/comp-cstr.elc \ - $(lisp)/emacs-lisp/cl-macs.elc \ - $(lisp)/emacs-lisp/rx.elc \ - $(lisp)/emacs-lisp/cl-seq.elc \ - $(lisp)/help-mode.elc \ - $(lisp)/emacs-lisp/cl-extra.elc \ - $(lisp)/emacs-lisp/gv.elc \ - $(lisp)/emacs-lisp/seq.elc \ - $(lisp)/emacs-lisp/cl-lib.elc \ - $(lisp)/emacs-lisp/warnings.elc \ - $(lisp)/emacs-lisp/subr-x.elc +COMPILE_FIRST += $(lisp)/emacs-lisp/comp.elc +COMPILE_FIRST += $(lisp)/emacs-lisp/comp-cstr.elc endif COMPILE_FIRST += $(lisp)/emacs-lisp/autoload.elc diff --git a/lisp/loadup.el b/lisp/loadup.el index ed1570e778..3f22ceb94e 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -358,7 +358,6 @@ (load "vc/ediff-hook") (load "uniquify") (load "electric") -(load "paren") (load "emacs-lisp/shorthands") commit 9b381a95ef6cd9194d64bfb17fd50bb99fa6cd32 Author: Andrea Corallo Date: Tue Nov 30 14:18:58 2021 +0100 Improve native compiler startup circular dependecy prevention mechanism * src/comp.c (maybe_defer_native_compilation): Update to accumulate delayed objects in `comp--delayed-sources'. (syms_of_comp): Add `comp--delayed-sources' and `comp--loadable' vars. * lisp/startup.el (startup--honor-delayed-native-compilations): New function. (normal-top-level): Call it. diff --git a/lisp/startup.el b/lisp/startup.el index fc085e6d0e..d4bb338fc0 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -519,6 +519,19 @@ DIRS are relative." xdg-dir) (t emacs-d-dir)))) +(defvar comp--delayed-sources) +(defvar comp--loadable) +(declare-function native--compile-async "comp.el" + (files &optional recursively load selector)) +(defun startup--honor-delayed-native-compilations () + "Honor pending delayed deferred native compilations." + (when (and (native-comp-available-p) + comp--delayed-sources) + (require 'comp) + (setq comp--loadable t) + (native--compile-async comp--delayed-sources nil 'late) + (setq comp--delayed-sources nil))) + (defvar native-comp-eln-load-path) (defun normal-top-level () "Emacs calls this function when it first starts up. @@ -785,7 +798,8 @@ It is the default value of the variable `top-level'." (if (string-match "\\`DISPLAY=" varval) (setq display varval)))) (when display - (delete display process-environment))))) + (delete display process-environment)))) + (startup--honor-delayed-native-compilations)) ;; Precompute the keyboard equivalents in the menu bar items. ;; Command-line options supported by tty's: diff --git a/src/comp.c b/src/comp.c index 5b947fc99b..ab7006cca6 100644 --- a/src/comp.c +++ b/src/comp.c @@ -4786,10 +4786,6 @@ register_native_comp_unit (Lisp_Object comp_u) /* Deferred compilation mechanism. */ /***********************************/ -/* List of sources we'll compile and load after having conventionally - loaded the compiler and its dependencies. */ -static Lisp_Object delayed_sources; - /* Queue an asynchronous compilation for the source file defining FUNCTION_NAME and perform a late load. @@ -4846,30 +4842,16 @@ maybe_defer_native_compilation (Lisp_Object function_name, /* This is so deferred compilation is able to compile comp dependencies breaking circularity. */ - if (!NILP (Ffeaturep (Qcomp, Qnil))) + if (comp__loadable) { - /* Comp already loaded. */ - if (!NILP (delayed_sources)) - { - CALLN (Ffuncall, intern_c_string ("native--compile-async"), - delayed_sources, Qnil, Qlate); - delayed_sources = Qnil; - } + /* Startup is done, comp is usable. */ + Frequire (Qcomp, Qnil, Qnil); Fputhash (function_name, definition, Vcomp_deferred_pending_h); CALLN (Ffuncall, intern_c_string ("native--compile-async"), src, Qnil, Qlate); } else - { - delayed_sources = Fcons (src, delayed_sources); - /* Require comp only once. */ - static bool comp_required = false; - if (!comp_required) - { - comp_required = true; - Frequire (Qcomp, Qnil, Qnil); - } - } + Vcomp__delayed_sources = Fcons (src, Vcomp__delayed_sources); } @@ -5328,6 +5310,13 @@ void syms_of_comp (void) { #ifdef HAVE_NATIVE_COMP + DEFVAR_LISP ("comp--delayed-sources", Vcomp__delayed_sources, + doc: /* List of sources to be native compiled when + startup is finished. For internal use. */); + DEFVAR_BOOL ("comp--loadable", + comp__loadable, + doc: /* Non-nil when comp.el can be loaded. For + internal use. */); /* Compiler control customizes. */ DEFVAR_BOOL ("native-comp-deferred-compilation", native_comp_deferred_compilation, @@ -5468,8 +5457,6 @@ compiled one. */); staticpro (&comp.func_blocks_h); staticpro (&comp.emitter_dispatcher); comp.emitter_dispatcher = Qnil; - staticpro (&delayed_sources); - delayed_sources = Qnil; staticpro (&loadsearch_re_list); loadsearch_re_list = Qnil; commit 7b235b1ec05c48d70ea44982f04b7b5f4052fa05 Author: Lars Ingebrigtsen Date: Tue Nov 30 15:14:16 2021 +0100 Allow storing buffer names in registers * doc/emacs/regs.texi (File and Buffer Registers): Rename and add doc for `buffer' version. * lisp/register.el (register-val-jump-to, register-val-describe): Add support for (buffer . ...) registers (bug#33033). diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index ce92435ae7..dff42c7b42 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -345,14 +345,14 @@ Cut and Paste Operations on Graphical Displays Registers -* Position Registers:: Saving positions in registers. -* Text Registers:: Saving text in registers. -* Rectangle Registers:: Saving rectangles in registers. -* Configuration Registers:: Saving window configurations in registers. -* Number Registers:: Numbers in registers. -* File Registers:: File names in registers. -* Keyboard Macro Registers:: Keyboard macros in registers. -* Bookmarks:: Bookmarks are like registers, but persistent. +* Position Registers:: Saving positions in registers. +* Text Registers:: Saving text in registers. +* Rectangle Registers:: Saving rectangles in registers. +* Configuration Registers:: Saving window configurations in registers. +* Number Registers:: Numbers in registers. +* File and Buffer Registers:: File and buffer names in registers. +* Keyboard Macro Registers:: Keyboard macros in registers. +* Bookmarks:: Bookmarks are like registers, but persistent. Controlling the Display diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index 59fa0ff0a1..df1eec04c0 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -47,14 +47,14 @@ are similar in spirit to registers, so they are also documented in this chapter. @menu -* Position Registers:: Saving positions in registers. -* Text Registers:: Saving text in registers. -* Rectangle Registers:: Saving rectangles in registers. -* Configuration Registers:: Saving window configurations in registers. -* Number Registers:: Numbers in registers. -* File Registers:: File names in registers. -* Keyboard Macro Registers:: Keyboard macros in registers. -* Bookmarks:: Bookmarks are like registers, but persistent. +* Position Registers:: Saving positions in registers. +* Text Registers:: Saving text in registers. +* Rectangle Registers:: Saving rectangles in registers. +* Configuration Registers:: Saving window configurations in registers. +* Number Registers:: Numbers in registers. +* File and Buffer Registers:: File and buffer names in registers. +* Keyboard Macro Registers:: Keyboard macros in registers. +* Bookmarks:: Bookmarks are like registers, but persistent. @end menu @node Position Registers @@ -238,9 +238,10 @@ register contents into the buffer. @kbd{C-x r +} with no numeric argument increments the register value by 1; @kbd{C-x r n} with no numeric argument stores zero in the register. -@node File Registers -@section Keeping File Names in Registers +@node File and Buffer Registers +@section Keeping File and Buffer Names in Registers @cindex saving file name in a register +@cindex saving buffer name in a register If you visit certain file names frequently, you can visit them more conveniently if you put their names in registers. Here's the Lisp code @@ -265,6 +266,15 @@ puts the file name shown in register @samp{z}. @var{r}}. (This is the same command used to jump to a position or restore a frame configuration.) + Similarly, if there's certain buffers you visit frequently, you +can put their names in registers. For instance, if you visit the +@samp{*Messages*} buffer often, you can use the following snippet to +put that buffer into the @samp{m} register: + +@smallexample +(set-register ?m '(buffer . "*Messages*")) +@end smallexample + @node Keyboard Macro Registers @section Keyboard Macro Registers @cindex saving keyboard macro in a register diff --git a/etc/NEWS b/etc/NEWS index 1ca5c86096..dba5ed9247 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -295,6 +295,15 @@ received. * Changes in Specialized Modes and Packages in Emacs 29.1 +** Registers + ++++ +*** Buffer names can now be stored in registers. +For instance, to enable jumping to the *Messages* buffer with +`C-x r j m': + + (set-register ?m '(buffer . "*Messages*")) + ** pixel-fill *** This is a new package that deals with filling variable-pitch text. diff --git a/lisp/register.el b/lisp/register.el index e48a09f157..38ee87cd77 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -279,6 +279,8 @@ ARG is the value of the prefix argument or nil." (goto-char (cadr val))) ((eq (car val) 'file) (find-file (cdr val))) + ((eq (car val) 'buffer) + (switch-to-buffer (cdr val))) ((eq (car val) 'file-query) (or (find-buffer-visiting (nth 1 val)) (y-or-n-p (format "Visit file %s again? " (nth 1 val))) @@ -417,6 +419,11 @@ Interactively, reads the register using `register-read-with-preview'." (prin1 (cdr val)) (princ ".")) + ((eq (car val) 'buffer) + (princ "the buffer ") + (prin1 (cdr val)) + (princ ".")) + ((eq (car val) 'file-query) (princ "a file-query reference:\n file ") (prin1 (car (cdr val))) commit 3966a28454dbc8ad0d20475325d5e03299025b57 Author: Mattias Engdeg奪rd Date: Tue Nov 30 15:04:46 2021 +0100 Generalise CPS-conversion let optimisation * lisp/emacs-lisp/generator.el (cps--transform-1): Eliminate a temporary for the last of any `let` form, not just for single-binding ones. Suggested by Stefan Monnier. diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el index 4e286ed7ec..cb0241017a 100644 --- a/lisp/emacs-lisp/generator.el +++ b/lisp/emacs-lisp/generator.el @@ -294,26 +294,25 @@ DYNAMIC-VAR bound to STATIC-VAR." (`(,(or 'let 'let*) () . ,body) (cps--transform-1 `(progn ,@body) next-state)) - (`(let (,binding) . ,body) - (cps--transform-1 `(let* (,binding) ,@body) next-state)) - ;; Transform multi-variable `let' into `let*': ;; (let ((v1 e1) ... (vN eN)) BODY) - ;; -> (let* ((t1 e1) ... (tN eN) (v1 t1) (vN tN)) BODY) + ;; -> (let* ((t1 e1) ... (tN-1 eN-1) (vN eN) (v1 t1) (vN-1 tN-1)) BODY) (`(let ,bindings . ,body) (let* ((bindings (cl-loop for binding in bindings collect (if (symbolp binding) (list binding nil) binding))) - (temps (cl-loop for (var _value-form) in bindings + (butlast-bindings (butlast bindings)) + (temps (cl-loop for (var _value-form) in butlast-bindings collect (cps--add-binding var)))) (cps--transform-1 `(let* ,(append - (cl-loop for (_var value-form) in bindings + (cl-loop for (_var value-form) in butlast-bindings for temp in temps collect (list temp value-form)) - (cl-loop for (var _binding) in bindings + (last bindings) + (cl-loop for (var _binding) in butlast-bindings for temp in temps collect (list var temp))) ,@body) commit 5fb9a033f896440ffddeb475ee655413eb7f03f2 Author: Lars Ingebrigtsen Date: Tue Nov 30 14:38:15 2021 +0100 Allow inhibiting warnings about obsolete macros again * lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): Inhibit warning if requested (bug#50984). diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el index 1e4fdd126c..66c276e7b7 100644 --- a/lisp/emacs-lisp/macroexp.el +++ b/lisp/emacs-lisp/macroexp.el @@ -216,10 +216,11 @@ is executed without being compiled first." (let* ((fun (car form)) (obsolete (get fun 'byte-obsolete-info))) (macroexp-warn-and-return - (macroexp--obsolete-warning - fun obsolete - (if (symbolp (symbol-function fun)) - "alias" "macro")) + (and (byte-compile-warning-enabled-p 'obsolete fun) + (macroexp--obsolete-warning + fun obsolete + (if (symbolp (symbol-function fun)) + "alias" "macro"))) new-form 'obsolete)) new-form))) commit 5cab2684c07b7a5c241aced2e085b9c1792e4bda Author: Po Lu Date: Tue Nov 30 21:10:36 2021 +0800 * src/nsterm.m (Vns_scroll_event_delta_factor): Fix doc string. diff --git a/src/nsterm.m b/src/nsterm.m index f5c2d4d9fb..807309eb2e 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -10044,7 +10044,7 @@ Nil means use fullscreen the old (< 10.7) way. The old way works better with DEFSYM (Qx_underline_at_descent_line, "x-underline-at-descent-line"); DEFVAR_LISP ("ns-scroll-event-delta-factor", Vns_scroll_event_delta_factor, - doc: /* A delta to apply to pixel deltas reported in scroll events. + doc: /* A factor to apply to pixel deltas reported in scroll events. This is only effective for pixel deltas generated from touch pads or mice with smooth scrolling capability. */); Vns_scroll_event_delta_factor = make_float (1.0); commit 70c229b1fc4f2eb66b5a173cfc8473e4b7ce48f0 Author: Lars Ingebrigtsen Date: Tue Nov 30 14:09:19 2021 +0100 Fix regression in gdb-frame-handler * lisp/progmodes/gdb-mi.el (gdb-frame-handler): Protect against nil fullnames (bug#52196). diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index fa54f51160..66adc4e9ef 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -4600,7 +4600,9 @@ overlay arrow in source buffer." (let ((frame (gdb-mi--field (gdb-mi--partial-output) 'frame))) (when frame (setq gdb-selected-frame (gdb-mi--field frame 'func)) - (setq gdb-selected-file (file-local-name (gdb-mi--field frame 'fullname))) + (setq gdb-selected-file + (when-let ((full (gdb-mi--field frame 'fullname))) + (file-local-name full))) (setq gdb-frame-number (gdb-mi--field frame 'level)) (setq gdb-frame-address (gdb-mi--field frame 'addr)) (let ((line (gdb-mi--field frame 'line))) commit cd9dd26d24c0e97b980fba44c2f8f9e1d6c919a5 Author: YugaEgo Date: Tue Nov 30 14:03:32 2021 +0100 Format and index concept 'predicate' in ELisp Intro * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument): Add index and format definition (bug#52197). Copyright-paperwork-exempt: yes diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index e306458058..bd5decff66 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -2146,9 +2146,10 @@ number---the number of characters the location is from the beginning of the buffer.) In Emacs Lisp, @code{+} can be used to add the numeric value of marker positions as numbers. +@cindex @samp{predicate} defined The @samp{p} of @code{number-or-marker-p} is the embodiment of a practice started in the early days of Lisp programming. The @samp{p} -stands for ``predicate''. In the jargon used by the early Lisp +stands for @dfn{predicate}. In the jargon used by the early Lisp researchers, a predicate refers to a function to determine whether some property is true or false. So the @samp{p} tells us that @code{number-or-marker-p} is the name of a function that determines commit 55151f94ea333479f61259890dad46bcf18ede3e Author: Po Lu Date: Tue Nov 30 20:49:59 2021 +0800 Fix pixel scrolling again * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Fix confusion about absolutivity of `window-edges'. diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index cc90be021f..5ffa8caa71 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -424,10 +424,11 @@ the height of the current window." (defun pixel-scroll-precision-scroll-up (delta) "Scroll the current window up by DELTA pixels." (let* ((edges (window-edges nil t nil t)) - (max-y (- (nth 3 edges) 1 + (max-y (- (nth 3 edges) + (nth 1 edges) (window-tab-line-height) (window-header-line-height))) - (usable-height (- max-y (nth 1 edges)))) + (usable-height max-y)) (when-let* ((posn (posn-at-point)) (current-y (+ (cdr (posn-x-y posn)) (line-pixel-height)))) commit 6c17cdc1dc04697398811d96e40a9a3ad07bbd3f Author: Po Lu Date: Tue Nov 30 20:44:54 2021 +0800 Fix 1-off errors in pixel scrolling code * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Fix one-off errors. diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 097e4e53dd..cc90be021f 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -424,15 +424,15 @@ the height of the current window." (defun pixel-scroll-precision-scroll-up (delta) "Scroll the current window up by DELTA pixels." (let* ((edges (window-edges nil t nil t)) - (max-y (- (nth 3 edges) + (max-y (- (nth 3 edges) 1 (window-tab-line-height) (window-header-line-height))) (usable-height (- max-y (nth 1 edges)))) (when-let* ((posn (posn-at-point)) (current-y (+ (cdr (posn-x-y posn)) (line-pixel-height)))) - (while (and (< (- max-y current-y) delta) - (< (cdr (posn-object-width-height posn)) + (while (and (<= (- max-y current-y) delta) + (<= (cdr (posn-object-width-height posn)) usable-height)) (vertical-motion -1) (setq current-y (- current-y (line-pixel-height)))) commit b79d779ae839d0484b24967b4753df9e9b85f614 Author: Po Lu Date: Tue Nov 30 20:35:11 2021 +0800 Improve upwards pixel scrolling for large images This fixes most of the problem, but with a large image the vscroll can sometimes jump about, which has to be fixed. * lisp/pixel-scroll.el (pixel-scroll-precision-up): Handle vscrolling large images in the first unseen line. diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 2fd7cace0b..097e4e53dd 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -423,50 +423,55 @@ the height of the current window." (defun pixel-scroll-precision-scroll-up (delta) "Scroll the current window up by DELTA pixels." - (when-let* ((max-y (- (window-text-height nil t) - (frame-char-height) - (window-tab-line-height) - (window-header-line-height))) - (posn (posn-at-point)) - (current-y (+ (cdr (posn-x-y posn)) - (line-pixel-height)))) - (while (< (- max-y current-y) delta) - (vertical-motion -1) - (setq current-y (- current-y (line-pixel-height))))) - (let ((current-vscroll (window-vscroll nil t))) - (if (<= delta current-vscroll) - (set-window-vscroll nil (- current-vscroll delta) t) - (setq delta (- delta current-vscroll)) - (set-window-vscroll nil 0 t) - (while (> delta 0) - (let ((position (pixel-point-and-height-at-unseen-line))) - (unless (cdr position) - (signal 'beginning-of-buffer nil)) - (set-window-start nil (car position) t) - ;; If the line above is taller than the window height (i.e. there's - ;; a very tall image), keep point on it. - (when (> (cdr position) (window-text-height nil t)) - (let ((vs (window-vscroll nil t))) - (goto-char (car position)) - (set-window-vscroll nil vs t))) - (setq delta (- delta (cdr position))))) - (when (< delta 0) - (when-let* ((desired-pos (posn-at-x-y 0 (+ (- delta) + (let* ((edges (window-edges nil t nil t)) + (max-y (- (nth 3 edges) + (window-tab-line-height) + (window-header-line-height))) + (usable-height (- max-y (nth 1 edges)))) + (when-let* ((posn (posn-at-point)) + (current-y (+ (cdr (posn-x-y posn)) + (line-pixel-height)))) + (while (and (< (- max-y current-y) delta) + (< (cdr (posn-object-width-height posn)) + usable-height)) + (vertical-motion -1) + (setq current-y (- current-y (line-pixel-height)))) + (when (and (>= (cdr (posn-object-width-height posn)) + usable-height) + (let ((prev-line-height (save-excursion + (vertical-motion -1) + (line-pixel-height)))) + (<= 0 (- (cdr (posn-x-y posn)) prev-line-height)))) + (vertical-motion -1))) + (let ((current-vscroll (window-vscroll nil t))) + (if (<= delta current-vscroll) + (set-window-vscroll nil (- current-vscroll delta) t) + (setq delta (- delta current-vscroll)) + (set-window-vscroll nil 0 t) + (while (> delta 0) + (let ((position (pixel-point-and-height-at-unseen-line))) + (unless (cdr position) + (signal 'beginning-of-buffer nil)) + (set-window-start nil (car position) t) + ;; If the line above is taller than the window height (i.e. there's + ;; a very tall image), keep point on it. + (when (> (cdr position) usable-height) + (goto-char (car position))) + (setq delta (- delta (cdr position))))) + (when (< delta 0) + (if-let* ((desired-pos (posn-at-x-y 0 (+ (- delta) (window-tab-line-height) (window-header-line-height)))) (desired-start (posn-point desired-pos)) (desired-vscroll (cdr (posn-object-x-y desired-pos)))) - (let ((object (posn-object desired-pos))) - (if (or (consp object) (stringp object)) - (set-window-vscroll nil (+ (window-vscroll nil t) - (- delta)) - t) - (unless (eq (window-start) desired-start) - (set-window-start nil desired-start t)) - (set-window-vscroll nil desired-vscroll t)))))))) - -;; FIXME: This doesn't work when there's an image above the current -;; line that is taller than the window. + (progn + (set-window-start nil desired-start t) + (set-window-vscroll nil desired-vscroll t)) + (set-window-vscroll nil (abs delta) t))))))) + +;; FIXME: This doesn't _always_ work when there's an image above the +;; current line that is taller than the window, and scrolling can +;; sometimes be jumpy in that case. (defun pixel-scroll-precision (event) "Scroll the display vertically by pixels according to EVENT. Move the display up or down by the pixel deltas in EVENT to commit 68c09c6b741be5005b90152c59e781cb0f80704d Author: Mattias Engdeg奪rd Date: Tue Nov 30 11:32:20 2021 +0100 Better CPS conversion of multi-binding `let` * lisp/emacs-lisp/generator.el (cps--transform-1): Don't translate single-binding `let` into `let*` with an extra temporary variable; it just adds two more useless states. diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el index 2075ac472d..4e286ed7ec 100644 --- a/lisp/emacs-lisp/generator.el +++ b/lisp/emacs-lisp/generator.el @@ -291,8 +291,15 @@ DYNAMIC-VAR bound to STATIC-VAR." (cps--transform-1 `(progn ,@rest) next-state))) - ;; Process `let' in a helper function that transforms it into a - ;; let* with temporaries. + (`(,(or 'let 'let*) () . ,body) + (cps--transform-1 `(progn ,@body) next-state)) + + (`(let (,binding) . ,body) + (cps--transform-1 `(let* (,binding) ,@body) next-state)) + + ;; Transform multi-variable `let' into `let*': + ;; (let ((v1 e1) ... (vN eN)) BODY) + ;; -> (let* ((t1 e1) ... (tN eN) (v1 t1) (vN tN)) BODY) (`(let ,bindings . ,body) (let* ((bindings (cl-loop for binding in bindings @@ -315,9 +322,6 @@ DYNAMIC-VAR bound to STATIC-VAR." ;; Process `let*' binding: process one binding at a time. Flatten ;; lexical bindings. - (`(let* () . ,body) - (cps--transform-1 `(progn ,@body) next-state)) - (`(let* (,binding . ,more-bindings) . ,body) (let* ((var (if (symbolp binding) binding (car binding))) (value-form (car (cdr-safe binding))) commit f633116c09d0ca8be1bdd332283108b03dfcf0c8 Author: Po Lu Date: Tue Nov 30 19:28:04 2021 +0800 * lisp/pixel-scroll.el (pixel-scroll-precision): Handle zero delta. diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 1af292139e..2fd7cace0b 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -477,18 +477,19 @@ wheel." (if (and (nth 4 event) (zerop (window-hscroll window))) (let ((delta (round (cdr (nth 4 event))))) - (if (> (abs delta) (window-text-height window t)) - (mwheel-scroll event nil) - (with-selected-window window - (condition-case nil - (if (< delta 0) - (pixel-scroll-precision-scroll-down (- delta)) - (pixel-scroll-precision-scroll-up delta)) - ;; Do not ding at buffer limits. Show a message instead. - (beginning-of-buffer - (message (error-message-string '(beginning-of-buffer)))) - (end-of-buffer - (message (error-message-string '(end-of-buffer)))))))) + (unless (zerop delta) + (if (> (abs delta) (window-text-height window t)) + (mwheel-scroll event nil) + (with-selected-window window + (condition-case nil + (if (< delta 0) + (pixel-scroll-precision-scroll-down (- delta)) + (pixel-scroll-precision-scroll-up delta)) + ;; Do not ding at buffer limits. Show a message instead. + (beginning-of-buffer + (message (error-message-string '(beginning-of-buffer)))) + (end-of-buffer + (message (error-message-string '(end-of-buffer))))))))) (mwheel-scroll event nil)))) ;;;###autoload commit ab291656d0e66ebaf763a7b527bc043f84a9ae78 Author: Stefan Kangas Date: Tue Nov 30 10:25:59 2021 +0100 ; * ChangeLog.3: Fix typos. diff --git a/ChangeLog.3 b/ChangeLog.3 index 9f6d29c8f4..f4992329ef 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -3060,7 +3060,7 @@ And update all method definitions accordingly. (xref--insert-xrefs): Don't use 'oref', use 'xref-item-location'. (xref--insert-xrefs, xref-show-definitions-completing-read): - Insetad of 'with-slots', use 'xref-item-summary' and + Instead of 'with-slots', use 'xref-item-summary' and 'xref-item-location'. * lisp/progmodes/etags.el (xref-etags-location): @@ -3848,7 +3848,7 @@ Document shorthands in the Elisp manual section on Symbols - * doc/lispref/symbols.texi (Symbol Components): Mentione "Shorthands". + * doc/lispref/symbols.texi (Symbol Components): Mention "Shorthands". (Creating Symbols): Mention shorthands. Correct references to Common Lisp. (Shorthands): New section. @@ -4236,7 +4236,7 @@ Constant-propagate variables bound outside loops Previously, variables bound outside `while` loops were not substituted - inside even in the absense of mutation. Add the necessary mutation + inside even in the absence of mutation. Add the necessary mutation checking inside loops to allow propagation of values and aliased variables. @@ -5487,7 +5487,7 @@ python-syntax-after-python-backspace now passes, again. * lisp/progmodes/python.el (python-syntax-stringify): Put - delimiter syntax in "inner" of the surrouding triple quotes. + delimiter syntax in "inner" of the surrounding triple quotes. * test/lisp/progmodes/python-tests.el (python-syntax-after-python-backspace): Passes again. @@ -7953,7 +7953,7 @@ interpretation of subexpressions > 1 is up to the function. For backwards compatibility, bug-reference-fontify checks if the - bounds of subexpression 2..10 are within the bounds of subexpession + bounds of subexpression 2..10 are within the bounds of subexpression 1. If not, or subexpression 1 doesn't even exist/match, we fall back to placing the overlay from (match-beginning 0) to (match-end 0) but issue a warning. @@ -8052,7 +8052,7 @@ * lisp/progmodes/python.el: Now depends on Emacs 28. (python-shell-package-enable, python-shell-completion-get-completions) - (python-ffap-module-path, python-eldoc--get-doc-at-point): Enconde + (python-ffap-module-path, python-eldoc--get-doc-at-point): Encode Python strings using 'python-shell--encode-string' instead of triple quotes. (python-shell-completion-string-code, python-eldoc-string-code) @@ -8175,7 +8175,7 @@ 2021-09-09 Stefan Monnier - Change ruby-align-chained-calls indendation + Change ruby-align-chained-calls indentation * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Align with the first sibling on the previous line instead of the last (bug#32496). @@ -8613,7 +8613,7 @@ 2021-09-06 Michael Albinus - Revert an accidential change in etc/NEWS + Revert an accidental change in etc/NEWS 2021-09-06 Lars Ingebrigtsen @@ -11083,7 +11083,7 @@ * lisp/icomplete.el (icomplete-backward-completions): Return - non-nil iff something was stepped. Ajust docstring. + non-nil iff something was stepped. Adjust docstring. (icomplete-forward-completions): Adjust docstring. (icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands. (icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->. @@ -11700,7 +11700,7 @@ * lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let` * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from - pcase-setq and ajust accordingly. + pcase-setq and adjust accordingly. 2021-08-12 Lars Ingebrigtsen @@ -13195,7 +13195,7 @@ This reverts commit 02cbb37de73d563149389615ee44741322007108. - This was mistakenly commited and doesn't really make much sense. + This was mistakenly committed and doesn't really make much sense. 2021-07-31 Lars Ingebrigtsen @@ -14431,7 +14431,7 @@ This addresses Bug#33847, which complained about emacsclient in a safer XDG environment not connecting to an Emacs server running in - a less-safe enviroment outside XDG. The patch fixes a + a less-safe environment outside XDG. The patch fixes a longstanding issue with emacsclient permission checking. Its ineffective to look at the permission of the socket file itself; on some platforms, these permissions are ignored anyway. @@ -15183,7 +15183,7 @@ * lisp/emacs-lisp/eieio.el (initialize-instance): Do not evaluate initform of a slot when initarg for the slot is provided, - according to the following secitons of CLHS: + according to the following sections of CLHS: - Object Creation and Initialization - Initialization Arguments - Defaulting of Initialization Arguments @@ -18462,7 +18462,7 @@ ([EmacsView toggleFullScreen:]): Remove calls to removed methods. ([EmacsView inFullScreenTransition]): ([EmacsView waitFullScreenTransition]): Remove Methods. - * src/nsterm.h (EmacsView): Remove defintions of removed methods, and + * src/nsterm.h (EmacsView): Remove definitions of removed methods, and the in_fullscreen_transition variable. 2021-06-09 Glenn Morris @@ -18522,7 +18522,7 @@ Use auth-source for user-passwords - * (rcirc): Use auth-source is no password was specifed + * (rcirc): Use auth-source is no password was specified 2021-06-09 Philip Kaludercic @@ -19204,7 +19204,7 @@ Avoid hang in nnimap-keepalive - * lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptable. + * lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptible. 2021-06-01 Stefan Monnier @@ -20524,7 +20524,7 @@ The specific form of the `group-function` has been chosen in order to allow allocation-free grouping. This is important for completion UIs, - which continously update the displayed set of candidates (Icomplete, + which continuously update the displayed set of candidates (Icomplete, Vertico, Ivy, etc.). Only when the transform argument is non-nil the candidate transformation is performed, which may involve a string allocation as done in the function `xref--completing-read-group`. @@ -25767,7 +25767,7 @@ (bytecomp--define-warning-file-test): Interpret any space in the pattern as arbitrary whitespace to tolerate line breaks. Don't abuse the expected-failure mechanism when checking - for the expected absense of a warning. + for the expected absence of a warning. (bytecomp/*.el): Rewrite patterns to work with line breaks in the middle. @@ -28273,7 +28273,7 @@ * lisp/thumbs.el (thumbs-conversion-program): Simplify. /usr/bin is (normally) always in PATH, and this need not be absolute, - so the executable-find is unnecesary. + so the executable-find is unnecessary. 2021-03-21 Stefan Kangas @@ -29479,7 +29479,7 @@ 2021-03-12 Andrea Corallo - Fix circular dependecy when loading a modified comp.el (bug#47049) + Fix circular dependency when loading a modified comp.el (bug#47049) * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Move it before other functional code. @@ -29716,7 +29716,7 @@ Map redo records for undo in region to 'undo-in-region - * lisp/simple.el (undo-equiv-table): Add explaination for + * lisp/simple.el (undo-equiv-table): Add explanation for undo-in-region, undo to the beginning of undo list and null undo. (undo): If equiv is 'undo-in-region, empty or t, set pending-undo-list to t. If the redo is undo-in-region, map buffer-undo-list to @@ -32095,7 +32095,7 @@ (assume dst (= src1 src2)) - to caputure '=' semanting during fwprop handling float integer + to capture '=' semanting during fwprop handling float integer conversions. * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as @@ -32390,7 +32390,7 @@ 2021-02-27 Matt Armstrong - Remove unecessary unlock-buffer calls + Remove unnecessary unlock-buffer calls * lisp/files.el (revert-buffer-insert-file-contents--default-function): Remove vestigial call to `unlock-buffer'. @@ -39192,7 +39192,7 @@ * lisp/progmodes/asm-mode.el: The value of fill-prefix ought to be nil not "\t" so that fill-context-prefix can do its thing. In fact, - fill-prefix does not have to be set at all becuase asm-mode derives + fill-prefix does not have to be set at all because asm-mode derives from prog-mode and fill-prefix is set in simple.el. * test/lisp/progmodes/asm-mode-tests.el: Add relevant test (bug#41064). @@ -40127,7 +40127,7 @@ * lisp/gnus/message.el (message-forward-included-mime-headers): Should probably not include Content-Transfer-Encoding, because we - will reencode anyway. + will re-encode anyway. 2021-01-21 Lars Ingebrigtsen @@ -40485,7 +40485,7 @@ 2021-01-19 Andrea Corallo - Do not add unnecesary arg constraints (bug#45812 bug#45705 bug#45751). + Do not add unnecessary arg constraints (bug#45812 bug#45705 bug#45751). These have the effect of bloating the IR for no effect killing compile time. The typical cases for that are extremely long backuoted lists. @@ -40555,7 +40555,7 @@ `tramp-actions-before-shell' example. * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not expand - FILENAME explicitely. + FILENAME explicitly. (tramp-open-shell): Add "-i" for interactive shells. * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p) @@ -42910,7 +42910,7 @@ 2021-01-02 Andrea Corallo - Fix `functionp' contraining (bug#45576) + Fix `functionp' constraining (bug#45576) * lisp/emacs-lisp/comp.el (comp-known-predicates) (comp-known-predicates-h): New constants. @@ -43114,7 +43114,7 @@ Introduce 'unreachable' LIMPLE operator - Introduce 'unreachable' as LIMPLE operater so we can handle correctly + Introduce 'unreachable' as LIMPLE operator so we can handle correctly in the CFG functions throwing values or signaling errors. * src/comp.c (retrive_block): Better error diagnostic. @@ -44469,7 +44469,7 @@ (comp-collect-rhs): Use `comp-assign-op-p' in place of `comp-set-op-p'. (comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions. - (comp-emit-assume): Rework to be able to emit also comparision + (comp-emit-assume): Rework to be able to emit also comparison assumption. (comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'. (comp-add-cond-cstrs-simple): Update to emit range assumption. @@ -45041,7 +45041,7 @@ * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use `comp-cstr-value-negation'. * test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename. - (comp-test-45376-2-f): New funcion. + (comp-test-45376-2-f): New function. * test/src/comp-tests.el (bug-45376-1): Rename test. (bug-45376-2): Add test. @@ -46365,7 +46365,7 @@ c-backward-syntactic-ws, c-forward-syntactic-ws, c-backward-token-2, c-beginning-of-statement-1. (c-determine-limit-no-macro): New function. - (c-determine-limit-get-base): Remove unlimted invocation of + (c-determine-limit-get-base): Remove unlimited invocation of c-backward-syntactic-ws. (c-determine-limit): Exclude movement between two different macros. Use new function c-determine-limit-no-macro. @@ -46429,7 +46429,7 @@ Optimise c-font-lock-<>-arglists, particularly for buffers with few <..> pairs * lisp/progmodes/cc-fonts.el (c-font-lock-<>-arglists): In place of a regexp - search for a complicated and slow regexp, search simply for "<" ouside of + search for a complicated and slow regexp, search simply for "<" outside of literals together with add hoc testing of other requirements for a <...> match. @@ -46676,9 +46676,9 @@ b6227446d9 Importing dictionary module 658ec3ccee Renamed connection.el e2ebffdd62 Renamed link.el - 723906c444 Removed some compability parts in dictionary + 723906c444 Removed some compatibility parts in dictionary 5dc17d73b0 Add :version tag to defcustom statement - 49c250b388 Dont't check coding-system-list for existence + 49c250b388 Don't check coding-system-list for existence 99a7e918c8 Don't check for existence of defface 1773b9b687 Dictionary now uses button 329b6a0210 Adding details page for dictionary @@ -47002,7 +47002,7 @@ 2020-12-13 Andrea Corallo - Allow for adding constraints targetting blocks with multiple predecessors + Allow for adding constraints targeting blocks with multiple predecessors This commit remove the limitaiton we had not being able to add constraints derived from conditional branches to basic blocks with @@ -47015,7 +47015,7 @@ (make-comp-edge): New function. (comp-func): Better test function + doc for `blocks' slot. (comp-limple-lock-keywords): Update possible basic block names. - (comp-emit-assume): Recive directly the block instead of its name. + (comp-emit-assume): Receive directly the block instead of its name. (comp-add-new-block-beetween): New function. (comp-cond-cstr-target-block): Logic update and use `comp-add-new-block-beetween'. @@ -49798,7 +49798,7 @@ Synthesize as const primitive function pointers and its container struct. * src/comp.c (declare_imported_func): Make const function pointer - to primitive funcions. + to primitive functions. (emit_ctxt_code): Make struct 'comp.func_relocs' const. 2020-11-27 Philipp Stephani @@ -51092,7 +51092,7 @@ * lisp/net/dictionary.el: Remove remnants of package - Version and package depedencies are not useful when included into + Version and package dependencies are not useful when included into Emacs. 2020-11-19 Eli Zaretskii @@ -52401,7 +52401,7 @@ Add a nativecomp testcase - Having this while re-debugging the boostrap would have saved few hours + Having this while re-debugging the bootstrap would have saved few hours of debug so let's add it. * test/src/comp-tests.el (and-3): Add test. @@ -54047,7 +54047,7 @@ Add a new pass to rewrite conditional branches. This is introducing and placing a new LIMPLE operator 'assume' in use by fwprop to - propagate conditional branch test informations on target basic blocks. + propagate conditional branch test information on target basic blocks. * lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'. (comp-limple-assignments): Add `assume' operator. @@ -54293,7 +54293,7 @@ play-sound-file (large attack surface) catch, throw (alter program flow, inject data) - replace-regexp-in-string (execute arbitary code) + replace-regexp-in-string (execute arbitrary code) error, signal (deceptive messages) * test/lisp/emacs-lisp/unsafep-tests.el (unsafep-tests--unsafe): @@ -55736,7 +55736,7 @@ (completion-table-test-quoting): Use ert-resource-directory. * test/data/net/cert.pem: - * test/data/net/key.pem: Move frome here... + * test/data/net/key.pem: Move from here... * test/lisp/net/network-stream-resources/cert.pem: * test/lisp/net/network-stream-resources/key.pem: ...to here. * test/lisp/net/network-stream-tests.el (ert, ert-x): Require. @@ -55996,7 +55996,7 @@ (custom-variable-set, custom-variable-mark-to-reset-standard): Check that old value is different than the new one. If it is, make a backup. This way, we avoid offering the Set to Backup Value - unnecesarily. + unnecessarily. (custom-variable-reset-saved): Reset the variable-comment property for the variable, to help custom-variable-state be more correct. Also check if we should backup old value. @@ -57475,7 +57475,7 @@ Fix segfault in xwidget when there is no title - * src/xwidget.c (Fxwidget_webkit_title): Pass emptry string when no + * src/xwidget.c (Fxwidget_webkit_title): Pass empty string when no title is returned (bug#43989). 2020-10-15 Lars Ingebrigtsen @@ -58317,7 +58317,7 @@ Fix dictionary tooltip mode - * lisp/net/dicionary.el (dictionary-tooltip-mode): Add mouse movement + * lisp/net/dictionary.el (dictionary-tooltip-mode): Add mouse movement binding and use tooltip-functions instead of tooltip-hook There were some changes in Emacs since testing it the last time. I had @@ -58442,7 +58442,7 @@ 2020-10-08 Torsten Hilbrich - Dont't check coding-system-list for existence + Don't check coding-system-list for existence * lisp/net/dictionary.el (dictionary-coding-systems-for-dictionaries): Don't check for coding-system-list before using it. It check no longer @@ -58511,7 +58511,7 @@ 2020-10-08 Torsten Hilbrich - Removed some compability parts in dictionary + Removed some compatibility parts in dictionary * lisp/net/dictionary.el: Use cl-lib, remove defface and defgroup checks, remove xemacs-related code @@ -60423,7 +60423,7 @@ soap-client.el: Prevent some invalid encoding warnings * lisp/net/soap-client.el (soap-encode-xs-complex-type): Do not - warn about missing non-nillable slot if type iself is optional. + warn about missing non-nillable slot if type itself is optional. 2020-09-25 Glenn Morris @@ -61086,13 +61086,13 @@ 2020-09-21 Andrea Corallo - Sandbox syncronous libgccjit invocation on interactive sessions + Sandbox synchronous libgccjit invocation on interactive sessions Avoid unnecessary memory fragmentation/leakeage * lisp/emacs-lisp/comp.el (comp-final1): New function. (comp-final): Invoke `comp-final1' in a child process if in an - interactive session or directly otherwhise. + interactive session or directly otherwise. 2020-09-21 Andrea Corallo @@ -61400,7 +61400,7 @@ * etc/NEWS: Some D-Bus relevant changes. * lisp/net/dbus.el (dbus-show-dbus-errors): Remove. - (dbus-ignore-errors): Replay implamentation without that variable. + (dbus-ignore-errors): Replay implementation without that variable. (dbus-check-arguments): New defun. (dbus-list-activatable-names, dbus-list-names) (dbus-list-queued-owners, dbus-get-name-owner, dbus-introspect) @@ -62197,7 +62197,7 @@ Better error handling after calling 'gcc_jit_context_compile_to_file' - Tipically errors are catched in 'compile_function' but in case + Typically errors are catched in 'compile_function' but in case libgccjit throw an error only afterwards while compiling the whole compilation unit we have to report it correctly. @@ -62231,7 +62231,7 @@ Remove type check emission from type hints low level primitives - These have to be emitted by higher level primitves as `cl-the'. + These have to be emitted by higher level primitives as `cl-the'. * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Do not emit type checks. @@ -62981,7 +62981,7 @@ * .gitlab-ci.yml (test-native-bootstrap-speed0) (test-native-bootstrap-speed1, test-native-bootstrap-speed2): - Update for new make invokation. + Update for new make invocation. 2020-09-11 Andrea Corallo @@ -63240,7 +63240,7 @@ Suppress errors of tab-line-switch functions - Traget errors occurs when tab-line-switch-to-prev-tab or + Target errors occurs when tab-line-switch-to-prev-tab or tab-line-switch-to-next-tab is invoked in a buffer which is not in tabs @@ -63765,7 +63765,7 @@ * test/lisp/net/dbus-tests.el (dbus--test-enabled-session-bus) (dbus--test-enabled-system-bus): Make them defconst. (dbus--test-service, dbus--test-path, dbus--test-interface): - New defconst. Replace all occurences of `dbus-service-emacs' by + New defconst. Replace all occurrences of `dbus-service-emacs' by `dbus--test-service'. (dbus--test-method-handler): New defun. (dbus-test04-register-method, dbus-test05-register-property): New tests. @@ -63836,7 +63836,7 @@ * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): New function. (comp-delete-or-replace-file): Rename from `comp--replace-output-file' and update so it can be used for - replacing or deleting shared libs safetly. + replacing or deleting shared libs safely. * lisp/emacs-lisp/package.el (package--delete-directory): When native compiled just call `comp-clean-up-stale-eln' for each @@ -64451,7 +64451,7 @@ this patch increases the speed to rename 2000 files a factor ~ 15. * lisp/dired-aux.el (dired-rename-file): Call `dired-rename-subdir' - iif FILE is a directory. Add docstring. + if FILE is a directory. Add docstring. (dired-rename-subdir, dired-remove-entry) (dired-remove-file): Add docstring. @@ -66328,7 +66328,7 @@ file content. * src/lread.c (maybe_swap_for_eln): Rename el_name -> src_name as - this can be also a have .el.gz extention. + this can be also a have .el.gz extension. 2020-08-23 Andrea Corallo @@ -67668,7 +67668,7 @@ (hash_native_abi): Change `comp-native-path-postfix' format. (Fcomp_el_to_eln_filename): New function. (Fcomp__compile_ctxt_to_file): Have file_name as a input. - (Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global varaibles. + (Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global variables. * lisp/startup.el (normal-top-level): Add user eln cache directory in `comp-eln-load-path'. @@ -69043,7 +69043,7 @@ (xwidget-webkit-bookmark-make-record): Modify to use xwidget-webkit to open bookmark that is created in xwidget-webkit. (xwidget-webkit-insert-string): Fix Javascript snippet to not throw - Javsscript exceptions. + Javascript exceptions. (xwidget-webkit-inside-pixel-width) (xwidget-window-inside-pixel-height): New functions. (xwidget-webkit-adjust-size-to-window): Use new functions. @@ -69536,11 +69536,11 @@ (bookmark-bmenu-delete-all): New function to mark for deletion all bookmarks in the bookmark list buffer. (bookmark-map): Map "D" to `bookmark-delete-all'. - (bookmark-bmenu-mode-map): New mappping for "M" to + (bookmark-bmenu-mode-map): New mapping for "M" to `bookmark-bmenu-mark-all'. - (bookmark-bmenu-mode-map): New mappping for "U" to + (bookmark-bmenu-mode-map): New mapping for "U" to `bookmark-bmenu-unmark-all'. - (bookmark-bmenu-mode-map): New mappping for "D" to + (bookmark-bmenu-mode-map): New mapping for "D" to `bookmark-bmenu-delete-all'. (bookmark-bmenu-mark-all): New bookmark menu to `bookmark-delete-all'. @@ -70333,7 +70333,7 @@ cperl-mode: Workaround for failure of cperl-write-tags - * lisp/progmodes/cperl-mode.el (cperl-mode): Accomodate recent + * lisp/progmodes/cperl-mode.el (cperl-mode): Accommodate recent changes in etags (bug#42356). 2020-08-05 Lars Ingebrigtsen @@ -71213,7 +71213,7 @@ d024fc141b (origin/emacs-27) * doc/lispref/symbols.texi (Definitions)... d78e0f3cd5 ; lisp/ldefs-boot.el: Update. - 27877e7bcf (tag: emacs-27.1-rc1) * etc/HISTORY: Add Emacs 27.1 releas... + 27877e7bcf (tag: emacs-27.1-rc1) * etc/HISTORY: Add Emacs 27.1 release... 2020-07-29 Glenn Morris @@ -71935,7 +71935,7 @@ Fix ElDoc bugs around eldoc-echo-area-use-multiline-p. - If the value is 'truncate-sym-name-if-fit andthe single docstring + If the value is 'truncate-sym-name-if-fit and the single docstring doesn't fit in the echo area even when the symbol name is elided, that step shouldn't be attempted. Also if the value is nil, really ensure that only the first line is shown. @@ -72309,7 +72309,7 @@ Rework the backend to allocate arument arrays for call by references * src/comp.c (comp_t): Add 'zero' field. - (emit_limple_call_ref): Allocate an array to host the parametes + (emit_limple_call_ref): Allocate an array to host the parameters and generate the code moving values into. (Fcomp__init_ctxt): Initialize comp.zero. @@ -73308,7 +73308,7 @@ 2020-06-28 Andrea Corallo - Do not skip native compilation for leim subfolder during boostrap + Do not skip native compilation for leim subfolder during bootstrap * lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): Remove "^leim/". @@ -73678,7 +73678,7 @@ root lisp-dir. * lisp/startup.el (command-line): Fix `load-history' fixup - algorith for eln files. + algorithm for eln files. 2020-06-22 Andrea Corallo @@ -74600,7 +74600,7 @@ Define a new kind of basic block 'latch' to close over loops. Its purpose is for now to emit calls to `comp-maybe-gc-or-quit' but in - future will be usefull for the loop optimizer to exploit unboxes. + future will be useful for the loop optimizer to exploit unboxes. * lisp/emacs-lisp/comp.el (comp-block): New base class. (comp-block-lap): New class for LAP derived basic blocks. @@ -74609,7 +74609,7 @@ (comp-emit-switch, comp-emit-switch, comp-limplify-top-level) (comp-addr-to-bb-name, comp-limplify-block) (comp-limplify-function): Update logic for new bb objects - arrangment. + arrangement. (comp-latch-make-fill): New function. (comp-emit-uncond-jump, comp-emit-cond-jump): Update to emit latches. @@ -74705,7 +74705,7 @@ Removing `Vcomp_sym_subr_c_name_h' all c_name functions are GC markable only through 'data_ephemeral_vec'. A recursive load must not - overide its content otherwise a previously activated load will have + override its content otherwise a previously activated load will have the original content collected before it's used. * src/comp.h (struct Lisp_Native_Comp_Unit): Add 'load_ongoing' @@ -74758,7 +74758,7 @@ 2020-06-10 Michael Albinus - Futher tramp-crypt implementation and documentation + Further tramp-crypt implementation and documentation * doc/misc/tramp.texi (Top, Configuration): Insert section `Keeping files encrypted' in menu. @@ -75558,7 +75558,7 @@ Optimize 'emit_static_object' for load-time - * src/comp.c (emit_static_object): Use a chunck size of 200 bytes + * src/comp.c (emit_static_object): Use a chunk size of 200 bytes on bugged GCCs and a longer one (1024) in sane ones. Rename str in buff to disambiguate and prefer xmalloc to a VLA given the buffer is not that small. @@ -77080,7 +77080,7 @@ Merge from origin/emacs-27 - b4937f64cd (origin/emacs-27) Improve documentation of manually instal... + b4937f64cd (origin/emacs-27) Improve documentation of manually install... efd4e973a4 Reflect the emacs-devel ELPA/MELPA dispute in FAQ 28541674cd Consider face inheritance when checking region face backgr... e75f6be6cc Fix dired default file operation (bug#41261) @@ -77415,7 +77415,7 @@ * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of byte-to-native-lambdas-h and update for 'byte-to-native-func-def'. - (comp-spill-lap-function): Rework logic to retrive LAP using + (comp-spill-lap-function): Rework logic to retrieve LAP using 'byte-to-native-lambdas-h'. (comp-emit-for-top-level): Update for 'byte-to-native-function'. @@ -77428,7 +77428,7 @@ into byte-to-native-lambdas-h instead of just LAP. (byte-compile-file-form-defmumble): Store into 'byte-to-native-func-def' only the byte compiled function, the LAP - will be retrived through 'byte-to-native-lambdas-h'. + will be retrieved through 'byte-to-native-lambdas-h'. (byte-compile-lambda): Return the byte compiled function. 2020-05-14 Tino Calancha @@ -77451,7 +77451,7 @@ * test/lisp/files-tests.el (files-tests-file-modes-symbolic-to-number) (files-tests-file-modes-number-to-symbolic): New tests. - * doc/lispref/files.texi (Changing Files): Document the new funtion. + * doc/lispref/files.texi (Changing Files): Document the new function. * etc/NEWS (Lisp Changes in Emacs 28.1): Announce it. 2020-05-14 Mattias Engdeg奪rd @@ -78440,7 +78440,7 @@ 2020-05-02 Jo達o T叩vora - Properly fix embarassing missing paren typo in jsonrpc.el + Properly fix embarrassing missing paren typo in jsonrpc.el Paul Eggert had fixed it in practice, but the missing paren was meant to close a previous with-current-buffer. @@ -78867,7 +78867,7 @@ (byte-compile-form): Remove `byte-compile-not-top-level'. (byte-compile-function-form): Likewise. (byte-compile-flush-pending): No need anymore to set - `byte-compile-current-form' so restore orignal code. + `byte-compile-current-form' so restore original code. 2020-04-26 Stefan Kangas @@ -78911,7 +78911,7 @@ Convert before final function doc hash into a vector. * lisp/emacs-lisp/comp.el (comp-finalize-relocs): Convert doc hash - table into vector befor final. + table into vector before final. (comp-emit-for-top-level): Rename `comp-ctxt-doc-index-h' -> `comp-ctxt-function-docs'. (comp-ctxt): Likewise. @@ -78993,7 +78993,7 @@ * src/comp.h: Extern 'native_function_doc'. * src/doc.c (Fdocumentation): Call 'native_function_doc' to - retrive function doc. + retrieve function doc. * src/pdumper.c (dump_native_comp_unit): Zero 'data_fdoc_h' before dumping. @@ -79329,7 +79329,7 @@ 05089a4d65 (origin/emacs-27) Tweak wording re constant variables a1040861f1 Tweak setcar-related wording 751510f865 * lisp/image-mode.el: Add prefix key 's' and reduce depend... - 9261a219ec * doc/emacs/windows.texi (Window Convenience): Decribe mor... + 9261a219ec * doc/emacs/windows.texi (Window Convenience): Describe mor... e1d42da0d6 Fix mutability glitches reported by Drew Adams 5805df74f5 Improve mutability doc dca35b31d0 Improve mutability documentation @@ -80923,7 +80923,7 @@ * lisp/arc-mode.el (archive-ar-write-file-member): New function - (archive-ar--name): New funtion, extracted from `archive-ar-summarize`. + (archive-ar--name): New function, extracted from `archive-ar-summarize`. (archive-ar-extract): Use it. (archive-ar-summarize): Use it. Put the extname in the slot 0 of the desc vectors. @@ -81304,9 +81304,9 @@ 2020-03-29 Andrea Corallo - * comp.c (maybe_defer_native_compilation): Compile comp dependecies. + * comp.c (maybe_defer_native_compilation): Compile comp dependencies. - Make maybe_defer_native_compilation able to compile comp dependecies + Make maybe_defer_native_compilation able to compile comp dependencies breaking circularity. 2020-03-29 Andrea Corallo @@ -81994,7 +81994,7 @@ 2020-03-18 Andrea Corallo - * comp.c (native-elisp-load): Guard against misisng file. + * comp.c (native-elisp-load): Guard against missing file. 2020-03-19 Andrea Corallo @@ -83087,7 +83087,7 @@ * Keep comp-subr-list into pure space - Sad pure space is not effective nowdays but anyway... should go there. + Sad pure space is not effective nowadays but anyway... should go there. 2020-02-28 Paul Eggert @@ -83207,13 +83207,13 @@ * lisp/emacs-lisp/eldoc.el: Update commentary. (eldoc--eval-expression-setup): Use new hook. - (eldoc--supported-p): Accomodate new hook. + (eldoc--supported-p): Accommodate new hook. (eldoc-documentation-functions): New hook. (eldoc-documentation-default, eldoc-documentation-compose): New functions. (eldoc-documentation-function): Use 'eldoc-documentation-default' as new default value. Update documentation and custom attributes. - (eldoc-print-current-symbol-info): Accomodate possible null value for + (eldoc-print-current-symbol-info): Accommodate possible null value for 'eldoc-documentation-function'. * etc/NEWS: Mention them. * doc/emacs/programs.texi (Emacs Lisp Documentation Lookup): Mention @@ -83863,7 +83863,7 @@ Merge from origin/emacs-27 - ad5e350ab7 c-end-of-macro: Handle block coment lines with unescaped N... + ad5e350ab7 c-end-of-macro: Handle block comment lines with unescaped N... 06c302d425 Fix set-fontset-font with ADD arg non-nil 530067463b Correct "different than" to "different from" where appropr... 56b8768b32 More accurate documentation of 'package-menu-hide-package' @@ -84063,7 +84063,7 @@ - Make propagate responsible for keeping SSA up to date. - Run propagate-alloc as very last before final not to risk bothering - with mvar array allocation during previous tranformations. + with mvar array allocation during previous transformations. - Fix SSA if TCO modify the CFG. @@ -84084,7 +84084,7 @@ Optimize relocation classes for object duplication - Merge duplicated objects during final. Precendece is: + Merge duplicated objects during final. Precedence is: 1 d-default 2 d-impure 3 d-ephemeral @@ -84956,7 +84956,7 @@ Make links in shr use separate mouse highlight regions * lisp/net/shr.el (shr-urlify): Make adjacent links have separate - mouse hightlights (bug#39115). + mouse highlights (bug#39115). 2020-01-24 Michael Albinus @@ -85294,7 +85294,7 @@ db4436eaf9 Fix the notification action for PRIVMSG in erc-notificatio... 36a4068105 ERC: New maintainer. 2391d3f45d ; spelling fixes - e898442be3 Honor tags-case-fold-search during xref identifer completion + e898442be3 Honor tags-case-fold-search during xref identifier completion # Conflicts: # etc/NEWS @@ -85368,7 +85368,7 @@ Sync with Tramp 2.5.0-pre - * doc/misc/tramp.texi: Protext Tramp x.y and Emacs x.y by @w{}. + * doc/misc/tramp.texi: Protect Tramp x.y and Emacs x.y by @w{}. (GVFS-based methods): Move "GNOME Online Accounts" index. (Customizing Methods, Android shell setup, File name completion) (Frequently Asked Questions): Fix typos. @@ -85474,7 +85474,7 @@ 2020-01-19 R端diger Sonderfeld - Add space before messsage in byte compiler warnings + Add space before message in byte compiler warnings According to the GNU coding standards (info "(standards) Errors"): > If you want to mention the column number, use one of these formats: @@ -86364,7 +86364,7 @@ Merge from origin/emacs-27 071483b6f5 Fix reverting customizations - 43203d5068 * lisp/loadup.el: Set max-specpdl-size to 1800 when loadin... + 43203d5068 * lisp/loadup.el: Set max-specpdl-size to 1800 when loading... fab3674b36 Revert "Raise default max-specpdl-size value" 42f66aa502 ; Fix NEWS.24 bb9402e6e9 Raise default max-specpdl-size value @@ -87167,7 +87167,7 @@ split final pass + some code rework - generalize code into comp.el for compile multiple funcitons + generalize code into comp.el for compile multiple functions 2020-01-01 Andrea Corallo @@ -87195,7 +87195,7 @@ disable part of comp-tests-ffuncall - rework stati object serialization + rework static object serialization let emit_literal_string_func emit a dbg friendly friendly @@ -87221,7 +87221,7 @@ style fix in emit_limple_push_handler - always release contex even in case of failure + always release context even in case of failure better messaging when load native elisp @@ -87571,7 +87571,7 @@ extend cast capabilities - add &rest decription + add &rest description introduce parsearg @@ -87583,11 +87583,11 @@ fix missing bubble sort test - add primitve call test + add primitive call test add emit_assign_to_stack_slot - optimize primitve native call + optimize primitive native call propagate contant types and optimize self calls @@ -162193,7 +162193,7 @@ 1dfc27576a Make pixel-wise scrolling less laggy f92264fc2a Fix child frame placement issues (bug#29953) a5f718c4c5 ; * doc/lispref/text.texi (Change Hooks): Fix last change. - e876f5f9fb Describe the precise interaction of complex primitives wit... + e876f5f9fb Describe the precise interaction of complex primitives with... 3a22097cf6 Fix valgrind report in call-interactively d5f1c87bfe * src/editfns.c (Fsave_excursion): Doc fix. (Bug#30001) b8d74c4578 Fix mark-defun when there's no spaces between successive d... @@ -162694,7 +162694,7 @@ 13c59d0a83 More improvements for text.texi 7850b7620e Adjudicate review comments for the "Text" chapter of user ... d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f... - f3819ad13e In C-h k , alert user to existence of any matchin... + f3819ad13e In C-h k , alert user to existence of any matching... 99054fbef9 * net/eww.el (eww): Handle URLs without host part. de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc... 720ed0b533 Avoid crashes when ':eval' deletes our frame @@ -165068,7 +165068,7 @@ completion-all-completions do its work. (file-cache-minibuffer-complete): Skip `completion-hilit-commonality` - since `completion-all-completions' already hilighted its output. + since `completion-all-completions' already highlighted its output. Call our setup function directly rather than via `completion-setup-hook`. (file-cache-buffer): Remove variable. (file-cache-buffer-default-regexp): Make it a defvar. @@ -217367,7 +217367,7 @@ a6ae479 Post AppDefined events from the main thread ONLY (bug#23934) d35d398 Update to the AUTHORS file for Bob Weiner 4d2f4df Revert "Fix local printer set to left aligned string formatter." - cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen... + cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + document... f7ceb8e Revert "Fix English." baa7abd Improve doc strings of 'gud-gdb' and 'gdb' aa4271a Fix doc string of 'minibuffer-message-timeout' commit 354f6c56095312e58e1be1a4e6b4c347131ac551 Author: Stefan Kangas Date: Tue Nov 30 09:46:20 2021 +0100 ; * ChangeLog.3: Formatting fixes. diff --git a/ChangeLog.3 b/ChangeLog.3 index 8789471ed3..9f6d29c8f4 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -1669,7 +1669,7 @@ 2021-10-15 Andrea Corallo - * Fix `native-compile-target-directory' effectiveness on trampolines + Fix `native-compile-target-directory' effectiveness on trampolines * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix `native-compile-target-directory' effectiveness on trampoline @@ -2479,7 +2479,7 @@ 2021-10-04 Andrea Corallo - * Fix mh tests for native comp builds (bug#50975) + Fix mh tests for native comp builds (bug#50975) * test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines): New function. @@ -2488,7 +2488,7 @@ 2021-10-04 Andrea Corallo - * Fix `batch-native-compile' not to spawn a subprocess + Fix `batch-native-compile' not to spawn a subprocess * lisp/emacs-lisp/comp.el (comp-running-batch-compilation): New var. (comp-final): Use it. @@ -7303,12 +7303,12 @@ 2021-09-13 Andrea Corallo - * Clean-up some unnecessary macro usage in comp.c + Clean-up some unnecessary macro usage in comp.c - * src/comp.c (emit_static_object) - (Fcomp_native_driver_options_effective_p, add_driver_options) - (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version): Clean-up - unenecessary 'defined (WINDOWSNT)' usage. + * src/comp.c (emit_static_object) + (Fcomp_native_driver_options_effective_p, add_driver_options) + (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version): Clean-up + unenecessary 'defined (WINDOWSNT)' usage. 2021-09-13 Lars Ingebrigtsen @@ -9739,7 +9739,7 @@ 2021-08-27 Andrea Corallo - * Forward `comp-file-preloaded-p' to async workers + Forward `comp-file-preloaded-p' to async workers * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward `comp-file-preloaded-p' to async workers. @@ -11025,7 +11025,7 @@ 2021-08-17 Andrea Corallo - * Fix `native-compile-target-directory' effectiveness for async compilation. + Fix `native-compile-target-directory' effectiveness for async compilation. * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async workers `native-compile-target-directory'. @@ -17475,7 +17475,7 @@ 2021-06-21 Andrea Corallo - * Do not attempt to write .elc files when not necessary (bug#49118) + Do not attempt to write .elc files when not necessary (bug#49118) * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not attempt to write .elc files when not necessary. @@ -17995,7 +17995,7 @@ 2021-06-14 Andrea Corallo - * Do not produce .elc temporary file when unnecessary (bug#48978) + Do not produce .elc temporary file when unnecessary (bug#48978) * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Produce .elc temporary files only when non native compiling or when native @@ -19169,7 +19169,7 @@ 2021-06-01 Andrea Corallo - * Add `native-compile-target-directory' (bug#48743) + Add `native-compile-target-directory' (bug#48743) * lisp/emacs-lisp/comp.el (native-compile-target-directory): New variable. @@ -19326,7 +19326,7 @@ 2021-05-31 Andrea Corallo - * Make *Async-native-compile-log* buffer read-only (bug#48763) + Make *Async-native-compile-log* buffer read-only (bug#48763) * lisp/emacs-lisp/comp.el (comp-run-async-workers): Make "*Async-native-compile-log*" read-only. @@ -20409,7 +20409,7 @@ 2021-05-21 Andrea Corallo - * Fix ahead-of-time native compilation for out-of-tree builds (bug#48497) + Fix ahead-of-time native compilation for out-of-tree builds (bug#48497) * src/comp.c (Fcomp_el_to_eln_rel_filename): Expand 'PATH_DUMPLOADSEARCH' while computing 'loadsearch_re_list'. @@ -21669,15 +21669,15 @@ Rename comp-deferred-compilation - * lisp/progmodes/elisp-mode.el - (emacs-lisp-native-compile-and-load): Rename - comp-deferred-compilation -> native-comp-deferred-compilation. - * src/comp.c (maybe_defer_native_compilation, syms_of_comp): - Likewise. + * lisp/progmodes/elisp-mode.el + (emacs-lisp-native-compile-and-load): Rename + comp-deferred-compilation -> native-comp-deferred-compilation. + * src/comp.c (maybe_defer_native_compilation, syms_of_comp): + Likewise. 2021-05-11 Andrea Corallo - * Rename comp-deferred-compilation-deny-list + Rename comp-deferred-compilation-deny-list * lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list) (native-compile-async-skip-p): Rename @@ -22167,7 +22167,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-async-query-on-exit native-comp-async-query-on-exit + Rename comp-async-query-on-exit native-comp-async-query-on-exit * lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit) (comp-run-async-workers): Rename comp-async-query-on-exit @@ -22175,7 +22175,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-async-report-warnings-errors + Rename comp-async-report-warnings-errors * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors) (comp-accept-and-process-async-output): Rename @@ -22184,7 +22184,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-async-env-modifier-form native-comp-async-env-modifier-form + Rename comp-async-env-modifier-form native-comp-async-env-modifier-form * lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form) (comp-final, comp-run-async-workers): Rename @@ -22192,7 +22192,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-async-all-done-hook native-comp-async-all-done-hook + Rename comp-async-all-done-hook native-comp-async-all-done-hook * lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook) (comp-run-async-workers): Rename comp-async-all-done-hook @@ -22200,7 +22200,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-async-cu-done-functions native-comp-async-cu-done-functions + Rename comp-async-cu-done-functions native-comp-async-cu-done-functions * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions) (comp-run-async-workers): Rename comp-async-cu-done-functions @@ -22208,7 +22208,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-async-jobs-number native-comp-async-jobs-number + Rename comp-async-jobs-number native-comp-async-jobs-number * lisp/emacs-lisp/comp.el (native-comp-async-jobs-number) (comp-effective-async-max-jobs, native--compile-async) @@ -22234,7 +22234,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-always-compile native-comp-always-compile + Rename comp-always-compile native-comp-always-compile * lisp/emacs-lisp/comp.el (native-comp-always-compile) (comp-run-async-workers): comp-always-compile @@ -22242,7 +22242,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-verbose -> native-comp-verbose + Rename comp-verbose -> native-comp-verbose * lisp/emacs-lisp/comp.el (native-comp-verbose, comp-log) (comp-log-func, comp-final, comp-run-async-workers): Rename @@ -22274,7 +22274,7 @@ 2021-05-06 Andrea Corallo - * Rename comp-limple-mode -> native-comp-limple-mode + Rename comp-limple-mode -> native-comp-limple-mode * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Doc update. (native-comp-limple-mode, comp-log-to-buffer): Rename comp-limple-mode @@ -22462,18 +22462,18 @@ Rename feature `nativecomp' into `native-compile' - * test/src/comp-tests.el : Rename feature `nativecomp' into - `native-compile'. - * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. - * src/comp.c (syms_of_comp): Likewise. - * lisp/startup.el (normal-top-level): Likewise. - * lisp/loadup.el: Likewise. - * lisp/help.el (help-function-arglist): Likewise. - * lisp/emacs-lisp/package.el (package--native-compile-async) - (package--delete-directory): Likewise. - * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. - * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. - * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. + * test/src/comp-tests.el : Rename feature `nativecomp' into + `native-compile'. + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. + * src/comp.c (syms_of_comp): Likewise. + * lisp/startup.el (normal-top-level): Likewise. + * lisp/loadup.el: Likewise. + * lisp/help.el (help-function-arglist): Likewise. + * lisp/emacs-lisp/package.el (package--native-compile-async) + (package--delete-directory): Likewise. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. 2021-05-05 Martin Rudalics @@ -22495,11 +22495,11 @@ 2021-05-05 Andrea Corallo - * Better identify native compiler presence in two tests. + Better identify native compiler presence in two tests. - * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) - (help-fns-test-lisp-defsubst): Better identify native-comp - presence. + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) + (help-fns-test-lisp-defsubst): Better identify native-comp + presence. 2021-05-05 Daniel Mendler @@ -22582,10 +22582,10 @@ 2021-05-04 Andrea Corallo - * Do not try to load unexistent eln file if async compilation was skipped + Do not try to load unexistent eln file if async compilation was skipped - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to - load if the eln file was not produced. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to + load if the eln file was not produced. 2021-05-04 Eli Zaretskii @@ -23007,10 +23007,10 @@ 2021-04-29 Andrea Corallo - * Improve `comp-normalize-valset' reproducibility (bug#48021) + Improve `comp-normalize-valset' reproducibility (bug#48021) - * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Make - it more reproducible. + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Make + it more reproducible. 2021-04-29 Glenn Morris @@ -23062,10 +23062,10 @@ 2021-04-28 Andrea Corallo - * Add a note related to native compilation and Dynamic Binding + Add a note related to native compilation and Dynamic Binding - * doc/lispref/variables.texi (Dynamic Binding): Add a note - related to native compilation. + * doc/lispref/variables.texi (Dynamic Binding): Add a note + related to native compilation. 2021-04-28 Michael Albinus @@ -23135,20 +23135,20 @@ 2021-04-27 Andrea Corallo - * Clean-up temporary eln test-suite directory when exiting (bug#48060) + Clean-up temporary eln test-suite directory when exiting (bug#48060) - * lisp/startup.el (normal-top-level): Remove eln test-suite temp - dir when exiting. + * lisp/startup.el (normal-top-level): Remove eln test-suite temp + dir when exiting. 2021-04-27 Andrea Corallo Have `comp-cstr-intersection-no-mem' intersect pos neg value sets - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): - intersect pos and neg value sets - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add two tests and fix some - test number. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): + intersect pos and neg value sets + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests and fix some + test number. 2021-04-27 Stefan Kangas @@ -23466,10 +23466,10 @@ Rework where `comp-ctxt' is defined. - * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Remove - `comp-ctxt' definition. - * lisp/emacs-lisp/comp.el (comp-ctxt): Likewise. - * lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Define it here. + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Remove + `comp-ctxt' definition. + * lisp/emacs-lisp/comp.el (comp-ctxt): Likewise. + * lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Define it here. 2021-04-26 Andrea Corallo @@ -23494,32 +23494,32 @@ Make use of `ert-resource-file' `ert-resource-directory' in comp-tests - * test/src/comp-resources/comp-test-pure.el: Rename. - * test/src/comp-resources/comp-test-funcs.el: Likewise. - * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. - * test/src/comp-resources/comp-test-45603.el: Likewise. - * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use - `ert-resource-file'. - (comp-tests-bootstrap): Use ert-resource-directory. - (comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'. + * test/src/comp-resources/comp-test-pure.el: Rename. + * test/src/comp-resources/comp-test-funcs.el: Likewise. + * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. + * test/src/comp-resources/comp-test-45603.el: Likewise. + * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use + `ert-resource-file'. + (comp-tests-bootstrap): Use ert-resource-directory. + (comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'. 2021-04-26 Andrea Corallo - * Use `expand-file-name' in place of `concat' in comp-tests.el + Use `expand-file-name' in place of `concat' in comp-tests.el - * test/src/comp-tests.el (comp-test-src, - comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure, - comp-test-src): Use `expand-file-name' in place of `concat'. + * test/src/comp-tests.el (comp-test-src, + comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure, + comp-test-src): Use `expand-file-name' in place of `concat'. 2021-04-26 Andrea Corallo Move native compiler test data into proper directory (bug#48031) - * test/src/comp-tests-resources/comp-test-45603.el: Rename. - * test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise. - * test/src/comp-tests-resources/comp-test-funcs.el: Likewise. - * test/src/comp-tests-resources/comp-test-pure.el: Likewise. - * test/src/comp-tests.el (comp-test-directory): Update. + * test/src/comp-tests-resources/comp-test-45603.el: Rename. + * test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise. + * test/src/comp-tests-resources/comp-test-funcs.el: Likewise. + * test/src/comp-tests-resources/comp-test-pure.el: Likewise. + * test/src/comp-tests.el (comp-test-directory): Update. 2021-04-26 Andrea Corallo @@ -23527,10 +23527,10 @@ 2021-04-26 Andrea Corallo - * Fix comp-cstr tests for vanilla build (bug#48021) + Fix comp-cstr tests for vanilla build (bug#48021) - * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Fix tests - for vanilla build (bug#48021) + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Fix tests + for vanilla build (bug#48021) 2021-04-26 Andrea Corallo @@ -24036,10 +24036,10 @@ Improve a native compiler test - * test/src/comp-tests.el (comp-test-47868-1): Improve - testcase. - * test/src/comp-test-funcs.el (comp-test-47868-3-f) - (comp-test-47868-4-f): New functions. + * test/src/comp-tests.el (comp-test-47868-1): Improve + testcase. + * test/src/comp-test-funcs.el (comp-test-47868-3-f) + (comp-test-47868-4-f): New functions. 2021-04-22 Stefan Kangas @@ -24121,23 +24121,23 @@ Fix native compiler string hash consing strategy (bug#47868) - * test/src/comp-tests.el (comp-test-47868-1): Add new test. - * test/src/comp-test-funcs.el (comp-test-47868-1-f) - (comp-test-47868-2-f): New functions. - * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash - tanble test. - (comp-data-container): Use it. - (comp-final, comp-run-async-workers): have comp required before - reading dumped hashes so that `comp-imm-equal-test' is defined. + * test/src/comp-tests.el (comp-test-47868-1): Add new test. + * test/src/comp-test-funcs.el (comp-test-47868-1-f) + (comp-test-47868-2-f): New functions. + * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash + tanble test. + (comp-data-container): Use it. + (comp-final, comp-run-async-workers): have comp required before + reading dumped hashes so that `comp-imm-equal-test' is defined. 2021-04-21 Andrea Corallo Introduce `sxhash-equal-including-properties'. - * src/fns.c (collect_interval): Move it upwards. - (Fsxhash_equal_including_properties): New function. - (syms_of_fns): Register `sxhash-equal-including-properties'. - * etc/NEWS: Add 'sxhash-equal-including-properties'. + * src/fns.c (collect_interval): Move it upwards. + (Fsxhash_equal_including_properties): New function. + (syms_of_fns): Register `sxhash-equal-including-properties'. + * etc/NEWS: Add 'sxhash-equal-including-properties'. 2021-04-21 Philip K @@ -24947,10 +24947,10 @@ 2021-04-14 Andrea Corallo - * Fix native-comp startup for symliked binary (bug#44128) + Fix native-comp startup for symliked binary (bug#44128) - * src/emacs.c (real_filename): New function. - (set_invocation_vars, load_pdump): Make use of. + * src/emacs.c (real_filename): New function. + (set_invocation_vars, load_pdump): Make use of. 2021-04-14 Michael Albinus @@ -25070,10 +25070,10 @@ 2021-04-13 Andrea Corallo - * Fix two comp-cstr tests + Fix two comp-cstr tests - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Fix test 53 70. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix test 53 70. 2021-04-13 Andrea Corallo @@ -26065,11 +26065,11 @@ 2021-04-07 Andrea Corallo - * Improve some docstring in comp.el + Improve some docstring in comp.el - * lisp/emacs-lisp/comp.el (comp--native-compile) - (batch-native-compile, batch-byte-native-compile-for-bootstrap): - Improve docstring. + * lisp/emacs-lisp/comp.el (comp--native-compile) + (batch-native-compile, batch-byte-native-compile-for-bootstrap): + Improve docstring. 2021-04-07 Glenn Morris @@ -26102,10 +26102,10 @@ Move gitlab-ci native-comp tests into '/test/infra/gitlab-ci.yml' - * .gitlab-ci.yml: Fix incorrect b8d3ae78c5 merge. - * test/infra/gitlab-ci.yml (test-native-bootstrap-speed0) - (test-native-bootstrap-speed1, test-native-bootstrap-speed2): Move - from .gitlab-ci.yml. + * .gitlab-ci.yml: Fix incorrect b8d3ae78c5 merge. + * test/infra/gitlab-ci.yml (test-native-bootstrap-speed0) + (test-native-bootstrap-speed1, test-native-bootstrap-speed2): Move + from .gitlab-ci.yml. 2021-04-07 Mattias Engdeg奪rd @@ -26128,7 +26128,7 @@ 2021-04-07 Andrea Corallo - * Makefile.in (BIN_DESTDIR, src): Fix 'BIN_DESTDIR' on MacOS. + Makefile.in (BIN_DESTDIR, src): Fix 'BIN_DESTDIR' on MacOS. 2021-04-07 Dmitry Gutov @@ -26285,10 +26285,10 @@ 2021-04-05 Andrea Corallo - * Introduce `comp-file-preloaded-p' + Introduce `comp-file-preloaded-p' - * src/comp.c (syms_of_comp): Define `comp-file-preloaded-p'. - (Fcomp_el_to_eln_filename): Account for `comp-file-preloaded-p'. + * src/comp.c (syms_of_comp): Define `comp-file-preloaded-p'. + (Fcomp_el_to_eln_filename): Account for `comp-file-preloaded-p'. 2021-04-05 Michael Albinus @@ -26462,12 +26462,12 @@ Output native compiled preloaded files into the 'preloaded' subfolder - * src/comp.c (fixup_eln_load_path): Account the fact that the - file can be dumped in the 'preloaded' subfolder. - * lisp/loadup.el: Likewise. - * src/lread.c (maybe_swap_for_eln1): New function. - (maybe_swap_for_eln): Handle 'preloaded' subfolder. - * src/Makefile.in (LISP_PRELOADED): Export preloaded files. + * src/comp.c (fixup_eln_load_path): Account the fact that the + file can be dumped in the 'preloaded' subfolder. + * lisp/loadup.el: Likewise. + * src/lread.c (maybe_swap_for_eln1): New function. + (maybe_swap_for_eln): Handle 'preloaded' subfolder. + * src/Makefile.in (LISP_PRELOADED): Export preloaded files. 2021-04-04 Harald J旦rg @@ -26834,12 +26834,12 @@ Issue a warning when eln look-up fails due to missing .el source file. - * lisp/emacs-lisp/comp.el (comp-warning-on-missing-source): New - customize. - * src/lread.c (maybe_swap_for_eln): Issue a warning when eln - look-up fails due to missing .el source file. - * src/comp.c (syms_of_comp): Define - 'Qcomp_warning_on_missing_source'. + * lisp/emacs-lisp/comp.el (comp-warning-on-missing-source): New + customize. + * src/lread.c (maybe_swap_for_eln): Issue a warning when eln + look-up fails due to missing .el source file. + * src/comp.c (syms_of_comp): Define + 'Qcomp_warning_on_missing_source'. 2021-04-01 Stefan Kangas @@ -26991,23 +26991,23 @@ Rework native compilation `comp-debug' (bug#46495) - * lisp/emacs-lisp/comp.el (comp-debug): Update docstring and - move default on Windows systems from 0 to 1. - * src/comp.c (Fcomp__compile_ctxt_to_file): Tweak debug - levels. + * lisp/emacs-lisp/comp.el (comp-debug): Update docstring and + move default on Windows systems from 0 to 1. + * src/comp.c (Fcomp__compile_ctxt_to_file): Tweak debug + levels. 2021-03-31 Andrea Corallo Do not defer compilation when bytecode is explicitly requested (bug#46617) - * src/comp.c (maybe_defer_native_compilation): Check if the file - is registered in 'V_comp_no_native_file_h'. - (syms_of_comp): 'V_comp_no_native_file_h' new global. - * src/lread.c (maybe_swap_for_eln): Register files in - 'V_comp_no_native_file_h'. - * lisp/faces.el (tty-run-terminal-initialization): Do not - explicitly load .elc file to not exclude .eln being loaded in - place. + * src/comp.c (maybe_defer_native_compilation): Check if the file + is registered in 'V_comp_no_native_file_h'. + (syms_of_comp): 'V_comp_no_native_file_h' new global. + * src/lread.c (maybe_swap_for_eln): Register files in + 'V_comp_no_native_file_h'. + * lisp/faces.el (tty-run-terminal-initialization): Do not + explicitly load .elc file to not exclude .eln being loaded in + place. 2021-03-31 Stefan Kangas @@ -27641,10 +27641,10 @@ 2021-03-26 Andrea Corallo - * Prevent stale eln loading checking file timestamp before load (bug#46617) + Prevent stale eln loading checking file timestamp before load (bug#46617) - * src/lread.c (maybe_swap_for_eln): Add file timestamp check. - (openp): Update 'maybe_swap_for_eln' call sites. + * src/lread.c (maybe_swap_for_eln): Add file timestamp check. + (openp): Update 'maybe_swap_for_eln' call sites. 2021-03-25 Glenn Morris @@ -27917,8 +27917,8 @@ Improve two native compiler related docstrings. - * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): Improve docstring. - * src/comp.c (comp-eln-load-path): Likewise. + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): Improve docstring. + * src/comp.c (comp-eln-load-path): Likewise. 2021-03-24 Lars Ingebrigtsen @@ -28210,12 +28210,12 @@ Prevent unnecessary multiple .el hashing in 'maybe_swap_for_eln' - * src/comp.c (Fcomp_el_to_eln_rel_filename): New function. - (Fcomp_el_to_eln_filename): Make use of. - (syms_of_comp): Register 'Scomp_el_to_eln_rel_filename'. - * src/lread.c (maybe_swap_for_eln): Make use of - 'Fcomp_el_to_eln_rel_filename' to hash prevent unnecessary - multiple hashing. + * src/comp.c (Fcomp_el_to_eln_rel_filename): New function. + (Fcomp_el_to_eln_filename): Make use of. + (syms_of_comp): Register 'Scomp_el_to_eln_rel_filename'. + * src/lread.c (maybe_swap_for_eln): Make use of + 'Fcomp_el_to_eln_rel_filename' to hash prevent unnecessary + multiple hashing. 2021-03-21 Alan Mackenzie @@ -28265,8 +28265,8 @@ Add a tmp dir to `comp-eln-load-path' when running the testsuite. - * lisp/startup.el (normal-top-level): Tweak `comp-eln-load-path' - adding a temp directory when running the testsuite. + * lisp/startup.el (normal-top-level): Tweak `comp-eln-load-path' + adding a temp directory when running the testsuite. 2021-03-21 Glenn Morris @@ -28454,22 +28454,22 @@ Do not load native code when `load' is explicitly called on a .elc file - * src/lread.c (Fload): Do not load native code when `load' is - explicitly called on a .elc file. - (Flocate_file_internal): Update 'openp' call sites. - (maybe_swap_for_eln): Add new 'no_native' parameter. - (openp): Likewise + update 'maybe_swap_for_eln' and 'openp' call - sites. - * src/lisp.h: Update 'openp' signature. - * src/w32proc.c (sys_spawnve): Update 'openp' call sites. - * src/w32.c (check_windows_init_file): Likewise. - * src/sound.c (Fplay_sound_internal): Likewise. - * src/process.c (Fmake_process): Likewise. - * src/image.c (image_create_bitmap_from_file) - (image_find_image_fd): Likewise. - * src/emacs.c (set_invocation_vars): Likewise. - * src/charset.c (load_charset_map_from_file): Likewise. - * src/callproc.c (call_process): Likewise. + * src/lread.c (Fload): Do not load native code when `load' is + explicitly called on a .elc file. + (Flocate_file_internal): Update 'openp' call sites. + (maybe_swap_for_eln): Add new 'no_native' parameter. + (openp): Likewise + update 'maybe_swap_for_eln' and 'openp' call + sites. + * src/lisp.h: Update 'openp' signature. + * src/w32proc.c (sys_spawnve): Update 'openp' call sites. + * src/w32.c (check_windows_init_file): Likewise. + * src/sound.c (Fplay_sound_internal): Likewise. + * src/process.c (Fmake_process): Likewise. + * src/image.c (image_create_bitmap_from_file) + (image_find_image_fd): Likewise. + * src/emacs.c (set_invocation_vars): Likewise. + * src/charset.c (load_charset_map_from_file): Likewise. + * src/callproc.c (call_process): Likewise. 2021-03-19 Mauro Aranda @@ -29028,10 +29028,10 @@ Fix `no-byte-compile' native compilation interaction (bug#47169) - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Throw - no-native-compile when `byte-native-qualities' are null. - * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): No need - to consider `no-byte-compile'. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Throw + no-native-compile when `byte-native-qualities' are null. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): No need + to consider `no-byte-compile'. 2021-03-16 Juri Linkov @@ -29086,9 +29086,9 @@ Have `no-byte-compile' implies also `no-native-compile'. - * lisp/emacs-lisp/comp.el (no-native-compile): Update doctring. - * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): when - `no-byte-compile' is set to non-nil it overrides this. + * lisp/emacs-lisp/comp.el (no-native-compile): Update doctring. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): when + `no-byte-compile' is set to non-nil it overrides this. 2021-03-16 Daniel Mart鱈n @@ -29316,9 +29316,9 @@ Fix some entry in `comp-known-type-specifiers' (bug#46847) - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some - fix. - * test/src/comp-tests.el (comp-tests-46670-1): Update test. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some + fix. + * test/src/comp-tests.el (comp-tests-46670-1): Update test. 2021-03-14 Pip Cet @@ -29479,10 +29479,10 @@ 2021-03-12 Andrea Corallo - * Fix circular dependecy when loading a modified comp.el (bug#47049) + Fix circular dependecy when loading a modified comp.el (bug#47049) - * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Move it - before other functional code. + * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Move it + before other functional code. 2021-03-12 Stefan Monnier @@ -29637,14 +29637,14 @@ Implement `no-native-compile' (bug#46983) - * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Capture - `no-native-compile'. - * lisp/emacs-lisp/comp.el (no-native-compile): Define new - variable. - (comp-spill-lap-function): Throw when `no-native-compile' was - captured non-nil. - (comp--native-compile): Catch `no-native-compile' if necessary and - return nil in case. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Capture + `no-native-compile'. + * lisp/emacs-lisp/comp.el (no-native-compile): Define new + variable. + (comp-spill-lap-function): Throw when `no-native-compile' was + captured non-nil. + (comp--native-compile): Catch `no-native-compile' if necessary and + return nil in case. 2021-03-12 Robert Pluim @@ -29655,11 +29655,11 @@ 2021-03-12 Andrea Corallo - * Fix error reporting for async native compilation (bug#47024) + Fix error reporting for async native compilation (bug#47024) - * lisp/emacs-lisp/comp.el (comp--native-compile): During async - compilation if we catch an error print it in a parsable way so we - can report it to the user. + * lisp/emacs-lisp/comp.el (comp--native-compile): During async + compilation if we catch an error print it in a parsable way so we + can report it to the user. 2021-03-12 Stefan Monnier @@ -30131,10 +30131,10 @@ 2021-03-10 Andrea Corallo - * Fix truncated warnings (bug#47024) + Fix truncated warnings (bug#47024) - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind - `warning-fill-column' to `most-positive-fixnum'. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind + `warning-fill-column' to `most-positive-fixnum'. 2021-03-10 Stefan Kangas @@ -30629,22 +30629,22 @@ 2021-03-07 Andrea Corallo - * Handle `comp-native-driver-options' both as file-local both as global + Handle `comp-native-driver-options' both as file-local both as global - * src/comp.c (add_driver_options): Throw an error if - `comp-native-driver-options' is set globally but - 'gcc_jit_context_add_driver_option' is not available, ignore for - the file-local case. + * src/comp.c (add_driver_options): Throw an error if + `comp-native-driver-options' is set globally but + 'gcc_jit_context_add_driver_option' is not available, ignore for + the file-local case. 2021-03-07 Andrea Corallo Use `length=' and family where possible in native comp code - * lisp/emacs-lisp/comp-cstr.el (comp-intersect-typesets) - (comp-cstr-imm): Use Use `length=' and family where possible. - * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-block) - (comp-compute-dominator-frontiers) - (batch-byte-native-compile-for-bootstrap): Likewise. + * lisp/emacs-lisp/comp-cstr.el (comp-intersect-typesets) + (comp-cstr-imm): Use Use `length=' and family where possible. + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-block) + (comp-compute-dominator-frontiers) + (batch-byte-native-compile-for-bootstrap): Likewise. 2021-03-07 Andrea Corallo @@ -30675,10 +30675,10 @@ 2021-03-07 Andrea Corallo - * Work around GCC PR99126 on all libgccjit < 11 + Work around GCC PR99126 on all libgccjit < 11 - * src/comp.c (Fcomp__compile_ctxt_to_file): Work around GCC - PR99126 on all libgccjit < 11. + * src/comp.c (Fcomp__compile_ctxt_to_file): Work around GCC + PR99126 on all libgccjit < 11. 2021-03-07 Michael Albinus @@ -30889,10 +30889,10 @@ Fix `comp-cstr-intersection-no-hashcons' for negated result cstr - * lisp/emacs-lisp/comp-cstr.el - (comp-cstr-intersection-no-hashcons): When negated and - necessary relax dst to t. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-no-hashcons): When negated and + necessary relax dst to t. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. 2021-03-06 Pip Cet @@ -30910,11 +30910,11 @@ Fix `=' propagation to handle -0.0 0.0 case - * lisp/emacs-lisp/comp-cstr.el - (comp-cstr-intersection-homogeneous): Fix indent + use `memql'. - (comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two - tests and fix enumeration. + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-homogeneous): Fix indent + use `memql'. + (comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests and fix enumeration. 2021-03-06 Glenn Morris @@ -31443,14 +31443,14 @@ 2021-03-05 Andrea Corallo - * Harden `comp-abi-hash' computation + Harden `comp-abi-hash' computation Account for subr arity in `comp-abi-hash' computation as that's part of the ABI exposed to .eln files. - * src/comp.c (Fcomp__subr_signature): New support function. - (hash_native_abi): Make use of. - (syms_of_comp): Register 'Scomp__subr_signature'. + * src/comp.c (Fcomp__subr_signature): New support function. + (hash_native_abi): Make use of. + (syms_of_comp): Register 'Scomp__subr_signature'. 2021-03-05 Pip Cet @@ -31472,7 +31472,7 @@ 2021-03-04 Andrea Corallo - * Makefile.in (ELN_DESTDIR): Remove unnecessary double quoting. + Makefile.in (ELN_DESTDIR): Remove unnecessary double quoting. 2021-03-04 Lars Ingebrigtsen @@ -31679,10 +31679,10 @@ Fix two compiler ICEs dealing with nan and infinity - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Don't crash when - truncate fails. - * test/src/comp-test-funcs.el (comp-test-=-nan): Add two functions - to be compiled. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Don't crash when + truncate fails. + * test/src/comp-test-funcs.el (comp-test-=-nan): Add two functions + to be compiled. 2021-03-03 Juri Linkov @@ -31804,11 +31804,11 @@ Fix = propagation semantic for constrained inputs - * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize - `comp-cstr-shallow-copy'. - (comp-cstr-=): Relax inputs before intersecting them. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three - tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize + `comp-cstr-shallow-copy'. + (comp-cstr-=): Relax inputs before intersecting them. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three + tests. 2021-03-02 Dmitry Gutov @@ -32008,17 +32008,17 @@ intersections where non hash consed values are not propagated as values but rather promoted to their types. - * lisp/emacs-lisp/comp-cstr.el - (comp-cstr-intersection-no-hashcons): New function. - * lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit - `and-nhc' operator (implemented in fwprop by - `comp-cstr-intersection-no-hashcons'). - (comp-add-cond-cstrs): Map `eq' to `and' assume operator and - `equal' `eql' into `and-nhc'. - (comp-fwprop-insn): Update to handle `and-nhc'. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two - tests covering `eql' and `equal' propagation of non hash consed - values. + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-no-hashcons): New function. + * lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit + `and-nhc' operator (implemented in fwprop by + `comp-cstr-intersection-no-hashcons'). + (comp-add-cond-cstrs): Map `eq' to `and' assume operator and + `equal' `eql' into `and-nhc'. + (comp-fwprop-insn): Update to handle `and-nhc'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests covering `eql' and `equal' propagation of non hash consed + values. 2021-03-01 Stefan Monnier @@ -32098,31 +32098,31 @@ to caputure '=' semanting during fwprop handling float integer conversions. - * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as - simple equality. - (comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun) - (comp-reverse-arithm-fun): Rename and add '=' '!='. - (comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update - for new function nameing and to handle '='. - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch - of '=' specific tests. + * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as + simple equality. + (comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun) + (comp-reverse-arithm-fun): Rename and add '=' '!='. + (comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update + for new function nameing and to handle '='. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch + of '=' specific tests. 2021-02-28 Andrea Corallo Migrate and rename a bunch of functions from comp.el to comp-cstr.el - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p) - (comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p) - (comp-cstr-cons-p): Move and rename from 'comp.el'. - * lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p) - (make-comp-mvar, comp-emit-assume, comp-fwprop-prologue) - (comp-function-foldable-p, comp-function-call-maybe-fold) - (comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func) - (comp-compute-function-type): Update for renamed functions. - * src/comp.c (emit_mvar_rval): Likewise. - * test/src/comp-tests.el (comp-tests-mentioned-p-1) - (comp-tests-cond-rw-checker-val): Likewise. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p) + (comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p) + (comp-cstr-cons-p): Move and rename from 'comp.el'. + * lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p) + (make-comp-mvar, comp-emit-assume, comp-fwprop-prologue) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func) + (comp-compute-function-type): Update for renamed functions. + * src/comp.c (emit_mvar_rval): Likewise. + * test/src/comp-tests.el (comp-tests-mentioned-p-1) + (comp-tests-cond-rw-checker-val): Likewise. 2021-02-28 Glenn Morris @@ -32558,10 +32558,10 @@ 2021-02-26 Andrea Corallo - * Canonicalize filenames on Windows before hashing (bug#46256) + Canonicalize filenames on Windows before hashing (bug#46256) - * src/comp.c (Fcomp_el_to_eln_filename): On Windowns - canonicalize filenames before hashing. + * src/comp.c (Fcomp_el_to_eln_filename): On Windowns + canonicalize filenames before hashing. 2021-02-26 Stefan Monnier @@ -32584,17 +32584,17 @@ 2021-02-26 Andrea Corallo - * Change native compiler configure flag into '--with-native-compilation' + Change native compiler configure flag into '--with-native-compilation' - * configure.ac: Rename configure nativecomp flags into - --with-native-compilation. + * configure.ac: Rename configure nativecomp flags into + --with-native-compilation. 2021-02-26 Andrea Corallo - * Interactive tag native compilation function in emacs-lisp-mode + Interactive tag native compilation function in emacs-lisp-mode - * lisp/progmodes/elisp-mode.el - (emacs-lisp-native-compile-and-load): Tag it for `emacs-lisp-mode'. + * lisp/progmodes/elisp-mode.el + (emacs-lisp-native-compile-and-load): Tag it for `emacs-lisp-mode'. 2021-02-26 Andrea Corallo @@ -32698,10 +32698,10 @@ 2021-02-26 Andrea Corallo - * Improve `comp-async-report-warnings-errors' docstring + Improve `comp-async-report-warnings-errors' docstring - * lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors): - Improve docstring. + * lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors): + Improve docstring. 2021-02-26 Eli Zaretskii @@ -32712,10 +32712,10 @@ 2021-02-26 Andrea Corallo - * Add `comp-async-query-on-exit' customize. + Add `comp-async-query-on-exit' customize. - * lisp/emacs-lisp/comp.el (comp-async-query-on-exit): New customize. - (comp-run-async-workers): Make use of. + * lisp/emacs-lisp/comp.el (comp-async-query-on-exit): New customize. + (comp-run-async-workers): Make use of. 2021-02-26 Basil L. Contovounesios @@ -32757,18 +32757,18 @@ 2021-02-25 Andrea Corallo - * Fix some comp-vec logic + Fix some comp-vec logic - * lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append) - (comp-vec-prepend): Fix logic. - (comp-vec-aref): Fix indentation. + * lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append) + (comp-vec-prepend): Fix logic. + (comp-vec-aref): Fix indentation. 2021-02-25 Andrea Corallo - * Fix two docstrings in comp.el + Fix two docstrings in comp.el - * lisp/emacs-lisp/comp.el (comp-new-frame, - comp-maybe-add-vmvar): Fix docstring. + * lisp/emacs-lisp/comp.el (comp-new-frame, + comp-maybe-add-vmvar): Fix docstring. 2021-02-25 Eli Zaretskii @@ -33050,46 +33050,46 @@ Fix async compilation and paramenter naming - * lisp/emacs-lisp/comp.el (native--compile-async) - (native-compile-async): Fix broken parameter renaming. + * lisp/emacs-lisp/comp.el (native--compile-async) + (native-compile-async): Fix broken parameter renaming. 2021-02-23 Andrea Corallo Do not emit assumptions referencing clobbered mvars (bug#46670) - * lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot. - (comp-new-frame): Add `vsize' parameter. - (comp-limplify-top-level, comp-limplify-function): Update for new - `comp-new-frame'. - (comp-maybe-add-vmvar): New function. - (comp-add-cond-cstrs): Logic update to emit assumptions not - referencing clobbered variables. - (comp-place-phis, comp-ssa, comp-ssa-rename-insn) - (comp-ssa-rename): Update rename logic to rename also negative - slots. - (comp-fwprop-insn): Update to handle `(assume mvar mvar)' form. - * test/src/comp-tests.el (46670-1): Add testcase. - * test/src/comp-test-funcs.el (comp-test-46670-1-f) - (comp-test-46670-2-f): New functions. + * lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot. + (comp-new-frame): Add `vsize' parameter. + (comp-limplify-top-level, comp-limplify-function): Update for new + `comp-new-frame'. + (comp-maybe-add-vmvar): New function. + (comp-add-cond-cstrs): Logic update to emit assumptions not + referencing clobbered variables. + (comp-place-phis, comp-ssa, comp-ssa-rename-insn) + (comp-ssa-rename): Update rename logic to rename also negative + slots. + (comp-fwprop-insn): Update to handle `(assume mvar mvar)' form. + * test/src/comp-tests.el (46670-1): Add testcase. + * test/src/comp-test-funcs.el (comp-test-46670-1-f) + (comp-test-46670-2-f): New functions. 2021-02-23 Andrea Corallo - * Move ssa rename from vector to comp-vec + Move ssa rename from vector to comp-vec - * lisp/emacs-lisp/comp.el (comp-block): Updated `final-frame' slot - type. - (comp-limplify): Updated `frame' slot type. - (comp-slot-n, comp-new-frame, comp-place-phis, comp-ssa) - (comp-ssa-rename-insn, comp-ssa-rename, comp-finalize-phis): Use - `comp-vec'. + * lisp/emacs-lisp/comp.el (comp-block): Updated `final-frame' slot + type. + (comp-limplify): Updated `frame' slot type. + (comp-slot-n, comp-new-frame, comp-place-phis, comp-ssa) + (comp-ssa-rename-insn, comp-ssa-rename, comp-finalize-phis): Use + `comp-vec'. 2021-02-23 Andrea Corallo - * Add a simple growable vector like type + Add a simple growable vector like type - * lisp/emacs-lisp/comp.el (comp-vec): Define struct. - (comp-vec-copy, comp-vec-length, comp-vec--verify-idx) - (comp-vec-aref, comp-vec-append, comp-vec-prepend): New functions. + * lisp/emacs-lisp/comp.el (comp-vec): Define struct. + (comp-vec-copy, comp-vec-length, comp-vec--verify-idx) + (comp-vec-aref, comp-vec-append, comp-vec-prepend): New functions. 2021-02-23 Juri Linkov @@ -33402,12 +33402,12 @@ 2021-02-22 Andrea Corallo - * Some clean-up in comp.el + Some clean-up in comp.el - * lisp/emacs-lisp/comp.el (comp-func): Remove 'array-h'. - (comp-spill-lap-function, comp-intern-func-in-ctxt) - (comp-spill-lap-function, comp-addr-to-bb-name): Update - accordingly. + * lisp/emacs-lisp/comp.el (comp-func): Remove 'array-h'. + (comp-spill-lap-function, comp-intern-func-in-ctxt) + (comp-spill-lap-function, comp-addr-to-bb-name): Update + accordingly. 2021-02-22 Andrea Corallo @@ -33602,20 +33602,20 @@ 2021-02-22 Andrea Corallo - * Don't use paths to indicate filenames + Don't use paths to indicate filenames - * lisp/emacs-lisp/comp.el (native--compile-async) - (native-compile-async): Replace `paths' argname with `files'. + * lisp/emacs-lisp/comp.el (native--compile-async) + (native-compile-async): Replace `paths' argname with `files'. 2021-02-22 Andrea Corallo - * Fix union constraint for mixed pos/neg constraints + Fix union constraint for mixed pos/neg constraints - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg - type shadowing pos values. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add testcase. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg + type shadowing pos values. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add testcase. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase. 2021-02-22 Stefan Kangas @@ -33956,31 +33956,31 @@ 2021-02-19 Andrea Corallo - * Work around bug#46495 (GCC PR99126) + Work around bug#46495 (GCC PR99126) - * src/comp.c (gcc_jit_context_add_command_line_option): Import for - dynamic load. - (Fcomp__compile_ctxt_to_file): Disable GCC "isolate-paths" on GCC - 10. + * src/comp.c (gcc_jit_context_add_command_line_option): Import for + dynamic load. + (Fcomp__compile_ctxt_to_file): Disable GCC "isolate-paths" on GCC + 10. 2021-02-19 Andrea Corallo - * Remove unnecessary function 'emit_rvalue_from_unsigned_long_long' + Remove unnecessary function 'emit_rvalue_from_unsigned_long_long' - * src/comp.c (emit_rvalue_from_unsigned_long_long): Remove - function. - (emit_rvalue_from_emacs_uint, emit_rvalue_from_lisp_word_tag) - (emit_rvalue_from_lisp_word): Make use of - 'emit_rvalue_from_long_long'. + * src/comp.c (emit_rvalue_from_unsigned_long_long): Remove + function. + (emit_rvalue_from_emacs_uint, emit_rvalue_from_lisp_word_tag) + (emit_rvalue_from_lisp_word): Make use of + 'emit_rvalue_from_long_long'. 2021-02-19 Andrea Corallo - * Pacify GCC warning on non wide-int configurations + Pacify GCC warning on non wide-int configurations - * src/comp.c (emit_rvalue_from_emacs_uint) - (emit_rvalue_from_lisp_word_tag): Pacify GCC warning. - (emit_rvalue_from_unsigned_long_long): Define it only when - necessary. + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_lisp_word_tag): Pacify GCC warning. + (emit_rvalue_from_unsigned_long_long): Define it only when + necessary. 2021-02-19 Alan Third @@ -34120,22 +34120,22 @@ 2021-02-18 Andrea Corallo - * Add a bunch of assertions for fixnums coming from Lisp later used as int + Add a bunch of assertions for fixnums coming from Lisp later used as int - * src/comp.c (emit_limple_insn, declare_lex_function) - (compile_function, Fcomp__compile_ctxt_to_file): Add some - assertion. + * src/comp.c (emit_limple_insn, declare_lex_function) + (compile_function, Fcomp__compile_ctxt_to_file): Add some + assertion. 2021-02-18 Andrea Corallo - * Add assertion guarding against emitting a relocation array overflow + Add assertion guarding against emitting a relocation array overflow - * src/comp.c (reloc_array_t): New type. - (comp_t, imm_reloc_t): Make use of 'reloc_array_t'. - (obj_to_reloc): Add an assertion not to overflow relocation - arrays. - (emit_lisp_obj_reloc_lval, emit_limple_insn) - (declare_imported_data_relocs): Make use of 'reloc_array_t'. + * src/comp.c (reloc_array_t): New type. + (comp_t, imm_reloc_t): Make use of 'reloc_array_t'. + (obj_to_reloc): Add an assertion not to overflow relocation + arrays. + (emit_lisp_obj_reloc_lval, emit_limple_insn) + (declare_imported_data_relocs): Make use of 'reloc_array_t'. 2021-02-18 Stefan Monnier @@ -34297,10 +34297,10 @@ Fix inverted logic in constraint comparison (bug#46540) - * lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=) - (comp-cstr-<, comp-cstr-<=): Fix inverted logic. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add - three integer constrain tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=) + (comp-cstr-<, comp-cstr-<=): Fix inverted logic. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add + three integer constrain tests. 2021-02-17 Lars Ingebrigtsen @@ -34508,10 +34508,10 @@ 2021-02-16 Andrea Corallo - * Clean-up some signal related dead-code + Clean-up some signal related dead-code - * src/comp.c (restore_sigmask): Remove function. - (Fcomp__compile_ctxt_to_file): Remove some dead-code. + * src/comp.c (restore_sigmask): Remove function. + (Fcomp__compile_ctxt_to_file): Remove some dead-code. 2021-02-16 Andrea Corallo @@ -34519,20 +34519,20 @@ 2021-02-16 Andrea Corallo - * Better long range check + Better long range check - * src/comp.c (emit_rvalue_from_emacs_uint) - (emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag) - (emit_rvalue_from_lisp_word): Better long range check. + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag) + (emit_rvalue_from_lisp_word): Better long range check. 2021-02-16 Andrea Corallo - * Sanitize frame slot access in final + Sanitize frame slot access in final - * src/comp.c (comp_t): Add 'frame_size' field. - (emit_mvar_lval): Add sanity check on frame element access. - (compile_function): Initialize 'comp.frame_size' and - 'comp.frame_size'. + * src/comp.c (comp_t): Add 'frame_size' field. + (emit_mvar_lval): Add sanity check on frame element access. + (compile_function): Initialize 'comp.frame_size' and + 'comp.frame_size'. 2021-02-16 Glenn Morris @@ -35811,14 +35811,14 @@ Add late load pdumper hooks so these can call into Lisp - * src/pdumper.h (pdumper_do_now_and_after_late_load): New function. - * src/pdumper.c (dump_late_hooks, nr_dump_late_hooks): New static - variables. - (dump_metadata_for_pdumper): Add support for late load hooks. - (pdumper_do_now_and_after_late_load_impl): New functions. - (pdumper_load): Add support for late load hooks. - * src/window.c (init_window_once): Register - 'init_window_once_for_pdumper' to be executed after late load. + * src/pdumper.h (pdumper_do_now_and_after_late_load): New function. + * src/pdumper.c (dump_late_hooks, nr_dump_late_hooks): New static + variables. + (dump_metadata_for_pdumper): Add support for late load hooks. + (pdumper_do_now_and_after_late_load_impl): New functions. + (pdumper_load): Add support for late load hooks. + * src/window.c (init_window_once): Register + 'init_window_once_for_pdumper' to be executed after late load. 2021-02-10 Andrea Corallo @@ -37278,19 +37278,19 @@ 2021-02-03 Andrea Corallo - * Remove `system-configuration' from eln filename + Remove `system-configuration' from eln filename - * src/comp.c (hash_native_abi): Remove `system-configuration' - from eln filename. Add `system-configuration' and - `emacs-version' into `comp-abi-hash'. + * src/comp.c (hash_native_abi): Remove `system-configuration' + from eln filename. Add `system-configuration' and + `emacs-version' into `comp-abi-hash'. 2021-02-03 Andrea Corallo - * Short eln filename hashes + Short eln filename hashes - * src/comp.c (HASH_LENGTH): New macro. - (comp_hash_string, comp_hash_source_file): Trim the hash before - returning. + * src/comp.c (HASH_LENGTH): New macro. + (comp_hash_string, comp_hash_source_file): Trim the hash before + returning. 2021-02-03 Michael Albinus @@ -40490,9 +40490,9 @@ These have the effect of bloating the IR for no effect killing compile time. The typical cases for that are extremely long backuoted lists. - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-t): New var. - * lisp/emacs-lisp/comp.el (comp-add-call-cstr): No need to add - arg call constraints if this is t. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-t): New var. + * lisp/emacs-lisp/comp.el (comp-add-call-cstr): No need to add + arg call constraints if this is t. 2021-01-19 Philipp Stephani @@ -40838,29 +40838,29 @@ 2021-01-17 Andrea Corallo - * Run dead code removal always before fwprop, optim bootstrap time (~20% less) + Run dead code removal always before fwprop, optim bootstrap time (~20% less) - * lisp/emacs-lisp/comp.el (comp-passes): Remove `comp-dead-code'. - (comp-fwprop): Call `comp-dead-code'. - (comp-dead-code): Remove fake arg. + * lisp/emacs-lisp/comp.el (comp-passes): Remove `comp-dead-code'. + (comp-fwprop): Call `comp-dead-code'. + (comp-dead-code): Remove fake arg. 2021-01-17 Andrea Corallo - * Introduce `comp-fwprop-max-insns-scan' as heuristic threshold + Introduce `comp-fwprop-max-insns-scan' as heuristic threshold - * lisp/emacs-lisp/comp.el (comp-fwprop-max-insns-scan): New - constant. - (comp-fwprop*): Give-up when `comp-fwprop-max-insns-scan' is - exceeded. + * lisp/emacs-lisp/comp.el (comp-fwprop-max-insns-scan): New + constant. + (comp-fwprop*): Give-up when `comp-fwprop-max-insns-scan' is + exceeded. 2021-01-17 Andrea Corallo Make `comp-enable-subr-trampolines' effective for advices (bug#45854) - * src/comp.c: Copyright update. - (syms_of_comp): Update `comp-enable-subr-trampolines' doc. - * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check - for `comp-enable-subr-trampolines'. + * src/comp.c: Copyright update. + (syms_of_comp): Update `comp-enable-subr-trampolines' doc. + * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check + for `comp-enable-subr-trampolines'. 2021-01-17 Eli Zaretskii @@ -41038,8 +41038,8 @@ Philip Brown - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Set - backtrace-line-length in async worker processes. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Set + backtrace-line-length in async worker processes. 2021-01-16 Andrea Corallo @@ -41266,20 +41266,20 @@ 2021-01-14 Andrea Corallo - * Normalize `comp-eln-load-path' entries for trampoline comp (bug#43475) + Normalize `comp-eln-load-path' entries for trampoline comp (bug#43475) - * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): New function. - (comp-trampoline-search, comp-trampoline-compile) - (comp-clean-up-stale-eln): Update to use normalized - `comp-eln-load-path-eff'. + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): New function. + (comp-trampoline-search, comp-trampoline-compile) + (comp-clean-up-stale-eln): Update to use normalized + `comp-eln-load-path-eff'. 2021-01-14 Andrea Corallo - * Introduce native compilation time reports + Introduce native compilation time reports - * lisp/emacs-lisp/comp.el (comp-log-time-report): New special - variable. - (comp--native-compile): Rework to log time reports. + * lisp/emacs-lisp/comp.el (comp-log-time-report): New special + variable. + (comp--native-compile): Rework to log time reports. 2021-01-14 Juri Linkov @@ -41911,11 +41911,11 @@ Improve `comp-libgccjit-reproducer' - * src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit - reproducer file name. - * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update. - (comp-final, comp-run-async-workers): Pass - `comp-libgccjit-reproducer' setting to child workers. + * src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit + reproducer file name. + * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update. + (comp-final, comp-run-async-workers): Pass + `comp-libgccjit-reproducer' setting to child workers. 2021-01-09 Eli Zaretskii @@ -41935,10 +41935,10 @@ Add new customize `comp-libgccjit-reproducer' - * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): New customize. - * src/comp.c (Fcomp__compile_ctxt_to_file): Use - `comp-libgccjit-reproducer' for dumping repoducer. - (syms_of_comp): Define 'Qcomp_libgccjit_reproducer'. + * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): New customize. + * src/comp.c (Fcomp__compile_ctxt_to_file): Use + `comp-libgccjit-reproducer' for dumping repoducer. + (syms_of_comp): Define 'Qcomp_libgccjit_reproducer'. 2021-01-09 Tak Kunihiro @@ -42066,10 +42066,10 @@ 2021-01-07 Andrea Corallo - * Add a type specifier test + Add a type specifier test - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add testcase. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add testcase. 2021-01-07 Juri Linkov @@ -42211,10 +42211,10 @@ Reported and reduced by Mauricio Collares. - * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the - tmp file used to pass data the child processes. - * test/src/comp-tests.el (45603-1): New testcase - * test/src/comp-test-45603.el : New File. + * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the + tmp file used to pass data the child processes. + * test/src/comp-tests.el (45603-1): New testcase + * test/src/comp-test-45603.el : New File. 2021-01-06 Michael Heerdegen @@ -42507,21 +42507,21 @@ 2021-01-04 Andrea Corallo - * Fix a type specifier test + Fix a type specifier test - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Fix a testcase. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix a testcase. 2021-01-04 Andrea Corallo Fix type inference for bug#45635 - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix - missing mixed pos neg handling. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a test. - * test/src/comp-tests.el (45635): New testcase. - * test/src/comp-test-funcs.el (comp-test-45635-f): New function. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix + missing mixed pos neg handling. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + * test/src/comp-tests.el (45635): New testcase. + * test/src/comp-test-funcs.el (comp-test-45635-f): New function. 2021-01-04 Philipp Stephani @@ -42912,12 +42912,12 @@ Fix `functionp' contraining (bug#45576) - * lisp/emacs-lisp/comp.el (comp-known-predicates) - (comp-known-predicates-h): New constants. - (comp-known-predicate-p, comp-pred-to-cstr): New functions. - * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define. - * test/src/comp-tests.el (comp-test-45576): New testcase. - * test/src/comp-test-funcs.el (comp-test-45576-f): New function. + * lisp/emacs-lisp/comp.el (comp-known-predicates) + (comp-known-predicates-h): New constants. + (comp-known-predicate-p, comp-pred-to-cstr): New functions. + * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define. + * test/src/comp-tests.el (comp-test-45576): New testcase. + * test/src/comp-test-funcs.el (comp-test-45576-f): New function. 2021-01-02 Eli Zaretskii @@ -42928,13 +42928,13 @@ 2021-01-02 Andrea Corallo - * Rename `dom' slot into `idom' in `comp-block' struct + Rename `dom' slot into `idom' in `comp-block' struct - * lisp/emacs-lisp/comp.el (comp-block): Rename dom `slot' into - `idom'. - (comp-clean-ssa, comp-compute-dominator-tree) - (comp-compute-dominator-frontiers, comp-dom-tree-walker) - (comp-remove-unreachable-blocks): Update accordingly. + * lisp/emacs-lisp/comp.el (comp-block): Rename dom `slot' into + `idom'. + (comp-clean-ssa, comp-compute-dominator-tree) + (comp-compute-dominator-frontiers, comp-dom-tree-walker) + (comp-remove-unreachable-blocks): Update accordingly. 2021-01-02 Eli Zaretskii @@ -43078,7 +43078,7 @@ Add `throw' to non returning functions - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add throw. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add throw. 2021-01-01 Dmitry Gutov @@ -43093,18 +43093,18 @@ 2021-01-01 Andrea Corallo - * Clean unreachable block using dominance tree to handle circularities + Clean unreachable block using dominance tree to handle circularities With this commit unreachable basic blocks are pruned automatically by comp-ssa relying on dominance analysis. This solves the issue of unreachable cluster of basic blocks referencing each other. - * lisp/emacs-lisp/comp.el (comp-block-lap): New `no-ret' slot. - (comp-compute-dominator-tree): Update. - (comp-remove-unreachable-blocks): New functions. - (comp-ssa): Update to call `comp-remove-unreachable-blocks'. - (comp-clean-orphan-blocks): Delete. - (comp-rewrite-non-locals): Update and simplify. + * lisp/emacs-lisp/comp.el (comp-block-lap): New `no-ret' slot. + (comp-compute-dominator-tree): Update. + (comp-remove-unreachable-blocks): New functions. + (comp-ssa): Update to call `comp-remove-unreachable-blocks'. + (comp-clean-orphan-blocks): Delete. + (comp-rewrite-non-locals): Update and simplify. 2021-01-01 Andrea Corallo @@ -43117,24 +43117,24 @@ Introduce 'unreachable' as LIMPLE operater so we can handle correctly in the CFG functions throwing values or signaling errors. - * src/comp.c (retrive_block): Better error diagnostic. - (emit_limple_insn): Add `unreachable'. - (compile_function): Fix block iteration. - (syms_of_comp): Define 'Qunreachable'. - * lisp/emacs-lisp/comp.el (comp-block): New variable. - (comp-block-lap): Add `non-ret-insn' slot. - (comp-branch-op-p): New predicate. - (comp-limple-lock-keywords): Color `unreachable' as red. - (comp-compute-edges): Add `unreachable'. - (comp-fwprop-call): Store non returning function call. - (comp-fwprop*): Update. - (comp-clean-orphan-blocks, comp-rewrite-non-locals): New functions. - (comp-fwprop): Call `comp-rewrite-non-locals'. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two - tests. - * test/src/comp-test-funcs.el (comp-test-non-local-1) - (comp-test-non-local-2, comp-test-non-local-3) - (comp-test-non-local-4): New functions. + * src/comp.c (retrive_block): Better error diagnostic. + (emit_limple_insn): Add `unreachable'. + (compile_function): Fix block iteration. + (syms_of_comp): Define 'Qunreachable'. + * lisp/emacs-lisp/comp.el (comp-block): New variable. + (comp-block-lap): Add `non-ret-insn' slot. + (comp-branch-op-p): New predicate. + (comp-limple-lock-keywords): Color `unreachable' as red. + (comp-compute-edges): Add `unreachable'. + (comp-fwprop-call): Store non returning function call. + (comp-fwprop*): Update. + (comp-clean-orphan-blocks, comp-rewrite-non-locals): New functions. + (comp-fwprop): Call `comp-rewrite-non-locals'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests. + * test/src/comp-test-funcs.el (comp-test-non-local-1) + (comp-test-non-local-2, comp-test-non-local-3) + (comp-test-non-local-4): New functions. 2021-01-01 Eli Zaretskii @@ -43155,10 +43155,10 @@ 2021-01-01 Andrea Corallo - * Fix two predicates for missing negation handling + Fix two predicates for missing negation handling - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p) - (comp-cstr-null-p): Fix missing negation handling. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p) + (comp-cstr-null-p): Fix missing negation handling. 2021-01-01 Andrea Corallo @@ -43166,10 +43166,10 @@ 2021-01-01 Andrea Corallo - * Add `comp-insert-insn' + Add `comp-insert-insn' - * lisp/emacs-lisp/comp.el (comp-insert-insn): New inline. - (comp-emit-call-cstr): Split logic and call `comp-insert-insn'. + * lisp/emacs-lisp/comp.el (comp-insert-insn): New inline. + (comp-emit-call-cstr): Split logic and call `comp-insert-insn'. 2021-01-01 Paul Eggert @@ -43526,17 +43526,17 @@ 2020-12-30 Andrea Corallo - * Order function types in aphabetical order + Order function types in aphabetical order - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Reorder in - aphabetical order and comment. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Reorder in + aphabetical order and comment. 2020-12-30 Andrea Corallo - * Add more function type specifiers + Add more function type specifiers - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more - type specifiers. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more + type specifiers. 2020-12-30 Mattias Engdeg奪rd @@ -43795,11 +43795,11 @@ Fix missing negation handling in a bunch of predicates - * lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p) - (comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot. - * test/src/comp-tests.el (comp-test-not-cons): New test. - * test/src/comp-test-funcs.el (comp-test-not-cons-f): New - function. + * lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p) + (comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot. + * test/src/comp-tests.el (comp-test-not-cons): New test. + * test/src/comp-test-funcs.el (comp-test-not-cons-f): New + function. 2020-12-29 Andrea Corallo @@ -43809,13 +43809,13 @@ Constrain mvars under compare and branch with built-in predicates - * lisp/emacs-lisp/comp.el (comp-emit-assume): Update. - (comp-known-predicate-p): New function. - (comp-add-cond-cstrs): Extend to pattern match predicate calls. - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p) - (comp-pred-to-cstr): New function. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a - number of tests and fix comments. + * lisp/emacs-lisp/comp.el (comp-emit-assume): Update. + (comp-known-predicate-p): New function. + (comp-add-cond-cstrs): Extend to pattern match predicate calls. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p) + (comp-pred-to-cstr): New function. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a + number of tests and fix comments. 2020-12-29 Mattias Engdeg奪rd @@ -43858,10 +43858,10 @@ 2020-12-29 Andrea Corallo - * Define `cl-satisfies-deftype' mapping predicate -> type + Define `cl-satisfies-deftype' mapping predicate -> type - * lisp/emacs-lisp/cl-macs.el (cl-satisfies-deftype): Define symbol - property as reverse of `cl-deftype-satisfies'. + * lisp/emacs-lisp/cl-macs.el (cl-satisfies-deftype): Define symbol + property as reverse of `cl-deftype-satisfies'. 2020-12-29 Andrea Corallo @@ -44043,60 +44043,60 @@ Store function type and expose it with `subr-type' - * src/lisp.h (struct Lisp_Subr): Add 'type' field. - (SUBR_TYPE): New inline accessor. - * src/pdumper.c (dump_subr): Update for 'type' field. - * src/data.c (Fsubr_type): New primitive. - (syms_of_data): Update. - * src/comp.c (ABI_VERSION): Bump new ABI version. - (make_subr): Set type. - (Fcomp__register_lambda, Fcomp__register_subr) - (Fcomp__late_register_subr): Receive and pass subr type to - 'make_subr'. - * src/alloc.c (mark_object): Mark subr type. - * lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar. - (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass - type mvar to subr register functions. - (comp-compute-function-type): Fix-up subr type mvars. - * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use - `subr-type'. + * src/lisp.h (struct Lisp_Subr): Add 'type' field. + (SUBR_TYPE): New inline accessor. + * src/pdumper.c (dump_subr): Update for 'type' field. + * src/data.c (Fsubr_type): New primitive. + (syms_of_data): Update. + * src/comp.c (ABI_VERSION): Bump new ABI version. + (make_subr): Set type. + (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr): Receive and pass subr type to + 'make_subr'. + * src/alloc.c (mark_object): Mark subr type. + * lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar. + (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass + type mvar to subr register functions. + (comp-compute-function-type): Fix-up subr type mvars. + * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use + `subr-type'. 2020-12-28 Andrea Corallo Reorder subr register function arguments to make some room - * src/comp.c (Fcomp__register_lambda, Fcomp__register_subr) - (Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and - 'intspec' parameters. - * lisp/emacs-lisp/comp.el (comp-emit-for-top-level) - (comp-emit-lambda-for-top-level): Update. + * src/comp.c (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and + 'intspec' parameters. + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level) + (comp-emit-lambda-for-top-level): Update. 2020-12-28 Andrea Corallo Propagate function calls also when hiddend under funcall - * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions - also when called under `funcall'. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions + also when called under `funcall'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. 2020-12-28 Andrea Corallo Compute function type for native compiled functions - * lisp/emacs-lisp/comp.el (comp-func): `type' rename from - `ret-type-specifier'. - (comp-args-to-lambda-list): New function. - (comp-compute-function-type): New function from - `comp-ret-type-spec'. - (comp-final): Update. - * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update. + * lisp/emacs-lisp/comp.el (comp-func): `type' rename from + `ret-type-specifier'. + (comp-args-to-lambda-list): New function. + (comp-compute-function-type): New function from + `comp-ret-type-spec'. + (comp-final): Update. + * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update. 2020-12-28 Andrea Corallo - * Improve some slot type into comp.el + Improve some slot type into comp.el - * lisp/emacs-lisp/comp.el (comp-args-base, comp-args) - (comp-nargs, comp-func): Fix the type of some slots. + * lisp/emacs-lisp/comp.el (comp-args-base, comp-args) + (comp-nargs, comp-func): Fix the type of some slots. 2020-12-28 Stefan Kangas @@ -44277,22 +44277,22 @@ Add 1+ 1- integer range propagation support - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-one): New special var. - * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate integer - ranges on +1 -1. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-one): New special var. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate integer + ranges on +1 -1. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests. 2020-12-27 Andrea Corallo Add sum/subtraction integer range propagation support - * lisp/emacs-lisp/comp-cstr.el (comp-range-+, comp-range--): New - functions. - (comp-cstr-set-range-for-arithm): New macro. - (comp-cstr-add-2, comp-cstr-sub-2, comp-cstr-add, comp-cstr-sub): - New function. - * lisp/emacs-lisp/comp.el (comp-fwprop-call): Wire-up + - integer - range propagation. + * lisp/emacs-lisp/comp-cstr.el (comp-range-+, comp-range--): New + functions. + (comp-cstr-set-range-for-arithm): New macro. + (comp-cstr-add-2, comp-cstr-sub-2, comp-cstr-add, comp-cstr-sub): + New function. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Wire-up + - integer + range propagation. 2020-12-27 Andrea Corallo @@ -44300,18 +44300,18 @@ 2020-12-27 Andrea Corallo - * Add comp-cstr-greatest-in-range comp-cstr-smallest-in-range + Add comp-cstr-greatest-in-range comp-cstr-smallest-in-range - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-smallest-in-range) - (comp-cstr-greatest-in-range): New function. - (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): Make use of. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-smallest-in-range) + (comp-cstr-greatest-in-range): New function. + (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): Make use of. 2020-12-27 Andrea Corallo - * Don't require trailing backslashes in `comp-eln-load-path' (bug#45462) + Don't require trailing backslashes in `comp-eln-load-path' (bug#45462) - * src/comp.c (Fcomp_el_to_eln_filename): Don't require - trailing backslashes in comp-eln-load-path. + * src/comp.c (Fcomp_el_to_eln_filename): Don't require + trailing backslashes in comp-eln-load-path. 2020-12-27 Andrea Corallo @@ -44389,18 +44389,18 @@ 2020-12-26 Andrea Corallo - * Fix `byte-compile-file' for native compilation (bug#45442) + Fix `byte-compile-file' for native compilation (bug#45442) - * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Fix logic for - native compilation. + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Fix logic for + native compilation. 2020-12-26 Andrea Corallo Fix missing float handling into `comp-cstr-set-cmp-range' - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add - float handling. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Update results. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add + float handling. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update results. 2020-12-26 Stefan Monnier @@ -44440,10 +44440,10 @@ 2020-12-26 Andrea Corallo - * Remove unnecessary lhs rename in `comp-ssa-rename-insn' + Remove unnecessary lhs rename in `comp-ssa-rename-insn' - * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): No point to - rename lhs as it's being replaced. + * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): No point to + rename lhs as it's being replaced. 2020-12-26 Andrea Corallo @@ -44461,20 +44461,20 @@ Enable integer range narrowing under compare and branch - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range) - (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): New - functions. - * lisp/emacs-lisp/comp.el (comp-equality-fun-p) - (comp-range-cmp-fun-p): New functions. - (comp-collect-rhs): Use `comp-assign-op-p' in place of - `comp-set-op-p'. - (comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions. - (comp-emit-assume): Rework to be able to emit also comparision - assumption. - (comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'. - (comp-add-cond-cstrs-simple): Update to emit range assumption. - (comp-fwprop-insn): Execute range assumptions. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range) + (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): New + functions. + * lisp/emacs-lisp/comp.el (comp-equality-fun-p) + (comp-range-cmp-fun-p): New functions. + (comp-collect-rhs): Use `comp-assign-op-p' in place of + `comp-set-op-p'. + (comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions. + (comp-emit-assume): Rework to be able to emit also comparision + assumption. + (comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'. + (comp-add-cond-cstrs-simple): Update to emit range assumption. + (comp-fwprop-insn): Execute range assumptions. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add tests. 2020-12-26 emacs-f (tiny change) @@ -44734,14 +44734,14 @@ 2020-12-25 Andrea Corallo - * Don't emit byte op-code annotations in LIMPLE to optimize for compile-time + Don't emit byte op-code annotations in LIMPLE to optimize for compile-time Saves 10~15% in bootstrap time. - * lisp/emacs-lisp/comp.el (comp-op-case): Don't emit op-code - annotaitons. - (comp-limplify-lap-inst, comp-add-cond-cstrs-simple) - (comp-add-cond-cstrs, comp-tco-func): Update accordingly. + * lisp/emacs-lisp/comp.el (comp-op-case): Don't emit op-code + annotaitons. + (comp-limplify-lap-inst, comp-add-cond-cstrs-simple) + (comp-add-cond-cstrs, comp-tco-func): Update accordingly. 2020-12-25 Eli Zaretskii @@ -44829,53 +44829,53 @@ 2020-12-24 Andrea Corallo - * Memoize `comp-subtype-p' + Memoize `comp-subtype-p' - * lisp/emacs-lisp/comp-cstr.el (comp-subtype-p): Memoize. - (comp-cstr-ctxt): Add `subtype-p-mem' slot. + * lisp/emacs-lisp/comp-cstr.el (comp-subtype-p): Memoize. + (comp-cstr-ctxt): Add `subtype-p-mem' slot. 2020-12-24 Andrea Corallo - * Constrain only mvars that are actually used + Constrain only mvars that are actually used - * lisp/emacs-lisp/comp.el (comp-mvar-used-p, comp-collect-mvars) - (comp-collect-rhs): New functions. - (comp-add-cond-cstrs-simple, comp-add-cond-cstrs): Update logic. - (comp-add-cstrs): Call `comp-collect-rhs' before doing anything - else. + * lisp/emacs-lisp/comp.el (comp-mvar-used-p, comp-collect-mvars) + (comp-collect-rhs): New functions. + (comp-add-cond-cstrs-simple, comp-add-cond-cstrs): Update logic. + (comp-add-cstrs): Call `comp-collect-rhs' before doing anything + else. 2020-12-24 Andrea Corallo - * Use `comp-assign-op-p' into dead code elimination pass + Use `comp-assign-op-p' into dead code elimination pass - * lisp/emacs-lisp/comp.el (comp-dead-assignments-func): Use - `comp-assign-op-p' in place of `comp-set-op-p'. + * lisp/emacs-lisp/comp.el (comp-dead-assignments-func): Use + `comp-assign-op-p' in place of `comp-set-op-p'. 2020-12-24 Andrea Corallo - * Fix logic for constraining block with multiple predecessors + Fix logic for constraining block with multiple predecessors - * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords) - (comp-add-cond-cstrs-target-block): Logic update. + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords) + (comp-add-cond-cstrs-target-block): Logic update. 2020-12-24 Andrea Corallo Symplify (not t) => nil and (not nil) => t - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-negation): Symplify (not - t) => nil and (not nil) => t. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add two tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-negation): Symplify (not + t) => nil and (not nil) => t. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests. 2020-12-24 Andrea Corallo Extend cstrs pass to match `unless' like code - * lisp/emacs-lisp/comp.el (comp-emit-assume): Add assertion. - (comp-add-new-block-between): Fix two typos. - (comp-add-cond-cstrs-target-block): Fix typo. - (comp-add-cond-cstrs-simple): Logic update. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + * lisp/emacs-lisp/comp.el (comp-emit-assume): Add assertion. + (comp-add-new-block-between): Fix two typos. + (comp-add-cond-cstrs-target-block): Fix typo. + (comp-add-cond-cstrs-simple): Logic update. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. 2020-12-24 Andrea Corallo @@ -44885,11 +44885,11 @@ Extend cstrs pass to match `when' like code - * lisp/emacs-lisp/comp.el (comp-emit-assume): Better parameter names. - (comp-add-cond-cstrs-simple): New function. - (comp-add-cond-cstrs): Rename assume-target -> block-target. - (comp-add-cstrs): Call `comp-add-cond-cstrs-simple'. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add test. + * lisp/emacs-lisp/comp.el (comp-emit-assume): Better parameter names. + (comp-add-cond-cstrs-simple): New function. + (comp-add-cond-cstrs): Rename assume-target -> block-target. + (comp-add-cstrs): Call `comp-add-cond-cstrs-simple'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add test. 2020-12-24 Philipp Stephani @@ -44917,10 +44917,10 @@ Invert basic block argument order in LIMPLE cond-jump - * lisp/emacs-lisp/comp.el (comp-emit-cond-jump) - (comp-emit-switch, comp-emit-narg-prologue, comp-add-cond-cstrs): - Invert basic block argument order in LIMPLE cond-jump. - * src/comp.c (emit_limple_insn): Likewise. + * lisp/emacs-lisp/comp.el (comp-emit-cond-jump) + (comp-emit-switch, comp-emit-narg-prologue, comp-add-cond-cstrs): + Invert basic block argument order in LIMPLE cond-jump. + * src/comp.c (emit_limple_insn): Likewise. 2020-12-24 Alan Mackenzie @@ -45036,23 +45036,23 @@ Negate only values while constraining variables (bug#45376) - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-value-negation): New - function. - * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use - `comp-cstr-value-negation'. - * test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename. - (comp-test-45376-2-f): New funcion. - * test/src/comp-tests.el (bug-45376-1): Rename test. - (bug-45376-2): Add test. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-value-negation): New + function. + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use + `comp-cstr-value-negation'. + * test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename. + (comp-test-45376-2-f): New funcion. + * test/src/comp-tests.el (bug-45376-1): Rename test. + (bug-45376-2): Add test. 2020-12-23 Andrea Corallo - * Fix non range cstr union operation + Fix non range cstr union operation - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous): Add - range parameter and handle the non range case. - (comp-cstr-union-1-no-mem, comp-cstr-intersection-no-mem): Update - `comp-cstr-union-homogeneous' call sites. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous): Add + range parameter and handle the non range case. + (comp-cstr-union-1-no-mem, comp-cstr-intersection-no-mem): Update + `comp-cstr-union-homogeneous' call sites. 2020-12-23 Philipp Stephani @@ -45074,10 +45074,10 @@ 2020-12-23 Andrea Corallo - * Follow cstr basic blocks to perform latch recognition + Follow cstr basic blocks to perform latch recognition - * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix latch - recognition. + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix latch + recognition. 2020-12-23 Philipp Stephani @@ -45109,9 +45109,9 @@ Make input constraints into memoization hash immutable (bug#45376) - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1) - (comp-cstr-intersection): Copy input before soting it into the - memoization hash table. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1) + (comp-cstr-intersection): Copy input before soting it into the + memoization hash table. 2020-12-23 Andrea Corallo @@ -45196,9 +45196,9 @@ Liu, Kiong-G 綮絎罸 - * src/comp.c (eln_load_path_final_clean_up): Fix argument order. - * nt/mingw-cfg.site (ac_cv_func_strsignal): Force - `ac_cv_func_strsignal' to no. + * src/comp.c (eln_load_path_final_clean_up): Fix argument order. + * nt/mingw-cfg.site (ac_cv_func_strsignal): Force + `ac_cv_func_strsignal' to no. 2020-12-22 Alan Mackenzie @@ -45340,151 +45340,151 @@ 2020-12-21 Andrea Corallo - * Fix a test in auth-source-tests.el + Fix a test in auth-source-tests.el - * test/lisp/auth-source-tests.el - (auth-source-test-secrets-create-secret): Redefine `read-string' - respecting the original number of arguments. + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Redefine `read-string' + respecting the original number of arguments. 2020-12-21 Andrea Corallo - * Fix a bunch of known type specifiers + Fix a bunch of known type specifiers - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fixes for: - =, string-search, substring. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fixes for: + =, string-search, substring. 2020-12-21 Andrea Corallo Fix `comp-add-call-cstr' and add a test - * lisp/emacs-lisp/comp.el (comp-add-call-cstr): Fix it. - * test/src/comp-tests.el (assume-in-loop-1): New test. - * test/src/comp-test-funcs.el (comp-test-assume-in-loop-1-f): New - function. + * lisp/emacs-lisp/comp.el (comp-add-call-cstr): Fix it. + * test/src/comp-tests.el (assume-in-loop-1): New test. + * test/src/comp-test-funcs.el (comp-test-assume-in-loop-1-f): New + function. 2020-12-21 Andrea Corallo Fix value type inference for doubly negate constraints - * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Do not propagate in - case of double negation. - * test/src/comp-test-funcs.el (comp-test-assume-double-neg-f): - New function. - * test/src/comp-tests.el (assume-double-neg): New test. + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Do not propagate in + case of double negation. + * test/src/comp-test-funcs.el (comp-test-assume-double-neg-f): + New function. + * test/src/comp-tests.el (assume-double-neg): New test. 2020-12-21 Andrea Corallo Fix native compiler tests when they are bytecompiled - * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-ts) - (comp-cstr-typespec-test, comp-cstr-typespec-tests-alist): Eval - also at compile time. - * test/src/comp-tests.el (comp-tests-type-spec-tests) - (comp-tests-define-type-spec-test): Likewise. + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-ts) + (comp-cstr-typespec-test, comp-cstr-typespec-tests-alist): Eval + also at compile time. + * test/src/comp-tests.el (comp-tests-type-spec-tests) + (comp-tests-define-type-spec-test): Likewise. 2020-12-21 Andrea Corallo Simplify correctly (or (integer 1 1) (not (integer 1 1))) as t - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Logic - update. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a test. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Logic + update. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. 2020-12-21 Andrea Corallo - * Guarantee fwprop convergence and termination + Guarantee fwprop convergence and termination - * lisp/emacs-lisp/comp.el (comp-emit-call-cstr): Have new-mvar as - LHS *and* RHS when constraining in and to ensure monotonicity and - fwprop convergence. - (comp-fwprop): Raise a warning for debug reasons in case fwprop - does not converge within 100 iterations. + * lisp/emacs-lisp/comp.el (comp-emit-call-cstr): Have new-mvar as + LHS *and* RHS when constraining in and to ensure monotonicity and + fwprop convergence. + (comp-fwprop): Raise a warning for debug reasons in case fwprop + does not converge within 100 iterations. 2020-12-21 Andrea Corallo - * Allow for overlapping src and dst in cstr set operations + Allow for overlapping src and dst in cstr set operations - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem) - (comp-cstr-union-1, comp-cstr-intersection-no-mem) - (comp-cstr-intersection): Logic update. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem) + (comp-cstr-union-1, comp-cstr-intersection-no-mem) + (comp-cstr-intersection): Logic update. 2020-12-21 Andrea Corallo Symplify type specifier (not t) as nil - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): - Add logic. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add two tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): + Add logic. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests. 2020-12-21 Andrea Corallo Enhance type inference constraining function arguments - * lisp/emacs-lisp/comp.el: Add some commentary. - (comp-cond-cstrs-target-mvar): Rename and update docstring. - (comp-add-cond-cstrs): Update to use - `comp-cond-cstrs-target-mvar'. - (comp-emit-call-cstr, comp-lambda-list-gen, comp-add-call-cstr): - New functions. - (comp-add-cstrs): Call `comp-add-call-cstr'. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Update two - type specifier tests. + * lisp/emacs-lisp/comp.el: Add some commentary. + (comp-cond-cstrs-target-mvar): Rename and update docstring. + (comp-add-cond-cstrs): Update to use + `comp-cond-cstrs-target-mvar'. + (comp-emit-call-cstr, comp-lambda-list-gen, comp-add-call-cstr): + New functions. + (comp-add-cstrs): Call `comp-add-call-cstr'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update two + type specifier tests. 2020-12-21 Andrea Corallo - * Allow for modifying insn-cell inside `comp-loop-insn-in-block' + Allow for modifying insn-cell inside `comp-loop-insn-in-block' - * lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): Update. + * lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): Update. 2020-12-21 Andrea Corallo - * Rename comp-cond-cstr into comp-add-cstrs + Rename comp-cond-cstr into comp-add-cstrs - * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-mvar) - (comp-add-cond-cstrs, comp-add-cstrs): Rename comp-cond-cstr - -> comp-add-cstrs. + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-mvar) + (comp-add-cond-cstrs, comp-add-cstrs): Rename comp-cond-cstr + -> comp-add-cstrs. 2020-12-21 Andrea Corallo - * Two minors in comp.el + Two minors in comp.el - * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h) - (comp-ret-type-spec): Style. + * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h) + (comp-ret-type-spec): Style. 2020-12-21 Andrea Corallo - * Add a type specifier test to comp-cstr-tests.el + Add a type specifier test to comp-cstr-tests.el - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a test. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. 2020-12-21 Andrea Corallo - * Enumerate and split type specifier tests in comp-tests.el to ease debug + Enumerate and split type specifier tests in comp-tests.el to ease debug - * test/src/comp-tests.el (comp-tests-type-spec-tests): Enumerate. - (comp-tests-define-type-spec-test): New function. - (comp-tests-define-type-spec-tests): New macro to expand tests. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Enumerate. + (comp-tests-define-type-spec-test): New function. + (comp-tests-define-type-spec-tests): New macro to expand tests. 2020-12-21 Andrea Corallo - * Improve constraint simplification logic in comp-cstr.el - - * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): - Simplify. - (comp-cstr-empty-p): New Funchion. - (comp-split-pos-neg): Minor. - (comp-normalize-typeset): Logic update. - (comp-union-typesets): Minor. - (comp-intersect-two-typesets): New functio. - (comp-intersect-typesets): Logic update. - (comp-range-union, comp-range-intersection): Minor. - (comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem) - (comp-cstr-intersection-homogeneous) - (comp-cstr-intersection-no-mem, comp-cstr-negation) - (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Logic update. + Improve constraint simplification logic in comp-cstr.el + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): + Simplify. + (comp-cstr-empty-p): New Funchion. + (comp-split-pos-neg): Minor. + (comp-normalize-typeset): Logic update. + (comp-union-typesets): Minor. + (comp-intersect-two-typesets): New functio. + (comp-intersect-typesets): Logic update. + (comp-range-union, comp-range-intersection): Minor. + (comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem) + (comp-cstr-intersection-homogeneous) + (comp-cstr-intersection-no-mem, comp-cstr-negation) + (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Logic update. * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): Simplify. @@ -45506,23 +45506,23 @@ 2020-12-21 Andrea Corallo - * Fix a number of type specifier simplification tests + Fix a number of type specifier simplification tests - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Fix a number of tests. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix a number of tests. 2020-12-21 Andrea Corallo - * Improve comp-fwprop pass + Improve comp-fwprop pass Wire-up comp-cstr.el routines in fwprop and constraint mvars also on the else side of branches. - * lisp/emacs-lisp/comp.el (comp-emit-assume) - (comp-cond-cstr-target-mvar, comp-cond-cstr-func) - (comp-fwprop-insn): Logic update. - (comp-mvar-value-vld-p, comp-mvar-propagate, comp-fwprop-call): - Handle neg slot. + * lisp/emacs-lisp/comp.el (comp-emit-assume) + (comp-cond-cstr-target-mvar, comp-cond-cstr-func) + (comp-fwprop-insn): Logic update. + (comp-mvar-value-vld-p, comp-mvar-propagate, comp-fwprop-call): + Handle neg slot. 2020-12-21 Lars Ingebrigtsen @@ -45551,13 +45551,13 @@ 2020-12-21 Andrea Corallo - * Add mvar pretty print support when dumping LIMPLE + Add mvar pretty print support when dumping LIMPLE - * lisp/emacs-lisp/comp.el (comp-prettyformat-mvar) - (comp-prettyformat-insn): New function. - (comp-log-func): Update to use `comp-prettyformat-insn'. - (comp-finalize-phis): Change LIMPLE phi format to ease - `comp-prettyformat-insn' destructuring. + * lisp/emacs-lisp/comp.el (comp-prettyformat-mvar) + (comp-prettyformat-insn): New function. + (comp-log-func): Update to use `comp-prettyformat-insn'. + (comp-finalize-phis): Change LIMPLE phi format to ease + `comp-prettyformat-insn' destructuring. 2020-12-21 Michael Albinus @@ -45586,11 +45586,11 @@ Fix Windows build link-time zlib error (bug#45303) - * src/lisp.h (md5_gz_stream): Declare. - * src/comp.c (accumulate_and_process_md5) - (final_process_md5, md5_gz_stream): Remove. - * src/decompress.c (accumulate_and_process_md5) - (final_process_md5, md5_gz_stream): Move from comp.c. + * src/lisp.h (md5_gz_stream): Declare. + * src/comp.c (accumulate_and_process_md5) + (final_process_md5, md5_gz_stream): Remove. + * src/decompress.c (accumulate_and_process_md5) + (final_process_md5, md5_gz_stream): Move from comp.c. 2020-12-21 Andrea Corallo @@ -45668,10 +45668,10 @@ Have native compiler always preserve multibyte strings (bug#45342) - * lisp/emacs-lisp/comp.el (comp-final): Escape multibyte string - when offloading compilation to child process. - * test/src/comp-test-funcs.el (comp-test-45342-f): New function - * test/src/comp-tests.el (bug-45342): New test + * lisp/emacs-lisp/comp.el (comp-final): Escape multibyte string + when offloading compilation to child process. + * test/src/comp-test-funcs.el (comp-test-45342-f): New function + * test/src/comp-tests.el (bug-45342): New test 2020-12-20 Juri Linkov @@ -45682,9 +45682,9 @@ 2020-12-20 Andrea Corallo - * Fix missing 'gcc_jit_type_get_const' macro definition (bug#45303). + Fix missing 'gcc_jit_type_get_const' macro definition (bug#45303). - * src/comp.c (gcc_jit_type_get_pointer): Define macro. + * src/comp.c (gcc_jit_type_get_pointer): Define macro. 2020-12-20 Michael Albinus @@ -45817,11 +45817,11 @@ Add 'internal_condition_case_5' (bug#45303). - * src/lisp.h (internal_condition_case_4) - (internal_condition_case_5): Declare. - * src/eval.c (internal_condition_case_5): New function. - * src/comp.c (eln_load_path_final_clean_up): Use - 'internal_condition_case_5'. + * src/lisp.h (internal_condition_case_4) + (internal_condition_case_5): Declare. + * src/eval.c (internal_condition_case_5): New function. + * src/comp.c (eln_load_path_final_clean_up): Use + 'internal_condition_case_5'. 2020-12-19 Juri Linkov @@ -45840,10 +45840,10 @@ 2020-12-19 Andrea Corallo - * Add 'gcc_jit_type_get_const' to Windows dynamic load machinery (bug#45303). + Add 'gcc_jit_type_get_const' to Windows dynamic load machinery (bug#45303). - * src/comp.c: Add 'gcc_jit_type_get_const' to windows dynamic - load machinery. + * src/comp.c: Add 'gcc_jit_type_get_const' to windows dynamic + load machinery. 2020-12-19 Stefan Kangas @@ -46031,28 +46031,28 @@ 2020-12-19 Andrea Corallo - * Clean-up 'internal_condition_case_4' orphan declaration (bug#45303). + Clean-up 'internal_condition_case_4' orphan declaration (bug#45303). - * src/lisp.h (internal_condition_case_4): Declaration remove. + * src/lisp.h (internal_condition_case_4): Declaration remove. 2020-12-19 Andrea Corallo - * Move diagnostic pragmas out of namespace-scope (bug#45303). + Move diagnostic pragmas out of namespace-scope (bug#45303). Pragmas in GCC don't work reliably within function: - * src/comp.c (emit_static_object) - (Fcomp_native_driver_options_effective_p) - (Fcomp_libgccjit_version): Move pragmas out of name-scope. + * src/comp.c (emit_static_object) + (Fcomp_native_driver_options_effective_p) + (Fcomp_libgccjit_version): Move pragmas out of name-scope. 2020-12-19 Andrea Corallo Fix Windows libgccjit library name (bug#45303). - * lisp/term/w32-win.el (dynamic-library-alist): Fix Windows - libgccjit library name. - * src/emacs.c (syms_of_emacs): Likewise. + * lisp/term/w32-win.el (dynamic-library-alist): Fix Windows + libgccjit library name. + * src/emacs.c (syms_of_emacs): Likewise. 2020-12-19 Roland Winkler @@ -46169,7 +46169,7 @@ 2020-12-17 Andrea Corallo - * Makefile.in (w32locallisppath): Add PATH_REL_LOADSEARCH (bug#45303). + Makefile.in (w32locallisppath): Add PATH_REL_LOADSEARCH (bug#45303). * nt/epaths.nt (PATH_REL_LOADSEARCH): Define macro (bug#45303). @@ -46960,11 +46960,11 @@ 2020-12-13 Andrea Corallo - * Fix `memory-report' for '--without-x' builds + Fix `memory-report' for '--without-x' builds - * lisp/emacs-lisp/memory-report.el - (memory-report--image-cache): Don't call `image-cache-size' if - unbound. + * lisp/emacs-lisp/memory-report.el + (memory-report--image-cache): Don't call `image-cache-size' if + unbound. 2020-12-13 Dmitry Gutov @@ -47002,53 +47002,53 @@ 2020-12-13 Andrea Corallo - * Allow for adding constraints targetting blocks with multiple predecessors + Allow for adding constraints targetting blocks with multiple predecessors This commit remove the limitaiton we had not being able to add constraints derived from conditional branches to basic blocks with multiple predecessors. When this condition is verified we add a new dedicated basic block to hold the constraints. - * lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot - type specifiers. - (comp-block-cstr): New struct specializing `comp-block'. - (make-comp-edge): New function. - (comp-func): Better test function + doc for `blocks' slot. - (comp-limple-lock-keywords): Update possible basic block names. - (comp-emit-assume): Recive directly the block instead of its name. - (comp-add-new-block-beetween): New function. - (comp-cond-cstr-target-block): Logic update and use - `comp-add-new-block-beetween'. - (comp-cond-cstr-func): Make use of the latter. - (comp-compute-edges): Make use of `make-comp-edge'. + * lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot + type specifiers. + (comp-block-cstr): New struct specializing `comp-block'. + (make-comp-edge): New function. + (comp-func): Better test function + doc for `blocks' slot. + (comp-limple-lock-keywords): Update possible basic block names. + (comp-emit-assume): Recive directly the block instead of its name. + (comp-add-new-block-beetween): New function. + (comp-cond-cstr-target-block): Logic update and use + `comp-add-new-block-beetween'. + (comp-cond-cstr-func): Make use of the latter. + (comp-compute-edges): Make use of `make-comp-edge'. 2020-12-13 Andrea Corallo - * Rename comp-cond-rw -> comp-cond-cstr + Rename comp-cond-rw -> comp-cond-cstr - * lisp/emacs-lisp/comp.el (comp-passes) - (comp-cond-cstr-target-slot, comp-cond-cstr-func) - (comp-cond-cstr): Rename pass from cond-rw to cond-cstr. + * lisp/emacs-lisp/comp.el (comp-passes) + (comp-cond-cstr-target-slot, comp-cond-cstr-func) + (comp-cond-cstr): Rename pass from cond-rw to cond-cstr. 2020-12-13 Andrea Corallo - * Memoize `comp-cstr-intersection' + Memoize `comp-cstr-intersection' - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot - `intersection-mem'. - (comp-cstr-intersection-homogeneous): Fix non local exit target. - (comp-cstr-intersection-no-mem): Rename from - `comp-cstr-intersection'. - (comp-cstr-intersection): New function. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot + `intersection-mem'. + (comp-cstr-intersection-homogeneous): Fix non local exit target. + (comp-cstr-intersection-no-mem): Rename from + `comp-cstr-intersection'. + (comp-cstr-intersection): New function. 2020-12-13 Andrea Corallo - * Add initial negated non-negegated intersection support + Add initial negated non-negegated intersection support - * lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic. - (comp-cstr-intersection-homogeneous): Rename from - `comp-cstr-intersection'. - (comp-cstr-intersection): New function. + * lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic. + (comp-cstr-intersection-homogeneous): Rename from + `comp-cstr-intersection'. + (comp-cstr-intersection): New function. 2020-12-13 Alan Third @@ -47187,38 +47187,38 @@ Normalize cstrs for cache hint effectiveness and test stability - * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset) - (comp-union-valsets, comp-intersection-valsets) - (comp-normalize-typeset): New functions. - (comp-union-typesets, comp-intersect-typesets) - (comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem): - Update to return normalized results. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Normalize expected type specifiers. + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset) + (comp-union-valsets, comp-intersection-valsets) + (comp-normalize-typeset): New functions. + (comp-union-typesets, comp-intersect-typesets) + (comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem): + Update to return normalized results. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Normalize expected type specifiers. 2020-12-12 Andrea Corallo - * Add `comp-split-pos-neg' function + Add `comp-split-pos-neg' function - * lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function. - (comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'. + * lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function. + (comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'. 2020-12-12 Andrea Corallo - * Enumerate type specifier tests to ease debugging + Enumerate type specifier tests to ease debugging - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Enumerate tests. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Enumerate tests. Acked-by: Andrea Corallo 2020-12-12 Andrea Corallo - * Code rework add `comp-cstrs-homogeneous' + Code rework add `comp-cstrs-homogeneous' - * lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New - function. - (comp-cstr-union-1-no-mem): Make use of. + * lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New + function. + (comp-cstr-union-1-no-mem): Make use of. 2020-12-12 Andrea Corallo @@ -48336,12 +48336,12 @@ 2020-12-07 Andrea Corallo - * Spawn a sub-process for running GCC also in batch mode (bug#45056) + Spawn a sub-process for running GCC also in batch mode (bug#45056) - * lisp/emacs-lisp/comp.el (comp-async-compilation): New variable. - (comp-final): Always run the C side of the compilation as a - sub-process unless during bootstrap or async compilation. - (comp-run-async-workers): Set `comp-async-compilation'. + * lisp/emacs-lisp/comp.el (comp-async-compilation): New variable. + (comp-final): Always run the C side of the compilation as a + sub-process unless during bootstrap or async compilation. + (comp-run-async-workers): Set `comp-async-compilation'. 2020-12-07 Lars Ingebrigtsen @@ -48549,21 +48549,21 @@ 2020-12-06 Andrea Corallo - * Unify common fallback exit point in `comp-cstr-union-1-no-mem'. + Unify common fallback exit point in `comp-cstr-union-1-no-mem'. - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Define - a local function `give-up' as a common fall-back exit point. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Define + a local function `give-up' as a common fall-back exit point. 2020-12-06 Andrea Corallo Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos union - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): - Generalize disjoint pos types vs neg values conditions. - (comp-cstr-union-1-no-mem): Do not propagate ranges when we are - already returning integer as generic type. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add corresponding tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): + Generalize disjoint pos types vs neg values conditions. + (comp-cstr-union-1-no-mem): Do not propagate ranges when we are + already returning integer as generic type. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add corresponding tests. 2020-12-06 Philipp Stephani @@ -48691,63 +48691,63 @@ 2020-12-05 Andrea Corallo - * Memoize `comp-cstr-union-1' + Memoize `comp-cstr-union-1' - * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Do not synthesize the - copier. - (comp-cstr-ctxt): Add `union-1-mem-no-range' `union-1-mem-range' - slots. - (comp-cstr-copy): New function. - (comp-cstr-union-1-no-mem): Rename from `comp-cstr-union-1'. - (comp-cstr-union-1): New function. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Do not synthesize the + copier. + (comp-cstr-ctxt): Add `union-1-mem-no-range' `union-1-mem-range' + slots. + (comp-cstr-copy): New function. + (comp-cstr-union-1-no-mem): Rename from `comp-cstr-union-1'. + (comp-cstr-union-1): New function. 2020-12-05 Andrea Corallo More improvements to `comp-cstr-union-1' for mixed positive/negative cases - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Better handle - mixed positive/negated cases. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a number of tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Better handle + mixed positive/negated cases. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a number of tests. 2020-12-05 Andrea Corallo - * Fix `comp-cstr-to-type-spec' + Fix `comp-cstr-to-type-spec' - * lisp/emacs-lisp/comp-cstr.el (comp-star-or-num-p): New predicate. - (comp-type-spec-to-cstr): Make use of. - (comp-cstr-to-type-spec): Output correctly type specifiers - as (not (or integer ... + * lisp/emacs-lisp/comp-cstr.el (comp-star-or-num-p): New predicate. + (comp-type-spec-to-cstr): Make use of. + (comp-cstr-to-type-spec): Output correctly type specifiers + as (not (or integer ... 2020-12-05 Andrea Corallo Fix union of homogeneously negated input constraints - * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Fix logic. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a couple of tests. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Fix logic. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a couple of tests. 2020-12-05 Andrea Corallo - * Add `with-comp-cstr-accessors' macro. + Add `with-comp-cstr-accessors' macro. - * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): New macro. - (comp-cstr-union-1): Make use of `with-comp-cstr-accessors'. + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): New macro. + (comp-cstr-union-1): Make use of `with-comp-cstr-accessors'. 2020-12-05 Andrea Corallo Initial support for union of negated constraints - * lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New - function. - (comp-cstr-union-homogeneous-no-range): Rename from - `comp-cstr-union-no-range'. - (comp-cstr-union-homogeneous): Rename from `comp-cstr-union'. - (comp-cstr-union-1): New function. - (comp-cstr-union-no-range, comp-cstr-union): Rewrite in function - of `comp-cstr-union-1'. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a bunch of tests. + * lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New + function. + (comp-cstr-union-homogeneous-no-range): Rename from + `comp-cstr-union-no-range'. + (comp-cstr-union-homogeneous): Rename from `comp-cstr-union'. + (comp-cstr-union-1): New function. + (comp-cstr-union-no-range, comp-cstr-union): Rewrite in function + of `comp-cstr-union-1'. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a bunch of tests. 2020-12-05 Andrea Corallo @@ -48757,13 +48757,13 @@ Initial constraint negation support - * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot. - (comp-range-negation, comp-cstr-negation) - (comp-cstr-negation-make): New functions. - (comp-type-spec-to-cstr): Enable `not` in type specifiers. - (comp-cstr-to-type-spec): Update logic to handle negation. - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add a test. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot. + (comp-range-negation, comp-cstr-negation) + (comp-cstr-negation-make): New functions. + (comp-type-spec-to-cstr): Enable `not` in type specifiers. + (comp-cstr-to-type-spec): Update logic to handle negation. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. 2020-12-05 Stefan Monnier @@ -48880,32 +48880,32 @@ 2020-12-04 Andrea Corallo - * Do not compile `comp-cstr.el` in vanilla builds + Do not compile `comp-cstr.el` in vanilla builds - * lisp/Makefile.in (compile-targets): Filter out 'comp-cstr.elc' - in vanilla builds. + * lisp/Makefile.in (compile-targets): Filter out 'comp-cstr.elc' + in vanilla builds. 2020-12-04 Andrea Corallo Vanilla build warning clean-up - * lisp/emacs-lisp/disass.el (native-comp-unit-file) - (subr-native-comp-unit): Declare function. - * lisp/progmodes/elisp-mode.el (native-compile): Likewise. - * lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise. - * lisp/startup.el (normal-top-level): Silence warning. - * src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always - defined. - * src/pdumper.c (dump_cold_native_subr): Move under ifdefs. - (dump_drain_cold_data): Add ifdefs. + * lisp/emacs-lisp/disass.el (native-comp-unit-file) + (subr-native-comp-unit): Declare function. + * lisp/progmodes/elisp-mode.el (native-compile): Likewise. + * lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise. + * lisp/startup.el (normal-top-level): Silence warning. + * src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always + defined. + * src/pdumper.c (dump_cold_native_subr): Move under ifdefs. + (dump_drain_cold_data): Add ifdefs. 2020-12-04 Andrea Corallo - * Fix `load-history' causing a number of spurious compiler warnings + Fix `load-history' causing a number of spurious compiler warnings - * src/comp.c (Fcomp__register_subr): Fix missing entry into - `load-history' indicating that the loaded function was already an - autoload. + * src/comp.c (Fcomp__register_subr): Fix missing entry into + `load-history' indicating that the loaded function was already an + autoload. 2020-12-04 Spencer Baugh @@ -49106,20 +49106,20 @@ 2020-12-04 Andrea Corallo - * Reduce (half) the number of loads emitted for calling into C code + Reduce (half) the number of loads emitted for calling into C code As after each function call GCC clobbers the pointer to the function relocation table. This commit modify the code generation to create a local copy of it for each function. This reduces the average number of loads for each function call into C from two to one. - * src/comp.c (comp_t): Add 'func_relocs_ptr_type' and - 'func_relocs_local' fields. - (emit_call): Use the local func_relocs pointer when possible. - (emit_ctxt_code): Fill 'comp.func_relocs_ptr_type'. - (compile_function): Declare 'func_relocs_ptr_local'. - (compile_function): Assign 'func_relocs_ptr_local' from the global - value in each function prologue. + * src/comp.c (comp_t): Add 'func_relocs_ptr_type' and + 'func_relocs_local' fields. + (emit_call): Use the local func_relocs pointer when possible. + (emit_ctxt_code): Fill 'comp.func_relocs_ptr_type'. + (compile_function): Declare 'func_relocs_ptr_local'. + (compile_function): Assign 'func_relocs_ptr_local' from the global + value in each function prologue. 2020-12-03 Eric Abrahamsen @@ -49602,12 +49602,12 @@ Fix `comp-mvar-symbol-p' and `comp-mvar-cons-p' (bug#44968) - * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into - a `comp-cstr' are in or fix this logic. - (comp-mvar-cons-p): Likewise. - * test/src/comp-tests.el (bug-44968): New testcase. - * test/src/comp-test-funcs.el (comp-test-44968-f): New test - function. + * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into + a `comp-cstr' are in or fix this logic. + (comp-mvar-cons-p): Likewise. + * test/src/comp-tests.el (bug-44968): New testcase. + * test/src/comp-test-funcs.el (comp-test-44968-f): New test + function. 2020-11-30 Stefan Kangas @@ -49795,11 +49795,11 @@ 2020-11-27 Andrea Corallo - * Synthesize as const primitive function pointers and its container struct. + Synthesize as const primitive function pointers and its container struct. - * src/comp.c (declare_imported_func): Make const function pointer - to primitive funcions. - (emit_ctxt_code): Make struct 'comp.func_relocs' const. + * src/comp.c (declare_imported_func): Make const function pointer + to primitive funcions. + (emit_ctxt_code): Make struct 'comp.func_relocs' const. 2020-11-27 Philipp Stephani @@ -50011,11 +50011,11 @@ Move some tests from comp-tests.el to comp-cstr-tests.el - * test/lisp/emacs-lisp/comp-cstr-tests.el - (comp-cstr-typespec-tests-alist): Add tests covering what was in: - `range-simple-union', `union-types', `destructure-type-spec'. - * test/src/comp-tests.el (range-simple-intersection, union-types) - (destructure-type-spec): Remove tests. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add tests covering what was in: + `range-simple-union', `union-types', `destructure-type-spec'. + * test/src/comp-tests.el (range-simple-intersection, union-types) + (destructure-type-spec): Remove tests. 2020-11-26 Andrea Corallo @@ -50031,36 +50031,36 @@ Lastly this should help with bootstrap time as comp.el compilation unit is slimmed down. - * lisp/emacs-lisp/comp-cstr.el: New file. - (comp--typeof-types, comp--all-builtin-types): Move from comp.el. - (comp-cstr, comp-cstr-f): Same + rename. - (comp-cstr-ctxt): New struct. - (comp-supertypes, comp-common-supertype-2) - (comp-common-supertype, comp-subtype-p, comp-union-typesets) - (comp-range-1+, comp-range-1-, comp-range-<, comp-range-union) - (comp-range-intersection): Move from comp.el. - (comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and - rename. - (comp-cstr-union-make): New function. - (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from - comp.el, rename it and rework it. - - * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework. - (comp-ctxt): Remove two fields and include `comp-cstr-ctxt'. - (comp-mvar, comp-fwprop-call): Update for `comp-cstr' being - renamed. - (comp-fwprop-insn): Use `comp-cstr-union-no-range' or - `comp-cstr-union'. - (comp-ret-type-spec): Use `comp-cstr-union' and rework. - - * test/lisp/emacs-lisp/comp-cstr-tests.el: New file. - (comp-cstr-test-ts, comp-cstr-typespec-test): New functions. - (comp-cstr-typespec-tests-alist): New defconst to generate tests - on. - (comp-cstr-generate-tests): New macro. - - * test/src/comp-tests.el (comp-tests-type-spec-tests): Update. - (ret-type-spec): Initialize constraint context. + * lisp/emacs-lisp/comp-cstr.el: New file. + (comp--typeof-types, comp--all-builtin-types): Move from comp.el. + (comp-cstr, comp-cstr-f): Same + rename. + (comp-cstr-ctxt): New struct. + (comp-supertypes, comp-common-supertype-2) + (comp-common-supertype, comp-subtype-p, comp-union-typesets) + (comp-range-1+, comp-range-1-, comp-range-<, comp-range-union) + (comp-range-intersection): Move from comp.el. + (comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and + rename. + (comp-cstr-union-make): New function. + (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from + comp.el, rename it and rework it. + + * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework. + (comp-ctxt): Remove two fields and include `comp-cstr-ctxt'. + (comp-mvar, comp-fwprop-call): Update for `comp-cstr' being + renamed. + (comp-fwprop-insn): Use `comp-cstr-union-no-range' or + `comp-cstr-union'. + (comp-ret-type-spec): Use `comp-cstr-union' and rework. + + * test/lisp/emacs-lisp/comp-cstr-tests.el: New file. + (comp-cstr-test-ts, comp-cstr-typespec-test): New functions. + (comp-cstr-typespec-tests-alist): New defconst to generate tests + on. + (comp-cstr-generate-tests): New macro. + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update. + (ret-type-spec): Initialize constraint context. 2020-11-26 Dario Gjorgjevski @@ -50531,7 +50531,7 @@ 2020-11-23 Andrea Corallo - * Add SELECTOR parameter to `native-compile-async' (bug#44813) + Add SELECTOR parameter to `native-compile-async' (bug#44813) * lisp/emacs-lisp/comp.el (native-compile-async-skip-p): New function ripping out logic from `native--compile-async' and accounting for @@ -50543,7 +50543,7 @@ 2020-11-23 Andrea Corallo - * Rename two native compiler customize + Rename two native compiler customize * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list): Rename from `comp-deferred-compilation-black-list'. @@ -51060,10 +51060,10 @@ Add 'EMACSNATIVELOADPATH' env variable support (bug#44726) - * lisp/startup.el (normal-top-level): Read 'EMACSNATIVELOADPATH' - and add entries too `comp-eln-load-path'. - * lisp/mail/emacsbug.el (report-emacs-bug): Dump - also 'EMACSNATIVELOADPATH'. + * lisp/startup.el (normal-top-level): Read 'EMACSNATIVELOADPATH' + and add entries too `comp-eln-load-path'. + * lisp/mail/emacsbug.el (report-emacs-bug): Dump + also 'EMACSNATIVELOADPATH'. 2020-11-20 Lars Ingebrigtsen @@ -51339,10 +51339,10 @@ 2020-11-18 Andrea Corallo - * Fix eln file hasing for symlink paths (bug#44701) + Fix eln file hasing for symlink paths (bug#44701) - * src/comp.c (Fcomp_el_to_eln_filename): Call `file-truename' - in place of `expand-file-name' when available. + * src/comp.c (Fcomp_el_to_eln_filename): Call `file-truename' + in place of `expand-file-name' when available. 2020-11-18 Jonas Bernoulli @@ -51704,12 +51704,12 @@ Fix nativecomp cond-rw pass - * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): Improve it. - (comp-cond-rw-func): Fix logic for multiple predecessor on target - block. - * test/src/comp-tests.el (comp-test-cond-rw-1): New test. - * test/src/comp-test-funcs.el (comp-test-cond-rw-1-1-f) - (comp-test-cond-rw-1-2-f): New functions. + * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): Improve it. + (comp-cond-rw-func): Fix logic for multiple predecessor on target + block. + * test/src/comp-tests.el (comp-test-cond-rw-1): New test. + * test/src/comp-test-funcs.el (comp-test-cond-rw-1-1-f) + (comp-test-cond-rw-1-2-f): New functions. 2020-11-16 Stefan Kangas @@ -51757,18 +51757,18 @@ 2020-11-15 Andrea Corallo - * Improve `comp-fwprop-call' + Improve `comp-fwprop-call' - * lisp/emacs-lisp/comp.el (comp-function-call-maybe-fold): - Document return value. - (comp-fwprop-call): Simplify and improve. + * lisp/emacs-lisp/comp.el (comp-function-call-maybe-fold): + Document return value. + (comp-fwprop-call): Simplify and improve. 2020-11-15 Andrea Corallo - * Add more type specifiers + Add more type specifiers - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more - pure functions. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more + pure functions. 2020-11-15 Eli Zaretskii @@ -51841,62 +51841,62 @@ Add `comp-constraint-to-type-spec' and better handle boolean type spec - * lisp/emacs-lisp/comp.el (comp-constraint-to-type-spec): New - function splitting out code from comp-ret-type-spec + better - handle boolean type specifier. - (comp-ret-type-spec): Rework to leverage - `comp-constraint-to-type-spec'. - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a - testcase. + * lisp/emacs-lisp/comp.el (comp-constraint-to-type-spec): New + function splitting out code from comp-ret-type-spec + better + handle boolean type specifier. + (comp-ret-type-spec): Rework to leverage + `comp-constraint-to-type-spec'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a + testcase. 2020-11-14 Andrea Corallo Handle correctly quoting in *Native-compile-Log* buffer - * lisp/emacs-lisp/comp.el (comp-log): Add `quoted' parameter and - pass it to `comp-log-to-buffer'. - (comp-log-to-buffer): Add `quoted' parameter and leverage `prin1' - or `princ' accordingly. + * lisp/emacs-lisp/comp.el (comp-log): Add `quoted' parameter and + pass it to `comp-log-to-buffer'. + (comp-log-to-buffer): Add `quoted' parameter and leverage `prin1' + or `princ' accordingly. 2020-11-14 Andrea Corallo - * Split logic into comp-fwprop-call and improve it + Split logic into comp-fwprop-call and improve it - * lisp/emacs-lisp/comp.el (comp-func-ret-valset) - (comp-fwprop-call): New functions. - (comp-fwprop-insn): Remove code duplicaiton and call - `comp-fwprop-call'. + * lisp/emacs-lisp/comp.el (comp-func-ret-valset) + (comp-fwprop-call): New functions. + (comp-fwprop-insn): Remove code duplicaiton and call + `comp-fwprop-call'. 2020-11-14 Andrea Corallo - * Fix debug symbol emission + Fix debug symbol emission - * src/comp.c (Fcomp__compile_ctxt_to_file): Now that we do not - rely anymore on globlal variables move logic in from - 'Fcomp__init_ctxt' so comp.debug is already set correctly. + * src/comp.c (Fcomp__compile_ctxt_to_file): Now that we do not + rely anymore on globlal variables move logic in from + 'Fcomp__init_ctxt' so comp.debug is already set correctly. 2020-11-14 Andrea Corallo - * Add a number of type specifiers for pure function + Add a number of type specifiers for pure function - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add 60 - pure function type specifiers. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add 60 + pure function type specifiers. 2020-11-14 Andrea Corallo Characterize functions in terms of type specifiers - * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): New const - in place of `comp-known-ret-types' and `comp-known-ret-ranges'. - (comp-constraint): New struct to separate the constraint side of - an mvar. - (comp-constraint-f): Analogous for functions. - (comp-mvar): Rework and include `comp-constraint'. - (comp-type-spec-to-constraint): New function. - (comp-known-constraints-h): New const. - (comp-func-ret-typeset, comp-func-ret-range): Rework. - (comp-fwprop-insn): Fix. - * test/src/comp-tests.el (destructure-type-spec): New testcase. + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): New const + in place of `comp-known-ret-types' and `comp-known-ret-ranges'. + (comp-constraint): New struct to separate the constraint side of + an mvar. + (comp-constraint-f): Analogous for functions. + (comp-mvar): Rework and include `comp-constraint'. + (comp-type-spec-to-constraint): New function. + (comp-known-constraints-h): New const. + (comp-func-ret-typeset, comp-func-ret-range): Rework. + (comp-fwprop-insn): Fix. + * test/src/comp-tests.el (destructure-type-spec): New testcase. 2020-11-14 Juri Linkov @@ -52173,9 +52173,9 @@ Add copy insn testcase - * test/src/comp-tests.el (copy-insn): New testcase. - * test/src/comp-test-funcs.el (comp-test-copy-insn-f): New - function. + * test/src/comp-tests.el (copy-insn): New testcase. + * test/src/comp-test-funcs.el (comp-test-copy-insn-f): New + function. 2020-11-12 Andrea Corallo @@ -52183,33 +52183,33 @@ 2020-11-12 Andrea Corallo - * Memoize `comp-common-supertype' + Memoize `comp-common-supertype' - * lisp/emacs-lisp/comp.el (comp-ctxt): Add `common-supertype-mem' - slot. - (comp-common-supertype): Memoize. + * lisp/emacs-lisp/comp.el (comp-ctxt): Add `common-supertype-mem' + slot. + (comp-common-supertype): Memoize. 2020-11-12 Andrea Corallo - * Add few more type specifier tests + Add few more type specifier tests - * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three - tests and uncomment one. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three + tests and uncomment one. 2020-11-12 Andrea Corallo - * Rework `comp-ret-type-spec' in terms of `comp-phi' + Rework `comp-ret-type-spec' in terms of `comp-phi' - * lisp/emacs-lisp/comp.el (comp-ret-type-spec): Use `comp-func' - not to duplicate logic plus add null type specifier support and - some comments. + * lisp/emacs-lisp/comp.el (comp-ret-type-spec): Use `comp-func' + not to duplicate logic plus add null type specifier support and + some comments. 2020-11-12 Andrea Corallo - * Move phi function code into dedicated function and improve it + Move phi function code into dedicated function and improve it - * lisp/emacs-lisp/comp.el (comp-phi): New function moving logic - from `comp-fwprop-insn'. + * lisp/emacs-lisp/comp.el (comp-phi): New function moving logic + from `comp-fwprop-insn'. 2020-11-12 Stefan Kangas @@ -52344,58 +52344,58 @@ 2020-11-12 Andrea Corallo - * Nativecomp testsuite rework for derived return type specifiers + Nativecomp testsuite rework for derived return type specifiers As we have derived return type specifiers as some test for them. Also rewrite some propagation related test using return type specifiers too as it's way more convenient. - * test/src/comp-tests.el (fw-prop-1): Nit rename. - (comp-tests-check-ret-type-spec): New function. - (comp-tests-type-spec-tests): New variable. - (comp-tests-cond-rw-0-var) Remove variable. - (cond-rw-0, cond-rw-1, cond-rw-2, cond-rw-3, cond-rw-4, cond-rw-5) - Remove tests as now covered by `comp-tests-check-ret-type-spec'. + * test/src/comp-tests.el (fw-prop-1): Nit rename. + (comp-tests-check-ret-type-spec): New function. + (comp-tests-type-spec-tests): New variable. + (comp-tests-cond-rw-0-var) Remove variable. + (cond-rw-0, cond-rw-1, cond-rw-2, cond-rw-3, cond-rw-4, cond-rw-5) + Remove tests as now covered by `comp-tests-check-ret-type-spec'. 2020-11-12 Andrea Corallo - * Add nativecomp derived return type specifier computation support + Add nativecomp derived return type specifier computation support - * lisp/emacs-lisp/comp.el (comp-post-pass-hooks): Nit. - (comp-func): Add `ret-type-specifier' slot. - (comp-ret-type-spec): New function. - (comp-final): Call `comp-ret-type-spec'. + * lisp/emacs-lisp/comp.el (comp-post-pass-hooks): Nit. + (comp-func): Add `ret-type-specifier' slot. + (comp-ret-type-spec): New function. + (comp-final): Call `comp-ret-type-spec'. 2020-11-12 Andrea Corallo - * Unline some functions to optimize bootstrap time + Unline some functions to optimize bootstrap time - * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p) - (comp-mvar-value, comp-mvar-fixnum-p, comp-set-op-p) - (comp-assign-op-p, comp-call-op-p, comp-type-hint-p) - (comp-func-ret-typeset, comp-function-pure-p) - (comp-alloc-class-to-container, comp-lex-byte-func-p) - (comp-lap-eob-p, comp-lap-fall-through-p, comp-emit) - (comp-emit-set-call, comp-mvar-propagate) - (comp-function-foldable-p, comp-function-call-maybe-fold) - (comp-trampoline-filename): Uninline functions. + * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p) + (comp-mvar-value, comp-mvar-fixnum-p, comp-set-op-p) + (comp-assign-op-p, comp-call-op-p, comp-type-hint-p) + (comp-func-ret-typeset, comp-function-pure-p) + (comp-alloc-class-to-container, comp-lex-byte-func-p) + (comp-lap-eob-p, comp-lap-fall-through-p, comp-emit) + (comp-emit-set-call, comp-mvar-propagate) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-trampoline-filename): Uninline functions. 2020-11-12 Andrea Corallo - * Add to elisp-mode `emacs-lisp-native-compile-and-load' + Add to elisp-mode `emacs-lisp-native-compile-and-load' - * lisp/progmodes/elisp-mode.el - (emacs-lisp--before-compile-buffer): New function. - (emacs-lisp-byte-compile-and-load): Use the previous. - (emacs-lisp-native-compile-and-load): New function. + * lisp/progmodes/elisp-mode.el + (emacs-lisp--before-compile-buffer): New function. + (emacs-lisp-byte-compile-and-load): Use the previous. + (emacs-lisp-native-compile-and-load): New function. 2020-11-12 Andrea Corallo - * Fix limple-mode for new type and range limple semantic + Fix limple-mode for new type and range limple semantic - * lisp/emacs-lisp/comp.el (comp-limple-branches, comp-limple-ops): - New variables. - (comp-limple-lock-keywords): Update value. + * lisp/emacs-lisp/comp.el (comp-limple-branches, comp-limple-ops): + New variables. + (comp-limple-lock-keywords): Update value. 2020-11-12 Andrea Corallo @@ -52404,9 +52404,9 @@ Having this while re-debugging the boostrap would have saved few hours of debug so let's add it. - * test/src/comp-tests.el (and-3): Add test. - * test/src/comp-test-funcs.el (comp-test-and-3-var): New var. - (comp-test-and-3-f): New function. + * test/src/comp-tests.el (and-3): Add test. + * test/src/comp-test-funcs.el (comp-test-and-3-var): New var. + (comp-test-and-3-f): New function. 2020-11-12 Andrea Corallo @@ -52418,50 +52418,50 @@ Each mvar can be now characterized by a set of types, a set of values and an integral range. - * lisp/emacs-lisp/comp.el (comp-known-ret-types): Store into - typeset and remove fixnum. - (comp-known-ret-ranges, comp-type-predicates): New variables. - (comp-ctxt): Remove supertype-memoize slot and add - union-typesets-mem. - (comp-mvar): Remove const-vld, constant, type slots. Add typeset, - valset, range slots. - (comp-mvar-value-vld-p, comp-mvar-value, comp-mvar-fixnum-p) - (comp-mvar-symbol-p, comp-mvar-cons-p) - (comp-mvar-type-hint-match-p, comp-func-ret-typeset) - (comp-func-ret-range): New functions. - (make-comp-mvar, make-comp-ssa-mvar): Update logic. - (comp--typeof-types): New variable. - (comp-supertypes, comp-common-supertype): Logic update. - (comp-subtype-p, comp-union-typesets, comp-range-1+) - (comp-range-1-, comp-range-<, comp-range-union) - (comp-range-intersection): New functions. - (comp-fwprop-prologue, comp-mvar-propagate) - (comp-function-foldable-p, comp-function-call-maybe-fold) - (comp-fwprop-insn, comp-call-optim-func, comp-finalize-relocs): - Logic update. - - * src/comp.c (emit_mvar_rval, emit_call_with_type_hint) - (emit_call2_with_type_hint): Logic update. - - * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Undo the add - of fixnum and bignum as unnecessary. - - * test/src/comp-tests.el - (comp-tests-mentioned-p-1, comp-tests-cond-rw-checker-val) - (comp-tests-cond-rw-checker-type, cond-rw-1, cond-rw-2) - (cond-rw-3, cond-rw-4, cond-rw-5): Update for new type interface. - (range-simple-union, range-simple-intersection): New integer range - tests. - (union-types): New union type test. + * lisp/emacs-lisp/comp.el (comp-known-ret-types): Store into + typeset and remove fixnum. + (comp-known-ret-ranges, comp-type-predicates): New variables. + (comp-ctxt): Remove supertype-memoize slot and add + union-typesets-mem. + (comp-mvar): Remove const-vld, constant, type slots. Add typeset, + valset, range slots. + (comp-mvar-value-vld-p, comp-mvar-value, comp-mvar-fixnum-p) + (comp-mvar-symbol-p, comp-mvar-cons-p) + (comp-mvar-type-hint-match-p, comp-func-ret-typeset) + (comp-func-ret-range): New functions. + (make-comp-mvar, make-comp-ssa-mvar): Update logic. + (comp--typeof-types): New variable. + (comp-supertypes, comp-common-supertype): Logic update. + (comp-subtype-p, comp-union-typesets, comp-range-1+) + (comp-range-1-, comp-range-<, comp-range-union) + (comp-range-intersection): New functions. + (comp-fwprop-prologue, comp-mvar-propagate) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-fwprop-insn, comp-call-optim-func, comp-finalize-relocs): + Logic update. + + * src/comp.c (emit_mvar_rval, emit_call_with_type_hint) + (emit_call2_with_type_hint): Logic update. + + * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Undo the add + of fixnum and bignum as unnecessary. + + * test/src/comp-tests.el + (comp-tests-mentioned-p-1, comp-tests-cond-rw-checker-val) + (comp-tests-cond-rw-checker-type, cond-rw-1, cond-rw-2) + (cond-rw-3, cond-rw-4, cond-rw-5): Update for new type interface. + (range-simple-union, range-simple-intersection): New integer range + tests. + (union-types): New union type test. 2020-11-12 Andrea Corallo - * Rename two nativecomp functions + Rename two nativecomp functions - * lisp/emacs-lisp/comp.el (comp-function-foldable-p): Rename from - comp-function-optimizable-p. - (comp-function-call-maybe-fold): Same from - comp-function-call-maybe-fold. + * lisp/emacs-lisp/comp.el (comp-function-foldable-p): Rename from + comp-function-optimizable-p. + (comp-function-call-maybe-fold): Same from + comp-function-call-maybe-fold. 2020-11-11 Eli Zaretskii @@ -52983,11 +52983,11 @@ 2020-11-07 Andrea Corallo - * Allow for manually bumbing new native compiler ABI versions + Allow for manually bumbing new native compiler ABI versions - * src/comp.c (ABI_VERSION): Define macro. - (hash_native_abi): Include ABI_VERSION in the hashing. - (syms_of_comp): Tweak docstring. + * src/comp.c (ABI_VERSION): Define macro. + (hash_native_abi): Include ABI_VERSION in the hashing. + (syms_of_comp): Tweak docstring. 2020-11-07 Andrea Corallo @@ -53012,35 +53012,35 @@ 2020-11-07 Andrea Corallo - * Fix non native compiled build + Fix non native compiled build - * lisp/emacs-lisp/advice.el (ad-add-advice): Do not try to - install trampolines in vanilla builds. + * lisp/emacs-lisp/advice.el (ad-add-advice): Do not try to + install trampolines in vanilla builds. 2020-11-07 Andrea Corallo Allow for native compilation qualities to be specified per input file - * lisp/emacs-lisp/bytecomp.el (byte-native-qualities): Define - variable. - (byte-compile-from-buffer): Spill compilation qualities. - * lisp/emacs-lisp/comp.el (comp-speed, comp-debug): Make - them file local variables. - (comp-ctxt): Add `speed' and `debug' slots. - (comp-spill-speed, comp-spill-lap-function): Make use of these. - (comp-spill-lap-function): Spill qualities from - `byte-native-qualities'. - (comp-limplify-top-level): Do not use `comp-speed' but ctxt value - unstead. - (comp-final): Do not propagate qualities as they are already - in the `comp-ctxt'. - (comp--native-compile): Close on `byte-native-qualities'. - * src/comp.c (comp_t): Add 'speed' and 'debug' fields. - (emit_comment, emit_mvar_rval, emit_static_object) - (emit_ctxt_code, Fcomp__init_ctxt): Use these instead of the - global variables. - (Fcomp__compile_ctxt_to_file): Set comp.speed and comp.debug and - use them. + * lisp/emacs-lisp/bytecomp.el (byte-native-qualities): Define + variable. + (byte-compile-from-buffer): Spill compilation qualities. + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug): Make + them file local variables. + (comp-ctxt): Add `speed' and `debug' slots. + (comp-spill-speed, comp-spill-lap-function): Make use of these. + (comp-spill-lap-function): Spill qualities from + `byte-native-qualities'. + (comp-limplify-top-level): Do not use `comp-speed' but ctxt value + unstead. + (comp-final): Do not propagate qualities as they are already + in the `comp-ctxt'. + (comp--native-compile): Close on `byte-native-qualities'. + * src/comp.c (comp_t): Add 'speed' and 'debug' fields. + (emit_comment, emit_mvar_rval, emit_static_object) + (emit_ctxt_code, Fcomp__init_ctxt): Use these instead of the + global variables. + (Fcomp__compile_ctxt_to_file): Set comp.speed and comp.debug and + use them. 2020-11-07 Eli Zaretskii @@ -53053,16 +53053,14 @@ Handle type hierarchy in native compiler forward propagation - 2020-11-07 Andrea Corallo - - * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add fixnum - and bignum. - * lisp/emacs-lisp/comp.el (comp-ctxt): Add `supertype-memoize' - slot. - (comp-supertypes, comp-common-supertype-2) - (comp-common-supertype): New functions. - (comp-fwprop-insn): Make use of `comp-common-supertype' to - identify the common supertype to be propagated. + * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add fixnum + and bignum. + * lisp/emacs-lisp/comp.el (comp-ctxt): Add `supertype-memoize' + slot. + (comp-supertypes, comp-common-supertype-2) + (comp-common-supertype): New functions. + (comp-fwprop-insn): Make use of `comp-common-supertype' to + identify the common supertype to be propagated. 2020-11-07 Kazuhiro Ito (tiny change) @@ -53304,10 +53302,10 @@ 2020-11-05 Andrea Corallo - * A native compiler forward propagation fix + A native compiler forward propagation fix - * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar' - `const-vld' slot left unset while propagating in phis. + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar' + `const-vld' slot left unset while propagating in phis. 2020-11-05 Basil L. Contovounesios @@ -54019,11 +54017,11 @@ 2020-11-01 Andrea Corallo - * Fix 'comp-call-optim pass' for anonymous lambdas + Fix 'comp-call-optim pass' for anonymous lambdas - * lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous - lambdas gate. - (comp-call-optim-form-call): Add the correct missing condition. + * lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous + lambdas gate. + (comp-call-optim-form-call): Add the correct missing condition. 2020-11-01 Andrea Corallo @@ -54031,17 +54029,17 @@ 2020-11-01 Andrea Corallo - * Add some 'cond-rw' pass related tests + Add some 'cond-rw' pass related tests - * test/src/comp-tests.el (comp-tests-cond-rw-checked-function): - Declare var. - (comp-tests-cond-rw-checker-val): New function. - (comp-tests-cond-rw-checker-type): Declare var. - (comp-tests-cond-rw-checker-type): New function. - (comp-tests-cond-rw-0-var): Declare var. - (comp-tests-cond-rw-0, comp-tests-cond-rw-1, comp-tests-cond-rw-2) - (comp-tests-cond-rw-3, comp-tests-cond-rw-4) - (comp-tests-cond-rw-5): New testcases. + * test/src/comp-tests.el (comp-tests-cond-rw-checked-function): + Declare var. + (comp-tests-cond-rw-checker-val): New function. + (comp-tests-cond-rw-checker-type): Declare var. + (comp-tests-cond-rw-checker-type): New function. + (comp-tests-cond-rw-0-var): Declare var. + (comp-tests-cond-rw-0, comp-tests-cond-rw-1, comp-tests-cond-rw-2) + (comp-tests-cond-rw-3, comp-tests-cond-rw-4) + (comp-tests-cond-rw-5): New testcases. 2020-11-01 Andrea Corallo @@ -54051,13 +54049,13 @@ and placing a new LIMPLE operator 'assume' in use by fwprop to propagate conditional branch test informations on target basic blocks. - * lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'. - (comp-limple-assignments): Add `assume' operator. - (comp-emit-assume, comp-cond-rw-target-slot, comp-cond-rw-func) - (comp-cond-rw): Add new functions. - (comp-fwprop-insn): Update to pattern match `assume' insns. - * src/comp.c (emit_limple_insn): Add for `assume'. - (syms_of_comp): Define 'Qassume' symbol. + * lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'. + (comp-limple-assignments): Add `assume' operator. + (comp-emit-assume, comp-cond-rw-target-slot, comp-cond-rw-func) + (comp-cond-rw): Add new functions. + (comp-fwprop-insn): Update to pattern match `assume' insns. + * src/comp.c (emit_limple_insn): Add for `assume'. + (syms_of_comp): Define 'Qassume' symbol. 2020-11-01 Lars Ingebrigtsen @@ -54071,13 +54069,13 @@ 2020-11-01 Andrea Corallo - * Rework some native compiler test infrastructure + Rework some native compiler test infrastructure - * test/src/comp-tests.el (comp-tests-map-checker): New function - returning a list holding checker results. - (comp-tests-tco-checker, comp-tests-fw-prop-checker-1) - (comp-tests-pure-checker-1, comp-tests-pure-checker-2): Make use - of `comp-tests-map-checker'. + * test/src/comp-tests.el (comp-tests-map-checker): New function + returning a list holding checker results. + (comp-tests-tco-checker, comp-tests-fw-prop-checker-1) + (comp-tests-pure-checker-1, comp-tests-pure-checker-2): Make use + of `comp-tests-map-checker'. 2020-11-01 Mauro Aranda @@ -55197,10 +55195,10 @@ Make native compiler tollerant to redefined primitives (bug#44221). - * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Rework based - on the fact that the subr can now be redefined. - * test/src/comp-tests.el (primitive-redefine-compile-44221): - New testcase. + * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Rework based + on the fact that the subr can now be redefined. + * test/src/comp-tests.el (primitive-redefine-compile-44221): + New testcase. 2020-10-26 Eli Zaretskii @@ -55251,17 +55249,17 @@ Fix defsubst effectiveness (bug#44209) - * lisp/emacs-lisp/byte-run.el (defsubst): Fix macro definition. - * test/src/comp-tests.el (comp-test-defsubst): New testcase. - * test/src/comp-test-funcs.el (comp-test-defsubst-f): New - function. + * lisp/emacs-lisp/byte-run.el (defsubst): Fix macro definition. + * test/src/comp-tests.el (comp-test-defsubst): New testcase. + * test/src/comp-test-funcs.el (comp-test-defsubst-f): New + function. 2020-10-25 Andrea Corallo - * Fix a function for native compilation in cc-bytecomp.el + Fix a function for native compilation in cc-bytecomp.el - * lisp/progmodes/cc-bytecomp.el - (cc-bytecomp-compiling-or-loading): Update for native compilation. + * lisp/progmodes/cc-bytecomp.el + (cc-bytecomp-compiling-or-loading): Update for native compilation. 2020-10-25 Stefan Kangas @@ -55303,10 +55301,10 @@ 2020-10-25 Andrea Corallo - * Fix ELC+ELN vs ELC prefix while building non AoT native compiled files + Fix ELC+ELN vs ELC prefix while building non AoT native compiled files - * lisp/Makefile.in (am__v_ELC_0): Set it correctly when - NATIVE_DISABLED is 1. + * lisp/Makefile.in (am__v_ELC_0): Set it correctly when + NATIVE_DISABLED is 1. 2020-10-25 Mattias Engdeg奪rd @@ -55318,13 +55316,13 @@ 2020-10-25 Andrea Corallo - * Report warnings and errors from native asynchronous compilation (bug#44168) + Report warnings and errors from native asynchronous compilation (bug#44168) - * lisp/emacs-lisp/comp.el (comp-last-scanned-async-output): New - buffer local variable. - (comp-accept-and-process-async-output): New function. - (comp-run-async-workers): Use - `comp-accept-and-process-async-output'. + * lisp/emacs-lisp/comp.el (comp-last-scanned-async-output): New + buffer local variable. + (comp-accept-and-process-async-output): New function. + (comp-run-async-workers): Use + `comp-accept-and-process-async-output'. 2020-10-25 Lars Ingebrigtsen @@ -55347,12 +55345,12 @@ 2020-10-25 Andrea Corallo - * Fix `comp-dry-run' effectiveness + Fix `comp-dry-run' effectiveness - * lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove - `comp-dry-run' guard. - (comp-final): And move it here so is effective for interactive - sessions and non. + * lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove + `comp-dry-run' guard. + (comp-final): And move it here so is effective for interactive + sessions and non. 2020-10-25 Philipp Stephani @@ -56272,22 +56270,22 @@ Sanitize eln filename when native compiling single functions - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Fix - temporary eln name generation. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Fix + temporary eln name generation. - * test/src/comp-tests.el (free-fun-silly-name): New testcase. + * test/src/comp-tests.el (free-fun-silly-name): New testcase. 2020-10-20 Andrea Corallo - * Have `native-compile' do not expose `with-late-load' parameter + Have `native-compile' do not expose `with-late-load' parameter This is really for internal use only by deferred compilation. - * lisp/emacs-lisp/comp.el (comp-trampoline-compile) - (comp-run-async-workers): Make use of `comp--native-compile'. - (comp--native-compile): New function. - (native-compile, batch-native-compile): Make use of - `comp--native-compile'. + * lisp/emacs-lisp/comp.el (comp-trampoline-compile) + (comp-run-async-workers): Make use of `comp--native-compile'. + (comp--native-compile): New function. + (native-compile, batch-native-compile): Make use of + `comp--native-compile'. 2020-10-20 Stefan Kangas @@ -57460,11 +57458,11 @@ 2020-10-15 Andrea Corallo - * Do not check eln timestamp as superseded by source hashing (bug#43532) + Do not check eln timestamp as superseded by source hashing (bug#43532) - * src/lread.c (maybe_swap_for_eln): Remove eln file timestamp - check given is now unnecessary. - (openp): Update for new 'maybe_swap_for_eln' signature. + * src/lread.c (maybe_swap_for_eln): Remove eln file timestamp + check given is now unnecessary. + (openp): Update for new 'maybe_swap_for_eln' signature. 2020-10-15 Mattias Engdeg奪rd @@ -57565,64 +57563,64 @@ Use form native compilation in `comp-trampoline-compile' - * lisp/emacs-lisp/comp.el (comp-trampoline-sym): Remove function. - (comp-trampoline-filename): As we are introducing an ABI change in - the eln trampoline format change the trampoline filename to - disambiguate. - (comp-trampoline-search): Rename from `comp-search-trampoline' - and return directly the trampoline. - (comp-trampoline-compile): Rework to use native form compilation - in place of un-evaluating a function and return directly the - trampoline. - (comp-subr-trampoline-install): Update for - `comp-trampoline-search' and `comp-trampoline-compile' new - interfaces. - * src/comp.c (Fcomp__install_trampoline): Store the trampoline - itself as value in `comp-installed-trampolines-h'. - (syms_of_comp): Doc update `comp-installed-trampolines-h'. + * lisp/emacs-lisp/comp.el (comp-trampoline-sym): Remove function. + (comp-trampoline-filename): As we are introducing an ABI change in + the eln trampoline format change the trampoline filename to + disambiguate. + (comp-trampoline-search): Rename from `comp-search-trampoline' + and return directly the trampoline. + (comp-trampoline-compile): Rework to use native form compilation + in place of un-evaluating a function and return directly the + trampoline. + (comp-subr-trampoline-install): Update for + `comp-trampoline-search' and `comp-trampoline-compile' new + interfaces. + * src/comp.c (Fcomp__install_trampoline): Store the trampoline + itself as value in `comp-installed-trampolines-h'. + (syms_of_comp): Doc update `comp-installed-trampolines-h'. 2020-10-14 Andrea Corallo - * Add a test to verify form native compilation. + Add a test to verify form native compilation. - * test/src/comp-tests.el (comp-deftest): Fix typo. - (compile-forms): New test. + * test/src/comp-tests.el (comp-deftest): Fix typo. + (compile-forms): New test. 2020-10-14 Andrea Corallo Rework `native-compile' interface so it can return compiled functions - * lisp/emacs-lisp/comp.el (native-compile): Return the compiled - function when the input is a symbol or a form. - * test/src/comp-tests.el (free-fun, tco, fw-prop): Update tests - for new `native-compile' interface. + * lisp/emacs-lisp/comp.el (native-compile): Return the compiled + function when the input is a symbol or a form. + * test/src/comp-tests.el (free-fun, tco, fw-prop): Update tests + for new `native-compile' interface. 2020-10-14 Andrea Corallo Have `native-elisp-load' return the last registerd function - * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize - 'top_level_run' so it returns the last value returned by - `comp--register-subr'. - * src/comp.c (load_comp_unit): Return what 'top_level_run' - returns. - (Fnative_elisp_load): Return what 'load_comp_unit' returns. - * src/comp.h (load_comp_unit): Update signature. + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize + 'top_level_run' so it returns the last value returned by + `comp--register-subr'. + * src/comp.c (load_comp_unit): Return what 'top_level_run' + returns. + (Fnative_elisp_load): Return what 'load_comp_unit' returns. + * src/comp.h (load_comp_unit): Update signature. 2020-10-14 Andrea Corallo - * Allow for lambda forms as native compilation input + Allow for lambda forms as native compilation input - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Add new - specialized method for compiling a lambda form. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Add new + specialized method for compiling a lambda form. 2020-10-14 Andrea Corallo - * Move context output computation in `comp-spill-lap-function' + Move context output computation in `comp-spill-lap-function' - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move - output filename computation here. - (native-compile): From here. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move + output filename computation here. + (native-compile): From here. 2020-10-14 Juri Linkov @@ -57878,14 +57876,14 @@ Fix some compilation warnings in non nativecomp build (bug#43892) - * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): - Declare function. - * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare - variable. - * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): - Declare function. - * lisp/files.el (comp-eln-to-el-h): Declare variable. - * lisp/help.el (subr-native-lambda-list): Declare function. + * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): + Declare function. + * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare + variable. + * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): + Declare function. + * lisp/files.el (comp-eln-to-el-h): Declare variable. + * lisp/help.el (subr-native-lambda-list): Declare function. 2020-10-12 Andrea Corallo @@ -57897,14 +57895,14 @@ Fix some compilation warnings in non nativecomp build (bug#43892) - * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): - Declare function. - * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare - variable. - * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): - Declare function. - * lisp/files.el (comp-eln-to-el-h): Declare variable. - * lisp/help.el (subr-native-lambda-list): Declare function. + * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): + Declare function. + * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare + variable. + * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): + Declare function. + * lisp/files.el (comp-eln-to-el-h): Declare variable. + * lisp/help.el (subr-native-lambda-list): Declare function. 2020-10-12 Stefan Kangas @@ -58195,34 +58193,34 @@ 2020-10-10 Andrea Corallo - * As edges are indexed store them in an hash table + As edges are indexed store them in an hash table - * lisp/emacs-lisp/comp.el (comp-edge): Update doc for 'number' - slot. - (comp-func): Rename 'edges' slot into 'edges-h'. - (comp-log-edges): Update logic for edges in an hash table. - (comp-clean-ssa, comp-compute-edges): Likewise. + * lisp/emacs-lisp/comp.el (comp-edge): Update doc for 'number' + slot. + (comp-func): Rename 'edges' slot into 'edges-h'. + (comp-log-edges): Update logic for edges in an hash table. + (comp-clean-ssa, comp-compute-edges): Likewise. 2020-10-10 Andrea Corallo - * Add into phi l-value args basic block names + Add into phi l-value args basic block names - * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): Clean-up a - leftover space. - (comp-finalize-phis): Cons the blasic block name providing the - mvar together with the mvar itself while forming the phi. - (comp-fwprop-insn): Destructure correctly the phi. + * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): Clean-up a + leftover space. + (comp-finalize-phis): Cons the blasic block name providing the + mvar together with the mvar itself while forming the phi. + (comp-fwprop-insn): Destructure correctly the phi. 2020-10-10 Andrea Corallo Provide feature nativecomp and make use of it - * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use - `featurep' to identify if the native compiler is available. - * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. - * lisp/emacs-lisp/package.el (package--delete-directory): Likewise. - * lisp/loadup.el: Likewise. - * src/comp.c (syms_of_comp): Provide feature nativecomp. + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use + `featurep' to identify if the native compiler is available. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/package.el (package--delete-directory): Likewise. + * lisp/loadup.el: Likewise. + * src/comp.c (syms_of_comp): Provide feature nativecomp. 2020-10-10 Andrea Corallo @@ -58259,26 +58257,26 @@ 2020-10-10 Andrea Corallo - * Fix LIMPLE latch block name coloring in "*Native-compile-Log*" + Fix LIMPLE latch block name coloring in "*Native-compile-Log*" - * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Fix - latch block name coloring. + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Fix + latch block name coloring. 2020-10-10 Brian Leung Various typo fixes in native compiler related files - * lisp/emacs-lisp/comp.el (native-compiler-error-dyn-func) - (comp-func, comp-func-l) - (comp-func-d, comp-ensure-native-compiler, comp-type-hint-p) - (comp-func-unique-in-cu-p, comp-alloc-class-to-container) - (comp-limple-mode, comp-loop-insn-in-block) - (comp-lex-byte-func-p, comp-c-func-name, comp-decrypt-arg-list) - (comp-spill-lap-function, comp-intern-func-in-ctxt) - (comp-spill-lap-function, comp-spill-lap, comp-emit-handler) - (comp-prepare-args-for-top-level): Various typo fixes. - * src/comp.c (Fcomp_el_to_eln_filename): Fix typo in error - message. + * lisp/emacs-lisp/comp.el (native-compiler-error-dyn-func) + (comp-func, comp-func-l) + (comp-func-d, comp-ensure-native-compiler, comp-type-hint-p) + (comp-func-unique-in-cu-p, comp-alloc-class-to-container) + (comp-limple-mode, comp-loop-insn-in-block) + (comp-lex-byte-func-p, comp-c-func-name, comp-decrypt-arg-list) + (comp-spill-lap-function, comp-intern-func-in-ctxt) + (comp-spill-lap-function, comp-spill-lap, comp-emit-handler) + (comp-prepare-args-for-top-level): Various typo fixes. + * src/comp.c (Fcomp_el_to_eln_filename): Fix typo in error + message. 2020-10-10 Mattias Engdeg奪rd @@ -58293,20 +58291,20 @@ 2020-10-10 Andrea Corallo - * Fix failure when compiling a trampoline with no eln-cache dir (bug#43875) + Fix failure when compiling a trampoline with no eln-cache dir (bug#43875) - * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create - the eln-cache dir if this is not existing, if fails to do that - move on to the next one. + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create + the eln-cache dir if this is not existing, if fails to do that + move on to the next one. 2020-10-10 Andrew Whatson * Fix typo name plus make error homogeneous in `comp-trampoline-compile' - * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo - renaming `comp-tampoline-compile' -> `comp-trampoline-compile'. - Change error to be consistent. - (comp-subr-trampoline-install): Use `comp-trampoline-compile'. + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo + renaming `comp-tampoline-compile' -> `comp-trampoline-compile'. + Change error to be consistent. + (comp-subr-trampoline-install): Use `comp-trampoline-compile'. 2020-10-10 Eli Zaretskii @@ -58551,21 +58549,21 @@ 2020-10-07 Andrea Corallo - * Fix failure when eln-cache is removed (introduced by 4a1bb46260) + Fix failure when eln-cache is removed (introduced by 4a1bb46260) - * src/comp.c (make_directory_wrapper, make_directory_wrapper_1): - New functions. - (Fcomp_el_to_eln_filename): If base_dir is not - specified and we are searching across `comp-load-path' try to - create a directory if does not exists. + * src/comp.c (make_directory_wrapper, make_directory_wrapper_1): + New functions. + (Fcomp_el_to_eln_filename): If base_dir is not + specified and we are searching across `comp-load-path' try to + create a directory if does not exists. 2020-10-07 Andrea Corallo - * Fix some nits in comp.el + Fix some nits in comp.el - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Use - `cl-defmethod' where correct in place of `cl-defgeneric'. - (comp-tampoline-compile): Add missing #. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Use + `cl-defmethod' where correct in place of `cl-defgeneric'. + (comp-tampoline-compile): Add missing #. 2020-10-07 Eli Zaretskii @@ -58602,18 +58600,18 @@ 2020-10-07 Andrea Corallo - * Do use echo area for async compilation started/finished messages + Do use echo area for async compilation started/finished messages - * lisp/emacs-lisp/comp.el (comp-run-async-workers) - (native-compile-async): Do not write into the echo area. + * lisp/emacs-lisp/comp.el (comp-run-async-workers) + (native-compile-async): Do not write into the echo area. 2020-10-07 Andrea Corallo - * Better libgccjit related error messaging during configure + Better libgccjit related error messaging during configure - * configure.ac: Distinguish the case when libgccjit is missing, - its headers are missing, or libgccjit is broken. Message the user - based on that. + * configure.ac: Distinguish the case when libgccjit is missing, + its headers are missing, or libgccjit is broken. Message the user + based on that. 2020-10-07 Lars Ingebrigtsen @@ -58736,11 +58734,11 @@ 2020-10-06 Andrea Corallo - * Native compiling do not target a directory with no write permission + Native compiling do not target a directory with no write permission - * src/comp.c (Fcomp_el_to_eln_filename): Check for write - permission while choosing the output directory in - `comp-eln-load-path'. + * src/comp.c (Fcomp_el_to_eln_filename): Check for write + permission while choosing the output directory in + `comp-eln-load-path'. 2020-10-06 Stefan Monnier @@ -58822,30 +58820,30 @@ 2020-10-05 Andrea Corallo - * Fix a test in test/lisp/subr-tests.el + Fix a test in test/lisp/subr-tests.el - * test/lisp/subr-tests.el (subr-tests-bug22027): Redefine - `read-string' with a lambda with the same number of arguments. + * test/lisp/subr-tests.el (subr-tests-bug22027): Redefine + `read-string' with a lambda with the same number of arguments. 2020-10-05 Andrea Corallo Add a test for primitive redefinition - * test/src/comp-tests.el (primitive-redefine): New test. - * test/src/comp-test-funcs.el (comp-test-primitive-redefine-f): - New function. + * test/src/comp-tests.el (primitive-redefine): New test. + * test/src/comp-test-funcs.el (comp-test-primitive-redefine-f): + New function. 2020-10-05 Andrea Corallo Make primitive redefinition effective through trampoline synthesis - * lisp/loadup.el (dump-mode): Set `comp-enable-subr-trampolines' - when finished bootstrap. - * src/data.c (Ffset): Call `comp-enable-subr-trampolines' when - redefining a subr. - * src/comp.c (syms_of_comp): Define `comp-subr-trampoline-install' - symbol. - (syms_of_comp): Define `comp-enable-subr-trampolines' variable. + * lisp/loadup.el (dump-mode): Set `comp-enable-subr-trampolines' + when finished bootstrap. + * src/data.c (Ffset): Call `comp-enable-subr-trampolines' when + redefining a subr. + * src/comp.c (syms_of_comp): Define `comp-subr-trampoline-install' + symbol. + (syms_of_comp): Define `comp-enable-subr-trampolines' variable. 2020-10-05 Andrea Corallo @@ -58993,13 +58991,13 @@ Make filename hashing compatible with self contained builds (bug#43532) - * Makefile.in (lispdirrel): Add replace template. - (epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h - * configure.ac (lispdirrel): Define variable (relative path of the - lisp files from the installation directory). - * src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to - rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'. - * src/epaths.in (PATH_REL_LOADSEARCH): Add macro template. + * Makefile.in (lispdirrel): Add replace template. + (epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h + * configure.ac (lispdirrel): Define variable (relative path of the + lisp files from the installation directory). + * src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to + rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'. + * src/epaths.in (PATH_REL_LOADSEARCH): Add macro template. 2020-10-04 Andrea Corallo @@ -59007,18 +59005,18 @@ 2020-10-04 Andrea Corallo - * Fix function description message for native compiled lisp functions + Fix function description message for native compiled lisp functions - * lisp/help-fns.el (help-fns-function-description-header): Fix - message. + * lisp/help-fns.el (help-fns-function-description-header): Fix + message. 2020-10-04 Andrea Corallo - * Fix two tests in help-fns-tests.el for native code + Fix two tests in help-fns-tests.el for native code - * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) - (help-fns-test-lisp-defsubst): Fix description string - for native compiled functions. + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) + (help-fns-test-lisp-defsubst): Fix description string + for native compiled functions. 2020-10-04 Michael Albinus @@ -59112,44 +59110,44 @@ Use `advice-flet' in place of `cl-letf' to avoid primitive redefinition - * test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use - `advice-flet' to advice primitive avoiding redefinition. + * test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use + `advice-flet' to advice primitive avoiding redefinition. - * test/lisp/tempo-tests.el (tempo-p-element-test) - (tempo-P-element-test, tempo-r-element-test) - (tempo-s-element-test, tempo-r>-element-test): Likewise. + * test/lisp/tempo-tests.el (tempo-p-element-test) + (tempo-P-element-test, tempo-r-element-test) + (tempo-s-element-test, tempo-r>-element-test): Likewise. - * test/lisp/subr-tests.el (subr-tests-bug22027): Likewise. + * test/lisp/subr-tests.el (subr-tests-bug22027): Likewise. - * test/lisp/shadowfile-tests.el (shadow-test00-clusters) - (shadow-test01-sites, shadow-test06-literal-groups) - (shadow-test07-regexp-groups): Likewise. + * test/lisp/shadowfile-tests.el (shadow-test00-clusters) + (shadow-test01-sites, shadow-test06-literal-groups) + (shadow-test07-regexp-groups): Likewise. - * test/lisp/replace-tests.el (replace-tests-with-undo): Likewise. + * test/lisp/replace-tests.el (replace-tests-with-undo): Likewise. - * test/lisp/play/dissociate-tests.el - (dissociate-tests-dissociated-press): Likewise. + * test/lisp/play/dissociate-tests.el + (dissociate-tests-dissociated-press): Likewise. - * test/lisp/net/tramp-tests.el (tramp-test10-write-region) - (tramp-test21-file-links): Likewise. + * test/lisp/net/tramp-tests.el (tramp-test10-write-region) + (tramp-test21-file-links): Likewise. - * test/lisp/kmacro-tests.el (kmacro-tests-call-macro-hint-and-repeat) - (kmacro-tests-repeat-on-last-key) - (kmacro-tests-repeat-view-and-run) - (kmacro-tests-bind-to-key-with-key-sequence-in-use): Likewise. + * test/lisp/kmacro-tests.el (kmacro-tests-call-macro-hint-and-repeat) + (kmacro-tests-repeat-on-last-key) + (kmacro-tests-repeat-view-and-run) + (kmacro-tests-bind-to-key-with-key-sequence-in-use): Likewise. - * test/lisp/files-tests.el (files-tests-read-file-in-~): Likewise. + * test/lisp/files-tests.el (files-tests-read-file-in-~): Likewise. - * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): - Likewise. + * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): + Likewise. - * test/lisp/bookmark-tests.el (bookmark-test-bmenu-locate): - Likewise. + * test/lisp/bookmark-tests.el (bookmark-test-bmenu-locate): + Likewise. - * test/lisp/abbrev-tests.el - (inverse-add-abbrev-skips-trailing-nonword) - (inverse-add-abbrev-skips-trailing-nonword/positive-arg) - (inverse-add-abbrev-skips-trailing-nonword/negative-arg): Likewise. + * test/lisp/abbrev-tests.el + (inverse-add-abbrev-skips-trailing-nonword) + (inverse-add-abbrev-skips-trailing-nonword/positive-arg) + (inverse-add-abbrev-skips-trailing-nonword/negative-arg): Likewise. 2020-10-02 Andrea Corallo @@ -59159,7 +59157,7 @@ we define `advice-flet' to use instead as an easy `cl-letf' replacement. - * lisp/emacs-lisp/nadvice.el (advice-flet): New macro. + * lisp/emacs-lisp/nadvice.el (advice-flet): New macro. 2020-10-02 Alan Mackenzie @@ -59212,18 +59210,18 @@ 2020-10-02 Andrea Corallo - * When advising search in `comp-eln-load-path' the first writable dir + When advising search in `comp-eln-load-path' the first writable dir - * lisp/emacs-lisp/comp.el (comp-tampoline-compile): Do not crash - if we can't write in the first entry in `comp-eln-load-path' but - search for another one. + * lisp/emacs-lisp/comp.el (comp-tampoline-compile): Do not crash + if we can't write in the first entry in `comp-eln-load-path' but + search for another one. 2020-10-02 Andrea Corallo - * Fix 'incoherent dumped eln file' error when DUMP-METHOD=pbootstrap + Fix 'incoherent dumped eln file' error when DUMP-METHOD=pbootstrap - * src/Makefile.in ($(bootstrap_pdmp)): Add missing --bin-dest - --eln-dest flags. + * src/Makefile.in ($(bootstrap_pdmp)): Add missing --bin-dest + --eln-dest flags. 2020-10-02 Andrea Corallo @@ -59278,11 +59276,11 @@ Tag all native compiler tests and skip them in vanilla builds - * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE) - (SELECTOR_ALL): Define selectors for vanilla or nativecomp builds. - * test/src/comp-tests.el: Do not native compile test files on - vanilla. - (comp-deftest): New macro to define tests tagging as :nativecomp. + * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE) + (SELECTOR_ALL): Define selectors for vanilla or nativecomp builds. + * test/src/comp-tests.el: Do not native compile test files on + vanilla. + (comp-deftest): New macro to define tests tagging as :nativecomp. 2020-10-02 Lars Ingebrigtsen @@ -59410,13 +59408,11 @@ 2020-10-01 Michael R. Mauger - 2020-03-29 Michael R. Mauger - - * lisp/progmodes/sql.el (sql-add-product): Re-correct argument - spec. Previous change was due to my mistake; I have - resolved back to the prior behavior (Bug#39960). - * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added - test to insure I don't make the same mistake again. + * lisp/progmodes/sql.el (sql-add-product): Re-correct argument + spec. Previous change was due to my mistake; I have + resolved back to the prior behavior (Bug#39960). + * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added + test to insure I don't make the same mistake again. 2020-10-01 Boruch Baum @@ -59699,12 +59695,12 @@ 2020-09-30 Andrea Corallo - * Improve some docstring in src/comp.c + Improve some docstring in src/comp.c - * src/comp.c (Fcomp_el_to_eln_filename) - (Fcomp__compile_ctxt_to_file): Improve docstring. - (Fcomp__compile_ctxt_to_file): Rename 'file_name' -> 'filename'. - (Fnative_comp_available_p): Improve docstring. + * src/comp.c (Fcomp_el_to_eln_filename) + (Fcomp__compile_ctxt_to_file): Improve docstring. + (Fcomp__compile_ctxt_to_file): Rename 'file_name' -> 'filename'. + (Fnative_comp_available_p): Improve docstring. 2020-09-30 Eli Zaretskii @@ -59895,14 +59891,14 @@ 2020-09-29 Andrea Corallo - * Some clean-up in comp.el + Some clean-up in comp.el - * lisp/emacs-lisp/comp.el (comp-emit-cond-jump, comp-emit-switch) - (comp-limplify-block, comp-compute-edges) - (comp-ssa-rename, comp-fwprop*, comp-effective-async-max-jobs) - (comp-run-async-workers): Respect max 80 columns. - (batch-byte-native-compile-for-bootstrap): Improve doc + remove - some now unnecessary error handling. + * lisp/emacs-lisp/comp.el (comp-emit-cond-jump, comp-emit-switch) + (comp-limplify-block, comp-compute-edges) + (comp-ssa-rename, comp-fwprop*, comp-effective-async-max-jobs) + (comp-run-async-workers): Respect max 80 columns. + (batch-byte-native-compile-for-bootstrap): Improve doc + remove + some now unnecessary error handling. 2020-09-29 Lars Ingebrigtsen @@ -59948,9 +59944,9 @@ Rename in docstrings "non nil" into "non-nil" - * lisp/emacs-lisp/comp.el: Rename non nil -> non-nil in doc. + * lisp/emacs-lisp/comp.el: Rename non nil -> non-nil in doc. - * src/comp.c: Likewise. + * src/comp.c: Likewise. 2020-09-28 Andrea Corallo @@ -59960,21 +59956,21 @@ Clean-up some now unnecessary diff against master - * lisp/emacs-lisp/autoload.el (update-directory-autoloads): - .eln files have been moved so remove the '.eln' match. + * lisp/emacs-lisp/autoload.el (update-directory-autoloads): + .eln files have been moved so remove the '.eln' match. - * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): - Likewise. + * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): + Likewise. - * lisp/emacs-lisp/find-func.el (find-library-suffixes): Clean-up - as '.eln' is no more in `load-suffixes'. + * lisp/emacs-lisp/find-func.el (find-library-suffixes): Clean-up + as '.eln' is no more in `load-suffixes'. - * lisp/help-fns.el (find-lisp-object-file-name): Clean-up as - `symbol-file' will return the '.elc' file. + * lisp/help-fns.el (find-lisp-object-file-name): Clean-up as + `symbol-file' will return the '.elc' file. - * src/lread.c (Fget_load_suffixes): Remove logic as '.eln' is not - anymore in load-suffixes. - (openp): Two spaces. + * src/lread.c (Fget_load_suffixes): Remove logic as '.eln' is not + anymore in load-suffixes. + (openp): Two spaces. 2020-09-28 Michael Albinus @@ -60762,10 +60758,10 @@ Rename comp--subr-safe-advice -> comp-subr-safe-advice - * lisp/emacs-lisp/comp.el (comp-subr-safe-advice): Rename - comp--subr-safe-advice -> comp-subr-safe-advice. - * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. - * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. + * lisp/emacs-lisp/comp.el (comp-subr-safe-advice): Rename + comp--subr-safe-advice -> comp-subr-safe-advice. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. 2020-09-24 Andrea Corallo @@ -60775,12 +60771,12 @@ Do not install a subr trampoline twice - * src/comp.c (syms_of_comp): Define and initialize - 'Vcomp_installed_trampolines_h'. - (Fcomp__install_trampoline): Fill 'Vcomp_installed_trampolines_h' - * lisp/emacs-lisp/comp.el (comp--subr-safe-advice): Make use of - `comp-installed-trampolines-h' to guard against installing a - trampoline twice. + * src/comp.c (syms_of_comp): Define and initialize + 'Vcomp_installed_trampolines_h'. + (Fcomp__install_trampoline): Fill 'Vcomp_installed_trampolines_h' + * lisp/emacs-lisp/comp.el (comp--subr-safe-advice): Make use of + `comp-installed-trampolines-h' to guard against installing a + trampoline twice. 2020-09-24 Andrea Corallo @@ -60790,30 +60786,30 @@ Add a test for primitive advicing effectiveness - * test/src/comp-test-funcs.el (comp-test-primitive-advice-f): New - function. - * test/src/comp-tests.el (comp-test-primitive-advice): New test. + * test/src/comp-test-funcs.el (comp-test-primitive-advice-f): New + function. + * test/src/comp-tests.el (comp-test-primitive-advice): New test. 2020-09-24 Andrea Corallo Call `comp--subr-safe-advice' from the advice machinery - * lisp/emacs-lisp/nadvice.el (advice--add-function): Call - `comp--subr-safe-advice' when necessary. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Call + `comp--subr-safe-advice' when necessary. - * lisp/emacs-lisp/advice.el (ad-add-advice): Likewhise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewhise. 2020-09-24 Andrea Corallo - * Add `comp--subr-safe-advice' entry point + Add `comp--subr-safe-advice' entry point Add a Lisp side entry-point to be called to make primitive adivicing effective. - * lisp/emacs-lisp/comp.el (comp-trampoline-sym) - (comp-trampoline-filename): New substs. - (comp-make-lambda-list-from-subr, comp-search-trampoline) - (comp-tampoline-compile): New functions + * lisp/emacs-lisp/comp.el (comp-trampoline-sym) + (comp-trampoline-filename): New substs. + (comp-make-lambda-list-from-subr, comp-search-trampoline) + (comp-tampoline-compile): New functions 2020-09-24 Eric Abrahamsen @@ -60839,20 +60835,20 @@ 2020-09-23 Andrea Corallo - * Add `comp--install-trampoline' machinery + Add `comp--install-trampoline' machinery - * src/comp.c (Fcomp__install_trampoline): New function to - install a subr trampoline into the function relocation table. - Once this is done any call from native compiled Lisp to the - related primitive will go through the `funcall' trampoline - making advicing effective. + * src/comp.c (Fcomp__install_trampoline): New function to + install a subr trampoline into the function relocation table. + Once this is done any call from native compiled Lisp to the + related primitive will go through the `funcall' trampoline + making advicing effective. 2020-09-23 Andrea Corallo Make CHECK_SUBR public - * src/data.c (CHECK_SUBR): Move from here to... - * src/lisp.h (CHECK_SUBR): ...to here. + * src/data.c (CHECK_SUBR): Move from here to... + * src/lisp.h (CHECK_SUBR): ...to here. 2020-09-23 Stefan Kangas @@ -61005,11 +61001,11 @@ 2020-09-22 Andrea Corallo - * Fix MacOS Emacs.app installation (bug#43532) + Fix MacOS Emacs.app installation (bug#43532) - * src/comp.c (Fcomp_el_to_eln_filename): Adapt the filename - hashing algorithm to allow for producing a MacOS self-contained - Emacs.app. + * src/comp.c (Fcomp_el_to_eln_filename): Adapt the filename + hashing algorithm to allow for producing a MacOS self-contained + Emacs.app. 2020-09-22 David Reitter @@ -61083,20 +61079,20 @@ 2020-09-21 Andrea Corallo - * Make use of use of `subr-primitive-p' in `find-function-library' + Make use of use of `subr-primitive-p' in `find-function-library' - * lisp/emacs-lisp/find-func.el (find-function-library): Use - `subr-primitive-p'. + * lisp/emacs-lisp/find-func.el (find-function-library): Use + `subr-primitive-p'. 2020-09-21 Andrea Corallo - * Sandbox syncronous libgccjit invocation on interactive sessions + Sandbox syncronous libgccjit invocation on interactive sessions Avoid unnecessary memory fragmentation/leakeage - * lisp/emacs-lisp/comp.el (comp-final1): New function. - (comp-final): Invoke `comp-final1' in a child process if in an - interactive session or directly otherwhise. + * lisp/emacs-lisp/comp.el (comp-final1): New function. + (comp-final): Invoke `comp-final1' in a child process if in an + interactive session or directly otherwhise. 2020-09-21 Andrea Corallo @@ -61658,28 +61654,24 @@ * doc/lispref/syntax.texi (Syntax Properties): Amend the description of the variable. -2020-09-19 Drew Adams - - Document and extend menu-bar-make-toggle some - - 2020-09-19 Lars Ingebrigtsen +2020-09-19 Lars Ingebrigtsen - * lisp/menu-bar.el (menu-bar-showhide-fringe-menu): Adjust caller. - (menu-bar-search-options-menu): Ditto. - (menu-bar-options-menu): Ditto. - (menu-bar-options-menu): Ditto. + * lisp/menu-bar.el (menu-bar-showhide-fringe-menu): Adjust caller. + (menu-bar-search-options-menu): Ditto. + (menu-bar-options-menu): Ditto. + (menu-bar-options-menu): Ditto. - * lisp/progmodes/gdb-mi.el (menu): Ditto. + * lisp/progmodes/gdb-mi.el (menu): Ditto. - * lisp/emacs-lisp/find-func.el (find-function-regexp): Add - menu-bar-make-toggle-command. + * lisp/emacs-lisp/find-func.el (find-function-regexp): Add + menu-bar-make-toggle-command. - * lisp/menu-bar.el (menu-bar-make-toggle): Compatibility wrapper. + * lisp/menu-bar.el (menu-bar-make-toggle): Compatibility wrapper. - 2020-09-19 Drew Adams +2020-09-19 Drew Adams - * lisp/menu-bar.el (menu-bar-make-toggle-command): Add doc string - and allow setting all keywords (bug#17954). + * lisp/menu-bar.el (menu-bar-make-toggle-command): Add doc string + and allow setting all keywords (bug#17954). 2020-09-19 Lennart Borgman @@ -62203,14 +62195,14 @@ 2020-09-15 Andrea Corallo - * Better error handling after calling 'gcc_jit_context_compile_to_file' + Better error handling after calling 'gcc_jit_context_compile_to_file' Tipically errors are catched in 'compile_function' but in case libgccjit throw an error only afterwards while compiling the whole compilation unit we have to report it correctly. - * src/comp.c (Fcomp__compile_ctxt_to_file): Catch libgccjit - errors after calling 'gcc_jit_context_compile_to_file'. + * src/comp.c (Fcomp__compile_ctxt_to_file): Catch libgccjit + errors after calling 'gcc_jit_context_compile_to_file'. 2020-09-14 Andrea Corallo @@ -62218,18 +62210,18 @@ 2020-09-14 Andrea Corallo - * Fix free function compilation load process. + Fix free function compilation load process. - * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Do not crash - if the eln filename is not canonical (tmp file or manual load). + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Do not crash + if the eln filename is not canonical (tmp file or manual load). 2020-09-14 Andrea Corallo - * Add gv-setters for compiler hints + Add gv-setters for compiler hints - * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add - gv-setters so type hinted expressions can be used as places. - Read we can now have like: '(cl-incf (cl-the fixnum x))'. + * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add + gv-setters so type hinted expressions can be used as places. + Read we can now have like: '(cl-incf (cl-the fixnum x))'. 2020-09-14 Andrea Corallo @@ -62237,12 +62229,12 @@ 2020-09-14 Andrea Corallo - * Remove type check emission from type hints low level primitives + Remove type check emission from type hints low level primitives These have to be emitted by higher level primitves as `cl-the'. - * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Do - not emit type checks. + * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Do + not emit type checks. 2020-09-14 Andrea Corallo @@ -62253,11 +62245,11 @@ 2020-09-14 Andrea Corallo - * Add 'cl-optimize' as function declaration + Add 'cl-optimize' as function declaration - * lisp/emacs-lisp/cl-macs.el: Register cl-optimize into - `defun-declarations-alist' and `macro-declarations-alist'. - (cl--optimize): New function to serve 'cl-optimize' declaration. + * lisp/emacs-lisp/cl-macs.el: Register cl-optimize into + `defun-declarations-alist' and `macro-declarations-alist'. + (cl--optimize): New function to serve 'cl-optimize' declaration. 2020-09-14 Andrea Corallo @@ -62432,11 +62424,11 @@ 2020-09-13 Andrea Corallo - * Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280). + Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280). - * lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed - declaration as this breaks a pre existing ones if present but - rather calls directly `byte-run--set-speed'. + * lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed + declaration as this breaks a pre existing ones if present but + rather calls directly `byte-run--set-speed'. 2020-09-13 Lars Ingebrigtsen @@ -62922,17 +62914,17 @@ 2020-09-11 Andrea Corallo - * Make use of new 'gcc_jit_global_set_initializer' entry point + Make use of new 'gcc_jit_global_set_initializer' entry point Use this brand new entry point to avoid the current workaround and its load-time memcpys. - * src/comp.c (gcc_jit_global_set_initializer): Add to the dynamic - load machinery. - (static_obj_t): Remove const qualifier from the data field. - (emit_static_object): Make use of 'gcc_jit_global_set_initializer' - when available. - (load_static_obj): Use the blob for loading if that was emitted. + * src/comp.c (gcc_jit_global_set_initializer): Add to the dynamic + load machinery. + (static_obj_t): Remove const qualifier from the data field. + (emit_static_object): Make use of 'gcc_jit_global_set_initializer' + when available. + (load_static_obj): Use the blob for loading if that was emitted. 2020-09-11 Lars Ingebrigtsen @@ -62985,11 +62977,11 @@ 2020-09-11 Andrea Corallo - * Update gitlab CI yml file + Update gitlab CI yml file - * .gitlab-ci.yml (test-native-bootstrap-speed0) - (test-native-bootstrap-speed1, test-native-bootstrap-speed2): - Update for new make invokation. + * .gitlab-ci.yml (test-native-bootstrap-speed0) + (test-native-bootstrap-speed1, test-native-bootstrap-speed2): + Update for new make invokation. 2020-09-11 Andrea Corallo @@ -62998,11 +62990,11 @@ To Ahead of Time compile the whole Emacs distro define NATIVE_FULL_AOT when invoking make ex: 'make NATIVE_FULL_AOT=1'. - * lisp/Makefile.in (NATIVE_SKIP_NONDUMP): New variable. - (compile-main): Use it + rename NATIVE_DISABLE -> NATIVE_DISABLED. - * lisp/emacs-lisp/comp.el - (batch-byte-native-compile-for-bootstrap): Rename NATIVE_DISABLE - -> NATIVE_DISABLED. + * lisp/Makefile.in (NATIVE_SKIP_NONDUMP): New variable. + (compile-main): Use it + rename NATIVE_DISABLE -> NATIVE_DISABLED. + * lisp/emacs-lisp/comp.el + (batch-byte-native-compile-for-bootstrap): Rename NATIVE_DISABLE + -> NATIVE_DISABLED. 2020-09-11 Eli Zaretskii @@ -63208,10 +63200,10 @@ 2020-09-10 Andrea Corallo - * Guard against trying to rename files into eln sys directory + Guard against trying to rename files into eln sys directory - * src/comp.c (file_in_eln_sys_dir): New function. - (Fnative_elisp_load): Make use of. + * src/comp.c (file_in_eln_sys_dir): New function. + (Fnative_elisp_load): Make use of. 2020-09-10 Andrea Corallo @@ -63219,10 +63211,10 @@ 2020-09-10 Andrea Corallo - * Fix rename file error when reloading the same file from an sys eln dir. + Fix rename file error when reloading the same file from an sys eln dir. - * src/comp.c (Fnative_elisp_load): Don't rename files we don't - have the permission for. + * src/comp.c (Fnative_elisp_load): Don't rename files we don't + have the permission for. 2020-09-10 Andrea Corallo @@ -63551,17 +63543,17 @@ 2020-09-08 Andrea Corallo - * Name temp eln files as .eln.tmp so we can't clean-up them mistakenly. + Name temp eln files as .eln.tmp so we can't clean-up them mistakenly. - * src/comp.c (Fcomp__compile_ctxt_to_file): Postfix temporary eln - files as .eln.tmp. + * src/comp.c (Fcomp__compile_ctxt_to_file): Postfix temporary eln + files as .eln.tmp. 2020-09-07 Andrea Corallo - * Do not crash compilation if user eln-cache wasn't already created. + Do not crash compilation if user eln-cache wasn't already created. - * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Guard - against calling `directory-files' on non existent directories. + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Guard + against calling `directory-files' on non existent directories. 2020-09-07 Lars Ingebrigtsen @@ -63841,43 +63833,43 @@ loaded by multiple Emacs sessions the last one being closed should delete it. - * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): New function. - (comp-delete-or-replace-file): Rename from - `comp--replace-output-file' and update so it can be used for - replacing or deleting shared libs safetly. - - * lisp/emacs-lisp/package.el (package--delete-directory): When - native compiled just call `comp-clean-up-stale-eln' for each - eln file we want to clean-up. - - * src/alloc.c (cleanup_vector): Call directly the dynlib_close. - - * src/comp.c (syms_of_comp): Update for comp_u->cfile removal. - Make 'all_loaded_comp_units_h' key-value weak as now the key will - be the filename. - (load_comp_unit): Register the compilation unit only when the load - is fully completed. - (register_native_comp_unit): Make the key of - all_loaded_comp_units_h the load filename. - (eln_load_path_final_clean_up): New function. - (dispose_comp_unit) - (finish_delayed_disposal_of_comp_units) - (dispose_all_remaining_comp_units) - (clean_package_user_dir_of_old_comp_units): Remove. - (Fcomp__compile_ctxt_to_file): Update for - `comp--replace-output-file' -> `comp-delete-or-replace-file' - rename. - - * src/comp.h (dispose_comp_unit) - (finish_delayed_disposal_of_comp_units) - (dispose_all_remaining_comp_units) - (clean_package_user_dir_of_old_comp_units): Remove. - (eln_load_path_final_clean_up): Add. - (struct Lisp_Native_Comp_Unit): Remove cfile field. - - * src/emacs.c (Fkill_emacs): Call 'eln_load_path_final_clean_up'. - - * src/pdumper.c (dump_do_dump_relocation): Do not set comp_u->cfile. + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): New function. + (comp-delete-or-replace-file): Rename from + `comp--replace-output-file' and update so it can be used for + replacing or deleting shared libs safetly. + + * lisp/emacs-lisp/package.el (package--delete-directory): When + native compiled just call `comp-clean-up-stale-eln' for each + eln file we want to clean-up. + + * src/alloc.c (cleanup_vector): Call directly the dynlib_close. + + * src/comp.c (syms_of_comp): Update for comp_u->cfile removal. + Make 'all_loaded_comp_units_h' key-value weak as now the key will + be the filename. + (load_comp_unit): Register the compilation unit only when the load + is fully completed. + (register_native_comp_unit): Make the key of + all_loaded_comp_units_h the load filename. + (eln_load_path_final_clean_up): New function. + (dispose_comp_unit) + (finish_delayed_disposal_of_comp_units) + (dispose_all_remaining_comp_units) + (clean_package_user_dir_of_old_comp_units): Remove. + (Fcomp__compile_ctxt_to_file): Update for + `comp--replace-output-file' -> `comp-delete-or-replace-file' + rename. + + * src/comp.h (dispose_comp_unit) + (finish_delayed_disposal_of_comp_units) + (dispose_all_remaining_comp_units) + (clean_package_user_dir_of_old_comp_units): Remove. + (eln_load_path_final_clean_up): Add. + (struct Lisp_Native_Comp_Unit): Remove cfile field. + + * src/emacs.c (Fkill_emacs): Call 'eln_load_path_final_clean_up'. + + * src/pdumper.c (dump_do_dump_relocation): Do not set comp_u->cfile. 2020-09-06 Basil L. Contovounesios @@ -64050,7 +64042,7 @@ 2020-09-06 Andrea Corallo - * Makefile.in (ELN_DESTDIR): Add ${version}/ to it. + Makefile.in (ELN_DESTDIR): Add ${version}/ to it. Merge remote-tracking branch 'savannah/master' into HEAD @@ -64334,20 +64326,20 @@ Add to the directory name used to disambiguate the eln compatibility the Emacs version to have it more user friendly. - * Makefile.in (clean, install-eln): Rename eln-cache into - native-lisp. - (ELN_DESTDIR): Move from - '$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/' to - '$(DESTDIR)${libdir}/emacs/'. + * Makefile.in (clean, install-eln): Rename eln-cache into + native-lisp. + (ELN_DESTDIR): Move from + '$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/' to + '$(DESTDIR)${libdir}/emacs/'. - * lisp/loadup.el: Update for comp-native-path-postfix -> - comp-native-version-dir rename. + * lisp/loadup.el: Update for comp-native-path-postfix -> + comp-native-version-dir rename. - * src/comp.c (syms_of_comp): Rename eln-cache -> native-lisp. - (syms_of_comp, Fcomp_el_to_eln_filename): Rename - comp-native-path-postfix -> comp-native-version-dir. - (hash_native_abi): Rework and add emacs-version to - comp-native-version-dir. + * src/comp.c (syms_of_comp): Rename eln-cache -> native-lisp. + (syms_of_comp, Fcomp_el_to_eln_filename): Rename + comp-native-path-postfix -> comp-native-version-dir. + (hash_native_abi): Rework and add emacs-version to + comp-native-version-dir. 2020-09-04 Lars Ingebrigtsen @@ -64744,13 +64736,13 @@ 2020-09-01 Andrea Corallo - * Fix `load-filename' for installed instance (bug#43089) + Fix `load-filename' for installed instance (bug#43089) - * src/lread.c (parent_directory): Remove function as now - unnecessary. - (compute_found_effective): New function. - (Fload): Make use of 'compute_found_effective' and fix - `load-filename' computation. + * src/lread.c (parent_directory): Remove function as now + unnecessary. + (compute_found_effective): New function. + (Fload): Make use of 'compute_found_effective' and fix + `load-filename' computation. 2020-09-01 Robert Pluim @@ -64801,12 +64793,12 @@ Rework native compiled lisp/d lambda list accessor - * lisp/help.el (help-function-arglist): Logic update for new - 'Fsubr_native_lambda_list'. - * src/data.c (Fsubr_native_dyn_p): Remove. - (Fsubr_native_lambda_list): Return t when the input is not a - compiled lisp/d subr. - (syms_of_data): Update for 'Fsubr_native_dyn_p' removal. + * lisp/help.el (help-function-arglist): Logic update for new + 'Fsubr_native_lambda_list'. + * src/data.c (Fsubr_native_dyn_p): Remove. + (Fsubr_native_lambda_list): Return t when the input is not a + compiled lisp/d subr. + (syms_of_data): Update for 'Fsubr_native_dyn_p' removal. 2020-08-31 Andrea Corallo @@ -64816,13 +64808,13 @@ Fix describe function arglist for native compiled lisp/d (bug#42572) - * lisp/help.el (help-function-arglist): Handle the case of native - compiled lisp/d. + * lisp/help.el (help-function-arglist): Handle the case of native + compiled lisp/d. - * src/data.c (syms_of_data): Register new subrs. - (Fsubr_native_dyn_p, Fsubr_native_lambda_list): New primitives. + * src/data.c (syms_of_data): Register new subrs. + (Fsubr_native_dyn_p, Fsubr_native_lambda_list): New primitives. - * test/src/comp-tests.el (comp-tests-dynamic-help-arglist): New test. + * test/src/comp-tests.el (comp-tests-dynamic-help-arglist): New test. 2020-08-31 Stefan Kangas @@ -65075,10 +65067,10 @@ 2020-08-30 Andrea Corallo - * Store raw documentation during native compilation (bug#42974) + Store raw documentation during native compilation (bug#42974) - * lisp/emacs-lisp/comp.el (comp-spill-lap-function) - (comp-intern-func-in-ctxt): Use raw documentation. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function) + (comp-intern-func-in-ctxt): Use raw documentation. 2020-08-30 Stefan Kangas @@ -65156,11 +65148,11 @@ Have .elc files in `load-history' when loading native code (bug#43089) - * src/lread.c (Fload): Add the corresponding .elc file to - `load-history' when loading native code. + * src/lread.c (Fload): Add the corresponding .elc file to + `load-history' when loading native code. - * lisp/subr.el (eval-after-load): Use `load-file-name' instead of - `load-true-file-name'. + * lisp/subr.el (eval-after-load): Use `load-file-name' instead of + `load-true-file-name'. 2020-08-29 Jo達o T叩vora @@ -65176,11 +65168,11 @@ 2020-08-29 Andrea Corallo - * Back using `load-file-name' when reading '#$' (bug#42961) + Back using `load-file-name' when reading '#$' (bug#42961) - * src/lread.c (read1, read_list): Use again load-file-name when - reading '#$'. - (syms_of_lread): Update `load-file-name' doc. + * src/lread.c (read1, read_list): Use again load-file-name when + reading '#$'. + (syms_of_lread): Update `load-file-name' doc. 2020-08-29 Ulrich M端ller @@ -65576,20 +65568,20 @@ 2020-08-26 Andrea Corallo - * Init gcc_jit_context_add_driver_option as optional + Init gcc_jit_context_add_driver_option as optional - * src/comp.c (init_gccjit_functions): Use LOAD_DLL_FN_OPT to init - 'gcc_jit_context_add_driver_option' as this is optional. + * src/comp.c (init_gccjit_functions): Use LOAD_DLL_FN_OPT to init + 'gcc_jit_context_add_driver_option' as this is optional. 2020-08-26 Andrea Corallo - * Rename comp-native-driver-options-available-p + Rename comp-native-driver-options-available-p - * src/comp.c (Fcomp_native_driver_options_effective_p) - Rename plus better doc. - (add_driver_options, syms_of_comp): Rename - `comp-native-driver-options-available-p' into - comp-native-driver-options-effective-p. + * src/comp.c (Fcomp_native_driver_options_effective_p) + Rename plus better doc. + (add_driver_options, syms_of_comp): Rename + `comp-native-driver-options-available-p' into + comp-native-driver-options-effective-p. 2020-08-26 Andrea Corallo @@ -65604,10 +65596,10 @@ 2020-08-26 Andrea Corallo - * Improve 'add_driver_options' + Improve 'add_driver_options' - * src/comp.c (add_driver_options): Use - load_gccjit_if_necessary and FOR_EACH_TAIL + GNU style. + * src/comp.c (add_driver_options): Use + load_gccjit_if_necessary and FOR_EACH_TAIL + GNU style. 2020-08-26 Andreas Fuchs @@ -66309,11 +66301,11 @@ 2020-08-23 Andrea Corallo - * A cc-mode fix to be compiled correctly once installed + A cc-mode fix to be compiled correctly once installed - * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): If cc-mode - is not compiled during the initial build (read - NATIVE_FAST_BOOT) it will be when already in el.gz form. + * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): If cc-mode + is not compiled during the initial build (read + NATIVE_FAST_BOOT) it will be when already in el.gz form. 2020-08-23 Andrea Corallo @@ -66324,25 +66316,25 @@ /absolute/path/filename.el + content -> eln-cache/filename-path_hash-content_hash.eln - * src/lread.c (maybe_swap_for_eln): Always call - Fcomp_el_to_eln_filename on an existing source file. + * src/lread.c (maybe_swap_for_eln): Always call + Fcomp_el_to_eln_filename on an existing source file. - * src/comp.c (md5.h, sysstdio.h, zlib.h): New include. - (comp_hash_string): Use md5 instead of sha512. - (MD5_BLOCKSIZE): New macro. - (accumulate_and_process_md5, final_process_md5, md5_gz_stream) - (comp_hash_source_file): New functions. - (Fcomp_el_to_eln_filename): Rework for hasing using also source - file content. + * src/comp.c (md5.h, sysstdio.h, zlib.h): New include. + (comp_hash_string): Use md5 instead of sha512. + (MD5_BLOCKSIZE): New macro. + (accumulate_and_process_md5, final_process_md5, md5_gz_stream) + (comp_hash_source_file): New functions. + (Fcomp_el_to_eln_filename): Rework for hasing using also source + file content. - * src/lread.c (maybe_swap_for_eln): Rename el_name -> src_name as - this can be also a have .el.gz extention. + * src/lread.c (maybe_swap_for_eln): Rename el_name -> src_name as + this can be also a have .el.gz extention. 2020-08-23 Andrea Corallo - * Import lib/af_alg.h from gnulib + Import lib/af_alg.h from gnulib - * lib/af_alg.h: New file. + * lib/af_alg.h: New file. 2020-08-23 Andrea Corallo @@ -66870,10 +66862,10 @@ deleted!). To prevent this scenario the last modification time of the source file is included in the hashing algorithm. - * src/comp.c (Fcomp_el_to_eln_filename): Update hashing algo to - include the source last modification date. - * src/lread.c (maybe_swap_for_eln): Do not check for eln newer - then elc as this is now unnecessary. + * src/comp.c (Fcomp_el_to_eln_filename): Update hashing algo to + include the source last modification date. + * src/lread.c (maybe_swap_for_eln): Do not check for eln newer + then elc as this is now unnecessary. 2020-08-19 Andrea Corallo @@ -67449,8 +67441,8 @@ * Fix async compilation `comp-eln-load-path' effectiveness (bug#42909) - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward - `comp-eln-load-path' to async workers. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward + `comp-eln-load-path' to async workers. 2020-08-18 Lars Ingebrigtsen @@ -67525,17 +67517,17 @@ 2020-08-17 Andrea Corallo - * Improve eln filename hashing + Improve eln filename hashing Make eln filename hashing logic insensitive to the installation process. - * src/comp.c (epaths.h): New include to have PATH_DUMPLOADSEARCH, - PATH_LOADSEARCH definitions. - (loadsearch_re_list): New static var. - (Fcomp_el_to_eln_filename): Update logic to have the eln hashing - insensitive to the installation process. - (syms_of_comp): GC protect 'loadsearch_re_list'. + * src/comp.c (epaths.h): New include to have PATH_DUMPLOADSEARCH, + PATH_LOADSEARCH definitions. + (loadsearch_re_list): New static var. + (Fcomp_el_to_eln_filename): Update logic to have the eln hashing + insensitive to the installation process. + (syms_of_comp): GC protect 'loadsearch_re_list'. 2020-08-17 Andrea Corallo @@ -67543,21 +67535,21 @@ 2020-08-17 Andrea Corallo - * Introduce `load-no-native' + Introduce `load-no-native' Given load loads automatically a .eln in place of a .elc we need a way to force the .elc load in the case we really want it. - * src/lread.c (syms_of_lread): Define `load-no-native'. - (maybe_swap_for_eln): Make use of. + * src/lread.c (syms_of_lread): Define `load-no-native'. + (maybe_swap_for_eln): Make use of. 2020-08-17 Andrea Corallo - * Remove a false permission related error while native compiling + Remove a false permission related error while native compiling - * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if - native compiling we have no permission to create the .elc - file. We are not creating it. + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if + native compiling we have no permission to create the .elc + file. We are not creating it. 2020-08-17 Andrea Corallo @@ -67565,86 +67557,86 @@ This is needed for installed instances compiled with NATIVE_FAST_BOOT - * src/comp.c (maybe_defer_native_compilation): Search for .el.gz - too as a source if the .el is not found. - (Fcomp_el_to_eln_filename): Remove the .gz in case to - generate the hash. + * src/comp.c (maybe_defer_native_compilation): Search for .el.gz + too as a source if the .el is not found. + (Fcomp_el_to_eln_filename): Remove the .gz in case to + generate the hash. - * lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst. - (comp-run-async-workers, native-compile-async): Make use of - `comp-valid-source-re'. + * lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst. + (comp-run-async-workers, native-compile-async): Make use of + `comp-valid-source-re'. 2020-08-17 Andrea Corallo Make install target functional for new eln-cache directory arrangement - * src/comp.h (fixup_eln_load_path): New extern. + * src/comp.h (fixup_eln_load_path): New extern. - * src/comp.c (fixup_eln_load_path): New function. + * src/comp.c (fixup_eln_load_path): New function. - * src/pdumper.c (dump_do_dump_relocation): Update to make use of - 'fixup_eln_load_path'. + * src/pdumper.c (dump_do_dump_relocation): Update to make use of + 'fixup_eln_load_path'. - * lisp/loadup.el: Update to store in the compilation unit the - correct eln-cache installed path. Rename --lisp-dest -> --eln-dest - and. + * lisp/loadup.el: Update to store in the compilation unit the + correct eln-cache installed path. Rename --lisp-dest -> --eln-dest + and. - * Makefile.in: Pass the eln destination directory to - src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR. - (ELN_DESTDIR): Define. - (install-eln): New target. - (install): Add install-eln as prerequisite. + * Makefile.in: Pass the eln destination directory to + src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR. + (ELN_DESTDIR): Define. + (install-eln): New target. + (install): Add install-eln as prerequisite. - * src/Makefile.in: Rename --lisp-dest -> --eln-dest and - LISP_DESTDIR -> ELN_DESTDIR. + * src/Makefile.in: Rename --lisp-dest -> --eln-dest and + LISP_DESTDIR -> ELN_DESTDIR. 2020-08-17 Andrea Corallo - * Deferred compilation must always compile despite source file timestamp + Deferred compilation must always compile despite source file timestamp - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile - if load is set. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile + if load is set. 2020-08-17 Andrea Corallo - * Do not fail if more then one level of directories has to be created + Do not fail if more then one level of directories has to be created - * lisp/emacs-lisp/comp.el (native-compile-async): Call - make-directory if necessary. + * lisp/emacs-lisp/comp.el (native-compile-async): Call + make-directory if necessary. 2020-08-17 Andrea Corallo - * Prevent recursive load + Prevent recursive load Prevent autoload to kicks in while running `native-compile-async'. Autoload cannot be used safely by functions serving deferred compilation as a circular load can be triggered if the dependency is not native compiled already. - * lisp/emacs-lisp/comp.el (warnings): Add require. + * lisp/emacs-lisp/comp.el (warnings): Add require. 2020-08-17 Andrea Corallo Some Makefile updates and clean-up - * Makefile.in (clean): Remove 'eln-cache' folder. + * Makefile.in (clean): Remove 'eln-cache' folder. - * lisp/Makefile.in (.SUFFIXES): Remove .eln. - (native-compile-clean): Target remove. - (compile-always, bootstrap-clean): Remove 'native-compile-clean' - prerequisite. + * lisp/Makefile.in (.SUFFIXES): Remove .eln. + (native-compile-clean): Target remove. + (compile-always, bootstrap-clean): Remove 'native-compile-clean' + prerequisite. - * src/Makefile.in (%.eln): Remove rule. + * src/Makefile.in (%.eln): Remove rule. 2020-08-17 Andrea Corallo Make comp-deferred-compilation a simple global and set it on by default - * src/comp.c (comp_deferred_compilation): Doc update and set it to - true by default. + * src/comp.c (comp_deferred_compilation): Doc update and set it to + true by default. - * lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove - customize. + * lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove + customize. 2020-08-17 Andrea Corallo @@ -67655,45 +67647,45 @@ `comp-eln-load-path' contains by default two directory (user and system one). - * src/pdumper.c (dump_do_dump_relocation): While resurrecting from - load set eln cache sys dir in `Vcomp_eln_load_path'. - - * src/lread.c (maybe_swap_for_eln): New function. - (Fload): Clean-up some now unnecessary code going - back to the master one. - (Fload): Make use of Vcomp_eln_to_el_h for the reverse file - look-up. - (openp_add_middle_dir_to_suffixes) - (openp_max_middledir_and_suffix_len, openp_fill_filename_buffer): - Remove functions. - (openp): As for Fload revert code modifications. - (openp): When a .elc file is being loaded check if a corresponding - eln can be loaded in place. - - * src/comp.c (ELN_FILENAME_HASH_LEN): New macro. - (comp_hash_string): New function. - (hash_native_abi): Make use of 'comp_hash_string'. - (hash_native_abi): Change `comp-native-path-postfix' format. - (Fcomp_el_to_eln_filename): New function. - (Fcomp__compile_ctxt_to_file): Have file_name as a input. - (Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global varaibles. - - * lisp/startup.el (normal-top-level): Add user eln cache directory - in `comp-eln-load-path'. - - * lisp/help-fns.el (find-lisp-object-file-name): Reverse look-up - files using `comp-eln-to-el-h'. - - * lisp/files.el (locate-file): Likewise. - - * lisp/emacs-lisp/find-func.el (find-library-name): Likewise. - - * lisp/emacs-lisp/comp.el (comp-output-directory) - (comp-output-base-filename, comp-output-filename): Remove function. - (comp-compile-ctxt-to-file): Create parent directories if - necessary. - (comp-run-async-workers, native-compile, native-compile-async): - Make use `comp-el-to-eln-filename'. + * src/pdumper.c (dump_do_dump_relocation): While resurrecting from + load set eln cache sys dir in `Vcomp_eln_load_path'. + + * src/lread.c (maybe_swap_for_eln): New function. + (Fload): Clean-up some now unnecessary code going + back to the master one. + (Fload): Make use of Vcomp_eln_to_el_h for the reverse file + look-up. + (openp_add_middle_dir_to_suffixes) + (openp_max_middledir_and_suffix_len, openp_fill_filename_buffer): + Remove functions. + (openp): As for Fload revert code modifications. + (openp): When a .elc file is being loaded check if a corresponding + eln can be loaded in place. + + * src/comp.c (ELN_FILENAME_HASH_LEN): New macro. + (comp_hash_string): New function. + (hash_native_abi): Make use of 'comp_hash_string'. + (hash_native_abi): Change `comp-native-path-postfix' format. + (Fcomp_el_to_eln_filename): New function. + (Fcomp__compile_ctxt_to_file): Have file_name as a input. + (Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global varaibles. + + * lisp/startup.el (normal-top-level): Add user eln cache directory + in `comp-eln-load-path'. + + * lisp/help-fns.el (find-lisp-object-file-name): Reverse look-up + files using `comp-eln-to-el-h'. + + * lisp/files.el (locate-file): Likewise. + + * lisp/emacs-lisp/find-func.el (find-library-name): Likewise. + + * lisp/emacs-lisp/comp.el (comp-output-directory) + (comp-output-base-filename, comp-output-filename): Remove function. + (comp-compile-ctxt-to-file): Create parent directories if + necessary. + (comp-run-async-workers, native-compile, native-compile-async): + Make use `comp-el-to-eln-filename'. 2020-08-17 Paul Eggert @@ -67889,9 +67881,9 @@ 2020-08-15 Andrea Corallo - * Remove a warning for conventional build + Remove a warning for conventional build - * src/lread.c (parent_directory): Add ATTRIBUTE_UNUSED. + * src/lread.c (parent_directory): Add ATTRIBUTE_UNUSED. 2020-08-15 Paul Eggert @@ -68361,10 +68353,10 @@ 2020-08-14 Andrea Corallo - * Fix excessive echo area usage + Fix excessive echo area usage - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Use - `with-temp-file' to fill temp-file. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Use + `with-temp-file' to fill temp-file. 2020-08-14 Andrea Corallo @@ -70814,10 +70806,10 @@ 2020-08-02 Andrea Corallo - * Fix defsubst missing inline Bug#42664 + Fix defsubst missing inline Bug#42664 - * lisp/emacs-lisp/byte-run.el (defsubst): Do not native compile - defsubsts to have them always effective. + * lisp/emacs-lisp/byte-run.el (defsubst): Do not native compile + defsubsts to have them always effective. 2020-08-02 Philipp Stephani @@ -71494,18 +71486,18 @@ 2020-07-26 Andrea Corallo - * Add NATIVE_COMP to `system-configuration-features' + Add NATIVE_COMP to `system-configuration-features' - * configure.ac (emacs_config_features): Add NATIVE_COMP + * configure.ac (emacs_config_features): Add NATIVE_COMP 2020-07-26 Andrea Corallo - * Add `comp-ensure-native-compiler' guarding entry points + Add `comp-ensure-native-compiler' guarding entry points - * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): New function. - (native-compile, batch-native-compile) - (batch-byte-native-compile-for-bootstrap, native-compile-async): - Make use of `comp-ensure-native-compiler'. + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): New function. + (native-compile, batch-native-compile) + (batch-byte-native-compile-for-bootstrap, native-compile-async): + Make use of `comp-ensure-native-compiler'. 2020-07-25 Philipp Stephani @@ -72124,18 +72116,18 @@ Add a testcase for bug#42360 - * test/src/comp-tests.el (comp-test-42360): New testcase. + * test/src/comp-tests.el (comp-test-42360): New testcase. - * test/src/comp-test-funcs.el (comp-test-42360-f): New function. + * test/src/comp-test-funcs.el (comp-test-42360-f): New function. 2020-07-15 Andrea Corallo - * Fix bug#42360 + Fix bug#42360 - * src/comp.c (compile_function): Allocate function frame as array - if non local exits are present to retain correct Elisp semantic. - (emit_limple_call_ref): Directly use the frame array for ref calls - to have GCC spills into it before calling. + * src/comp.c (compile_function): Allocate function frame as array + if non local exits are present to retain correct Elisp semantic. + (emit_limple_call_ref): Directly use the frame array for ref calls + to have GCC spills into it before calling. 2020-07-15 Tassilo Horn @@ -72238,11 +72230,11 @@ 2020-07-15 Andrea Corallo - * Add a simple major mode for coloring LIMPLE in the log buffer + Add a simple major mode for coloring LIMPLE in the log buffer - * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): New const. - (comp-limple-mode): New major mode. - (comp-log-to-buffer): Enable `comp-limple-mode' in the log buffer. + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): New const. + (comp-limple-mode): New major mode. + (comp-log-to-buffer): Enable `comp-limple-mode' in the log buffer. 2020-07-15 Juri Linkov @@ -72278,48 +72270,48 @@ 2020-07-13 Andrea Corallo - * Rename `comp-propagate' into `fw-prop' + Rename `comp-propagate' into `fw-prop' - * lisp/emacs-lisp/comp.el (comp-passes): Rename `comp-propagate' - -> `comp-fwprop'. - (comp-fwprop-prologue): Rename from `comp-propagate-prologue'. - (comp-fwprop-insn): Rename from `comp-fwprop-insn'. - (comp-propagate*): Rename from `comp-propagate*' and update. - (comp-fwprop): Rename from `comp-propagate' and update. + * lisp/emacs-lisp/comp.el (comp-passes): Rename `comp-propagate' + -> `comp-fwprop'. + (comp-fwprop-prologue): Rename from `comp-propagate-prologue'. + (comp-fwprop-insn): Rename from `comp-fwprop-insn'. + (comp-propagate*): Rename from `comp-propagate*' and update. + (comp-fwprop): Rename from `comp-propagate' and update. 2020-07-13 Andrea Corallo - * Clean-up now unnecessary backward propagation in comp.el + Clean-up now unnecessary backward propagation in comp.el - * lisp/emacs-lisp/comp.el (comp-passes): Invoke 'comp-propagate' - instead of 'comp-propagate-alloc'. - (comp-mvar): Remove unnecessary `array-idx' slot. - (comp-propagate-prologue): Remove. - (comp-propagate-prologue): Remove `backward' parameter and - backward propagation logic. - (comp-propagate1): Remove and move logic into `comp-propagate'. - (comp-propagate-alloc): Remove pass. + * lisp/emacs-lisp/comp.el (comp-passes): Invoke 'comp-propagate' + instead of 'comp-propagate-alloc'. + (comp-mvar): Remove unnecessary `array-idx' slot. + (comp-propagate-prologue): Remove. + (comp-propagate-prologue): Remove `backward' parameter and + backward propagation logic. + (comp-propagate1): Remove and move logic into `comp-propagate'. + (comp-propagate-alloc): Remove pass. 2020-07-13 Andrea Corallo - * Rework frame allocation strategy + Rework frame allocation strategy All frame slots are now simple automatic variables given the array allocation and fill is done in 'emit_limple_call_ref'. - * src/comp.c (comp_t): Remove 'f_frame' 'arrays' slots, add - 'frame'. - (emit_mvar_lval): Simplify to make use of 'comp.frame'. - (compile_function): Clean-up and add comp.frame initialization. + * src/comp.c (comp_t): Remove 'f_frame' 'arrays' slots, add + 'frame'. + (emit_mvar_lval): Simplify to make use of 'comp.frame'. + (compile_function): Clean-up and add comp.frame initialization. 2020-07-13 Andrea Corallo - * Rework the backend to allocate arument arrays for call by references + Rework the backend to allocate arument arrays for call by references - * src/comp.c (comp_t): Add 'zero' field. - (emit_limple_call_ref): Allocate an array to host the parametes - and generate the code moving values into. - (Fcomp__init_ctxt): Initialize comp.zero. + * src/comp.c (comp_t): Add 'zero' field. + (emit_limple_call_ref): Allocate an array to host the parametes + and generate the code moving values into. + (Fcomp__init_ctxt): Initialize comp.zero. 2020-07-13 Juri Linkov @@ -72660,18 +72652,18 @@ 2020-07-09 Andrea Corallo - * Disable ipa-pure in comp-tests-tco + Disable ipa-pure in comp-tests-tco - * test/src/comp-tests.el (comp-tests-tco): Disable ipa-pure to - check effectively for tail recursion elimination. + * test/src/comp-tests.el (comp-tests-tco): Disable ipa-pure to + check effectively for tail recursion elimination. 2020-07-09 Andrea Corallo - * Add `comp-disabled-passes' + Add `comp-disabled-passes' - * lisp/emacs-lisp/comp.el (comp-disabled-passes): New special - variable. - (native-compile): Make use of `comp-disabled-passes'. + * lisp/emacs-lisp/comp.el (comp-disabled-passes): New special + variable. + (native-compile): Make use of `comp-disabled-passes'. 2020-07-09 Andrea Corallo @@ -72681,23 +72673,23 @@ Add some tests for pure function optimization - * test/src/comp-tests.el (comp-tests-fw-prop): Fix docstring. - (comp-tests-pure-checker-1, comp-tests-pure-checker-2): New - functions. - (comp-tests-pure): New test testing for pure function - optimization. + * test/src/comp-tests.el (comp-tests-fw-prop): Fix docstring. + (comp-tests-pure-checker-1, comp-tests-pure-checker-2): New + functions. + (comp-tests-pure): New test testing for pure function + optimization. 2020-07-09 Andrea Corallo - * Optimize pure functions defined by the compilation environment + Optimize pure functions defined by the compilation environment - * lisp/emacs-lisp/comp.el (comp-apply-in-env): New macro. - (comp-function-call-maybe-remove): Update to make use of - `comp-apply-in-env'. + * lisp/emacs-lisp/comp.el (comp-apply-in-env): New macro. + (comp-function-call-maybe-remove): Update to make use of + `comp-apply-in-env'. 2020-07-09 Andrea Corallo - * Introduce a new pass ipa-pure + Introduce a new pass ipa-pure Add a simple pass to infer pure functions not explicitly declared as such. Use this information only during compilation (speed 3) to @@ -72705,10 +72697,10 @@ 2020-07-09 Andrea Corallo - * Add `comp-call-op-p' + Add `comp-call-op-p' - * lisp/emacs-lisp/comp.el (comp-call-op-p): New predicate. - (comp-limple-insn-call-p): Make use of. + * lisp/emacs-lisp/comp.el (comp-call-op-p): New predicate. + (comp-limple-insn-call-p): Make use of. 2020-07-09 Andrea Corallo @@ -72716,18 +72708,18 @@ 2020-07-09 Andrea Corallo - * Define `comp-symbol-func-to-fun' + Define `comp-symbol-func-to-fun' - * lisp/emacs-lisp/comp.el (comp-symbol-func-to-fun): New function. - (comp-func-in-unit): Make use of the `comp-symbol-func-to-fun'. + * lisp/emacs-lisp/comp.el (comp-symbol-func-to-fun): New function. + (comp-func-in-unit): Make use of the `comp-symbol-func-to-fun'. 2020-07-09 Andrea Corallo - * Add a test targeting forward propagation + Add a test targeting forward propagation - * test/src/comp-tests.el (comp-tests-fw-prop-checker-1): New - function. - (comp-tests-fw-prop): New test. + * test/src/comp-tests.el (comp-tests-fw-prop-checker-1): New + function. + (comp-tests-fw-prop): New test. 2020-07-09 Jo達o T叩vora @@ -72762,21 +72754,21 @@ 2020-07-08 Andrea Corallo - * Rework some test logic for generality + Rework some test logic for generality - * test/src/comp-tests.el (comp-tests-make-insn-checker): New - function splitting logic from `comp-tests-tco-checker' to have it - more general. - (comp-tests-tco-checker): Make use of - `comp-tests-make-insn-checker'. + * test/src/comp-tests.el (comp-tests-make-insn-checker): New + function splitting logic from `comp-tests-tco-checker' to have it + more general. + (comp-tests-tco-checker): Make use of + `comp-tests-make-insn-checker'. 2020-07-08 Andrea Corallo - * Clean-up some const folding logic and add `comp-function-pure-p' + Clean-up some const folding logic and add `comp-function-pure-p' - * lisp/emacs-lisp/comp.el (comp-function-pure-p): New predicate. - (comp-function-call-maybe-remove): Update to use the - `comp-function-pure-p'. + * lisp/emacs-lisp/comp.el (comp-function-pure-p): New predicate. + (comp-function-call-maybe-remove): Update to use the + `comp-function-pure-p'. 2020-07-08 Mattias Engdeg奪rd @@ -73112,7 +73104,7 @@ 2020-07-04 Andrea Corallo - * Relax constant folding rules + Relax constant folding rules * lisp/emacs-lisp/comp.el (comp-function-optimizable-p): No need to check for operands or result to be fixnums. @@ -73160,39 +73152,39 @@ 2020-07-02 Andrea Corallo - * Fix missing tail recursion elimination + Fix missing tail recursion elimination - * lisp/emacs-lisp/comp.el (comp-tco-func): Fix tail recursion - elimination given now functions in LIMPLE are expressed with - the C name. + * lisp/emacs-lisp/comp.el (comp-tco-func): Fix tail recursion + elimination given now functions in LIMPLE are expressed with + the C name. 2020-07-02 Andrea Corallo - * Add a test to verify tail recursion elimination + Add a test to verify tail recursion elimination - * test/src/comp-tests.el (comp-tests-tco): Compile a recursive - functions at speed 3 and verify the tail recursion elimination. - (comp-tests-tco-checker, comp-tests-mentioned-p) - (comp-tests-mentioned-p-1): New support functions. + * test/src/comp-tests.el (comp-tests-tco): Compile a recursive + functions at speed 3 and verify the tail recursion elimination. + (comp-tests-tco-checker, comp-tests-mentioned-p) + (comp-tests-mentioned-p-1): New support functions. 2020-07-02 Andrea Corallo Rework `comp-c-func-name' arguments - * lisp/emacs-lisp/comp.el (comp-c-func-name): Add FIRST argument - to ignore the compiler context and return the first name. + * lisp/emacs-lisp/comp.el (comp-c-func-name): Add FIRST argument + to ignore the compiler context and return the first name. - * lisp/emacs-lisp/disass.el (disassemble-internal): Update the - `comp-c-func-name' call. + * lisp/emacs-lisp/disass.el (disassemble-internal): Update the + `comp-c-func-name' call. 2020-07-02 Andrea Corallo - * Add to possibility to write per pass specific tests + Add to possibility to write per pass specific tests - * lisp/emacs-lisp/comp.el (comp-post-pass-hooks): New special - variable. - (native-compile): Run what is registered in - `comp-post-pass-hooks'. + * lisp/emacs-lisp/comp.el (comp-post-pass-hooks): New special + variable. + (native-compile): Run what is registered in + `comp-post-pass-hooks'. 2020-07-02 Andrea Corallo @@ -73233,11 +73225,11 @@ Add a test for lambda list containing uninterned symbols - * test/src/comp-test-funcs-dyn.el - (comp-tests-cl-uninterned-arg-parse-f): New function. + * test/src/comp-test-funcs-dyn.el + (comp-tests-cl-uninterned-arg-parse-f): New function. - * test/src/comp-tests.el (comp-tests-cl-uninterned-arg-parse-f): - New test. + * test/src/comp-tests.el (comp-tests-cl-uninterned-arg-parse-f): + New test. 2020-06-30 Andrea Corallo @@ -73246,13 +73238,13 @@ Lambda-lists must stay in the same relocation class of the object referenced by code to respect uninterned symbols. - * lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Break - the original function in a generic specializing for - dynamic/lexical functions. When allocating the lambda-list for - dynamic functions do that in the default relocation class. - (comp-emit-for-top-level): Make use of the new - `comp-prepare-args-for-top-level'. - (comp-emit-lambda-for-top-level): Likewise. + * lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Break + the original function in a generic specializing for + dynamic/lexical functions. When allocating the lambda-list for + dynamic functions do that in the default relocation class. + (comp-emit-for-top-level): Make use of the new + `comp-prepare-args-for-top-level'. + (comp-emit-lambda-for-top-level): Likewise. 2020-06-30 James N. V. Cash (tiny change) @@ -73316,17 +73308,17 @@ 2020-06-28 Andrea Corallo - * Do not skip native compilation for leim subfolder during boostrap + Do not skip native compilation for leim subfolder during boostrap - * lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): Remove - "^leim/". + * lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): Remove + "^leim/". 2020-06-28 Andrea Corallo - * Enable deferred compilation for dynamic scoped code + Enable deferred compilation for dynamic scoped code - * src/comp.c (maybe_defer_native_compilation): Trigger for dynamic - code and add a comment. + * src/comp.c (maybe_defer_native_compilation): Trigger for dynamic + code and add a comment. 2020-06-28 Eli Zaretskii @@ -73351,19 +73343,19 @@ Add a test to verify CL macro expansion in dynamic scope - * test/src/comp-tests.el (comp-tests-cl-macro-exp): New test. + * test/src/comp-tests.el (comp-tests-cl-macro-exp): New test. - * test/src/comp-test-funcs-dyn.el: Require `cl-lib'. - (comp-tests-cl-macro-exp-f): New function. + * test/src/comp-test-funcs-dyn.el: Require `cl-lib'. + (comp-tests-cl-macro-exp-f): New function. 2020-06-28 Andrea Corallo - * Setup correctly the printer while dumping objs in native CU (bug#42088) + Setup correctly the printer while dumping objs in native CU (bug#42088) - * src/comp.c (emit_static_object): Bind a bunch of special - variables to setup `prin1-to-string' as - `byte-compile-output-file-form' does. This to preserve - uninterned symbols. + * src/comp.c (emit_static_object): Bind a bunch of special + variables to setup `prin1-to-string' as + `byte-compile-output-file-form' does. This to preserve + uninterned symbols. 2020-06-28 Timo Myyr辰 @@ -73682,11 +73674,11 @@ Two `load-history' eln related fixes. - * src/lread.c (Fload): Fix `load-history' filling for elns non in - root lisp-dir. + * src/lread.c (Fload): Fix `load-history' filling for elns non in + root lisp-dir. - * lisp/startup.el (command-line): Fix `load-history' fixup - algorith for eln files. + * lisp/startup.el (command-line): Fix `load-history' fixup + algorith for eln files. 2020-06-22 Andrea Corallo @@ -73696,84 +73688,84 @@ 2020-06-22 Andrea Corallo - * Handle correctly pure delaration specifier. + Handle correctly pure delaration specifier. - * lisp/emacs-lisp/comp.el (comp-func): New slot 'pure'. - (comp-spill-decl-spec): New function. - (comp-spill-speed): Rework to use the later. - (comp-spill-lap-function, comp-intern-func-in-ctxt): Spill pure - decl value. - (comp-function-optimizable-p): Check in the compiler env too if - pure. + * lisp/emacs-lisp/comp.el (comp-func): New slot 'pure'. + (comp-spill-decl-spec): New function. + (comp-spill-speed): Rework to use the later. + (comp-spill-lap-function, comp-intern-func-in-ctxt): Spill pure + decl value. + (comp-function-optimizable-p): Check in the compiler env too if + pure. 2020-06-22 Andrea Corallo - * Add a func-arity test for dynamic functions + Add a func-arity test for dynamic functions - * test/src/comp-tests.el (comp-tests-dynamic-arity): New test. + * test/src/comp-tests.el (comp-tests-dynamic-arity): New test. 2020-06-22 Andrea Corallo Do not native compile two functions to allow cc-mode hack - * lisp/progmodes/cc-langs.el (c-populate-syntax-table): Declare - with speed -1. + * lisp/progmodes/cc-langs.el (c-populate-syntax-table): Declare + with speed -1. - * lisp/progmodes/cc-bytecomp.el - (cc-bytecomp-compiling-or-loading): Declare with speed -1. + * lisp/progmodes/cc-bytecomp.el + (cc-bytecomp-compiling-or-loading): Declare with speed -1. 2020-06-22 Andrea Corallo Add a test for speed -1 - * test/src/comp-tests.el (comp-test-speed--1): New test + * test/src/comp-tests.el (comp-test-speed--1): New test - * test/src/comp-test-funcs.el (comp-test-speed--1-f): New - function. + * test/src/comp-test-funcs.el (comp-test-speed--1-f): New + function. 2020-06-22 Andrea Corallo Allow per function speed declaration - * src/comp.c (COMP_SPEED): Rename. - (comp_t): Add 'func_speed' field. - (emit_mvar_lval, compile_function): Update for per function speed. - (Fcomp__compile_ctxt_to_file): COMP_SPEED renamed. - - * lisp/emacs-lisp/comp.el (comp-speed): Doc update. - (comp-func): New 'speed' slot. - (comp-spill-speed): New function. - (comp-spill-lap-function, comp-intern-func-in-ctxt): Fill 'speed' - slot. - (comp-spill-lap-function): Gate -1 speed functions for native - compilation and emit bytecode instead. - (comp-spill-lap): Close over `byte-to-native-plist-environment'. - (comp-latch-make-fill): Update for per function speed. - (comp-limplify-top-level): Fill speed. - (comp-propagate1, comp-call-optim-form-call, comp-call-optim) - (comp-dead-code, comp-tco, comp-remove-type-hints): Update for per - function speed. + * src/comp.c (COMP_SPEED): Rename. + (comp_t): Add 'func_speed' field. + (emit_mvar_lval, compile_function): Update for per function speed. + (Fcomp__compile_ctxt_to_file): COMP_SPEED renamed. + + * lisp/emacs-lisp/comp.el (comp-speed): Doc update. + (comp-func): New 'speed' slot. + (comp-spill-speed): New function. + (comp-spill-lap-function, comp-intern-func-in-ctxt): Fill 'speed' + slot. + (comp-spill-lap-function): Gate -1 speed functions for native + compilation and emit bytecode instead. + (comp-spill-lap): Close over `byte-to-native-plist-environment'. + (comp-latch-make-fill): Update for per function speed. + (comp-limplify-top-level): Fill speed. + (comp-propagate1, comp-call-optim-form-call, comp-call-optim) + (comp-dead-code, comp-tco, comp-remove-type-hints): Update for per + function speed. 2020-06-22 Andrea Corallo Execute top level forms in the right lex/dyn scope. - * lisp/emacs-lisp/bytecomp.el (byte-to-native-top-level): Add - 'lexical' slot. - (byte-compile-output-file-form): Update for new slot. - (byte-compile-file-form-defmumble): Capture scope. + * lisp/emacs-lisp/bytecomp.el (byte-to-native-top-level): Add + 'lexical' slot. + (byte-compile-output-file-form): Update for new slot. + (byte-compile-file-form-defmumble): Capture scope. - * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Specify - execution scope. + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Specify + execution scope. 2020-06-22 Andrea Corallo Add some testing for dynamic scope - * test/src/comp-test-funcs-dyn.el: New file. + * test/src/comp-test-funcs-dyn.el: New file. - * test/src/comp-tests.el (comp-tests-dynamic-ffuncall): Add - new tests. + * test/src/comp-tests.el (comp-tests-dynamic-ffuncall): Add + new tests. 2020-06-21 Mattias Engdeg奪rd @@ -74008,32 +74000,32 @@ parsing/binding it's done using the existing code in use for bytecode (no ad-hoc code is synthetized for that). - * src/lisp.h (struct Lisp_Subr): Add lambda_list field. - (SUBR_NATIVE_COMPILED_DYNP): New inliner. + * src/lisp.h (struct Lisp_Subr): Add lambda_list field. + (SUBR_NATIVE_COMPILED_DYNP): New inliner. - * src/alloc.c (mark_object): Update for Add lambda_list field. + * src/alloc.c (mark_object): Update for Add lambda_list field. - * src/eval.c (eval_sub, Ffuncall, funcall_lambda): Handle native - compiled dynamic scope + * src/eval.c (eval_sub, Ffuncall, funcall_lambda): Handle native + compiled dynamic scope - * src/comp.c (declare_lex_function): Rename from declare_function - and rework. - (declare_function): New function. - (make_subr): Handle daynamic scope + * src/comp.c (declare_lex_function): Rename from declare_function + and rework. + (declare_function): New function. + (make_subr): Handle daynamic scope - * src/pdumper.c (dump_subr): Update for lambda_list field. + * src/pdumper.c (dump_subr): Update for lambda_list field. - * lisp/emacs-lisp/comp.el (comp-func): Remove args slot. - (comp-func-l, comp-func-d): New classes deriving from `comp-func'. - (comp-spill-lap-function): Rework. - (comp-prepare-args-for-top-level): New function. - (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Make - use of `comp-prepare-args-for-top-level'. - (comp-limplify-top-level): Use `comp-func-l'. - (comp-limplify-function): Emit arg prologue only for dynamic - scoped functions. - (comp-call-optim-form-call): Use `comp-func-l'. - (comp-call-optim, comp-tco): Do not optimize dynamic scoped code. + * lisp/emacs-lisp/comp.el (comp-func): Remove args slot. + (comp-func-l, comp-func-d): New classes deriving from `comp-func'. + (comp-spill-lap-function): Rework. + (comp-prepare-args-for-top-level): New function. + (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Make + use of `comp-prepare-args-for-top-level'. + (comp-limplify-top-level): Use `comp-func-l'. + (comp-limplify-function): Emit arg prologue only for dynamic + scoped functions. + (comp-call-optim-form-call): Use `comp-func-l'. + (comp-call-optim, comp-tco): Do not optimize dynamic scoped code. 2020-06-19 Andrii Kolomoiets @@ -74571,13 +74563,11 @@ 2020-06-14 Michael R. Mauger - 2020-03-29 Michael R. Mauger - - * lisp/progmodes/sql.el (sql-add-product): Re-correct argument - spec. Previous change was due to my mistake; I have - resolved back to the prior behavior (Bug#39960). - * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added - test to insure I don't make the same mistake again. + * lisp/progmodes/sql.el (sql-add-product): Re-correct argument + spec. Previous change was due to my mistake; I have + resolved back to the prior behavior (Bug#39960). + * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added + test to insure I don't make the same mistake again. 2020-06-13 Glenn Morris @@ -74588,51 +74578,51 @@ 2020-06-13 Andrea Corallo - * Implement 'maybe_gc_or_quit' to allow correct GC in compiled Lisp. + Implement 'maybe_gc_or_quit' to allow correct GC in compiled Lisp. Implement the backend side of 'maybe_gc_or_quit' so that every time a call to it is emitted we render it accordingly. This allow GC to kicks in during long loops in Lisp code. - * src/comp.c (comp_t): Add 'maybe_gc_or_quit' field. - (helper_link_table): Add 'maybe_gc', 'maybe_quit'. - (emit_maybe_gc_or_quit): New function. - (declare_runtime_imported_funcs): Import 'maybe_gc', 'maybe_quit' - functions. - (define_maybe_gc_or_quit): New function. - (Fcomp__init_ctxt): Register emitter. - (Fcomp__compile_ctxt_to_file): Call 'define_maybe_gc_or_quit'. - (syms_of_comp): Define Qcomp_maybe_gc_or_quit. + * src/comp.c (comp_t): Add 'maybe_gc_or_quit' field. + (helper_link_table): Add 'maybe_gc', 'maybe_quit'. + (emit_maybe_gc_or_quit): New function. + (declare_runtime_imported_funcs): Import 'maybe_gc', 'maybe_quit' + functions. + (define_maybe_gc_or_quit): New function. + (Fcomp__init_ctxt): Register emitter. + (Fcomp__compile_ctxt_to_file): Call 'define_maybe_gc_or_quit'. + (syms_of_comp): Define Qcomp_maybe_gc_or_quit. 2020-06-13 Andrea Corallo - * Introduce latches + Introduce latches Define a new kind of basic block 'latch' to close over loops. Its purpose is for now to emit calls to `comp-maybe-gc-or-quit' but in future will be usefull for the loop optimizer to exploit unboxes. - * lisp/emacs-lisp/comp.el (comp-block): New base class. - (comp-block-lap): New class for LAP derived basic blocks. - (comp-latch): New class. - (comp-bb-maybe-add, comp-make-curr-block, comp-emit-handler) - (comp-emit-switch, comp-emit-switch, comp-limplify-top-level) - (comp-addr-to-bb-name, comp-limplify-block) - (comp-limplify-function): Update logic for new bb objects - arrangment. - (comp-latch-make-fill): New function. - (comp-emit-uncond-jump, comp-emit-cond-jump): Update to emit - latches. - (comp-new-block-sym): Add a postfix paramenter. + * lisp/emacs-lisp/comp.el (comp-block): New base class. + (comp-block-lap): New class for LAP derived basic blocks. + (comp-latch): New class. + (comp-bb-maybe-add, comp-make-curr-block, comp-emit-handler) + (comp-emit-switch, comp-emit-switch, comp-limplify-top-level) + (comp-addr-to-bb-name, comp-limplify-block) + (comp-limplify-function): Update logic for new bb objects + arrangment. + (comp-latch-make-fill): New function. + (comp-emit-uncond-jump, comp-emit-cond-jump): Update to emit + latches. + (comp-new-block-sym): Add a postfix paramenter. 2020-06-13 Andrea Corallo Fix const qualifier warnings - * src/lisp.h (struct Lisp_Subr): Remove const qualifier from - 'native_c_name'. + * src/lisp.h (struct Lisp_Subr): Remove const qualifier from + 'native_c_name'. - * src/alloc.c (cleanup_vector): Cast to discard const qualifier. + * src/alloc.c (cleanup_vector): Cast to discard const qualifier. 2020-06-13 Philip K @@ -74704,10 +74694,10 @@ 2020-06-11 Andrea Corallo - * Fix memory leak when native compiled function is collected + Fix memory leak when native compiled function is collected - * src/alloc.c (cleanup_vector): Handle native compiled - functions. + * src/alloc.c (cleanup_vector): Handle native compiled + functions. 2020-06-11 Andrea Corallo @@ -74718,12 +74708,12 @@ overide its content otherwise a previously activated load will have the original content collected before it's used. - * src/comp.h (struct Lisp_Native_Comp_Unit): Add 'load_ongoing' - field. + * src/comp.h (struct Lisp_Native_Comp_Unit): Add 'load_ongoing' + field. - * src/comp.c (unset_cu_load_ongoing): New function. - (load_comp_unit): Update logic to detect and handle recursive - loads. + * src/comp.c (unset_cu_load_ongoing): New function. + (load_comp_unit): Update logic to detect and handle recursive + loads. 2020-06-11 Andrea Corallo @@ -74734,17 +74724,17 @@ Lisp_Subr. The old approach would have failed dumping two functions with the same symbol-name. - * src/lisp.h (struct Lisp_Subr): Add 'native_c_name' field. + * src/lisp.h (struct Lisp_Subr): Add 'native_c_name' field. - * src/pdumper.c (dump_subr): Update hash + dump 'native_c_name'. - (dump_cold_native_subr): dump 'native_c_name'. - (dump_do_dump_relocation): Update logic for reviving using - 'native_c_name'. + * src/pdumper.c (dump_subr): Update hash + dump 'native_c_name'. + (dump_cold_native_subr): dump 'native_c_name'. + (dump_do_dump_relocation): Update logic for reviving using + 'native_c_name'. - * src/comp.c (make_subr): Update for 'native_c_name' field. - (Fcomp__register_lambda, Fcomp__register_subr): Clean-up code for - 'Vcomp_sym_subr_c_name_h' removal. - (syms_of_comp): Remove 'Vcomp_sym_subr_c_name_h'. + * src/comp.c (make_subr): Update for 'native_c_name' field. + (Fcomp__register_lambda, Fcomp__register_subr): Clean-up code for + 'Vcomp_sym_subr_c_name_h' removal. + (syms_of_comp): Remove 'Vcomp_sym_subr_c_name_h'. 2020-06-10 Mattias Engdeg奪rd @@ -74804,10 +74794,10 @@ 2020-06-10 Andrea Corallo - * Remove unused 'helper_save_window_excursion' + Remove unused 'helper_save_window_excursion' - * src/comp.c (helper_unwind_protect): Remove definition and - declaration. + * src/comp.c (helper_unwind_protect): Remove definition and + declaration. 2020-06-10 Nicol叩s B辿rtolo @@ -74882,31 +74872,31 @@ Rename lambda_gc_guard -> lambda_gc_guard_h - * src/comp.h (struct Lisp_Native_Comp_Unit): Rename - lambda_gc_guard -> lambda_gc_guard_h + * src/comp.h (struct Lisp_Native_Comp_Unit): Rename + lambda_gc_guard -> lambda_gc_guard_h - * src/pdumper.c (dump_do_dump_relocation): Likewise. + * src/pdumper.c (dump_do_dump_relocation): Likewise. - * src/comp.c (check_comp_unit_relocs, Fcomp__register_lambda) - (Fnative_elisp_load): Likewise. + * src/comp.c (check_comp_unit_relocs, Fcomp__register_lambda) + (Fnative_elisp_load): Likewise. 2020-06-08 Andrea Corallo * Fix load logic for the reloading CU case (bug#41754) - * src/comp.c (load_comp_unit): When swapping the compilation unit - abandoning the new one for the original do not forget to set its - loaded_once field to true because is in use by - `comp--register-lambda'. - (Fcomp__register_lambda): Add sanity a check to spot - early if we are trying to load the same lambda twice. + * src/comp.c (load_comp_unit): When swapping the compilation unit + abandoning the new one for the original do not forget to set its + loaded_once field to true because is in use by + `comp--register-lambda'. + (Fcomp__register_lambda): Add sanity a check to spot + early if we are trying to load the same lambda twice. 2020-06-08 Andrea Corallo * Move final log after containers has been finalized - * lisp/emacs-lisp/comp.el (comp-final): Remove function log. - (comp-compile-ctxt-to-file): Add function log. + * lisp/emacs-lisp/comp.el (comp-final): Remove function log. + (comp-compile-ctxt-to-file): Add function log. 2020-06-08 Andrea Corallo @@ -74965,18 +74955,18 @@ 2020-06-07 Andrea Corallo - * Rename comp-function-optimizable -> comp-function-optimizable-p + Rename comp-function-optimizable -> comp-function-optimizable-p - * lisp/emacs-lisp/comp.el (comp-function-optimizable): Rename into - 'comp-function-optimizable-p'. - (comp-function-call-maybe-remove): Use the new name. + * lisp/emacs-lisp/comp.el (comp-function-optimizable): Rename into + 'comp-function-optimizable-p'. + (comp-function-call-maybe-remove): Use the new name. 2020-06-07 Andrea Corallo - * Fix comp-call-optim-form-call for null `callee' + Fix comp-call-optim-form-call for null `callee' - * lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Guard - agains null `calle'. + * lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Guard + agains null `calle'. 2020-06-07 Glenn Morris @@ -75008,13 +74998,13 @@ 2020-06-07 Andrea Corallo - * Improve propagate pass + Improve propagate pass As function folding can generate 'setimm' insns handle them in the `comp-propagate-insn'. - * lisp/emacs-lisp/comp.el (comp-propagate-insn): Handle 'setimm' - insn. + * lisp/emacs-lisp/comp.el (comp-propagate-insn): Handle 'setimm' + insn. 2020-06-07 Michael Albinus @@ -75064,12 +75054,12 @@ 2020-06-07 Andrea Corallo - * Optimize optimizable variables + Optimize optimizable variables - * lisp/emacs-lisp/comp.el (comp-symbol-values-optimizable): New - defconst. - (comp-function-call-maybe-remove): New logic to to remove - unnecessary `symbol-value' calls. + * lisp/emacs-lisp/comp.el (comp-symbol-values-optimizable): New + defconst. + (comp-function-call-maybe-remove): New logic to to remove + unnecessary `symbol-value' calls. 2020-06-07 Juri Linkov @@ -75086,33 +75076,33 @@ 2020-06-06 Andrea Corallo - * Mitigate possible speed 3 miss-optimization + Mitigate possible speed 3 miss-optimization Do not perform trampoline optimization at speed 3 on function if their name is not unique inside the compilation unit. Note that the function can still be redefined in any other way therefore this is a mitigation. - * lisp/emacs-lisp/comp.el (comp-func-unique-in-cu-p): New - predicate. - (comp-call-optim-form-call): Perform trampoline optimization - for named functions only if they are unique within the current - compilation unit. + * lisp/emacs-lisp/comp.el (comp-func-unique-in-cu-p): New + predicate. + (comp-call-optim-form-call): Perform trampoline optimization + for named functions only if they are unique within the current + compilation unit. 2020-06-06 Andrea Corallo - * Allow for optimizing anonymous lambdas in call-optim + Allow for optimizing anonymous lambdas in call-optim - * lisp/emacs-lisp/comp.el (comp-func-in-unit): New function. - (comp-call-optim-form-call): Update logic for optimizing - anonymous lambdas. + * lisp/emacs-lisp/comp.el (comp-func-in-unit): New function. + (comp-call-optim-form-call): Update logic for optimizing + anonymous lambdas. 2020-06-06 Andrea Corallo - * Clean-up unnecessary lisp_X context definition + Clean-up unnecessary lisp_X context definition - * src/comp.c (Fcomp__init_ctxt, comp_t): Remove lisp_X - definition as is used only locally. + * src/comp.c (Fcomp__init_ctxt, comp_t): Remove lisp_X + definition as is used only locally. 2020-06-06 Andrea Corallo @@ -75122,14 +75112,14 @@ 'direct-call' 'direct-callref'. This is preparatory to anonymous lambdas optimization. - * lisp/emacs-lisp/comp.el (comp-propagate-insn): Use c-name when - gathering the comp-func definition for direct calls. - (comp-call-optim-form-call): Add put c-name as first argument of - direct-call direct-callref when optimizing. + * lisp/emacs-lisp/comp.el (comp-propagate-insn): Use c-name when + gathering the comp-func definition for direct calls. + (comp-call-optim-form-call): Add put c-name as first argument of + direct-call direct-callref when optimizing. - * src/comp.c (emit_call): Update logic for having c-name as - first arg of direct calls. - (emit_call_ref): Rename 'subr_sym' into 'func'. + * src/comp.c (emit_call): Update logic for having c-name as + first arg of direct calls. + (emit_call_ref): Rename 'subr_sym' into 'func'. 2020-06-06 Nicol叩s B辿rtolo @@ -75189,13 +75179,13 @@ Some fixes for --without-nativecomp config - * src/pdumper.c (dump_subr): Do not add RELOC_NATIVE_SUBR for - VERY_LATE_RELOCS in --without-nativecomp. - (dump_do_dump_relocation): Add a sanity check that no - RELOC_NATIVE_SUBR exists in --without-nativecomp. + * src/pdumper.c (dump_subr): Do not add RELOC_NATIVE_SUBR for + VERY_LATE_RELOCS in --without-nativecomp. + (dump_do_dump_relocation): Add a sanity check that no + RELOC_NATIVE_SUBR exists in --without-nativecomp. - * src/lread.c (Fload): As Fnative_elisp_load is not defined - in --without-nativecomp so ifdef this block. + * src/lread.c (Fload): As Fnative_elisp_load is not defined + in --without-nativecomp so ifdef this block. 2020-06-06 Ellington Santos (tiny change) @@ -75303,9 +75293,9 @@ 2020-06-04 Andrea Corallo - * Fix build for --enable-check-lisp-object-type=yes (bug#41703) + Fix build for --enable-check-lisp-object-type=yes (bug#41703) - * src/comp.c (emit_coerce): Add missing declaration. + * src/comp.c (emit_coerce): Add missing declaration. 2020-06-04 Andrea Corallo @@ -75349,11 +75339,11 @@ 2020-06-03 Andrea Corallo - * Introduce `comp-loop-insn-in-block' + Introduce `comp-loop-insn-in-block' - * lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): New macro. - (comp-call-optim-func, comp-dead-assignments-func) - (comp-remove-type-hints-func): Use `comp-loop-insn-in-block'. + * lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): New macro. + (comp-call-optim-func, comp-dead-assignments-func) + (comp-remove-type-hints-func): Use `comp-loop-insn-in-block'. 2020-06-03 Jo達o T叩vora @@ -75528,8 +75518,8 @@ * Remove unnecessary DLL load of gcc_jit_block_add_assignment_op. - * src/comp.c (gcc_jit_block_add_assignment_op): Remove unnecessary - func import. + * src/comp.c (gcc_jit_block_add_assignment_op): Remove unnecessary + func import. 2020-06-01 Alan Mackenzie @@ -75558,29 +75548,29 @@ Store libgccjit version into generated code - * src/comp.c (emit_ctxt_code): Add libgccjit version into - stored optimize qualities. - (syms_of_comp): Define Qgccjit here. + * src/comp.c (emit_ctxt_code): Add libgccjit version into + stored optimize qualities. + (syms_of_comp): Define Qgccjit here. - * src/w32fns.c (syms_of_w32fns): Move out Qgccjit definition. + * src/w32fns.c (syms_of_w32fns): Move out Qgccjit definition. 2020-05-31 Andrea Corallo - * Optimize 'emit_static_object' for load-time + Optimize 'emit_static_object' for load-time - * src/comp.c (emit_static_object): Use a chunck size of 200 bytes - on bugged GCCs and a longer one (1024) in sane ones. Rename - str in buff to disambiguate and prefer xmalloc to a VLA given - the buffer is not that small. + * src/comp.c (emit_static_object): Use a chunck size of 200 bytes + on bugged GCCs and a longer one (1024) in sane ones. Rename + str in buff to disambiguate and prefer xmalloc to a VLA given + the buffer is not that small. 2020-05-31 Andrea Corallo - * Add `comp-libgccjit-version' subr + Add `comp-libgccjit-version' subr - * src/comp.c (gcc_jit_version_major, gcc_jit_version_minor) - (gcc_jit_version_patchlevel): Import. - (Fcomp_libgccjit_version): New Lisp function. - (syms_of_comp): Update for 'comp-libgccjit-version'. + * src/comp.c (gcc_jit_version_major, gcc_jit_version_minor) + (gcc_jit_version_patchlevel): Import. + (Fcomp_libgccjit_version): New Lisp function. + (syms_of_comp): Update for 'comp-libgccjit-version'. 2020-05-31 Philipp Stephani @@ -75605,20 +75595,20 @@ Nicol叩s B辿rtolo Andrea Corallo - * src/comp.c (gcc_jit_context_new_string_literal) - (gcc_jit_block_add_assignment_op): New imports. - (comp_t): New 'size_t_type' 'memcpy' fields. - (emit_static_object): Define static objects using string literals - and memcpy. - (define_memcpy): New function. - (Fcomp__init_ctxt): Define 'size_t_type' and 'memcpy'. + * src/comp.c (gcc_jit_context_new_string_literal) + (gcc_jit_block_add_assignment_op): New imports. + (comp_t): New 'size_t_type' 'memcpy' fields. + (emit_static_object): Define static objects using string literals + and memcpy. + (define_memcpy): New function. + (Fcomp__init_ctxt): Define 'size_t_type' and 'memcpy'. 2020-05-31 Andrea Corallo - * Emit better debug comments in emit_static_object + Emit better debug comments in emit_static_object - * src/comp.c (emit_static_object): Do not truncate debug - comments at the first NULL character. + * src/comp.c (emit_static_object): Do not truncate debug + comments at the first NULL character. 2020-05-31 Tom Tromey @@ -75726,14 +75716,14 @@ 2020-05-30 Andrea Corallo - * Avoid calling Ffile_exists_p too early + Avoid calling Ffile_exists_p too early Being quite early in startup initialization is better not to rely on Ffile_exists_p, this call Ffile_expand and not all the necessary initialization already happened. - * src/pdumper.c (dump_do_dump_relocation): Use fopen instead of - Ffile_exists_p. + * src/pdumper.c (dump_do_dump_relocation): Use fopen instead of + Ffile_exists_p. 2020-05-29 Eli Zaretskii @@ -76157,7 +76147,7 @@ 2020-05-25 Andrea Corallo - * Split type hint pass from dead code removal pass into dedicated one. + Split type hint pass from dead code removal pass into dedicated one. Given SSA prop overwrite mvar type slot we clean-up the compiler type hints as last. @@ -76493,30 +76483,30 @@ * src/comp.c: Fix 32bit wide-int. - * src/comp.c (emit_XFIXNUM): Make right shift for MSB_TAG - arithmetic too to preserve sign bit. + * src/comp.c (emit_XFIXNUM): Make right shift for MSB_TAG + arithmetic too to preserve sign bit. 2020-05-22 Andrea Corallo * src/comp.c: Fix i386 --enable-check-lisp-object-type - * src/comp.c (load_comp_unit): Fix return type, on i386 influence - parameter passing! + * src/comp.c (load_comp_unit): Fix return type, on i386 influence + parameter passing! 2020-05-22 Andrea Corallo * src/comp.c: Some aesthetic code clean-up. - * src/comp.c (comp_t): Remove 'lisp_X_s' field. - (emit_coerce): Respect 80 columns limit. - (emit_rvalue_from_emacs_uint): GNU style, unnecessary brackets. - (emit_rvalue_from_emacs_int): Likewise. - (emit_rvalue_from_lisp_word_tag): Likewise. - (emit_rvalue_from_lisp_word): Likewise. - (emit_lval_XLI): Remove unused function. - (emit_lval_XLP): Remove commented out code. - (define_add1_sub1): Respect 80 columns limit. - (Fcomp__init_ctxt): Reflect 'lisp_X_s' field removal. + * src/comp.c (comp_t): Remove 'lisp_X_s' field. + (emit_coerce): Respect 80 columns limit. + (emit_rvalue_from_emacs_uint): GNU style, unnecessary brackets. + (emit_rvalue_from_emacs_int): Likewise. + (emit_rvalue_from_lisp_word_tag): Likewise. + (emit_rvalue_from_lisp_word): Likewise. + (emit_lval_XLI): Remove unused function. + (emit_lval_XLP): Remove commented out code. + (define_add1_sub1): Respect 80 columns limit. + (Fcomp__init_ctxt): Reflect 'lisp_X_s' field removal. 2020-05-22 Basil L. Contovounesios @@ -76897,21 +76887,21 @@ 2020-05-18 Andrea Corallo - * Pacify with the byte-compiler + Pacify with the byte-compiler - * lisp/emacs-lisp/comp.el (comp-num-cpus): New special variable. - (comp-effective-async-max-jobs): Make use of `comp-num-cpus'. - (comp-call-optim-form-call): Remove unnecessary parameter. - (comp-call-optim-func): Reflect `comp-call-optim-form-call' - parameter removal. + * lisp/emacs-lisp/comp.el (comp-num-cpus): New special variable. + (comp-effective-async-max-jobs): Make use of `comp-num-cpus'. + (comp-call-optim-form-call): Remove unnecessary parameter. + (comp-call-optim-func): Reflect `comp-call-optim-form-call' + parameter removal. 2020-05-18 Andrea Corallo - * Add new customize `comp-async-env-modifier-form' (Bug#40838) + Add new customize `comp-async-env-modifier-form' (Bug#40838) - * lisp/emacs-lisp/comp.el (comp-async-env-modifier-form): New - customize. - (comp-run-async-workers): Make use of `comp-async-env-modifier-form'. + * lisp/emacs-lisp/comp.el (comp-async-env-modifier-form): New + customize. + (comp-run-async-workers): Make use of `comp-async-env-modifier-form'. 2020-05-18 Alan Mackenzie @@ -76924,13 +76914,13 @@ 2020-05-18 Andrea Corallo - * Make the Evil happy (Bug#41374) + Make the Evil happy (Bug#41374) - * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): - Blacklist all primitives advised by evil-mode from trampoline - optimization. - (comp-call-optim-form-call): Prevent trampoline optimization for - recursive calls at speed 2 to respect elisp original semantic. + * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): + Blacklist all primitives advised by evil-mode from trampoline + optimization. + (comp-call-optim-form-call): Prevent trampoline optimization for + recursive calls at speed 2 to respect elisp original semantic. 2020-05-18 Glenn Morris @@ -77001,14 +76991,14 @@ 2020-05-17 Andrea Corallo - * Fix Garbage Collector for missing calle-saved regs content (Bug#41357) + Fix Garbage Collector for missing calle-saved regs content (Bug#41357) - * src/alloc.c (SET_STACK_TOP_ADDRESS): Do not call - __builtin_unwind_init. - (flush_stack_call_func1): Rename from 'flush_stack_call_func'. - (flush_stack_call_func): New function to spill all registers - before calling 'flush_stack_call_func1'. This to make sure the - top of the stack identified includes those registers. + * src/alloc.c (SET_STACK_TOP_ADDRESS): Do not call + __builtin_unwind_init. + (flush_stack_call_func1): Rename from 'flush_stack_call_func'. + (flush_stack_call_func): New function to spill all registers + before calling 'flush_stack_call_func1'. This to make sure the + top of the stack identified includes those registers. 2020-05-17 Richard Stallman @@ -77027,11 +77017,11 @@ 2020-05-17 Andrea Corallo - * Fix bug#41346 assertion triggered while loading dump + Fix bug#41346 assertion triggered while loading dump - * src/comp.c (load_comp_unit): While loading from dump lambda - fixups are still to happen here. Verify relocation coherency only - after 'top_level_run' execution. + * src/comp.c (load_comp_unit): While loading from dump lambda + fixups are still to happen here. Verify relocation coherency only + after 'top_level_run' execution. 2020-05-17 Paul Eggert @@ -77217,87 +77207,87 @@ 2020-05-15 Andrea Corallo - * Do not refuse to compile if a dynamic lambda is encountered + Do not refuse to compile if a dynamic lambda is encountered - * lisp/emacs-lisp/comp.el (comp-lex-byte-func-p): New subst. - (comp-intern-func-in-ctxt): Do not crash if we still encounter a - non lexical scoped lambda. + * lisp/emacs-lisp/comp.el (comp-lex-byte-func-p): New subst. + (comp-intern-func-in-ctxt): Do not crash if we still encounter a + non lexical scoped lambda. 2020-05-15 Andrea Corallo - * Allow for logging async compilation command line + Allow for logging async compilation command line - * lisp/emacs-lisp/comp.el (comp-run-async-workers): When non zero - verbose log async compilation command line invocation. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): When non zero + verbose log async compilation command line invocation. 2020-05-15 Andrea Corallo - * Add check_comp_unit_relocs + Add check_comp_unit_relocs - * src/comp.c (check_comp_unit_relocs): Add function to verify - relocation coherency. - (load_comp_unit): Call it. + * src/comp.c (check_comp_unit_relocs): Add function to verify + relocation coherency. + (load_comp_unit): Call it. 2020-05-15 Andrea Corallo Sanity check on lambdas fixups - * src/pdumper.c (dump_do_dump_relocation): While fixing up lambda - relocation verify placeholder coherency. + * src/pdumper.c (dump_do_dump_relocation): While fixing up lambda + relocation verify placeholder coherency. - * src/comp.c (syms_of_comp): Define symbol 'lambda-fixup'. + * src/comp.c (syms_of_comp): Define symbol 'lambda-fixup'. - * lisp/emacs-lisp/comp.el (comp-finalize-container): Leave a - lambda-fixup as placeholder in the relocation as a sanity check. + * lisp/emacs-lisp/comp.el (comp-finalize-container): Leave a + lambda-fixup as placeholder in the relocation as a sanity check. 2020-05-15 Andrea Corallo - * Fix speed 2 bootstrap + Fix speed 2 bootstrap - (comp-call-optim-func): Do nothing if the function name is - unknown. + (comp-call-optim-func): Do nothing if the function name is + unknown. 2020-05-15 Andrea Corallo - * Native compiler test update + Native compiler test update - * test/src/comp-tests.el (comp-tests-lambda-return): Add a test - verifying that the returned lambda is actually native compiled. + * test/src/comp-tests.el (comp-tests-lambda-return): Add a test + verifying that the returned lambda is actually native compiled. 2020-05-15 Andrea Corallo - * Better Vcomp_sym_subr_c_name_h test function + doc + Better Vcomp_sym_subr_c_name_h test function + doc - * src/comp.c (syms_of_comp): 'Vcomp_sym_subr_c_name_h' need only - 'eq' as test + fix doc for 'comp-sym-subr-c-name-h'. + * src/comp.c (syms_of_comp): 'Vcomp_sym_subr_c_name_h' need only + 'eq' as test + fix doc for 'comp-sym-subr-c-name-h'. 2020-05-15 Andrea Corallo Add anonymous lambdas reload mechanism - * src/pdumper.c (dump_do_dump_relocation): Initialize - 'lambda_gc_guard' while resurrecting. - (dump_do_dump_relocation): Revive lambdas and fixup them. - - * src/comp.h (struct Lisp_Native_Comp_Unit): Define new - 'lambda_gc_guard' 'lambda_c_name_idx_h' 'data_imp_relocs' - 'loaded_once' fields. - - * src/comp.c (load_comp_unit): Use compilaiton unit 'loaded_once' - field. - (make_subr, Fcomp__register_lambda): New functions. - (Fcomp__register_subr): Make use of 'make_subr'. - (Fnative_elisp_load): Indent. - (Fnative_elisp_load): Initialize 'lambda_gc_guard' - 'lambda_c_name_idx_h' fields. - (syms_of_comp): Add Scomp__register_lambda. - - * lisp/emacs-lisp/comp.el (comp-ctxt): Change - 'byte-func-to-func-h' hash key test. - (comp-ctxt): Add 'lambda-fixups-h' slot. - (comp-emit-lambda-for-top-level): New function. - (comp-finalize-relocs): Never emit lambdas in pure space. - (comp-finalize-relocs): Fixup relocation indexes. + * src/pdumper.c (dump_do_dump_relocation): Initialize + 'lambda_gc_guard' while resurrecting. + (dump_do_dump_relocation): Revive lambdas and fixup them. + + * src/comp.h (struct Lisp_Native_Comp_Unit): Define new + 'lambda_gc_guard' 'lambda_c_name_idx_h' 'data_imp_relocs' + 'loaded_once' fields. + + * src/comp.c (load_comp_unit): Use compilaiton unit 'loaded_once' + field. + (make_subr, Fcomp__register_lambda): New functions. + (Fcomp__register_subr): Make use of 'make_subr'. + (Fnative_elisp_load): Indent. + (Fnative_elisp_load): Initialize 'lambda_gc_guard' + 'lambda_c_name_idx_h' fields. + (syms_of_comp): Add Scomp__register_lambda. + + * lisp/emacs-lisp/comp.el (comp-ctxt): Change + 'byte-func-to-func-h' hash key test. + (comp-ctxt): Add 'lambda-fixups-h' slot. + (comp-emit-lambda-for-top-level): New function. + (comp-finalize-relocs): Never emit lambdas in pure space. + (comp-finalize-relocs): Fixup relocation indexes. 2020-05-15 Stefan Monnier @@ -77354,92 +77344,92 @@ 2020-05-14 Andrea Corallo - * Render all immediates as comments at comp-debug > 2 + Render all immediates as comments at comp-debug > 2 - * src/comp.c (emit_mvar_rval): No reason to emit only fixnums. + * src/comp.c (emit_mvar_rval): No reason to emit only fixnums. 2020-05-14 Andrea Corallo - * Dump log and intemediate GCC IRs only at comp-debug 3 + Dump log and intemediate GCC IRs only at comp-debug 3 - * src/comp.c (Fcomp__init_ctxt): Increase threshold for dumping - really everything to 'comp-debug' 3. + * src/comp.c (Fcomp__init_ctxt): Increase threshold for dumping + really everything to 'comp-debug' 3. 2020-05-14 Andrea Corallo - * Prune now unnecessary byte-code objects + Prune now unnecessary byte-code objects - * lisp/emacs-lisp/comp.el (comp-finalize-container): Prune - byte-code that was lambdas. - (comp-compile-ctxt-to-file): Remove fixme. + * lisp/emacs-lisp/comp.el (comp-finalize-container): Prune + byte-code that was lambdas. + (comp-compile-ctxt-to-file): Remove fixme. 2020-05-14 Andrea Corallo - * Rework comp-spill-lap-function + Rework comp-spill-lap-function - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move code - from to comp-intern-func-in-ctxt. - (comp-intern-func-in-ctxt): New function, this guard - in case byte-to-native-lambda-byte-func is nil. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move code + from to comp-intern-func-in-ctxt. + (comp-intern-func-in-ctxt): New function, this guard + in case byte-to-native-lambda-byte-func is nil. 2020-05-14 Andrea Corallo - * Split emit_const_lisp_obj logic + Split emit_const_lisp_obj logic - * src/comp.c (emit_lisp_obj_reloc_lval): New function. - (emit_const_lisp_obj): Rename into 'emit_lisp_obj_rval' and strip - logic for 'emit_lisp_obj_reloc_lval'. - (emit_NILP, emit_CHECK_CONS, emit_mvar_rval, emit_set_internal) - (define_CAR_CDR, define_bool_to_lisp_obj): Update for - 'emit_const_lisp_obj' being renamed. + * src/comp.c (emit_lisp_obj_reloc_lval): New function. + (emit_const_lisp_obj): Rename into 'emit_lisp_obj_rval' and strip + logic for 'emit_lisp_obj_reloc_lval'. + (emit_NILP, emit_CHECK_CONS, emit_mvar_rval, emit_set_internal) + (define_CAR_CDR, define_bool_to_lisp_obj): Update for + 'emit_const_lisp_obj' being renamed. 2020-05-14 Andrea Corallo - * Rename emit_mvar_access -> emit_mvar_lval + Rename emit_mvar_access -> emit_mvar_lval - * src/comp.c (emit_mvar_access): Rename into 'emit_mvar_lval'. - (emit_mvar_rval, emit_frame_assignment): Update for - 'emit_mvar_access' rename. + * src/comp.c (emit_mvar_access): Rename into 'emit_mvar_lval'. + (emit_mvar_rval, emit_frame_assignment): Update for + 'emit_mvar_access' rename. 2020-05-14 Andrea Corallo - * Rename emit_mvar_val -> emit_mvar_rval + Rename emit_mvar_val -> emit_mvar_rval - * src/comp.c (emit_mvar_val): Rename into 'emit_mvar_rval'. - (emit_set_internal, emit_simple_limple_call, emit_limple_insn) - (emit_call_with_type_hint, emit_call2_with_type_hint) - (emit_consp, emit_numperp, emit_integerp): Update for - 'emit_mvar_val' rename. + * src/comp.c (emit_mvar_val): Rename into 'emit_mvar_rval'. + (emit_set_internal, emit_simple_limple_call, emit_limple_insn) + (emit_call_with_type_hint, emit_call2_with_type_hint) + (emit_consp, emit_numperp, emit_integerp): Update for + 'emit_mvar_val' rename. 2020-05-14 Andrea Corallo - * Indentation fix + Indentation fix - * src/comp.c (Fcomp__init_ctxt, Fcomp__release_ctxt) - (Fcomp__compile_ctxt_to_file, Fcomp__register_subr): Indentation - fix. + * src/comp.c (Fcomp__init_ctxt, Fcomp__release_ctxt) + (Fcomp__compile_ctxt_to_file, Fcomp__register_subr): Indentation + fix. 2020-05-14 Andrea Corallo Update spill LAP machinery and compile anonymous lambdas - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of - byte-to-native-lambdas-h and update for 'byte-to-native-func-def'. - (comp-spill-lap-function): Rework logic to retrive LAP using - 'byte-to-native-lambdas-h'. - (comp-emit-for-top-level): Update for 'byte-to-native-function'. - - * lisp/emacs-lisp/bytecomp.el: Add commentary on new spill LAP - mechanism. - (byte-to-native-lambda, byte-to-native-func-def): New structures. - (byte-to-native-top-level): Indent. - (byte-to-native-lambdas-h): Update doc. - (byte-compile-lapcode): Add a 'byte-to-native-lambda' instance - into byte-to-native-lambdas-h instead of just LAP. - (byte-compile-file-form-defmumble): Store into - 'byte-to-native-func-def' only the byte compiled function, the LAP - will be retrived through 'byte-to-native-lambdas-h'. - (byte-compile-lambda): Return the byte compiled function. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of + byte-to-native-lambdas-h and update for 'byte-to-native-func-def'. + (comp-spill-lap-function): Rework logic to retrive LAP using + 'byte-to-native-lambdas-h'. + (comp-emit-for-top-level): Update for 'byte-to-native-function'. + + * lisp/emacs-lisp/bytecomp.el: Add commentary on new spill LAP + mechanism. + (byte-to-native-lambda, byte-to-native-func-def): New structures. + (byte-to-native-top-level): Indent. + (byte-to-native-lambdas-h): Update doc. + (byte-compile-lapcode): Add a 'byte-to-native-lambda' instance + into byte-to-native-lambdas-h instead of just LAP. + (byte-compile-file-form-defmumble): Store into + 'byte-to-native-func-def' only the byte compiled function, the LAP + will be retrived through 'byte-to-native-lambdas-h'. + (byte-compile-lambda): Return the byte compiled function. 2020-05-14 Tino Calancha @@ -77789,10 +77779,10 @@ 2020-05-10 Andrea Corallo - * Fix `comp-deferred-compilation-black-list' effectiveness + Fix `comp-deferred-compilation-black-list' effectiveness - * lisp/emacs-lisp/comp.el (native-compile-async): Fix logic for - 'comp-deferred-compilation-black-list' effectiveness. + * lisp/emacs-lisp/comp.el (native-compile-async): Fix logic for + 'comp-deferred-compilation-black-list' effectiveness. 2020-05-10 Andrea Corallo @@ -77804,10 +77794,10 @@ 2020-05-09 Andrea Corallo - * Fix --enable-check-lisp-object-type GNU/Linux X86_64 build + Fix --enable-check-lisp-object-type GNU/Linux X86_64 build - * src/comp.c (emit_mvar_val): Fix missing use of XLP macro. - (load_comp_unit): Fix missing use of NILP macro. + * src/comp.c (emit_mvar_val): Fix missing use of XLP macro. + (load_comp_unit): Fix missing use of NILP macro. 2020-05-09 Simen Heggest淡yl @@ -77890,12 +77880,12 @@ 2020-05-09 Andrea Corallo - * Add 'comp-deferred-compilation-black-list' customize + Add 'comp-deferred-compilation-black-list' customize - * lisp/emacs-lisp/comp.el (comp-deferred-compilation-black-list): - New customize. - (native-compile-async): Make use of - 'comp-deferred-compilation-black-list'. + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-black-list): + New customize. + (native-compile-async): Make use of + 'comp-deferred-compilation-black-list'. 2020-05-09 Michal Nazarewicz @@ -78024,11 +78014,11 @@ 2020-05-07 Andrea Corallo - * Fix bug#41112 + Fix bug#41112 - * lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): New - function. - (comp-emit-switch): Make use of 'comp-jump-table-optimizable'. + * lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): New + function. + (comp-emit-switch): Make use of 'comp-jump-table-optimizable'. 2020-05-07 Michael Albinus @@ -78061,13 +78051,13 @@ 2020-05-06 Andrea Corallo - * Add native compilation unit black list + Add native compilation unit black list - * lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): New customize. - (batch-native-compile): Rework to make use of - 'comp-bootstrap-black-list'. - (batch-byte-native-compile-for-bootstrap): Add assertion to make - logic assumption explicit. + * lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): New customize. + (batch-native-compile): Rework to make use of + 'comp-bootstrap-black-list'. + (batch-byte-native-compile-for-bootstrap): Add assertion to make + logic assumption explicit. 2020-05-06 Paul Eggert @@ -78184,8 +78174,8 @@ * configure.ac: Better messaging when libgccjit fails smoke test - * configure.ac: Fix libgccjit test LDFLAGS plus better messaging - in case of its fail. + * configure.ac: Fix libgccjit test LDFLAGS plus better messaging + in case of its fail. 2020-05-05 Paul Eggert @@ -78202,8 +78192,8 @@ * configure.ac: Add a better libgccjit test plus some morw err message - * configure.ac (libgccjit_smoke_test, libgccjit_not_found) - (libgccjit_broken): New functions. + * configure.ac (libgccjit_smoke_test, libgccjit_not_found) + (libgccjit_broken): New functions. 2020-05-04 Andrea Corallo @@ -78374,17 +78364,17 @@ 2020-05-03 Andrea Corallo - * Add a warning for missing write privilege + Add a warning for missing write privilege - * lisp/emacs-lisp/comp.el (native-compile-async): Check for write - privilege and raise a warning in case. + * lisp/emacs-lisp/comp.el (native-compile-async): Check for write + privilege and raise a warning in case. 2020-05-03 Andrea Corallo - * Introduce `comp-output-directory' + Introduce `comp-output-directory' - * lisp/emacs-lisp/comp.el (comp-output-directory): New function. - (comp-output-base-filename): Use `comp-output-directory'. + * lisp/emacs-lisp/comp.el (comp-output-directory): New function. + (comp-output-base-filename): Use `comp-output-directory'. 2020-05-03 Mattias Engdeg奪rd @@ -78634,10 +78624,10 @@ 2020-04-29 Andrea Corallo - * Fix async compilation non respecting `comp-always-compile' nil value. + Fix async compilation non respecting `comp-always-compile' nil value. - * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fix missing - `comp-output-filename' usage. + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fix missing + `comp-output-filename' usage. 2020-04-29 Andrea Corallo @@ -78860,24 +78850,24 @@ Rework spill LAP mechanism in preparation of compiling lambdas. - * lisp/emacs-lisp/comp.el (comp-spill-lap-function): No need anymore - to have `byte-native-compiling' bound to free-func. - (comp-spill-lap-function): Make use of `byte-to-native-lap-h' and - clean-up. - (comp-spill-lap-function): Likewise. - - * lisp/emacs-lisp/bytecomp.el (byte-to-native-function): Add lap slot. - (byte-to-native-lap): Rename into byte-to-native-lap-h. - (byte-compile-lapcode): Spill lap after having int assembled and - store it into `byte-to-native-lap-h'. - (byte-compile-not-top-level): Remove. - (byte-compile-file-form-defmumble): Fill directly lap slot. - (byte-compile-lambda): Remove `byte-compile-not-top-level'. - (byte-compile-out-toplevel): Restore original code. - (byte-compile-form): Remove `byte-compile-not-top-level'. - (byte-compile-function-form): Likewise. - (byte-compile-flush-pending): No need anymore to set - `byte-compile-current-form' so restore orignal code. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): No need anymore + to have `byte-native-compiling' bound to free-func. + (comp-spill-lap-function): Make use of `byte-to-native-lap-h' and + clean-up. + (comp-spill-lap-function): Likewise. + + * lisp/emacs-lisp/bytecomp.el (byte-to-native-function): Add lap slot. + (byte-to-native-lap): Rename into byte-to-native-lap-h. + (byte-compile-lapcode): Spill lap after having int assembled and + store it into `byte-to-native-lap-h'. + (byte-compile-not-top-level): Remove. + (byte-compile-file-form-defmumble): Fill directly lap slot. + (byte-compile-lambda): Remove `byte-compile-not-top-level'. + (byte-compile-out-toplevel): Restore original code. + (byte-compile-form): Remove `byte-compile-not-top-level'. + (byte-compile-function-form): Likewise. + (byte-compile-flush-pending): No need anymore to set + `byte-compile-current-form' so restore orignal code. 2020-04-26 Stefan Kangas @@ -78920,20 +78910,20 @@ Convert before final function doc hash into a vector. - * lisp/emacs-lisp/comp.el (comp-finalize-relocs): Convert doc hash - table into vector befor final. - (comp-emit-for-top-level): Rename `comp-ctxt-doc-index-h' -> - `comp-ctxt-function-docs'. - (comp-ctxt): Likewise. + * lisp/emacs-lisp/comp.el (comp-finalize-relocs): Convert doc hash + table into vector befor final. + (comp-emit-for-top-level): Rename `comp-ctxt-doc-index-h' -> + `comp-ctxt-function-docs'. + (comp-ctxt): Likewise. - * src/comp.c (native_function_doc): Update logic for documentation - being a vector. - (emit_ctxt_code): Update for 'comp-ctxt-doc-index-h' slot rename. + * src/comp.c (native_function_doc): Update logic for documentation + being a vector. + (emit_ctxt_code): Update for 'comp-ctxt-doc-index-h' slot rename. - * src/comp.h (struct Lisp_Native_Comp_Unit): Rename 'data_fdoc_h' - into data_fdoc_v. + * src/comp.h (struct Lisp_Native_Comp_Unit): Rename 'data_fdoc_h' + into data_fdoc_v. - * src/pdumper.c (dump_native_comp_unit): Likewise. + * src/pdumper.c (dump_native_comp_unit): Likewise. 2020-04-26 Stefan Kangas @@ -78997,16 +78987,16 @@ Lazy load function documentation. - * src/comp.c (native_function_doc): New function. - (load_comp_unit): Do not load function doc during load. + * src/comp.c (native_function_doc): New function. + (load_comp_unit): Do not load function doc during load. - * src/comp.h: Extern 'native_function_doc'. + * src/comp.h: Extern 'native_function_doc'. - * src/doc.c (Fdocumentation): Call 'native_function_doc' to - retrive function doc. + * src/doc.c (Fdocumentation): Call 'native_function_doc' to + retrive function doc. - * src/pdumper.c (dump_native_comp_unit): Zero 'data_fdoc_h' before - dumping. + * src/pdumper.c (dump_native_comp_unit): Zero 'data_fdoc_h' before + dumping. 2020-04-25 Andrea Corallo @@ -79014,11 +79004,11 @@ 2020-04-25 Andrea Corallo - * Rename TEXT_OPTIM_QLY into TEXT_OPTIM_QLY_SYM. + Rename TEXT_OPTIM_QLY into TEXT_OPTIM_QLY_SYM. - * src/comp.c (TEXT_OPTIM_QLY): Rename into TEXT_OPTIM_QLY_SYM. - (emit_ctxt_code): Update TEXT_OPTIM_QLY naming. - (load_comp_unit): Likewise. + * src/comp.c (TEXT_OPTIM_QLY): Rename into TEXT_OPTIM_QLY_SYM. + (emit_ctxt_code): Update TEXT_OPTIM_QLY naming. + (load_comp_unit): Likewise. 2020-04-25 Andrea Corallo @@ -79028,34 +79018,34 @@ Store function documentations in a hash table. - * src/pdumper.c (dump_subr): Update Lisp_Subr hash. - (dump_subr): Update for new compilation unit layout. - (dump_vectorlike): Update pvec_type hash. + * src/pdumper.c (dump_subr): Update Lisp_Subr hash. + (dump_subr): Update for new compilation unit layout. + (dump_vectorlike): Update pvec_type hash. - * src/lisp.h (struct Lisp_Subr): Remove 'native_doc' index. - (DEFUN): Update macro for new compilation unit - layout. + * src/lisp.h (struct Lisp_Subr): Remove 'native_doc' index. + (DEFUN): Update macro for new compilation unit + layout. - * src/doc.c (Fdocumentation): Update for new compilation unit - layout. + * src/doc.c (Fdocumentation): Update for new compilation unit + layout. - * src/comp.h (struct Lisp_Native_Comp_Unit): - Add 'data_fdoc_h' field. + * src/comp.h (struct Lisp_Native_Comp_Unit): + Add 'data_fdoc_h' field. - * src/comp.c (TEXT_FDOC_SYM): New macro. - (emit_ctxt_code): Emit function documentations. - (load_comp_unit): Load function documentation. - (Fcomp__register_subr): Rename parameter. - (Fcomp__register_subr): Update for new compilation unit - layout. + * src/comp.c (TEXT_FDOC_SYM): New macro. + (emit_ctxt_code): Emit function documentations. + (load_comp_unit): Load function documentation. + (Fcomp__register_subr): Rename parameter. + (Fcomp__register_subr): Update for new compilation unit + layout. - * src/alloc.c (mark_object): Update for new compilation unit - layout. - (syms_of_alloc): Likewise. + * src/alloc.c (mark_object): Update for new compilation unit + layout. + (syms_of_alloc): Likewise. - * lisp/emacs-lisp/comp.el (comp-ctxt): Add doc-index-h slot. - (comp-emit-for-top-level): Emit doc index as 'comp--register-subr' - doc parameter. + * lisp/emacs-lisp/comp.el (comp-ctxt): Add doc-index-h slot. + (comp-emit-for-top-level): Emit doc index as 'comp--register-subr' + doc parameter. 2020-04-25 Andrea Corallo @@ -79094,17 +79084,17 @@ Fix deferred-compilation for double compilation (bug#40838). - * lisp/emacs-lisp/comp.el (native-compile-async): Prevent double - compilation (bug#40838). + * lisp/emacs-lisp/comp.el (native-compile-async): Prevent double + compilation (bug#40838). 2020-04-25 Andrea Corallo Store ongoing compilations processes as hash table. - * lisp/emacs-lisp/comp.el (comp-async-processes): Rename as - `comp-async-compilations'. - (comp-async-runnings): Make use as `comp-async-compilations'. - (comp-run-async-workers): Likewise. + * lisp/emacs-lisp/comp.el (comp-async-processes): Rename as + `comp-async-compilations'. + (comp-async-runnings): Make use as `comp-async-compilations'. + (comp-run-async-workers): Likewise. 2020-04-25 Eli Zaretskii @@ -79892,18 +79882,18 @@ Always set `load-true-file-name' where `load-file-name' is set too. - Fix bug#40620. + Fix bug#40620. - * lisp/cus-dep.el (custom-make-dependencies): Set - load-true-file-name. + * lisp/cus-dep.el (custom-make-dependencies): Set + load-true-file-name. - * lisp/emacs-lisp/package.el (package-quickstart-refresh): - Likewise. + * lisp/emacs-lisp/package.el (package-quickstart-refresh): + Likewise. - * lisp/international/mule.el (load-with-code-conversion): - Likewise. + * lisp/international/mule.el (load-with-code-conversion): + Likewise. - * lisp/loadup.el (load-true-file-name): Likewise. + * lisp/loadup.el (load-true-file-name): Likewise. 2020-04-14 Eli Zaretskii @@ -79993,7 +79983,7 @@ 2020-04-13 Andrea Corallo - * Fix native-compile-async for bug#40602. + Fix native-compile-async for bug#40602. * lisp/emacs-lisp/comp.el (native-compile-async): Relax coherency condition. @@ -80011,9 +80001,9 @@ Fix function find mechanism for installed instance. - * src/lread.c (parent_directory): New function. - (Fload): Make use of 'parent_directory' and fix load-history - build-up with relative paths. + * src/lread.c (parent_directory): New function. + (Fload): Make use of 'parent_directory' and fix load-history + build-up with relative paths. 2020-04-13 Glenn Morris @@ -80111,12 +80101,12 @@ Introduce load-true-file-name - * src/comp.c (maybe_defer_native_compilation): Use - `load-true-file-name' instead of `load-file-name'. + * src/comp.c (maybe_defer_native_compilation): Use + `load-true-file-name' instead of `load-file-name'. - * src/lread.c (Fload, end_of_file_error, read1, read_list) - (init_lread, syms_of_lread): Add new `load-true-file-name' and - fake `load-file-name' value when loading .eln files. + * src/lread.c (Fload, end_of_file_error, read1, read_list) + (init_lread, syms_of_lread): Add new `load-true-file-name' and + fake `load-file-name' value when loading .eln files. 2020-04-13 Eli Zaretskii @@ -80198,19 +80188,19 @@ Vinvocation_directory must be set during dump load process to support .eln load. - * src/pdumper.h: (pdumper_load): Add argv0 and original_pwd - parameters. + * src/pdumper.h: (pdumper_load): Add argv0 and original_pwd + parameters. - * src/pdumper.c (pdumper_load): Add argv0 and original_pwd - parameter plus call 'set_invocation_vars'. + * src/pdumper.c (pdumper_load): Add argv0 and original_pwd + parameter plus call 'set_invocation_vars'. - * src/lisp.h (set_invocation_vars): New function. + * src/lisp.h (set_invocation_vars): New function. - * src/emacs.c (set_invocation_vars): New function. - (init_cmdargs): Move logic into 'set_invocation_vars' and call it. - (load_pdump): Add 'original_pwd' parameter and update calls to - 'pdumper_load'. - (main): Set emacs_wd earlier and update call to 'pdumper_load'. + * src/emacs.c (set_invocation_vars): New function. + (init_cmdargs): Move logic into 'set_invocation_vars' and call it. + (load_pdump): Add 'original_pwd' parameter and update calls to + 'pdumper_load'. + (main): Set emacs_wd earlier and update call to 'pdumper_load'. 2020-04-12 Andrea Corallo @@ -80219,11 +80209,11 @@ Set the filename for every compilation unit as realtive to obtain a position independent dump. - * lisp/loadup.el: Modify filename for every compilation unit as - position independent. + * lisp/loadup.el: Modify filename for every compilation unit as + position independent. - * src/pdumper.c (dump_do_dump_relocation): Update to be invocation - directory relative. + * src/pdumper.c (dump_do_dump_relocation): Update to be invocation + directory relative. 2020-04-12 Andrea Corallo @@ -82322,7 +82312,7 @@ 2020-03-13 Andrea Corallo - * Do not produce .eln files when a byte compilation error happen + Do not produce .eln files when a byte compilation error happen Have the byte compiler signal an error when compilation fails to stop native compilation too. @@ -82464,7 +82454,7 @@ 2020-03-10 Andrea Corallo - * Fix GC mark for native compiled functions + Fix GC mark for native compiled functions native_intspec and native_doc fields has to be reached by the subr cause are not anymore in the CU. @@ -82533,11 +82523,11 @@ 2020-03-08 Andrea Corallo - * Fix typo into pdumper integration + Fix typo into pdumper integration 2020-03-08 Andrea Corallo - * New native-comp CI setup + New native-comp CI setup - Disable 'test-all' till is known to be broken in this branch. @@ -82547,7 +82537,7 @@ 2020-03-08 Andrea Corallo - * Fix two find function functions for native compilation + Fix two find function functions for native compilation `find-function-library' and `find-library-name' gets fixed for new eln compilation directory layout. @@ -82710,7 +82700,7 @@ 2020-03-07 Andrea Corallo - * Raise timeout for test-native-bootstrap CI test and build with -j2 + Raise timeout for test-native-bootstrap CI test and build with -j2 2020-03-07 Glenn Morris @@ -82754,7 +82744,7 @@ 2020-03-07 Andrea Corallo - * Add test-native-bootstrap as CI test + Add test-native-bootstrap as CI test 2020-03-06 Glenn Morris @@ -82793,7 +82783,7 @@ 2020-03-04 Andrea Corallo - * Fix build for stock configuration + Fix build for stock configuration Vcomp_native_path_postfix is declared only in native configuration. @@ -84068,7 +84058,7 @@ 2020-03-01 Andrea Corallo - * Reorganize passes + Reorganize passes - Make propagate responsible for keeping SSA up to date. @@ -84079,7 +84069,7 @@ 2020-03-01 Andrea Corallo - * Allow for multiple SSA runs + Allow for multiple SSA runs Add function ssa-status as `comp-func' slot and have `comp-clean-ssa' to run when necessary. @@ -84104,7 +84094,7 @@ 2020-03-01 Andrea Corallo - * Rename comp-emit-set-const -> comp-emit-setimm + Rename comp-emit-set-const -> comp-emit-setimm * Reduce stack depth while marking native compiled subrs @@ -84134,13 +84124,13 @@ 2020-02-26 Andrea Corallo - * Two grammar fixes into async hooks doc + Two grammar fixes into async hooks doc Merge remote-tracking branch 'savannah/master' into HEAD 2020-02-23 Andrea Corallo - * Add two hooks for async native compilation + Add two hooks for async native compilation 2020-02-23 Andrea Corallo @@ -88851,10 +88841,10 @@ Bump Emacs version to 27.1.91 - * README: - * configure.ac: - * nt/README.W32: - * msdos/sed2v2.inp: Bump Emacs version to 27.1.91. + * README: + * configure.ac: + * nt/README.W32: + * msdos/sed2v2.inp: Bump Emacs version to 27.1.91. 2021-02-03 Eli Zaretskii @@ -90150,13 +90140,11 @@ 2021-02-03 Michael R. Mauger - 2020-03-29 Michael R. Mauger - - * lisp/progmodes/sql.el (sql-add-product): Re-correct argument - spec. Previous change was due to my mistake; I have - resolved back to the prior behavior (Bug#39960). - * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added - test to insure I don't make the same mistake again. + * lisp/progmodes/sql.el (sql-add-product): Re-correct argument + spec. Previous change was due to my mistake; I have + resolved back to the prior behavior (Bug#39960). + * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added + test to insure I don't make the same mistake again. 2021-02-03 Lars Ingebrigtsen @@ -98361,8 +98349,6 @@ 2019-11-26 Martin Rudalics - 2019-11-26 Martin Rudalics - * lisp/window.el (switch-to-visible-buffer): Declare obsolete. (switch-to-prev-buffer-skip): New option. (switch-to-prev-buffer, switch-to-next-buffer): Obey @@ -119603,10 +119589,10 @@ * lisp/textmodes/table.el (table-source-languages): Add support for wiki and mediawiki tables (bug#13287). - 2019-06-27 Lars Ingebrigtsen +2019-06-27 Lars Ingebrigtsen - * doc/emacs/text.texi (Table Misc): Mention the new wiki and - mediawiki formats. + * doc/emacs/text.texi (Table Misc): Mention the new wiki and + mediawiki formats. 2019-06-27 Wilfred Hughes @@ -120092,16 +120078,16 @@ Add a new command to report the number and size of the marked files - 2019-06-25 Constantino Calancha +2019-06-25 Constantino Calancha - * lisp/dired.el (dired-mode-map): New keystroke and menu binding - (bug#22829). + * lisp/dired.el (dired-mode-map): New keystroke and menu binding + (bug#22829). - 2019-06-25 Lars Ingebrigtsen +2019-06-25 Lars Ingebrigtsen - * doc/emacs/dired.texi (Marks vs Flags): Document it. + * doc/emacs/dired.texi (Marks vs Flags): Document it. - * lisp/dired.el (dired-number-of-marked-files): New command. + * lisp/dired.el (dired-number-of-marked-files): New command. 2019-06-25 Phil Sainty @@ -125372,7 +125358,7 @@ Copy from Gnulib * m4/gnulib-comp.m4: Regenerate. - 2019-05-26 Paul Eggert +2019-05-26 Paul Eggert Update author/maintainer info This mostly updates email addresses and fixes spellings of @@ -135515,8 +135501,6 @@ Replace NUL characters when calling into libxml - 2019-02-27 Robert Pluim - * lisp/net/eww.el (eww-display-html): Replace NUL characters with "\0", as libxml can't handle embedded NULLs. (Bug#34469) @@ -143603,23 +143587,23 @@ Bad assumptions in the `vc-hg-find-file-hook' prevented it from working. This correctly them. (Bug#33129). - 2018-10-23 Daniel Pittman +2018-10-23 Daniel Pittman - * lisp/vc/vc-hg.el (vc-hg-find-file-hook): This function made two - assumptions about conflicted files that were not accurate, - preventing conflicts in files ever being detected. + * lisp/vc/vc-hg.el (vc-hg-find-file-hook): This function made two + assumptions about conflicted files that were not accurate, + preventing conflicts in files ever being detected. - The first was that the `vc-state' was cache by the time this was - invoked, which it is not - at least when visiting the file, or - using `vc-refresh-state'. + The first was that the `vc-state' was cache by the time this was + invoked, which it is not - at least when visiting the file, or + using `vc-refresh-state'. - The second was that a file with the ".orig" extension would be - present, next to the file being visited. This is the default - behavior of Mercurial, but can be overridden by the user. + The second was that a file with the ".orig" extension would be + present, next to the file being visited. This is the default + behavior of Mercurial, but can be overridden by the user. - Since the VC mode-line code will shortly calculate the state for - display, the optimization of testing for the ".orig" file only - delayed this work by a few moments. + Since the VC mode-line code will shortly calculate the state for + display, the optimization of testing for the ".orig" file only + delayed this work by a few moments. 2018-11-02 Stefan Monnier @@ -145627,7 +145611,7 @@ * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article): Omit leading 0s after "M" in file name. Problem reported by Glenn Morris in: - https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html + https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html 2018-09-15 Paul Eggert @@ -148141,7 +148125,7 @@ (cleanup_vector): Use it. Use if-then-else systematically; this lets GCC do a bit better job. - 2018-08-08 Paul Eggert +2018-08-08 Paul Eggert * src/alloc.c (VBLOCK_BYTES_MAX): Use vroundup_ct, not vroundup, so that can be used in static assertions. @@ -205477,9 +205461,9 @@ auth-source-user-and-password: add forgotten user parameter - * lisp/auth-source.el (auth-source-user-and-password): Use - accidentally unused "user" parameter. - Reported by Oscar Najera . + * lisp/auth-source.el (auth-source-user-and-password): Use + accidentally unused "user" parameter. + Reported by Oscar Najera . 2017-01-31 Simen Heggest淡yl @@ -213817,8 +213801,6 @@ Signal file-already-exists if appropriate. * src/fileio.c (syms_of_fileio): Define file-missing. - 2016-10-18 Paul Eggert - 2016-10-21 Mark Oteiza Teach browse-url to open man page urls commit 6192525a96f7524e245f2d3325413cc563ba28a8 Author: Stefan Kangas Date: Tue Nov 30 09:36:54 2021 +0100 ; make change-history-commit diff --git a/ChangeLog.3 b/ChangeLog.3 index ad659694a9..8789471ed3 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -1,3 +1,88462 @@ +2021-11-29 Protesilaos Stavrou + + Remove problematic characters from modus-themes.org (bug#52126) + + * doc/misc/modus-themes.org + (Enable and load, Font configurations for Org and others) + (Note on highlight-parentheses.el, Note on god-mode.el): Update links to + headings so that they no longer include the removed portions of text. + + (Option for color-coding success state, Option for line highlighting) + (Option for line numbers, Option for parenthesis matching) + (Advanced customization, Per-theme customization settings) + (Case-by-case face specs using the themes' palette) + (Face specs at scale using the themes' palette) + (Remap face with local value, Cycle through arbitrary colors) + (Override colors, Override color saturation) + (Font configurations for Org and others, Configure bold and italic faces) + (Custom Org user faces, Update Org block delimiter fontification) + (Measure color contrast, Load theme depending on time of day) + (Backdrop for pdf-tools) + (A theme-agnostic hook for theme loading, Note on EWW and Elfeed fonts) + (Frequently Asked Questions): Remove parentheses from headings as they + can cause problems in the .texi version of the file. + +2021-11-29 Andreas Schwab + + Avoid undefined behaviour when copying part of structure + + * src/dispnew.c (copy_row_except_pointers): Don't use address of + subobject as starting point. + + (cherry picked from commit 6943786b5c1fe76ea05a3a810512bd6777883710) + +2021-11-29 Stefan Kangas + + * Makefile.in (PREFERRED_BRANCH): Now emacs-28. + +2021-11-28 Eli Zaretskii + + * src/coding.c (Fdecode_coding_region, Fencode_coding_region): Doc fix. + +2021-11-27 Mike Kupfer + + Fix Subject when forwarding message with 2-line From + + * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): Collapse + two-line From headers into a single line (SF#266). Based on a + suggestion from Lester Buck (many thanks!). + +2021-11-27 Kyle Meyer + + Update to Org 9.5.1-11-g96d91b + +2021-11-27 Eli Zaretskii + + * doc/lispref/commands.texi (Click Events): Fix wording (bug#52142). + +2021-11-25 Robert Pluim + + Fix pdf generation with Texinfo 6.7 + + * doc/lispref/display.texi (Size of Displayed Text): Put @group inside + @example (bug#52102). + +2021-11-25 Eli Zaretskii + + Fix 'posn-at-point' near some overlays + + * src/xdisp.c (pos_visible_p): Fix 'posn-at-point' for positions + just after a display property that draws a fringe bitmap. + (Bug#52097) + +2021-11-25 Narendra Joshi (tiny change) + + * lisp/repeat.el (repeat-post-hook): Add check symbolp rep-map. + +2021-11-24 Eli Zaretskii + + Revert "Use @pxref when necessary" + + This reverts commit b4f47d2ee2203a9f22bebeb3d09e0fb3fce2f65e. + Cleanups should not be done on the release branch: that's + unnecessary risk. + +2021-11-24 Robert Pluim + + Use @pxref when necessary + + * doc/lispref/customize.texi (Composite Types): + * doc/lispref/edebug.texi (Specification List): + * doc/lispref/variables.texi (Local Variables): + * doc/misc/efaq.texi (Basic keys): + (Informational files for Emacs): + * doc/misc/flymake.texi (Locating a master file): + * doc/misc/gnus.texi (Don't Panic): + (Oort Gnus): + * doc/misc/htmlfontify.texi (Non-interactive): + * doc/misc/mh-e.texi (More About MH-E): + * doc/misc/pcl-cvs.texi (Entering PCL-CVS): + * doc/misc/tramp.texi (Remote processes): + * doc/misc/vhdl-mode.texi (Indentation Calculation): + (Custom Indentation Functions): Use @pxref when inside parens. + +2021-11-24 Michael Albinus + + Backport Tramp fixes, don't merge + + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + Use `tramp-handle-file-readable-p'. + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test02-file-name-dissect): Use `make-tramp-file-name'. + +2021-11-23 Takesi Ayanokoji (tiny change) + + Fix typos in documentation + + * doc/lispref/anti.texi: + * doc/misc/efaq.texi: Fix typos. + +2021-11-22 Eli Zaretskii + + Fix '(space :relative-width N)' display spec w/non-ASCII chars + + * src/xdisp.c (produce_stretch_glyph): Use the correct face for + non-ASCII characters. Support :relative-width display spec on + Lisp strings, not just on buffer text. + +2021-11-22 Juri Linkov + + * lisp/proced.el (proced-sort-header): Fix event positions (bug#1779). + + The logic was copied from 'tabulated-list-col-sort'. + +2021-11-20 Kyle Meyer + + Update to Org 9.5-72-gc5d6656 + +2021-11-20 Eli Zaretskii + + Fix mouse handling with several TTY frames on MS-Windows + + * src/w32inevt.c (do_mouse_event): Reset the 'mouse_moved' flag of + the selected frame. Without that, this flag might remain set on a + TTY frame that is not displayed. + +2021-11-20 Eli Zaretskii + + Fix temacs invocation from outside of the 'src' directory + + * src/emacs.c (main) [HAVE_NATIVE_COMP]: Recompute the value of + native-comp-eln-load-path if about to load loadup in uninitialized + Emacs. (Bug#51999) + +2021-11-20 martin rudalics + + Fix mouse events on tab bar or tool bar when 'track-mouse' is t + + * lisp/mouse.el (mouse-drag-track): + * lisp/mouse-drag.el (mouse-drag-drag): Set 'track-mouse' to some + value neither t nor nil. + * src/keyboard.c (make_lispy_position): If track_mouse is Qt, + report event on tool or tab bar (Bug#51794). + +2021-11-20 Po Lu + + Fix `browse-url-interactive-arg' for certain kinds of events + + * lisp/net/browse-url.el (browse-url-interactive-arg): Don't + call `mouse-set-point' unless event is actually a mouse event. + +2021-11-19 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Remove declaration. + +2021-11-19 Michael Albinus + + Add upward compatibility entry in Tramp (don't merge) + + * lisp/net/tramp.el (tramp-file-name-for-operation): + Add `abbreviate-file-name'. + +2021-11-18 Juri Linkov + + Fix sorting of menus in `context-menu-local' (bug#50067). + + * lisp/menu-bar.el (menu-bar-keymap): Don't use `lookup-key' + on the `keymap' arg. + + * lisp/mouse.el (context-menu-global): Use `lookup-key global-map' + for the `keymap' arg of `menu-bar-keymap'. + (context-menu-local): Use `menu-bar-keymap' to sort `keymap'. + +2021-11-18 Juri Linkov + + Fix flyspell-correct-word selected from context menu opened with the keyboard + + * lisp/mouse.el (context-menu-open): Call interactively a command + returned by `context-menu-map' such as `flyspell-correct-word' (bug#50067). + + * lisp/textmodes/flyspell.el (flyspell-correct-word): Handle the + case when it's called by a key bound to `context-menu-open'. + Then it should work the same way as `C-c $' typed on misspelled word + where the arg `event' of `flyspell-correct-word-before-point' is nil. + +2021-11-18 Robert Pluim + + * lisp/repeat.el (describe-repeat-maps): Print all bound keys (bug#49265). + +2021-11-18 Juri Linkov + + * lisp/tab-bar.el: Use 'mouse-1' for history buttons like for 'add-tab' button + + * lisp/tab-bar.el (tab-bar-mouse-down-1, tab-bar-mouse-1): + Handle clicks for 'history-back' and 'history-forward' the same way + as 'add-tab' clicks. + +2021-11-18 Eli Zaretskii + + Improve documentation of window hooks + + * doc/lispref/windows.texi (Window Hooks): Clarify "buffer-local + functions". (Bug#51930) + +2021-11-18 Eli Zaretskii + + Improve doc string of 'highlight-nonselected-windows' + + * src/xdisp.c (syms_of_xdisp) : + Clarify the doc string. (Bug#51927) + +2021-11-17 Stefan Kangas + + * admin/authors.el (authors-ignored-files): Ignore some NEWS files. + +2021-11-16 Juri Linkov + + * lisp/tab-bar.el (tab-bar-select-tab): Add check for wc-frame (bug#51883). + +2021-11-16 Juri Linkov + + * lisp/tab-bar.el: Doc fixes for commands bound to modifier keys. + + (tab-bar-select-tab-modifiers) + (tab-bar-select-tab, tab-bar-switch-to-last-tab): Doc fixes. + +2021-11-15 Eli Zaretskii + + Fix removal of fringe marks of deleted bookmarks + + * lisp/bookmark.el (bookmark--remove-fringe-mark): The fringe + overlay is at BOL, not at POS. (Bug#51233) + +2021-11-15 Juri Linkov + + * lisp/repeat.el (repeat-echo-message): Bind message-log-max to nil. + + Don't insert messages about repeatable keys in the *Messages* buffer. + +2021-11-15 Robert Pluim + + * lisp/repeat.el (describe-repeat-maps): Use help-fns--analyze-function. + + Print keys bound to commands in every keymap (bug#49265) + +2021-11-15 Juri Linkov + + * lisp/repeat.el: Detect changes in the minibuffer state (bug#47566) + + (repeat--prev-mb): New internal variable. + (repeat-post-hook): Check the property 'repeat-map' on the symbol + from 'this-command' in addition to 'real-this-command'. Don't allow + repeatable maps in the activated minibuffer or in the minibuffer + from another command. Set 'repeat--prev-mb' at the end. + +2021-11-15 Eli Zaretskii + + Avoid segfaults due to freed face cache + + * src/xfaces.c (face_at_buffer_position): Make sure DEFAULT_FACE + is usable. (Bug#51864) + +2021-11-15 Stefan Kangas + + Doc fix; change recommended file name of custom-file + + * lisp/cus-edit.el (custom-file): Change file name recommendation to + match Info node '(emacs) Saving Customizations'. + +2021-11-14 Philip Kaludercic + + * rcirc.el (rcirc-define-command): Fix interactive-spec generation + + * rcirc.el (rcirc-define-command): Wrap interactive spec in a list call. + +2021-11-14 Lars Ingebrigtsen + + Fix `C-h k' in gnus-article-mode (don't merge) + + * lisp/gnus/gnus-art.el (gnus-article-describe-key): + (gnus-article-describe-key-briefly): Fix `describe-key' calling + convention (bug#51796). + +2021-11-14 Daniel Mart鱈n + + Fix semantic-symref-perform-search doc string + + * lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search): + Fix the docstring to refer to the correct tool (bug#51846). + +2021-11-14 Eli Zaretskii + + Add more files to be natively-compiled AOT + + * src/Makefile.in (elnlisp): Add emacs-lisp/gv.eln and other + missing dependencies of comp.el. + +2021-11-14 Lars Ingebrigtsen + + gnus-summary-line-format doc string clarification + + * lisp/gnus/gnus.el (gnus-summary-line-format): Clarify the Date + part of the doc string (bug#51823). + +2021-11-13 Alan Mackenzie + + Fix follow-scroll-down in a small buffer which starts slightly scrolled + + This fixes bug #51814. + + * lisp/follow.el (follow-scroll-down): Do away with the optimization of doing + vertical-motion over only one window. Instead move over all windows, to + checck for being close to point-min, and setting point accordingly. + +2021-11-13 Eli Zaretskii + + Fix compilation on MS-Windows + + * src/callproc.c (emacs_spawn) : Define the label only + if USABLE_POSIX_SPAWN is defined, to avoid a compiler warning. + + (cherry picked from commit a8fc08085110de00ebcbd67b5273a755a5cb8ea1) + +2021-11-13 Philipp Stephani + + Use posix_spawn if possible. + + posix_spawn is less error-prone than vfork + execve, and can make + better use of system-specific enhancements like 'clone' on Linux. Use + it if we don't need to configure a pseudoterminal. + + Backported from commit a60053f8368e058229721f1bf1567c2b1676b239. + Unlike that commit, only define USABLE_POSIX_SPAWN on macOS, because + there posix_spawn is much faster than vfork. + + Don't merge to master. + + * configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN) + (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR) + (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) + (HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New + configuration variables. + * src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro. + (emacs_posix_spawn_init_actions) + (emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New + helper functions. + (emacs_spawn): Use posix_spawn if possible. + + (cherry picked from commit a60053f8368e058229721f1bf1567c2b1676b239) + +2021-11-13 Eli Zaretskii + + Improve style and comments in font-related sources + + * src/w32font.c (fill_in_logfont): Stylistic changes. + * src/font.h (font_property_index, font_select_entity): + Add/improve comments. + +2021-11-12 Eli Zaretskii + + Improve documentation of 'decode-coding-region' + + * src/coding.c (Fdecode_coding_region): Doc fix. + + * doc/lispref/nonascii.texi (Coding System Basics) + (Explicit Encoding): Explain the significance of using 'undecided' + in 'decode-coding-*' functions. + +2021-11-12 Lars Ingebrigtsen + + Fix problem with temp buffer killing in package-install-file + + * lisp/emacs-lisp/package.el (package-install-file): Allow killing + the temporary buffer without querying (bug#51769). + +2021-11-12 Lars Ingebrigtsen + + Fix Lisp Intro markup error + + * doc/lispintro/emacs-lisp-intro.texi (Insert let): Fix @code + markup error (bug#51777). + +2021-11-11 Eli Zaretskii + + Fix ACL errors with WebDAV volumes on MS-Windows + + * src/w32.c (acl_get_file): Handle ERROR_INVALID_FUNCTION from + WebDAV. Patch from Ioannis Kappas . + (Bug#51773) + +2021-11-11 Aleksandr Vityazev + + Fix tramp-compat-file-name-concat (Bug#51754) + + * lisp/net/tramp-compat.el: Make `tramp-compat-file-name-concat' + work like file-name-concat. (Bug#51754) + +2021-11-10 Juri Linkov + + * lisp/vc/vc-git.el (vc-git-mergebase): More meaningful error message. + + Display a readable error message instead of signaling an error on nil value. + +2021-11-10 Stephen Gildea + + time-stamp: %F is "file name" not "pathname" + other doc + + * lisp/time-stamp.el (time-stamp-format): doc 'file' instead of 'path'. + * test/lisp/time-stamp-tests.el (formatz, format-time-offset): + Clarify the difference and similarity between these two test helpers. + +2021-11-09 Juri Linkov + + * doc/misc/eww.texi (Advanced): Fix missed variable name eww-retrieve-command. + +2021-11-09 Juri Linkov + + * doc/emacs/windows.texi (Window Convenience): Use @code for windmove. + + This refers to both a command and a user option. + + * etc/NEWS: Add some ---. + +2021-11-09 Juri Linkov + + * doc/emacs/maintaining.texi (Basic VC Editing): Mention Dired buffer. + + * doc/emacs/text.texi (Outline Mode): Replace S-TAB with with S-. + + * etc/NEWS: Add some missing +++/--- and move some related items closer. + +2021-11-09 Juri Linkov + + * lisp/progmodes/prog-mode.el (prog-context-menu): Use "Go Back" (bug#38797) + +2021-11-09 Stefan Kangas + + Revert "Fix localized display of date and time in the NS port" + + This reverts commit 5e05be566b0e13ce0b4e75da663fb051039f0751. + + This was discussed in + https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51321#93 + +2021-11-08 Juri Linkov + + * lisp/mouse.el (mouse-buffer-menu-mode-groups): Tighten "Version Control". + + Use word boundaries in the "Version Control" regexp to match mode names + "Log-Edit", "Log-View", "Git-Log-View", "Change Log", "VC dir", + but not "Verilog", "Prolog", "Rlogin" (bug#51337). + +2021-11-08 Juri Linkov + + * doc/emacs/search.texi (Isearch Yank): Add isearch-forward-thing-at-point. + +2021-11-07 Alan Mackenzie + + Amend Follow Mode to handle header lines and tab lines correctly + + This fixes bug #51590. + + list/follow.el (follow-scroll-down): Incorporate the height of the tab line + into the calculation of the window height. + (follow-calc-win-end): Incorporate the pixel heights of the header line and + the tab line the calculation of the buffer position of the bottom screen line. + +2021-11-07 Stefan Kangas + + * lisp/files.el (user-emacs-directory-warning): Clarify docstring. + +2021-11-07 Juri Linkov + + * doc/emacs/frames.texi (Tab Bars): Add text about mouse and tab-bar-format + + Briefly describe mouse commands on the tab bar and tab-bar-format (bug#51444) + +2021-11-07 Juri Linkov + + * doc/emacs/frames.texi (Tab Bars): Describe tab-last. + + 'C-9' and 'M-9' already had kindex, so describe them in the text as well + (bug#51444). + +2021-11-07 Jim Porter + + Add some unit tests for 'abbreviate-file-name' + + * test/lisp/files-tests.el (files-tests-abbreviate-file-name-homedir) + (files-tests-abbreviate-file-name-directory-abbrev-alist): New tests. + +2021-11-07 Eli Zaretskii + + Fix compilation MinGW warnings + + * src/w32.h (prepare_standard_handles, reset_standard_handles): + Fix prototypes. Reported by Andy Moreton + in + https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg00597.html. + +2021-11-06 Stefan Kangas + + Escape '%' in filenames to fix flymake warnings + + * lisp/progmodes/flymake.el (flymake--log-1): Escape '%' in filenames + for 'warning-type-format' so they are not interpreted as a %-sequence + by 'format' later. (Bug#51549) + +2021-11-06 Lars Ingebrigtsen + + Fix search string generation in nnimap-make-thread-query + + * lisp/gnus/nnimap.el (nnimap-make-thread-query): Remove text + properties before constructing the search string (bug#49926). + +2021-11-06 Kyle Meyer + + Update to Org 9.5-68-g77e2ec + +2021-11-06 Michael Albinus + + Fix dbus-test04-register-method on CentOS (Bug#51369) + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): + Fix problem on CentOS. (Bug#51369) + +2021-11-06 Jonas Bernoulli + + * lisp/transient.el: Update to package version v0.3.7-11-g7f5520b3. + +2021-11-06 Eli Zaretskii + + Clarify "text area of a window" in the documentation + + * src/keyboard.c (Fposn_at_x_y): Clarify that the Y coordinate + includes the header-line and the tab-line. (Bug#51590) + + * doc/lispref/windows.texi (Window Sizes, Splitting Windows) + (Textual Scrolling, Coordinates and Windows): Fix/remove improper + or confusing uses of "text area" of a window. + +2021-11-06 Stefan Kangas + + Improve docstring of kmacro-set-format + + * lisp/kmacro.el (kmacro-set-format): Improve docstring. + (kmacro-insert-counter, kmacro-display-counter) + (kmacro-set-counter, kmacro-add-counter): Add cross-references + to the info manual. + +2021-11-05 Stefan Kangas + + Revert "* lisp/wid-edit.el (widget-field): Add subtle border to face." + + This reverts commit 8b024a6ff10f7907445ea60c4db8355638616ed1. + + This lead to some alignment issues. (Bug#51550) + Don't merge to master, where we will continue investigating. + +2021-11-05 Stefan Kangas + + * etc/PROBLEMS: Mention X forwarding slowdowns. (Bug#7092) + +2021-11-04 Stefan Kangas + + * lisp/custom.el (defgroup): Document the :prefix keyword. + +2021-11-04 Thibault Polge + + Document ibuffer-auto-mode in ibuffer-mode doc string + + * lisp/ibuffer.el (ibuffer-mode): Mention ibuffer-auto-mode in the + ibuffer-mode doc string (bug#51584). + +2021-11-04 Juri Linkov + + * doc/emacs/frames.texi (Tab Bars): Reorder toggle-frame-tab-bar. + +2021-11-04 Stefan Kangas + + Use current face foreground for SVG icons in customize + + It turns out these few icons were missed when the color and size + information was removed from the SVG icons that replaced XPM icons for + Customize buffer. + * etc/images/down.svg: + * etc/images/left.svg: + * etc/images/right.svg: + * etc/images/up.svg: Don't define foreground; this means they will use + the foreground of the currently defined face instead. (Bug#51556) + + (cherry picked from commit 11702a6dd7cb8286f28b7cb986057d2d2c66a914) + +2021-11-03 Juri Linkov + + * doc/emacs/building.texi (Compilation Mode): Add next-error-message-highlight + + The variable 'next-error-message-highlight' already has vindex, + so describe it in the text as well (bug#51444). + +2021-11-03 Daniel Mart鱈n + + Document a macOS error message when opening Emacs + + * etc/PROBLEMS: Document a potential error message when opening Emacs + on macOS for the first time. + +2021-11-03 Eli Zaretskii + + Fix header-line and tab-line when mode-line-compact is set + + * src/xdisp.c (display_mode_line): Make 'mode-line-compact' apply + only to mode lines. (Bug#51558) + +2021-11-03 Mattias Engdeg奪rd + + Add manual section about how to avoid regexp problems + + Help users affected by our NFA engine's stack overflows and occasional + poor performance, replacing old text that was more limited in scope. + + * doc/lispref/elisp.texi (Top): + * doc/lispref/searching.texi (Regular Expressions): Add menu entries. + (Regexp Problems): New node. + (Regexp Special): + * etc/PROBLEMS: Remove superseded text. + +2021-11-03 Phillip Lord + + Clarify build environment + + * admin/nt/dist-build/README-scripts: + +2021-11-03 Phillip Lord + + Clarify build directory structure + + * admin/nt/dist-build/README-scripts: Clarify build directory structure + +2021-11-02 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Add sanity check. + +2021-11-01 Juri Linkov + + * lisp/progmodes/prog-mode.el (prog-context-menu): Use text-mode-context-menu. + +2021-11-01 Michael Albinus + + Fix bug#51369 + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): Skip on hydra. + +2021-11-01 Michael Albinus + + Adapt arguments of `tramp-make-tramp-file-name' + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted): + * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp): + Use `make-tramp-file-name'. + + * lisp/obsolete/rcompile.el (remote-compile): Pacify byte-compiler. + +2021-11-01 Lars Ingebrigtsen + + Fix typo in describe-map-tree doc string + + * lisp/help.el (describe-map-tree): Fix typo in doc string. + +2021-11-01 Ken Brown + + Drop support for native compilation on 32-bit Cygwin + + * configure.ac (cygwin32-native-compilation): New option. + [i686-pc-cygwin]: Don't allow native compilation unless that + option is specified. (Bug#50666) + +2021-10-31 Lars Ingebrigtsen + + Fix rendering of title-less tags in shr + + * lisp/net/shr.el (shr-tag-abbr): Render tags that have no + title (bug#51525). + +2021-10-31 Eli Zaretskii + + Avoid signaling errors in lookup-key + + * src/keymap.c (Flookup_key): Handle KEY vectors where not all + components are symbols. (Bug#51527) Do not merge to master. + +2021-10-31 Daniel Mart鱈n + + Fix localized display of date and time in the NS port + + * src/nsterm.m (ns_init_locale): If not already set, set LC_ALL to the + current locale ID so that dates, currencies, etc. use the settings + configured in the operating system. (Bug#51321) + +2021-10-31 Eli Zaretskii + + Fix display glitches with side-by-side windows on TTY frames + + * src/dispnew.c (adjust_glyph_matrix, prepare_desired_row): Leave + room for the border glyph only if the window does actually have + the right margin. (Bug#51521) + +2021-10-30 Carlos Pita + + Avoid replacing common prefix with ellipsis + + * lisp/progmodes/python.el + (python-shell-completion-native-setup): Configure readline not to + suppress common prefixes. (Bug#51218) + +2021-10-30 Eli Zaretskii + + Improve documentation of string truncation APIs + + * doc/lispref/display.texi (Size of Displayed Text): + * lisp/international/mule-util.el (truncate-string-to-width): + Document caveats of using 'truncate-string-to-width' when + character composition is involved. + + * lisp/emacs-lisp/subr-x.el (string-limit): + * doc/lispref/strings.texi (Creating Strings): Improve the + documentation of 'string-limit'. + +2021-10-29 Imran Khan (tiny change) + + * lisp/textmodes/css-mode.el: Fix typo. (Bug#51488) + +2021-10-29 Lars Ingebrigtsen + + Make message/rfc822 on buttons work again in Gnus + + * lisp/gnus/gnus-art.el (gnus-article-mode): Set + mm-inline-message-prepare-function buffer-locally so that it works + both when inlining rfc822 and hitting the MIME button (bug#51388). + (gnus-mime--inline-message): Factor out into own function. + (gnus-mime-display-single): From here. + +2021-10-29 Glenn Morris + + * lisp/loadup.el: Unbreak build. + +2021-10-29 Lars Ingebrigtsen + + Move lisp/shorthands.el to lisp/emacs-lisp/shorthands.el + +2021-10-29 Michael Albinus + + Some Tramp changes, mainly in tramp-tests.el + + * doc/misc/tramp.texi (External packages): Don't use Tramp internals. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted): + Protect `tramp-make-tramp-file-name' call. + + * lisp/net/tramp.el (tramp-make-tramp-file-name): Set advertised + calling conventions. + + * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes): + Adapt test. + (tramp--test-supports-processes-p): New defun. + (tramp-test28-process-file, tramp-test29-start-file-process) + (tramp-test30-make-process, tramp-test32-shell-command) + (tramp-test32-shell-command-dont-erase-buffer) + (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path) + (tramp-test44-asynchronous-requests): Use it. + +2021-10-29 Gregory Heytings + + Make hieroglyphs display correctly with existing fonts + + * etc/HELLO: Remove hieroglyph format control characters. + + * lisp/language/misc-lang.el: Add a rule to compose Egyptian + hieroglyphs even without Unicode format control characters. + +2021-10-29 Eli Zaretskii + + Clarify "default face attributes" in the ELisp manual + + * doc/lispref/display.texi (Defining Faces): Add index entries for + face symbol properties. + (Attribute Functions): Clarify "default face attribute values" wrt + 'face-all-attributes' and 'face-attribute'. (Bug#51465) + +2021-10-28 Lars Ingebrigtsen + + Make `C-u RET' work again + + * lisp/simple.el (newline): Fix regression introduced by + d1aacceae9 (bug#51459). + +2021-10-28 Jan Synacek (tiny change) + + Fix typos in the manual and in a comment + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): + * doc/lispintro/emacs-lisp-intro.texi (Mode Line): Fix typos + (bug#51434). + +2021-10-28 Eli Zaretskii + + Avoid assertion violations in 'lookup-key' + + * src/keymap.c (Flookup_key): Don't call ASIZE unless KEY is a + vector. This avoids assertion violations when KEY is a string. + +2021-10-28 Stefan Kangas + + image-dired: Unreverse accidentally reversed menus + + * lisp/image-dired.el (image-dired-thumbnail-mode-map) + (image-dired-display-image-mode-map, image-dired-minor-mode-map): + In Emacs 26.1 (commits b905454680c7 and bed0373855ea), the menus were + converted to use 'easy-menu-define', but they were reversed in the + process. Unreverse the menus. (Bug#51446) + +2021-10-28 Stefan Kangas + + Be more allowing when looking for menu-bar items + + Don't merge to master. This is a safe-for-release fix for Bug#50752. + + * src/keymap.c (lookup_key_1): Factor out function from + Flookup_key. + (Flookup_key): Be case insensitive when looking for Qmenu_bar + items. (Bug#50752) + + * test/src/keymap-tests.el + (keymap-lookup-key/mixed-case) + (keymap-lookup-key/mixed-case-multibyte): New tests. + +2021-10-27 Juri Linkov + + * lisp/textmodes/text-mode.el (text-mode-context-menu): Rename recently added. + +2021-10-27 Robert Pluim + + Allow automatic use of color fonts for emoji on macOS + + * src/macfont.m (macfont_list): Don't exclude color fonts when the + fontspec has an 'emoji' script specification. + +2021-10-27 Eli Zaretskii + + Fix help commands for menu-bar menus + + * lisp/help.el (help--analyze-key): Fix "C-h c" and "C-h k" on + menu-bar menu items. (Bug#51421) + +2021-10-26 Stefan Kangas + + Improve function documentation with text from XDG BDS spec + + * lisp/xdg.el (xdg-config-home, xdg-cache-home, xdg-data-home) + (xdg-runtime-dir, xdg-config-dirs, xdg-data-dirs): Copy in the + text from the XDG Base Directory Specification to better explain + what these functions return. + +2021-10-25 Jonas Bernoulli + + * lisp/transient.el: Update to package version 0.3.7. + +2021-10-25 Eli Zaretskii + + Revert "Fix a typo in emacs-lisp-intro.texi" + + This reverts commit 98eb6d783a482cd7ebca7ec656b0775b82c68e57. + I've consulted with Richard Stallman about this, and he says + that the original wording, "kinds of atom", is both correct + and more elegant writing. So I'm restoring the original text. + * doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Undo the + fix of a "typo" that wasn't a typo. (Bug#51271) + +2021-10-25 Robert Pluim + + * doc/lispref/functions.texi (Mapping Functions): Use #' when mapping. + +2021-10-25 Miha Rihtar邸i + + Fix issue with interpreting ANSI codes in eshell + + * lisp/eshell/esh-mode.el (eshell-mode): Make window point advance on + insertion. + (eshell-output-filter): Don't use insert-before-markers (bug#45380). + +2021-10-25 Stefan Kangas + + image-dired: Doc fix to better explain thumbnail generation + + * doc/emacs/dired.texi (Image-Dired): Improve description by + explaining that the generation of thumbnails is asynchronous. + +2021-10-25 Stefan Kangas + + Clarify two image-dired docstrings + + * lisp/image-dired.el (image-dired-dir): Doc fix; clarify that + thumbnails will be saved in "$XDG_CACHE_HOME/thumbnails", as per the + Thumbnail Managing Standard. + (image-dired-thumb-size): Doc fix; clarify that this option will be + ignored when using the Thumbnail Managing Standard. + +2021-10-25 Lars Ingebrigtsen + + Fix flymake example backend conditions in the manual + + * doc/misc/flymake.texi (An annotated example backend): Also react + to `signal' process statuses (bug#51380). + +2021-10-24 Stefan Kangas + + * etc/PROBLEMS: Mention problems with regexp matcher. (Bug#18577) + +2021-10-24 Juri Linkov + + * test/lisp/repeat-tests.el: New file. + +2021-10-24 Juri Linkov + + * lisp/tab-bar.el (tab-bar-move-repeat-map): Fix alias binding of tab-move. + + (tab-bar-move-tab-backward): Put 'repeat-map' symbol property. + +2021-10-24 Stefan Kangas + + Use restrictive umask when creating image-dired data + + * lisp/image-dired.el (image-dired-dir) + (image-dired-sane-db-file): Create thumbnail directory and + .image-dired_db with umask 077. This avoids creating world readable + copies of private data, and is in fact mandated by the Thumbnail + Managing Standard that we aim to support. + +2021-10-24 Eli Zaretskii + + Fix compilation errors with MinGW64 GCC 11 + + * lib-src/ntlib.c (_GL_ATTRIBUTE_MALLOC) + (_GL_ATTRIBUTE_DEALLOC_FREE): Define to avoid compilation errors + with MinGW64 GCC 11. Suggested by Andy Moreton + . Do not merge to master. + +2021-10-24 Ihor Radchenko + + Doc fix for concat + + * src/fns.c (Fconcat): Note that composition values may not remain eq + in return value of concat. (Bug#48740) + +2021-10-24 Stefan Kangas + + * lisp/image-dired.el (image-dired-external-viewer): Support feh. + +2021-10-24 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2021-10-16 16:33:47 GMT. + +2021-10-24 Stefan Kangas + + Refer to the info node on keymaps in map-keymap docstring + + * src/keymap.c (Fmap_keymap): Doc fix; add a reference to the Info + node '(elisp) Keymaps'. (Bug#30958) + +2021-10-23 Stefan Kangas + + Clarify abnormal hook documentation + + * doc/lispref/hooks.texi (Standard Hooks): + * doc/lispref/modes.texi (Hooks): Clarify wording of "abnormal + hook" documentation. (Bug#34588) + +2021-10-23 Kyle Meyer + + Update to Org 9.5-59-g52e6f1 + +2021-10-23 Stefan Kangas + + Improve documentation of cl-reduce + + * doc/misc/cl.texi (Mapping over Sequences): Change the + explanation of 'cl-reduce' so you don't need to have a major in + mathematics to understand it. (Bug#24014) + +2021-10-23 Stefan Kangas + + Improve documentation of apply-partially + + * doc/lispref/functions.texi (Calling Functions): Improve + documentation of 'apply-partially' to be slightly more clear with + regards to function arity. (Bug#17623) + +2021-10-23 Michael Albinus + + Fix typos + + * doc/emacs/cmdargs.texi: + * etc/DEBUG: + * etc/NEWS: Fix typos. + +2021-10-23 Michael Albinus + + Revert commit 225ca617b7, and apply another fix + + * lisp/minibuffer.el (read-file-name-default): Revert commit + 225ca617b7. (Bug#50976). + + * lisp/shell.el (shell): Remove volume letter for remote shell + file name. (Bug#49229) + +2021-10-23 Stefan Kangas + + Fix documentation of posn-at-x-y + + * doc/lispref/commands.texi (Accessing Mouse): Fix documentation of + 'posn-at-x-y' to match docstring. (Bug#15783) + +2021-10-22 Robert Pluim + + Improve some NEWS entries + + * etc/NEWS: Improve some NEWS entries. + +2021-10-22 Robert Pluim + + Improve documentation of syntax-ppss-context slightly + + * doc/lispref/syntax.texi (Parser State): Document all possible return + values from 'syntax-ppss-context'. + +2021-10-22 Robert Pluim + + Move some xwidget entries + + * etc/NEWS: Move xwidget entries to correct location. + +2021-10-22 Stephen Gildea + + time-stamp-tests: improvements to test macros + + test/lisp/time-stamp-tests.el: Update macro declarations. + (formatz-generate-tests): Don't nconc onto a constant list. + Tests now run 12% faster in batch mode. + +2021-10-22 Itai Y. Efrat + + Fix rfc6068-parse-mailto-url autoload + + * lisp/net/browse-url.el (rfc6068-parse-mailto-url): Fix autoload + cookie (bug#51333). + +2021-10-22 Lars Ingebrigtsen + + Regexp-quote github domains in bug-reference + + * lisp/progmodes/bug-reference.el + (bug-reference--build-forge-setup-entry): Regexp-quote the domain + (bug#51316). + +2021-10-22 Lars Ingebrigtsen + + Ensure valid end/beginning lines in message-mark-inserted-region + + * lisp/gnus/message.el (message-mark-inserted-region): Ensure + there's a newline before inserting the end line (bug#51324). + +2021-10-22 Robert Pluim + + * etc/NEWS: Improve 'repeat-mode' entry. + + * lisp/repeat.el (repeat-keep-prefix): Expand description. + + * lisp/net/eww.el (eww-retrieve-command): Add :tag. + +2021-10-22 Stefan Kangas + + Add description of cards to etc/refcards/README + + * etc/refcards/README: List all the generated reference cards, + including their translations. (Bug#8932) + +2021-10-22 Martin Rudalics + + Fix 'calculate-lisp-indent' when "[" starts containing sexp (Bug#51312) + + * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Handle + arbitrary paren syntax after skipping whitespace backwards within + containing sexp (Bug#51312). + +2021-10-22 Stefan Kangas + + Fix typo in doc/emacs/anti.texi + + * doc/emacs/anti.texi (Antinews): Fix typo. (Bug#51325) + Reported by Po Lu . + +2021-10-22 Stephen Gildea + + Update doc of Edebug specification for macros + + doc/lispref/edebug.texi: Update documentation of Edebug specification: + - Do not document "0" as a recommended shortcut for non-instrumented + arguments; nobody knows about nor uses this, so don't encourage it. + - Add an example equivalent to (declare (debug (&rest sexp))). + +2021-10-21 Eli Zaretskii + + Fix non-interactive behavior of 'kill-region' + + * lisp/simple.el (kill-region): Actually ignore BEG and END when + REGION is non-nil. Doc fix. (Bug#51320) + +2021-10-21 Juri Linkov + + * test/lisp/dabbrev-tests.el: Use 'kbd' for readable keys. + + (dabbrev-expand-test, dabbrev-completion-test) + (dabbrev-completion-test-with-argument): + Use 'kbd' to format keys for 'execute-kbd-macro'. + (dabbrev-expand-test): Fix docstring. + +2021-10-21 Juri Linkov + + * lisp/menu-bar.el (menu-bar-keymap): Add optional arg KEYMAP (bug#50067). + + * lisp/mouse.el (context-menu-global): Use 'menu-bar-keymap' with + its arg KEYMAP set to 'global-map'. + +2021-10-21 Lars Ingebrigtsen + + Fix todo-mode AOT test failures (bug#51308) + + Fix hi-lock AOT test failures (bug#51308) + +2021-10-21 Lars Ingebrigtsen + + Fix socks test + + * test/lisp/net/socks-tests.el (socks-tests-v4-basic): Fix failure + under native-comp (bug#51308). + +2021-10-20 Juri Linkov + + * lisp/help.el (help--analyze-key): Add new arg BUFFER (bug#51173). + + * lisp/help.el (describe-key): Use BUFFER as arg for help--analyze-key. + (describe-key-briefly): Change arg UNTRANSLATED deprecated in 27.1 + to BUFFER. + + * lisp/gnus/gnus-art.el (gnus-article-describe-key) + (gnus-article-describe-key-briefly): Call describe-key and + describe-key-briefly with first arg as a cons with raw keys, + and the BUFFER arg set to the current buffer. + +2021-10-20 Juri Linkov + + Improve docstrings and NEWS item of 'repeat-mode' + + * lisp/repeat.el (repeat-exit-timeout, repeat-echo-function) + (repeat-in-progress, repeat-map): Update docstrings. + +2021-10-20 Juri Linkov + + * lisp/tab-bar.el (tab-bar-menu-bar): New command (bug#51247). + + (tab-bar-format): Rename option 'tab-bar-format-menu-global' to + 'tab-bar-format-menu-bar'. + (tab-bar-format-menu-bar): Rename from 'tab-bar-format-menu-global'. + +2021-10-20 Po Lu + + Display a tab bar item as sunken when appropriate + + When the mouse pointer is pressed on the tab bar, moved out of the tab + bar, and moved back in, it would be more appropriate to behave like + other programs by displaying the item as sunken. + + * src/xdisp.c (note_tab_bar_highlight): Display item as sunken if the + mouse pointer returns to the tab bar down. + +2021-10-20 Po Lu + + Fix tab bar item highlight when a mouse click is dropped + + * src/xdisp.c (note_mouse_highlight): Clear last_tab_bar_item if the + movement wasn't made on top of the tab bar. + +2021-10-20 Stefan Kangas + + Refer to mouse-highlight from make-pointer-invisible docstring + + * src/frame.c (syms_of_frame) : Doc fix; + add reference to 'mouse-highlight'. (Bug#42889) + +2021-10-20 Robert Pluim + + * etc/PROBLEMS: Add hex codepoint for NO-BREAK SPACE + +2021-10-20 Robert Pluim + + Describe how to debug fontconfig issues + + * etc/PROBLEMS: Add FC_DEBUG usage pointers. + +2021-10-20 Michael Albinus + + Adapt Tramp tests + + * test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load): + Adapt code snippet. + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Adapt tests. + (tramp--test-supports-set-file-modes-p): Renamed from + `tramp--test-supports-file-modes-p'. Adapt all callees. + (tramp-test35-exec-path): Use it. + +2021-10-20 Jim Porter + + Convert ANSI color definitions in themes to use faces (e.g. 'ansi-color-red') + + * etc/themes/dichromacy-theme.el: + * etc/themes/leuven-theme.el: + * etc/themes/misterioso-theme.el: + * etc/themes/tango-theme.el: + * etc/themes/tango-dark-theme.el: + * etc/themes/wombat-theme.el: Convert ANSI color definitions to + use faces. + +2021-10-20 Lars Ingebrigtsen + + Revert "Revert back to using ESC as viper-ESC-key again" + + This reverts commit 5d522b430bd5ecfb8f082906cd634883dbb68f3e. + + The change led to M-x not working in non-gui Emacsen (bug#51253). + +2021-10-19 Alan Third + + Fix inset rectangle corners when sides aren't drawn (bug#51251) + + * src/nsterm.m (ns_draw_relief): Make the inner rectangle line up with + the outer rectangle's edges where the edges aren't drawn. + +2021-10-19 Jan Synacek (tiny change) + + Don't use color escape sequences in vc-git-expanded-log-entry + + * lisp/vc/vc-git.el (vc-git-expanded-log-entry): Use '--no-color' flag + in git invocation. (Bug#51262) + +2021-10-19 Michael Albinus + + Code cleanup in tramp-tests.el + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Extend tests. + (tramp--test-out-of-band-p): New defun. + (tramp--test-windows-nt-and-out-of-band-p) + (tramp-test42-utf8-with-stat, tramp-test42-utf8-with-perl) + (tramp-test42-utf8-with-ls): Use it. + (tramp--test-windows-nt-or-smb-p): Use `tramp--test-windows-nt-p'. + +2021-10-19 Robert Pluim + + * admin/notes/unicode: Refer to Unicode's emoji-style.txt + +2021-10-19 Robert Pluim + + Handle VS-16 correctly for non-emoji codepoints + + * admin/unidata/blocks.awk: Remove emoji overrides for codepoints with + Emoji_Presentation = No, they're no longer necessary. + * lisp/composite.el: Remove #xFE0F (VS-16) from the range handled by + `compose-gstring-for-variation-glyph' so it can be handled by + `font_range'. + * src/composite.c (syms_of_composite): New variable + `auto-composition-emoji-eligible-codepoints'. + * admin/unidata/emoji-zwj.awk: Generate value for + `auto-composition-emoji-eligible-codepoints'. Add + `composition-function-table' entries for 'codepoint + U+FE0F' for + them. + * src/font.c (codepoint_is_emoji_eligible): New function to check if + we should try to use the emoji font for a codepoint. + (font_range): Use it. + +2021-10-19 Tassilo Horn + + Adjust bug-reference-bug-regexp default values to match only at beg of word + + Previously, the "bug 1" in "(debug 1)" has also been highlighted. + + * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp) + (bug-reference--setup-from-vc-alist,bug-reference-setup-from-mail-alist) + (bug-reference-setup-from-irc-alist): Adjust bug-reference-bug-regexp + default values to match only at the beginning of a word. + +2021-10-19 Stefan Kangas + + Fix a typo in emacs-lisp-intro.texi + + * doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Fix typo. + Reported by Mor Zahavi . (Bug#51271) + +2021-10-18 Michael Albinus + + Fix some Tramp problems + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + Use `tramp-adb-handle-file-executable-p' and + `tramp-adb-handle-file-readable-p'. + (tramp-adb-handle-file-executable-p) + (tramp-adb-handle-file-readable-p): New defuns. + (tramp-adb-handle-file-writable-p): Simplify. + (tramp-adb-handle-make-process): Handle :filter being t. + (tramp-adb-find-test-command): Remove. + + * lisp/net/tramp-sh.el (tramp-sh-handle-file-readable-p): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-readable-p): + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Use `tramp-handle-file-readable-p'. + (tramp-gvfs-handle-file-executable-p): Do not check whether file + exists, this is done in `tramp-check-cached-permissions'. + (tramp-gvfs-handle-file-readable-p): Remove. + + * lisp/net/tramp.el (tramp-error): Move binding of `inhibit-message' ... + (tramp-signal-hook-function): ... here. + (tramp-handle-access-file): Rewrite. + (tramp-handle-file-readable-p): New defun. + (tramp-handle-make-process): Setting :filter to t works since + Emacs 29.1 only. + + * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory) + (tramp-test18-file-attributes): Extend tests. + +2021-10-18 Michael Albinus + + Adapt Tramp manual + + * doc/misc/tramp.texi: Use @uref instead of @url. + (Frequently Asked Questions): Adapt ELPA references. + +2021-10-18 Martin Rudalics + + Further fixes to Elisp manual + + * doc/lispref/frames.texi (Frame Layout): Index "tab bar" instead + of "internal tab bar". + (Implied Frame Resizing): Remove irritating hyphens. + * doc/lispref/windows.texi (Windows and Frames): Remove paragraph + relating 'minibuffer-window' to 'window-list'. + +2021-10-18 Alan Mackenzie + + * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): check type-start + + Check type-start is non-nil at L659 of the function. + +2021-10-18 Juri Linkov + + Rename tab-bar-drag-maybe to tab-bar--dragging-in-progress + + * lisp/tab-bar.el (tab-bar--event-to-item, tab-bar-mouse-down-1) + (tab-bar-mouse-move-tab): Rename tab-bar-drag-maybe to + tab-bar--dragging-in-progress. + + * src/xdisp.c (note_mouse_highlight): Rename tab_bar_drag_maybe to + tab_bar__dragging_in_progress. + +2021-10-18 Mattias Engdeg奪rd + + Fix xref elisp identifier namespace mistake + + Pressing `M-.` on ALPHA in + + (let ((ALPHA BETA)) ...) + + would incorrectly search for ALPHA as a function rather than a variable. + + * lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace): Fix logic. + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-mode-infer-namespace): Add test case. + +2021-10-18 Eli Zaretskii + + Minor fixes for recent changes in ELisp manual + + * doc/lispref/windows.texi (Basic Windows, Windows and Frames) + (Selecting Windows): + * doc/lispref/objects.texi (Window Type): + * doc/lispref/frames.texi (Input Focus, Frame Layout): Fix + wording, punctuation, and indexing. + +2021-10-18 Lars Ingebrigtsen + + Fix example in calc manual + + * doc/misc/calc.texi (Arithmetic Tutorial): Fix sign in the + example (bug#51265). + +2021-10-18 Martin Rudalics + + Rewrites of Elisp manual including tab-bar and tab-line changes + + * doc/lispref/buffers.texi (Current Buffer, Buffer List): Update + references to 'selected-window'. + * doc/lispref/elisp.texi (Top): Move up Selecting Windows section + in front of Window Sizes section. + * doc/lispref/frames.texi (Creating Frames): Say window system + instead of windowing system. + (Frame Layout): Add Tab Bar to layout. + (Layout Parameters): Add 'tab-bar-lines'. + (Input Focus): Say window system window instead of window + manager window. Fix reference to 'selected-window'. + * doc/lispref/objects.texi (Window Type): Minor rewrite. + * doc/lispref/windows.texi (Basic Windows): Rewrite. Settle on + term 'window system window' for disambiguation with our windows. + Move 'selected-window' description to Selecting Windows section. + Move schematic of window structure here. Use 'decorations' for + objects outside the window body. Say that the areas reserved + for continuation and truncation glyphs, vertical dividers and + line numbers are part of the window body. + (Windows and Frames): Minor rewrite, adding and fixing some + cross references. Move live window schematic to 'Basic Windows' + section. + (Selecting Windows): Move section in front of Window Sizes + section. Move description of 'selected-window' here. Move up + description of 'frame-selected-window' and + 'set-frame-selected-window'. Update and move description of + 'window-bump-use-time' here. + (Window Sizes): Throughout use the term 'decorations' instead of + enumerating them individually. Add 'window-tab-line-height' + description. + (Resizing Windows): Again use the term 'decorations' instead of + enumerating them individually. + (Splitting Windows): Minor fix. + (Cyclic Window Ordering): Improve descriptions of 'get-lru-window' + and 'get-mru-window'. Move 'window-bump-use-time' to Selecting + Windows section. + (Coordinates and Windows, Window Configurations): Once more use + the term 'decorations' instead of enumerating them individually. + * src/window.c (Fwindow_bump_use_time): Move after + 'window-use-time'. Make it work for live windows only. Make + WINDOW argument optional. Update doc-string. + +2021-10-17 Juri Linkov + + * lisp/tab-bar.el: Improve docstrings (bug#51247) + + * lisp/tab-bar.el (tab-bar--key-to-number) + (tab-bar--event-to-item, tab-bar--format-tab-group) + (tab-bar--current-tab-make): Improve docstrings. + (switch-to-buffer-other-tab): Obsolete the arg NORECORD. + +2021-10-17 Juri Linkov + + * lisp/tab-bar.el (tab-bar-mouse-move-tab): Don't drag tab to itself. + +2021-10-17 Martin Rudalics + + Add tab-bar-drag-maybe for indication of tab dragging (bug#50993) + + * lisp/tab-bar.el (tab-bar--event-to-item) + (tab-bar-mouse-move-tab): Set tab-bar-drag-maybe to nil. + (tab-bar-mouse-down-1): Set tab-bar-drag-maybe to t. + + * src/xdisp.c (note_mouse_highlight): Set cursor to 'hand_cursor' + when tab_bar_drag_maybe is true. + (syms_of_xdisp): New variable tab-bar-drag-maybe. + +2021-10-17 Juri Linkov + + * lisp/tab-bar.el: Add a new tab on [mouse-1] instead of [down-mouse-1] + + * lisp/tab-bar.el (tab-bar-mouse-down-1): Rename from + tab-bar-mouse-select-tab. Ignore 'add-tab'. + (tab-bar-mouse-1): Rename from tab-bar-mouse-close-tab-from-button. + Use binding of 'add-tab'. + (tab-bar-map): Rebind [down-mouse-1] from tab-bar-mouse-select-tab to + tab-bar-mouse-down-1, and [mouse-1] from tab-bar-mouse-close-tab-from-button + to tab-bar-mouse-1 (bug#51246). + +2021-10-17 Juri Linkov + + Add new and fix existing docstrings in tab-bar.el and tab-line.el (bug#51247) + + * lisp/tab-bar.el (tab-bar--key-to-number) + (tab-bar--event-to-item, tab-bar--format-tab) + (tab-bar--format-tab-group, tab-bar--tab, tab-bar--current-tab) + (tab-bar--current-tab-make): Add/fix docstrings. + +2021-10-17 Po Lu + + Add tab bar support to the nextstep port + + * src/nsfns.m (ns_change_tab_bar_height): New function. + (ns_set_tab_bar_lines): Check tab bar height and set tab bar + accordingly. + * src/nsterm.m (ns_clear_under_internal_border): Clear internal border + correctly when there is a tab bar. + (ns_create_terminal): Add ns_change_tab_bar_height. + (mouseDown): Handle tab bar mouse click events. + +2021-10-17 Alan Third + + Fix potential buffer overflow (bug#50767) + + * src/image.c (svg_load_image): Check how many bytes were actually + written to the buffer. Don't check xmalloc return value as xmalloc + doesn't return if it fails. + +2021-10-17 Eli Zaretskii + + Improve doc strings in tab-line.el + + * lisp/tab-line.el (tab-line-tab-name-function) + (tab-line-tab-name-truncated-buffer, tab-line-tabs-mode-buffers) + (tab-line-tabs-buffer-group-function) + (tab-line-tabs-buffer-group-sort-function) + (tab-line-tabs-buffer-groups, tab-line-tab-name-format-function) + (tab-line-tab-name-format-default, tab-line-format-template) + (tab-line-tab-face-inactive-alternating) + (tab-line-tab-face-special, tab-line-tab-face-modified) + (tab-line-format, tab-line-auto-hscroll, tab-line-hscroll-right) + (tab-line-hscroll-left, tab-line-new-tab, tab-line-select-tab) + (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab) + (tab-line-close-tab-function, tab-line-close-tab) + (tab-line-tab-context-menu, tab-line-context-menu) + (tab-line-mode, tab-line-exclude-modes, tab-line-mode--turn-on): + Add or fix doc strings. + +2021-10-17 Eli Zaretskii + + More documentation fixes in tab-bar.el + + * lisp/tab-bar.el (tab-bar-detach-tab, tab-bar-move-window-to-tab) + (tab-bar-new-tab-to, tab-bar-new-tab, tab-bar-close-tab-select) + (tab-bar-close-last-tab-choice, tab-bar-tab-pre-close-functions) + (tab-bar-close-tab, tab-bar-close-tab-by-name) + (tab-bar-close-other-tabs, tab-bar-rename-tab) + (tab-bar-rename-tab-by-name, tab-bar-move-tab-to-group) + (tab-bar-change-tab-group, tab-bar-close-group-tabs) + (tab-switcher-next-line, tab-switcher-prev-line) + (tab-switcher-unmark, tab-switcher-delete, tab-switcher-select) + (tab-bar-get-buffer-tab, display-buffer-in-tab) + (display-buffer-in-new-tab, switch-to-buffer-other-tab) + (find-file-other-tab, find-file-read-only-other-tab): Doc fixes. + +2021-10-17 Eli Zaretskii + + Improve doc strings of tab-bar commands + + * lisp/tab-bar.el (tab-bar-mouse-select-tab) + (tab-bar-mouse-move-tab, tab-bar-mouse-close-tab-from-button) + (tab-bar-mouse-close-tab, tab-bar-mouse-context-menu) + (tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab) + (tab-bar-switch-to-last-tab, tab-bar-switch-to-recent-tab) + (tab-bar-move-tab-backward, tab-bar-move-tab) + (tab-bar-move-tab-to-frame): Add/fix doc strings. + +2021-10-17 Stefan Kangas + + Fix a semantic test on some macOS machines + + * test/lisp/cedet/semantic/bovine/gcc-tests.el + (semantic-gcc-test-output-parser-this-machine): Fix test on some macOS + machines where running "gcc" runs "llvm" instead. + +2021-10-16 Kyle Meyer + + Update to Org 9.5-57-g9bc3a2 + +2021-10-16 Stefan Kangas + + Recommend against using uce.el + + * lisp/mail/uce.el: Recommend against its use. (Bug#46472) + Do not merge to master. + +2021-10-16 Eli Zaretskii + + Avoid aborts when a thread is signaled while "waiting for input". + + * src/process.c (kbd_is_ours): New function. + (wait_reading_process_output): Set 'waiting_for_input' only if the + current thread is monitoring the keyboard descriptor. See also + https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01180.html. + (Bug#51229) + +2021-10-16 Philipp Stephani + + Improve documentation string for 'compilation-error-regexp-alist'. + + * lisp/progmodes/compile.el (compilation-error-regexp-alist): Clarify + behavior when TYPE is a cons cell. + +2021-10-16 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix target dir. + +2021-10-16 Eli Zaretskii + + Fix removal of fringe indication of bookmarks + + * lisp/bookmark.el (bookmark--remove-fringe-mark): Fix off-by-one + error in looking for bookmark-related overlays. (Bug#51233) + +2021-10-15 Stefan Kangas + + Prefer "graphical displays" to "X terminals" in documentation + + * doc/lispref/objects.texi (Ctl-Char Syntax): Fix incorrect remark; + some text terminals can generate ASCII control characters. + (Other Char Bits): + * lisp/bindings.el: + * lisp/gnus/gnus-undo.el (gnus-undo-mode-map): Say "graphical display" + and "GUI display" instead of "X terminal"; the latter term is + archaic. (Bug#51217) + +2021-10-15 Michael Albinus + + Precise documentation of file-notify-add-watch + + * doc/lispref/os.texi (File Notifications): + * lisp/filenotify.el (file-notify-add-watch): Precise, that + watching a directory includes reports on file changes for some + backends. (Bug#51146) + +2021-10-15 Martin Rudalics + + Fixes to account for windows' tab lines + + * doc/lispref/display.texi (Size of Displayed Text): Fix entry + on 'window-text-pixel-size'. + * lisp/window.el (window--dump-window): Dump tab-line-height and + scroll-bar-height too. + (window--min-size-1): Take 'window-tab-line-height' into account. + * src/xdisp.c (Fwindow_text_pixel_size): Fix doc-string of + 'window-text-pixel-size'. Rename last argument to 'MODE-LINES'. + +2021-10-15 Andrea Corallo + + * Fix `native-compile-target-directory' effectiveness on trampolines + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix + `native-compile-target-directory' effectiveness on trampoline + compilation. + +2021-10-15 Jan Synacek + + Add missing single quotes in the Emacs manual + + * lisp/mwheel.el (mouse-wheel-scroll-amount): Add missing single + quotes. (Bug#51223) + +2021-10-15 Juri Linkov + + * lisp/menu-bar.el (yank-menu-length): Fix docstring (bug#51138). + +2021-10-14 Michael Albinus + + Accept process-filter t in Tramp + + * lisp/net/tramp.el (tramp-handle-make-process): + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Filter can be t. + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Test filter equal t. + +2021-10-14 Lars Ingebrigtsen + + Document the t value for set-process-filter in the manual + + * doc/lispref/processes.texi (Filter Functions): Mention what t + means (bug#51177). + +2021-10-14 Michael Albinus + + * doc/misc/tramp.texi (Frequently Asked Questions): Add reference + + to ELPA Installation node. + +2021-10-14 Eli Zaretskii + + Fix Help functions for clicks on tool bar and tab bar + + * lisp/mouse.el (mouse-minibuffer-check): Don't assume posn-window + returns a window. (Bug#5199) + +2021-10-14 Martin Rudalics + + In make_lispy_position fix Bug#50993 in rudimentary fashion + + * src/keyboard.c (make_lispy_position): Do not set posn to + tool- or tab-bar when track_mouse is enabled (Bug#50993). + +2021-10-14 Dmitry Gutov + + Mark vc-switch-backend as obsolete + + * etc/NEWS: Mention the change. + + * lisp/vc/vc.el (vc-switch-backend): Mark as obsolete (bug#50344). + (vc-transfer-file): Wrap the calls in 'with-suppressed-warnings'. + +2021-10-14 Yan (tiny change) + + Add missing parentheses in the Emacs manual + + * doc/emacs/maintaining.texi (Xref Commands): Add missing + parentheses (bug#51195). + +2021-10-14 Stefan Kangas + + Improve tooltip of mode-line-position again + + * lisp/bindings.el (mode-line-position): Improve tooltip again. + This change was discussed in + https://lists.gnu.org/r/emacs-devel/2021-10/msg00952.html + +2021-10-13 Philip Kaludercic + + Use browse-url-button-regexp for rcirc-url-regexp + + * rcirc.el (rcirc-url-regexp): Copy improved regexp from browse-url + +2021-10-13 Juri Linkov + + * lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse events + + (bug#51173) + +2021-10-13 Michael Albinus + + Tramp doc cleanup + + * doc/misc/tramp.texi (Overview, Bug Reports) + (Frequently Asked Questions): Stylistic changes. + (Bug Reports): Mention tramp buffers appended to bug report. + +2021-10-13 Lars Ingebrigtsen + + Make emacs-lisp-byte-compile-and-load load the .elc file again + + * lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile-and-load): + Load the compiled file instead of the source (bug#51180). + +2021-10-13 Peter M端nster + + Fix point movement in image-dired + + * lisp/image-dired.el (image-dired-thumb-file-marked-p): Don't + move point in associated dired buffer. + (image-dired-delete-marked): Revert "Fix deletion of associated image" + because it was wrong and introduced another problem (bug#51152). + +2021-10-13 Stefan Kangas + + Improve shortdoc for vector + + * lisp/emacs-lisp/shortdoc.el (vector): Improve shortdoc with titles. + Add mapc. Fix typo where 'seq-reduce' is incorrectly written as + 'reduce'. + +2021-10-13 Paul Eggert + + Fix test bug when calloc returns null + + * test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make): + Dont dump core if calloc returns null and signal_errno returns. + +2021-10-12 Paul Eggert + + Pacify GCC 11 -fanalyzer on x86-64 + + * src/buffer.c (fix_overlays_before): + Redo slightly to work around GCC bug 102692 + . + +2021-10-12 Gregory Heytings + + Improve handling of non-character events in input methods + + * lisp/international/quail.el (quail-add-unread-command-events): + Handle non-vector event arguments. Fixes bug#51118. + +2021-10-12 Martin Rudalics + + In Fdelete_other_windows_internal fix new total window sizes (Bug#51007) + + * src/window.c (Fdelete_other_windows_internal): Assign the + new total sizes of windows _after_ the new window configuration + is in place (Bug#51007). + +2021-10-12 Stephen Gildea + + * lisp/mh-e/mh-show.el (mh-junk-whitelist): Custom obsolescence message. + +2021-10-11 Jo達o T叩vora + + Don't apply shorthands to punctuation-only symbols (bug#51089) + + This includes symbols used for arithmetic functions such as -, /=, + etc. Using "-" or "/=" is still possible but doing so won't shadow + those functions. + + * doc/lispref/symbols.texi (Shorthand, Exceptions): New + subsubsection. + + * src/lread.c (read1): Exempt punctionation-only symbols from + oblookup_considering_shorthand. + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-dont-shadow-punctuation-only-symbols): Tweak test. + +2021-10-11 Stefan Kangas + + * lisp/progmodes/python.el: Bump package version to 0.28. + +2021-10-11 Stefan Kangas + + Fontify "print" and "exec" as functions in python-mode + + This change was first made on master, but on closer consideration it + is better to fix this bug already in Emacs 28.1. + + * lisp/progmodes/python.el (python-font-lock-keywords-level-2): + Fontify "print" and "exec" as functions, which is the case in + Python 3. (Bug#43298) Do not merge to master. + +2021-10-11 Juri Linkov + + Copy parent face attributes to tab-line-tab-current instead of inheriting face + + * lisp/tab-line.el (tab-line-tab-current): Don't inherit face from + 'tab-line-tab' to not inherit the face attribute :height from 'tab-line', + because :height of mouse-face is added to the base face. + Copy here most of the parent face attributes (bug#50798). + +2021-10-11 Martin Rudalics + + Another fix for 'ibuffer-shrink-to-fit' (Bug#7218, Bug#51029) + + * lisp/ibuffer.el (ibuffer-shrink-to-fit): Fit window only if its + buffer is in 'ibuffer-mode' (Bug#7218, Bug#51029). + +2021-10-11 Michael Albinus + + Backport: * doc/misc/tramp.texi (Bug Reports): Describe, how to activate ELPA Tramp. + + (cherry picked from commit 978e5339e0d4ef98575096bcf3ec2061ad530f27) + +2021-10-11 Paul Eggert + + Work around GCC bug 102671 + + This is for --enable-gcc-warnings on GCC 11.2.1. + * src/window.c, src/timefns.c: Disable -Wanalyzer-null-dereference. + +2021-10-11 Amin Bandali + + Release ERC 5.4 + + * lisp/erc/erc.el (Version, erc-version): Bump to 5.4. + (customize-package-emacs-version-alist): Add entry for 5.4. + +2021-10-11 Amin Bandali + + * etc/ERC-NEWS: Announce ERC's addition to GNU ELPA. + + * etc/ERC-NEWS: Fix outline level for the recent additions. + +2021-10-11 Amin Bandali + + Add ERC entries for 'customize-package-emacs-version-alist' + + * lisp/erc/erc.el (customize-package-emacs-version-alist): Add entries + for existing ERC versions. + +2021-10-11 Dmitry Gutov + + Expand the full file name + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Expand the full file name, not just the local part (bug#51112). + +2021-10-11 Stefan Kangas + + Obsolete XEmacs compat convention in 'erc-button-press-button' + + * lisp/erc/erc-button.el (erc-button-press-button): Advertise new + calling convention without XEmacs compatibility. + +2021-10-11 F. Jason Park + + Backport: Add ERC version to protocol log + + * lisp/erc/erc.el (erc-toggle-debug-irc-protocol): Include the erc + version in the debug logs (bug#51107). + + (cherry picked from commit 13411346202f86e950bee076a5d528e98695fbb4) + +2021-10-11 Eli Zaretskii + + Adapt the recent 'num_processors' change to MS-Windows + + * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_nproc): Omit nproc. + + * src/w32.c (num_processors): New function. + * src/w32proc.c (Fw32_get_nproc): Remove. + +2021-10-11 Stefan Kangas + + Minor fix to clarify a sentence in emacs-lisp-intro + + * doc/lispintro/emacs-lisp-intro.texi (Simple Extension): Add the word + "that" for clarity. (Bug#43965) + +2021-10-11 Lars Ingebrigtsen + + Make tty-run-terminal-initialization load the .elc file (if any) + + * lisp/faces.el (tty-run-terminal-initialization): + `locate-library' may have found the .el.gz file (bug#51116). + +2021-10-11 Lars Ingebrigtsen + + Fix ert errors when there's a test that binds `debug-on-error' + + * lisp/emacs-lisp/ert.el (ert--run-test-internal): Don't infloop + on errors when signalling errors (bug#51131). + +2021-10-10 Paul Eggert + + New function num-processors + + This addresses a FIXME comment in lisp/emacs-lisp/comp.el, + relating to the number of subsidiary processes used by + comp-run-async-workers in native compilation. + * admin/merge-gnulib (GNULIB_MODULES): Add nproc. + * doc/lispref/processes.texi (Process Information), etc/NEWS: + Document num-processors. + * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. + * lib/nproc.c, lib/nproc.h, m4/nproc.m4: + New files, copied from Gnulib by admin/merge-gnulib. + * lisp/emacs-lisp/comp.el (w32-get-nproc): Remove decl. + (comp-effective-async-max-jobs): Use num-processors. + * src/process.c: Include nproc.h. + (Fnum_processors): New function. + (syms_of_process): Define all, current, num-processors. + * src/w32proc.c (Fw32_get_nproc): Add FIXME comment. + * test/src/process-tests.el (process-num-processors): New test. + +2021-10-10 Juri Linkov + + Add symbol property 'save-some-buffers-function' (bug#46374) + + * lisp/files.el (save-some-buffers-root): Put non-nil + symbol property 'save-some-buffers-function'. + (save-some-buffers): Check pred for the + symbol property 'save-some-buffers-function'. + (save-some-buffers-default-predicate): Mention + symbol property 'save-some-buffers-function'. + +2021-10-10 Juri Linkov + + Keep reading when typed RET in read-char-from-minibuffer and y-or-n-p + + * lisp/subr.el (read-char-from-minibuffer-map): + Remap exit-minibuffer to read-char-from-minibuffer-insert-other. + (y-or-n-p-map): Remap 'exit' to y-or-n-p-insert-other. + (y-or-n-p): Don't mention RET in docstring. (Bug#51101) + +2021-10-10 David M. Koppelman + + * lisp/userlock.el (ask-user-about-supersession-threat): Accept 'y' strictly. + + (Bug#51101) + +2021-10-10 Eli Zaretskii + + Fix point positioning on mouse clicks with non-zero line-height + + * src/xdisp.c (move_it_to): After passing a newline, reset + it->override_ascent, like 'display_line' does (in + 'append_space_for_newline'). (Bug#51111) + +2021-10-10 Jo達o T叩vora + + Complete shorthands to longhands for symbol-completing tables + + Shorthands aren't symbols, they're text forms that 'read' into + symbols. As such, shorthands aren't candidates in these tables of + symbols. But in some situations, if no other candidates match the + pattern, we can e.g. complete "x-foo" to "xavier-foo" if the shorthand + + (("x-" . "xavier-")) + + is set up in the buffer of origin. + + bug#50959 + + * lisp/help-fns.el (help--symbol-completion-table): Report + `symbol-help' category. + + * lisp/minibuffer.el (completion-styles-alist): New 'shorthand' + style. + (completion-category-defaults): Link 'symbol-help' category with + 'shorthand' style. + (minibuffer--original-buffer): New variable. + (completing-read-default): Setup minibuffer--original-buffer. + (completion-shorthand-try-completion) + (completion-shorthand-all-completions): New helpers. + +2021-10-10 Jo達o T叩vora + + Add new failing test for bug#51089 + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-dont-shadow-punctuation-only-symbols): Add new failing test. + +2021-10-10 Dmitry Gutov + + Avoid mapping file names through 'substring' + + * lisp/progmodes/project.el (project--files-in-directory): + Avoid mapping file names through 'substring'. Reducing the amount + of garbage generated. Better perf by up to 20%. + Bump the package version. + +2021-10-09 Kyle Meyer + + Update to Org 9.5-46-gb71474 + +2021-10-09 Stephen Gildea + + Expanded testing of MH-E with multiple MH variants + + * test/lisp/mh-e/mh-utils-tests.el: Environment variable TEST_MH_PATH + controls which installed MH variant to test with. Moved the commentary + about testing with different MH variants from above 'with-mh-test-env' + definition to "Commentary" section at the top of the file. + * test/lisp/mh-e/test-all-mh-variants.sh: New script to test all + installed MH variants. + +2021-10-09 Philipp Stephani + + Fix Seccomp filter for newer GNU/Linux systems (Bug#51073). + + On some systems, process startup calls prctl(PR_CAPBSET_READ) via + 'cap_get_bound'. We can just return EINVAL. + + * lib-src/seccomp-filter.c (main): Add a rule for + prctl(PR_CAPBSET_READ, ...). + +2021-10-09 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp.el (tramp-remote-path): Adapt docstring. + (tramp-action-login, tramp-action-password, tramp-action-yesno) + (tramp-action-yn, tramp-process-actions): Move let-binding of + `enable-recursive-minibuffers' up. + (tramp-handle-make-process, tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region) + (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Use `string-or-null-p'. + +2021-10-09 Michael Albinus + + Fix thinko in ls-lisp--insert-directory + + * lisp/ls-lisp.el (ls-lisp--insert-directory): Ensure that + SWITCHES is a string. + +2021-10-09 Lars Ingebrigtsen + + Mention that RET means "yes" in y-or-n-p + + * lisp/subr.el (y-or-n-p): Mention that RET also means yes (bug#51101). + +2021-10-09 Eli Zaretskii + + Rewrite Antinews for Emacs 28 + + * doc/lispref/anti.texi (Antinews): + * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 28. + * doc/lispref/elisp.texi (Top): + * doc/emacs/emacs.texi (Top): Update menu accordingly. + +2021-10-09 Stefan Kangas + + * lisp/bindings.el (mode-line-position): Improve tooltip. + +2021-10-09 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump the version. + +2021-10-09 Dmitry Gutov + + Slight simplificaiton + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Compute log only once. Use 'dolist'. + +2021-10-08 Eli Zaretskii + + Fix doc strings of 2 categories + + * lisp/international/characters.el (?R, ?L): Make the first line + of the categories' doc string shorter, to fit into 15 columns. + +2021-10-08 Dmitry Gutov + + (xref--collect-matches-1): Remove some intermediate allocations + + * lisp/progmodes/xref.el: (xref--collect-matches-1): + Rewrite to remove some intermediate allocations. + Modest performance improvement. + +2021-10-08 Arash Esbati + + Use the correct label in the warning + + * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): Add + missing space in the prompt. Use the new user defined label in + the warning (bug#36235). + +2021-10-08 Dmitry Gutov + + Add Emacs 27 compatibility hack + + * lisp/progmodes/xref.el: Add Emacs 27 compatibility hack, for the + standalone version of this package. + +2021-10-07 Paul Eggert + + Pacify GCC 10.3 -Wmaybe-uninitialized + + Problem reported by Basil L. Contovounesios (Bug#51075). + * src/term.c (encode_terminal_code): + Add an UNINIT to pacify GCC 10 bug. + +2021-10-07 Juri Linkov + + * lisp/tab-bar.el (tab-detach, tab-window-detach): New aliases. + + (tab-bar-mouse-context-menu, tab-bar-duplicate-tab): + Use word "clone" in help/doc string. + +2021-10-07 Eli Zaretskii + + Include the refcards in the release tarball + + * make-dist (possibly_non_vc_files): Include *.pdf files, to + include the produced refcards in the tarball. This was lost when + 'make-dist' was rewritten for Emacs 27. + +2021-10-07 Stefan Monnier + + Backport: * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): Scope + + Fix the scoping of `tramp-archive-enabled`. + + (cherry picked from commit 8d53c23f90aab6e527c61137ae43274c7a36eca7) + +2021-10-07 Eli Zaretskii + + Improve documentation and customization of 'blink-matching-paren' + + * lisp/simple.el (blink-matching-paren): Fix the wording of the + doc string and the descriptions in the value menu. (Bug#51032) + +2021-10-07 Amin Bandali + + * lisp/erc/erc.el: Don't error if 'erc-loaddefs' does not exist. + + That autoload file is created as part of the Emacs compilation + process, however we would like ERC to be usable if used outside + emacs.git (e.g. if installed from GNU ELPA). + +2021-10-07 Amin Bandali + + Add 'erc-bug' command for reporting ERC bugs + + * etc/ERC-NEWS: Announce the new command, and mention it at the top of + the file along with 'report-emacs-bug'. + * lisp/erc/erc.el (erc-bug): New command for reporting ERC bugs. It + prompts for a subject, and passes it on to 'report-emacs-bug' along + with the current ERC version, with the ERC mailing list in Cc. + +2021-10-07 Amin Bandali + + Add 'erc-version' and use it to display ERC version consistently + + * lisp/erc/erc.el (erc-version): New constant holding the current ERC + version, now used in the function with the same name to produce a + version string for use across ERC for consistency. Also, add another + optional argument, 'bold-erc', which when non-nil, marks the "ERC" + portion of the string with the control character for bold display. + (erc-quit/part-reason-default): Use the 'erc-version' function for a + consistent version string. + (erc-cmd-SV): Mention the ERC version number from the 'erc-version' + constant. + (erc-ctcp-query-VERSION): Use the 'erc-version' function for a + consistent version string. + +2021-10-07 Amin Bandali + + Small tweaks and improvements to etc/ERC-NEWS + + * etc/ERC-NEWS: Small tweaks inspired by etc/NEWS, namely to add a + descriptive blurb at the top of the file to explain what it is about + and how to report ERC bugs, add a form feed before the section for + every release, and set the same Local Variables that etc/NEWS does. + +2021-10-07 Amin Bandali + + Add NEWS items for changes to ERC since 5.3 to etc/ERC-NEWS + + * etc/ERC-NEWS: copy ERC NEWS items from etc/NEWS, etc/NEWS.27, + etc/NEWS.26, etc/NEWS.25, and etc/NEWS.24 to here. Future ERC NEWS + are also to be added here. This is in motivated by preparation for + addition of ERC to GNU ELPA, along with the ERC manual and NEWS. + * etc/NEWS: remove ERC-related entries, and refer the reader to + ERC-NEWS instead. + +2021-10-06 Juri Linkov + + Clone the frame window configuration in 'clone-frame' + + * doc/emacs/frames.texi (Creating Frames): Mention the cloned + window configuration for clone-frame. + + * lisp/frame.el (clone-frame): Change second arg to 'no-windows' + and clone window configuration when it's nil. + + * lisp/tab-bar.el (tab-bar-mouse-context-menu) + (tab-bar-detach-tab): Replace "Detach" with "Move" in help/doc strings. + + https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00408.html + +2021-10-06 Eli Zaretskii + + * lisp/tool-bar.el (tool-bar-position): Doc fix. + +2021-10-06 Philip Kaludercic + + * NEWS: Mention rcirc connects to #emacs by default + +2021-10-06 Stephen Gildea + + Refactor mh-utils-tests macro 'with-mh-test-env' + + * test/lisp/mh-e/mh-utils-tests.el (with-mh-test-env): Refactor to + reduce the size of the expanded macro. + (mh-test-utils-setup): New helper function. + (mh-ensure-native-trampolines): Absorbed by mh-test-utils-setup. + +2021-10-05 Stefan Kangas + + Avoid using variable before it has been initialized + + * lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't try to use + ibuffer-auto-mode variable before ibuf-ext.el has been loaded. + (Bug#51029) + +2021-10-05 Stefan Kangas + + Clarify docstring of blink-matching-paren + + * lisp/simple.el (blink-matching-paren): Clarify + docstring. (Bug#51032) + +2021-10-05 Stefan Kangas + + * doc/misc/gnus.texi (Loose Threads): Use regexp-opt in example. + +2021-10-05 Dmitry Gutov + + Bump project.el version + + * lisp/progmodes/project.el: Bump the version. + +2021-10-05 Dmitry Gutov + + Retain compatibility with older project.el projects + + * lisp/progmodes/xref.el (xref--analyze): + Retain compatibility with older project.el and its compatible + project definitions (for standalone Xref from ELPA). + +2021-10-05 Stephen Gildea + + native-comp-available-p is the definitive test + + * doc/lispref/compile.texi (Native Compilation): Document + native-comp-available-p as the way to test for native compilation. + * lisp/emacs-lisp/package.el (package--native-compile-async): + * test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines): + Test for native compilation with native-comp-available-p. + + Thank you to Andrea Corallo for reviewing this patch. + +2021-10-05 Eli Zaretskii + + Minor fix of a recently installed documentation change + + * doc/emacs/search.texi (Lax Search): Don't use ".." inside @samp, + it looks confusing, especially in print. (Bug#51020) + +2021-10-05 Paul Eggert + + Fix md5 issue in recent Gnulib merge + + When configured --with-native-compilation, Emacs needs md5_stream. + Problem reported by Andy Moreton (Bug#50985#23). + * admin/merge-gnulib (GNULIB_MODULES): Add crypto/md5, + needed for --with-native-compilation. + (AVOIDED_MODULES): Avoid crypto/af_alg, since Emacs doesnt + need to bother with kernel-supported cryptography algorithms. + * lib/gnulib.mk.in, m4/gnulib-comp.m4: + Regenerate by running admin/merge-gnulib. + * lib/md5-stream.c: New file, copied from Gnulib. + +2021-10-05 Paul Eggert + + Tweak recent 'configure' fix + + * configure.ac (gt_TYPE_WINT_T): Omit obsolete and + now-overridden definition. + +2021-10-05 Stefan Kangas + + Document minibuffer-default-prompt-format in manual + + * doc/emacs/mini.texi (Basic Minibuffer): Mention + minibuffer-default-prompt-format. (Bug#50935) + +2021-10-05 Eli Zaretskii + + Backward compatibility option for 'nobreak-char-display' + + * src/xdisp.c (syms_of_xdisp) : New + variable. + (get_next_display_element): If 'nobreak-char-ascii-display' is + non-nil, display non-ASCII space and hyphen characters as their + ASCII equivalents. (Bug#50983) + + * etc/NEWS: + * etc/PROBLEMS: Mention 'nobreak-char-ascii-display'. + +2021-10-05 Eli Zaretskii + + Unbreak the build after Gnulib update + + * lib/gnulib.mk.in (GNULIBHEADERS_OVERRIDE_WINT_T): Rename from + GNULIB_OVERRIDES_WINT_T. + * configure.ac (GNULIBHEADERS_OVERRIDE_WINT_T): Define. + (Bug#50985) + +2021-10-05 Michael Albinus + + Check, whether an FUSE mount has been broken in Tramp + + * lisp/net/tramp-fuse.el (tramp-fuse-mount-timeout): New defconst. + (tramp-fuse-mounted-p): Use it. Check for a file property instead + of a connection property. + (tramp-fuse-unmount): Dito. + + * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection): + Do not trust existence of a process, whether the volume is mounted. + +2021-10-05 Augusto Stoffel + + Disable 'nobreak-char-display' in Eldoc buffers + + * lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Set + 'nobreak-char-display' to nil in Eldoc buffers (bug#50989). + +2021-10-05 Miha Rihtar邸i + + Fix small error in comint-send-input + + * lisp/comint.el (comint-send-input): Run + comint-output-filter-functions with comint-last-output-start set + correctly (bug#51009). + +2021-10-05 Daniel Mart鱈n + + Update documentation of search-whitespace-regexp + + * doc/emacs/search.texi (Lax Search): Update the documentation about + the default value of search-whitespace-regexp, as it is now + independent of the major mode's syntax table (bug#51020). + +2021-10-05 Po Lu via + + Fix cc-compat.el syntax error + + * lisp/obsolete/cc-compat.el (offsets): Fix syntax error in BOCM + style setup. + +2021-10-05 Tak Kunihiro + + Mention `seq-uniq' in `delete-dups' documentation + + * doc/lispref/lists.texi (Sets And Lists): Mention `seq-uniq' + (bug#50928). + + * lisp/subr.el (delete-dups): Link to `seq-uniq' in doc string. + +2021-10-05 Paul Eggert + + Port recent Gnulib changes to MS-Windows + + * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_free-posix) + (OMIT_GNULIB_MODULE_malloc-posix) + (OMIT_GNULIB_MODULE_realloc-gnu) + (OMIT_GNULIB_MODULE_realloc-posix): + New macros, since we dont want these modules on MS-Windows. + * src/w32heap.c (heap_alloc, heap_realloc): New functions. + (malloc_after_dump, realloc_after_dump, realloc_before_dump): + Use them. + +2021-10-05 Paul Eggert + + Update from Gnulib + + Make the following changes by hand, and run 'admin/merge-gnulib'. + * .gitignore: Add lib/malloc/*.gl.h. + * admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h + directly from Gnulib, without worrying about Gnulib modules, + as these files are special cases. + (AVOIDED_MODULES): Remove malloc-posix. + * lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4: + * m4/year2038.m4: New files, copied from Gnulib. + * lib/malloca.c, lib/malloca.h: + * m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4: + Remove. These are either no longer present in Gnulib, or are no + longer needed by modules that Emacs uses. + * oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first; + needed for new Gnulib. + * src/xmenu.c: Call emacs_abort, not abort. + +2021-10-04 Andrea Corallo + + * Fix mh tests for native comp builds (bug#50975) + + * test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines): + New function. + (mh-test-utils-setup-with-mocks) + (mh-test-utils-setup-with-variant): Use it. + +2021-10-04 Andrea Corallo + + * Fix `batch-native-compile' not to spawn a subprocess + + * lisp/emacs-lisp/comp.el (comp-running-batch-compilation): New var. + (comp-final): Use it. + (batch-native-compile): Bind `comp-running-batch-compilation' it. + +2021-10-04 Ken Brown + + Fix native-compilation build from tarball on Cygwin + + * src/Makefile.in (../native-lisp) [CYGWIN]: Rebase the *.eln + files after they are all created, to avoid fork problems later in + the build. (Bug#50666) + +2021-10-04 Robert Pluim + + Remove U+FE0F from script-representative-chars + + * lisp/international/fontset.el (script-representative-chars): Remove + U+FE0F / VS-16 from the 'emoji' entry. It could cause us to skip + fonts that don't have a glyph for it, even though we don't actually + need one. + +2021-10-04 Robert Pluim + + Fix problem with 'vertical-motion' and emoji + + * src/font.c (font_range): Pass correct position to + font_for_char (Bug#51012). + +2021-10-04 Michael Albinus + + * test/README: Mention :nativecomp tag. + +2021-10-04 Gregory Heytings + + Avoid exiting when outputting error messages during loadup + + * src/print.c (print_error_message): Don't call + 'substitute-command-keys' when it isn't fboundp. + +2021-10-04 Robert Pluim + + Remove implemented emoji items + + * etc/TODO: Remove implemented emoji items. + +2021-10-04 Lars Ingebrigtsen + + project.el NEWS tagging + + thing-at-mouse NEWS tagging + +2021-10-04 Lars Ingebrigtsen + + Mention ffap-file-name-with-spaces in the ffap doc strin + + * lisp/ffap.el (find-file-at-point): Mention + ffap-file-name-with-spaces in the doc string. + +2021-10-04 Lars Ingebrigtsen + + Revert "Make info-look search harder for the Python info file" + + This reverts commit 711eb40b9b9e2aabd0e23ec264e8e8f913329d33. + + This leads to loading info-look being excessively slow if the info path is long. It'll be reimplemented in Emacs 29. + +2021-10-04 Paul Eggert + + Add safety check in x_menu_show + + * src/xmenu.c (x_menu_show): Explicitly check whether save_wv can + be null here. Looks like it can be but I am not 100% sure, so + play it safe and add a FIXME comment. + +2021-10-04 Paul Eggert + + Tweak x_connection_closed when I/O error + + * src/xterm.c (x_connection_closed): Dont dereference dpyinfo + in the unlikely case where it is null and ioerror is true. + This pacifies gcc 11.2.1 -Wanalyzer-null-dereference. + +2021-10-04 Stefan Kangas + + * lisp/erc/erc.el (erc-user-mode): Set "+i" by default. + +2021-10-04 Paul Eggert + + Port unused decls to C2x + + * src/conf_post.h (ATTRIBUTE_UNUSED): Remove. All uses replaced + by MAYBE_UNUSED, and moved to start as needed for C2x. + +2021-10-04 Stefan Kangas + + Improve structure of TODO + + * etc/TODO: Various improvements to the document structure according + to discussion with the maintainers. + +2021-10-04 Stefan Kangas + + Don't use some obsolete names in documentation + + * admin/notes/bugtracker: Use non-obsolete name + 'mail-dont-reply-to-names'. + * admin/notes/multi-tty: Mention new variable name + 'x-selection-value'. + * doc/lispintro/emacs-lisp-intro.texi (Point and mark) + (Point and mark, Design @value{COUNT-WORDS}): Avoid using obsolete + name 'count-lines-region'. + * doc/lispref/hooks.texi (Standard Hooks): Remove reference to + obsolete abnormal hook 'completion-annotate-function'. + * doc/misc/efaq.texi (SPC no longer completes file names): Remove + reference to obsolete 'minibuffer-local-filename-must-match-map'; + setting it has no effect. + * doc/misc/gnus.texi (NNTP): Remove reference to obsolete variable + 'nntp-authinfo-file'. + * doc/misc/reftex.texi (Table of Contents, Creating Citations) + (Options - Table of Contents, Options - Referencing Labels) + (Options - Creating Citations, Options - Index Support) + (Options - Index Support, Changes): Don't use obsolete names. + * doc/misc/speedbar.texi (Minor Display Modes) + (Major Display Modes): Make variable name suggestions more in line + with existing non-obsolete variable. + * lisp/textmodes/reftex-cite.el (reftex-select-bib-mode-map): + * lisp/textmodes/reftex-ref.el (reftex-offer-label-menu): Don't use + obsolete variable names. + * lisp/progmodes/which-func.el (which-func-mode): Doc fix. + +2021-10-04 Paul Eggert + + Tweak x_hide_tip for consistency + + * src/xfns.c (x_hide_tip, Fx_show_tip): Be consistent about using + !NILP (tip_frame) instead of FRAMEP (tip_frame). The two + expressions are logically equivalent since tip_frame is either a + frame or nil, !NILP is a bit faster, and making things consistent + pacifies gcc 11.2.1 -Wanalyzer-null-dereference. + +2021-10-04 Paul Eggert + + Remove encode_terminal_code UNINITs + + * src/term.c (encode_terminal_code): Clarify by removing a couple + of UNINITs and testing the local variable cmp instead of + retesting src->u.cmp.automatic. This pacifies gcc 11.2.1 + -Wanalyzer-null-dereference. + +2021-10-04 Paul Eggert + + Port pdumper.c maybe_unused to C2x + + Port pdumper.c to C2x, and pacify gcc 11.2.1 -Wattributes -Wunused. + * src/pdumper.c (dump_tailq_prepend): + Omit ATTRIBUTE_UNUSED, since its always used. + (dump_tailq_append): Remove; unused. + +2021-10-04 Paul Eggert + + Port systhreads.h to C2x + + * src/systhread.h: Put NODISCARD at the start of extern + declarations, not at the end. This is needed by C2x. + This patch also pacifies gcc 11.2.1 -Wattributes. + +2021-10-04 Paul Eggert + + Pacify -Wanalyzer-null-argument in lisp_malloc + + * src/alloc.c (lisp_malloc): Document that NBYTES must be + positive, and omit a needless runtime check. This pacifies a + false alarm with gcc 11.2.1 -Wanalyzer-possible-null-dereference. + +2021-10-04 Paul Eggert + + Pacify gcc 11.2.1 -Wanalyzer-null-argument + + * src/gtkutil.c (xg_item_label_same_p): Clarify boolean expression + to pacify -Wanalyzer-null-argument with GCC 11.2.1 20210728 + (Red Hat 11.2.1-1). + +2021-10-04 Jo達o T叩vora + + Simplify hack-read-symbol-shorthands again (bug#50946) + + * lisp/loadup.el (load-source-file-function): Don't set twice. + + * lisp/shorthands.el (hack-read-symbol-shorthands): Simplify. + (load-with-shorthands-and-code-conversion): Remove. + + * lisp/international/mule.el (load-with-code-conversion): Call + hack-read-symbol-shorthands-function. Set up shorthands. + (hack-read-symbol-shorthands-function): New variable. + +2021-10-03 Eli Zaretskii + + Fix recipe for 'native-lisp' directory + + * src/Makefile.in (../native-lisp): If the directory native-lisp + exists, do nothing. + +2021-10-03 Paul Eggert + + Simplify socket symlink-attack checking + + This is a minor bugfix cleanup (Bug#33847#161). + * lib-src/emacsclient.c: Move "#include " to inside + "#ifdef SOCKETS_IN_FILE_SYSTEM", which is more accurate + and simpler than having a separate "#ifndef WINDOWSNT". + (O_PATH): Likewise. + +2021-10-03 Alan Mackenzie + + Clarify (elisp) insert-file-contents with BEG or END not on character boundary + + * doc/lispref/files.texi (Reading from files): When the argument BEG or END to + insert-file-contents are at a byte position not at a character boundary, + clarify that raw bytes get inserted, and how to handle this awkwardness in + Lisp. Also clarify that insert-file-contents-literally is intended to insert + raw bytes into the buffer. Fix the outdated example that states it inserts + 500 characters, when it actually inserts 500 bytes. + +2021-10-03 Andreas Schwab + + * src/Makefile.in: Simplify conditionals. + +2021-10-03 Juri Linkov + + Move context-menu selection items Defun/List/Symbol to prog-mode (bug#9054) + + * lisp/mouse.el (context-menu-functions): + Add context-menu-middle-separator to choices. + (context-menu-region): Move Defun/List/Symbol selection items + to prog-context-menu. + + * lisp/progmodes/prog-mode.el (prog-context-menu): + Move Defun/List/Symbol selection items from context-menu-region. + Include text-mode select menu only in strings and comments. + + * lisp/textmodes/text-mode.el (text-mode-menu): New function. + (text-mode): Add text-mode-menu to context-menu-functions. + +2021-10-03 Juri Linkov + + * lisp/tab-bar.el (tab-bar-detach-tab): Handle frame selected by make-frame. + + (tab-bar-move-window-to-tab): New command. + (tab-bar-new-tab-to): Handle the value 'window' of tab-bar-new-tab-choice. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02197.html + +2021-10-03 Juri Linkov + + * lisp/tab-line.el (tab-line-format): Add face-modified to the cache key. + + When tab-line-tab-face-functions contains tab-line-tab-face-modified, + add 'buffer-modified-p' status to the cache-key, so the cache will expire + when the buffer modification status will change. + https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00129.html + +2021-10-03 Michael Albinus + + Fix unmounting in Tramp + + * doc/misc/tramp.texi (FUSE setup): Add tramp-fuse-unmount-on-cleanup. + + * lisp/net/tramp.el (tramp-file-name-unify): New defun. + (tramp-file-name-equal-p): + * lisp/net/tramp-cache.el (tramp-get-connection-property) + (tramp-set-connection-property, tramp-flush-connection-property) + (tramp-flush-connection-properties): Use it. + + * lisp/net/tramp-fuse.el (tramp-fuse-get-fusermount): New defun. + (tramp-fuse-mount-points): New defvar. + (tramp-fuse-unmount): Use it. Delete VEC from + `tramp-fuse-mount-points'. Delete mount point. + (tramp-fuse-unmount-on-cleanup): New user option. + (tramp-fuse-cleanup, tramp-fuse-cleanup-all): New defuns. + (top): Adapt `tramp-fuse-unload-hook', + `tramp-cleanup-connection-hook', + `tramp-cleanup-all-connections-hook' and `kill-emacs-hook'. + + * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection): + * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection): + Add VEC to `tramp-fuse-mount-points'. + + * test/lisp/net/tramp-tests.el (tramp-fuse-unmount-on-cleanup): Declare. + (tramp-test39-make-lock-file-name): Use it. + +2021-10-03 Stefan Kangas + + * etc/themes/light-blue-theme.el: Add "Maintainer: emacs-devel". + +2021-10-03 Eli Zaretskii + + Define HAVE_NATIVE_COMP in src/Makefile.in + + * src/Makefile.in (HAVE_NATIVE_COMP): Define. Reported by Ken + Brown . + +2021-10-03 Jo達o T叩vora + + Rename elisp-shorthands to read-symbol-shorthands + + The new name fits better in the family of variables that affect + the Lisp reader. + + Suggested-by: Po Lu + + * doc/lispref/symbols.texi (Shorthands): Mention read-symbol-shorthands + + * lisp/shorthands.el (hack-read-symbol-shorthands) + (hack-read-symbol-shorthands) + (shorthands-font-lock-shorthands): Use read-symbol-shorthands + + * lisp/progmodes/elisp-mode.el (elisp--completion-local-symbols) + (elisp--completion-local-symbols) + (elisp-shorthands): Use read-symbol-shorthands + + * src/lread.c: + (syms_of_lread): Define Vread_symbol_shorthands + (oblookup_considering_shorthand): Use Vread_symbol_shorthands. + + * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer): + (elisp-shorthand-read-from-string): Use read-symbol-shorthands + + * test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el + Use new symbol name read-symbol-shorthands. + +2021-10-03 Jo達o T叩vora + + Font-lock shorthands in elisp-mode for quick visual recognition (bug#50959) + + Only the shorthanded prefix is font-locked. This allows the remainder + of the font-lock logic to subsist (e.g. for macro-defining symbols). + + * lisp/shorthands.el (cl-lib): Require it when compiling. + (elisp-shorthand-font-lock-face): New face. + (shorthands--mismatch-from-end): New helper. + (shorthands-font-lock-shorthands): New helper. + + * test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el: + Add some dummy test code. + +2021-10-03 Michael Albinus + + Suppress superfluous error messages in Tramp + + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-insert-file-contents): + * lisp/net/tramp.el (tramp-handle-insert-file-contents) + (tramp-handle-lock-file): Suppress superfluous error message. + +2021-10-03 Eli Zaretskii + + Fix reading the tail of a file in shorthands.el + + * lisp/shorthands.el (hack-elisp-shorthands): Fix reading past + 3000-character limit from EOF. (Bug#50946) + +2021-10-03 Lars Ingebrigtsen + + Fix substitution of pretty quotes in code in easy-mmode + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Adjust. + (easy-mmode--mode-docstring): Avoid making quotes into pretty + quotes in code (bug#50968). + +2021-10-03 Lars Ingebrigtsen + + Fix agent directory deletion + + * lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs): + Delete directories in a simpler way that actually works (bug#50986). + +2021-10-03 Stefan Kangas + + Clarify the purpose of internal--format-docstring-line + + * test/lisp/subr-tests.el (subr-test-internal--format-docstring-line): + * lisp/subr.el (internal--format-docstring-line): Make it more clear + that this function is not intended for the first line of a docstring. + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add comment explaining + why we use 'internal--format-docstring-line'. + Problem pointed out by Stefan Monnier . + +2021-10-02 Juri Linkov + + * lisp/net/dictionary.el (context-menu-dictionary): Move menu item down. + + Place the dictionary menu item after middle-separator (bug#50552). + +2021-10-02 Kyle Meyer + + Update to Org 9.5-30-g10dc9d + + The plan is to cut the Org 9.5.1 release and include it in Emacs 28.1, + but in the meantime regularly sync changes from Org's bugfix branch to + emacs-28. + + This sync includes files from Org 9.5's new etc/csl/ directory that + should have been synced in bf9ec3d91a (Update to Org 9.5, 2021-09-29). + +2021-10-02 Glenn Morris + + Remove bogus ":safe t" custom properties + + * lisp/org/oc.el (org-cite-global-bibliography) + (org-cite-note-rules, org-cite-punctuation-marks): + * lisp/org/oc-csl.el (org-cite-csl-locales-dir) + (org-cite-csl-styles-dir, org-cite-csl-no-citelinks-backends): + * lisp/org/oc-natbib.el (org-cite-natbib-options): + * lisp/org/org-keys.el (org-mouse-1-follows-link): + Remove bogus ":safe t" properties that would largely need to be + replaced by custom predicates. + +2021-10-02 Eli Zaretskii + + Fix 'apropos-compact-layout' + + * lisp/textmodes/fill.el (fill-region-as-paragraph): Fix filling + paragraphs that end at EOB without a newline. (Bug#50974) + +2021-10-02 Glenn Morris + + Remove bogus ":safe nil" custom properties + + * lisp/org/oc.el (org-cite-activate-processor) + (org-cite-export-processors, org-cite-follow-processor) + (org-cite-insert-processor): + * lisp/org/ol.el (org-link-parameters, org-link-frame-setup) + (org-link-shell-confirm-function) + (org-link-shell-skip-confirm-regexp) + (org-link-elisp-confirm-function) + (org-link-elisp-skip-confirm-regexp): + * lisp/org/org-num.el (org-num-format-function): + Remove bogus ":safe nil" that do nothing but propagate a + misunderstanding of the safe-local-variable property. + +2021-10-02 Glenn Morris + + The safe-local-variable property is a function (bug#50944) + + * lisp/org/oc-basic.el (org-cite-basic-sorting-field) + (org-cite-basic-author-year-separator) + (org-cite-basic-max-key-distance) + (org-cite-basic-author-column-end) + (org-cite-basic-column-separator) + (org-cite-basic-mouse-over-key-face): + * lisp/org/oc-biblatex.el (org-cite-biblatex-options): + * lisp/org/oc-csl.el (org-cite-csl-link-cites) + (org-cite-csl-html-hanging-indent) + (org-cite-csl-html-label-width-per-char) + (org-cite-csl-latex-hanging-indent): + * lisp/org/oc.el (org-cite-adjust-note-numbers): + * lisp/org/org-keys.el (org-return-follows-link): + * lisp/org/org.el (org-fontify-todo-headline): + * lisp/org/ox-html.el (org-html-equation-reference-format) + (org-html-wrap-src-lines): + * lisp/org/ox-latex.el (org-latex-reference-command) + (org-latex-default-quote-environment): + * lisp/textmodes/tildify.el (tildify-pattern) + (tildify-space-string): Fix :safe property. + +2021-10-02 Stefan Kangas + + Revert "; * etc/TODO: Move elpa.gnu.org items to the end." + + This reverts commit d73f0e96a7026808c01861f7525a2909279fc00d. + + These items are a priority for the project and should be before other, + less prioritized items, according to a private discussion with project + co-maintainer Eli Zaretskii . + +2021-10-02 Stefan Kangas + + Revert "* etc/TODO: Rearrange to start with "Simple tasks"." + + This reverts commit 879ef5b19ab1dd90284aef829ef306d56b4e5adb. + + Some of these items are a priority for the project and should be + before other, less prioritized items, according to a private + discussion with project co-maintainer Eli Zaretskii . + +2021-10-02 Eli Zaretskii + + Fix selection of fonts for Arabic on Posix platforms + + * lisp/international/fontset.el (script-representative-chars): Add + U+06C1 to representative-characters for Arabic. (Bug#50951) + +2021-10-02 Lars Ingebrigtsen + + Fix ox-koma-letter compilation warnings + + * lisp/org/ox-koma-letter.el (org-koma-letter-export-block) + (org-koma-letter-export-snippet): Fix warning about two unused + parameter. + +2021-10-02 Eli Zaretskii + + Preload paren.el + + * lisp/Makefile.in (COMPILE_FIRST): Add the dependencies of + comp.el, so that they are natively-compiled in advance. + * lisp/loadup.el ("paren"): Preload paren.el. (Bug#50934) + +2021-10-02 Eli Zaretskii + + Improve documentation of 'shift-select-mode' + + * doc/emacs/mark.texi (Shift Selection): Document the 'permanent' + value of 'shift-select-mode'. Add index entry for that variable. + (Bug#50954) + + * etc/NEWS: Update the entry for 'shift-select-mode'. + +2021-10-02 Jo達o T叩vora + + Simplify shorthand injection (bug#50946) + + * lisp/loadup.el: Load "shorthands" relatively late. Set + load-source-file-function to load-with-shorthands-and-code-conversion + + * lisp/international/mule.el (hack-elisp-shorthands) + (load-with-shorthands-and-code-conversion): Move to + lisp/shorthands.el + + * lisp/shorthands.el: New file. + +2021-10-01 Glenn Morris + + * doc/lispref/control.texi (pcase Macro): Fix cross-reference. + +2021-10-01 Glenn Morris + + Fix some custom types + + * lisp/mpc.el (mpc-cover-image-re): + * lisp/org/oc-csl.el (org-cite-csl-locales-dir) + (org-cite-csl-styles-dir): + * lisp/org/org-plot.el (org-plot/preset-plot-types): Fix :type. + +2021-10-01 Stefan Kangas + + * etc/TODO: Add interactive mode tagging. + + * etc/TODO: Rearrange to start with "Simple tasks". + + * etc/TODO: Remove outdated item. (Bug#50904) + +2021-10-01 Stefan Kangas + + Rename arguments of ERC's '/whois' and simplify doc string + + * lisp/erc/erc.el (erc-cmd-WHOIS): Rename arguments and reword the doc + string to further clarify and simplify. + +2021-09-30 Dmitry Gutov + + Migrate Xref off EIEIO + + To improve performance and flexibility (bug#50777). + + * lisp/progmodes/xref.el (xref-location): Remove. + (xref-file-location): Change to cl-struct. + (xref-buffer-location, xref-bogus-location): Ditto. + (xref-item, xref-match-item): Same. + And update all method definitions accordingly. + (xref--insert-xrefs): Don't use 'oref', use 'xref-item-location'. + (xref--insert-xrefs, xref-show-definitions-completing-read): + Insetad of 'with-slots', use 'xref-item-summary' and + 'xref-item-location'. + + * lisp/progmodes/etags.el (xref-etags-location): + Change from EIEIO class into a cl-struct. + (xref-etags-apropos-location): Ditto. + Update all method definitions. + + * test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run): + Avoid using 'oref'. + +2021-09-30 Eli Zaretskii + + * admin/release-branch.txt: New file. + + * lisp/dired.el (dired-omit-mode): Declare, to avoid compiler warning. + +2021-09-30 Eli Zaretskii + + Cut the emacs-28 release branch + + * README: + * configure.ac: + * nt/README.W32: + * msdos/sed2v2.inp: Bump Emacs version to 28.0.60. + + * lisp/cus-edit.el (customize-changed-options-previous-release): + Update the last released version of Emacs. + +2021-09-30 Nikolay Kudryavtsev + + Make checkdoc's docstring substitution consistent with other docs + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + In error text, say "mapvar" instead of "keymap", and "command" + instead of "function", to be consistent with the ELisp manual. + (Bug#50903) + +2021-09-30 Mattias Engdeg奪rd + + Fix regexp snags in org + + * lisp/org/org-element.el (org-element-citation-key-re): + * lisp/org/ox-org.el (org-org-identity): + Remove repeated chars in alternatives. + * lisp/org/ob-java.el (org-babel-execute:java): + Remove superfluous backslash. + * lisp/org/ob-java.el (org-babel-java--main-re) + (org-babel-java--any-method-re): Remove (0+ space) expressions + subsumed by adjacent expressions. + +2021-09-30 Mattias Engdeg奪rd + + org-element: use correct function + + * lisp/org/org-element.el (org-element-headline-parser): + Pretty sure this one should be `skip-chars-backward`, not + `skip-syntax-backward`, since \t isn't a valid syntax code. + +2021-09-30 Mattias Engdeg奪rd + + Revert "Indent bodies of local function definitions properly in elisp-mode" + + This reverts commit 38037e04cb05cb1f2b604f0b1602d36b0bcf6985. + +2021-09-30 Mattias Engdeg奪rd + + Revert "Fix regressions in cl-flet indentation" + + This reverts commit c42af5aee74f310bdcd63aac96b1c02ec07a1c50. + +2021-09-30 Philip Kaludercic + + Add rcirc-omit-unless-requested option + + * doc/misc/rcirc.texi (Notices): Update documentation + * lisp/net/rcirc.el (rcirc-pending-requests): Add local variable + (rcirc-omit-unless-requested): Add user option + (rcirc-print): Respect rcirc-omit-unless-requested + (rcirc-define-command): Update rcirc-pending-requests + +2021-09-30 Stefan Monnier + + * lisp/org/ob-julia.el: Use lexical-binding + + (ess-eval-visibly-p): Declare. + (org-babel-julia-assign-elisp): Remove unused vars `header` and + `row-names` and corespondingly remove now unused args `colnames-p` and + `rownames-p`. + (org-babel-variable-assignments:julia): Adjust call to + `org-babel-julia-assign-elisp` accordingly. + (org-babel-julia-initiate-session): Use `bound-and-true-p`. + (org-babel-julia-evaluate-external-process) + (org-babel-julia-evaluate-session, org-babel-julia-evaluate): + Remove unused arg `row-names-p`. + (org-babel-execute:julia): Adjust call to + `org-babel-julia-evaluate` accordingly. + +2021-09-30 Stefan Monnier + + * lisp/org/ox-koma-letter.el: Use lexical-binding + + And remove redundant `:group` args. + +2021-09-30 Eli Zaretskii + + Fix a recent change of 'undo-redo' binding + + * lisp/bindings.el (global-map): Fix the binding of 'undo-redo'. + (Bug#50911) + +2021-09-30 Eli Zaretskii + + Merge Org 9.5 from branch 'origin/scratch/org-sync'. + +2021-09-30 Lars Ingebrigtsen + + Fix previous `newline' patch + + * lisp/simple.el (newline): Signal an error earlier to avoid + peculiar behaviour after getting a backtrace (bug#50900). + +2021-09-30 Lars Ingebrigtsen + + Make `newline' check the argument earlier + + * lisp/simple.el (newline): Signal an error earlier to avoid + peculiar behaviour after getting a backtrace (bug#50900). + +2021-09-30 akater + + Fix regressions in cl-flet indentation + + * lisp/emacs-lisp/lisp-mode.el (lisp--local-defform-body-p): + Rename (from -p-less form) and fix indentation regression + introduced by 38037e04cb05cb1f2b604f0b1602d36b0bcf6985 + (bug#9622). Also add cl-macrolet cl-flet* cl-symbol-macrolet. + +2021-09-30 dickmao + + Fix bootstrap after recent undo-redo change + + * lisp/bindings.el (global-map): Don't use `kbd' here -- it breaks + bootstrap (bug#50911). + +2021-09-30 Kyle Meyer + + * etc/NEWS: Announce Org update. + + Update to Org 9.5 + +2021-09-30 Amin Bandali + + Add new '/wii' convenience ERC command + + * etc/NEWS: Announce the addition of the command. + * lisp/erc/erc.el (erc-cmd-WII): Add '/wii' convenience command which + calls the '/whois' command with the given nick as both arguments, + which is useful for displaying the whois information for the nick + along with idle time, even if the nick is on a different server than + the one we are currently connected to. + +2021-09-30 Amin Bandali + + Restore the previous order of ERC's '/whois' arguments + + * etc/NEWS: Remove unneeded entry. + * lisp/erc/erc.el (erc-cmd-WHOIS): Restore the previous order of + arguments sent to the server, so that there's no change in the + function's behavior. Instead, rename the arguments to be more + accurate, and expand upon them in the doc string. + +2021-09-30 Stefan Kangas + + New command mpc-goto-playing-song + + * lisp/mpc.el (mpc-goto-playing-song): New command to go to the + currently playing song. + (mpc-mode-map): Bind it to "o". + +2021-09-29 Stefan Kangas + + * lisp/linum.el: Recommend `display-line-numbers-mode'. + +2021-09-29 Dmitry Gutov + + Add bindings for 'undo-redo' + + * etc/NEWS: Describe the change. + + * lisp/bindings.el (global-map): Add bindings for 'undo-redo'. + + * lisp/simple.el (undo-no-redo): Turn into a user option. + +2021-09-29 Juri Linkov + + * lisp/tab-bar.el (tab-bar-move-tab-to-frame): Delete frame with last tab. + +2021-09-29 Adam Porter + + * lisp/tab-bar.el: (tab-bar-detach-tab) New command + + (tab-bar-detach-tab): New command. + (tab-bar-mouse-context-menu): Add menu entry. + + With thanks to Matt Beshara for his feedback. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02141.html + +2021-09-29 Lars Ingebrigtsen + + Tweak previous message-newline-and-reformat change + + * lisp/gnus/message.el (message-newline-and-reformat): Only search + for previous/next cited lines that have space, because it's the + space we're trying to find. + +2021-09-29 Lars Ingebrigtsen + + Cross reference `dired-do-revert-buffer' + + * lisp/dired-aux.el (dired-do-copy): + (dired-do-symlink): + (dired-do-hardlink): + (dired-do-rename): Mention `dired-do-revert-buffer'. + +2021-09-29 Lars Ingebrigtsen + + Do some NEWS taggin + +2021-09-29 Stefan Kangas + + * etc/TODO: Delete ImageMagick items. (Bug#50891) + +2021-09-29 Lars Ingebrigtsen + + Make `M-q' in message-mode work better + + * lisp/gnus/message.el (message-newline-and-reformat): Fix + bug#43299 differently. + (message-newline-and-reformat): Revert change for bug#43299. This + fixes bug#50842. + +2021-09-29 Stefan Kangas + + Force volume to an integer divisible by mpc-volume-step + + * lisp/mpc.el (mpc-volume-mouse-set): Force volume to an integer + divisible by 'mpc-volume-step'. + (mpc-volume-step): Add docstring. + +2021-09-29 Lars Ingebrigtsen + + Signal an error in `search-forward-help-for-help' + + * lisp/help.el (search-forward-help-for-help): Error out instead + of showing an empty buffer (bug#50881). + +2021-09-29 Lars Ingebrigtsen + + Add a comment about bug#50877 for gnus-set-difference + +2021-09-29 Lars Ingebrigtsen + + Revert "Obsolete local set difference functions in favor of seq-difference" + + This reverts commit 20f7fa691b7c2859b96550d9ccb326bf394e160d. + + gnus-set-difference is orders of magnitude faster than seq-difference + (on these sets), and using seq-difference makes nnimap too + slow. + +2021-09-29 Michael Albinus + + * test/Makefile.in (WRITE_LOG): Add emacs-module-tests as problematic. + +2021-09-29 Protesilaos Stavrou + + Update modus-themes to version 1.6.0 + + * doc/misc/modus-themes.org (Customization Options): Document new user + options in code sample. + (Option for inhibiting theme reload): Remove trailing space. + (Option for mode line presentation): Include new possible value. + (Option for Org agenda constructs): Include new symbols for the + 'modus-themes-org-agenda' alist. + (Control the scale of headings): Document 'modus-themes-scale-small'. + (Override color saturation (DIY)): Fix markup for proper texi output. + (Custom Org user faces (DIY)): Update code samples. + (Full support for packages or face groups): Note names of newly + supported packages or face groups. + (Indirectly covered packages): Document indirectly supported packages. + (Note on highlight-parentheses.el): Provide detailed instructions on + how to use 'highlight-parentheses' with the Modus themes. + (Note on prism.el): Refine code samples. + (What is the best setup for legibility?): Minor rewording. + (Sources of the themes): Mention only Emacs28 without explaining that + it is the development target---in preparation of the emacs-28 branch + cut. + (Acknowledgements): Name new contributors to code/ideas. Stephen + Gildea's patch was a couple lines long. The others have assigned + copyright to the FSF. + (Meta): Include another link to the development notes of the themes + about 'modus-themes-org-agenda'. + + * etc/themes/modus-operandi-theme.el, + etc/themes/modus-vivendi-theme.el: Bump file version. + + * etc/themes/modus-themes.el (modus-themes-operandi-colors) + (modus-themes-vivendi-colors): Recalibrate some colour values and add + a few new ones. + (modus-themes-slanted-constructs): Remove obsolete user option. + Superseded by the alias 'modus-themes-italic-constructs'. + (modus-themes-org-agenda, modus-themes-mode-line): Update user option. + (modus-themes-scale-headings, modus-themes-scale-4): Update doc + string. + (modus-themes-scale-5): Remove obsolete user option. Superseded by + the alias 'modus-themes-scale-title'. + (modus-themes-scale-small, modus-themes-tabs-accented): Add new user + option. + (modus-themes--agenda-date, modus-themes--mode-line-attrs) + (modus-themes--tab): Update internal functions. + (modus-themes-faces): Update variousface attributes. + + Detailed change log here: + . + +2021-09-29 Philip Kaludercic + + Remove rcirc-omit-responses-after-join option + + The implementation does not work as expected and behaves + unpredictably. + + * rcirc.el (rcirc-omit-responses-after-join): Remove option + (rcirc-joined): Remove variable + (rcirc-reconnect): Remove rcirc-joined code + (rcirc-get-buffer-create): Remove rcirc-joined code + (rcirc-print): Remove rcirc-omit-responses-after-join check + * doc/misc/rcirc.texi (Notices): Remove documentation + * etc/NEWS: Remove mention + +2021-09-29 Stefan Kangas + + New user option mpc-cover-image-re + + * lisp/mpc.el (mpc-cover-image-re): New user option. + (mpc-format): Find cover image based on regexp given by above new user + option. Treat "folder.png" as a valid cover image name. + +2021-09-29 Martin Rudalics + + Fix 'window-toggle-side-windows' (Bug#50867) + + * lisp/window.el (window-toggle-side-windows): Bind + 'window-combination-resize' to t around 'window-state-put' + calls (Bug#50867). + +2021-09-29 Michael Albinus + + Some inmprovements in emba CI files + + * test/infra/Dockerfile.emba: Remove superfluous "make -j4". + + * test/infra/gitlab-ci.yml (.test-template): Add 'allow_failure' clause. + (test-all-inotify): Add 'needs' clause. + +2021-09-29 Juri Linkov + + * lisp/net/dictionary.el (context-menu-dictionary): Add autoload cookie. + + (context-menu-functions): Remove context-menu-dictionary from hook (bug#50552) + +2021-09-29 Lars Ingebrigtsen + + Tweak the whitespace before "This is a generic function" + + * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): Make the + number of blank lines before this section consistent (whether + there's an indented section before it or not). + +2021-09-29 Lars Ingebrigtsen + + Improve the max-specpdl-size doc string + + * src/eval.c (syms_of_eval): Mention what "specpdl" means. + +2021-09-29 Amin Bandali + + Switch the order of ERC's '/whois' arguments sent to the server + + * lisp/erc/erc.el (erc-cmd-WHOIS): Switch the order of 'server' and + 'user' arguments sent to the server. Per RFC 1459 and RFC 2812, the + optional 'server' argument command comes before the 'user' argument, + not after. While at it, update the doc string to explain why one may + want to specify the 'server' argument. + * etc/NEWS: Announce the change. + +2021-09-29 Stefan Kangas + + * lisp/mpc.el (mpc-format): Fix printing after last format spec. + +2021-09-29 Amin Bandali + + Unobsolete erc-compat.el + + * lisp/obsolete/erc-compat.el: Move from here... + * lisp/erc/erc-compat.el: ...back to here. ERC will soon be added to + GNU ELPA, and erc-compat.el will be used to provide compatibility + functions and/or variables for using ERC on older Emacsen. + * etc/NEWS: Remove the previously added obsoletion news item. + +2021-09-29 Stefan Kangas + + * etc/NEWS: Announce Eshell bookmarks. + +2021-09-29 Stefan Kangas + + Add bookmark.el support to eww + + * lisp/net/eww.el (eww-bookmark-name, eww-bookmark-make-record) + (eww-bookmark-jump): New defuns. + (eww-mode): Set up bookmark handler. + +2021-09-29 Dmitry Gutov + + Enable show-paren-mode by default + + * etc/NEWS (https): Mention the change. + + * lisp/paren.el (show-paren-mode): + Enable by default, as discussed on emacs-devel. + +2021-09-29 Stefan Kangas + + * lisp/net/eww.el (eww-mode): Show keybindings in docstring. + +2021-09-28 Juri Linkov + + * lisp/mouse.el (context-menu-map): Fix when menu is a command (bug#50851) + + * lisp/help.el (help--analyze-key): Get information at the position + of mouse click such as 'C-h k' on a context menu item (bug#50067). + +2021-09-28 Stefan Kangas + + Add shortdoc for text properties + + * lisp/emacs-lisp/shortdoc.el (text-properties): New shortdoc. + + e for your changes. Lines starting + +2021-09-28 Stefan Kangas + + Mention describe-symbol in cl-defstruct docstring + + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Mention 'describe-symbol' + in docstring. + +2021-09-28 Stefan Kangas + + Mention cl-describe-type in cl-defstruct docstring + + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Mention + 'cl-describe-type' in docstring. + +2021-09-28 Stefan Monnier + + * lisp/emacs-lisp/map.el: Restore compatibility with Emacs-26 + + Don't use the new `eql` syntax. + +2021-09-28 Michael Albinus + + Adapt tramp-tests.el for macOS + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Adapt for macOS. + +2021-09-28 Stefan Kangas + + * doc/man/emacs.1.in: Add --no-x-resources. (Bug#50855) + +2021-09-28 Stefan Kangas + + Improve coding conventions for error messages + + * doc/lispref/tips.texi (Programming Tips): Clarify coding + conventions for error messages to say that an error message can + start with a Lisp symbol. (Bug#50658) + +2021-09-28 Stefan Kangas + + Improve docstrings of ert-resource-{directory,file} + + * lisp/emacs-lisp/ert-x.el (ert-resource-directory) + (ert-resource-file): Improve docstrings. + +2021-09-28 Stefan Kangas + + Signal error on newline in internal--format-docstring-line + + * lisp/subr.el (internal--format-docstring-line): Signal error + when trying to fill a line containing a newline. + + * lisp/cedet/semantic/decorate/mode.el + (define-semantic-decoration-style): + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Don't pass newlines to 'internal--format-docstring-line'. + +2021-09-28 Eli Zaretskii + + Make the build of source tarball produce *.eln files + + * lisp/emacs-lisp/comp.el (batch-native-compile): Accept an + optional argument; if non-nil, place the .eln file as appropriate + for building a source tarball. + + * doc/lispref/compile.texi (Native-Compilation Functions): + Document the new optional argument of 'batch-native-compile'. + + * lisp/Makefile.in (.PHONY, $(THEFILE)n) [HAVE_NATIVE_COMP]: New + targets. + + * src/Makefile.in (%.eln) [HAVE_NATIVE_COMP]: New recipe. + (all) [HAVE_NATIVE_COMP]: Add ../native-lisp to prerequisites. + (elnlisp) [HAVE_NATIVE_COMP]: New list of *.eln files. + (../native-lisp) [HAVE_NATIVE_COMP]: New recipe. + + * src/verbose.mk.in (AM_V_ELN): New macro. + +2021-09-28 Lars Ingebrigtsen + + Adjust ispell-look-command type + + * lisp/textmodes/ispell.el (ispell-look-command): Adjust :type + after previous change. + +2021-09-28 Andr辿 A. Gomes + + Fix search of the look program + + * lisp/textmodes/ispell.el (ispell-look-command): Fix logic + concerning the existence of the look program (bug#50852) -- search + through the executable path. + (ispell-look-p): Adjust logic. + +2021-09-28 Lars Ingebrigtsen + + Use ert-resource-file in the shorthand tests + + Also move to the standard directory naming. + +2021-09-28 Stefan Kangas + + checkdoc: Allow Lisp symbols to start a message + + * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): Allow + Lisp symbols to start a message. + (checkdoc--error-bad-format-p): New helper function. + + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-test-error-format-is-good) + (checkdoc-test-error-format-is-bad): New helper functions. + (checkdoc-tests-error-message-bad-format-p) + (checkdoc-tests-error-message-bad-format-p/defined-symbols) + (checkdoc-tests-error-message-bad-format-p/not-capitalized): + New tests. + +2021-09-27 Ken Brown + + Make .eln files executable on Cygwin + + * Makefile.in (INSTALL_ELN): New variable, equal to $(INSTALL) on + Cygwin and $(INSTALL_DATA) on other platforms. + (install-eln): Use INSTALL_ELN instead of INSTALL_DATA. + (Bug#50818) + +2021-09-27 Michael Albinus + + Simplify `file-notify--rm-descriptor' + + * lisp/filenotify.el (file-notify--rm-descriptor): + Use `file-notify-handle-event'. + +2021-09-27 Juri Linkov + + * lisp/mouse.el (context-menu-region): Check for nil for char-after at eobp. + +2021-09-27 Mattias Engdeg奪rd + + * lisp/progmodes/flymake.el (flymake-menu): Don't use obsolete name. + +2021-09-27 Alan Third + + Fix GNUstep build failure + + * src/nsfns.m (Fns_hide_emacs): NSRunningApplication is only available + in GNUstep 0.27 and above. + +2021-09-27 Robert Pluim + + Document 'glyphless-char-display-control' changes + + * etc/NEWS: Document 'glyphless-char-display-control' changes for + Variation Selectors. + +2021-09-27 Robert Pluim + + Try to be consistent about user options in NEWS + + * etc/NEWS: Try to be consistent about calling 'user options' that + instead of 'variables'. + +2021-09-27 Alan Third + + Fix resizing glitches in NS port (bug#50413) + + * src/nsterm.m ([EmacsView resizeWithOldSuperviewSize:]): Use the + superview's size instead of trusting the view's size. + +2021-09-27 Alan Third + + Attempt to debug a graphical glitch on macOS + + * src/nsterm.m (ns_scroll_run): + (ns_shift_glyphs_for_insert): Switch to using NSPoint for destination. + ([EmacsView copyRect:to:]): Use NSPoint for the destination, always + use the view's layer, and log any questionable copy requests. + +2021-09-27 Alan Third + + Fix NS toolbar again (bug#50534) + + * src/nsmenu.m (free_frame_tool_bar): Remove toolbar. + (update_frame_tool_bar_1): New function. + (update_frame_tool_bar): Move most of the functionality to + update_frame_tool_bar_1. + * src/nsterm.h: Definitions of functions and methods. + * src/nsterm.m (ns_update_begin): + ([EmacsView windowDidEnterFullScreen]): + ([EmacsView windowDidExitFullScreen]): We no longer need to reset the + toolbar visibility as that's done when we create the new fullscreen + window. + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Move the check + for undecorated frames into createToolbar:. + ([EmacsWindow createToolbar:]): Check whether a toolbar should be + created, and run the toolbar update immediately. + +2021-09-27 Stefan Kangas + + Fix automatic filling of docstring in cl-defstruct + + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix bug where a paragraph + was filled as if it were a single line, which led to garbled + output in the docstring. (Bug#50839) + + * test/lisp/subr-tests.el + (subr-test-internal--format-docstring-line): New test. + +2021-09-27 Eli Zaretskii + + Minor fix in 'w32-find-non-USB-fonts' + + * lisp/term/w32-win.el (w32--filter-USB-scripts): Handle + representative characters given as a vector, not a list. + +2021-09-27 Jo達o T叩vora + + * etc/NEWS (Shorthands for Lisp symbols): Reword. + +2021-09-27 Robert Pluim + + Enhance font_range to check for emoji composition triggers + + If the codepoint that triggered composition is from the emoji script, + use the emoji font to check the string being composed, rather than the + font of the first character of the string. This makes e.g. + + "emoji codepoint with Emoji_Presentation = No followed by VS-16 (FE0F)" + + display the emoji version of the glyph for that codepoint. + + * admin/unidata/blocks.awk: Add VS-1 through VS-16 to the emoji + script. + * src/composite.c (autocmp_chars): Accept additional argument CH for + the codepoint that triggered composition, pass it to font_range. + (composition_reseat_it, find_automatic_composition): Pass codepoint + that triggered composition to autocmp_chars. + * src/font.c (font_range): Accept additional argument CH for the + triggering codepoint. If the codepoint is from the 'emoji' script, + use Vscript_representative_chars to find the font to use for the + composition attempt. + (syms_of_font): Add Qemoji symbol. + * src/font.h: Update font_range prototype for argument CH. + * etc/NEWS: Announce change. + +2021-09-27 Lars Ingebrigtsen + + Fix checkdoc-related test failure + + Fix two doc-related test failures + +2021-09-27 Michael Albinus + + Optimize emba builds + + * test/infra/Dockerfile.emba (emacs-base): Install also + libdbus-1-dev and libacl1-dev. + + * test/infra/gitlab-ci.yml (prep-image-base): Comment out. This + stage is activated by default in Dockerfile.emba. + +2021-09-27 Eli Zaretskii + + Minor stylistic fixes of shorthand code in C + + * src/lread.c (oblookup_considering_shorthand): Now static. Move + prototype to where it belongs. + (read1, Fintern, Fintern_soft, Funintern) + (oblookup_considering_shorthand, syms_of_lread): Fix style of + braces and indentation, comments, and doc strings. + +2021-09-27 Eli Zaretskii + + Minor fixes of Lisp doc strings for shorthands feature + + * lisp/progmodes/elisp-mode.el (obarray-cache) + (elisp--completion-local-symbols): + * lisp/international/mule.el (hack-elisp-shorthands) + (load-with-shorthands-and-code-conversion): Doc string fixes. + +2021-09-27 Eli Zaretskii + + Minor fixes in documentation of shorthands + + * etc/NEWS: + * doc/lispref/symbols.texi (Symbol Components, Creating Symbols) + (Shorthands): Improve wording, fix indexing and typos. + +2021-09-27 Lars Ingebrigtsen + + Make comint understand the ccrypt password phrases + + * lisp/comint.el (comint-password-prompt-regexp): Add the ccrypt + confirmation phrase (bug#50837). + + * lisp/international/mule-conf.el (password-word-equivalents): Add + the ccrypt phrases. + +2021-09-27 Lars Ingebrigtsen + + Add "passwd" (change password) prompt to comint + + * lisp/comint.el (comint-password-prompt-regexp): Add "passwd" (to + change the password) first promp in Debian bullseye. + +2021-09-27 Lars Ingebrigtsen + + Note that the Packaging sub-nodes are mostly for maintainers + + * doc/lispref/package.texi (Packaging): Note that the information + is mostly for ELPA maintainers (bug#50825). + +2021-09-27 dickmao + + Get a `package-test-signed` to work again + + The test signing key succumbed to either expiration or bitrot. + I hope I didn't just publish my secret key to the world. + + * test/lisp/emacs-lisp/package-resources/key.pub: Refresh. + * test/lisp/emacs-lisp/package-resources/key.sec: Refresh. + +2021-09-27 Lars Ingebrigtsen + + Move test-cl-flet-indentation to the right file + +2021-09-27 Lars Ingebrigtsen + + Improve describe-char buffer extremely slightly + + * lisp/descr-text.el (describe-char): Add a colon to further + signify that we're talking about the following line (bug#50795). + +2021-09-27 Jo達o T叩vora + + Document shorthands in the Elisp manual section on Symbols + + * doc/lispref/symbols.texi (Symbol Components): Mentione "Shorthands". + (Creating Symbols): Mention shorthands. Correct references to Common + Lisp. + (Shorthands): New section. + + * etc/NEWS (Shorthands): New entry. + +2021-09-27 Jo達o T叩vora + + Add #_ reader macro to escape shorthand renaming + + * src/lread.c (read1): Add skip_shorthand variable. Add a '#_' + case. If skip_shorthand call oblookup instead of + oblookup_considering_shorthand. + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-shorthand-escape): New test. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el + (#_f-test4---): New fixture function. + +2021-09-27 Jo達o T叩vora + + Consider shorthands in Elisp's elisp-completion-at-point + + Instead of referencing obarray directly, that function has to consider + a collection of completions which includes the shorthand versions of + some of the symbols. That collection changes from buffer to buffer, + depending on the choice of elisp-shorthands. + + To make this process efficient, and avoid needless recalculation of + the above collection, a new obarray-specific cache was invented. The + Elisp variable obarray-cache is immediately nullified if something + touches the obarray. + + * lisp/progmodes/elisp-mode.el : New helper. + (elisp-completion-at-point): Use new helpers. + (elisp--completion-local-symbols) + (elisp--fboundp-considering-shorthands) + (elisp--bboundp-considering-shorthands): New helpers + + * src/lread.c (intern_driver): Nullify Qobarray_cache. + (syms_of_lread): Add Qobarray_cache. + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-shorthand-completion-at-point): New test. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el + (f-test-complete-me): New fixture. + +2021-09-27 Jo達o T叩vora + + Rework Elisp shorthands to only allow only prefix substitution + + This simplification in requirements makes for more complex C code but + that code is much less wasteful in Lisp strings than the previous + implementation. + + * src/lread.c (read1): Rework. + (Fintern): Rework. + (Fintern_soft): Rework. + (Funintern): Rework. + (oblookup_considering_shorthand): Rewrite. + + * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer) + (elisp-shorthand-read-from-string): Use new format of + elisp-shorthands. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el (f-test) + (f-test2, f-test3): Use new form of elisp-shorthands. + +2021-09-27 Jo達o T叩vora + + Move most of the shorthand implementation to C code + + It passes the tests designed for the previous Elisp implementation. + + Likely, this isn't the final form of the implementation. For one, the + reader is much slower and allocates a Lisp string for every atom read, + regardless if its already interned or not. This has the potential to + be catastrophic in terms of GC. + + Also rename the main variable to elisp-shorthands, from the + repetitive shorthand-shorthands. + + For some reason, I had to put 'hack-elisp-shorthands' and + 'load-with-shorthands-and-code-conversion', the new source-file + loading functions, in lisp/international/mule.el. + + Otherwise, lisp/loadup.el wouldn't see them, for some reason that I + didn't investigate. This should probably be fixed. + + * lisp/shorthand.el: Remove. + + * test/lisp/shorthand-tests.el: Remove. + + * src/lread.c: + (read1, Fintern, Fintern_soft, Funintern): Use + oblookup_considering_shorthand. + (oblookup_considering_shorthand): New helper. + (syms_of_lread): Declare elisp-shorthands. + + * lisp/progmodes/elisp-mode.el (elisp-shorthands): + Put a safe-local-variable spec. + + * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer) + (elisp-shorthand-read-from-string) + (elisp-shorthand-byte-compile-a-file) + (elisp-shorthand-load-a-file): New tests. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el: New file + + * lisp/loadup.el (load-source-file-function): Set to + load-with-shorthands-and-code-conversion. + + * lisp/international/mule.el (hack-elisp-shorthands): Move here. + (load-with-shorthands-and-code-conversion): And here. + +2021-09-27 Jo達o T叩vora + + First Elisp version of lisp/shorthand.el, failing some tests + + * lisp/shorthand.el: New file + + * test/lisp/shorthand-tests.el: New file + +2021-09-26 Stefan Kangas + + Add 'doc-string' declaration to defcalcmodevar + + * lisp/calc/calc.el (defcalcmodevar): Add 'doc-string' declaration. + +2021-09-26 Stefan Kangas + + Move two incorrectly named test files + + * test/lisp/emacs-lisp/tabulated-list-test.el: Move from here... + * test/lisp/emacs-lisp/tabulated-list-tests.el: ...to here. + * test/lisp/url/url-handlers-test.el: Move from here... + * test/lisp/url/url-handlers-tests.el: ...to here. + +2021-09-26 Stefan Kangas + + checkdoc: Don't add "Commentary" header to test files + + * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): + Don't add "Commentary:" header if it looks like a test file. + +2021-09-26 Robert Pluim + + Add glyphless-char-display-control for Variation Selectors + + * lisp/international/characters.el (update-glyphless-char-display): + (glyphless-char-display-control): Add control knob for U+FE00 through + U+FE0F, defaulting to 'thin-space'. + * doc/lispref/display.texi (Glyphless Chars): Document it. + +2021-09-26 Stefan Kangas + + Explicitly make the rest of erc-compat.el obsolete + + * lisp/obsolete/erc-compat.el (erc-decode-coding-string) + (erc-encode-coding-string, erc-set-write-file-functions) + (erc-emacs-build-time, erc-replace-match-subexpression-in-string) + (erc-member-if, erc-delete-if, erc-remove-if-not, erc-subseq): + Explicitly declare obsolete. + (erc-define-minor-mode): Make into obsolete function alias for + 'define-minor-mode'. + (erc-user-emacs-directory): Make into obsolete variable alias for + 'user-emacs-directory'. + +2021-09-26 Stefan Kangas + + Add fast-path to ert--explain-string-equal + + * lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add fast-path to + avoid doing extra work. + Problem reported by Mattias Engdeg奪rd . + +2021-09-26 Michael Albinus + + * test/infra/gitlab-ci.yml (variables): Set DOCKER_BUILDKIT. + +2021-09-26 Stefan Kangas + + Rename "Homepage" field to "Website" in package description + + * lisp/emacs-lisp/package.el (describe-package-1): Rename + "Homepage" field to "Website". + + * test/lisp/emacs-lisp/package-tests.el + (package-test-describe-package) + (package-test-describe-installed-multi-file-package) + (package-test-describe-non-installed-package) + (package-test-describe-non-installed-multi-file-package): Update tests. + +2021-09-26 Stefan Kangas + + Prefer https for other domains than gnu.org in package URL + + * lisp/emacs-lisp/package.el (describe-package-1): Prefer https for + some other common domains in the package URL. + +2021-09-26 Stefan Kangas + + Add test for lm-website + + * lisp/emacs-lisp/lisp-mnt.el (lm-website): Use rx. + * test/lisp/emacs-lisp/lisp-mnt-tests.el + (lm--tests-lm-website): New test. + +2021-09-26 Mattias Engdeg奪rd + + Rx documentation touch-ups (bug#46910) + + * doc/lispref/searching.texi (Rx Constructs, Rx Functions): + Add clarifications and improve naming of arguments. Add examples + illustrating the differences between `rx` and `rx-to-string`. + +2021-09-26 Stefan Kangas + + Warn about overly long docstring in lambda + + * lisp/emacs-lisp/bytecomp.el + (byte-compile-docstring-length-warn): Warn about overly long + docstring in lambda. (Bug#44858) + + (byte-compile--wide-docstring-p): Improve comment. + * test/lisp/emacs-lisp/bytecomp-tests.el + ("warn-wide-docstring-defun.el"): Update to test for the above new + warning. + +2021-09-26 Stefan Kangas + + Avoid warning about long docstring lines in defcustom + + * lisp/custom.el (defcustom): Avoid warning about long docstring + lines. This was caused by the value of the defcustom being treated as + docstring due to it being wrapped in a lambda. + +2021-09-26 Stefan Kangas + + Fill some auto-generated docstring lines + + * lisp/cedet/mode-local.el (define-mode-local-override): + * lisp/cedet/semantic/decorate/mode.el (define-semantic-decoration-style): + * lisp/cedet/semantic/idle.el (define-semantic-idle-service): + * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): + * lisp/emacs-lisp/eieio.el (defclass): Fill auto-generated docstring + lines. + +2021-09-26 Stefan Kangas + + Avoid false positives in bytecomp docstring width warning + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + Ignore more function argument lists. + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-tests-byte-compile--wide-docstring-p): New test. + +2021-09-26 Stefan Kangas + + Improve filling of generated docstring lines + + * lisp/subr.el (internal--fill-string-single-line): Improve filling to + use full width. Fix bug where line was not wrapped correctly. + +2021-09-26 Stefan Kangas + + ert: Add basic explainer for string-equal + + * lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add basic + explainer for 'string-equal' based on 'ert--explain-equal'. + +2021-09-26 Stefan Kangas + + Unbreak ert tests + + * test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-print) + (tabulated-list-sort): Update tests for recent change. + +2021-09-26 Stefan Kangas + + Doc fix: mode name in local variables needs no suffix + + * doc/emacs/custom.texi (Specifying File Variables): Clarify that a + mode name does not need the "-mode" suffix. (Bug#50801) + +2021-09-26 Stefan Kangas + + checkdoc: Library footer must match package.el requirement + + * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): + Don't accept footer format unless it matches the requirement in + package.el. + +2021-09-26 Michael Albinus + + Adapt Tramp's make-process for macOS. + + * lisp/net/tramp-sh.el (tramp-check-remote-uname): New defun. + (tramp-sh-handle-file-ownership-preserved-p) + (tramp-sh-handle-make-process, tramp-find-executable) + (tramp-find-shell, tramp-get-remote-stat): Use it. (Bug#50748) + + * test/lisp/net/tramp-tests.el (tramp-check-remote-uname): Declare. + (tramp-test29-start-file-process, tramp-test30-make-process): + Instrument for macOS. + (tramp--test-hpux-p): Adapt function. + (tramp--test-macos-p): New defun. + +2021-09-26 Lars Ingebrigtsen + + Expand the ` doc string slightly + + * lisp/emacs-lisp/backquote.el (backquote): Note that ` is used + for other things in some macros (bug#25462). + +2021-09-26 Lars Ingebrigtsen + + Fix rendering non-ASCII text with links + + * lisp/gnus/mm-view.el (mm-text-html-renderer-alist): Add a new + form for links. + (mm-links-remove-leading-blank): Make obsolete. + (mm-inline-wash-with-file): + (mm-inline-render-with-file): Make obsolete -- they were awkwardly + defined and only used with links. + (mm-inline-render-with-links): New function. + +2021-09-26 Lars Ingebrigtsen + + Add new macro with-environment-variables + + * doc/lispref/os.texi (System Environment): Document it. + + * lisp/env.el (with-environment-variables): New macro. + +2021-09-25 Stefan Kangas + + Revert "; Fix capitalization of F1..F12 keys in docs" + + This reverts commit fe5b20410f68546821e6c87577d7f826167491dc. + + This change was not correct; these are Lisp symbols that should be in + lower-case. Problem reported by Mattias Engdeg奪rd . + +2021-09-25 Stefan Kangas + + Revert part of previous doc fix + + * lisp/emacs-lisp/derived.el (define-derived-mode): Revert part of + previous doc fix. This change made the text confusing. (Bug#17567) + +2021-09-25 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab-to): Use ignore-window-parameters. + + Suggested by Adam Porter in + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01758.html + +2021-09-25 Adam Porter + + * lisp/tab-line.el: Add modified-buffer face + + (tab-line-tab-modified): New face. + (tab-line-tab-face-modified): New function. + (tab-line-tab-face-functions): Use new function. + + * etc/NEWS: Update. + +2021-09-25 Mattias Engdeg奪rd + + Fix byte-compiler crash for legal dynamic-binding code + + This should really be taken care of by a syntax normalisation step in + the frontend, but there is no such step for non-lexbind code yet. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Tolerate bindingsa + without initialising expressions. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test cases. + +2021-09-25 Mattias Engdeg奪rd + + Constant-propagate variables bound outside loops + + Previously, variables bound outside `while` loops were not substituted + inside even in the absense of mutation. Add the necessary mutation + checking inside loops to allow propagation of values and aliased + variables. + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize--inhibit-outside-loop-constprop): New variable. + (byte-optimize-form-code-walker): First traverse each loop without + substitution to discover mutation, then without restrictions. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-loop): New. + (bytecomp-tests--test-cases): Add test cases. + +2021-09-25 Mattias Engdeg奪rd + + Use ambient lexical-binding value in ert-deftest body (bug#50738) + + * lisp/emacs-lisp/ert.el (ert-deftest): + Evaluate the body of `ert-deftest` with the `lexical-binding` value of + the source file (or more precisely the value in force when the + definition is evaluated), which is what everyone expected, instead of + always using dynamic binding which is what they got until now. + * test/lisp/emacs-lisp/ert-tests.el + (ert-test-deftest-lexical-binding-t): New test. + +2021-09-25 Mattias Engdeg奪rd + + Renege on anonymous &rest (bug#50268, bug#50720) + + Allowing &rest without a variable name following turned out not to be + very useful, and it never worked properly. Disallow it. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): + * src/eval.c (funcall_lambda): + Signal error for &rest without variable name. + * doc/lispref/functions.texi (Argument List): Adjust manual. + * etc/NEWS (file): Announce. + * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): + Extend test, also checking with and without lexical binding. + (eval-tests-accept-empty-optional-rest): Reduce to... + (eval-tests-accept-empty-optional): ...this, again checking + with and without lexical binding. + +2021-09-25 Stefan Kangas + + Clarify define-derived-mode docstring + + * lisp/emacs-lisp/derived.el (define-derived-mode): Doc fixes; + correctly mention that the mode name is used in the mode line, clarify + argument types, and how the mode hook is named. (Bug17567) + + (derived-mode-hook-name, derived-mode-map-name) + (derived-mode-syntax-table-name, derived-mode-abbrev-table-name): + Clarify that argument is a symbol. + +2021-09-25 Philip Kaludercic + + Add myself as rcirc maintainer + + * rcirc.el (rcirc-sentinel): Use process-status + + * rcirc.texi (Using rcirc with bouncers): Remove confusing sentence + + * rcirc.el (rcirc-reconnect): Use rcirc-reconnect-delay + + * rcirc.el (rcirc-reconnect): Set rcirc-joined + +2021-09-25 Stefan Kangas + + * lisp/isearch.el (isearch-forward-regexp): Doc fix. (Bug22483) + +2021-09-25 Stefan Kangas + + Minor clarification of define-minor-mode :keymap argument + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Minor doc fix; + clarify by saying that ":keymap" should be an "unquoted variable + name". (Bug#25505) + +2021-09-25 Stefan Kangas + + Buttonize functions in curved quotes in ERC + + * lisp/erc/erc-button.el (erc-button-alist): Buttonize Emacs + functions in curved quotes. (Bug#49964) + +2021-09-25 Stefan Kangas + + Extend and improve ERT manual section on running interactively + + * doc/misc/ert.texi (Running Tests Interactively): Format commands in + a table, improve indexing, and add several missing + commands. (Bug#41829) + +2021-09-25 Stephen Gildea + + Update mh-scan regexp to match mh-note-allowlisted + + lisp/mh-e/mh-scan.el (mh-scan-good-msg-regexp, mh-scan-cmd-note-width): + Update to match new value ("A") of mh-note-allowlisted. + +2021-09-25 Lars Ingebrigtsen + + Document the new paren-space indentation rule + + * doc/emacs/programs.texi (Lisp Indent): Mention the new + paren-space indentation rule. + +2021-09-25 Lars Ingebrigtsen + + Some NEWS tagging + +2021-09-25 Lars Ingebrigtsen + + 'xref-search-program'-related doc string fixes + + * lisp/progmodes/xref.el (xref-search-program): Mention what this + variable controls. + (xref-matches-in-files): Mention the variables that controls it. + +2021-09-25 Lars Ingebrigtsen + + Document the 'string' thingatpt target + + * doc/lispref/text.texi (Buffer Contents): Mention the 'string' + target. + +2021-09-25 Eli Zaretskii + + Fix cursor motion around some Emoji sequences + + * src/character.h: Add TAG_SPACE and CANCEL_TAG to known Unicode + characters values. + * src/composite.c (char_composable_p): Recognize TAG characters + relevant to Emoji as composable regardless of their General + Category. (Bug#39799) + +2021-09-25 Eli Zaretskii + + Use explicit man-page section in references + + * lisp/dired-aux.el (dired-do-chmod): Use explicit man-page + section in the doc string. This avoids inadvertently showing + the wrong man page, when several identically-named pages are + possible in different sections. E.g., there's also chmod(2). + +2021-09-25 Lars Ingebrigtsen + + save-some-buffers-root doc string change + + * lisp/files.el (save-some-buffers-root): Improve doc string. + +2021-09-25 Lars Ingebrigtsen + + Do some NEWS tagging + +2021-09-25 Lars Ingebrigtsen + + Document redisplay-skip-fontification-on-input + + * doc/emacs/display.texi (Scrolling): Mention + redisplay-skip-fontification-on-input. + +2021-09-25 Lars Ingebrigtsen + + Add new user option ispell-help-timeout + + * lisp/textmodes/ispell.el (ispell-help-timeout): New user option. + (ispell-help): Use it. + +2021-09-25 Stefan Kangas + + Set :type of suggest-key-bindings to natnum + + * lisp/simple.el (suggest-key-bindings): Set :type to + natnum. (Bug#15809) + +2021-09-25 Stefan Kangas + + New :type natnum for defcustom + + * lisp/wid-edit.el (natnum): New widget type. (Bug#15809) + * doc/lispref/customize.texi (Simple Types): Document it. + +2021-09-25 Stefan Kangas + + * lisp/dired-aux.el (dired-do-chmod): Simplify docstring. + +2021-09-25 Stefan Kangas + + Add support for man page hyperlinks in doc strings + + * lisp/help-mode.el (help-man): New button type. + (help-xref-man-regexp): New const. + (help-make-xrefs): Use them to allow making man page buttons. + * doc/lispref/tips.texi (Documentation Tips): Document the new + hyperlink type. (Bug#39215) + +2021-09-25 Lars Ingebrigtsen + + Fix some instances in the Emacs manual with misleading prefix syntax + + * doc/emacs/msdos.texi (Windows Keyboard): + * doc/emacs/misc.texi (Editing Binary Files): + * doc/emacs/macos.texi (Mac / GNUstep Events): + * doc/emacs/kmacro.texi (Basic Keyboard Macro): + * doc/emacs/glossary.texi (Glossary): + * doc/emacs/fixit.texi (Spelling): Fix some instances where the + syntax seems to imply we're talking about a prefix key (bug#50792). + +2021-09-25 Manuel Giraud + + Make 'C-u C-x v v' handle unregistered files. + + * lisp/vc/vc.el (vc-next-action): Make 'C-u C-x v v' handle + unregistered files (bug#50602). + +2021-09-25 Daniel Mart鱈n + + Mention the 'r' key in ask-user-about-supersession-help + + * lisp/userlock.el (ask-user-about-supersession-help): Replace "n, and + then M-x revert-buffer" in the help message with "r", which does the + same thing. (Bug#50780) + +2021-09-25 akater + + Indent bodies of local function definitions properly in elisp-mode + + * lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Check for + local defforms (`cl-flet' and `cl-labels'). + (lisp--local-defform-body): New auxiliary function (bug#9622). + +2021-09-25 Stefan Kangas + + Clarify where to find CONTRIBUTE + + * doc/emacs/trouble.texi (Contributing): Say that CONTRIBUTE is + found in the development version of Emacs. (Bug#37414) + +2021-09-25 Lars Ingebrigtsen + + Use gzip to uncompess .xz files on MacOS + + * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Use + gzip to uncompess .xz files on MacOS (bug#29235). + +2021-09-25 Lars Ingebrigtsen + + Use `temporary-file-directory' in `with-existing-directory' + + * lisp/subr.el (with-existing-directory): Use + `temporary-file-directory' over TMPDIR. + +2021-09-25 Stefan Kangas + + Fix alignment on font size change in tabulated-list-mode + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col): Fix + bug where the columns didn't align correctly when using + 'text-scale-mode' to decrease the font size. (Bug#48639) + +2021-09-25 Stefan Kangas + + Doc fix; cl-random is only pseudo-random + + * lisp/emacs-lisp/cl-extra.el (cl-random): Doc fix; say it's only + pseudo-random. + +2021-09-24 Stefan Kangas + + checkdoc: Don't ask to disambiguate mode names + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Don't ask to disambiguate mode names. (Bug#4110) + +2021-09-24 Stefan Kangas + + Fix recently introduced bug in checkdoc + + * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Fix + recently introduced bug where some abbreviations weren't recognized. + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-tests-in-abbrevation-p/basic-case): Extend test. + +2021-09-24 Stefan Kangas + + Revert change to use seq-random-elt in Tramp test + + * test/lisp/net/tramp-tests.el (tramp-test44-asynchronous-requests): + Revert change to use seq-random-elt, as Tramp needs to be compatible + with Emacs 25, and the function was only added in 26.1. + +2021-09-24 Stefan Kangas + + checkdoc: Improve wide line warning to decrease false positives + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Respect 'byte-compile-docstring-max-column' if it is set. Allow the + first line to be three characters longer than the others to account + for indentation and the opening string character. + +2021-09-24 Stefan Kangas + + Use command substitution instead of raw keys in more places + + * admin/authors.el (authors): + * lisp/abbrev.el (abbrev-suggest-show-report): + * lisp/calc/calc.el (calc-display-trail, calc): + * lisp/completion.el (completion-locate-db-error): + * lisp/dired-x.el (dired-extra-startup): + * lisp/emacs-lisp/package.el (package-install-selected-packages): + * lisp/emulation/viper.el (viper-mode): + * lisp/facemenu.el (list-colors-display): + * lisp/mail/emacsbug.el (report-emacs-bug-hook): + * lisp/mail/sendmail.el (mail): + * lisp/menu-bar.el (menu-bar-mode): + * lisp/org/org.el (org-revert-all-org-buffers): + * lisp/progmodes/antlr-mode.el (antlr-help-rules-intro) + (antlr-insert-makefile-rules): + * lisp/progmodes/gdb-mi.el (gdb--check-interpreter): + * lisp/progmodes/xscheme.el (xscheme-process-sentinel): + * lisp/ps-print.el (ps-font-info-database): + * lisp/recentf.el (recentf-edit-list, recentf-open-files): + * lisp/vc/ediff-util.el (ediff-suspend): + * lisp/vc/pcvs.el (cvs-mode): + * lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Use command + substitution. + +2021-09-24 Stefan Kangas + + Prefer seq-random-elt to nth+random + + * lisp/emacs-lisp/seq.el (seq-random-elt): Autoload. + * lisp/avoid.el (mouse-avoidance-random-shape): + * lisp/epa-ks.el (epa-ks--query-url): + * lisp/erc/erc-networks.el (erc-server-select): + * lisp/gnus/gnus-fun.el (gnus--random-face-with-type) + (gnus-fun-ppm-change-string): + * lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type): + * lisp/obsolete/landmark.el (landmark-random-move): + * lisp/play/mpuz.el (mpuz-build-random-perm): + * lisp/play/zone.el (zone-pgm-stress): + * lisp/vc/add-log.el (add-change-log-entry): + * test/lisp/net/tramp-tests.el + (tramp-test44-asynchronous-requests): Prefer seq-random-elt to + nth+random. + +2021-09-24 Michael Albinus + + Fix auto-revert-test05-global-notify + + * test/lisp/autorevert-tests.el (auto-revert-test05-global-notify): + Adapt test for killed buffer. + +2021-09-24 Robert Pluim + + Generate skin tone compositions from emoji-sequences.txt + + Read skin tone modifier sequences from emoji-sequences.txt and add + them to the per-character composition rules derived from + emoji-zwj-sequences.txt, rather than adding them as lookback rules for + the skin tone modifiers. This avoids an issue with the application of + such lookback rules. See Bug#39799, + specifically + + for more details. + + * admin/unidata/Makefile.in (zwj): Add emoji-sequences.txt as a dependency. + * admin/unidata/emoji-zwj.awk: Match RGI_Emoji_ZWJ_Sequence and + RGI_Emoji_Modifier_Sequence. Remove manual addition of skin tone + composition rules with lookback. + +2021-09-24 Robert Pluim + + Add a few more missing emoji overrides + + * admin/unidata/blocks.awk: Add some more emoji overrides. + +2021-09-24 Robert Pluim + + Move compose-gstring-for-variation-glyph + + It logically belongs in composite.el, not japanese.el + + * lisp/language/japanese.el (compose-gstring-for-variation-glyph): + Remove from here. + * lisp/composite.el (compose-gstring-for-variation-glyph): And add here. + +2021-09-24 Robert Pluim + + Update provenance comment in charscript.el + + * admin/unidata/blocks.awk: Update comment about sources used to + generate charscript.el. + +2021-09-24 Juri Linkov + + * lisp/gnus/mm-uu.el (mm-uu-type-alist): Add markdown-diff/-emacs-sources + + (Bug#50763) + +2021-09-24 Juri Linkov + + New thing-at-point target 'string' used in context-menu-region + + * lisp/mouse.el (context-menu-region): Use separate "List" and "String". + + * lisp/thingatpt.el (string): New target 'string'. + (thing-at-point-bounds-of-string-at-point): New function. + (thing-at-point-bounds-of-list-at-point): Revert previous commit + by removing optional args 'escape-strings' and 'no-syntax-crossing'. + (list-or-string): Remove recently added target 'list-or-string'. + (thing-at-point-bounds-of-list-or-string-at-point): Remove function. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01737.html + +2021-09-24 Basil L. Contovounesios + + Pacify recent warnings in ansi-color-tests.el + + * test/lisp/ansi-color-tests.el: Remove invalid package keyword + 'ansi', and unused dependency on cl-lib. + (yellow, bright-yellow): Replace prefix-less dynvars with + corresponding local lexvars. + (test-strings): Rename prefix-less dynvar... + (ansi-color-tests--strings): ...to this. All users updated. + (ansi-color-apply-on-region-test) + (ansi-color-apply-on-region-bold-is-bright-test): Simplify. + (ansi-color-apply-on-region-preserving-test): Reindent. + +2021-09-23 Lars Ingebrigtsen + + Add `info-lookup-symbol' to the menu + + * lisp/menu-bar.el (menu-bar-search-documentation-menu): Add entry + for `info-lookup-symbol' (bug#50759). + +2021-09-23 Lars Ingebrigtsen + + Add s Symbol entry in the glossary + + * doc/emacs/glossary.texi (Glossary): Add an entry for Symbol + (bug#50760). + +2021-09-23 Konstantin Kharlamov + + Do not count git markers as "deleted lines" + + * lisp/vc/diff-mode.el (diff-fixup-modifs): Skip "end of patch" + markers that `git-format-patch` leaves around (bug#50761). + +2021-09-23 Miha Rihtar邸i + + Fix problems with 'C-c C-n' in sh-script-mode + + * lisp/progmodes/sh-script.el (sh-shell-process): If a *shell* buffer + doesn't exist, 'C-c C-n' creates one and displays it. This patch + prevents it from being displayed in the selected window. + Additionally, it ensures that the local `sh-shell-process' variable is + set in the correct buffer (bug#50765). + +2021-09-23 Stefan Kangas + + checkdoc: Add abbreviation and simplify + + * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add + abbreviation "a.k.a.". Simplify. + +2021-09-23 Lars Ingebrigtsen + + Fix typo in previous man.el change + + * lisp/man.el (Man-ansi-color-map): Fix typo in last checkin. + +2021-09-23 Jim Porter + + Add support for "bright" ANSI colors in term-mode + + * list/term.el (ansi-term-color-vector): Add new faces. + (term-color-black, term-color-red, term-color-green, term-color-yellow) + (term-color-blue, term-color-magenta, term-color-cyan, term-color-white): + Inherit from 'ansi-color-COLOR'. + (term-color-bright-black, term-color-bright-red, term-color-bright-green) + (term-color-bright-yellow, term-color-bright-blue) + (term-color-bright-magenta, term-color-bright-cyan) + (term-color-bright-white): New faces. + (term--maybe-brighten-color): New function. + (term-handle-colors-array): Handle bright colors. + * test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright): + New functions. + +2021-09-23 Jim Porter + + Add support for "bright" ANSI colors in ansi-color + + * lisp/ansi-color.el (ansi-color-bold, ansi-color-faint, ansi-color-italic) + (ansi-color-underline, ansi-color-slow-blink, ansi-color-fast-blink) + (ansi-color-inverse, ansi-color-red, ansi-color-green, ansi-color-yellow) + (ansi-color-blue, ansi-color-magenta, ansi-color-cyan, ansi-color-white) + (ansi-color-bright-red, ansi-color-bright-green, ansi-color-bright-yellow) + (ansi-color-bright-blue, ansi-color-bright-magenta, ansi-color-bright-cyan) + (ansi-color-bright-white): New faces. + (ansi-color-basic-faces-vector, ansi-color-normal-colors-vector) + (ansi-color-bright-colors-vector): New constants. + (ansi-color-faces-vector, ansi-color-names-vector): Make obsolete. + (ansi-color-bold-is-bright): New defcustom. + (ansi-color--find-face): Sort ANSI codes and check + 'ansi-color-bold-is-bright'. + (ansi-color-apply-sequence): Support bright ANSI colors. + (ansi-color-make-color-map, ansi-color-map, ansi-color-map-update): + Make obsolete. + (ansi-color-get-face-1): Add BRIGHT parameter. + * lisp/man.el (Man-ansi-color-basic-faces-vector): New variable. + (Man-ansi-color-map): Make obsolete. + (Man-fontify-manpage): Use 'Man-ansi-color-basic-faces-vector' here. + * test/lisp/ansi-color-tests.el + (ansi-color-apply-on-region-bold-is-bright-test): New function. + +2021-09-23 Stefan Kangas + + Avoid jumping too far in checkdoc-in-abbreviation-p + + * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Use + 'forward-ward' instead of 'forward-sexp' to avoid jumping too far in + some situations. (Bug#50731) + + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-tests--abbrev-test): New helper function. + (checkdoc-tests-in-abbrevation-p/basic-case): Rename from + 'checkdoc-tests-in-abbrevation-p'. + (checkdoc-tests-in-abbrevation-p/with-parens) + (checkdoc-tests-in-abbrevation-p/with-escaped-parens): Use above new + helper function. + (checkdoc-tests-in-abbrevation-p/single-char) + (checkdoc-tests-in-abbrevation-p/with-em-dash) + (checkdoc-tests-in-abbrevation-p/incorrect-abbreviation): New tests. + +2021-09-23 Philip Kaludercic + + Handle updates flags when setting flags + + * nnmaildir.el (nnmaildir--article-set-flags): Handle updated flags + more gracefully + +2021-09-23 Dmitry Gutov + + A bit less overhead when converting hits + + * lisp/progmodes/xref.el (xref--collect-matches): + Move 'remote-id' and 'syntax-needed' definitions to the caller + function. Bind 'inhibit-modification-hooks' to t (bug#50733). + +2021-09-23 Dmitry Gutov + + More per-match overhead reduction + + * lisp/progmodes/xref.el (xref--show-common-initialize) + (xref-revert-buffer): Inhibit modification hooks (bug#50733). + (xref--insert-xrefs): Cosmetics (no measurable difference here). + +2021-09-23 Dmitry Gutov + + xref-matches-in-files: Decrease per match and per group overhead + + * lisp/progmodes/xref.el (xref-search-program-alist): + Add '--null' argument for slightly faster parsing and probably + better behavior with weirder file names. + (xref--alistify): Don't accept TEST argument, use 'assoc' instead + of 'cl-assoc', use a tash table during sorting (bug#50733). + +2021-09-23 Philip Kaludercic + + Fix string-distance for two empty strings + + * fns.c (Fstring_distance): Avoid using uninitialized memory. + * test/src/fns-tests.el (test-string-distance): Add test cases. + +2021-09-23 Juri Linkov + + * lisp/mouse.el (context-menu-region): Use save-excursion for syntax-ppss. + +2021-09-23 Juri Linkov + + New thing-at-point target 'list-or-string' used in context-menu-region + + * lisp/mouse.el (context-menu-region): Rearrange the order to + All>Defun>List>Line>Symbol. Show title either "List" or "String" + depending on syntax-ppss, then use thing 'list-or-string' (bug#9054). + + * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Add optional + args 'escape-strings' and 'no-syntax-crossing' like in 'up-list'. + (list-or-string): New target 'list-or-string'. + (thing-at-point-bounds-of-list-or-string-at-point): New function. + +2021-09-23 Juri Linkov + + * lisp/outline.el (outline-minor-mode-cycle-filter): New defcustom (bug#50679) + + (outline-minor-mode-cycle--bind): New helper function. + (outline-minor-mode-cycle-map): Rename from outline-mode-cycle-map. + (outline-mode-map): Revert part of 6458e16f33 to disassociate + keymaps outline-mode-map and outline-minor-mode-cycle-map. + (outline-font-lock-keywords, outline-minor-mode-highlight-buffer): + Use outline-minor-mode-cycle-map instead of outline-mode-cycle-map. + + * lisp/help.el (describe-bindings): Rename outline-mode-cycle-map + to outline-minor-mode-cycle-map. + +2021-09-23 Michael Albinus + + * test/infra/Dockerfile.emba: Do not run 'make -j4 bootstrap'. + +2021-09-23 Michael Albinus + + Fix Tramp's make-process on macOS + + * lisp/net/tramp-sh.el (tramp-get-remote-mknod-or-mkfifo): New defun. + (tramp-sh-handle-make-process): Use it. (Bug#50748) + +2021-09-23 Michael Albinus + + * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Remove trace buffer. + +2021-09-23 Philip Kaludercic + + Add aggregate project discovery and maintenance functions + + * project.el (project-remember-project): Add optional no-write argument + (project-remember-projects-under): Add command + (project-forget-zombie-projects): Add command + (project-forget-projects-under): Add command + * etc/NEWS: Document new commands + +2021-09-23 Dmitry Gutov + + Fix vc-annotate-show-log-revision-at-line + + * lisp/vc/vc-annotate.el (vc-annotate-show-log-revision-at-line): + Stop from being affected by 'vc-git-print-log-follow'. + + * lisp/vc/vc-git.el (vc-git-print-log-follow): + Mention caveats in a comment. + +2021-09-23 Wilson Snyder + + verilog-mode.el: Backout part of recent change showing wrong comment + +2021-09-23 Stefan Kangas + + Clarify which-function tooltip text + + * lisp/progmodes/which-func.el (which-func-format): Clarify tooltip + text. + +2021-09-23 Robert Pluim + + Improve NEWS entry for 'ffap-file-name-with-spaces' + + * etc/NEWS: Mention default value of 'ffap-file-name-with-spaces'. + +2021-09-23 Martin Rudalics + + ;* lisp/whitespace.el (whitespace-display-window): Add doc-string. + +2021-09-23 Lars Ingebrigtsen + + Clarify align-regexp doc string + + * lisp/align.el (align-regexp): Clarify what REGEXP has to + contain, and which bits are added automatically interactively + (bug#33541). + +2021-09-23 Stefan Kangas + + Add section to refcard explaining our keybinding notation + + * etc/refcards/refcard.tex (Starting Emacs): Delete section. + (Key Binding Notation): New section. (Bug#41403) + +2021-09-23 Stefan Kangas + + Use lexical-binding in emoji-zwj.el + + * admin/unidata/emoji-zwj.awk: Add lexical-binding cookie to + generated fie emoji-zwj.el. + +2021-09-23 Lars Ingebrigtsen + + Expand the `match-string' doc string + + * lisp/subr.el (match-string): Mention some caveats (bug#34214). + +2021-09-22 Lars Ingebrigtsen + + Improve error messaging from byte-compiling dotted lists + + * lisp/emacs-lisp/cconv.el (cconv-analyze-form): Improve error + messaging when byte-compiling dotted lists (bug#35186). + + Test case -- byte-compile the following file: + + ;;; -*- lexical-binding: t -*- + + (defun foo () + (+ 1 2) + (a . b)) + +2021-09-22 Lars Ingebrigtsen + + Move 'kdb-macro-redisplay' key binding + + * doc/emacs/kmacro.texi (Basic Keyboard Macro): Adjust. + + * lisp/kmacro.el (kmacro-keymap): Move 'kdb-macro-redisplay' to + `C-x C-k d' since upper-case letters are reserved for users (bug#50727). + +2021-09-22 Dmitry Gutov + + Put './' in the project directory completions + + * lisp/progmodes/project.el (project--read-file-cpd-relative): + Put './' in the completions set when cpd was in the original + (bug#50732). + +2021-09-22 Juri Linkov + + Many improvements for Context Menus (bug#9054) + + * lisp/menu-bar.el (menu-bar-showhide-menu): Add "Context Menus". + + * lisp/mouse.el (context-menu-undo): Add "in Region" to the titles + when the region is active. + (context-menu-region): Use 'mouse-yank-from-menu' in menu items + created from 'yank-menu' for submenu "Paste from Kill Menu". + (context-menu-region): Add submenu "Select" with things to mark. + (mark-thing-at-mouse, mouse-yank-from-menu): New functions. + + * lisp/thingatpt.el (bounds-of-thing-at-mouse): New function. + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): + Use full symbol/identifier names in :help strings. + + Suggested by Martin Rudalics + +2021-09-22 Eli Zaretskii + + Fix build with native compilation but without zlib + + * src/comp.c (comp_hash_source_file): Condition code that requires + zlib with HAVE_ZLIB. + + * etc/NEWS: Explain that '--without-compress-install' is necessary + when configuring with native compilation but without zlib. + +2021-09-22 Wilson Snyder + + verilog-mode.el: Enable lexical binding, and merge from upstream. + + * lisp/progmodes/verilog-mode.el: Enable lexical binding. Templates that + used the never-documented `inst' or `submod' variables may need to change + to use vl-... variables. + (verilog-at-constraint-p): Fix indentation on double curly brackets + (#1719) (#1744). Reported by Nikolay Puzanov. + +2021-09-22 Mattias Engdeg奪rd + + Don't rely on lexical-binding being nil in tests + + * test/lisp/button-tests.el (button--help-echo-form): + * test/lisp/files-tests.el (files-tests-permanent-local-variables): + Remove assumption that `with-temp-buffer` creates a buffer + where `lexical-binding` is nil. + +2021-09-22 Eli Zaretskii + + Doc string fixes in comp.e + + * src/comp.c (Fcomp_el_to_eln_filename) + (Fcomp_el_to_eln_rel_filename): Doc fix. + +2021-09-22 Eli Zaretskii + + Update comments warning about GC-resistant C programming + + * src/eval.c: Remove an outdated comment about protection from GC. + * src/buffer.h: + * src/lisp.h: Add warnings about using 'char *' pointers to text + of Lisp strings and buffer text in code that could GC. Reported by + Po Lu + +2021-09-22 Daniel Fleischer + + Native compilation on macOS: libgccjit not found + + * etc/PROBLEMS: Describe the problem with libgccjit setup on + macOS. (Bug#50411) + +2021-09-22 Lars Ingebrigtsen + + Speed up `replace-match' slightly + + * src/search.c (Freplace_match): Speed up non-literal (but + actually literal) common case. + + This makes + + (benchmark-run 1000000 + (replace-regexp-in-string + "a+" "foo" + "ogihdipofdhookfdohkfdpokhpokhfdpokfdhpokfdhkdfkhgoadfphokfkhpofdkhkdpokf")) + + about 10% faster. + +2021-09-22 Stephen Gildea + + Migrate MH-E functional tests from SourceForge + + * test/lisp/mh-e/mh-limit-tests.el: + * test/lisp/mh-e/mh-utils-tests.el: + * test/lisp/mh-e/mh-xface-tests.el: + Import the functional tests from src/mh-unit.el. + + mh-unit.el is from the old SourceForge mh-e repository, last changed + in 2017. To this are applied unmerged patches Mike Kupfer wrote in + 2018 ("Refactor mh-unit into functional and release tests" and + "Fix the functional tests"). + + All tests have been converted to run under Emacs's ERT framework. + + Some tests for mh-utils use MH programs to examine mail folders. + These tests require an MH variant to be installed on the system; for + these, added both a mock harness that pretends the needed files and MH + programs do exist, and a wrapper that creates the necessary mail files. + + New function 'mh-test-utils-setup-with-variant' bears some resemblance + to 'mh-test-folders-set-up' from the original tests. New function + 'mh-test-utils-setup-with-mocks' is new functionality for these tests. + +2021-09-22 Lars Ingebrigtsen + + Change how thread-first/thread-last indent the first argument + + * lisp/doc-view.el (doc-view--current-cache-dir): Reindent. + + * lisp/emacs-lisp/subr-x.el (thread-first): + (thread-last): Change indentation to match examples. + (internal--build-binding): Reindent. + + * test/lisp/emacs-lisp/subr-x-tests.el + (subr-x-test-thread-first-function-names-are-threaded): + (subr-x-test-thread-first-examples): + (subr-x-test-thread-last-function-names-are-threaded): + (subr-x-test-thread-last-examples): Reindent. + +2021-09-21 Lars Ingebrigtsen + + Make global-auto-revert-non-file-buffers work better + + * lisp/autorevert.el (global-auto-revert-mode): Always switch on + the non-file tracking. + (auto-revert--global-possibly-adopt-current-buffer): New function + to respect dynamically changing `global-auto-revert-non-file-buffers'. + +2021-09-21 Stefan Monnier + + (etc-authors-mode--hide-local-variables): Obfuscate more efficiently + +2021-09-21 Stefan Kangas + + Fix warning in etc-authors-mode.el + + * lisp/textmodes/etc-authors-mode.el + (etc-authors-mode--hide-local-variables): Avoid warning. + +2021-09-21 Lars Ingebrigtsen + + Don't quote nil and t in doc strings and comments + + * test/src/minibuf-tests.el (test-try-completion-ignore-case): + * test/lisp/url/url-auth-tests.el + (url-auth-test-digest-auth-retrieve-cache): + * test/lisp/subr-tests.el (subr-tests-add-hook-depth): + * test/lisp/so-long-tests/so-long-tests.el + (so-long-tests-invisible-buffer-function): + * test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-sort): + * src/xfaces.c: + * src/process.c (Finterrupt_process): + (syms_of_process): + * src/minibuf.c (Fread_from_minibuffer): + (Fcompleting_read): + (syms_of_minibuf): + * src/dispnew.c (syms_of_display): + * src/data.c: + * lisp/so-long.el (so-long--hack-local-variables): + * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): + (elisp--xref-find-definitions): + * lisp/org/ox-html.el (org-html-htmlize-output-type): + * lisp/org/org-agenda.el (org-agenda-do-in-region): + * lisp/net/tramp.el: + * lisp/minibuffer.el (set-minibuffer-message): + * lisp/isearch.el (isearch-wrap-pause): + (isearch-repeat-on-direction-change): + * lisp/emacs-lisp/timer.el (timer): + * lisp/emacs-lisp/package.el (package-read-archive-contents): + * lisp/emacs-lisp/faceup.el (faceup-next-property-change): + * lisp/emacs-lisp/comp.el (comp-func): + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p): + * lisp/emacs-lisp/cl-macs.el (cl-do): + (cl-do*): + (cl--self-tco): + * lisp/emacs-lisp/bytecomp.el (byte-compile-unresolved-functions): + (byte-compile-cond-jump-table): Don't quote t and nil. + +2021-09-21 Lars Ingebrigtsen + + Document isearch-wrap-pause + + * doc/emacs/search.texi (Repeat Isearch): Document + `isearch-wrap-pause'. + +2021-09-21 Stefan Kangas + + New major mode with font-locking for etc/AUTHORS + + * lisp/textmodes/etc-authors-mode.el: New file. (Bug#50674) + * etc/AUTHORS (mode): Add "mode: etc-authors" to local variables. + * admin/authors.el (authors): Add "mode: etc-authors" to local + variables of the generated AUTHORS file. + +2021-09-21 Eli Zaretskii + + Improve recently added documentation + + * doc/lispref/lists.texi (Building Lists): + * lisp/subr.el (ensure-list): Avoid passive tense in documenting + 'ensure-list'. + +2021-09-21 Lars Ingebrigtsen + + Add new function `ensure-list' + + * doc/lispref/lists.texi (Building Lists): Document it. + + * lisp/subr.el (ensure-list): New function. + + * lisp/emacs-lisp/shortdoc.el (list): Mention it. + +2021-09-21 Michael Albinus + + Fix tramp-compat-temporary-file-directory implementation + + * lisp/net/tramp-archive.el + (tramp-archive-handle-temporary-file-directory): + Use `tramp-compat-temporary-file-directory-function'. + + * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory): + Make it a defconst. + + * lisp/net/tramp.el (tramp-get-debug-buffer, tramp-get-debug-file-name) + (tramp-debug-message, tramp-file-name-handler, tramp-parse-file) + (tramp-parse-shostkeys-sknownhosts) + (tramp-handle-expand-file-name, tramp-handle-make-process) + (tramp-local-host-p, tramp-call-process) + (tramp-call-process-region, tramp-process-lines) + (tramp-read-passwd): + * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection): + * lisp/net/tramp-compat.el (tramp-compat-make-temp-name) + (tramp-compat-make-temp-file); + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-for-operation) + (tramp-crypt-maybe-open-connection, tramp-crypt-send-command) + (tramp-crypt-do-encrypt-or-decrypt-file-name): + * lisp/net/tramp-fuse.el (tramp-fuse-mount-point, tramp-fuse-mounted-p) + (tramp-fuse-unmount): + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-sh-handle-expand-file-name) + (tramp-sh-handle-file-local-copy, ) + (tramp-sh-handle-write-region, tramp-maybe-open-connection): + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it. + +2021-09-21 Stefan Kangas + + Minor clean-up and fixes in checkdoc + + * lisp/emacs-lisp/checkdoc.el: Minor doc fixes. Remove unnecessary + space at the end of 'y-or-n-p' prompts. Move obsolete definitions to + the end of the file. + (checkdoc-symbol-words, checkdoc-common-verbs-wrong-voice): Add + some more common words. + +2021-09-21 Stefan Kangas + + checkdoc: New defvars to disable some warnings + + * lisp/emacs-lisp/checkdoc.el (checkdoc--argument-missing-flag) + (checkdoc--disambiguate-symbol-flag) + (checkdoc--interactive-docstring-flag): New defvars to disable some + warnings. These are intended for use with Emacs itself rather than + with third-party libraries. + (checkdoc-this-string-valid, checkdoc-this-string-valid-engine): + Respect above new variables. + +2021-09-21 Stefan Kangas + + Add new command 'checkdoc-dired' + + * lisp/emacs-lisp/checkdoc.el (checkdoc-dired): New command. + (checkdoc--dired-skip-lines-re): New constant. + +2021-09-21 Lars Ingebrigtsen + + More NEWS tagging + + Do some NEWS tagging + +2021-09-21 Lars Ingebrigtsen + + Document `window-bump-use-time' + + * doc/lispref/windows.texi (Cyclic Window Ordering): Mention + window-bump-use-time. + +2021-09-21 Juri Linkov + + * lisp/tab-bar.el: Preserve all existing tab parameters when switching tabs. + + * lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab-make): + Copy other possible tab parameters. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01544.html + +2021-09-21 Lars Ingebrigtsen + + Document completions-detailed + + * doc/emacs/help.texi (Name Help): Document completions-detailed. + * lisp/minibuffer.el (completions-detailed): Give an example in + the doc string. + +2021-09-21 Michalis V + + Make dired-do-compress-to work in inserted subdirectories + + * lisp/dired-aux.el (dired-do-compress-to): Make this work in file + in inserted subdirectories (bug#46913). + +2021-09-21 Lars Ingebrigtsen + + Revert "Make dired-compress-file query for a directory to uncompress to" + + This reverts commit 7e395a59b025c7f4be49294ad806addf5b1a25c9. + + The behaviour change isn't good for the majority of tar files. + +2021-09-21 Lars Ingebrigtsen + + Revert "Make recent dired tests check for external executables" + + This reverts commit 98a17f30b8314e40a1edefac3d542d3e105c7bd6. + + Reverting parent commit. + +2021-09-21 Lars Ingebrigtsen + + Restore some of the previous behaviour in whitespace-display-window + + * lisp/whitespace.el (whitespace-display-window): Emulate previous + behaviour (bug#50716). Code from martin rudalics . + +2021-09-21 Lars Ingebrigtsen + + Don't use `format' on strings without % format directives + + * lisp/vc/ediff-init.el (ediff-BAD-INFO): + * lisp/url/url-ldap.el (url-ldap): + * lisp/url/url-http.el (url-http--user-agent-default-string): + * lisp/textmodes/reftex.el (reftex-access-parse-file): + * lisp/textmodes/reftex-index.el (reftex-index-phrases-info): + * lisp/textmodes/ispell.el (ispell-create-debug-buffer): + * lisp/term.el (serial-read-speed): + * lisp/progmodes/verilog-mode.el (verilog-scan-debug): + * lisp/progmodes/idlwave.el (idlwave-find-module): + * lisp/progmodes/compile.el (compilation-revert-buffer): + * lisp/org/org-agenda.el (org-search-view): + * lisp/net/telnet.el (telnet-revert-buffer): + * lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type): + * lisp/net/newst-backend.el (newsticker--cache-read): + * lisp/mh-e/mh-seq.el (mh-msg-is-in-seq): + * lisp/mail/smtpmail.el (smtpmail-via-smtp): + * lisp/mail/emacsbug.el (report-emacs-bug): + * lisp/jsonrpc.el (jsonrpc-error): + * lisp/help-fns.el (describe-variable): + * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): + * lisp/gnus/gnus.el (gnus-group-startup-message): + (gnus-group-startup-message): + * lisp/gnus/gnus-group.el (gnus-group-restart): + * lisp/frame.el (make-frame-on-display): + * lisp/emulation/viper-ex.el (ex-help): + * lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary): + (icalendar--add-diary-entry): + * lisp/calendar/cal-tex.el (cal-tex-end-document): + * lisp/calc/calcalg3.el (math-ninteg-romberg): Don't use `format' + on strings that have no % format directives in them. + +2021-09-21 Lars Ingebrigtsen + + Fix usage of `format' in mm-uu-pgp-encrypted-extract + + * lisp/gnus/mm-uu.el (mm-uu-pgp-encrypted-extract): Use + `substring' instead of `format' to ensure a fresh string. + +2021-09-21 Lars Ingebrigtsen + + Fix usage of `format' in `article-verify-x-pgp-sig' + + * lisp/gnus/gnus-art.el (article-verify-x-pgp-sig): Use + `substring' instead of `format' to ensure a fresh string. + +2021-09-21 Lars Ingebrigtsen + + Fix PGP verification buttons (which would have cached results) + + * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract): `format' was used + here to guarantee a new, fresh string (since it's destructively + modified), but that's apparently not the case any more. Use + `substring' instead, which is documented to do this. + +2021-09-21 Lars Ingebrigtsen + + Don't inhibit redisplay in the mml* functions + + * lisp/gnus/mml-smime.el (inhibit-redisplay): Removed. + (mml-smime-epg-encrypt): + (mml-smime-epg-verify): Don't inhibit. + + * lisp/gnus/mml1991.el (mml1991-epg-sign): Ditto. + + * lisp/gnus/mml2015.el (inhibit-redisplay): Removed + (mml2015-epg-decrypt): + (mml2015-epg-clear-decrypt): + (mml2015-epg-verify): + (mml2015-epg-clear-verify): + (mml2015-epg-sign): + (mml2015-epg-encrypt): Don't bind `inhibit-redisplay', because it + makes debugging very odd, and doesn't seem to help much with anything. + +2021-09-21 Stefan Monnier + + * python.el (python-syntax-stringify): Extend comment about last change + +2021-09-21 Robert Pluim + + Fix emoji-zwj.awk dolist + + * admin/unidata/emoji-zwj.awk: Fix typo, the dolist should end + after the first set-char-table-range. + +2021-09-21 Glenn Morris + + Make recent dired tests check for external executables + + * test/lisp/dired-aux-tests.el (dired-test-bug47058-tar) + (dired-test-bug47058-zip): Add skip conditions. + +2021-09-21 Dmitry Gutov + + Rename project-remove-known-project to project-forget-project + + * doc/emacs/maintaining.texi (Managing Projects): Ditto. + + * etc/NEWS: Update accordingly. + + * lisp/progmodes/project.el (project-forget-project): + Rename from 'project-remove-known-project', for consistency with + 'project-remember-project' (discussed in bug#50297). + +2021-09-21 Basil L. Contovounesios + + Consistently test alist keys with equal in map.el + + * etc/NEWS: Announce new default behavior of map-elt and map-delete + on alists. + + * lisp/emacs-lisp/map.el: Bump to version 3.2. + (map-elt): Test alist keys with equal by default. Betray a little + bit more information in the docstring on which functions are used + for which map types. (Bug#47368) + (map-put): Update docstring accordingly. + (map--plist-delete): Consistently test plist keys with eq. + (map-delete): Consistently test alist keys with equal. + + * test/lisp/emacs-lisp/map-tests.el (test-map-elt-testfn): Update + for new map-elt behavior. + (test-map-put!-alist, test-map-delete-alist): New tests. + +2021-09-21 Robert Pluim + + Remove the emoji script overrides for U+2xxx codepoints + + * admin/unidata/blocks.awk: Remove the overrides for U+261D, U+26F9, + U+270C..U+270D, and U+2764. They don't belong in the emoji script. + +2021-09-21 Robert Pluim + + Fix the UK flag sequence composition regexp + + * admin/unidata/emoji-zwj.awk: Fix the regexp for UK flags. + Thanks to Mattias Engdeg奪rd and his magic + regexp checker. + +2021-09-21 Robert Pluim + + Silence byte-compiler warning for network-stream-tests.el + + The api specifically requires a symbol here, so we can't just replace + nowait with nil. + + * test/lisp/net/network-stream-tests.el + (open-gnutls-stream-old-api-wait): Add explicit value for nowait + to silence byte-compiler warning due to Bug#47080. + +2021-09-21 Basil L. Contovounesios + + Avoid double argument evaluation in vc-call macro + + * lisp/vc/vc-hooks.el (vc-call): Ensure second argument is evaluated + only once (bug#50690). + * etc/NEWS (Change Logs and VC): Announce this change in behavior. + +2021-09-21 Jo達o T叩vora + + Make syntax-ppss more accurate for Python triple quotes (bug#49518) + + By putting delimiter syntax on the last character of Python + triple-quoted strings, this makes syntax-ppss be more accurate. + + Previously: + + emacs -Q something.py + type two single quotes + M-: (nth 3 (syntax-ppss)) + notice how the return value says you're outside a string, correctly + type another quote + M-: (nth 3 (syntax-ppss)) + notice how the return value says you're inside a string, correctly + backspace the quote just entered + M-: (nth 3 (syntax-ppss)) + notice how the return value says you're inside a string, incorrectly + + With this patch the last step is corrected. This helps things like + electric-pair-mode. Also, the test + python-syntax-after-python-backspace now passes, again. + + * lisp/progmodes/python.el (python-syntax-stringify): Put + delimiter syntax in "inner" of the surrouding triple quotes. + + * test/lisp/progmodes/python-tests.el + (python-syntax-after-python-backspace): Passes again. + +2021-09-21 Jo達o T叩vora + + Expand and improve electric-pair-mode and Python testing (bug#49518) + + In python-tests.el, the triple-quote pairing tests are passing + incorrectly, i.e. the auto-pairing functionality they purport to guard + isn't really working for users trying it interactively. Added a new + failing test, soon to be fixed. + + In electric-tests.el, added tests for Python, too. + + * test/lisp/electric-tests.el (define-electric-pair-test): Also run + main tests for python-mode. (pair-some-quotes-skip-others): Test + another slightly different pairing. + + * test/lisp/progmodes/python-tests.el + (python-triple-double-quote-pairing): Rename from + python-triple-quote-pairing. + (python-triple-single-quote-pairing): New test. + +2021-09-21 Jo達o T叩vora + + Add docstring for 'electric-pair-p-s-i-f' and minor refactor + + Extract the "open newline between pairs behaviour" into its own + function, electric-pair-open-newline-between-pairs-psif. + + * lisp/elec-pair.el (electric-pair-post-self-insert-function): Add + docstring. + (electric-pair-open-newline-between-pairs-psif): New function. + (electric-pair-mode): Add/remove electric-pair-open-newline-between-pairs-psif + +2021-09-21 Jo達o T叩vora + + Speed up test/lisp/electric-tests.el when run interactively + + 'blink-paren-function' and its timers could sometimes interfere with + the tests and slow them down significantly. + + * test/lisp/electric-tests.el (call-with-saved-electric-modes): + Bind blink-paren-function to nil. + +2021-09-21 Lars Ingebrigtsen + + Fix whitespace-report window creation + + * lisp/whitespace.el (whitespace-display-window): Avoid creating + many buffers if called many times (bug#50716). + +2021-09-21 Lars Ingebrigtsen + + Use `special-mode' for whitespace-report + + * lisp/whitespace.el (whitespace-report-region): Use + `special-mode' instead of `fundamental-mode' (bug#50715). + +2021-09-21 Lars Ingebrigtsen + + Inhibit warning in mm-inline-wash-with-file from previous change + + * lisp/gnus/mm-view.el (mm-inline-wash-with-file): Inhibit warning + about previous lexical fixup. + +2021-09-21 Lars Ingebrigtsen + + Fix problems with non-ASCII non-encoded PGP names + + * lisp/epg.el (epg-signature-to-string): User IDs may be + non-encoded, non-ASCII (bug#50706). + +2021-09-21 Lars Ingebrigtsen + + Fix typo in tex--prettify-symbols-alist + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix + varsigma typo (bug#50710). + +2021-09-21 Lars Ingebrigtsen + + Fix lexical fallout in mm-inline-wash-with-file + + * lisp/gnus/mm-view.el (mm-inline-wash-with-file): This is only + called from the `links' handler, and it passes in `file' expecting + that to be dynamically bound. Which is a very, very confusing + interface, but make that work again, anyway. + +2021-09-21 Michalis V + + Make dired-compress-file query for a directory to uncompress to + + * lisp/dired-aux.el (dired-compress-file-suffixes): Specify the + directory in the tar targets. + (dired-uncompress-file): New function (bug#47058). This asks what + directory to uncompress to. + (dired-compress-file): Use it. + +2021-09-21 Lars Ingebrigtsen + + Clear netrc cache in auth-source test + + * test/lisp/auth-source-tests.el + (auth-source-test-netrc-create-secret): Clear the netrc cache, too. + +2021-09-21 Lars Ingebrigtsen + + Only search netrc in the netrc tests + + * test/lisp/auth-source-tests.el + (auth-source-test-netrc-create-secret): Only search netrc. + +2021-09-21 Eric Abrahamsen + + Remove some last calls to Gnus group name encoding + + This should have been part of cb12a84f2c + + * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc, + gnus-inews-do-gcc): Don't encode group names. + +2021-09-21 Dmitry Gutov + + New command: project-find-dir + + * doc/emacs/maintaining.texi (Project File Commands): + Mention the new command and update the bindings information. + + * lisp/progmodes/project.el (project-find-dir): + New command (bug#43153). + (project-prefix-map): Use 'd' as its binding. + Move 'project-dired' to 'D'. + (project-switch-commands): + Replace 'project-dired' with 'project-find-dir'. + +2021-09-20 Robert Pluim + + Support for Unicode emoji sequences + + This covers both sequences using Zero-Width-Joiner codepoints and + those without. Bug#39799, I hope. + + * .gitignore: Add emoji-zwj.el + * admin/notes/unicode: Add emoji-zwj-sequences.txt and + emoji-sequences.txt references. Describe how to test after updating + to a newer Unicode version. + * admin/unidata/Makefile.in (all): add emoji-zwj.el as a dependency. + (emoji-zwj.el): Add target plus rules for building. + (gen-clean): Add emoji-zwj.el. + * admin/unidata/README: Add emoji-zwj-sequences.txt and + emoji-sequences.txt references. + * admin/unidata/blocks.awk: Force emoji script to be used for certain + codepoints that are used by the Unicode sequences. + * admin/unidata/emoji-sequences.txt: New file. + * admin/unidata/emoji-zwj-sequences.txt: New file. + * admin/unidata/emoji-zwj.awk: New file. Derives + composition-function-table rules from emoji-zwj-sequences.txt, plus + hardcodes some derived manually from emoji-sequences.txt. + * etc/NEWS: Announce change. + * lisp/international/characters.el: Load the generated emoji-zwj.el + * src/Makefile.in (emoji-zwj): New target. + (temacs): Add emoji-zwj as a dependency. + +2021-09-20 Jonas Bernoulli + + No longer raise error when http authentication failed + + * lisp/url/url-http.el (url-http-handle-authentication): Return t + instead of raising an error, instructing the caller to invoke the + request specific error handler (bug#50511). + +2021-09-20 Robert Pluim + + Add a note about testing out-of-tree builds + + * CONTRIBUTE: Ask contributors to test out-of-tree builds when + making build system changes. + +2021-09-20 Robert Pluim + + Base emoji script membership on Emoji_Presentation + + The Emoji property describes which codepoints can be displayed as + emoji, but Emoji_Presentation governs which are displayed as emoji by + default. + + * admin/notes/unicode: Adjust check-emoji-coverage to look in the + Emoji_Presentation sections of emoji-data.txt + * admin/unidata/blocks.awk: Assign emoji script using the + Emoji_Presentation section. + +2021-09-20 Basil L. Contovounesios + + Fix VC repo URL detection in bug-reference-mode + + * lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-vc): + Pass file or directory name in question as the first argument to the + backend's repository-url implementation (bug#50689). Use when-let + and seq-some to flatten nested conditionals. + +2021-09-20 Eli Zaretskii + + Fix assertion violation with zero-width :box attributes + + * src/xfaces.c (merge_face_ref): Don't allow :box attribute with a + zero value. (Bug#50699) + +2021-09-20 Michael Albinus + + Remove superfluous skip in auth-source-tests.el + + * test/lisp/auth-source-tests.el + (auth-source-test-netrc-create-secret): Remove superfluous skip. + +2021-09-20 Mattias Engdeg奪rd + + Dump with `lexical-binding` bound to nil + + * lisp/loadup.el (dump-mode): Temporarily bind `lexical-binding` to + nil while dumping. Otherwise, it will be t in Emacs by default + and that is not our intention (yet). + +2021-09-20 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab): Add optional arg 'from-number'. + + (tab-bar-mouse-context-menu): Use tab-number as an arg for + 'tab-bar-duplicate-tab'. + (tab-bar-duplicate-tab): Add optional arg 'from-number'. + +2021-09-20 Juri Linkov + + Add support for url-retrieve-synchronously to eww-retrieve-command (bug#50680) + + * doc/misc/eww.texi (Advanced): Mention url-retrieve-synchronously + for eww-retrieve-command. + + * lisp/net/eww.el (eww-retrieve-command): Add choice 'sync' for + url-retrieve-synchronously. + (eww-retrieve): Use value 'sync' for url-retrieve-synchronously. + (eww-isearch-next-buffer): Let-bind eww-retrieve-command to 'sync'. + +2021-09-20 Miha Rihtar邸i + + Improve documentation of exiting recursive editing + + * doc/lispref/commands.texi (Recursive Editing): Mention what happens + when throwing a string or any other value to 'exit. + * src/keyboard.c (Frecursive_edit): Document throwing a function + to 'exit (bug#49700). + +2021-09-20 Miha Rihtar邸i + + Refactor minibuffer aborting + + * lisp/minibuffer.el (minibuffer-quit-recursive-edit): New optional + argument to specify how many levels of recursion to quit. + + * src/eval.c (internal_catch): Remove special handling of 'exit + tag (bug#49700). + * src/minibuf.c (Fabort_minibuffers): Use + minibuffer-quit-recursive-edit to quit multiple levels of minibuffer + recursion. + +2021-09-20 Philip Kaludercic + + Fix dolist-with-progress-reporter behaviour + + * subr.el (dolist-with-progress-reporter): Use the length of list + argument as maximal value the reporter with reach + +2021-09-19 Stefan Kangas + + Revert "Flag checkdoc-symbol-words as a :safe variable" + + There was no need for this change, as this variable was already marked + as :safe. + + This reverts commit 222a7a1a8afdf6921e5981133c605c2d695e9281. + +2021-09-19 Eli Zaretskii + + Avoid segfaults due to 'bug-reference-mode' + + * src/xdisp.c (handle_fontified_prop): Set the frame's + inhibit_clear_image_cache flag around calls to + 'fontification-functions', to avoid Lisp triggering the clearing + of image and/or face caches behind redisplay's back. (Big#50571) + +2021-09-19 Eli Zaretskii + + Fix blocks.awk wrt to Emoji characters + + * admin/unidata/blocks.awk: Fix emoji-data.txt processing for + older Awks. + +2021-09-19 Michael Albinus + + Do not save empty passwords in auth-source-search + + * lisp/auth-source.el (auth-source-netrc-create) + (auth-source-secrets-create): Set :save-function only for non + empty passwords. + + * lisp/net/tramp.el (tramp-read-passwd): Don't save empty passwords. + + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Adapt test. + (auth-source-test-netrc-create-secret): New test. + +2021-09-19 Stefan Kangas + + Be explicit about missing sections in eshell manual + + * doc/misc/eshell.texi (Writing a module, Module testing) + (Directory handling, Key rebinding, Smart scrolling) + (Terminal emulation): Explicitly say that these sections remain to + be written. (Bug#49306) + +2021-09-19 Juri Linkov + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items. + +2021-09-19 Ken Brown + + Fix build with native compilation on Cygwin + + * src/Makefile.in (emacs$(EXEEXT)) [CYGWIN]: Rebase the *.eln + files after they are all created, to avoid fork problems later + in the build. (Bug#50666) + +2021-09-19 Stefan Kangas + + Clarify docstring of pcase-exhaustive + + * lisp/emacs-lisp/pcase.el (pcase-exhaustive): Clarify docstring + by contrasting with pcase. (Bug#44166) + +2021-09-19 Stefan Kangas + + Make two unused variables obsolete + + * lisp/progmodes/idlw-help.el (idlwave-help-directory) + (idlwave-help-use-hh): Make unused variables obsolete. + +2021-09-19 Stefan Kangas + + * etc/NEWS: Add section on recent checkdoc changes. + +2021-09-19 Mattias Engdeg奪rd + + Initialise unread buffer + + The reader has an extra 1-char unread buffer that was incorrectly + initialised to 0, which means that the first character read would + always be NUL. As this is often the code that looks for the + lexical-binding cookie, the first loaded source module would be + treated as dynamically bound. During bootstrapping this is loadup.el + and so its local variables got dumped into the global environment. + + * src/lread.c (unread_char): Initialise to empty. + (Fload): Initialise here too just in case. + +2021-09-19 Stefan Kangas + + checkdoc: Verify format of yes-or-no-p and format-message + + * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-next-string): + Check also for "yes-or-no-p" and "format-message". Convert regexps to + use rx. + +2021-09-19 Stefan Kangas + + Flag checkdoc-symbol-words as a :safe variable + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Flag as a safe + file local variable. + +2021-09-19 Eli Zaretskii + + Teach Mail mode to request Disposition Notifications + + * lisp/mail/sendmail.el (mail-insert-disposition-notification-to): + New function. + (mail-mode-map): Add it to key bindings and menu bar. + +2021-09-19 Amin Bandali + + Add new '/opme' and '/deopme' convenience ERC commands + + * lisp/erc/erc.el (erc-cmd-OPME, erc-cmd-DEOPME): Add convenience + commands for setting and unsetting the operator status on the current + nick in the current channel. 'erc-cmd-OPME' relies on ChanServ for + obtaining the operator status (see doc string for more details). + + * etc/NEWS: Announce the addition of the commands. + +2021-09-19 Stefan Kangas + + Revert previous mode-line-modes change to unbreak bootstrap + + * lisp/bindings.el (mode-line-modes): Revert previous change to + unbreak bootstrap. + +2021-09-19 Lars Ingebrigtsen + + Viper doc string fix + + * lisp/emulation/viper-keym.el (viper-want-ctl-h-help): Fold + over-long first line. + +2021-09-19 Lars Ingebrigtsen + + Fix viper-util compilation warning + + * lisp/emulation/viper-util.el (cl-lib): Require for cl-subseq. + +2021-09-18 Stefan Kangas + + * etc/NEWS: Shorten entry on move to Libera.Chat. + +2021-09-18 Stefan Kangas + + Use command substitution in checkdoc-recursive-edit + + * lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command + substitution. + (checkdoc--help-buffer): New variable. Use it instead of hard-coded + string. + +2021-09-18 Stefan Kangas + + Use command substitution for exit-recursive-edit + + * lisp/bindings.el (mode-line-modes): + * lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command + substitution for 'exit-recursive-edit'. + +2021-09-18 Juri Linkov + + * lisp/subr.el (string-replace): Add dashes to arg names (bug#50644) + + * lisp/net/tramp-compat.el (tramp-compat-string-replace): Idem. + * doc/lispref/searching.texi (Search and Replace): Idem. + +2021-09-18 Arthur Miller + + Add new help-enable-symbol-autoload user option + + * lisp/help-fns.el (help-fns--analyze-function): Use it. + * lisp/help-fns.el (help-enable-symbol-autoload): New user option. + * doc/emacs/help.texi (Name Help): Document it. + +2021-09-18 Lars Ingebrigtsen + + Mention xref-quit-and-pop-marker-stack in the manual + + * doc/emacs/maintaining.texi (Xref Commands): Mention + xref-quit-and-pop-marker-stack in the manual. + +2021-09-18 Lars Ingebrigtsen + + Do some xwidget NEWS markup (and adjust doc string) + + * lisp/xwidget.el (xwidget-webkit-bookmark-make-record): Mention + `xwidget-webkit-bookmark-jump-new-session' in the doc string. + +2021-09-18 Lars Ingebrigtsen + + Make argument optional in pulse-momentary-highlight-one-line + + * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Make + POINT optional (bug#50642) so that the function can be used more + easily from some hook functions. + +2021-09-18 Dan Ports (tiny change) + + Use the newest gcc installed by Macports + + * configure.ac: There may be more than one gcc version installed + in Macports (bug#50649). Use the newest. + +2021-09-18 Basil L. Contovounesios + + Fontify Libtool macros in autoconf-mode + + * lisp/progmodes/autoconf.el (autoconf-font-lock-keywords): Apply + font-lock-keyword-face also to Libtool's LT_* macros (bug#50659). + +2021-09-18 Eli Zaretskii + + Improve doc strings of a recent commit + + * lisp/emacs-lisp/generator.el (iter-defun): + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): + * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): + * lisp/emacs-lisp/autoload.el (autoload-insert-section-header): + Include description of arguments in the doc string's first line. + +2021-09-18 Mattias Engdeg奪rd + + Regexp-quote literal symbols when grepping + + `xref-find-references` was unable to find symbols like + `backquote-list*-macro`. + + * lisp/cedet/semantic/symref/grep.el + (semantic-symref-grep--quote-extended): New function. + (semantic-symref-perform-search): Call it. + +2021-09-18 Eli Zaretskii + + Fix performance degradation in commands that describe key bindings + + * src/keymap.c (syms_of_keymap) + : New variable. + (describe_vector): Check shadowing of consecutive keys only if + 'describe-bindings-check-shadowing-in-ranges' is non-nil. Remove + redundant second loop when VECTOR is a char-table. Improve + comments. Patch by Stefan Kangas . (Bug#45379) + + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-one-shadowed-in-range): Adapt the + test case for the new variable. + +2021-09-18 Stefan Kangas + + * lisp/emacs-lisp/checkdoc.el: Doc fix; mention flymake. + + Do interactive mode tagging for checkdoc.el + +2021-09-18 Stefan Kangas + + checkdoc: Only look for commonly used modifier keys + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Search for the modifier key "s-", but not the modifier key "A-". + The latter is very uncommon and leads to false positives. + +2021-09-18 Michael Albinus + + Skip "fast" tests on emba CI + + * test/infra/gitlab-ci.yml (stages): Comment "fast" stage out. + (test-fast-inotify): Comment out. + +2021-09-18 Stefan Kangas + + Add indent declaration to emerge-defvar-local + + * lisp/vc/emerge.el (emerge-defvar-local): Add indent declaration + for docstring. Fix wrongly indented callers. + +2021-09-18 Stefan Kangas + + Make doc argument of emerge-defvar-local optional + + * lisp/vc/emerge.el (emerge-defvar-local): Make doc argument + optional. + +2021-09-18 Stefan Kangas + + Make doc argument of ediff-defvar-local optional + + * lisp/vc/ediff-init.el (ediff-defvar-local): Make DOC argument + optional. Update callers passing the empty string to not use it. + +2021-09-18 Federico Tedin + + Check for null bytes in filenames in 'expand-file-name' (bug#49723) + + * src/fileio.c (expand-file-name): Check for null bytes for both + NAME and DEFAULT-DIRECTORY arguments. Also check for null bytes + in buffer-local default-directory, assuming it is used. + * src/coding.c (encode_file_name): Use CHECK_STRING_NULL_BYTES. + * src/lisp.h (CHECK_STRING_NULL_BYTES): Add function for checking + for null bytes in Lisp strings. + * test/src/fileio-tests.el (fileio-test--expand-file-name-null-bytes): + Add test for new changes to expand-file-name. + * etc/NEWS: Announce changes. + +2021-09-18 Amin Bandali + + * lisp/erc/erc.el: Add Package-Requires and URL headers. + +2021-09-18 Amin Bandali + + * etc/NEWS: Announce update of IRC-related references to point to Libera.Chat. + + Also remove the note about freenode subdomain change, as it's not + relevant anymore. + +2021-09-17 Stefan Kangas + + Update refcard to mention iconify before suspend + + * etc/refcards/refcard.tex (section{Leaving Emacs}): Put iconify + Emacs ahead of suspend. + +2021-09-17 Stefan Kangas + + checkdoc: 'y-or-n-p' no longer needs space + + * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): + Change 'y-or-n-p' check to accept prompt ending with both "? " or "?", + that is, it no longer needs the space. (Bug#50621) + (checkdoc--fix-y-or-n-p): New helper function. + * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests-fix-y-or-n-p) + (checkdoc-tests-fix-y-or-n-p/no-change) + (checkdoc-tests-fix-y-or-n-p/with-space): New tests. + +2021-09-17 Robert Pluim + + Move emoji fontset addition later + + * lisp/international/fontset.el (setup-default-fontset): Move the + fontset addition for emoji script after that for various graphic-like + characters, since they overlap, and we want the emoji setting to win. + +2021-09-17 Martin Joerg (tiny change) + + * lisp/net/tramp-sh.el (tramp-methods) : Separate "%c" marker. + +2021-09-17 Robert Pluim + + Fix emoji-induced build breakage + + * admin/unidata/blocks.awk: Cater for out-of-tree builds, match + the name of the file using regexp rather than exact match. + +2021-09-17 Uwe Brauer + + Replace hex representation by its literal form in pretty tex symbols + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): + Correct error \Bbb{T}, replace hex representation by its literal + form (bug#50645). + +2021-09-17 Lars Ingebrigtsen + + Tweak how term-emulate-terminal selects windows + + * lisp/term.el (term-emulate-terminal): Don't record the selection + of the window here, because we're not doing a user-level window + selection, but just selecting the window for internal purposes + (bug#41984). + +2021-09-17 Juri Linkov + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items. + +2021-09-17 Juri Linkov + + * lisp/repeat.el (repeat-echo-message): Clear only own added part of message. + + (describe-repeat-maps, repeat-mode): Refer to each other in docstrings. + +2021-09-17 Lars Ingebrigtsen + + Stop imenu indexing after a certain number of seconds + + * doc/emacs/programs.texi (Imenu): Document it. + * lisp/imenu.el (imenu-max-index-time): New user option. + (imenu-default-create-index-function, imenu--generic-function): + Use it (bug#18696). + +2021-09-17 Manuel Giraud + + Fix typo in idlwave + + * lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Fix typo + (bug#50638). + +2021-09-17 Uwe Brauer + + Add more symbols to tex--prettify-symbols-alist + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add + mathbb, caligraphic letters, fractur, varkappa and + \|. (bug#50639). + +2021-09-17 Lars Ingebrigtsen + + Mention that the garbage collection is convervative + + * doc/lispref/internals.texi (Garbage Collection): Mention that + we're using a conservative gc (bug#42013). + +2021-09-17 Stephen Gildea + + MH-E: fix check for nmh or Mailutils installation + + * lisp/mh-e/mh-e.el (mh-variant-gnu-mh-info, mh-variant-nmh-info): + Run install-mh, not mhparam, to check whether an MH variant is + installed on the system. mhparam fails if no user profile is found, + so it is not a reliable check of the state of the system as a whole. + + Tested with: + nmh 1.4, nmh 1.7.1, GNU Mailutils 2.2, GNU Mailutils 3.7, GNU Mailutils 3.13 + +2021-09-17 Eli Zaretskii + + Fix display of stretch glyphs + + * src/xterm.c (x_draw_stretch_glyph_string): + * src/w32term.c (w32_draw_stretch_glyph_string): Fix drawing + stretch glyphs when the window is hscrolled. (The original + pre-Jan-2021 code was almost correct, except that it used + 'window_box_left_offset' instead of 'window_box_left', and didn't + restrict the background_width fixup to text-area.) (Bug#50564) + +2021-09-17 Robert Pluim + + Split Unicode emoji into their own script + + * admin/notes/unicode: Describe how to update emoji for new Unicode release. + * admin/unidata/Makefile.in: Pass emoji-data.txt to + blocks.awk script. + * admin/unidata/README: Add pointer to emoji-data.txt file. + * admin/unidata/blocks.awk: Parse emoji-data.txt, add emoji codepoints + to the 'emoji' script (except for the ASCII ones). + * admin/unidata/emoji-data.txt: New file. + * etc/NEWS: Describe new 'emoji' script. + * etc/TODO: Update item about 'emoji' script. + * lisp/international/fontset.el (script-representative-chars): Add + 'emoji' script. + (setup-default-fontset): Add 'emoji' script. Use "Noto Color Emoji" + as default font for it. + +2021-09-17 Dmitry Gutov + + xref-matches-in-files: Move sorting to Lisp + + For better compatibility with different systems. + Performance is unaffected, except in very pathological cases + (~100000 matches), and even then the overhead of 'sort' is comparable. + + * lisp/progmodes/xref.el (xref-search-program-alist): + Drop the piping through 'sort'. + (xref-matches-in-files): Sort here instead. + Do that to both searchers' output as well now. + +2021-09-17 Eli Zaretskii + + Improve the documentation of a recent change + + * etc/NEWS: + * doc/lispref/sequences.texi (Sequence Functions): Improve + documentation of 'seq-union'. + +2021-09-17 Stefan Kangas + + Improve performance of seq-union + + * lisp/emacs-lisp/seq.el (seq-union): Improve performance by using + nreverse instead of seq-reverse. + +2021-09-17 Stefan Kangas + + Make viper-subseq into obsolete alias for cl-subseq + + * lisp/emulation/viper-util.el (viper-subseq): Make into obsolete + function alias for 'cl-subseq'. Update callers. + +2021-09-17 Stefan Kangas + + * lisp/vc/ediff-util.el (ediff-member): Make obsolete. + +2021-09-17 Stefan Kangas + + Make ediff-set-difference into obsolete alias for seq-difference + + * lisp/vc/ediff-util.el (ediff-set-difference): Make into obsolete + function alias for 'seq-difference'. + * lisp/vc/ediff-mult.el (ediff-intersect-directories): Update single caller. + +2021-09-17 Stefan Kangas + + Make ediff-intersection into obsolete alias for seq-intersection + + * lisp/vc/ediff-util.el (ediff-intersection): Make into obsolete + function alias for 'seq-intersection'. + * lisp/vc/ediff-mult.el (ediff-intersect-directories): Update + single caller. + +2021-09-17 Stefan Kangas + + Make ediff-union into obsolete alias for seq-union + + * lisp/emacs-lisp/seq.el (seq-union): Autoload. + * lisp/vc/ediff-util.el (ediff-union): Make into obsolete function + alias for 'seq-union'. + * lisp/vc/ediff-mult.el (ediff-intersect-directories): Update single + caller. + +2021-09-17 Stefan Kangas + + Add new sequence function 'seq-union' + + * lisp/emacs-lisp/seq.el (seq-union): New function. + * doc/lispref/sequences.texi (Sequence Functions): + * lisp/emacs-lisp/shortdoc.el (sequence): Document above new + function. + * test/lisp/emacs-lisp/seq-tests.el (test-seq-union): New test. + +2021-09-17 Stefan Kangas + + * lisp/allout.el (allout-old-expose-topic): Make obsolete. + +2021-09-17 John Cummings (tiny change) + + Fix disk-free info in 'insert-directory' + + * lisp/files.el (insert-directory): Call 'get-free-disk-space' + with the argument FILE, to make sure the reported info is for the + correct volume. (Bug#50630) + +2021-09-17 Michael Albinus + + Fix annoyance in tramp-smb.el + + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): + Add "TERM=dumb". + +2021-09-17 Olivier Certner + F. Jason Park + + ERC: NickServ: Prompt for password last, overall simplifications (bug#46777) + + When 'erc-prompt-for-nickserv-password' is non-nil, don't ignore the + other forms of identification. Instead, process them first, and + prompt for the password last. Separate concerns (determination of the + nick to use, of the password to use, and actual message sending). + + Note that the user can be interactively prompted for a password on + reception of a NickServ request, as before (on + 'erc-prompt-for-nickserv-password'). + + * lisp/erc/erc-services.el (erc-nickserv-identify): Make the password + argument optional (and don't prompt for it interactively). Further, + now take the nick to use for identification (interactively, ask for + it, defaulting to the current one). Move the actual message sending + into the new 'erc-nickserv-send-identify' function, and the password + prompting into 'erc-nickserv-get-password'. + + (erc-nickserv-send-identify): New function containing the code for + sending the identify message to NickServ, given the nick and password. + + (erc-nickserv-get-password): Try each password source in turn, in the + following order: 'erc-nickserv-passwords', auth-source (if + 'erc-use-auth-source-for-nickserv-password' is non-nil), and in the + end prompt the user interactively (if + 'erc-prompt-for-nickserv-password' is non-nil). If one source returns + a string, the function returns it, or nil if the string is empty. + + (erc-nickserv-call-identify-function): Declare obsolete, but retain + for backward compatibility. Prefer invoking 'erc-nickserv-identify' + directly instead. + + (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect) + (erc-nickserv-identify-on-nick-change): Call 'erc-nickserv-identify' + directly ('erc-nickserv-call-identify-function' has been obsoleted). + For the last two functions, remove the redundant checks on the + NickServ identification flags (additionally, it is doubtful they have + any measurable impact on performance). + + * etc/NEWS: Announce the change. + +2021-09-17 Amin Bandali + + * lisp/erc/erc-button.el (erc-emacswiki-url): Update to shorter address. + +2021-09-17 Alfred M. Szmidt + + * lisp/vc/vc.el: API doc fixes. + +2021-09-17 Manuel Giraud + + Reuse vc-read-backend more + + * lisp/vc/vc.el (vc-read-backend): New optional arguments. + (vc-create-repo): Use it here. + (vc-switch-backend): And here (bug#50603). + +2021-09-16 Stefan Kangas + + Docfix: use command substitution for 'universal-argument' + + * lisp/autoarg.el (autoarg-mode): + * lisp/bookmark.el (bookmark-set, bookmark-set-no-overwrite) + (bookmark-save): + * lisp/calendar/todo-mode.el (todo-insert-item) + (todo-filter-top-priorities) + (todo-filter-top-priorities-multifile): + * lisp/dired-x.el (dired-mark-extension, dired-mark-suffix): + * lisp/eshell/eshell.el (eshell): + * lisp/gnus/gnus-group.el (gnus-group-find-new-groups): + * lisp/gnus/gnus-start.el (gnus-find-new-newsgroups): + * lisp/gnus/gnus-sum.el (gnus-summary-show-article): + * lisp/gnus/gnus.el (gnus-secondary-servers): + * lisp/org/org-timer.el (org-timer-set-timer): + * lisp/org/ox.el (org-export-dispatch-last-position): + * lisp/printing.el (pr-ps-directory-preview) + (pr-ps-directory-using-ghostscript, pr-ps-directory-print) + (pr-ps-directory-ps-print, pr-ps-buffer-preview) + (pr-ps-buffer-using-ghostscript, pr-ps-buffer-print) + (pr-ps-buffer-ps-print, pr-despool-preview) + (pr-despool-using-ghostscript, pr-despool-print) + (pr-despool-ps-print, pr-ps-file-up-ps-print, pr-ps-fast-fire) + (pr-txt-fast-fire): + * lisp/progmodes/idlwave.el (idlwave-complete): + * lisp/progmodes/sh-script.el (sh-set-shell): + * lisp/replace.el (occur): + * lisp/ses.el (ses--advice-yank): + * lisp/simple.el (set-mark-command-repeat-pop): + * lisp/sort.el (delete-duplicate-lines): + * lisp/strokes.el (strokes-help): + * lisp/textmodes/artist.el (artist-mode): + * lisp/textmodes/reftex-cite.el (reftex-citation): + * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): + * lisp/textmodes/reftex-index.el (reftex-index-selection-or-word) + (reftex-display-index): + * lisp/textmodes/reftex-ref.el (reftex-reference): + * lisp/textmodes/reftex-toc.el (reftex-toc): + * lisp/textmodes/reftex-vars.el (reftex-cite-prompt-optional-args) + (reftex-enable-partial-scans): + * lisp/textmodes/texnfo-upd.el (texinfo-master-menu): + * lisp/windmove.el (windmove-display-in-direction) + (windmove-delete-left, windmove-delete-up) + (windmove-delete-right, windmove-delete-down): + * lisp/window.el (recenter-window-group, recenter-other-window): Use + command substitution for 'universal-argument' instead of raw "C-u". + +2021-09-16 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp-sh.el (tramp-methods) : + Reintroduce "%n" marker. + (tramp-maybe-open-connection): Handle it. + + * lisp/net/tramp.el (tramp-prefix-regexp): + * lisp/net/tramp-smb.el (tramp-smb-options): Fix docstring. + + * lisp/net/tramp*.el: Fix typos. Remove trailing space from + `yes-or-no-p' and `y-or-n-p' prompts. + + * test/lisp/net/tramp-tests.el (tramp--test-telnet-p): New defun. + (tramp-test29-start-file-process, tramp-test30-make-process) + (tramp-test35-remote-path, tramp-test44-asynchronous-requests): + Adapt tests. + +2021-09-16 Wilson Snyder + + verilog-mode.el: Merge from upstream: prepare for lexical bindings. + + * verilog-mode.el (verilog-do-indent) + (verilog-indent-declaration, verilog-read-always-signals-recurse) + (verilog-read-decls): Prepare for lexical bindings. + +2021-09-16 Eli Zaretskii + + Support '...' quoting in Lisp files + + * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): + Support quoting 'like this'. + +2021-09-16 Augusto Stoffel + + Make 'compile' respect buffer-local process environment + + * lisp/progmodes/compile.el (compilation-start): Use + `process-environment' from original buffer in the compilation + process (bug#50607). + +2021-09-16 Lars Ingebrigtsen + + Bind `M-o' in html-mode and enriched-mode + + * lisp/textmodes/enriched.el (enriched-mode-map): Actually define + the `M-o' face map. + + * lisp/textmodes/sgml-mode.el (html-mode-map): Ditto (bug#50616). + + * lisp/textmodes/sgml-mode.el (html-mode): Adjust doc string. + +2021-09-16 Kevin Brubeck Unhammer + + Allow irc network symbols in erc-autojoin-channels-alist + + * lisp/erc/erc-join.el (erc-autojoin-channels-alist): Explain the + extension. + (erc-autojoin-server-match): New function. + (erc-autojoin-channels): Use it. + (erc-autojoin-current-server): New function. + (erc-autojoin-add): Use it. + (erc-autojoin-remove): Ditto. + + This can be useful when connecting to an IRC proxy like Weechat that + relays several networks under the same server. If we just keyed on the + server name, we would end up joining a channel on all networks + whenever we join one network on that server. + + Networks are simply stored as symbols instead of regexes, since that's + how `erc-network' works. + + The `erc-autojoin-add' function will still auto-add servers as strings + if the network doesn't have at least one entry in + `erc-autojoin-channels-alist'. + +2021-09-16 Stefan Kangas + + Prefer "website" to "homepage" + + These days, a "home page" is understood to be only "the main web page + of a website" or "landing page", whereas a "website" is "a collection + of web pages and related content" (Wikipedia). + + * doc/emacs/emacs.texi (Top): + * doc/emacs/package.texi (Package Menu): + * doc/lispintro/emacs-lisp-intro.texi (Top): + * doc/lispref/elisp.texi (Top): + * doc/lispref/tips.texi (Documentation Tips): + * doc/misc/ede.texi (ede-project): + * doc/misc/efaq-w32.texi (More information): + * doc/misc/gnus-faq.texi (FAQ 5-7): + * doc/misc/gnus.texi (About mairix): + * doc/misc/mairix-el.texi (About): + * doc/misc/reftex.texi (AUCTeX, Imprint): + * lisp/cedet/ede/base.el (ede-project): + * lisp/cedet/ede/system.el (ede-web-browse-home): + * lisp/emacs-lisp/package.el (package-menu-mode-menu) + (package-browse-url): + * lisp/erc/erc-button.el (erc-emacswiki-url): + * lisp/filesets.el (filesets-goto-homepage): + * lisp/net/mairix.el: + * lisp/net/webjump.el (webjump-sample-sites): + * lisp/obsolete/vc-arch.el: + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): + * lisp/progmodes/idlwave.el (idlwave, idlwave-mode): + * lisp/textmodes/reftex-vars.el (reftex): + Prefer "website" to "home page". + + * doc/lispref/tips.texi (Documentation Tips): + Sort the "URL" header comment before "Homepage". + + * lisp/emacs-lisp/lisp-mnt.el + (lm-website): Rename from 'lm-homepage'. + (lm-homepage): Make into alias for 'lm-website'. + +2021-09-16 F. Jason Park + + Change the erc debug logging format to be more repeatable + + * erc.el (erc-debug-irc-protocol): Fix line-ending mismatch between + incoming and outgoing logger lines without changing interface. Do this + by adding carriage returns to the latter to improve machine + readability. Change printed peer labels to most accurately reflect + logical endpoints. + + (erc-debug-irc-protocol-time-format): Add new variable to support + timestamps in protocol logger output. + + (erc-debug-irc-protocol-version): Add new variable to help tooling + track logging format independent of ERC and Emacs versions. + + (erc-toggle-debug-irc-protocol): Add headers to protocol-log buffer + to aid future bug-reproduction tools. Clean up overlong lines (bug#50009). + +2021-09-16 F. Jason Park + + Fix erc nick trimming + + * lisp/erc/erc.el (erc-lurker-maybe-trim): Prevent warning from + showing up in third-party code using this function by autoloading + rx.el when needed. Remove trailing chars appended for uniquifying + purposes when a nick is already taken. Special thanks to Mattias + Engdeg奪rd for making this more respectable (Bug#50005). + + * test/lisp/erc/erc-tests.el: Add tests for the above and require + erc-networks. + +2021-09-16 F. Jason Park + + Fix mistake in test for erc-ring-previous-command + + * test/lisp/erc/erc-tests.el (erc-ring-previous-command): + The variable erc-send-completed-hook was previously set to nil + permanently, which would affect other tests (bug#50005). + +2021-09-16 Stefan Kangas + + Do interactive mode tagging for play/*.el + +2021-09-16 Eli Zaretskii + + Clarify use of early-init file + + * doc/emacs/custom.texi (Early Init File): Clarify that using the + early-init file should be reserved to cases where it is absolutely + necessary. (Bug#50491) + +2021-09-16 Lars Ingebrigtsen + + Clarify test-completion doc string + + * src/minibuf.c (Ftest_completion): Clarify what it means to be a + valid completion (bug#50583). + +2021-09-16 Stefan Kangas + + Remove references to dead packages + + * etc/themes/manoj-dark-theme.el: Delete references to colortheme and + emacs-goodies. + +2021-09-16 Stefan Kangas + + Make a redundant idlwave variable obsolete + + * lisp/progmodes/idlw-help.el (idlwave-help-browse-url-available): + Make obsolete. + (idlwave-help-check-locations): Don't use above variable. + +2021-09-16 Stefan Kangas + + Various minor checkdoc tweaks + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add more + "good" words that are used a lot in practice, and where using them + doesn't really hurt the quality of the documentation. + (checkdoc-proper-noun-list): Add "dired", remove "ispell"; the + latter should not always be capitalized. + (checkdoc-common-verbs-wrong-voice): Add some more common words. + Don't check for "matches" as it leads to too many false positives and + almost no fixes in practice. + (checkdoc-this-string-valid-engine): Clarify comment. + (checkdoc-in-abbreviation-p): Ignore some less common or non-standard + abbreviations. + +2021-09-16 Stefan Kangas + + Doc fix for y-or-n-p; trailing space is no longer needed + + * doc/lispref/minibuf.texi (Yes-or-No Queries): + * doc/lispref/os.texi (Suspending Emacs): + * doc/lispref/tips.texi (Programming Tips): + * doc/misc/gnus-faq.texi (FAQ 5-9): + * lisp/subr.el (y-or-n-p): + * src/fns.c (Fyes_or_no_p): Doc fix to reflect that a trailing space + is no longer needed; one is added or removed automatically. + +2021-09-16 Stefan Kangas + + * doc/misc/pgg.texi: Clarify that its obsolete in the menu entry. + +2021-09-15 Stefan Kangas + + Remove function obsolete since 22.1 + + * lisp/erc/erc-networks.el (erc-current-network): Remove function + obsolete since Emacs 22.1. + +2021-09-15 Eli Zaretskii + + Documentation followup to a recent commit + + * doc/lispref/tips.texi (Documentation Tips): Make the wording of + recommendation not to over-use \\[..] more future-proof. + (Bug#50599) + +2021-09-15 Basil L. Contovounesios + + Evaluate recent isearch-motion lambdas + + * lisp/isearch.el (beginning-of-buffer, end-of-buffer) + (scroll-up-command, scroll-down-command): Evaluate the lambdas + inside the isearch-motion properties of these commands. + +2021-09-15 Stefan Kangas + + checkdoc: Don't warn about command substitutions by default + + * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): + Add new valid value nil meaning to never warn about too many command + substitutions, and use this value as the default. This is no longer a + performance problem on modern machines. (Bug#50599) + (checkdoc-this-string-valid-engine): Respect above new valid value + nil. + +2021-09-15 Juri Linkov + + * lisp/tab-line.el: Add context menu bound to down-mouse-3 like on tab bar. + + * lisp/tab-line.el: Bind tab-line down-mouse-3 to tab-line-context-menu. + (tab-line-tab-map): Rebind tab-line-select-tab from mouse-1 to down-mouse-1. + Bind down-mouse-3 to tab-line-tab-context-menu. + (tab-line-add-map): Rebind tab-line-new-tab from mouse-1 to down-mouse-1. + (tab-line-left-map, tab-line-right-map): Rebind mouse-1 to down-mouse-1. + (tab-line-tab-context-menu, tab-line-context-menu): New functions. + (tab-line-hscroll-right, tab-line-hscroll-left) + (tab-line-new-tab, tab-line-select-tab) + (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab) + (tab-line-close-tab): Rename event args to 'event'. + +2021-09-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-format): Add new option tab-bar-format-menu-global + + (tab-bar-format-menu-global): New function. + +2021-09-15 Juri Linkov + + Add docstrings to context menu functions, and add middle-separator + + * lisp/mouse.el (context-menu-functions): Add context-menu-middle-separator + to default values. + (context-menu-middle-separator): New function. + + * lisp/replace.el (occur-context-menu): Use middle-separator. + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): + Use middle-separator and reorder menu items correspondingly. + +2021-09-15 Philip Kaludercic + + Merge branch 'feature/rcirc-update' + +2021-09-15 Lars Ingebrigtsen + + Tweak python-hideshow-forward-sexp-function warning avoidance + + * lisp/progmodes/python.el + (python-hideshow-forward-sexp-function): Avoid compilation warning + in a more standard way. Problem reported in + https://thedailywtf.com/articles/the-programmer-s-motto-and-other-comments + +2021-09-15 Eli Zaretskii + + Avoid crashes due to clearing of a frame's face cache + + * src/xfaces.c (clear_face_cache): Don't clear fonts and faces of + a frame that is being redisplayed, just because it's time for some + routine maintenance. (Bug#50571) + * src/xdisp.c (redisplay_internal): + * src/frame.h (struct frame) : Update + commentary of using this struct member. + +2021-09-15 Michael Albinus + + * lisp/net/tramp-sh.el (tramp-methods): : Change template. (Bug#50594) + +2021-09-15 Eli Zaretskii + + Avoid compiler warnings in comp.c on MS-Windows + + * src/comp.c (DEF_DLL_FN, init_gccjit_functions): Don't load and + don't define functions/macros if libgccjit doesn't have them, to + avoid compiler warnings. + +2021-09-15 Mattias Engdeg奪rd + + Faster grep pattern for identifiers + + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + Use the `-w` flag instead of wrapping the pattern in regexps that make + matching much slower. This speeds up `xref-find-references` by about + 3 on macOS. + +2021-09-15 Eli Zaretskii + + Update Unicode support to Unicode version 14.0.0 + + * admin/unidata/copyright.html: + * admin/unidata/UnicodeData.txt: + * admin/unidata/Blocks.txt: + * admin/unidata/BidiBrackets.txt: + * admin/unidata/BidiMirroring.txt: + * admin/unidata/IVD_Sequences.txt: + * admin/unidata/NormalizationTest.txt: + * admin/unidata/SpecialCasing.txt: + * test/manual/BidiCharacterTest.txt: Updated files from Unicode + 14.0. + + * lisp/international/fontset.el (script-representative-chars): Add + new scripts. + (otf-script-alist): Update from latest version. + (setup-default-fontset): Add new scripts. + * lisp/international/characters.el: Update syntax and category + tables for new characters and scripts. + (char-width-table): Update for changes in Unicode 14.0. + * lisp/international/mule-cmds.el (ucs-names): Update used and + unused ranges per Unicode 14.0. + + * test/lisp/international/ucs-normalize-tests.el + (ucs-normalize-tests--failing-lines-part1) + (ucs-normalize-tests--failing-lines-part2): Update per the test + results. + + * doc/lispref/nonascii.texi (Character Properties): Update Unicode + version number. + + * etc/NEWS: Announce support for Unicode 14.0. + + * admin/notes/unicode: Minor copyedits. + +2021-09-15 Jo達o T叩vora + + * doc/misc/flymake.texi: Fix @include docstyle.texi + +2021-09-15 Augusto Stoffel + + Python shell: rearrange printing of newline before output + + * progmodes/python.el (python-shell-output-filter-in-progress) + (python-shell-output-filter-buffer): Move defvars to avoid compiler + warnings. + (python-shell-eval-setup-code): Don't print a newline in + __PYTHON_EL_eval. + (python-shell-send-string): Insert newline before output when + applicable (bug#50514). + +2021-09-15 Lars Ingebrigtsen + + Make bookmark fringe marks evaporate + + * lisp/bookmark.el (bookmark--set-fringe-mark): Make the bookmark + evaporate when a buffer is erased (like, for instance, when doing + `revert-buffer' in a vc buffer). + +2021-09-15 Lars Ingebrigtsen + + Mention `lisp-data-mode' in `emacs-lisp-mode' doc string + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Mention + `lisp-data-mode'. + +2021-09-15 Juri Linkov + + Adjust occur-context-menu and elisp-context-menu + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): Add separator + only when there is a symbol at mouse click. + + * lisp/replace.el (occur-context-menu): Insert items in the middle + of the menu after mark-whole-buffer. + +2021-09-15 Philip Kaludercic + + Add occur-related context-menu operations (bug#50552) + + * replace.el (occur-word-at-mouse): Add new command. + (occur-symbol-at-mouse): Add new command. + (occur-context-menu): Add new function. + +2021-09-15 Juri Linkov + + * lisp/window.el (display-buffer-in-previous-window): Add symbolp (bug#50576) + +2021-09-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-close-other-tabs): Add arg tab-number. + + (tab-bar-mouse-context-menu): Bind menu-item "Close other tabs" to + tab-bar-close-other-tabs with arg tab-number. + +2021-09-15 Juri Linkov + + * lisp/tab-bar.el: Rename args to consistent naming convention. + + Use the same naming scheme for function arguments. Use the term "index" when + arguments count from 0, and the term "number" when arguments count from 1. + + * lisp/tab-bar.el (tab-bar-select-tab): Rename arg to tab-number. + (tab-bar-move-tab-to): Rename from-index to from-number + and to-index to to-number. + (tab-bar-move-tab-to-frame): Rename from-index to from-number + and to-index to to-number. + (tab-bar-new-tab-to): Rename to-index to tab-number. + (tab-bar-close-tab): Rename arg to tab-number + and to-index to to-number. + (tab-bar-rename-tab): Rename arg to tab-number. + (tab-bar-change-tab-group): Rename arg to tab-number. + +2021-09-15 Stephen Gildea + + * lisp/mh-e/mh-e.el: Simplify file commentary for a native package. + +2021-09-15 Dmitry Gutov + + Localize namespace-filtering code + + To be able to filter results coming from + elisp-xref-find-def-functions, and for general ease of + understanding. + + * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): + Undo the previous change. + (xref-backend-apropos): Update accordingly. + (elisp--xref-filter-definitions): New function. + (xref-backend-definitions): Use it to post-filter the results + coming from elisp--xref-find-definitions. + + * test/lisp/progmodes/elisp-mode-tests.el (find-defs-minor-defvar-c): + New test. + (find-defs-defun-defvar-el): Update test. + +2021-09-15 Wilson Snyder + + verilog-mode.el: Update verilog-mode from upstream. + + * lisp/progmodes/verilog-mode.el: (verilog-basic-complete-re) + (verilog-behavioral-block-beg-re, verilog-defun-keywords) + (verilog-defun-level-generate-only-re, verilog-defun-level-re) + (verilog-endcomment-reason-re, verilog-indent-re) (verilog-keywords, + verilog-no-indent-begin-re) (verilog-set-auto-endcomments): Support + Verilog-A `analog` blocks (#1738). Reported by Dan McMahill. + (verilog-read-defines): Fix verilog-read-defines to work + with SystemVerilog types (#1734). Reported by Shareef Jalloq. + (verilog-indent-declaration, + verilog-pretty-declarations): Fix leaving extra spaces before tabs on + lining up declarations. (#1723) Reported by TAKAI Kousuke. + (verilog-auto-inst, verilog-auto-inst-port) + (verilog-read-auto-template-middle, verilog-read-sub-decls-line): + Support AUTONOHOOKUP to not AUTOWIRE hookup AUTO_TEMPLATE signals. (#1526) + Reported by firefoxtc. + +2021-09-15 Glenn Morris + + * test/Makefile.in (XDG_CONFIG_HOME): Don't export (bug#50577). + +2021-09-14 Glenn Morris + + * doc/misc/flymake.texi: Avoid xrefs in @copying. + + This isn't really what @copying is for, and doesn't work with + makeinfo 4.13. + +2021-09-14 Philip Kaludercic + + Fix interactive forms for rcirc-define-command + + * rcirc.el (rcirc-define-command): Handle string descriptors correctly + +2021-09-14 Philip Kaludercic + + Unset mode-line-process for all buffers on reconnecting + + * rcirc.el (rcirc-sentinel): Add loop over all managed buffers + +2021-09-14 Philip Kaludercic + + Restore rcirc-target if possible + + * rcirc.el (rcirc-process-message): Extract target from buffer name + +2021-09-14 Jo達o T叩vora + + Unbreak make bootstrap (don't use cl-defun's &aux parameters) + + * lisp/progmodes/flymake.el (flymake--handle-report): Don't use &aux. + +2021-09-14 Philip Kaludercic + + Display server buffer after connecting + + * rcirc.el (rcirc-display-server-buffer): Add new option + (rcirc): Respect rcirc-display-server-buffer + +2021-09-14 Philip Kaludercic + + Allow for multiple attempts when reconnecting + + * doc/misc/rcirc.texi (rcirc commands): Mention rcirc-reconnect-attempts + * etc/NEWS: Document change + (rcirc-connect): Ensure no other process exists + (rcirc-reconnect-attempts): Add option + (rcirc-failed-attempts): Add local variable + (rcirc-reconnection-timer): Add local variable + (rcirc-reconnect): Add function + (rcirc-sentinel): Manage multiple reconnection attempts + (rcirc-process-server-response): Change user for error messages + (rcirc-mode): Don't set rcirc-last-connect-time + (reconnect): Extract functionality to rcirc-reconnect + +2021-09-14 Philip Kaludercic + + * rcirc.texi (Hacking and Tweaking): Add missing section to menu + +2021-09-14 Philip Kaludercic + + * rcirc.el (rcirc-server-alist): Add #emacs to default server list + + Author: + +2021-09-14 Harald J旦rg + + cperl-mode.el: Allow non-ASCII Perl identifiers + + Replace all "A-Z" regexp literals with unicode-aware rx constructs + wherever Perl allows non-ASCII identifiers. + * lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp) + (cperl-after-label. cperl-sniff-for-indent) + (cperl-find-pods-heres, cperl-indent-exp) + (cperl-fix-line-spacing, cperl-imenu--create-perl-index) + (cperl-init-faces, cperl-find-tags): + Replace ASCII regex literals by unicode-aware rx constructs. + (cperl-init-faces): Eliminate unused lexical `font-lock-anchored'. + (cperl-have-help-regexp, cperl-word-at-point-hard): Allow non-ASCII + word characters. + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-fontify-special-variables): New test for $^T + and $^{VARNAME}. + (cperl-test-ws-rx cperl-test-ws+-rx), + (cperl-test-version-regexp, cperl-test-package-regexp): Skip + for perl-mode. + (cperl-test-identifier-rx, cperl--test-unicode-setup) + (cperl-test-unicode-labels, cperl-test-unicode-sub) + (cperl-test-unicode-varname) + (cperl-test-unicode-varname-list, cperl-test-unicode-arrays) + (cperl-test-unicode-hashes, cperl-test-unicode-hashref) + (cperl-test-unicode-proto, cperl-test-unicode-fhs) + (cperl-test-unicode-hashkeys, cperl-test-word-at-point): + New tests for unicode identifiers. + (cperl-test-imenu-index): Add a unicode identifier to the test. + + * test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add a + function with non-ASCII name for imenu tests. + +2021-09-14 Glenn Morris + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Fix type. + +2021-09-14 Alan Third + + A further fix for toolbar visibility problems on macOS (bug#50534) + + * src/nsterm.m (ns_update_begin): Ensure the toolbar's visibility is + set correctly. + +2021-09-14 Eli Zaretskii + + Fix recent changes in Flymake manual + + * doc/misc/flymake.texi: Fix typos. Downcase the first word of + each index entry, for more reliable sorting. + (Starting Flymake, Finding diagnostics, Troubleshooting): Fix + typos. + +2021-09-14 Lars Ingebrigtsen + + Make `find-function-source-path' into obsolete alias + + * lisp/finder.el (finder-commentary): Adjust usage. + + * lisp/emacs-lisp/find-func.el (find-function-source-path): Made + into obsolete alias (bug#50508). + (find-library-source-path): New name. + (find-library-name, find-library, find-function-noselect) + (find-variable-noselect, find-definition-noselect): Adjust usage + and update doc strings. + +2021-09-14 Jo達o T叩vora + + Re-organize and rewrite parts of the Flymake manual + + bug#50244 + + * doc/misc/flymake.texi (Starting Flymake): New section. + (Finding diagnostics): New section, now contains info previously in + "Listing diagnostics" + (Mode line status): Renamed from "Mode-line syntax check status" + (Troubleshooting): Renamed from "Backend exceptions". + (Flymake error types): Tweak phrasing. + +2021-09-14 Jo達o T叩vora + + Add support for project-wide diagnostics in Flymake (bug#50244) + + This is done with two new concepts: "foreign diagnostics" and + "list-only diagnostics". The manual has been updated with a + description of these new concepts. + + * doc/misc/flymake.texi (Flymake utility functions): + Explain creation of foreign diagnostics. + (Foreign and list-only diagnostics): New subsection. + (Listing diagnostics): New subsection. + + * lisp/progmodes/flymake.el + (Version): Bump to 1.2.1 + (project): Require project. + (flymake--diag): Add new slots 'orig-beg' and 'orig-end'. Rename + 'buffer' slot to 'locus'. + (flymake-make-diagnostic): Rework docstring. Accept stringp + LOCUS arg. + (flymake-diagnostic-beg, flymake-diagnostic-end) + (flymake-diagnostic-buffer): Simplify definition. + (flymake--equal-diagnostic-p): New helper + (flymake--highlight-line): Rework. Accept FOREIGN arg. + (flymake--state): Work docstring. Add new slot 'foreign-diags' + (flymake--handle-report): Call + flymake--update-diagnostics-listings. + (flymake--handle-report): New helper. + (flymake--mode): Forward declare. + (flymake--handle-report): Rework for foreign diagnostics. + (flymake-mode): When turning on, notice any Flymake diagnostics + for current buffer. When turning off update diagnostics listings. + (flymake-kill-buffer-hook): Turn off flymake explicitly before + killing. + (flymake--mode-line-counter): Use flymake-diagnostics to collect + diagnostics. + (flymake-show-diagnostic): Visit buffer of file-specific + diagnostic. + (flymake--tabulated-entries-1): New helper extracted from + flymake--diagnostic-buffer-entries. + (flymake--diagnostics-buffer-entries): Rework. + (flymake--diagnostics-base-tabulated-list-format): New helper. + (flymake--diagnostics-buffer-name): Adjust. + (flymake-list-only-diagnostics): New variable. + (flymake--project-diagnostic-list-project): New variable. + (flymake--clear-list-only-diagnostics): New helper. + (flymake-project-diagnostics-mode): New major mode. + (flymake--project-diagnostics) + (flymake--project-diagnostics-entries) + (flymake--project-diagnostics-buffer): New helpers. + (flymake-show-project-diagnostics): New command. + (flymake--update-diagnostics-listings): New helper. + (flymake-show-buffer-diagnostics): Renamed from flymake-diagnostics-buffer. + + * etc/NEWS: Mention change. + +2021-09-14 Jo達o T叩vora + + Bump lisp/progmodes/project.el version to 0.7.1 + + Amont other things exposes the new project-buffers generic function to + ELPA users. + + * lisp/progmodes/project.el (Version): Bump to 0.7.1 + +2021-09-14 Jo達o T叩vora + + Keep and report "foreign" diangnostics in flymake-cc Flymake backend + + This includes diagnostics for .h files that sprang up when checking a + c file. Those diagnostics are reported to the Flymake infrastructure + which does not (yet) do anything with them. + + This includes a change to the test fixtures, too. + + * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Rework + + * test/lisp/progmodes/flymake-resources/another-problematic-file.c: + New file. + + * test/lisp/progmodes/flymake-resources/some-problems.h: + Add a function declaration.. + +2021-09-14 Jo達o T叩vora + + Abbreviate Flymake backend name in flymake-show-diagnostics-buffer + + * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): + (flymake-diagnostics-buffer-mode): Report abbreviated backend, too. + +2021-09-14 Jo達o T叩vora + + Unbreak M-x compile-defun of functions using flymake-log + + * lisp/progmodes/flymake.el (flymake-log): Check if compilation unit + is indeed a string before treating it as a file name. + +2021-09-14 Jo達o T叩vora + + Refactor some Flymake functions + + * lisp/progmodes/flymake.el (flymake-diagnostic-buffer): New + helper. + (flymake-diagnostic-beg, flymake-diagnostic-end): Tweak docstring. + (flymake--handle-report): Simplify. + (flymake--publish-diagnostics): Helper for flymake--handle-report. + (flymake--mode-line-counter, flymake-show-diagnostic) + (flymake--diagnostics-buffer-entries): Use + flymake-diagnostic-buffer, flymake-diagonstic-type, + flymake-diagnostic-beg. + +2021-09-14 Jo達o T叩vora + + Rename flymake--backend-state to flymake--state + + The previous name was confusing and akward and dreadful to type and + read. + + * lisp/progmodes/flymake.el (flymake--state): Rename from + flymake--backend-state. + (flymake--with-backend-state): Use flymake--state. + (flymake--handle-report): Use flymake--state. + (flymake--collect): Use flymake--state. + (flymake-running-backends): Use flymake--state. + (flymake--disable-backend): Use flymake--state. + (flymake--run-backend): Use flymake--state. + (flymake-start): Use flymake--state. + (flymake-mode): Use flymake--state. + (flymake--mode-line-title): Use flymake--state. + (flymake--mode-line-exception): Use flymake--state. + (flymake--mode-line-counter): Use flymake--state. + +2021-09-14 Lars Ingebrigtsen + + Project File Commands manual clarification + + * doc/emacs/maintaining.texi (Project File Commands): Clarify what + happens with the file name under point. + +2021-09-14 Alan Third + + Fix incorrectly appearing toolbar on NS (bug#50534) + + * src/nsmenu.m (update_frame_tool_bar): Ensure both sides of the test + are booleans. + * src/nsterm.m ([EmacsWindow createToolbar:]): Make the toolbar + non-visible initially, in case things get out of sync. Remove call to + update_frame_tool_bar: the window isn't yet associated with the view, + so it will return immediately. + +2021-09-14 Alan Third + + Fix libgccjit detection on macOS + + * configure.ac: Combine the Homebrew and MacPorts detection so they + will not create nonsense flags if both are installed. + +2021-09-14 Juri Linkov + + * lisp/tab-bar.el: Close tab only on mouse-1, not down-mouse-1 (bug#41343) + + * lisp/tab-bar.el (tab-bar-mouse-select-tab): Don't close the tab + when clicked on the close button. + (tab-bar-mouse-close-tab-from-button): New function. + (tab-bar-map): Bind [mouse-1] to 'tab-bar-mouse-close-tab-from-button'. + (tab-bar-mouse-move-tab): Do nothing on non-tab events. + +2021-09-14 Stefan Kangas + + Add user option to avoid checkdoc warning for unescaped left paren + + * lisp/emacs-lisp/checkdoc.el + (checkdoc-column-zero-backslash-before-paren): New user option to + avoid warning on unescaped left parenthesis in column zero. + (checkdoc-this-string-valid-engine): Respect above new option. + +2021-09-14 Stefan Kangas + + Minor improvements to checkdoc + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add ignored + values. + (checkdoc-proper-noun-list): Remove XEmacs from list of words to + capitalize; there is little need to insist on consistency here. + (checkdoc-in-abbreviation-p): Add abbreviation "etc." and sort entries + alphabetically. + +2021-09-13 Dmitry Gutov + + Use the term "future history" rather than "default" + + * lisp/progmodes/project.el + (project-find-file, project-or-external-find-file): + Update docstring. + (project--read-file-cpd-relative, project--read-file-absolute) + (project--completing-read-strict): Rename DEFAULT to MB-DEFAULT. + (project-find-file-in): Rename FILENAME to SUGGESTED-FILENAME. + +2021-09-13 Dmitry Gutov + + Make sure to return some valid project root + + * lisp/progmodes/project.el (project-prompt-project-dir): + If the user just pressed RET on prompt, prompt again. + +2021-09-13 Juri Linkov + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): New function (bug#9054) + + (emacs-lisp-mode): Add elisp-context-menu to context-menu-functions. + +2021-09-13 Juri Linkov + + * lisp/isearch.el: Improve 'isearch-allow-motion' feature (bug#50466) + + * lisp/isearch.el: Add recenter to 'isearch-motion' property of + 'end-of-buffer' to maximize the number of search hits on the screen. + In 'isearch-motion' property of 'scroll-up-command' use 'recenter 0' + for the first line of the screen. + (isearch-beginning-of-buffer) + (isearch-end-of-buffer): Sync logic from 'isearch-allow-motion' part + of isearch-pre-command-hook. Direct users to isearch-allow-motion + in the docstrings. + (isearch-pre-command-hook): Don't override shifted 'isearch-yank-on-move' + in 'isearch-allow-motion'. + +2021-09-13 Mattias Engdeg奪rd + + Remove duplication of `find` file pattern arguments + + * lisp/cedet/semantic/symref/grep.el + (semantic-symref-derive-find-filepatterns): Avoid including the same + pattern twice. + +2021-09-13 Andrea Corallo + + * Clean-up some unnecessary macro usage in comp.c + + * src/comp.c (emit_static_object) + (Fcomp_native_driver_options_effective_p, add_driver_options) + (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version): Clean-up + unenecessary 'defined (WINDOWSNT)' usage. + +2021-09-13 Lars Ingebrigtsen + + Continue NEWS tag checking + + Fix typo in previous files.el change + +2021-09-13 Lars Ingebrigtsen + + Mention unibyte issues in insert-file-contents-literally doc string + + * lisp/files.el (insert-file-contents-literally): Mention possible + issues with multibyte buffers (bug#50560). + +2021-09-13 Stefan Monnier + + * doc/lispref/variables.texi (named-let): Document TCO + +2021-09-13 Dmitry Gutov + + Fix the tests + + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-abs) + (xref--xref-file-name-display-is-nondirectory) + (xref--xref-file-name-display-is-relative-to-project-root): + Update for the latest change in xref.el. + +2021-09-13 Lars Ingebrigtsen + + Use a fringe mark in bookmark instead of a whole background line + + * lisp/bookmark.el (bookmark-face): Adjust colors. + (bookmark-fringe-mark): New bitmap. + (bookmark--fontify): Use a fringe instead of marking the whole line. + (bookmark--unfontify): Adjust to remove. + (bookmark--jump-via): Ditto. + (bookmark-set-fringe-mark): Renamed from bookmark-fontify. + (bookmark--set-fringe-mark, bookmark--remove-fringe-mark): Renamed + from --*fontify. Callers adjusted. + +2021-09-13 Lars Ingebrigtsen + + NEWS copy edits and tagging + + Correct nroff-mode NEWS entry after `M-o' changes + +2021-09-13 Lars Ingebrigtsen + + Mention how to disable auto-fill-mode in the auto-fill section + + * doc/lispref/text.texi (Margins): Mention how to disable + auto-fill-mode. + +2021-09-13 Lars Ingebrigtsen + + Document backtrace-on-error-noninteractive in the --batch section + + * doc/emacs/cmdargs.texi (Initial Options): Mention + backtrace-on-error-noninteractive. + +2021-09-13 Lars Ingebrigtsen + + Further NEWS tagging updates + +2021-09-13 Lars Ingebrigtsen + + completions-annotations doc string clarification + + * lisp/minibuffer.el (completions-annotations): Mention that it's + not always used. + +2021-09-13 Lars Ingebrigtsen + + Update some more NEWS tagging + +2021-09-13 Lars Ingebrigtsen + + Mention `benchmark-call' in the manual + + * doc/lispref/debugging.texi (Profiling): Mention `benchmark-call'. + +2021-09-13 Lars Ingebrigtsen + + Update some pcase NEWS tags for already-documented functions + + Update NEWS tagging for string helper functions + +2021-09-13 Lars Ingebrigtsen + + Document named-let and update some NEWS tags + + * doc/lispref/variables.texi (Local Variables): Document `named-let'. + +2021-09-13 Lars Ingebrigtsen + + Clarify bookmark-fontify NEWS entry + +2021-09-13 Lars Ingebrigtsen + + package-menu-execute doc string clarification + + * lisp/emacs-lisp/package.el (package-menu-execute): Say what + happens to upgrade-marked packages (bug#50551). + +2021-09-13 Lars Ingebrigtsen + + * etc/NEWS: Clarify insert-into-buffer (bug#50558). + +2021-09-13 Juri Linkov + + Support mouse events clicked on the tab bar but outside of any tab (bug#41343) + + * lisp/tab-bar.el (tab-bar--key-to-number): Return non-nil non-numeric t + when no tab is used. Return nil for current-tab. + (tab-bar-mouse-select-tab, tab-bar-mouse-close-tab): Do nothing + when tab-bar--key-to-number returns non-nil non-numeric t + for click events outside of any tab. + (tab-bar-mouse-context-menu): Add context menu when mouse is clicked + outside of tabs. Add "Duplicate" alongside with "Close" to the menu + used when mouse is clicked on a tab. + (toggle-tab-bar-mode-from-frame, toggle-frame-tab-bar): Move code + closer to 'tab-bar-show'. + + * src/xdisp.c (handle_tab_bar_click): Return Qtab_bar with empty list + when mouse is clicked on the tab bar but outside of any tab. + +2021-09-13 Lars Ingebrigtsen + + Only do multi-isearch in eww if there's next/prev links + + * lisp/net/eww.el (eww-handle-link): Only do multi-isearch if + there's a next/prev link in the HTML (bug#50497). + (eww-setup-buffer): Clear the function. + (eww-mode): Don't set it here. + +2021-09-13 Juri Linkov + + Change value of DEFAULT_TAB_BAR_BUTTON_MARGIN from 4 to 1 (bug#50424) + + * doc/emacs/frames.texi (Tab Bars): Improve documentation. + +2021-09-13 Lars Ingebrigtsen + + Fix detection of char regions in print-fontset-element + + * lisp/international/mule-diag.el (print-fontset-element): Fix the + regexp for "foo .. bar " (bug#50519). + +2021-09-13 Lars Ingebrigtsen + + Add some search-whitespace-regexp examples + + * lisp/isearch.el (search-whitespace-regexp): Add some + alternatives in the defcustom. + +2021-09-13 Lars Ingebrigtsen + + Mention get-byte in shortdoc + + * lisp/emacs-lisp/shortdoc.el (buffer): Mention `get-byte' here. + +2021-09-13 Tassilo Horn + + bug-reference.el: Adapt default debbugs bug regexp for IRC modes + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist): + Adapt regexp so that group 1 defines overlay region. + +2021-09-13 Tassilo Horn + + bug-reference.el: Adapt default debbugs bug regexp for mail modes + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist): + Adapt regexp so that group 1 defines overlay region. + +2021-09-13 Stefan Kangas + + Declare unused function cperl-inside-parens-p obsolete + + * lisp/progmodes/cperl-mode.el (cperl-inside-parens-p): Declare + unused function obsolete. + +2021-09-13 Stefan Kangas + + Improve checkdoc abbreviation handling + + * lisp/emacs-lisp/checkdoc.el + (checkdoc-in-abbreviation-p): New helper function. + (checkdoc-sentencespace-region-engine): Fix handling abbreviations + after escaped parenthesis. + + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-tests-in-abbrevation-p) + (checkdoc-tests-in-abbrevation-p/with-parens) + (checkdoc-tests-in-abbrevation-p/with-escaped-parens): New tests. + +2021-09-13 Stefan Kangas + + Remove some remaining references to XEmacs + + * lisp/allout.el (allout-overlay-preparations): + * lisp/cedet/semantic/decorate/include.el + (semantic-decoration-unknown-include-menu) + (semantic-decoration-fileless-include-menu): + * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-setup-timers): + * lisp/vc/ediff-init.el: + * lisp/vc/ediff-util.el (ediff-mode): Remove some remaining references + to XEmacs. + +2021-09-13 Dmitry Gutov + + Extend xref-file-name-display to elisp and etags definitions + + And all other types of locations (with a looks-like-file-name check). + + * lisp/progmodes/xref.el (xref--group-name-for-display): Extract + from xref-buffer-location's implementation of xref-location-group. + (xref-file-location): Define trivial reader for the 'file' slot. + (xref-location-group): Update docstring. + (xref--analyze): Use the new function here, to be able to format + group names coming from any location type. + +2021-09-12 Amin Bandali + + ERC: Use 'string-replace' only on Emacs 28 and later + + * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): + * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) + (erc-update-mode-line-buffer, erc-message-english-PART): Use + 'string-replace' only on Emacs 28 and later, otherwise use + 'replace-regexp-in-string' on older Emacsen. + +2021-09-12 Amin Bandali + + ERC: Use 'string-search' only on Emacs 28 and later + + * lisp/erc/erc-backend.el (erc-parse-server-response): + * lisp/erc/erc-dcc.el (erc-dcc-member): + * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) + (erc-speedbar-expand-channel, erc-speedbar-expand-user): + * lisp/erc/erc.el (erc-send-input): Use 'string-search' only on + Emacs 28 and later, otherwise use 'string-match' on older Emacsen. + +2021-09-12 Juri Linkov + + * lisp/tab-bar.el (tab-bar-get-buffer-tab): Use 'remq' instead of 'seq-remove' + +2021-09-12 Juri Linkov + + Allow region-related context menu to be used on selected region with one click + + * lisp/mouse.el (mouse-drag-track): Don't deactivate the mark for + the context menu invoked by down-mouse-3. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01577.html + +2021-09-12 Juri Linkov + + * lisp/thingatpt.el (thing-at-mouse): New function (bug#50256). + + * lisp/net/dictionary.el: Add 'context-menu-dictionary' to + 'context-menu-functions'. + (dictionary-search-word-at-mouse): New function. + (context-menu-dictionary): New function that uses 'thing-at-mouse'. + (dictionary-mouse-popup-matching-words): Remove stray 'selected-window'. + + * lisp/textmodes/flyspell.el (flyspell-context-menu): Add '_click' arg. + +2021-09-12 Juri Linkov + + * lisp/mouse.el (context-menu-map): Add 'click' arg to called funs (bug#50256) + + (context-menu-toolbar, context-menu-global, context-menu-local) + (context-menu-minor, context-menu-buffers, context-menu-vc) + (context-menu-undo, context-menu-region, context-menu-ffap): Add 'click' arg. + + * lisp/dired.el (dired-context-menu): + * lisp/help-mode.el (help-mode-context-menu): + * lisp/info.el (Info-context-menu): + * lisp/net/eww.el (eww-context-menu): + * lisp/net/goto-addr.el (goto-address-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): Add 'click' arg. + +2021-09-12 Eli Zaretskii + + Fix quoting style in Lisp comments + + * lisp/textmodes/rst.el: + * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): + * lisp/org/org.el: + * lisp/org/org-list.el (org-list-to-generic): + * lisp/org/org-compat.el: + * lisp/hexl.el (hexl-ascii-region): + * lisp/emacs-lisp/lisp-mode.el: + * lisp/calendar/calendar.el: In comments, quote 'like this'. + +2021-09-12 Juri Linkov + + * lisp/mouse.el (context-menu-map): Remove duplicate separators (bug#50067). + + * lisp/mouse.el (context-menu-undo, context-menu-region): + * lisp/progmodes/prog-mode.el (prog-context-menu): + Use 'when' instead of ':visible' that allows to remove duplicate separators + created between empty submenus. + +2021-09-12 Juri Linkov + + Use window-point in event-start and event-end (bug#50256) + + * lisp/subr.el (event-start, event-end): Provide window-point + as an arg for posn-at-point, and for the constructed list. + + * lisp/help-mode.el (help-mode-context-menu): Remove a kludge + that checked if window-buffer is current-buffer. + +2021-09-12 Juri Linkov + + * lisp/tab-bar.el: Improve logic of 'ignore-current-tab'. + + * lisp/tab-bar.el (tab-bar-get-buffer-tab): Prefer the current tab + when 'ignore-current-tab' is nil. + (display-buffer-in-tab): Use alist entry 'ignore-current-tab' + as the third arg of 'tab-bar-get-buffer-tab'. Improve docstring. + + Suggested by Feng Shu + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00955.html + +2021-09-12 Eli Zaretskii + + Minor copyedits in Emacs FAQ + + * doc/misc/efaq.texi (What was XEmacs?, Colors on a TTY): Fix + wording and improve the description. + +2021-09-12 Lars Ingebrigtsen + + Fix read-no-blanks-input doc string typo + + * lisp/minibuffer.el (read-no-blanks-input): Fix doc string typo. + +2021-09-12 dick r. chiang + + Fix read-no-blanks-input history argument + + * lisp/minibuffer.el (read-no-blanks-input): Use the + `minibuffer-history' symbol, not the value (bug#50535). + +2021-09-12 Mattias Engdeg奪rd + + Infer identifier namespace in elisp xref backend + + Improve the accuracy of `xref-find-definitions` by inferring the + likely namespace of the sought identifier from its context. + This reduces the number of irrelevant search hits when it is clear + what kind of identifier is being looked for (such as showing a + variable when the user looks for a function). + + Co-written with Dmitry Gutov. + + * lisp/progmodes/elisp-mode.el (elisp--xref-list-index) + (elisp--xref-infer-namespace, xref-backend-identifier-at-point): New. + (xref-backend-definitions): Use the buffer position for inferring. + (elisp--xref-find-definitions): Use the inferred namespace. + (xref-backend-apropos): Adapt call. + * test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-test--with-buffer) + (elisp-mode-with-buffer, elisp-mode-infer-namespace): New tests. + +2021-09-12 Martin Rudalics + + ;* lisp/window.el (switch-to-prev-buffer): Fix typo in doc-string. + +2021-09-12 Martin Rudalics + + Improve doc-strings of some buffer display options (Bug#50518) + + * lisp/window.el (pop-up-frame-alist, same-window-buffer-names) + (same-window-regexps, pop-up-frames, pop-up-windows): In + doc-strings say that these options are maintained for backward + compatibility only (Bug#50518). + +2021-09-12 Eli Zaretskii + + Improve documentation of tab bars in the Emacs manual + + * doc/emacs/frames.texi (Tab Bars): Improve wording, indexing, and + cross-references. Make sure each command is mentioned by its name + when it is called out by the key sequence. Index entries should + precede @item lines in a @table. + +2021-09-12 Eli Zaretskii + + Improve documentation of some tab-bar features + + * lisp/tab-bar.el (tab-bar-show, toggle-frame-tab-bar): Doc + fixes. + + * etc/NEWS: Update the corresponding entries. + +2021-09-12 Olivier Certner + + ERC: Track: Fix a perceived minor bug in mode line face selection + + * lisp/erc/erc-track.el (erc-track-modified-channels): Fix what is a + probable bug when a new insert event happens for a buffer that was not + tracked or for which no mode line face was selected: in this case, + stop treating the latest buffer's face (first in list) as the previous + one, which could be overridden with an older one (in FACES' rest), as + if it had happened after. + +2021-09-12 Olivier Certner + Amin Bandali + + ERC: Track: Rewrite 'erc-track-find-face' as 'erc-track-select-mode-line-face' + + * lisp/erc/erc-track.el (erc-track-find-face): Declare obsolete and + rewrite as 'erc-track-select-mode-line-face', changing the function + arguments, so that it is very clear what the current algorithm is. + No functional changes. Performance improvements. Clarify the + documentation and remove the part on some faces being lists, which + clearly does not apply. + (erc-track-modified-channels): Replace calls to 'erc-track-find-face' + with calls to 'erc-track-select-mode-line-face', preserving the + existing behavior. + (erc-modified-channels-alist): Change the reference to + 'erc-track-select-mode-line-face' in the documentation following the + rename. + * etc/NEWS: Announce the change. + +2021-09-12 Amin Bandali + + Merge from origin/emacs-27 + + d7f4cc0974 ERC: Track: Clarify documentation on tracked buffers and a... + fb1f0dfec9 ERC: Track: Fix documentation of structure of 'erc-modifie... + 252a769b11 ; * doc/lispref/files.texi (Changing Files): Fix xref to f... + edc93a5ce6 ; Fix grammar in efaq.texi on Emacs vs XEmacs. + + # Conflicts: + # doc/misc/efaq.texi + +2021-09-12 Olivier Certner + + ERC: Track: Clarify documentation on tracked buffers and add references + + * lisp/erc/erc-track.el (erc-modified-channels-alist): Clarify what + the list contains. Add references to variables and functions involved + in displaying tracked buffers from this list. + (erc-make-mode-line-buffer-name): Describe exactly the algorithm, and + reference custom variables that influence it. + +2021-09-12 Olivier Certner + + ERC: Track: Fix documentation of structure of 'erc-modified-channels-alist' + + * lisp/erc/erc-track.el (erc-modified-channels-alist): Fix the + docstring: each element is a dotted list where the last cdr is + sometimes a proper list, making the element only sometimes a proper + list. + +2021-09-12 Dmitry Gutov + + Re-fix bug#16897 + + * lisp/vc/vc-git.el (vc-git--file-list-is-rootdir): + Extract from 'vc-git-command'. + (vc-git--literal-pathspecs): Use it here as well. + +2021-09-11 Tassilo Horn + + Refactor bug-reference setup for software forges + + * lisp/progmodes/bug-reference.el (bug-reference-gitea-instances) + (bug-reference-gitlab-instances,bug-reference-sourcehut-instances): + Delete defvars. Those are replaced with bug-reference-forge-alist. + (bug-reference-forge-alist): New variable. + (bug-reference--build-forge-setup-entry): New cl-defgeneric with + methods for github, gitlab, gitea, and sourcehut instances. + (bug-reference--setup-from-vc-alist): Use bug-reference-forge-alist + and bug-reference--build-forge-setup-entry. + * doc/emacs/maintaining.texi (Bug Reference): Mention that the first + group in bug-reference-bug-regexp defines the overlay bounds. Also + mention bug-reference-forge-alist in VCS setup section. + +2021-09-11 Philip Kaludercic + + * NEWS: Remove empty entry + + * NEWS: Mention rcirc changes + +2021-09-11 Mattias Engdeg奪rd + + Fix byte-compilation warnings + + * lisp/calc/calc-graph.el (calc-gnuplot-check-for-errors): + * lisp/calendar/holidays.el (list-holidays): + Dodge 'save-excursion+set-buffer' warnings that appeared after + the progn flattening was introduced. + +2021-09-11 Mattias Engdeg奪rd + + Remove obsolete variable + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize--vars-outside-condition): Remove. + (byte-optimize-form-code-walker): Remove bindings. + +2021-09-11 Mattias Engdeg奪rd + + Propagate aliased lexical variables in byte compiler + + Replace uses of a variable aliasing another variable with that aliased + variable, to allow for variable removal when possible. This also + enables opportunities for other optimisations. Example: + + (let ((y x)) (f y)) => (f x) + + The optimisation is only performed if both aliased and aliasing + variables are lexically bound. Shadowing bindings are 留-renamed when + necessary for correctness. Example: + + (let* ((b a) (a EXPR)) (f a b)) + => (let* ((a{new} EXPR)) (f a{new} a)) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--aliased-vars): New. + (byte-optimize-form-code-walker): Cancel aliasing upon mutation. + (byte-optimize--rename-var-body, byte-optimize--rename-var): New. + (byte-optimize-let-form): Add the optimisation. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add relevant test cases. + +2021-09-11 Philip Kaludercic + + * rcirc.texi: Replace defun-rcirc-command with rcirc-define-command + + * rcirc.texi: Document rcirc-track-abbrevate-flag + + * rcirc.texi: Document rcirc-nick-filter and rcirc-channel-filter + + * rcirc.texi: Document rcirc-track-ignore-server-buffer-flag + + * rcirc.texi: Document rcirc-omit-responses-after-join + +2021-09-11 Philip Kaludercic + + Rename rcirc-omit-after-reconnect to rcirc-omit-after-connect + + * rcirc.el (rcirc-omit-after-reconnect): Remove variable + (rcirc-omit-responses-after-join): Add variable + (rcirc-reconncting): Remove variable + (rcirc-joined): Add variable + (rcirc-get-buffer-create): Set rcirc-joined + (rcirc-print): Use rcirc-joined + (reconnect): Remove code relating to rcirc-reconncting + +2021-09-11 Augusto Stoffel + + Keep python.el compatible with older Emacsen + + * progmodes/python.el (python-shell-send-string): Don't assume + comint-max-line-length is defined (bug#50503). + +2021-09-11 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory): Simplify. + + * lisp/net/tramp-sh.el (tramp-methods) : Don't use + "%n" marker. + + * test/lisp/net/tramp-tests.el (tramp-test13-make-directory): Merge with + `tramp-test-make-directory-helper' and + `tramp-test13-make-directory-with-file-modes'. + (tramp-test44-asynchronous-requests): Use always the same + operation in timer. + +2021-09-11 Augusto Stoffel + + Allow using 'python-shell-send-file' across machines + + * progmodes/python.el (python-shell-eval-file-setup-code): Look for a + file coding cookie on the Python rather than on the Emacs side, to + avoid additional file transfers. + (python-shell--save-temp-file): Allow argument to be a buffer. + (python-shell-send-file): Address the case where the selected file and + the inferior process are on different machines (bug#50516). + +2021-09-11 Augusto Stoffel + + Implement caching for 'python-shell-completion-at-point' + + * lisp/progmodes/python.el (python-shell-completion-at-point): cache + results, since computing them involves talking with the inferior + process and, potentially, network communications + (python-shell--capf-cache): new variable, for cache + (python-shell-completion-get-completions) + (python-shell-completion-native-get-completions): 'import' argument is + not needed anymore. + (python-shell-completion-native-setup) + (python-shell-completion-native-try): pass the setup code + synchronously, to avoid printing a message in the shell (bug#50459). + +2021-09-11 Alan Third + + Fix display of tab-bar buttons + + * src/xterm.c (x_draw_image_relief): + * src/w32term.c (w32_draw_image_relief): Fix the display of + tab-bar buttons when mouse pointer moves off the button. + (Bug#50424) + +2021-09-11 Eli Zaretskii + + Document tool-bar and tab-bar mouse events + + * doc/lispref/commands.texi (Click Events): Document the format of + POSITION for tab-bar and tool-bar events. + +2021-09-11 Eli Zaretskii + + Fix tab-bar scrolling for mice that report mouse-wheel events + + * src/keyboard.c (make_lispy_position): Call + 'window_from_coordinates' with last 2 arguments non-zero, to have + it report on tool-bar and tab-bar positions. Tweak the return + value according to the expectations of 'make_lispy_event'. + (make_lispy_event): No more need to inject "tab-bar" into a click + event on the tab bar: it's already there. + +2021-09-11 Tassilo Horn + + bug-reference-bug-regexp now defines a contract for the overlay region + + Formerly, bug-reference-fontify placed the overlay on the complete + match of bug-reference-bug-regexp. That made it impossible to encode + constraints like "must not match at BOL" in the regexp without messing + up fontification. Therefore, now it establishes the contract that + subexpression 1 defines the overlay region. Subexpression 2 must + still match the part of the bug reference injected into + bug-reference-url-format if that's a string. If its a function, the + interpretation of subexpressions > 1 is up to the function. + + For backwards compatibility, bug-reference-fontify checks if the + bounds of subexpression 2..10 are within the bounds of subexpession + 1. If not, or subexpression 1 doesn't even exist/match, we fall back + to placing the overlay from (match-beginning 0) to (match-end 0) but + issue a warning. + + * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Document + contract that subexpression 1 defines the overlay region and adapt the + default value accordingly. + (bug-reference--nonconforming-regexps): New internal variable. + (bug-reference--overlay-bounds): New function. + (bug-reference-fontify): Place overlay on subexpression 1's bounds if + bug-reference-bug-regexp conforms to the documented contract. + (bug-reference--setup-from-vc-alist): Adapt regexps to new contract. + * doc/emacs/maintaining.texi (Bug Reference): Adapt regexp used in + example. + +2021-09-11 Stefan Kangas + + * lisp/info.el (Info-streamline-headings): Add entry. + +2021-09-11 Eli Zaretskii + + Improve documentation of Show Paren mode + + * doc/emacs/programs.texi (Matching): Improve wording and + indexing. (Bug#29381) + +2021-09-11 Eli Zaretskii + + Fix restoring from pdumper file on MS-Windows 9X + + * src/pdumper.c (dump_map_file_w32): Use PAGE_WRITECOPY flag when + calling CreateFileMapping for DUMP_MEMORY_ACCESS_READWRITE access, + as that is required by Windows 9X. (Bug#50453) + +2021-09-11 Dmitry Gutov + + New minor mode 'show-paren-local-mode' + + * lisp/paren.el (show-paren--delete-overlays): + New function, extracted from show-paren-mode. + (show-paren-local-mode): New minor mode. + (show-paren-mode): Update docstring to mention it (bug#29381). + + * doc/emacs/programs.texi (Matching): Update show-paren-mode section. + +2021-09-11 Tassilo Horn + + Improve overlay placement performance + + * lisp/progmodes/bug-reference.el (bug-reference--overlays-in): New + function. + (bug-reference-unfontify): Use it. + (bug-reference-fontify): Reuse and move existing overlays instead of + deleting all and creating them anew. + +2021-09-10 Arthur Miller + + Add support for GCC compiler command-line options + + * lisp/emacs-lisp/comp.el ('native-comp-compiler-options): New option. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Add support + for new 'native-comp-compiler-options'. + * src/comp.c (Fcomp_native_compiler_options_effective_p): New function. + (add_compiler_options): New function. + (Fcomp__compile_ctxt_to_file): Call 'add_compiler_options'. + +2021-09-10 Philip Kaludercic + + Merge branch 'master' into feature/rcirc-update + +2021-09-10 Philip Kaludercic + + Fix double reconnection bug + + * rcirc.el (rcirc-sentinel): Don't reconnect if reconnecting + (reconnect): Use delete-process instead of kill-process + +2021-09-10 Dmitry Gutov + + Fix test find-defs-defgeneric-el + + * test/lisp/progmodes/elisp-mode-tests.el (find-defs-defgeneric-el): + Fix the test. Reported by dick.r.chiang@gmail.com. + +2021-09-10 Lars Ingebrigtsen + + Revert usage of format-prompt in python.el + + * lisp/progmodes/python.el (python-eldoc-at-point): Revert usage + of format-prompt in python.el since this is also an ELPA package + (and older Emacs versions doesn't have format-prompt). + +2021-09-10 Augusto Stoffel + + Properly encode all strings sent to Python shell + + * lisp/progmodes/python.el: Now depends on Emacs 28. + (python-shell-package-enable, python-shell-completion-get-completions) + (python-ffap-module-path, python-eldoc--get-doc-at-point): Enconde + Python strings using 'python-shell--encode-string' instead of triple + quotes. + (python-shell-completion-string-code, python-eldoc-string-code) + (python-ffap-string-code): Remove defcustoms. (bug#50503). + +2021-09-10 Stephen Gildea + + Tramp: honor default file modes in make-directory + + * lisp/net/tramp-sh.el: + * lisp/net/tramp-adb.el: + * lisp/net/tramp-sudoedit.el: + * lisp/net/tramp-gvfs.el: Add support for default file modes to + relevant Tramp back ends for make-directory. (Closes: Bug#50410) + * test/lisp/net/tramp-tests.el (tramp-test13-make-directory-with-file-modes): + New test. + * etc/NEWS: Note this enhancement. + + Thanks to Michael Albinus for helping improve this patch. + +2021-09-10 Eli Zaretskii + + Doc string followup to last change. + + * lisp/progmodes/xref.el (xref-find-apropos): Mention + 'tags-apropos-additional-actions' in the doc string. + * lisp/progmodes/etags.el (tags-apropos-additional-actions): + Mention 'xref-find-apropos' in the doc string. + +2021-09-10 Eli Zaretskii + + Document 'tags-apropos-additional-actions' with Xref + + * doc/emacs/maintaining.texi (Looking Up Identifiers): Rearrange + and reword documentation of 'xref-find-apropos' and + 'xref-auto-jump-to-first-definition'. Add the description of + 'tags-apropos-additional-actions'. Delete the comment with + not-yet implemented features that were available with + 'tags-apropos'. + + * etc/NEWS: Augment the wording of 'xref-find-apropos' entry. + +2021-09-10 Lars Ingebrigtsen + + Further fix for the search-whitespace-regexp change + + * lisp/isearch.el (search-whitespace-regexp): Fix yet another typo + in this one-line change (bug#21278). + +2021-09-10 Gregory Heytings + + New user options to move between isearch matches + + * lisp/isearch.el (isearch-allow-motion, + isearch-motion-changes-direction): New user options. + (isearch-pre-command-hook): Handle the new options. + + * etc/NEWS: Mention the new user options. + + * doc/emacs/search.texi: Document the new user options. + +2021-09-10 Lars Ingebrigtsen + + Fix typo in previous search-whitespace-regexp change + + * lisp/isearch.el (search-whitespace-regexp): Fix typo in last + checkin for this variable. + +2021-09-10 Gregory Heytings + + Fix behavior of isearch-{beginning,end}-of-buffer + + * lisp/isearch.el (isearch-beginning-of-buffer) + (isearch-end-of-buffer): Fix their behavior when + isearch-repeat-on-direction-change is non-nil (bug#50466). + +2021-09-10 Lars Ingebrigtsen + + Change the default value of search-whitespace-regexp + + * lisp/isearch.el (search-whitespace-regexp): Change the default + to always exclude newlines from the set (bug#21278). It used to + be mode-dependent whether newlines were included or not, and this + was confusing as a user interface. + +2021-09-10 Dmitry Gutov + + * lisp/progmodes/ruby-mode.el (ruby-current-indentation): Tweak obsoletion. + +2021-09-10 Dmitry Gutov + + Support tags-apropos-additional-actions in etags Xref backend + + * lisp/progmodes/etags.el (xref-etags-apropos-location): + New class. + (xref-location-marker): New method definition. + (xref-make-etags-apropos-location): New function. + (etags--xref-apropos-additional): New function. + (xref-backend-apropos): Use it here. + +2021-09-09 Eli Zaretskii + + Improve documentation of tab-bar functions and variables + + * etc/NEWS: Improve wording of tab-bar related entries. + + * lisp/tab-bar.el (tab-bar-show, tab-bar-select-tab-modifiers): + Improve and clarify the doc strings. + +2021-09-09 Eli Zaretskii + + Fix a recent change wrt 'comint-max-line-length' + + * lisp/progmodes/python.el (python-shell-send-string): Only heed + 'comint-max-line-length' for subprocesses with which we + communicate via PTYs. (Bug#49822) + + * lisp/comint.el (comint-max-line-length): Doc fix. Add a value + for MS-Windows. + +2021-09-09 Stefan Monnier + + Change ruby-align-chained-calls indendation + + * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Align with the + first sibling on the previous line instead of the last (bug#32496). + + That is, before it used to be + + one.two.three + .four + + and now it is + + one.two.three + .four + +2021-09-09 Augusto Stoffel + + Better treatment of line length limits for the Python inferior + + * lisp/comint.el (comint-max-line-length): New constant reflecting a + safe maximum line size that can be sent to an inferior process. + * lisp/progmodes/python.el + (python-shell-comint-watch-for-first-prompt-output-filter): Send setup + code to the inferior process only once and at this stage. + (python-shell-eval-setup-code, python-shell-eval-file-setup-code): + Move, unchanged, to an earlier point to avoid byte-compiler warnings. + (python-shell-send-string-no-output): Revert changes of e32c7d2a8d + (python-shell-send-string): Use 'comint-max-line-length' to decide + when to resort to temp files. + (python-shell-send-string, python-shell-send-file): Don't send setup + code each time (bug#49822). + +2021-09-09 Lars Ingebrigtsen + + Clarify Gnus vs. font locking in the Gnus manual + + * doc/misc/gnus.texi (Formatting Variables): Explicitly mention + that font locking doesn't work in Gnus buffers (bug#50474). + +2021-09-09 Lars Ingebrigtsen + + Remove the "Real meaning of copyleft" node in efaq + + * doc/misc/efaq.texi (Real meaning of copyleft): Remove the + section (bug#50446). + (Common acronyms): Add a link to the GNU site's page about licenses. + +2021-09-09 Juri Linkov + + Merge branch 'feature/tab-bar-events' + +2021-09-08 Michael Albinus + + Document restriction of completion styles with remote file names + + * doc/misc/tramp.texi (File name completion): Mention restriction + of completion styles. + +2021-09-08 Lars Ingebrigtsen + + Don't ding at the user in pop-mark + + * lisp/simple.el (pop-mark): Don't ding at the user if there's no + mark to pop (bug#44375). This function is used (in some + circumstances) when the user mouse-1-clicks links (in *Help* + buffer, for instance), which will then ding at the user before + following the link. + +2021-09-08 Lars Ingebrigtsen + + Further tweak describe-variable look + + * lisp/help-fns.el (describe-variable): Tweak how long variable + values are shown. + +2021-09-08 Mattias Engdeg奪rd + + * etc/NEWS: macOS alternative context menu mouse binding. + +2021-09-08 Lars Ingebrigtsen + + Fix previous help-fns change + + * lisp/help-fns.el (help-fns--run-describe-functions): Fix the + test for whether the function inserted anything. + +2021-09-08 Lars Ingebrigtsen + + Adjust test to describe-function changes + + The doc now always ends with an empty line + +2021-09-08 Miha Rihtar邸i + + Allow kmacros to end with C-g in minibuffer + + * src/keyboard.c (cmd_error): If a command causes a minibuffer-quit + condition, record its key in a keyboard macro (bug#48603). + +2021-09-08 Lars Ingebrigtsen + + Add support for keypad `=' key in xterm.el + + * lisp/term/xterm.el (xterm-function-map): Add support for keypad + = key (bug#16645). + +2021-09-08 Lars Ingebrigtsen + + Don't disable ipython as a native interpreter + + * lisp/progmodes/python.el + (python-shell-completion-native-disabled-interpreters): Remove + ipython from list, because it apparently works fine these days + (bug#50458). + +2021-09-08 Lars Ingebrigtsen + + Fix mail-user-agent defcustom type + + * lisp/simple.el (mail-user-agent): Any symbol can be used as the + value (bug#50460). + +2021-09-08 Lars Ingebrigtsen + + Move the indented *Help* block to after the doc string + + * lisp/help-fns.el (describe-function-1): Move indented admin + block to the end (bug#50463). + (describe-variable): Ditto (bug#50463). + +2021-09-08 Lars Ingebrigtsen + + Don't output "probably introduced" if we know the answer for sure + + * lisp/help-fns.el (help-fns--customize-variable-version): + Factored out from `help-fns--customize-variable' to be able to see + whether it outputs anything. + (help-fns--run-describe-functions): New function. + (help-fns--activated-functions): New internal variable. + (describe-variable): Use new function. + (describe-face, describe-function-1): Ditto (bug#50463). + +2021-09-08 Stefan Kangas + + Center Emacs logo above text on the splash screen + + * lisp/startup.el (fancy-splash-head): Center Emacs logo above + text on the splash and about screen. + +2021-09-08 Dmitry Gutov + + Have Git backend actions accept nil filenames again + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Move the nil check to the beginning (bug#50422). + +2021-09-07 Harald J旦rg + + cperl-mode.el: Use rx sequences for Perl grammar + + Following advice by Mattias Engdeg奪rd, most uses of rx-to-string + were eliminated, and rx sequences used instead to define Perl + grammar components. + * lisp/progmodes/cperl-mode.el: (cperl-block-declaration-p): New + function, replaces regexp literals. + (cperl-imenu--function-name-regexp-perl): Deleted, use rx + sequences to find imenu entries instead. + (cperl-indent-line): Use rx components instead of regexp literals. + (cperl-sniff-for-indent): use `cperl-block-declaration-p' to + increase accuracy, use rx sequence for labels to replace + inaccurate regexp literals. + (cperl-block-p): Replace inline comment by docstring. Use + `cperl-block-declaration-p'. + (cperl-after-block-p): Use `cperl-block-declaration-p'. + (cperl-after-block-and-statement-beg): Replace inline comment by + docstring. + (cperl-imenu-package-keywords), (cperl-imenu-sub-keywords), + (cperl-imenu-pod-keywords) : New variables to sort imenu + entries into categories. + (cperl-imenu--create-perl-index): Use rx sequences to collect + imenu entries. + (cperl-init-faces): Use rx components instead of regexp literals + for labels. + + * test/lisp/progmodes/cperl-mode-tests.el: Test rx sequences + instead of regexp strings + +2021-09-07 Philip Kaludercic + + Add rcirc-track-ignore-server-buffer-flag option + + * rcirc.el (rcirc-track-ignore-server-buffer-flag): Add option + (rcirc-record-activity): Use rcirc-track-ignore-server-buffer-flag + +2021-09-07 Eric Abrahamsen + + Don't let nndiary.el alter variables when loading file + + * lisp/gnus/nndiary.el (nndiary-open-server): Move the manipulation of + `gnus-extra-headers' and `nnmail-extra-headers' into this function: it + should only happen if we're actually firing up an nndiary server. + Previously, simply attempting to complete a gnus-* prefixed symbol + could end up loading this file, and changing the variable values. + +2021-09-07 Alan Mackenzie + + Increase jit-lock-chunk-size from 500 to 1500 for performance reasons + + * lisp/jit-lock.el (jit-lock-chunk-size): Increase to 1500. + + See also https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00540.html. + +2021-09-07 Lars Ingebrigtsen + + Encode urls more before using in browse-url + + * lisp/net/browse-url.el (browse-url-default-windows-browser) + (browse-url-default-macosx-browser): Encode the URL before using + (in case it contains spaces) (bug#50435). + +2021-09-07 Lars Ingebrigtsen + + Fix encoding in browse-url-encode-url + + * lisp/net/browse-url.el (browse-url-url-encode-chars): Document + what the argument really is, and simplify the implementation + (bug#50435). + (browse-url-encode-url): Encode spaces. + +2021-09-07 Alex Bochannek + + Add a new Gnus command to toggle whether to use fonts in shr + + * doc/misc/gnus.texi (Article Washing): Document it. + + * lisp/gnus/gnus-art.el (gnus-article-toggle-fonts): New command + and key binding (bug#50383). + +2021-09-07 Lars Ingebrigtsen + + Improve the Info mode line further + + * lisp/info.el (Info-set-mode-line): Improve the Info mode line + further (bug#13776). + +2021-09-07 Eli Zaretskii + + Fix a recent documentation change + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref): + * etc/NEWS: Fix wording and typos. + +2021-09-07 Glenn Morris + + Merge from origin/emacs-27 + + 97aa8240d2 (origin/emacs-27) * doc/misc/efaq.texi: Misc copyedits. + e1050492d1 * doc/misc/efaq.texi (Reporting bugs): Refer to the Emacs ... + + # Conflicts: + # doc/misc/efaq.texi + +2021-09-07 Michael Albinus + + Adapt tramp-test26-file-name-completion + + * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion): + Do not check for default method. + +2021-09-07 Eli Zaretskii + + Improve documentation of new Xref options + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref): More accurate description in the + doc strings. + + * doc/emacs/maintaining.texi (Looking Up Identifiers) + (Identifier Search, List Identifiers, Project File Commands): Fix + the documentation of 'xref-auto-jump-to-first-definition' and + 'xref-auto-jump-to-first-xref' to be more accurate. + + * etc/NEWS: More accurate wording of the entry about + 'xref-auto-jump-to-first-definition' and + 'xref-auto-jump-to-first-xref'. + +2021-09-07 Michael Albinus + + Do not expand default method, user, host in remote file name completion + + * lisp/net/tramp.el (tramp-completion-handle-file-name-all-completions): + Do not expand default method, user, host. (Bug#50387) + (tramp-get-completion-methods): `partial-method' can be nil. + +2021-09-07 Eli Zaretskii + + Fix display of tab-bar buttons + + * src/xterm.c (x_draw_image_relief): + * src/w32term.c (w32_draw_image_relief): Fix calculation of relief + thickness for tab-bar buttons. + + * lisp/tab-bar.el (tab-bar--load-buttons) + (tab-bar-history-mode): Fix the :margin specification for tab-bar + buttons. (Bug#50424) + +2021-09-07 Philip Kaludercic + + Use fresh symbol for argument list + + * rcirc.el (rcirc-define-command): Use make-symbol instead of gensym + +2021-09-07 Philip Kaludercic + + Allow /reconnect while connecting + + * rcirc.el (reconnect): Kill previous process and start a new one + +2021-09-07 A + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): Git env tweak. + +2021-09-07 Dmitry Gutov + Jiacai Liu + + Support specifying just one command in project-switch-commands + + * lisp/progmodes/project.el (project-switch-commands): + Describe the new possible type of value. + (project--switch-project-command): + New function, extract from project-switch-project. + (project-switch-project): If project-switch-commands's value is a + symbol, invoke that command without showing a menu. + +2021-09-07 Stefan Kangas + + Small FAQ fixes + + * doc/misc/efaq.texi (Colors on a TTY): Remove reference to + ancient Emacs version 22. + (Finding Emacs on the Internet): Use more current terminology. + +2021-09-07 Stefan Kangas + + Remove Emacs FAQ maintainer + + * doc/misc/efaq.texi: Remove maintainer Romain Francoise after private + communication. + +2021-09-07 Stefan Kangas + + * etc/NEWS: Some further re-organization. + + * etc/NEWS: Clarify entry about the "*Completions*" buffer. + +2021-09-06 Philip Kaludercic + + Mention list of capabilities that should be implemented + + * rcirc.el (rcirc-implemented-capabilities): Add comment + +2021-09-06 Philip Kaludercic + + Implement standard-replies capability + + * rcirc.el (rcirc-implemented-capabilities): Add standard-replies to list + (rcirc-response-formats): Add response formats for WARN, FAIL and NOTE + (rcirc-handler-FAIL): Add handler + (rcirc-handler-WARN): Add handler + (rcirc-handler-NOTE): Add handler + +2021-09-06 Philip Kaludercic + + Connect to server asynchronously + + * rcirc.el (rcirc-connect): Add :nowait option to open-network-stream + (rcirc-sentinel): Handle "open\n" events + +2021-09-06 Tassilo Horn + + Add possibility to override the default highlighting + + * lisp/progmodes/bug-reference.el (bug-reference-fontify): Highlight + 99th group if it exists. + (bug-reference-bug-regexp): Document that regexp group 99 can be used + to override the default behavior of highlighting the complete match. + (bug-reference--run-auto-setup): Use run-hook-with-args-until-success + instead of throw/catch. + +2021-09-06 Mattias Engdeg奪rd + + Normalise nested `progn` forms in byte-code optimiser + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-body): Flatten body. + This simplifies the source tree and reduces the number of different + cases that other optimisations need to take into account. + +2021-09-06 Mattias Engdeg奪rd + + More robust optimisation of `ignore` + + Treat `ignore` as any other function during source-level optimisation, + to avoid having its warning-suppression effects cancelled by repeated + passes. Instead, define a custom code generation function. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Don't treat `ignore' specially here. + (side-effect-free-fns): Don't mark `ignore` as side-effect-free + or error-free (although it is), since that would allow the optimiser + to elide calls. + * lisp/emacs-lisp/bytecomp.el (ignore, byte-compile-ignore): + Define and register a code-gen function. + +2021-09-06 Mattias Engdeg奪rd + + Optimise `member` and `assoc` (etc) with constant empty list + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize-assq): New. + (byte-optimize-member, byte-optimize-assoc, byte-optimize-memq): + When the list argument is constant nil, the result is always nil. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test cases. + +2021-09-06 Dmitry Gutov + + Fixup dired-do-find-regexp-and-replace + + * lisp/dired-aux.el (dired-do-find-regexp-and-replace): + Disregard the customized value of xref-auto-jump-to-first-xref + (it breaks the xref-query-replace-in-results invocation). + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-xref): + Mention the caveat for users or xref distributed through ELPA. + +2021-09-06 Michael Albinus + + Revert an accidential change in etc/NEWS + +2021-09-06 Lars Ingebrigtsen + + Make calc-grab-region work with rectangular selects + + * lisp/calc/calc.el (calc-grab-region): Heed `rectangle-mark-mode' + (bug#50403). + +2021-09-06 martin rudalics + + Restore the debugging window size more reliably + + * lisp/emacs-lisp/debug.el (debug): Restore the debugging window + size more reliably (bug#12921). + +2021-09-06 Lars Ingebrigtsen + + Add a tooltip to the comint-mode mode line format + + * lisp/comint.el (comint-mode): Add a tooltip to say what the :run + bit means (bug#13776). + +2021-09-06 Lars Ingebrigtsen + + Improve the info-mode mode line + + * lisp/info.el (Info-set-mode-line): Add a help echo to help + explain what the thing in parentheses is (bug#13776). + +2021-09-06 Lars Ingebrigtsen + + Simplify `image-dired-dired-file-marked-p' + + * lisp/image-dired.el (image-dired-dired-file-marked-p): Use + `dired-re-mark' instead of open-coding the opposite regexp (bug#14925). + +2021-09-06 Lars Ingebrigtsen + + Improve the gnus-group-default-list-level doc string + + * lisp/gnus/gnus-group.el (gnus-group-default-list-level): Improve + doc string. + +2021-09-06 Lars Ingebrigtsen + + Reset gnus-group-use-permanent-levels when Gnus restarts + + * lisp/gnus/gnus-start.el (gnus-clear-system): Reset + `gnus-group-use-permanent-levels' upon Gnus restart (bug#50416). + +2021-09-06 Allen Li + + Make `gnus-group-use-permanent-levels' work better + + * lisp/gnus/gnus-group.el (gnus-group-default-level): Removed implicit + setting of gnus-group-use-permanent-levels. + (gnus-group-list-groups): Set gnus-group-use-permanent-levels + explicitly. + (gnus-group-get-new-news): Set gnus-group-use-permanent-levels + explicitly (bug#50417). + (gnus-group-get-new-news): When the user has given a numeric + prefix, use that as the list level. + +2021-09-06 Juri Linkov + + * etc/NEWS: Reorder "Isearch and Replace" items + +2021-09-06 Eli Zaretskii + + * doc/emacs/maintaining.texi (Xref Commands): Fix indexing. + +2021-09-06 Stefan Kangas + + * etc/NEWS: Improve file organization. + +2021-09-06 Stefan Kangas + + Improve documentation of save-place-abbreviate-file-names + + * lisp/saveplace.el (save-place-abbreviate-file-names): Document why + you might want to enable this option. + +2021-09-06 Stefan Kangas + + * etc/NEWS: Don't mention a fixed bug. + +2021-09-06 Dmitry Gutov + + project--files-in-directory: Fix handling of ignores + + * lisp/progmodes/project.el (project--files-in-directory): + Pass "." as the DIR argument to 'find' because otherwise the ignore + expression can match the project root directory name, which we don't + want to happen (bug#50240). Fixup the resulting file names at the end + with concatenation. + Originally I thought it could lead to worse performance, but the + results show equal or slightly better timings. + + * lisp/progmodes/xref.el (xref-matches-in-directory): + Apply a similar fix. + (xref--find-ignores-arguments): Use file-name-as-directory, so + that when passed "." replace-match still had the expected effect. + + * test/lisp/progmodes/project-tests.el (project-ignores-bug-50240): + New test. + + * test/lisp/progmodes/xref-tests.el + (xref-matches-in-directory-filters-with-ignores): New test. + +2021-09-06 Dmitry Gutov + + Try to fix vc-test-git06-version-diff on Hydra + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): + Fix Git backend when running in clean environment. + (vc-test-git06-version-diff): Unskip on Hydra. + +2021-09-06 Glenn Morris + + * doc/misc/efaq.texi: Misc copyedits. + + Prefer mailing lists to newgroups. + (History of Emacs): Rename from "Status of Emacs". + Move XEmacs node here. + (Emacs for other operating systems): Merge all the "non-Unix" + systems into a single node. + +2021-09-05 Glenn Morris + + * test/lisp/vc/vc-tests.el (vc-test-git06-version-diff): Skip on hydra. + +2021-09-05 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump the version again. + +2021-09-05 Philip Kaludercic + + Implement multi-prefix capability + + * rcirc.el (rcirc-implemented-capabilities): Add capability + (rcirc-user-nick): Handle multiple prefixes + +2021-09-05 Philip Kaludercic + + Fix rcirc-track-abbrevate-flag documentation + + * rcirc.el (rcirc-track-abbrevate-flag): Rephrase docstring + +2021-09-05 Philip Kaludercic + + Store symbols in rcirc-acked-capabilities + + * rcirc.el (rcirc-handler-CAP): Use intern and downcase + +2021-09-05 Juri Linkov + + Improve tab-bar event handling (bug#41343) + + * lisp/tab-bar.el (tab-bar--key-to-number): Rename from tab--key-to-number. + (tab-bar--event-to-item): New function from tab-bar-handle-mouse. + (tab-bar-mouse-select-tab, tab-bar-mouse-close-tab) + (tab-bar-mouse-context-menu, tab-bar-mouse-move-tab): + Use tab-bar--event-to-item. + + * src/menu.c (x_popup_menu_1): Handle Qtab_bar in the second list element. + + * src/xdisp.c (tty_get_tab_bar_item): Change arg 'end' to bool 'close_p'. + (tty_get_tab_bar_item): Detect if the close button was clicked. + (tty_handle_tab_bar_click): Return a list with caption that has + text properties. + +2021-09-05 Philip Kaludercic + + Print value on malformed input + + * rcirc.el (rcirc-define-command): Unquote argument + +2021-09-05 Lars Ingebrigtsen + + Autoload cl-struct-slot-info + + * lisp/emacs-lisp/cl-macs.el (cl-struct-slot-info): Autoload + (bug#50301). + + * test/lisp/emacs-lisp/memory-report-tests.el: Don't require cl-macs. + +2021-09-05 Lars Ingebrigtsen + + Improve the documentation around the read-key/minibuffer prompting + + * lisp/subr.el (read-char-choice-use-read-key): Explain the + difference. + (read-char-choice): Mention the variables. + (y-or-n-p-use-read-key): Explain the difference. + (y-or-n-p): Mention the variable (bug#50390). + +2021-09-05 Lars Ingebrigtsen + + Clarify completion-list-mode NEWS entry + + * etc/NEWS: Clarify completion-list-mode entry (bug#50394). + +2021-09-05 Juri Linkov + + * lisp/progmodes/xref.el: Fix defcustoms (bug#50067) + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref, xref-search-program): Fix defcustoms. + +2021-09-05 Eli Zaretskii + + Improve documentation of new Xref options + + * doc/emacs/maintaining.texi (Looking Up Identifiers): + * etc/NEWS: Document the new Xref user options. Move a lost + Xref-related entry to the rest of them. + +2021-09-05 Augusto Stoffel + + Fixes for 'python-shell-send-string' and 'python-shell-send-file' + + * lisp/progmodes/python.el (python-shell-send-string): use a temporary + file for sufficiently long strings. + (python-shell-send-file, python-shell-eval-file-setup-code): Avoid + showing "plumbing code" in the traceback (bug#32042). + +2021-09-05 Ian W (tiny change) + + Fix error handling in 'ispell-init-process' + + * lisp/textmodes/ispell.el (ispell-init-process): When Ispell + initialization reports an error, call 'ispell-accept-output' only + if the Ispell process is still alive. (Bug#50370) + +2021-09-05 Michael Albinus + + Cleanup tramp-tests.el + + * test/lisp/net/tramp-tests.el + (tramp--test--deftest-direct-async-process): Fix macro declaration. + (tramp-test29-start-file-process, tramp-test30-make-process): + Do not run connection type test for direct async processes. + +2021-09-05 Glenn Morris + + * test/lisp/vc/vc-tests.el (vc-test-sccs06-version-diff): Fix it. + +2021-09-05 Dmitry Gutov + + Belated fix + + * lisp/progmodes/xref.el: (xref--show-xref-buffer): + Fix support for xref-auto-jump-to-first-xref. + +2021-09-05 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump version. + +2021-09-05 Dmitry Gutov + + Xref: automatic jumping to the first definition or reference + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref): New user options. + Discussed in bug#50067. + (xref--show-xrefs, xref--show-defs): Use them here. + (xref--auto-jump-first): New function, handles different values. + (xref-show-definitions-buffer) + (xref-show-definitions-buffer-at-bottom): Use it. + +2021-09-05 Dmitry Gutov + + Fix test on machines with Bzr not set up + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): + Add EMAIL= to the environment to avoid potential failure. + +2021-09-05 Philip Kaludercic + + Replace with-current-buffer with buffer-local-value where applicable + + * rcirc.el (rcirc-buffer-process): Use buffer-local-value + (rcirc-last-quit-line): Use buffer-local-value + (rcirc-bury-buffers): Use buffer-local-value + (rcirc-record-activity): Use buffer-local-value + +2021-09-05 Matthias Meulien + + Add tests for vc-version-diff + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): + New function. + (vc-test-%s06-version-diff): New family of tests. + +2021-09-05 Dmitry Gutov + + Rename xref-select-and-{goto,show}-xref + + * lisp/progmodes/xref.el (xref-select-and-show-xref): + Rename from xref-select-and-goto-xref (bug#35376). + Update all references. + +2021-09-04 Basil L. Contovounesios + + Avoid segfault in command-modes + + * src/data.c (Fcommand_modes): Check that bytecode object is + interactive before accessing its interactive spec to avoid + segfaulting (bug#50376). + +2021-09-04 Stefan Monnier + + * lisp/emacs-lisp/timer.el (timer-create): Don't inline it + +2021-09-04 Eli Zaretskii + + Improve documentation of line truncation and wrapping + + * doc/emacs/display.texi (Line Truncation, Visual Line Mode): + * doc/lispref/display.texi (Truncation): Document that turning on + line truncation disables wrapping, and vice versa. + + * src/buffer.c (syms_of_buffer) : + * src/xdisp.c (syms_of_xdisp) : + Warn against turning on when 'visual-line-mode' is in effect. + * lisp/simple.el (visual-line-mode): Document that this mode + disables line truncation. (Bug#29664) + +2021-09-04 Lars Ingebrigtsen + + Allow killing the diff buffer after `C-x v u' + + * doc/emacs/maintaining.texi (VC Undo): Document this. + * lisp/vc/vc.el (vc-revert-show-diff): Allow a `kill' value. + (vc-revert): Use it (bug#16902). + +2021-09-04 Lars Ingebrigtsen + + Improve error message in ielm on printing errors + + * lisp/ielm.el (ielm-eval-input): Don't claim that there's a bug + on pp -- it may just be something that nests too far (bug#18012). + +2021-09-04 Lars Ingebrigtsen + + Add a customization group link from whitespace-mode + + * lisp/whitespace.el (whitespace-mode): Add a link to the + whitespace customization group to see the faces (bug#18296). + +2021-09-04 Lars Ingebrigtsen + + Add support for customization group hyperlinks in doc strings + + * lisp/help-mode.el (help-customization-group): New button. + (help-xref-customization-group-regexp): New const. + (help-make-xrefs): Use them to allow making customization group + buttons. + +2021-09-04 Lars Ingebrigtsen + + Make multi-frame `M-x calendar' setup work when `pop-up-frames' + + * lisp/calendar/calendar.el (calendar): Make the calendar frame + setup work when pop-up-frames is non-nil (bug#19256). + +2021-09-04 Lars Ingebrigtsen + + Tweak hi-lock-mode doc string + + * lisp/hi-lock.el (hi-lock-mode): Tweak the doc string so that + running hi-lock-mode in a *Help* buffer showing this help text + won't issue an error (bug#20977). + +2021-09-04 Lars Ingebrigtsen + + Make `M-x term' offer completion + + * lisp/term.el (term): Have completion in the prompt (bug#21296). + +2021-09-04 Yuchen Pei + + Add diary-offset to diary-lib.el + + * doc/emacs/calendar.texi: Document the change. + * lisp/calendar/diary-lib.el (diary-offset): + * test/lisp/calendar/icalendar-tests.el: Add a test (bug#50195). + +2021-09-04 Stefan Kangas + + * etc/DISTRIB: Refer to gnu.org instead of the deleted file etc/GNU. + +2021-09-03 Glenn Morris + + * doc/misc/efaq.texi (Reporting bugs): Refer to the Emacs manual. + + That is better than having a separate, outdated text. + +2021-09-03 Glenn Morris + + Merge from origin/emacs-27 + + 0aa0410372 (origin/emacs-27, emacs-27) Fix "Finder" description for m... + +2021-09-03 Augusto Stoffel + + Change Python eval to send directly instead of using temporary files + + * lisp/progmodes/python.el (python-shell-eval-setup-code): New + const for setting up eval (bug#49822). + (python-shell--encode-string): New function. + (python-shell-send-string): Use it to send commands directly + instead of writing to a temporary file. + (python-shell-send-string-no-output): Adjust sending. + (python-shell-send-file): Ditto. + +2021-09-03 Theodor Thornhill + + Update to CSS Flexible Box Layout Module Level 2 + + * css-mode.el (css-property-alist): Update link. + +2021-09-03 Theodor Thornhill + + Update to CSS Containment Module Level 2 + + * css-mode.el (css-property-alist): Update contain, and add + content-visibility. + +2021-09-03 Theodor Thornhill + + Update to CSS Grid Layout Module Level 2 + + * css-mode.el (css-property-alist): Update to the newer spec, and add + the subgrid keywords + +2021-09-03 Theodor Thornhill + + Clean up css-property-alist for alignment + + * css-mode.el (css-property-alist, css-value-class-alist): Provide new + position related entries for use in css-property-alist. Make sure + that property-alist reflect the spec: + https://www.w3.org/TR/css-align-3/#property-index + +2021-09-03 Lars Ingebrigtsen + + Fix `describe-function' for autoloaded adviced functions + + * lisp/emacs-lisp/nadvice.el (advice--make-single-doc): Factor + out. + (advice--make-docstring): From here (bug#23523). Also include + advices for autoloads. + +2021-09-03 Lars Ingebrigtsen + + Allow gud-mi to edit two executables with the same name + + * lisp/progmodes/gud.el (gud-common-init): Allow editing two + executables with the same name (bug#22772). + +2021-09-03 Lars Ingebrigtsen + + Make recent timer changes more backwards-compatible + + * lisp/emacs-lisp/timer.el (timerp, timer-event-handler): Make + backwards-compatible with old .elc files that have their own + versions of `timer-create'd structures. + +2021-09-03 Lars Ingebrigtsen + + Fix message in previous toggle-truncate-lines change + + * lisp/simple.el (toggle-truncate-lines): Fix message in previous + change. + +2021-09-03 Lars Ingebrigtsen + + Allow not putting pasted text onto the kill ring under xterm + + * lisp/term/xterm.el (xterm-paste): Don't put pasted text onto the + kill ring (bug#28868). + (xterm-store-paste-on-kill-ring): New user option. + +2021-09-03 Eli Zaretskii + + * etc/NEWS: Announce recent change in 'toggle-truncate-lines'. + +2021-09-03 Stefan Kangas + + Sync latest SKK-JISYO.L + + * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version. + +2021-09-03 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2021-09-02 22:13:03 UTC. + +2021-09-03 Lars Ingebrigtsen + + Make toggle-truncate-lines disable visual-line-mode + + * lisp/simple.el (toggle-truncate-lines): Disable + `visual-line-mode' (bug#29664). + +2021-09-03 Stefan Kangas + + Avoid cl-lib alias for cadadr and friends + + * lisp/edmacro.el (edmacro-fix-menu-commands): + * lisp/frameset.el (frameset-move-onscreen): + * lisp/htmlfontify.el (hfy-face-at, hfy-merge-adjacent-spans) + (hfy-mark-tag-names): + * lisp/mail/footnote.el (footnote--make-hole) + (footnote-back-to-message): + * lisp/net/eudc.el (eudc-get-email, eudc-get-phone): + * lisp/net/rcirc.el (rcirc-make-trees, rcirc-handler-333) + (rcirc-authenticate): + * lisp/play/5x5.el (5x5-draw-grid, 5x5-solver): + * lisp/play/decipher.el (decipher-insert-frequency-counts): + * lisp/ses.el (ses-relocate-range): + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-step-into-macro-error) + (edebug-tests-error-stepping-into-subr): Avoid using cl-lib aliases + for cadadr and friends that now reside in subr.el. + +2021-09-03 Stefan Kangas + + Move cl-lib tests for caaXr to subr-tests.el + + * test/lisp/emacs-lisp/cl-lib-tests.el (cl-test-caaar) + (cl-test-caadr): Move tests using a cl-lib alias from here... + * test/lisp/subr-tests.el (subr-test-caaar, subr-test-caadr): ...to + here. The functions under test are in subr.el. + +2021-09-03 Theodor Thornhill + + Add CSS Box Alignment Module Level 3 to css-mode + + * lisp/textmodes/css-mode.el (css-property-alist): Consolidate + `align-{contents, items, self}', as well as the corresponding + values for `justify-{contents, items, self}' and `place-{contents, + items, self}'. Values extracted from the flex part and into its + own block (bug#50345). + +2021-09-03 Theodor Thornhill + + Add selection to css-pseudo-element-ids + + * lisp/textmodes/css-mode.el (css-pseudo-element-ids): Add + selection as an element id (bug#50345). + +2021-09-03 Lars Ingebrigtsen + + Fix `revert-buffer' message in `find-file-select' + + * lisp/files.el (find-file-noselect): Refer to revert-buffer-quick + here since we're in a file-based buffer. + +2021-09-03 Lars Ingebrigtsen + + Fix memory-report test failure + + * test/lisp/emacs-lisp/memory-report-tests.el: Fix test build failure. + +2021-09-03 Dmitry Gutov + + Fix recently broken vc-delete-file with Git + + * lisp/vc/vc-git.el (vc-git-delete-file): + Treat FILE as string, not list (bug#50334). + +2021-09-03 Glenn Morris + + More fixes for recently added vc-rename test + + * test/lisp/vc/vc-tests.el (vc-test-cvs05-rename-file): Skip. + (vc-test-sccs05-rename-file): Treat like RCS. + +2021-09-02 Tassilo Horn + + Support forges by type rather than by host + + Formerly, bug-reference-setup-from-vc-alist basically had one entry + per host (like gitlab.com). Restructure so that it's easy to add new + hosts being just an instance of some type of forge such as SourceHut, + Gitea, or GitLab. + + While we're at it, add support for gitea.com, salsa.debian.org, and + framagit.org, the latter two being GitLab instances. + + * lisp/progmodes/bug-reference.el (bug-reference-gitea-instances) + (bug-reference-gitlab-instances,bug-reference-sourcehut-instances): + New variables listing online instances of those forges. + (bug-reference--setup-from-vc-alist): New function (and variable for + caching) using the former three new variables to generate suitable VC + auto-setup alist. + (bug-reference-try-setup-from-vc): Use both + bug-reference-setup-from-vc-alist and + bug-reference--setup-from-vc-alist. + +2021-09-02 Juri Linkov + + * lisp/abbrev.el: Improve docstrings of inverse commands (bug#50303) + + * lisp/abbrev.el (add-mode-abbrev, add-global-abbrev) + (inverse-add-mode-abbrev, inverse-add-global-abbrev): + Add interlinking to opposite commands in docstrings. + +2021-09-02 Eli Zaretskii + + Fix expansion of non-ASCII $HOME + + * src/fileio.c (Fexpand_file_name): Make the file name multibyte + if the value of $HOME is multibyte. (Bug#50266) + +2021-09-02 Eli Zaretskii + + Fix 'clone-frame' on TTY frames + + * src/frame.c (Fmake_terminal_frame): Make a separate copy of the + faces for the new frame before calling modify-frame-parameters, as + on TTY frames that needs the faces already set up. (Bug#34715) + +2021-09-02 Eli Zaretskii + + Improve a recent change in 'mule-cmds.el' + + * lisp/international/mule-cmds.el + (select-safe-coding-system--format-list): Display codepoints in + hex and as characters. Display the ellipsis in a better place. + Enlarge the limit to 5 codepoints, as the display is now easier to + grasp. + (select-safe-coding-system-interactively): Don't use + 'select-safe-coding-system--format-list' for "rejected" + coding-systems, as those don't come with characters and positions. + +2021-09-02 Lars Ingebrigtsen + + Make the coding system warning prettier + + * lisp/international/mule-cmds.el + (select-safe-coding-system--format-list): New function to display + the coding system information in a more readable format (bug#31062). + (select-safe-coding-system-interactively): Use it. + +2021-09-02 Lars Ingebrigtsen + + Reformat up-list and backward-up-list doc strings + + * lisp/emacs-lisp/lisp.el (backward-up-list): Reformat the doc + string into several paragraphs (bug#31349). + (up-list): Ditto and fix the "start" to be "end". + +2021-09-02 Lars Ingebrigtsen + + isearch*-lax-whitespace doc string improvements + + * lisp/isearch.el (isearch-regexp-lax-whitespace): + * lisp/isearch.el (isearch-lax-whitespace): Mention the key binding + in the doc string (bug#31790). + +2021-09-02 Lars Ingebrigtsen + + Fix documentation of `dired-do-touch' + + * doc/emacs/dired.texi (Operating on Files): Fix documentation of + `dired-do-touch' (bug#50323). + +2021-09-02 Yikai Zhao + + memory-report: support calculating size for structures + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Add + support for cl-defstruct types (bug#50301). + +2021-09-02 Lars Ingebrigtsen + + Fix up previous ebfn2ps tweak + + * lisp/progmodes/ebnf2ps.el (ebnf-print-buffer): Remove NOOP decode + step. + +2021-09-02 Lars Ingebrigtsen + + Add a test for bug#50320 in sh-script + +2021-09-02 Lars Ingebrigtsen + + Revert "Tweak sh-script-mode indentation further" + + This reverts commit 6392bc37ab3b7eb83465d9b2248d21173373ae73. + + The changes led to errors throughout (bug#50320). + +2021-09-02 Stephen Gildea + + tramp-auto-save-directory: make private + + * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): + chmod 0700 tramp-auto-save-directory when creating + + Thanks to Michael Albinus for reviewing this patch. + +2021-09-01 Eli Zaretskii + + Fix segfault with invalid key-translation-map binding + + * src/keyboard.c (access_keymap_keyremap): Don't assume an invalid + function is specified as a symbol. Reported by Perry E. Metzger + . + +2021-09-01 Lars Ingebrigtsen + + Filter out the `name' parameter in clone-frame + + * lisp/frame.el (clone-frame): Filter out the `name' parameter, + because two frames shouldn't have the same name and this will + lead to a warning. + +2021-09-01 Lars Ingebrigtsen + + Don't have epg bug out on non-existent packages + + * lisp/epg.el (epg--start): We may be called from contexts where + the directory doesn't exist, but we need to have an existing + directory here for the process (bug#32004). + +2021-09-01 Lars Ingebrigtsen + + Add new macro `with-existing-directory' + + * doc/lispref/files.texi (Testing Accessibility): Document it. + * lisp/subr.el (with-existing-directory): New macro (bug#32004). + +2021-09-01 Kien Nguyen + + * Add a dll loader entry for gcc_jit_context_new_cast (bug#50315) + + * src/comp.c: Add a dll loader entry for + 'gcc_jit_context_new_cast' (bug#50315). + +2021-09-01 Drew Adams + + Add new command `clone-frame' + + * doc/emacs/frames.texi (Creating Frames): Document it. + + * lisp/frame.el (clone-frame): New command and keystroke (bug#34715). + +2021-09-01 Glenn Morris + + Make set-foreground-color display completions using foreground colors + + * lisp/faces.el (defined-colors-with-face-attributes): Also create + colors for foregrounds (bug#33799). + (read-color): Also allow varying the foreground color. + + * lisp/frame.el (set-foreground-color): Vary the foreground color. + +2021-09-01 Lars Ingebrigtsen + + Fix (setf (map-elt map key) (my-func)) + + * lisp/emacs-lisp/map.el (map-elt): Ensure that the value isn't + referenced more than once (bug#50290). + +2021-09-01 Lars Ingebrigtsen + + Autoload calc-grab-sum-across and calc-grab-sum-down + + * lisp/calc/calc.el (calc-grab-sum-down): + (calc-grab-sum-across): Autoload, since they can be used from + outside Calc (bug#50311). + +2021-09-01 Miha Rihtar邸i + + In batch mode, avoid killing Emacs with C-g in the minibuffer + + * src/keyboard.c (Fcommand_error_default_function): Don't kill emacs + when handling the minibuffer-quit condition (bug#48603). + +2021-09-01 Marco Centurion (tiny change) + + Use "gzip -d" instead of "gunzip" + + * lisp/dired-aux.el (dired-compress-file-suffixes): Use "gzip -d" + instead of "gunzip" since we already assume that "gzip" exists on + the system (bug#10990). + +2021-08-31 Philip Kaludercic + + Avoid failing if vc backend doesn't implement ignore-completion-table + + * project.el (project-ignores): Handle vc-not-supported signals + +2021-08-31 Lars Ingebrigtsen + + Rename xref--mouse-2 and adjust documentation + + * doc/emacs/maintaining.texi (Xref Commands): `mouse-1' is bound + to `xref-goto-xref', not `mouse-2' (bug#35376). + (Xref Commands): Mention what `mouse-2' does. + + * lisp/progmodes/xref.el (xref--button-map): Adjust. + (xref-select-and-goto-xref): Rename from xref--mouse-2 (bug#35376). + +2021-08-31 Lars Ingebrigtsen + + Fix point placement after ispell-complete-word + + * lisp/textmodes/ispell.el (ispell-complete-word): Leave point at + the end of the inserted word instead of a less than useful amount + of distance from the start of the word (bug#37552). + +2021-08-31 Lars Ingebrigtsen + + call-process doc string clarification + + * src/callproc.c (Fcall_process): Explicitly say that "output" + means both stdout and stderr (bug#37906). + +2021-08-31 Lars Ingebrigtsen + + Make calc plotting through gnuplot work on non-X gnuplots + + * lisp/calc/calc-graph.el (calc-graph-plot): Fall back on "dumb" + if we don't support the terminal (bug#50237). + (calc-gnuplot-command): Say whether the command errored out. + +2021-08-31 Lars Ingebrigtsen + + Fix abnf parsing of elements + + * lisp/progmodes/ebnf-abn.el (ebnf-abn-lex): Make parsing + work (bug#39663). + +2021-08-31 Lars Ingebrigtsen + + Make run-at-time try harder to run at integral multiples + + * lisp/emacs-lisp/timer.el (timer): Add new slot integral-multiple. + (timerp): Adjust. + (timer-event-handler): Recompute the delay if requested + (bug#39099). + (run-at-time): Mark the timer as recomputable if given a t + parameter. + + * src/keyboard.c (decode_timer): Adjust. + +2021-08-31 Dmitry Gutov + + Move the expansion of abbreviated names to vc-git.el + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Perform the expansion of abbreviated file names here instead + (bug#39452). + + * lisp/vc/vc.el (vc-root-diff, vc-print-root-log): + Undo the recent change. + +2021-08-30 Andreas Schwab + + Implement proper type conversion in native compiler + + * src/comp.c (enum cast_kind_of_type): Remove. + (comp_t): Add cast_ptr_to_int, cast_int_to_ptr, remove + cast_type_sizes, cast_type_kind, cast_type_names, cast_union_fields, + cast_union_field_biggest_type. + (emit_coerce): Remove check for type size. + (struct cast_type): Remove bytes_size. + (define_type_punning): New function. + (define_cast_from_to): Implement proper type conversion. + (define_cast_functions): Adjust. (bug#50230) + +2021-08-30 Stefan Monnier + + (cperl-test-bug-14343): Make it work for perl-mode + + * test/lisp/progmodes/cperl-mode-tests.el (cperl--tests-heredoc-face): + New const. + (cperl-test-heredocs, cperl-test-bug-14343): Use it. + (cperl-test-identify-no-heredoc): Remove left-over message. + +2021-08-30 Stefan Monnier + + * test/lisp/progmodes/cperl-mode-tests.el: Adjust here-doc tests for perl-mode + + (cperl-test-identify-heredoc, cperl-test-identify-no-heredoc): + Tweak tests so they can also be used for perl-mode. + +2021-08-30 Stefan Monnier + + * etc/NEWS: Fix typo + +2021-08-30 Eli Zaretskii + + Improve documentation of 'ispell-hunspell-add-multi-dic' + + * lisp/textmodes/ispell.el (ispell-hunspell-add-multi-dic): + Explain in the doc string how to call from Lisp. (Bug#50241) + +2021-08-30 Eli Zaretskii + + Minor improvement in 'get-locale-names' on MS-Windows + + * lisp/international/mule-cmds.el (get-locale-names): Delete + duplicate locales from the list returned by the MS-Windows + implementation. + +2021-08-30 Lars Ingebrigtsen + + Fix typo in kill-buffer-delete-auto-save-files NEWS entry + +2021-08-30 Lars Ingebrigtsen + + Make some non-ASCII work in ebnf2ps + + * lisp/progmodes/ebnf2ps.el (ebnf-print-buffer): Make non-ASCII + work slightly better (bug#39663). + +2021-08-30 Lars Ingebrigtsen + + Fix typo in previous custom.texi change + + * doc/emacs/custom.texi (Init Syntax): Fix typo in previous change + -- it's customize-set-variable. + +2021-08-30 Lars Ingebrigtsen + + Make epg use rfc6068 for decoding %-encoded strings + + * lisp/epg.el (epg--decode-percent-escape-as-utf-8): Make obsolete + and adjust callers. + (epg--decode-hexstring): Ditto. + + * lisp/mail/rfc6068.el (rfc6068-unhexify-string): Allow returning + non-decoded octets (bug#39689). + +2021-08-30 Lars Ingebrigtsen + + Make rfc2368 obsolete and add rfc6068 + + * lisp/obsolete/rfc2368.el: Moved here and made obsolete. + + * lisp/mail/rfc6068.el (rfc6068-unhexify-string): New file. + +2021-08-30 Lars Ingebrigtsen + + Only look for the port command on MacOS + + * configure.ac: Only look for the port command on MacOS (bug#50259). + +2021-08-29 Lars Ingebrigtsen + + Move vc-branch-p and vc-branch-part from vc.el to vc-rcs.el and rename + + * lisp/vc/vc-rcs.el (vc-rcs-branch-p): Renamed from `vc-branch-p' + (old name made into obsolete alias) and moved from vc.el. + (vc-rcs-branch-part): Renamed from `vc-branch-part' + (old name made into obsolete alias) and moved from vc.el. + +2021-08-29 Lars Ingebrigtsen + + Fix vc test for RCS + + * test/lisp/vc/vc-tests.el (vc-test--rename-file): Fix test for RCS. + +2021-08-29 Lars Ingebrigtsen + + Mention `set-variable' in the Init Syntax Emacs manual node + + * doc/emacs/custom.texi (Init Syntax): Mention set-variable + (bug#50248). + (Init Examples): Add an example. + +2021-08-29 Cl辿ment Pit-Claudel + + Change --with-nativecomp to --with-native-compilation in messages + + * configure.ac: + * test/infra/Dockerfile.emba: + * test/infra/gitlab-ci.yml: Fix mentions of --with-nativecomp + (bug#50255). + +2021-08-29 Augusto Stoffel + + Add support for OSC 7 in comint (current directory tracking) + + * lisp/comint.el (comint-osc-directory-tracker, comint-osc-handlers): + Define and register a handler for OSC 7. + (comint-osc-process-output): Do fewer checks on + 'comint-last-output-start'. + +2021-08-29 K辿vin Le Gouguec + + Tweak sh-script-mode indentation further + + * lisp/progmodes/sh-script.el (sh-smie--default-backward-token): + Allow more parentheses in a token (bug#44592). + +2021-08-29 Philipp Stephani + + Improve compatibility with musl-libc (Bug#48789) + + * lib-src/seccomp-filter.c (export_filter): Remove use of + nonstandard macro TEMP_FAILURE_RETRY. + +2021-08-29 Alan Mackenzie + + C++ Mode: handle compound identifiers preceding brace lists correctly + + * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): early in + function, check alternatively for c-back-over-compound-identifier when doing + c-backward-token-2. + + * bracelist-36.{cc,res}: New test files. + +2021-08-29 Alan Third + + Fix libexec installation on NS (bug#50250) + + * lib-src/Makefile.in (ns_applibexecdir): New variable. + +2021-08-29 Eli Zaretskii + + Better document obsolescence of 'values' + + * doc/lispref/eval.texi (Eval): Mention that 'values' is obsolete. + * etc/NEWS: Add a rationale for obsoleting 'values'. + +2021-08-29 Alan Third + + Disable the NS app when no frames are left (bug#14619, bug#21357, bug#23586) + + * src/nsfns.m (Fx_create_frame): Enable the app. + * src/nsterm.m (ns_delete_terminal): Disable the app. + +2021-08-29 Dmitry Gutov + + Add tests for vc-rename-file + + * test/lisp/vc/vc-tests.el (vc-test--rename-file): New function. + (vc-test-%s05-rename-file): New family of tests (bug#39452). + +2021-08-28 Stefan Monnier + + * etc/NEWS: Document the recent xterm.el change for `\e[29~` + +2021-08-27 Juri Linkov + + * lisp/progmodes/flymake.el: Bind mouse-3 to flymake-menu on mode-line. + + * lisp/progmodes/flymake.el (flymake--mode-line-title): + Bind [mode-line down-mouse-3] to flymake-menu (bug#50067) + +2021-08-27 Juri Linkov + + Revert part of 3572613550f5d1d0b3392dbc809b32f3989e2981 (bug#39452) + + * lisp/vc/vc-git.el (vc-git-rename-file): Don't use vc-git--literal-pathspecs. + +2021-08-27 Dario Gjorgjevski + + Fix shell-script-mode indentation of continuation lines + + * lisp/progmodes/sh-script.el (sh-smie--default-backward-token): + Fix indentation of continuation lines (bug#44592). + +2021-08-27 Michalis V + + Fix completion of extended "..." syntax in eshell + + * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Expand + "..." (bug#19626). + +2021-08-27 Lars Ingebrigtsen + + Don't overly truncate tabulated-list headers + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Don't overly truncate headers that are before a right-aligned + column (bug#44594). + (tabulated-list--available-space): Separated out into own + function... + (tabulated-list-print-col): ... from here. + +2021-08-27 Lars Ingebrigtsen + + Fix `M-X TAB' completion for commands marked for multiple modes + + * lisp/simple.el (command-completion-using-modes-p): Fix + completion over commands that are defined for multiple modes + (bug#50228). + +2021-08-27 Lars Ingebrigtsen + + Put advice documentation at the end of the displayed doc string + + * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Put the + advice things at the end of the documentation (bug#50222). It's + important to have the first line of the original documentation + remain the first line, because it's used when doing one-line + summaries of the function. + +2021-08-27 Thierry Volpiatto + + Make `eshell-command' also work when asynchronous + + * lisp/eshell/esh-cmd.el (eshell-eval-command): Make asynchronous + `eshell-command' work (e.g. `M-x eshell-command RET sleep 10 &') + (bug#50209). + +2021-08-27 Christophe Troestler (tiny change) + + lisp/newcomment.el: Uncommenting with whitespace `comment-continue' + + * lisp/newcomment.el (uncomment-region-default-1): Make + all-whitespace `comment-continue' work (bug#50226). + +2021-08-27 Andrea Corallo + + * Forward `comp-file-preloaded-p' to async workers + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward + `comp-file-preloaded-p' to async workers. + +2021-08-27 Juri Linkov + + Replace flyspell-use-mouse-3-for-menu with context-menu-mode (bug#50067) + + * doc/emacs/fixit.texi (Spelling): Replace mentions of + flyspell-use-mouse-3-for-menu with context-menu-mode. + + * lisp/mouse.el (context-menu-map): Use the function from the + text property context-menu-function at mouse click event. + + * lisp/textmodes/flyspell.el (flyspell--set-use-mouse-3-for-menu): + Remove function. + (flyspell-use-mouse-3-for-menu): Remove defcustom added recently in 28.1. + (flyspell-context-menu): New function. + (flyspell-mode): Don't call flyspell--set-use-mouse-3-for-menu. + (flyspell-mode-on): Replace flyspell-use-mouse-3-for-menu + with context-menu-mode. + (make-flyspell-overlay): When context-menu-mode is non-nil, + put overlay context-menu-function with flyspell-context-menu + instead of using keymap flyspell-mouse-map. + +2021-08-27 Lars Ingebrigtsen + + python-shell-interpreter doc string clarification + + * lisp/progmodes/python.el (python-shell-interpreter): Note what + to do when using ipython3 (bug#44732). + +2021-08-27 Lars Ingebrigtsen + + Fix backtrace when query-about-changed-file nil and file has changed + + * lisp/userlock.el (userlock--check-content-unchanged): Make the + assertion more robust -- we may be called here from a different + contexts if `query-about-changed-file' is nil. + +2021-08-27 Noah Evans (tiny change) + + Fix recentering issue in `follow-mode' + + * lisp/follow.el (follow-recenter): Make `C-c . C-l' work in + windows before the middle one, too (bug#50220). + +2021-08-27 Lars Ingebrigtsen + + Enable setting timeclock-workday after switching mode on + + * lisp/calendar/timeclock.el (timeclock--previous-workday): New + variable. + (timeclock-find-discrep): Use it to flush values when + timeclock-workday changes (bug#50216). + (timeclock-mode-line-display): Mention `timeclock-workday' setting + in doc string. + +2021-08-26 Lars Ingebrigtsen + + Fix problem with symlinks in compile buffers + + * lisp/progmodes/compile.el (compilation-find-file): Avoid + `expand-file-name' when computing the file names, because that will + reliably give the wrong result when there's symlinks and ".." + involved (bug#8035). + +2021-08-26 Philip Kaludercic + + timeclock.el: Update example configuration + + * lisp/calendar/timeclock.el: Update comments that were no longer + correct (bug#50211). + +2021-08-26 Lars Ingebrigtsen + + Make dired-chmod-program obsolete + + * lisp/dired.el (dired-chmod-program): Make into a defvar and make + obsolete (bug#50190). + + * lisp/net/ange-ftp.el (ange-ftp-process-file): Remove usage of + dired-chmod-program. + +2021-08-26 Lars Ingebrigtsen + + Revert "Add support for "bright" ANSI colors in ansi-color" + + This reverts commit c8e3347ec01a9ed6dc8d88c2dbbb3a08497e8eb2. + + Jim Porter's paperwork isn't finalised yet. + +2021-08-26 Lars Ingebrigtsen + + Revert "Add support for "bright" ANSI colors in term-mode" + + This reverts commit 2b2a103db0c3597c7685d3ffff4bca7f2e4d094e. + + Jim Porter's paperwork isn't finalized yet. + +2021-08-26 Lars Ingebrigtsen + + Revert "Add missing :version tags to new faces" + + This reverts commit 9759fb596b634db2faf7edcd4fd557a11abe9903. + + Jim Porter's paperwork isn't finalized yet. + +2021-08-26 Michael Albinus + + Improve robustness of shadowfile.el + + * lisp/shadowfile.el (shadow-site-help): New defconst. + (shadow-read-site): Use it. + (shadow-make-fullname, shadow-contract-file-name) + (shadow-define-literal-group): Handle errors more robust. (Bug#49596) + + * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups): + Extend test. + +2021-08-26 Tassilo Horn + + Fix docs about the meaning of the Re: in the subject + + * doc/misc/message.texi (Message Headers): Clarify that it comes from + the Latin "res" meaning "in the matter of" rather than "in response + to" as claimed previously (see RFC-2822). + +2021-08-26 Eli Zaretskii + + Define a substitute for on MS-Windows + + * lisp/mouse.el (context-menu-mode-map): On w32, use + in addition to (the mostly non-existent) . + +2021-08-26 Dmitry Gutov + + Rename arguments for clarity + + * lisp/vc/vc-git.el (vc-git--literal-pathspecs) + (vc-git--literal-pathspecs): + Rename arguments for clarity (bug#39452). + +2021-08-26 Dmitry Gutov + + Make sure to remove the remote specification before adding :(literal) + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Make sure to remove the remote specification from the file name + (bug#50175, bug#39452). + +2021-08-26 Stephen Gildea + + Fix "Finder" description for multi-file packages + + * lisp/finder.el (finder-compile-keywords): Now that 'version' is + set for more files, it is no longer necessary to check that we have + a version when picking the file from which to take the description. + Doing so caused built-in packages (where the version is known) to have + their package description taken from the last .el file that matched the + file name pattern, usually the last source file in the sub-directory. + + This bug was introduced in July 2019 and first released in Emacs 27.1. + + Thanks to Michael Albinus for reviewing this patch. + +2021-08-26 Stefan Monnier + + * lisp/term/xterm.el (xterm-function-map): Map `\e[29~` to `menu` + +2021-08-25 Gabriel do Nascimento Ribeiro + + Handle nil messages in repeat-echo-message. + + * lisp/repeat.el (repeat-echo-message): Handle cases where + 'current-message' is nil (bug#50176). + +2021-08-25 Lars Ingebrigtsen + + Make thingatpt respect fields + + * lisp/thingatpt.el (thing-at-point): Make thingatpt respect + fields (bug#9454). + +2021-08-25 Lars Ingebrigtsen + + Make `set-locale-environment' complete over locale names + + * lisp/international/mule-cmds.el (get-locale-names): New function. + (set-locale-environment): Use it to allow completion (bug#9655). + +2021-08-25 Jo達o T叩vora + + Speed up pcm completion styles for patternless special case + + (Bug#48841) + + * lisp/minibuffer.el (completion-flex-all-completions): Skip + completion-pcm--hilit-commonality if there's no pattern yet. + +2021-08-25 Lars Ingebrigtsen + + Disable xterm selection operators in stterm + + * lisp/term/st.el (xterm-st-extra-capabilities): st doesn't + support the xterm selection things (bug#50192). + +2021-08-25 Eli Zaretskii + + Add missing :version tags to new faces + + * lisp/term.el (term-color-bright-black, term-color-bright-red) + (term-color-bright-green, term-color-bright-yellow) + (term-color-bright-blue, term-color-bright-magenta) + (term-color-bright-cyan, term-color-bright-white): Add :version. + +2021-08-25 Jim Porter + + Add support for "bright" ANSI colors in term-mode + + * list/term.el (ansi-term-color-vector): Add new faces. + (term-color-white): Tweak colors. + (term-color-bright-black, term-color-bright-red, term-color-bright-green) + (term-color-bright-yellow, term-color-bright-blue) + (term-color-bright-magenta, term-color-bright-cyan) + (term-color-bright-white): New faces. + (term--maybe-brighten-color): New function. + (term-handle-colors-array): Handle bright colors. + * test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright): + New functions. + +2021-08-25 Jim Porter + + Add support for "bright" ANSI colors in ansi-color + + * lisp/ansi-color.el (ansi-bright-color-names-vector): New defcustom. + (ansi-color-bold-is-bright): New defcustom. + (ansi-color--find-face): Sort ANSI codes and check + 'ansi-color-bold-is-bright'. + (ansi-color-apply-sequence): Support bright ANSI colors. + (ansi-color--fill-color-map): New function. + (ansi-color-make-color-map): Add bright ANSI colors. + (ansi-color-get-face-1): Add BRIGHT parameter. + * test/lisp/ansi-color-tests.el + (ansi-color-apply-on-region-bold-is-bright-test): New function. + +2021-08-25 Shitikanth Kashyap (tiny change) + + tabulated-list-print delete excess lines + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Ensure + that we delete remaining lines if the list has gotten shorter + (bug#50194). + +2021-08-25 Augusto Stoffel + + Add support for OSC escape codes in comint + + * doc/emacs/misc.texi (Shell Mode): Document it. + + * lisp/comint.el (comint-osc-handlers, comint-osc--marker): New + variables. + (comint-osc-process-output): New function. + (comint-osc-hyperlink-map): New map. + (comint-osc-hyperlink-handler): New function. + +2021-08-25 Lars Ingebrigtsen + + Fix up deleting auto-save/killing buffer wrt. `auto-save-visited-mode' + + * src/buffer.c (Fkill_buffer): Respect `auto-save-visited-mode'. + +2021-08-25 Lars Ingebrigtsen + + Further checks for kill-buffer-delete-auto-save-files + + * src/buffer.c (Fkill_buffer): Check that the auto-save file + exists before asking whether to delete it. + +2021-08-25 Lars Ingebrigtsen + + Fix up previous conf-mode/tex-mode redirection hacks + + * lisp/textmodes/conf-mode.el (conf-mode): + * lisp/textmodes/tex-mode.el (tex--redirect-to-submode): The + previous hack to these redirections would disable all local + variables. Try to work around this a bit more. + +2021-08-24 Michael Albinus + + Some precisements in Tramp's connection type handling + + * doc/misc/tramp.texi (Remote processes): Precise connection type + handling. + + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): + * lisp/net/tramp.el (tramp-handle-make-process): + Fix :connection-type handling. + (tramp-action-show-and-confirm-message): Pacify byte compiler. + + * lisp/net/tramp-compat.el (tramp-compat-ignore-error): New defmacro. + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Extend tests. + +2021-08-24 Ergus + + * lisp/mouse.el (context-menu-mode-map): Bind [menu] to context-menu-open. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01004.html + +2021-08-24 Juri Linkov + + * lisp/mouse.el (context-menu-buffers): New function (bug#50067). + + (context-menu-functions): Add context-menu-buffers to the choice list. + +2021-08-24 Paul Eggert + + Doc that dired-do-chmod no longer follows symlinks + + * doc/emacs/dired.texi (Operating on Files): + * etc/NEWS: Document this security precaution. + +2021-08-24 Gabriel do Nascimento Ribeiro + + Fix to clear echo-area after repeat-exit-timeout. + + * lisp/repeat.el (repeat-echo-message): Use 'string-match-p' + to handle cases where echo-area contains other messages (bug#50176). + +2021-08-23 Eli Zaretskii + + Document 'jit-lock-bounds' + + * doc/lispref/modes.texi (Other Font Lock Variables): + * lisp/jit-lock.el (jit-lock-functions, jit-lock-register): + Document the return value of the fontification functions. + +2021-08-23 Eli Zaretskii + + Improve documentation of 'inhibit-mouse-event-check' + + * etc/NEWS: + * src/callint.c (syms_of_callint): Fix wording of the + documentation of 'inhibit-mouse-event-check'. + +2021-08-23 Mattias Engdeg奪rd + + Add example of advanced user-defined Rx form to manual + + * doc/lispref/searching.texi (Extending Rx): Add example illustrating + how to define a user-defined Rx form that performs computation, + from a discussion with Michael Herdeegen (bug#50136). + * lisp/emacs-lisp/rx.el (rx): Clarify evaluation time for `eval`. + +2021-08-23 Juri Linkov + + * lisp/mouse.el (context-menu-open): New command bound to [S-f10]. + + * doc/emacs/frames.texi (Menu Mouse Clicks): Mention S-F10 + to pop up the context menu. + + * src/callint.c (Fcall_interactively): + Use inhibit_mouse_event_check for the case 'e'. + (inhibit-mouse-event-check): New variable. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00733.html + +2021-08-23 Glenn Morris + + Fix recently added cperl test + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-here-doc-missing-end): Fix quote regexp. + +2021-08-23 Eli Zaretskii + + Improve recently-changed docs + + * src/frame.c (Fnext_frame): + * doc/lispref/frames.texi (Finding All Frames): Improve wording + and style of the 'next-frame's documentation. + +2021-08-23 Eli Zaretskii + + Fix doc strings in recent changes. + + * lisp/progmodes/cperl-mode.el (cperl-commentify) + (cperl-here-doc-functions, cperl-is-here-doc-p) + (cperl-find-pods-heres): Fix wording, style, and punctuation of + doc strings. + +2021-08-23 Lars Ingebrigtsen + + Clarify the documentation of `next-frame' + + * doc/lispref/frames.texi (Finding All Frames): Clarify what it + means to "consider". + * src/frame.c (Fnext_frame): Rewrite doc string to say what the + parameters actually mean (bug#13339). + +2021-08-23 Lars Ingebrigtsen + + Add new variable 'kill-buffer/delete-auto-save-files' + + * doc/emacs/files.texi (Auto Save Files): Document it. + * lisp/cus-start.el (standard): Add customize form. + + * lisp/files.el (delete-auto-save-files): Move definition to C + (since it's used in the C layer). + + * src/buffer.c (Fkill_buffer): Use the new variable (and remove + the old code that apparently didn't trigger for + kill-buffer/delete-auto-save-files. + (syms_of_buffer): Add new variable + kill-buffer-delete-auto-save-files and move definition of + delete-auto-save-files here (bug#21612). + +2021-08-23 Michael Albinus + + Complete implementation of `copy-directory-create-symlink' in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): Fix the case + NEWNAME is a directory name with a trailing slash. + + * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): + Implement `copy-directory-create-symlink'. (Bug#10897) + + * test/lisp/net/tramp-tests.el + (tramp--test-ignore-make-symbolic-link-error): Move up. + (tramp-test15-copy-directory): Extend test. + +2021-08-23 Juri Linkov + + * lisp/mouse.el (context-menu-toolbar): New function. + + (context-menu-functions): Add context-menu-toolbar to choice. + (context-menu-region): Bind "Paste" to mouse-yank-at-click + instead of mouse-yank-primary. + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00735.html + +2021-08-23 Lars Ingebrigtsen + + Clarify :stderr in the make-process doc string + + * src/process.c (Fmake_process): Elaborate upon what :stderr does + (bug#50166). + +2021-08-23 Lars Ingebrigtsen + + Update NEWS tagging for modules and parse-time-string + +2021-08-23 Lars Ingebrigtsen + + Document `dlet' + + * doc/lispref/variables.texi (Local Variables): Document `dlet'. + +2021-08-23 Lars Ingebrigtsen + + Improve byte-compile-warnings doc string + + * lisp/emacs-lisp/bytecomp.el (byte-compile-warnings): Mention + 'byte-compile-docstring-max-column'. + +2021-08-23 Lars Ingebrigtsen + + Do command mode markup in xwidget.el + +2021-08-23 Lars Ingebrigtsen + + Make xwidget-webkit-enable-plugins a defcustom + + * lisp/xwidget.el (xwidget-webkit-enable-plugins): Make into + defcustom. + +2021-08-23 Basil L. Contovounesios + + Fix recent parse-partial-sexp argument validation + + * src/syntax.c (parse-partial-sexp): Also handle markers as + arguments (bug#49944). Tweak error message to follow conventions in + "(elisp) Signaling Errors". + +2021-08-22 Andrea Corallo + + Set a unique ID for eln files on macOS (bug#45934) + + * src/comp.c (Fcomp__compile_ctxt_to_file): Set gcc's -install_name + parameter to the real filename. + +2021-08-22 Masahiro Nakamura + + Set label for NSToolbarItem (bug#50159) + + * src/nsmenu.m (update_frame_tool_bar): Get label text and pass it to ... + ([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]): + ... this that sets label for NSToolbarItem. + * src/nsterm.h + ([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]): + Add labelText argument. + +2021-08-22 Michael Albinus + + Implement `copy-directory-create-symlink' for remote files + + * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): + Implement `copy-directory-create-symlink'. (Bug#10897) + + * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory): + Extend test. + +2021-08-22 Jo達o T叩vora + + Double check completions-group customization variable in Icomplete + + bug#48545 + + * lisp/icomplete.el (icomplete--augment): Double check completions-group. + +2021-08-22 Jo達o T叩vora + + Don't mess up grouping in completion-all-sorted-completions + + The default sorting order will mess up the naturally grouped order of + the candidates in the table that specified the group-function. + + As seen in xref.el when + + (setq xref-show-definitions-function + 'xref-show-definitions-completing-read) + (setq completions-group t) + M-x fido-mode + + Also partially seen with C-x 8 RET (M-x insert-char) with + + (setq read-char-by-name-sort 'code) + + bug#48545 + + * lisp/minibuffer.el (completion-all-sorted-completions): Don't + use default sort if there's a group-function in the table. + +2021-08-22 Lars Ingebrigtsen + + Revert "Fix dired switch (that contain quotes and spaces) parsing" + + This reverts commit 04f723dec944eaa7b5e99373840a8bf920ba5fdd. + + The dired switches are documented to not follow shell syntax, but instead + uses a lisp-in-string-form kind of quoting. + +2021-08-22 Colin Woodbury + + Don't echo empty string in file-name-with-extension + + * lisp/files.el (file-name-with-extension): Avoid echoing a filename + string known to be empty (bug#50149). + +2021-08-22 Omar Polo + + Avoid using %n in emacsclient + + * lib-src/emacsclient.c (local_sockname): Avoid using %n (bug#50155). + +2021-08-22 Michael Albinus + + Some adaptions for Tramp's security key detection. + + * lisp/net/tramp.el (tramp-security-key-timeout-regexp): New defcustom. + (tramp-action-show-and-confirm-message): Don't use timeout, check + for the timeout message of the ssh command. + +2021-08-22 Mattias Engdeg奪rd + + Make Qhide declaration non-target-specific + + * src/xfns.c (syms_of_xfns): Move DEFSYM from here... + * src/menu.c (syms_of_menu): ... to here. + This fixes the NS build after dd7d966eb40b. + +2021-08-22 Ergus + + * lisp/mouse.el (context-menu-mode-map): New variable. + + (context-menu--saved-bindings, context-menu--bind-mouse) + (context-menu--restore-bindings): Remove. + (context-menu-mode): Don't use removed functions. + +2021-08-22 Juri Linkov + + Don't show menu titles with the text property 'hide' (bug#50067) + + * lisp/mouse.el (context-menu-map): Add menu title "Context Menu" + propertized with the text property 'hide'. + + * src/menu.c (x_popup_menu_1): Don't show the title with the non-nil + text property 'hide' on GTK and NS. + +2021-08-22 Eli Zaretskii + + Improve documentation of 'set-keyboard-coding-system' + + * doc/lispref/nonascii.texi (Terminal I/O Encoding): + * doc/emacs/mule.texi (Terminal Coding): + * lisp/international/mule.el (set-keyboard-coding-system): + Document that 'set-keyboard-coding-system' has no effect on modern + MS-Windows systems. (Bug#15289) + +2021-08-22 Glenn Morris + + * test/lisp/international/ucs-normalize-tests.el: Save 30m on hydra. + +2021-08-22 Stephen Gildea + + mh-x-image-url-sane-p: accept "https" URLs + + * lisp/mh-e/mh-xface.el (mh-x-image-url-sane-p): Accept https URLs. + * test/lisp/mh-e/mh-xface.el: New file, to test mh-x-image-url-sane-p. + +2021-08-21 Glenn Morris + + * test/Makefile.in: Turn off hydra verbose logging for electric-tests. + +2021-08-21 Glenn Morris + + * test/lisp/net/tramp-tests.el: Reduce hydra run time by 1 hour. + + It's just too slow to run these after every commit. + +2021-08-21 Glenn Morris + + * test/lisp/electric-tests.el: Un-skip c-mode tests on hydra. + +2021-08-21 Lars Ingebrigtsen + + Fix failures in recent files tests + + * test/lisp/files-tests.el (files-tests-buffer-offer-save) + (files-tests-save-buffers-kill-emacs--asks-to-save-buffers): + `read-event' is called with arguments. + +2021-08-21 Lars Ingebrigtsen + + Clarify cl-defstruct doc string and manual entry somewhat + + * doc/misc/cl.texi (Structures): Rename the slot "name" in the + examples to "first-name", since we're talking about the names of + slots a lot here, and having a slot with the name "name" makes the + examples somewhat confusing. + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Clarify certain + things about slots (bug#14278). + +2021-08-21 Lars Ingebrigtsen + + Fix perldb doc string + + * lisp/progmodes/gud.el (perldb): Fix doc string (bug#14588). + +2021-08-21 Lars Ingebrigtsen + + Clarify dired-jump doc string + + * lisp/dired.el (dired-jump): Make the doc string say what happens + in buffers not visiting files (bug#14733). + +2021-08-21 Lars Ingebrigtsen + + Tweak the comment-start-skip example in the manual + + * doc/emacs/programs.texi (Options for Comments): Tweak the + example regexp for comment-start-skip (bug#15006). + +2021-08-21 Lars Ingebrigtsen + + Clarify how to do the `count-words-in-defun' recipe + + * doc/lispintro/emacs-lisp-intro.texi (count-words-in-defun): + Clarify the recipe (bug#15069). + +2021-08-21 Lars Ingebrigtsen + + Make parse-partial-sexp signal an error if TO is smaller than FROM + + * src/syntax.c (Fparse_partial_sexp): Signal an error if TO is + smaller than FROM (bug#49944). + +2021-08-21 Lars Ingebrigtsen + + Mention problems with synthetic fonts on macOS + + * etc/PROBLEMS: Mention synthetic fonts (bug#18818). + +2021-08-21 Alan Third + + Fix display bug on macOS (bug#50112) + + * src/nsterm.m ([EmacsLayer initWithColorSpace:]): Use the colorspace + setter. + ([EmacsLayer setColorSpace:]): Sometimes we seem to get null + colorspaces, so set a default in this case. + ([EmacsLayer getContext]): Check whether there's been a surface or + graphics context allocation failure and log it. + +2021-08-21 Alan Third + + * configure.ac: Make homebrew check for libgccjit match macports. + +2021-08-21 Mattias Engdeg奪rd + + Remove default "Select" title from NS popup menus (bug#50067) + + * src/menu.c (x_popup_menu_1): Remove default "Select" title. + * src/nsmenu.m (ns_menu_show): Allow title to be absent. + +2021-08-21 Mattias Engdeg奪rd + + Use overlay arrow to indicate current *xref* selection + + * lisp/progmodes/xref.el (xref--set-arrow): New function. + (xref-show-location-at-point, xref-goto-xref) + (xref--next-error-function): Call it. + (xref--show-common-initialize): Remove arrow. + +2021-08-21 Mattias Engdeg奪rd + + Add "Find References" to context menu (bug#50067) + + The new entry appears next to "Find Definition" and like it only + appears when the context menu was invoked on an identifier. + + * lisp/progmodes/prog-mode.el (prog-context-menu): New menu entry. + * lisp/progmodes/xref.el (xref-find-references-at-mouse): New + function, analogous to `xref-find-definitions-at-mouse`. + +2021-08-21 Mattias Engdeg奪rd + + Indicate progress while searching for references in xref + + * lisp/progmodes/xref.el (xref-backend-references): Add messages to + show the user that something is happening instead of silently freezing + during the frequently long synchronous searches for references. + +2021-08-21 Mattias Engdeg奪rd + + Re-type the :location slot in `xref-match-item` to `xref-location` + + * lisp/progmodes/xref.el (xref-match-item): Change type for + :location from `xref-file-location`, which was likely a mistake, + to `xref-location`. This allows `xref-make-match` to take + arguments of any subtype of `xref-location` (bug#50067). + +2021-08-21 Mattias Engdeg奪rd + + Add xref operations to context menu unconditionally + + * lisp/progmodes/prog-mode.el (prog-context-menu): + Add xref operations to the context menu even if xref hasn't been + loaded yet; the functions involved are autoloaded (bug#50067). + +2021-08-21 Alan Mackenzie + + CC Mode: Move a macro to before its first use in a file. + + * lisp/progmodes/cc-defs.el (c-benign-error): Move earlier in the file for the + benefit of c-tnt-chng-cleanup. + +2021-08-21 Eli Zaretskii + + Improve documentation of context menus + + * doc/lispref/modes.texi (Major Mode Conventions): Add conventions + of setting menu-bar menus and context menus for a major mode. + * doc/emacs/frames.texi (Menu Mouse Clicks): Fix description of + context menu functionality. + +2021-08-21 Eli Zaretskii + + Improve doc string of 'M-.' + + * lisp/progmodes/xref.el (xref-find-definitions): Mention 'M-,' in + the doc string. + +2021-08-21 Eli Zaretskii + + Improve documentation of 'file-preserve-symlinks-on-save' + + * lisp/files.el (file-precious-flag): Mention + 'file-preserve-symlinks-on-save' in the doc string. + + * doc/lispref/files.texi (Saving Buffers): Move the description of + 'file-preserve-symlinks-on-save' from here... + * doc/emacs/files.texi (Customize Save): ...to here. Improve + wording. + + * etc/NEWS: Fix wording of 'file-preserve-symlinks-on-save' entry. + +2021-08-21 Eli Zaretskii + + Fix documentation of 'repeat-mode' changes + + * doc/emacs/basic.texi (Repeating): Fix indexing. Improve + wording. + +2021-08-21 Eli Zaretskii + + Fix documentation of recently-added tests for files.el + + * test/lisp/files-tests.el (files-tests--save-some-buffers) + (files-tests-save-some-buffers) + (files-tests--with-buffer-offer-save) + (files-tests-buffer-offer-save): Doc fixes. + +2021-08-21 Eli Zaretskii + + * etc/TODO: Entry about markers being non-scalable. (Bug#49127) + +2021-08-21 Dmitry Gutov + + Speed up project--read-project-buffer in remote buffers + + * lisp/progmodes/project.el (project-buffers): New generic function. + (project--read-project-buffer): Use it here (bug#49264). + (project--buffers-to-kill): And here. + (project-buffers): Specialized implementation for vc-project. + +2021-08-21 Glenn Morris + + * lisp/bindings.el (page-navigation-repeat-map): Fix bootstrap. + +2021-08-20 Alan Mackenzie + + Fix c-tentative-buffer-changes to be nestable in c-save-buffer-state + + * lisp/progmodes/cc-defs.el (c-tentative-buffer-changes) + (c-tnt-chng-record-state, c-tnt-chng-cleanup): Enhance such that a + buffer-undo-list of t is handled specially, so that a nil isn't consed onto + it. Thus garbage collection can't later remove the (nil . t) from the end of + the buffer-undo-list, causing an infinite loop. + +2021-08-20 Davide Masserut (tiny change) + + Mark page navigation commands as repeatable + + * doc/emacs/basic.texi (Repeating): Document page navigation + repeatability. + + * lisp/bindings.el (page-navigation-repeat-map): Add new map + (bug#50137). + * lisp/bindings.el (forward-page): + (backward-page): Mark as repeatable. + +2021-08-20 Lars Ingebrigtsen + + Document how to get rid of completion on `SPC' and `?' + + * doc/emacs/custom.texi (Minibuffer Maps): Mention how to get rid + of completion on `SPC' and `?' (bug#16528). + +2021-08-20 Lars Ingebrigtsen + + Fix printing of C-@ in `describe-fontset' + + * lisp/international/mule-diag.el (mule--kbd-at): New function + (bug#17836). + (print-fontset-element): Use it to get multi-key things correct. + +2021-08-20 Lars Ingebrigtsen + + Allow preserving symlinks with file-precious-flag set + + * doc/lispref/files.texi (Saving Buffers): Document it. + * lisp/files.el (file-preserve-symlinks-on-save): New user option + (bug#18125). + (basic-save-buffer-2): Use it. + +2021-08-20 Lars Ingebrigtsen + + Fix infinite recursion in mode: tex + + * lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Inhibit + recursion when called from file-local variables (bug#50126). + +2021-08-20 Lars Ingebrigtsen + + Fix infinite recursion of conf-mode + + * lisp/textmodes/conf-mode.el (conf-mode): Inhibit recursion when + called from file-local variables (bug#50126). + +2021-08-20 Marco Centurion (tiny change) + + Allow copy-directory to copy the source as a symlink + + * doc/emacs/files.texi (Copying and Naming): Document it. + + * lisp/files.el (copy-directory): Allow copying symbolic links as + is (bug#10897). + (copy-directory-create-symlink): New user option. + +2021-08-20 Lars Ingebrigtsen + + Further tweaks to execute-extended-command + + * lisp/simple.el (execute-extended-command): Move finding the + short command to the timer command, too (bug#50042). This further + ensures that post-command-hook is run faster. + +2021-08-20 Lars Ingebrigtsen + + Remove even more waiting from execute-extended-command + + * lisp/simple.el (execute-extended-command): Remove all the + waiting from the command and do it all with timers (bug#50042). + This ensures that post-command-hook is run immediately also when + the command has messaged something. + +2021-08-20 Mattias Engdeg奪rd + + Use C-mouse-1 for context menu on NS + + The Mac platform convention is to use control-left-click for context + menus (as a synonym to right-click). + + * lisp/mouse.el (context-menu--old-bindings): Remove. + (context-menu--saved-bindings) + (context-menu--bind-mouse, context-menu--reset-bindings): New. + (context-menu-mode): Use new functions, with C-mouse-1 as extra + binding on NS. + +2021-08-20 Mattias Engdeg奪rd + + Fix xref {prev,next}-error target buffer match highlighting extent + + * lisp/progmodes/xref.el (xref--next-error-function): + Bind `xref--current-item` during the call to `xref--show-location` so + that `xref-pulse-momentarily` finds the match extent. + +2021-08-20 Mattias Engdeg奪rd + + Don't mutate string literal + + * lisp/obsolete/terminal.el (terminal-escape-map): Rewrite loop in a + simpler and more robust way. + +2021-08-20 Lars Ingebrigtsen + + Tweak a failing custom test + + * test/lisp/custom-tests.el (custom-tests-require-theme): Fix a + native-comp-related test failure. + + In this test, we set load-path to nil, and under native-comp some of + the tests want to give a warning: + + Warning (comp): Cannot look-up eln file as no source file was + found for /tmp/custom-tests-bfdbkW/custom-tests--d.elc + + But we can't load warning.el after setting load-path to nil, so + require it first. + +2021-08-20 Jo達o T叩vora + + Make icomplete-forward-completions O(1) when icomplete-scroll is t + + In particular, this makes the recently added + icomplete-vertical-goto-last (bug#49005) be O(n) instead of O(n^2). + That used to be almost unbearably slow for large n. + + * lisp/icomplete.el (icomplete-forward-completions): don't call last + unless needed. + +2021-08-19 Lars Ingebrigtsen + + Remove more mentions of the removed `M-o' facemenu binding + + * doc/emacs/text.texi (Fill Commands, Fill Commands): Adjust `M-o' + mentions. + + * etc/refcards/refcard.tex (section{Formatting}): + * etc/refcards/pt-br-refcard.tex (section{Formatando}): + * etc/refcards/fr-refcard.tex (section{Formater}): Remove mention + of `M-o'. + +2021-08-19 Madhu (tiny change) + + Correctly call completion-in-region in shell.el + + * lisp/shell.el (shell-dynamic-complete-command) + (shell-dynamic-complete-environment-variable): Correctly call + completion-in-region (bug#50125). + +2021-08-19 Lars Ingebrigtsen + + Fix space at the start of appt mode line element + + * lisp/calendar/appt.el (appt-check): Add space at the end + (bug#18164) -- all `global-mode-string' elements should have it + there to get an even space distribution. + +2021-08-19 Lars Ingebrigtsen + + Add ibuffer-saved-filter-groups example to the doc string + + * lisp/ibuf-ext.el (ibuffer-saved-filter-groups): Add an example + for this complicated syntax (bug#18694). + +2021-08-19 Lars Ingebrigtsen + + Fix dired switch (that contain quotes and spaces) parsing + + * lisp/files.el (insert-directory): Tokenize shell strings + correctly (bug#18875). + +2021-08-19 Lars Ingebrigtsen + + Fix st.el doc string + + * lisp/term/st.el (xterm-st-extra-capabilities): New user option + (bug#50119). + (terminal-init-st): Use it to avoid a two-second timeout. + +2021-08-19 Peter M端nster + + Add support for history of image tags and completion in the minibuffer + + * lisp/image-dired.el (image-dired-tag-history): New variable holding the + tag history. + (image-dired-tag-files, image-dired-tag-thumbnail, image-dired-delete-tag) + (image-dired-tag-thumbnail-remove): Use it for the user input. + +2021-08-19 Peter M端nster + + Avoid problems when one tag/file is a substring of another + + * lisp/image-dired.el (image-dired-remove-tag): End of filename is bound + by ";" and end of tag is bound by ";" or end of line. + +2021-08-19 Peter M端nster + + New placement of newline characters in image-dired-db-file + + It's more usual to have the newline at the end of the line, instead of the + beginning. This change avoids missing newline at the end of the file, an + empty line at the start and eventually a lot of empty lines when + `require-final-newline' is not nil. + + * lisp/image-dired.el (image-dired-write-tags): Insert newline at the end + of the line, instead of the beginning. + (image-dired-remove-tag): Do not delete empty line at end of buffer. + +2021-08-19 Peter M端nster + + Fix deletion of associated image + + * lisp/image-dired.el (image-dired-delete-marked): Treat original images + first, because point position is used when there are no marked files. + +2021-08-19 Eli Zaretskii + + Fix inaccuracies in documentation of 'message-truncate-lines' + + * doc/lispref/display.texi (Echo Area Customization): + * src/xdisp.c (syms_of_xdisp): Adjust the documentation of + message-truncate-lines to changes that fixed bug#46718. + +2021-08-19 Eli Zaretskii + + Minor doc fixes in icomplete.el + + * lisp/icomplete.el (icomplete-section): Add :version. + (icomplete--augment): Doc fix. + +2021-08-19 Eli Zaretskii + + Fix errors with hscrolling mini-windows under truncate-lines + + * src/xdisp.c (hscroll_window_tree): Disallow hscroll in + mini-windows that display echo-area messages. (Bug#50096) + +2021-08-19 Lars Ingebrigtsen + + stterm doesn't understand all codes that xterm does + + * lisp/term/st.el (xterm-st-extra-capabilities): New user option + (bug#50119). + (terminal-init-st): Use it to avoid a two-second timeout. + +2021-08-19 Jo達o T叩vora + + Section by 'group-function' in Icomplete and Fido's vertical modes + + (Bug#48545) + + * lisp/icomplete.el (icomplete--augment): Rewrite from icomplete--affixate. + (icomplete--render-vertical): Rework. + (icomplete--vertical-minibuffer-setup): Separator is hardcoded "\n", no + need to set. + +2021-08-19 Jo達o T叩vora + + Improve fix of bug#49888 on no-pattern flex sorting + + This version is functionally equivalent, but doesn't duplicate any + code. When nothing "flexy" is happening, it works by simply not doing + any metadata adjustments, instead of attempting to synthesize a + function to mimic the non-flex case. + + * lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify. + +2021-08-19 Dmitry Gutov + + Fix vc-root-diff broken with Git as well + + * lisp/vc/vc.el (vc-root-diff): Fix similar to 35023214031e1 by + avoiding the abbreviated directory name in argument (bug#39452). + +2021-08-18 Eli Zaretskii + + Improve documentation of 'assoc' + + * doc/lispref/lists.texi (Association Lists): + * src/fns.c (Fassoc): Document how TESTFN is called. (Bug#50110) + +2021-08-18 Juri Linkov + + Mouse wheel scrolling on the tab bar + + * lisp/tab-bar.el (tab-bar-map): Bind mouse-4/wheel-up/wheel-left + to tab-previous and mouse-5/wheel-down/wheel-right to tab-next. + Bind S-mouse-4/wheel-up/wheel-left to tab-bar-move-tab-backward + and S-mouse-5/wheel-down/wheel-right to tab-bar-move-tab. + (tab-bar-move-tab-backward): New command. + (tab-bar-move-repeat-map): Use tab-bar-move-tab-backward + instead of lambda. + + * src/xterm.c (handle_one_xevent): Remove restriction + to allow clicking mouse-4 and mouse-5. + +2021-08-18 Juri Linkov + + Bind [drag-mouse-1] to tab-bar-mouse-move-tab on tab-bar-map + + * lisp/tab-bar.el (tab-bar-mouse-move-tab): New command. + (tab-bar-map): Bind [drag-mouse-1] to tab-bar-mouse-move-tab. + (tab-bar-select-tab): Zero or nil arg means the current tab. + + * src/xdisp.c (handle_tab_bar_click): Remove restriction + to allow dragging the tab to another tab. + +2021-08-18 Juri Linkov + + Redesign tab-bar event processing (bug#41342, bug#41343) + + Instead of emitting menu-item keys like [tab-1], + emit normal mouse events like [mouse-1] and [down-mouse-3] + for all mouse clicks issued on the tab-bar. + + * lisp/mouse.el (mouse-posn-property): Handle 'tab-bar' posn-area. + + * lisp/tab-bar.el (tab--key-to-number): New internal function. + (tab-bar-handle-mouse): Use tab key to select/close tab. + (tab-bar-mouse-select-tab, tab-bar-mouse-close-tab) + (tab-bar-mouse-context-menu): New commands. + (tab-bar-map): Bind [down-mouse-1] to tab-bar-mouse-select-tab, + [down-mouse-2] to tab-bar-mouse-close-tab, + [down-mouse-3] to tab-bar-mouse-context-menu. + (tab-bar-keymap-cache): Remove. + (tab-bar-make-keymap): Don't use cache. + (tab-bar--format-tab): Remove default bindings from menu items. + (tab-bar-make-keymap-1): Prepend tab-bar-map. + + * src/keyboard.c (make_lispy_event): Append event->arg to position + for Qtab_bar. + + * src/term.c (handle_one_term_event): Simplify to set event arg. + + * src/w32inevt.c (do_mouse_event): Set emacs_ev->arg to the value + returned from tty_handle_tab_bar_click. + + * src/w32term.c (w32_handle_tab_bar_click): Return value from + handle_tab_bar_click. + (w32_read_socket): Set tab_bar_key to value returned from + w32_handle_tab_bar_click, and set event arg from it. + + * src/xdisp.c (handle_tab_bar_click): Instead of emitting event, + return a list with Qtab_bar and tab caption with text properties + that contain Qmenu_item with key and binding. + (tty_handle_tab_bar_click): Simplify to return a list of Qtab_bar, + key and close_p, instead of emitting event. + + * src/xterm.c (handle_one_xevent): Set tab_bar_key to value + returned from handle_tab_bar_click, and set event arg from it. + +2021-08-18 Juri Linkov + + * lisp/progmodes/xref.el (xref--collect-matches): Widen temporarily. + +2021-08-18 Juri Linkov + + * lisp/mouse.el: More fixes for context-menu. + + (context-menu-map): Remove menu title "Context Menu" (bug#50067). + (context-menu-minor): Reverse sub-menus to display exactly in the same order + as on the menu bar. + +2021-08-18 Eli Zaretskii + + Improve documentation of last change. + + * etc/NEWS: Mention the string value of 'auto-composition-mode'. + + * src/composite.c (syms_of_composite) : Doc + fix. + +2021-08-18 Lars Ingebrigtsen + + Disable auto compositions on the Linux console only + + * lisp/term/linux.el (terminal-init-linux): Disable auto + compositions on "linux" consoles (bug#21363). + + * src/composite.c (inhibit_auto_composition): New function to + implement this. + (composition_compute_stop_pos, composition_adjust_point) + (Ffind_composition_internal): Use it. + (syms_of_composite): Document it. + + * src/lisp.h: Export tty_type_name. + + * src/term.c (tty_type_name): Factored out. + (Ftty_type): Use it. + +2021-08-18 Lars Ingebrigtsen + + Add undo-in-region test case for bug#21523 + +2021-08-18 Eli Zaretskii + + Yet another place inside redisplay_window to prevent quitting + + * src/xdisp.c (handle_single_display_spec): Inhibit quitting + around the call to lookup_image. (Bug#44448) + +2021-08-18 Eli Zaretskii + + Fix abort when turning on Hebrew or Arabic input methods + + * src/xdisp.c (face_before_or_after_it_pos): Add the missing + initialization of the bidi scan direction. (Bug#50107) + +2021-08-18 Peter M端nster + + Add menu bindings to new functions in image-dired.el + + * lisp/image-dired.el (image-dired--with-marked): New macro for + cycling over marked thumbnails. + (image-dired-tag-thumbnail, image-dired-tag-thumbnail-remove): Can + handle now also all marked thumbnails. + (image-dired-tag-marked-thumbnails): Remove it, because it's + obsoleted by `image-dired-tag-thumbnail' now. + (image-dired-delete-marked): Use new macro + `image-dired--with-marked', and add command to menu (bug#50000). + +2021-08-18 pillule + + Fix ediff3 layouts with window-combination-resize non-nil (Bug#49277) + + * lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare) + (ediff-setup-windows-multiframe-compare): Fix three windows + layouts produced by ediff3 when 'window-combination-resize' + was customized to t and 'even-window-sizes' to nil. + +2021-08-18 pillule + + Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275) + + * lisp/window.el (switch-to-prev-buffer) + (switch-to-next-buffer): More correctly handle cases where + 'switch-to-prev-buffer-skip' is a function. + +2021-08-17 Andrea Corallo + + * Fix `native-compile-target-directory' effectiveness for async compilation. + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async + workers `native-compile-target-directory'. + +2021-08-17 Glenn Morris + + * lisp/mouse.el (context-menu-filter-function): Fix type. + +2021-08-17 Eli Zaretskii + + Another fix for quitting while displaying non-selected windows + + * src/xdisp.c (handle_face_prop, extend_face_to_end_of_line): + Inhibit quitting around the call to face_at_pos, to prevent + leaking wrong value of point when the user quits while we + redisplay a non-selected window. (Bug#44448) + +2021-08-17 Glenn Morris + + * test/lisp/electric-tests.el: Skip most c-mode tests on hydra. + +2021-08-17 Eli Zaretskii + + Fix TTY display performance degradation due to many markers + + * src/coding.c (encode_coding_object): Don't assume that + src_object == dst_object means src_object is the current buffer. + Add the missing commentary that explains the arguments. + (Bug#49127) + +2021-08-17 Michalis V + + Improve `forward-sexp' in *Help* buffers + + * lisp/help-mode.el (help-mode-syntax-table): New variable (bug#39134). + (help-make-xrefs): Use it to make picking out symbols in curved + quotes work reliably. + (help-xref-on-pp): Ditto. + +2021-08-17 Jo達o T叩vora + + Bind and in icomplete-vertical-mode + + Suggested by Ergus + + * lisp/icomplete.el (icomplete-vertical-mode-minibuffer-map): Bind + and + +2021-08-17 Jo達o T叩vora + Simon Lang + + Jump to first,last completion with M-<, M-> in icomplete-vertical-mode + + (Bug#49005) + + + * lisp/icomplete.el (icomplete-backward-completions): Return + non-nil iff something was stepped. Ajust docstring. + (icomplete-forward-completions): Adjust docstring. + (icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands. + (icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->. + +2021-08-17 Juri Linkov + + Merge branch 'feature/context-menu' + +2021-08-17 Dmitry Gutov + + ruby-mode imenu: Support methods with modifiers + + * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block): + Support methods with modifiers (visibility or otherwise) + (bug#50079). + +2021-08-17 Dmitry Gutov + + vc-git-region-history: Fix to call 'diff' more correctly + + * lisp/vc/vc-git.el (vc-git-region-history): + Fix to pass a list to the backend 'diff' command (bug#39452). + +2021-08-17 Jo達o T叩vora + + Make icomplete-vertical-mode take immediate effect (bug#49075) + + * etc/NEWS: Mention change. + + * lisp/icomplete.el (icomplete-vertical-mode): + (fido-vertical-mode): Tweak docstring. Turn on + icomplete-mode. and fido-mdoe + +2021-08-16 Glenn Morris + + * test/Makefile.in: Verbose logging for electric-tests on hydra. + +2021-08-16 Eli Zaretskii + + Plug another hole for longjmp-ing from 'redisplay_window' + + * src/fringe.c (update_window_fringes): Inhibit quitting, so as + not to longjmp out of redisplay_window. (Bug#44448) + +2021-08-16 Stephen Berman + + Add Command Modes to Elisp manual menu and add index entries + + * doc/lispref/commands.texi (Command Modes): Add index entries. + + * doc/lispref/elisp.texi (Top): Add entry for the Command Modes + node to the detailed node listing. + +2021-08-16 Eli Zaretskii + + Fix recent documentation additions + + * doc/lispref/searching.texi (Search and Replace): Document the + new functions by @defun. + +2021-08-16 Glenn Morris + + Merge from origin/emacs-27 + + 9664ee182c (origin/emacs-27) C++ Mode: Don't confuse the pointer oper... + b3aec9ee48 CC Mode: Fix unstable fontification of doc strings. + + # Conflicts: + # lisp/progmodes/cc-fonts.el + +2021-08-16 Lars Ingebrigtsen + + Make overlays-in treat zero-length overlays at point-max consistently + + * doc/lispref/display.texi (Finding Overlays): Adjust documentation. + + * src/buffer.c (overlays_in): Treat the end of the buffer and the + end of the narrowed-to buffer the same (bug#19422). + (Foverlays_in): Adjust doc string. + +2021-08-16 Lars Ingebrigtsen + + Fix cursor movement on the Linux console with certain characters + + * lisp/term/linux.el (terminal-init-linux): Switch off + auto-compositions, because they confuse cursor movement on the + Linux console (bug#21363). + +2021-08-16 Lars Ingebrigtsen + + Minor clarification for define-minor-mode :variable + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): + * doc/lispref/modes.texi (Defining Minor Modes): Clarify what the + setter function should do (bug#14875). + +2021-08-16 Cl辿ment Pit-Claudel + + Remove prettification for \par in tex-mode + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Remove + prettified version of `\par'. Many fonts don't display anything for + the character it was mapped to (#x2029 PARAGRAPH SEPARATOR), so + enabling prettification makes every `\par' disappear (bug#50073). + +2021-08-16 Lars Ingebrigtsen + + Add new functions to replace strings/regexp in a region + + * doc/lispref/searching.texi (Search and Replace): Document them. + * lisp/subr.el (replace-string-in-region) + (replace-regexp-in-region): New functions. + + * lisp/emacs-lisp/shortdoc.el (regexp, buffer): Mention them. + +2021-08-16 Lars Ingebrigtsen + + Don't remove `fontified' in nxml--buffer-substring-filter + + * lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Removing + `fontified' is probably unnecessary (bug#50061). + +2021-08-16 Dmitry Gutov + + Fix regressions in the last change + + * lisp/vc/vc-git.el (vc-git-register): + Use file names verbatim with 'git update-index', as it only accepts + file names, not pathspecs (bug#39452). + + * lisp/vc/vc.el (vc-print-root-log): + Expand ROOTDIR, so that vc-git-print-log doesn't receive an + abbreviated name. Literal pathspecs don't work with those. + +2021-08-15 Alan Mackenzie + + C++ Mode: Don't confuse the pointer operator -> with the type indicating -> + + This fixes bug #47468. + + * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): While searching + backwards for "->" which is a type indicating operator, disallow also commas. + +2021-08-15 Alan Mackenzie + + CC Mode: Fix unstable fontification of doc strings. + + Also optimize a loop over several line doc-comments. + + * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): New variable + comment-mid, used as the starting point for applying c-doc-face-name in a + line comments. In block comments, apply this face not from `comment-beg' but + from `region-beg', no earlier than the start of the fontification region. + +2021-08-15 Juri Linkov + + Use map-keymap in context-menu-global, context-menu-local, context-menu-minor + +2021-08-15 Juri Linkov + + * lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038). + + (handle-shift-selection): Handle new choice 'permanent'. + +2021-08-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete. + +2021-08-15 Stefan Monnier + + * lisp/nxml/nxml-mode.el (nxml-mode): Use add-function + + This avoids calling the internal function `buffer-substring--filter` + from `nxml.el`. + + (nxml--buffer-substring-filter): Adjust accordingly. + +2021-08-15 Lars Ingebrigtsen + + Filter out rng-state elements in nxml-mode buffers from the kill ring + + * lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Filter + out `rng-state' objects (bug#50061). + (nxml-mode): Set `filter-buffer-substring-function'. + +2021-08-15 Jo達o T叩vora + + Sort by recency in flex completion style when no flexy stuff happening + + (Bug#49888) + + * minibuffer.el (completion--flex-adjust-metadata): Fall back to usual + alphanumeric, length, recency strategy if no minibuffer input. There + is still a bug indicated by the nearby FIXMEs, though. + +2021-08-15 Augusto Stoffel + + Allow evaluating Python code across machines + + * python.el (python-shell-send-string): Ensure that the temporary file + is created in the host running the Python process (bug#50057). + +2021-08-15 Lars Ingebrigtsen + + Run execute-extended-command key binding suggestion from a timer + + * lisp/simple.el (execute-extended-command): Run the key binding + suggestion from a timer instead of in the program flow -- this + allows `post-command-hook' to be executed immediately (bug#50042). + +2021-08-15 Lars Ingebrigtsen + + Make Emacs compile with musl instead of glibc + + * src/alloc.c: musl doesn't have malloc_info (bug#50058). + +2021-08-15 Eli Zaretskii + + Fix unwarranted point movement after C-g + + When the same buffer is displayed in more than one window, + redisplay temporarily moves point to the window-point when it + works on non-selected windows. If we allow C-g to quit out of + redisplay_window in this situation, point will appear to have + moved to the window-point of that non-selected window, which is + unwarranted. These changes prevent quitting in strategic places, + so that we never quit out of redisplay_window. + * src/xdisp.c (run_window_scroll_functions): + Prevent quitting while running window-scroll-functions, so that we + don't quit out of redisplay_window with temporarily moved point. + (redisplay_window): While redisplaying the mode line, prevent + quitting, to avoid exiting while point is temporarily moved. + (decode_mode_spec): Use safe_call1 instead of call1, to trap any + errors instead of letting them throw out of redisplay. (Bug#44448) + +2021-08-15 Masahiro Nakamura + + Mark up commands in shortdoc.el for modes + + * lisp/emacs-lisp/shortdoc.el: Add command mode tagging + (bug#50064). + +2021-08-15 Jo達o T叩vora + + Fix bug#50063 when using icomplete-fido-kill with C-x p p + + C-x p p utilizes a completion table "category" which is 'project-file' + icomplete-fido-kill only functioned for 'buffer' and 'file', and + failed with a non-informative message when something else was used. + + * lisp/icomplete.el (icomplete-fido-kill): Support 'project-file' + class. Use cl-case, instead of pcase. + +2021-08-15 Wolfgang Scherer + + Fix vc-git-state for filenames with wildcards + + * lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner), + (vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions + to add ":(literal)" pathspec magic (bug#39452). + + (vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage), + (vc-git-register), (vc-git-unregister), (vc-git-checkin), + (vc-git-find-revision), (vc-git-checkout), (vc-git-revert), + (vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff), + (vc-git-previous-revision), (vc-git-next-revision), + (vc-git-delete-file), (vc-git-rename-file) functions + vc-git--literal-pathspec, vc-git--literal-pathspecs applied. + +2021-08-15 Dmitry Gutov + + Revert "Bind the GIT_LITERAL_PATHSPECS environment variable" + + This reverts commit a2d0ff26005c5c10ffe0d84bd8b458a06828be82. + + It was found to break a certain use case, and we decided to go with + the other solution (bug#39452). + +2021-08-14 Lars Ingebrigtsen + + Mark auto-revert-test02-auto-revert-deleted-file as unstable + + * test/lisp/autorevert-tests.el + (auto-revert-test02-auto-revert-deleted-file): This tests fails + about 30% of the time for me. + +2021-08-14 Eli Zaretskii + + * src/w32.c (_sys_read_ahead): Pacify a silly compiler warning. + +2021-08-14 Stefan Monnier + + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051 + + This corrects the quite confused conversion to closure done in + commit a070bd1c8b5213ad469d41dd80d392f924644aed. + +2021-08-14 Alan Mackenzie + + * lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function + +2021-08-14 Eli Zaretskii + + Fix 'random' on MS-Windows when integers are wider than 30 bits + + * src/w32.c (random): Provide more random bits for MS-Windows + builds with EMACS_INT that is wider than 32 bits. (Bug#32605) + +2021-08-14 Lars Ingebrigtsen + + Add a test for netrc folding parsing (bug#25769) + +2021-08-14 Lars Ingebrigtsen + + Filter out -L foo labels in diff-hunk-file-names + + * lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo" + labels (bug#10160). + +2021-08-14 Lars Ingebrigtsen + + Revert "Add macro `seq-setq`." + + This reverts commit a8a3fd8f8e27089ac46bf98e534529ff03f679a5. + + The same patch was applied twice. Remove the second instance. + +2021-08-14 Lars Ingebrigtsen + + Make lm-crack-address less strict + + * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use + mail-header-parse-address-lax (bug#50049). + +2021-08-14 Lars Ingebrigtsen + + Add new functions for lax mail address splitting + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Autoload. + * lisp/mail/mail-parse.el (mail-header-parse-addresses-lax) + (mail-header-parse-address-lax): New functions. + +2021-08-14 Earl Hyatt + + Add macro `seq-setq`. + + * doc/lispref/sequences.texi (seq-setq): Document this macro. + + * test/lisp/emacs-lisp/seq-tests.el (test-seq-setq): + Test this macro (bug#50053). + +2021-08-14 Earl Hyatt + + Add macro `seq-setq`. + + * doc/lispref/sequences.texi (seq-setq): Document this macro. + + * lisp/emacs-lisp/seq.el (seq-setq): New macro. + + * test/lisp/emacs-lisp/seq-tests.el (test-seq-setq): + Test this macro (bug#50053). + +2021-08-14 Yikai Zhao (tiny change) + + Fix memory-report counting of vector/hash table sizes + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): + Count element values in vectors and hash tables. + +2021-08-14 Basil L. Contovounesios + + Fix merging of ambiguous nil maps + + * lisp/emacs-lisp/map.el: Bump version to 3.1. + (map--merge): New merging subroutine that uses a hash table in place + of lists, for both efficiency and avoiding ambiguities (bug#49848). + (map-merge): Rewrite in terms of map--merge. + (map-merge-with): Ditto. This ensures that FUNCTION is called + whenever two keys are merged, even if they are not eql (which could + happen until now). It also makes map-merge-with consistent with + map-merge, thus achieving greater overall predictability. + * etc/NEWS: Announce this weakening of guarantees. + * test/lisp/emacs-lisp/map-tests.el (test-map-merge) + (test-map-merge-with): Don't depend on specific orderings. Test + that nil is correctly merged into a plist. + +2021-08-14 Mattias Engdeg奪rd + + Add font-lock-doc-markup-face (bug#50041) + + This face is intended for mark-up syntax and constructs inside text + using font-lock-doc-face; ie, documentation comments and strings in + programming modes. + + * lisp/font-lock.el (font-lock-doc-markup-face): New face. + * lisp/cus-theme.el (custom-theme--listed-faces): Add it to the list. + * doc/lispref/modes.texi (Faces for Font Lock): Document it. + * etc/NEWS: Mention it. + +2021-08-13 Alan Mackenzie + + CC Mode: Fix a bug in yesterday's patch + + * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check + the language has multi-line strings before calling + c-ml-string-opener-at-or-around-point. + +2021-08-13 Lars Ingebrigtsen + + Make `debug' reset `inhibit-read-only' while running + + * lisp/emacs-lisp/debug.el (debug): Bind `inhibit-read-only' to + nil in case we're in a context that has bound it to t (bug#26947). + +2021-08-13 Lars Ingebrigtsen + + Adjust previous diff-changed-unspecified change + + * lisp/vc/diff-mode.el (diff-changed-unspecified): Adjust the + definition to Emacs 28 (bug#26969). + +2021-08-13 Lars Ingebrigtsen + + Add new face diff-changed-unspecified + + * lisp/vc/diff-mode.el (diff-changed-unspecified): New face. + (diff-font-lock-keywords): Use it (bug#26969). + +2021-08-13 Lars Ingebrigtsen + + permanently-enabled-local-variables doc string clarification + + * lisp/files.el (permanently-enabled-local-variables): Clarify + what kind of local variables this refers to. + +2021-08-13 Lars Ingebrigtsen + + Make info-look search harder for the Python info file + + * lisp/info-look.el (python-mode): Try harder to find the correct + info file (bug#31405). + +2021-08-13 Lars Ingebrigtsen + + Fix problem where an error would change standard-output + + * src/keyboard.c (cmd_error): Don't set + standard-output/standard-input (bug#30529). Instead bind them + temporarily while handling the error. + +2021-08-13 Lars Ingebrigtsen + + Unknown line endings in filepos-to-bufferpos/bufferpos-to-linepos + + * lisp/international/mule-util.el (filepos-to-bufferpos): Give + better errors on `exact' with unknown line endings, and guess at + Unix if `approximate' (bug#36573). + (bufferpos-to-filepos): Ditto. + +2021-08-13 Lars Ingebrigtsen + + Remove :group from defcustoms in image-dired.el + + * lisp/image-dired.el: Remove :group from the defcustoms throughout. + +2021-08-13 Peter M端nster + + Don't disable transient mark mode when changing image faces + + * lisp/image-dired.el (image-dired-thumb-update-marks): Keep the + mark state when changing faces. (bug#49999). + +2021-08-13 Juri Linkov + + * lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom. + + (tab-bar-format-history): Don't use this recently added variable + because now it's possible to customize the option 'tab-bar-format' + to remove 'tab-bar-format-history' from it that gives the same result. + +2021-08-13 Juri Linkov + + Add save-some-buffers-root to save-some-buffers-default-predicate (bug#46374) + + * lisp/files.el (save-some-buffers-default-predicate): Add choice + 'save-some-buffers-root'. + (save-some-buffers-root): New predicate function. + (save-some-buffers): Check if 'pred' returns a lexically-bound lambda, + then use it as 'pred'. + + Thanks to Tino Calancha + +2021-08-12 Alan Mackenzie + + CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language + + * lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for + when they are missing from the host Emacs. + (c-point): Add new `position' 'boll "beginning of logical line". + (c-clear-char-properties): Return the position of the lowest removed + property. + + * lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where + LIMIT < START in parse-partial-sexp. + (c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted) + (c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string) + (c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings) + (c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions + and variables removed or renamed "raw" -> "ml" and adapted. + (c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos) + (c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims) + (c-ml-string-delims-around-point,c-position-wrt-ml-delims) + (c-before-change-check-ml-strings, c-after-change-unmark-ml-strings) + (c-maybe-re-mark-ml-string, c-propertize-ml-string-id) + (c-propertize-ml-string-opener, c-depropertize-ml-string) + (c-depropertize-ml-strings-in-region): New functions and variables adapted and + possibly renamed from "raw" -> "ml". + (c-ml-string-make-closer-re, c-ml-string-make-opener-re) + (c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re) + (c-get-ml-closer, c-ml-string-opener-around-point) + (c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point) + (c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos) + (c-neutralized-prop): New functions and variables. + + * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace + c-font-lock-raw-strings with c-font-lock-ml-strings. + (c-font-lock-ml-strings): New function taking the place of the old + c-font-lock-ml-strings. + + * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move + c-depropertize-CPP to the second item of the C++ entry, and replace + c-before-change-check-raw-strings by c-before-change-check-ml-strings. Add a + new entry for Pike Mode. + (c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by + c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for + Pike Mode. + (c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars) + (c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re) + (c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader) + (c-ml-string-back-closer-re, c-make-ml-string-closer-re-function) + (c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re) + (c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars. + (c-multiline-string-start-char): Remove the Pike Mode setting. + + * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings + rather than C++ raw strings. + (c-unescaped-nls-in-string-p): Handle languages with ml strings. + (c-clear-string-fences): Fix bug with wrong parenthesisation. + (c-before-change-check-unbalanced-strings) + (c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string): + Adapt for multi-line strings. + +2021-08-12 Michael Albinus + + Improve connection type `pipe' for remote processes + + * doc/misc/tramp.texi (Remote processes): New subsection "Remote + process connection type". + + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + Use `tramp-process-connection-type' as default connection type. + Improve check for `:connection-type'. + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): + Use `tramp-process-connection-type' as default connection type. + Improve check for `:connection-type'. Send "stty -icrnl" when + connection type is a pipe. + + * lisp/net/tramp.el (tramp-process-connection-type): Allow all + possible values. + (tramp-handle-make-process): Use `tramp-process-connection-type' + as default connection type. Improve check for `:connection-type'. + + * test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test. + +2021-08-12 Stefan Monnier + + * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses + + (lm-authors, lm-maintainers): Adjust accordingly. + +2021-08-12 Lars Ingebrigtsen + + Make info-look try to use more recent Python manual + + * lisp/info-look.el: Use the Debian-installed python3.9 manual if + it exists (bug#31405). + +2021-08-12 Lars Ingebrigtsen + + Further tweak minibuffer-inactive-mode doc string + + * lisp/minibuffer.el (minibuffer-inactive-mode): Mention + `minibuffer-exit-hook' (bug#13641). + +2021-08-12 Lars Ingebrigtsen + + Improve minibuffer-inactive-mode documentation + + * lisp/minibuffer.el (minibuffer-inactive-mode): Clarify when it's + used (bug#13641). + +2021-08-12 Lars Ingebrigtsen + + Mention url-handler-mode in the Emacs manual + + * doc/emacs/misc.texi (Browse-URL): Mention url-handler-mode + (bug#30389). + + * lisp/url/url-handlers.el (url-handler-mode): Improve doc string. + +2021-08-12 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let` + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from + pcase-setq and ajust accordingly. + +2021-08-12 Lars Ingebrigtsen + + Add support for Python mode in info-lookup-symbol + + * lisp/info-look.el (:mode): Add support for Python mode + (bug#31405). + +2021-08-12 Lars Ingebrigtsen + + Clarify smie-indent-forward-token doc string + + * lisp/emacs-lisp/smie.el (smie-indent-forward-token): Doc string + clarification (bug#31948). + +2021-08-12 Lars Ingebrigtsen + + Change the `region' face in the Wombat theme + + * etc/themes/wombat-theme.el (class): Don't use a foreground in + the `region' face because it obscures syntax highlighting (bug#32143). + +2021-08-12 Omar Polo + + Mention `find-ignore-file' in the vc.el commentary + + * lisp/vc/vc.el: Update documentation in the comments about + `find-ignore-file' (bug#50013). + +2021-08-12 Lars Ingebrigtsen + + Add XLFD font parsing tests + + * test/src/font-tests.el (font-parse-xlfd-test): Add some tests + for XLFD testing (bug#35816). + +2021-08-12 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (fixnum, bignum): Fix type definitions + +2021-08-12 Lars Ingebrigtsen + + Fix bytecomp container test case + + * lisp/startup.el (normal-top-level): Make startup more robust -- + we may not be allowed to create any directories when running under + test mode (bug#48350). + +2021-08-12 Stefan Monnier + + * lisp/obsolete/cl.el (labels): Don't quote lambda + + (flet): Don't need `fboundp` any more before calling `symbol-function`. + +2021-08-11 Earl Hyatt + + Add a `pcase-setq' macro + + * doc/lispref/control.texi (Destructuring with pcase Patterns): + Document this macro. + + * lisp/emacs-lisp/pcase.el (pcase-setq): New macro. This macro is + the 'setq' equivalent of 'pcase-let'. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-setq): Test this new + macro. (bug#49809). + +2021-08-11 Lars Ingebrigtsen + + Allow using a single anonymous face in enriced-mode + + * lisp/format.el (format-annotate-single-property-change): Allow + using a single anonymous face (bug#33682). + +2021-08-11 Lars Ingebrigtsen + + Allow using XLFD font names with dashes in the family name + + * src/font.c (font_parse_xlfd_1): Rename from font_parse_xlfd to + allow calling twice from a wrapper (bug#35816). + (font_parse_xlfd): Wrapper function -- first try to parse in the + normal way, and then try to guess that the hyphenated bits are in + the family name. + +2021-08-11 Lars Ingebrigtsen + + Allow `tex-buffer' to work on buffers not visiting files + + * lisp/textmodes/tex-mode.el (tex-region): Make `tex-buffer' work + again on unsaved files (bug#34082). + +2021-08-11 Stephen Berman + + Fix URL entry in ffap after previous change + + * lisp/ffap.el (ffap-read-file-or-url): Make URL entry actually + work again (bug#50011). + +2021-08-11 Peter M端nster + + Add new image-dired commands + + * lisp/image-dired.el (image-dired-delete-marked): Factored out + (bug#50000). + (image-dired-display-thumbs): From here. + (image-dired-tag-marked-thumbnails): New command. + (image-dired-delete-marked): Ditto. + +2021-08-11 Michael Albinus + + Replace some `string-match-p' calls in Tramp + + * lisp/net/tramp.el (tramp-debug-message, tramp-set-completion-function) + (tramp-get-completion-methods, tramp-get-completion-user-host): + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-open-connection-setup-interactive-shell) + (tramp-convert-file-attributes): Use `string-prefix-p'. + + * lisp/net/tramp.el (tramp-dissect-file-name) + (tramp-progress-reporter-update, tramp-handle-insert-directory): + * lisp/net/tramp-cache.el (tramp-get-hash-table) + (tramp-flush-directory-properties): + * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers): + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory) + (tramp-call-local-coding-command, tramp-get-inline-coding): + * lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes) + (tramp-smb-handle-file-name-all-completions) + (tramp-smb-handle-file-writable-p) + (tramp-smb-handle-insert-directory) + (tramp-smb-handle-start-file-process, ) + (tramp-smb-read-file-entry): Use `tramp-compat-string-search'. + +2021-08-11 Rajeev Narang + + Make icalendar parse multi-line items correctly + + * lisp/calendar/icalendar.el (icalendar--parse-summary-and-rest): + Parse multi-line items correctly (bug#37887). + +2021-08-11 Lars Ingebrigtsen + + Fix icalendar-import-file prompt + + * lisp/calendar/icalendar.el (icalendar-import-file): Fix prompt. + +2021-08-11 Lars Ingebrigtsen + + Make gnus-icalendar-event-from-ical more robust + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + Don't bug out on nil UIDs. + +2021-08-11 Peter Oliver + + Drop redundant keywords in .desktop files. + + The Freedesktop.org Desktop Entry spec says, The values [of + Keywords] should not be redundant with the values of Name or + GenericName. + + * etc/emacs.desktop, etc/emacsclient.desktop (Keywords): Remove + keywords that are duplicated from the GenericName field. + +2021-08-11 Peter Oliver + + Hint that emacsclient.desktop should match a search for emacsclient + + This is necessary to get the Gnome desktop to show Emacs (Client) + when the user searches for emacsclient. + + * etc/emacsclient.desktop, emacsclient-mail.desktop (Keywords): Add + emacsclient. + +2021-08-11 Peter Oliver + + Valid quoting in .desktop files + + * etc/emacsclient.desktop, emacsclient-mail.desktop (Exec): Quote + according to the rules in the Freedesktop.org Desktop Entry + Specification. + +2021-08-11 Peter M端nster + + Mark marked images in Image-Dired mode + + * lisp/image-dired.el (image-dired-thumb-update-marks): New + function that makes the marks visible in the thumbnail buffer + (bug#49988). + (image-dired-thumb-margin, image-dired-thumb-mark-color): New user + options. + +2021-08-11 Peter M端nster + + Let image-dired-mouse-toggle-mark act on active region + + * lisp/image-dired.el (image-dired-mouse-toggle-mark): When region is + active, then toggle marks of all images within (bug#49987). + (image-dired-mouse-toggle-mark-1): Separated out into function. + +2021-08-11 Juri Linkov + + * lisp/replace.el (perform-replace): Use 'remove-function' (bug#49963). + + Don't let-bind the value of 'isearch-filter-predicate' to protect + from changing the global value, since with a buffer-local value + it still changes the global value. So after using 'add-function' on the + global value of 'isearch-filter-predicate', call 'remove-function' to remove + 'region-filter' from the global value in 'unwind-protect'. + +2021-08-10 Lars Ingebrigtsen + + Use ### for outline headings in shell-script-mode + + * lisp/progmodes/sh-script.el (sh-mode): Use ### for outline headings. + This aligns it more with emacs-lisp-mode headings. + +2021-08-10 Lars Ingebrigtsen + + Add support for outlining in shell-script-mode + + * lisp/progmodes/sh-script.el (sh-mode): Set outline-regexp (bug#49346). + +2021-08-10 Lars Ingebrigtsen + + Add new user option `gnus-topic-prepare-topic' + + * doc/misc/gnus.texi (Topic Variables): Document it. + * lisp/gnus/gnus-topic.el (gnus-topic-prepare-topic): New user option. + (gnus-topic-prepare-topic): Use it. + +2021-08-10 Mattias Engdeg奪rd + + More robust auto-detect of grep-highlight-matches (bug#49978) + + * lisp/progmodes/grep.el (grep-compute-defaults): + Don't require "grep --help" to finish with exit status 0 (BSD grep + does not) and check the output in a slightly more robust way. + +2021-08-10 Lars Ingebrigtsen + + Add a new command `revert-buffer-quick' + + * doc/emacs/files.texi (Reverting): Document it. + * lisp/bindings.el (ctl-x-x-map): Bind `C-x x g' to + `revert-buffer-quick' instead. + + * lisp/files.el (revert-buffer-quick-short-answers): New user option. + (revert-buffer-quick): New command (bug#49869). + +2021-08-10 Benjamin Riefenstahl + + Fix nnrss-get-namespace-prefix (bug#34685) + + * lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Use the car of + parameter el to match what dom-search expects. + * test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): Adjust to what + xml-parse-region produces (bug#34685). + +2021-08-10 Mattias Engdeg奪rd + + Tramp string-search and string-replace compatibility functions + + Add a `string-search` compatibility function for use in Tramp with + Emacs version prior to 28, and fix the existing `string-replace` + compatibility function so that it uses the right semantics. + + * lisp/net/tramp-compat.el (tramp-compat-string-replace): + Use case-sensitive matching and literal replacement. + (tramp-compat-string-search): New function. + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions): + * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions) + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-sh-handle-make-process, tramp-sh-handle-process-file): + * lisp/net/tramp.el (tramp-handle-make-process): + Use `tramp-compat-string-search` instead of `string-match-p`. + +2021-08-10 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el: Try and fix bug#49866 + + (cl-generic-generalizers): Remember the specializers that match + a given value. + (cl--generic-eql-generalizer): Adjust accordingly. + + * test/lisp/emacs-lisp/cl-generic-tests.el (cl-generic-test-01-eql): + Add corresponding test. + +2021-08-10 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-buffer-info): Fix typo + +2021-08-09 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-buffer-info): Use lm-maintainers + + Avoid the now obsolete `lm-maintainer`. + +2021-08-09 Lars Ingebrigtsen + + Make ffap-read-file-or-url put point at the correct place for URLs + + * lisp/ffap.el (ffap-read-file-or-url): Put point at the end of + URLs (bug#44822). + (ffap--url-file-handler): Remove hack for default dirs. + +2021-08-09 dickmao + + Forestall "Selected deleted buffer" in url-http-generic-filter + + * lisp/url/url-http.el (url-http-generic-filter): Check that + corresponding buffer is still live before using it (bug#49928). + +2021-08-09 Lars Ingebrigtsen + + Make xterm-set-window-title more robust + + * lisp/term/xterm.el (xterm-set-window-title): Don't do anything + on graphic displays (bug#49932). + +2021-08-09 Lars Ingebrigtsen + + Fix tmm-get-keymap under native-compile + + * lisp/tmm.el (tmm-get-keymap): Make this work under + natively-compiled Emacsen (and with lexical binding, too) (bug#49953). + +2021-08-09 Lars Ingebrigtsen + + Further fixes for package-quickstart-refresh printing + + * lisp/emacs-lisp/package.el (package-quickstart-refresh): Really + ensure that the structures aren't shortened (bug#49924). + +2021-08-09 Michael Albinus + + Fix last commit of tramp.el + +2021-08-09 Gr辿goire Jadi + + Fix freeze on OpenBSD when reading the SECONDARY selection + + * configure.ac (NSIG_MINIMUM): OpenBSD doesn't have a broken SIGIO + any more (bug#29170). Backport fix from the current OpenBSD port + tree. + +2021-08-09 Benjamin Riefenstahl + + Add test for nnrss + + * test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): New test (bug#34685). + +2021-08-09 Lars Ingebrigtsen + + Add a new test for dom-search + +2021-08-09 Mattias Engdeg奪rd + + Fix variable binding in calendar (bug#49945) + + * lisp/calendar/cal-tex.el (cal-tex-week-hours, cal-tex-daily-page): + Use `let*` instead of `let`. + +2021-08-09 Mattias Engdeg奪rd + + Use string-search instead of string-match[-p] + + `string-search` is easier to understand, less error-prone, much + faster, does not pollute the regexp cache, and does not mutate global + state. Use it where applicable and obviously safe (erring on the + conservative side). + + * admin/authors.el (authors-canonical-file-name) + (authors-scan-change-log): + * lisp/apropos.el (apropos-command) + (apropos-documentation-property, apropos-symbols-internal): + * lisp/arc-mode.el (archive-arc-summarize) + (archive-zoo-summarize): + * lisp/calc/calc-aent.el (math-read-factor): + * lisp/calc/calc-ext.el (math-read-big-expr) + (math-format-nice-expr, math-format-number-fancy): + * lisp/calc/calc-forms.el (math-read-angle-brackets): + * lisp/calc/calc-graph.el (calc-graph-set-range): + * lisp/calc/calc-keypd.el (calc-keypad-press): + * lisp/calc/calc-lang.el (tex, latex, math-read-big-rec): + * lisp/calc/calc-prog.el (calc-fix-token-name) + (calc-user-define-permanent, math-define-exp): + * lisp/calc/calc.el (calc-record, calcDigit-key) + (calc-count-lines): + * lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots) + (math-do-integral): + * lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum) + (calc-get-fit-variables): + * lisp/cedet/ede/speedbar.el (ede-tag-expand): + * lisp/cedet/semantic/java.el (semantic-java-expand-tag): + * lisp/cedet/semantic/sb.el (semantic-sb-show-extra) + (semantic-sb-expand-group): + * lisp/cedet/semantic/wisent/python.el + (semantic-python-instance-variable-p): + * lisp/cus-edit.el (get): + * lisp/descr-text.el (describe-text-sexp): + * lisp/dired-aux.el (dired-compress-file): + * lisp/dired-x.el (dired-make-relative-symlink): + * lisp/dired.el (dired-glob-regexp): + * lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename): + * lisp/edmacro.el (edmacro-format-keys): + * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand): + * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): + * lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list): + * lisp/emacs-lisp/warnings.el (display-warning): + * lisp/emulation/viper-ex.el (viper-ex-read-file-name) + (ex-print-display-lines): + * lisp/env.el (read-envvar-name, setenv): + * lisp/epa-mail.el (epa-mail-encrypt): + * lisp/epg.el (epg--start): + * lisp/erc/erc-backend.el (erc-parse-server-response): + * lisp/erc/erc-dcc.el (erc-dcc-member): + * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) + (erc-speedbar-expand-channel, erc-speedbar-expand-user): + * lisp/erc/erc.el (erc-send-input): + * lisp/eshell/em-glob.el (eshell-glob-entries): + * lisp/eshell/esh-proc.el (eshell-needs-pipe-p): + * lisp/eshell/esh-util.el (eshell-convert): + * lisp/eshell/esh-var.el (eshell-envvar-names): + * lisp/faces.el (x-resolve-font-name): + * lisp/ffap.el (ffap-file-at-point): + * lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern): + * lisp/forms.el (forms--update): + * lisp/frameset.el (frameset-filter-unshelve-param): + * lisp/gnus/gnus-art.el (article-decode-charset): + * lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file): + * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): + * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc) + (gnus-inews-insert-gcc): + * lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body): + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output) + (gnus-search--complete-key-data): + * lisp/gnus/gnus-spec.el (gnus-parse-simple-format): + * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): + * lisp/gnus/gnus-util.el (gnus-extract-address-components) + (gnus-newsgroup-directory-form): + * lisp/gnus/gnus-uu.el (gnus-uu-grab-view): + * lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name): + * lisp/gnus/message.el (message-check-news-header-syntax) + (message-make-message-id, message-user-mail-address) + (message-make-fqdn, message-get-reply-headers, message-followup): + * lisp/gnus/mm-decode.el (mm-dissect-buffer): + * lisp/gnus/nnheader.el (nnheader-insert): + * lisp/gnus/nnimap.el (nnimap-process-quirk) + (nnimap-imap-ranges-to-gnus-ranges): + * lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix): + * lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path): + * lisp/gnus/nnrss.el (nnrss-match-macro): + * lisp/gnus/nntp.el (nntp-find-group-and-number): + * lisp/help-fns.el (help--symbol-completion-table-affixation): + * lisp/help.el (help-function-arglist): + * lisp/hippie-exp.el (he-concat-directory-file-name): + * lisp/htmlfontify.el (hfy-relstub): + * lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word) + (ido-exhibit): + * lisp/image/image-converter.el (image-convert-p): + * lisp/info-xref.el (info-xref-docstrings): + * lisp/info.el (Info-toc-build, Info-follow-reference) + (Info-backward-node, Info-finder-find-node) + (Info-speedbar-expand-node): + * lisp/international/mule-diag.el (print-fontset-element): + * lisp/language/korea-util.el (default-korean-keyboard): + * lisp/linum.el (linum-after-change): + * lisp/mail/ietf-drums.el (ietf-drums-parse-address): + * lisp/mail/mail-utils.el (mail-dont-reply-to): + * lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string): + * lisp/mail/rfc2231.el (rfc2231-parse-string): + * lisp/mail/rmailkwd.el (rmail-set-label): + * lisp/mail/rmailsum.el (rmail-header-summary): + * lisp/mail/smtpmail.el (smtpmail-maybe-append-domain) + (smtpmail-user-mail-address): + * lisp/mail/uce.el (uce-reply-to-uce): + * lisp/man.el (Man-default-man-entry): + * lisp/mh-e/mh-alias.el (mh-alias-gecos-name) + (mh-alias-minibuffer-confirm-address): + * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): + * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output): + * lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter) + (mh-folder-completion-function): + * lisp/minibuffer.el (completion--make-envvar-table) + (completion-file-name-table, completion-flex-try-completion) + (completion-flex-all-completions): + * lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p) + (mpc-constraints-tag-lookup): + * lisp/net/ange-ftp.el (ange-ftp-send-cmd) + (ange-ftp-allow-child-lookup): + * lisp/net/mailcap.el (mailcap-mime-types): + * lisp/net/mairix.el (mairix-search-thread-this-article): + * lisp/net/pop3.el (pop3-open-server): + * lisp/net/soap-client.el (soap-decode-xs-complex-type): + * lisp/net/socks.el (socks-filter): + * lisp/nxml/nxml-outln.el (nxml-highlighted-qname): + * lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype): + * lisp/nxml/rng-uri.el (rng-uri-file-name-1): + * lisp/obsolete/complete.el (partial-completion-mode) + (PC-do-completion): + * lisp/obsolete/longlines.el (longlines-encode-string): + * lisp/obsolete/nnir.el (nnir-compose-result): + * lisp/obsolete/terminal.el (te-quote-arg-for-sh): + * lisp/obsolete/tpu-edt.el (tpu-check-search-case): + * lisp/obsolete/url-ns.el (isPlainHostName): + * lisp/pcmpl-unix.el (pcomplete/scp): + * lisp/play/dunnet.el (dun-listify-string2, dun-get-path) + (dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface): + * lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment): + * lisp/progmodes/gdb-mi.el (gdb-var-delete) + (gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result): + * lisp/progmodes/gud.el (gud-find-expr): + * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode) + (idlwave-shell-filter-hidden-output, idlwave-shell-filter): + * lisp/progmodes/idlwave.el (idlwave-skip-label-or-case) + (idlwave-routine-info): + * lisp/progmodes/octave.el (inferior-octave-completion-at-point): + * lisp/progmodes/sh-script.el (sh-add-completer): + * lisp/progmodes/sql.el (defun): + * lisp/progmodes/xscheme.el (xscheme-process-filter): + * lisp/replace.el (query-replace-compile-replacement) + (map-query-replace-regexp): + * lisp/shell.el (shell--command-completion-data) + (shell-environment-variable-completion): + * lisp/simple.el (display-message-or-buffer): + * lisp/speedbar.el (speedbar-dired, speedbar-tag-file) + (speedbar-tag-expand): + * lisp/subr.el (split-string-and-unquote): + * lisp/tar-mode.el (tar-extract): + * lisp/term.el (term-command-hook, serial-read-name): + * lisp/textmodes/bibtex.el (bibtex-print-help-message): + * lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter) + (ispell-parse-output, ispell-buffer-local-parsing): + * lisp/textmodes/reftex-cite.el (reftex-do-citation): + * lisp/textmodes/reftex-parse.el (reftex-notice-new): + * lisp/textmodes/reftex-ref.el (reftex-show-entry): + * lisp/textmodes/reftex.el (reftex-compile-variables): + * lisp/textmodes/tex-mode.el (tex-send-command) + (tex-start-tex, tex-append): + * lisp/thingatpt.el (thing-at-point-url-at-point): + * lisp/tmm.el (tmm-add-one-shortcut): + * lisp/transient.el (transient-format-key): + * lisp/url/url-auth.el (url-basic-auth) + (url-digest-auth-directory-id-assoc): + * lisp/url/url-news.el (url-news): + * lisp/url/url-util.el (url-parse-query-string): + * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): + * lisp/wid-browse.el (widget-browse-sexp): + * lisp/woman.el (woman-parse-colon-path, woman-mini-help) + (WoMan-getpage-in-background, woman-negative-vertical-space): + * lisp/xml.el: + * test/lisp/emacs-lisp/check-declare-tests.el + (check-declare-tests-warn): + * test/lisp/files-tests.el + (files-tests-file-name-non-special-dired-compress-handler): + * test/lisp/net/network-stream-tests.el (server-process-filter): + * test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode): + Use `string-search` instead of `string-match` and `string-match-p`. + +2021-08-08 Alan Third + + * src/nsterm.m (max_used_fringe_bitmap): Remove unused variable. + +2021-08-08 Tassilo Horn + + Un-obsolete dired-in-this-tree-p and use it again in certain places. + + This reverts parts of b425966b07, and 7b50ed553f, i.e. it reverts the + obsoletion of dired-in-this-tree-p and switches some new callers of + file-in-directory-p back to using dired-in-this-tree-p. + + It turned out that using file-in-directory-p can be a major + performance regression in case you have a dired buffer of a remote + directory which has become (almost) inaccessible. + + Any attempt to open a new dired buffer is checking if a buffer for + that directory already exists (in terms of dired-buffers-for-dir) + which meant that file-in-directory-p was called with the directory of + any existing dired buffer including the inaccessible one where the + file-truename call in file-in-directory-p could block for seconds or + even minutes. + + * lisp/dired.el (dired-in-this-tree-p): Undo obsoletion. + (dired-buffers-for-dir): Use dired-in-this-tree-p as before. + * lisp/dired-aux.el (dired-kill-tree,dired-tree-down): Une + dired-in-this-tree-p as before. + +2021-08-08 Mattias Engdeg奪rd + + Use string-replace instead of replace-regexp-in-string + + `string-replace` is easier to understand, less error-prone, much + faster, and results in shorter Lisp and byte code. Use it where + applicable and obviously safe (erring on the conservative side). + + * admin/authors.el (authors-scan-change-log): + * lisp/autoinsert.el (auto-insert-alist): + * lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent) + (calc-edit-macro-combine-ext-command) + (calc-edit-macro-combine-var-name): + * lisp/calc/calc-units.el (math-make-unit-string): + * lisp/calendar/cal-html.el (cal-html-comment): + * lisp/calendar/cal-tex.el (cal-tex-comment): + * lisp/calendar/icalendar.el (icalendar--convert-string-for-export) + (icalendar--convert-string-for-import): + * lisp/calendar/iso8601.el (iso8601--concat-regexps) + (iso8601--full-time-match, iso8601--combined-match): + * lisp/calendar/time-date.el (format-seconds): + * lisp/calendar/todo-mode.el (todo-filter-items-filename): + * lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name) + (cedet-file-name-to-directory-name): + * lisp/comint.el (comint-watch-for-password-prompt): + * lisp/dired-aux.el (dired-do-chmod): + * lisp/dired-x.el (dired-man): + * lisp/dired.el (dired-insert-directory, dired-goto-file-1): + * lisp/emacs-lisp/comp.el (comp-c-func-name): + * lisp/emacs-lisp/re-builder.el (reb-copy): + * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): + * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) + (erc-update-mode-line-buffer, erc-message-english-PART): + * lisp/files.el (make-backup-file-name-1, files--transform-file-name) + (read-file-modes): + * lisp/fringe.el (fringe-mode): + * lisp/gnus/gnus-art.el (gnus-button-handle-info-url): + * lisp/gnus/gnus-group.el (gnus-group-completing-read): + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): + * lisp/gnus/gnus-search.el (gnus-search-query-parse-date) + (gnus-search-transform-expression, gnus-search-run-search): + * lisp/gnus/gnus-start.el (gnus-dribble-enter): + * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): + * lisp/gnus/gnus-util.el (gnus-mode-string-quote): + * lisp/gnus/message.el (message-put-addresses-in-ecomplete) + (message-parse-mailto-url, message-mailto-1): + * lisp/gnus/mml-sec.el (mml-secure-epg-sign): + * lisp/gnus/mml-smime.el (mml-smime-epg-verify): + * lisp/gnus/mml2015.el (mml2015-epg-verify): + * lisp/gnus/nnmaildir.el (nnmaildir--system-name) + (nnmaildir-request-list, nnmaildir-retrieve-groups) + (nnmaildir-request-group, nnmaildir-retrieve-headers): + * lisp/gnus/nnrss.el (nnrss-node-text): + * lisp/gnus/spam-report.el (spam-report-gmane-internal) + (spam-report-user-mail-address): + * lisp/ibuffer.el (name): + * lisp/image-dired.el (image-dired-pngnq-thumb) + (image-dired-pngcrush-thumb, image-dired-optipng-thumb) + (image-dired-create-thumb-1): + * lisp/info.el (Info-set-mode-line): + * lisp/international/mule-cmds.el (describe-language-environment): + * lisp/mail/rfc2231.el (rfc2231-parse-string): + * lisp/mail/rfc2368.el (rfc2368-parse-mailto-url): + * lisp/mail/rmail.el (rmail-insert-inbox-text) + (rmail-simplified-subject-regexp): + * lisp/mail/rmailout.el (rmail-output-body-to-file): + * lisp/mail/undigest.el (rmail-digest-rfc1153): + * lisp/man.el (Man-default-man-entry): + * lisp/mouse.el (minor-mode-menu-from-indicator): + * lisp/mpc.el (mpc--debug): + * lisp/net/browse-url.el (browse-url-mail): + * lisp/net/eww.el (eww-update-header-line-format): + * lisp/net/newst-backend.el (newsticker-save-item): + * lisp/net/rcirc.el (rcirc-sentinel): + * lisp/net/soap-client.el (soap-decode-date-time): + * lisp/nxml/rng-cmpct.el (rng-c-literal-2-re): + * lisp/nxml/xmltok.el (let*): + * lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex) + (nnir-run-find-grep): + * lisp/play/dunnet.el (dun-doassign): + * lisp/play/handwrite.el (handwrite): + * lisp/proced.el (proced-format-args): + * lisp/profiler.el (profiler-report-header-line-format): + * lisp/progmodes/gdb-mi.el (gdb-mi-quote): + * lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex) + (makefile-make-font-lock-keywords): + * lisp/progmodes/prolog.el (prolog-guess-fill-prefix): + * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes): + * lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal): + * lisp/progmodes/which-func.el (which-func-current): + * lisp/replace.el (query-replace-read-from) + (occur-engine, replace-quote): + * lisp/select.el (xselect--encode-string): + * lisp/ses.el (ses-export-tab): + * lisp/subr.el (shell-quote-argument): + * lisp/term/pc-win.el (msdos-show-help): + * lisp/term/w32-win.el (w32--set-selection): + * lisp/term/xterm.el (gui-backend-set-selection): + * lisp/textmodes/picture.el (picture-tab-search): + * lisp/thumbs.el (thumbs-call-setroot-command): + * lisp/tooltip.el (tooltip-show-help-non-mode): + * lisp/transient.el (transient-format-key): + * lisp/url/url-mailto.el (url-mailto): + * lisp/vc/log-edit.el (log-edit-changelog-ours-p): + * lisp/vc/vc-bzr.el (vc-bzr-status): + * lisp/vc/vc-hg.el (vc-hg--glob-to-pcre): + * lisp/vc/vc-svn.el (vc-svn-after-dir-status): + * lisp/xdg.el (xdg-desktop-strings): + * test/lisp/electric-tests.el (defun): + * test/lisp/term-tests.el (term-simple-lines): + * test/lisp/time-stamp-tests.el (formatz-mod-del-colons): + * test/lisp/wdired-tests.el (wdired-test-bug32173-01) + (wdired-test-unfinished-edit-01): + * test/src/json-tests.el (json-parse-with-custom-null-and-false-objects): + Use `string-replace` instead of `replace-regexp-in-string`. + +2021-08-08 Eli Zaretskii + + Another fix for parse-colon-path + + * test/lisp/files-tests.el (files-tests-bug-21454, files-colon-path): + Adapt to change in behavior of 'parse-colon-path'. + + * lisp/files.el (parse-colon-path): Don't expand the directory + names: that changes the names in ways this function is not + supposed to. (Bug#49918) + +2021-08-08 Michael Albinus + + Doc update wrt Tramp support of SSH security keys + + * doc/misc/tramp.texi (Frequently Asked Questions): Speak about + SSH security keys. + (GVFS-based methods, Predefined connection information) + (Remote shell setup): Fix typo. + + * etc/NEWS: Precise Tramp's support for SSH security keys. Fix typos. + +2021-08-08 Dmitry Gutov + + project.el: Bump the version + + * lisp/progmodes/project.el: Bump the version. + +2021-08-07 Eric Abrahamsen + + Further fix to filtering Gnus search group names + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Group + names in the GROUPS argument may be prefixed or not, depending on + which server we're searching, so always enforce prefix policy within + the function. + +2021-08-07 Eli Zaretskii + + Fix files-tests broken on MS-Windows by a recent change + + * test/lisp/files-tests.el (files-colon-path): Use path-separator, and + account for drive letters in absolute file names on MS-Windows. (Bug#49918) + +2021-08-07 Lars Ingebrigtsen + + Fix prin1 problem in package-quickstart-refresh + + * lisp/emacs-lisp/package.el (package-quickstart-refresh): Bind + print-length/print-level before using prin1-to-string (bug#49924). + +2021-08-07 Lars Ingebrigtsen + + Fix print-length issue in comp-run-async-workers + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind + print-length/print-level to ensure there's no truncation (bug#49922). + +2021-08-07 Lars Ingebrigtsen + + Make `q' in `org-agenda' work even with `debug-on-error' set + + * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command): + Using `error' here will trigger users with `debug-on-error' so use + `user-error' instead (bug#49920). It would probably be preferable + to rewrite this to not use the error system to do control flow. + +2021-08-07 Lars Ingebrigtsen + + Fix problem with relative directories in CDPATH + + * lisp/files.el (parse-colon-path): Allow relative directories + (like ".") in CDPATH (bug#49918). + +2021-08-07 Tomasz Konojacki (tiny change) + + perl-mode: fix variable fontification + + * lisp/progmodes/perl-mode.el: Handle variables first to avoid + conflicting with keywords. This fixes cases like "$package" + (bug#49906). + +2021-08-07 Lars Ingebrigtsen + + Allow building on MacOS with MacPorts and libgccjit + + * configure.ac: Check for the "port" command (MacPorts). + Add the required lib/include directories for nativecomp. + + * src/Makefile.in (LIBGCCJIT_CFLAGS, LIBGCCJIT_LIBS): Split into + two parts to allow including -L/-I for MacPorts. + (LIBES): Adjust. + (EMACS_CFLAGS): Ditto. + +2021-08-06 Philip Kaludercic + + Add new option rcirc-channel-filter + + * rcirc.el (rcirc-channel-filter): Add option + (rcirc-short-buffer-name): Respect rcirc-channel-filter + (rcirc-handler-JOIN): Respect rcirc-channel-filter + (rcirc-handler-PART): Respect rcirc-channel-filter + (rcirc-handler-KICK): Respect rcirc-channel-filter + (rcirc-handler-QUIT): Respect rcirc-channel-filter + (rcirc-handler-INVITE): Respect rcirc-channel-filter + +2021-08-06 Philip Kaludercic + + Add new option rcirc-track-abbrevate-flag + + * rcirc.el (rcirc-track-abbrevate-flag): Add option + (rcirc-short-buffer-name): Respect rcirc-track-abbrevate-flag + +2021-08-06 Glenn Morris + + Merge from origin/emacs-27 + + b77f6af24e (origin/emacs-27) ERC right stamps: also use latest buffer... + + # Conflicts: + # lisp/erc/erc-stamp.el + +2021-08-06 dickmao + + Improve ffap-ido-mode test + + * test/lisp/ffap-tests.el (ffap-ido-mode): Actually test + `ido-everywhere' at run time, not compile time (bug#49895). + +2021-08-06 dick r. chiang + + Fix problem with occasional stalls in `url-retrieve-synchronously' + + * lisp/url/url.el (url-retrieve-synchronously): Use + `accept-process-output' on a null process. That is the safer, more + conventional way of achieving non-blocking sleep-for (bug#49897). + + Also rewrite for greater readability. + +2021-08-06 Lars Ingebrigtsen + + Mention NonGNU in "Package Archives" node in the manual + + * doc/lispref/package.texi (Package Archives): Mention NonGNU, too + (bug#49899). + +2021-08-06 Dmitry Gutov + + Add colon-space after prompt + + * lisp/progmodes/project.el (project--completing-read-strict): + Fix last change's regression (bug#49865). + +2021-08-06 Eli Zaretskii + + Fix automatic hscrolling when line numbers are displayed + + * src/xdisp.c (hscroll_window_tree): When line numbers are + displayed, account for the the line-number space when calculating + the desired X coordinate on the left. (Bug#49891) + +2021-08-06 Eli Zaretskii + + Improve wording of recently changed documentation + + * src/minibuf.c (syms_of_minibuf): + * lisp/minibuffer.el (minibuffer-restore-windows): + * lisp/progmodes/etags.el (etags-xref-prefer-current-file): + Improve wording of doc strings. + + * etc/NEWS: Improve wording and format of recently added entries. + +2021-08-06 Eli Zaretskii + + Make sure installed *.eln files have correct permissions + + * Makefile.in (install-eln): Add "umask 022" to ensure the *.eln + files are accessible from the user's Emacs session. Suggested by + Wilhelm Kirschbaum . (Bug#49864) + +2021-08-06 Olivier Certner + + ERC right stamps: also use latest buffer's window's width (Bug#44140) + + * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Use latest + buffer's window's width to position the timestamp, if both + `erc-timestamp-right-column' and `erc-fill-column' are not set (or + `erc-fill-mode' is off). This is what the documentation says, but was + not implemented. Also fix the bug of using selected window's width + instead of the (or some) window showing the buffer. The latest + window's width is saved in `erc-timestamp-last-window-width' and used + when the buffer is no more shown. In case the buffer was never shown, + which I'm not sure can happen, either use `fill-column' if set, or + give up on aligning and just output the timestamp (modulo the kludge) + right after message text. While here, fix the off by one calculation + of point start when the reference is the window's width. + +2021-08-06 Dmitry Gutov + + Change how project-find-file's completion works + + * lisp/progmodes/project.el (project--completing-read-strict): + Allow to choose a non-existent file, with confirmation + (bug#49204). + Don't use the string at point as a "real" default, and instead + only include it in "future history": meaning, it will be inserted + on 'M-n' (bug#49865). + +2021-08-06 Dmitry Gutov + + New option etags-xref-prefer-current-file + + * lisp/progmodes/etags.el (etags-xref-prefer-current-file): + New user option (bug#2544). + (xref-backend-definitions): Use it. + +2021-08-06 Dmitry Gutov + + Provide a default for xref-find-apropos pattern + + * lisp/progmodes/xref.el (xref-find-apropos): + Provide a default for the pattern (bug#49731). + +2021-08-06 Dmitry Gutov + + Change the xref-goto-xref error message + + * lisp/progmodes/xref.el (xref-goto-xref): + Change the error message (bug#49846). + +2021-08-06 Juri Linkov + + Add function minibuffer-restore-windows (bug#45072) + + * lisp/minibuffer.el (minibuffer-restore-windows): New function + that removes the completions buffer. Add it to minibuffer-exit-hook. + * src/minibuf.c (read-minibuffer-restore-windows): Mention + minibuffer-restore-windows. + +2021-08-05 Konstantin Kharlamov + + Reset mtime of a buffer reverted "delicately" + + * lisp/files.el (revert-buffer-insert-file-contents-delicately): + Once buffer is reverted, reset its mtime to that of the file. + (Bug#49893) + +2021-08-05 Eli Zaretskii + + Fix files-tests on non-Posix systems + + * test/lisp/files-tests.el (files-test-auto-save-name-default) + (files-test-auto-save-name-transform) + (files-test-auto-save-name-unique, files-test-lock-name-default) + (files-test-lock-name-unique): Skip the drive letter in absolute + file names on MS-Windows/MS-DOS when comparing file names against + the expected ones. + (files-tests-file-name-non-special--subprocess): Skip test on + MS-Windows/MS-DOS. + +2021-08-05 Mattias Engdeg奪rd + + Cease attempts to const-propagate through setq + + The current method of propagating constants through setq was unsound + because it relied on each setq form only being traversed at most once + during optimisation, which isn't necessarily true in general; it could + be made to miscompile code in rare cases. + + Since it was only used in limited circumstances, disabling this + optimisation doesn't cost us much. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Don't update the known value when traversing `setq`. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test case. + +2021-08-05 Lars Ingebrigtsen + + Fix M-n description in refcards + + * etc/refcards/pl-refcard.tex (section{Szukanie przyrostowe}): + Ditto (in comments). + + * etc/refcards/refcard.tex (section{Incremental Search}): Fix M-n + description (bug#49872). + +2021-08-05 Roland Winkler + + Add support for the oauth2.el library in nnimap and smtpmail + + * doc/misc/gnus.texi (Customizing the IMAP Connection): + * doc/misc/smtpmail.texi (Authentication): Mention it. + + * lisp/gnus/nnimap.el (nnimap-login): Support oauth2. + + * lisp/mail/smtpmail.el (smtpmail-try-auth-method): New function + for oauth2. + +2021-08-05 Glenn Morris + + * lisp/cus-start.el (read-minibuffer-restore-windows): Fix entry. + +2021-08-04 Juri Linkov + + * lisp/vc/smerge-mode.el (smerge-mode-menu): Add menu item for smerge-refine. + +2021-08-04 dickmao + + Package archive location needs to be absolute filename + + * lisp/emacs-lisp/package.el (package--with-response-buffer-1): + Actually check that URL is absolute (bug#49788). + +2021-08-04 Lars Ingebrigtsen + + Add a new thing-at-point type: existing-filename + + * doc/lispref/text.texi (Buffer Contents): Mention it. + + * lisp/thingatpt.el (thing-at-point-file-at-point): New function. + (existing-filename): Register it. + +2021-08-04 Lars Ingebrigtsen + + Make `M-j' work reliably if `comment-auto-fill-only-comments' is set + + * lisp/simple.el (default-indent-new-line): Force breaking the + line when called interactively (bug#49849). (Perhaps the + interactive command should be rebound and call this function + instead...) + +2021-08-04 Lars Ingebrigtsen + + Improve `define-globalized-minor-mode' doc strings + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Copy the description from easy-mmode--arg-docstring (bug#49843). + +2021-08-04 dickmao + + ffap ido accommodation + + Now that ffap-file-finder can be ido-find-file, the + noninteractive portion of find-file-at-point cannot + assume ffap-file-finder always takes an argument + (ido-find-file does not). + + * lisp/ffap.el (find-file-at-point): Do not call ffap-file-finder. + * test/lisp/ffap-tests.el (ffap-ido-mode): Test it. + +2021-08-04 Miha Rihtar邸i + + Use `abort-minibuffers' in delsel + + * lisp/delsel.el (minibuffer-keyboard-quit): Use + `abort-minibuffers' (bug#49821). + + Previously, C-g was bound to abort-recursive-edit, now it is bound to + abort-minibuffers. However, after requiring delsel, it gets bound to + minibuffer-keyboard-quit, which still uses abort-recursive-edit. Use + the new function instead. + +2021-08-04 martin rudalics + + Add new user option 'read-minibuffer-restore-windows' + + * doc/lispref/minibuf.texi (Text from Minibuffer): Document it + (bug#45072). + + * lisp/cus-start.el (standard): Add. + + * src/minibuf.c (syms_of_minibuf): New variable + 'read-minibuffer-restore-windows'. + +2021-08-04 Lars Ingebrigtsen + + Update outdated Gnus information + + * doc/misc/gnus.texi (History): Update information. + +2021-08-04 Lars Ingebrigtsen + + Fix apparent typo in new cl-generic-tests.el test case + +2021-08-04 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Don't emit warning + + Also remove "WARNING" annotations after confirming that he code was right. + +2021-08-04 akater + + Evaluate eql specializers + + * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Evaluate + forms that are eql specializers. Provide backward compatibility + with a warning. + + * test/lisp/emacs-lisp/cl-generic-tests.el: Add a test. + * lisp/emacs-lisp/bindat.el (bindat--type): Adhere to the new rule. + * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Adhere to the new rule. + * lisp/emacs-lisp/map.el (map-into): Adhere to the new rule. + * lisp/emacs-lisp/radix-tree.el (map-into): Adhere to the new rule. + * lisp/frame.el (cl-generic-define-context-rewriter): Adhere to the new rule. + * lisp/gnus/gnus-search.el + (gnus-search-transform-expression): Adhere to the new rule. + * lisp/image/image-converter.el + (image-converter--probe image-converter--convert): Adhere to the new rule. + * lisp/mail/smtpmail.el (smtpmail-try-auth-method): Adhere to the new rule. + * lisp/progmodes/elisp-mode.el + (xref-backend-definitions) + (xref-backend-apropos): Adhere to the new rule. + * lisp/progmodes/etags.el (xref-backend-identifier-at-point) + (xref-backend-identifier-completion-table) + (xref-backend-identifier-completion-ignore-case) + (xref-backend-definitions)(xref-backend-apropos): Adhere to the new rule. + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-cl-defmethod-with-types-ok) + (checkdoc-cl-defmethod-qualified-ok) + (checkdoc-cl-defmethod-with-extra-qualifier-ok): Adhere to the new rule. + + * etc/NEWS: Describe the change. + +2021-08-03 Michael Albinus + + Code cleanup for Tramp's yubikey integration + + * lisp/net/tramp-sh.el (tramp-actions-before-shell) + (tramp-actions-copy-out-of-band): + Use `tramp-security-key-confirm-regexp'. + + * lisp/net/tramp.el (tramp-security-key-confirm-regexp): Rename from + `tramp-yubikey-regexp'. Adapt docstring. + (tramp-security-key-confirmed-regexp): New defcustom. + (tramp-action-show-and-confirm-message): + Redisplay. Use `tramp-security-key-confirmed-regexp'. + +2021-08-03 Lars Ingebrigtsen + + file-name-concat is not error free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Declare + file-name-concat as side-effect free. + +2021-08-03 Lars Ingebrigtsen + + Declare file-name-concat as side-effect free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Declare + file-name-concat as side-effect (and error) free. + +2021-08-03 Mattias Engdeg奪rd + + Remove ineffective expression in verilog-mode + + * lisp/progmodes/verilog-mode.el (verilog-set-auto-endcomments): + Remove expression that now elicits a byte-compiler warning. + +2021-08-03 Mattias Engdeg奪rd + + Declare `match-beginning` and `match-end` as side-effect-free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add functions. + +2021-08-03 Phil Sainty + + Merge branch 'scratch/so-long' + +2021-08-03 Phil Sainty + + Make `global-so-long-mode' use `buffer-line-statistics' + + * lisp/so-long.el: (so-long-statistics-excessive-p): New predicate + function using `buffer-line-statistics'. + (so-long-predicate): Use `so-long-statistics-excessive-p' by default. + + * etc/NEWS: Describe changes. + + * test/lisp/so-long-tests/so-long-tests-helpers.el: + * test/lisp/so-long-tests/so-long-tests.el: Update tests. + Also improve the existing `so-long-tests-predicate' tests. + +2021-08-03 Phil Sainty + + Support 'preserved' variables and minor modes in `so-long-mode' + + The default values support preserving the state of `view-mode' when + switching to (and reverting from) `so-long-mode' (bug#45084). + + * lisp/so-long.el (so-long-mode-preserved-variables) + (so-long-mode-preserved-minor-modes): New user options. + (so-long-mode-maintain-preserved-variables) + (so-long-mode-maintain-preserved-minor-modes): New functions. + (so-long-remember-all, so-long-after-change-major-mode) + (so-long-mode-revert): Use them. + + * etc/NEWS: Describe changes. + + * test/lisp/so-long-tests/so-long-tests-helpers.el: + * test/lisp/so-long-tests/so-long-tests.el: Update tests. + +2021-08-03 Phil Sainty + + * lisp/so-long.el (so-long-minor-modes): Additional modes to disable + +2021-08-03 Phil Sainty + + Make `global-so-long-mode' handle unrecognised file types + + * lisp/so-long.el (so-long-target-modes): Add `fundamental-mode' + + * etc/NEWS: Describe changes. + + This doesn't affect buffers which are simply in `fundamental-mode' by + default. It only affects buffers for which `set-auto-mode' has been + called (normally via `find-file') without establishing a different + major mode. + +2021-08-03 Phil Sainty + + Increase `so-long-threshold' and `so-long-max-lines' defaults + + * lisp/so-long.el (so-long-threshold, so-long-max-lines): Increase + default values to reduce false-positives. + + * etc/NEWS: Describe changes. + + Lines shorter than 10,000 characters shouldn't generally be causing + problems, so testing this explicitly will largely eliminate + false-positives. We must also increase the maximum number of lines + to check, because 'minified' code may still include newlines, and so + there may be many lines shorter than the new threshold before we find + a line which exceeds it. + + Previously we used a minimum-effort heuristic, testing a very small + number of lines against a maximum length which, while not remotely + long enough to cause problems, would nevertheless be uncommon in any + normal file of programming code (and hence indicative that the file + was likely to be minified code). + + Testing indicates that the performance penalty for the larger values + should be negligible. + +2021-08-03 Jimmy Yuen Ho Wong + + * Fix error while disassembling native code on macOS + + * lisp/emacs-lisp/disass.el (disassemble-internal): Make sure the + regexp that searches for a symbol takes into account of llvm-objdump's + output format. + +2021-08-03 Juri Linkov + + Improve handling of context menus for global, local, minor-mode menus + + * lisp/mouse.el (context-menu-global, context-menu-local, context-menu-minor): + Better handling of possibly nested menu maps. + +2021-08-03 Amin Bandali + + Merge from origin/emacs-27 + + 75ecce4323 Unbreak ERC's Ibuffer filter (Bug#44100) + +2021-08-03 Olivier Certner + + Unbreak ERC's Ibuffer filter (Bug#44100) + + * lisp/erc/erc-ibuffer.el (erc-modified): Don't use `length' on dotted + lists (and not even to test if there is more than one element, for + that matter). Use `cdr' instead. + +2021-08-03 Juri Linkov + + Adjust tab-bar to the new mode-line-misc-info value (bug#49806) + + * lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new + default value for `mode-line-misc-info'. + +2021-08-02 Stephen Gildea + + mh-junk: adjust messages for allow/block actions + + * lisp/mh-e/mh-junk.el: Remove messages that get overwritten quickly. + Keep messages that give status for slow operations. Add information + that might be useful for debugging failures. + +2021-08-02 Stefan Monnier + + * lisp/mwheel.el: Don't use `custom-initialize-delay`. + + Set up the keybindings when loading the file. + + (mouse-wheel--installed-bindings-alist): Move to beginning. + (mouse-wheel-change-button): Don't update bindings when they're not installed. + (mouse-wheel--setup-bindings): New function extracted from `mouse-wheel-mode`. + (): Call it when loading the file. + (mouse-wheel-mode): Use the default :initializer. + +2021-08-02 Stefan Monnier + + * lisp/progmodes/flymake.el (flymake--mode-line-title): Don't quote lambda + +2021-08-01 Juri Linkov + + * lisp/progmodes/project.el (project-switch-project): Use 'let*' (bug#49635). + + This allows overriding-local-map to have effect on read-key-sequence. + +2021-08-01 Juri Linkov + + * lisp/help-mode.el (help-mode-context-menu): New function. + + (help-mode): Use it. + +2021-08-01 Juri Linkov + + * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Display warning. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00007.html + +2021-08-01 Mattias Engdeg奪rd + + Make dlet work like let, not let* + + Change `dlet` so that it has binding semantics like `let` because that + is what a user would expect and it allows a corresponding `dlet*` to + be added later should the need arise. Fortunately the change has no + effect where it is currently used. + + * lisp/subr.el (dlet): Work like let. + * lisp/calendar/cal-bahai.el (calendar-bahai-date-string): + * lisp/calendar/cal-coptic.el (calendar-coptic-date-string): + * lisp/calendar/cal-dst.el (calendar-time-zone-daylight-rules) + (calendar-dst-starts, dst-in-effect): + * lisp/calendar/cal-persia.el (calendar-persian-date-string): + * lisp/calendar/calendar.el (calendar-dlet, calendar-generate-month) + (calendar-update-mode-line, calendar-date-string): + * lisp/calendar/diary-lib.el (diary-list-entries-2) + (diary-list-entries, diary-mark-entries-1, diary-sexp-entry) + (diary-remind, diary-font-lock-date-forms, diary-fancy-date-pattern): + * lisp/calendar/holidays.el (holiday-sexp): + * lisp/calendar/icalendar.el (icalendar--convert-float-to-ical): + * lisp/calendar/solar.el (solar-time-string): + * lisp/calendar/todo-mode.el (todo-date-pattern) + (todo-edit-item--header, todo-convert-legacy-date-time) + (todo-read-date): + Rename `calendar-dlet*` to `calendar-dlet` since it uses `dlet`. + +2021-08-01 Mattias Engdeg奪rd + + Indicate selected occur target with fringe arrow + + * lisp/replace.el (occur--set-arrow): New function. + (occur-mode-goto-occurrence) + (occur-mode-goto-occurrence-other-window) + (occur-mode-display-occurrence): Call it. + * etc/NEWS: Announce. + +2021-08-01 Juri Linkov + + * lisp/filecache.el: Fix cycling (bug#49761). + + (file-cache-cycle): Refactor from file-cache-minibuffer-complete. + (file-cache-minibuffer-complete): Use file-cache-cycle in 2 old places, + and in 1 following new place. When last-command is equal to this-command, + use file-cache-cycle to continue cycling the previous completion + as long as the user continues typing C-TAB. + Also when displaying a list of completions, don't try to move point + to the common prefix. + +2021-08-01 K辿vin Le Gouguec + + Extend Gnus summary highlight faces by default + + * lisp/gnus/gnus.el (gnus-summary-selected): + (gnus-summary-normal-ancient): + (gnus-summary-normal-undownloaded): + (gnus-summary-normal-unread): + (gnus-summary-normal-read): Set :extend attribute. + +2021-08-01 Lars Ingebrigtsen + + Adjust the fully qualified host name when nothing is set + + * doc/misc/message.texi (News Headers): Adjust index. + * lisp/gnus/message.el (message-check-news-header-syntax): Adjust check. + (message-make-fqdn): Be less hilarious. + +2021-07-31 Lars Ingebrigtsen + + Fix `u' binding in Gnus Browse mode + + * lisp/gnus/gnus-srvr.el (gnus-browse-mode-map): Bind to + `gnus-browse-toggle-subscription-at-point', which is the command. + +2021-07-31 Mattias Engdeg奪rd + + Occur-mode multi-line match property gap filling + + When an occur-mode regexp matches across multiple lines, the spacing + prefixes inserted between each did not have the `occur-target` + property which is essential for jumping to the corresponding place in + the target buffer. This prevented next-error and previous-error + from working. + + * lisp/replace.el (occur-engine): Put the `occur-target` property on + the continuation prefix to avoid the gap. + +2021-07-31 Mattias Engdeg奪rd + + * etc/NEWS: Mention occur-mode highlight changes. + +2021-07-31 Lars Ingebrigtsen + + C-x 5 5 manual tweak + + * doc/emacs/frames.texi (Creating Frames): Mention + other-frame-prefix function name. + +2021-07-31 Lars Ingebrigtsen + + Update NEWS tagging for a couple entries + +2021-07-31 Lars Ingebrigtsen + + Add an index entry for outline-minor-mode-cycle + + * doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle. + +2021-07-31 Lars Ingebrigtsen + + Document outline-minor-mode-cycle in the manual. + + * doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle. + +2021-07-31 Lars Ingebrigtsen + + Make `ffap-read-file-or-url' work again (to read URLs) + + * lisp/ffap.el (ffap--url-file-handler): New function (bug#44822). + (ffap-read-file-or-url): Use it to allow switching between URLs + and files. + +2021-07-31 Lars Ingebrigtsen + + Add new user option python-forward-sexp-function + + * lisp/progmodes/python.el (python-forward-sexp-function): New + user option (bug#41361). + (python-mode): Use it. + +2021-07-31 Lars Ingebrigtsen + + Adjust how `replace-match' runs modification hooks + + * src/editfns.c (Fsubst_char_in_region) + (Ftranslate_region_internal): + * src/cmds.c (internal_self_insert): Update callers. + * src/insdel.c (replace_range): Allow inhibiting + signal_after_change/update_compositions. + * src/lisp.h: Update. + + * src/search.c (Freplace_match): Run the modification hooks at the + end instead of before adjusting point (bug#42424). + +2021-07-31 Lars Ingebrigtsen + + Extend whitespace-empty to the end of the line + + * lisp/whitespace.el (whitespace-empty): Restore Emacs 26 look by + extending the face (bug#42112). + +2021-07-31 Lars Ingebrigtsen + + Revert "Fix `speedbar-directory-buttons' when using Tramp" + + This reverts commit 5afad3918bc8816b74e8efcff9cc441785446aa6. + + This patch can't possibly be correct, and it breaks the stated interface. + +2021-07-31 Lars Ingebrigtsen + + Revert "Allow nil initializers in define-minor-mode" + + This reverts commit 02cbb37de73d563149389615ee44741322007108. + + This was mistakenly commited and doesn't really make much sense. + +2021-07-31 Lars Ingebrigtsen + + Don't bind and RET in *Help* buffers + + * lisp/help-mode.el (help-mode-map): Remove key bindings for RET + and (bug#49784). + (help-xref-stack, help-xref-forward-stack, help-xref-stack-item) + (help-make-xrefs): Fix doc strings -- these aren't used by + `help-follow', but by `help-follow-symbol'. + (help-follow-mouse, help-follow): Make obsolete. + +2021-07-31 Lars Ingebrigtsen + + Allow nil initializers in define-minor-mode + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Make the + meaning of :initialize nil and a missing :initialize the same. + +2021-07-31 Alan Third + + Fix some macOS problems + + * src/nsmenu.m (update_frame_tool_bar): Make sure the toolbar isn't + displayed when it's not supposed to be. + * src/nsterm.m ([EmacsView layoutSublayersOfLayer:]): Reinstate code + intended to prevent a crash when running redisplay. + +2021-07-31 Alan Third + + Move parent frame setting code into EmacsWindow + + * src/nsterm.m (ns_make_frame_visible): + (ns_set_parent_frame): + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Use new method. + ([EmacsWindow setParentChildRelationships]): New method. + +2021-07-31 Alan Third + + Move NS port toolbar handling to the window + + * src/nsmenu.m (free_frame_tool_bar): + (update_frame_tool_bar): Remove wait_for_tool_bar and get the toolbar + from the window. + * src/nsterm.h (EmacsView): Remove toolbar and wait_for_tool_bar. + * src/nsterm.m (ns_update_begin): + ([EmacsView windowDidEnterFullScreen]): + ([EmacsView windowDidExitFullScreen]): Get the toolbar from the + window, not the view. + ([EmacsView dealloc]): Remove toolbar from view. + ([EmacsView createToolbar:]): Move method to EmacsWindow. + ([EmacsView initFrameFromEmacs:]): Don't create toolbar here any more. + ([EmacsView toolbar]): Remove method. + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Create toolbar here. + ([EmacsWindow createToolbar:]): Moved from EmacsView. + ([EmacsWindow dealloc]): Make sure we clean up the toolbar after + closing the window. + +2021-07-31 Alan Third + + Fix macOS live resize drawing + + * src/nsterm.m ([EmacsView layout]): + ([EmacsView layoutSublayersOfLayer:]): Rename layout to + layoutSublayersOfLayer. + +2021-07-31 Alan Third + + Change NS port resize detection + + * src/nsterm.m ([EmacsView windowDidResize:]): Remove function, it's + not performing a useful function any more. + ([EmacsView viewDidResize]): + ([EmacsView resizeWithOldSuperviewSize:]): Replace viewDidResize with + resizeWithOldSuperviewSize. + ([EmacsView initFrameFromEmacs:]): Remove the view resize notification + as we don't need it any more. + +2021-07-31 Alan Third + + Tidy up NS port OS window handling + + * src/nsterm.h (EmacsWindow): Move above EmacsView definition and add + new method definitions. + (EmacsView): Remove redundant bwidth variable, and change NSWindow to + EmacsWindow. + (EmacsFSWindow): Delete definition. + * src/nsterm.m (ns_set_undecorated): Rewrite to work in GNUstep using + the new OS window creating methods. + ([EmacsView initFrameFromEmacs:]): Move all NSWindow related code to + new init method in EmacsWindow, and use said method. + ([EmacsView toggleFullScreen:]): Use EmacsWindow instead of NSWindow. + ([EmacsWindow initWithEmacsFrame:]): + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): + ([EmacsWindow borderWidth]): New methods. + (EmacsFSWindow): Remove implementation. + +2021-07-31 Alan Third + + Simplify macOS drawing code + + Convert EmacsSurface into a CALayer subclass so we can use the + built-in relationships. Also simplify the macOS versioning code. + This will result in more warnings on older versions of macOS but makes + reading the code easier. + + * configure.ac: Add QuartzCore framework. + * src/nsterm.h (NS_DRAW_TO_BUFFER): Remove define and all references. + (EmacsSurface, EmacsLayer): Rename EmacsSurface to EmacsLayer and + modify the definition to fit the new function. + * src/nsterm.m (ns_update_begin): + (ns_update_end): + (ns_focus): + (ns_unfocus): Use the new overridden lockFocus and unlockFocus and + simplify the frame management. + ([EmacsView dealloc]): + ([EmacsView viewDidResize:]):Don't explicitly release surfaces. + ([EmacsView initFrameFromEmacs:]): Move the layer code to after the + NSWindow has been created as creating the layer now relies on some of + it's properties. + ([EmacsView makeBackingLayer]): New function. + ([EmacsView lockFocus]): + ([EmacsView focusOnDrawingBuffer]): Rename to lockFocus. + ([EmacsView unlockFocus]): + ([EmacsView unfocusDrawingBuffer]): Rename to unlockFocus. + ([EmacsView windowDidChangeBackingProperties]): Don't explicitly + release surfaces but reset EmacsLayer properties. + ([EmacsView layout]): + ([EmacsView viewWillDraw]): Rename to layout. + ([EmacsView wantsUpdateLayer]): Remove function and change all callers + to [EmacsView wantsLayer]. + (EmacsSurface, EmacsLayer): Rename to EmacsLayer. + ([EmacsSurface getSize]): + ([EmacsSurface initWithSize:ColorSpace:Scale:]): Remove methods. + ([EmacsSurface initWithColorSpace:]): + ([EmacsLayer checkDimensions]): + ([EmacsLayer releaseSurfaces]): + ([EmacsLayer display]): New functions. + * src/nsterm.m ([EmacsLayer dealloc]): Use releaseSurfaces. + ([EmacsSurface getContext]): Automatically detect frame property + changes and clear the cache if required. Use built-in CALayer + properties where available. + ([EmacsLayer copyContentsTo:]): Use [CALayer contents] as source. + +2021-07-31 Eli Zaretskii + + * src/fontset.c (check_fontset_name): A better fix for bug#49782. + +2021-07-30 Adam Porter + + * lisp/emacs-lisp/cl-macs.el: Add cl-type pattern + + * lisp/emacs-lisp/cl-macs.el: + ((pcase-defmacro type)): Add 'cl-type' pattern. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Add test. + + * doc/lispref/control.texi (pcase Macro): Update manual. + + With thanks to Stefan Monnier and Eli Zaretskii for their guidance. + +2021-07-30 Eli Zaretskii + + * src/fontset.c (check_fontset_name): Fix last change. + +2021-07-30 Eli Zaretskii + + Avoid segfault when set-fontset-font is called from non-GUI frames + + * src/fontset.c (check_fontset_name): Avoid crashes if this is + called from a non-GUI frame. (Bug#49782) + +2021-07-30 Michael Albinus + + Change Tramp version to "2.5.2-pre" + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.2-pre". + +2021-07-30 Dmitry Gutov + + Make fileloop skip missing files + + * lisp/fileloop.el (fileloop-next-file): If a file doesn't exist, + skip to the next one (bug#44979). + +2021-07-30 Maxim Nikulin (tiny change) + + Tweak previous mailcap-view-file change + + * lisp/net/mailcap.el (mailcap-view-file): Remove the :noquery t + mistakenly added (bug#12972). + +2021-07-30 k3tu0isui (tiny change) + + Fix problem when switching between different prolog versions + + * lisp/progmodes/prolog.el (run-prolog): Make switching between + different prolog systems work more reliably (bug#45795). + + * lisp/progmodes/prolog.el (prolog-ensure-process): Don't start a + new process if one already exists. + +2021-07-30 Mattias Engdeg奪rd + + Simplify lexical let-optimisations + + Ensure in cconv that let-bindings have the normal form (VAR EXPR) + where VAR is a valid variable name, so that we don't need to keep + re-checking this all the time in the optimiser. + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize-enable-variable-constprop) + (byte-optimize-warn-eliminated-variable): Remove; these were mainly + used for debugging. + * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): + Assume normalised let-bindings (with lexical-binding). + Stop using the variables removed above. + * lisp/emacs-lisp/cconv.el (cconv-convert): Ensure normalised + let-bindings. Malformed bindings are dropped after warning. + + remove byte-optimize-warn-eliminated-variable + +2021-07-30 Lars Ingebrigtsen + + Ensure that recover-file doesn't leave stale auto-save files behind + + * lisp/files.el (recover-file): Don't leave stale auto-save files + behind after crash recovery (bug#11331). + +2021-07-30 Lars Ingebrigtsen + + Allow shell PROMPT strings to have ANSI codes + + * lisp/comint.el (comint-output-filter): Don't overwrite ANSI + codes from the prompt command (bug#11883). + +2021-07-30 Max Nikulin (tiny change) + + mailcap.el: Avoid xdg-open silent failure + + * lisp/net/mailcap.el (mailcap-view-file): Use 'pipe :connection-type + instead of 'pty to prevent killing of background process on handler + exit. Avoid regression similar to Bug#44824. + + Problem happens only in some desktop environments where mailcap handler + launches actual viewer (as defined in .desktop files and obtained from + mimeapps.list) in background. E.g. xdg-open invokes "gio open" or + kde-open5 for Gnome or KDE accordingly and these handlers launch e.g. + eog or okular in background. As soon as main process exits, temporary + terminal session created by `start-process-shell-command' is terminated. + As a result background processes receive SIGHUP. + + Previously command were executed with no buffer as well, so the change + does not affect "needsterminal" and "copiousoutput" mailcap features, + they are not supported as earlier. + + If main process of the handler fails then show a message with exit + reason. Output (including error messages) is ignored as before. + Gtk applications tend to report significant amount of failed asserts + hardly informative for majority of users (bug#12972). + +2021-07-30 Lars Ingebrigtsen + + Fix case insensitivity in `read-file-name' + + * lisp/minibuffer.el (read-file-name-default): Make `read-file-name' + actually respect `read-file-name-completion-ignore-case' (bug#14340). + +2021-07-30 Lars Ingebrigtsen + + Fix issue with mml-preview from outside Gnus + + * lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Be more + resilient when running from outside Gnus. + +2021-07-30 Lars Ingebrigtsen + + Work around long-standing seq.el compilation warning + + * lisp/emacs-lisp/seq.el (seq-contains): When using cl-defgeneric + to define an obsolete function, it'll complain about it being + obsolete. Suppress that warning. (Should probably be fixed in + cl-defgeneric instead.) + +2021-07-30 Basil L. Contovounesios + + Remove a redundant let-binding from Ispell + + Recent optimizer changes revealed a case-fold-search binding in + Ispell that was made redundant in the revision of 2020-11-03 + "Simplify ispell-check-versions use of -vv flag". + + * lisp/textmodes/ispell.el (ispell-check-version): Remove no-op + binding of case-fold-search. + +2021-07-30 Michael Albinus + + * etc/NEWS: Tramp supports authentication via yubikey now. Fix typos. + +2021-07-30 Michael Albinus + + Fix bug#49773 in Tramp + + * lisp/net/tramp.el (tramp-handle-find-backup-file-name) + (tramp-handle-lock-file, tramp-handle-make-auto-save-file-name): + Check security hole only if action is in progress. (Bug#49773) + +2021-07-30 Mattias Engdeg奪rd + + Optimise let and let* whose body is constant or the last variable + + Simplify (let ((X1 E1) ... (Xn En)) Xn) + => (progn E1 ... En) + + and (let* ((X1 E1) ... (Xn En)) Xn) + => (let* ((X1 E1) ... (Xn-1 En-1)) En) + + and similarly the case where the body is a constant, extending a + previous optimisation that only applied to the constant nil. + This reduces the number of bound variables, shortens the code, and + enables further optimisations. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Rewrite using + `pcase` and add the aforementioned transformations. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test cases. + +2021-07-30 Mattias Engdeg奪rd + + Move warnings about bad let-bindings from source optimiser to cconv + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): Move warnings... + * lisp/emacs-lisp/cconv.el (cconv-convert): ...here, which is an + overall better place (closer to the front-end). + +2021-07-30 Mattias Engdeg奪rd + + Optimise prog1 better + + Rewrite (prog1 CONST FORMS...) => (progn FORMS... CONST) + where CONST is a compile-time constant, because putting the value last + allows the lapcode peephole pass to do important improvements like + branch elimination. Also use progn instead of prog1 for `ignore`. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + New `prog1` and `ignore` transforms. + +2021-07-30 Mattias Engdeg奪rd + + Elide lexical variables in for-effect context in source optimiser + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Remove for-effect uses of lexical variables. We previously relied on + this being done by the lapcode peephole optimiser but at source level + it enables more optimisation opportunities. + Keywords are elided for the same reason. + +2021-07-30 Mattias Engdeg奪rd + + Single source optimiser entry point + + Make the optimiser aware of lexical arguments. Otherwise we cannot + know for sure whether a variable is lexical or dynamic during + traversal. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-one-form): New optimiser + entry point, replacing the recursive byte-optimize-form. + * lisp/emacs-lisp/bytecomp.el (byte-optimize-one-form): Autoload. + (byte-compile-keep-pending, byte-compile-top-level): + Use byte-optimize-one-form. + +2021-07-30 Stephen Gildea + + mh-junk: replace color-based terms with descriptive words + + * lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist". + * doc/misc/mh-e.texi: update manual to match. + * lisp/mh-e/folder.el: Change the binding of 'mh-junk-allowlist' to 'J a'. + Add a compatibility binding for the old 'J w'. + * lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'. + * lisp/mh-e/junk.el: Rename 'mh-blacklist-a-msg' to 'mh-junk-blocklist-a-msg', + adding the missing "junk-" to the function name. + +2021-07-29 Nick Gasson (tiny change) + + Avoid errors in rmailsum for messages without "From" + + * lisp/mail/rmailsum.el (rmail-header-summary): Be defensive about + the presence of the "From" header. (Bug#49770) + +2021-07-29 dickmao + + Follow-up toggle-subscription name change + + * doc/misc/gnus.texi (Subscription Commands): Refer to correct function. + * lisp/gnus/gnus-group.el (gnus-group-unsubscribe-current-group): + Make backwards-compatible. + (gnus-group-unsubscribe-group): + Make backwards-compatible (bug#49768). + +2021-07-29 Dmitry Gutov + + Fix printing of multiple items in one group without line numbers + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Fix printing of multiple items in one group without line numbers + (mentioned in bug#49731). + +2021-07-28 dickmao + + Rename Gnus -unsubscribe-group commands to -toggle-subscription + + * doc/emacs/misc.texi (Gnus Group Buffer): Document change. + * doc/misc/gnus.texi (Subscription Commands): Document change. + (Browse Foreign Server): Document change. + * lisp/gnus/gnus-group.el (gnus-group-mode-map): + Unsubscribe is not subscribe. + (gnus-group-sub-map): Unsubscribe is not subscribe. + (gnus-group-make-menu-bar): Unsubscribe is not subscribe. + (gnus-group-tool-bar-gnome): Unsubscribe is not subscribe. + (gnus-group-mode): Unsubscribe is not subscribe. + (gnus-group-unsubscribe): Refactor. + (gnus-group-subscribe): Refactor. + (gnus-group-unsubscribe-current-group): Define obsolete alias. + (gnus-group-unsubscribe-group): Define obsolete alias. + (gnus-group-toggle-subscription-at-point): Refactor. + (gnus-group-set-subscription-at-point): Refactor. + (gnus-group-toggle-subscription): Refactor. + (gnus-group-set-subscription): Refactor. + * lisp/gnus/gnus-srvr.el (gnus-browse-mode-map): + Unsubscribe is not subscribe. + (gnus-browse-make-menu-bar): Unsubscribe is not subscribe. + (gnus-browse-mode): Document the change. + (gnus-browse-unsubscribe-current-group): Define obsolete alias. + (gnus-browse-unsubscribe-group): Define obsolete alias. + (gnus-browse-toggle-subscription-at-point): Unsubscribe is not subscribe. + (gnus-browse-toggle-subscription): Unsubscribe is not subscribe + (bug#49759). + +2021-07-28 Juri Linkov + + Improve :type of defcustom 'context-menu-functions' and add documentation. + + * doc/emacs/frames.texi (Menu Mouse Clicks): Describe context-menu-mode + and context-menu-functions instead of suggesting global-set-key. + (Menu Bars): Mention context-menu-mode and context-menu-functions. + + * etc/NEWS: Add context-menu-mode and context-menu-functions. + + * lisp/mouse.el (context-menu-functions): Use :type with repeat/function-item. + (context-menu-minor, context-menu-undo, context-menu-region) + (context-menu-ffap): Improve docstrings displayed for function-item in + defcustom of context-menu-functions. + +2021-07-28 Lars Ingebrigtsen + + Improve mode-line-position-column-format manual entry + + * doc/lispref/modes.texi (Mode Line Variables): Mention %C, and + don't mention the obsolete column-number-indicator-zero-based + variable. + +2021-07-28 Juri Linkov + + * lisp/progmodes/gud.el: Add prefix 'gud-' to repeat-map variables (bug#49632) + + * lisp/progmodes/gud.el (gud-sdb-repeat-map, gud-dbx-repeat-map) + (gud-xdb-repeat-map, gud-perldb-repeat-map, gud-pdb-repeat-map) + (gud-guiler-repeat-map, gud-jdb-repeat-map): Rename with prefix 'gud-'. + +2021-07-28 Lars Ingebrigtsen + + Make byte-recompile-directory less brittle + + * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Don't + interpret files named "~" as $HOME (bug#49758). + +2021-07-28 Lars Ingebrigtsen + + Improve mode-line-position-column-format doc string + + * lisp/bindings.el (mode-line-position-column-format): Improve doc + string. + (mode-line-position-line-format): Point to + `mode-line-position-column-line-format'. + +2021-07-28 K辿vin Le Gouguec + + Improve file-name-concat NEWS entry + +2021-07-28 Philip Kaludercic + + Replace cl-c[ad]+r with regular c[ad]+r + + * rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr + (rcirc-handler-333): Replace cl-cadddr with cadddr + (rcirc-authenticate): Replace cl-cdddr with cdddr + +2021-07-28 Michael Albinus + + Display yubikey message properly in Tramp + + * lisp/net/tramp.el (tramp-action-show-and-confirm-message): + Display message properly. + +2021-07-27 Brian Leung + + Ensure that gud commands for non-GDB debuggers are handled by repeat-mode + + * lisp/progmodes/gud.el (sdb-repeat-map): Define. + (sdb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (dbx-repeat-map): Define. + (dbx): Set repeat-mode property to the symbol corresponding to the + repeat map. + (xdb-repeat-map): Define. + (xdb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (perldb-repeat-map): Define. + (perldb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (pdb-repeat-map): Define. + (pdb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (guiler-repeat-map): Define. + (guiler): Set repeat-mode property to the symbol corresponding to the + repeat map. + (jdb-repeat-map): Define. + (jdb): Set repeat-mode property to the symbol corresponding to the + repeat map. (Bug#49632) + +2021-07-27 Brian Leung + + Ensure that gud commands for M-x gdb are handled by repeat-mode + + * lisp/progmodes/gud.el (gud-gdb-repeat-map): Rename from + gud-repeat-map, and populate at the top-level. + (gud-set-repeat-map-property): Introduce this helper function for + setting the repeat-map property. + (gud-gdb): Use the gud-set-repeat-map-property function to assign the + repeat-map property. + + * lisp/progmodes/gdb-mi.el (gdb): Use the gud-set-repeat-map-property + function to assign the repeat-map property. + + Because different debugging tools may not support all of the gud-foo + functions, we reassign the repeat-map property within the respective + commands, as opposed to the top level of the files, to ensure that the + repeat-map property is reassigned each time to a symbol corresponding + to the active debugging tool. (Bug#49632) + +2021-07-27 Juri Linkov + + * lisp/tab-bar.el (tab-bar-format-global): Use string-trim-right (bug#30056). + +2021-07-27 Juri Linkov + + Add new context-menu options for menus "File At Point" and "Version Control". + + * lisp/mouse.el (context-menu-functions): Add more options. + (context-menu-global, context-menu-local): Fix separators. + (context-menu-minor): Rewrite to support list of submenus. + (context-menu-vc, context-menu-ffap): New functions. + (context-menu-undo, context-menu-region): Fix separators. + + * lisp/dired.el (dired-context-menu): + * lisp/info.el (Info-context-menu): + * lisp/net/goto-addr.el (goto-address-context-menu): + * lisp/net/eww.el (eww-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): Fix separators. + +2021-07-27 Philip Kaludercic + + Remove removal of text properties from rcirc-buffer-alist keys + + * rcirc.el (rcirc-mode): Remove set-text-properties call + +2021-07-27 Michael Albinus + + Mark all autorevert tests as unstable on Cygwin (bug#49665) + + * test/lisp/autorevert-tests.el: Mark all tests as unstable on + Cygwin (bug#49665). + +2021-07-27 Philip Kaludercic + + Fix checkdoc issues + + * rcirc.el (rcirc-finished-sasl): Add period. + (rcirc-mode): Expand docstring. + (rcirc-handler-900): Document sender and process + +2021-07-27 Mattias Engdeg奪rd + + Fix mistake in switch-case generation of `null` (bug#49746) + + Reported by Gregor Zattler. + + * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix): + Be more careful in the selection of equality. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test case. + +2021-07-27 Philip Kaludercic + + Update rcirc-buffer-alist after receiving NICK + + * rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick + +2021-07-27 Lars Ingebrigtsen + + Revert "Make revert-buffer preserve buffer-readedness" + + This reverts commit fcae435f598471a2911641412125c5ac4f73559f. + + This leads to problems when reverting from a file that's changed + readedness externally. + +2021-07-27 Philip Kaludercic + + Fix TOPIC command + + * rcirc.el (topic): Add target argument. + +2021-07-27 Michael Albinus + + Final tweak for Tramp's yubikey detection + + * lisp/net/tramp.el (tramp-yubikey-regexp) + (tramp-action-show-and-confirm-message): Expect also "\n". + +2021-07-27 Alan Third + + Convert fringe bitmaps to vectors on NS port + + Unfortunately *step doesn't support masks for bitmap images so + changing the colors of fringe bitmaps is awkward. We can work around + this by converting the bitmap into an NSBezierPath and drawing it in + the required color. + + * src/nsterm.m (ns_define_fringe_bitmap): + (ns_destroy_fringe_bitmap): New functions + (ns_draw_fringe_bitmap): Display the NSBezierPath. + * src/nsimage.m + ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Remove + variable that's there to allow us to easily modify the XBM colors. + ([EmacsImage setXBMColor:]): Remove method. + +2021-07-27 Alan Third + + Fix NS inset rectangle corners + + * src/nsterm.m (ns_draw_relief): Use a path to draw the mitered + corners instead of rectangles. + +2021-07-27 Alan Third + + Simplify NS sizing and positioning code + + * src/nsterm.m (ns_set_offset): Unify the two branches into one, most + of the code is the same. + (ns_set_window_size): Use the provided tools to calculate the window + size instead of doing it ourselves. + +2021-07-27 Alan Third + + * src/nsterm.m (ns_set_frame_alpha): Enable alpha on GNUstep. + +2021-07-26 Alan Third + + Fix image crash on macOS (bug#49688) + + * src/nsimage.m ([EmacsImage allocInitFromFile:]): Use isValid to + check whether the image is valid instead of generating a tiff. + +2021-07-26 Mattias Engdeg奪rd + + Adjust grep-mode end-col function return value + + * lisp/progmodes/grep.el (grep-regexp-alist): Adjust the return value + from the END-COL function by one since it is now (after fixing + bug#49624) inclusive. Found by Juri Linkov. + +2021-07-26 Michael Albinus + + Some minor improvements for share handling in tramp-gvfs.el + + * lisp/net/tramp-gvfs.el (tramp-gvfs-connection-mounted-p): + Set "share" connection property if the mount spec offers it. + (tramp-gvfs-handle-get-remote-uid) + (tramp-gvfs-handle-get-remote-gid): Use it. + +2021-07-26 Michael Albinus + + Adapt Tramp for yubikey + + * lisp/net/tramp.el (tramp-yubikey-regexp): Adapt value. + (tramp-trace-functions): Adapt docstring. + (tramp-process-action-regexp): New defvar. + (tramp-action-password, tramp-process-one-action): Use it. + (tramp-action-show-and-confirm-message): Rewrite. + +2021-07-26 Michael Albinus + + Adapt tramp-sudoedit.el for better testing + + * doc/misc/tramp.texi (Bug Reports): Revert last change. Mention + exception for sudoedit. + + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): + Let-bind `tramp-cache-read-persistent-data' for better password handling. + +2021-07-25 Mattias Engdeg奪rd + + Describe changes to the occur-mode implementation in NEWS + + * etc/NEWS: Mention change to the `occur-target` property (bug#39121). + +2021-07-25 Glenn Morris + + Fix recent gdb-mi change + + * lisp/progmodes/gdb-mi.el (gdb-registers-filter-pattern-list): + Fix type. + +2021-07-25 Glenn Morris + + Merge from origin/emacs-27 + + d0625dc553 (origin/emacs-27) ; One more change in back.texi. + 06d0a66e57 ; Yet another last-minute change in Emacs manual for printing + +2021-07-25 Michael Albinus + + Add instructions for Tramp bug reports + + * doc/misc/tramp.texi (Bug Reports): Describe how to use password + cache with "emacs -Q". + +2021-07-25 Mattias Engdeg奪rd + + Fix tex-validate-buffer + + * lisp/textmodes/tex-mode.el (tex-validate-buffer): + Set `inhibit-read-only` around all modifications of the + read-protected *Occur* buffer (bug#19326). + Add the `occur-match` property, and adjust the extent of the + `occur-target` property, so that next-error and previous-error work + correctly (bug#39121). + +2021-07-25 Mattias Engdeg奪rd + + Add back occur-mode-find-occurrence for compatibility (bug#39121) + + * lisp/replace.el (occur-mode-find-occurrence): + Put back (an emulation of) the previously removed function. + It is used internally in eshell and in some external code. + + Problem found by Basil Contovounesios. + +2021-07-25 Eli Zaretskii + + Fix compilation of xftfont.c with old fontconfig + + * src/xftfont.c (FC_LCD_FILTER): Define if undefined, for older + versions of fontconfig. This was mistakenly deleted 2 years ago. + (Bug#49722) + +2021-07-25 Michael Albinus + + Fix extended attributes for Tramp's sudoedit method (bug#49724) + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file): + Remove compat code for `{set-}file-extended-attributes'. + (tramp-sudoedit-handle-write-region): Handle extended attributes. + (Bug#49724) + + * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux): + Fix test for sudoedit method. + +2021-07-25 K辿vin Le Gouguec + + * etc/NEWS: Fix renaming of directory-append. + +2021-07-25 Christopher League + + When bookmark is overwritten, unfontify its previous position + + * lisp/bookmark.el (bookmark-store): When the bookmark-fontify option + is non-nil, setting or jumping to bookmarks will colorize them using + `bookmark-face'. With this change, overwriting a bookmark will remove + the fontification at its former position (bug#49725). + +2021-07-25 Michael Albinus + + Use `file-name-concat' in Tramp + + * lisp/net/tramp-compat.el (tramp-compat-file-name-concat): + New defalias. + + * lisp/net/tramp.el (tramp-handle-expand-file-name): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): + * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): + * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name): + Use it. + +2021-07-25 Mattias Engdeg奪rd + + Don't squash markers in occur-edit-mode + + * lisp/replace.el (occur-after-change-function): Instead of replacing + the whole line being edited, use shrink-wrapping to replace the + smallest interval encompassing the change. That way, we avoid + disturbing markers (such as occur highlighting locations) in the line; + they would otherwise all be forced to the beginning. + +2021-07-25 Mattias Engdeg奪rd + + Keep track of match extents in occur-mode (bug#39121) + + Use the `occur-target` text property to keep track of the extents of + all matches on each line instead of just the start of the first match. + Doing so allows us to highlight all matches when jumping to a matching + line instead of just the first one, and it works in a more principled + way. It also removes compatibility problems that were introduced with + occur-highlight-regexp. + + For compatibility with code that populate their own occur-mode + buffers, we still accept `occur-target` properties with a single + marker as value. + + * lisp/replace.el (occur-highlight-regexp, occur-highlight-overlay): + Remove. + (occur-highlight-overlays): New. + (occur--targets-start): New. + * lisp/replace.el (occur-after-change-function): + (occur-mode-find-occurrence): Replace with... + (occur-mode--find-occurrences): ...this function that returns the + whole `occur-target` property value. + (occur-mode-goto-occurrence, occur-mode-goto-occurrence-other-window) + (occur-goto-locus-delete-o, occur-mode-display-occurrence) + (occur-engine): Adjust to new property format. + (occur--highlight-occurrence): Replace with... + (occur--highlight-occurrences): ...this function that takes + the `occur-target` property value as argument. + (occur-1): Don't use `occur-highlight-regexp`. + * test/lisp/replace-tests.el (occur-highlight-occurrence): + Adapt to new property format. + +2021-07-25 Arthur Miller (tiny change) + + Support '--group-directories-first' in ls-lisp.el + + * lisp/ls-lisp.el (ls-lisp--sanitize-switches): New function. + (ls-lisp--insert-directory): Support '--group-directories-first'. + Call 'ls-lisp--sanitize-switches' to convert long options to short + forms and remove unsupported long options. Update the doc string. + +2021-07-25 Peter Feigl + + Add commands to move to next/previous column in tabulated-list-mode + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add + keybindings M-left and M-right. + (tabulated-list-previous-column tabulated-list-next-column): Implement + commands (bug#44711). + +2021-07-25 Lars Ingebrigtsen + + Rename directory-append to file-name-concat + + * src/fileio.c (Ffile_name_concat): + * lisp/files.el (move-file-to-trash): + * lisp/emacs-lisp/shortdoc.el (file-name): + * doc/lispref/files.texi (Directory Names): Rename + `directory-append' to `file-name-concat'. + +2021-07-25 Lars Ingebrigtsen + + Allow empty elements in directory-append + + * doc/lispref/files.texi (Directory Names): Document it. + * src/fileio.c (Fdirectory_append): Allow empty elements. + +2021-07-24 Mattias Engdeg奪rd + + Disable delay and ding in replace-tests + + * test/lisp/replace-tests.el (replace-tests-with-undo): + When testing the "U" (undo all changes) option, the code will delay + and ding which is obnoxious in an automated test. + Disabling that makes the test quiet and about 150 times faster. + +2021-07-24 Yuan Fu + + Add filter to GDB's register buffer + + * lisp/progmodes/gdb-mi.el (gdb-registers-enable-filter) + (gdb-registers-filter-pattern-list): New custom options. + (gdb-header-click-event-handler, gdb-registers-toggle-filter): New + functions. + (gdb-header-click-event-handler): Only add a register if it passes the + filter. + (gdb-registers-mode-map): New keybinding for toggling the filter. + (gdb-registers-header): New buttons on the header line for the + filter (bug#39179). + +2021-07-24 Lars Ingebrigtsen + + Really convert to multibyte in Fdirectory_append + + * src/fileio.c (Fdirectory_append): Fix check for whether we need + to convert to multibyte. + (Fdirectory_append): + +2021-07-24 Michael Albinus + + Fix last commit in tramp.el + +2021-07-24 Lars Ingebrigtsen + + Fix Fdirectory_append check for whether strings have to be converted + + * src/coding.c (string_ascii_p): Make it non-static. + + * src/fileio.c (Fdirectory_append): Fix check for whether we need + to convert to multibyte. + + * src/fns.c (string_ascii_p): Remove copy. + + * src/lisp.h: Declare string_ascii_p. + +2021-07-24 Lars Ingebrigtsen + + Set the normal-erase-is-backspace variable from Customize + + * lisp/simple.el (normal-erase-is-backspace): Always set the + variable so that Customize is up-to-date (bug#49593). + +2021-07-24 Lars Ingebrigtsen + + Tweak Fdirectory_append slightly + + * src/fileio.c (Fdirectory_append): Make the xfree condition more + robust. + +2021-07-24 Lars Ingebrigtsen + + Improve directory-append manual entry + + * doc/lispref/files.texi (Directory Names): Mention zero-length + restriction. + +2021-07-24 Lars Ingebrigtsen + + Tweak Fdirectory_append for efficiency + + * src/fileio.c (Fdirectory_append): Make slightly more efficient. + +2021-07-24 Lars Ingebrigtsen + + Extend directory-append to take an arbitrary number of components + + * doc/lispref/files.texi (Directory Names): Document it. + * lisp/emacs-lisp/shortdoc.el (file-name): Add new example. + + * src/fileio.c (Fdirectory_append): Change the function to take an + arbitrary number of components. + +2021-07-24 Philip Kaludercic + + Ensure that rcirc-buffer-alist has no text properties + + * rcirc.el (rcirc-mode): Remove text properties from + rcirc-buffer-alist keys + +2021-07-24 Michael Albinus + + Add Tramp support for yubikey (bug#49714) + + * lisp/net/tramp.el (tramp-yubikey-regexp): New defcustom. + (tramp-action-show-and-confirm-message): New defun. + + * lisp/net/tramp-sh.el (tramp-actions-before-shell) + (tramp-actions-copy-out-of-band): Add `tramp-yubikey-regexp' action. + +2021-07-24 Lars Ingebrigtsen + + Adjust tab-bar to the new mode-line-misc-info value + + * lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new + default value for `mode-line-misc-info'. + +2021-07-24 Lars Ingebrigtsen + + Remove duplicated NEWS entries + +2021-07-24 Lars Ingebrigtsen + + Make 's' in *Help* work for Lisp-defined variables again + + * lisp/help-fns.el (describe-variable): Make the `s' command work + for Lisp-defined variables again (bug#39121). + +2021-07-24 Lars Ingebrigtsen + + Fix problem when moving files called ~ to the trash + + * lisp/files.el (move-file-to-trash): Construct the trash file + name safely (bug#49711). This makes (move-file-to-trash "/tmp/~") + etc work. + +2021-07-24 Lars Ingebrigtsen + + Add new function `directory-append' + + * doc/lispref/files.texi (Directory Names): Document it, and + remove the concat-based file concatenation description. + * lisp/emacs-lisp/shortdoc.el (file-name): Add. And add more + expand-file-name examples. + + * src/fileio.c (Fdirectory_append): New function. + +2021-07-24 Philip Kaludercic + + Generate no message when activating rcirc-omit-mode + + * rcirc.el (rcirc-omit-mode): Remove (message ...) expressions + +2021-07-24 Lars Ingebrigtsen + + Make the test for auto-mode-alist from .dir-local.el stricter + + * lisp/files.el (set-auto-mode--dir-local-valid-p): New function. + (set-auto-mode--apply-alist): Use it as a stricter test. + +2021-07-23 Eli Zaretskii + + Improve recently added documentation + + * etc/NEWS: Improve wording of a recently added entry. + + * doc/misc/smtpmail.texi (Queued delivery): Fix typo. + +2021-07-23 Alex Bochannek + + Fix bug#49699 + + * lisp/net/tramp-sh.el (tramp-scp-strict-file-name-checking): + Adapt check for macOS. (Bug#49699) + +2021-07-23 Lars Ingebrigtsen + + Fix typo in set-auto-mode--apply-alist + + * lisp/files.el (set-auto-mode--apply-alist): Fix typo in + ad5faa424a5 (bug#49712). + +2021-07-23 Lars Ingebrigtsen + + Allow storing SMTP variables when queueing mail + + * doc/misc/smtpmail.texi (Queued delivery): Document it (bug#49709). + + * lisp/gnus/message.el (message-multi-smtp-send-mail): Store + variables. + + * lisp/mail/smtpmail.el (smtpmail-queue-mail): Mention it. + (smtpmail-store-queue-variables): New variable. + (smtpmail-send-it): Store SMTP variables if requested. + (smtpmail-send-queued-mail): Restore variables. + +2021-07-23 Lars Ingebrigtsen + + Fix do-auto-fill thinko introduced earlier today + + * lisp/simple.el (do-auto-fill): `current-fill-column' returns nil + to signal that we should fill. + +2021-07-23 Tom Tromey + + Add auto-mode-alist functionality to .dir-locals.el + + * doc/emacs/custom.texi (Directory Variables): Document + auto-mode-alist in .dir-locals.el (Bug#18721) + * doc/emacs/modes.texi (Choosing Modes): Update. + * lisp/files.el (set-auto-mode--apply-alist): New function, + from set-auto-mode. + (set-auto-mode): Check directory locals for auto-mode-alist. + (dir-locals-collect-variables): Add "predicate" parameter. + (hack-dir-local--get-variables): New function, from + hack-dir-local-variables. + (hack-dir-local-variables): Call hack-dir-local--get-variables. + * test/lisp/files-resources/.dir-locals.el: New file. + * test/lisp/files-resources/whatever.quux: New file. + * test/lisp/files-tests.el (files-tests-data-dir): New variable. + (files-test-dir-locals-auto-mode-alist): New test. + +2021-07-23 Jean Forget + + Add more support for the French Revolutionary Calendar + + * lisp/calendar/cal-french.el (calendar-french-feasts-array): New + variable (bug#19174). + (calendar-french-trim-feast): New function. + (calendar-french-date-string, calendar-french-goto-date): + (calendar-french-goto-date): Use them. + + http://datetime.mongueurs.net/Histoire/s-c/01-g.en.html + https://metacpan.org/pod/DateTime::Calendar::FrenchRevolutionary#Internet + +2021-07-23 Mattias Engdeg奪rd + + Off-by-one error in compilation rule end-column function (bug#49624) + + * lisp/progmodes/compile.el (compilation-error-properties): + When the end-column parameter of a compilation message rule + (in compilation-error-regexp-alist[-alist]) is a function, treat its + return value as if it were matched by the regexp, which is how it is + documented to work, and how all other parameters work. + +2021-07-23 Mattias Engdeg奪rd + + Warn about arity errors in inlining calls (bug#12299) + + Wrong number of arguments in inlining function calls (to `defsubst` or + explicitly using `inline`) did not result in warnings, or in very + cryptic ones. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Add calls + to `byte-compile--check-arity-bytecode`. + * lisp/emacs-lisp/bytecomp.el (byte-compile-emit-callargs-warn) + (byte-compile--check-arity-bytecode): New functions. + (byte-compile-callargs-warn): Use factored-out function. + * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el: + * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-callargs-defsubst.el"): + New test case. + +2021-07-23 F. Jason Park + + Remove text props from callback args in erc-button + + * lisp/erc/erc-button.el (erc-button-add-buttons-1): Remove text + properties from strings stored in `erc-data' and passed to + `erc-callback' + (both text properties themselves) (bug#49704). This reduces + memory usage in erc buffers (which are long-lived and can become + very large). + +2021-07-23 Lars Ingebrigtsen + + declare-function doc string clarification about FILE + + * lisp/subr.el (declare-function): Mention that FILE can be nil + (bug#21466). + +2021-07-23 Stefan Kangas + + Make nil value of fill-column obsolete + + * lisp/textmodes/fill.el (current-fill-column): Make nil value of + 'fill-column' obsolete. (Bug#22847) + (current-fill-column--has-warned): New variable to track warning. + * lisp/simple.el (do-auto-fill): Remove handling of nil return value + from 'current-fill-column'. + * etc/NEWS: Announce obsoletion of this usage. + +2021-07-23 Lars Ingebrigtsen + + Adjust time-tests.el to bug#30056 + + * test/lisp/time-tests.el (time-tests-display-time-update): Adjust + test (bug#30056). + +2021-07-23 Lars Ingebrigtsen + + Move mode-line NEWS items to a common section + +2021-07-23 Lars Ingebrigtsen + + 'global-mode-string' elements should have a space at the end + + * lisp/time.el (display-time-string-forms): + * lisp/battery.el (battery-mode-line-format): Add a space to the + end (bug#30056). + * lisp/bindings.el (mode-line-misc-info): Remove space from end. + This will make the default format have one space before the + line-of-dashes (instead of two) on terminals. + +2021-07-23 Lars Ingebrigtsen + + Fix an rcirc merge problem + + * lisp/net/rcirc.el (rcirc-get-server-method) + (rcirc-get-server-password): Remove double definition after merge. + +2021-07-23 Eli Zaretskii + + MS-Windows followup to recent emacsclient changes + + * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_file-has-acl): Set to true + to avoid compiling file-has-acl.c on MS-Windows. + +2021-07-23 Paul Eggert + + Redo emacsclient socket symlink-attack checking + + * admin/merge-gnulib (GNULIB_MODULES): Add file-has-acl. + * lib/file-has-acl.c: New file, copied from Gnulib. + * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. + * lib-src/emacsclient.c: Include acl.h, for file_has_acl. + (O_PATH): Default to O_SEARCH, which is good enough here. + (union local_sockaddr): New type. + (socket_status): Remove, replacing with ... + (connect_socket): New function. All callers changed. + This function checks for ownership and permissions issues with the + parent directory of the socket file, instead of checking the + owner of the socket (which does not help security). + (socknamesize): Move to file scope. + (local_sockname): New arg S. No need to pass socknamesize. + UID arg is now uid_t. All callers changed. Get file descriptor + of parent directory of socket, to foil some symlink attacks. + Do not follow symlinks to that directory. + (set_local_socket): Create the socket here instead of on + each attempt to connect it. Fall back from XDG_RUNTIME_DIR + to /tmp only if the former fails due to ENOENT. Adjust + permission-failure diagnostic to match changed behavior. + + This addresses Bug#33847, which complained about emacsclient in a + safer XDG environment not connecting to an Emacs server running in + a less-safe enviroment outside XDG. The patch fixes a + longstanding issue with emacsclient permission checking. + Its ineffective to look at the permission of the socket file + itself; on some platforms, these permissions are ignored anyway. + What matters are the permissions on the parent directory of the + socket file, as these are what make symlink attacks possible. + Change the permissions check accordingly, and also refuse to + follow symlinks to that parent directory. These changes make it + OK for emacsclient to fall back from XDG_RUNTIME_DIR to the + traditionally less-safe /tmp/emacsNNNN directories, since /tmp is + universally sticky nowadays. + +2021-07-23 Philip Kaludercic + + Merge branch 'feature/rcirc-update' + +2021-07-23 Lars Ingebrigtsen + + Make erc recognize `foo*' as a function Lisp symbol + + * lisp/erc/erc-button.el (erc-button-alist): Add some more chars + to the `foo' button regexp (bug#49690). + +2021-07-23 Lars Ingebrigtsen + + Make supersession warnings work again + + * src/filelock.c (lock_file): Fix thinko in lock_file in 2ad34bcea4e + (bug#49701). + +2021-07-22 Eli Zaretskii + + Fix display of line/wrap-prefix when there's a display property at BOL + + * src/xdisp.c (get_line_prefix_it_property): New function. + (handle_line_prefix): Call 'get_line_prefix_it_property' instead + of 'get_it_property', to examine also the property of the buffer + text underlying the display or overlay string. (Bug#49695) + +2021-07-22 Lars Ingebrigtsen + + Make revert-buffer preserve buffer-readedness + + * lisp/files.el (revert-buffer): Preserve buffer-readedness + (bug#35166). + +2021-07-22 Lars Ingebrigtsen + + `term-char-mode' doc string clarification + + * lisp/term.el (term-char-mode): Document behaviour (bug#49186). + +2021-07-22 Dmitry Gutov + + Bind the GIT_LITERAL_PATHSPECS environment variable + + * lisp/vc/vc-git.el (vc-git-command): + (vc-git--call): Ensure that git interprets file names literally + (bug#39452). + +2021-07-22 Sergey Organov (tiny change) + + Avoid failing in desktop-clear due to killed buffers + + * lisp/desktop.el (desktop-clear): check that buffer is not already + killed before attempting to kill it. A buffer might become killed as + part of regular operation as a side-effect of killing another buffer, + and then attempt to kill it again causes error (bug#49692). + +2021-07-22 Lars Ingebrigtsen + + Remove the (value) bits from cus-start Customize strings + + * lisp/cus-start.el (standard): Don't mention the Lisp values in + the choice strings, because that's just confusing in the Customize + interface (bug#49687). + +2021-07-22 Eli Zaretskii + + Avoid byte-compilation warning + + * test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks): + Avoid byte-compiler warning. (Bug#49667) + +2021-07-22 Lars Ingebrigtsen + + Move generalized variable specs from cl-lib.el to gv.el + + * lisp/emacs-lisp/cl-lib.el: Move all the generalized variable + specifications from cl-lib.el... + * lisp/emacs-lisp/gv.el: ... to gv.el. This will make things like + `(setf (getenv "FOO") "BAR")' work without requiring anything, + since `setf' lives in gv.el (bug#49651). + +2021-07-21 Yan Gajdos (tiny change) + + Make vc-git-mode-line-string more robust + + * lisp/vc/vc-git.el (vc-git-mode-line-string): Make function more + robust (bug#49683). It could previously error out under certain + conditions, like moving directories in and out of the + VC-controlled tree. + +2021-07-21 Illia Ostapyshyn (tiny change) + + * lisp/cus-start.el: Add mode-line-compact to Customize + + * lisp/cus-start.el (standard): Make `mode-line-compact' into a + user option (bug#49687). + +2021-07-21 Juri Linkov + + Improve docstring of context-menu-functions and add eww-context-menu + + * lisp/mouse.el (context-menu-functions): Explain function args in docstring. + + * lisp/net/eww.el (eww-context-menu): New function. + (eww-mode): Add it to context-menu-functions. + + * lisp/info.el (Info-context-menu): Move history items higher. + + * lisp/progmodes/prog-mode.el (prog-context-menu): Add menu items + in the middle of the menu after the region menu items. + +2021-07-21 Juri Linkov + + Change the order of context-menu-functions and add more context menus. + + * lisp/mouse.el (context-menu-functions): Update default list. + (context-menu-overriding-function): Remove variable. + (context-menu-map): Reverse the order. + (context-menu-global, context-menu-local, context-menu-minor): New functions. + (context-menu-undo, context-menu-region): Add separators. + Use define-key-after instead of bindings--define-key. + (context-menu-entry): New variable. + (context-menu-mode): Use it. + + * lisp/dired.el (dired-context-menu): New function. + (dired-mode): Add it to context-menu-functions. + + * lisp/info.el (Info-context-menu): Reorder. + + * lisp/net/goto-addr.el (goto-address-at-mouse): + Rename from goto-address-at-click. + (goto-address-context-menu): Use goto-address-at-mouse. + + * lisp/progmodes/prog-mode.el (prog-context-menu): New function. + (prog-mode): Add it to context-menu-functions. + +2021-07-21 Logan Perkins + + Make input of multi-key inputs in different emacsclients more logical + + * src/keyboard.c (read_key_sequence): Don't continue the input of + multi-key commands in one emacsclient in another (bug#39687). + +2021-07-21 Stefan Monnier + + * src/eval.c (signal_quit_p): Fix the usual int/Lisp_Object mixup + +2021-07-21 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return): Add arg `category` + + Use it to obey `byte-compile-warnings`. + + (macroexp--warn-wrap): Add arg `category`. + (macroexp-macroexpand, macroexp--expand-all): Use it. + + * lisp/emacs-lisp/cconv.el (cconv--convert-funcbody, cconv-convert): + Mark the warnings as `lexical`. + + * lisp/emacs-lisp/eieio-core.el (eieio-oref, eieio-oref-default) + (eieio-oset-default): + * lisp/emacs-lisp/eieio.el (defclass): Adjust to new calling convention. + +2021-07-21 Lars Ingebrigtsen + + Make `C-g' after `M-x' not give a backtrace unless required + + * src/eval.c (signal_quit_p): New function. + (maybe_call_debugger): React to all `quit' signals (bug#49675). + + * src/keyboard.c (cmd_error_internal, menu_item_eval_property_1): + Ditto. + +2021-07-21 Jashank Jeremy + + Speed up by storing frame faces in hash tables instead of alists + + * src/frame.h (struct frame): Add face_hash_table, remove face_alist. + (fset_face_hash_table): New function. + (fset_face_alist): Remove. + * src/frame.c (make_frame): Initialize f->face_hash_table. + (Fmake_terminal_frame): Update to work with hash tables instead of + alists. + * src/xfaces.c (lface_from_face_name_no_resolve): + (Finternal_make_lisp_face): + (update_face_from_frame_parameter): Update to work with hash tables + instead of alists. + (Fframe_face_hash_table): New function. + (Fframe_face_alist): Move to faces.el as frame-face-alist. + (syms_of_xfaces): Add frame_face_hash_table. + + * lisp/progmodes/elisp-mode.el (elisp--eval-defun-1): + * lisp/frame.el (frame-set-background-mode): Update to work with hash + tables instead of alists. + * lisp/faces.el (face-new-frame-defaults): Mark obsolete. + (face-list): Update to use face--new-frame-defaults. + (frame-face-alist): Moved here from src/xfaces.c. + (x-create-frame-with-faces): Update to handle subtle semantic change + to how frame faces propagate, which otherwise breaks frame creation + with reverse video enabled (bug#41200). + + Reworked from a patch by Cl辿ment Pit-Claudel . + +2021-07-21 Stefan Monnier + + * doc/lispref/display.texi (Overlay Properties): Tweak further + + The "character after point" is not as important as point itself + +2021-07-21 Lars Ingebrigtsen + + Remove some "is"es from previous json checkin + + * lisp/subr.el (json-available-p): + * doc/lispref/text.texi (Parsing JSON): Fix typo in last check-in. + +2021-07-21 Stefan Kangas + + Factor out char_table_ref_simple for readability + + * src/chartab.c (char_table_ref_simple): New function... + (sub_char_table_ref_and_range, char_table_ref_and_range): + ...factored out from here. (bug#45550). + +2021-07-21 Lars Ingebrigtsen + + Fix final test for invalid base64url chars + + * src/fns.c (base64_decode_1): Fix test for invalid base64url + (bug#45562). Noted by Andreas Schwab. + +2021-07-21 Pankaj Jangid + + Fixed a typo in Gnus manual + + * doc/misc/gnus.texi (Washing Mail): Fixed typo + +2021-07-21 Lars Ingebrigtsen + + Fix bug-reference.el compilation warning + + * lisp/progmodes/bug-reference.el (bug-reference-mode): Silence a + compilation warning (bug#49677). + +2021-07-21 Lars Ingebrigtsen + + Restore evaluation logic in dired-guess-default + + * lisp/dired-x.el (dired-guess-default): Restore the `eval' bits + also removed in a previous commit (bug#48071). + +2021-07-21 Lars Ingebrigtsen + + Fix dired-guess-default logic after previous change + + * lisp/dired-x.el (dired-guess-default): Restore previous logic -- + require matches for all files (bug#48071). + +2021-07-21 Lars Ingebrigtsen + + Add json-available-p + + * doc/lispref/text.texi (Parsing JSON): Document it. + * lisp/subr.el (json-available-p): New function (bug#49660). + +2021-07-21 Lars Ingebrigtsen + + Mention rear-advance in relation to the keymap overlay property + + * doc/lispref/display.texi (Overlay Properties): Mention the + effect of REAR-ADVANCE (bug#459). + +2021-07-21 Mattias Engdeg奪rd + + Fix mistake in `quote` optimiser + + Found by Pip Cet. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-quote): Fix mistake that + made this optimiser ineffective at removing quoting of nil, t, and + keywords. The only obvious consequence is that we no longer need... + (byte-optimize-form): ...a 'nil => nil normalising step here; remove. + (byte-optimize-form-code-walker): Make the compiler warn about (quote). + +2021-07-20 Juri Linkov + + Add new mode context-menu-mode and use it in info.el and goto-addr.el + + * lisp/mouse.el (context-menu-functions): New defcustom. + (context-menu-overriding-function): New function. + (context-menu-filter-function): New defcustom. + (context-menu-map): New function. + (context-menu-undo, context-menu-region): New menu functions. + (context-menu-mode): New mode. + + * lisp/info.el (Info-context-menu): New function. + (Info-mode): Add Info-context-menu to context-menu-functions. + + * lisp/net/goto-addr.el (goto-address-context-menu): New function. + (goto-address-at-click): New command. + (goto-address-mode): Add goto-address-context-menu to context-menu-functions. + +2021-07-20 Juri Linkov + + * lisp/button.el (button-map): Bind [follow-link] to 'mouse-face' (bug#49626) + +2021-07-20 Mattias Engdeg奪rd + + Strength-reduce (eq X nil) to (not X) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): New optimisation, + which results in better test and branch code generation where it + applies. + +2021-07-20 Mattias Engdeg奪rd + + Count (not X) as a switch condition + + * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix): + Treat (not VAR) and (null VAR) as (eq VAR nil) when computing the + extent of switch ops. + +2021-07-20 Michael Albinus + + * lisp/shadowfile.el (shadow-homedir): Add slash. + + (shadow-contract-file-name): Use it. Bug#49596. + +2021-07-20 Eli Zaretskii + + Fix documentation of a recent changeset + + * lisp/autorevert.el (auto-revert-mode): + * lisp/files.el (revert-buffer): Doc fix. (Bug#49661) + +2021-07-20 Michael Albinus + + Fix Bug#49636 + + * test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name): + Let-bind `auto-save-default'. (Bug#49636) + +2021-07-20 Konstantin Kharlamov + + Improve auto-revert-mode and revert-buffer doc strings + + * lisp/autorevert.el (auto-revert-mode): + * lisp/files.el (revert-buffer): Mention that there is + revert-buffer-with-fine-grain that is better suited for markers + preservation (bug#49661). + +2021-07-20 jakanakaevangeli + + Make `kill-all-local-variables' also remove lambda from hooks + + * src/buffer.c (reset_buffer_local_variables): Also remove + non-symbol elements from hook variables (bug#46407). + +2021-07-20 Lars Ingebrigtsen + + Make dired-guess-default return all matching programs + + * lisp/dired-x.el (dired-guess-default): Return all matching + programs (bug#48071). + +2021-07-20 Ioannis Kappas + + Allow installing packages with DOS line endings + + * lisp/emacs-lisp/package.el (package-install-from-buffer): Allow + installing files with different line ending conventions (Unix, DOS + and Macos) (bug#48137). + +2021-07-20 Lars Ingebrigtsen + + Signal an error in json.c function if not available + + * src/json.c (Fjson_serialize, Fjson_insert) + (Fjson_parse_string, Fjson_parse_buffer, syms_of_json): Signal + `json-unavailable' if jansson isn't available (bug#48228). + +2021-07-20 Miha Rihtar邸i + + Quit minibuffers without aborting kmacros + + * doc/lispref/commands.texi (Quitting): Document `minibuffer-quit' + (Recursive Editing): Document throwing of function values to `exit'. + + * doc/lispref/errors.texi (Standard Errors): Document + `minibuffer-quit' + + * lisp/minibuffer.el (minibuffer-quit-recursive-edit): New function. + + * lisp/simple.el (minibuffer-error-function): Do not abort keyboard + macro execution if is minibuffer-quit is signaled (bug#48603). + * src/data.c (syms_of_data): New error symbol `minibuffer-quit' + + * src/keyboard.c (recursive_edit_1): Implement throwing of function + values to `exit`. In that case, the function will be called without + arguments before returning from the command loop. + (cmd_error): + (Fcommand_error_default_function): Do not abort keyboard macro + execution if minibuffer-quit is signaled. + (command_loop_2): New argument HANDLERS. + + * src/macros.c (Fexecute_kbd_macro): Use command_loop_2 instead of + command_loop_1. + + * src/minibuf.c (Fabort_minibuffers): Use it. + +2021-07-20 Kenichi Handa + + Fix problem with certain fonts in ftfont_shape_by_flt + + * src/ftfont.c (ftfont_shape_by_flt): Fix problem with unusual OTF + tables in fonts (bug#49066). + +2021-07-20 Earl Hyatt + + Add commands 'kill-matching-lines' and 'copy-matching-lines' + + * doc/emacs/search.texi: Document these additions. + * lisp/replace.el: + Add the commands 'kill-matching-lines' and 'copy-matching-lines'. + + 'kill-matching-lines' is like 'flush-lines', but adds the lines to the + kill ring as a single string, keeping line endings. + 'copy-matching-lines' is like 'kill-matching-lines', but only copies + those lines instead of killing them. + +2021-07-20 Lars Ingebrigtsen + + Tweak example in Function Indirection node in the lispref manual + + * doc/lispref/eval.texi (Function Indirection): Make example more + robust (bug#49647). Suggested by Scott Marks + . + +2021-07-20 Lars Ingebrigtsen + + Put command line file names and mouse dragging onto 'file-name-history' + + * lisp/dnd.el (dnd-open-local-file): Add file to history. + * lisp/files.el (file-name-history--add): New function (bug#12915). + + * lisp/startup.el (command-line-1): Add file to history. + +2021-07-20 Lars Ingebrigtsen + + Mention `overlays-in' in the `overlays-at' doc string + + * src/buffer.c (Foverlays_at): Mention `overlays-in' in the doc + string (bug#459). + +2021-07-19 Lars Ingebrigtsen + + Make wdired work better in narrowed-to buffers + + * lisp/wdired.el (wdired--before-change-fn): + (wdired--restore-properties): Widen before doing anything so that + we get all the changed bits (bug#49124). + +2021-07-19 Ivan Sokolov + + Add function for filtering ANSI sequences when compiling + + * lisp/ansi-color.el (ansi-color-for-compilation-mode): New user + option (bug#49609). + (ansi-color-compilation-filter): New function. + +2021-07-19 Eli Zaretskii + + Fix typos in a recent change + + * src/buffer.c (Fmake_indirect_buffer): Fix a typo in a recent + change. + + * doc/lispref/buffers.texi (Indirect Buffers): Fix punctuation. + +2021-07-19 Lars Ingebrigtsen + + Make the `s' command in *Help* work for Lisp variables defined in C + + * lisp/help-fns.el (describe-variable): Store the type. + * lisp/help-mode.el (help-view-source): Use the type. This fixes + the problem when looking for a variable defined in a C file. + +2021-07-19 Lars Ingebrigtsen + + Add inhibit-buffer-hooks to `make-indirect-buffer' + + * doc/lispref/buffers.texi (Indirect Buffers): Document it (bug#49160). + + * src/buffer.c (Fmake_indirect_buffer): Allow controlling whether + to inhibit buffer hooks. + +2021-07-19 dickmao + + Make make-indirect-buffer inherit inhibit-buffer-hook from base buffer + + * src/buffer.c (Fmake_indirect_buffer): + Match base buffer's inhibit-buffer-hooks. + * test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks-indirect): + Add a test (bug#49160). + +2021-07-19 Eli Zaretskii + + Document recent changes in 'comint-delete-output' (bug#1496) + + * doc/emacs/misc.texi (Shell Mode): Document the new optional + behavior of 'C-c C-o'. + + * etc/NEWS: Call out the new behavior of 'C-c C-o'. + +2021-07-19 Gabriel do Nascimento Ribeiro + + Use 'remember-buffer' in remember.el doc strings. + + * lisp/textmodes/remember.el (remember-initial-contents) + (remember-before-remember-hook, remember-destroy): Refer to + `remember-buffer'. + + * lisp/textmodes/remember.el (remember-buffer): Make into + defcustom (bug#49373). + +2021-07-19 Gabriel do Nascimento Ribeiro + + Use 'remember-buffer' in remember.el doc strings. + + * lisp/textmodes/remember.el (remember-initial-contents) + (remember-before-remember-hook, remember-destroy): Refer to + `remember-buffer'. + + * lisp/textmodes/remember.el (remember-buffer): Make into + defcustom (bug#49373). + +2021-07-19 Madhu (tiny change) + + Propagate asynchronousness correctly when using proxies in url.el + + * lisp/url/url.el (url-retrieve-internal): Propagate + asynchronousness correctly when using a proxy (bug#49570). + +2021-07-19 Lars Ingebrigtsen + + Fix infloop in woman-file-name + + * lisp/woman.el (woman-file-name): Fix infloop for non-existent + manual page (bug#414). + +2021-07-19 Lars Ingebrigtsen + + Allow comint-delete-output to save the output on the kill ring + + * lisp/comint.el (comint-delete-output): Allow saving the output + to the kill ring (bug#1496). + +2021-07-19 Lars Ingebrigtsen + + Fix documentation of mouse-leave-buffer-hook + + * doc/lispref/hooks.texi (Standard Hooks): Ditto. + + * src/callint.c (syms_of_callint): Document the actual usage of + `mouse-leave-buffer-hook' (bug#2932). + +2021-07-19 Lars Ingebrigtsen + + Use make-separator-line in shortdoc + + * lisp/simple.el (separator-line): Tweak definition to not be so + overwhelming. + + * lisp/emacs-lisp/shortdoc.el (shortdoc-separator): Removed. + (shortdoc-display-group): Use make-separator-line. + +2021-07-19 Lars Ingebrigtsen + + Add a new function for separator lines + + * lisp/help-fns.el (describe-symbol): Use it. + + * lisp/help.el (describe-key): Use it. + + * lisp/simple.el (separator-line): New face. + (make-separator-line): New function (bug#49630). + +2021-07-18 Eli Zaretskii + + Fix documentation of a recent changeset (bug#5003) + + * lisp/files.el (safe-local-variable-values) + (ignored-local-variable-values): Doc fix. + (ignored-local-variable-values): Add :version tag. + + * doc/emacs/custom.texi (Safe File Variables): Mention + 'ignored-local-variable-values'. + * doc/lispref/variables.texi (File Local Variables): Fix wording. + + * etc/NEWS: Improve wording of the 'ignored-local-variable-values' + entry. + +2021-07-18 Mattias Engdeg奪rd + + Count compile errors when FILE is a function + + * lisp/progmodes/compile.el (compilation-parse-errors): + Don't omit messages from the error count when FILE is a function + rather than a regexp match number. + +2021-07-18 Lars Ingebrigtsen + + Clarify event-convert-list doc string + + * src/keyboard.c (Fevent_convert_list): Clarify that the base type + returned isn't always the same (bug#7631). + +2021-07-18 Stephen Gildea + + Add doc string to time-stamp-tests that didn't have one + + * test/lisp/time-stamp-tests.el (formatz-generate-tests, + formatz-%z-spotcheck): Add doc strings to tests. + +2021-07-18 Lars Ingebrigtsen + + Allow ignoring local variable values permanently + + * doc/lispref/variables.texi (File Local Variables): Document it. + + * lisp/files.el (ignored-local-variable-values): New user option + (bug#5003). + (hack-local-variables-confirm): Allow ignoring permanently. + (hack-local-variables-filter): Ignore the permanently ignored + variables. + +2021-07-18 Michael Albinus + + Make remote file locks more robust + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Make file locks more robust. + + * test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name): + Rename and extend. + +2021-07-18 Naofumi Yasufuku (tiny change) + + Make remote file locks more robust. (Bug#49621) + + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Make file + locks more robust. (Bug#49621) + +2021-07-18 Lars Ingebrigtsen + + Maintain a list of terminal buffers in the menu + + * lisp/term.el (term--update-term-menu): New function (bug#5641). + (term-mode): Use it to list terminal buffers. + +2021-07-18 Eli Zaretskii + + Fix display of mode-line with bidi formatting controls + + * src/xdisp.c (face_before_or_after_it_pos): Reimplement the bidi + iteration to find the character after the current in visual order. + (Bug#49562) + +2021-07-18 Michael Albinus + + Fix problem in `shadow-define-literal-group' (Bug#49596) + + * lisp/shadowfile.el (shadow-make-fullname): HOST can also be a + remote file name. Bug#49596. + + * test/lisp/shadowfile-tests.el (auth-source-save-behavior) + (tramp-cache-read-persistent-data, tramp-persistency-file-name): + Set them globally. + (shadow-test06-literal-groups): Extend test. + +2021-07-18 Lars Ingebrigtsen + + Make indent-tabs-mode into a regular mode instead of just a variable + + * lisp/simple.el (indent-tabs-mode): Make into a minor mode (bug#6276). + +2021-07-18 Lars Ingebrigtsen + + Don't shorten comment padding if the padding isn't spaces + + * lisp/newcomment.el (comment-padright): Don't shorten non-space + padding (bug#6822). + (comment-padleft): Ditto. + +2021-07-18 Lars Ingebrigtsen + + Fix an unlikely `copyright-find-copyright' problem + + * lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make + the copyright matcher more robust (bug#7179). + +2021-07-17 Lars Ingebrigtsen + + Fix previous grep-file-at-point change + + * lisp/progmodes/grep.el (grep-file-at-point): Fix previous change. + +2021-07-17 Lennart Borgman + + Add new function 'grep-file-at-point' + + * lisp/progmodes/grep.el (grep-file-at-point): New function to + return the file name at point (bug#8252). + +2021-07-17 Karthik Chikmagalur (tiny change) + + Enhance pcomplete support for xargs + + * lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs + options, including the ability to distinguish them from the command + xargs runs (bug#49603). + +2021-07-17 Lars Ingebrigtsen + + Make 'n'/'p' work again in shortdoc after previous changes + + * lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to + changes in how the text properties are inserted in 22a5482ab6 + (bug#49605). Also make into a regular function. + +2021-07-16 akater + + EIEIO: Prevent excessive evaluation of :initform + + * lisp/emacs-lisp/eieio.el (initialize-instance): + Do not evaluate initform of a slot when initarg for the slot is provided, + according to the following secitons of CLHS: + - Object Creation and Initialization + - Initialization Arguments + - Defaulting of Initialization Arguments + - Rules for Initialization Arguments + + * test/lisp/emacs-lisp/eieio-etests/eieio-tests.el: + Add corresponding tests + Fix a typo + +2021-07-16 Mattias Engdeg奪rd + + Define revert-buffer-function for *Memory Report* + + * lisp/emacs-lisp/memory-report.el (memory-report): + Allow the memory report buffer to be updated by pressing 'g'. + +2021-07-16 Michael Albinus + + Add lock-file-mode + + * doc/emacs/files.texi (Interlocking): + * doc/lispref/files.texi (File Locks): + * etc/NEWS: Add lock-file-mode. + + * lisp/files.el (lock-file-name-transforms) + (remote-file-name-inhibit-locks): Move down. + (lock-file-mode): New minor mode. + +2021-07-16 Glenn Morris + + Merge from origin/emacs-27 + + 7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix. + 0d9e1826f7 One more minor update of the Emacs manual for 19th printing + 92616d30e0 ; Fix let-alist Texinfo markup + c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de... + +2021-07-16 Lars Ingebrigtsen + + Clarify emacsclient Options node in the Emacs manual + + * doc/emacs/misc.texi (emacsclient Options): Don't claim that + emacsclient searches for a socket name (bug#13319). + +2021-07-16 Lars Ingebrigtsen + + Add new user option 'query-about-changed-file' + + * doc/emacs/files.texi (Visiting): Document it. + * lisp/files.el (query-about-changed-file): New user option (bug#10775). + (find-file-noselect): Use it. + +2021-07-16 Lars Ingebrigtsen + + Fix lock-file-name-transforms build problem + + * lisp/files.el (lock-file-name-transforms): Remove + custom-initialize-delay to fix build problem (bug#49507). + +2021-07-16 Eli Zaretskii + + Fix wording in a recent ELisp manual change + + * doc/lispref/tips.texi (Coding Conventions): Fix wording in a + recent change. (Bug#21440) + +2021-07-16 Lars Ingebrigtsen + + Allow hiding variables in Customize + + * lisp/cus-edit.el (custom-toggle-hide-variable): Allow closing an + option even if there are unsaved changes (bug#11655). + +2021-07-16 Remington Furman (tiny change) + + Make `number-at-point' work for more hex numbers + + * lisp/thingatpt.el (number-at-point): Rewrite to actually catch + the hex numbers (bug#49588). + +2021-07-16 Lars Ingebrigtsen + + Clarify -unload-feature in Coding Conventions + + * doc/lispref/tips.texi (Coding Conventions): Clarify when an + unload function is useful (bug#21440). + +2021-07-16 Lars Ingebrigtsen + + Add a couple more shell-tests-split-string tests + +2021-07-15 Glenn Morris + + Improve recent jka-compr-compression-info-list change + + * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): + Document previous change, and fix :type. + +2021-07-15 Tassilo Horn + + Add bug-reference support for Codeberg projects + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist): + Add support for codeberg.org bug and pull request references. + * doc/emacs/maintaining.texi (Bug Reference): Mention that bug and + pull request references for codeberg projects are supported. + +2021-07-15 Tassilo Horn + + Add support for sourcehut to bug-reference.el + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist): + Add support for bug references like #17 and ~user/project#19 for + sourcehut (sr.ht). + * doc/emacs/maintaining.texi (Bug Reference): Document sourcehut + support. + +2021-07-15 Lars Ingebrigtsen + + Add more car/cdr examples to shortdoc + + * lisp/emacs-lisp/shortdoc.el (list): Add more car/cdr examples. + +2021-07-15 Lars Ingebrigtsen + + Improve the shortdoc link action in *Help* buffers + + * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow + taking an optional parameter to place point on a specific function. + (shortdoc--display-function): Go to the function in question in + the shortdoc buffer. + +2021-07-15 Lars Ingebrigtsen + + Add new user option to abbreviate file names in save-place + + * lisp/saveplace.el (save-place-abbreviate-file-names): New user + option (bug#13286). + (save-place-to-alist): Use it. + +2021-07-15 Lars Ingebrigtsen + + Allow restoring the original order in 'tabulated-list-mode' + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow + restoring the original order (bug#13411). + (tabulated-list--sort-by-column-name): Store the original order. + (tabulated-list--original-order): New buffer-local variable. + +2021-07-15 Protesilaos Stavrou + + Update modus-themes to version 1.5.0 + + * doc/misc/modus-themes.org (Enable and load): Include internal link. + (Sample configuration for use-package): Update code sample. + (Customization Options): Update references to customization options. + (Option for more italic constructs): Document new variable, as an + alias of the deprecated 'modus-themes-slanted-constructs'. + + (Option for syntax highlighting, Option for links) + (Option for command prompt styles, Option for mode line presentation) + (Option for language checkers) + (Option for line highlighting (hl-line-mode)) + (Option for parenthesis matching (show-paren-mode)) + (Option for active region, Option for the headings' overall style): + Update documentation to describe new possible values, expressed as a + list of symbols. + + (Option for Org agenda constructs): Document new user option. + + (Control the scale of headings): Update symbol of variable. + + (Remap face with local value (DIY), Backdrop for pdf-tools (DIY)): + Tweak text of internal reference. + + (Font configurations for Org and others (DIY)): Add internal link and + document how to configure the 'bold' and 'italic' faces. + + (Custom Org user faces (DIY)): Minor corrections or changes to single + words. + + (Full support for packages or face groups): Include new items. + + (Notes on individual packages): Add notes on Avy hints, the colour of + days in 'M-x calendar', and underlines in 'compilation-mode' buffers. + + (What is the best setup for legibility?): Remove single word. + (Acknowledgements): Update list of contributors. + + * etc/themes/modus-themes.el (modus-themes-faces) + (modus-themes-operandi-colors, modus-themes-vivendi-colors) + (modus-themes-subtle-red, modus-themes-subtle-green) + (modus-themes-subtle-yellow, modus-themes-subtle-blue) + (modus-themes-subtle-magenta, modus-themes-subtle-cyan) + (modus-themes-subtle-neutral, modus-themes-intense-red) + (modus-themes-intense-green, modus-themes-intense-yellow) + (modus-themes-intense-blue, modus-themes-intense-magenta) + (modus-themes-intense-cyan, modus-themes-intense-neutral) + (modus-themes-refine-red, modus-themes-refine-green) + (modus-themes-refine-yellow, modus-themes-refine-blue) + (modus-themes-refine-magenta, modus-themes-refine-cyan) + (modus-themes-active-red, modus-themes-active-green) + (modus-themes-active-yellow, modus-themes-active-blue) + (modus-themes-active-magenta, modus-themes-active-cyan) + (modus-themes-fringe-red, modus-themes-fringe-green) + (modus-themes-fringe-yellow, modus-themes-fringe-blue) + (modus-themes-fringe-magenta, modus-themes-fringe-cyan) + (modus-themes-nuanced-red, modus-themes-nuanced-green) + (modus-themes-nuanced-yellow, modus-themes-nuanced-blue) + (modus-themes-nuanced-magenta, modus-themes-nuanced-cyan) + (modus-themes-special-cold, modus-themes-special-mild) + (modus-themes-special-warm, modus-themes-special-calm) + (modus-themes-diff-added, modus-themes-diff-changed) + (modus-themes-diff-removed, modus-themes-diff-refine-added) + (modus-themes-diff-refine-changed, modus-themes-diff-refine-removed) + (modus-themes-diff-focus-added, modus-themes-diff-focus-changed) + (modus-themes-diff-focus-removed, modus-themes-diff-heading) + (modus-themes-pseudo-header, modus-themes-mark-alt) + (modus-themes-mark-del, modus-themes-mark-sel, modus-themes-mark-symbol) + (modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3) + (modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6) + (modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line) + (modus-themes-bold, modus-themes-slant, modus-themes-variable-pitch) + (modus-themes-graph-red-0, modus-themes-graph-red-1) + (modus-themes-graph-green-0, modus-themes-graph-green-1) + (modus-themes-graph-yellow-0, modus-themes-graph-yellow-1) + (modus-themes-graph-blue-0, modus-themes-graph-blue-1) + (modus-themes-graph-magenta-0, modus-themes-graph-magenta-1) + (modus-themes-graph-cyan-0, modus-themes-graph-cyan-1) + (modus-themes-lang-note, modus-themes-lang-warning) + (modus-themes-lang-error, modus-themes-reset-soft) + (modus-themes-reset-hard, modus-themes-key-binding) + (modus-themes-search-success, modus-themes-search-success-modeline) + (modus-themes-search-success-lazy): Add new ':group' specification for + custom faces. + + (modus-themes-operandi-color-overrides) + (modus-themes-vivendi-color-overrides, modus-themes-bold-constructs) + (modus-themes-variable-pitch-headings, modus-themes-variable-pitch-ui) + (modus-themes-no-mixed-fonts, modus-themes-fringes) + (modus-themes-scale-headings, modus-themes-scale-1, modus-themes-scale-2) + (modus-themes-scale-3, modus-themes-scale-4, modus-themes-scale-title) + (modus-themes-org-blocks, modus-themes-completions) + (modus-themes-success-deuteranopia, modus-themes-mail-citations) + (modus-themes-subtle-line-numbers, modus-themes-intense-hl-line): Add + custom setter. + + (modus-themes-scale-5, modus-themes-scale-title): Deprecate variable + and replace it with alias 'modus-themes-scale-title'. + + (modus-themes-slanted-constructs, modus-themes-italic-constructs): + Deprecate variable and replace it with alias + 'modus-themes-italic-constructs'. + + (modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable + and make its functionality a part of 'modus-themes-org-agenda'. + + (modus-themes-headings, modus-themes-mode-line, modus-themes-diffs) + (modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax) + (modus-themes-links, modus-themes-region, modus-themes-lang-checkers) + (modus-themes-org-blocks): Make user options accept a value as a list + of properties. + + (modus-themes--mixed-fonts, modus-themes--slant) + (modus-themes--fixed-pitch, modus-themes--lang-check) + (modus-themes--prompt, modus-themes--paren) + (modus-themes--syntax-foreground, modus-themes--syntax-extra) + (modus-themes--syntax-string, modus-themes--syntax-docstring) + (modus-themes--syntax-comment, modus-themes--heading-p) + (modus-themes--heading, modus-themes--org-habit) + (modus-themes--mode-line-attrs, modus-themes--link-color) + (modus-themes--link, modus-themes--region, modus-themes--hl-line): + Update internal functions to parse new values for user options. + + * etc/themes/modus-operandi-theme.el, + etc/themes/modus-vivendi-theme.el: Bump version number. + + A detailed change log is provided here (no javascript required): + . + +2021-07-15 Lars Ingebrigtsen + + Autoload `split-string-shell-command' + + * lisp/shell.el (split-string-shell-command): Autoload. + +2021-07-15 Eli Zaretskii + + Fix 'shell-tests-split-string' on MS-Windows + + * test/lisp/shell-tests.el (shell-tests-split-string): Skip test + that always fails on MS-Windows/MS-DOS. + +2021-07-15 Lars Ingebrigtsen + + Improve the `window-end' doc string + + * src/window.c (Fwindow_end): Be more explicit about what the + position is (bug#13429). + +2021-07-15 Lars Ingebrigtsen + + Mention more split-string-* functions in shortdoc + + * lisp/emacs-lisp/shortdoc.el (string): Mention + split-string-and-unquote and split-string-shell-command. + +2021-07-15 Lars Ingebrigtsen + + Allow using spaces in `inferior-lisp' command names + + * lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces + in the command names (by splitting using shell syntax) (bug#16005). + +2021-07-15 Lars Ingebrigtsen + + Rename shell-split-string to split-string-shell-command + + * lisp/shell.el (split-string-shell-command): + * doc/lispref/processes.texi (Shell Arguments): Rename from + shell-split-string. + +2021-07-15 Lars Ingebrigtsen + + Add a new function 'shell-split-string' + + * doc/lispref/processes.texi (Shell Arguments): Document it. + * lisp/shell.el (shell-split-string): New function. + +2021-07-15 Lars Ingebrigtsen + + Clarify overriding-local-map doc string + + * src/keyboard.c (syms_of_keyboard): Clarify + `overriding-local-map' vs. text properties/overlays (bug#16312). + +2021-07-15 Paul Eggert + + Pacify gcc -Woverflow more clearly + + * src/alloc.c (mark_maybe_pointer): Make it clearer that ANDing + with UINTPTR_MAX is intended. Omit a now-unnecessary cast. + +2021-07-14 Michael Albinus + + Preserve backward compatibility in Tramp + + * lisp/net/tramp-crypt.el (tramp-crypt-handle-lock-file) + (tramp-crypt-handle-unlock-file): Preserve backward compatibility. + + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Do not + create lock file twice. + + * lisp/net/tramp.el (tramp-handle-make-lock-file-name): Move lock + file security check ... + (tramp-handle-lock-file): ... here. + (tramp-handle-unlock-file): Preserve backward compatibility. + + * test/lisp/net/tramp-tests.el (lock-file-name-transforms) + (remote-file-name-inhibit-locks): Declare. + (tramp-allow-unsafe-temporary-files): Set to t. + (tramp-test37-make-auto-save-file-name) + (tramp-test38-find-backup-file-name): Move binding of + `tramp-allow-unsafe-temporary-files' up. + (tramp-test39-lock-file): Bind `tramp-allow-unsafe-temporary-files'. + Preserve backward compatibility. Extend test. + +2021-07-14 Lars Ingebrigtsen + + Fontify the signature separator in Message mode + + * lisp/gnus/message.el (message-signature-separator): New face + (bug#17757). + (message-font-lock-keywords): Add it to the signature, and ensure + that the trailing space isn't removed when hitting RET. + (message--match-signature): New helper function. + +2021-07-14 Lars Ingebrigtsen + + Clarify backward-delete-char-untabify doc string + + * lisp/simple.el (backward-delete-char-untabify): Mention the + effect of Transient Mark mode (bug#17263). + +2021-07-14 Lars Ingebrigtsen + + * etc/NEWS: Add back a missing apostrophe. + +2021-07-14 Lars Ingebrigtsen + + switch-to-buffer-other-frame doc string improvement + + * lisp/window.el (switch-to-buffer-other-frame): Document that we + don't always display the buffer in a different frame (bug#17719). + +2021-07-14 Lars Ingebrigtsen + + Fix hilit-chg highlighting of characters where text has been removed + + * lisp/hilit-chg.el (hilit-chg-set-face-on-change): Remove + highlighting from characters that are just highlighted because of + something that has been previously deleted (bug#17784). + +2021-07-14 Eli Zaretskii + + Fix deprecation warnings from libtiff + + * src/image.c (UINT32) [TIFFLIB_VERSION >= 20210416]: Define to + use stdint.h type for recent libtiff versions. Reported by Andy + Moreton . + +2021-07-14 Michael Albinus + + * etc/NEWS (insert-into-buffer'): Fix thinko. + +2021-07-14 Lars Ingebrigtsen + + Make `apropos-library' also work for libraries without symbols + + * lisp/apropos.el (apropos--preamble): Factor out (bug#17832)... + (apropos-print-doc): ... from here. + (apropos-library): Use it to display the apropos buffer even if it + has no symbols of its own. + +2021-07-14 Juri Linkov + + Revert e0619995594d1686afd0493391417d6f900d632c that added save-match-data. + + * lisp/isearch.el (isearch-filter-predicate): Mention precautions against + clobbering the match data in docstring (bug#49534). + +2021-07-14 Juri Linkov + + * lisp/isearch.el: Add save-match-data for funcall isearch-filter-predicate. + + * lisp/isearch.el (isearch-search): Add save-match-data before + funcall isearch-filter-predicate. + (isearch-lazy-highlight-search): Add save-match-data before + funcall isearch-filter-predicate. + (Bug#49534) + +2021-07-14 Lars Ingebrigtsen + + Add a better interactive spec to `facemenu-add-face' + + * lisp/facemenu.el (facemenu-add-face): Use `read-face-name' + (bug#18369) by copying over the interactive spec from + facemenu-set-face. + +2021-07-13 Lars Ingebrigtsen + + Make jka-compr-insert-file-contents slightly more efficient + + * lisp/jka-compr.el (jka-compr-insert-file-contents): Make more + efficient by using `insert-into-buffer'. + +2021-07-13 Lars Ingebrigtsen + + Add new function 'insert-into-buffer' + + * doc/lispref/text.texi (Insertion): Document it. + * lisp/subr.el (insert-into-buffer): New function. + +2021-07-13 Lars Ingebrigtsen + + Fall back on zlib-decompress-region if gzip doesn't exist + + * lisp/jka-cmpr-hook.el (jka-compr-info-uncompress-function): New + function (bug#18823). + (jka-compr-compression-info-list): Expand info with decompression + function. + + * lisp/jka-compr.el (jka-compr-insert-file-contents): Fall back on + internal decompression function if external doesn't exist. + +2021-07-13 Daniel Mart鱈n + + Fix dired-number-of-marked-files when there are no marked files + + * lisp/dired.el (dired-number-of-marked-files): Fix if expression so + that the else part is evaluated correctly. + +2021-07-13 Stefan Monnier + + * doc/lispref/modes.texi (Multiline Font Lock): Tweak last change + +2021-07-13 Lars Ingebrigtsen + + Allow not updating Customize settings in set-frame-font + + * lisp/frame.el (set-frame-font): Allow not updating the + Customization settings (bug#19298). + +2021-07-13 Lars Ingebrigtsen + + Document the syntax-multilne text property + + * doc/lispref/modes.texi (Multiline Font Lock): Document the + syntax-multiline text property (bug#20436). + +2021-07-13 Juri Linkov + + Support Isearch filter predicates with empty search hits (bug#49534) + + * lisp/isearch.el (isearch-search): Move (= (match-beginning 0) (match-end 0)) + and (bobp)/(eobp) outside the call to isearch-filter-predicate. + Use forward-char 1/-1 on empty matches only when going to retry search. + (isearch-lazy-highlight-search): Remove (= (point) bound), + but leave (= (match-beginning 0) (match-end 0)) since empty matches + make no sense in lazy-highlighting. + +2021-07-13 Lars Ingebrigtsen + + Make 'tex-validate-buffer' work again + + * lisp/textmodes/tex-mode.el (tex-validate-buffer): The *Occur* + buffer is read-only, so inhibit that before inserting things into + it (bug#19326). + +2021-07-13 Michael Albinus + + Add remote-file-name-inhibit-locks + + * doc/emacs/files.texi (Interlocking): + * doc/lispref/files.texi (File Locks): + * doc/misc/tramp.texi (Auto-save File Lock and Backup): + Add remote-file-name-inhibit-locks. + + * etc/NEWS: New user option 'remote-file-name-inhibit-locks'. + + * lisp/files.el (remote-file-name-inhibit-locks): New defcustom. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist): + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist): + * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): + * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist): + Use `tramp-handle-make-lock-file-name'. + + * lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): Fix docstring. + (tramp-handle-make-lock-file-name): New defun. + + * test/lisp/net/tramp-tests.el (tramp-test39-lock-file): Extend test. + +2021-07-13 Lars Ingebrigtsen + + Add new user option to avoid piling on Dired buffers + + * doc/emacs/dired.texi (Dired Visiting): Document it. + + * lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New + user option (bug#20598). + (dired-up-directory, dired-find-file): Use it. + (dired--find-possibly-alternative-file): New convenience command + to respect the user option. + +2021-07-13 Mattias Engdeg奪rd + + Block TLS handshake until TCP connection established + + If a TLS handshake is attempted before the completion of an + asynchronous TCP connection has been ascertained, our local state will + not be set up correctly for further progress and the sentinel "open" + event will never be sent. This can occur if sufficient time passes + after the initiation of an async TCP connection so that by the time + `wait_reading_process_output` is called, the connection has already + been established on the TCP level. + + This somewhat timing-sensitive bug has plagued HTTPS connections on + some platforms, notably macOS, for a long time (bug#49449). + + * src/process.c (wait_reading_process_output): Gate the TLS handshake + by the NON_BLOCKING_CONNECT_FD flag. The flag will be cleared as soon + as the TCP socket is found to be writable. + * test/src/process-tests.el (process-async-https-with-delay): + New test. + +2021-07-13 Ken Brown + + Fix portability issue with make-serial-process + + * src/sysdep.c (struct speed_struct): New struct. + (speeds): New static array of struct speed_struct. + (convert_speed): New static function to convert a numerical baud + rate (e.g., 9600) to a Bnnn constant defined in termios.h (e.g., + B9600). + (serial_configure): Use convert_speed to make the call to cfsetspeed + compliant with its advertised API. (Bug#49524) + +2021-07-13 Eli Zaretskii + + One more minor update of the Emacs manual for 19th printing + + * doc/emacs/back.texi: + * doc/emacs/book-spine.texi: + * doc/emacs/emacs.texi: Last round of minor copyedits for 19th ed. + +2021-07-12 Michael Albinus + + Fix a problem with tramp-*-process-file + + * lisp/net/tramp-adb.el (tramp-adb-handle-process-file): + * lisp/net/tramp-sh.el (tramp-sh-handle-process-file): + * lisp/net/tramp-smb.el (tramp-smb-handle-process-file): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file): + Use `(expand-file-name default-directory)'. + +2021-07-12 Paul Eggert + + Port test module to glibc 2.33 + + * test/Makefile.in (REPLACE_FREE, FREE_SOURCE_0, FREE_SOURCE_1): + New macros. + ($(test_module)): Improve accuracy of test as to whether free.c + should be compiled; glibc 2.33 does not need it compiled and the + compilation breaks if you try, if you build with + --enable-gcc-warnings. + +2021-07-12 Paul Eggert + + Pacify gcc 11.1.1 -Wclobbered + + * src/eval.c (Fprogn, internal_lisp_condition_case): + Add CACHEABLE to work around more instances of -Wclobbered bug. + +2021-07-12 Paul Eggert + + Pacify gcc 11.1.1 -Wanalyzer-possible-null-dereference + + * oldXMenu/Create.c (XMenuCreate): + * oldXMenu/Internal.c (_XMRecomputePane, _XMRecomputeSelection): + * oldXMenu/XMakeAssoc.c (XMakeAssoc): + * test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make): + Dont assume that malloc and calloc succeed. + +2021-07-12 Paul Eggert + + Pacify gcc 11.1.1 -Wanalyzer-null-argument + + * lib-src/etags.c (regexp): Omit member force_explicit_name, + since its always true. All uses removed. This lets us + remove calls to strlen (name) where GCC isnt smart enough + to deduce that name must be nonnull. + * lib-src/movemail.c (main): Fix bug that could cause + link (tempname, NULL) to be called. + * src/emacs.c (argmatch): Break check into two ifs, + since GCC doesnt seem to be smart enough to check the single if. + * src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp + could be given a NULL arg. + * src/xfont.c (xfont_list_family): Use nonnull value for dummy + initial value. + +2021-07-12 Paul Eggert + + Pacify gcc -Woverflow more nicely + + * src/alloc.c (mark_maybe_pointer): Simplify pacification + of gcc -Woverflow (unknown GCC version). + +2021-07-12 Juri Linkov + + * lisp/textmodes/enriched.el: Require 'facemenu' (bug#49466) + +2021-07-11 Eric Abrahamsen + + Further tweaks to gnus-search-query-expand-key + + * lisp/gnus/gnus-search.el (gnus-search-query-expand-key): It's + possible that KEY could be partially completed (ie no longer string= + to COMP), but not all the way. Use a more accurate test. Add + docstring. + +2021-07-11 Michael Albinus + + Use `auto-save-file-name-p' in tramp-*-write-region + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Use `auto-save-file-name-p'. + +2021-07-11 Eli Zaretskii + + Fix compilation of the --with-wide-int configuration + + * src/alloc.c (mark_maybe_pointer): Fix a recent change for + WIDE_EMACS_INT builds. (Bug#49261) + +2021-07-11 Paul Eggert + + Pacify GCC 11.1.1 20210531 (Red Hat 11.1.1-3) + + * src/image.c (xpm_load_image): + * src/xfns.c (x_icon): + Rework to pacify gcc -Wmaybe-uninitialized. + +2021-07-11 Paul Eggert + + Make pdumper-marking pickier + + Prevent some false-positives in conservative GC marking. + This doesnt fix any correctness bugs; its merely to + reclaim some memory instead of keeping it unnecessarily. + * src/alloc.c (mark_maybe_pointer): New arg SYMBOL_ONLY. + All callers changed. Check that the pointers tag, if any, + matches the pdumper-reported type. + +2021-07-11 Paul Eggert + + Fix pdumper-related GC bug + + * src/alloc.c (mark_maybe_pointer): Also mark pointers + to pdumper objects, even when the pointers are tagged. + Add a FIXME saying why this isnt enough. + +2021-07-11 Eric Abrahamsen + + Rewrite gnus-search-query-expand-key + + * lisp/gnus/gnus-search.el (gnus-search-query-expand-key): There was a + misunderstanding about how completion-all-completion works (if the + test string can't be completed, the whole table is returned). Simplify + to use try-completion. + * test/lisp/gnus/gnus-search-tests.el (gnus-s-expand-keyword): Ensure + that an unknown/uncompletable keyword is returned unmolested. + +2021-07-11 Eric Abrahamsen + + Rework gnus-search-indexed-parse-output + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more + careful about matching filesystem paths to Gnus group names; make + absolutely sure that we only return valid article numbers. + +2021-07-11 Matthew White + + * src/buffer.c (kill-buffer): Fix a typo. + + * src/buffer.c (Fkill_buffer): Fix typo in comment. + +2021-07-10 Filipp Gunbin + + doc/lispref/text.texi (Substitution): Add subst-char-in-string + + * doc/lispref/text.texi (Substitution): Document + subst-char-in-string (bug#49420). + +2021-07-10 Lars Ingebrigtsen + + Make package-menu-filter-by-status work as documented + + * lisp/emacs-lisp/package.el (package-menu-filter-by-status): Work + as documented (bug#49474). + +2021-07-09 Ken Brown + + Skip a process test on Cygwin to avoid hang + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-network-process): Skip + test on Cygwin to avoid hang due to connect/accept handshake. + (Bug#49496) + +2021-07-09 Stefan Monnier + + * lisp/facemenu.el: Preload the C-mouse-2 menu binding + +2021-07-09 Michael Albinus + + Further cleanup for file locks + + * doc/misc/tramp.texi (Top, Configuration): Adapt node name for + file locks. + (Auto-save File Lock and Backup): Rename node name and section + title. Add file-lock to @cindex. Describe file locks. + + * lisp/dired.el (dired-trivial-filenames): Add lock files. + (dired-font-lock-keywords): Move files suffixed with + `completion-ignored-extensions' up. Add lock files to these checks. + + * lisp/net/tramp.el (tramp-get-lock-file, tramp-handle-unlock-file): + Use `when-let' + (tramp-lock-file-info-regexp): Rename from + `tramp-lock-file-contents-regexp'. + (tramp-handle-file-locked-p, tramp-handle-lock-file): Adapt callees. + (tramp-handle-lock-file): Set file modes of lockname. + + * src/buffer.c (Frestore_buffer_modified_p): + * src/fileio.c (write_region): + * src/insdel.c (prepare_to_modify_buffer_1): Call Flock_file. + + * src/filelock.c (Qmake_lock_file_name): Declare symbol. + (make_lock_file_name): Use it. Don't check Fboundp, it doesn't + work for interned symbols. + (lock_file): Return a Lisp_Object. Don't check create_lockfiles. + Remove MSDOS version of the function. + (Flock_file): Check create_lockfiles. + (Flock_buffer): Call Flock_file. + + * src/lisp.h (lock_file): Remove. + + * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo) + (shadow-test09-shadow-copy-files): Let-bind `create-lockfiles'. + + * test/lisp/net/tramp-tests.el (create-lockfiles): Don't set it + globally. + (tramp-test39-lock-file): Check also for `set-visited-file-name'. + +2021-07-09 Eli Zaretskii + + Partially restore the lost C-mouse-2 drop-down menu + + This allows to pop up the Text Properties menu once facemenu is + loaded. It still doesn't allow C-mouse-2 clicks without manually + loading facemenu; FIXME. + * lisp/facemenu.el (global-map) : Add back the + removed binding. (Bug#49466) + +2021-07-09 Stefan Monnier + + * lisp/outline.el (outline-mode-cycle-map): Don't bind `tab`. + + Since it would take precedence over bindings for TAB in higher + precedence maps. + +2021-07-08 Michael Albinus + + * doc/lispref/files.texi (Magic File Names): Add make-lock-file-name. + +2021-07-08 Michael Albinus + + Code cleanup wrt file locks + + * lisp/files.el (make-lock-file-name): Fix docstring. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist): + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist): + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist): + * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): + * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist): + Add `make-lock-file-name'. + + * lisp/net/tramp.el (tramp-file-name-for-operation): + Add `make-lock-file-name'. + (tramp-handle-unlock-file): Call `userlock--handle-unlock-error' + in case of error. + + * src/buffer.c (Frestore_buffer_modified_p): + * src/editfns.c (Freplace_buffer_contents): + * src/fileio.c (Finsert_file_contents, write_region): Call Funlock_file. + + * src/filelock.c (unlock_file): Rename from unlock_file_body. + Remove the other declarations of unlock_file. Move file name + handler check to ... + (Funlock_file): ... here. Adapt argument numbers. Call + unlock_file wrapped by internal_condition_case. + (Flock_file): Adapt argument numbers. + (unlock_all_files, Funlock_buffer, unlock_buffer): Call Funlock_file. + + * src/lisp.h (unlock_file): Remove. + +2021-07-08 Juri Linkov + + Don't turn mouse-1 into mouse-2 when clicking on the tab-line (bug#49247) + + * lisp/tab-line.el (tab-line-tab-name-format-default): For 'tab-line-tab-map' + add the property 'follow-link' with the value 'ignore'. + +2021-07-08 pillule + + Use display-buffer with re-builder (bug#49069) + + * lisp/emacs-lisp/re-builder.el (re-builder): Uses 'display-buffer' + with 'display-buffer-in-direction' to display the reb-buffer. This + allow user-customizations and using it on not splitables windows. + Add a dedication to its window so killing this buffer quit the window. + +2021-07-08 Lars Ingebrigtsen + + Make desktop-kill more robust + + * lisp/desktop.el (desktop-kill): Allow exiting Emacs even if we + can't delete the desktop file (bug#20762). + +2021-07-08 Lars Ingebrigtsen + + Allow inhibiting inserting #! in sh-set-shell + + * lisp/progmodes/sh-script.el (sh-set-shell): Allow inhibiting + inserting the #! line (bug#20959). + +2021-07-08 Lars Ingebrigtsen + + Avoid making backup files in ediff when `make-backup-files' is nil + + * lisp/vc/ediff-util.el (ediff-arrange-autosave-in-merge-jobs): + Don't make backup files when `make-backup-files' is nil (bug#21599). + +2021-07-08 Lars Ingebrigtsen + + Make ido-mode override ffap-file-finder + + * lisp/ffap.el: Autoload so that we can override in ido (bug#21980). + + * lisp/ido.el (ido-everywhere): Override ffap-file-finder. + +2021-07-08 Michael Albinus + + Some further adaptions wrt Tramp file name locks + + * lisp/files.el (files--transform-file-name): Rename from + `auto-save--transform-file-name'. Wrap with `save-match-data'. + (make-auto-save-file-name): Use it. + (make-lock-file-name): Use it. Call file name handler. + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + Suppress file lock for temporary file. + + * lisp/net/tramp-compat.el (tramp-compat-make-lock-file-name): + New defalias. + + * lisp/net/tramp.el (tramp-get-lock-file) + (tramp-handle-lock-file, tramp-handle-unlock-file): Use it. + (tramp-make-lock-name): Remove. + + * test/lisp/filenotify-tests.el (file-notify-test03-events-remote): + Tag it :unstable temporarily. + +2021-07-08 Lars Ingebrigtsen + + Exclude term-mode from hi-lock global modes + + * lisp/hi-lock.el (hi-lock-exclude-modes): Exclude term-mode so + that `C-x' works in terminal buffers (bug#22620). + +2021-07-08 Lars Ingebrigtsen + + Fix font-lock of Makefile variables at the start of lines + + * lisp/progmodes/make-mode.el (makefile-var-use-regex): Match + variables at the beginning of lines correctly (bug#23266). Change + suggested by Anders Lindgren . + +2021-07-08 N. Jackson + + Mention what happens with timers when the computer is asleep + + * doc/lispref/os.texi (Timers): Explain what happens if the + computer is a asleep when the timer is scheduled (bug#23929). + +2021-07-07 Lars Ingebrigtsen + + Make make_lock_file_name more robust + + * src/filelock.c (make_lock_file_name): Protect against the + make-lock-file-name not being defined. + (lock_file, unlock_file_body, Ffile_locked_p): Return early if not + defined. + +2021-07-07 Eli Zaretskii + + * lisp/faces.el: Fix a typo. + +2021-07-07 Eli Zaretskii + + Fix last change + + * lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face): + Define for monochrome displays. + +2021-07-07 Lars Ingebrigtsen + + Add new user option lock-file-name-transforms + + * doc/emacs/files.texi (Interlocking): Mention + lock-file-name-transforms. + + * doc/lispref/files.texi (File Locks): Document + lock-file-name-transforms. + + * doc/misc/efaq.texi (Not writing files to the current directory): + Mention all the three variables needed to not having Emacs writing + files to the current directory in one place. + + * lisp/files.el (lock-file-name-transforms): New user option (bug#49261). + (make-auto-save-file-name): Factor out the main logic... + (auto-save--transform-file-name): ... to this new function. + (make-lock-file-name): New function that also calls the + factored-out function. + + * src/filelock.c: Remove MAKE_LOCK_NAME and fill_in_lock_file_name. + (make_lock_file_name): New utility function that calls out to Lisp + to heed `lock-file-name-transforms'. + (lock_file): Use it. Also remove likely buggy call to + dostounix_filename. + (unlock_file_body, Ffile_locked_p): Also use make_lock_file_name. + +2021-07-07 Eli Zaretskii + + Fix tty menus on monochrome displays + + * lisp/faces.el (tty-menu-selected-face): Make sure the selected + menu item stands out even without colors. + +2021-07-07 Michael Albinus + + Implement file locks for remote files (Bug#49261) + + * doc/lispref/files.texi (Magic File Names): Add file-locked-p, + lock-file and unlock-file. + + * etc/NEWS: Tramp supports file locks now. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-adb-handle-write-region): Handle LOCKNAME. + + * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-crypt-handle-file-locked-p, tramp-crypt-handle-lock-file) + (tramp-crypt-handle-unlock-file): New defun. + + * lisp/net/tramp-fuse.el (tramp-fuse-mounted-p): Simplify. + (tramp-fuse-unmount): New defun. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-gvfs-maybe-open-connection): Set "lock-pid" connection property. + + * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-rclone-maybe-open-connection): Set "lock-pid" connection property. + + * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-sh-handle-write-region): Handle LOCKNAME. + + * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-smb-handle-copy-directory): Use `sleep-for'. + (tramp-smb-handle-write-region): Handle LOCKNAME. + + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-sshfs-handle-write-region): Handle LOCKNAME. + (tramp-sshfs-maybe-open-connection): Set "lock-pid" connection property. + + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-sudoedit-maybe-open-connection): + Set "lock-pid" connection property. + + * lisp/net/tramp.el (tramp-file-name-for-operation): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-make-lock-name, tramp-get-lock-file, tramp-get-lock-pid) + (tramp-handle-file-locked-p, tramp-handle-lock-file) + (tramp-handle-unlock-file): New defuns. + (tramp-lock-file-contents-regexp): New regexp. + (tramp-handle-write-region): Handle LOCKNAME. + + * src/filelock.c (lock_file, unlock_file_body, Ffile_locked_p): + Call handler if exists. + (Flock_file, Funlock_file): New defuns. + (Qlock_file, Qunlock_file, Qfile_locked_p): Declare symbols. + (Slock_file, Sunlock_file): Declare subroutines. + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test40-make-nearby-temp-file) + (tramp-archive-test43-file-system-info): Rename. + + * test/lisp/net/tramp-tests.el (top): Set `create-lockfiles' to nil. + (tramp--test-fuse-p): New defun. + (tramp-test14-delete-directory): Use it. + (tramp-test39-lock-file): New test. + (tramp-test40-make-nearby-temp-file) + (tramp-test41-special-characters) + (tramp-test41-special-characters-with-stat) + (tramp-test41-special-characters-with-perl) + (tramp-test41-special-characters-with-ls, tramp-test42-utf8) + (tramp-test42-utf8-with-stat, tramp-test42-utf8-with-perl) + (tramp-test42-utf8-with-ls, tramp-test43-file-system-info) + (tramp-test44-asynchronous-requests, tramp-test45-auto-load) + (tramp-test45-delay-load, tramp-test45-recursive-load) + (tramp-test45-remote-load-path, tramp-test46-unload): Rename. + (tramp--test-special-characters, tramp--test-utf8) + (tramp--test-asynchronous-requests-timeout): Modify docstring. + +2021-07-07 Glenn Morris + + Merge from origin/emacs-27 + + fbf1cb2bf2 (origin/emacs-27) Fix overfull hbox in Emacs manual + fda60094a2 Minor copyedits of Emacs manual + + # Conflicts: + # doc/emacs/display.texi + +2021-07-06 Lars Ingebrigtsen + + Make previous empty-body warning disabling more robust + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): + `byte-compile-warning-enabled-p' may not be defined here. + +2021-07-06 Basil L. Contovounesios + + Avoid invalid regexp in wide docstring check + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + Avoid constructing an invalid regexp during byte-compilation by + limiting the number of columns to the current RE_DUP_MAX of 65535. + This protects against pathological values of fill-column, for + example (bug#49426). + +2021-07-06 Juri Linkov + + * lisp/repeat.el (describe-repeat-maps): Rename from `describe-repeat'. + + Fix text strings (bug#49265). + +2021-07-06 Lars Ingebrigtsen + + Make `M-x clipboard-yank' work reliably + + * lisp/menu-bar.el (clipboard-yank): Make the command work + consistently (bug#27442). + + * lisp/select.el (gui-selection-value): Try to explain why the + logic is the way it is. + +2021-07-06 Lars Ingebrigtsen + + Explain what ( . c) means to the Emacs Lisp reader + + * doc/lispref/objects.texi (Dotted Pair Notation): Explain what + ( . c) means to the Lisp reader (bug#24875). + +2021-07-06 Eli Zaretskii + + Fix right-margin display on TTY frames + + * src/dispnew.c (prepare_desired_row, adjust_glyph_matrix): Adjust + the glyph pointer of the right-margin area for all windows but the + rightmost ones on TTY frames, to account for the border glyph. + (Bug#48257) + +2021-07-06 Lars Ingebrigtsen + + Warn when wrapping index matches with `,' after `i' in Info + + * lisp/info.el (Info--current-index-alternative): New internal + variable. + (Info-warn-on-index-alternatives-wrap): New user option (bug#24282). + (Info-index-next): Use the new user option. + +2021-07-06 Protesilaos Stavrou + + Add faces for shr heading elements (bug#49433) + + * etc/NEWS: Document new faces. + * lisp/net/shr.el (shr-h1, shr-h2, shr-h3, shr-h4, shr-h5, shr-h6): + Define new faces. + (shr-tag-h1): Remove inclusion of 'variable-pitch' face. Fix + bug#49433 by applying a new face directly. + (shr-tag-h2, shr-tag-h3, shr-tag-h4, shr-tag-h5, shr-tag-h6): Apply + new faces. + +2021-07-06 Lars Ingebrigtsen + + Make gnus-gcc-externalize-attachments work again + + * lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Allow externalizing + parts again by defeating the cache (bug#49436). + +2021-07-06 Lars Ingebrigtsen + + Allow inhibiting warnings about unused variables and empty bodies + + * lisp/emacs-lisp/cconv.el (cconv--warn-unused-msg): Allow + inhibiting warnings about unbound variables (bug#26486). + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Allow + inhibiting warnings about empty bodies. + +2021-07-06 Lars Ingebrigtsen + + Allow using `mm-inline-message' from other mail clients than Gnus + + * lisp/gnus/mm-view.el (mm-inline-message-prepare-function): New + variable (bug#49380). + (mm-inline-message): Use it to separate out the Gnus-specific code. + * lisp/gnus/gnus-art.el (gnus-mime-display-single): ... which has + been moved here. + +2021-07-06 Eli Zaretskii + + Fix overfull hbox in Emacs manual + + * doc/emacs/display.texi (Displaying Boundaries): Fix overfull + hbox. + +2021-07-06 Eli Zaretskii + + Minor copyedits of Emacs manual + + * doc/emacs/book-spine.texi: Fix the author attribution. + (Bug#49405) + * doc/emacs/back.texi: Update text. + +2021-07-06 Philip Kaludercic + + Add query command removed in 4ff1f66b12 + + * rcirc.el (query): Readd accidentally removed command + +2021-07-06 Philip Kaludercic + + Fix issues with argument parsing in rcirc-define-command + + * rcirc.el (rcirc-define-command): Fix issues + +2021-07-06 Dmitry Gutov + + (xref--insert-xrefs): Fix printing of line numbers + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Fix printing of line numbers when we have multiple files with + (e.g.) single match on the same line. + +2021-07-05 Stephen Leake + + * lisp/progmodes/bug-reference.el: Refer to info manual node + +2021-07-05 Lars Ingebrigtsen + + Support reverting in Customize buffers + + * lisp/cus-edit.el (custom--revert-buffer): New function (bug#26871). + (Custom-mode): Set up reversion. + (custom--invocation-options): New variable. + (custom-buffer-create-internal): Set it. + +2021-07-05 Lars Ingebrigtsen + + Count zero-length matches in `count-matches' correctly + + * lisp/replace.el (how-many): Count zero-length matches correctly + (bug#27359). + +2021-07-05 Lars Ingebrigtsen + + Propagate :safe properties when autoloading defcustoms + + * lisp/emacs-lisp/autoload.el (make-autoload): Propagate the :safe + property to the loaddefs file (bug#28104). + +2021-07-05 Lars Ingebrigtsen + + Make `bookmark--unfontify' more robust + + * lisp/bookmark.el (bookmark--unfontify): Don't bug out if there's + no fontification recorded (bug#49341). + +2021-07-05 Lars Ingebrigtsen + + `image-save' doc string clarification + + * lisp/image.el (image-save): Clarify what's being saved + (bug#49347). + +2021-07-05 Michael Albinus + + Don't use LOCKNAME for temp files in Tramp (Bug#49406) + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Don't use LOCKNAME for temp file. (Bug#49406) + + * test/lisp/shadowfile-tests.el (password-cache-expiry): + Set `shadow-debug' also on emba. + +2021-07-05 Martin Rudalics + + Show hand cursor when dragging frame (Bug#49247) + + * src/xdisp.c (note_mode_line_or_margin_highlight): Show hand + cursor when dragging frame with mode, tab or header line. + (syms_of_xdisp): Define Qdrag_with_mode_line, + Qdrag_with_header_line and Qdrag_with_tab_line. + +2021-07-05 Michael Albinus + + Fix newly introduced error in tramp-tests.el (Bug#49406) + + * test/lisp/net/tramp-tests.el (tramp--test-check-files): + Filter out empty strings. (Bug#49406) + +2021-07-04 Lars Ingebrigtsen + + Ignore .dir-locals-2.el files more + + * lisp/emacs-lisp/shadow.el (load-path-shadows-find): + * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Ignore + .dir-locals-2.el, too (bug#23257). + +2021-07-04 Jim Porter + + Ensure 'call-process' interprets INFILE as a local path + + * src/callproc.c (get_current_directory): Rename from + 'encode_current_directory' and add boolean ENCODE flag. + (Fcall_process): Interpret INFILE relative to the working directory + from which PROGRAM is run, not 'default-directory'. + (call_process): Use 'get_current_directory'. + * src/process.c (Fmake_process): Use 'get_current_directory'. + * src/process.h (get_current_directory): Rename decl from + 'encode_current_directory'. + * src/sysdep.c (sys_subshell): Use 'get_current_directory' (bug#49283). + +2021-07-04 Lars Ingebrigtsen + + Adjust eshell and ps-print to not use emacs-kill-hook + + * lisp/ps-print.el (ps-kill-emacs-check): + + * lisp/eshell/em-dirs.el (eshell-dirs-initialize) + (eshell-save-some-last-dir): Don't use `emacs-kill-hook' (bug#28943). + + * lisp/eshell/em-hist.el (eshell-hist-initialize) + (eshell-save-some-history): + +2021-07-04 Eli Zaretskii + + * lisp/url/url-util.el (url-unhex-string): Doc fix. + +2021-07-04 Eli Zaretskii + + Avoid deprecation warnings with Texinfo 6.8 + + * doc/lispref/functions.texi (Function Safety): + * doc/misc/srecode.texi (Parts of SRecode): + * doc/misc/wisent.texi (Wisent Semantic, Wisent Lex): + * doc/misc/pcl-cvs.texi (Editing files): + * doc/misc/bovine.texi (top, Starting Rules) + (Bovine Grammar Rules, How Lexical Tokens Match) + (Optional Lambda Expression): + * doc/emacs/msdos.texi (Windows Keyboard): + * doc/emacs/buffers.texi (Several Buffers): + * doc/emacs/text.texi (Text): Avoid using @inforef, which is + deprecated. + +2021-07-04 Alan Third + + Fix crash in GNUstep font coverage check + + * src/nsfont.m (ns_charset_covers): Check coverage more accurately and + don't automatically assume the buffer is 8192 bytes long. + +2021-07-04 Alan Third + + Remove unused variables + + * src/nsterm.m ([EmacsView keyDown:]): Remove ns_fake_keydown as + there's no code that ever sets it to YES. + +2021-07-04 Alan Third + + Fix thread memory management under NS + + * src/thread.c (run_thread): Allocate an autorelease pool so that any + autoreleased Objective C objects are correctly released. + +2021-07-04 Amin Bandali + + Update a few more IRC-related references to point to Libera.Chat + +2021-07-04 Amin Bandali + + Merge from origin/emacs-27 + + 348b2aed0c Update IRC-related references to point to Libera.Chat + b0e725e2fe Fix typo in c-macro-expand docstring + + # Conflicts: + # doc/misc/erc.texi + # doc/misc/gnus-faq.texi + # doc/misc/rcirc.texi + # etc/NEWS + # lisp/erc/erc-services.el + # lisp/erc/erc.el + # lisp/ldefs-boot.el + # lisp/net/rcirc.el + +2021-07-04 Amin Bandali + + Merge from origin/emacs-27 + + d898d3c73a ; * doc/emacs/back.texi: Fix a typo. + de52dbd4ad Update doc/emacs/ for a new printing of the Emacs Manual book + +2021-07-04 Amin Bandali + + Update IRC-related references to point to Libera.Chat + + Per GNU and FSF's announcements [0, 1] of moving official IRC channels + to the Libera.Chat IRC network, as well as several Emacs-related + channels following suit [2], update IRC-related references to reflect + the migration. + + [0]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00005.html + [1]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00007.html + [2]: https://lists.gnu.org/archive/html/info-gnu-emacs/2021-06/msg00000.html + +2021-07-04 Dmitry Gutov + + Speed up fido-mode + + * lisp/icomplete.el (icomplete-completions): Speed up fido-mode (bug#48841). + +2021-07-03 Daniel Mart鱈n + + Fix typo in c-macro-expand docstring + + * lisp/progmodes/cmacexp.el (c-macro-expand): Fix typo. (Bug#49356) + +2021-07-03 Christopher League + + Retain documentation string when customizing theme + + * lisp/cus-theme.el (customize-create-theme): When editing an existing + theme, load its doc string into the description widget, instead of + replacing it with a date stamp (Bug#49274). + +2021-07-02 Philip Kaludercic + + * rcirc.el (rcirc-define-command): Mention name of malformed command + + Author: + +2021-07-02 Lars Ingebrigtsen + + Don't have desktop-save-mode query on `M-x kill-emacs' + + * lisp/desktop.el (noninteractive): Prompting functions should not + be added to `kill-emacs-hook' (bug#28943). + (desktop-kill): Return t so that it can be used from + `kill-emacs-query-functions'. + +2021-07-02 Michael Albinus + + Implement another fix for bug#49229 + + * lisp/minibuffer.el (read-file-name-default): Respect remote files. + (Bug#49229) + + * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): + Handle special file names on MS Windows. + + * lisp/net/tramp.el (tramp-file-name-handler): Revert patch. + (Bug#49229) + +2021-07-02 Peter Oliver + + Hide emacs-mail.desktop, emacsclient-mail.desktop from menus + + These are intended for use as mailto: URL handlers, not for launching + directly, so we can reduce clutter by hiding them from a desktop + environments menus. + + * etc/emacs-mail.desktop, etc/emacsclient-mail.desktop: NoDisplay=true + +2021-07-02 Peter Oliver + + Install emacs-mail.desktop and emacsclient-mail.desktop + + * Makefile.in (install-etc): Install emacs-mail.desktop and + emacsclient-mail.desktop + +2021-07-02 Peter Oliver + + Provide an emacsclient-mail.desktop + + We provide both an emacs.desktop and an emacsclient.desktop, so for + consistency lets do the same with mail. + + * etc/emacs-mail.desktop: Extract suggestions for using emacsclient + from comments to create emacsclient-mail.desktop. + * etc/emacsclient-mail.desktop: Send mail using an existing Emacs + rather than starting a new one. + +2021-07-02 Tino Calancha + + lisp/auth-source-pass.el: Keep legitimate spaces inside data + + Users should be able to store a field as follows: + message: remember: Destroy the image and you will break the enemy + + and later, recover the message untouched, i.e.: + "remember: Destroy the image and you will break the enemy" + + * lisp/auth-source-pass.el (auth-source-pass--parse-data): Preserve + inner spaces at data. + * test/lisp/auth-source-pass-tests.el + (auth-source-pass-parse-with-colons-in-data): Add test. + +2021-07-02 Iku Iwasa + + lisp/auth-source-pass.el: Support multiple hosts in search spec + + * lisp/auth-source-pass.el (auth-source-pass-search): Accept a list of + strings for argument HOST. + (auth-source-pass--build-result): Rename argument HOST to HOSTS. Also + return value "host" from entry if it exists. + (auth-source-pass--find-match): Rename argument HOST to HOSTS. Iterate + over each host in HOSTS. + * test/lisp/auth-source-pass-tests.el: Add corresponding tests + +2021-07-02 Jim Porter + + Don't pass 'null-device' to 'call-process' in ispell + + * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries): + Replace 'null-device' with nil (bug#49283). This allows running a + local ispell process when editing a buffer editing a file via Tramp. + +2021-07-02 Martin Rudalics + + New frame parameter 'drag-with-tab-line' (Bug#49247) + + The new frame parameter 'drag-with-tab-line' allows to move + frames by dragging their topmost windows' tab line with the + mouse thus achieving a behavior similar to that provided by + the 'drag-with-header-line' parameter. + + * lisp/mouse.el (mouse-drag-tab-line): New function. + (mouse-drag-frame-resize, mouse-drag-frame-move) + ([tab-line down-mouse-1]): Handle tab line dragging in various + keymaps. + * doc/lispref/frames.texi (Mouse Dragging Parameters): Describe + new parameter 'drag-with-tab-line'. + * etc/NEWS: Add entry for 'drag-with-tab-line'. + +2021-07-02 Michael Albinus + + Fix a problem of cus-start.el for remote default directories + + * lisp/cus-start.el: Bind `default-directory' to "/" when calling + `shell-command-to-string' for a local value on DARWIN. + +2021-07-01 Alan Third + + Fix NS self contained eln location (bug#49271) + + * Makefile.in: + * configure.ac: Change eln file install location to + Contents/Frameworks. + * src/comp.c (hash_native_abi): Replace dots with underscores in the + eln install location as the macOS code-signing tool won't sign the + files if the parent directories have dots. + +2021-07-01 Alan Third + + Fix NS native comp search path (bug#49270) + + * configure.ac (NS_SELF_CONTAINED): We need to make lispdirrel the + same as lispdir when building a self contained app bundle as they're + both relative paths. + +2021-07-01 Jonas Bernoulli + + * lisp/transient.el: Update to package version 0.3.6. + +2021-07-01 Mattias Engdeg奪rd + + Update describe-prefix-binding manual text + + * doc/emacs/help.texi (Misc Help): `ESC ?` isn't unbound any more. + +2021-07-01 Michael Albinus + + Handle test environment variables + + * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): + Check also for EMACS_EMBA_CI. + + * test/README (SELECTOR): Mention EMACS_TEST_VERBOSE. + + * test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_VERBOSE. + +2021-07-01 Peter Oliver + + Fix copy/paste error in emacsclient.desktop + + * etc/emacsclient.desktop: new-instance should read new-window. + +2021-07-01 Eli Zaretskii + + Update doc/emacs/ for a new printing of the Emacs Manual book + + * doc/emacs/book-spine.texi: New file: the printed book spine. + * doc/emacs/back.texi: New file: the backcover text for the + printed book. + * doc/emacs/emacs.texi: Update ISBN. + +2021-07-01 Michael Albinus + + Doc cleanup + + * doc/lispref/files.texi (File Locks, Changing Files) + (File Name Components, File Name Expansion, Magic File Names): + * lisp/files.el (locate-dominating-stop-dir-regexp) + (auto-mode-alist, set-auto-mode, file-name-with-extension) + (backup-directory-alist, wildcard-to-regexp) + (save-buffers-kill-terminal): Doc fixes. + + * etc/NEWS: Fix typos. + +2021-06-30 Jonas Bernoulli + + In files that use allout use it for all headings + + * lisp/allout.el: Don't prefix regular comments with three + semicolons. + * lisp/icomplete.el: Use allout syntax for all headings. + * lisp/net/eudc.el: Use allout syntax for all headings. + +2021-06-30 Jonas Bernoulli + + * lisp/comint.el: Prefix headings with enough semicolons. + + Outline headings must begin with three or more semicolons. + +2021-06-30 Jonas Bernoulli + + Improve consistency of outline headings in dired libraries + + * lisp/dired-aux.el: Improve consistency of outline headings. + * lisp/dired-x.el: Improve consistency of outline headings. + * lisp/dired.el: Improve consistency of outline headings. + + - Use three semicolons at beginning of headings because that already + is the dominant number of semicolons for headings in these files. + - Prefix each heading with a ^L instead of randomly omitting it in + front of some. + - Always prefix the line with the ^L with a completely empty line. + - Begin headings with a capital letter. + - Do not update complete headings. + - Do not end headings with a period. + - Remove a handful of section end markers. + - Address further inconsistencies. + +2021-06-30 Jonas Bernoulli + + Cleanup whitespace and comments in dired libraries + + * lisp/dired-aux.el: Cleanup whitespace and comments. + * lisp/dired-x.el: Cleanup whitespace and comments. + * lisp/dired.el: Cleanup whitespace and comments. + +2021-06-30 Jonas Bernoulli + + Add new function lm-maintainers (bug#48592) + + * doc/lispref/tips.texi (Library Headers): Improve wording. + * lisp/emacs-lisp/lisp-mnt.el (lm-maintainers): New function. + (lm-maintainer): Make obsolete in favor of lm-maintainer. + (lm-verify): Use lm-maintainers. + (lm-report-bug): Use lm-maintainers. + +2021-06-30 Jonas Bernoulli + + * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Right-trim name. + + The addresses might be aligned in which case we have to trim the + extra whitespace at the end of the names. + +2021-06-30 Jo達o T叩vora + + Adjust docstring of lisp-mode (bug#49278) + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Mention that this mode is + primarily for Common Lisp. + +2021-06-30 Lars Ingebrigtsen + + Add new user option to transform kill ring contents + + * doc/emacs/killing.texi (Kill Options): Document it. + * lisp/simple.el (kill-new): Use it. + (kill-transform-function): New user option (bug#29013). + +2021-06-30 Lars Ingebrigtsen + + Make the minor mode doc strings say that they're minor modes + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): + Mention that this is a minor mode (bug#20462). + +2021-06-30 Peter Oliver + + From .desktop files, reuse a frame or start a new Emacs as required + + * doc/emacs/misc.texi: (Using Emacs as a Server) Explain + emacsclient.desktop. + * etc/NEWS: (Emacs Server): Explain emacsclient.desktop. + * emacs-mail.desktop, etc/emacsclient.desktop: Automatically try to + reuse an existing frame, open a new frame, or start a new Emacs + daemon. Add actions for specific behaviours (bug#49195). + +2021-06-30 Peter Oliver + + Revert more of a partially reverted emacsclient.desktop patch + + * etc/emacsclient.desktop: Undo setting of StartupWMClass=Emacsd, since + this relies on a change to etc/emacs.service which was also undone. See + bug#37847 for more explanation (bug#49259). + +2021-06-30 Lars Ingebrigtsen + + Fix problem when creating an .authinfo entry with an existing machine name + + * lisp/auth-source.el (auth-source-netrc-create): Don't return the + incorrect data if there's a matching host entry but the wrong user + name (bug#49289). + +2021-06-30 Colin Woodbury + + Add new function file-name-with-extension + + * doc/lispref/files.texi (File Name Components): Document it. + * lisp/emacs-lisp/shortdoc.el (file-name): Ditto. + + * lisp/files.el (file-name-with-extension): New function. + +2021-06-29 Alan Third + + Fix NS port built with gcc + + * src/nsterm.m (ns_relocate): The NSArray shorthand notation doesn't + work in GCC. + +2021-06-29 Juri Linkov + + * lisp/repeat.el (describe-repeat): New command (bug#49265). + +2021-06-29 Michael Albinus + + Sync with Tramp 2.5.1 + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.1". + + * lisp/tramp.el (tramp-handle-write-region): + * lisp/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/tramp-sh.el (tramp-sh-handle-write-region): Call local + `write-region' directly. + + * test/lisp/net/tramp-tests.el (tramp--test-utf8): Adapt test for + MS Windows. + +2021-06-29 Alex McGrath + + Fix SASL joining channels after auth + + Send CAP END after authentication has been successful + +2021-06-29 Martin Rudalics + + In read_minibuf_unwind don't try to select dead window (Bug#49248) + + * src/minibuf.c (read_minibuf_unwind): Don't try to select dead + window (Bug#49248). + +2021-06-28 Alex McGrath + + Fix SASL on rcirc-update + +2021-06-28 Glenn Morris + + Merge from origin/emacs-27 + + ef5f3d5ee7 (origin/emacs-27) C++ Mode: Handle new keywords static_cas... + +2021-06-28 Reuben Thomas + + * lisp/textmodes/ispell.el: Fix finding dictionaries for Enchant. + + (ispell-find-enchant-dictionaries): + + I originally copied this code from the equivalent code for + Aspell. Unfortunately it was wrong for the case of Enchant: it should + find only dictionaries that Enchant knows about, and not merge in + `ispell-dictionary-base-alist' or add a default element, as these + are dealt with in `ispell-set-spellchecker-params'. + + This caused a bug where the correct `-d' argument would not be added + to the invocation of enchant, leading to the process not being + correctly started. + +2021-06-28 Reuben Thomas + + * lisp/textmodes/ispell.el: Check process is live before interacting. + + Check that `ispell-process' is live before trying to read from or + write to it. This avoids a hang if the process has died. + +2021-06-28 Michael Albinus + + Fix bug#49229 in shell.el + + * lisp/shell.el (shell): Ensure, that a remote shell is remote. + (Bug#49229) + +2021-06-28 Stefan Monnier + + * lisp/files.el (hack-one-local-variable): Allow `add-function` in `eval:` + + (Bug#49163) + +2021-06-27 Stefan Monnier + + * lisp/textmodes/flyspell.el: Fix bug#49104 + + (flyspell--prev-meta-tab-binding): Delete var. + (flyspell-prog-mode): Don't set it. + (flyspell-auto-correct-word): Lookup the "next" command dynamically. + +2021-06-27 Alan Mackenzie + + C++ Mode: Handle new keywords static_cast, etc., wrt angle brackets + + * lisp/progmodes/cc-langs.el (c-<>-arglist-kwds): Add const_cast, + dynamic_cast, reinterpret_cast and static_cast into this lang const. + + * lisp/progmodes/cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props) + (c-clear-<-pair-props-if-match-after, c-clear->-pair-props-if-match-before) + (c-forward-<>-arglist-recur): + Invalidate caches with c-trunctate-lit-pos-cache. + (c-forward-<>-arglist-recur): If in a matching <...> expression, the < has a + syntax-table property, but the > not, remove that property. + +2021-06-26 Stefan Monnier + + * lisp/minibuffer.el (completion-in-region--single-word): Simplify + + Remove redundant args `collection` and `predicate` which were always + equal to `minibuffer-completion-table` and + `minibuffer-completion-predicate` anyway. + + (minibuffer-complete-word): + * lisp/emacs-lisp/crm.el (crm-complete-word): Simplify accordingly. + +2021-06-26 Stefan Monnier + + * lisp/minibuffer.el (minibuffer--completion-prompt-end): Rename + +2021-06-26 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el: Fix test regression + + (cl--alist-to-plist): New function. + (cl-struct-slot-info): Use it. + +2021-06-26 Michael Albinus + + Fix Tramp bug#49229 + + * lisp/net/tramp.el (tramp-file-name-handler): Drop possible + volume letter when `expand-file-name' is called with a local + absolute file name as first argument. (Bug#49229) + +2021-06-26 Stefan Monnier + + * lisp/minibuffer.el (completion--prompt-end): New function (bug#30668) + + (minibuffer-complete, minibuffer-force-complete-and-exit) + (minibuffer-force-complete, minibuffer-complete-and-exit) + (minibuffer-complete-word, minibuffer-completion-help): Use it. + +2021-06-26 Alan Third + + Fix NS self-contained build configuration + + * configure.ac: When rebuilding epaths.h for NS check that we're + actually doing an NS build first. + +2021-06-26 Alan Third + + Fix NS native compilation builds + + * Makefile.in (ns_applibexecdir): + (ns_applibdir): + (ns_appdir): New variables. + (.PHONY): Include new rule. + (epaths-force-ns-self-contained): Remove the app bundle directory from + all paths. + * configure.ac (NS_SELF_CONTAINED): Set the default site-lisp + directory instead of hard-coding it in the ObjC code, and use the new + epaths generating make rule. + * src/callproc.c (init_callproc_1): + (init_callproc): Remove all the NS specific code as the special cases + are now handled by decode_env_path. + * src/emacs.c (load_pdump): + (decode_env_path): Use ns_relocate to find the correct directory after + relocation. + * src/lread.c (load_path_default): Remove all the NS specific code as + the special cases are now handled by decode_env_path. + * src/nsterm.h: Update function definitions. + * src/nsterm.m (ns_etc_directory): + (ns_exec_path): + (ns_load_path): Remove functions that are no longer needed. + (ns_relocate): New function to calculate paths within the NS app + bundle. + * nextstep/Makefile.in (ns_applibexecdir): New variable, and update + anything relying on the libexec location. + +2021-06-26 Eric Abrahamsen + + Small improvements to handling of IMAP mark search + + * lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): Use a + KEYWORD search for any mark starting with a "$", so + "mark:$hasattachment" goes through as "KEYWORD $hasattachment". + +2021-06-25 Mattias Engdeg奪rd + + Print newlines as \n instead of \12 in ERT results + + This makes test errors unquestionably more readable. The change also + makes FF print as \f; other controls still use octal escapes. + + * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): + Run `pp` with `pp-escape-newlines` set to `t`. + +2021-06-25 Lars Ingebrigtsen + + Make (find-face-definition 'default) work more reliably + + * lisp/emacs-lisp/find-func.el (find-function--defface): New + function (bug#30230). + (find-function-regexp-alist): Use it to skip past definitions + inside comments and strings. + +2021-06-25 Lars Ingebrigtsen + + Fix the name of the sorted minor mode map after previous change + + * lisp/bindings.el (mode-line-major-mode-keymap): Change the name + of the minor mode menu items. + +2021-06-25 Eli Zaretskii + + Fix race conditions between Lisp threads in GTK builds + + * src/xgselect.c (release_select_lock, acquire_select_lock) + [GCC >= 4.7.0]: Use '__atomic' builtins to prevent races between + threads in accessing 'threads_holding_glib_lock'. Reported by + . (Bug#36609) + +2021-06-25 Michael Albinus + + Fix Tramp bug#49178 + + * lisp/net/tramp.el (tramp-handle-find-backup-file-name) + (tramp-handle-make-auto-save-file-name): Adapt checks. (Bug#49178) + +2021-06-25 Juri Linkov + + * lisp/tab-bar.el (tab-bar--define-keys): Fix global-mode-string (bug#49215) + +2021-06-25 Stephen Berman + + Prevent Org mode from mistakenly changing Calendar keymap + + * lisp/org/org-compat.el (org--setup-calendar-bindings): Fix logic + in test of 'org-agenda-diary-file' (bug#48199). + +2021-06-25 Eli Zaretskii + + Fix syntax-category of some punctuation characters + + * lisp/textmodes/text-mode.el (text-mode-syntax-table): Don't + modify the global syntax-table just because we load text-mode.el. + This happens at loadup time, and then affects the default syntax + in all modes, not just in text-mode and its derivatives. + (Bug#49214) + +2021-06-24 Stefan Monnier + + * lisp/bindings.el (bindings--sort-menu-keymap): Add "menu" in its name + + (bindings--menu-item-string): Use `pcase`. + +2021-06-24 Stefan Monnier + + * lisp/emacs-lisp/cl-preloaded.el: Fix the format of props in slot-descs + + (cl--plist-remove): Remove. + (cl--plist-to-alist): New function. + (cl-struct-define): Use it to convert slots's properties to the + format expected by `cl-slot-descriptor`. + + * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Revert last + changes, not needed any more. + +2021-06-24 Alex McGrath + + Add SASL authentication to rcirc + + * lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function + (bug#48601). + (rcirc-authenticate): + (rcirc-connect): Support sasl. + (rcirc-get-server-password, rcirc-get-server-method): New functions. + (rcirc-authinfo): Document it. + +2021-06-24 Mattias Engdeg奪rd + + Don't call ERT explainer on error + + * lisp/emacs-lisp/ert.el (ert--expand-should-1): If the predicate form + signals an error, don't call an explainer because the arguments passed + (the error and error argument, respectively) do not make any sense to + the explainer at all. + +2021-06-24 Lars Ingebrigtsen + + Attempt to make defclass documentation more legible + + * lisp/emacs-lisp/cl-extra.el (cl--print-table): Attempt to make + defclass documentation more readable (bug#30998). + (cl--describe-class-slots): Ditto. + +2021-06-24 Lars Ingebrigtsen + + Fix printing of defclass documentation slots again + + * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix + printing defclass slots, and retain printing of defstruct slots + (bug#30998 and bug#46662). + +2021-06-24 Lars Ingebrigtsen + + Allow `C-u M-x dig' to ask for a query type + + * lisp/net/dig.el (dig): Allow prompting for a query type + (bug#31810). + +2021-06-24 Alex McGrath + + Add SASL authentication to rcirc + + * lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function + (bug#48601). + (rcirc-authenticate): + (rcirc-connect): Support sasl. + (rcirc-get-server-password, rcirc-get-server-method): New functions. + (rcirc-authinfo): Document it. + +2021-06-24 E. Choroba + + Fix highlighting in cperl-mode for "for /regex/" + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Fix + highlighting of regexp in "print for /./;" (bug#49192). + +2021-06-24 Jim Porter + + Ignore file-missing errors during diff-refined font-locking + + * lisp/vc/diff-mode.el (diff--font-lock-refined): Ignore file-missing + errors (bug#49197). + +2021-06-24 Lars Ingebrigtsen + + Clarify the help in the package buffers + + * lisp/emacs-lisp/package.el (package--quick-help-keys): Clarify + marking help (bug#40457). + +2021-06-24 Jim Porter + + Sort the items in 'mode-line-mode-menu' before displaying the menu + + * lisp/bindings.el (bindings--menu-item-string, bindings--sort-keymap): + New functions. + (mode-line-major-mode-keymap, mode-line-minor-mode-keymap): + Sort 'mode-line-mode-menu'. + +2021-06-23 Saroj Thirumalai (tiny change) + + * lisp/printing.el (pr-global-menubar): Fix duplicate menu problem. + + In Emacs 27.1 Print menu items were moved to a submenu of the File menu. + The Printing package (lisp/printing.el) replaces the Print menu (via the + function: pr-global-menubar). The latter needs to be updated to reflect the + changes; otherwise, a second Print (sub)menu is created at the end of the + File menu. + +2021-06-23 Mauro Aranda + + Fix defvar->defcustom conversion in ethio-util.el + + * lisp/language/ethio-util.el (ethio-primary-language) + (ethio-secondary-language): Don't quote the const. + (ethio-use-three-dot-question, ethio-quote-vowel-always) + (ethio-W-sixth-always, ethio-numeric-reduction) + (ethio-java-save-lowercase): Really make them defcustom. + +2021-06-23 Lars Ingebrigtsen + + Make ethio-* variables into user options + + * lisp/language/ethio-util.el (ethiopic): New group. + (ethio-primary-language, ethio-secondary-language) + (ethio-use-colon-for-colon, ethio-use-three-dot-question) + (ethio-quote-vowel-always, ethio-W-sixth-always) + (ethio-numeric-reduction, ethio-java-save-lowercase): Make into + user options (bug#33024). + +2021-06-23 Lars Ingebrigtsen + + Revert "Sort the items in 'mode-line-mode-menu' before displaying the menu" + + This reverts commit d4d6d8f335165e2bda8942b4acd45e5bab613b70. + + This approach doesn't work on certain types of keymaps, so it should be implemented in a different way. + +2021-06-23 Jim Porter + + Sort the items in 'mode-line-mode-menu' before displaying the menu + + * lisp/bindings.el (bindings--menu-item-string, bindings--sort-keymap): + New functions. + (mode-line-major-mode-keymap, mode-line-minor-mode-keymap): + Sort 'mode-line-mode-menu'. + +2021-06-23 dickmao + + Clean up code in `message-replace-header' + + * lisp/gnus/message.el (message-replace-header): Elide redundancy + (bug#49180). + +2021-06-23 dickmao + + Fix message-replace-header after recent change + + * lisp/gnus/message.el (message-replace-header): Restore else + branch removed by mistake in 989de3b824 (bug#49179). + +2021-06-22 Lars Ingebrigtsen + + Give feedback to the user in dired-do-find-regexp + + * lisp/dired-aux.el (dired-do-find-regexp): Give some feedback to + the user (bug#35352). + +2021-06-22 Lars Ingebrigtsen + + Make minor mode docstrings say what the mode "variable" is + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Add + the mode variable (bug#36500). + (easy-mmode--mode-docstring): + (define-minor-mode): Pass in the getter. + +2021-06-22 Protesilaos Stavrou + + Use named face for apropos-button + + * etc/NEWS: Document new face. + * lisp/apropos.el (apropos-button): Define new face. + (apropos-face): Specify face instead of hardcoding + attributes (bug#49162). + +2021-06-22 Peter Oliver + + If the daemons TTY is our only frame, create a new frame + + * server.el (server-process-filter): If there won't be a current frame + to use, fall back to trying to create a new one (bug#11033). + +2021-06-22 Peter Oliver + + Advertise support for Startup Notification when built with GTK + + * etc/emacsclient.desktop, etc/emacsclient.desktop: Specify + StartupNotify=true. + * configure.ac (USE_STARTUP_NOTIFICATION): New variable, yes iff + HAVE_GTK. + * Makefile.in (install-etc): Remove StartupNotify=true from + etc/*.desktop unless USE_STARTUP_NOTIFICATION (bug#48783). + +2021-06-22 Utkarsh Singh + + Make tex-compile-commands heed tex-start-options + + * lisp/textmodes/tex-mode.el (tex-compile-commands): Respect + `tex-start-options' (bug#49018). + +2021-06-22 Eli Zaretskii + + Fix "make -j install" + + * Makefile.in (install-eln): Depend on 'lisp', so that people + could say "make -j install" without a separate "make" step. + (Bug#49099) + +2021-06-22 Stephen Gildea + + time-stamp: add principled, expressive %z + + * lisp/time-stamp.el (time-stamp-formatz-from-parsed-options): New + function for time zone offset formatting ("%z" variants). + + * test/lisp/time-stamp-tests.el (formatz*): New unit tests to cover + the new implementation of %5z. + +2021-06-21 Basil L. Contovounesios + + Fix shortdoc-add-function section creation + + * lisp/emacs-lisp/shortdoc.el (shortdoc-add-function): Use nconc to + actually append a new section to the list of groups while avoiding a + previous OBOE. Push a new group to the front of shortdoc--groups + without copying it, just like define-short-documentation-group does. + (buffer): Fix copypasta in unlock-buffer example. + + * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-examples): Also + check that :no-value forms demonstrate the right function. + + * doc/lispref/help.texi (Documentation Groups): Clarify that @dots + in the define-short-documentation-group arglist refer to whole + key-value pairs. Fix typo in :eg-result-string description. + +2021-06-21 Lars Ingebrigtsen + + NEWS for tool bar "X" in *Help* buffers change (bug#49139) + +2021-06-21 Lars Ingebrigtsen + + Fix prompting for large files when loading literally + + * lisp/files.el (find-file-noselect): Don't include "literally" in + the "large file" prompt if we're gonna load literally anyway + (bug#49144). + +2021-06-21 Lars Ingebrigtsen + + Make find-file-literally ignore local variables again + + * lisp/files.el (find-file-noselect-1): Re-inhibit local variables + when loading a file literally (bug#49143). This was broken by + 5bedbe6b1d. + +2021-06-21 Alex Bochannek + + Refactor gnus-article-sort-by-* + + * lisp/gnus/gnus-sum.el (gnus-article-sort-extract-extra): New + function (bug#49081). + (gnus-article-sort-by-recipient): Use it. + (gnus-article-sort-by-newsgroups): Ditto. + +2021-06-21 Lars Ingebrigtsen + + Further fixes for bound-and-true-p doc string + + * lisp/bindings.el (bound-and-true-p): Improve doc string. + +2021-06-21 Andrea Corallo + + * Do not attempt to write .elc files when not necessary (bug#49118) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not attempt to + write .elc files when not necessary. + +2021-06-21 Philip Kaludercic + + Query encryption using yes-or-no-p + + * rcirc.el (rcirc-prompt-for-encryption): Replace completing-read + prompt with yes-or-no-p + +2021-06-20 Alan Third + + Fix GNUstep menu update crashes + + * src/nsmenu.m (ns_update_menubar): close the submenus before modifying them. + ([EmacsMenu close]): Make sure to close all submenus. + +2021-06-20 Alan Third + + Fix GNUstep build warnings + + * src/nsterm.h ([EmacsWindow orderedIndex]): + * src/nsterm.m ([EmacsWindow orderedIndex]): Implement orderedIndex + for use under GNUstep. + * src/nsmenu.m (free_frame_menubar): + (ns_update_menubar): + ([EmacsMenu addSubmenuWithTitle:]): + ([EmacsMenu addItemWithWidgetValue:attributes:]): Cast return values + to correct types. + ([EmacsMenu fillWithWidgetValue:]): Move variable definition inside + relevant #ifdef block. + ([EmacsMenu menuWillOpen:]): + ([EmacsMenu menuDidClose:]): + ([EmacsMenu confinementRectForMenu:onScreen:]): + ([EmacsMenu menu:willHighlightItem:]): New functions to silence build + warnings. + * src/nsfont.m (nsfont_open): Remove pointless fabs call. + +2021-06-20 Michael Albinus + + Adapt tests in tramp-archive-tests.el + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test05-expand-file-name) + (tramp-archive-test06-directory-file-name): Adapt tests. + +2021-06-20 Grant Shangreaux + + Add input methods for Lakota + + The White Hat and Suggested Lakota Orthography are represented here + by three different input modes: A prefix and postfix mode for the SLO, + and a postfix mode for the White Hat orthography. + * lisp/leim/quail/latin-post.el (lakota-slo-postfix) + (lakota-white-hat-postfix): + * lisp/leim/quail/latin-pre.el (lakota-slo-prefix): New input methods. + * etc/HELLO: Call out the additions. + +2021-06-20 Juri Linkov + + Add new convenience command for *Help* + + * doc/emacs/help.texi (Help Mode): Document it (bug#36767). + + * lisp/help-mode.el (help-mode-map): Add 'c'. + (help-mode-menu): Add help-customize. + (help-customize): New command. + +2021-06-19 Michael Albinus + + Fix error in tramp-archive.el + + * lisp/net/tramp-archive.el (tramp-archive-file-name-handler): + Archive must exist. (Bug#49030, Bug#49043) + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test06-directory-file-name): Tag it :unstable temporarily. + +2021-06-19 Glenn Morris + + Merge from origin/emacs-27 + + 7722b510aa (origin/emacs-27) Another improvement in documentation of ... + 8d5c70d73a Improve documentation of profiler + 0ffef0b46b Document 'ispell-program-name' + 7be610f911 Fix documentation of 'face-extend-p' + + # Conflicts: + # doc/lispref/debugging.texi + +2021-06-19 Lars Ingebrigtsen + + Use file-truename on files loaded with "emacs -l" + + * lisp/startup.el (command-line-1): When loading a file, use the + truename so that eval-after-load works more reliably (bug#49009). + Change suggested by ctarbide@tuta.io. + +2021-06-19 Lars Ingebrigtsen + + Improve bound-and-true-p doc string + + * lisp/bindings.el (bound-and-true-p): Improve doc string (bug#49116). + +2021-06-19 dickmao + + De-obfuscate gnutls_handshake loop + + * src/gnutls.c (gnutls_try_handshake): Rewrite the handshake loop + for greater clarity (bug#49055). + +2021-06-19 Alex Bochannek + + New Gnus Summary buffer sort options for extra headers + + * lisp/gnus/gnus-sum.el (gnus-article-sort-functions) + (gnus-thread-sort-functions, gnus-subthread-sort-functions) + (gnus-summary-mode-map, gnus-summary-make-menu-bar) + (gnus-article-sort-by-newsgroups) + (gnus-summary-sort-by-newsgroups, gnus-summary-sort-by-extra): + Sort by Newsgroups extra header. Prompt for header name for other + extra headers. + + * doc/misc/gnus.texi (Summary Sorting): Document new sort functions + + * etc/NEWS: New Gnus Summary buffer sort feature (bug#49081). + +2021-06-19 Eli Zaretskii + + Another improvement in documentation of "memory" profiler + + * lisp/profiler.el (profiler-start): Fix the doc string to better + explain what is "memory" profiler. + +2021-06-19 ukasz Stelmach + + Allow `message-replace-header' to take a list of AFTERs + + * lisp/gnus/message.el (message-replace-header): Facilitate + capability of message-position-on-field to accept multiple headers + as AFTERS argument and make possible to mimic behavioir of + message-goto-* functions with message-replace-header in case the + header does not exist (bug#49070). + +2021-06-19 Alex Bochannek + + Add support for displaying total number of groups in subgroups in Gnus + + * lisp/gnus/gnus-topic.el (gnus-topic-line-format) + (gnus-topic-line-format-alist, gnus-topic-prepare-topic) + (gnus-topic-insert-topic-line, ) + (gnus-topic-display-missing-topic, ) + (gnus-topic-update-topic-line): + Provide number of groups in subtopics for topic line display and + add 'G' element to be used for 'gnus-topic-line-format' variable + + * doc/misc/gnus.texi (Topic Variables): + Document 'G' element for 'gnus-topic-line-format' variable (bug#49068). + +2021-06-19 Eli Zaretskii + + Improve documentation of profiler + + * doc/lispref/debugging.texi (Profiling): Stop misleading users + about what "memory" profiling really is. + +2021-06-19 Jim Porter + + Improve to selsel doc strings + + * lisp/delsel.el (delete-active-region): Document interactive behavior. + * lisp/delsel.el (delete-selection-repeat-replace-region): + Use "\\[universal-argument]" instead of literal "C-u" in docstring. + +2021-06-19 Michael Albinus + + Revert "Add `file-name-set-extension'" + + This reverts commit 4f1a5e456e35930e8d0713b990bd7b14923cfe97. + +2021-06-19 Michael Albinus + + Add `file-name-set-extension' + + * lisp/files.el (file-name-with-extension): New defun. + + * test/lisp/files-tests.el (files-tests-file-name-with-extension-good) + (files-tests-file-name-with-extension-bad): New tests. + +2021-06-19 Philip Kaludercic + + Use add-to-list instead of manually modifying minor-mode-alist + +2021-06-19 Michael Albinus + + Handle case remote uid is 0 in some Tramp related tests + + * test/lisp/filenotify-tests.el: + * test/lisp/shadowfile-tests.el: + Set `tramp-allow-unsafe-temporary-files' to t. + +2021-06-18 Mattias Engdeg奪rd + + Fix Morse for non-ASCII letters + + * lisp/play/morse.el (morse-code): Downcase letters in the table + because they must match downcased input. + +2021-06-18 Eli Zaretskii + + Improve and update the 'etags' test suite + + * lib-src/etags.c (mercury_pr): Remove redundant comment. + + * test/manual/etags/merc-src/accumulator.m: Add more complex + declarations. + * test/manual/etags/ETAGS.good_1: + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: + * test/manual/etags/CTAGS.good: Adapt to latest changes in 'etags' + and the test suite. (Bug#47408) + +2021-06-18 Fabrice Nicol + + Fix Mercury support, notably qualified procedures. + + Correct the previous fix (did not correctly handle qualified types). + Also fix the following issues: + - remove module name (+ dot) from tags, as prefixing module name is + often inconsistent in code and may cause tags to be too specific. + - now tag 0-arity predicates and functions (':- func foo_14.') + - now tag one-word declarations (':- interface.') + + * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN + arguments to 'make_tag'. + (mercury_decl): Return more information about the declaration or + definition it finds. This allows mercury_pr to be smarter. + (Bug#47408) + +2021-06-18 Philipp Stephani + + Update SCSS test file syntax. + + According to + https://sass-lang.com/documentation/breaking-changes/slash-div, the + slash operator should be replaced by 'math.div'. + + Fixed using the migration tool mentioned at + https://sass-lang.com/documentation/breaking-changes/slash-div#automatic-migration. + + * test/manual/indent/scss-mode.scss: Remove slash operator. + +2021-06-18 Arash Esbati + + Use \footref when referencing a footnote label + + * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Use + \footref as `reference-format' for \footnote macro. + +2021-06-18 Arash Esbati + + Support new LaTeX kernel macro \footref + + * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add + entry for \footref macro which is part of LaTeX kernel 2021-06-01. + +2021-06-17 Juri Linkov + + * lisp/help-fns.el (help--symbol-class): Concat chars for all namespaces. + + Since Emacs Lisp is more than Lisp-2, separately output letters + for each namespace: functions, variables, faces, classes. + Use non-letter characters for additional properties + such as advice, obsolete, local. + (help--symbol-completion-table-affixation): Use format "%-4s". + https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00524.html + +2021-06-17 Juri Linkov + + Fix display-buffer-override-next-command for no-select case (bug#49057) + + * lisp/window.el (display-buffer-override-next-command): + Separate 'postfun' from 'clearfun', so 'clearfun' resets + 'display-buffer-overriding-action', whereas 'postfun' calls + 'post-function' that can select the right window in 'post-command-hook'. + + * lisp/windmove.el (windmove-display-no-select): Add new choice 'ignore'. + Improve docstring. + (windmove-display-in-direction): Use new value 'ignore' of + 'windmove-display-no-select'. Improve docstring. + (windmove-display-left, windmove-display-up) + (windmove-display-right, windmove-display-down): Mention + 'windmove-display-no-select' in docstrings. + +2021-06-16 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el: Fix bug#49053 and bug#47454 + + (cl-generic-define-method): Shorten the time window where the symbol is + defined to `dummy`. + +2021-06-16 Mattias Engdeg奪rd + + Eliminate some GCC warnings + + * src/doprnt.c (exprintf, evxprintf): + * src/lisp.h (exprintf, evxprintf): Don't use a pointer-to-const type + for the `nonheapbuf` argument: although it is never dereferenced, GCC + will warn when passing a pointer to uninitialised memory otherwise. + * src/fns.c (sort_vector_copy, realize_face, realize_gui_face) + (realize_tty_face): Use the same signatures in the prototypes as in + the actual function definitions. + +2021-06-16 Glenn Morris + + * lisp/simple.el (save-interprogram-paste-before-kill): Fix type. + +2021-06-16 Mattias Engdeg奪rd + + * src/xdisp.c (gui_draw_bottom_divider): Fix misleading indentation. + +2021-06-16 Mattias Engdeg奪rd + + Remove outdated advise from manual + + * doc/lispref/modes.texi (Search-based Fontification): + Remove paragraph that has been unnecessary and confusing ever since + regexp-opt stopped using capturing brackets more than 21 years ago. + +2021-06-16 Pip Cet + + Prepare pdumper dump file in memory, write it in one go (Bug#46881) + + * src/pdumper.c (struct dump_context): Add buf, buf_size, max_offset fields. + (dump_grow_buffer): New function. + (dump_write): Use memcpy, not an actual emacs_write. + (dump_seek): Keep track of maximum seen offset. Don't actually seek. + (Fdump_emacs_portable): Write out the file contents when done. + +2021-06-16 Philip Kaludercic + + Force mode line update after modifying activity string + + * rcirc.el (rcirc-update-activity-string): Call force-mode-line-update + +2021-06-16 pillule + + User option to choose a function triggered by windmove-create (bug#48917) + + * lisp/windmove.el (windmove-create-window): Add a defcustom choice. + (windmove-do-window-select): Trigger custom functions, update the docstring. + +2021-06-16 pillule + + User option to select 'no-other-window' with windmove (bug#48916) + + * lisp/windmove.el (windmove-wrap-around): Remove superfluous :group tag. + (windmove-create-window): Remove superfluous :group tag. + (windmove-window-distance-delta): Remove superfluous :group tag. + (windmove-allow-all-windows): Add new user option to allow the commands + of windmove to target windows with the 'no-other-window parameter. + (windmove-find-other-window): Use windmove-allow-all-windows. + (windmove-display-no-select): Remove superfluous :group tag. + (windmove-display-in-direction): Use windmove-allow-all-windows. + (windmove-delete-in-direction): Use windmove-allow-all-windows. + (windmove-swap-states-in-direction): Use windmove-allow-all-windows. + (windmove-default-keybindings): Remove superfluous :group tag. + (windmove-display-default-keybindings): Remove superfluous :group tag. + (windmove-delete-default-keybindings): Remove superfluous :group tag. + (windmove-swap-states-default-keybindings): Remove superfluous :group tag. + +2021-06-15 Philip Kaludercic + + Fix edge case with single argument for rcirc-define-command + + * rcirc.el (rcirc-define-command): Update regular expression generator + +2021-06-15 Philip Kaludercic + + Fix argument parser for rcirc-define-command with string input + + * rcirc.el (rcirc-define-command): Require at least one space between + arguments + +2021-06-15 Lars Ingebrigtsen + + Make help-view-source more robust + + * lisp/help-mode.el (help-view-source): Check the right thing to + see if we can jump to the source file. + +2021-06-15 Lars Ingebrigtsen + + Add new convenience commands for *Help* + + * doc/emacs/help.texi (Help Mode): Document it (bug#36767). + + * lisp/help-fns.el (help-fns-function-description-header) + (describe-variable, describe-face, describe-keymap) + (describe-mode): Add the required data. + + * lisp/help-mode.el (help-mode-map): Add 'i' and 's'. + (help-mode--current-data): New variable. + (help-mode): Make it local. + (help-view-source, help-goto-info): New commands. + +2021-06-15 Lars Ingebrigtsen + + Clarify (interactive "K") in the manual + + * doc/lispref/commands.texi (Interactive Codes): Clarify + (interactive "K") (bug#37146). + +2021-06-15 Philip Kaludercic + + Check if server buffer is live + + * rcirc.el (with-rcirc-server-buffer): Use live-buffer-p + (rcirc-buffer-nick): Use with-rcirc-server-buffer + (rcirc-switch-to-server-buffer): Use with-rcirc-server-buffer + +2021-06-15 Eli Zaretskii + + Document 'ispell-program-name' + + * doc/emacs/fixit.texi (Spelling): Document + 'ispell-program-name'. (Bug#49039) + +2021-06-15 Julian Scheid + + Allow ERT tests to output the failure reasons, too + + * lisp/emacs-lisp/ert.el (ert-reason-for-test-result): New function. + (ert-run-tests-batch): Output failure or skip reason (bug#47071). + +2021-06-15 Lars Ingebrigtsen + + Add a new function syntax-class-to-char + + * doc/lispref/syntax.texi (Syntax Table Internals): Document it. + * src/syntax.c (Fsyntax_class_to_char): New function (bug#37452). + +2021-06-15 Jared Finder + + Fix dragging dividers in terminal Emacs when there's margins + + * lisp/mouse.el (mouse-drag-line): Do the right thing in the + presence of margins (bug#41156). + (mouse-drag-line): Bind left-margin/right-margin in the map, too. + +2021-06-15 Lars Ingebrigtsen + + Document `completions-format' + + * doc/emacs/mini.texi (Completion Options): Document + `completions-format'. + + * lisp/simple.el (completion-list-mode): Mention in (bug#49003). + +2021-06-15 Lars Ingebrigtsen + + Fix false positives in docstring width warning with (fn...) constructs. + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + Don't consider the function signature when determining whether the + doc string is too wide (bug#49007). (The signature is folded + later when displaying help.) + +2021-06-15 Philip Kaludercic + + Improve message markup + + * rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes, + rcirc-remove-markup-codes + (rcirc-markup-attributes): Recognize strike-through and monospace, + don't remove control codes + (rcirc-color-attributes): Recognize mIRC color codes + (rcirc-remove-markup-codes): Add function + (rcirc-monospace-text): Add face + +2021-06-15 Stephen Gildea + + mh-junk need not support SpamAssassin 2.20 from 2003 + + * lisp/mh-e/mh-junk.el (mh-spamassassin-*list): Remove support + for SpamAssassin 2.20. (SpamAssassin 3.0 was released in 2004.) + This change updates both the flags for sa-learn and the comments + about how the current version works. + + This change reverts part of a change made in 2003 that added + support for what was even then an "old version of spamassassin." + +2021-06-14 Philip Kaludercic + + Fix construction of interactive specification in rcirc-define-command + + * rcirc.el (rcirc-define-command): Ensure that only one argument is passed. + +2021-06-14 Lars Ingebrigtsen + + Remove unused variable from sgml-mode test + + * test/lisp/textmodes/sgml-mode-tests.el (sgml-test-brackets): + Remove unused variable. + +2021-06-14 Lars Ingebrigtsen + + Get fractional seconds in iso8601 parsing right + + * lisp/calendar/iso8601.el (iso8601-parse-time): Get fractional + times (with leading zeroes in the fraction part) right (bug#49017). + Fix based on a patch by "J.P." . + +2021-06-14 Andrea Corallo + + * Do not produce .elc temporary file when unnecessary (bug#48978) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Produce .elc + temporary files only when non native compiling or when native + compiling but `byte+native-compile' is non nil. + +2021-06-14 Stephen Berman + + Fix problem in HTML with bracketed characters + + * lisp/textmodes/sgml-mode.el (sgml-tag-syntax-table): Use bracket + syntax for all Unicode bracket characters (bug#43941). + +2021-06-14 Andrea Corallo + + ;* lisp/emacs-lisp/bytecomp.el (byte-native-compiling): Typo fix. + + * lisp/emacs-lisp/bytecomp.el (byte+native-compile): Update docstring. + +2021-06-14 Philip Kaludercic + + Rename set-rcirc-{encode,decode}-coding-system + + * rcirc.el (set-rcirc-decode-coding-system): Deprecate command + (rcirc-set-decode-coding-system): New command + (set-rcirc-encode-coding-system): Deprecate command + (rcirc-set-encode-coding-system): New command + +2021-06-14 Philip Kaludercic + + Preserve order of completion during cycling + + * rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function + +2021-06-14 Michael Albinus + + Handle sensitive auto-save or backup remote files (Bug#45245) + + * doc/misc/tramp.texi (Auto-save and Backup): + Describe tramp-allow-unsafe-temporary-files. + (Ad-hoc multi-hops): Use proper format. + + * etc/NEWS: Mention confirmation for writing sensitive auto-save + or backup remote files to the local temporary directory.. + + * lisp/net/tramp-cache.el (tramp-dump-connection-properties): + Strengthen test. + + * lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): New defcustom. + (tramp-handle-find-backup-file-name) + (tramp-handle-make-auto-save-file-name): Don't expose sensible + auto-save or backup files on local temporary directory. (Bug#45245) + + * test/lisp/net/tramp-tests.el (tramp--test-always): New defalias. + (tramp-test10-write-region, tramp-test21-file-links) + (tramp--test--deftest-direct-async-process): Use it. + (tramp-test37-make-auto-save-file-name) + (tramp-test38-find-backup-file-name): Extend tests. + +2021-06-14 pillule + + Improve handling of dedicated flag for side windows (Bug#48493) + + * doc/lispref/windows.texi (Buffers and Windows): Mention the + special handling of side windows and add a reference. + (Buffer Display Action Alists): Say explicitly that + `display-buffer-in-side-window' is dedicating to side by default. + (Dedicated Windows): Add case (4) and explain its meaning, add + a reference. + (Displaying Buffers in Side Windows): Move the paragraph about + `switch-to-(prev|next)-buffer' into a new item to emphasize the + special meaning of dedication for side windows. + * lisp/window.el (set-window-buffer-start-and-point): Restore + side dedication. + (switch-to-prev-buffer, switch-to-next-buffer): Correct return + value that should be nil instead of the same buffer in case of + no change. + (delete-windows-on): Restore side dedication. + (replace-buffer-in-windows): Update the docstring, restore side + dedication. + (quit-restore-window): Rearrange the logic so that strongly + dedicated windows are eventually deleted first. Restore the + side dedication. In the final case try to + `switch-to-prev-buffer' before deleting a window (Bug#48367). + +2021-06-14 Philip Kaludercic + + Add mouse properties to activity string + + * rcirc.el (rcirc-activity-string): Allow clicking on string + +2021-06-13 Philip Kaludercic + + Update activity string after switching to next active buffer + + * rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string + +2021-06-13 Eli Zaretskii + + Fix documentation of 'face-extend-p' + + * doc/lispref/display.texi (Attribute Functions): Fix description + of 'face-extend-p'. (Bug#48936) + +2021-06-13 Lars Ingebrigtsen + + Fix previous pulse.el fix + + * lisp/cedet/pulse.el (pulse-reset-face): Fix up previous + pulse-reset-face change -- reset back to the start face + (bug#48936). + +2021-06-13 dick + + Avoid an infinite loop in mml-expand-html-into-multipart-related + + * lisp/gnus/mml.el (mml-expand-html-into-multipart-related): + Skip images with empty filename parts (bug#49001). + +2021-06-13 Lars Ingebrigtsen + + Reset the pulse face more fully in pulse-reset-face + + * lisp/cedet/pulse.el (pulse-reset-face): Reset the :extend to nil + if there's no face given (bug#48936). + +2021-06-13 Eli Zaretskii + + Fix wording of recently added documentation + + * etc/NEWS: + * lisp/simple.el (save-interprogram-paste-before-kill): Fix + wording of a recently added documentation. (Bug#41168) + +2021-06-13 Lars Ingebrigtsen + + Fsubstitute_in_file_name doc string clarification + + * src/fileio.c (Fsubstitute_in_file_name): Mention that undefined + variables aren't replaced (as opposed to what happens in a shell + substitution) (bug#40949). + +2021-06-13 Lars Ingebrigtsen + + Allow save-interprogram-paste-before-kill to be a number + + * doc/emacs/killing.texi (Clipboard): Document it. + * lisp/simple.el (save-interprogram-paste-before-kill): Extend + range (bug#41168). + (kill-new): Implement it (bug#41168). + +2021-06-13 Juri Linkov + + * doc/emacs/windows.texi (Change Window): Add pxref to (elisp)Deleting Windows + + (Bug#47300) + +2021-06-12 Stefan Monnier + + EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior + + Change docs to advertize `slot-value` rather than `oref`. + Change the implementation of `:initform` to better match the CLOS semantics, + while preserving the EIEIO semantics, but warn when encountering cases + where the two diverge. + Demote the mostly unused special semantics of `oref-default` + on non-class allocated slots. + + * doc/misc/eieio.texi (Quick Start): Use `slot-value`. + (Accessing Slots): Move `slot-value` before `oref`. + Fix paren-typo in example (reported by pillule ). + (Introspection): Remove mention of `class-slot-initarg`. + + * lisp/transient.el (transient--parse-group, transient--parse-suffix): + Don't use `oref-default` to get the default value. + (transient-lisp-variable): Init forms are evaluated. + + * lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable + `:initarg` and about uses of init forms that are ambiguous. + (oref): Don't advertize the deprecated use of initargs as slot names. + (oref-default): Don't advertize the deprecated case where it returns the + initform's value. + (initialize-instance): Use `macroexp-const-p`. + * lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from + `eieio-unbound`. + (eieio--unbound-form): New var. + (eieio--slot-override): Use it. + (eieio-defclass-internal): Use it. Change `init` so it should always + be evaluated. + (eieio--known-class-slot-names): New var. + (eieio--eval-default-p): Rename from `eieio-eval-default-p`. + (eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to + decide whether to skip the test. + (eieio--add-new-slot): Register slot in `eieio--known-class-slot-names` + when applicable. + (eieio-oref-default, eieio-oset-default): Add warning for unknown slots + and slots not known to be allocated to the class. + (eieio-default-eval-maybe): Delete function. Use just `eval` instead. + (eieio-declare-slots): Allow slots to specify their allocation class. + + * lisp/cedet/srecode/insert.el (point): Declare the slot instead of + moving the class definition before the slot's first use. + (srecode-template-inserter-point, srecode-insert-fcn): + Use nil instead of unbound for the `point` slot. + + * lisp/cedet/srecode/compile.el (srecode-template-inserter): + Declare the `key` slot that all children should have. + + * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar) + (eieio-speedbar-directory-button, eieio-speedbar-file-button): + * lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class): + * lisp/emacs-lisp/chart.el (chart-bar): + * lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar): + * lisp/cedet/semantic/db.el (semanticdb-project-database): + * lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript) + (semanticdb-project-database-javascript): + * lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp) + (semanticdb-project-database-emacs-lisp): + * lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse) + (semanticdb-project-database-ebrowse): + * lisp/cedet/ede/proj.el (ede-proj-project): + * lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode): + * lisp/cedet/ede/generic.el (ede-generic-project): + * lisp/cedet/ede/config.el (ede-project-with-config): + * lisp/cedet/ede/base.el (ede-target, ede-project): + * lisp/auth-source.el (auth-source-backend): Init forms are evaluated, + so quote them accordingly. + +2021-06-12 Robert Pluim + + Make `window-system-for-display' work for ipv6, too + + * lisp/term/x-win.el (display-format-alist): Also work for ipv6 + (bug#42045). + +2021-06-12 Lars Ingebrigtsen + + Clarify some browse-url doc strings + + * lisp/net/browse-url.el (browse-url-of-file) + (browse-url-of-buffer, browse-url-of-region, browse-url) + (browse-url-at-point, browse-url-at-mouse): Clarify doc strings + (bug#42432). + +2021-06-12 Tassilo Horn + + Use file-in-directory-p instead of obsolete dired-in-this-tree-p + + * lisp/dired-aux.el (dired-rename-subdir,dired-rename-subdir-1) + (dired-insert-subdir,dired-insert-subdir-validate) + (dired-kill-tree,dired-tree-down): Use file-in-directory-p instead of + obsolete dired-in-this-tree-p. + +2021-06-12 Lars Ingebrigtsen + + Fix double (recursive) load of fortran.el + + * lisp/progmodes/fortran.el (fortran-menu): Move menu creation to + the end to avoid a recursive load (bug#43116). + +2021-06-12 Alex Bochannek + + Mention nov-is-evil/nnvirtual combination in the Gnus manual + + * doc/misc/gnus.texi (To From Newsgroups): Mention using separate + select methods for different values (bug#48801). + +2021-06-12 Matt Beshara + + Add ability to bring only the selected frame to the front (bug#48865) + + Causes ns-hide-emacs to layer the selected frame in front of every other + applications windows, and give that frame keyboard focus, when called with + 'activate-front. + + * src/nsfns.m (Fns_hide_emacs): Allow activating only selected frame. + +2021-06-11 Stefan Monnier + + * lisp/emacs-lisp/benchmark.el (benchmark-elapse): Tweak + +2021-06-11 Martin Rudalics + + Rename/rewrite recently added option and function in window.el + + * lisp/window.el (window-at-x-y): Rename from `window-at-pos'. + Fix doc-string. + (delete-window-choose-selected): Rename from + `delete-window-set-selected'. Fix doc-string. + (delete-window): Adjust to above renaming. + * doc/emacs/windows.texi (Change Window): Mention new option + `delete-window-choose-selected'. + * etc/NEWS: + * doc/lispref/windows.texi (Deleting Windows): Follow up on + above renamings. + +2021-06-11 Dmitry Gutov + + Simplify vc-git-log-switches's usage; change default value to nil + + * lisp/vc/vc-git.el (vc-git-log-switches): + Do not mention or allow the value 't' anymore + (https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00452.html). + (vc-git-print-log): Use 'vc-git-log-switches' directly. + +2021-06-10 Philip Kaludercic + + Preserve incoming order of messages with same timestamp + + * rcirc.el (rcirc-print): Emulate time-less-or-equal-p + +2021-06-10 Philip Kaludercic + + Allow hiding certain message types after reconnecting + + * rcirc.el (rcirc-omit-after-reconnect): Add new user option + (rcirc-reconncting): Add new variable + (rcirc-print): Check if message should be omitted + (reconnect): Mark buffers as freshly reconnected + +2021-06-10 Philip Kaludercic + + Use defvar-local instead of setq-local where applicable + +2021-06-10 Philip Kaludercic + + Allow for optional arguments using rcirc-define-command + + * rcirc.el (rcirc-define-command): Handle &optional arguments + +2021-06-10 Philip Kaludercic + + Fix prompt doubling when reconnecting + + * rcirc.el (rcirc-connect): Check if rcirc-mode is already active + (rcirc-get-buffer-create): Check if rcirc-mode is already active + +2021-06-10 Philip Kaludercic + + Allow filtering how nicks are presented + + * rcirc.el (rcirc-nick-filter): Add new option + (rcirc-completion-at-point): Use rcirc-nick-filter + (rcirc-format-response-string): Use rcirc-nick-filter + (rcirc-sort-nicknames-join): Use rcirc-nick-filter + +2021-06-10 Philip Kaludercic + + Implement invite-notify capability + + * rcirc.el (rcirc-implemented-capabilities): Add invite-notify + (rcirc-handler-INVITE): Handle invite notifications + +2021-06-10 Philip Kaludercic + + Add TAGMSG handler + + * rcirc.el (rcirc-handler-TAGMSG): Add new message handler + +2021-06-10 Philip Kaludercic + + Implement message-ids extension + + * rcirc.el (rcirc-implemented-capabilities): Add to list of + implemented extensions + (rcirc-print): Insert property denoting message ID + +2021-06-10 Philip Kaludercic + + Implement batch extension + + * rcirc.el (rcirc-implemented-capabilities): Add batch extension + (rcirc-supported-batch-types): Add new variable + (rcirc-batch-attributes): Add new variable + (rcirc-batched-messages): Add new variable + (rcirc-process-server-response-1): Handle messages with batch tag + (rcirc-handler-BATCH): Add batch dispatcher + +2021-06-10 Philip Kaludercic + + Implement server-time extension + + * rcirc.el (rcirc-implemented-capabilities): Add new capability + (rcirc-print): Insert messages in the right position + (rcirc-log): Use right time value + (rcirc-markup-timestamp): Use right time value + +2021-06-10 Philip Kaludercic + + Create framework for IRCv3 support + + * rcirc.el (rcirc-implemented-capabilities): Add new variable + (rcirc-requested-capabilities): Add new variable + (rcirc-acked-capabilities): Add new variable + (rcirc-connect): Request capabilities from rcirc-implemented-capabilities + (rcirc-process-regexp): Extend rcirc-process-regexp with tag support + (rcirc-tag-regexp): Add new tokenizer for tags + (rcirc-message-tags): Add new variable + (rcirc-get-tag): Add new function + (rcirc-process-server-response-1): Parse message-tags + (rcirc-handler-CAP): Add new handler for capability requests + +2021-06-10 Philip Kaludercic + + Replace defun-rcirc-command with rcirc-define-command + + * rcirc.el (defun-rcirc-command): Remove old macro + (rcirc-define-command): Create new macro + +2021-06-10 Eli Zaretskii + + Support mercury in 'ctags' as well + + The previous lack of support was due to incorrect calls to 'make_tag' + in 'mercury_pr', which caused 'pfnote' to refrain from adding Mercury + tags to the list of recorded tags. + + * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN + arguments to 'make_tag'. + + * test/manual/etags/CTAGS.good: Adjust to the above change. + +2021-06-10 Eli Zaretskii + + Improve documentation of 'M-y' + + * doc/emacs/killing.texi (Yanking): Mention that TTY frames can + also support yanking from the clipboard. + (Earlier Kills): Finalize the documentation of the new behavior + of the lone 'M-y'. (Bug#48478) + +2021-06-10 Martin Rudalics + + Provide new option `delete-window-set-selected' (Bug#47300) + + When `delete-window' deletes its frame's selected window, this new + option allows to choose another window as replacement. + + * lisp/window.el (get-lru-window, get-mru-window) + (get-largest-window): New optional argument NO-OTHER. + (window-at-pos): New function. + (delete-window-set-selected): New option. + (delete-window): Handle `delete-window-set-selected'. + * src/window.c (Fdelete_window_internal): Set the selected + window of WINDOW's frame to the first window on that frame and + let `delete-window' choose a more suitable window instead. + * doc/lispref/windows.texi (Deleting Windows): Describe new + option `delete-window-set-selected'. + (Cyclic Window Ordering): Describe new NO-OTHER argument for + `get-lru-window', `get-mru-window' and `get-largest-window'. + * etc/NEWS: Mention `delete-window-set-selected' and the NO-OTHER + argument. + +2021-06-09 Alan Third + + Remove pause on fullscreening in NS (bug#48406) + + * src/nsterm.m (ns_make_frame_visible): + (ns_set_parent_frame): + ([EmacsView windowWillEnterFullScreen:]): + ([EmacsView windowDidEnterFullScreen:]): + ([EmacsView windowWillExitFullScreen:]): + ([EmacsView initFrameFromEmacs:]): Remove references to + in_fullscreen_transition. + ([EmacsView toggleFullScreen:]): Remove calls to removed methods. + ([EmacsView inFullScreenTransition]): + ([EmacsView waitFullScreenTransition]): Remove Methods. + * src/nsterm.h (EmacsView): Remove defintions of removed methods, and + the in_fullscreen_transition variable. + +2021-06-09 Glenn Morris + + * lib/Makefile.in (Makefile): Fix typo. + +2021-06-09 Philip Kaludercic + + Remove custom rcirc-completion implementation + + * rcirc.el (rcirc-completion-at-point): Improve completion suggestions + (rcirc-completions): Remove variable + (rcirc-completion-start): Remove variable + (rcirc-complete): Remove function + (rcirc-mode-map): Bind TAB to completion-at-point + (rcirc-mode): Use cycling for completion + +2021-06-09 Philip Kaludercic + + Recognize quoted commands in rcirc-process-input-line + + * rcirc.el (rcirc-process-input-line): Check for quoted commands + (rcirc-process-command): Don't check for quoted commands + +2021-06-09 Philip Kaludercic + + Integrate formatting into rcirc-send-string + + * rcirc.el (rcirc-connect): Use new syntax + (rcirc-send-string): Allow for more arguments + (rcirc-send-privmsg): Use new syntax + (rcirc-send-ctcp): Use new syntax + (rcirc-send-message): Use new syntax + (rcirc-clean-up-buffer): Use new syntax + (join): Use new syntax + (invite): Use new syntax + (part): Use new syntax + (quit): Use new syntax + (nick): Use new syntax + (names): Use new syntax + (topic): Use new syntax + (whois): Use new syntax + (mode): Use new syntax + (list): Use new syntax + (oper): Use new syntax + (kick): Use new syntax + (rcirc-handler-PING): Use new syntax + (rcirc-handler-ctcp-VERSION): Use new syntax + (rcirc-handler-ctcp-ACTION): Use new syntax + (rcirc-handler-ctcp-TIME): Use new syntax + +2021-06-09 Philip Kaludercic + + Fix checkdoc complaints and related issues + +2021-06-09 Philip Kaludercic + + Use auth-source for user-passwords + + * (rcirc): Use auth-source is no password was specifed + +2021-06-09 Philip Kaludercic + + Default to libera instead of freenode + + * rcirc.el (rcirc-server-alist): Update default value + +2021-06-09 Alan Third + + Fix image filename encoding issues (bug#48902) + + * src/image.c (image_find_image_fd): Don't return an encoded filename + string. + * src/nsfns.m: ([NSString stringWithLispString:]): Clarify usage + comment. + * src/nsimage.m ([EmacsImage allocInitFromFile:]): No need to encode + the filename when converting to NSString. + +2021-06-09 Michael Albinus + + * etc/NEWS: New user option 'shell-has-auto-cd'. + +2021-06-09 Jason Kim (tiny change) + + Handle auto-cd in shell-mode + + * lisp/shell.el (shell-has-auto-cd): New defcustom. + (shell-directory-tracker): Handle implicit "cd". + +2021-06-09 Utkarsh Singh (tiny change) + + New user option for Git log switches + + * lisp/vc/vc-git.el (vc-git-diff-switches): New defcustom. + (vc-git-print-log): Use it. + + * etc/NEWS: Announce the new option. + +2021-06-08 Juri Linkov + + * lisp/simple.el (yank-from-kill-ring): Add edited string to the kill-ring. + + (Bug#48478) + +2021-06-08 Juri Linkov + + Sync overlay code in minibuffer-message and set-minibuffer-message (bug#48669) + + * lisp/minibuffer.el (minibuffer-message): Copy more overlay positioning code + from set-minibuffer-message. + (minibuffer--message-overlay-pos): Mention both minibuffer-message and + set-minibuffer-message in the docstring. + (set-minibuffer-message): Use 'cursor t' instead of 1. + +2021-06-08 Glenn Morris + + Merge from origin/emacs-27 + + 37f4457994 (origin/emacs-27) ; Fix typo in dynamic module functions d... + f7d4bbceee ; * src/composite.h: Improve comments for LGSTRING and LGL... + +2021-06-08 Alex Bochannek + + Change the Gnus default to use `#' to toggle the process mark + + * doc/misc/gnus.texi (Marking Groups, Topic Commands): + (Setting Process Marks, Pick and Read): Document the new default. + * lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu. + + * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu. + + * lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu. + + * lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default. + +2021-06-08 Stephen Gildea + + MH-E: do not look for MH variants in relative directories + + * lisp/mh-e/mh-e.el (mh-variants): Do not examine relative directories + in exec-path (e.g., "."); these won't have MH installed. Also, + file-chase-links is not robust with relative names: you cannot pass it + a relative name that is a symlink. + +2021-06-08 Stefan Kangas + + Fix an example in ERC docs + + * doc/misc/erc.texi (Connecting): + * lisp/erc/erc.el (erc, erc-tls): Fix example to use J. Random Hacker + instead of Harry S. Truman. + +2021-06-08 Stefan Kangas + + * doc/man/emacs.1.in: Minor fixes. + +2021-06-08 Alan Third + + Revert "src/nsterm.m: fix window tabbing on macOS" + + This reverts commit 2207f9adccc0411b7ad73a3703f16250d7f8e139. + +2021-06-07 Michael Albinus + + Improve support of remote files in browse-url.el + + * etc/NEWS: Mention support of remote file browsing. + + * lisp/net/browse-url.el (browse-url-of-buffer): Revert last change. + (browse-url-of-file): Use temporary file in case of remote file. + (Bug#48397) + +2021-06-07 Dmitry Gutov + + Fix rgrep abbreviation + + * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): + Update for the last change in grep-find-template (bug#48471). + +2021-06-07 Eli Zaretskii + + * src/xdisp.c (Fwindow_text_pixel_size): Plug memory leak. (Bug#48884) + +2021-06-07 Michael Albinus + + Support remote file names in `browse-url-of-buffer' + + * lisp/net/browse-url.el (browse-url-of-buffer): Use temporary + file in case of remote `file-name'. (Bug#48397) + +2021-06-07 Dmitry Gutov + + Support old BSD find and "root dir symlink" better + + * lisp/progmodes/grep.el (grep-compute-defaults): + Add '-H' to grep-find-template (bug#48471). + + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + Pass the root directory name without the trailing slash. + + * lisp/progmodes/xref.el (xref-matches-in-directory): Ditto. + + * test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs) + (xref--xref-file-name-display-is-relative-to-project-root): + Make tests more strict again. + +2021-06-06 Dmitry Gutov + + completion-pcm--hilit-commonality: Reuse the match-data cons cells + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): Reuse + the match-data cons cells for better performance (bug#48841). + +2021-06-06 Eli Zaretskii + + Fix a problem with restarting 'tags-search' + + * lisp/progmodes/etags.el (tags-search, tags-query-replace): Link + to 'fileloop-continue' instead of 'tags-loop-continue', for + continuing TAGS-based search/replace commands. + + * lisp/fileloop.el (fileloop-continue): Reset + 'switch-to-buffer-preserve-window-point' to nil when switching to + another buffer, so as to make sure a new search always restarts + from point-min in each buffer it searches. (Bug#48628) + +2021-06-06 Lars Ingebrigtsen + + Clarify boolean widget prompt + + * lisp/wid-edit.el (widget-boolean-prompt-value): Clarify prompt + (bug#43593). + +2021-06-06 Lars Ingebrigtsen + + Clarify file reversion prompt + + * lisp/files.el (revert-buffer--default): Clarify prompt when the + buffer is modified (bug#43884). + +2021-06-06 Lars Ingebrigtsen + + Make `so-long' restore `view-mode' + + * lisp/so-long.el (so-long): Make the `v' command in Dired work + more reliably (bug#45084). + +2021-06-06 Sebastian Urban (tiny change) + + Minor copyedits in the Emacs user manual + + * doc/emacs/fixit.texi (Spelling): Move TeX hyphenation directives + from here... + * doc/emacs/docstyle.texi: ...to here. + * doc/emacs/display.texi (Displaying Boundaries, Text Display): + Minor stylistic changes. (Bug#48654) + +2021-06-06 Eli Zaretskii + + Minor fixes for last change + + * test/manual/etags/ETAGS.good_1: + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: Adapt to added Mercury support. + + * lib-src/etags.c (find_entries, test_objc_is_mercury): + * etc/NEWS: Fix punctuation and typos in last change. + +2021-06-06 Fabrice Nicol + + Add support for Mercury (https://mercurylang.org) in 'etags' + + Tag declarations starting lines with ':-'. + By default, all declarations are tagged. Optionally, first + predicate or functions in clauses can be tagged as in Prolog + support using '--declarations'. (Bug#47408). + * lib-src/etags.c (test_objc_is_mercury, Mercury_functions) + (mercury_skip_comment, mercury_decl, mercury_pr): + Implement Mercury support. As Mercury and Objective-C have + the same file extension .m, a heuristic test tries to detect + the language. + + * doc/man/etags.1: Document the change. Add Mercury-specific + behavior for '--declarations'. This option tags first + predicates or functions in clauses in addition to declarations. + +2021-06-06 Paul W. Rankin + + src/nsterm.m: fix window tabbing on macOS + + * src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect + system-wide preferences + * etc/NEWS: add mention of native tab support in macOS and where + to specify system-wide setting + +2021-06-06 Michael Albinus + + * lisp/net/tramp.el (tramp-error): Make it a defun. + +2021-06-05 Jo達o T叩vora + + Consider environment vars in Fido's directory-aware RET binding + + (Bug#48782) + + * lisp/icomplete.el (icomplete-fido-ret): Consider environment + variables in dir expansion. + +2021-06-05 Alex Bochannek + + Fix Gnus summary exclusion when everything matches + + * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-recipient): + * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-subject): + (gnus-summary-limit-to-address, gnus-summary-limit-to-extra): + Don't claim that there aren't any matches when everything matches + an exclusion (bug#48834). + +2021-06-05 Stefan Monnier + + * src/keyboard.c (read_decoded_event_from_main_queue): Fix paren typo + + * lisp/mpc.el (mpc-intersection): Fix commit 1760029b0927242 + +2021-06-05 Eli Zaretskii + + Document the last change + + * doc/lispref/os.texi (Input Modes): Document the changes in the + values of the META flag. + + * etc/NEWS: Call out the change in input-meta-mode. + +2021-06-05 Max Mikhanosha + + Support terminal emulators that encode the Meta modifier as 8th bit + + See discussion starting at + + https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00034.html + + for the details. + * src/keyboard.c (read_decoded_event_from_main_queue): For + raw-text encoed input, if Meta bit is encoded, apply the Meta + modifier to single-byte characters that have the 0x80 bit set. + For input encoded otherwise, if the Meta bit is encoded, remove + the 0x80 bit after decoding the characters. + (tty_read_avail_input): Reset the 0x80 bit only if Meta bit is not + encoded. + (Fset_input_meta_mode): Support 'encoded' as the value of META. + (Fset_input_mode): Document 'encoded' for META. + (Fcurrent_input_mode): Support and document 'encoded' as the value + of META. + (syms_of_keyboard): DEFSYM 'encoded'. + +2021-06-05 Eli Zaretskii + + Fix slow operation of 'string-width' + + * src/composite.c (find_automatic_composition): Accept one + additional argument BACKLIM; don't look back in buffer or string + farther than that. Add an assertion for BACKLIM. + (composition_adjust_point, Ffind_composition_internal): Callers + adjusted. + * src/composite.h (find_automatic_composition): Adjust prototype. + * src/character.c (lisp_string_width): Call + 'find_automatic_composition' with the value of BACKLIM equal to POS, + to avoid costly and unnecessary search back in the string, since + those previous characters were already checked for automatic + compositions. (Bug#48734) (Bug#48839) + +2021-06-05 Eli Zaretskii + + Some additions to the TeX input method + + * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add some + rules from Unicode Technical Note 28 "UnicodeMath" v3.1. + +2021-06-05 Dmitry Gutov + + Make icomplete less blinky and more responsive + + * lisp/icomplete.el (icomplete-pre-command-hook, icomplete-tidy): + Remove, update the callers + (https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00111.html). + (icomplete-compute-delay): Change the default to 150ms. + (icomplete-max-delay-chars): Change the default to 2. + +2021-06-04 Tassilo Horn + + Ask if dir and subdir dired buffers be killed when deleting dir + + Previously, when you've had dired buffers + + ~/foo/ + ~/foo/bar/ + ~/foo/bar/baz/ + + and then deleted ~/foo/, dired (with dired-clean-up-buffers-too set to + non-nil) would only ask to delete the dired buffer of ~/foo/. Now it + will offer to delete all three buffers. + + * lisp/dired.el (dired-buffers-for-dir): Add optional argument SUBDIRS + which makes the function return also dired buffers showing a subdir of + DIR. + (dired-in-this-tree-p): Make obsolete in favor of file-in-directory-p + which actually does what the name suggest whereas dired-in-this-tree-p + is just string-matching on filenames which will fail with symlinks + filenames including ./ or ../. + +2021-06-04 Eli Zaretskii + + Fix documentation of a recent change. + + * etc/NEWS: + * doc/emacs/misc.texi (Invoking emacsclient): Fix a recent change. + (Bug#11358) + +2021-06-04 Stephen Berman + + Fix placement of point in Dired deletion operations + + * lisp/dired.el (dired-do-flagged-delete, dired-do-delete): Use + point-marker instead of point to record each file name position. + Clean up the markers before returning. + (dired-internal-do-deletions): Move to the file name marker, and + then move point to the file name to visually emphasize which file + is being operated on (bug#48805). + +2021-06-04 Harald Hanche-Olsen (tiny change) + + Add a new `server-edit-abort' command + + * doc/emacs/misc.texi (Invoking emacsclient): Document it (bug#11358). + + * lisp/server.el (server-edit): Mention it in the doc string. + (server-edit-abort): New command. + +2021-06-04 Lars Ingebrigtsen + + Revert "Make the `i' command in Info-mode remove duplicate matches" + + This reverts commit 089e0c4c55dcf72f9cf2f6f04b8a52fc7355499c. + + There were no duplicate entries -- there were two entries + for different things that referred to the same line. + +2021-06-04 Eli Zaretskii + + Fix documentation of recent 'windmove' changes + + * lisp/windmove.el (windmove-default-keybindings) + (windmove-display-default-keybindings) + (windmove-delete-default-keybindings) + (windmove-swap-states-default-keybindings): Improve doc strings. + (Bug#41438) + + * etc/NEWS: Fix a typo in the 'windmove' entry. + +2021-06-03 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Fix the case of 'M-y M-p' (bug#48478) + + Don't use offsets for read-from-kill-ring-history when kill-ring-yank-pointer + points to the last element of kill-ring. + +2021-06-03 Juri Linkov + + * lisp/help-fns.el (help--symbol-class): New function. + + Refactored from help--symbol-completion-table-affixation. + https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00066.html + +2021-06-03 Juri Linkov + + * etc/NEWS: Add windmove keybindings (bug#41438) + +2021-06-03 Philip Kaludercic + + Add user options for default windmove commands (bug#41438) + + * windmove.el (windmove--default-keybindings-type): Add type. + (windmove-default-keybindings): Add user option. + (windmove-display-default-keybindings): Add user option. + (windmove-delete-default-keybindings): Add user option. + (windmove-swap-states-default-keybindings): Add user option. + +2021-06-03 Philip Kaludercic + + Improve windmove-*-default-keybindings functions (bug#41438) + + * windmove.el (windmove-mode-map): Add special map for windmove commands. + (windmove-mode): Add minor mode for activating windmove-mode-map. + (windmove-install-defaults): Add general function for manipulating + windmove-mode-map. + (windmove-default-keybindings): Use windmove-install-defaults. + (windmove-display-default-keybindings): Use windmove-install-defaults. + (windmove-delete-default-keybindings): Use windmove-install-defaults. + (windmove-swap-states-default-keybindings): Use windmove-install-defaults. + +2021-06-03 Mattias Engdeg奪rd + + Constant-propagate (function SYMBOL) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p): + Consider #'SYMBOL a constant for compile-time propagation purposes. + +2021-06-03 Mattias Engdeg奪rd + + Optimise (cons X nil) to (list X) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-cons): New function. + +2021-06-03 Eli Zaretskii + + Fix fill-column-indicator on TTY frames + + * src/xdisp.c (extend_face_to_end_of_line): Fix calculation of + fill-column-indicator on TTY frames. Suggested by Jimmy Aguilar + Mena . + +2021-06-03 Eli Zaretskii + + More accurate highlighting of mis-spellings in Flyspell + + * lisp/textmodes/flyspell.el (flyspell-word): Highlight only the + misspelled word, not any extra characters after it. (Bug#5575) + +2021-06-03 Lars Ingebrigtsen + + Make the `i' command in Info-mode remove duplicate matches + + * lisp/info.el (Info-index): Weed out duplicate matched + (bug#3692). + +2021-06-03 Lars Ingebrigtsen + + Fix up previous hideif change to avoid a compilation warning + + * lisp/progmodes/hideif.el + (hide-ifdef-expand-reinclusion-protection): Move to avoid a + compilation warning. + +2021-06-03 Lars Ingebrigtsen + + fringe-mode doc clarifications + + * lisp/fringe.el (fringe-mode): + (fringe-mode): Note that this variable and command have nothing to + do with modes (bug#6931). + +2021-06-03 Luke Lee + + * lisp/progmodes/hideif.el: Fix initial version for new variables + + (hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook) + (hide-ifdef-evalulate-leave-hook): Fix initial version to 28.1. + (hide-ifdef-expand-reinclusion-protection): Obsolete since 28.1, + rename to `hide-ifdef-expand-reinclusion-guard' instead. + +2021-06-03 Lars Ingebrigtsen + + Fix problem with empty command histories in eshell and `erase' + + * lisp/eshell/em-hist.el (eshell-add-input-to-history): Protect + against an empty ring (bug#48770). + +2021-06-03 Eli Zaretskii + + * configure.ac: Clarify "smoke test" error message. (Bug#48804) + +2021-06-03 Lars Ingebrigtsen + + Cross-reference the message/error control variables + + * src/keyboard.c (syms_of_keyboard): Mention set-message-function + in the command-error-function doc string... + + * src/xdisp.c (syms_of_xdisp): ... and vice versa (bug#13752). + +2021-06-03 Eli Zaretskii + + * configure.ac: Improve error messages about libgccjit. + +2021-06-02 Tassilo Horn + + Allow opening buttonized URL with secondary browser in rcirc + + * lisp/net/browse-url.el (browse-url-button-open-url): Add autoload + cookie. + * lisp/net/rcirc.el (rcirc-markup-urls): Use + `browse-url-button-open-url' instead of just `browse-url' in order to + be able to use the secondary browser by giving a prefix arg. + +2021-06-02 Eli Zaretskii + + Fix a typo in 'produce_glyphless_glyph' + + * src/xdisp.c (produce_glyphless_glyph): Initialize lower_xoff. + Remove workaround for lack of its initialization. (Bug#8215) + +2021-06-02 Luke Lee + + * lisp/progmodes/hideif.el: update for new C++ standards and extensions + + Matching gcc/clang behavior on stringification including keeping the same + number of white spaces. C++11, C++14, C++17 and GCC literals extension are + supported. Preprocessing time floating point operation supported but limited + to Emacs internal representation which is C data type "double". Also support + some frequently used keywords like __LINE__, __TIME__, __DATE__ and so on. + + (hif-clear-all-ifdef-defined, hif-show-all, hif-after-revert-function) + (hide-ifdef-define, hide-ifdefs, show-ifdefs): interactive behavior changes, + mainly to allow operation within the marked region. + (hif-eval, hif-__LINE__, hif-__FILE__, hif-__COUNTER__, hif-__cplusplus) + (hif-__DATE__, hif-__TIME__, hif-__STDC__, hif-__STDC_VERSION__) + (hif-__STDC_HOST__, hif-__FILE__, hif-full-match, hif-is-number, hif-is-float) + (hif-delete-char-in-string, hif-string-to-decfloat, hif-string-to-hexfloat) + (hif-strtok, hif-is-white, hif-backward-comment, hif-split-signed-token) + (hif-keep-single, hif-display-macro): new functions. + (hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook) + (hide-ifdef-evalulate-leave-hook, hide-ifdef-evaluator, hif-predefine-alist) + (hif-numtype-suffix-regexp, hif-bin-regexp, hif-hex-regexp, hif-oct-regexp) + (hif-dec-regexp, hif-decfloat-regexp, hif-hexfloat-regexp) + (hif-unicode-prefix-regexp, hif-verbose-define-count): new constants or + variables. + (hif-macroref-regexp, hif-token-alist, hif-token-regexp) + (hif-string-literal-regexp): modified constants for faster regexp processing. + (hide-ifdef-expand-reinclusion-guard): renamed from + `hide-ifdef-expand-reinclusion-protection' to match commonly used term. + (hif-lookup, hif-defined, hif-string-to-number, hif-tokenize, hif-nextoken) + (hif-if-valid-identifier-p, hif-define-operator, hif-expand-token-list) + (hif-parse-exp, hif-math, hif-factor, hif-get-argument-list, hif-stringify) + (hif-token-concat, hif-mathify, hif-comma, hif-token-stringification) + (hif-token-concatenation, hif-macro-supply-arguments, hif-evaluate-macro) + (hif-find-define, hif-add-new-defines, hide-ifdef-guts, hif-undefine-symbol) + (hide-ifdef-set-define-alist, hide-ifdef-use-define-alist): modified functions + for new internal data representation, mainly for stringification and white + space preservation. Also better error handling to report source line number + and more informative error messages. + +2021-06-02 Lars Ingebrigtsen + + Fix ibuffer auto-shrinking windows + + * lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't shrink all + windows, just the ibuffer one (bug#7218). + +2021-06-02 Lars Ingebrigtsen + + Move point in dired buffers when handling a list of files + + * lisp/dired-aux.el (dired-create-files): Advance point to the + current file (bug#8015). + +2021-06-02 Alex Bochannek + + Add new user option to Gnus to allow `#' to toggle + + * doc/misc/gnus.texi (Marking Groups, Setting Process Marks): + Mention the new variable. + + * lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu. + (gnus-group-mark-group): Support the variable. + (gnus-group-mark-update): New command. + (gnus-group-unmark-group, gnus-group-mark-region): Pass in new + parameter. + + * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu. + (gnus-summary-mark-as-processable): Use the variable. + + * lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): (bug#48683). + + * lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable. + + * lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option. + +2021-06-01 Alan Third + + Improve performance of NS port's display on macOS + + * src/nsterm.h: Update EmacsSurface definition. + * src/nsterm.m ([EmacsView focusOnDrawingBuffer]): Don't change the + CGContext's settings directly. + ([EmacsView unfocusDrawingBuffer]): Don't release the context here. + (CACHE_MAX_SIZE): Add maximum cache size. + ([EmacsView updateLayer]): Send a request for getContext, which will + copy the buffer and create the context if it doesn't already exist, to + the NS run loop. + ([EmacsSurface initWithSize:ColorSpace:Scale:]): Add the scale factor + and if there's already a CGContext available, reuse it. + ([EmacsSurface dealloc]): No longer need to release lastSurface + separately. + ([EmacsSurface getContext]): Don't create more surfaces than we have + spaces for in the cache. + ([EmacsSurface releaseContext]): If there's no context don't try to + release it and put currentSurface back on the cache instead of + lastSurface. + ([EmacsSurface copyContentsTo:]): Don't try to copy if the source and + destination are actually the same surface. + +2021-06-01 Andrea Corallo + + * Add `native-compile-target-directory' (bug#48743) + + * lisp/emacs-lisp/comp.el (native-compile-target-directory): New + variable. + (comp-spill-lap-function): Make use of. + +2021-06-01 Andrea Corallo + + Rename batch-byte-native-compile-for-bootstrap (bug#48743) + + * lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap' + -> `batch-byte+native-compile. + * lisp/emacs-lisp/bytecomp.el (byte+native-compile) + (byte-compile-file): Rename + `batch-byte-native-compile-for-bootstrap' -> + `batch-byte+native-compile + `byte-native-for-bootstrap' -> + `byte+native-compile'. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) + (batch-native-compile, batch-byte+native-compile): Likewise. + * lisp/emacs-lisp/bytecomp.el (byte+native-compile) + (byte-compile-file): Likewise. + * test/src/comp-tests.el (comp-tests-bootstrap): Rename + `byte-native-for-bootstrap' -> `byte+native-compile'. + +2021-06-01 Glenn Morris + + Remove unnecessary function declaration in isearch + + * lisp/isearch.el (multi-isearch-switch-buffer): + Remove unnecessary declaration (after ldefs-boot update). + +2021-06-01 Andreas Schwab + + Avoid hang in nnimap-keepalive + + * lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptable. + +2021-06-01 Stefan Monnier + + * lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting + + Make sure we don't accidentally quote lambdas by embedding them within + quoted data. + + (gnus-visible-headers, gnus-emphasis-alist) + (gnus-mime-display-alternative, gnus-article-describe-bindings): + Unquote lambdas. + +2021-06-01 Jo達o T叩vora + + Add annotation capability to icomplete-vertical-mode + + Co-authored-by Daniel Mendler + + * lisp/icomplete.el (icomplete--affixate): New helper. + (icomplete--render-vertical): Use it. Rework. + (icomplete-completions): Pass md to icomplete--render-vertical. + +2021-06-01 Jo達o T叩vora + + Improve icomplete-vertical-mode and fido-vertical-mode + + This mode is intended to be used with Icomplete ('M-x icomplete-mode') + or Fido ('M-x fido-mode'), to display the list of completions + candidates vertically instead of horizontally. When used with + Icomplete, completions are rotated and selection kept at the top. + When used with Fido, completions scroll like a typical dropdown + widget. + + If the dropdown behaviour is desired for Icomplete (instead of + rotation), icomplete-scroll can be adjusted separately by the user. + + * etc/NEWS (icomplete-vertical-mode): Reword. + + * lisp/icomplete.el (simple): Require it. + (icomplete-selected-match): New face. + (icomplete-scroll): New user-visible var. + (icomplete-forward-completions): Rework. + (icomplete-backward-completions): Rework. + (icomplete--fido-mode-setup): Prefer icomplete-scroll according to + icomplete-vertical mode. + (icomplete-minibuffer-setup): Initialize icomplete--scrolled-completions. + (fido-vertical-mode): An alias for icomplete-vertical-mode. + (icomplete-exhibit): Init icomplete--scrolled-past. Adjust overlay. + (icomplete--render-vertical): New helper. + (icomplete--sorted-completions): If cache is stale, also + invalidate icomplete--scrolled-past. + (icomplete-completions): Rework. Mostly reformat. + + * lisp/simple.el (max-mini-window-lines): New helper. + (display-message-or-buffer): Use it. + +2021-06-01 Lars Ingebrigtsen + + Allow packages to change the hl-line overlay priority + + * lisp/hl-line.el (hl-line-overlay-priority): New variable + (bug#11509). + (hl-line-make-overlay): Use it. + +2021-06-01 Lars Ingebrigtsen + + Fix problem with `format-alist' marking all the text in the buffer + + * lisp/format.el (format-decode-run-method): Use it to avoid + marking the entire buffer (bug#11691). + + * lisp/simple.el (shell-command-on-region): Allow replacing text + without activating the mark. + +2021-06-01 Lars Ingebrigtsen + + Document `with-selected-frame' + + * doc/lispref/windows.texi (Selecting Windows): Document + `with-selected-frame' (bug#12075). + +2021-06-01 Lars Ingebrigtsen + + Obsolete `global-whitespace-newline-mode' + + * lisp/whitespace.el (global-whitespace-newline-mode): Make + obsolete since it doesn't work correctly, and seems superfluous + (bug#12496). + +2021-06-01 Lars Ingebrigtsen + + Add a new command `mailcap-view-file' + + * doc/misc/emacs-mime.texi (mailcap): Document it (bug#12972). + + * lisp/net/mailcap.el (mailcap-view-file): New command. + +2021-06-01 Lars Ingebrigtsen + + Fix documentation of literal `face' syntax in font-lock section + + * doc/lispref/modes.texi (Search-based Fontification): Fix + the literal `(0 (face ...))' syntax documentation (bug#13917). + +2021-06-01 Philip Kaludercic + + Improve random selection of keyservers + + * epa-ks.el (epa-keyserver): Interpret a list as a pool. + (epa-ks--query-url): Add new auxiliary function. + (epa-ks--fetch-key): Use epa-ks--query-url. + (epa-search-keys): Use epa-ks--query-url. + +2021-05-31 Juri Linkov + + * lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200 + + Suggested by Augusto Stoffel in bug#48581 + +2021-05-31 Andrea Corallo + + * Make *Async-native-compile-log* buffer read-only (bug#48763) + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Make + "*Async-native-compile-log*" read-only. + +2021-05-31 Alan Mackenzie + + Make frames record when their selected window was the mini-window + + When a frame in this state is selected again by Fselect_frame (but not by + Fselect_window), the mini-window rather than the frame's currently selected + window, is chosen for selection, should there still be an active minibuffer in + it. + + This fixes bug #48674. + + * src/frame.h (struct frame): Add new boolean field select_mini_window_flag. + + * src/frame.c (make_frame): Initialize select_mini_window_flag to false. + (do_switch_frame): Set the new flag appropriately for the old frame, and + process the new frame's setting of this flag, before setting it to false. + + * src/window.c (select_window): Set f->select_mini_window_flag to false. + (Fset_frame_selected_window, Fdelete_other_windows_internal) + (Fdelete_window_internal): Add comments clarifying that there is no clearing + of f->select_mini_window_flag in these functions. + +2021-05-31 Glenn Morris + + * src/keyboard.c (make_lispy_event): Fix previous. + +2021-05-31 Glenn Morris + + Merge from origin/emacs-27 + + 5dfa5e26dd (origin/emacs-27) Improve documentation of regexp ranges + +2021-05-31 Alan Mackenzie + + Correct mouse handling when window origin changes between down and up events + + Do this by using frame relative positions rather than window relative ones, + which gave rise to spurious drag events when the origin of the window changed + between the mouse down and up events. This fixes bug #48409. + + * keyboard.c (frame_relative_event_pos): New static variable. + (make_lispy_event): Record frame relative position of down event. When the up + event is in the same position, "move" this event into the window of the down + event when this window (typically a mini-window) is no longer under the mouse. + Call make_lispy_position a second time to generate this changed event. + (syms_of_keyboard): Declare Qwindow_edges. static_pro + frame_relative_event_pos. + +2021-05-31 Colin Woodbury (tiny change) + + Remove spurious @example from the elisp manual + + * doc/lispref/macros.texi (Defining Macros): Remove spurious extra + pair of @example/@end example. + +2021-05-31 Lars Ingebrigtsen + + Remove messaging in ediff-make-diff2-buffer + + * lisp/vc/ediff-diff.el (ediff-make-diff2-buffer): Remove message + that's often misleading when diffing buffers (that may be unsaved) + (bug#13091). + +2021-05-31 Lars Ingebrigtsen + + Put ELP results in a special-mode buffer + + * lisp/emacs-lisp/elp.el (elp-results): Make `q' work in ELP + results buffer (bug#14104). + (elp-results-mode): Define as an empty special mode derivation. + +2021-05-31 Lars Ingebrigtsen + + Make `menu-bar-select-buffer' obsolete + + * lisp/menu-bar.el (menu-bar-select-buffer): Make obsolete (bug#15651). + + * lisp/msb.el (msb--select-buffer): Move function here and rename. + (msb--make-keymap-menu): Use it. + +2021-05-31 Lars Ingebrigtsen + + Revert "Move menu-bar-select-buffer to msb.el" + + This reverts commit 253e52478c355dc29052c0d21013b8d06b473880. + + This is to be fixed in a different way in the next patch. + +2021-05-31 Lars Ingebrigtsen + + Use buffer-local-boundp in describe-variable + + * lisp/help-fns.el (describe-variable): Use `buffer-local-boundp'. + +2021-05-31 Lars Ingebrigtsen + + Add new convenience function `buffer-local-boundp' + + * doc/lispref/variables.texi (Creating Buffer-Local): Document it. + * lisp/subr.el (buffer-local-boundp): New function. + + * src/data.c (Flocal_variable_p): Mention it. + +2021-05-31 Daniel Mendler + + Speed up `describe-variable' completion predicate + + * lisp/help-fns.el (describe-variable): Do not switch to the original + buffer in the predicate (bug#48738). + +2021-05-31 Lars Ingebrigtsen + + Fix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined + + * lisp/xdg.el (xdg-mime-apps-files): Don't bug out when + XDG_CURRENT_DESKTOP is bound (bug#48748). + +2021-05-30 Philipp Stephani + + Document that the 'syntax-propertize-function' may move point. + + The functions generated by 'syntax-propertize-rules' don't use + 'save-excursion', but 'syntax-propertize' does, so we might as well + document that the 'syntax-propertize-function' may move point. + + * doc/lispref/syntax.texi (Syntax Properties): Document that the + 'syntax-propertize-function' may move point. + +2021-05-30 Philipp Stephani + + Give 'syntax-propertize-wholelines' a docstring. + + This function is generally useful. + + * lisp/emacs-lisp/syntax.el (syntax-propertize-wholelines): Add + docstring. + +2021-05-30 Stephen Gildea + + time-stamp: fix minor bug when parsing option combos + + * lisp/time-stamp.el (time-stamp-string-preprocess): Handle digit + options correctly to avoid overcounting colon options. + + * test/lisp/time-stamp-tests.el (time-stamp-format-time-zone-offset): + Add a new test case that would have caught the option-parsing error. + +2021-05-30 Stephen Gildea + + time-stamp: refactor time-stamp-string-preprocess + + * lisp/time-stamp.el (time-stamp-string-preprocess): Reduce lifetime of + some loop-local variables to be less error-prone. + +2021-05-30 Mauro Aranda + + Do not reset settings when disabling a theme + + * lisp/custom.el (disable-theme): Don't call custom-push-theme, since + that resets the theme settings and it isn't useful: we only need to + remove the theme setting from the themed variable or face. This fixes + a regression when "toggling" themes, introduced while fixing Bug#34027. + (Bug#48736) + +2021-05-30 Eli Zaretskii + + Improve documentation of regexp ranges + + * doc/lispref/searching.texi (Regexp Special): Document the effect + of using octal escapes in regexp ranges. (Bug#17758) + +2021-05-30 Eli Zaretskii + + Don't account for character compositions in 'format' and friends + + 'lisp_string_width' is called from 'format' and 'format-message', + which can be called both very early into Emacs initialization and in + other contexts where using the font backend is impossible or + undesirable. So this commit changes 'lisp_string_width' to try + accounting for automatic compositions only when explicitly requested, + and only 'string-width' does that; 'format' and 'format-message' + don't. + * src/character.c (lisp_string_width): Accept an additional + argument AUTO_COMP; attempt accounting for auto-compositions only + if that argument is non-zero. (Bug#48732) + * src/editfns.c (styled_format): + * src/character.c (Fstring_width): Callers of 'lisp_string_width' + adjusted. + +2021-05-30 Lars Ingebrigtsen + + Clarify that `symbol-file' only works for symbols in Lisp files + + * lisp/subr.el (symbol-file): Mention help-C-file-name in the doc + string (bug#14932). + +2021-05-30 Lars Ingebrigtsen + + Allow help-C-file-name to work on symbols designating subrs + + * lisp/help-fns.el (help-C-file-name): Allow working on symbols + designating subrs (bug#14932). + +2021-05-30 Lars Ingebrigtsen + + Fix kmacro-view-ring-2nd doc string + + * lisp/kmacro.el (kmacro-view-ring-2nd): Fix doc string (bug#15020). + +2021-05-30 Lars Ingebrigtsen + + Move menu-bar-select-buffer to msb.el + + * lisp/menu-bar.el (menu-bar-select-buffer): Move from + here... (bug#15651). + * lisp/msb.el (menu-bar-select-buffer): ... to here (which is the + only usage in-tree in Emacs). + +2021-05-30 Stephen Gildea + + time-stamp: improve unit-test coverage + + * test/lisp/time-stamp-tests.el (time-stamp-format-year-4digit, + time-stamp-format-ignored-modifiers): Improve coverage with more cases. + (time-stamp-format-multiple-conversions): New test. + +2021-05-30 Lars Ingebrigtsen + + `minibuffer-exit-hook' doc string clarification + + * src/minibuf.c (syms_of_minibuf): `minibuffer-exit-hook' is run + in the minubuffer usually, so don't claim that it's run after + (bug#16524). + +2021-05-30 Daniel Mart鱈n + + Add a new documentation group for overlays + + * lisp/emacs-lisp/shortdoc.el (overlay): Add documentation group for + buffer overlays(bug#48730). + +2021-05-30 Daniel Mart鱈n + + Improve the documentation of documentation groups + + * doc/lispref/help.texi (Documentation Groups): Fix typos and add an + example. + * lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): Add + :no-eval* and :result-string keywords to the docstring. (Bug#48730) + +2021-05-30 Lars Ingebrigtsen + + Tweak octave continuation indentation + + * lisp/progmodes/octave.el (octave-smie-rules): Further tweak + continuation indentation (bug#17955). + +2021-05-30 Eli Zaretskii + + Clarify indent-line-function doc string + + * lisp/indent.el (indent-line-function): Clarify by avoiding + specifics (bug#20846). + +2021-05-29 Stefan Monnier + + * lisp/mpc.el (mpc-format): Fix inf-loop in constructed predicate + +2021-05-29 Andreas Schwab + + * lisp/wdired.el (wdired-normalize-filename): Sync with + dired-get-filename. (Bug#48659) + +2021-05-29 Stefan Monnier + + * lisp/electric.el: Do auto-indent inside strings and comments by default + + This fixes bug#20846 where it transpired that there is no good reason + to shy away from auto-indenting inside comments and strings. + + (electric-indent-post-self-insert-function): Don't check syntax-ppss. + +2021-05-29 Keith David Bershatsky + + Improve tex fontification of quoted strings + + * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): Fontify + ``text like this'' that has an apostrophe correctly (bug#16881). + +2021-05-29 Eli Zaretskii + + Fix last change + + * lisp/international/quail.el (quail-add-unread-command-events): + Fix wording of the doc string. Move the rationale for the + function out of the doc string and into a comment. + +2021-05-29 Gregory Heytings + + Fix key recording bug when an input method is activated + + * lisp/international/quail.el (quail-add-unread-command-events): + New function. + (quail-start-translation, quail-start-conversion) + (quail-update-translation, quail-next-translation) + (quail-prev-translation, quail-next-translation-block) + (quail-prev-translation-block, quail-minibuffer-message): Use + 'quail-add-unread-command-events' (and partly revert commit + 03e3440dbb). (Bug#48042) + + * lisp/subr.el (inhibit--record-char): Now obsolete. + + * lisp/term/xterm.el (xterm--init): New function, with most of the + code of former 'terminal-init-xterm'. + (terminal-init-xterm): Clear the lossage after terminal + initialization (see Bug#44908). + (xterm--read-event-for-query): Do not use 'inhibit--record-char' + anymore (revert commit 3e6525d69f). + + * src/keyboard.c (syms_of_keyboard): Remove 'inhibit--record-char' + (partly revert 03e3440dbb). + (record_char, syms_of_keyboard_for_pdumper): Do not use + 'inhibit_record_char anymore'. + +2021-05-29 Mattias Engdeg奪rd + + Fix shortdoc examples + + Make sure that each example in shortdoc actually contains the function + it illustrates, and add a test for it. + + * lisp/emacs-lisp/shortdoc.el (string, list, buffer, number): + Use the right functions in examples for string-version-lessp, + lax-plist-put, point-min and ffloor. + * test/lisp/emacs-lisp/shortdoc-tests.el: New test file. + +2021-05-29 Lars Ingebrigtsen + + Add lambda to the pretty Ruby symbols list + + * lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add + lambda (bug#48681). + +2021-05-29 William Denton + + Add pretty symbols to ruby-mode + + * lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add + pretty symbols (bug#48681). + (ruby-mode): Use them. + +2021-05-29 Lars Ingebrigtsen + + Mention the recent floating point reader changes in NEWS + + * etc/NEWS: Mention the floating point reader changes (bug#48678). + +2021-05-29 Lars Ingebrigtsen + + Improve the dired-guess-shell-alist-user doc string + + * lisp/dired-x.el (dired-guess-shell-alist-user): Document how + REGEXP is used (bug#17251). + +2021-05-29 Lars Ingebrigtsen + + Fix folding of non-ASCII lines when printing to Postscript + + * lisp/ps-mule.el (ps-mule-plot-string): Fix folding of non-ASCII + Latin-1 lines (bug#17758). + +2021-05-29 Lars Ingebrigtsen + + Improve Octave indentation after continuation lines + + * lisp/progmodes/octave.el (octave-smie-rules): Indent + continuation lines better (bug#17955). + +2021-05-29 Lars Ingebrigtsen + + Improve the file-accessible-directory-p doc strin + + * src/fileio.c (Ffile_accessible_directory_p): Don't use the + phrase "directory name spec", which isn't defined (bug#18201). + +2021-05-29 Lars Ingebrigtsen + + Fix point movement in morse-region and nato-region + + * lisp/play/morse.el (morse-region): + (nato-region): Leave point after the translated region + (bug#18717). + +2021-05-29 Peter Oliver (tiny change) + + Rename emacs.appdata.xml to emacs.metainfo.xml and add more data + + * Makefile.in: Replace "appdata" with "metainfo". + + This is the name currently recommended by the spec at + . + + * etc/emacs.metainfo.xml: Populate more fields, based on those + available in + https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html + (bug#48662). + +2021-05-29 Lars Ingebrigtsen + + Revert "Continue checking the same line when hitting SPC in ispell" + + This reverts commit 390044f854fa103020ffca00eb1fe0e16805ad72. + + This breaks the `a' command, so it should be fixed in a different way. + +2021-05-28 Juri Linkov + + * lisp/outline.el (outline-font-lock-keywords): Fix highlight case (bug#48707) + +2021-05-28 Utkarsh Singh (tiny change) + + * lisp/outline.el (outline-minor-mode-highlight): Fix safe-local-variable. + +2021-05-28 Eli Zaretskii + + Another stability fix in 'lisp_string_width' + + * src/character.c (lisp_string_width): Compute C pointer to data + of STRING immediately before using it, since STRING could be + relocated by GC triggered by processing compositions. (Bug#48711) + +2021-05-28 Eli Zaretskii + + Attempt to fix segfaults caused by changes in 'lisp_string_width' + + * src/character.c (lisp_string_width): Validate the value of TO + argument before passing it to 'composition_gstring_width'. + (Bug#48711) + +2021-05-28 Lars Ingebrigtsen + + Improve previous frames.texi change + + * doc/emacs/frames.texi (Fonts): Use conf names instead of path + names (bug#19568). + +2021-05-28 Lars Ingebrigtsen + + Specify which Gsetting font names are used in the manual + + * doc/emacs/frames.texi (Fonts): Explicitly say what Gsettings + names are used (bug#19568). + +2021-05-28 Lars Ingebrigtsen + + Fix previous admin/emake change + +2021-05-28 Lars Ingebrigtsen + + Adjust admin/emake filters + + Recent changes have made etc/doc always be regenerated, so it's no + longer interesting. And all "git pull"s will make + + INFO Scraping files for cal-loaddefs.el... + INFO Scraping files for cal-loaddefs.el...done + + etc be output, so filter them, too. + +2021-05-28 Lars Ingebrigtsen + + Continue checking the same line when hitting SPC in ispell + + * lisp/textmodes/ispell.el (ispell-process-line): Continue + checking the same line when hitting SPC (bug#20543). + +2021-05-28 Daniel Mart鱈n + + Fix looking-at-p example in shortdoc.el + + * lisp/emacs-lisp/shortdoc.el (regexp): Use `looking-at-p' instead of + `looking-at' (bug#48709). + +2021-05-28 Alex Bochannek + + Mention the -e switch in an ange-ftp doc string + + * lisp/net/ange-ftp.el (ange-ftp-ftp-program-args): Mention the -e + switch (bug#48494). + +2021-05-28 Alex Bochannek + + Fix nnimap lexical conversion problem + + * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Fix problem + introduced when converting to lexical binding -- `set' alters the + dynamic value (bug#48577). + +2021-05-27 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Silence warnings + + (byte-optimize--lexvars): Move before first use instead of using `dlet` + on that first use. + +2021-05-27 Ingo Lohmar + + * lisp/progmodes/sql.el: Turn `sql-*-statement-starters' to defvars. + + These variables hold information on the SQL standard and + product-specific additions and should not be user-customizable. + +2021-05-27 Eli Zaretskii + + * src/character.c (lisp_string_width): Fix a typo in recent change. + +2021-05-27 Eli Zaretskii + + Fix resolution of symlinks during dumping + + * src/comp.c (Fcomp_el_to_eln_rel_filename): Don't use + 'file-truename', as it is only available once files.el is loaded, + which doesn't work during dumping, until loadup loads files.el. + Instead, use 'realpath'. (Bug#48578) + * src/w32.c (realpath): New function. + * src/w32.h (realpath): Add prototype. + + * nt/mingw-cfg.site (ac_cv_func_realpath) + (gl_cv_func_realpath_works): Define to "yes", as this function is + now implemented in w32.c. + +2021-05-27 Eli Zaretskii + + * src/character.c (lisp_string_width): Fix last change. + +2021-05-27 Mattias Engdeg奪rd + + Fix lexing of numbers with trailing decimal point and exponent + + Numbers with a trailing dot and an exponent were incorrectly read as + integers (with the exponent ignored) instead of the floats they should + be. For example, 1.e6 was read as the integer 1, not 1000000.0 as + every sane person would agree was meant. (Bug#48678) + + Numbers with a trailing dot but no exponent are still read as + integers. + + * src/lread.c (string_to_number): Fix float lexing. + * test/src/lread-tests.el (lread-float): Add test. + * doc/lispref/numbers.texi (Float Basics): Clarify syntax. + +2021-05-27 Mattias Engdeg奪rd + + Don't propagate lexical variables into inlined functions + + Functions compiled when inlined (thus from inside the optimiser) + mustn't retain the lexical environment of the caller or there will be + tears. See discussion at + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html . + + Bug found by Stefan Monnier. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): + Bind byte-optimize--lexvars to nil when re-entering the compiler + recursively. + * test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el: + * test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test. + +2021-05-27 Philipp Stephani + + * src/character.c (lisp_string_width): Add missing type checks. + +2021-05-27 Eli Zaretskii + + A better fix for 'string-width' + + * src/character.c (lisp_string_width): Compute the width when + automatic compositions can happen more accurately, by using the + pixel widths of the grapheme clusters, divided by the default + face's font width. Disregard the current state of + 'auto-composition-mode', for consistency with 'current-column' . + +2021-05-27 Deneb Meketa (tiny change) + + Fix filling of overlong first lines in Python doc strings + + * lisp/progmodes/python.el (python-fill-string): Fill overlong + first lines correctly (bug#20860). + +2021-05-27 Lars Ingebrigtsen + + Improve the prompting in read-directory-name + + * lisp/dired-x.el (dired-virtual): Improve doc string and use + `read-directory-name' (bug#20993). + +2021-05-27 Lars Ingebrigtsen + + Fix ediff message parsing in non-English locales + + * lisp/vc/ediff-diff.el (ediff-exec-process): Run diff in the C + locale to enable parsing the messages (bug#21387). + +2021-05-27 Juri Linkov + + * lisp/vc/diff-mode.el (diff-hunk-text): Test-driven fix for newlines. + + * lisp/vc/diff-mode.el (diff-hunk-text): Fix handling of newlines + to cover all test cases according to new test. + + * test/lisp/vc/diff-mode-tests.el (diff-mode-test-hunk-text-no-newline): + New test to cover cases with no newline at end of file. + +2021-05-26 Alex Bochannek + + Remove the base64 Face header repadding in Gnus + + * lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Remove call. + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Remove. + +2021-05-26 Karl Fogel + + Improve some doc strings in bookmark.el + + * lisp/bookmark.el (bookmark-bmenu-load): Describe prefix argument + behavior. Refer to related functions for more information. + (bookmark-bmenu-save): Likewise refer to related functions. + + As discussed in this thread: + + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00389.html + + From: Karl Fogel + To: Eli Zaretskii + Cc: Matthias Meulien, Drew Adams, Lars Ingebrigtsen, + Stefan Monnier, Emacs Devel + Subject: Re: [External] : Re: [PATCH] When deleting in bookmark menu, + prompt for confirmation. + Date: Sun, 09 May 2021 13:37:52 -0500 + Message-ID: <87h7jboirj.fsf@red-bean.com> + +2021-05-26 Eli Zaretskii + + Make 'string-width' auto-composition aware + + * src/composite.c (find_automatic_composition): Now extern. + (char_composable_p): Don't assume 'unicode-category-table' is + always available. + * src/composite.h (find_automatic_composition): Add prototype. + * src/character.c (lisp_string_width): Support automatic + compositions; call 'find_automatic_composition' when + 'auto-composition-mode' is ON. + +2021-05-26 Filipp Gunbin + + * src/sysdep.c (system_process_attributes): Fix misspelled Qttname for FreeBSD + +2021-05-26 Filipp Gunbin + + Improve system_process_attributes on macOS (Bug#48548) + + * src/sysdep.c (system_process_attributes): Fix misprint in 'tty' attr + - should be 'ttname' instead. Change 'utime', 'stime', 'time', + 'majflt' attrs to obtain them from proc_pid_rusage, as sysctl call + used before doesn't give correct values; remove 'minflt' because it's + not available. Obtain 'vsize' / 'rss' / 'thcount' from proc_pidinfo. + Use sysctl with KERN_PROCARGS2 to obtain args: value contains both + argc and argv, so argv can be reliably cut out. + +2021-05-26 Protesilaos Stavrou + + Remove modus-themes.org build date (bug#48661) + + * modus-themes.org: Delete Org macro of the current export date. + + This makes the manual reproducible between Emacs builds. + +2021-05-25 Juri Linkov + + * lisp/international/mule-cmds.el (mule--ucs-names-group): Better char check. + +2021-05-25 Tassilo Horn + + Make the Alacritty terminal an alias of xterm-256color + + * lisp/faces.el (term-file-aliases): Make the Alacritty terminal + an alias of xterm-256color (bug#48439). + +2021-05-25 Lars Ingebrigtsen + + Make hs-set-up-overlay into user option + + * lisp/progmodes/hideshow.el (hs-set-up-overlay): Make into + defcustom (bug#48513). + +2021-05-25 Stephen Leake + + Restore `ff-find-other-file' buffer selection logic + + * lisp/find-file.el (ff-find-other-file): Restore selection of + buffer changed by previous change (bug#48535). + +2021-05-25 Lars Ingebrigtsen + + Fix font and indentation of call-with-port in scheme-mode + + * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add + call-with-port (bug#48544). + (call-with-port): Indent correctly. + +2021-05-25 Lars Ingebrigtsen + + Handle syntactically invalid .dir-locals.el files better + + * lisp/files.el (dir-locals-read-from-dir): Handle syntactically + invalid .dir-locals.el files more gently (bug#48568). Give a + message instead of bugging out later. + +2021-05-25 Protesilaos Stavrou + + Update modus-themes to version 1.4.0 + + * doc/misc/modus-themes.org: + (Overview): Document good support for cases with red-green color + deficiency (deuteranopia). + (Customization Options): Add code block with sample configuration. + (Option for mode line presentation): Document new values. + (Option for completion framework aesthetics): Reword statements. + (Option for mail citations): Include new customization. + (Option for line highlighting (hl-line-mode)): Change description + of possible value. + (Option for diff buffer looks): Update the meaning of 'fg-only', + which now is an alias for 'fg-only-deuteranopia'. + (Option for org-mode block styles): Rename possible values. + (Cycle through arbitrary colors (DIY)): Include code samples for + demo case. + (Override colors (DIY)): Use correct symbol. + (Override color saturation (DIY)): Show how to combine manual and + automatic color overrides. + (Update Org block delimiter fontification (DIY)): Provide example. + (Load theme depending on time of day): Include missing "DIY" label. + (Full support for packages or face groups): Update list with + additions, removals. + (Indirectly covered packages): Update list. + (Notes for individual packages) + (Note on dimmer.el) + (Note on display-fill-column-indicator-mode) + (Note on mmm-mode.el background colors) + (Note on prism.el) + (Note on ERC escaped color sequences) + (Note on powerline or spaceline) + (Note on Helm grep) + (Note on EWW and Elfeed fonts (SHR fonts)): Stylistic change to + the heading. + (Note on inline Latex in Org buffers) + (Note on god-mode.el): Add note. + (Frequently Asked Questions (FAQ)): Include new section. + (Acknowledgements): Update list of contributors (bug#48647). + * etc/themes/modus-operandi-theme.el: Bump version number. + + * etc/themes/modus-themes.el: Add new defcustom forms and update + existing ones, edit doc strings, remove old obsolete aliases, + tweak internal functions, refine face specifications. + + * etc/themes/modus-vivendi-theme.el: Bump version number. + +2021-05-25 Gregory Heytings + + Do not switch to other window when minibuffer is selected + + * lisp/window.el (handle-select-window): Do not silently switch to + other window when minibuffer is selected and + mouse-autoselect-window is t (Bug#47969). + +2021-05-25 Lars Ingebrigtsen + + Restore `dired-do-create-files' return value + + * lisp/dired-aux.el (dired-do-create-files): Preserve the return + value from `dired-create-files', which is apparently an + undocumented feature used by dired-aux-tests.el (dired-test-bug30624). + +2021-05-25 Eli Zaretskii + + Fix documentation of a recent change + + * src/process.c (syms_of_process) : + Doc fix. + + * etc/NEWS: Reword the entry for 'process-prioritize-lower-fds'. + +2021-05-25 Lars Ingebrigtsen + + Update help-tests.el after minibuffer map change + +2021-05-25 Miha Rihtar邸i + + Try to not prioritise reading from lower file descriptors + + * src/process.c (wait_reading_process_output): When looping through + fds, continue from where we left off. + (syms_of_process): Vprocess_prioritize_lower_fds: New variable + (bug#48118). + +2021-05-25 Glenn Morris + + * doc/misc/cc-mode.texi: Remove hand-written node pointers (bug#48402). + +2021-05-25 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el: Make the build more reproducible + + (byte-compile-inline-expand): When inlining code from another file, + always inline the byte-code version of the function. + (byte-optimize--pcase): Simplify edebug spec. + +2021-05-25 Philipp Stephani + + Allow years in a copyright range to be separated by en dashes. + + * lisp/emacs-lisp/copyright.el (copyright-regexp) + (copyright-years-regexp, copyright-update-year) + (copyright-fix-years): Also include en dash. + + * test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New + test cases. + +2021-05-25 Jonas Bernoulli + + * lisp/transient.el: Update to package version 0.3.4. + +2021-05-25 Gregory Heytings + + Further improvements to completion-list-mode-map + + * doc/emacs/mini.texi (Completion Commands): Mention the change, + and mention the 'n' and 'p' keys bound to 'next-completion' and + 'previous-completion'. (bug#47699). + * lisp/minibuffer.el (minibuffer-local-completion-map): Change the + M-g key to M-g M-c. + + * lisp/simple.el (completion-list-mode-map): Change the M-g key to + M-g M-c. + (read-expression-map): Bind M-g M-c to + read-expression-switch-to-completions. + (read-expression-switch-to-completions): New function. + +2021-05-25 Gregory Heytings + + Improve completion-list-mode-map + + * doc/emacs/mini.texi (Completion Commands): Mention it. + + * lisp/minibuffer.el (minibuffer-local-completion-map): Add the M-g key + for switch-to-completion (bug#47699). + + * lisp/simple.el (completion-list-mode-map): Make special-mode-map its + parent, unbind the 'g' revert key, add the 'n' and 'p' keys for + next-completion and previous-completion, and the M-g key for + switch-to-minibuffer. + (switch-to-minibuffer): New function. + +2021-05-25 Gregory Heytings + + Use correct face when pulsing in CEDET + + * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Use + pulse-highlight-face, not pulse-highlight-start-face (bug#47810). + +2021-05-25 Gregory Heytings + + Consider all user-defined bitmaps in gui_init_fringe() + + * src/fringe.c (gui_init_fringe): Consider user-defined bitmaps + that override default ones (bug#47832). + +2021-05-25 Gregory Heytings + + Fix infloop in Modula-2 mode + + * lisp/progmodes/modula2.el (m2-smie-refine-colon): Stop looping + when point does not move with forward-sexp (Bug#48011). + +2021-05-25 Amin Bandali + + * lisp/erc/erc-services.el: Fix newly-added Libera.Chat entry (bug#48529). + +2021-05-25 Gregory Heytings + + Fix bug when moving directories to trash + + * lisp/files.el (move-file-to-trash): Pass the correct dir-flag to + make-temp-file so that a directory is created when a directory is + being trashed (Bug#47960). + +2021-05-24 Corwin Brust (tiny change) + + Add Libera.chat to `erc-nickserv-alist' + + * lisp/erc/erc-services.el (erc-nickserv-alist): Add support for + the Libera chat. + +2021-05-24 Glenn Morris + + Tweak c-mode bug reporting address + + * lisp/progmodes/cc-mode.el (c-mode-help-address): + Switch to bug-gnu-emacs. This is an alias for the previous + submit@debbugs address, except that if no Package header can be found, + as often seems to happen for cc-mode reports, debbugs will assign + the report to the "emacs" package rather than to "debbugs.gnu.org". + +2021-05-23 Philipp Stephani + + Fix find invocation for macOS (Bug#48471). + + * lisp/progmodes/project.el (project--files-in-directory): Instead of + appending a slash (which doesn't work well with macOS find), remove + trailing slash and pass -H instead. + +2021-05-23 Michael Albinus + + Adapt tramp-archive-autoload-file-name-handler + + * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): + Bind `default-directory' to safe value. + +2021-05-22 Juri Linkov + + * src/editfns.c (Finsert_char): Add docstring reference to read-char-by-name. + +2021-05-22 Tassilo Horn + + Document bug-reference setup for 3rd-party packages + + * doc/emacs/maintaining.texi (Bug Reference): Add section explaining + adding support for third-party packages. + * lisp/progmodes/bug-reference.el (bug-reference-maybe-setup-from-vc) + (bug-reference-maybe-setup-from-mail) + (bug-reference-maybe-setup-from-irc): Rename from + bug-reference--maybe-setup-from-*, i.e., un-privatize them because + they are advertised in the docs now. + +2021-05-22 Glenn Morris + + Merge from origin/emacs-27 + + 30e5d93ee1 (origin/emacs-27) Improve documentation of display tables + 8804ac857b * src/buffer.c (syms_of_buffer) : Doc fix. (Bu... + +2021-05-22 Glenn Morris + + * doc/emacs/maintaining.texi (Bug Reference): Fix cross refs. + + "First argument to cross-reference may not be empty." (makeinfo 4). + +2021-05-22 Michael Albinus + + Fix bug#48476 + + * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): + Add implementation. + + * lisp/net/tramp-integration.el (tramp-rename-files) + (tramp-rename-these-files): Declare them. + + * lisp/net/tramp.el (tramp-autoload-file-name-handler): + Load tramp-archive.el if needed. (Bug#48476) + + * test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load): + Extend test. + + Use #' syntax for function symbols. + +2021-05-22 Stefan Monnier + + * lisp/emacs-lisp/subr-x.el (if-let*, if-let): Use looser Edebug spec + + This makes the same spec work both for `if-let` and `when-let`. + + (when-let*, and-let*, when-let): Simplify accordingly. + +2021-05-22 Basil L. Contovounesios + + Fix native-comp-async-report-warnings-errors :type + + * doc/lispref/compile.texi (Native-Compilation Variables): Document + 'silent' alternative of native-comp-async-report-warnings-errors. + * lisp/emacs-lisp/comp.el + (native-comp-async-report-warnings-errors): Fix quoting in + :type expression (bug#48586). + +2021-05-22 Philipp Stephani + + Give 'when-let' and 'when-let*' their own Edebug specification. + + The Edebug specification of 'if-let' and 'if-let*' doesn't work if the + body is empty. While that's a pathological case, it's not wrong per + se, and could arguably happen due to macro expansion. + + * lisp/emacs-lisp/subr-x.el (when-let*, when-let): Don't reuse Edebug + specification from 'if-let*' and 'if-let'. + +2021-05-22 Philipp Stephani + + * lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec + +2021-05-21 Tassilo Horn + + Add documentation about bug-reference auto-setup. + + * doc/emacs/maintaining.texi (Bug Reference): Add documentation about + the automatic setup. + * lisp/progmodes/bug-reference.el + (bug-reference-setup-from-irc-alist): Remove doubling in docstring. + +2021-05-21 Eric Abrahamsen + + Robustify parsing of gnus-search search results + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Look + for a "process finished" tag, and don't choke on mis-parsed lines. + +2021-05-21 Juri Linkov + + * lisp/dired-aux.el (dired-do-revert-buffer): New defcustom (bug#48456). + + (dired-do-create-files): Use it. + +2021-05-21 Juri Linkov + + * lisp/simple.el (yank-from-kill-ring): Fix kill-ring-yank-pointer (bug#48478) + +2021-05-21 Michael Albinus + + Adapt native-comp entries in gitlab-ci.yml + + * test/infra/gitlab-ci.yml (stages): New stages native-comp-images + and native-comp. + (build-native-bootstrap-speed0): Simplify. + (build-native-bootstrap-speed1, build-native-bootstrap-speed2): + Deactivate temporarily. + + * test/infra/gitlab-ci.yml (.build-template): Add 'needs:' clause. + (.native-comp-template): New template. + (build-native-bootstrap-speed0): Use it. + +2021-05-21 Eli Zaretskii + + Avoid byte-compiler warning during bootstrap + + * lisp/isearch.el (multi-isearch-switch-buffer): Avoid + byte-compiler warning. + +2021-05-21 Michael Albinus + + Rearrange nativecomp tests for EMBA + + * test/infra/Dockerfile.emba (emacs-native-comp-speed0): + Add recipe. + + * test/infra/gitlab-ci.yml (stages): New stages native-comp-images + and native-comp. + (build-native-bootstrap-speed0): Simplify. + (build-native-bootstrap-speed1, build-native-bootstrap-speed2): + Deactivate temporarily. + +2021-05-21 Eli Zaretskii + + Improve documentation of display tables + + * doc/lispref/display.texi (Display Tables): Add a cross-reference + to the next section. + +2021-05-21 Andrea Corallo + + * Fix ahead-of-time native compilation for out-of-tree builds (bug#48497) + + * src/comp.c (Fcomp_el_to_eln_rel_filename): Expand + 'PATH_DUMPLOADSEARCH' while computing 'loadsearch_re_list'. + +2021-05-21 Eli Zaretskii + + * src/buffer.c (syms_of_buffer) : Doc fix. (Bug#48539) + +2021-05-20 Juri Linkov + + * lisp/help.el (describe-bindings-outline): New defcustom (bug#45147). + + (describe-bindings): Use describe-bindings-outline. + (describe-bindings-internal): Remove function obsolete since 24.4. + +2021-05-20 Juri Linkov + + * lisp/vc/diff-mode.el (diff-hunk-text): Handle better "\ No newline at end". + +2021-05-20 Juri Linkov + + Fix off-by-one inconsistency of 'M-y C-y' (bug#48478). + + * lisp/simple.el (read-from-kill-ring): Increment kill-ring-yank-pointer by 1. + (yank-from-kill-ring): Don't increment kill-ring-yank-pointer by 1. + +2021-05-20 Juri Linkov + + * lisp/international/mule-cmds.el: Use group-function in read-char-by-name. + + (mule--ucs-names-group): Simplify for using by group-function. + (read-char-by-name-group): Remove defcustom + obsoleted by completions-group. + (read-char-by-name): Mention completions-group and + completions-group-sort in docstring. Use group-function when + completions-group is non-nil. + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00791.html + +2021-05-20 Daniel Mendler + + (minibuffer-completion-help): Add group sorting + + Sort the groups as returned by the `group-function` of the completion + table depending on the value of the customizable variable + `completions-group-sort`. By default `completions-group-sort` is set + to nil. The variable can be set to the symbol `alphabetical` in order + to configure alphabetical sorting. Furthermore, a custom sorting + function can be used as value of `completions-group-sort`. + + * lisp/minibuffer.el (completions-group-sort): New variable. + (minibuffer--group-by): Add SORT-FUN argument. + (minibuffer-completion-help): Pass `completions-group-sort` to + `minibuffer--group-by`. + +2021-05-20 Daniel Mendler + + (completion--insert-vertical): Separate groups completely + + Insert the candidates vertically within the groups, but keep the + groups separate using the full width group separators. + + * minibuffer.el (completion--insert-vertical): Adjust grouping. + +2021-05-20 Daniel Mendler + + (minibuffer-completion-help): Do not check `completions-group` centrally + + The guard variable `completions-group` should be checked in each + completion table individually. The guard variable + `completions-detailed` variable is used in the same way. + + * minibuffer.el (minibuffer-completion-help): Remove check of + `completions-group`. + +2021-05-20 Daniel Mendler + + (completion--insert-strings): Split function; Full group title support + + Split `completion--insert-strings` into a function per completions + format in order to increase readability and extensibility. This + change eases the addition of more formats. Add support for group + titles to the vertical and horizontal formatting functions. + + * minibuffer.el (completion--insert): Add new function. + (completion--insert-vertical, completion--insert-horizontal, + completion--insert-one-column): Extract function from + `completion--insert-strings`. Use new function `completion--insert`. + (completion--insert-strings): Use new insertion functions. + +2021-05-20 Daniel Mendler + + (completing-read): Add `group-function` to the completion metadata + + A completion table can specify a `group-function` in its metadata. + The group function takes two arguments, a completion candidate and a + transform argument. The group function is used to group the + candidates after sorting and to enhance the completion UI with group + titles. + + If the transform argument is nil, the function must return the title + of the group to which the completion candidate belongs. The function + may also return nil if the candidate does not belong to a group. + + If the transform argument is non-nil, the function must return the + transformed candidate. For example, the transformation allows to + remove a redundant part of the candidate, which is then displayed in + the title. + + The grouping functionality is guarded by the customizable variable + `completions-group` and turned off by default for the *Completions* + buffer. + + The specific form of the `group-function` has been chosen in order to + allow allocation-free grouping. This is important for completion UIs, + which continously update the displayed set of candidates (Icomplete, + Vertico, Ivy, etc.). Only when the transform argument is non-nil the + candidate transformation is performed, which may involve a string + allocation as done in the function `xref--completing-read-group`. + + The function `xref-show-definitions-completing-read` makes use of the + `group-function`, by moving the file name prefix to the title. If + grouping is enabled, the *Completions* are displayed as + "linenum:summary" instead of "file:linenum:summary". This way the + *Completions* buffer resembles the *Occur* buffer. + + * doc/lispref/minibuf.texi: Add documentation. + + * lisp/minibuffer.el (completion-metadata): Describe the + `group-function` in the docstring. + (completions-group): Add guard variable, off by default. + (completions-group-format): Add variable defining the format string + for the group titles. + (completions-group-title): Add face used by `completions-group-format` + for the group titles. + (completions-group-separator): Add face used by + `completions-group-format` for the group separator lines. + (minibuffer--group-by): New grouping function. + (minibuffer-completion-help): Use it. + (display-completion-list): Add optional GROUP-FUN argument. + (completion--insert-strings): Add optional GROUP-FUN argument. Insert + group titles if `completions-format` is `one-column`. Transform each + candidate with the GROUP-FUN. Attach the untransformed candidate to + the property `completion--string`. + + * lisp/simple.el (choose-completion): Retrieve the untransformed + completion candidate from the property `completion--string`. + + * lisp/progmodes/xref.el: + (xref--completing-read-group): New grouping function. + (xref-show-definitions-completing-read): Use it. + +2021-05-20 Michael Albinus + + * doc/emacs/maintaining.texi (Bug Reference): Add debbugs-browse-mode. + +2021-05-20 Eli Zaretskii + + Improve documentation of 'etags' tests + + * test/manual/etags/README: New file. (Bug#46055) + + * test/README: Mention separate README files for tests in the + 'manual' subdirectory + +2021-05-20 Eli Zaretskii + + Fix arg-out-of-range errors in 'line-number-at-pos' + + * src/fns.c (Fline_number_at_pos): Pass character position to + args_out_of_range. Suggested by Andreas Schwab + . Call args_out_of_range_3 to show both + ends of the accessible portion. + +2021-05-20 Eli Zaretskii + + Make sure gmalloc's hybrid_free preserves errno + + * src/gmalloc.c (hybrid_free_1): New function, with the body of + the previous 'hybrid_free'. + (hybrid_free): Call 'hybrid_free_1' while preserving the value of + 'errno'. Suggested by Paul Eggert . + +2021-05-20 Eli Zaretskii + + Clean up the fix for unexec build on GNU/Linux + + * src/conf_post.h [HYBRID_MALLOC || DARWIN_OS && HAVE_UNEXEC]: + Include here, before redirecting 'malloc' and friends + to their hybrid_* and unexec_* equivalents. #undef malloc and + friends before redefining. Provide prototypes for the + replacements. Suggested by Paul Eggert . + * src/gmalloc.c [HYBRID_MALLOC]: Remove declarations of 'malloc' + and friends, as they are now redundant: we include in + conf_post.h before redefining 'malloc' etc., and that provides + prototypes from system headers. + + * configure.ac (HYBRID_MALLOC): Remove kludge to avoid replacement + of 'free' by Gnulib. (Bug#36649) + +2021-05-19 Tassilo Horn + + Add a section about bug-reference-mode. + + * doc/emacs/maintaining.texi (Maintaining): Add a section about + bug-reference-mode. + * doc/emacs/emacs.texi (Top): Link to the new section about + bug-reference-mode. + +2021-05-19 Juri Linkov + + * lisp/simple.el (yank-from-kill-ring-rotate): New defcustom (bug#48478). + + (read-from-kill-ring, yank-from-kill-ring): Use it. + +2021-05-19 Eli Zaretskii + + Fix rare failures in 'window-default-font-height' + + * lisp/window.el (window-default-font-height): Avoid signaling an + error when a client TTY frame happens to have an X-style 'display' + parameter. (Bug#48408) + +2021-05-19 Eli Zaretskii + + * lisp/startup.el (command-line-1): Avoid byte-compiler warning. + +2021-05-19 Glenn Morris + + Fix custom type of recent dired-aux additions + + * lisp/dired-aux.el (dired-compress-file-default-suffix) + (dired-compress-directory-default-suffix): Fix :type. + +2021-05-19 Stefan Monnier + + * lisp/kmacro.el (kmacro-lambda-form): Fix bug#48523 + + Re-add `counter` and `format` arguments, since they are used in + `insert-kbd-macro`. + +2021-05-19 Eli Zaretskii + + Fix the unexec build on GNU/Linux + + The unexec build on GNU/Linux must use HYBRID_MALLOC (gmalloc.c) and + sheap.c. This was inadvertently disabled because a configure-time + test for 'sbrk' was moved as side effect of an unrelated change. + + * configure.ac: Test for 'sbrk' before using the result in the + decision about SYSTEM_MALLOC and HYBRID_MALLOC. + (HYBRID_MALLOC): Prevent Gnulib from redirecting 'free' to its + replacement 'rpl_free'. + + * lib/Makefile.in (not_emacs_OBJECTS): Add mallooc/%.o and free.o. + +2021-05-19 Ingo Lohmar + + * lisp/progmodes/sql.el: `sql-postgres-statement-starters' defcustom + + Recognize common table expression as statement start in Postgres. + +2021-05-19 Mauro Aranda + + Lift restriction for finding theme summary line + + * lisp/cus-theme.el (custom-theme-summary): Don't limit the file to + having the deftheme form as the very first form, rather look for the + deftheme form explicitly. + +2021-05-19 Martin Rudalics + + Fix recently introduced misbehavior of `quit-restore-window' (Bug#48493) + + * lisp/window.el (quit-restore-window): Unconditionally call + `switch-to-prev-buffer' (Bug#48493). + +2021-05-19 Stefan Monnier + + * lisp/progmodes/js.el (js--make-framework-matcher): Use a closure + +2021-05-19 Stefan Monnier + + * lisp/progmodes/gud.el (gud-tooltip-tips): Use proper closures + + Also prefer #' to quote function names. + + (jdb): Fix $ => \'. + +2021-05-19 Stefan Monnier + + * lisp/org/org-timer.el (org-timer--run-countdown-timer): Use closures + +2021-05-19 Stefan Monnier + + * lisp/org/org-mouse.el: Make use of lexical scoping + + (org-mouse-todo-menu): Simplify by eta-reduction. + (org-mouse-popup-global-menu): Remove redundant `eval`. + (org-mouse-keyword-menu, org-mouse-keyword-replace-menu) + (org-mouse-tag-menu, org-mouse-match-closure): Use proper closures. + +2021-05-19 Stefan Monnier + + * lisp/org/org-colview.el (org-columns-map): Use proper closures + + Also prefer #' to quote function names. + + (org-columns-map): Use derived-mode-p. + +2021-05-19 Stefan Monnier + + * lisp/org/org-clock.el (org-clock-get-table-data): Use proper closures + + Also, prefer #' to quote function names + +2021-05-19 Stefan Monnier + + * lisp/net/sieve-manage.el (sieve-sasl-auth): Use proper closures + + * lisp/net/shr.el (shr-image-displayer): Use proper closures + +2021-05-19 Stefan Monnier + + * lisp/net/imap.el (imap-mailbox-close): Use proper closures + + Also, remove redundant `:group` args, and prefer #' to quote function names + +2021-05-19 Stefan Monnier + + * lisp/net/eudc.el (eudc-menu): Use proper closures + +2021-05-19 Stefan Monnier + + * lisp/net/browse-url.el: Avoid `(lambda ..) + + (browse-url-netscape, browse-url-mozilla, browse-url-galeon) + (browse-url-epiphany, browse-url-elinks): Use proper closures. + +2021-05-19 Stefan Monnier + + * lisp/misearch.el (multi-isearch-push-state): Use proper closures + +2021-05-19 Stefan Monnier + + * lisp/menu-bar.el: Avoid `(lambda + + (menu-bar-buffer-vector, menu-bar-update-buffers): Use proper closures. + +2021-05-19 Stefan Monnier + + * lisp/info.el (Info-isearch-push-state): Use proper closures + + * lisp/imenu.el (imenu--create-keymap): Use proper closures + + * lisp/find-dired.el (find-dired): Use a proper closure + + * lisp/facemenu.el (facemenu-add-new-face): Use `:documentation` + +2021-05-18 Stefan Monnier + + * lisp/eshell/em-pred.el: Take advantage of lexical scoping + + Also remove redundant `:group` arguments. + + (eshell-parse-modifiers): Make sure we pass a function value. + (eshell-parse-arg-modifier, eshell-parse-modifiers) + (eshell-add-pred-func, eshell-pred-user-or-group) + (eshell-pred-file-time, eshell-pred-file-type, eshell-pred-file-mode) + (eshell-pred-file-links, eshell-pred-file-size) + (eshell-pred-substitute, eshell-include-members, eshell-join-members) + (eshell-split-members): Use proper closures. + +2021-05-18 Juri Linkov + + * doc/emacs/basic.texi (Repeating): Document repeat-exit-timeout (bug#48472). + +2021-05-18 Stefan Monnier + + * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closure + +2021-05-18 Juri Linkov + + * lisp/repeat.el (repeat-exit-timeout): New defcustom (bug#48472). + + (repeat-exit-timer): New variable. + (repeat-post-hook): Run idle timer with an "exit function" + returned from set-transient-map. + Suggested by Gustavo Barros . + + (repeat-echo-message): Remove own previous message when input arg is nil. + + * lisp/window.el (display-buffer-override-next-command): Return exitfun. + +2021-05-18 Stefan Monnier + + * lisp/calendar/cal-menu.el (cal-menu-holidays-menu): Use a proper closure + +2021-05-18 Juri Linkov + + * lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers. + + (lisp-outline-level): Return right levels starting from 1 instead of 5. + Suggested by Howard Melman in bug#46878. + +2021-05-18 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Add new arg PROMPT (bug#48478). + + * lisp/simple.el (yank-pop, yank-from-kill-ring): + * lisp/isearch.el (isearch-yank-from-kill-ring): + Use arg PROMPT in the call read-from-kill-ring. + +2021-05-18 Philipp Stephani + + Recreate symptom of Bug#42701. + + The fix to Bug#48489 (commit 9676d41b8301b84e07717e633059a3f2b5c4c9d8) + has masked the symptom of Bug#42701 for 'if-let'. Create a helper + macro that still exemplifies the bug. + + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests--duplicate-symbol-backtrack): New helper macro. + (edebug-tests-duplicate-symbol-backtrack): Use it instead of 'if-let'. + +2021-05-18 Lars Ingebrigtsen + + Fix some regressions introduced by the previous dired-aux change + + * lisp/dired-aux.el (dired-compress-file): Check that the file + we're compressing exists. Also work outside the current directory. + +2021-05-18 Basil L. Contovounesios + + Look for ElDoc buffer in all visible frames + + * lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p): + Look for a window displaying the ElDoc documentation buffer in all + visible frames, as promised by the user option + eldoc-echo-area-prefer-doc-buffer (bug#48278). + +2021-05-18 Miha Rihtar邸i + + Fix problem with focusing in `C-o' in ibuffer in some circumstances + + * lisp/ibuffer.el (ibuffer-visit-buffer-other-window-noselect): + Use display-buffer instead of pop-to-buffer and selecting the old + window. `pop-to-buffer' focuses the new frame, but + `select-window' usually fails to focus the original frame. This + simple patch fixes that (bug#48218). + +2021-05-18 Gong Qijian (tiny change) + + Fix `custom-delayed-init-variables' problem when re-dumping emacs + + * lisp/startup.el (command-line): Don't bug out on redumping Emacs + (bug#48492). + +2021-05-18 Stefan Monnier + + * lisp/kmacro.el: Fix test cases broken by last change + + (kmacro-lambda-form): Remove unused args `counter` and `format`. + Arrange to be able to extract `mac` from the function. + (kmacro-extract-lambda): Use this new extraction instead of digging + into the guts of a function's code. + +2021-05-18 Alexandr Vityazev (tiny change) + + Fix the length= shortdoc example + + * lisp/emacs-lisp/shortdoc.el (list): Fix the length= example + (bug#48495). + +2021-05-18 Eli Zaretskii + + Revert "* lisp/bookmark.el: make bookmark-fontify nil default value" + + This reverts commit ed8c3303f945fbd2c16ece0e87d041c75ae05ff9. + +2021-05-18 Mattias Engdeg奪rd + + Fix pcase 'rx' patterns with a single named submatch (bug#48477) + + pcase 'rx' patterns with a single named submatch, like + + (rx (let x "a")) + + would always succeed because of an over-optimistic transformation. + Patterns with 0 or more than 1 named submatches were not affected. + + Reported by Philipp Stephani. + + * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): + Special case for a single named submatch. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests. + +2021-05-18 Paul W. Rankin + + * lisp/bookmark.el: make bookmark-fontify nil default value + +2021-05-18 Philipp Stephani + + * lisp/emacs-lisp/subr-x.el (if-let): Swap &or branches (Bug#48489) + +2021-05-18 Stefan Monnier + + * lisp/kmacro.el: Avoid the dynbound dialect of ELisp + + (kmacro-call-macro, kmacro-lambda-form): Use proper closures. + (kmacro-keymap): Prefer #' top quote function names. + +2021-05-18 Dmitry Gutov + + Visually truncate excessively long lines in Xref + + * lisp/progmodes/xref.el (xref-truncation-width): New option. + (xref--apply-truncation): New function. + (xref--insert-xrefs): Use it (bug#46859). + +2021-05-17 Eli Zaretskii + + Fix the etags test suite + + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: + * test/manual/etags/CTAGS.good: Adjust to addition test.rs. + +2021-05-17 Lars Ingebrigtsen + + Add an etags test for Rust (bug#46055) + +2021-05-17 Eli Zaretskii + + Update the etags/ctags test files + + * test/manual/etags/ETAGS.good_1: + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: + * test/manual/etags/CTAGS.good: Adjust to current codebase. + +2021-05-17 Sun Lin + + Allow specifying the default archive types to compress to in Dired + + * lisp/dired-aux.el (dired-compress-file-default-suffix): + (dired-compress-directory-default-suffix): New user options + (bug#47119). + (dired-compress-file-alist): New variable. + + * lisp/dired-aux.el (dired-compress-file): Use them. + (dired-compress-file-suffixes): Remove the directory item. + +2021-05-17 Pierre-Antoine Rouby + + Add support for Rust in etags + + * lib-src/etags.c (Rust_functions): New function to make tags for rust + files. + (Rust_help, Rust_suffixes): New constant. + * doc/emacs/maintaining.texi (Tag Syntax): Add Rust item. + * doc/man/etags.1: Add Rust (bug#46055). + +2021-05-17 Eli Zaretskii + + Avoid crashes in condition-case + + * src/eval.c (internal_lisp_condition_case): Don't take XCAR + without making sure the value is a cons cell. (Bug#48479) + +2021-05-17 Lars Ingebrigtsen + + Mention *-nov-is-evil in the Extra Headers Gnus manual section + + * doc/misc/gnus.texi (To From Newsgroups): Mention nov-is-evil. + +2021-05-17 Eli Zaretskii + + Improve documentation of new behavior of 'M-y' + + * lisp/minibuffer.el (minibuffer-local-map): Switch the order of + '\r' and '\n' bindings. + * lisp/simple.el (yank-pop, read-from-kill-ring) + (yank-from-kill-ring): Doc fixes. + + * doc/emacs/search.texi (Isearch Yank): + * doc/emacs/killing.texi (Yanking): Improve the description of the + new functionality of 'M-y'. + * doc/lispref/text.texi (Yank Commands): Remove inaccurate + description of 'M-y' in Isearch. + + * etc/NEWS: Improve the wording of 'M-y' entry. + +2021-05-17 Philipp Stephani + + Add a unit test to reproduce Bug#48471. + + * test/lisp/progmodes/project-tests.el (project-tests--trivial) + (project-root, project-ignores): New test project type. + (project-ignores): New unit test. + +2021-05-17 Philipp Stephani + + Fix a few Edebug specifications where code is wrapped in lambdas. + + As the Info node `(elisp) Specification List' explains, it is not + correct to use `body' or t for a piece of code that the macro wraps in + a `lambda' form. These should use `def-body' instead. + + * lisp/info-xref.el (info-xref-with-file): + * lisp/subr.el (subr--with-wrapper-hook-no-warnings, track-mouse) + (combine-change-calls, with-eval-after-load): + * lisp/emacs-lisp/bytecomp.el (displaying-byte-compile-warnings): + * lisp/emacs-lisp/cl-macs.el (cl-do-symbols, cl-progv): + * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): + * lisp/emacs-lisp/gv.el (gv-letplace): + * lisp/emacs-lisp/nadvice.el (define-advice): + * lisp/emacs-lisp/thunk.el (thunk-delay): + * lisp/vc/vc-dispatcher.el (vc-run-delayed): Use 'def-body' instead of + t or 'body' where applicable. + + * lisp/emacs-lisp/package.el (package--with-response-buffer): Remove + evaluation of the body altogether. I have no idea how to write it + correctly in this case. + +2021-05-16 Eric Abrahamsen + + Add a 'silent option for native-comp-async-report-warnings-errors + + * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors): + Set to 'silent to log warnings, but not pop up the *Warnings* buffer. + * lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output): + Check value. + +2021-05-16 Eric Abrahamsen + + Use condition-case-unless-debug in nnselect-run + + * lisp/gnus/nnselect.el (nnselect-run): This is confusing for users, + make it more yielding to common debugging strategies. + +2021-05-16 Eric Abrahamsen + + Fix function signature for gnus-search-indexed-parse-output + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Generic + function arg list didn't match the method arglist, which made for + confusing function help. + +2021-05-16 Lars Ingebrigtsen + + mouse-wheel-progressive-speed doc string clarification + + * lisp/mwheel.el (mouse-wheel-progressive-speed): Doc string + improvement (bug#45322). + +2021-05-16 Ingo Lohmar + + prepend newline in sqli buffer + + (sql-remove-continuation-prompt, sql-send-string): Move newline + insertion. + + Previously, the preoutput filter `sql-remove-continuation-prompt' + inserted a leading newline in the interactive SQL buffer if it decided + that is has to remove continuation prompts and that it had found all + it was looking for. + + 1) This filter function was a doubtful place to do that (arguably, its + name does not suggest any action like this). + 2) The behavior worked inconsistently, eg, when sending a single-line + "SELECT" statement, because it only ran when the filter function + needed to remove any prompts (for example, not when sending a + region without newlines). + + This can lead to misaligned table headers, which explains why + emacswiki and stackoverflow both present several fixes to this + behavior. + +2021-05-16 Tassilo Horn + + Add bug-reference-mode-force-auto-setup + + * lisp/progmodes/bug-reference.el + (bug-reference-try-setup-from-rmail): Match the Rmail mbox filename + against GROUP-REGEXP in bug-reference-setup-from-mail-alist. + (bug-reference-mode-force-auto-setup): New function which forces + auto-setup even if bug-reference-bug-regexp and + bug-reference-url-format are already set. + +2021-05-16 Dario Gjorgjevski + + Add more completion tests + + * test/lisp/minibuffer-tests.el (completion--pcm-score) + (completion--pcm-first-difference-pos): New helpers. + (completion-pcm-test-1, completion-pcm-test-2) + (completion-pcm-test-3, completion-pcm-test-4) + (completion-pcm-test-5, completion-pcm-test-6) + (completion-substring-test-1, completion-substring-test-2) + (completion-substring-test-3, completion-substring-test-4) + (completion-flex-test-1, completion-flex-test-2) + (completion-flex-test-3): New tests (bug#42149) + +2021-05-16 Sebastian Urban (tiny change) + + Improve some quotation quoting in the Emacs manual + + * doc/emacs/text.texi (Quotation Marks, Quotation Marks): + * doc/emacs/display.texi (Text Display): Fix some issues when + quoting quote marks and the like (bug#35885). + + * doc/emacs/emacs.texi: Switch on double-sided printing headings. + +2021-05-16 Noam Postavsky + + Remove unreliable test for match data clobbering + + * src/search.c (Freplace_match): Don't test for change in search_regs + start and end, this is unreliable if change hooks modify text earlier + in the buffer (bug#35264). + +2021-05-16 Philipp Stephani + + Optimize calls to 'eql', 'memql' and similar for fixnums. + + It's good practice to compare integers using 'eql' because two bignum + objects representing the same integer might not be 'eq'. However, + 'eql' is slower and doesn't have its own byte code. Therefore, + replace it with 'eq' if one argument is guaranteed to be a fixnum on + all platforms. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--fixnump): New helper + function. + (byte-optimize-equal, byte-optimize-member, byte-optimize-assoc): Use + it to optimize 'eql' etc. to 'eq' if it will always compare fixnums. + +2021-05-16 Michael Albinus + + Fix handling of stderr buffer in Tramp's make-process (Bug#47861) + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): + Reimplement stderr buffer handling. (Bug#47861) + (tramp-maybe-open-connection): Improve traces. + + * test/lisp/net/tramp-tests.el (tramp-test30-make-process): + Rework for stderr buffer. + +2021-05-16 Tassilo Horn + + Bug reference auto-setup for Rmail + + * lisp/progmodes/bug-reference.el + (bug-reference-try-setup-from-rmail): New function setting up + `bug-reference-mode' from the current Rmail message. + +2021-05-15 Dmitry Gutov + + Update CSS completion tests + + * test/lisp/textmodes/css-mode-tests.el (css-test-complete-pseudo-class) + (css-test-complete-pseudo-element): Update the tests for recent changes. + +2021-05-15 Tassilo Horn + + Refactor bug-reference setup functions into a defvar + + * lisp/progmodes/bug-reference.el + (bug-reference-auto-setup-functions): New defvar so that other + packages can add their own auto-setup functions to it. + * lisp/progmodes/bug-reference.el (bug-reference--run-auto-setup): Use + the new variable instead of hard-coding the 4 functions we've had + already. + +2021-05-15 Eli Zaretskii + + Fix segfaults when byte-compiling with native-compilation + + * src/emacs.c (main): Call 'set_initial_minibuffer_mode' before + entering recursive-exit. + * src/minibuf.c (init_minibuf_once_for_pdumper): Don't call + 'set_minibuffer_mode' here... + (set_initial_minibuffer_mode): ... set it in this new function. + (Bug#48446) + * src/lisp.h: Add prototype for 'set_initial_minibuffer_mode'. + +2021-05-15 Alan Mackenzie + + Miscellaneous corrections to src/minibuf.c for bug #48337 + + * src/minibuf.c (read_minibuf): Call get_minibuffer before incrementing + minibuf_level, in case a hook function calls Factive_minibuffer_window. + (init_minibuf_once_for_pdumper): Create *Minibuf-0* here (moved from + init_minibuf_once), and set its mode, so that clicking in the mini-window + immediately after start up works (thanks, Eli Z.). + +2021-05-15 Eli Zaretskii + + Fix launching net-utils on MS-Windows + + * lisp/net/net-utils.el (net-utils-run-simple): Bind + coding-system-for-read around the code which starts the process. + (Bug#48375) + +2021-05-15 pillule (tiny change) + + Fix `quit-restore-window' when all previous buffers got killed (Bug#48367) + + * lisp/window.el (quit-restore-window): Simplify calculation of + WINDOW's previous buffer. Avoid that killing WINDOW's previous + buffers results in a state where `quit-window' has no more + effect, by simply deleting WINDOW in that case (Bug#48367). + +2021-05-15 Daniel Semyonov (tiny change) + + Mairix: use 'mairix-search-options' as documented + + * lisp/net/mairix.el (mairix-call-mairix): Append + 'mairix-search-options' to the arguments passed to mairix. + +2021-05-15 Daniel Semyonov (tiny change) + + Mairix: autoload main interactive functions + + * lisp/net/mairix.el (mairix-search, mairix-use-saved-search) + (mairix-edit-saved-searches-customize, mairix-search-from-this-article) + (mairix-search-thread-this-article, mairix-widget-search-based-on-article) + (mairix-edit-saved-searches, mairix-widget-search, mairix-update-database): + Add magic autoload comment. + +2021-05-15 Eli Zaretskii + + Improve doc string of 'log-edit-generate-changelog-from-diff' + + * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): + Improve the doc string. (Bug#48269) + +2021-05-15 Martin Rudalics + + Have X builds handle VisibilityNotify events (Bug#48268, Bug#48413) + + * src/xterm.c (handle_one_xevent): Handle VisibilityNotify + events (Bug#48268, Bug#48413). + +2021-05-15 Dmitry Gutov + + Add :company-kind support to nxml-mode completion + + * lisp/nxml/rng-nxml.el (rng-complete-tag) + (rng-complete-attribute-name, rng-complete-attribute-value): + Support :company-kind. + +2021-05-15 Dmitry Gutov + + Add :company-kind support to sh-mode completion + + * lisp/progmodes/sh-script.el (sh--completion-keywords): + New variable. + (sh--cmd-completion-table): Extracted from here. + (sh-completion-at-point-function): Add :company-kind. + +2021-05-15 Dmitry Gutov + + Include colons in the completion strings + + * lisp/textmodes/css-mode.el + (css--complete-pseudo-element-or-class): + Include colons in the completion strings. That's simply the nicer + behavior (e.g. someone typing : will see pseudo-elements in + completions as well), and by the standards, the colons are part of + their names anyway (of pseudo-elements and classes). + +2021-05-15 Dmitry Gutov + + Add :company-kind support to css-mode completion + + * lisp/textmodes/css-mode.el (css--complete-pseudo-element-or-class) + (css--complete-property-value, css-completion-at-point) + (css--complete-at-rule): Add :company-kind properties, to annotate + completions with kinds returned in each case. + +2021-05-14 Lars Ingebrigtsen + + Make the M-x obsoletion check more robust + + * lisp/simple.el (read-extended-command): Make the obsoletion + check more robust. + +2021-05-14 Alan Mackenzie + + Various detailed fixes to minibuf.c, etc., to fix bug #48337 + + Also fix some unsafe coding. + + * lisp/window.el (push-window-buffer-onto-prev): New function, extracted from + (record-window-buffer): Refactor by extracting the above, and removing the now + redundant parameter DO-MINIBUF. + + * src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Replace calls to + get_minibuffer (0) by nth_minibuffer (0). Replace calls to + Qrecord_window_buffer by calls to Qpush_window_buffer_onto_prev. + (Factive_minibuffer_window, read_minibuf_unwind): Call abort_emacs should an + "impossible" null value be returned by nth_minibuffer. + (read_minibuf): Move the get_minibuffer_call to just after the incrementation + of minibuf_level as a precaution against a missing buffer in + Vminibuffer_list. + (nth_minibuffer): Replace XCAR by Fcar, to allow (car nil) to work. + (init_minibuf_once): Create the inactive buffer *Minibuf-0*. + (syms_of_minibuf): New DEFSYM, Qpush_window_buffer_onto_prev. + + * src/window.c (restore_window_configuration): Replace some XCARs and XCDRs + by Fcar_safe and Fcdr_safe. + +2021-05-13 Glenn Morris + + * doc/misc/calc.texi: Remove most hand-written node pointers. + + The complex, conditional node layout makes this one of the very + few cases that can't be done entirely automatically. + +2021-05-13 Glenn Morris + + Remove more hand-written node pointers in doc/misc + + * doc/misc/ede.texi, doc/misc/mh-e.texi, doc/misc/reftex.texi: + * doc/misc/todo-mode.texi: Remove hand-written node pointers. + +2021-05-13 Glenn Morris + + * doc/misc/epa.texi: Remove hand-written node pointers. + +2021-05-13 Glenn Morris + + Merge from origin/emacs-27 + + bcd92b5708 (origin/emacs-27) Improve documentation of Hexl mode + c233f4eccd ; * etc/NEWS: Fix decoded-time-set-defaults typo. + 4c3abb3dd1 Fix compilation errors with latest w32 API headers + 127f1f330b Improve doc strings in log-edit.el + e36183ff46 ; * etc/TODO (etc/DOC): Update the todo entries. + + # Conflicts: + # etc/NEWS + +2021-05-13 Glenn Morris + + * doc/misc/epa.texi: Fix @nodes in previous change. + +2021-05-13 Michael Albinus + + Improve Tramp traces + + * lisp/net/tramp-cmds.el (tramp-list-tramp-buffers): + List also trace buffers. + + * lisp/net/tramp.el (tramp-buffer-name): + Add `tramp-suppress-trace' property. + (tramp-get-debug-file-name): Fix docstring. + (tramp-trace-buffer-name): New defun. + (tramp-trace-functions): New defvar. + (tramp-debug-message): Obey also `tramp-trace-functions'. + + * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case): + Handle trace buffer accordingly. + +2021-05-13 dickmao + + Process sentinels need to work under X and commandline + + * src/process.c (add_non_keyboard_read_fd): Make this a public function. + (add_process_read_fd): Fold old, static add_non_keyboard_read_fd guts + into here. + * src/xsmfns.c (ice_conn_watch_CB): Call add_non_keyboard_read_fd + (bug#43834). + +2021-05-13 Eli Zaretskii + + Fix vertical cursor motion across tall text or small images + + 'line-move-partial' should in general leave it to the display + engine to scroll or recenter the window due to vertical motion of + the cursor. The only purpose of this function is to produce + vscroll suitable for scrolling across large (relatively to the + window's height) images, where moving by display lines is not + appropriate. + + * src/xdisp.c (Fdisplay__line_is_continued_p): New primitive. + + * lisp/simple.el (line-move-partial): Call + 'display--line-is-continued-p' to decide whether to leave it to + redisplay to scroll the window as appropriate. (Bug#48170) + +2021-05-13 Michael Albinus + + Fix bug#48349 in file-name-non-special + + * lisp/files.el (file-name-non-special): Use Tramp file name + handler only in case of `copy-file', 'rename-file' and + `copy-directory'. (Bug#48349) + +2021-05-13 Stefan Kangas + + Document `package-quickstart' in the user manual + + * doc/emacs/package.texi (Package Installation): Document + `package-quickstart' (bug#44748). + +2021-05-13 Nicol叩s B辿rtolo + + Make searching for files faster under Windows + + * src/lread.c (openp): Use faccessat to check that a file exists + before opening it on Windows (bug#41646). This speeds up + searching for files. + +2021-05-13 Stefan Kangas + + Don't consider obsolete commands for completion in some cases + + * lisp/simple.el (read-extended-command): Exclude obsolete commands + that are either lacking a 'current-name' or were obsoleted in a + previous major version (bug#43300). + + (There's been some back and forth here. Obsolete commands used to be + treated normally for completion, and then they were removed. Then + they were put back again, but annotated with what they were + obsoleting. There was some pushback on this change, so this latest + changes is a compromise between the last two states.) + +2021-05-13 Radon Rosborough + + Use an explicit line width of 1 on hollow cursors under X + + * src/xterm.c (x_draw_hollow_cursor): Specify a line width of + 1 explicitly to avoid problems on some X implementations (bug#42452). + +2021-05-13 Eli Zaretskii + + * src/image.c (xpm_image_p): Avoid another compiler warning. + + * src/image.c: Avoid compiler warnings in Cairo builds without XPM. + +2021-05-12 Tom Gillespie + + Fix evaluation order for hack-local-variables + + * lisp/files.el (hack-local-variables): Fix the ordering which + local variables are evaluated by `hack-local-variables' so that + prop-line local variables are evaluated first. There is a hidden + nreverse lurking in `hack-local-variables-apply' which means that + the prop line variables must come second in order to be evaluated + before the end of file variables. + +2021-05-12 Philip K + + Don't mark interactive commands as internal functions + + * lisp/epa-ks.el (epa-ks-search-mode-map): Rename commands from + "--" to "-" throughout. + +2021-05-12 Eli Zaretskii + + Improve doc strings and prompt in epa-ks.el + + * lisp/epa-ks.el (epa-ks--mark-key-to-fetch, epa-ks--fetch-key) + (epa-search-keys): Doc fixes. + (epa-ks-do-key-to-fetch): Better wording for the fetch prompt. + +2021-05-12 Lars Ingebrigtsen + + Even further `text-property-search-forward' clarifications + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward): Further doc string clarifications. + +2021-05-12 Lars Ingebrigtsen + + Update email address in epa-ks.el + +2021-05-12 Philip K + + All a GPG key server client + + * lisp/epa-ks.el (epa-keyserver): New file (bug#39886). + * doc/misc/epa.texi (Quick start): Mention it. + (Querying a key server): Document it. + +2021-05-12 Lars Ingebrigtsen + + Fix `uniquify-managed' unbounded growth + + * lisp/uniquify.el (uniquify-rationalize-file-buffer-names): + Protect against exponential `uniquify-managed' growth when + reverting several (more than two) buffers that have the same file + name (bug#36877). + +2021-05-12 Lars Ingebrigtsen + + Further corrections for the text-property-search doc strings + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward): Correct doc string. + (text-property-search-backward): Ditto. + +2021-05-12 Lars Ingebrigtsen + + Tweak indentation of #foo in js-mode + + * lisp/progmodes/js.el (js--proper-indentation): Indent #define + (etc) to column 0, but otherwise indent #foo normally (bug#47488). + +2021-05-12 Lars Ingebrigtsen + + Remove unused variable in rmail.el + + * lisp/mail/rmail.el (rmail-reply): Remove unused lexical variable + introduced in previous patch. + +2021-05-12 Eli Zaretskii + + Fix the tests for 'string-limit' + + * test/lisp/emacs-lisp/subr-x-tests.el (subr-string-limit-coding): + Fix the expected results of string-limit when encoding with + UTF-16. Add tests for UTF-8 with BOM. (Bug#48324) + + * lisp/emacs-lisp/subr-x.el (string-limit): Add FIXME comment + about the current implementation, which is faulty by design. + +2021-05-12 Jim Porter + + Abbreviate rgrep command on MS Windows (bug#48302) + + * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): + Adapt regexp to match MS Windows-style shell-quoting. + + * test/lisp/progmodes/grep-tests.el: New file. + +2021-05-12 Martin Rudalics + + Handle Bug#24526 without breaking Emacs on tiling WMs (Bug#48268) + + Since tiling window managers may react allergically to resize + requests immediately following MapNotify events on X, make sure + that such requests are issued only when a new frame should not + become visible and a size has been explicitly requested for it. + + * lisp/faces.el (x-create-frame-with-faces): Mark frame as + 'was-invisible' if it should be initially invisible or iconified + and has its size specified explicitly. + * src/frame.c (make_frame): Initialize new frame's was_invisible + flag. + (Fframe__set_was_invisible): New internal function. + * src/frame.h (struct frame): Specify size of new_size_p slot. + New flag was_invisible. + * src/w32fns.c (Fx_create_frame) + * src/nsfns.m (Fx_create_frame) + * src/xfns.c (Fx_create_frame): Set new frame's was_invisible + flag. + * src/xterm.c (handle_one_xevent): Call xg_frame_set_char_size + after a PropertyNotify or MapNotify event only if F's + was_invisible flag was set. + +2021-05-12 Richard Stallman + + Avoid querying in a noninteractive Emacs. + + * lisp/mail/sendmail.el (mail-send): In noninteractive Emacs, + don't ask about combining header fields. + +2021-05-12 Richard Stallman + + Handle empty string as mail-header-separator + + * lisp/mail/sendmail.el (mail-mode): + (mail-sendmail-undelimit-header): Handle mail-header-separator empty. + (mail-send): Search for mail-header-separator as entire contents of line. + +2021-05-12 Richard Stallman + + Handle multi-line FROM. + + * lisp/mail/rmailsum.el (rmail-header-summary): Handle multi-line FROM. + +2021-05-12 Richard Stallman + + Little improvements in rmail.el. Recognize encryped override headers. + + * lisp/mail/rmail.el (rmail-simplified-subject): Delete `[External] :'. + (rmail-reply): In encrypted message, search for other header fields + inside the encrypted part, and use them instead of the real header. + (rmail-epa-decrypt): Don't set MIME unless it's Rmail mode. + +2021-05-12 Richard Stallman + + Use rfc822-goto-eoh rather that mail-header-separator. + + * lisp/epa-mail.el (epa-mail-sign) + (epa-mail-default-recipients, epa-mail-encrypt): + Use rfc822-goto-eoh, not mail-header-separator. + (epa-mail-default-recipients): Assume epa-mail-aliases + elements are lower case, search case-independently. + +2021-05-11 Eli Zaretskii + + Move the Text Properties menu back to Edit + + * lisp/textmodes/enriched.el (enriched-mode): Don't add "Text + Properties" sub-menu to Text mode menu. + * lisp/facemenu.el (menu-bar-edit-menu): Add "Text Properties" + sub-menu back to the Edit menu. + +2021-05-11 Lars Ingebrigtsen + + Remove purecopy throughout facemenu.el (since it's not preloaded) + +2021-05-11 Lars Ingebrigtsen + + Move facemenu to enriched mode + + * lisp/menu-bar.el (menu-bar-edit-menu): Move from here... + + * lisp/textmodes/enriched.el (enriched-mode): ... to here. + +2021-05-11 Tassilo Horn + + Fix dired confirm message asking to kill buffers of deleted dir (bug#48301) + + * lisp/dired.el (dired-clean-up-after-deletion): Fix dired + confirmation message asking to kill buffers of deleted dir in the case + where `dired-listing-switches' contain -p (bug#48301). + +2021-05-11 Stefan Monnier + + * lisp/font-lock.el: Fix `font-lock-comment-end-skip` fallback (bug#34088) + + (font-lock-fontify-syntactically-region): Use `comment-end-skip` as + fallback for `font-lock-comment-end-skip`, as is done for + `font-lock-comment-start-skip` (and as the name suggests). + + * lisp/progmodes/opascal.el (opascal-mode): Revert last change, + made unnecessary. + +2021-05-11 Eli Zaretskii + + Improve documentation of Hexl mode + + * doc/emacs/misc.texi (Editing Binary Files): Explain that Hexl can + also be used for editing text, including non-ASCII text. + +2021-05-11 Andrea Corallo + + Rename comp-deferred-compilation + + * lisp/progmodes/elisp-mode.el + (emacs-lisp-native-compile-and-load): Rename + comp-deferred-compilation -> native-comp-deferred-compilation. + * src/comp.c (maybe_defer_native_compilation, syms_of_comp): + Likewise. + +2021-05-11 Andrea Corallo + + * Rename comp-deferred-compilation-deny-list + + * lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list) + (native-compile-async-skip-p): Rename + comp-deferred-compilation-deny-list -> + native-comp-deferred-compilation-deny-list. + +2021-05-11 Eli Zaretskii + + Mention native compilation in the user manual + + * doc/emacs/building.texi (Lisp Libraries): Mention native + compilation. + +2021-05-11 Stefan Kangas + + Fix exiting Emacs when savehist-file not writable + + * lisp/savehist.el (savehist-save): Show warning when 'savehist-file' + is not writable. (Bug#34093) + (savehist--has-given-file-warning): New variable. + +2021-05-11 Lars Ingebrigtsen + + Fix comment end delimiter fontification in OPascal mode + + * lisp/progmodes/opascal.el (opascal-mode): Fontify the ending + brace with `font-lock-comment-delimiter-face' correctly (bug#34088). + +2021-05-11 Eli Zaretskii + + Fix assertions in nth_minibuffer + + * src/minibuf.c (nth_minibuffer): Avoid assertion violation when + DEPTHth minibuffer doesn't exist. (Bug#48337) + +2021-05-11 Lars Ingebrigtsen + + `text-property-search-forward' doc string improvement + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward): Correct and clarify the doc string + (bug#48317). + +2021-05-11 Eli Zaretskii + + Fix Hexl handling of coding-systems with BOM + + * lisp/international/mule-cmds.el (encode-coding-char): If + CODING-SYSTEM produces BOM, remove the BOM bytes from the produced + byte sequence. (Bug#48324) + + * lisp/hexl.el (hexl-mode): Use bufferpos-to-filepos to convert + point to offset into the original file. + (hexl-mode-exit, hexl-maybe-dehexlify-buffer): Use + filepos-to-bufferpos to restore point in the original buffer. + (hexl-mode, hexl-insert-multibyte-char) + (hexl-self-insert-command, hexl-insert-hex-char) + (hexl-insert-decimal-char, hexl-insert-octal-char) + (hexl-find-file): Enhance the doc strings, mainly explaining the + complications of inserting multibyte characters. + (hexl-insert-multibyte-char): Don't treat CH as unibyte if the + coding-system isn't ASCII-compatible. Don't treat null bytes as + multibyte. + +2021-05-11 Glenn Morris + + * doc/misc/erc.texi (Connecting): Fix cross reference. + +2021-05-11 Amin Bandali + + Tweak documentation relating to 'erc-tls' + + * doc/misc/erc.texi (Connecting): Add a reference to the auth manual. + * etc/NEWS: Remove the verbose, detailed example of client certificate + specification and refer to the ERC manual instead. + * lisp/erc/erc.el (erc-tls): Fix leftover path example in docstring. + +2021-05-10 Glenn Morris + + * lib/Makefile.in (maintainer-clean): Fully ignore rmdir errors. + +2021-05-10 Glenn Morris + + * Makefile.in: Simplify maintainer-clean. + + (maintainer_clean_dirs): Remove. + (maintainer-clean): Don't duplicate clean by running bootstrap-clean, + which can lead to issues with parallel clean. + +2021-05-10 Glenn Morris + + * test/src/emacs-module-tests.el (mod-test-file): Unbreak out-of-tree. + + * test/Makefile.in (clean): Remove generated mml-sec file. + +2021-05-10 Glenn Morris + + Always include the test/ directory in tarfiles + + In hindsight, it's hard to see why not including it was ever an option. + * make-dist: Always include the test/ directory. + (with_tests): Remove. + (--tests, --no-tests): Make these options no-ops. + * Makefile.in (mostlyclean_dirs, maintainer_clean_dirs): Add "test". + (mostlyclean, clean, distclean, maintainer-clean): + Remove special-casing for "test". + ($(CHECK_TARGETS)): Simplify. + +2021-05-10 Michael Albinus + + Extend meaning of UNIQUIFY `auto-save-file-name-transforms'. (Bug#47493) + + * doc/lispref/backups.texi (Auto-Saving): Explain UNIQUIFY being a + secure hash in auto-save-file-name-transforms. + + * etc/NEWS: Mention change in `auto-save-file-name-transforms'. + + * lisp/files.el (auto-save-file-name-transforms): Adapt docstring. + (make-auto-save-file-name): Care, if UNIQ is a secure hash symbol. + +2021-05-10 Mauro Aranda + + Avoid saving session customizations in the custom-file + + * lisp/custom.el (custom-theme-recalc-variable): Only stash theme + settings for void variables. + (custom-declare-variable): After initializing a variable, unstash a + theme setting, if present. + (disable-theme): When disabling a theme, maybe unstash a theme + setting. + + * test/lisp/custom-resources/custom--test-theme.el: Add two settings + for testing the fix. + +2021-05-10 Lars Ingebrigtsen + + Always heed the `lexical-binding' local variable + + * doc/lispref/variables.texi (File Local Variables): Document + `permanently-enabled-local-variables'. + + * lisp/files.el (enable-local-variables): Mention the new variable. + (set-auto-mode): Always call `hack-local-variables'. + (hack-local-variables): Factor out the variable gathering into its + own function, and respect the new variable (bug#47843). + (hack-local-variables--find-variables): Factored out from + `hack-local-variables'. + (permanently-enabled-local-variables): New variable. + +2021-05-10 Glenn Morris + + * lib-src/Makefile.in (clean): Tidy up seccomp-filter files. + + * test/Makefile.in (SUBDIRS, subdir_template): Fix out-of-tree. + +2021-05-10 Glenn Morris + + Small fixes for out-of-tree clean rules. + + * Makefile.in (top_maintainer_clean, extraclean): Fix out-of-tree. + +2021-05-10 Glenn Morris + + Small fixes for Makefile clean rules + + * Makefile.in (maintainer-clean): Move some items from extraclean. + (extraclean): doc/emacs already deletes emacsver.texi. + +2021-05-10 Glenn Morris + + Base the "extraclean" Make rule on "maintainer-clean" + + * Makefile.in (FIND_DELETE): New, set by configure. + (extraclean_dirs): Remove. + (extraclean): Make it just a small variation on maintainer-clean. + * admin/charsets/Makefile.in (extraclean): + * admin/grammars/Makefile.in (extraclean): + * admin/unidata/Makefile.in (extraclean): + * leim/Makefile.in (extraclean): + * lib-src/Makefile.in (extraclean): + * lisp/Makefile.in (extraclean): + * lwlib/Makefile.in (extraclean): + * nt/Makefile.in (extraclean): + * src/Makefile.in (extraclean): Remove target. + * lib/Makefile.in (extraclean): Merge into maintainer-clean. + +2021-05-09 Juri Linkov + + * lisp/misearch.el (multi-isearch-switch-buffer): New function. + + * lisp/isearch.el (isearch-search-string): + * lisp/misearch.el (multi-isearch-wrap, multi-isearch-pop-state): Use it. + + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00309.html + +2021-05-09 Michael Albinus + + Cleanups for Tramp out-of-band methods on MS Windows + + * doc/misc/tramp.texi (Frequently Asked Questions): + tramp-use-ssh-controlmaster-options is nil on MS Windows. + + * lisp/net/tramp.el (tramp-unquote-shell-quote-argument): Revert previous + change, it worked (not as expected but) properly. + + * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): + Don't skip on MS Windows. + (tramp--test-windows-nt-and-scp-p): Remove. + (tramp--test-special-characters): Skip for out-of-band methods on + MS Windows, sometimes. + +2021-05-09 Andreas Schwab + + Make autoloads-force work in build directory + + * lisp/Makefile.in (autoloads-force): Remove $(lisp)/loaddefs.el, + not loaddefs.el. + +2021-05-09 Basil L. Contovounesios + + Default to 1970 in decoded-time-set-defaults + + * lisp/calendar/time-date.el (decoded-time-set-defaults): Set an + unspecified year field to 1970, as promised in the docstring, and to + ensure it's representable on all systems (bug#48298). + +2021-05-09 Lars Ingebrigtsen + + Reintroduce autoloads for edebug-all-defs/edebug-all-forms + + * lisp/emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms): + Reintroduce ;;;###autoload of these user options that were removed + in bae2cfe63c, because this leads to errors in a common (and + recommended) use case (bug#47516). + +2021-05-09 Lars Ingebrigtsen + + Fix indentation of lines starting with # in js-mode + + * lisp/progmodes/js.el (js--proper-indentation): # is not like in + C -- it doesn't have to appear on the beginning of the line + (bug#47488). + +2021-05-09 Eli Zaretskii + + Fix compilation errors with latest w32 API headers + + * src/w32common.h: Rename OS_* to OS_SUBTYPE__*, as w32 API + headers started defining OS_NT, which breaks the use of the + enumeration. All users changed. (Bug#48303) + +2021-05-08 Basil L. Contovounesios + + Tiny fixes to recent native compilation docs + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-05/msg00347.html + + * doc/lispref/compile.texi (Native Compilation): Fix grammar in @ref + online label. + (Native-Compilation Functions): Consistently unhyphenate + 'sub-process'. Fix grammar. + (Native-Compilation Variables): Fix @cindex entry. + +2021-05-08 Eli Zaretskii + + Document native-compilation + + * doc/lispref/loading.texi (How Programs Do Loading) + (Library Search): Update for native-compilation features. + * doc/lispref/compile.texi (Native Compilation) + (Native-Compilation Functions, Native-Compilation Variables): New + chapter and sections. + * doc/lispref/elisp.texi (Top): Update the top-level menus. + + * etc/NEWS: Add a reference to the ELisp manual. + +2021-05-08 Lars Ingebrigtsen + + Don't delete socket on server exit if it was passed in + + * lisp/server.el (server-sentinel): Don't delete the socket if it + was passed in to Emacs (bug#47511). + +2021-05-08 Lars Ingebrigtsen + + Remove dead URL in isearchb.el comments + + * lisp/isearchb.el: Remove dead URL in comments (bug#47514). + +2021-05-08 Alan Mackenzie + + Prevent the selected window being a dead mini-window when switching frames + + This fixes bug #48249 and also a situation where, with recursive minibuffers + enabled and minibuffer-follows-selected-frame t, switching frames when a + minibuffer was open would leave the mini-window selected on the old frame. + + * lisp/window.el (record-window-buffer): Add extra parameter DO-MINIBUF, and + amend the code such that minibuffers only get processed when that parameter is + non-nil. + + * src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Call + Qrecord_window_buffer with the new argument set to Qt. + (move_minibuffers_onto_frame): Set the selected window on the old frame when + this would otherwise remain the mini-window. + +2021-05-08 dalanicolai (tiny change) + + Mention that Emacs is usually case-insensitive in a couple of places + + * doc/lispref/searching.texi (Regular Expressions): Mention + `case-fold-search'. + + * lisp/emacs-lisp/re-builder.el (re-builder): Mention case + sensitivity toggles (bug#47534). + +2021-05-08 Lars Ingebrigtsen + + Revert "Fix moving directories with the same name to trash" + + This reverts commit f618cc5bc83d3822759c5bb85d15320651ca2431. + + This patch doesn't cover some corner cases, I think. + +2021-05-08 Codru Constantin Guoi (tiny change) + + Fix moving directories with the same name to trash + + * lisp/files.el (move-file-to-trash): Allow moving several + directories with the same name to Trash (bug#48280). + +2021-05-08 Stefan Monnier + + * lisp/gnus/nnoo.el (defvoo, deffoo): Add `doc-string` property + +2021-05-08 Jim Porter + + Ensure ` ' handles rectangular regions + + * lisp/delsel.el (delete-active-region): Autoload it and make it interactive. + * lisp/menu-bar.el (menu-bar-edit-menu): Bind "Clear" to + `delete-active-region'. + +2021-05-07 Philipp Stephani + + Don't use symbolic links in the test resource directory. + + This doesn't work on Windows. Instead, use the EMACS_TEST_DIRECTORY + environment variable to find the BPF files. + + * test/src/emacs-tests.el (emacs-tests--lib-src): New constant. + (emacs-tests/seccomp/allows-stdout) + (emacs-tests/seccomp/forbids-subprocess) + (emacs-tests/bwrap/allows-stdout): Use it. + +2021-05-07 Michael Albinus + + Tramp: Fix file name quoting on MS Windows + + * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): + Use `tramp-unquote-shell-quote-argument'. + + * lisp/net/tramp.el (tramp-unquote-shell-quote-argument): + Adapt for MS Windows. + + * test/lisp/net/tramp-tests.el (tramp--test-special-characters): + Adapt for MS Windows. + +2021-05-07 Eli Zaretskii + + Fix a recent change in rmc.el + + * lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix. Improve + the message when entering recursive-edit. + +2021-05-07 Michael Albinus + + Fix some annoyances wrt file-name-non-special + + * lisp/files.el (file-name-non-special): Do not expand `file-truename'. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use local `default-directory' for `start-process'. + +2021-05-07 Lars Ingebrigtsen + + `mail-envelope-from' doc clarification + + * lisp/mail/sendmail.el (mail-envelope-from): Note that the buffer + should be narrowed before calling (bug#47616). + +2021-05-07 Michael Albinus + + Tune Tramp traces + + * doc/misc/tramp.texi (Traces and Profiles): Describe call traces. + + * lisp/net/tramp-compat.el: Add `tramp-suppress-trace' property for all + functions. + + * lisp/net/tramp.el (tramp-verbose): Adapt docstring. + (tramp-file-name-method, tramp-file-name-user) + (tramp-file-name-domain, tramp-file-name-host) + (tramp-file-name-port, tramp-file-name-localname) + (tramp-file-name-hop, tramp-file-name-user-domain) + (tramp-file-name-host-port, tramp-file-name-port-or-default) + (tramp-tramp-file-p, tramp-find-method, tramp-find-user) + (tramp-find-host, tramp-dissect-file-name) + (tramp-dissect-hop-name, tramp-debug-buffer-name) + (tramp-debug-outline-level, tramp-get-debug-buffer) + (tramp-get-debug-file-name, tramp-read-passwd) + (tramp-clear-passwd): Add `tramp-suppress-trace' property. + (tramp-debug-message): Activate call traces. + + * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case): Simplify. + +2021-05-07 Eli Zaretskii + + Improve doc strings in log-edit.el + + * lisp/vc/log-edit.el (log-edit-new-comment-index) + (log-edit-maximum-comment-ring-size, log-edit-previous-comment) + (log-edit-next-comment, log-edit-comment-search-backward) + (log-edit-comment-search-forward) + (log-edit-comment-to-change-log) + (log-edit-header-contents-regexp, log-edit-font-lock-gnu-style) + (log-edit, log-edit-mode, log-edit-fill-entry, log-edit-done) + (log-edit-kill-buffer, log-edit-insert-message-template) + (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate) + (log-edit-rewrite-fixes, log-edit-add-to-changelog) + (log-edit-generate-changelog-from-diff) + (log-edit-insert-changelog, log-edit-narrow-changelog) + (log-edit-changelog-entry, log-edit-changelog-insert-entries) + (log-edit-extract-headers): Enhance and reword doc strings. + +2021-05-06 Jim Porter + + Shell-quote the directory when finding a project's files + + * lisp/progmodes/project.el (project--files-in-directory): + Shell-quote the directory (bug48247). + +2021-05-06 Dmitry Gutov + + project--buffer-list: Tighten the check + + * lisp/progmodes/project.el (project--buffer-list): Tighten the + check to speed up in the presence of multiple Tramp sessions, too. + (https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00152.html) + +2021-05-06 Andrea Corallo + + Rename comp-eln-load-path native-comp-eln-load-path + + * src/comp.c (Fcomp_el_to_eln_filename): Rename comp-eln-load-path + native-comp-eln-load-path. + * src/lread.c (maybe_swap_for_eln): Likewise. + * lisp/startup.el (native-comp-eln-load-path) + (normal-top-level): Likewise. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) + (comp-eln-load-path-eff, comp-trampoline-compile) + (comp-clean-up-stale-eln, comp-run-async-workers) + (comp-lookup-eln, batch-byte-native-compile-for-bootstrap): Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-warning-on-missing-source + + * src/lread.c (maybe_swap_for_eln): Rename + comp-warning-on-missing-source + native-comp-warning-on-missing-source. + * src/comp.c (syms_of_comp): Likewise. + * lisp/emacs-lisp/comp.el (native-comp-warning-on-missing-source): + Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-native-driver-options native-comp-driver-options + + * src/comp.c (add_driver_options, syms_of_comp): Rename + comp-native-driver-options native-comp-driver-options. + * lisp/emacs-lisp/comp.el (native-comp-driver-options) + (comp-ctxt, comp-spill-lap-function, comp-final) + (comp-run-async-workers): Likewise. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. + +2021-05-06 Andrea Corallo + + * Rename comp-async-query-on-exit native-comp-async-query-on-exit + + * lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit) + (comp-run-async-workers): Rename comp-async-query-on-exit + native-comp-async-query-on-exit. + +2021-05-06 Andrea Corallo + + * Rename comp-async-report-warnings-errors + + * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors) + (comp-accept-and-process-async-output): Rename + comp-async-report-warnings-errors + native-comp-async-report-warnings-errors. + +2021-05-06 Andrea Corallo + + * Rename comp-async-env-modifier-form native-comp-async-env-modifier-form + + * lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form) + (comp-final, comp-run-async-workers): Rename + comp-async-env-modifier-form native-comp-async-env-modifier-form. + +2021-05-06 Andrea Corallo + + * Rename comp-async-all-done-hook native-comp-async-all-done-hook + + * lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook) + (comp-run-async-workers): Rename comp-async-all-done-hook + native-comp-async-all-done-hook. + +2021-05-06 Andrea Corallo + + * Rename comp-async-cu-done-functions native-comp-async-cu-done-functions + + * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions) + (comp-run-async-workers): Rename comp-async-cu-done-functions + native-comp-async-cu-done-functions. + +2021-05-06 Andrea Corallo + + * Rename comp-async-jobs-number native-comp-async-jobs-number + + * lisp/emacs-lisp/comp.el (native-comp-async-jobs-number) + (comp-effective-async-max-jobs, native--compile-async) + (native-compile-async): Rename comp-async-jobs-number + native-comp-async-jobs-number. + +2021-05-06 Andrea Corallo + + Rename comp-never-optimize-functions native-comp-never-optimize-functions + + * lisp/emacs-lisp/nadvice.el (advice--add-function): Rename + comp-never-optimize-functions native-comp-never-optimize-functions. + * lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions) + (comp-subr-trampoline-install, comp-call-optim-form-call): Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-bootstrap-deny-list native-comp-bootstrap-deny-list + + * lisp/emacs-lisp/comp.el (native-comp-bootstrap-deny-list) + (batch-native-compile): Rename comp-bootstrap-deny-list + native-comp-bootstrap-deny-list. + +2021-05-06 Andrea Corallo + + * Rename comp-always-compile native-comp-always-compile + + * lisp/emacs-lisp/comp.el (native-comp-always-compile) + (comp-run-async-workers): comp-always-compile + native-comp-always-compile. + +2021-05-06 Andrea Corallo + + * Rename comp-verbose -> native-comp-verbose + + * lisp/emacs-lisp/comp.el (native-comp-verbose, comp-log) + (comp-log-func, comp-final, comp-run-async-workers): Rename + comp-verbose -> native-comp-verbose. + +2021-05-06 Andrea Corallo + + Rename comp-debug -> native-comp-debug + + * src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug -> + native-comp-debug. + * lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt) + (comp-spill-lap-function, comp-run-async-workers): Likewise. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. + * test/src/comp-tests.el (comp-tests-bootstrap): Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-speed -> native-comp-speed + + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename + comp-speed -> native-comp-speed. + * lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func, + comp-spill-lap-function, comp-trampoline-compile, + comp-run-async-workers): Likewise. + * src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise. + * test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1) + (comp-tests-check-ret-type-spec, comp-tests-pure): Likewise. + +2021-05-06 Andrea Corallo + + * Rename comp-limple-mode -> native-comp-limple-mode + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Doc update. + (native-comp-limple-mode, comp-log-to-buffer): Rename comp-limple-mode + -> native-comp-limple-mode. + +2021-05-06 Michael Albinus + + In Tramp, use scp "-T" argument if available + + * lisp/net/tramp-sh.el (tramp-scp-strict-file-name-checking): New defvar. + (tramp-scp-strict-file-name-checking): New defun. + (tramp-do-copy-or-rename-file-out-of-band): Use it. + (tramp-methods) : Use "%x". + (tramp-make-copy-program-file-name): Use local quoting. + (tramp-sh-handle-make-process): Don't call + `tramp-maybe-open-connection', this happens implicitly by + `tramp-send-command'. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + + * test/lisp/net/tramp-tests.el (tramp-test40-special-characters) + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls): Don't skip for + `tramp--test-windows-nt-and-scp-p'. + +2021-05-06 Stefan Kangas + + Improve formatting in text-quoting-style docstring + + * src/doc.c (syms_of_doc) : Doc fix; improve + formatting for readability. + +2021-05-06 Stefan Kangas + + Remove another variable alias obsolete since Emacs 23 + + * lisp/menu-bar.el (menu-bar-files-menu): Delete variable alias for + `menu-bar-file-menu'. + * etc/NEWS: Announce its deletion. + +2021-05-06 Mattias Engdeg奪rd + + Don't fail image-tests if JPEG format isn't compiled in + + * test/lisp/image-tests.el (image-type/from-filename): + Make jpeg test conditional. Test pbm (always present). + +2021-05-06 Mattias Engdeg奪rd + + Tidy file-matching regexps and remove some ineffective backslashes + + * lisp/emacs-lisp/package.el (package--delete-directory): + * lisp/net/tramp-cmds.el (tramp-recompile-elpa): + Escape dot; replace $ with \'. + * lisp/help.el (help-for-help): + * lisp/transient.el (transient-font-lock-keywords): + Remove useless backslashes. + +2021-05-06 Lars Ingebrigtsen + + Make (setf (map-elt ...)) return the value in the alist/plist cases + + * lisp/emacs-lisp/map.el (map-elt): Return the value in the list + case (which can signal a `map-not-inplace' error. + (map-elt): Return the value in the list case, too (bug#47572). + +2021-05-06 Matt Armstrong + + Add tests for `map-elt' + + * test/lisp/emacs-lisp/map-tests.el: Add (failing) tests for `map-elt' + (bug#47572). + +2021-05-06 Michael Albinus + + Fix bug#47625 in dired + + * lisp/dired-aux.el (dired-create-files): Check, that + `dired-do-symlink' does not create symlinks on different hosts. + (Bug#47625) + +2021-05-06 Alan Mackenzie + + Fix wrong handling of minibuffers when frames get iconified/made invisible + + This should fix bug #47766. + + * lisp/window.el (window-deletable-p): Add a quote where it was missing from + minibuffer-follows-selected-frame. + + * src/frame.c (check_minibuf_window): Delete the function. + (delete_frame): In place of calling check_minibuf_window, call + move_minibuffers_onto_frame, possibly to move minibuffers onto the new current + frame. + (Fmake_frame_invisible, Ficonify_frame): Remove calls to check_minibuf_window. + + * src/minibuf.c (Factive_minibuffer_window): Search the frames for the active + minibuffer rather than just assuming minibuf_window has been correctly + updated. + +2021-05-06 Harald J旦rg + + cperl-mode: Eliminate bad interpretation of ?foo? + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Delete + ?? from the allowed bare regexp delimiters. + (cperl-short-docs): Delete ?...? from the documentation. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug-47598): + Add tests for good, bad, and ambiguous use of ? as regex + delimiter (bug#47598). + +2021-05-06 Lars Ingebrigtsen + + Only look at the headers when computing the envelope from address + + * lisp/mail/smtpmail.el (smtpmail-send-it) + (smtpmail-send-queued-mail, smtpmail-via-smtp): + * lisp/mail/sendmail.el (sendmail-send-it): Only look at the + headers when computing the envelope from (bug#47616). + +2021-05-06 Dmitrii Kuragin (tiny change) + + Fix ispell program comparison + + * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): + Compare strings with `equal', not `eq' (since the identity of the + string may change) (bug#48246). + +2021-05-06 Lars Ingebrigtsen + + Make Info completion more robust + + * lisp/info.el (Info-build-node-completions): Don't signal an + error if there are no nodes in the file we're computing + completions over (bug#47771). + +2021-05-06 Daniel Mart鱈n + + Add a help option to the open large files prompt + + * lisp/files.el (files--ask-user-about-large-file-help-text): New + function that returns information about opening large files in + Emacs. (Bug#45412) + (files--ask-user-about-large-file): Use read-multiple-choice to + display the available actions. + * etc/NEWS: Advertise the new feature. + +2021-05-06 Daniel Mart鱈n + + Extend read-multiple-choice to support free-form help descriptions + + * lisp/emacs-lisp/rmc.el (read-multiple-choice): Add a new argument to + override the default help description in `read-multiple-choice'. Use + the `help-char' variable instead of ?\C-h. Also support the `edit' + action from `query-replace-map', so that help links can be visited by + entering a recursive edit. + +2021-05-05 Karl Fogel + + New option to confirm deletion in bookmark menu + + * lisp/bookmark.el (bookmark-menu-confirm-deletion): New defcustom. + (bookmark-delete-all): Add comment explaining why we don't use the new + confirmation formula here. + (bookmark-bmenu-execute-deletions): Conditionally confirm deletion. + Note that the bulk of the code diff here is just reindentation of an + otherwise unchanged `let' expression. + + * etc/NEWS: Announce the new option. + + Thanks to Lars Ingebrigtsen and Eli Zaretskii for review, and thanks + to Oliver Taylor for suggesting the option in the first place: + + https://lists.gnu.org/archive/html/emacs-humanities/2021-02/msg00022.html + From: Oliver Taylor + Subject: Re: [emacs-humanities] Extending Emacs Bookmarks to Work with EWW + To: Karl Fogel + Cc: Stefan Kangas, Emacs-humanities mailing list + Date: Wed, 3 Feb 2021 20:21:59 -0800 + Message-Id: <936D47EA-4D11-452B-8303-971B6386877B@me.com> + +2021-05-05 Andrea Corallo + + Rename feature `nativecomp' into `native-compile' + + * test/src/comp-tests.el : Rename feature `nativecomp' into + `native-compile'. + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. + * src/comp.c (syms_of_comp): Likewise. + * lisp/startup.el (normal-top-level): Likewise. + * lisp/loadup.el: Likewise. + * lisp/help.el (help-function-arglist): Likewise. + * lisp/emacs-lisp/package.el (package--native-compile-async) + (package--delete-directory): Likewise. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. + +2021-05-05 Martin Rudalics + + Fix setting of 'width' and 'height' frame parameters + + * src/frame.c (Fframe_parameters): Fix bogus setting of 'height' + and 'width' parameters. + +2021-05-05 Andrea Corallo + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defsubst): Fix (bug#48221). + +2021-05-05 Kazuhiro Ito + + Tweak how some Japanese punctuation chars are translated to ASCII + + * lisp/language/japan-util.el (japanese-symbol-table): Tweak + Japanese punctuation character translation (bug#47767). + +2021-05-05 Andrea Corallo + + * Better identify native compiler presence in two tests. + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) + (help-fns-test-lisp-defsubst): Better identify native-comp + presence. + +2021-05-05 Daniel Mendler + + Don't bug out in `Info-goto-node' completion + + * lisp/info.el (Info-read-node-name-1): Don't bug out in the + middle of completion, but return nil instead (and issue a message) + (bug#47771). + +2021-05-05 Boruch Baum + + Fix error in ses.el when setting the current row + + * lisp/ses.el (ses-jump, ses-list-local-printers) + (ses-list-named-cells): Use `user-error' for user errors. + (ses-set-header-row): Function `ses-set-header-row' was + determining the current row based upon variable `ses--curcell', + but that variable is NIL until one begins an operation on a cell + (eg. keybindings '=', '"'), so navigating to a row was + insufficient to select that row, and further generated an ERROR + because the code was not expecting a NIL value for variable + `ses--curcell' (bug#47784). + +2021-05-05 Lars Ingebrigtsen + + Allow `C-x C-k l' to work even if `C-h l' is unbound + + * lisp/kmacro.el (kmacro-edit-lossage): `view-lossage' may be + bound to a different key than `C-h l' (bug#47785). + +2021-05-05 Matt Beshara + + Remove unnecessary call to message in js.el + + * lisp/progmodes/js.el (js--end-of-defun-nested): Remove debugging + message left over (bug#48234). + +2021-05-05 Lars Ingebrigtsen + + Use @defmac on eval-{and,when}-compile + + * doc/lispref/compile.texi (Eval During Compile): Use @defmac + instead of @defspec on two macros (bug#47862). + +2021-05-05 Martin Rudalics + + Fix two GTK3 event handling issues + + * src/xterm.c (handle_one_xevent): For GTK3 PropertyNotify and + MapNotify events explicitly request the stored frame sizes when + the frame changes from iconified to a non-hidden state + (Bug#24526). For Expose events do not change the frame's + visibility or iconified state. For FocusIn events on GTK3 do + not apply the fix for Bug#42655. The latter two changes are to + avoid that plain invisible frames get reported as iconified. + +2021-05-05 Lars Ingebrigtsen + + Make the ELC+ELN lines line up with the other lines + +2021-05-05 Eric Abrahamsen + + Add new defvoo nnimap-keepalive-intervals to Gnus nnimap servers + + * lisp/gnus/nnimap.el (nnimap-keepalive-intervals): New per-server + config for customizing when keepalive commands are sent. + (nnimap-keepalive, nnimap-open-connection-1): Consult in these + places. Additionally, use nnimap-streaming -> t when sending the + keepalive NOOP, so we don't wait for the response. + * doc/misc/gnus.texi (Customizing the IMAP Connection): Document. + +2021-05-04 Basil L. Contovounesios + + Remove unused lexical variables in cc-defs.el + + * lisp/progmodes/cc-defs.el (c-sc-scan-lists-no-category+1+1) + (c-sc-scan-lists-no-category+1-1, c-sc-scan-lists-no-category-1+1) + (c-sc-scan-lists-no-category-1-1): Remove unused lexical variable + 'here' to pacify byte-compilation warnings in cc-engine.el. + +2021-05-04 Andrea Corallo + + * Do not try to load unexistent eln file if async compilation was skipped + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to + load if the eln file was not produced. + +2021-05-04 Eli Zaretskii + + Fix infloop in lsp-mode + + * src/indent.c (line_number_display_width): Make sure the selected + window's buffer is current before using display code on it: + redisplay assumes that the window's buffer is current at all + times. Reported by Evgeny Kurnevsky via lsp-mode's issue 1621, + https://github.com/emacs-lsp/lsp-mode/issues/1621. + +2021-05-04 Glenn Morris + + Merge from origin/emacs-27 + + 40228fffd7 (origin/emacs-27) Fix code for newline-and-indent in skele... + 56c4c8ef32 * lisp/jka-compr.el (jka-compr-uninstall): Fix function re... + +2021-05-04 Glenn Morris + + Merge from origin/emacs-27 + + 101a049f55 Improve doc string of 'tab-width'. + 43c154404e * lisp/emacs-lisp/elp.el: Doc fixes. + 1984213f62 * lisp/emacs-lisp/pp.el: Doc fixes. + 6486c9dc73 * admin/make-tarball.txt: Note to update more files on web... + +2021-05-04 Basil L. Contovounesios + + Remove as of recently unused GDK macro + + Its only use was removed in the recent change of 2021-04-27 "Major + rewrite of adjust_frame_size", announced in the following thread: + https://lists.gnu.org/r/emacs-devel/2021-04/msg01162.html + + * src/gtkutil.c [USE_GTK && !HAVE_GTK3] (gdk_window_get_geometry): + Remove unused macro to pacify -Wunused-macros build warning. + +2021-05-04 Lars Ingebrigtsen + + Fix inconsistent behaviour in find-file-noselect when using nowarn + + * lisp/files.el (after-find-file): Behave the same in when + warning/not warning (bug#47850). This fixes this test case: + (switch-to-buffer (find-file-noselect "non-existing-dir/test.el" t)) + which would leave the buffer read-only. + +2021-05-04 Lars Ingebrigtsen + + Allow TAB to go to a key in EPA key buffers + + * lisp/epa.el (epa--insert-keys): Allow TAB to go to the keys + (bug#47876). + +2021-05-04 Lars Ingebrigtsen + + Fix doc marker for previous bookmark NEWS change + +2021-05-04 Boruch Baum + + Fontify lines when setting a bookmark + + * lisp/bookmark.el (bookmark-fontify): New user option (bug#48179). + (bookmark-face): New face. + (bookmark--fontify, bookmark--unfontify): New functions. + (bookmark-set-internal, bookmark--jump-via, bookmark-delete): Use + them. + +2021-05-04 Lars Ingebrigtsen + + Ensure updating the animated image in all windows + + * lisp/image.el (image-show-frame): Simplify the window update -- + pass in the buffer, which is a noop if the buffer isn't displayed. + +2021-05-04 Martin Rudalics + + Fix a problem with x_set_tab_bar_lines (Bug#46827) + + * src/xfns.c (x_set_tab_bar_lines): Call + x_change_tab_bar_height only if the number of tab bar lines + changed from or to zero (Bug#46827). + * src/xterm.c (x_make_frame_visible): Make frame_size_history + update less noisy by doing it only if the frame wasn't visible + before. + +2021-05-03 Philip K + + project--buffer-list: Avoid Tramp buffers when possible + + * project.el (project--buffer-list): Add file-remote-p check. + +2021-05-03 Michael Albinus + + Fix unquoting of file names in subprocesses (Bug#48177) + + * lisp/files.el (file-name-non-special): + Improve handling of inhibit-file-name-handlers. + + * src/callproc.c (Fcall_process, call_process): Unquote infile, + error_file and output_file. (Bug#48177) + + * test/lisp/files-tests.el (files-tests-file-name-non-special--subprocess) + (files-tests-file-name-non-special-file-name-all-completions) + (files-tests-file-name-non-special-file-name-completion): Adapt tests. + +2021-05-03 Alan Third + martin rudalics + + Fix incorrect resizing behaviour on macOS (bug#48157, bug#48162) + + * src/nsterm.m ([EmacsView viewDidResize:]): The drawing buffer can be + resized independently of Emacs's idea of the frame size. + +2021-05-03 Lars Ingebrigtsen + + ediff shouldn't alter the kill ring when copying a diff + + * lisp/vc/ediff-util.el (ediff-copy-diff, ediff-pop-diff): Don't + alter the kill ring (bug#47881). + +2021-05-03 Lars Ingebrigtsen + + Speed up animation of non-displayed buffers + + * lisp/image.el (image-show-frame): Don't force an update if the + buffer with the animation isn't in a window (bug#47895). Also + just update the window in question. + +2021-05-03 Lars Ingebrigtsen + + Speed up animation of non-displayed images + + * lisp/image.el (image-animate): Only compute the animation data + once -- this avoids recomputing the image on every iteration when + the image is not displayed (bug#47895). + +2021-05-03 Lars Ingebrigtsen + + Note that function symbols are preferred in `add-hook' + + * lisp/subr.el (add-hook): Note that FUNCTION should preferably be + a symbol (bug#47992). + +2021-05-03 Steve Purcell + + ruby-mode.el: puts and printf do not require args + + * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): puts and + printf can be called without arguments, so the font locking of + "bare" calls to either is incorrect. The fix is to font-lock them + as for other kernel methods which accepts zero or more arguments + (bug#48180). + +2021-05-03 Lele Gaifax + + Align TUTORIAL.it to the English version + + * etc/tutorials/TUTORIAL.it: Reference 'describe-command' to replicate + recent change. Add also a space before '' in several places, + mimicking the usage of in the English version (bug#48183). + +2021-05-02 Philipp Stephani + + Fix code for newline-and-indent in skeleton language. + + The code for this is the symbol 'n', which is usually spelled as '\n' + here, not the character ?\n. + + * doc/misc/autotype.texi (Skeleton Language): Fix item for + newline-and-indent. + +2021-05-02 Martin Rudalics + + Add two changes announced but not included in previous commit + + * src/frame.c (adjust_frame_size): Remove extra + inhibit_horizontal/_vertical checks. Improve the implied + resize check when INHIBIT equals 2. + +2021-05-02 Stefan Kangas + + * etc/tutorials/TUTORIAL.sv: Adjust to latest change in TUTORIAL. + + * etc/tutorials/TUTORIAL.es: Adjust to latest change in TUTORIAL. + +2021-05-02 Alan Mackenzie + + * lisp/progmodes/cc-defs (c-save-buffer-state): Amend debug spec, t to let* + + This should solve part of bug #48100. + +2021-05-02 Eli Zaretskii + + * etc/tutorials/TUTORIAL.he: Adjust to latest change in TUTORIAL. + +2021-05-02 Stefan Kangas + + Add new help command 'describe-command' + + * lisp/help-fns.el (describe-command): New command. + (help-fns--describe-function-or-command-prompt): New helper + function to prompt for a function or function. (Bug#46627) + (describe-function): Use above new helper function. + + * lisp/help.el (help-map): Bind above new command to `C-h x'. + (help-for-help): Add this new command to the help summary. + * lisp/menu-bar.el (menu-bar-describe-menu): Add the new command to + the help menu. + + * doc/emacs/help.texi (Help Summary, Name Help): Document + 'describe-command', and update documentation on 'describe-function'. + * etc/tutorials/TUTORIAL: Change reference from 'describe-function' to + 'describe-command'. + +2021-05-02 Stefan Monnier + + * lisp/apropos.el (apropos-value, apropos-local-value): Tweak for lexbind + + Don't skip symbols for the nowadays lexically scoped local vars. + +2021-05-02 Alan Third + + Fix crash when resizing GNUstep builds + + The toolkit can send far too many resize notifications, so be more + careful when we take action after receiving one. + + * src/nsfns.m (ns_set_tool_bar_lines): Remove unneeded NSTRACE. + * src/nsterm.m ([EmacsView viewDidResize:]): Don't report resizes to + Emacs when the same change has already been reported and delayed. + +2021-05-02 Stefan Kangas + + * lisp/help-macro.el: Doc fix. + +2021-05-02 Stefan Kangas + + Bind S-SPC to scroll-down in help-for-help + + * lisp/help-macro.el (make-help-screen): Bind S-SPC to + scroll-down. Thanks to Dmitry Gutov . + +2021-05-02 Stefan Kangas + + Minor doc fixes in simple.el + + * lisp/simple.el (next-error-move-function) + (next-error-found-function, next-error-found) + (previous-error-no-select, eval-expression-get-print-arguments) + (undo-adjust-elt, undo-adjust-beg-end): Minor doc fixes. + +2021-05-02 Nikolay Kudryavtsev + + Don't use pdumper-stats with unexec + + * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Check if + pdumper-stats is bound before using it. + +2021-05-02 Lars Ingebrigtsen + + Inhibit lines in doc-view-mode + + * lisp/doc-view.el (doc-view-mode): Inhibit line number modes + (bug#47974). Change suggested by Gregory Heytings. + +2021-05-02 Eric Skoglund + + Add newline and tab matching documentation to query-replace-regexp + + * lisp/replace.el: Add \n and \t matching information to + query-replace-regexp docstring (bug#47981). + +2021-05-02 Lars Ingebrigtsen + + Tweak filtering some more + + This should get the ./temacs continuation lines right. + +2021-05-02 Martin Rudalics + + Make adjust_frame_size set up frame's new_width/_height too (Bug#17120) + + The purpose of this change is to have implied frame size changes + pick up sizes requested by previous explicit size changes not + only after they have been confirmed by the WM but already when + they are initially passed to adjust_frame_size (Bug#17120). + + * src/dispextern.h (delayed_size_change): Remove extern. + * src/dispnew.c (delayed_size_change): Make static again. + (do_pending_window_change): Call change_frame_size only if F's + new_size_p flag is set. + (change_frame_size_1): Set/reset F's new_size_p flag + * src/frame.c (adjust_frame_size): Remove extra + inhibit_horizontal/_vertical checks. Improve the implied + resizes check with INHIBIT equals 2. Set F's new_width and + new_height and reset F's new_size_p flag when we run + set_window_size_hook with INHIBIT 0 or 1. + * src/frame.h (struct frame): New bit slot new_size_p. + * src/gtkutil.c (xg_frame_resized): Use F's new_size_p flag + instead of delayed_size_change to decide whether to call + change_frame_size. + (xg_frame_set_char_size): Call frame_size_history_extra before + waiting for the ConfigureNotify event. + * src/xterm.c (handle_one_xevent): Use F's new_size_p flag + instead of delayed_size_change to decide whether to call + change_frame_size. + +2021-05-02 Boruch Baum + + Suppress false positives in apropos-value + + * lisp/apropos.el (apropos-value): Skip more apropos-internal + variables (bug#48063). + (apropos-value-internal): Skip the first value in the history + values, which always contains the match. + +2021-05-02 Philipp Stephani + + * lisp/jka-compr.el (jka-compr-uninstall): Fix function reference. + +2021-05-01 Stefan Monnier + + * lisp/simple.el (newline): Make the hook function remove itself + + (copy-region-as-kill, kill-ring-save): Simplify interactive spec. + +2021-05-01 Stefan Monnier + + * lisp/minibuffer.el (completing-read-default): Fix bug#45474 + + Set `minibuffer-completion-*` variables buffer-locally instead of using + a global let-binding. This should also help make completion work + correctly when multiple minibuffers are simultaneously active. + +2021-05-01 Alan Third + + Fix infinite loop on GNUstep when toolbar updated + + * src/nsterm.m ([EmacsView viewDidResize:]): Use Emacs's existing + knowledge of the frame size to decide whether to resize or not. + +2021-05-01 Alan Third + + Fix NS build warnings + + * src/nsfns.m (Fx_create_frame): Remove unused variables. + +2021-05-01 Jim Porter + + Fix GUD overlay arrows in gdb-mi when debugging over Tramp + + * lisp/progmodes/gdb-mi.el (gdb-frame-handler): Use local part of + file name when setting `gud-last-frame'. + +2021-04-30 Stefan Kangas + + Advertise PgUp/PgDn instead of SPC/DEL in help-for-help + + * lisp/help-macro.el (make-help-screen): + * lisp/help.el (help-for-help): Advertise PgUp/PgDn instead of + SPC/DEL. + +2021-04-30 Mattias Engdeg奪rd + + Don't signal scan-error in interactive sexp-based commands + + This takes care of unfinished business from df0f32f04850 (bug#43489). + + * lisp/emacs-lisp/lisp.el (end-of-defun, mark-defun): + * lisp/reposition.el (reposition-window): + * lisp/simple.el (transpose-sexps): Convert nasty-looking scan-error + into a human-readable message. + +2021-04-30 Eli Zaretskii + + Fix the unexec build on MS-Windows + + * src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: If dumped + with unexec, be sure to map new memory also for the " prin1" + buffer. For the reasons and discussion, see + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01401.html. + +2021-04-30 Eli Zaretskii + + Improve doc string of 'tab-width'. + + * src/buffer.c (syms_of_buffer) : Clarify doc string. + (Bug#48058) + +2021-04-30 Lars Ingebrigtsen + + Alter `gnus-article-show-images' to re-display with images installed + + * lisp/gnus/gnus-art.el (gnus-article-show-images): Reselect to + display HTML images. + +2021-04-30 Eli Zaretskii + + Improve support for 'display-line-numbers-width-start' + + * lisp/display-line-numbers.el (display-line-numbers-width-start): + Allow the value to be a number. (Bug#48095) + (display-line-numbers-mode): Handle + 'display-line-numbers-width-start' whose value is a number. + +2021-04-30 Stefan Monnier + + * src/doc.c (Fsnarf_documentation): Fix bug#48019 + + Don't presume that `custom-delayed-init-variables` holds a list. + +2021-04-30 Stefan Monnier + + * lisp/mail/supercite.el (sc-select-attribution): Fix lexical conversion + + Mark `citation` and `attribution` as dynamically scoped around + `sc-attribs-postselect-hook`, as documented in the function's docstring. + +2021-04-29 Andrea Corallo + + * Improve `comp-normalize-valset' reproducibility (bug#48021) + + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Make + it more reproducible. + +2021-04-29 Glenn Morris + + Automatically generate texinfo.el internal autoloads + + * lisp/textmodes/texinfo.el: Replace manual autoloads. + * lisp/textmodes/makeinfo.el (makeinfo-region, makeinfo-buffer) + (makeinfo-recenter-compilation-buffer): + * lisp/textmodes/texnfo-upd.el (texinfo-make-menu) + (texinfo-all-menus-update, texinfo-start-menu-description) + (texinfo-indent-menu-description, texinfo-master-menu) + (texinfo-update-node, texinfo-every-node-update) + (texinfo-sequential-node-update, texinfo-insert-node-lines) + (texinfo-multiple-files-update): + Add autoload cookies, and set generated-autoload-file. + +2021-04-29 Stefan Kangas + + * lisp/emacs-lisp/elp.el: Doc fixes. + +2021-04-29 Michael Albinus + + Some Tramp corrections, Bug#48067 + + * doc/misc/tramp.texi (Frequently Asked Questions): Rephrase GNU + ELPA warnings. + + * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter): + Improve handling of gio warning. (Bug#48067) + +2021-04-29 Stefan Kangas + + * lisp/emacs-lisp/pp.el: Doc fixes. + + * lisp/emacs-lisp/shortdoc.el: Doc fixes. + +2021-04-29 Dmitry Gutov + + * lisp/progmodes/project.el: Also bump version. + + * lisp/progmodes/xref.el: Bump version. + +2021-04-28 Juri Linkov + + * lisp/window.el (window--state-put-2): Set next/prev-buffers even to nil. + + When next-buffers or prev-buffers are nil, still use set-window-next-buffers + or set-window-prev-buffers to set next/prev-buffers to nil. (Bug#46904) + +2021-04-28 Andrea Corallo + + * Add a note related to native compilation and Dynamic Binding + + * doc/lispref/variables.texi (Dynamic Binding): Add a note + related to native compilation. + +2021-04-28 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp-archive.el (tramp-archive-handle-insert-file-contents): + Code cleanup. + + * lisp/net/tramp.el: Reload `tramp-compat' when we reload + `tramp-autoloads'. + (with-tramp-file-property, with-tramp-connection-property): + Use `tramp-cache-undefined'. + (tramp-autoload-file-name-handler): Do not load tramp-compat.el. + (tramp-handle-insert-file-contents): Code cleanup. + +2021-04-28 Michael Albinus + + Fix gio warning in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter): + Improve handling of gio warning. (Bug#48067) + +2021-04-28 Eli Zaretskii + + Doc fixes in avl-tree.el + + * lisp/emacs-lisp/avl-tree.el (avl-tree--root) + (avl-tree--dir-to-sign, avl-tree--sign-to-dir) + (avl-tree--del-balance, avl-tree--enter-balance) + (avl-tree--do-copy, avl-tree--stack-repopulate, avl-tree-empty) + (avl-tree-delete, avl-tree-member, avl-tree-member-p) + (avl-tree-map, avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar) + (avl-tree-copy, avl-tree-clear, avl-tree-stack) + (avl-tree-stack-first): Fix doc strings to be less verbose and to + have the first line a complete sentence. + +2021-04-28 Stefan Kangas + + * lisp/emacs-lisp/avl-tree.el: Minor doc fixes. + + * admin/make-tarball.txt: Note to update more files on web page. + +2021-04-28 Michael Albinus + + Improve add-log-current-defun-header-regexp + + * lisp/vc/add-log.el (add-log-current-defun-header-regexp): + Allow digits. Require at least one letter. (Bug#48037) + +2021-04-28 Peter Oliver + + Add tests + + * test/lisp/progmodes/ruby-mode-tests.el (ruby-with-temp-file): New helper. + (ruby--set-encoding-when-ascii, ruby--set-encoding-when-utf8) + (ruby--set-encoding-when-latin-15): Tests for the previous commit (bug#48043). + +2021-04-28 Dmitry Gutov + + Don't add magic comment to Ruby files for utf-8 encoding + + * lisp/progmodes/ruby-mode.el (ruby-encoding-map): + Add entry for utf-8 (bug#48043). + (ruby--detect-encoding): Don't convert to string too early, so + that returning nil is meaningful. + (ruby-mode-set-encoding): Convert to string here. + +2021-04-27 Andrea Corallo + + * Clean-up temporary eln test-suite directory when exiting (bug#48060) + + * lisp/startup.el (normal-top-level): Remove eln test-suite temp + dir when exiting. + +2021-04-27 Andrea Corallo + + Have `comp-cstr-intersection-no-mem' intersect pos neg value sets + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): + intersect pos and neg value sets + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests and fix some + test number. + +2021-04-27 Stefan Kangas + + Avoid missing whitespace in help-for-help + + * lisp/help.el (help--for-help-make-commands): Avoid missing + whitespace before description of command. + Problem reported by Dmitry Gutov . + +2021-04-27 Michael Albinus + + Fix loading problem in Tramp + + * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load also + tramp-compat.el. + +2021-04-27 Daniel Mendler + + (affixation-function): Allow only three-element list elements + + Restrict the definition of the `affixation-function`. The function + must return a list of three element lists. Since the + `affixation-function` is part of the widely used `completing-read` API + a simplification is helpful for both authors of completion UIs and + authors of completion tables. + + * doc/lispref/minibuf.texi: Update documentation. + * lisp/minibuffer.el: Update documentation. + * lisp/simple.el (read-extended-command--affixation): + Return three-element lists. + + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01193.html + +2021-04-27 Mattias Engdeg奪rd + + Calc: control digits after decimal point (bug#47302) + + Calc normally displays a trailing decimal point for floats with no + fractional part, like '12.'. Some uses require at least one digit + after the point; add the governing variable calc-digit-after-point. + + * lisp/calc/calc.el (calc-digit-after-point): New variable. + (math-format-number): Use it. + * test/lisp/calc/calc-tests.el (calc-display-digit-after-point): + New test. + +2021-04-27 Martin Rudalics + + Major rewrite of adjust_frame_size + + Have adjust_frame_size pass native frame sizes to backends + instead of text sizes. Expand frame size history management. + Drop PIXELWISE argument from change_frame_size and convert + native to text sizes only when calling adjust_frame_size. Use + convention in arguments that -1 instead of 0 means that no size + change is required. When adjusting frame sizes pick up delayed + size changes (Bug#46827). + + * lisp/frame.el (frame-notice-user-settings, make-frame): Don't + set frame size history. + (frame--size-history): Rewrite doc-string. Handle new formats + of `frame-size-history' entries. + * src/dispextern.h (delayed_size_change): Extern it. + (change_frame_size): Drop last argument from extern. + * src/dispnew.c (delayed_size_change): Make it global. + (handle_window_change_signal): Reformat. Drop last argument + from change_frame_size call. + (do_pending_window_change, init_display_interactive): Drop last + argument from change_frame_size call. + (change_frame_size_1): NEW_WIDTH and NEW_HEIGHT now specify + native sizes. Drop last argument PIXELWISE. Queue a change + when it either differs from F's current pixel sizes or F's + previously queued sizes. Inject frame_size_history_extra call + when queuing. Adopt convention that for queued sizes -1 means + that no size change is required. Convert from native to text + sizes when calling adjust_frame_size. + (change_frame_size): Drop last argument PIXELWISE and drop it + also in change_frame_size_1 calls. + * src/frame.c (frame_size_history_add): Remove. + (frame_inhibit_resize): Remove call to frame_size_history_add. + (set_menu_bar_lines, set_tab_bar_lines): Simplify. Drop last + argument from change_frame_size call. + (frame_windows_min_size): No more static. + (keep_ratio): Minor rewrite using macros. + (frame_size_history_adjust, frame_size_history_plain) + (frame_size_history_extra): New functions. + (adjust_frame_size): Major rewrite. Adopt new convention that + negative values for new sizes mean no change. Pick up delayed + size changes from F's new_width and new_height slots + (Bug#46827). Call set_window_size_hook with native instead of + text sizes. Do not sanitize window sizes any more. Call + frame_size_history_adjust instead of frame_size_history_add. + Always set F's resized_p slot to true. + (make_frame): Initialize new_width and new_height slots to -1. + Simplify setup of initial sizes and an adjust_frame_size call. + (Fframe_parameters): Drop processing F's new_pixelwise slot. + (check_frame_pixels): Reorder to make declarations appear first. + (Fset_frame_height, Fset_frame_width, Fset_frame_size): Pass + explicit width and height values to adjust_frame_size instead of + -1. + (gui_set_frame_parameters): Minor rewrite making sure that + explicit sizes and the corresponding parameter are passed to + adjust_frame_size. Remove frame_size_history_add call. + (gui_figure_window_size): Drop last two arguments. Simplify + assignment of initial size. Set new_height and new_width slots + to -1. Use adjust_frame_size to set sizes instead of returning + them to caller. + (syms_of_frame): Drop symbols used by frame size history; these + are now built on-the-fly. Also drop some menu bar related + symbols in favor of Qmenu_bar_lines. + * src/frame.h (struct frame): Remove new_pixelwise. + (SET_FRAME_COLS, SET_FRAME_LINES, SET_FRAME_WIDTH) + (SET_FRAME_HEIGHT): Remove macros. + (frame_size_history_add): Remove externs. + (frame_windows_min_size, frame_size_history_plain) + (frame_size_history_extra): Add externs. + (FRAME_WINDOWS_WIDTH, FRAME_WINDOWS_HEIGHT): Rename to + FRAME_INNER_WIDTH and FRAME_INNER_HEIGHT. + (gui_figure_window_size): Drop last two arguments from + extern. + * src/gtkutil.c (xg_frame_resized): Rename arguments to WIDTH + and HEIGHT. Consult delayed_size_change to handle case where + WIDTH and HEIGHT do not match F's new_width and new_height + values. Call change_frame_size with native sizes and without + PIXELWISE argument. Instead of frame_size_history_add call + frame_size_history_extra. + (xg_frame_set_char_size): WIDTH and HEIGHT are native sizes now; + fix adjust_frame_size call accordingly. Instead of + frame_size_history_add call frame_size_history_extra. + (style_changed_cb): Call xg_frame_set_char_size with native + instead of text sizes. + (tb_size_cb): Remove frame_size_history_add call. Call + adjust_frame_size with INHIBIT 5. + (free_frame_tool_bar, xg_change_toolbar_position): Remove + frame_size_history_add call. + (update_frame_tool_bar): Call adjust_frame_size with INHIBIT 2 + and let it handle frame_inhibit_implied_resize and + fullheight/-width. Remove frame_size_history_add call. + * src/keyboard.c (Fsuspend_emacs): Call change_frame_size with + native sizes. + * src/nsfns.m (ns_set_tool_bar_lines): Call adjust_frame_size + with INHIBIT 2 and let it handle frame_inhibit_implied_resize + and fullheight/-width. Remove frame_size_history_add call. + (Fx_create_frame): Drop two last arguments in + gui_figure_window_size call. Do not SET_FRAME_WIDTH and + SET_FRAME_HEIGHT, the adjust_frame_size in + gui_figure_window_size did that already. + * src/nsterm.m (ns_set_window_size): Drop PIXELWISE argument and + its processing; WIDTH and HEIGHT represent native pixel sizes + now. Call change_frame_size with native sizes. Remove call to + frame_size_history_add. + ([EmacsView viewDidResize:]): Call change_frame_size with native + sizes. + * src/term.c (Fresume_tty): Call change_frame_size with native + sizes. + * src/termhooks.h (*set_window_size_hook): Drop last argument + PIXELWISE. + * src/w32fns.c (w32_change_tab_bar_height) + (w32_change_tool_bar_height): Fix handling of these in the initial + phase before they have been resized at least once. + (Fx_create_frame, w32_create_tip_frame): Drop two last arguments + in gui_figure_window_size call. Do not SET_FRAME_WIDTH and + SET_FRAME_HEIGHT (or SET_FRAME_COLS and SET_FRAME_LINES), the + adjust_frame_size in gui_figure_window_size did that already. + * src/w32inevt.c (resize_event, maybe_generate_resize_event): + Pass native sizes to change_frame_size. + * src/w32term.c (w32_read_socket): When WM_WINDOWPOSCHANGED pass + native sizes to change_frame_size. + (w32_new_font): Recalculate FRAME_TAB_BAR_HEIGHT. Simplify + code. + (w32fullscreen_hook): Call change_frame_size with native sizes. + (w32_set_window_size): Drop argument PIXELWISE and its + processing; WIDTH and HEIGHT are native sizes now. Remove + frame_size_history_add calls. Pass native sizes to + change_frame_size. + * src/widget.c (set_frame_size): Set width and height of widget + directly. Call frame_size_history_plain instead of + frame_size_history_add. + (update_from_various_frame_slots): Call + frame_size_history_extra. + (EmacsFrameRealize): Call frame_size_history_plain. + (EmacsFrameResize): Call change_frame_size with native sizes. + Call frame_size_history_extra instead of frame_size_history_add. + (EmacsFrameSetCharSize): Call frame_size_history_extra. Drop + PIXELWISE argument in x_set_window_size call and specify pixels. + (pixel_to_text_size): Remove function. + * src/xdisp.c (resize_mini_window): Replace FRAME_WINDOWS_HEIGHT + with FRAME_INNER_HEIGHT. + (redisplay_tab_bar): Don't set tab_bar_redisplayed when we did + not redisplay it. + (redisplay_tool_bar): Don't call it for external tool bar. + Don't set tool_bar_redisplayed when we did not redisplay it. + (redisplay_window): When the tool bar is external call + update_frame_tool_bar directly. + * src/xfns.c (x_set_menu_bar_lines): Call adjust_frame_size only + if number of menu bar lines changed and fix 6th argument. + (x_change_tab_bar_height, x_change_tool_bar_height): Fix + handling of these in the initial phase before they have been + resized at least once. + (Fx_create_frame, x_create_tip_frame): Drop two last arguments + in gui_figure_window_size call. Do not SET_FRAME_WIDTH and + SET_FRAME_HEIGHT (or SET_FRAME_COLS and SET_FRAME_LINES), the + adjust_frame_size in gui_figure_window_size did that already. + * src/xmenu.c (update_frame_menubar): Fix 6th arg of + adjust_frame_size call. + (free_frame_menubar): For Motif frames fix fullscreen and + `frame-inhibit-implied-resize' handling. Fix 6th arg of + adjust_frame_size calls. + * src/xterm.c (x_net_wm_state): Remove call to + frame_size_history_add. + (handle_one_xevent): For PropertyNotify and UnmapNotify events + add frame_size_history_plain calls. For MapNotify and + ConfigureNotify events add a frame_size_history_extra call. For + ConfigureNotify events also handle delayed size changes and call + change_frame_size with native sizes. + (x_new_font): Recalculate FRAME_TAB_BAR_HEIGHT. Simplify code. + (x_handle_net_wm_state): Remove frame_size_history_add call. + (x_check_fullscreen): Remove frame_size_history_add call. Call + change_frame_size with native height. + (x_set_window_size_1): WIDTH and HEIGHT are now native. Remove + some frame_size_history_add calls and add frame_size_history_extra + calls instead. If the frame is not visible call adjust_frame_size + directly instead of calling change_frame_size. + (x_set_window_size): Drop PIXELWISE argument. WIDTH and HEIGHT + represent native sizes now. + (x_make_frame_visible, x_make_frame_invisible): Call + frame_size_history_plain. + * src/xterm.h (x_set_window_size): Drop last argument from + extern declaration. + +2021-04-27 Glenn Morris + + Doc fixes for comp.el + + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list) + (comp-bootstrap-deny-list, comp-pred-to-cstr, make-comp-mvar) + (comp-mvar-used-p, comp-async-compilation): Doc fixes. + +2021-04-27 Glenn Morris + + Fix some custom types in comp.el + + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list) + (comp-bootstrap-deny-list, comp-never-optimize-functions) + (comp-async-env-modifier-form, comp-native-driver-options): + Fix :type (`list' on its own isn't even a valid type). + +2021-04-27 Amin Bandali + + * lisp/erc/erc.el: Add past maintainer Michael Olson to Contributors. + +2021-04-27 Lars Ingebrigtsen + + Fix compilation warnings in non-toolkit builds + + * src/xterm.c (x_create_toolkit_scroll_bar) + (x_create_horizontal_toolkit_scroll_bar): String constants for + XtSetArg are defined as const strings (in + /usr/include/X11/Xaw3d/ThreeD.h, for instance), but the argument + in XtSetArg is defined as either a const char* or a regular char* + in /usr/include/X11/Intrinsic.h. Cast the argument to String + (which should be correct on all platforms, hopefully) to avoid a + compilation warning (bug#47452). + +2021-04-27 Stefan Kangas + + Rename abnormal hook to comp-async-cu-done-functions + + * lisp/emacs-lisp/comp.el (comp-async-cu-done-functions): Rename + from 'comp-async-cu-done-hook' to reflect that it is an abnormal + hook. Doc fix and update single caller. + +2021-04-27 Lars Ingebrigtsen + + Fix failing subr test + + * test/lisp/subr-tests.el (subr-tests-bug22027): Fix mocked + signature of `read-string' (bug#48022). + +2021-04-27 Lars Ingebrigtsen + + Fix failing auth-source test + + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Fix test failing because + the mocked `read-string' had the wrong interface. + +2021-04-27 Adam Sj淡gren + + Ensure that we get an X-Draft-From headers + + * lisp/gnus/gnus-msg.el (gnus-setup-message): Ensure that we get an + X-Draft-From headers (bug#48049). + +2021-04-27 Stefan Monnier + + * lisp/emacs-lisp/package.el: Fix use of `find-library-name` + + That function caused a warning for a good reason. + Don't just declare it and hope it will be available. + + (package--list-of-conflicts): Require `find-func` explicitly before + declaring the function. Also don't ignore all errors but only + the `file-error`s which will be emitted by `find-library-name` + in normal circumstances. + + * lisp/emacs-lisp/find-func.el (find-library-name): Signal a `file-error` + Instead of a generic `error`. + +2021-04-26 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Initialize it. + +2021-04-26 Andrea Corallo + + Rework where `comp-ctxt' is defined. + + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Remove + `comp-ctxt' definition. + * lisp/emacs-lisp/comp.el (comp-ctxt): Likewise. + * lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Define it here. + +2021-04-26 Andrea Corallo + + * lisp/emacs-lisp/comp.el: Make it loadable in vanilla builds (bug#48021). + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix string-search. + +2021-04-26 Eric Abrahamsen + + Small tweaks to gnus-registry reindexing messaging + + * lisp/gnus/gnus-registry.el (gnus-registry-fixup-registry): Use + `seq-set-equal-p' so we don't care about list element ordering. Don't + show messages within `registry-reindex' if we aren't at gnus-verbose + level 9. + +2021-04-26 Lars Ingebrigtsen + + Fix previous emake adjustment + +2021-04-26 Andrea Corallo + + Make use of `ert-resource-file' `ert-resource-directory' in comp-tests + + * test/src/comp-resources/comp-test-pure.el: Rename. + * test/src/comp-resources/comp-test-funcs.el: Likewise. + * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. + * test/src/comp-resources/comp-test-45603.el: Likewise. + * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use + `ert-resource-file'. + (comp-tests-bootstrap): Use ert-resource-directory. + (comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'. + +2021-04-26 Andrea Corallo + + * Use `expand-file-name' in place of `concat' in comp-tests.el + + * test/src/comp-tests.el (comp-test-src, + comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure, + comp-test-src): Use `expand-file-name' in place of `concat'. + +2021-04-26 Andrea Corallo + + Move native compiler test data into proper directory (bug#48031) + + * test/src/comp-tests-resources/comp-test-45603.el: Rename. + * test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise. + * test/src/comp-tests-resources/comp-test-funcs.el: Likewise. + * test/src/comp-tests-resources/comp-test-pure.el: Likewise. + * test/src/comp-tests.el (comp-test-directory): Update. + +2021-04-26 Andrea Corallo + + * test/src/comp-tests.el: Fix it for non native compiled build (bug#48031). + +2021-04-26 Andrea Corallo + + * Fix comp-cstr tests for vanilla build (bug#48021) + + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Fix tests + for vanilla build (bug#48021) + +2021-04-26 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output): Fix regexp. + +2021-04-26 Michael Albinus + + Some rearrangement in gitlab-ci.yml + + * test/infra/gitlab-ci.yml (test-filenotify-gio, test-gnustep): + Add 'needs:' clause. + (build-native-bootstrap-speed0, build-native-bootstrap-speed1) + (build-native-bootstrap-speed2): Rename from 'test-*'. Do not use + '--without-makeinfo'. + +2021-04-26 Dario Gjorgjevski + + Fix typo in tramp-get-remote-gid + + * lisp/net/tramp.el (tramp-get-remote-gid): Pass the correct + operation to find-file-name-handler. (Bug#48026) + +2021-04-26 Stefan Kangas + + * src/editfns.c (Fpropertize): Doc fix; reference Info manual. + +2021-04-25 Stefan Monnier + + * lisp/url/url-proxy.el (url-find-proxy-for-url): Minor simplification + +2021-04-25 Andrea Corallo + + * lisp/startup.el (comp-eln-load-path): Silence a warning. + +2021-04-25 Lars Ingebrigtsen + + Hack around problems in Turkish environments in url-proxy + + * lisp/url/url-proxy.el (url-find-proxy-for-url): Work around a + problem in Turkish language environments (where a downcased I is + ?脹 (bug#44604). + +2021-04-25 Stefan Kangas + + * lisp/emacs-lisp/comp.el (no-native-compile): Minor doc fixes. + + * lisp/help-macro.el: Remove stale Change Log. + +2021-04-25 Lars Ingebrigtsen + + Adjust regexp to extra native-comp lines + +2021-04-25 Andrea Corallo + + Merge branch 'feature/native-comp' into into trunk + +2021-04-25 Lars Ingebrigtsen + + Revert window/winner changes (Revert 0454bfd3313) + + See bug#23621 for an explanation. + +2021-04-25 Alan Mackenzie + + CC Mode: Get proper search limits in c-font-lock-cut-off-declarators + + * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators): Instead of + using a crude 2,000 characters back limit for backward searching, which is + erroneous when that point is in a literal, use the already calculated + c-determine-limit result. + +2021-04-25 Glenn Morris + + Merge from origin/emacs-27 + + 7d5b973959 (origin/emacs-27) * doc/misc/cl.texi (For Clauses): Minor ... + 4570781f8d ; * doc/lispref/files.texi (Directory Names): Add missing ... + 1b52fd538d Minor update for make-tarball.txt + 8efb8491b2 * doc/misc/cl.texi (Iteration Clauses): fix `never' clause... + 0873134682 ; Fix Texinfo in last change to minibuf.texi. + cad8913c89 Improve filling-related documentation + 2b7eed23eb ; * doc/lispref/keymaps.texi (Easy Menu): Fix typo. + 47fc92cefc Fix reference to "yanking" in the main Emacs manual + 1789dcdb35 Improve documentation of 'map-y-or-n-p' + +2021-04-25 Stefan Kangas + + Add more scroll key bindings to make-help-screen + + * lisp/help-macro.el (make-help-screen): Add bindings to scroll on + , , , . + +2021-04-25 Gregory Heytings (tiny change) + + Fix the handling of the Delete key in help screens. + + * lisp/help-macro.el (make-help-screen): Handle the Delete key + in help screens as in Emacs 23 and earlier. + +2021-04-25 Stefan Kangas + + * lisp/ses.el: Doc fixes. + +2021-04-25 Stefan Kangas + + Don't hard-code face of "Install" button + + * lisp/emacs-lisp/package.el (package-make-button): Use the + 'custom-button' face for the "Install" button. (Bug#47944) + +2021-04-25 Stefan Kangas + + Remove redundant #' before lambda in printing.el + + * lisp/printing.el (pr-menu-create, pr-eval-setting-alist) + (pr-complete-alist, pr-file-list, pr-ps-file-list) + (pr-insert-section-1, pr-insert-section-2) + (pr-insert-section-4, pr-insert-section-5, pr-choice-alist) + Remove redundant #' before lambda. + +2021-04-25 Stefan Kangas + + * src/keyboard.c (Flossage_size): Improve prompt. + +2021-04-25 Stefan Kangas + + Show correct lossage size in help-for-help + + * lisp/help.el (help-for-help): Show correct lossage size. Add + trailing newline. + Suggested by Gregory Heytings . + +2021-04-25 tp叩n Nmec + + * doc/lispref/macros.texi (Eval During Expansion): Copy edit. + +2021-04-25 Daniel Mendler + + (completion-all-sorted-completions): Fix history use with boundaries + + Preprocess the history (and the default) through the new function + `minibuffer--sort-preprocess-history` to filter out the completion + base for completion tables with boundaries (in particular the file + completion table). + + * lisp/minibuffer.el (minibuffer--sort-preprocess-history_: New function. + (completion-all-sorted-completions): Use it. + * test/lisp/minibuffer-tests.el (completion-all-sorted-completions): + Add tests for various combinations of with/without history/base/default. + +2021-04-24 Juri Linkov + + * lisp/progmodes/project.el: Use project-prefixed-buffer-name in more places. + + (project-shell, project-eshell): Use project-prefixed-buffer-name (bug#47975). + (project-compilation-buffer-name-function): Add :version tag. + +2021-04-24 Philipp Stephani + + * doc/misc/cl.texi (For Clauses): Minor copyedits. + +2021-04-24 Stefan Monnier + + * lisp/mpc.el: Avoid (implicit) `eval`; prefer #' to quote function names + + (mpc-format): Compose functions instead of constructing + source-code expressions at run time. + Rename `mpc-pred` property to `mpc--uptodate-p`. + (mpc-status-buffer-refresh): Adjust to the new property name. + +2021-04-24 Stefan Monnier + + * lisp/svg.el: Fix typo in sample code; add minor optimization + + (svg--elliptical-arc-command, svg--moveto-command) + (svg--lineto-command): Use `mapcan`. + +2021-04-24 Stefan Monnier + + * doc/lispref/macros.texi (Eval During Expansion): Fix fixme + +2021-04-24 Glenn Morris + + Simlify top-level Makefile since admin is always included + + * Makefile.in (clean_dirs, distclean_dirs, maintainer_clean_dirs): + Add admin directories. + (clean, distclean, bootstrap-clean, maintainer-clean): Simplify. + (maybeclean_dirs): Remove - this dates to when admin/ was not + included in tar files. + +2021-04-24 Stefan Kangas + + * lisp/help.el (help--for-help-make-sections): Fix typo. + +2021-04-24 Stefan Kangas + + Redesign and improve the help-for-help (C-h C-h) command + + * lisp/help.el (help-for-help): Redesign help screen; add sections, + rearrange and reword. + (help-for-help-header): New face. + (help--for-help-make-commands, help--for-help-make-sections): New + functions. + (help-for-help-buffer-name): New variable. + + * lisp/help-macro.el (make-help-screen): New optional argument + BUFFER-NAME. Fontify keys. + + This change was discussed in: + https://lists.gnu.org/r/emacs-devel/2021-02/msg01695.html + https://lists.gnu.org/r/emacs-devel/2021-03/msg00670.html + https://lists.gnu.org/r/emacs-devel/2021-04/msg00292.html + +2021-04-24 Eli Zaretskii + + Improve detection of pdumper file and *.eln files + + * src/emacs.c (load_pdump_find_executable): Resolve symlinks even + if argv[0] includes leading directories. (Bug#46790) + +2021-04-24 Eli Zaretskii + + Minor update for make-tarball.txt + + * admin/make-tarball.txt (UPDATING THE EMACS WEB PAGES AFTER A + RELEASE): Update and enhance the section to make it easier to find + the banner and verify the updated pages are in place. + +2021-04-24 Jorge P. de Morais Neto (tiny change) + + * doc/misc/cl.texi (Iteration Clauses): fix `never' clause typo + + This fixes bug#47962. + +2021-04-24 Eli Zaretskii + + Obsolete the TAB binding in *xref* buffers + + * doc/emacs/maintaining.texi (Xref Commands): Remove the + description of the TAB binding. Enhance the description of the + RET binding. (Bug#44611) + + * etc/NEWS: Announce the obsolescence of TAB binding in XREF. + + * lisp/progmodes/xref.el (xref-goto-xref): Improve doc string. + +2021-04-24 Stefan Kangas + + * lisp/rot13.el: Improve documentation. (Bug#47970) + +2021-04-24 Eli Zaretskii + + Improve diagnostics of loading *.eln files + + * src/pdumper.c (dump_do_dump_relocation): Improve diagnostics + when loading preloaded *.eln files fails. (Bug#46790) + +2021-04-24 Stefan Monnier + + * lisp/subr.el (remove-hook): Improve last change + + Don't put a `hook--depth-alist` property if there isn't one already. + +2021-04-24 Amin Bandali + + Fix thinko introduced in the last ERC patch (bug#47788) + + * lisp/erc/erc-backend.el (erc-open-network-stream): Need to use apply + to call open-network-stream with the supplied arguments because of the + plist p of arguments. Thanks to neverwas for pointing it out. + +2021-04-23 Stefan Monnier + + * lisp/files.el (minibuffer-with-setup-hook): Fix bug#46326 + +2021-04-23 Stefan Monnier + + * lisp/subr.el (add-hook): Try and fix bug#46326 + + Use `eq` indexing on `hook--depth-alist`. + + (remove-hook): Remove old entries from `hook--depth-alist`. + +2021-04-23 Michael Albinus + + * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p): + + Check, whether Tramp has a package description. + +2021-04-23 Juri Linkov + + * lisp/wdired.el (wdired--before-change-fn): Wrap body in save-match-data. + + Suggested by Michael Heerdegen (bug#14013) + +2021-04-23 Eli Zaretskii + + Fix a recent change in minibuf.texi + + * doc/lispref/minibuf.texi (Basic Completion) + (Programmed Completion): Improve wording, punctuation, and markup + of a recently-added text. + +2021-04-23 Stefan Kangas + + * etc/NEWS: 'world-clock-mode' is no longer interactive. + +2021-04-23 Philipp Stephani + + Expand documentation on nontrivial completion boundaries. + + The interplay between nontrivial completion boundaries and the other + completion functions is somewhat subtle, so it deserves a bit more + explanation. + + * doc/lispref/minibuf.texi (Basic Completion) + (Programmed Completion): Add a few more remarks about nontrivial + completion boundaries. + +2021-04-23 Philipp Stephani + + Fix small bug in 'completion-table-subvert'. + + Even for a trivial underlying completion table (where the 'boundaries' + action returns nil), we need to provide nontrivial boundaries so that + they match the behavior of 'all-completions'. + + * lisp/minibuffer.el (completion-table-subvert): Return boundaries + even for trivial underlying completion table. + * test/lisp/minibuffer-tests.el (completion-table-subvert-test): + Amend unit test to also test boundaries. While there, also test + the other completion functions. + +2021-04-23 Eli Zaretskii + + Revert "Remove the binding for xref-quit-and-goto-xref" + + This reverts commit 522c34f0e80f60969861b0dc34bc7105249f9994. + + Making changes to which there was an explicit disagreement + and a long discussion is unacceptable. (Bug#44611) + +2021-04-23 Dmitry Gutov + + Misc changes + + * lisp/progmodes/project.el (project-shell, project-eshell): + Simplify. + (project-switch-commands, project-switch-use-entire-map): + Add :group keywords (to fix misattribution to project-vc). + +2021-04-23 Amin Bandali + + Add support for using a TLS client certificate with 'erc-tls' (bug#47788) + + * lisp/erc/erc-backend.el (erc-session-client-certificate): New + buffer-local variable storing the TLS client certificate used for the + current connection. + (erc-open-network-stream): Use open-network-stream instead of + make-network-process, and pass any additional arguments to it. + (erc-server-connect): Add an optional client-certificate argument + that if present is passed with the :client-certificate keyword as part + of the arguments to erc-server-connect-function. + * lisp/erc/erc.el (erc-open): Add new optional client-certificate + argument, set it as erc-session-client-certificate, and pass it along + to erc-server-connect. + (erc): Clarify documentation string with respect to the full-name + argument. + (erc-tls): Add new client-certificate keyword argument and pass it in + the direct call to erc-open (instead of going through erc). + (erc-open-tls-stream): Pass any additional arguments (such as + :client-certificate) to open-network-stream. Also allow overriding + :nowait if desired. + + * doc/misc/erc.texi: Add documentation for erc-tls, including the new + :client-certificate argument. + + * etc/NEWS: Announce the change. + +2021-04-23 Ivan Sokolov (tiny change) + + Introduce project-compilation-buffer-name-function + + * lisp/progmodes/project.el (project-compilation-buffer-name-function): + New option. + (project-compile): Use it. + (project-prefixed-buffer-name): New function. + +2021-04-22 Dmitry Gutov + + * lisp/progmodes/xref.el: Remove the "still experimental" note. + +2021-04-22 Dmitry Gutov + + Remove the binding for xref-quit-and-goto-xref + + * lisp/progmodes/xref.el (xref--xref-buffer-mode-map): + Remove the binding for xref-quit-and-goto-xref (bug#44611). + + * doc/emacs/maintaining.texi (Xref Commands): Update. + +2021-04-22 Stefan Kangas + + * lisp/time.el (world-clock-mode): Make non-interactive. + +2021-04-22 Stefan Kangas + + Minor improvements to world-clock + + * lisp/time.el (world-clock-mode-map): New variable. Bind 'n' and + 'p' to 'next-line' and 'previous-line'. + (world-clock-update): Preserve point. + +2021-04-22 Eli Zaretskii + + Fix MS-Windows link switches for unexec + + * configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Disable ASLR + when linking for unexec. Reported by Nikolay Kudryavtsev + . + +2021-04-22 Stefan Kangas + + * lisp/progmodes/which-func.el: Doc fixes. + +2021-04-22 Dmitry Gutov + + Move part of the fix from project to xref + + * lisp/progmodes/project.el (project--find-regexp-in-files): + Don't unquote file names here. + + * lisp/progmodes/xref.el (xref-matches-in-files): Do it here. + And only if the first element in the list is quoted (bug#47799). + +2021-04-22 Philipp Stephani + + Ensure that argument to 'verify' is a constant expression. + + Casting NULL is not a constant expression (Bug#47951). + + * lib-src/seccomp-filter.c (main): Turn check for null pointer + representation into a runtime assertion. + +2021-04-22 Utkarsh Singh (tiny change) + + * lisp/window.el (display-buffer): Doc fix. (Bug#47950) + +2021-04-22 Stefan Monnier + + Fix unload+reload of files using `custom-initialize-delay` (bug#47072) + + * lisp/custom.el (custom-initialize-delay): Don't delay if + `custom-delayed-init-variables` has already been processed. + * lisp/startup.el (command-line): Mark `custom-delayed-init-variables` + as processed. + +2021-04-22 Alan Mackenzie + + Fix unclean "can't happen" error handling in read_minibuf_unwind + + Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor + t, a minibuffer could appear in two frames at the same time. + + * src/window.c (Fset_window_configuration): Add a new &optional parameter + DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from + the supplied window configuration. + (restore_window_configuration): Enhance to match the above. + + * src/minibuf.c (read_minibuf): Enhance the argument list to the + restore_window_configuration calls to match the above. In the main case, + restoring the minibuffer is inhibited. + (read_minibuf_unwind): Should the frame with the expired minibuffer not be + found ("can't happen"), unwind the stacked data nevertheless, rather than just + exiting. + + * src/keyboard.c (read_char_help_form_unwind): Amend a call of + Fset_window_configuration. + + * doc/lispref/windows.texi (Window Configurations): Document the new form of + set-window-configuration. + + * etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for + set-window-configuration. + +2021-04-22 Eli Zaretskii + + Fix Isearch hscrolling in a corner case + + * lisp/isearch.el (isearch-update): When we start hscrolled, + consider also the case that point ends up being to the left of the + hscrolled window's edge. (Bug#46316) + +2021-04-22 Eli Zaretskii + + Fix 'window-text-pixel-size' when there's after-string at EOB + + * src/xdisp.c (move_it_to): Fix logic of reaching TO_CHARPOS when + there's a display or overlay string(s) at EOB. (Bug#47860) + +2021-04-22 Andrea Corallo + + Improve a native compiler test + + * test/src/comp-tests.el (comp-test-47868-1): Improve + testcase. + * test/src/comp-test-funcs.el (comp-test-47868-3-f) + (comp-test-47868-4-f): New functions. + +2021-04-22 Stefan Kangas + + Avoid lowering gc-cons-threshold + + * lisp/cedet/semantic/wisent/comp.el (wisent--compile-grammar): + * lisp/international/mule-cmds.el (ucs-names): + * lisp/progmodes/ebrowse.el (ebrowse-read): + * test/src/coding-tests.el (benchmark-decoder): Avoid lowering + gc-cons-treshold. + +2021-04-22 Stefan Kangas + + * lisp/strokes.el: Doc fix; update URL. + +2021-04-22 Dmitry Gutov + + Use khaki1 as 'match' background + + * lisp/replace.el (match): Use khaki1 as the background color for + light backgrounds (bug#47574). + +2021-04-21 Stefan Kangas + + * lisp/emacs-lisp/package.el (package-archives): Bump :version. + + * lisp/emacs-lisp/package.el: Doc fix. + +2021-04-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Style fix. + +2021-04-21 Philip K + + Make outline commands repeatable (bug#47878) + + * outline.el (outline-navigation-repeat-map): Add new map. + (outline-editing-repeat-map): Add new map. + +2021-04-21 Mattias Engdeg奪rd + + Don't erroneously declare `mark` as error-free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns) + (side-effect-and-error-free-fns): + `mark` is side-effect-free but not error-free. + +2021-04-21 Juri Linkov + + * lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512). + + (search-map): Bind "M-s M-." to isearch-forward-thing-at-point. + (isearch-forward-thing-at-point): New defcustom. + +2021-04-21 Juri Linkov + + * lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512 + +2021-04-21 Philipp Stephani + + Remove a self-reference from the Emacs Lisp manual. + + * doc/lispref/minibuf.texi (Programmed Completion): Remove + self-reference. + +2021-04-21 Stefan Kangas + + Improve error message for missing Info manual + + * lisp/info.el (Info-find-file): Improve error message for missing + Info manual. (Bug#46236) + Fix suggested by Eli Zaretskii . + +2021-04-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (batch-byte-native-compile-for-bootstrap): Fix typo. + +2021-04-21 Andrea Corallo + + Fix native compiler string hash consing strategy (bug#47868) + + * test/src/comp-tests.el (comp-test-47868-1): Add new test. + * test/src/comp-test-funcs.el (comp-test-47868-1-f) + (comp-test-47868-2-f): New functions. + * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash + tanble test. + (comp-data-container): Use it. + (comp-final, comp-run-async-workers): have comp required before + reading dumped hashes so that `comp-imm-equal-test' is defined. + +2021-04-21 Andrea Corallo + + Introduce `sxhash-equal-including-properties'. + + * src/fns.c (collect_interval): Move it upwards. + (Fsxhash_equal_including_properties): New function. + (syms_of_fns): Register `sxhash-equal-including-properties'. + * etc/NEWS: Add 'sxhash-equal-including-properties'. + +2021-04-21 Philip K + + sgml-mode: Only set sgml-xml-mode if guessed to be an XML file + + * lisp/textmodes/sgml-mode.el (sgml-mode): Don't override + sgml-xml-mode if the result of the guess is used as the buffer local + value. (Bug#47877) + +2021-04-21 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925 + + In order to correctly detect the case of the "new style" with an empty body, + remove the old optional arguments `init-value`, `lighter`, and `keymap`, + so we can distinguish the "nil arg" from the "absent arg" cases. + +2021-04-20 Harald J旦rg + + cperl-mode: Avoid abbrev expansion in variable names + + * lisp/progmodes/cperl-mode.el (cperl-electric-else): Don't expand + scalar variables like '$continue' as keywords. (Bug#47902) + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-hyperactive-electric-else): Verify that keywords are + expanded but variable names aren't. + +2021-04-20 Juri Linkov + + * lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection. + + * lisp/isearch.el (isearch-post-command-hook): Revert ff796823e5 (bug#47894). + +2021-04-20 Jonas Bernoulli + + Add new library transient.el + + * lisp/transient.el: New file. + +2021-04-20 Eli Zaretskii + + Fix Rmail-MIME size estimations + + The quoted-printable estimation was obviously wrong: the size becomes + smaller when decoded, not larger... + * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix estimations + of decoded MIME attachment. + +2021-04-20 Stefan Monnier + + * src/minibuf.c (Fread_no_blanks_input): Move to `minibuffer.el` + + * src/keymap.c (syms_of_keymap): + * lisp/minibuffer.el (minibuffer-local-ns-map): Move declaration + to initialization. + (read-no-blanks-input): Move from `minibuf.c`. + +2021-04-20 Stefan Monnier + + * lisp/minibuffer.el (minibuffer-mode-map): Make it an alias + + Avoid creating this "dummy" keymap by making it an alias of + the parent keymap of all minibuffer keymaps. + +2021-04-20 Stefan Monnier + + * src/minibuf.c (read_minibuf): Change multibyte more safely + + We used to `bset_enable_multibyte_characters` while the buffer is not + empty, putting the buffer temporarily in an inconsistent state. + + Further simplifications along the way: Prefer re-using local var `histvar` + and let `insert` do the unibyte<->multibyte conversion if needed. + +2021-04-20 Eli Zaretskii + + Improve filling-related documentation + + * doc/emacs/text.texi (Auto Fill, Fill Commands): Mention special + line-breaking rules for CJK characters and the kinsoku rules. + (Bug#47856) + + * lisp/textmodes/fill.el + (fill-separate-heterogeneous-words-with-space): Doc fix. + +2021-04-20 Michael Albinus + + Fix localization problem in Tramp + + * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use localized + quotation characters for check. + +2021-04-20 Alan Mackenzie + + Fix bug #47781: (window-list-1 nil t) wrongly returned nil. + + * src/window.c (candidate_window_p): In the WINDOW_P (all_frames) branch of + the conditional, insert "EQ (minibuf, Qt)" in the requisite place. + +2021-04-20 Alan Mackenzie + + Introduce and use minibuffer-mode. This fixes bug #47150 + + * lisp/minibuffer.el (minibuffer-mode): New derived mode. + + * src/minibuf.c (syms_of_minibuf): New DEFSYMs Qminibuffer_mode, + Qminibuffer_inactive_mode, Qminibuffer_completing_file_name, + Qselect_frame_set_input_focus, Qadd_to_history. + (read_minibuf, set_minibuffer_mode, read_minibuf_unwind): Use the new DEFSYMs + in place of continual interning. + (set_minibuffer_mode): Put an active minibuffer into minibuffer-mode rather + than fundamental-mode. + + * doc/emacs/mini.texi (Minibuffer Edit): Mention minibuffer-mode. + + * doc/lispref/minibuf.texi (Intro to Minibuffers): Add a paragraph about + minibuffer-mode. + + * etc/NEWS (Incompatible Lisp Changes in Emacs 28.1): Add an entry. + +2021-04-20 Daniel Mendler + + (completion-all-sorted-completions): Additional alphabetical sorting + + Even in the cases where it does not make much visible difference, + it brings the benefit of making the result deterministic. + + * minibuffer.el (minibuffer--sort-by-length-alpha): New function. + (minibuffer--sort-by-position): New function extracted from + `completion-all-sorted-completions`. + (completion-all-sorted-completions): Use use them. + +2021-04-19 Daniel Mendler + + minibuffer.el: Use completion--message instead of minibuffer-message + + * minibuffer.el: Use completion--message consistently for the messages + "Incomplete", "Sole completion" and "No completions". + +2021-04-19 Philipp Stephani + + Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...). + + The dynamic loader of GNU libc 2.28 uses this system call to + initialize CPU information, see + https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28. + Simulating an older kernel by returning EINVAL should be the most + harmless rule here. + + The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers; + see the FIXME at the top of + https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28. + + * lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not + already present. Inline the value because there doesn't seem to + be a header file exporting this constant yet. + (main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL. + +2021-04-19 Stefan Monnier + + * lisp/minibuffer.el (completion-all-sorted-completions): Fix last change + +2021-04-19 Stefan Monnier + + * lisp/minibuffer.el (minibuffer--sort-by-key): New function + + (completion-all-sorted-completions): Use it. + +2021-04-19 Daniel Mendler + + completion-all-sorted-completions: Fix sorting performance bug + + * lisp/minibuffer.el (completion-all-sorted-completions): Use hash + table for sorting by history position, O(m+n*log(n)) instead of + O(m*n*log(n)) with history length `m` and candidate length `n`. + +2021-04-19 Daniel Mendler + + completing-read: If HIST is the symbol `t', history is not recorded. + + * lisp/minibuffer.el (completion-all-sorted-completions): Check if + `minibuffer-history-variable` is `t` + * src/minibuf.c (completing-read): Update docstring + * doc/lispref/minibuf.texi: Update documentation of + `read-from-minibuffer` and `completing-read` + +2021-04-19 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-04-19 Michael Albinus + + Add Tramp recompilation + + * doc/misc/tramp.texi (Frequently Asked Questions): Refer to GNU + ELPA Tramp README. + + * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p) + (tramp-recompile-elpa): New defuns. Add property `completion-predicate'. + +2021-04-19 Stefan Kangas + + Don't hard-code "~/.emacs.d/" in two more places + + * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): + * lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code + "~/.emacs.d/". + +2021-04-19 Philip K + + Don't hard-code "~/.emacs.d/" in rcirc.el + + * lisp/net/rcirc.el (rcirc-log-directory): Use + locate-user-emacs-file. (Bug#47880) + +2021-04-18 Philipp Stephani + + Factor out a helper macro to create a temporary directory. + + This is a useful abstraction, and saves a few levels of indentation in + the test body. + + * test/lisp/progmodes/project-tests.el + (project-tests--with-temporary-directory): New helper macro. + (project/quoted-directory): Use it. + +2021-04-18 Philipp Stephani + + Add quoted filename support to 'project-find-regexp' (Bug#47799). + + This is only a band-aid; it would be better to fix xref.el to work + with quoted filenames as well. + + * lisp/progmodes/project.el (project--find-regexp-in-files): Unquote + filenames before passing them to 'xref-matches-in-files'. + * test/lisp/progmodes/project-tests.el (project/quoted-directory): + Also test 'project-find-regexp'. + +2021-04-18 Philipp Stephani + + Extend project test so that 'project-current' works. + + * test/lisp/progmodes/project-tests.el (project/quoted-directory): + Verify that 'project-current' returns the right project. + +2021-04-18 Philipp Stephani + + Skip a unit test that requires an external program if necessary. + + * test/lisp/progmodes/project-tests.el (project/quoted-directory): + Skip if the 'find' program isn't available. The 'project-files' + function uses 'find' to obtain the list of project files. + +2021-04-18 Eli Zaretskii + + * src/emacs.c (main): Add back the call to init_callproc_1. (bug#47872) + +2021-04-18 Protesilaos Stavrou + + Update modus-themes to version 1.3.2 + + * doc/misc/modus-themes.org (COPYING): Reword to match the phrasing of + other manuals that are distributed with Emacs. + + (Install from the archives) + (Sample configuration for use-package) + (Option for more bold constructs) + (Option for more slanted constructs) + (Option for syntax highlighting) + (Option for no font mixing) + (Option for links) + (Option for command prompt styles) + (Option for completion framework aesthetics) + (Option for fringe visibility) + (Option for language checkers) + (Option for org-habit graph styles) + (Option for line numbers (display-line-numbers-mode)) + (Option for parenthesis matching (show-paren-mode)) + (Option for diff buffer looks) + (Option for scaled headings) + (Option for variable-pitch font in UI elements) + (Option for variable-pitch font in headings) + (Case-by-case face specs using the themes' palette (DIY)) + (Face specs at scale using the themes' palette (DIY)) + (Font configurations for Org and others (DIY)) + (Load theme depending on time of day): Minor markup changes for better + texi output. + + (Option for mode line presentation): Document new possible values for + 'modus-themes-mode-line'. + + (Option for line highlighting (hl-line-mode)): Document new + 'modus-themes-hl-line' variable, which supersedes + 'modus-themes-intense-hl-line'. + + (Option for active region): Document new possible values for + 'modus-themes-region'. + + (Option for org-mode block styles): Cite variables that affect + fontification. + + (Option for the headings' overall style): Include the option of a + per-level nil value. + + (Remap face with local value (DIY)) + (Override colors (DIY)): Add sections. + + (Full support for packages or face groups): Document newly supported packages + + (Note for dimmer.el) + (Note for EWW and Elfeed fonts (SHR fonts)): Add notes. + + (Acknowledgements): Add names of new contributors. + + (GNU Free Documentation License): Add tags for html export. + + * etc/themes/modus-operandi-theme.el (File) + * etc/themes/modus-vivendi-theme.el (File): Update to version 1.3.1 + + * etc/themes/modus-themes.el (modus-themes-operandi-colors) + (modus-themes-vivendi-colors) + (modus-theme-subtle-red) + (modus-themes-subtle-red) + (modus-theme-subtle-green) + (modus-themes-subtle-green) + (modus-theme-subtle-yellow) + (modus-themes-subtle-yellow) + (modus-theme-subtle-blue) + (modus-themes-subtle-blue) + (modus-theme-subtle-magenta) + (modus-themes-subtle-magenta) + (modus-theme-subtle-cyan) + (modus-themes-subtle-cyan) + (modus-theme-subtle-neutral) + (modus-themes-subtle-neutral) + (modus-theme-intense-red) + (modus-themes-intense-red) + (modus-theme-intense-green) + (modus-themes-intense-green) + (modus-theme-intense-yellow) + (modus-themes-intense-yellow) + (modus-theme-intense-blue) + (modus-themes-intense-blue) + (modus-theme-intense-magenta) + (modus-themes-intense-magenta) + (modus-theme-intense-cyan) + (modus-themes-intense-cyan) + (modus-theme-intense-neutral) + (modus-themes-intense-neutral) + (modus-theme-refine-red) + (modus-themes-refine-red) + (modus-theme-refine-green) + (modus-themes-refine-green) + (modus-theme-refine-yellow) + (modus-themes-refine-yellow) + (modus-theme-refine-blue) + (modus-themes-refine-blue) + (modus-theme-refine-magenta) + (modus-themes-refine-magenta) + (modus-theme-refine-cyan) + (modus-themes-refine-cyan) + (modus-theme-active-red) + (modus-themes-active-red) + (modus-theme-active-green) + (modus-themes-active-green) + (modus-theme-active-yellow) + (modus-themes-active-yellow) + (modus-theme-active-blue) + (modus-themes-active-blue) + (modus-theme-active-magenta) + (modus-themes-active-magenta) + (modus-theme-active-cyan) + (modus-themes-active-cyan) + (modus-theme-fringe-red) + (modus-themes-fringe-red) + (modus-theme-fringe-green) + (modus-themes-fringe-green) + (modus-theme-fringe-yellow) + (modus-themes-fringe-yellow) + (modus-theme-fringe-blue) + (modus-themes-fringe-blue) + (modus-theme-fringe-magenta) + (modus-themes-fringe-magenta) + (modus-theme-fringe-cyan) + (modus-themes-fringe-cyan) + (modus-theme-nuanced-red) + (modus-theme-nuanced-green) + (modus-theme-nuanced-yellow) + (modus-theme-nuanced-blue) + (modus-theme-nuanced-magenta) + (modus-theme-nuanced-cyan) + (modus-theme-special-cold) + (modus-theme-special-mild) + (modus-theme-special-warm) + (modus-theme-special-calm) + (modus-theme-diff-added) + (modus-theme-diff-changed) + (modus-theme-diff-removed) + (modus-theme-diff-refine-added) + (modus-theme-diff-refine-changed) + (modus-theme-diff-refine-removed) + (modus-theme-diff-focus-added) + (modus-theme-diff-focus-changed) + (modus-theme-diff-focus-removed) + (modus-theme-diff-heading) + (modus-theme-pseudo-header) + (modus-theme-mark-alt) + (modus-theme-mark-del) + (modus-theme-mark-sel) + (modus-theme-mark-symbol) + (modus-theme-heading-1) + (modus-theme-heading-2) + (modus-theme-heading-3) + (modus-theme-heading-4) + (modus-theme-heading-5) + (modus-theme-heading-6) + (modus-theme-heading-7) + (modus-theme-heading-8) + (modus-theme-hl-line) + (modus-theme-bold) + (modus-theme-slant) + (modus-theme-variable-pitch) + (modus-theme-graph-red-0) + (modus-theme-graph-red-1) + (modus-theme-graph-green-0) + (modus-theme-graph-green-1) + (modus-theme-graph-yellow-0) + (modus-theme-graph-yellow-1) + (modus-theme-graph-blue-0) + (modus-theme-graph-blue-1) + (modus-theme-graph-magenta-0) + (modus-theme-graph-magenta-1) + (modus-theme-graph-cyan-0) + (modus-theme-graph-cyan-1) + (modus-theme-lang-note) + (modus-theme-lang-warning) + (modus-theme-lang-error): Rename all internal faces. + + (modus-themes-headings) + (modus-themes-fringes) + (modus-themes-lang-checkers) + (modus-themes-org-blocks) + (modus-themes-org-habit) + (modus-themes-mode-line) + (modus-themes-diffs) + (modus-themes-completions) + (modus-themes-prompts) + (modus-themes-intense-hl-line) + (modus-themes-hl-line) + (modus-themes-paren-match) + (modus-themes-syntax) + (modus-themes-links) + (modus-themes-region): Update defcustom. + + (modus-themes--fringe): + (modus-themes--headings-choice): + (modus-themes--prompt): + (modus-themes--org-block-delim): + (modus-themes--mode-line-attrs): + (modus-themes--link): + (modus-themes--region): + (modus-themes--hl-line): Adjustments to internal functions. + + (modus-themes-faces): Update faces. + (modus-themes-custom-variables): Update custom variables. + +2021-04-18 Eli Zaretskii + + * src/comp.c (fixup_eln_load_path): Simplify code. + +2021-04-18 Eli Zaretskii + + Fix last change + + * src/emacs.c (load_pdump_find_executable): Fix the value of + CANDIDATE_SIZE when the final candidate is a symlink. + +2021-04-18 Philipp Stephani + + Fix Seccomp filter on CentOS 8.3 (Bug#47828). + + * lib-src/seccomp-filter.c (main): mmap: Also allow MAP_SHARED. + +2021-04-18 Stefan Kangas + + * lisp/misearch.el (multi-isearch-pop-state): Doc fix. + +2021-04-18 Martin Rudalics + + Avoid selecting tooltip windows and frames (Bug#47207) + + * src/frame.c (do_switch_frame): Don't switch to a tooltip frame. + (Fselect_frame): Do not select a tooltip frame. + * src/w32fns.c (Fx_show_tip): + * src/xfns.c (Fx_show_tip): Set the tooltip window's + `no-other-window' parameter so `other-window' will skip it. + * src/window.c (select_window): Do not select a tooltip window. + (candidate_window_p): Make sure MINIBUF is live. + (decode_next_window_args): Make sure that W's frame's minibuffer + window is live before including it. + (Qno_other_window): New symbol. + +2021-04-18 Stefan Monnier + + * lisp/emacs-lisp/debug.el (debug): Fix (bug#47588) + + Don't bind `load-read-function` to nil but to its actual default value. + Actually, I'm not sure it's worth the trouble rebinding this var, but + if we do, then we should bind it to a valid value rather than to nil. + + * lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice + if needed. + +2021-04-17 Philipp Stephani + + Attempt to print some debugging information on Seccomp failures. + + Try to search the audit log as well as recent core dumps. + + * test/src/emacs-tests.el (emacs-tests--seccomp-debug): New helper + function. + (emacs-tests/seccomp/allows-stdout) + (emacs-tests/seccomp/forbids-subprocess) + (emacs-tests/bwrap/allows-stdout): Use it. + +2021-04-17 Eli Zaretskii + + * src/emacs.c (load_pdump): Fix unconditional references to strip_suffix. + +2021-04-17 Michael Albinus + + Make stderr in Tramp's make-process more robust + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Wrap about + error in inserting stderr file. + + * lisp/net/tramp.el (tramp-handle-make-process): Fix docstring. + +2021-04-17 Eli Zaretskii + + * emacs.c (load_pdump): Fix compilation on picky-complier platforms. + +2021-04-17 Daniel Mart鱈n + + Fix reference to "yanking" in the main Emacs manual + + * doc/emacs/emacs.texi (Top): Yanking is alternatively known as + pasting, not copying. (Bug#47839). + +2021-04-17 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further + + Suggested by Lars Ingebrigtsen . + +2021-04-17 Eli Zaretskii + + Fix loading *.eln files when Emacs is installed via symlinks + + * src/emacs.c (real_filename, set_invocation_vars) + (init_vars_for_load): Functions deleted; callers adjusted. + (init_cmdargs): Put back all the code which was extracted into + set_invocation_vars. + (load_pdump_find_executable): Make sure the return value has any + symlinks in it expanded. + (load_pdump): Accept only 2 arguments, not 3. Determine both the + file name of the Emacs executable and of the dump file in + synchronized manner, so that if we decided to look for the dump + file in its hardcoded installation directory, the directory of the + Emacs executable will also be where we expect it to be installed. + Pass only 2 arguments to pdumper_load. (Bug#47800) (Bug#44128) + * src/pdumper.c (dump_do_dump_relocation): Use emacs_execdir + instead of Vinvocation_directory to produce absolute file names of + *.eln files that are recorded in the pdumper file. Pass the full + .eln file name to fixup_eln_load_path. + (pdumper_set_emacs_execdir) [HAVE_NATIVE_COMP]: New function. + (pdumper_load) [HAVE_NATIVE_COMP]: Call pdumper_set_emacs_execdir. + * src/comp.c (fixup_eln_load_path): Use Fsubstring_no_properties + instead of Fsubstring. No need to cons a file name, as the caller + already did that. Use explicit const string to avoid "magic" + values. + + * lisp/startup.el (normal-top-level): Use expand-file-name instead + of concat. Decode comp-eln-load-path and expand-file-name its + members. + +2021-04-17 Alan Third + + Fix :scale's affect on :width and :height (bug#47819) + + * src/image.c (compute_image_size): Multiply width and height values + by scale. + +2021-04-17 Eli Zaretskii + + Improve documentation of 'map-y-or-n-p' + + * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Doc fix. (Bug#47833) + + * doc/lispref/minibuf.texi (Multiple Queries): Fix the wording in + the description of 'map-y-or-n-p'. + +2021-04-17 Martin Rudalics + + Don't allow quitting while rebuilding Vwindow_list (Bug#47244) + + * src/window.c (window_list, next_window, window_list_1): Don't + allow quitting in Fnconc and Fmemq (Bug#47244). + +2021-04-17 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve `C-h f` output + + Suggested by Michael Heerdegen . + +2021-04-17 Stefan Kangas + + Cleanup in em-extra.el + + * lisp/eshell/em-xtra.el (cl-lib): Require. + (pcomplete, compile): Remove unnecessary requires. + (eshell/substitute, eshell/count, eshell/mismatch, eshell/union) + (eshell/intersection, eshell/set-difference) + (eshell/set-exclusive-or): Use cl-lib. Doc fixes. + (eshell/ff, eshell/gf, eshell/expr): Quote function symbols as such. + (eshell/expr): Assume 'calc-eval' is always available. + +2021-04-16 Alan Mackenzie + + Check minibuffer windows are live windows, rather than assuming it + + This partly fixes bug #47207. + + * src/minibuf.c (choose_minibuf_frame, move_minibuffers_onto_frame) + (read_minibuf (twice), read_minibuf_unwind): Before using a frame's + ->minibuffer_window field, check it is valid with WINDOW_LIVE_P. + (choose_minibuf_frame): Remove the emacs_abort for a null minibuffer. + +2021-04-16 Glenn Morris + + Merge from origin/emacs-27 + + eedad01b4b (origin/emacs-27) Fix typos in manuals + 24d214652e Fix description of momentary message display + +2021-04-16 Ashish SHUKLA + + * lisp/emacs-lisp/comp.el (comp-effective-async-max-jobs): Handle BSD. + +2021-04-16 Robert Pluim + + Improve docstring of 'frame-scale-factor' + + * src/frame.c (Fframe_scale_factor): Explain what happens when the + FRAME argument is nil. + +2021-04-16 Dmitry Gutov + + Improve quoting of directory names in project/xref + + * lisp/progmodes/project.el (project--files-in-directory): + Quote LOCALDIR a bit earlier, to affect + xref--find-ignores-arguments as well (bug#47799). + + * lisp/progmodes/xref.el (xref-matches-in-directory): + Quote the dir passed to xref--rgrep-command. + +2021-04-16 Dmitry Gutov + + project--files-in-directory: Handle errors reported by 'find' + + * lisp/progmodes/project.el (project--files-in-directory): + Handle errors reported by 'find' (bug#47799). + +2021-04-15 Eli Zaretskii + + Fix 'garbage-collect-maybe' + + * src/alloc.c (Fgarbage_collect_maybe): No longer interactive. + (Bug#47805) + +2021-04-15 Alan Third + + Allow use of em in image spec sizes + + * src/image.c (image_get_dimension): New function. + (compute_image_size): Use image_get_dimension to set the sizes, and + pass in the image struct instead of just the spec. + (image_set_transform): + (imagemagick_load_image): + (svg_load_image): Use the image instead of the spec in compute_image_size. + (syms_of_image): Add 'em' as a symbol. + +2021-04-15 Philipp Stephani + + Improve project support for quoted directory names (Bug#47799) + + * lisp/progmodes/project.el (project--files-in-directory): Unquote + directory name before passing it to 'find'. + (project--remote-file-names): Requote local filenames if the original + directory is quoted. + * test/lisp/progmodes/project-tests.el (project/quoted-directory): New + unit test. + +2021-04-15 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz` + + (bindat--unpack-strz): Allow `len` to be nil. + (bindat--pack-strz): New function. + (bindat--type) : Make `len` arg optional. + (bindat-type): Adjust debug spec and docstring accordingly. + + * doc/lispref/processes.texi (Bindat Types): Adjust accordingly. + +2021-04-15 Mattias Engdeg奪rd + + Add condition-case success handler (bug#47677) + + Allow a condition-case handler on the form (:success BODY) to be + specified as the success continuation of the protected form, with + the specified variable bound to its result. + + * src/eval.c (Fcondition_case): Update the doc string. + (internal_lisp_condition_case): Implement in interpreter. + (syms_of_eval): Defsym :success. + * lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case): + Implement in byte-compiler. + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Allow self-TCO + from success handler. + * doc/lispref/control.texi (Handling Errors): Update manual. + * etc/NEWS: Announce. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases) + (bytecomp-condition-case-success): + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + Add test cases. + +2021-04-15 Alan Mackenzie + + CC Mode: Put debug specs inside declare forms. Add missing debug specs. + + * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el, + lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el, + lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-langs.el, + lisp/progmodes/cc-mode.el: Change the explicit def-edebug-spec for many macros + into a (declare (debug ...) ..) form. Add such forms to macros which were + previously lacking def-edebug-spec forms. + +2021-04-14 Andrea Corallo + + * configure.ac: Revert prev commit and fix native-comp NetBSD build. + +2021-04-14 Juri Linkov + + repeat-echo-mode-line-string doesn't need risky-local-variable to keep props + + (bug#47566) + +2021-04-14 Filipp Gunbin + + Java Mode: Change the syntax of character @ to prefix syntax + + lisp/progmodes/cc-langs.el (c-make-mode-syntax-table): Change the syntax of @ + as indicated. + +2021-04-14 Juri Linkov + + * lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755) + +2021-04-14 Juri Linkov + + Don't error out when selection data is unavailable (bug#47642) + + * src/xselect.c (x_get_window_property_as_lisp_data): + Display a message and return nil when data is not available. + +2021-04-14 Juri Linkov + + * lisp/progmodes/gud.el (gud-repeat-map): New variable (bug#47688). + + (gud-gdb): Populate gud-repeat-map with repeating keys. + +2021-04-14 Juri Linkov + + * lisp/repeat.el: Add option to indicate repeat-mode in mode-line (bug#47566) + + * lisp/repeat.el (repeat-echo-function): Rename from repeat-mode-echo. + Add choice repeat-echo-mode-line. + (repeat-in-progress): New variable. + (repeat-post-hook): Call repeat-echo-function with nil arg + at the end of repeating sequence. + (repeat-echo-message-string): New function with body from repeat-post-hook. + (repeat-echo-message): Rename from repeat-mode-message. + (repeat-echo-mode-line-string): New variable. + (repeat-echo-mode-line): New function. + +2021-04-14 Andrea Corallo + + * configure.ac: Fix native-comp FreeBSD build. + +2021-04-14 Eli Zaretskii + + Fix MS-Windows build following last change + + * src/emacs.c (real_filename) [WINDOWSNT]: Fix off-by-one error + when allocating storage for a file name. + +2021-04-14 Andrea Corallo + + * Fix native-comp startup for symliked binary (bug#44128) + + * src/emacs.c (real_filename): New function. + (set_invocation_vars, load_pdump): Make use of. + +2021-04-14 Michael Albinus + + Rearrange argument handling in Tramp scp calls. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `start-process' instead of `start-process-shell-command'. + (tramp-make-copy-program-file-name): Do not quote `localname'. + + * test/lisp/net/tramp-tests.el (tramp-method-out-of-band-p): Declare. + (tramp--test-windows-nt-and-batch-p) + (tramp--test-windows-nt-and-pscp-psftp-p): Remove, and also all callees. + (tramp--test-windows-nt-and-out-of-band-p) + (tramp--test-windows-nt-and-scp-p): New defuns. + (tramp-test17-dired-with-wildcards) + (tramp-test40-special-characters) + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls, tramp-test41-utf8) + (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl) + (tramp-test41-utf8-with-ls): Use them. + +2021-04-14 Eli Zaretskii + + Add two optional arguments to 'string-width' + + * src/character.c (Fstring_width, lisp_string_width): Accept two + optional arguments FROM and TO, to indicate the substring to be + considered. + (Fstring_width): Add caveats in the doc string about display + features ignored by the function. (Bug#47712) + * src/character.h (lisp_string_width): Update prototype. + * src/editfns.c (styled_format): Adjust call of lisp_string_width + to its changed signature. + + * test/src/character-tests.el (character-test-string-width): New + file with tests for 'string-width'. + + * doc/lispref/display.texi (Size of Displayed Text): Document + caveats of using 'string-width'. + + * etc/NEWS: Announce the change. + +2021-04-14 Stefan Monnier + + * src/xdisp.c (wset_update_mode_line): Move from `src/window.c` + + Move that function next to its siblings. Also simplify it, since + after careful analysis it is now clear that the frame's title's update + is already handled elsewhere (in `prepare_menu_bars` and `redisplay_window`) + so we just need to make sure the `redisplay` bit is set. + + * src/window.c (wset_update_mode_line): Move to `src/xdisp.c`. + * src/window.h (wset_update_mode_line): Declare. + +2021-04-14 Stefan Monnier + + * lisp/nxml/xmltok.el (xmltok-defregexp): Don't quote lambda + + * lisp/emacs-lisp/eieio-core.el (list-of): Don't quote lambda + +2021-04-13 Filipp Gunbin + + * doc/lispref/keymaps.texi (Translation Keymaps): Fix small misprint + + * doc/lispref/processes.texi: Fix small misprint + +2021-04-13 Eric Abrahamsen + + Improvements to message-syntax-checks docs and options + + * doc/misc/message.texi: Move the manual entry from the "News Headers" + section to the "Message Headers" section, as it is generally + applicable, not just to News. + * lisp/gnus/message.el (message-syntax-checks): Add an explicit alist + type specifying the valid options; point to the manual for more + information. + +2021-04-13 Stefan Monnier + + * lisp/textmodes/two-column.el: Address FIXME + + (2C-associate-buffer): Move minibuffer interactive to the `interactive` spec. + +2021-04-13 Stefan Monnier + + * lisp/textmodes/paragraphs.el (multiple-lines): Remove mistaken declaration + + (forward-paragraph): Remove unused var `multiple-lines`. + +2021-04-13 Eli Zaretskii + + Resurrect mouse-highlight of close buttons on tab-bar + + * src/w32term.c (w32_draw_image_relief): Support tab-bar drawing + with relief as xterm.c does. + + * src/xdisp.c (handle_tab_bar_click): Access the mouse-highlight + info. Call show_mouse_face to show the button in the pressed or + the released state, according to value of DOWN_P. + (note_tab_bar_highlight): Function added back. + (note_mouse_highlight): Call note_tab_bar_highlight when the mouse + pointer is in the tab-bar window. + (show_mouse_face): Return immediately if mouse_face_window is not + set up in HLINFO. This avoids rare assertion violations. + +2021-04-13 Eli Zaretskii + + Fix typos in manuals + + * doc/misc/eshell.texi (Completion): + * doc/lispref/objects.texi (Mutability): Fix typos. (Bug#47738) + +2021-04-13 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-04-13 Andrea Corallo + + * Fix two comp-cstr tests + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix test 53 70. + +2021-04-13 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): (not null) => t. + + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Remove duplicates. + +2021-04-13 Stefan Monnier + + * lisp/comint.el: Add `font-lock-face` to `rear-nonsticky` + + (comint--prompt-rear-nonsticky): New const. + (comint-send-input, comint-output-filter): Use it. + +2021-04-13 Stefan Monnier + + Don't version-control generated file `grammat-wy.el` + + This file is needed for CEDET's bootstrap, tho, so we now keep a copy of it + under version control in `gram-wy-boot.el`, very much like we do with + the `ldefs-boot.el` copy of `loaddefs.el`. + + * lisp/cedet/semantic/grm-wy-boot.el: Rename from + `lisp/cedet/semantic/grammar-wy.el`. + + * lisp/cedet/semantic/grammar.el: Load `grm-wy-boot.el` if + `grammar-wy.el` hasn't been generated yet. + + * admin/update_autogen: Also refresh `grm-wy-boot.el`. + + * admin/grammars/Makefile.in (WISENT): Add `grammar-wy.el` to the + generated files. + + * .gitignore: Add `grammar-wy.el`. + +2021-04-13 Stefan Monnier + + * lisp/minibuffer.el (completion-table-with-quoting): Fix bug#47678 + +2021-04-12 Wilson Snyder + + * lisp/progmodes/verilog-mode.el (vl-memory): Add missing defvar. + +2021-04-12 Stefan Monnier + + * lisp/emacs-lisp/smie.el: Fix URL. Remove redundant `:group` args + + (smie-indent-forward-token): Improve error message. + (smie--funcall): New function. + (smie-indent-calculate): Use it. + +2021-04-12 Stefan Monnier + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Simplify + + * lisp/emacs-lisp/float-sup.el (pi): Actually mark it as obsolete + + * lisp/emacs-lisp/edebug.el (edebug--frame): Move docstring where it belongs + +2021-04-12 Stefan Monnier + + * lisp/vt-control.el: Avoid `called-interactively-p` + + (vt-keypad-on, vt-keypad-off): Use the `tell` arg instead. + (vt-numlock): Add `tell` arg. + +2021-04-12 Stefan Monnier + + * lisp/files.el (file-modes-number-to-symbolic): Add `filetype` arg. + + * lisp/tar-mode.el (tar-header-block-summarize): Use it. + (tar-grind-file-mode): Declare obsolete. + +2021-04-12 Stefan Monnier + + * lisp/frame.el (delete-other-frames): Add universal prefix `iconify` arg + + (frame--current-backround-mode): New function, + extracted from `frame-set-background-mode`. Use `color-dark-p`. + (frame-set-background-mode): Use it. + +2021-04-12 Juri Linkov + + * lisp/repeat.el (repeat-mode-echo): New defcustom. + + (repeat-post-hook): Use it. + (repeat-mode-message): New function (bug#47566). + (repeat-post-hook): Use real-this-command instead of this-command + to handle e.g. rectangle-exchange-point-and-mark remapped to + exchange-point-and-mark (bug#47688). + +2021-04-12 Stefan Monnier + + * lisp/dynamic-setting.el: Add missing footer + + * lisp/comint.el (comint-strip-ctrl-m): Avoid `called-interactively-p` + +2021-04-12 Glenn Morris + + * lisp/strokes.el (strokes-mode): Fix typo in previous. + +2021-04-12 Stefan Monnier + + (define-minor-mode): Warn about use of pre-Emacs-21 style args + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): + Use `advertised-calling-convention` to avoid promoting the old + style arguments. Emit a wanring when old-style arguments are used. + Massage the docstring accordingly. + * doc/lispref/modes.texi (Defining Minor Modes): Document the keyword + arguments rather than the old-style positional arguments. + +2021-04-12 Stefan Monnier + + * lisp/progmodes/vhdl-mode.el: Add note about XEmacs compatibility + +2021-04-12 Lars Ingebrigtsen + + Adjust verilog-mode to changes in the completion framework + + * lisp/progmodes/verilog-mode.el (verilog-func-completion): Don't + bug out on `C-M-i' (which expects no point movement) (bug#47652). + (verilog-declaration-end): There may be no semicolons; don't bug out. + +2021-04-12 Shitikanth Kashyap (tiny change) + + Fix python-shell-switch-to-shell redisplay bug + + * lisp/progmodes/python.el (python-shell-switch-to-shell): + Redisplay the switched-to window faster (bug#47679). + +2021-04-12 Ralph Schleicher + + Add command in eww to toggle images + + * lisp/net/eww.el (eww-toggle-images): New function. + (eww-mode-map): Add key binding and menu entry. + * lisp/net/shr.el (shr-inhibit-images): Make it customizable. + * doc/misc/eww.texi (Basics): Document eww-toggle-images. + Fix index entries for shr-use-fonts and shr-use-colors. + (Advanced): Document shr-inhibit-images + (bug#47705). + +2021-04-12 Junya Takahashi (tiny change) + + Fix args-out-of-range error in epa-file-insert-file-contents + + * lisp/epa-file.el (epa-file-insert-file-contents): Don't bug out + on a region that's longer than the file (bug#47718). + +2021-04-12 Philipp Stephani + + * lib-src/seccomp-filter.c: Add missing headers. + +2021-04-12 Philipp Stephani + + Generate Seccomp filters only if we have the necessary constants. + + If we're missing SECCOMP_SET_MODE_FILTER, the seccomp-filter build + fails. Reuse the existing HAVE_SECCOMP configuration variable, which + checks for these macros. + + * configure.ac (HAVE_SECCOMP): Substitute in Makefile.in. + * lib-src/Makefile.in (HAVE_SECCOMP): New variable. + (SECCOMP_FILTER): Define only if HAVE_SECCOMP. + +2021-04-12 Stefan Monnier + + * lisp/**/*.el: Avoid positional args to `define-minor-mode` + + Back in Emacs-21.1, `define-minor-mode` grew keywords arguments to + replace its old positional arguments. Let's make sure we don't use + the old-style any more. + + * lisp/org/ox-beamer.el (org-beamer-mode-map): Move initialization + into declaration. + (org-beamer-mode): + * lisp/textmodes/tildify.el (tildify-mode): + * lisp/textmodes/sgml-mode.el (html-autoview-mode): + * lisp/textmodes/rst.el (rst-minor-mode): + * lisp/textmodes/remember.el (remember-notes-mode): + * lisp/textmodes/ispell.el (ispell-minor-mode): + * lisp/tar-mode.el (tar-subfile-mode): + * lisp/strokes.el (strokes-mode): + * lisp/so-long.el (so-long-minor-mode): + * lisp/shell.el (shell-dirtrack-mode): + * lisp/scroll-all.el (scroll-all-mode): + * lisp/ruler-mode.el (ruler-mode): + * lisp/rect.el (rectangle-mark-mode): + * lisp/progmodes/sh-script.el (sh-electric-here-document-mode): + * lisp/outline.el (outline-minor-mode): + * lisp/org/org.el (org-cdlatex-mode): + * lisp/org/org-table.el (org-table-header-line-mode) + (org-table-follow-field-mode, orgtbl-mode): + * lisp/org/org-src.el (org-src-mode): + * lisp/org/org-list.el (org-list-checkbox-radio-mode): + * lisp/org/org-indent.el (org-indent-mode): + * lisp/org/org-capture.el (org-capture-mode): + * lisp/obsolete/pc-select.el (pc-selection-mode): + * lisp/obsolete/iswitchb.el (iswitchb-mode): + * lisp/net/rcirc.el (rcirc-omit-mode, rcirc-multiline-minor-mode) + (rcirc-track-minor-mode): + * lisp/net/goto-addr.el (goto-address-mode, goto-address-prog-mode): + * lisp/image-mode.el (image-minor-mode): + * lisp/ibuf-ext.el (ibuffer-auto-mode): + * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): + * lisp/font-core.el (font-lock-mode): + * lisp/erc/erc.el (define-erc-module): + * lisp/erc/erc-track.el (erc-track-minor-mode): + * lisp/erc/erc-fill.el (erc-fill-mode): + * lisp/epa-mail.el (epa-mail-mode): + * lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode): + * lisp/dirtrack.el (dirtrack-mode, dirtrack-debug-mode): + * lisp/dired-aux.el (dired-isearch-filenames-mode): + * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode): + * lisp/cedet/semantic/decorate/mode.el (semantic-decoration-mode): + * lisp/autoarg.el (autoarg-mode, autoarg-kp-mode): + * lisp/vc/pcvs.el (cvs-minor-mode): + Avoid old-style positional args to `define-minor-mode`. + +2021-04-12 Stefan Monnier + + * lisp/gnus/message.el: Give non-nil defaults for function vars + + Also prefer #' to quote functions. + + (message-send-rename-function, message-reply-to-function) + (message-wide-reply-to-function, message-followup-to-function): + Use a non-nil default value so it can be used with `add-function`. + (message-do-send-housekeeping): Tweak accordingly. + (message-get-reply-headers): Simplify by 侶-reduction. + +2021-04-12 Stefan Monnier + + * lisp/eshell/esh-util.el: Require `seq` + + Also remove redundant `:group` args and tweak comment + +2021-04-12 Stefan Monnier + + * lisp/eshell/esh-proc.el (eshell-kill-process-function): Use `remove-hook` + + Also remove redundant `:group` args + +2021-04-12 Stefan Monnier + + * lisp/mail/rmailmm.el (rmail-mime): Simplify interactive spec + + * lisp/progmodes/sql.el (sql-mode-ansi-font-lock-keywords): Fix declaration + +2021-04-12 Stefan Monnier + + * lisp/vc/log-edit.el (log-edit-diff-function): Give non-nil default + + (log-edit-show-diff): Simplify accordingly. + +2021-04-12 Stefan Monnier + + * lisp/progmodes/bug-reference.el: Avoid old-style `define-minor-mode` + + (bug-reference-mode, bug-reference-prog-mode): Remove redundant args. + +2021-04-11 Philipp Stephani + + * src/emacs.c (load_seccomp): Consistently check for nonzero result + +2021-04-11 Philipp Stephani + + Add a variant of the Seccomp filter file that allows 'execve'. + + This is useful when starting Emacs with a Seccomp filter enabled, + e.g. using 'bwrap'. + + * lib-src/seccomp-filter.c (main): Generate new Seccomp files. + + * lib-src/Makefile.in (all) + (seccomp-filter.bpf seccomp-filter.pfc seccomp-filter-exec.bpf + seccomp-filter-exec.pfc): Generate new Seccomp files. + + * .gitignore: Ignore new Seccomp files. + + * test/src/emacs-tests.el (emacs-tests/bwrap/allows-stdout): New unit + test. + +2021-04-11 Philipp Stephani + + * lib-src/seccomp-filter.c (main): Also allow O_NOFOLLOW. + +2021-04-11 Philipp Stephani + + Don't attempt to generate Seccomp filter file in Linux < 4.14. + + Only Linux 4.14 and later contain the required support for + SECCOMP_RET_KILL_PROCESS. + + * lib-src/Makefile.in (SECCOMP_FILTER): Define only if we run at least + Linux 4.14. + +2021-04-11 Philipp Stephani + + Seccomp filter: allow reading the current time (Bug#47708). + + * lib-src/seccomp-filter.c (main): Allow reading the current time. + +2021-04-11 Andreas Schwab + + Fix check for timer_getoverrun + + * configure.ac (timer_getoverrun): Move check after gnulib checks + and use $LIB_TIMER_TIME during check. + +2021-04-11 Philipp Stephani + + Use pkg-config to check for libseccomp. + + We need at list version 2.4.0 of libseccomp for seccomp-filter.c to + build cleanly. + + * configure.ac: Use pkg-config to check for libseccomp. + * lib-src/Makefile.in (HAVE_LIBSECCOMP, LIBSECCOMP_LIBS) + (LIBSECCOMP_CFLAGS): New variables. + (SECCOMP_FILTER, seccomp-filter$(EXEEXT)): Use them. + +2021-04-11 Philipp Stephani + + Remove SCMP_FLTATR_CTL_LOG attribute from Seccomp filter. + + Whether or not we log failing syscalls isn't security-critical, and we + shouldn't care. + + * lib-src/seccomp-filter.c (main): Remove log attribute. + +2021-04-11 Philipp Stephani + + Only attempt to generate seccomp filter files on x86-64 systems. + + The seccomp filters are always architecture-specific, and + seccomp-filter.c right now only supports x86-64. + + * lib-src/Makefile.in (SECCOMP_FILTER): New variable. + (DONT_INSTALL, all, seccomp-filter$(EXEEXT)): Use it. + +2021-04-11 Philipp Stephani + + * lib-src/seccomp-filter.c: Print trailing newline. + +2021-04-11 Stefan Kangas + + * doc/lispref/elisp.texi (Top): Add missing entry. + +2021-04-11 Eli Barzilay + + Fix calculator-string-to-number yet again (bug#47694) + + * lisp/calculator.el (calculator-string-to-number): + The last bugfix changed the code to just blindly replace ".e". This + has some minor problems like making "-." parse as 0.0 instead of -0.0, + and ".1.e1" is parsed as 1 instead of 0.1. Instead, replace the first + "." that is followed by a non-digit with ".0". Since this has had + several problems over the years, add some tests too. (Also, restore + the original if-indentation style.) + +2021-04-11 Mattias Engdeg奪rd + + Fix typo in cconv + + * lisp/emacs-lisp/cconv.el (cconv-convert): Typo. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test case. + +2021-04-11 Philipp Stephani + + Add another check for the required header . + + * configure.ac: Also check for . + * src/emacs.c (SECCOMP_USABLE): Also check for . + +2021-04-11 Philipp Stephani + + Also check for needed seccomp macros. + + It looks like these are not available on some versions of GNU/Linux, + breaking the build. + + * configure.ac: Also check for needed seccomp macros. + * src/emacs.c (SECCOMP_USABLE): New macro. + (usage_message, main, standard_args): Use it. + +2021-04-11 Eli Zaretskii + + Fix handling of mouse clicks on tab-bar buttons + + * src/xdisp.c (note_mouse_highlight): Don't attempt to highlight + tab-bar buttons. + (note_tab_bar_highlight): Function deleted: it had no effect on + display of tab-bar buttons. + (tab_bar_item_info): Mention all arguments in the commentary. + (get_tab_bar_item): Don't pay attention to mouse-highlight + information; instead, compare the button's index with the one + recorded in f->last_tab_bar_item. + (handle_tab_bar_click): Don't attempt to show tab-bar buttons in + pressed or released state: that isn't supported. Determine + whether to generate a tab-bar button click based on DOWN_P + argument, not on mouse-highlight, which has no effect on tab-bar + display. (Bug#47581) + +2021-04-11 Stefan Monnier + + * lisp/net/shr.el (shr-insert-document): Explain why bidi-display-reordering + +2021-04-11 Gregory Heytings + Jo達o T叩vora + + Add new icomplete-vertical-mode + + + * lisp/icomplete.el (icomplete-completions): Consider icomplete-vertical-mode. + (icomplete-vertical-mode-minibuffer-map): New map. + (icomplete--vertical-minibuffer-setup): New helper. + (icomplete-vertical-mode): New minor mode. + + * doc/emacs/buffers.texi (Icomplete): Mention icomplete-vertical-mode. + + * etc/NEWS: Mention icomplete-vertical-mode + +2021-04-11 Stefan Monnier + + * lisp/misearch.el (multi-isearch-read-buffers): Fix last change + + These are not buffers but buffer names. + +2021-04-10 Philipp Stephani + + * src/emacs.c (read_full): Add a few assertions. + +2021-04-10 Stefan Monnier + + * lisp/cus-dep.el: Use lexical-binding + +2021-04-10 Stefan Monnier + + * lisp/misearch.el: Use lexical-binding + + (multi-isearch-read-buffers, multi-isearch-read-files): + Replace `add-to-list` with `cl-pushnew` for use on a local variable. + +2021-04-10 Philipp Stephani + + * src/emacs.c (load_seccomp): Add a useful assertion. + + * src/emacs.c (load_seccomp): Fix condition. + +2021-04-10 Stefan Monnier + + * lisp/ps-bdf.el: Use lexical-binding + + * lisp/informat.el: Use lexical-binding + + * lisp/loadup.el: Use lexical-binding + +2021-04-10 Stefan Monnier + + * lisp/jka-compr.el: Use lexical-binding + + Prefer #' to quote function names. + +2021-04-10 Philipp Stephani + + * etc/NEWS: Extend paragraph about &define form and backtracking + +2021-04-10 Alan Mackenzie + + Convert CC Mode to lexical binding in Emacs + + lisp/progmodes/cc-align.el, lisp/progmodes/cc-awk.el, + lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el, + lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el, + lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-guess.el, + lisp/progmodes/cc-langs.el, lisp/progmodes/cc-menus.el, + lisp/progmodes/cc-mode.el, lisp/progmodes/cc-styles.el, + lisp/progmodes/cc-subword.el, lisp/progmodes/cc-vars.el: Mark these files with + a `lexical-binding' setting in line 1. + + lisp/progmodes/cc-align.el, lisp/progmodes/cc-engine.el, + lisp/progmodes/cc-vars.el (c-syntactic-context, c-syntactic-element): Declare + these as special variables. + + lisp/progmodes/cc-bytecomp.el (cc-bytecomp-debug-msg): prefix the parameter + ARGS with a _, and remove an `ignore' call. + + lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Remove `kluge-start', + an unused variable. + (c-while-widening-to-decl-block): Add an extra parameter, which suppresses + the generation of a setting of variable `where'. + (c-defun-name-and-limits): Remove variable `where' from the function and use + the new argument to the previous macro. + + lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state): Remove two unneeded + variables, `last' and `intermediate'. + + lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): Remove unused variable. + + lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Replace the doc + string with the more precise one from stand-alone CC Mode. + + lisp/progmodes/cc-styles.el (c-set-offset): Give the `ignored' parameter a + leading _. + +2021-04-10 Philipp Stephani + + Add a helper binary to create a basic Secure Computing filter. + + The binary uses the 'seccomp' helper library. The library isn't + needed to load the generated Secure Computing filter. + + * configure.ac: Check for 'seccomp' header and library. + + * lib-src/seccomp-filter.c: New helper binary to generate a generic + Secure Computing filter for GNU/Linux. + + * lib-src/Makefile.in (DONT_INSTALL): Add 'seccomp-filter' helper + binary if possible. + (all): Add Secure Computing filter file if possible. + (seccomp-filter$(EXEEXT)): Compile helper binary. + (seccomp-filter.bpf seccomp-filter.pfc): Generate filter files. + + * test/src/emacs-tests.el (emacs-tests/seccomp/allows-stdout) + (emacs-tests/seccomp/forbids-subprocess): New unit tests. + + * test/Makefile.in (src/emacs-tests.log): Add dependency on the helper + binary. + +2021-04-10 Philipp Stephani + + * src/emacs.c (load_seccomp): Fix condition. + +2021-04-10 Philipp Stephani + + Read file in a loop if necessary. + + This allows for short reads from 'emacs_read'. + + * src/emacs.c (read_full): New helper function. + (load_seccomp): Use it. + +2021-04-10 Philipp Stephani + + Add support for --seccomp command-line option. + + When passing this option on GNU/Linux, Emacs installs a Secure + Computing kernel system call filter. See Bug#45198. + + * configure.ac: Check for seccomp header. + + * src/emacs.c (usage_message): Document --seccomp option. + (emacs_seccomp): New wrapper for 'seccomp' syscall. + (load_seccomp, maybe_load_seccomp): New helper functions. + (main): Potentially load seccomp filters during startup. + (standard_args): Add --seccomp option. + + * lisp/startup.el (command-line): Detect and ignore --seccomp option. + + * test/src/emacs-tests.el (emacs-tests/seccomp/absent-file) + (emacs-tests/seccomp/empty-file) + (emacs-tests/seccomp/file-too-large) + (emacs-tests/seccomp/invalid-file-size): New unit tests. + (emacs-tests--with-temp-file): New helper macro. + + * etc/NEWS: Document new --seccomp option. + +2021-04-10 Philipp Stephani + + Edebug: Disable backtracking when hitting a &define keyword. + + Edebug doesn't deal well with backtracking out of definitions, see + Bug#41988. Rather than trying to support this rare situation (e.g. by + implementing a multipass parser), prevent it by adding an implicit + gate. + + * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Disable + backtracking when hitting a &define keyword. + + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests-duplicate-&define): New unit test. + (edebug-tests--duplicate-&define): New helper macro. + + * doc/lispref/edebug.texi (Backtracking): Mention &define in the list + of constructs that disable backtracking. + + * etc/NEWS: Document new behavior. + +2021-04-10 Stefan Monnier + + * lisp/gnus/nnagent.el: Fix spurious empty line at BOB + +2021-04-10 Stefan Monnier + + * lisp/edmacro.el: Use lexical-binding + + (edmacro-finish-edit, edmacro-parse-keys): Use `match-string`. + +2021-04-10 Stefan Monnier + + * lisp/files-x.el: Use lexical-binding + +2021-04-10 Stefan Monnier + + * lisp/ps-mule.el: Use lexical-binding + + (ps-mule-encode-header-string, ps-mule-begin-job): Use `pcase`. + +2021-04-10 Gregory Heytings + + Autoload list-colors-display. + + * lisp/facemenu.el (list-colors-display): Autoload, it is mentioned + in (info "(emacs)Colors for Faces"), and to be generally available. + +2021-04-10 Michael Albinus + + Tramp: fix location of files on W32 + + * lisp/net/tramp.el: + * lisp/net/tramp-sh.el: Use (eq system-type 'windows-nt) where appropriate. + (tramp-completion-function-alist-ssh): Fix location of files on W32. + +2021-04-10 Jim Porter (tiny change) + + Further fix of hostname completion on MS Windows + + * lisp/net/tramp.el (tramp-completion-file-name-regexp-simplified) + (tramp-completion-file-name-regexp-separate): Fix W32 hostname/method + completion for simplified and separate syntaxes (same as the previous change + to default syntax). + +2021-04-10 Eli Zaretskii + + Fix description of momentary message display + + * doc/emacs/mini.texi (Basic Minibuffer): Update the description + of momentary message display while minibuffer is active. + (Bug#47689) + +2021-04-10 Jo達o T叩vora + + Fail earlier if stale Flymake report functions called + + If a Flymake backend calls a "stale" report function, + flymake--handle-report might be called for a backend function that is + no longer in the flymake--backend-state hash table. This patch makes + that erroneous situation slightly more explicit. + + * lisp/progmodes/flymake.el (flymake--handle-report): Improve + error reporting. + +2021-04-10 Dmitry Gutov + + Don't stop when before space or closing paren + + * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): + Don't stop when before space or closing paren (bug#47665). + +2021-04-09 Alan Mackenzie + + CC Mode: fix c-where-wrt-brace-construct to cope with class declarations + + Make the function correctly recognize a brace block preceded by an + introductory line without a parameter list. + + * lisp/progmodes/cc-cmds.el (c-where-wrt-brace-contruct): Reintroduce the use + of c-beginning-of-decl-1, which was removed some weeks ago, in place of a + c-syntactic-skip-backward. Reformulate the code generally. + +2021-04-09 Mattias Engdeg奪rd + + Fix condition-case optimiser bug + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't + perform incorrect optimisations when a condition-case variable shadows + another lexical variable. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + New test case. + +2021-04-09 Mattias Engdeg奪rd + + Better compiler warning tests + + These changes allow all bytecomp-tests to be run interactively. + + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test) + (bytecomp--define-warning-file-test): Interpret any space in the + pattern as arbitrary whitespace to tolerate line breaks. + Don't abuse the expected-failure mechanism when checking + for the expected absense of a warning. + (bytecomp/*.el): Rewrite patterns to work with line breaks + in the middle. + +2021-04-09 Mattias Engdeg奪rd + + Clean up bytecomp-tests.el + + Now all test cases are run with both lexical and dynamic binding + where applicable, comparing interpreted against compiled results. + Previously, almost all tests were only run with dynamic binding + which was definitely not intended. + + * test/lisp/emacs-lisp/bytecomp-tests.el + (byte-opt-testsuite-arith-data): Rename to bytecomp-tests--test-cases. + (bytecomp-check-1, bytecomp-explain-1, bytecomp-tests) + (bytecomp-lexbind-tests, bytecomp-lexbind-check-1) + (bytecomp-lexbind-explain-1): Remove. + (bytecomp-tests--eval-interpreted, bytecomp-tests--eval-compiled) + (bytecomp-tests-lexbind, bytecomp-tests-dynbind) + (bytecomp-tests--test-cases-lexbind-only): New. + +2021-04-09 Stefan Kangas + + Make refer-every into obsolete alias for seq-every-p + + * lisp/textmodes/refer.el (refer-every): Make into obsolete + function alias for seq-every-p. Update single caller. + +2021-04-09 Stefan Kangas + + Remove redundant #' before lambda in ibuf-*.el + + * lisp/ibuf-ext.el (ibuffer-included-in-filters-p) + (ibuffer-included-in-filter-p-1, ibuffer-do-kill-lines) + (ibuffer-jump-to-buffer, ibuffer-mark-on-buffer) + (ibuffer-mark-by-name-regexp, ibuffer-mark-by-mode-regexp) + (ibuffer-mark-by-content-regexp, ibuffer-mark-by-mode) + (ibuffer-mark-modified-buffers, ibuffer-mark-unsaved-buffers) + (ibuffer-mark-dissociated-buffers, ibuffer-mark-help-buffers) + (ibuffer-mark-compressed-file-buffers, ibuffer-mark-old-buffers) + (ibuffer-mark-special-buffers, ibuffer-mark-read-only-buffers) + (ibuffer-mark-dired-buffers, ibuffer-do-occur): + * lisp/ibuf-macs.el (ibuffer-save-marks, define-ibuffer-sorter) + (define-ibuffer-op): Remove redundant #' before lambda. + +2021-04-09 Stefan Kangas + + Don't preserve window-line in tabulated-list-print + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't + try to preserve window-line. (Bug#42747) + +2021-04-09 Stefan Kangas + + Use lexical-binding in winner.el + + * lisp/winner.el: Use lexical-binding. Remove redundant :group + args. + (winner-set, winner-mode-map): Quote function symbols as such. + +2021-04-09 Stefan Monnier + + Merge branch 'vhdl-mode-lexbind' into trunk + +2021-04-09 Stefan Kangas + + Use lexical-binding in cmuscheme.el + + * lisp/cmuscheme.el: Use lexical-binding. Doc fixes. Remove + redundant :group args. Quote function symbols as such. + +2021-04-09 Stefan Kangas + + * lisp/progmodes/cmacexp.el: Use lexical-binding. + +2021-04-09 Stefan Kangas + + Use lexical-binding in foldout.el + + * lisp/foldout.el: Use lexical-binding. Doc and formatting fixes. + Quote function symbols as such. + +2021-04-09 Stefan Kangas + + Use lexical-binding in loadhist.el and add tests + + * lisp/loadhist.el: Use lexical-binding. + * test/lisp/loadhist-tests.el: New file. + +2021-04-09 Mattias Engdeg奪rd + + Self-TCO in `condition-case` error handlers + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Recognise + `condition-case` handlers as being in the tail position. + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + Extend test. + +2021-04-09 Jim Porter (tiny change) + + Fix hostname completion on MS Windows + + * lisp/net/tramp.el (tramp-completion-file-name-regexp-default): + Handle volume letter being added to paths for file name completion on W32 + systems. This fixes hostname (and method) autocomplete on W32. + +2021-04-09 Stefan Monnier + + * test/lisp/shadowfile-tests.el: Fix recent test failures + + (shadow--tests-cleanup): `shadow-hashtable` is now a hash table (duh!). + +2021-04-09 Stefan Monnier + + * lisp/progmodes/vhdl-mode.el: Use lexical-binding + + Use #' to quote function names to get better compiler diagnostics. + Wrap some lines to avoid arguments "hidden" in positions that are easy + to misread. + Prefix unused arguments with a semi-colon to silence compiler warnings. + Fix a few comments that used ;;; even though they were not headings. + + (vhdl-emacs-21): Delete variable. + Replace all uses with (not (featurep 'xemacs)) instead since `vhdl-mode` + has been incompatible with Emacs<21 for more than 10 years already. + (vhdl-prepare-search-1): Add Edebug declaration. + (vhdl-prepare-search-2): Add Edebug declaration and use + `with-syntax-table`. + (vhdl-visit-file): Add Edebug and indentation declaration. + Move the bulk of the code to a function for easier debugging. + (vhdl--visit-file): New function extracted from `vhdl-visit-file`. + Be careful not to modify syntax tables in unrelated buffers. + (vhdl-speedbar-refresh): Remove unused var `pos`. + (vhdl-backward-sexp): Remove unused var `last-forward`. + (vhdl-electric-tab, vhdl-minibuffer-tab, vhdl-line-expand): + Rename arg to avoid conflict with the `prefix-arg` + global variable. + (vhdl-align-region-1): Remove unused var `indent`. + (vhdl-character-to-event): Actually give a body to that poor function. + (vhdl-template-context): Remove unused vars `entity-exists` and `string`. + (vhdl-template-group): Remove unused var `start`. + (vhdl-template-argument-list): Remove unused var `start`. + (vhdl-port-paste-context-clause): Remove unused var `margin`. + (vhdl-port-paste-testbench): Remove unused var `source-buffer`. + (vhdl-hs-minor-mode): Declare function `hs-hide-all`. + (vhdl-get-hierarchy): Rename arguments `ent-alist`, `conf-alist`, and + `conf-key` and bind those dynamically scoped var via `let` instead + since arguments can't be dynamically scoped. + (vhdl-speedbar-insert-hierarchy, vhdl-compose-configuration-architecture): + Same thing with arguments `ent-alist` and `conf-alist`. + (vhdl-cache-version): Declare variable. + (speedbar-expand-line, speedbar-edit-line): Declare functions. + (vhdl-speedbar-update-current-unit): Declare before first use. + (vhdl-compose-new-component): Remove unused var `project`. + (lazy-lock-minimum-size): Declare variable. + (vhdl-submit-bug-report): Declare variable `reporter-prompt-for-summary-p`. + +2021-04-09 Stefan Kangas + + Revert "Load all generic-x.el modes unconditionally" + + This reverts commit 0161c9df6edc02db6bd8871b00df522dd0699157. + +2021-04-09 Stefan Monnier + + * lisp/shadowfile.el: Use lexical-binding + + Delete redundant `:group` args. + + (shadow-hashtable): Make it an actual hash-table. + (shadow-shadows-of, shadow-invalidate-hashtable): Adjust accordingly. + (shadow-insert-var): Strength-reduce `eval` to `symbol-value`. + (shadow--save-buffers-kill-emacs): New function extracted from + `shadow-save-buffers-kill-emacs`. + (shadow-save-buffers-kill-emacs): Use it and use `save-buffers-kill-emacs`. + (shadow-initialize, shadowfile-unload-function): + Use `advice-add/remove` rather than override `save-buffers-kill-emacs` + with `defalias`. + +2021-04-09 Stefan Kangas + + Remove redundant #' before lambda in {calendar,erc,mh-e}/*.el + + * lisp/calendar/icalendar.el (icalendar--get-most-recent-observance): + * lisp/calendar/parse-time.el (parse-time-rules): + * lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): + * lisp/erc/erc-track.el (erc-modified-channels-display): + * lisp/erc/erc.el (erc-toggle-debug-irc-protocol) + (erc-cmd-IGNORE, erc-cmd-JOIN, erc-default-server-handler) + (erc-banlist-update): + * lisp/mh-e/mh-search.el (mh-search, mh-mairix-convert-to-sop*) + (mh-index-create-sequences): + * lisp/mh-e/mh-thread.el (mh-toggle-threads, mh-thread-generate) + (mh-thread-prune-containers, mh-thread-sort-containers): + * lisp/mh-e/mh-utils.el (mh-sub-folders): Remove redundant #' before + lambda. + +2021-04-08 Gregory Heytings + + Terminate isearch when point has moved to another buffer + + * lisp/isearch.el (isearch-post-command-hook): Terminate isearch + when the command just executed has moved point to another buffer. + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00309.html + +2021-04-08 Gregory Heytings + + User option to move to another match when changing direction in isearch. + + * lisp/isearch.el (isearch-direction-change-changes-match): + New user option (bug#47599). + (isearch-repeat): Use the new option. + (isearch-repeat-forward, isearch-repeat-backward): Adapt to the + new option. + + * etc/NEWS: Mention the new user option. + + * doc/emacs/search.texi: Document the new user option. + +2021-04-08 Juri Linkov + + * lisp/repeat.el (repeat-post-hook): Check for prefix-arg. + + This is instead of checking for a list of argument-related commands + that set prefix-arg anyway. + +2021-04-08 Juri Linkov + + * lisp/repeat.el (repeat-post-hook): Skip repeating in minibuffer (bug#47566). + + (repeat-map): Add docstring. + +2021-04-08 Stefan Monnier + + * lisp/progmodes/vhdl-mode.el: Use progress-reporter + + This was actually prompted by a backward compatibility problem + (because of the use of Emacs-27's `time-convert`). The new code + seems to work fine in Emacs-25. + It also fixes a minor bug that made the echo area messages of + `vhdl-indent-region` compete with those of `indent-region`. + + (vhdl-progress-info): Delete variable. + (vhdl--progress-reporter): New var to replace it. + (vhdl-update-progress-info): Delete function. + (vhdl-indent-line): Call progress-reporter-update instead. + (vhdl-indent-region): Make it an obsolete alias of `indent-region`. + Change all users. + (vhdl-align-region-groups, vhdl-align-region, vhdl-fix-case-region-1): + Use `make-progress-reporter` and `progress-reporter-update`. + +2021-04-08 Stefan Monnier + + * lisp/array.el: Use lexical-binding + +2021-04-08 Michael Albinus + + * doc/misc/tramp.texi (Frequently Asked Questions): New item about recentf. + +2021-04-08 Michael Albinus + + Revert use of powershell in Tramp, there are collateral damages + + * lisp/net/tramp-sh.el (tramp-methods) : Fix quoting + for MS Windows. + (tramp-connection-properties): Don't set "encoding-shell". + (tramp-actions-before-shell): Remove `tramp-no-job-control-regexp'. + (tramp-maybe-open-connection): Revert changes for "encoding-shell". + + * lisp/net/tramp.el (tramp-no-job-control-regexp): Remove. + +2021-04-07 Alan Third + + Remove hardcoded gcc version + + * configure.ac: Use 'find' to find the brew installed libgccjit libs + instead of a hardcoded path. + +2021-04-07 Juri Linkov + + Don't set isearch-success in isearch-wrap functions + + * lisp/comint.el (comint-history-isearch-wrap): + * lisp/simple.el (minibuffer-history-isearch-wrap): + Don't set isearch-success to t, so isearch-repeat won't skip the + beginning of the wrapped match with (forward-char (if isearch-forward 1 -1)). + +2021-04-07 Eli Zaretskii + + Fix crash on MS-Windows caused by recent changes + + * src/pdumper.c (dump_do_dump_relocation): Don't use + expand-file-name, as this crashes on MS-Windows. Use + file_access_p instead of emacs_fopen. + +2021-04-07 Andrea Corallo + + * Improve some docstring in comp.el + + * lisp/emacs-lisp/comp.el (comp--native-compile) + (batch-native-compile, batch-byte-native-compile-for-bootstrap): + Improve docstring. + +2021-04-07 Glenn Morris + + Merge from origin/emacs-27 + + 2f5f30671a (origin/emacs-27) Fix broken links in autorevert.el + 673c02f6d0 * lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix. + +2021-04-07 Glenn Morris + + Merge from origin/emacs-27 + + 3ec93bb7c2 Improve doc strings in replace.el + +2021-04-07 Stefan Kangas + + Clarify obsoletion messages for easy-menu-{add,remove} + + * lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add): + Clarify obsoletion messages. + +2021-04-07 Stefan Kangas + + Update whois-server-tld + + * lisp/net/net-utils.el (whois-server-tld): Update and add some + missing entries. + +2021-04-07 Andrea Corallo + + Move gitlab-ci native-comp tests into '/test/infra/gitlab-ci.yml' + + * .gitlab-ci.yml: Fix incorrect b8d3ae78c5 merge. + * test/infra/gitlab-ci.yml (test-native-bootstrap-speed0) + (test-native-bootstrap-speed1, test-native-bootstrap-speed2): Move + from .gitlab-ci.yml. + +2021-04-07 Mattias Engdeg奪rd + + Fix mistakes in bytecomp-tests + + * test/lisp/emacs-lisp/bytecomp-tests.el + (byte-opt-testsuite-arith-data): Fix typos and avoid errors that made + the tests less powerful than intended. + +2021-04-07 Alan Third + + Fix install with NS app bundle + + * configure.ac: Set up CFLAGS and LDFLAGS to find a Homebrew + installation of libgccjit. + * Makefile.in (ELN_DESTDIR): Set to the app bundle resource dir when + required. + (install-eln): macOS install doesn't support the -D flag, so make the + directories separately. + +2021-04-07 Andrea Corallo + + * Makefile.in (BIN_DESTDIR, src): Fix 'BIN_DESTDIR' on MacOS. + +2021-04-07 Dmitry Gutov + + Add explicit support for C-g or ESC ESC ESC after keymap prompt + + * lisp/progmodes/project.el (project-switch-project): + Add explicit support for C-g or ESC ESC ESC after keymap prompt + (bug#47620). + +2021-04-07 Dario Gjorgjevski + + Allow complex key bindings in project-switch-project + + * lisp/progmodes/project.el (project-switch-project): Replace + read-event with an overriding local map and read-key-sequence to allow + for complex key bindings to be read (bug#47620). + +2021-04-06 Stefan Monnier + + * lisp/find-file.el: Make the commands oblivious to mouse/non-mouse + + (ff-find-other-file): Add `event` argument. + (ff-find-other-file-other-window): Rename from + `ff-mouse-find-other-file-other-window` and use this new argument. + (ff-mouse-find-other-file, ff-mouse-find-other-file-other-window): + Make them obsolete aliases. + (ff-upcase-p): Remove unused `start` and `end` arguments and + simplify accordingly. + +2021-04-06 Stefan Monnier + + * lisp/find-file.el: Use lexical-binding + + Remove unused `:group` args. Prefer #' to quote function. + + (ff-special-constructs, ff-find-the-other-file, ff-get-file-name) + (ff-list-replace-env-vars, ff-cc-hh-converter): Use `match-string`. + (modula2-other-file-alist): Tighten regexps. + (ff-get-other-file, ff-find-other-file): Use dynamic scoping. + (ff-find-the-other-file): Minor simplification. + (ff-other-file-name): Delete unused function. + (ff-string-match): Don't let-bind `case-fold-search` if not needed. + (ff-basename): Make it an obsolete alias for `file-name-nondirectory`. + (ff-switch-file): Minor simplification. + (ff-list-replace-env-vars): Use [:alnum:]. + (ff-upcase-p): Use [:upper:] + (ff-cc-hh-converter): Use [:upper:] and [:lower:]. + +2021-04-06 Andrea Corallo + + * .gitlab-ci.yml: Move native-comp tests into 'slow' stage. + +2021-04-06 Juri Linkov + + * lisp/isearch.el (isearch-wrap-pause): New defcustom (bug#47599). + + (isearch-repeat): Use it. + (isearch-search): Don't ding when isearch-wrap-pause is no-ding. + +2021-04-06 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Use `expand-file-name'. + +2021-04-06 Stefan Monnier + + * lisp/progmodes/ps-mode.el: Use lexical-binding + + And prefer #' to quote function names. + +2021-04-06 Damien Cassou + + Fix broken links in autorevert.el + + * lisp/autorevert.el (global-auto-revert-non-file-buffers): + Fix broken links. (Bug#47621) + +2021-04-06 Michael Albinus + + Fix Bug#47601 in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Use `tramp-handle-file-newer-than-file-p'. (Bug#47601) + (tramp-sh-handle-file-newer-than-file-p, tramp-run-test2): Remove. + +2021-04-06 Stefan Monnier + + * lisp/msb.el: Use lexical-binding + + Remove redundant `:group` args. + (msb--add-to-menu): Strength-reduce `eval` to `symbol-value` and use `push`. + (msb--create-sort-item): Strength-reduce `eval` to `symbol-value`. + (msb-menu-bar-update-buffers): Replace `(lambda...) with a proper closure. + +2021-04-06 Stefan Monnier + + * lisp/hippie-exp.el: Use lexical-binding + + Remove redundant `:group` args. + (make-hippie-expand-function): Turn it into a function returning + a closure. + (try-expand-all-abbrevs): Strength-reduce `eval` to `symbol-value` + and use `abbrev-table-p` rather than `vectorp`. + +2021-04-05 Stefan Monnier + + * lisp/comint.el: Fix understickiness of non-comint properties + + When a third party package adds properties to the prompt they don't + necessarily want to be `read-nonsticky` (e.g. for the `cursor-intangible` + property), so replace the catchall `rear-nonsticky t` with an + actual list of the properties that we want to be `rear-nonsticky`. + + (comint-send-input, comint-output-filter): Don't mark + all properties as non-sticky. + +2021-04-05 Juri Linkov + + * lisp/tab-bar.el: Add repeat-map keymaps. + + * lisp/tab-bar.el (tab-bar-switch-repeat-map): New keymap used for + 'tab-next' and 'tab-previous'. + (tab-bar-move-repeat-map): New keymap used for 'tab-move'. + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01103.html + +2021-04-05 Juri Linkov + + * lisp/repeat.el (repeat-keep-prefix): New defcustom. + + * lisp/repeat.el (repeat-map): New autoloaded global variable. + (repeat-post-hook): Use 'repeat-map' when non-nil + and reset it to nil afterwards. + (repeat-post-hook): Keep the current prefix when + 'repeat-keep-prefix' is non-nil. + + * lisp/window.el (other-window-repeat-map): Add "O" that sets + 'repeat-map' to 'other-window-repeat-map' before calling + '(other-window -1)'. + + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01387.html + +2021-04-05 Juri Linkov + + * lisp/repeat.el (repeat-post-hook): Fix key lookup. + + * lisp/repeat.el (repeat-post-hook): Rename let-bound repeat-map to rep-map. + Define let-bound prefix-command-p. Use lookup-key with + this-single-command-keys instead of last-command-event. + Don't show message when typing prefix keys. + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00083.html + +2021-04-05 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-04-05 Andrea Corallo + + * Introduce `comp-file-preloaded-p' + + * src/comp.c (syms_of_comp): Define `comp-file-preloaded-p'. + (Fcomp_el_to_eln_filename): Account for `comp-file-preloaded-p'. + +2021-04-05 Michael Albinus + + Use powershell for Tramp on MS Windows + + * lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options): + Nil on MS Windows. + (tramp-connection-properties): Add "encoding-shell". + (tramp-maybe-open-connection): Use it. Change exit handling. + (tramp-actions-before-shell): Add `tramp-no-job-control-regexp'. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + (tramp-no-job-control-regexp): New defcustom. + (tramp-get-debug-buffer): Set coding system. + +2021-04-05 Dario Gjorgjevski + + Do not search the global keymap in project--keymap-prompt + + * lisp/progmodes/project.el: (project--keymap-prompt) Pass + project--keymap-prompt as a list to where-is-internal so that the + global keymap is not searched at all (bug#47501). + +2021-04-05 Lin Sun + + Don't call `image-toggle-display-text' when toggling + + *lisp/image-mode.el (image-mode-to-text): Do not call the + image-toggle-display-text twice when toggle image display (bug#47521). + +2021-04-05 Utkarsh Singh (tiny change) + + Fix cd to directories called "eshell" in eshell + + * lisp/eshell/em-script.el (eshell-script-initialize): Allow + changing directory to directories called "eshell" (bug#47547). + +2021-04-05 Glenn Morris + + * lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix. + +2021-04-05 Stefan Kangas + + Remove redundant #' before lambda in calc/*.el + + * lisp/calc/calc-alg.el (math-defsimplify): + * lisp/calc/calc-ext.el (math-defintegral, math-defintegral-2): + * lisp/calc/calc-prog.el (math-do-arg-check): Remove redundant #' + before lambda. + +2021-04-05 Stefan Kangas + + * lisp/shadowfile.el (cl-lib): Revert removing require. + + * lisp/pcomplete.el: Remove aliases commented out for 20 years. + +2021-04-05 Stefan Kangas + + Remove local uniquify functions in favour of seq-uniq + + * lisp/emacs-lisp/seq.el (seq-uniq): Add autoload cookie. + * lisp/pcomplete.el: (pcomplete-uniquify-list): Use seq-uniq. + * lisp/eshell/esh-util.el (eshell-uniqify-list) + (eshell-uniquify-list): + * lisp/nxml/rng-util.el (rng-uniquify-equal): + * lisp/progmodes/idlwave.el (idlwave-uniquify): + * lisp/textmodes/artist.el (artist-uniq): Make into obsolete + function aliases for seq-uniq. Update callers. + * lisp/nxml/rng-util.el (rng-uniquify-eq): Make obsolete in favor + of seq-uniq. Update callers. + +2021-04-05 Stefan Kangas + + Obsolete local set difference functions in favor of seq-difference + + * lisp/emacs-lisp/seq.el (seq-difference): Add autoload cookie. + * lisp/gnus/gnus-range.el (gnus-set-difference): + * lisp/gnus/spam.el (spam-set-difference): Make obsolete in favor + of seq-difference. Update callers. + +2021-04-05 Stefan Kangas + + Obsolete local list functions in shadowfile.el + + * lisp/shadowfile.el (shadow-union): Make obsolete in favour of + cl-union. Update callers. + (shadow-find): Make into obsolete function alias for seq-find. + Update callers. + (cl-lib): Remove unnecessary require. + +2021-04-05 Michael Albinus + + * test/infra/Dockerfile.emba (emacs-gnustep): Do not run parallel make. + +2021-04-05 Stefan Kangas + + Remove code commented out since 1995 from ediff-util.el + + * lisp/vc/ediff-util.el (ediff-load-hook): Remove code commented out + since the file was added in 1995. + +2021-04-05 Stefan Kangas + + Replace local intersection functions with seq-intersection + + * lisp/doc-view.el (doc-view-intersection): + * lisp/gnus/gnus-range.el (gnus-intersection): + * lisp/htmlfontify.el (hfy-interq): + * lisp/loadhist.el (file-set-intersect): + * lisp/mail/smtpmail.el (smtpmail-intersection): Make obsolete in + favor of seq-intersection. Update all callers. + + * lisp/url/url-dav.el (url-intersection): Redefine as obsolete + function alias for seq-intersection. Update callers. + + * lisp/mpc.el (mpc-intersection, mpc-cmd-list, mpc-reorder): + Use seq-intersection. + +2021-04-05 Stefan Kangas + + Make ediff-copy-list alias obsolete + + * lisp/vc/ediff-mult.el (ediff-intersect-directories) + (ediff-get-directory-files-under-revision): Don't use above + obsolete alias. + * lisp/vc/ediff-util.el (ediff-copy-list): Make alias obsolete. + +2021-04-05 Stefan Kangas + + * lisp/htmlfontify.el (hfy-triplet-regex): Use rx. + + * etc/NEWS: Add entry for new SVG icons in customize. + +2021-04-05 Glenn Morris + + * doc/misc/Makefile.in (echo-sources): Make it not the first target. + +2021-04-05 Glenn Morris + + Regenerate texi-from-org if ox-texinfo.el changes + + * doc/misc/Makefile.in (top_srcdir): New, set by configure. + (emacs): Set load-prefer-newer. + (org_template): Make output depend on ox-texinfo.el. + +2021-04-05 Glenn Morris + + Regenerate semantic grammars if the generating code changes + + * admin/grammars/Makefile.in (emacs): Set load-prefer-newer. + (grammar_bovine, grammar_wisent): New variables. + (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el) + (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el) + (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): + Depend on the source file for the generating function. + * lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1): + * lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1): + Force generation of the output file. The previous "is the output + newer than the input" failed to account for changes in the + generation code itself. Force so we can let make figure it out. + +2021-04-04 Andrea Corallo + + * src/comp.c (fixup_eln_load_path): Fix parameter name. + + * src/comp.c (Fcomp_el_to_eln_filename): Fix doc. + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. + +2021-04-04 Andrea Corallo + + Output native compiled preloaded files into the 'preloaded' subfolder + + * src/comp.c (fixup_eln_load_path): Account the fact that the + file can be dumped in the 'preloaded' subfolder. + * lisp/loadup.el: Likewise. + * src/lread.c (maybe_swap_for_eln1): New function. + (maybe_swap_for_eln): Handle 'preloaded' subfolder. + * src/Makefile.in (LISP_PRELOADED): Export preloaded files. + +2021-04-04 Harald J旦rg + + cperl-mode: Don't reposition the window when writing messages + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid + printing messages while point is off-screen (Bug#47549). + +2021-04-04 Lars Ingebrigtsen + + Clarify the doc string of insert-image + + * lisp/image.el (insert-image): Mention the effect of a whitespace + image (bug#47240). + +2021-04-04 Lars Ingebrigtsen + + Work around issue with (setq Man-notify-method 'aggressive) + + * lisp/man.el (Man-bgproc-sentinel): Check that the window still + exists before trying to select it (bug#38164). + +2021-04-04 Glenn Morris + + Make maintainer-clean delete generated files, as per standards + + These are generated files that were once kept in the repository. + When they were removed from the repository, as a half-way measure + they were only deleted by "extraclean", but this was never + necessary and was not a proper use of that rule. + * admin/charsets/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * admin/grammars/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * admin/unidata/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * leim/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * GNUmakefile: Doc fix. + +2021-04-04 Alan Third + + Work around librsvg bug (bug#47074) + + Librsvg <= 2.40 has restrictions on how certain numbers can be run + together in path elements which do not match the SVG spec. + + * etc/images/checkbox-mixed.svg: + * etc/images/checked.svg: + * etc/images/radio-checked.svg: + * etc/images/unchecked.svg: Separate problem numbers. + * etc/images/radio-mixed.svg: Separate problem numbers and color and + font-weight data. + +2021-04-04 Michael Albinus + + * test/lisp/filenotify-tests.el (file-notify--test-timeout): + + Change timing on emba. + +2021-04-04 Eli Zaretskii + + Fix MS-Windows build + + * src/image.c: (init_svg_functions) [WINDOWSNT]: Define and load + rsvg_handle_set_stylesheet from the DLL for librsvg > 2.48. + (lookup_image): Use xmalloc. + +2021-04-04 Stefan Kangas + + Use lexical-binding in hilit-chg.el + + * lisp/hilit-chg.el: Use lexical-binding. Remove redundant :group + args. Doc and formatting fixes. + (highlight-changes-mode, highlight-changes-visible-mode): + Use keyword arguments. + (hilit-chg-display-changes, highlight-changes-rotate-faces): + Quote function symbols as such. + (hilit-x, hilit-y, hilit-e): Define variables on top-level to + silence the byte-compiler. + (highlight-markup-buffers): Improve message format. + +2021-04-04 Stefan Kangas + + Remove redundant #' before lambda in tests + + * test/lisp/electric-tests.el (save-electric-modes) + (inhibit-in-mismatched-string-inside-ruby-comments) + (inhibit-in-mismatched-string-inside-c-comments, js-mode-braces) + (js-mode-braces-with-layout) + (js-mode-braces-with-layout-and-indent, autowrapping-1) + (autowrapping-2, autowrapping-3, autowrapping-4, autowrapping-5) + (autowrapping-6, autowrapping-7): + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-relative-to-project-root): + * test/src/thread-tests.el (threads-signal-early) + (threads-signal-main-thread): Remove redundant #' before lambda. + +2021-04-04 Alan Third + + Fix warnings in image.c + + * src/image.c (svg_load_image): Fix types and move declaration of + 'css' to the top of the function. + +2021-04-04 Eli Zaretskii + + Fix unexec compilation + + * src/pdumper.c (thaw_hash_tables): Now conditioned by + HAVE_PDUMPER. + (init_pdumper_once): No-op unless HAVE_PDUMPER. Reported by + Nikolay Kudryavtsev . + +2021-04-04 Eli Zaretskii + + Fix recent changes regarding frame-scale-factor + + * src/frame.c (Fframe_scale_factor): Make more robust and avoid + compiler warning while at that. Doc fix. + +2021-04-04 聴. G旦ktu Kayaalp + + Fix build error in frame.h on non-NS + + * src/frame.h (FRAME_SCALE_FACTOR): Fix syntax of macro in + previous change. + +2021-04-04 Alan Third + + Make new SVG widgets match character height (bug#47074) + + * etc/images/checkbox-mixed.svg: + * etc/images/checked.svg: + * etc/images/radio-checked.svg: + * etc/images/radio-mixed.svg: + * etc/images/radio.svg: + * etc/images/unchecked.svg: Use viewBox and set height to 1em. + +2021-04-04 Alan Third + + Set CSS for SVG files + + * src/dispextern.h (struct image): Add font details required for the CSS. + * src/image.c (free_image): Free the font family string. + (search_image_cache): + (uncache_image): Make image caching understand the font details. + (lookup_image): Handle the font details when generating the image and + looking up the cache. + (svg_css_length_to_pixels): Handle 'em' when we know the font size. + (svg_load_image): Generate the CSS and apply it to the SVG. + (enum svg_keyword_index): + (svg_format): + (syms_of_image): Add ':css' attribute. + * doc/lispref/display.texi (SVG Images): Add details of new svg image + attributes. + +2021-04-04 Alan Third + + Fix NSTRACE failure + + * src/nsterm.m ([EmacsSurface getContext]): Remove unneeded '@' symbol. + +2021-04-04 Alan Third + + Implement frame-scale-factor + + * src/frame.c (Fframe_scale_factor): New function. + (syms_of_frame): Add frame-scale-factor. + * src/frame.h: Add FRAME_SCALE_FACTOR. + * src/image.c: Move FRAME_SCALE_FACTOR to frame.h. + +2021-04-03 Stefan Kangas + + Add SVG icons for customize buffers + + * etc/images/checkbox-mixed.svg: + * etc/images/checked.svg: + * etc/images/down.svg: + * etc/images/left.svg: + * etc/images/radio-checked.svg: + * etc/images/radio-mixed.svg: + * etc/images/radio.svg: + * etc/images/right.svg: + * etc/images/unchecked.svg: + * etc/images/up.svg: New files from the Adwaita Icon Theme (made by + the GNOME project). The background color was changed from gray to + none to use the same colors as the current face instead. (Bug#47074) + * etc/images/README: Add license information for the above new files. + * lisp/wid-edit.el (widget-image-conversion): Prefer SVG if it exists. + (radio-button): Rename radio buttons to "radio-checked" and + "radio". These files did not exist before. + +2021-04-03 Stefan Monnier + + * lisp/vcursor.el: Use lexical-binding + + Remove redundant `:group` args. + (vcursor): Remove unused var declaration. + +2021-04-03 Michael Albinus + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + + Fix code finding //DIRED//. + +2021-04-03 Michael Albinus + + * test/lisp/filenotify-tests.el (file-notify--test-timeout): Change timing. + +2021-04-03 Eli Zaretskii + + Improve doc strings in replace.el + + * lisp/replace.el (occur, list-matching-lines-prefix-face) + (list-matching-lines-jump-to-current-line): Doc fixes. + +2021-04-03 Stefan Kangas + + * lisp/pixel-scroll.el: Use lexical-binding. + +2021-04-03 Stefan Kangas + + Replace two functions with seq-subseq + + * lisp/emacs-lisp/seq.el (seq-subseq): Add autoload cookie. + * lisp/eshell/esh-util.el (eshell-sublist): Redefine using seq-subseq + and make obsolete. Update callers. + * lisp/wid-edit.el (widget-sublist): Redefine as obsolete function + alias for seq-subseq. Update callers. + +2021-04-03 Stefan Kangas + + Remove redundant #' before lambda in eshell/*.el + + * lisp/eshell/em-dirs.el (eshell-dirs-initialize): + * lisp/eshell/em-pred.el (eshell-predicate-alist) + (eshell-modifier-alist): + * lisp/eshell/em-script.el (eshell-script-initialize): + * lisp/eshell/eshell.el (eshell-command): Remove redundant #' before + lambda. + +2021-04-03 Stefan Monnier + + * lisp/progmodes/simula.el: Use lexical-binding + + (simula-tab-always-indent): Mark as obsolete. + (simula-mode-map): Don't bind TAB. + (simula-indent-command): Mark as obsolete. + (hilit-set-mode-patterns): Remove obsolete support for hilit19. + (simula-mode-syntax-table): Move initialization code into the declaration. + +2021-04-03 Stefan Kangas + + Use lexical-binding in recentf.el + + * lisp/recentf.el: Use lexical-binding. Doc fix. + (recentf-save-file): Strength reduce 'eval' to 'symbol-value'. + (recentf-trunc-list): Make into obsolete function alias for + 'seq-take'. Update callers. + (recentf-show-file-shortcuts-flag): Doc fix. + (recentf-menu-elements, recentf-make-menu-items) + (recentf-make-menu-item, recentf-dialog-mode-map) + (recentf-dialog, recentf-open-files-item) + (recentf-open-files-items, recentf-open-files) + (recentf-load-list): Quote function symbols as such. + (recentf-relative-filter, recentf-file-name-nondir): Remove + redundant #' before lambda. + +2021-04-03 Stefan Kangas + + Remove references to very old versions of Emacs from eintr + + * doc/lispintro/emacs-lisp-intro.texi (Making Errors) + (Void Function, Void Variable, Wrong Type of Argument, debug) + (debug-on-entry): Remove commented out references to Emacs 20 or + earlier. + * doc/lispintro/emacs-lisp-intro.texi (what-line) + (print-elements-of-list, debug, X Axis Tic Marks): Don't call version + 22 or earlier a "recent" version of Emacs. + +2021-04-02 Stefan Kangas + + * doc/misc/woman.texi (Introduction): Remove reference to old Emacs. + +2021-04-02 Stefan Kangas + + Remove redundant #' before lambda in textmodes/*.el + + * lisp/textmodes/fill.el: + * lisp/textmodes/ispell.el (ispell-find-enchant-dictionaries): + * lisp/textmodes/rst.el (rst-re, rst-Ado-position) + (rst-Hdr-member-ado, rst-mode-abbrev-table) + (rst-preferred-adornments, rst-new-preferred-hdr) + (rst-classify-adornment, rst-ttl-at-point, rst-hdr-hierarchy) + (rst-all-ttls-with-level, rst-get-previous-hdr) + (rst-adjust-region, rst-preferred-bullets, rst-find-begs) + (rst-straighten-bullets-region, rst-stn-containing-point) + (rst-toc-update, rst-forward-section, rst-shift-region) + (rst-enumerate-region, rst-bullet-list-region) + (rst-line-block-region, rst-forward-indented-block): Remove redundant #' + before lambda. + +2021-04-02 Stefan Monnier + + * doc/misc/reftex.texi: Remove outdated instructions + + (Building and Installing, Installation with make) + (Installation by Hand, Loading @RefTeX{}): Delete sections. + (Entering @RefTeX{} Mode): Merge into its parent. + (AUCTeX): Point to GNU ELPA for installation. + (Problems and Work-Arounds): Remove XEmacs-specific item. + +2021-04-02 Arash Esbati + + Delete XEmacs-only definition + + * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Remove + XEmacs compat code. + +2021-04-02 Juri Linkov + + * lisp/progmodes/xref.el: Change xref-file-name-display and xref-match face. + + * lisp/progmodes/xref.el (xref-file-name-display): Change the default value + to 'project-relative' (bug#47012). + (xref-match): Inherit from 'match'. + +2021-04-02 Dmitry Gutov + + Fix C-u project-find-regexp's default dir + + * lisp/progmodes/project.el (project-find-regexp): + Default read-directory-name to the current default-directory when + called with C-u (bug#47012). + +2021-04-02 Stefan Monnier + + * lisp/progmodes/cfengine.el: Use lexical-binding + +2021-04-01 Stefan Monnier + + * lisp/progmodes/dcl-mode.el: Clarify what is meant by DCL + +2021-04-01 Andrea Corallo + + * src/comp.h (unload_comp_unit): Define for vanilla build (warning removal). + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in {mail,net,url}/*.el + + * lisp/mail/mail-extr.el: + * lisp/mail/rmail.el (rmail-start-mail): + * lisp/net/gnutls.el (gnutls-boot-parameters): + * lisp/net/imap.el (imap-starttls-open): + * lisp/net/pop3.el (pop3-list): + * lisp/url/url-cookie.el (url-cookie-save-interval): + * lisp/url/url-history.el (url-history-save-interval) + (url-history-track): + * lisp/url/url-mailto.el (url-mailto): Remove redundant #' before lambda. + +2021-04-01 Andrea Corallo + + Issue a warning when eln look-up fails due to missing .el source file. + + * lisp/emacs-lisp/comp.el (comp-warning-on-missing-source): New + customize. + * src/lread.c (maybe_swap_for_eln): Issue a warning when eln + look-up fails due to missing .el source file. + * src/comp.c (syms_of_comp): Define + 'Qcomp_warning_on_missing_source'. + +2021-04-01 Stefan Kangas + + Use lexical-binding in executable.el and add tests + + * lisp/progmodes/executable.el: Use lexical-binding. + * test/lisp/progmodes/executable-tests.el: New file. + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in progmodes/*.el + + * lisp/progmodes/cc-styles.el (c-set-offset): + * lisp/progmodes/ebnf-yac.el (ebnf-yac-token-table): + * lisp/progmodes/ebnf2ps.el (ebnf-format-float, ebnf-map-name): + * lisp/progmodes/grep.el (lgrep, rgrep-default-command): + * lisp/progmodes/inf-lisp.el: + * lisp/progmodes/octave.el (octave-lookfor): + * lisp/progmodes/python.el (python-pdbtrack-tracking-finish): Remove + redundant #' before lambda. + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in international/*.el + + * lisp/international/characters.el: + (use-cjk-char-width-table, update-glyphless-char-display): + * lisp/international/fontset.el (build-default-fontset-data) + (generate-fontset-menu): + * lisp/international/latin1-disp.el (latin1-display-reset): + * lisp/international/mule-cmds.el + (select-safe-coding-system-interactively): + * lisp/international/mule-diag.el (sort-listed-character-sets) + (font-show-log): + * lisp/international/mule.el (char-displayable-p): + * lisp/international/quail.el (quail-keyboard-layout-type) + (quail-update-translation, quail-find-key): + * lisp/international/titdic-cnv.el (tsang-quick-converter) + (ziranma-converter): Remove redundant #' before lambda. + +2021-04-01 Eli Zaretskii + + GNUmakefile: Fix last change. + +2021-04-01 Eli Zaretskii + + Fix 'extraclean' targets + + * GNUmakefile: Add description of 'extraclean'. + + * Makefile.in (extraclean_dirs): Add lwlib. + + * lwlib/Makefile.in (clean mostlyclean extraclean): Add + 'extraclean' target. + + * lisp/Makefile.in (extraclean): Remove ${loaddefs}, not just + ${LOADDEFS}. Delete all backup and autosave files. + +2021-04-01 Stefan Kangas + + Use lexical-binding in epg-config.el and add tests + + * lisp/epg-config.el: Use lexical-binding. + (epg-find-configuration): Improve error message. + * test/lisp/epg-config-tests.el: New file. + +2021-04-01 Stefan Kangas + + Use lexical-binding in isearchb.el + + * lisp/isearchb.el: Use lexical-binding. Remove redundant :group + args. + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in Gnus + + * lisp/gnus/gnus-group.el (gnus-group-list-cached) + (gnus-group-list-dormant, gnus-group-list-ticked): + * lisp/gnus/gnus-registry.el (gnus-registry-remove-extra-data): + * lisp/gnus/gnus-score.el (gnus-score-edit-file-at-point): + * lisp/gnus/gnus-sum.el (gnus-fetch-headers): + * lisp/gnus/mm-partial.el (mm-inline-partial): + * lisp/gnus/nnselect.el (nnselect-uncompress-artlist) + (numbers-by-group, nnselect-request-expire-articles) + (nnselect-request-update-info, nnselect-request-thread): + * lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles): + * lisp/gnus/spam-stat.el (spam-stat-score-buffer): Remove redundant #' + before lambda. + +2021-04-01 Stefan Kangas + + Use lexical-binding in avoid.el + + * lisp/avoid.el: Use lexical-binding. Remove redundant :group args. + (mouse-avoidance-fancy): Quote function symbol as such. + +2021-04-01 Stefan Kangas + + Use emacs-version instead of obsolete version variables + + * lisp/calendar/icalendar.el (icalendar-version): + * lisp/dframe.el (dframe-version): + * lisp/emacs-lisp/checkdoc.el (checkdoc-version): + * lisp/emulation/edt.el (edt-version): + * lisp/international/mule.el (mule-version): + * lisp/linum.el (linum-version): + * lisp/play/bubbles.el (bubbles-version): + * lisp/textmodes/remember.el (remember-version): + * lisp/url/url-vars.el (url-version): + * lisp/woman.el (woman-version): Use emacs-version instead of obsolete + version variables. + +2021-04-01 Stefan Monnier + + * lisp/strokes.el: Use lexical-binding. Remove redundant `:group` args + + (strokes-char-table): Move initialization into declaration. + +2021-04-01 Stefan Monnier + + * lisp/forms.el: Use lexical-binding. Remove redundant `:group` args + + (forms--process-format-list, forms--debug): Strength-reduce `eval` + to `symbol-value`. + +2021-04-01 Stefan Monnier + + * lisp/progmodes/dcl-mode.el: Use lexical-binding + + (dcl-guess-option-value, dcl-save-local-variable) + (dcl-save-nondefault-options): Strength-reduce `eval` to `symbol-value`. + +2021-03-31 Eli Zaretskii + + * src/comp.c (Fcomp__compile_ctxt_to_file): Fix debug level 1. + +2021-03-31 Michael Albinus + + * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter): + + Make assumption for emba. + +2021-03-31 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-final): Clean-up temporary file. + +2021-03-31 Andrea Corallo + + Rework native compilation `comp-debug' (bug#46495) + + * lisp/emacs-lisp/comp.el (comp-debug): Update docstring and + move default on Windows systems from 0 to 1. + * src/comp.c (Fcomp__compile_ctxt_to_file): Tweak debug + levels. + +2021-03-31 Andrea Corallo + + Do not defer compilation when bytecode is explicitly requested (bug#46617) + + * src/comp.c (maybe_defer_native_compilation): Check if the file + is registered in 'V_comp_no_native_file_h'. + (syms_of_comp): 'V_comp_no_native_file_h' new global. + * src/lread.c (maybe_swap_for_eln): Register files in + 'V_comp_no_native_file_h'. + * lisp/faces.el (tty-run-terminal-initialization): Do not + explicitly load .elc file to not exclude .eln being loaded in + place. + +2021-03-31 Stefan Kangas + + Use lexical-binding in progmodes/inf-lisp.el + + * lisp/progmodes/inf-lisp.el: Use lexical-binding. Doc fixes. + (inferior-lisp-mode-map, lisp-mode-map) + (inferior-lisp-install-letter-bindings): Quote function symbols as such. + (inferior-lisp-menu, lisp-compile-string, lisp-eval-string) + (lisp-show-variable-documentation): Doc fixes. + +2021-03-31 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + + * lisp/emacs-lisp/comp.el (comp-debug): Fix docstring. + +2021-03-31 Stefan Kangas + + Use lexical-binding in scroll-all.el + + * lisp/scroll-all.el: Use lexical-binding. + (scroll-all-scroll-down-all, scroll-all-scroll-up-all) + (scroll-all-page-down-all, scroll-all-page-up-all) + (scroll-all-beginning-of-buffer-all) + (scroll-all-end-of-buffer-all): Doc fixes. + +2021-03-31 Stefan Kangas + + * lisp/dynamic-setting.el: Use lexical-binding. + +2021-03-31 Luke Lee + + Fix incorrect regular expression for more general text replacements. + + * lisp/progmodes/hideif.el (hif-evaluate-macro): fix regexp to trim + off leading/trailing spaces, but not within. + +2021-03-31 Stefan Kangas + + Use lexical-binding in chistory.el + + * lisp/chistory.el: Use lexical-binding. Remove redundant :group + args. + (command-history-mode-map): Quote function symbols as such. + +2021-03-31 Stefan Kangas + + * lisp/ebuff-menu.el: Use lexical-binding. + +2021-03-31 Stefan Kangas + + Use lexical-binding in double.el + + * lisp/double.el: Use lexical-binding. Remove redundant :group + args. + +2021-03-31 Stefan Kangas + + Use lexical-binding in dirtrack.el + + * lisp/dirtrack.el: Use lexical-binding. Remove redundant group + args. + +2021-03-31 Stefan Kangas + + * lisp/progmodes/cwarn.el: Use lexical-binding. + +2021-03-30 Stefan Kangas + + Remove redundant #' before lambda in cedet + + * lisp/cedet/mode-local.el (mode-local-map-mode-buffers) + (mode-local--activate-bindings, mode-local--deactivate-bindings) + (setq-mode-local, describe-mode-local-bindings-in-mode): + * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream): + * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment): + * lisp/cedet/semantic/db-ebrowse.el + (semanticdb-ebrowse-get-ebrowse-structure): + * lisp/cedet/semantic/db-global.el + (semanticdb-enable-gnu-global-databases): + * lisp/cedet/semantic/edit.el (semantic-changes-in-region): + * lisp/cedet/semantic/fw.el (semantic-install-function-overrides): + * lisp/cedet/semantic/grammar.el (semantic-grammar-ASSOC) + (semantic-grammar-tag-symbols, semantic-grammar-keywords) + (semantic--grammar-macros-regexp-1) + (semantic-format-tag-summarize): + * lisp/cedet/semantic/idle.el (semantic-idle-core-handler) + (semantic-idle-work-core-handler): + * lisp/cedet/semantic/imenu.el (semantic-imenu-semanticdb-hook): + * lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map) + (semantic-java-doc-setup): + * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-save-table) + (semantic-lex-spp-macros): + * lisp/cedet/semantic/lex.el (semantic-lex-map-symbols) + (semantic-lex-keywords, semantic-lex-types): + * lisp/cedet/semantic/util-modes.el + (semantic-toggle-minor-mode-globally): + * lisp/cedet/semantic/wisent/comp.el (wisent-defcontext) + (wisent-automaton-lisp-form): + * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-assocs) + (wisent-grammar-terminals): Remove redundant #' before lambda. + +2021-03-30 Stefan Kangas + + Delete Emacs 19 compat code in foldout.el + + * lisp/foldout.el (foldout-hide-flag): + (foldout-show-flag): Delete Emacs 19 compat code and make obsolete. + (foldout-exit-fold): Don't use above obsolete variable. + +2021-03-30 Stefan Kangas + + Use lexical-binding in lpr.el and add rudimentary tests + + * lisp/lpr.el: Use lexical-binding. Remove redundant :group args. + (print-region-function): Declare MS-Windows specific function. + * test/lisp/lpr-tests.el: New file. + +2021-03-30 Stefan Kangas + + Use lexical-binding in echistory.el + + * lisp/echistory.el: Use lexical-binding. + (electric-history-map): Quote function symbols as such. + (Electric-history-undefined): Use command substitutions. + +2021-03-30 Stefan Kangas + + Delete empty "History" sections + + * lisp/bs.el: + * lisp/calendar/timeclock.el: + * lisp/cedet/semantic/bovine/grammar.el: + * lisp/cedet/semantic/grammar.el: + * lisp/cedet/semantic/wisent.el: + * lisp/cedet/semantic/wisent/comp.el: + * lisp/cedet/semantic/wisent/java-tags.el: + * lisp/cedet/semantic/wisent/wisent.el: + * lisp/erc/erc.el: + * lisp/net/newst-treeview.el: + * lisp/recentf.el: + * lisp/ruler-mode.el: + * lisp/textmodes/remember.el: + * lisp/thumbs.el: + * lisp/tree-widget.el: + * lisp/vc/vc-hg.el: Delete empty "History" sections. + + * lisp/cedet/semantic/grammar.el + (semantic-grammar-header-template): Don't add "History" section to + generated file. + +2021-03-30 Stefan Kangas + + Use lexical-binding in follow.el + + * lisp/follow.el: Use lexical-binding. + (follow-mode-map, follow-debug-message): Quote function symbols as + such. + (follow-pos-visible-in-window-p): Remove unused variable 'last'. + (follow-move-to-window-line): Remove unused variable 'middle-window'. + +2021-03-30 Mattias Engdegard + + lisp/progmodes/verilog-mode.el internal code cleanup. + + * lisp/progmodes/verilog-mode.el (verilog-at-close-struct-p): + Internal code cleanup. + +2021-03-30 Arash Esbati + + * lisp/textmodes/reftex-auc.el: Improve the external function declarations + + (LaTeX-add-bibitems): Move declaration closer to the others. + Fix those declarations to refer to the right file. + +2021-03-30 Dmitry Gutov + + Provide information to show icons with Elisp completions + + * lisp/progmodes/elisp-mode.el (elisp--company-kind): New function. + (elisp-completion-at-point): Use it. And a couple of anonymous + :company-kind functions too. + +2021-03-30 Stefan Monnier + + lisp/progmodes/verilog-mode.el: Prepare for lexical-binding. + + * lisp/progmodes/verilog-mode.el: Activate lexical-binding. + Insert newlines to avoid some situations where arguments were easy + to misunderstand. + (verilog-set-compile-command): Strength-reduce `eval` to `symbol-value`. + (verilog-error-regexp-add-emacs): Replace `mapcar` => `mapc` since + the result is not used. + (verilog-surelint-off): Remove always-nil var `dir`. + (verilog-do-indent): Minor simplification of the code. + (verilog-pred): Delete var. It was always nil. + (verilog-flag): Delete var; pass the corresponding data via + explicit arguments instead. + (verilog-keyword-completion): Use `dolist`. + (verilog-completion-response): Rename to `verilog--complete-with-action`. + Change calling convention to match that of `complete-with-action`. + Use `complete-with-action` instead when available. + Adjust all callers. + (verilog-completion, verilog-comp-defun): Change arg names so they + don't collide with dynamically scoped vars, and let-bind `verilog-str` + explicitly instead. Use `with-current-buffer`. + (verilog-batch-execute-func): Use `with-current-buffer`. + (verilog-complete-word): Don't convert the completion list into + a completion alist, since lists work just as well. + (verilog-showscopes): Use `with-current-buffer`. + (verilog-symbol-detick, verilog-symbol-detick-text) + (verilog-signals-matching-enum): Strength-reduce `eval` to `symbol-value`. + (verilog--insert-indent): Rename from `verilog--insert-indent`. + Add `indent-pt` argument. + (verilog-insert-indent): New macro wrapper to provide the old + calling convention. + (verilog-auto-assign-modport, verilog-auto-inout-modport): + Remove always-nil var `direction-re`. + (verilog--auto-inst-first): Rename from `verilog-auto-inst-first`. + Add `indent-pt` argument. + (verilog-auto-inst-port): Adjust call accordingly. + +2021-03-30 Stefan Monnier + + * lisp/progmodes/verilog-mode.el: Use #' where appropriate. + +2021-03-30 Wilson Snyder + + lisp/progmodes/verilog-mode.el: Fix indentation of enum. + + * lisp/progmodes/verilog-mode.el (verilog-at-close-struct-p): Fix + indentation of enum with multiple objects. Reported by punzik. (#1716). + +2021-03-29 Stefan Monnier + + * lisp/completion.el: Activate lexical-binding + + Remove redundant `:group` arguments. + + (list-all-completions-1): Merge into `list-all-completions` and + then delete. + (list-all-completions-by-hash-bucket-1): Use `push`. Merge into + `list-all-completions-by-hash-bucket` and then delete. + (completions-list-return-value): Delete variable, not used any more. + +2021-03-29 Stefan Monnier + + * lisp/woman.el: Activate lexical-binding. Require `cl-lib` + + (woman-mode, woman2-roff-buffer): Use `cl-letf`. + (woman-request): Move declaration before first use. + (woman0-macro): Rename arg to not shadow the dynamically scoped var. + (woman-set-arg): Strength-reduce `eval` to `symbol-value`. + +2021-03-29 Juri Linkov + + * lisp/progmodes/project.el (project-regexp-history-variable): New variable. + + (project--read-regexp): Use it as HISTORY arg of 'read-regexp' with + 'grep-regexp-history' default (bug#47012). + +2021-03-29 Stefan Monnier + + * lisp/allout*.el: Use lexical-binding + + * lisp/allout.el: Activate lexical-binding. + (allout-setup-menubar): Delete "complex no-op" function. + (allout-mode): Delete call to it. + (allout-hotspot-key-handler): Delete XEmacs-only code. + (allout-copy-exposed-to-buffer): Remove always-nil var `start-list`. + + * lisp/allout-widgets.el: Activate lexical-binding. + (allout-item-icon-keymap): Use `ignore`. + (allout-widgets-exposure-change-processor): Use `cl-callf` instead of + relying on dynamic binding to apply some code to two different variables. + +2021-03-29 Alan Mackenzie + + Fix an infinite loop in C++ Mode redisplay. This was bug #47191. + + * lisp/progmodes/cc-defs.el (c-forward-syntactic-ws, c-backward-syntactic-ws): + When point is on the wrong side of a supplied search limit, leave point + unmoved rather than setting it to that limit. + + * lisp/progmodes/cc-engine.el (c-forward-name): After scanning a template + argument list (which is not itself subject to a search limit) recalculate the + search limit starting from the end point, since these argument lists can + legitimately be long. At each of the scanning loops, check point hasn't gone + past the limit. + +2021-03-29 Glenn Morris + + Merge from origin/emacs-27 + + 8a92030f6a (origin/emacs-27) Fix hang in autorevert-tests.el + + # Conflicts: + # test/lisp/autorevert-tests.el + +2021-03-29 Glenn Morris + + Merge from origin/emacs-27 + + bcc4cc3362 Doc fixes for 'face-foreground' and 'face-background'. + bf6442fafd ; * admin/make-tarball.txt: Minor addition to the Web page... + 38b127d32e * admin/admin.el (set-version): Handle malformed NEWS markup. + 0d7e2a993e admin.el fix for bug#47394 + fdec444758 ; * etc/NEWS: Fix typo. + 1e6ca2765f ; * admin/make-tarball.txt: Another minor addition. + + # Conflicts: + # etc/NEWS + +2021-03-29 Michael Albinus + + Some Tramp doc clarifications + + * doc/misc/tramp.texi (Remote shell setup): Explain meaning of + `tramp-sh-extra-args' for bash. + (Frequently Asked Questions): New item about unloading / reloading Tramp. + +2021-03-29 Eli Zaretskii + + Protect add-variable-watcher from incorrect usage + + * src/data.c (Fadd_variable_watcher): Avoid crashes if SYMBOL + isn't. (Bug#47462) + +2021-03-29 Michael Albinus + + Optimize test jobs for emba + + * test/infra/gitlab-ci.yml (.test-template): Do not run fast and + normal test jobs when scheduled. + +2021-03-29 Stefan Kangas + + Doc fixes in follow.el + + * lisp/follow.el: + (follow-pos-visible-in-window-p, follow-adjust-window) + (follow-prev-buffer, follow-internal-force-redisplay): + Minor doc fixes. + +2021-03-29 Michael Albinus + + * test/infra/gitlab-ci.yml (test-filenotify-gio): Use *.log for make_params. + +2021-03-28 Michael Albinus + + Fix hang in autorevert-tests.el + + * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert): + Apply more robust check, whether file notification is used. + +2021-03-28 Lars Ingebrigtsen + + Fix a dbus.el byte compilation warning + + * lisp/net/dbus.el (dbus-register-monitor): Silence a + byte-compilation warning on systems without dbus. + +2021-03-28 Lars Ingebrigtsen + + Use a 64KB page size for pdump + + * src/pdumper.c (dump_get_page_size): Use a 64KB page size on all + architectures, as this many vary between systems (bug#47125). + +2021-03-28 Michael Albinus + + * admin/notes/emba: Explain job types and artifacts. + +2021-03-28 Lars Ingebrigtsen + + Revert "Clarify dired-do-shell-command doc string" + + This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7. + + The doc string already explains this. + + (cherry picked from commit 01cf0eb75786834b7a0ee5be34be53f6e8e14c11) + +2021-03-28 Lars Ingebrigtsen + + Revert "Clarify dired-do-shell-command doc string" + + This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7. + + The doc string already explains this. + +2021-03-28 Lars Ingebrigtsen + + Clarify dired-do-shell-command doc string + + * lisp/dired-aux.el (dired-do-shell-command): Mention what happens + to FILE-LIST (bug#47432). + + (cherry picked from commit cf607c262e15c873961fdfcced254e6f8e82f8d7) + +2021-03-28 Lars Ingebrigtsen + + Clarify dired-do-shell-command doc string + + * lisp/dired-aux.el (dired-do-shell-command): Mention what happens + to FILE-LIST (bug#47432). + +2021-03-28 Eli Zaretskii + + Doc fixes for 'face-foreground' and 'face-background'. + + * lisp/faces.el (face-foreground, face-background): Clarify how a + face specified in INHERIT arg is used. (Bug#47437) + +2021-03-28 pillule (tiny change) + + compilation-goto-locus does not handle right display-buffer + + * lisp/progmodes/compile.el (compilation-goto-locus): Pop to the + source buffer if the match buffer is the selected window (bug#47414). + +2021-03-28 Lars Ingebrigtsen + + Clarify the doc string of plist-memeber and plist-put + + * src/fns.c (Fplist_member): + (Fplist_put): Clarify what comparison function is used for PROP + (bug#47426) and don't claim that PROP has to be a symbol. + +2021-03-28 Eli Zaretskii + + Avoid errors in pulse.el for some face customizations + + * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make + sure 'face-background' always returns a color name. Suggested by + Ingo Lohmar in bug#47437. + +2021-03-28 Michael Albinus + + Make artifacts working on emba (hopefully) + + * test/infra/gitlab-ci.yml (.job-template): Use proper docker name. + (.test-template): Adapt artifacts path. + +2021-03-27 Basil L. Contovounesios + + Demote read-extended-command-predicate errors + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00682.html + + * lisp/simple.el (read-extended-command): Demote errors when calling + read-extended-command-predicate so M-x completion doesn't break. + +2021-03-27 Stefan Monnier + + * lisp/wdired.el (wdired--self-insert): Fix thinko + +2021-03-27 Stefan Monnier + + * lisp/wdired.el: Fix minor regressions and simplify a bit + + Use `wdired--current-column` more consistently to avoid mayhem when it + doesn't return the same result as `current-column`. + + (wdired-get-filename): Fix the unprocessed case. + (wdired-finish-edit): Don't force processing all the lines. + (wdired--col-perm): Remove, redundant with `wdired--perm-beg`. + (wdired-change-to-wdired-mode): Don't error in empty directory. + (wdired--set-permission-bounds): Set `wdired--perm-beg` when we can't + find permissions. Move `wdired--perm-beg` 1 char further (like + `wdired--col-perm`). Use `wdired--current-column`. + (wdired--point-at-perms-p): Fix when `wdired--perm-beg` is nil. + (wdired--self-insert): Lookup the keymap to know command to call. + (wdired--before-change-fn): Just use `point` instead of `beg`. + Use `with-silent-modifications` here rather than in each of the + `wdired--preprocess-*` functions. + (wdired--preprocess-files): Presume we're at BOL and within + `with-silent-modifications`. Fix application of `read-only`. + (wdired-abort-changes): Don't use `with-silent-modifications` since + we're really modifying the buffer. + (wdired--preprocess-symlinks): Presume we're at BOL and within + `with-silent-modifications`. + (wdired--preprocess-perms): Presume we're at BOL and within + `with-silent-modifications`. + (wdired-set-bit): Add `char` argument. Use `wdired--current-column`. + Copy previous text properties rather than duplicating the code of + `wdired--preprocess-perms`. + (wdired-toggle-bit): Delegate to `wdired-set-bit`. + +2021-03-27 Arthur Miller + + * lisp/wdired.el: Apply text properties lazily + + Entering wdired was taking time proportional to the size of the directory, + making it inconvenient to quickly enter wdired just to rename one or two + files in a large directory. + + (wdired-mode-map): Rebind `self-insert-command`. + (wdired--perm-beg, wdired--perm-end): New vars. + (wdired--col-perm, wdired--old-content, wdired--old-point) + (wdired--old-marks): Rename vars, using "--" rather than "-". + All users updated. + (wdired--before-change-fn): New function. + (wdired-change-to-wdired-mode): Use it `before-change-functions` + instead of eagerly putting the various text properties here. + (wdired--set-permission-bounds, wdired--current-column) + (wdired--point-at-perms-p, wdired--line-preprocessed-p): + New auxiliary functions. + (wdired--self-insert): New command. + (wdired--preprocess-files, wdired--preprocess-symlinks) + (wdired--preprocess-perms): Add "--" to the name. Make it operate only + on the current line. Use `with-silent-modifications`. + (wdired-abort-changes): Use `with-silent-modifications`. + +2021-03-27 Michael Albinus + + Keep *.log files on emba + + * test/infra/gitlab-ci.yml (.test-template): New template. + (test-fast-inotify, test-lisp-inotify, test-lisp-net-inotify) + (test-filenotify-gio, test-gnustep, test-all-inotify): Use it. + +2021-03-27 Eli Zaretskii + + Fix lisp/files-tests on MS-Windows + + * test/lisp/files-tests.el (files-colon-path) + (files-tests-bug-21454): Adapt to MS-DOS/Windows, where + parse-colon-path needs and absolute file name with a drive letter. + (files-tests-file-name-non-special-get-file-buffer): Forcefully + delete the file's buffer if it happens to exist. + +2021-03-27 Matt Armstrong + + File unlock errors now issue warnings (Bug#46397) + + The primary idea is to allow `kill-buffer' and `kill-emacs' to + complete even if Emacs has trouble unlocking the buffer's file. + + * lisp/userlock.el (userlock--handle-unlock-error): New function, call + `display-error'. + * src/filelock.c (unlock_file_body): New function, do what + 'unlock_file' used to. + (unlock_file_handle_error): New function, call + `userlock--handle-unlock-error' with the captured error. + (unlock_file): Handle `file-error' conditions by calling the handler + defined above. + * test/src/filelock-tests.el (filelock-tests-kill-buffer-spoiled): + (filelock-tests-unlock-spoiled): Modify to test new behavior. + +2021-03-27 Matt Armstrong + + Add test coverage for src/filelock.c (Bug#46397) + + * test/src/filelock-tests.el: New file. + +2021-03-27 Kenichi Handa + + Fix encoding by ISO-2022-JP + + * src/coding.c (encode_coding): Reset the CODING_MODE_LAST_BLOCK + flag for all iterations but the last one. (Bug#46933) + +2021-03-26 Michael Albinus + + Improve remote file notifications + + * lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): Remove it. + (tramp-sh-handle-file-notify-add-watch): Do not call it. + (tramp-sh-gio-monitor-process-filter): Read monitor name. + + * test/lisp/filenotify-tests.el (file-notify--test-read-event) + (file-notify--test-timeout): Change timings. + (file-notify--test-monitor): Read remote monitor name more reliably. + (file-notify-test02-rm-watch): Retrieve remote monitor name in time. + (file-notify--test-event-actions): New defun. + (file-notify--test-with-actions-explainer): Use it. + (file-notify--test-with-actions-check): Use it. Dump traces in + case of debug. + (file-notify--test-with-actions): Don't stop while debugging. + (file-notify-test03-events, file-notify-test04-autorevert) + (file-notify-test05-file-validity) + (file-notify-test07-many-events, file-notify-test08-backup) + (file-notify-test09-watched-file-in-watched-dir): Adapt tests. + +2021-03-26 Basil L. Contovounesios + + Address some --without-x byte-compilation warnings + + These came to light in the contexts of bug#29713 and bug#47234. + + * lisp/emulation/edt-mapper.el (edt-xserver): + * lisp/emulation/edt.el (edt-xserver): + * lisp/gnus/gnus-util.el (gnus-rescale-image): + * lisp/gnus/nnimap.el (nnimap-map-port): + * lisp/term/w32-win.el: + * lisp/image.el (image--get-imagemagick-and-warn): + * lisp/frame.el (frame-notice-user-settings): Declare functions that + are known to be present at runtime in GUI builds. + (make-frame-on-display): Signal more informative error when called + interactively in a non-GUI build (bug#29713). + * lisp/international/mule-diag.el (describe-font): + * lisp/org/org-macs.el (org--string-from-props): Pacify warnings + about unknown functions in non-GUI bilds. + * lisp/mh-e/mh-mime.el (mh-small-image-p): Avoid eliminating fboundp + check in non-GUI builds, to pacify unused lexical variable warning. + * lisp/net/newst-plainview.el (newsticker--plainview-tool-bar-map): + * lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map): + Declare tool-bar-map as a special variable in non-GUI builds. + +2021-03-26 Stefan Monnier + + * lisp/obsolete/tpu-extras.el: Avoid defadvice + + (tpu--respect-bottom-scroll-margin): New function, extracted from + `newline`s defadvice. + (newline, newline-and-indent, do-auto-fill): Delete defadvice. + (tpu-set-scroll-margins): Use advice-add instead of + `ad-enable-advice`+`ad-activate`. + Use an explicit arg instead of `called-interactively-p`. + +2021-03-26 Stefan Monnier + + * lisp/mh-e/: Take advice-remove of the newly enabled lexical-binding + + * lisp/mh-e/mh-mime.el (mh-mm-inline-message): + * lisp/mh-e/mh-inc.el (mh-inc-spool-generator): Replace `(lambda...) + with a proper closure. + +2021-03-26 Andrea Corallo + + * Prevent stale eln loading checking file timestamp before load (bug#46617) + + * src/lread.c (maybe_swap_for_eln): Add file timestamp check. + (openp): Update 'maybe_swap_for_eln' call sites. + +2021-03-25 Glenn Morris + + * admin/admin.el (set-version): Handle malformed NEWS markup. + +2021-03-25 Glenn Morris + + admin.el fix for bug#47394 + + * admin/admin.el (manual-html-fix-index-2): Handle Texinfo 6.7. + +2021-03-25 Spencer Baugh + + Assert not local-variable-p after setq in let_default binding + + Breaking this is a likely way to break this test, so this saves a bit + of time in debugging. + + * test/src/data-tests.el (data-tests--let-buffer-local): + Add assertion to test. + +2021-03-25 Spencer Baugh + + Add a test for let-binding unwinding + + Bindings in other buffers are not un-set when we unwind a let-binding + which set the default value. There doesn't seem to be an existing + test which covers this, so here's one. + + * test/src/data-tests.el (data-tests--let-buffer-local-no-unwind-other-buffers): + Add test for let-binding unwinding behavior + +2021-03-25 Stefan Monnier + + * lisp/htmlfontify.el: Fix misuses of `nconc` + + (hfy-face-to-style-i): `this` is not known to be fresh. + (hfy--size-to-int): Rename from `hfy--size-to-int` and return just the + integer without wrapping it in a list. + (hfy-flatten-style): Avoid O(n族) problems. Use `float`. + +2021-03-25 Bill Wohler + + Remove XEmacs support in lexical-binding + + * lisp/mh-e/mh-alias.el (mh-alias-insert-file): Remove reference to + remove-specifier. + +2021-03-25 Mark A. Hershberger + + Update rnc to use Open Document's Relax-NG schema to version 1.3 + + * Use the LibreOffice Relax-NG files since they include a hack to + support 1.2. + * rng source: + https://raw.githubusercontent.com/freedesktop/libreoffice-core/master/ + schema/libreoffice/OpenDocument-schema-v1.3%2Blibreoffice.rng + * translation to rnc with trang: + trang -I rng -O rnc OpenDocument-schema-v1.3+libreoffice.rng \ + OpenDocument-schema-v1.3+libreoffice.rnc + +2021-03-25 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-03-25 Paul Eggert + + Merge from origin/emacs-27 + + 291a421c2e * admin/make-tarball.txt: Improve and expand the instructi... + 0e4795fc98 Fix preeditarea reporting wrong spot. + +2021-03-25 Paul Eggert + + Merge from origin/emacs-27 + + deef5efafb ; * ChangeLog.3: Update with the log of the last change. + bd991e3c9b Fix frame-inner-height in non-GUI builds + +2021-03-25 Eli Zaretskii + + * admin/make-tarball.txt: Improve and expand the instructions. + +2021-03-25 Amos Bird + + Fix preeditarea reporting wrong spot. + + This patch adjust the x position of preeditarea with both left fringe + and left margin, which prevents IME preedit box (such as fcitx) from + placing at the wrong position in GUI emacs. + * src/xfns.c (xic_set_preeditarea): Adjust X for left margin width. + (Bug#47377) + +2021-03-25 Michael Albinus + + Adapt Tramp file notification support + + * lisp/net/tramp-integration.el (tramp-use-ssh-controlmaster-options): + Declare it. + + * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): + Remove "gvfs-monitor-dir". + (tramp-sh-gvfs-monitor-dir-process-filter) + (tramp-get-remote-gvfs-monitor-dir): Remove. + (tramp-get-remote-gio-file-monitor): Support also cygwin, and + GFamDirectoryMonitor, GPollFileMonitor. + +2021-03-25 Glenn Morris + + * doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits. + +2021-03-25 Dmitry Gutov + + Fix typo + + * lisp/progmodes/project.el (project-remove-known-project): + Fix typo (bug#47287). + +2021-03-25 Theodor Thornhill + + Add command project-remove-known-project + + * etc/NEWS: Mention the new command. + + * lisp/progmodes/project.el (project--remove-from-project-list): Add + new argument, report-message, used to signal various messages when + removal has happened. + + * lisp/progmodes/project.el (project-remove-known-project): New + command that removes the selected directory from the project-list-file. + + * lisp/progmodes/project.el (project-current): Add the report message. + + * doc/emacs/maintaining.text: Add information about the new command to + the manual. + +2021-03-24 Stefan Monnier + + * list/progmodes/idl*.el: Use lexical-binding + + * lisp/progmodes/idlw-complete-structtag.el: Use lexical-binding. + + * lisp/progmodes/idlw-help.el: Use lexical-binding. + Delete redundant `:group` arguments. + (idlwave-query-class, idlwave-force-class-query, idlw-help-name) + (idlw-help-kwd, idlw-help-link): Declare vars. + (idlwave-highlight-linked-completions): Remove unused var `class`. + (idlwave-help-find-in-doc-header): Remove unused var `header-re`. + + * lisp/progmodes/idlw-shell.el (idlwave-shell-input-mode-magic): + Remove XEmacs-only code. + (idlwave-shell-filter, idlwave-shell-scan-for-state): + Use `functionp` since a function can also satisfy `listp`. + (idlwave-shell--mouse-examine): Rename from `idlwave-shell-mouse-examine`. + Make it a function, and simplify for Emacs22. Simplify calling convention + since all callers always immediately `funcall`d the result. + Update all callers. + (idlwave-default-mouse-track-event-is-with-button): Use `always`. + (idlwave-shell-filter-bp): Simplify a tiny bit. + + * lisp/progmodes/idlw-toolbar.el: Use lexical-binding. + (idlwave-toolbar-add, idlwave-toolbar-remove) + (idlwave-toolbar-add-everywhere, idlwave-toolbar-remove-everywhere) + (idlwave-toolbar-toggle): Remove XEmacs-only code. + + * lisp/progmodes/idlwave.el: Use lexical-binding. + (idlwave--dlet): New macro. + (): Use it. + (idlwave-keyword-abbrev): Turn it into a function. + (idlwave-code-abbrev): Delete macro. + (idlwave-mode-abbrev-table): Use `:enable-function` instead. + (idlwave-with-special-syntax): Delete macro; use `with-syntax-table` + instead in all callers. + (idlwave-action-and-binding): Use `alist-get` and replace `(lambda...) + with a proper closure. Change all callers to prefer passing a function + in the `cmd` argument. + (idlwave-fill-function): Delete constant var. + Replace its uses with its value (the symbol `auto-fill-function`). + (idlwave-mode): Set `normal-auto-fill-function` instead of the + cumbersome use of `idlwave-fill-function`. Tighten a regexp. + Don't set `imenu-create-index-function` to the value it should already have. + (idlwave-auto-fill-mode): Make it an obsolete alias for `auto-fill-mode`. + (idlwave-modify-abbrev): Rename from `idlwave-check-abbrev`. + Don't check `idlwave-quoted` since `:enable-function` did it for us already. + (idlwave--command-function): Rename from `idlwave-command-hook` + and make it hold a function rather than an expression. + (idlwave-command-hook, idlwave-modify-abbrev): Adjust accordingly. + (idlwave-show-begin-check): Don't check `idlwave-quoted` since + `:enable-function` did it for us already. + (idlwave-do-action): Use `functionp` since a function can also satisfy `listp` + (idlwave-new-sintern-type): Make it a macro, so we don't need to + `declare-function` for the functions it defines. + (idlwave--class-selector, idlwave--type-selector) + (idlwave--method-selector, idlwave--super-classes): Rename those vars + by adding the `idlwave--` prefix. Adjust all uses. + (idlwave-complete-functions): Rename from `idlwave-complete-special`. + (idlwave-call-special): Declare obsolete. Change all callers to use + `run-hook-with-args-until-success` instead. + (idlwave-complete-filename): Use `dlet`. + (idlwave-rinfo-assq-any-class): Remove unused var `class`. + (idlwave-determine-class-functions): Rename from + `idlwave-determine-class-special`; fix docstring since the functions + are called with only one argument. + (idlwave--complete-after-success-function): Rename from + `idlwave-complete-after-success-form` and make it hold a function. + Adjust all users. + (idlwave--complete-after-success-force-function): Rename from + `idlwave-complete-after-success-form-force` and make it hold a function. + Adjust all users. + (idlwave-attach-classes): Remove always-t variable `do-dots`. + (idlwave-local-value): Use `local-variable-p` and `buffer-local-value` + to avoid `with-current-buffer`. + (idlwave-default-choose-completion): Comment out (unused and calls + a function that doesn't exist). + (idlwave-shell-filter-sysvars): Remove unused vars `type`, `name`, and `class` + (idlwave-fix-module-if-obj_new): Remove unused var `name`. + (idlwave-fix-keywords): Bind `idlwave--super-classes` via `let` than + via the function's argument. + (idlwave-twin-class, idlwave-twin-name): Move before first use. + (idlwave-study-twins): Remove stealth/redundant `type` variable. + (idlwave-routine-entry-compare-twins): Remove unused var `type`. + (idlwave-path-alist-add-flag): Avoid `add-to-list` on a local var. + (idlwave-list-abbrevs): Simplify a tiny bit. + +2021-03-24 Juri Linkov + + * lisp/tab-bar.el (tab-bar-tab-post-change-group-functions): New hook. + + (tab-bar-change-tab-group): Run it. + (tab-bar-move-tab-to-group): New command for new hook. + +2021-03-24 Alan Mackenzie + + Improve failure reporting in test/lisp/electric-tests.el + + In particular, on a failure, output the test's doc string to + electric-tests.log, along with all the other failure information. + Fixes bug #47320. + + * electric-tests.el (electric-pair-test-for) New parameter doc-string. On a + test failure, output the doc-string parameter with message. + (electric-pair-define-test-form): Set the new variable doc-string to the + generated doc string, and pass this as argument to both ert-deftest and + electric-pair-test-for. + +2021-03-24 Stefan Monnier + + * lisp/auth-source-pass.el (auth-source): Silence spurious warning + +2021-03-24 Lars Ingebrigtsen + + Fix previous format-prompt change: The default can be a symbol + + * lisp/minibuffer.el (format-prompt): The default can also be a + symbol. + +2021-03-24 Harald J旦rg + + perl-mode: Fix regexps for fontification + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-fontify-declarations): New test to ensure consistency + between perl-mode.el and cperl-mode.el (bug#47345). + * lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): pick + correct capture groups for "use Pack::Age;" + Fontify all components of "Pack::Age", not just "Pack" + (perl-font-lock-keywords-2): Use keyword-face for declarators + +2021-03-24 Andrea Corallo + + Improve two native compiler related docstrings. + + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): Improve docstring. + * src/comp.c (comp-eln-load-path): Likewise. + +2021-03-24 Lars Ingebrigtsen + + Revert "Remove font-lock toggle from font-lock-update" + + This reverts commit 23995414fec483287e7fb9c9a279483319f9fc54. + + The subject is under discussion. + +2021-03-24 Paul W. Rankin + + Remove font-lock toggle from font-lock-update + + * lisp/font-lock.el (font-lock-update): Remove call to + font-lock-unfontify-region and font-lock-mode toggle with ARG; this + did not perform what original author intended + +2021-03-24 Andrea Corallo + + * src/lread.c (maybe_swap_for_eln): Fix eln filename (bug#bug#47337). + +2021-03-24 Dmitry Gutov + + xref.el: Keep Emacs 26 compatibility + + * lisp/progmodes/xref.el (xref--read-identifier) + (xref-find-definitions, xref-find-definitions-other-window) + (xref-find-definitions-other-frame, xref-find-references): + Undo the latest change for Emacs 26 compatibility (bug#47286). + +2021-03-24 Gabriel do Nascimento Ribeiro + + Add optional FORMAT argument to 'emacs-init-time' + + * lisp/time.el (emacs-init-time): Add optional FORMAT argument + (bug#47306). + +2021-03-24 Gabriel do Nascimento Ribeiro + + Replace "(default %s)" with 'format-prompt' + + * lisp/cmuscheme.el (scheme-load-file, scheme-compile-file): + * lisp/comint.el (comint-get-source): + * lisp/emulation/viper-cmd.el (viper-quote-region, viper-kill-buffer) + (viper-query-replace, viper-read-string-with-history): + * lisp/eshell/esh-mode.el (eshell-find-tag): + * lisp/gnus/gnus-sum.el (gnus-articles-to-read) + (gnus-summary-search-article-forward) + (gnus-summary-search-article-backward): + * lisp/international/mule-cmds.el (set-input-method, toggle-input-method) + (describe-input-method, set-language-environment) + (describe-language-environment): + * lisp/mh-e/mh-gnus.el (mh-mml-minibuffer-read-disposition): + * lisp/mh-e/mh-letter.el (mh-insert-letter): + * lisp/mh-e/mh-mime.el (mh-display-with-external-viewer) + (mh-mime-save-parts, mh-mh-forward-message) + (mh-mml-query-cryptographic-method, mh-minibuffer-read-type): + * lisp/mh-e/mh-seq.el (mh-read-seq, mh-read-range): + * lisp/mh-e/mh-utils.el (mh-prompt-for-folder): + * lisp/progmodes/etags.el (find-tag-tag): + (find-tag-noselect, find-tag, find-tag-other-window) + (find-tag-other-frame, find-tag-regexp): + * lisp/progmodes/idlwave.el (idlwave-find-module): + * lisp/progmodes/inf-lisp.el (lisp-load-file, lisp-compile-file): + * lisp/progmodes/tcl.el (tcl-load-file, tcl-restart-with-file): + * lisp/progmodes/xref.el (xref--read-identifier): + (xref-find-definitions, xref-find-definitions-other-window) + (xref-find-definitions-other-frame, xref-find-references): + * lisp/ses.el (ses-read-printer): + (ses-read-cell-printer, ses-read-column-printer) + (ses-read-default-printer, ses-define-local-printer): + * lisp/subr.el (read-number): + * lisp/term.el (term-get-source): + * src/minibuf.c (read-buffer): Remove prompt suffix and + use 'format-prompt'. + * lisp/minibuffer.el (format-prompt): Ignore DEFAULT empty strings + (bug#47286). + +2021-03-24 Lars Ingebrigtsen + + Fix problem with filling with a computed fill prefix + + * lisp/textmodes/fill.el (fill-region-as-paragraph): Fix problem + when filling text with a computed fill prefix (bug#47338). + +2021-03-24 Stefan Kangas + + Convert many more links to use HTTPS + +2021-03-24 Lars Ingebrigtsen + + Move string-trim functions to subr.el + + * doc/lispref/strings.texi (Creating Strings): Document them. + + * lisp/faces.el: Don't require subr-x, because that leads to build + errors. + + * lisp/subr.el (string-trim, string-trim-right) + (string-trim-left): Move here from subr-x.el. + + * lisp/emacs-lisp/shortdoc.el (string): Adjust. + +2021-03-24 Stefan Kangas + + Use lexical-binding in iimage.el + + * lisp/iimage.el: Use lexical-binding. Remove redundant :group args. + +2021-03-24 Stefan Kangas + + * lisp/talk.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + Use lexical-binding in two trivial org-mode files + + This change has already been made on org-mode's master branch. + + * lisp/org/org-install.el: + * lisp/org/org-version.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + * lisp/help-at-pt.el: Use lexical-binding. + + * lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt. + + * lisp/progmodes/modula2.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + Use lexical-binding in view.el + + * lisp/view.el: Use lexical-binding. Remove redundant :group args. + +2021-03-24 Stefan Kangas + + Delete some commented out defgroups + + * lisp/eshell/esh-opt.el: + * lisp/international/ccl.el: + * lisp/pcmpl-linux.el: + * lisp/shell.el: + * lisp/url/url-news.el: Delete some commented out defgroups. + +2021-03-24 Stefan Kangas + + Doc fixes in view.el + + * lisp/view.el: + (view-try-extend-at-buffer-end, kill-buffer-if-not-modified) + (view-buffer, view-buffer-other-window, view-buffer-other-frame) + (view-page-size-default, view-set-half-page-size-default) + (view-really-at-end, view-end-message) + (view-search-no-match-lines): Doc fixes. + +2021-03-24 Stefan Kangas + + * lisp/master.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + Use lexical-binding in ruler-mode.el + + * lisp/ruler-mode.el: Use lexical-binding. Remove redundant + :group args. + +2021-03-24 Stefan Monnier + + * lisp/progmodes/ebnf-*.el: Use lexical-binding + + * lisp/progmodes/ebnf-abn.el: + * lisp/progmodes/ebnf-bnf.el: + * lisp/progmodes/ebnf-dtd.el: + * lisp/progmodes/ebnf-ebx.el: + * lisp/progmodes/ebnf-iso.el: + * lisp/progmodes/ebnf-otz.el: + * lisp/progmodes/ebnf-yac.el: Enable lexical-binding. + * lisp/progmodes/ebnf2ps.el (ebnf-apply-style1) + (ebnf-insert-ebnf-prologue): Use lexical-binding. + +2021-03-23 Stefan Monnier + + * lisp/mh-e: Enable lexical-binding in all the files + + * lisp/mh-e/mh-alias.el: Use lexical-binding. + (mh-alias-insert-file): Completion tables can be mere lists of strings. + + * lisp/mh-e/mh-mime.el: Use lexical-binding. + (mh-mm-inline-message): Remove always-nil var `visible-headers`. + + * lisp/mh-e/mh-search.el: Use lexical-binding. + (mh-search-folder): Remove unused var `pick-folder`. + + * lisp/mh-e/mh-show.el: Use lexical-binding. + (mh-display-msg): Remove always-nil var `visible-headers`. + + * lisp/mh-e/mh-utils.el: Use lexical-binding. + (completion-root-regexp): Always declare var. + + * lisp/mh-e/mh-buffers.el: Use lexical-binding. + * lisp/mh-e/mh-comp.el: Use lexical-binding. + * lisp/mh-e/mh-folder.el: Use lexical-binding. + * lisp/mh-e/mh-funcs.el: Use lexical-binding. + * lisp/mh-e/mh-gnus.el: Use lexical-binding. + * lisp/mh-e/mh-identity.el: Use lexical-binding. + * lisp/mh-e/mh-inc.el: Use lexical-binding. + * lisp/mh-e/mh-junk.el: Use lexical-binding. + * lisp/mh-e/mh-letter.el: Use lexical-binding. + * lisp/mh-e/mh-limit.el: Use lexical-binding. + * lisp/mh-e/mh-print.el: Use lexical-binding. + * lisp/mh-e/mh-scan.el: Use lexical-binding. + * lisp/mh-e/mh-seq.el: Use lexical-binding. + * lisp/mh-e/mh-speed.el: Use lexical-binding. + * lisp/mh-e/mh-thread.el: Use lexical-binding. + * lisp/mh-e/mh-tool-bar.el: Use lexical-binding. + * lisp/mh-e/mh-xface.el: Use lexical-binding. + +2021-03-23 Stefan Monnier + + * lisp/wdired.el: Fix typo in last change. + + Reported by Michael Heerdegen . + + (wdired-change-to-wdired-mode, wdired-change-to-dired-mode): + The `(local FOO)` form takes an expression, so the var needs to be quoted. + +2021-03-22 Lars Ingebrigtsen + + Mention `C-o' in the `RET' doc string + + * lisp/simple.el (newline-and-indent): Mention `C-o' in the doc + string. + +2021-03-22 Lars Ingebrigtsen + + Fix previous face.el change + + * lisp/faces.el (require): Fix compilation warning from previous + face.el change. + +2021-03-22 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab-group): Set default to t. + + (tab-bar-tabs, tab-bar-select-tab, tab-bar-new-tab-to): + Use tab-bar--current-tab-make instead of tab-bar--current-tab. + (tab-bar--tab): Add arg 'frame' to tab-bar--current-tab-find. + (tab-bar--current-tab, tab-bar--current-tab-make): Move most of body + from the former to the latter, thus reverting tab-bar--current-tab + to its previous behavior. + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00959.html + +2021-03-22 Lars Ingebrigtsen + + Use read-color in read-face-attribute for color attributes + + * lisp/faces.el (read-face-attribute): Use read-color when + prompting for a color (bug#47316). + +2021-03-22 Michael Albinus + + * lisp/files-x.el (connection-local-criteria-for-default-directory): + + Add optional argument APPLICATION. + +2021-03-22 Stefan Kangas + + Remove unnecessary requires of rx + + * lisp/cedet/semantic/wisent/python.el (rx): + * test/src/process-tests.el (rx): Remove unnecessary requires. + +2021-03-22 Stefan Kangas + + Use lexical-binding in notifications.el + + * lisp/notifications.el: Use lexical-binding. + (notifications-notify): Prefer 'push' to 'add-to-list'. + +2021-03-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-lookup-eln): Add autoload cookie. + + * lisp/emacs-lisp/comp.el (comp-lookup-eln): Add new function. + +2021-03-21 Andrea Corallo + + Prevent unnecessary multiple .el hashing in 'maybe_swap_for_eln' + + * src/comp.c (Fcomp_el_to_eln_rel_filename): New function. + (Fcomp_el_to_eln_filename): Make use of. + (syms_of_comp): Register 'Scomp_el_to_eln_rel_filename'. + * src/lread.c (maybe_swap_for_eln): Make use of + 'Fcomp_el_to_eln_rel_filename' to hash prevent unnecessary + multiple hashing. + +2021-03-21 Alan Mackenzie + + Prevent open minibuffers getting lost when their frame gets deleted + + This happened with minibuffer-follows-selected-frame set to t. + + * doc/emacs/mini.texi (Basic Minibuffer): State where a command's action takes + place when a minibuffer's frame has been deleted. + + * lisp/window.el (window--before-delete-windows, record-window-buffer): Take + into account that minibuffers are now recorded on w->prev_buffers field. + + * src/fns.c (merge_c): New version of `merge' taking a C function, rather than + a Lisp function as the comparison function. + + * src/frame.c (do_switch_frame): Pass arguments sf and for_deletion to + move_minibuffers_onnto_frame. + + * src/lisp.h (top level): Declare merge_c and + move_minibuffers_onto_selected_frame. + + * src/minibuf.c (MB_frame): New Lisp_Object recording the minibuffer's frame. + (choose_minibuf_frame): Remove all code except that which sets minibuf_window + to the current frame's minibuffer. + (minibuffer_ent_greater): New comparison function, passed to merge_c. + (zip_minibuffer_stacks): New function. + (move_minibuffers_onto_frame): Renamed from `move_minibuffer_onto_frame' given + two arguments, the old frame and for_deletion, and simplified. Minibuffers + are now stacked in the mini-window's ->prev_buffers field. + (read_minibuf): Several detailed amendments. + (exp_MB_frame): New Lisp_Object, the expired minibuffer's frame. + (read_minibuf_unwind): Search for the expired minibuffer's frame, rather than + taking it from (unreliable) variables. Switch temporarily to this frame for + tidying up operations. + (minibuffer_unwind): New function which pops a stacked minibuffer. + (syms_of_minibuf): Call staticpro for the two new Lisp variables. + + * src/window.c (Fset_window_configuration): Don't record minibuffers with + record-window-buffer. + + * src/xdisp.c (gui_consider_frame_title): Remove redundant Fselect_window, + which caused an unwanted frame switch. Amend the arguments to + format_mode_line_unwind_data to match. + +2021-03-21 Andrea Corallo + + Add a tmp dir to `comp-eln-load-path' when running the testsuite. + + * lisp/startup.el (normal-top-level): Tweak `comp-eln-load-path' + adding a temp directory when running the testsuite. + +2021-03-21 Glenn Morris + + * lisp/thumbs.el (thumbs-conversion-program): Simplify. + + /usr/bin is (normally) always in PATH, and this need not be absolute, + so the executable-find is unnecesary. + +2021-03-21 Stefan Kangas + + Actually use lexical-binding in wid-browse.el + + * lisp/wid-browse.el: Use lexical-binding. I apparently forgot to + commit the lexical-binding cookie in my previous attempt. + +2021-03-21 Andrea Corallo + + Revert "* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all..." + + This reverts commit be22cda7be9e77e67f224f6f07cca9dd44aaa078. + + Older binaries might still need those .eln if they where preloaded. + +2021-03-21 Theodor Thornhill + + Use pop-to-buffer-same-window for shell + + * lisp/progmodes/project.el (project-shell): Behave the same way as + 'M-x project-eshell'. + * lisp/shell.el (shell): Behave the same way as 'M-x eshell'. + * etc/NEWS: Add news entry describing the change. + * lisp/tutorial.el: Use lexical-binding. + +2021-03-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. + +2021-03-21 Zhiwei Chen (tiny change) + + Allow hide-ifdef-guts to work in buffers not visiting files + + * lisp/progmodes/hideif.el (hide-ifdef-guts): Allow working in + buffers not visiting files (bug#47279). + +2021-03-21 Stefan Kangas + + * lisp/tutorial.el: Use lexical-binding. + +2021-03-21 Stefan Monnier + + * lisp/cedet/semantic/ia.el (semantic-ia-complete-symbol): Simplify + + Cut the `semantic-ia-get-completions-deprecated` middle man. + +2021-03-20 Stefan Kangas + + Remove support for Syndic8.com, defunct since 2013 + + * lisp/gnus/nnrss.el (nnrss-discover-feed) + (nnrss-find-rss-via-syndic8): Remove support for Syndic8.com, as + the site was shut down in 2013. + +2021-03-20 Toby Cubitt + + Fix cl-progv binding order + + * lisp/emacs-lisp/cl-macs.el (cl-progv): Bind variables in the + correct order (bug#47272). + +2021-03-20 Gregory Heytings + + * etc/NEWS: Small corrections for the new command 'font-lock-update' + +2021-03-20 Stefan Kangas + + Remove Gnus specific .dir-locals.el + + * lisp/gnus/.dir-locals.el: Delete file. The only variable it set was + 'show-trailing-whitespace', but this should be up to the individual + developer. (Bug#47278) + +2021-03-20 Stefan Kangas + + Prefer https and fix broken links in ERC + + * lisp/erc/erc-button.el (erc-button-rfc-url) + (erc-button-search-url): Prefer https. + * lisp/erc/erc-capab.el: + * lisp/erc/erc.el (erc-cmd-MODE): Fix broken links. + +2021-03-20 Stefan Kangas + + * lisp/thumbs.el (thumbs-show-from-dir): Improve prompt. + +2021-03-20 Eli Zaretskii + + Fix args-out-of-range error in format.el + + * lisp/format.el (format-deannotate-region): Ignore todo items + with FROM > TO. (Bug#47277) + +2021-03-20 Paul Eggert + + Dont convert pointer to bool + + Without this patch, Oracle Studio 12.6 complains about converting + pointer to bool. + * src/editfns.c (styled_format): Use !!. + +2021-03-20 Stefan Kangas + + Assume something more recent than X11R6 + + * lisp/bindings.el: + * lisp/menu-bar.el: + * lisp/printing.el: + * lisp/thumbs.el (thumbs-conversion-program): Assume we have something + more recent than X11R6. + +2021-03-20 Stefan Kangas + + Use lexical-binding in thumbs.el + + * lisp/thumbs.el: Use lexical-binding. Remove redundant :group args. + * test/lisp/thumbs-tests.el: New file. + +2021-03-20 Stefan Kangas + + * lisp/novice.el: Use lexical-binding. + +2021-03-20 Stefan Monnier + + * lisp/wdired.el: Use lexical-binding + + Remove redundant `:group` args. + + (wdired-change-to-wdired-mode): Use `add-function` to modify + `revert-buffer-function`. + (wdired-change-to-dired-mode): Adjust accordingly. + (wdired-do-renames): Make sure to bind `dired-backup-overwrite` dynamically. + +2021-03-20 Stefan Kangas + + Don't tag mouse command as mode exclusive + + * lisp/finder.el (finder-mouse-select): Don't tag for finder-mode. + +2021-03-19 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Remember location of unresolved calls + + I've gotten tired of seeing the "function foo not known to be defined" + warning without any line number information. So this patch adds as + line number the position of the first use of that function in the file + (well, approximately, as usual). + + (byte-compile-unresolved-functions): Add POSITIONs in the alist. + (byte-compile-function-warn): Store the current position in + `byte-compile-unresolved-functions`. + (byte-compile-arglist-warn): Adjust accordingly. + (byte-compile-print-syms): Delete unused function. + (byte-compile-warn-about-unresolved-functions): Use the stored position + to give more precise warnings. + +2021-03-19 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase-compile-patterns): New function (bug#47261) + + Extracted from `pcase--expand`. + (pcase--expand): Use it. + +2021-03-19 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-03-19 Eli Zaretskii + + Improve the docs of a recent change in mb-depth.el + + * lisp/mb-depth.el (minibuffer-depth-indicator-function): Improve + the wording of the doc string and of the label used for the + default value. (Bug#47252) + +2021-03-19 Andrea Corallo + + Do not load native code when `load' is explicitly called on a .elc file + + * src/lread.c (Fload): Do not load native code when `load' is + explicitly called on a .elc file. + (Flocate_file_internal): Update 'openp' call sites. + (maybe_swap_for_eln): Add new 'no_native' parameter. + (openp): Likewise + update 'maybe_swap_for_eln' and 'openp' call + sites. + * src/lisp.h: Update 'openp' signature. + * src/w32proc.c (sys_spawnve): Update 'openp' call sites. + * src/w32.c (check_windows_init_file): Likewise. + * src/sound.c (Fplay_sound_internal): Likewise. + * src/process.c (Fmake_process): Likewise. + * src/image.c (image_create_bitmap_from_file) + (image_find_image_fd): Likewise. + * src/emacs.c (set_invocation_vars): Likewise. + * src/charset.c (load_charset_map_from_file): Likewise. + * src/callproc.c (call_process): Likewise. + +2021-03-19 Mauro Aranda + + Fix :type of recently introduced defcustom + + * lisp/mb-depth.el (minibuffer-depth-indicator-function): The option + can be nil, so add nil as a choice. (Bug#47252) + +2021-03-19 Gabriel do Nascimento Ribeiro + + Make minibuffer-depth-indicator-function a defcustom + + * lisp/mb-depth.el (minibuffer-depth-indicator-function): Make + into a user option (bug#47252). + +2021-03-19 Lars Ingebrigtsen + + Warn the user if we can't find pkg-config + + * configure.ac (WITH_IFAVAILABLE): Warn the user if we can't find + a usable pkg-config (bug#47159). + +2021-03-19 Lars Ingebrigtsen + + Add a note to NEWS as to how to restore the facemenu + +2021-03-19 Stefan Monnier + + Fix copyright lines mistakenly treated as outline headers + + * lisp/emacs-lisp/generator.el: + * test/lisp/cedet/semantic-utest.el: + * test/lisp/cedet/semantic/format-tests.el: + * test/lisp/cedet/semantic/fw-tests.el: + * test/lisp/cedet/semantic/bovine/gcc-tests.el: + * test/lisp/cedet/semantic/format-resources/test-fmt.el: + * test/manual/cedet/semantic-tests.el: + * lisp/obsolete/inversion.el: Use only 2 semi-colons before "Copyright". + +2021-03-19 Stefan Monnier + + lisp/erc: Use lexical-binding + + Also remove various redundant `:group` arguments. + + * lisp/erc/erc-backend.el (define-erc-response-handler): Move `declare` + after the docstring. + + * lisp/erc/erc-capab.el: Use lexical-binding. + (erc-capab-identify-activate): Simplify with `member`. + + * lisp/erc/erc-dcc.el (erc-dcc): Move before erc-dcc-mode definition, + which refers to it. + (erc-dcc-chat-accept): Remove unused vars `nick` and `buffer`. + + * lisp/erc/erc-imenu.el: Use lexical-binding. + (erc-create-imenu-index): Remove unused var `prev-pos`. + + * lisp/erc/erc-match.el: Use lexical-binding. + (erc-match-message): Remove unused var `old-pt`. + (erc-match-message): Strength-reduce `eval` to `symbol-value`. + + * lisp/erc/erc-page.el: Use lexical-binding. + (erc-page): Move Custom group before `erg-page-mode` which refers to it. + + * lisp/erc/erc-replace.el: Use lexical-binding. + (erc-replace-insert): Use `functionp`. + + * lisp/erc/erc-status-sidebar.el: Use lexical-binding. + (erc-status-sidebar-open): Remove unused var `sidebar-window`. + + * lisp/erc/erc.el: Fix header to use the customary 3 semi-colons. + (erc-fill-column): Declare variable. + + * lisp/erc/erc-autoaway.el: Use lexical-binding. + * lisp/erc/erc-ezbounce.el: Use lexical-binding. + * lisp/erc/erc-fill.el: Use lexical-binding. + * lisp/erc/erc-goodies.el: Use lexical-binding. + * lisp/erc/erc-ibuffer.el: Use lexical-binding. + * lisp/erc/erc-identd.el: Use lexical-binding. + * lisp/erc/erc-join.el: Use lexical-binding. + * lisp/erc/erc-lang.el: Use lexical-binding. + * lisp/erc/erc-log.el: Use lexical-binding. + * lisp/erc/erc-menu.el: Use lexical-binding. + * lisp/erc/erc-netsplit.el: Use lexical-binding. + * lisp/erc/erc-networks.el: Use lexical-binding. + * lisp/erc/erc-pcomplete.el: Use lexical-binding. + * lisp/erc/erc-ring.el: Use lexical-binding. + * lisp/erc/erc-speedbar.el: Use lexical-binding. + * lisp/erc/erc-spelling.el: Use lexical-binding. + * lisp/erc/erc-truncate.el: Use lexical-binding. + * lisp/erc/erc-xdcc.el: Use lexical-binding. + +2021-03-19 Stefan Kangas + + Do interactive mode tagging for finder.el + +2021-03-19 Stefan Kangas + + Use lexical-binding in finder.el + + * lisp/finder.el: Use lexical-binding. + (finder-mode-map, finder-compile-keywords): Remove unused lexical + variables. + +2021-03-19 Stefan Kangas + + Fix a warning due to not preloading facemenu.el + + * test/src/undo-tests.el (facemenu): Require. + +2021-03-18 Stefan Kangas + + * lisp/faces.el (help-key-binding): Tweak background. + +2021-03-18 Basil L. Contovounesios + + Fix frame-inner-height in non-GUI builds + + Include tab bar in frame's inner height in non-GUI builds that don't + define tab-bar-height. This is consistent with the inclusion of the + menu bar in the calculated height. It is also consistent with TTY + frames of GUI builds, for which tab-bar-height is always zero + anyway (bug#47234). Fix suggested by Eli Zaretskii . + + * lisp/frame.el (frame-inner-height): Don't assume tab-bar-height is + defined in builds --without-x. + +2021-03-18 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Optimize the "return nil" case + +2021-03-18 Stefan Monnier + + * test/lisp/progmodes/cperl-mode-tests.el: Silence warnings + + (cperl-test-bug-47112): Actually obey the major-mode for the test. + +2021-03-18 Juri Linkov + + * lisp/newcomment.el: Allow 'comment-continue' with whitespace (bug#47167) + + * lisp/newcomment.el (comment-region-default-1): Still use 'comment-continue' + as a string with whitespace even when 'comment-padright' returns nil. + +2021-03-18 Juri Linkov + + * lisp/simple.el (next-error-quit-window): New function (bug#44611). + + (next-error-found-function): Add it as a choice. + +2021-03-18 Glenn Morris + + * admin/make-tarball.txt: Be kind to people merging branches. + +2021-03-18 Glenn Morris + + Merge from origin/emacs-27 + + d5b160d7cc (tag: emacs-27.2-rc1, origin/emacs-27) Prepare the Emacs 2... + 216bd67a4f ; * admin/make-tarball.txt: Advise to remove stale subdire... + + # Conflicts: + # ChangeLog.3 + # README + # configure.ac + # etc/AUTHORS + # etc/NEWS + # lisp/ldefs-boot.el + # msdos/sed2v2.inp + # nt/README.W32 + +2021-03-18 Glenn Morris + + Merge from origin/emacs-27 + + a7f95d5244 Remove duplicate @table item from ELisp manual + be1b3512f7 Fix reference to 'diff-font-lock-syntax' in diff-mode docu... + +2021-03-18 Glenn Morris + + Merge from origin/emacs-27 + + f60eb988f6 Fix typos and omissions for (elisp)Button Buffer Commands + 876b95bf90 Teach Rmail about NBSP in "Re:" + + # Conflicts: + # lisp/mail/rmail.el + +2021-03-18 Eli Zaretskii + + Prepare the Emacs 27.2 release. + + * etc/HISTORY: Update for Emacs 27.2. + + * README: + * configure.ac: + * nt/README.W32: + * msdos/sed2v2.inp: Set version to 27.2 + +2021-03-18 Mattias Engdeg奪rd + + Optimise tail calls in `and` and `or` forms in `cl-labels` functions + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Handle `and` and `or`. + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + Add test cases. + +2021-03-18 Michael Albinus + + Extend handled events in 'while-no-input-ignore-events' (Bug#47205) + + * etc/NEWS: Mention changes to 'while-no-input-ignore-events'. + + * src/keyboard.c (kbd_buffer_store_buffered_event): Handle also + Qfile_notify and Qdbus_event as ignore_event. (Bug#47205) + +2021-03-18 Stefan Kangas + + Add comint-password-prompt-regexp test for "zip -e ..." + + * test/lisp/comint-tests.el (comint-testsuite-password-strings): + Add test for "zip -e ...". (Bug#47209) + +2021-03-18 Lars Ingebrigtsen + + Compute chart-face-list dynamically + + * lisp/emacs-lisp/chart.el (chart-face-list): Allow a function as + the value (bug#47133) so that we can compute the faces dynamically + on different displays. + (chart--face-list): New function. + (chart-draw-data): Use it. + +2021-03-18 Lars Ingebrigtsen + + Document that `buffer-string' retains text properties + + * doc/lispref/text.texi (Buffer Contents): Mention text properties + in the `buffer-string' documentation. + * src/editfns.c (Fbuffer_string): Mention text properties in the + doc string (bug#47220). + + (cherry picked from commit 60af754170f22f5d25510af069ed0ebfec95f992) + +2021-03-18 Lars Ingebrigtsen + + Fix breaking undo-test + +2021-03-18 Lars Ingebrigtsen + + Make "not found" message in dictionary less misleading + + * lisp/net/dictionary.el (dictionary-do-search): Don't say there + are more words when there aren't (bug#47056). + +2021-03-18 Lars Ingebrigtsen + + Make memory-report work with buffer-local unbound vars + + * lisp/emacs-lisp/memory-report.el (memory-report--buffer-data): + Protect against buffer-local unbound variables (bug#47057). + +2021-03-18 Lars Ingebrigtsen + + Fix sorting in speedbar sub-groups + + * lisp/speedbar.el (speedbar-prefix-group-tag-hierarchy): Sort + entries in sub-groups (bug#47073). + +2021-03-18 Gabriel do Nascimento Ribeiro + + lisp/cedet/pulse.el: Use color.el + + * lisp/cedet/pulse.el: (pulse-int-to-hex): Remove function. + (pulse-color-values-to-hex): Remove function. + (pulse-lighten-highlight): Remove function. + (pulse-momentary-iteration): Add variable. + (pulse-momentary-highlight-overlay): Use color-gradient from color.el. + (pulse-tick): Receive colors and update overlay background (bug#47083). + +2021-03-18 Harald J旦rg + + cperl-mode: Don't interpret y_ as start of y// function. + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid + treating underscores as word-terminators. + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-bug-47112): Test case for that bug (bug#47112). + +2021-03-18 Gabriel do Nascimento Ribeiro + + Fix uniquify-trailing-separator-p + uniquify-strip-common-suffix + + (uniquify-item): New slot 'original-dirname'. + (uniquify-rationalize-file-buffer-names): Use new slot. + (uniquify-rationalize): Use new slot. + (uniquify-get-proposed-name): New optional argument 'original-dirname' + to properly add a trailing separator when the corresponding user option + is set and the dirname is an existing directory (bug#47132). + +2021-03-18 Lars Ingebrigtsen + + Fix problem of trashing files to an inconsistent trash directory + + * lisp/files.el (move-file-to-trash): Allow moving files to trash + even if there's a file in trash with the same name (but no entry + in info) (bug#47135). + +2021-03-18 Lars Ingebrigtsen + + Autoload 'mouse-wheel-mode' + + * lisp/mwheel.el (mouse-wheel-mode): Autoload, since the mode can + be used (but isn't preloaded) when there isn't any window system + (bug#47162). + +2021-03-18 Lars Ingebrigtsen + + Recognise "Verify password" as a password prompt + + * lisp/comint.el (comint-password-prompt-regexp): Also react to + "Verify password" (output by "zip -e") (bug#47209). + +2021-03-18 Lars Ingebrigtsen + + Document that `buffer-string' retains text properties + + * doc/lispref/text.texi (Buffer Contents): Mention text properties + in the `buffer-string' documentation. + * src/editfns.c (Fbuffer_string): Mention text properties in the + doc string (bug#47220). + +2021-03-18 Lars Ingebrigtsen + + Don't pre-load facemenu + + * lisp/facemenu.el (facemenu-add-face-function): Move to avoid a + compilation warning. + (facemenu-color-alist): Made obsolete. + + * lisp/faces.el (read-color): Don't use it. + + * lisp/loadup.el ("emacs-lisp/syntax"): Don't load facemenu. + + * lisp/wid-edit.el (color): Don't use facemenu-color-alist. + (widget-color--choose-action): Require facemenu. + (widget-color-action): Ditto. + + * lisp/progmodes/cperl-mode.el (facemenu): Require. + + * lisp/textmodes/sgml-mode.el (facemenu): Require. + +2021-03-18 Lars Ingebrigtsen + + Unbind `M-o' and add new `C-x x f' binding + + * doc/lispref/modes.texi (Other Font Lock Variables): + `font-lock-fontify-block' is no longer bound. + * lisp/bindings.el (ctl-x-x-map): Bind `font-lock-update'. + + * lisp/font-lock.el (font-lock-update): New command written by + Gregory Heytings . + + * lisp/loadup.el: Remove transitional experimental code. + +2021-03-18 Stefan Monnier + + * lisp/textmodes: Use lexical-binding + + * lisp/textmodes/enriched.el: Use lexical-binding. + (enriched-mode): Use `delete-dups` to avoid `add-to-list` on + a local variable. + + * lisp/textmodes/makeinfo.el: Use lexical-binding. + (makeinfo-region): Remove unused var `filename-or-header`. + + * lisp/textmodes/refbib.el: Use lexical-binding. + (r2b-put-field): Remove unused var `multi-line`. + (r2b-barf-output): Remove unused var `match`. + + * lisp/textmodes/refer.el: Use lexical-binding. + (refer-find-entry-internal): Remove unused vars `old-buffer` and `found`. + + * lisp/textmodes/reftex-auc.el: Use lexical-binding. + (LaTeX-add-bibitems): Declare function. + (reftex-plug-into-AUCTeX): Use `add-function` and `advice-add` so we + can properly unplug. + + * lisp/textmodes/reftex-cite.el: Use lexical-binding. + (reftex-create-bibtex-file): Remove unused var `file`. + (reftex--found-list): Declare var. + (reftex-offer-bib-menu): Rename local var to `reftex--found-list`. + + * lisp/textmodes/reftex-dcr.el: Use lexical-binding. + (reftex-use-itimer-in-xemacs): Delete XEmacs-only var. + (reftex-toggle-auto-view-crossref): Delete XEmacs-only code. + (reftex-start-itimer-once): Delete XEmacs-only function. + + * lisp/textmodes/reftex-global.el: Use lexical-binding. + (reftex-isearch-push-state-function): Use a closure instead of `(lambda). + + * lisp/textmodes/reftex-index.el: Use lexical-binding. + (mark-active, transient-mark-mode): Delete var declarations. + (reftex-index-mode-map): Remove XEmacs-only code. + Use `mapc` so we can use closures instead of hand-built lambdas. + (reftex-index-next, reftex-index-previous): Tweak interactive spec to + remove unused prefix arg and mark it as a motion command. + (reftex-index-phrases-font-lock-keywords) + (reftex-index-phrases-font-lock-keywords): Move initialization into + declaration. + (reftex-index-initialize-phrases-buffer, reftex-index-phrases-mode) + reftex-index-phrases-apply-to-region: Remove XEmacs-only code. + (TeX-master): Remove redundant declaration. + (reftex--chars-first): Rename dynvar from `chars-first`. Adjust all uses. + + * lisp/textmodes/reftex-parse.el: Use lexical-binding. + + * lisp/textmodes/reftex-ref.el: Use lexical-binding. + (reftex-label): Remove always-nil var `text`. + (reftex-refstyle): Declare before first use. + (): Use closures rather than `eval` when building commands from + `reftex-ref-style-alist`. + + * lisp/textmodes/reftex-sel.el: Use lexical-binding. + (reftex-select-label-mode-map, reftex-select-bib-mode-map): + Use `mapc` so we can use closures instead of hand-built lambdas. + (reftex-select-label-mode, reftex-select-bib-mode): Remove XEmacs-only code. + (reftex-select-data, reftex-select-prompt, reftex-refstyle): + Move declaration before first use. + (reftex--found-list, reftex--cb-flag, reftex--last-data) + (reftex--call-back, reftex--help-string): Move declaration before use, + and rename by adding `reftext--` prefix. Adjust all uses in this file. + For `reftex--found-list` adjust corresponding uses in `reftex-cite.el`. + (reftex-select-item): Explicitly let-bind them. + Remove XEmacs-only code. + + * lisp/textmodes/reftex-toc.el: Use lexical-binding. + (reftex-toc-mode-map, reftex-toc-mode, reftex-toc-restore-region) + (reftex-toc-next, reftex-toc-previous, reftex-toc-next-heading) + (reftex-toc-previous-heading, reftex-toggle-auto-toc-recenter + (reftex-make-separate-toc-frame): Remove XEmacs-only code. + + * lisp/textmodes/reftex-vars.el: Use lexical-binding. + + * lisp/textmodes/reftex.el: Use lexical-binding. + (reftex-mode-map, reftex-mode, reftex-fontify-select-label-buffer) + (reftex-verified-face): Remove XEmacs-only code. + (reftex-region-active-p, reftex-overlay-put, reftex-move-overlay) + (reftex-make-overlay, reftex-get-buffer-visiting, reftex-delete-overlay): + Redefine as obsolete aliases. Replace all callers. + (current-message): Remove XEmacs-only definition. + + * lisp/textmodes/remember.el: Use lexical-binding. + + * lisp/textmodes/table.el (): Use closures rather than `(lambda) + to build commands. + + * lisp/textmodes/texinfmt.el: Use lexical-binding. + (texinfo-example-start): Declare var. + (texinfo-format-region, texinfo-format-buffer-1): Remove unused var + `last-input-buffer`. + (texinfo-format-scan): Use `dlet` to bind `whitespace-silent`. + (texinfo-optional-braces-discard, texinfo-format-parse-line-args) + (texinfo-format-parse-args): Remove unused var `start`. + (texinfo-multitable-widths): Remove unused var `start-of-templates`. + (texinfo-multitable-item): Strength-reduce `eval` to `symbol-value`. + (texinfo-alias): Remove unused vars `start` and `args`. + (texinfo-defun-type symbol-property): Change the car to help the type + symbol rather than an expression returning it. + (texinfo-format-deffn): Remove corresponding `eval`. + (texinfo-clear): Remove unused var `value`. + (texinfo-format-ifeq): Remove unused var `end`. + + * lisp/textmodes/texinfo.el: Use lexical-binding. + (tex-show-print-queue): Declare function. + + * lisp/textmodes/texnfo-upd.el: Use lexical-binding. + (texinfo-start-menu-description): Remove unused var `end`. + (texinfo-insert-node-lines): Remove unused var `beginning-marker`. + (texinfo-multiple-files-update): Remove unused vars `next-node-name` + and `previous-node-name`. + + * lisp/textmodes/two-column.el: Use lexical-binding. + +2021-03-18 Dmitry Gutov + + Leave signaling the exact error to cl-generic's internals + + * lisp/progmodes/project.el (project-root): Extract default + definition to a new method, predicated on a context + (https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00771.html). + +2021-03-18 Stefan Monnier + + * lisp/emacs-lisp/benchmark.el (benchmark-call): New function + + (benchmark-run, benchmark-run-compiled, benchmark): Use it. + (benchmark--adaptive): New internal function. + +2021-03-17 Juri Linkov + + * lisp/tab-line.el: Face cleanup. + +2021-03-17 Juri Linkov + + * lisp/tab-bar.el: New faces and face options. + + * lisp/tab-bar.el (tab-bar-tab-group-current) + (tab-bar-tab-group-inactive, tab-bar-tab-ungrouped): New deffaces. + (tab-bar-tab-face-function): New defcustom. + (tab-bar-tab-face-default): New function. + (tab-bar-tab-name-format-default): Use it. + (tab-bar-tab-group-format-default): Use tab-bar-tab-group-inactive face. + (tab-bar-tab-group-face-function): New defcustom. + (tab-bar-tab-group-face-default): New function. + (tab-bar--format-tab-group): Add new arg 'current-p'. + (tab-bar-format-tabs-groups): Prepend current group name before first tab. + Override tab-bar-tab-face-function with tab-bar-tab-group-face-function. + +2021-03-17 Dmitry Gutov + + Stop project-root from going into infinite recursion + + * lisp/progmodes/project.el (project--within-roots-fallback): + New variable. + (project-root, project-roots): Use it (bug#47168). + +2021-03-17 Fabrice Bauzac + + Remove duplicate @table item from ELisp manual + + * doc/lispref/objects.texi (Special Read Syntax): Remove duplicate + item "#@N" from the table of Special Read Syntax. (Bug#47200) + +2021-03-16 Juri Linkov + + New commands xref-next-line-no-show and xref-prev-line-no-show (bug#44611) + + * lisp/progmodes/xref.el (xref-next-line-no-show) + (xref-prev-line-no-show): New commands. + (xref-next-line, xref-prev-line): Use them. + +2021-03-16 Juri Linkov + + Minor fixes + + * lisp/frame.el (set-frame-property--interactive): Remove '(point)' + that makes no sense as the default value. (Bug#9970) + + * lisp/simple.el (next-error-found-function): Move defcustom + closer to function 'next-error-found' where it's used. + +2021-03-16 Andrea Corallo + + Fix `no-byte-compile' native compilation interaction (bug#47169) + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Throw + no-native-compile when `byte-native-qualities' are null. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): No need + to consider `no-byte-compile'. + +2021-03-16 Juri Linkov + + * lisp/tab-bar.el (tab-bar-select-tab): Support negative arg. + +2021-03-16 Juri Linkov + + * lisp/tab-bar.el: Simplify internal functions. + + * lisp/tab-bar.el (tab-bar-tabs-set): New function. + (tab-bar-tabs): Use tab-bar--current-tab-find and tab-bar-tabs-set. + (tab-bar--tab): Use tab-bar--current-tab-find. + (tab-bar--current-tab): Remove unused line (assq 'current-tab ...) + because there is no current-tab when it's called. Remove unused arg 'frame'. + (tab-bar--current-tab-find): Simplify. + (tab-bar-move-tab-to, tab-bar-move-tab-to-frame) + (tab-bar-new-tab-to, tab-bar-close-tab) + (tab-bar-close-other-tabs, tab-bar-undo-close-tab) + (tab-switcher-delete-from-list): Use tab-bar-tabs-set + instead of set-frame-parameter. + (tab-bar-close-group-tabs): Simplify using tab-bar--current-tab-find + without arg. + +2021-03-16 Michael Albinus + + Fix problem of image-tests.el on emba + + * test/README: Mention $EMACS_TEST_DIRECTORY. + + * test/lisp/image-tests.el (image-tests--emacs-images-directory): + Use `data-directory', for runs w/o of make. + (image-type/from-filename): Check for `image-load-path'. + +2021-03-16 Michael Albinus + + Fix problem in Tramp running two async processes in parallel + + * lisp/net/tramp-integration.el + (tramp-compile-disable-ssh-controlmaster-options): New defun. Add + it to `compilation-mode-hook'. (Bug#45518) + + * lisp/progmodes/compile.el (compilation-get-file-structure): + Revert commit 4ce5646d59, it isn't needed. + +2021-03-16 Stefan Monnier + + * etc/themes/modus-themes.el: Bump version for GNU ELPA release + + (News:): New section. + +2021-03-16 Andrea Corallo + + Have `no-byte-compile' implies also `no-native-compile'. + + * lisp/emacs-lisp/comp.el (no-native-compile): Update doctring. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): when + `no-byte-compile' is set to non-nil it overrides this. + +2021-03-16 Daniel Mart鱈n + + Add minibuffer input support to commands that set the frame size + + * lisp/frame.el (set-frame-property--interactive): Internal function to + produce the interactive form of `set-frame-width' and + `set-frame-height'. Offer the current size as default. (Bug#9970) + * src/frame.c (Fset_frame_height): Modify to call + `set-frame-property--interactive'. + (Fset_frame_width): Modify to call `set-frame-property--interactive'. + * doc/lispref/frames.texi (Frame Size): Update the manuals. + * etc/NEWS: Advertise the change (bug#9970). + +2021-03-15 Eli Zaretskii + + * lisp/emacs-lisp/byte-opt.el: Fix native re-compilation (bug#47161). + +2021-03-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab-group): New defcustom. + + (tab-bar--current-tab, tab-bar-new-tab-to, tab-bar-duplicate-tab): Use it. + +2021-03-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-tab-group-format-function): New defcustom. + + (tab-bar-tab-group-default): New function. + (tab-bar-tab-group-format-default, tab-bar-format-tabs-groups) + (tab-bar-change-tab-group, tab-bar-close-group-tabs): Use it. + +2021-03-15 Glenn Morris + + * CONTRIBUTE: Refer to gnulib for request-assign.future. + + The vast majority of the exchanges on this topic are "please send me + the form; ok I sent you the form", and there's no need to involve a + mailing list for that. + +2021-03-15 Andrea Corallo + + * lisp/emacs-lisp/bytecomp.el: Fix native re-compilation (bug#47161). + +2021-03-15 Eli Zaretskii + + Prefer expand-file-name to concat in native-compilation code + + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): + * src/comp.c (Fcomp_el_to_eln_filename) + (eln_load_path_final_clean_up): Prefer expand-file-name to concat. + (Bug#43725) + +2021-03-15 Protesilaos Stavrou + + Make the `kbd` macro work in both Emacs-26 and Emacs-28 + + This is so that elpa.gnu.org's Emacs-26 can successfully build the + Info version of it for the GNU ELPA package. + +2021-03-15 Michael Albinus + + Improve command completion in tramp-crypt.el + + * lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p): + Rename from `tramp-crypt-enabled-p'. Handle + `tramp-crypt-remove-directory' special. + +2021-03-15 Stefan Kangas + + * lisp/textmodes/refill.el: Use lexical-binding. + +2021-03-15 Stefan Monnier + + * lisp/cedet: Convert remaining files to lexical-binding + + Remove a few more redundant `:group` args. + Make use of lexical scoping to replace `(lambda...) with proper closures. + + * lisp/cedet/ede/custom.el (ede-project-sort-targets-list): + Use `dotimes` and replace `(lambda..) with closures. + + * lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once): + * lisp/cedet/ede/pmake.el (ede-pmake-insert-variable-once): + Remove unused var `addcr`. + + * lisp/cedet/semantic/complete.el: Use lexical-binding. + (semantic-displayer-show-request): Remove unused var `typing-count`. + Use `equal` instead of `stringp+string=`. + + * lisp/cedet/semantic/db-ebrowse.el: Use lexical-binding. + (semanticdb-create-ebrowse-database): Remove unused vars `mma` and `regexp`. + (semanticdb-ebrowse-strip-trees): Remove unused var `class` and `filename`. + (semanticdb-ebrowse-add-globals-to-table): Remove unused var `fname`. + + * lisp/cedet/semantic/db-find.el: Use lexical-binding. + (semanticdb-find-adebug-insert-scanned-tag-cons): Remove always-nil var + `tip`. + + * lisp/cedet/semantic/db-global.el: Use lexical-binding. + (semanticdb-enable-gnu-global-databases): Access local var + `semantic--ih` by sticking its value in the code passed to `eval` + rather than by dynamic scoping. + + * lisp/cedet/semantic/db-typecache.el: Use lexical-binding. + (semanticdb-db-typecache-dump): Remove unused var `junk`. + + * lisp/cedet/semantic/debug.el: Use lexical-binding. + + * lisp/cedet/semantic/dep.el: Use lexical-binding. + (semantic-add-system-include): Avoid `add-to-list` on a local variable. + Access local var `value` by sticking its value in the code passed to + `eval` rather than by dynamic scoping. + (semantic-remove-system-include): Don't use `delete` on a list received + from elsewhere. + Access local var `value` by sticking its value in the code passed to + `eval` rather than by dynamic scoping. + (semantic-reset-system-include): Simplify a bit. + + * lisp/cedet/semantic/ede-grammar.el: Use lexical-binding. + (project-compile-target): Remove unused vars `csrc` and `cb`. + Use `cl-incf`. Remove apparently unneeded `with-no-warnings`. + + * lisp/cedet/semantic/edit.el: Use lexical-binding. + (semantic-edits-change-over-tags): Remove unused var `inner-start`. + (semantic-edits-incremental-parser-1): Silence warnings about + intentionally unused var `last-cond`. + + * lisp/cedet/semantic/fw.el: Use lexical-binding. + (recentf-exclude, semantic-init-hook, ede-auto-add-method) + (flymake-start-syntax-check-on-find-file, auto-insert): Declare vars. + + * lisp/cedet/semantic/ia-sb.el: Use lexical-binding. + (semantic-ia-sb-key-map): Move initialization into declaration. + (semantic-ia-sb-more-buttons): Remove unused var `idx`. + (semantic-ia-sb-line-path): Simplify `if` -> `or`. + + * lisp/cedet/semantic/idle.el (semantic-idle-breadcrumbs--tag-function): + Make it a function returning a closure. + + * lisp/cedet/semantic/senator.el: Use lexical-binding. + (senator-search-set-tag-class-filter): Replace `(lambda..) with a closure. + + * lisp/cedet/semantic/sort.el: Use lexical-binding. + (semanticdb-search-system-databases): Declare var. + (semantic-tag-external-member-children-default): Replace `(lambda..) + with a closure. + + * lisp/cedet/semantic/tag-ls.el: Use lexical-binding. + (semantic-tag-protection-default, semantic-tag-abstract-p-default): + Simplify with `member`. + + * lisp/cedet/semantic/util.el: Use lexical-binding. + (semantic-something-to-tag-table): Declare function + `semanticdb-abstract-table--eieio-childp` called via `cl-typep`. + + * lisp/cedet/semantic/bovine/scm.el (semantic-default-scheme-setup): + Remove duplicate setting of `imenu-create-index-function`. + + * lisp/cedet/semantic/decorate/mode.el (semantic-decoration-build-style-menu): + Replace `(lambda..) with a closure. + + * lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict): + Remove always-t variable `member`. + + * lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu): + Replace `(lambda..) with a closure. Use `push`. + + * lisp/cedet/semantic/chart.el: Use lexical-binding. + * lisp/cedet/semantic/db-debug.el: Use lexical-binding. + * lisp/cedet/semantic/db-el.el: Use lexical-binding. + * lisp/cedet/semantic/db-file.el: Use lexical-binding. + * lisp/cedet/semantic/db-javascript.el: Use lexical-binding. + * lisp/cedet/semantic/db-mode.el: Use lexical-binding. + * lisp/cedet/semantic/db-ref.el: Use lexical-binding. + * lisp/cedet/semantic/decorate.el: Use lexical-binding. + * lisp/cedet/semantic/doc.el: Use lexical-binding. + * lisp/cedet/semantic/find.el: Use lexical-binding. + * lisp/cedet/semantic/format.el: Use lexical-binding. + * lisp/cedet/semantic/html.el: Use lexical-binding. + * lisp/cedet/semantic/ia.el: Use lexical-binding. + * lisp/cedet/semantic/imenu.el: Use lexical-binding. + * lisp/cedet/semantic/java.el: Use lexical-binding. + * lisp/cedet/semantic/mru-bookmark.el: Use lexical-binding. + * lisp/cedet/semantic/symref.el: Use lexical-binding. + * lisp/cedet/semantic/tag-file.el: Use lexical-binding. + * lisp/cedet/semantic/tag-write.el: Use lexical-binding. + * lisp/cedet/semantic/texi.el: Use lexical-binding. + * lisp/cedet/semantic/util-modes.el: Use lexical-binding. + +2021-03-15 Gabriel do Nascimento Ribeiro + + Init archive and add noconfirm to 'package-install-selected-packages' + + * lisp/emacs-lisp/package.el (package-install-selected-packages): + Add call to 'package--archives-initialize' and add optional argument + NOCONFIRM to skip user confirmation when installing packages. (Bug#47124) + +2021-03-15 Stefan Kangas + + * lisp/vc/ediff-vers.el: Remove XEmacs compat code. + +2021-03-15 Stefan Kangas + + Use lexical-binding in expand.el + + * lisp/expand.el: Use lexical-binding. Remove redundant :group args. + +2021-03-15 Stefan Kangas + + * lisp/help-macro.el: Use lexical-binding. + +2021-03-15 Stefan Kangas + + Add three new tests for image.el + + * test/lisp/image-tests.el (image-find-image) + (image-type-from-file-name, image-type/from-filename): New tests. + +2021-03-15 Stefan Kangas + + * lisp/wid-edit.el (widget-field): Add subtle border to face. + +2021-03-14 Andrea Corallo + + Fix some entry in `comp-known-type-specifiers' (bug#46847) + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some + fix. + * test/src/comp-tests.el (comp-tests-46670-1): Update test. + +2021-03-14 Pip Cet + + Don't call setjmp through a function pointer on Windows (bug#47067) + + * src/comp.c (ABI_VERSION): Bump. + (emit_setjmp): Call setjmp directly. + (declare_runtime_imported_funcs): Remove setjmp. + (helper_link_table): Remove entry for setjmp. + +2021-03-14 Stefan Monnier + + Revert "* lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions`" + + This reverts commit 587a97bcb23bc6ea429ab790efa03f2260a9bca8. + We really do want to affect the global part of the hook. + Reported by Gabriel . + +2021-03-14 Eli Zaretskii + + Fix hang due to failure to clean up *.eln.old files at exit + + * src/comp.c (eln_load_path_final_clean_up): Call + internal_delete_file, not Fdelete_file, to ignore any errors. + (Bug#46972) + +2021-03-14 Juri Linkov + + * lisp/tab-bar.el: Tab groups can be displayed with tab-bar-format-tabs-groups + + * lisp/tab-bar.el (tab-bar-format): Turn defvar into defcustom. + Add :options and force-mode-line-update in :set. + (tab-bar--format-tab): New function refactored from tab-bar-format-tabs. + (tab-bar-format-tabs): Move most of code to tab-bar--format-tab and call it. + (tab-bar-tab-group-format-function): New defcustom. + (tab-bar-tab-group-format-default): New function. + (tab-bar--format-tab-group, tab-bar-format-tabs-groups): New functions. + (tab-bar-format-align-right, tab-bar-format-global): Shorten id. + (tab-bar-change-tab-group): Add refs to tab-bar-format in docstring. + +2021-03-14 Gabriel do Nascimento Ribeiro + + * lisp/tab-line.el: Update docstring of 'tab-line-tabs-function' (bug#47117) + + (tab-line-tabs-function): Mention 'tab-line-tabs-buffer-groups' + in the docstring. + (tab-line-tabs-buffer-groups): Add docstring. + +2021-03-14 Gabriel do Nascimento Ribeiro + + * lisp/tab-line.el: Add face for group-tab (bug#47118) + + (tab-line-tab-face-functions): Add choice for 'tab-line-tab-face-group'. + (tab-line-tab-group): New face. + (tab-line-tabs-buffer-groups): Set alist key 'group-tab' for group tabs. + (tab-line-tab-face-group): New function to set face for group tabs. + +2021-03-14 Michael Albinus + + * lisp/net/tramp-crypt.el (tramp-crypt-add-directory): + + Don't autoload setting property `completion-predicate'. + +2021-03-14 Daniel Mart鱈n + + Fix reference to 'diff-font-lock-syntax' in diff-mode documentation + + * doc/emacs/files.texi (Diff Mode): Add the omitted name of the + variable. (Bug#47129) + +2021-03-14 Alan Third + + Fix buffer overflow in xbm_scan (bug#47094) + + * src/image.c (xbm_scan): Ensure reading a string doesn't overflow the + buffer. + + (cherry picked from commit ebc3b25409dd614c1814a0643960452683e37aa3) + +2021-03-13 Alan Third + + Fix buffer overflow in xbm_scan (bug#47094) + + * src/image.c (xbm_scan): Ensure reading a string doesn't overflow the + buffer. + +2021-03-13 Juri Linkov + + Separate values 'override' and 'append' in 'outline-minor-mode-highlight' + + * lisp/outline.el (outline-font-lock-keywords): Handle 'override' and 'append' + separately. + (outline-minor-mode-highlight): Separate values 'override' and 'append'. + (outline-minor-mode-highlight-buffer): Go to match-beginning + before checking '(point)'. + +2021-03-13 Stefan Kangas + + Add help-key-binding styling to wombat theme + + * etc/themes/wombat-theme.el (help-key-binding): Add face + definition. + +2021-03-13 Eli Zaretskii + + Fix rare redisplay glitches when image has been removed from display + + * src/dispnew.c (update_window): Make sure all glyph rows below + the last visible one are marked as invalid, even when the loop + which "updates the rest of the lines" didn't examine the last + visible row. (Bug#47093) + +2021-03-13 Stefan Kangas + + Adjust colors of help-key-binding face for readability + + * lisp/faces.el (help-key-binding): Adjust colors for improved + readability, and use a flat :box for highlighting (with negative + :line-width height to avoid any vertical resizing of the minibuffer). + + This was discussed in: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00535.html + +2021-03-13 Michael Albinus + + Remove ;;;###tramp-autoload cookie from Tramp defcustoms (Bug#47063) + + * lisp/net/tramp-crypt.el (tramp-crypt-enabled-p): New defun. + (tramp-crypt-add-directory, tramp-crypt-remove-directory): + Add property `completion-predicate'. + + * lisp/net/tramp-sh.el (tramp-terminal-type, tramp-remote-path) + (tramp-remote-process-environment): Remove. Move them to ... + + * lisp/net/tramp.el: ... here. + +2021-03-13 Eli Zaretskii + + Extend support for faces in Enriched mode + + * lisp/textmodes/enriched.el (enriched-face-ans): Support faces + with bold and italic attributes. (Bug#46507) + +2021-03-13 Matt Armstrong + + Fix typos and omissions for (elisp)Button Buffer Commands + + * doc/lispref/display.texi (Button Buffer Commands): Minor + typo and omission fixes `backward-button' and + `forward-button'. (Bug#47051) + +2021-03-13 Eli Zaretskii + + Teach Rmail about NBSP in "Re:" + + * lisp/mail/rmail.el (rmail-simplified-subject) + (rmail-reply-regexp): Allow NBSP in "RE:" prefixes. + +2021-03-12 Andrea Corallo + + * Fix circular dependecy when loading a modified comp.el (bug#47049) + + * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Move it + before other functional code. + +2021-03-12 Stefan Monnier + + * src/keyboard.c parse_solitary_modifier): Accept `click` modifier + +2021-03-12 Yuan Fu + + Fix simple-tests--undo* + + * test/lisp/simple-tests.el (simple-tests--undo-in-region, + simple-tests--undo-equiv-table): Re-enable in batch mode. + Enable 'transient-mark-mode' in temp buffer. + +2021-03-12 Stefan Monnier + + * lisp/filesets.el: Address byte-compiler warning + + (filesets-run-cmd): Let-bind `filesets--files`. + (filesets-cmd-isearch-getargs): Use it. + +2021-03-12 Glenn Morris + + * lisp/tooltip.el (tooltip): Restore group that was not "redundant". + +2021-03-12 Glenn Morris + + Merge from origin/emacs-27 + + 02a5cfce47 (origin/emacs-27) * lisp/mouse.el: Fix mouse-1-clock-follo... + c881e990e3 * lisp/emacs-lisp/gv.el (edebug-after): Don't run the gett... + +2021-03-12 Glenn Morris + + Merge from origin/emacs-27 + + fc83f37951 Fix initialization of 'while-no-input-ignore-events' + 8f603da44c Update documentation of reading passwords + +2021-03-12 Glenn Morris + + Merge from origin/emacs-27 + + 2c5f215419 Avoid crashes in Mew due to corrupted tool-bar label + 7a23915618 * lisp/tooltip.el (tooltip): Doc fix for GTK. + c4bbe02cc4 * lisp/help.el (help-for-help-internal): Doc fix; use impe... + + # Conflicts: + # lisp/help.el + # lisp/tooltip.el + +2021-03-12 Glenn Morris + + Skip recent undo tests in batch mode for now + + * test/lisp/simple-tests.el (simple-tests--undo-in-region): + Split into separate test. Skip in batch mode for now. + (simple-tests--undo-equiv-table): Skip in batch mode for now. + +2021-03-12 Stefan Monnier + + * lisp/cedet/{*.el,ede/*.el}: Use lexical-binding + + Remove a few redundant `:group` arguments as well. + + * lisp/cedet/ede.el: Use lexical-binding. + Don't load `ede/files` at compile-time. + (ede-speedbar): Declare function. + (ede-load-project-file): Allow `rootreturn` to be a reference rather + than a symbol. + (ede-initialize-state-current-buffer): Pass `ROOT` as a reference + rather than a symbol to `ede-directory-get-open-project` and + `ede-load-project-file` so we don't need to make it dynamically scoped. + (ede-flush-deleted-projects): Avoid `add-to-list` on a local var. + + * lisp/cedet/ede/files.el: Use lexical-binding. + (ede-directory-get-open-project): Allow `rootreturn` to be a reference + rather than a symbol. + (ede-project-root-directory): Remove unused var `root`. + (ede-expand-filename-impl): Remove unused vars `path` and `proj`. + + * lisp/cedet/cedet-idutils.el: Use lexical-binding. + (cedet-idutils-search): Remove always-nil variable `scopeflags`. + + * lisp/cedet/data-debug.el: Use lexical-binding. + (data-debug-insert-overlay-button, data-debug-insert-overlay-list-button) + (data-debug-insert-buffer-button, data-debug-insert-buffer-list-button) + (data-debug-insert-process-button): Remove always-nil variable `tip`. + (data-debug-insert-ring-button): Remove unused var `ringthing`. + (data-debug-insert-widget-properties): Remove unused var `type`. + + * lisp/cedet/semantic.el: Use lexical-binding. + (semantic-mode): Strength-reduce `eval` to `symbol-value`. + + * lisp/cedet/ede/custom.el: Use lexical-binding. + (ede-project-sort-targets): Remove unused vars `count`, `current`, and + `order`. + + * lisp/cedet/ede/pconf.el: Use lexical-binding. + (ede-proj-configure-synchronize): Remove unused var `add-missing`. + + * lisp/cedet/ede/pmake.el (ede-proj-makefile-garbage-patterns): + Simplify via 侶-reduction. + (ede-proj-makefile-dependencies): Use `seq-some` rather than `eval+or`. + + * lisp/cedet/ede/proj-elisp.el: Use lexical-binding. + (project-compile-target): Remove unused var `elc`. + (ede-update-version-in-source): Remove unused var `match`. + (project-compile-target): Declare function `cedet-update-autoloads` + from file we don't have. + + * lisp/cedet/cedet-cscope.el: Use lexical-binding. + * lisp/cedet/cedet-files.el: Use lexical-binding. + * lisp/cedet/cedet-global.el: Use lexical-binding. + * lisp/cedet/cedet.el: Use lexical-binding. + * lisp/cedet/ede/auto.el: Use lexical-binding. + * lisp/cedet/ede/autoconf-edit.el: Use lexical-binding. + * lisp/cedet/ede/config.el: Use lexical-binding. + * lisp/cedet/ede/cpp-root.el: Use lexical-binding. + * lisp/cedet/ede/detect.el: Use lexical-binding. + * lisp/cedet/ede/generic.el: Use lexical-binding. + * lisp/cedet/ede/linux.el: Use lexical-binding. + * lisp/cedet/ede/locate.el: Use lexical-binding. + * lisp/cedet/ede/makefile-edit.el: Use lexical-binding. + * lisp/cedet/ede/proj-info.el: Use lexical-binding. + * lisp/cedet/ede/proj-obj.el: Use lexical-binding. + * lisp/cedet/ede/proj-prog.el: Use lexical-binding. + * lisp/cedet/ede/proj-shared.el: Use lexical-binding. + * lisp/cedet/ede/proj.el: Use lexical-binding. + * lisp/cedet/ede/shell.el: Use lexical-binding. + * lisp/cedet/ede/simple.el: Use lexical-binding. + * lisp/cedet/ede/source.el: Use lexical-binding. + * lisp/cedet/ede/speedbar.el: Use lexical-binding. + * lisp/cedet/ede/util.el: Use lexical-binding. + +2021-03-12 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-03-12 Michael Albinus + + Tramp sshfs fixes + + * doc/misc/tramp.texi (FUSE setup): Fix typo. + + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-set-file-modes): + Use `tramp-compat-set-file-modes'. + + * test/lisp/net/tramp-tests.el + (tramp-test43-asynchronous-requests): Don't run for tramp-sshfs. + +2021-03-12 Andrea Corallo + + Implement `no-native-compile' (bug#46983) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Capture + `no-native-compile'. + * lisp/emacs-lisp/comp.el (no-native-compile): Define new + variable. + (comp-spill-lap-function): Throw when `no-native-compile' was + captured non-nil. + (comp--native-compile): Catch `no-native-compile' if necessary and + return nil in case. + +2021-03-12 Robert Pluim + + Document how to create a branch for Git/Mercurial + + * doc/emacs/maintaining.texi (Creating Branches): Add instructions + for git/Mercurial. + +2021-03-12 Andrea Corallo + + * Fix error reporting for async native compilation (bug#47024) + + * lisp/emacs-lisp/comp.el (comp--native-compile): During async + compilation if we catch an error print it in a parsable way so we + can report it to the user. + +2021-03-12 Stefan Monnier + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Simplify (doh!) + +2021-03-12 Stefan Monnier + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Tune down the warning + + Don't warn for always-nil bindings if the binding is made explicit. + Fixes bug#47080. + +2021-03-12 Stefan Monnier + + * lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Use `macroexp-let2` + + This also silences the recently introduced compilation warning. + +2021-03-12 Lars Ingebrigtsen + + Rename to image--transform-smoothing in image-mode.el + + * lisp/image-mode.el (image--transform-smoothing): Rename from + image-transform-smoothing. + (image-transform-properties, image-transform-reset): Adjust usage. + +2021-03-12 Lars Ingebrigtsen + + Add a new `image-transform-smoothing' user option + + * doc/lispref/display.texi (Image Descriptors): Document it. + * lisp/image.el (image-transform-smoothing): New user option. + (create-image): Use it. + (image--default-smoothing): New function. + +2021-03-12 Lars Ingebrigtsen + + Fix compilation warning in python-wy.el after lexical rewrite + + * admin/grammars/python.wy: Require semantic/tag. + + In end of data: + cedet/semantic/wisent/python-wy.el:862:1: Warning: the function + `semantic-tag-name' might not be defined at runtime. + +2021-03-12 Lars Ingebrigtsen + + Make byte-compiled uses of `define-minor-mode' more compatible + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Be more + defensive about accessing minor mode variables. + +2021-03-11 Yuan Fu + + Map redo records for undo in region to 'undo-in-region + + * lisp/simple.el (undo-equiv-table): Add explaination for + undo-in-region, undo to the beginning of undo list and null undo. + (undo): If equiv is 'undo-in-region, empty or t, set pending-undo-list + to t. If the redo is undo-in-region, map buffer-undo-list to + 'undo-in-region instead of t, if it is an identity mapping, map to + 'empty. + (undo-make-selective-list): Only continue when ulist is a proper list. + * test/lisp/simple-tests.el (simple-tests--undo): Add test for + undo-only in region. + (simple-tests--sans-leading-nil): New helper function. + (simple-tests--undo-equiv-table): New test for 'undo-equiv-table'. + +2021-03-11 Stefan Monnier + + * lisp/mail/: Use lexical-binding + + Remove some redundant `:group` args as well. + + * lisp/mail/supercite.el: Use lexical-binding. + (completer-disable): Declare var. + (sc-set-variable): Don't rely on dynbind to access `help` variable. + + * lisp/mail/mail-extr.el: Use lexical-binding. + (mail-extract-address-components): Avoid use of dynamic scoping to + refer to local vars. + + * lisp/mail/mailabbrev.el: Use lexical-binding. + (mail-abbrev-make-syntax-table): Rename `_` variable to `syntax-_`. + + * lisp/mail/mailheader.el: Use lexical-binding. + (headers): Don't declare as dynbound globally. + (mail-header-set, mail-header-merge): Declare `headers` as dynbound + locally, instead. Mark those functions as obsolete. + (mail-header-format): Use `alist-get` instead of `mail-header`. + + * lisp/mail/binhex.el (binhex-decode-region-external): Remove always-nil + var `firstline`. + + * lisp/mail/emacsbug.el: Use lexical-binding. + (report-emacs-bug): Remove always-nil var `message-end-point`. + + * lisp/mail/rmail-spam-filter.el: Use lexical-binding. + (bbdb/mail_auto_create_p): Declare variable. + + * lisp/mail/rmail.el (rmail-get-new-mail): Remove always-nil var + `delete-files`. + + * lisp/mail/rmailout.el: Use lexical-binding. + (rmail-output-read-file-name): Remove unused var `err`. + (rmail-convert-to-babyl-format): Remove unused var `count`. + (rmail-output-as-mbox): Remove unused vars `from` and `date`. + + * lisp/mail/rmailsort.el: Use lexical-binding. + (rmail-sort-messages): Remove unused var `msginfo`. + + * lisp/mail/rfc822.el: Use lexical-binding. + * lisp/mail/rmailedit.el: Use lexical-binding. + * lisp/mail/mailclient.el: Use lexical-binding. + * lisp/mail/blessmail.el: Use lexical-binding. + * lisp/mail/mail-hist.el: Use lexical-binding. + * lisp/mail/rmailkwd.el: Use lexical-binding. + * lisp/mail/rmailmsc.el: Use lexical-binding. + * lisp/mail/uce.el: Use lexical-binding. + * lisp/mail/unrmail.el: Use lexical-binding. + +2021-03-11 Juri Linkov + + Update docstrings of 'delete'/'remove' to interlink each other (bug#47054) + + * lisp/subr.el (remove): Add xref to 'delete'. + * src/fns.c (Fdelete): Add xref to 'remove'. + +2021-03-11 Juri Linkov + + * lisp/tab-bar.el (tab-bar--current-tab-find): New function. + + (tab-bar-close-other-tabs, tab-bar-close-group-tabs): Use it. + (tab-bar--history-pre-change): Rename from + 'tab-bar-history--pre-change' to follow naming convention. + (tab-bar-history-mode): Use renamed 'tab-bar--history-pre-change'. + +2021-03-11 Paul Eggert + + On MS-Windows, fflush stderr after newline + + Problem reported by Ioannis Kappas (Bug#46388). + * src/sysdep.c (errputc) [WINDOWSNT]: Flush stderr after newline. + +2021-03-11 Stefan Monnier + + * lisp/outline.el (outline-font-lock-keywords): Simplify + + The `laxmatch` part of `font-lock-keywords` is just a boolean. + +2021-03-11 Stefan Monnier + + * lisp: Remove yet more always-nil variables + + * lisp/align.el (align-region): + Remove always-nil variable `group-c`. + * lisp/ido.el (ido-make-prompt): Remove always-nil variable `prefix`. + + * lisp/xdg.el (xdg-mime-collect-associations): + Remove always-nil variable `end`. + + * lisp/calc/calc-yank.el (calc-edit): + Remove always-nil variable `flag`. + + * lisp/calendar/todo-mode.el (todo-edit-item--header): + Remove always-nil variable `dayname`. + (todo-show-categories-table): + Remove always-nil variable `sortkey`. + + * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-docstring-engine): + Remove always-nil variable `err`. + + * lisp/emacs-lisp/tcover-ses.el: Remove always-nil variable `pause`. + + * lisp/eshell/em-ls.el (eshell-ls-files): + Remove always-nil variable `ignore`. + + * lisp/net/ange-ftp.el (ange-ftp-copy-file-internal): Remove always-nil + variable `temp2`. + + * lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove + always-nil variables `l1`, `l2`, `l3`. + (cperl-tags-treeify): Remove always-nil variable `l1`. + + * lisp/progmodes/ebrowse.el (ebrowse-tags-read-member+class-name): + Remove always-nil variable `class`. + + * lisp/textmodes/artist.el (artist-draw-ellipse-with-0-height): + Remove always-nil variable `fill-info`. + + * lisp/textmodes/flyspell.el (flyspell-emacs-popup): + Remove always-nil variable `show-affix-info`. + + * lisp/textmodes/rst.el (rst-Ado): + Remove always-nil variable `char`. + + * lisp/vc/vc.el (vc-diff-build-argument-list-internal): + Remove always-nil variable `rev2-default`. + +2021-03-11 Stefan Monnier + + * lisp/cedet: Remove always-nil variables + + * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-variables): + Remove always-nil variable `conf-done`. + + * lisp/cedet/ede/project-am.el: Use ref instead of dynbound var. + (project-rescan): Pass the ref. + (project-am-expand-subdirlist): Use it. + + * lisp/cedet/semantic/idle.el (semantic-idle-work-core-handler): + Fix misuse of the wrong `errbuf `variable. + + * lisp/cedet/semantic/scope.el (semantic-analyze-scoped-type-parts): + Remove always-nil variable `extmeth`. + + * lisp/cedet/semantic/wisent/comp.el (wisent-context-name) + (wisent-context-bindings): Make them into functions. + (wisent-with-context): Use `dlet`. + +2021-03-11 Stefan Monnier + + * lisp/emulation/edt.el (edt-with-position): Don't bind `left` + + (edt-find-forward, edt-find-next-forward, edt-sentence-forward) + (edt-paragraph-forward): Adjust accordingly. + +2021-03-11 Stefan Monnier + + * lisp/vc/pcvs-parse.el: Fix lexical-binding breakage + + (cvs-parse-table, cvs-parse-merge, cvs-parse-status, cvs-parse-commit): + Declare vars set by `cvs-match` as dynamic. + +2021-03-11 Stefan Monnier + + * lisp/ses.el (ses-set-cell): Use `macroexp-let2` + + (ses--\,@); Rename from `ses--metaprogramming`. + +2021-03-11 Stefan Monnier + + * lisp/obsolete/iswitchb.el: Remove dead code + + (most-len, most-is-exact): Delete vars. + (iswitchb-output-completion): Delete function. + (iswitchb-completions): Delete dead code consequence of `most` being nil. + +2021-03-11 Stefan Monnier + + * lisp/org/: Delete some always-nil variables + + * lisp/org/ob-lilypond.el (org-babel-lilypond-compile-lilyfile): + Remove always-nil variable `arg-2`. + + * lisp/org/ol-gnus.el (org-gnus-store-link): + Remove always-nil variables `newsgroup` and `xarchive`. + + * lisp/org/ol.el (org-store-link): + Remove always-nil variable `description`. + + * lisp/org/org-clock.el (org-clock-special-range): + Remove always-nil variables `m1` and `m`. + + * lisp/org/org-crypt.el (org--matcher-tags-todo-only): Declare var. + + * lisp/org/org-protocol.el (org-protocol-open-source): + Remove always-nil variable `result`. + + * lisp/org/ox-odt.el (org-odt-format-label): + Remove always-nil variable `short-caption`. + (org-odt-link--inline-formula): + Remove always-nil variables `width` and `height`. + + * lisp/org/ox.el (org-export--missing-definitions): + Remove always-nil variable `seen`. + +2021-03-11 Stefan Monnier + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Warn never-initialized vars + + (byte-compile-not-lexical-var-p): Remove Emacs<24 compatibility. + +2021-03-11 Lars Ingebrigtsen + + Re-fix previous Info-fontify-node change + + * lisp/info.el (Info-fontify-node): Re-fix previous fix here + (bug#34661) by fixing an off-by-one error in the `looking-back'. + +2021-03-11 Stefan Monnier + + * lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double + + This functionality was broken by commit 3d5e31eceb9dc1fb62b2b2, + the problem being that we end up considering as distinct the events + `down-double-mouse-1` and `double-down-mouse-1`. + + Reported by Eyal Soha + + (mouse--click-1-maybe-follows-link): Make sure the last element of + the list passed to `event-convert-list` is indeed a "basic" event. + +2021-03-11 Michael Albinus + + Add remote processes to Tramp sshfs method + + * doc/misc/tramp.texi (FUSE setup): Method sshfs supports also + remote processes. + + * lisp/net/tramp-cache.el (tramp-get-file-property) + (tramp-set-file-property): Move setting of + `tramp-cache-unload-hook' out of function. + + * lisp/net/tramp.el (tramp-expand-args): New defun. + (tramp-handle-make-process): + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): + * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it. + + * lisp/net/tramp-sshfs.el (tramp-methods) : + Adapt `tramp-mount-args'. Add `tramp-login-args', + `tramp-direct-async', `tramp-remote-shell', + `tramp-remote-shell-login' and `tramp-remote-shell-args'. + (tramp-connection-properties): Set "direct-async-process" fir sshfs. + (tramp-sshfs-file-name-handler-alist): Add `exec-path', + `make-process', `process-file', `set-file-modes', `shell-command', + `start-file-process', `tramp-get-remote-gid', + `tramp-get-remote-uid' and `tramp-set-file-uid-gid'. + (tramp-sshfs-handle-exec-path, tramp-sshfs-handle-process-file) + (tramp-sshfs-handle-set-file-modes): New defuns. + + * test/lisp/net/tramp-tests.el (tramp-test20-file-modes) + (tramp-test28-process-file, tramp-test29-start-file-process) + (tramp-test30-make-process, tramp-test32-shell-command) + (tramp-test32-shell-command-dont-erase-buffer) + (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path) + (tramp-test43-asynchronous-requests): Run also for tramp-sshfs. + (tramp--test-shell-file-name): New defun. + (tramp-test28-process-file) + (tramp-test34-explicit-shell-file-name) + (tramp-test43-asynchronous-requests): Use it. + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls) + (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl) + (tramp-test41-utf8-with-ls): Remove superfluous skip. + +2021-03-11 Petteri Hintsanen + + Make tags tables from Texinfo sources + + * doc/misc/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * doc/lispref/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * doc/lispintro/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * doc/emacs/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * Makefile.in (TAGS tags): Make tags in doc/emacs, doc/lispintro, + doc/lispref and doc/misc. + +2021-03-11 Philipp Stephani + + * src/image.c (image_set_transform): Don't use ! for Lisp object. + + * src/image.c (FRAME_SCALE_FACTOR): Define only when needed. + +2021-03-11 Eli Zaretskii + + Fix wording of a recently added documentation + + * etc/NEWS: + * doc/lispref/display.texi (Image Descriptors): Fix wording of the + description of :transform-smoothing. + +2021-03-11 Stefan Monnier + + * lisp/gnus/nnmh.el (nnmh-newsgroup-articles): Declare var + + Reported by Barry Fishman . + + Along the way, I checked other variables which are similarly let-bound + to nil and then read with any intervening assignment, which found + another similar case of missing `defvar`s plus a bit of dead code. + + * lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal): + Remove constant nil var `beg`. + * lisp/gnus/gnus-search.el (gnus-search-query-parse-kv): + Remove constant nil var `return`. + * lisp/gnus/gnus-start.el (gnus-ask-server-for-new-groups): + Remove constant nil var `group`. + (gnus-killed-assoc, gnus-marked-assoc, gnus-newsrc-assoc): Declare vars. + * lisp/gnus/gnus-sum.el (gnus-compute-read-articles): + Remove constant nil var `first`. + * lisp/gnus/nnbabyl.el (nnbabyl-request-accept-article): + Remove constant nil var `beg`. + * lisp/gnus/nnfolder.el (nnfolder-possibly-change-group): + Remove constant nil var `inf`. + * lisp/gnus/nnrss.el (nnrss-request-article): + Remove constant nil var `err`. + +2021-03-10 Alan Third + + Enable selectable image smoothing (bug#38394) + + * lisp/doc-view.el (doc-view-insert-image): Always use smoothing in + docview. + * lisp/image-mode.el (image-transform-smoothing): New variable. + (image-mode-map): Add smoothing binding. + (image-transform-properties): Apply smoothing when requested. + (image-transform-set-smoothing): New function. + (image-transform-reset): Reset smoothing. + * src/image.c (image_set_transform): Use new :transform-smoothing + attribute. + (syms_of_image): Add :transform-smoothing attribute. + * doc/lispref/display.texi (Image Descriptors): Document new + :transform-smoothing property. + +2021-03-10 Juri Linkov + + * lisp/tab-bar.el (tab-bar-close-group-tabs): New command. + + (tab-close-group): New alias. + (tab-bar-close-other-tabs): Rewrite to fix old bug where regardless of + the returned value from tab-bar-tab-prevent-close-functions, + only one tab was retained. + +2021-03-10 Juri Linkov + + * lisp/tab-bar.el: 'C-x t G' (tab-group) assigns a group name to the tab. + + * lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab): Add tab group if any. + (tab-bar-change-tab-group): New command. + (display-buffer-in-new-tab): Handle tab-group alist entry. + (tab-group): New alias. + (tab-prefix-map): Bind "G" to 'tab-group'. + +2021-03-10 K辿vin Le Gouguec + + Highlight the entire summary line for selected articles + + * lisp/gnus/gnus-sum.el (gnus-highlight-selected-summary): + Highlight the entire summary line (bug#47026). + +2021-03-10 Stefan Kangas + + Remove Emacs 19 workaround from cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-make-indent): Remove Emacs 19 + workaround. + +2021-03-10 Andrea Corallo + + * lisp/loadup.el: Don't load pcase on native builds (bug#47025). + +2021-03-10 Lars Ingebrigtsen + + Fix byte-compilation warning in benchmark-run + + * lisp/emacs-lisp/benchmark.el (benchmark-run): Avoid a + byte-compilation warning about an empty let body (bug#46819). + +2021-03-10 Andrea Corallo + + * Fix truncated warnings (bug#47024) + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind + `warning-fill-column' to `most-positive-fixnum'. + +2021-03-10 Stefan Kangas + + * lisp/files.el (cd): Improve error message. + +2021-03-10 Mattias Engdeg奪rd + + Mark string predicates side-effect-free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add string>, + string-greaterp, string-empty-p, string-prefix-p, string-suffix-p + and string-blank-p, all recently marked pure. + +2021-03-10 Stefan Kangas + + Remove several references to Emacs 22 and earlier + + * admin/charsets/mapfiles/README: + * doc/emacs/custom.texi (Saving Customizations): + * doc/lispintro/emacs-lisp-intro.texi (Simple Extension): + * doc/misc/efaq-w32.texi (Location of init file): + * doc/misc/gnus-faq.texi (FAQ 1-3): + * doc/misc/gnus.texi (Top, Various, Image Enhancements): + * lisp/erc/erc-menu.el (menu): + * lisp/progmodes/cfengine.el (cfengine-fill-paragraph): + Remove some references to Emacs 22 and earlier. + + * doc/lispref/buffers.texi: + * doc/lispref/eval.texi: + * doc/lispref/files.texi: + * doc/lispref/keymaps.texi: + * doc/lispref/loading.texi: + * doc/lispref/minibuf.texi: + * doc/lispref/positions.texi: + * doc/lispref/variables.texi: Remove comments about "Emacs 19 + specific" features. + +2021-03-10 Stefan Kangas + + Fix duplicate ":" in ert-find-test-other-window prompt + + * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Don't insert + duplicate ":" in prompt. + +2021-03-10 Stefan Kangas + + Do mode tagging in ert.el + +2021-03-10 Stefan Kangas + + Use proper command substitutions in some docstrings + + * lisp/arc-mode.el (archive-mode): + * lisp/ibuffer.el (ibuffer): + * lisp/tar-mode.el (tar-mode): + * lisp/textmodes/table.el (table-insert): Use substitute-command-keys + instead of hardcoded keys in some docstrings. + +2021-03-10 Stefan Kangas + + * lisp/userlock.el: Use lexical-binding. + +2021-03-10 Stefan Kangas + + Use 'help-key-binding' face in userlock.el + + * lisp/userlock.el (userlock--fontify-key): New function. + (ask-user-about-lock, ask-user-about-lock-help, + (ask-user-about-supersession-threat) + (ask-user-about-supersession-help): Add face 'help-key-binding' to + displayed keys. + +2021-03-10 Dmitry Gutov + + (project-switch-commands): Remove the ###autoload instruction + + * lisp/progmodes/project.el (project-switch-commands): + Remove the ###autoload instruction. It's unnecessary and can + cause surprises in some circumstances (bug#46986). + +2021-03-10 Stefan Kangas + + * lisp/help.el (help--describe-translation): Fix typo. + +2021-03-09 Stefan Monnier + + * lisp/mail/rmailmm.el: Use `cl-defstruct` and `lexical-binding` + + Remove redundant `:group` args. + (rmail-mime-entity): Make it a `cl-defstruct`. + (rmail-mime-entity-set-truncated): Mark as obsolete. + (rmail-mime-display): New `cl-defstruct`. + (rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode) + (rmail-mime-toggle-hidden, rmail-mime-update-tagline) + (rmail-mime-text-handler, rmail-mime-bulk-handler) + (rmail-mime-process-multipart, rmail-mime-handle, rmail-mime-process) + (rmail-mime-parse, rmail-mime-insert, rmail-show-mime): Adjust accordingly. + (rmail-mime-toggle-raw): Apply de Morgan. + (rmail-mime-insert-text): Remove unused var `tagline`. + (rmail-mime-insert-image): Remove unused var `content-type`. + (shr-inhibit-images, shr-width): Declare vars. + (rmail-mime-insert-multipart): Remove unused vars `tagline` and `body`. + (rmail-mime-insert): Remove unused var `tagline`. + (rmail-search-mime-message): Remove unused var `body-end`. + +2021-03-09 Paul Eggert + + Port alternate signal stack to upcoming glibc 2.34 + + * src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align + it to max_align_t. This copies from Gnulibs c-stack.c, and works + around a portability bug in draft glibc 2.34, which no longer + defines SIGSTKSZ when _GNU_SOURCE is defined. + +2021-03-09 Stefan Monnier + + * src/buffer.c (Fbuffer_swap_text): Swap `mark-active` as well + + This avoids undesirable situations where `mark-active` is set even + though the `mark` isn't. + +2021-03-09 Juri Linkov + + * lisp/tab-bar.el (tab-bar-select-tab): Set window-state-put WINDOW arg to nil + + WINDOW arg nil will always create a new window regardless of the value + returned by 'frame-root-window' that is nondeterministic - it returns + an internal window when there are more than 1 window on the frame/tab, + otherwise it returns a live window that was reused between different tabs + (bug#46904) + (tab-prefix-map): Bind "u" to 'tab-undo'. + +2021-03-09 Stefan Monnier + + * lisp/emacs-lisp/cconv.el: Don't confuse a string for a docstring + + (cconv--convert-funcbody): Check there's something after a docstring. + + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-string-vs-docstring): + New corresponding test. + +2021-03-09 Andrea Corallo + + * src/comp.c (ABI_VERSION): Bump following-up 380ba045c4. + + * test/src/comp-test-funcs.el (comp-test-46670-1-f): Remove a warning. + + Merge commit '9cbdf20316' into native-comp + +2021-03-09 Pip Cet + + * Fix comp unit type decl in eln files to fix GC crash (bug#46256) + + * src/comp.c (emit_ctxt_code): Allocate comp_unit as a Lisp_Object, + not a pointer to pointer to Lisp_Object. + +2021-03-09 Pip Cet + + Zero stale pointer when unloading comp units (bug#46256) + + * src/alloc.c (cleanup_vector): Call unload_comp_unit. + * src/comp.c (unload_comp_unit): New function. + +2021-03-09 Konstantin Kharlamov + + smerge-vc-next-conflict: Move to conflict markers more reliably + + * lisp/vc/smerge-mode.el (smerge-vc-next-conflict): Search for a + conflict marker if call to (vc-find-conflicted-file) haven't resulted in + a jump to one. And remove `buffer` variable that becomes unused. + +2021-03-09 Dmitry Gutov + + Strip text properties from the default string + + * lisp/progmodes/project.el (project--read-regexp): + Strip text properties from the default string (bug#47012). + +2021-03-08 Lars Ingebrigtsen + + Make semantic/idle not move point after last change + + * lisp/cedet/semantic/idle.el (semantic--eldoc-info): Don't move + point (bug#46999). + +2021-03-08 Juri Linkov + + * lisp/progmodes/xref.el (xref-after-update-hook): New defcustom (bug#46992). + + (xref--insert-xrefs): Use run-hooks on it. + +2021-03-08 Juri Linkov + + * lisp/faces.el (help-argument-name): Use grey background, not foreground + + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00402.html + +2021-03-08 Stefan Monnier + + * lisp/net/*.el: Use lexical-binding + + Also remove some redundant `:group` arguments. + + * lisp/net/eudc-export.el: Use lexical-binding. + (eudc-create-bbdb-record): Use `cl-progv` and `apply` to avoid `eval`. + + * lisp/net/eudc-hotlist.el: Use lexical-binding. + + * lisp/net/eudc.el (eudc-print-attribute-value): Use `funcall` to avoid + `eval`. + + * lisp/net/eudcb-bbdb.el: Use lexical-binding. + (eudc-bbdb-filter-non-matching-record): Use `funcall` to avoid `eval`. + Move `bbdb-val` binding to avoid `setq`. + Use `seq-some` instead of `eval+or`. + (eudc-bbdb-format-record-as-result): Use `dolist` and `pcase`. + Use `funcall` to avoid `eval`. + (eudc-bbdb-query-internal): Simplify a bit. + + * lisp/net/eudcb-ldap.el: Use lexical-binding. + (eudc-ldap-get-host-parameter): Use `defalias` to avoid `eval-and-compile`. + + * lisp/net/telnet.el: Use lexical-binding. + * lisp/net/quickurl.el: Use lexical-binding. + * lisp/net/newst-ticker.el: Use lexical-binding. + * lisp/net/newst-reader.el: Use lexical-binding. + * lisp/net/goto-addr.el: Use lexical-binding. + * lisp/net/gnutls.el: Use lexical-binding. + * lisp/net/eudcb-macos-contacts.el: Use lexical-binding. + * lisp/net/eudcb-mab.el: Use lexical-binding. + + * lisp/net/net-utils.el: Use lexical-binding. + (finger): Remove unused var `found`. + + * lisp/net/network-stream.el (open-protocol-stream): Remove redundant + `defalias`. + + * lisp/net/newst-plainview.el: Use lexical-binding. + (newsticker-hide-entry, newsticker-show-entry): Remove unused var + `is-invisible`. + (w3m-fill-column, w3-maximum-line-length): Declare vars. + + * lisp/net/tramp.el (tramp-compute-multi-hops): + * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory): + * lisp/net/tramp-cmds.el (tramp-default-rename-file): + * lisp/net/webjump.el (webjump): Don't forget lexical-binding for `eval`. + +2021-03-08 Michael Albinus + + Fix handling of `tramp-cache-{g,s}et-count-*' + + * lisp/net/tramp-cache.el (tramp-get-file-property) + (tramp-set-file-property): Fix handling of `tramp-cache-{g,s}et-count-*'. + +2021-03-08 Philipp Stephani + + Fix structure of condition object in nested 'ert-fail'. + + See the test 'ert-test-fail' for the expected structure. + + * lisp/emacs-lisp/ert.el (ert--should-signal-hook): Condition list + should be (SYMBOL . DATA), not (SYMBOL DATA). + * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Fix + unit test. + +2021-03-08 Simen Heggest淡yl + + Use `pop-to-buffer-same-window' in `project-eshell' + + * lisp/progmodes/project.el (project-eshell): Use + `pop-to-buffer-same-window' instead of `pop-to-buffer' to match the + behavior of `M-x eshell'. + +2021-03-08 Mauro Aranda + + Make checkdoc--next-docstring use the doc-string-elt property + + This follows from a fix for Bug#46918 and a discussion to use + doc-string-elt: + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00232.html + + * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Check for a + non-nil doc-string-elt property, instead of hard-coding the + supported symbols. Use that property to position point at the + doc-string. + +2021-03-08 Michael Albinus + + Add Tramp sshfs method + + * doc/misc/tramp.texi (Top, Configuration): Insert sections 'FUSE-based + methods' and 'FUSE setup' in menu. + (Quick Start Guide): Fix @anchors. Add doas. Extend section + 'Using @command{rclone}' to 'Using @acronym{FUSE}-based methods'. + (External methods): Remove rclone paragraph. + (FUSE-based methods, FUSE setup): New nodes. + (Predefined connection information): Mention "mount-point". + + * etc/NEWS: Mention Tramp sshfs method. + Fix typos and other oddities. + + * lisp/net/tramp-fuse.el: New file. + + * lisp/net/tramp-rclone.el (tramp-fuse): Require. + (tramp-rclone-file-name-handler-alist): Replace `tramp-rclone-handle-*' + by `tramp-fuse-handle-*' where appropriate. + (tramp-rclone-handle-delete-directory) + (tramp-rclone-handle-delete-file) + (tramp-rclone-handle-directory-files) + (tramp-rclone-handle-file-attributes) + (tramp-rclone-handle-file-executable-p) + (tramp-rclone-handle-file-name-all-completions) + (tramp-rclone-handle-file-readable-p) + (tramp-rclone-handle-insert-directory) + (tramp-rclone-handle-insert-file-contents) + (tramp-rclone-handle-make-directory, tramp-rclone-mount-point) + (tramp-rclone-mounted-p, tramp-rclone-local-file-name): + Remove. Functionality moved to tramp-fuse.el. + (tramp-rclone-remote-file-name) + (tramp-rclone-maybe-open-connection): Use `tramp-fuse-*' functions. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Simplify check. + + * lisp/net/tramp-sshfs.el: New file. + + * lisp/net/tramp.el: Remove TODO item. + + * test/lisp/net/tramp-tests.el (tramp--test-sshfs-p): New defun. + (tramp-test14-delete-directory): Use it. + +2021-03-08 Stefan Kangas + + Delete two more items obsoleted in Emacs 23.1 + + * lisp/calendar/icalendar.el + (icalendar--datetime-to-noneuropean-date): Remove alias obsolete since + * lisp/obsolete/nnir.el (nnir-swish-e-index-file): + Delete items obsolete since Emacs 23.1. + +2021-03-08 Stefan Kangas + + Normalize version specifiers for make-obsolete and friends + + * lisp/auth-source.el (auth-source-forget-user-or-password) + (auth-source-user-or-password, auth-source-hide-passwords): + * lisp/calendar/icalendar.el (icalendar--datetime-to-noneuropean-date): + * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym-function-arglist): + * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): + * lisp/obsolete/nnir.el (nnir-swish-e-index-file): + * lisp/obsolete/starttls.el (starttls-any-program-available): + Normalize version specifiers for make-obsolete and friends. + +2021-03-08 Stefan Kangas + + * lisp/help-mode.el (help-mode-tool-bar-map): Fix tooltips. + +2021-03-08 Stefan Kangas + + Add new face 'help-key-binding' for keybindings in help + + * lisp/faces.el (help-key-binding): New face. + * lisp/help.el + (help-for-help): Rename from 'help-for-help-internal'. Use + 'substitute-command-keys' syntax. + (help): Make into alias for 'help-for-help'. + (help-for-help-internal): Make into obsolete alias for + 'help-for-help'. + (help--key-description-fontified): New function to add the + 'help-key-binding' face. + (help-key-description, substitute-command-keys) + (describe-map-tree, help--describe-command) + (help--describe-translation, describe-map): + * lisp/help-fns.el (help-fns--key-bindings, describe-mode): + Use above new function. + * lisp/isearch.el (isearch-help-for-help-internal): Use + `substitute-command-keys' syntax. + * lisp/help-macro.el (make-help-screen): Use + 'substitute-command-keys' and 'help--key-description-fontified'. + Simplify. + * src/keymap.c (describe_key_maybe_fontify): New function to add + the 'help-key-binding' face to keybindings. + (describe_vector): Use above new keybinding. + (syms_of_keymap) : New + DEFSYMs. + (fontify_key_properties): New static variable. + * lisp/tooltip.el (tooltip-show): Avoid overriding faces in + specified tooltip text. + * test/lisp/help-tests.el (with-substitute-command-keys-test): + Don't test for text properties. + (help-tests-substitute-command-keys/add-key-face) + (help-tests-substitute-command-keys/add-key-face-listing): + New tests. + +2021-03-08 Dmitry Gutov + + Speed up xref rendering for matches on very long lines + + * lisp/progmodes/xref.el (xref--insert-xrefs): Cut up the current + line into pieces here for multiple matches's summaries, so that + xref--insert-xrefs can do less work (bug#46859). + (xref--insert-xrefs): Do less work. + (xref--outdated-p): + Update accordingly to how the summary creation logic changed. + (xref--buf-pairs-iterator): Update to the new calling convention. + (xref-location-column): Effectively rename back to + xref-file-location-column since the generic version is now unused. + + * test/lisp/progmodes/xref-tests.el + (xref-matches-in-directory-finds-two-matches-on-the-same-line) + (xref-matches-in-directory-finds-an-empty-line-regexp-match): + Adjust to the xref-location-column change. + (xref-matches-in-files-trims-summary-for-matches-on-same-line): + New test. + + * test/lisp/progmodes/xref-resources/file1.txt: + Change contents slightly to test the new xref--outdated-p code. + +2021-03-08 Dmitry Gutov + + Xref test improvements + + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-abs): + Fix not to rely on the default value. + (xref-matches-in-files-includes-matches-from-all-the-files): + New test. + +2021-03-08 Stefan Monnier + + * lisp/net/tramp-cache.el: Fix misuse of bound-and-true-p + + (tramp-get-file-property, tramp-set-file-property): Check the var's + value rather than its name. + +2021-03-08 Stefan Monnier + + * lisp/net/ange-ftp.el: Fix problem pointed out by compiler warning + + (ange-ftp-fix-name-for-bs2000): Remove redundant `boundp` test. + +2021-03-08 Stefan Monnier + + * lisp/erc/erc.el: Fix problem pointed out by compiler warning + + [ Also use `read-string` instead of `read-from-minibuffer`. ] + + (erc-part-from-channel): Comment out improbable + reference to the formal argument from within the interactive spec. + +2021-03-08 Stefan Monnier + + * lisp/cedet/semantic/fw.el (semantic-find-file-noselect): Fix warning + + Remove ugly hack trying to warn the user about some unknown problem, + and which stopped working in 2013 when files.el started using + lexical-binding. + +2021-03-08 Stefan Monnier + + * lisp/skeleton.el (skeleton-read): Silence compiler warning + +2021-03-08 Stefan Monnier + + * lisp/cedet/semantic/bovine.el: Fix recent regression + + The conversion to `lexical-binding` introduced a regression because + `bovine/c.el` relied on inspecting the local variable `lse` in one of + its callers. + + (semantic-bovinate-stream): Bind `lse` dynamically, because of + `semantic-parse-region-c-mode`. + (semantic-bovinate-nonterminal-check-map): Rename from + `semantic-bovinate-nonterminal-check-obarray` to hold some other kind + of table. + (semantic-bovinate-nonterminal-check): Use a hash-table instead of an obarray. + + * lisp/cedet/semantic/bovine/c.el (semantic-parse-region-c-mode): + Declare use of `lse` via dynamic scoping. + + * test/lisp/cedet/semantic-utest-c.el + (semantic-test-c-preprocessor-simulation): Re-enable test. + +2021-03-08 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Warn about unprefixed vars in `boundp` + + (byte-compile--check-prefixed-var): New fun, + extracted from `byte-compile--declare-var`. + (byte-compile--declare-var): Use it. + (byte-compile-maybe-guarded): Use it as well. + +2021-03-07 Andrea Corallo + + * Handle `comp-native-driver-options' both as file-local both as global + + * src/comp.c (add_driver_options): Throw an error if + `comp-native-driver-options' is set globally but + 'gcc_jit_context_add_driver_option' is not available, ignore for + the file-local case. + +2021-03-07 Andrea Corallo + + Use `length=' and family where possible in native comp code + + * lisp/emacs-lisp/comp-cstr.el (comp-intersect-typesets) + (comp-cstr-imm): Use Use `length=' and family where possible. + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-block) + (comp-compute-dominator-frontiers) + (batch-byte-native-compile-for-bootstrap): Likewise. + +2021-03-07 Andrea Corallo + + * lisp/emacs-lisp/comp.el (w32-get-nproc): Suppress warning declaring it. + + For non Windows system. + +2021-03-07 Andrea Corallo + + Allow for `comp-native-driver-options' to work as a file-local variable. + +2021-03-07 Juri Linkov + + Remove outline-cycle-minor-mode and outline-cycle-highlight-minor-mode + + * lisp/outline.el (outline-font-lock-keywords): Use OVERRIDE or + LAXMATCH depending on outline-minor-mode-highlight in outline-minor-mode. + (outline-minor-mode-cycle, outline-minor-mode-highlight): Promote + defvar to defcustom. + (outline-minor-mode-highlight-buffer): Don't override existing faces. + (outline-cycle-minor-mode, outline-cycle-highlight-minor-mode): + Remove minor modes. + + * etc/compilation.txt: + * etc/grep.txt: Enable outline-minor-mode-cycle and + outline-minor-mode-highlight with outline-minor-mode. + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00144.html + +2021-03-07 Andrea Corallo + + * Work around GCC PR99126 on all libgccjit < 11 + + * src/comp.c (Fcomp__compile_ctxt_to_file): Work around GCC + PR99126 on all libgccjit < 11. + +2021-03-07 Michael Albinus + + * test/infra/Dockerfile.emba: Install texinfo. + +2021-03-07 Glenn Morris + + Tag a semantic test that seems to hang recently + + * test/lisp/cedet/semantic-utest-c.el + (semantic-test-c-preprocessor-simulation): Mark as unstable. + +2021-03-07 Basil L. Contovounesios + + Fix string-replace error data + + * lisp/subr.el (string-replace): Signal an error with data that is a + list, and whose contents are consistent with other uses of + wrong-length-argument. + * test/lisp/subr-tests.el (string-replace): Test for this. + (subr-test-define-prefix-command): Pacify byte-compiler warnings. + +2021-03-07 Eli Zaretskii + + Avoid aborts in native-comp subprocesses when exiting Emacs on Windows + + * src/w32.c (shutdown_handler): Clear the message stack when being + shut down in noninteractive mode, to avoid aborting in + shut_down_emacs when a native-compilation subprocess is killed + because the parent Emacs exits. + +2021-03-07 Eli Zaretskii + + Fix encoding of file names in comp.c + + * src/comp.c (Fcomp__compile_ctxt_to_file) [WINDOWSNT]: Fix + encoding of file names passed to libgccjit. + +2021-03-07 Eli Zaretskii + + Use MS-Windows system APIs to get number of processors + + * lisp/emacs-lisp/comp.el: Use 'w32-get-nproc' instead of the + environment variable NUMBER_OF_PROCESSORS. + + * src/w32proc.c (Fw32_get_nproc): New primitive. + * src/w32.c (w32_get_nproc): New function. + (sample_system_load): Call w32_get_nproc to initialize the number + of processors on this system. + * src/w32.h (w32_get_nproc): Add prototype. + +2021-03-07 Eli Zaretskii + + Fix libgccjit PROGNAME on MS-Windows + + * src/comp.c [WINDOWSNT]: Import gcc_jit_context_set_str_option. + (init_gccjit_functions): Load gcc_jit_context_set_str_option. + (gcc_jit_context_set_str_option) [WINDOWSNT]: New macro. + (Fcomp__compile_ctxt_to_file) [WINDOWSNT]: Pass the actual name of + the libgccjit DLL to the library, to be used as PROGNAME. + +2021-03-07 Michael Albinus + + * test/infra/Dockerfile.emba: Touch "info/emacs". + +2021-03-07 Michael Albinus + + Adapt Dockerfile.emba according to recent configure changes + + * test/infra/Dockerfile.emba: Remove "--without-makeinfo" from + configure. Add "lisp" to make. + +2021-03-07 Stefan Monnier + + * lisp/cedet/semantic/wisent: Use lexical-binding + + * lisp/cedet/semantic/wisent/comp.el: lexical-binding. + (wisent-defcontext): Make sure the vars are also dynbound in the files + that `require` us. + (wisent-state-actions, wisent-automaton-lisp-form): Use `obarray-make`. + (wisent--compile-grammar): Rename from `wisent-compile-grammar`. + (wisent-compile-grammar): Redefine as an obsolete function. + (wisent-automaton-lisp-form): Avoid variable `state`. + + * lisp/cedet/semantic/grammar.el: Use lexical-binding. + (semantic-grammar-require-form): New var. + (semantic-grammar-header): Use it to provide new element `require-form`. + (semantic-grammar-header-template): Use it. + + * lisp/cedet/semantic/wisent.el (wisent-compiled-grammar): New macro. + + * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-parsetable-builder): + Use it in the generated code instead of the `wisent-compile-grammar` function. + (wisent-grammar-mode): Set `semantic-grammar-require-form` so + the generated ELisp files require `semantic/wisent` rather than + `semantic/bovine`. + + * lisp/cedet/semantic/wisent/wisent.el: Use lexical-binding. + * lisp/cedet/semantic/wisent/java-tags.el: Use lexical-binding. + * lisp/cedet/semantic/wisent/python.el: Use lexical-binding. + * lisp/cedet/semantic/wisent/javascript.el: Use lexical-binding. + (semantic-ctxt-current-symbol): Remove unused var `symlist`. + + * admin/grammars/python.wy (wisent-python-EXPANDING-block): + Declare dynbound var. + + * lisp/cedet/semantic/grammar-wy.el: Regenerate. + +2021-03-07 Stefan Kangas + + Remove additional items obsolete since Emacs 22/23 + + * lisp/speedbar.el (speedbar-update-speed) + (speedbar-navigating-speed): Remove variables obsolete since Emacs 23. + (speedbar-dir-follow, speedbar-directory-buttons-follow): Don't use + above removed variables. + + * lisp/erc/erc.el (erc-announced-server-name, erc-process) + (erc-default-coding-system, erc-send-command): Remove variables and + functions obsolete since Emacs 22. + +2021-03-07 Stefan Kangas + + Remove some items obsolete since Emacs 22/23 from Gnus + + * lisp/gnus/gnus-art.el (gnus-article-hide-pgp-hook) + (gnus-treat-strip-pgp, gnus-treat-display-xface): + * lisp/gnus/gnus-msg.el (gnus-inews-mark-gcc-as-read): + * lisp/gnus/gnus-start.el (nnmail-spool-file): + * lisp/gnus/nnmail.el (nnmail-spool-file) + (nnmail-fix-eudora-headers): Remove items obsolete since 22.1. + * lisp/gnus/gnus-art.el (gnus-treat-display-x-face): + * lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Don't use above obsolete symbols. + * doc/misc/gnus.texi (Washing Mail, Not Reading Mail): Don't refer to + above obsolete variables. + + * lisp/gnus/gnus.el (gnus-local-domain, gnus-carpal): + * lisp/gnus/nnimap.el (nnimap-split-rule): + * lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsolete variable + version format. + +2021-03-07 Stefan Kangas + + Remove some references to Emacs 21 + + * lisp/erc/erc-track.el (erc-track-position-in-mode-line): + * lisp/erc/erc.el (erc-header-line-format): + * lisp/ibuffer.el (ibuffer-mode): + * lisp/ruler-mode.el: Remove some references to Emacs 21. + +2021-03-07 Stefan Kangas + + * lisp/mouse-drag.el: Use lexical-binding. + + * lisp/mouse-copy.el: Use lexical-binding. + +2021-03-07 Stefan Monnier + + * lisp/cedet/semantic/bovine/*.el: Use lexical-binding + + * lisp/cedet/semantic/bovine/c.el: Use lexical-binding. + (semantic-lex-cpp-define): Remove unused var `name`. + (semantic-c-do-lex-if): Remove unused var `pt`. + (semantic-analyze-tag-references): Remove unused var `refs`. + (semantic-c-dereference-namespace): Remove unused vars `tmp` and + `usingname`. + (semantic-c-dereference-namespace-alias): Remove unused var `newtype`. + (semantic-c-check-type-namespace-using): Remove unused vars `tmp` and + `shortname`. + (semanticdb-find-table-for-include): Remove unused var `prefix`. + (semantic-default-c-setup, semantic-c-describe-environment): + Use `derived-mode-p`. + + * lisp/cedet/semantic/bovine/debug.el: Use lexical-binding. + + * lisp/cedet/semantic/bovine/make.el: Use lexical-binding. + + * lisp/cedet/semantic/bovine/scm.el: Use lexical-binding. + + * lisp/cedet/semantic/lex.el (define-lex-analyzer): Define the var (and + the function) in a single step. + +2021-03-07 Stefan Monnier + + * lisp/obsolete/inversion.el: Use lexical-binding + +2021-03-07 Glenn Morris + + * admin/admin.el (make-manuals-dist-output-variables): Update. + +2021-03-07 Glenn Morris + + Simplify silent-rules build machinery + + * src/verbose.mk.in: New file. + * configure.ac (AM_V, AM_DEFAULT_V): Remove output variables. + (src/verbose.mk): New output file. + * Makefile.in, admin/charsets/Makefile.in: + * admin/grammars/Makefile.in, admin/unidata/Makefile.in: + * doc/emacs/Makefile.in, doc/lispintro/Makefile.in: + * doc/lispref/Makefile.in, doc/misc/Makefile.in, leim/Makefile.in: + * lib-src/Makefile.in, lib/Makefile.in, lisp/Makefile.in: + * lwlib/Makefile.in, nt/Makefile.in, oldXMenu/Makefile.in: + * src/Makefile.in, src/verbose.mk.in, test/Makefile.in: + Include src/verbose.mk rather than repeatedly defining AM_V_at etc. + +2021-03-06 Andrea Corallo + + Fix `comp-cstr-intersection-no-hashcons' for negated result cstr + + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-no-hashcons): When negated and + necessary relax dst to t. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + +2021-03-06 Pip Cet + + Fix miscompilation of funcall forms in some cases (bug#46974) + + * lisp/emacs-lisp/comp.el (comp-call-optim-func): Call + comp-cstr-imm-vld-p before relying on comp-cstr-imm to return the + right value. + +2021-03-06 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-simple): Suppress warning. + +2021-03-06 Andrea Corallo + + Fix `=' propagation to handle -0.0 0.0 case + + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-homogeneous): Fix indent + use `memql'. + (comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests and fix enumeration. + +2021-03-06 Glenn Morris + + * src/Makefile.in (base_obj): Remove GMP_OBJ, undefined since 202007. + +2021-03-06 Glenn Morris + + Don't pass implicit flags to sub-makes + + * Makefile.in (info_misc, uninstall, texi_misc): + Don't pass any implicit make flags to sub-makes. + Ref https://lists.gnu.org/r/help-make/2021-03/msg00007.html + +2021-03-06 Glenn Morris + + Remove the --without-makeinfo configure option (bug#46837) + + * configure.ac (--without-makeinfo): Remove option. + (HAVE_MAKEINFO): Remove output variable. + + * Makefile.in (HAVE_MAKEINFO): Remove. + (info_misc): Remove HAVE_MAKEINFO check. + (info-real): Remove target. + (info): Simplify. + +2021-03-06 Stefan Monnier + + * lisp/cedet/srecode/compile.el: Fix last change + + (srecode-compile-inserter): Call `make-instance` properly. + +2021-03-06 Basil L. Contovounesios + + Speed up json.el encoding + + This replaces most json-encode-* functions with similar + json--print-* counterparts that insert into the current buffer + instead of returning a string (bug#46761). + + Some unused but useful json-encode-* functions are kept for backward + compatibility and as a public API, and the rest are deprecated. + + * etc/NEWS: Announce obsoletions. + + * lisp/json.el: Document organization of library. Make subsection + headings more consistent. + (json--encoding-current-indentation): Rename... + (json--print-indentation-prefix): ...to this, to reflect new use. + (json--encode-stringlike, json--encode-alist): Rename... + (json--print-stringlike, json--print-alist): ...to these, + respectively, and encode argument into current buffer instead. All + callers changed. + + (json--print-string, json--print-unordered-map, json--print-array) + (json--print): New functions. + (json-encode-string, json-encode-plist, json-encode-array) + (json-encode): Use them, respectively. + + (json-encode-number, json-encode-hash-table): Mark as obsolete + aliases of json-encode. + (json-encode-key, json-encode-list): Mark as obsolete in preference + for json-encode. + + (json--print-indentation-depth, json--print-keyval-separator): New + variables. + (json--with-output-to-string): New macro. + (json--print-indentation, json--print-keyword, json--print-key) + (json--print-pair, json--print-map, json--print-list): New + functions. + + (json--with-indentation): Use json--print-indentation-depth to avoid + unnecessary string allocation. + (json-encoding-default-indentation, json-pretty-print-max-secs): + Clarify docstrings. + (json--escape, json--long-string-threshold, json--string-buffer): + Remove; no longer used. + + * lisp/progmodes/js.el (js--js-encode-value): Replace + json-encode-string and json-encode-number with json-encode. + (js-eval-defun): Use json--print-list to avoid + json-encode-list->insert roundtrip. + + * test/lisp/json-tests.el (test-json-encode-number) + (test-json-encode-hash-table, test-json-encode-hash-table-pretty) + (test-json-encode-hash-table-lisp-style) + (test-json-encode-hash-table-sort, test-json-encode-list): Replace + uses of obsolete functions with the equivalent use of json-encode. + (test-json-encode-key): Suppress obsoletion warnings. + (test-json-encode-string): Check that text properties are stripped. + +2021-03-06 Stefan Monnier + + * lisp/emacs-lisp/bindat.el (bindat-struct): Fix Edebug def + +2021-03-06 Stefan Monnier + + * lisp/emulation/: Use lexical-binding + + * lisp/emulation/cua-base.el: Use lexical-binding. + Remove redundant `:group` arguments. + (cua-mode): Don't use `:require` since the autoload on `define-minor-mode` + takes care of loading the mode when custom-setting it. + + * lisp/emulation/cua-gmrk.el: Use lexical-binding. + (cua--copy-rectangle-to-global-mark): Remove unused var `src-buf`. + + * lisp/emulation/edt-mapper.el: Use lexical-binding. + + * lisp/emulation/edt.el: Use lexical-binding. + Remove redundant `:group` arguments. + (edt-with-position): Allow `top`, `left`, and `far` to be left unused + in `body`. + + * lisp/emulation/keypad.el: Use lexical-binding. + + * lisp/emulation/viper-cmd.el: Move `provide` to the end. + (viper-read-string-with-history): Strength reduce `eval` to `symbol-value`. + + * lisp/emulation/viper-ex.el: Use lexical-binding. + Remove redundant `:group` arguments. + Move `provide` to the end. + + * lisp/emulation/viper-init.el: Use lexical-binding. + + * lisp/emulation/viper-keym.el (viper-toggle-key): Use `dolist`. + (viper-insert-diehard-map): Use `string`. + (viper-modify-major-mode): Use `alist-get` and `setf`. + + * lisp/emulation/viper-macs.el (viper-ex-work-buf): + Move `provide` to the end. + (viper-record-kbd-macro): Strength reduce `eval` to `symbol-value`. + (viper-describe-kbd-macros): Return value is not significant. + (viper-keyseq-is-a-possible-macro): Use `seq-some`. + (viper-common-seq-prefix): Use `seq-every-p`. + + * lisp/emulation/viper-mous.el: Use lexical-binding. + Remove redundant `:group` arguments. + Move `provide` to the end. + (viper-remember-current-frame): Accept arbitrary ignored args. + (viper-parse-mouse-key): Strength reduce `eval` to `symbol-value`. + Remove unused var `key-spec`. + (viper-bind-mouse-search-key, viper-bind-mouse-insert-key): + Apply de Morgan. + + * lisp/emulation/viper-util.el: Move `provide` to the end. + (viper-move-marker-locally, viper-push-onto-ring, viper-save-setting): + Strength reduce `eval` to `symbol-value`. + (viper-event-vector-p, viper-char-symbol-sequence-p, viper-char-array-p): + Use `seq-every-p`. + + * lisp/emulation/viper.el (viper-non-hook-settings): Eta-reduce use of + `viper-remember-current-frame`. + +2021-03-06 Basil L. Contovounesios + + Various map.el improvements + + * lisp/emacs-lisp/seq.el (seq-do-indexed): Return nil as per doc. + + * lisp/emacs-lisp/map.el: Require Emacs >= 26 due to dependence on + 5-arg alist-get. Bump package to version 3.0. Fix other + headers. (Bug#46754) + (map--plist-p): Detect list starting with nil as plist, not alist. + (map-elt, map-filter, map-apply, map--make-pcase-bindings) + (map--make-pcase-patterns): Simplify. + (map-let, map-put, map-nested-elt, mapp): Update docstring for plist + support. + (map-delete): Fix OBOE on arrays. Split into cl-defmethods. + (map-values, map-values-apply): Specialize for arrays. + (map-pairs, map-keys-apply, map-put!): Improve docstring. + (map-length): Clarify docstring w.r.t. duplicate keys. Split into + cl-defmethods. Optimize default implementation. + (map-copy): Use copy-alist on alists. Split into cl-defmethods. + (map-contains-key): Add plist support. Clarify docstring + w.r.t. optional argument. Simplify default implementation. + (map-some, map-every-p, map-merge, map-merge-with, map--into-hash): + Don't use map-apply for side effects. + (map-into): Preserve plist ordering. Improve docstrings. + (map-insert): Add hash-table and array support. + (map-inplace): Remove unused error symbol. + (map-do): Return nil as per doc. + + * etc/NEWS: Announce new user-visible behavior. + + * test/lisp/emacs-lisp/map-tests.el: Prefer should-not + over (should (not ...)) in general. + (with-maps-do): Fix docstring. + (with-empty-maps-do): New macro. + (test-map-elt-default, test-mapp, test-map-keys, test-map-values) + (test-map-pairs, test-map-length, test-map-copy, test-map-apply) + (test-map-do, test-map-keys-apply, test-map-values-apply) + (test-map-filter, test-map-remove, test-map-empty-p) + (test-map-contains-key, test-map-some, test-map-every-p): + Use it. + + (test-map-plist-p, test-map-put!-new-keys, test-map-insert-empty) + (test-map-insert, test-map-delete-empty, test-map-copy-alist) + (test-map-contains-key-testfn, test-map-into-hash-test) + (test-map-into-empty, test-map-merge, test-map-merge-empty): + New tests. + + (test-map-elt): Test array key that is within bounds but not fixnum. + (test-map-put!): Use map--plist-p. Remove redundant tests. + (test-map-put-alist-new-key): Don't modify list literal. + (test-map-put-testfn-alist, test-map-put-return-value): Silence + obsoletion warnings. + (test-map-delete): Check for OBOE on arrays. + (test-map-delete-return-value): Remove test made redundant by + test-map-delete. + (test-map-nested-elt, test-map-into): Test plists too. + +2021-03-06 Alan Mackenzie + + CC Mode: Fix calculation of c-parse-state when there're macros with braces + + This fixes bug #46951. + + * lisp/progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): + Ensure the starting point for backward scanning is not within a macro which + doesn't contain HERE. + +2021-03-06 Stefan Monnier + + * lisp/progmodes/flymake.el (flymake-log): Push the right code + + * lisp/progmodes/flymake.el (flymake-log): Simplify + +2021-03-06 Eli Zaretskii + + Revert "Fix Makefile subshell output when run in parallel" + + This reverts commit 117505454ce04c0c0ce2c2b4058823cf764fc2eb. + It breaks the build for versions of GNU Make that don't support -O. + +2021-03-06 Basil L. Contovounesios + + Fix Makefile subshell output when run in parallel + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00255.html + + * Makefile.in (texi_misc): Avoid interspersing parallel Make output + with that from subshell. + +2021-03-06 Basil L. Contovounesios + + Pacify some semantic-tag-make-plist warnings + + * lisp/cedet/semantic/tag.el (semantic-tag-make-plist): Define + before its first use to pacify some recent "may not be defined at + runtime" warnings after turning on lexical-binding. + +2021-03-06 Lars Ingebrigtsen + + Remove mention of using defun- and defvar- as prefixes + + * doc/lispref/tips.texi (Coding Conventions): Remove mention of + using defun- and defvar- as prefixes, as this is something that we + rarely do in Emacs (bug#46899). + +2021-03-06 Eli Zaretskii + + Improve documentation of Bindat + + * doc/lispref/processes.texi (Bindat Types, Bindat Functions) + (Bindat Computed Types): Improve wording and add indexing. + + * etc/NEWS: Add a pointer to the ELisp manual for "Bindat". + +2021-03-06 Protesilaos Stavrou + + Pull Modus themes version 1.2.3 from upstream + + This syncs with the following upstream revision: + + Update to version 1.2.3 + 0a36239 2021-03-05 19:43:30 +0200 + https://gitlab.com/protesilaos/modus-themes/-/commit/0a36239baf908585cdf32c6188eb86713d9bf6c6 + + For discussion, see bug#45068 and the following upstream issue: + https://gitlab.com/protesilaos/modus-themes/-/issues/162 + + * doc/misc/modus-themes.org: + * etc/themes/modus-operandi-theme.el: + * etc/themes/modus-themes.el: + * etc/themes/modus-vivendi-theme.el: Update to version 1.2.3. + +2021-03-06 Protesilaos Stavrou + + Update Modus themes to their version 1.2.0 + + * doc/misc/modus-themes.org: Add new version of the manual, with + changes to markup and references to the latest state of the project. + + * etc/themes/modus-vivendi-theme.el: + * etc/themes/modus-operandi-theme.el: Provide updated version of each + theme, which expands the contents of 'modus-themes.el' (bug#45068). + + * etc/themes/modus-themes.el: Add new supportive file. This is where + theme data, functions, and face definitions are defined. + +2021-03-06 Basil L. Contovounesios + + Conditionally use macroexp-file-name in Flymake + + * lisp/progmodes/flymake.el (flymake-log): Reinstate Emacs 26 + support by conditionally using macroexp-file-name which is new in + Emacs 28 (bug#46957). + +2021-03-06 Stefan Monnier + + * * lisp/cedet/semantic: Use lexical-binding in the generated grammars + + * admin/grammars/c.by (typesimple): Bind `semantic-c-classname` dynamically. + + * lisp/cedet/semantic/bovine.el: Use lexical-binding. + (semantic-lambda): Silence warnings if the `vals` arg is not used. + + * lisp/cedet/semantic/grammar-wy.el: Re-generate. + + * lisp/cedet/semantic/bovine/grammar.el: Use lexical-binding. + (bovine-grammar-expand-action): Silence warnings if some of the + `vals`, `start`, or `end` args is not used. + (bovine--make-parser-1): Use lexical-binding in the generated files. + + * lisp/cedet/semantic/wisent/grammar.el: Use lexical-binding. + (wisent--make-parser-1): Use lexical-binding in the generated files. + +2021-03-06 Stefan Kangas + + Add some new tests for keymap.c + + * test/src/keymap-tests.el (keymap-define-key/undefined) + (keymap-define-key/keyboard-macro, keymap-define-key/lambda) + (keymap-define-key/keymap, keymap-define-key/menu-item) + (keymap-lookup-key/list-of-keymaps, keymap-lookup-key/too-long): + New tests. + (keymap-lookup-key): Extend test slightly. + +2021-03-06 Stefan Monnier + + * lisp/cedet/srecode/*.el: Use lexical-binding + + * lisp/cedet/srecode/compile.el (srecode-compile-inserter): + Use `make-instance` instead of the class name-as-function. + + * lisp/cedet/srecode/fields.el (srecode-field-behind-hook): + Remove unused var `field`. + + * lisp/cedet/srecode/find.el (srecode-load-tables-for-mode): Simplify. + + * lisp/cedet/srecode/getset.el (srecode-semantic-selected-tag): Declare var. + + * lisp/cedet/srecode/mode.el (srecode-minor-mode): Mark references to + non-existing `srecode-m3-items` function. + + * lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Remove + unused var `raw`. + +2021-03-06 Stefan Monnier + + Bindat: new macro-expansion based data layout language + + Thorough redesign of the Bindat system, which makes it possible + to define new Bindat type forms, define recursive types, control + the values returned when unpacking, freely mix arbitrary computations + with type definitions, as well as support for arbitrary sized + integers. + + This also reverts the recent addition of the `bindat-spec` macro and + the support for 64bit integers in the old Bindat language since that + is now considered obsolete anyway. + + * doc/lispref/processes.texi (Bindat Types): Rename from `Bindat Spec` + and rewrite for the new sublanguage. + (Bindat Functions): Adjust to the new terminology. + (Bindat Computed Types): New node. + + * lisp/emacs-lisp/bindat.el (bindat--type): New type. + (bindat--unpack-u64, bindat--unpack-u64r): Delete functions. + (bindat--unpack-item, bindat--pack-item, bindat--fixed-length-alist): + Revert addition of support for 64bit integers. + (bindat--unpack-group, bindat--length-group, bindat--pack-group): + Handle the new `bindat--type` values. + (bindat-spec): Revert addition of this macro. + (bindat--unpack-uint, bindat--unpack-uintr, bindat--pack-uint) + (bindat--pack-uintr): New functions. + (bindat-type, bindat-defmacro, bindat--pcase): New macros. + (bindat-type): New Edebug elem. + (bindat--type): New generic function. + (bindat--primitives): New constant. + (bindat--macroenv, bindat--op): New vars. + (bindat--make-docstring, bindat--fun, bindat--makefun, bindat--toplevel): + New functions. + + * test/lisp/emacs-lisp/bindat-tests.el: Use `bindat-type`. + (ip): New Bindat type. + (header-bindat-spec, data-bindat-spec, packet-bindat-spec): Adjust to + new `bindat-type` macro. + (bindat-test-unpack): Simplify now that the order of fields is preserved. + (bindat-test--int-websocket-type, bindat-test--LEB128): New consts. + (bindat-test--pack-val, bindat-test--sint, bindat-test--recursive): + New tests. + +2021-03-05 Mattias Engdeg奪rd + + Make lambda-lifting work again + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Fix typo. + * test/lisp/emacs-lisp/cconv-tests.el (cconv-convert-lambda-lifted): + Add test case. + +2021-03-05 Tassilo Horn + + Improve rcirc-authenticated-hook docstring + + * lisp/net/rcirc.el (rcirc-authenticated-hook): Improve docstring. + +2021-03-05 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Minor refactoring + + (bindat--unpack-str, bindat--unpack-strz, bindat--unpack-bits): + New functions, extracted from `bindat--unpack-item`. + (bindat--unpack-item): Use them. + (bindat--align): New function. + (bindat--unpack-group, bindat--length-group, bindat--pack-group): Use it. + (bindat-get-field): Allow integers to index both lists (as returned by + `repeat`) and vectors (as returned by `vec`). + (bindat--pack-str, bindat--pack-bits): New functions, extracted from + `bindat--pack-item`. + (bindat--pack-item): Use them. + + * test/lisp/emacs-lisp/bindat-tests.el (struct-bindat): Place the fields + in the order in which they appear in the structs. + +2021-03-05 Stefan Monnier + + * lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter + + This fixes bug#46573 which was introduced by commit + d79cf638f278e50c22feb53d6ba556f5ce9d7853. + The new code is a middle ground, which makes sure the instrumentation + point is used (so the coverage checker won't have ghost unreachable + instrumentation points) yet without artificially running the getter + when we only need to run the setter. + +2021-03-05 Stefan Monnier + + * src/fns.c (Frandom): Handle bignum `limit`s + + (ccall2, get_random_bignum): New functions. + +2021-03-05 Michael Albinus + + Declare some completion predicates + + * lisp/filenotify.el (file-notify-handle-event): + * lisp/net/dbus.el (dbus-handle-event): Declare `completion-predicate'. + +2021-03-05 Masahiro Nakamura + + * doc/misc/tramp.texi (Remote shell setup): Fix reference. + + * doc/misc/tramp.texi (Remote shell setup): Fix reference. (Do not merge) + +2021-03-05 Eli Zaretskii + + Fix some unsafe uses of SSDATA in comp.c + + * src/comp.c (comp_hash_source_file) + (Fcomp__compile_ctxt_to_file, Fnative_elisp_load): Encode file + names before passing them to library APIs. + (Fcomp__compile_ctxt_to_file): use emacs_fopen instead of fopen. + (declare_lex_function): Avoid keeping a 'char *' pointer around + while calling Lisp, which could trigger GC, which could relocate + string data. + +2021-03-05 Lars Ingebrigtsen + + Improve the documentation of :extra in cl-defmethod + + * doc/lispref/functions.texi (Generic Functions): Improve + documentation of :extra (bug#46917). + + * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Ditto. + +2021-03-05 Mauro Aranda + + Fix qualifiers order for loadhist-unload-element in elp.el + + * lisp/emacs-lisp/elp.el (loadhist-unload-element): The :extra + qualifier is expected to come before the other qualifiers, so do + that (bug#46917). + +2021-03-05 Stephen Berman + + Restrict the version guesser to top-level headings + + * lisp/help-fns.el (help-fns--first-release): Restrict the version + guesser to top-level section -- looking in all headings leads to + false positives (bug#46889). + +2021-03-05 Lars Ingebrigtsen + + Actually fill the correct paragraph in `lisp-fill-paragraph' + + * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Fix previous + change here by actually filling the correct paragraph (bug#28937). + +2021-03-05 Eli Zaretskii + + Fix initialization of 'while-no-input-ignore-events' + + * src/keyboard.c (syms_of_keyboard_for_pdumper): Don't reset + 'while-no-input-ignore-events' after loading the dump file. + (Bug#46940) + +2021-03-05 Basil L. Contovounesios + + Don't override load-path in require-theme + + * lisp/custom.el (require-theme): Open-code 'require' error, because + binding load-path can prevent other libraries from loading on error, + such as debug.el, which gives a misleading error. (Bug#45068) + +2021-03-05 Andrea Corallo + + * Harden `comp-abi-hash' computation + + Account for subr arity in `comp-abi-hash' computation as that's part + of the ABI exposed to .eln files. + + * src/comp.c (Fcomp__subr_signature): New support function. + (hash_native_abi): Make use of. + (syms_of_comp): Register 'Scomp__subr_signature'. + +2021-03-05 Pip Cet + + Don't ignore lexically-bound variables in a defvar (bug#46912) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Walk + the value form of a defvar. + +2021-03-05 Glenn Morris + + * Makefile.in: Ensure non-info forms of doc/misc have an Emacs binary. + +2021-03-05 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el: Make `doc-string` prop work with qualifiers + + (cl--defmethod-doc-pos): New function. + (cl-defmethod): Use it. + +2021-03-04 Andrea Corallo + + * Makefile.in (ELN_DESTDIR): Remove unnecessary double quoting. + +2021-03-04 Lars Ingebrigtsen + + Add a command in package mode for opening home pages directly + + * doc/emacs/package.texi (Package Menu): Document it. + * lisp/emacs-lisp/package.el (package-browse-url): New command and + keystroke (bug#46927). + +2021-03-04 Eli Zaretskii + + Fix typos and doc strings in native-compilation files + + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose) + (comp-always-compile, comp-deferred-compilation-deny-list) + (comp-bootstrap-deny-list, comp-never-optimize-functions) + (comp-async-jobs-number, comp-async-cu-done-hook) + (comp-async-all-done-hook, comp-async-env-modifier-form) + (comp-pass, comp-native-compiling, comp-post-pass-hooks) + (comp-known-predicate-p, comp-pred-to-cstr) + (comp-symbol-values-optimizable, comp-limple-assignments) + (comp-limple-calls, comp-limple-branches, comp-block) + (comp-vec--verify-idx, comp-vec-aref, comp-vec-append) + (comp-vec-prepend, comp-block-preds) + (comp-ensure-native-compiler, comp-log, comp-log-func) + (comp-loop-insn-in-block, comp-byte-frame-size) + (comp-add-func-to-ctxt, comp-spill-lap-function, comp-spill-lap) + (comp-lap-fall-through-p, comp-new-frame, comp-emit-set-call) + (comp-copy-slot, comp-latch-make-fill, comp-emit-cond-jump) + (comp-body-eff, comp-op-case, comp-prepare-args-for-top-level) + (comp-limplify-top-level, comp-negate-arithm-cmp-fun) + (comp-emit-assume, comp-cond-cstrs-target-mvar) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-form-tco-call-seq, comp-clean-up-stale-eln) + (comp-delete-or-replace-file, comp--native-compile) + (native--compile-async, native-compile) + (batch-byte-native-compile-for-bootstrap): Fix typos, wording, and + punctuation in doc strings. + * lisp/loadup.el: Fix typos. + + * src/lread.c (syms_of_lread): Doc fix. + +2021-03-04 Eli Zaretskii + + Update documentation of reading passwords + + * doc/emacs/mini.texi (Passwords): Update to match the modified + implementation. (Bug#46902) Add indexing. + +2021-03-04 Mauro Aranda + + Make checkdoc work with qualified methods + + * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Handle + cl-defmethod in a case of its own. Check for the presence of + qualifiers, and skip them accordingly until the docstring. + + * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-qualified-ok) + (checkdoc-cl-defmethod-with-extra-qualifier-ok) + (checkdoc-cl-defmethod-with-extra-and-nil-args-ok): Add tests for the fix. + +2021-03-04 Lars Ingebrigtsen + + Add "of" as a keyword in js-mode + + * lisp/progmodes/js.el (js--keyword-re): Add the "of" of "for + ... of" in ECMAScript 2018 (bug#46924). + +2021-03-04 Matt Armstrong + + Call the set_buffer_overlays_ setters + + * src/buffer.c (Fkill_buffer): Call set_buffer_overlays_before and + set_buffer_overlays_after instead of setting the fields directly + (bug#46914). + +2021-03-04 Glenn Morris + + Generate info/dir directly from any org sources + + * Makefile.in (texi_misc): New variable. + (srcdir_doc_info_dir_inputs): Use texi_misc. + (${srcdir}/info/dir): No longer depend on info-real. + +2021-03-04 Glenn Morris + + * doc/misc/Makefile.in (echo-sources): New phony target. + + * build-aux/make-info-dir: Handle .org input files. + +2021-03-04 Basil L. Contovounesios + + Decouple require-theme from load-theme + + * lisp/custom.el (require-theme): Refashion after 'require', as a + function for loading only named features. Do not call + load-theme (bug#45068). + * etc/NEWS: Update its announcement accordingly. + * doc/lispref/customize.texi (Custom Themes): Document it. + + * etc/themes/modus-operandi-theme.el: + * etc/themes/modus-vivendi-theme.el: Remove redundant calls to + 'provide'. + + * test/lisp/custom-tests.el (custom-tests--with-temp-dir): New + macro. + (custom-theme--load-path): Use it. + (custom-tests-require-theme): New test. + +2021-03-04 Mauro Aranda + + Remove copy-pasto from image-dired.el + + * lisp/image-dired.el (image-dired-dired-edit-comment-and-tags): + Remove reference to widget-example-repeat. + +2021-03-04 Mauro Aranda + + Remove duplicated tests in checkdoc-tests.el + + * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-ok) + (checkdoc-cl-defmethod-with-types-ok, checkdoc-cl-defun-with-key-ok) + (checkdoc-cl-defun-with-allow-other-keys-ok) + (checkdoc-cl-defun-with-default-optional-value-ok) + (checkdoc-cl-defun-with-destructuring-ok): This tests were duplicated, + so keep one copy of them. Checked by diffing two files with the + suspected tests, and supported by the fact that running occur with the + regexp "^(ert-deftest" reported 14 matches, while the tests being run + were 8. + +2021-03-04 Lars Ingebrigtsen + + Make radio checkboxes work in eww + + * lisp/net/eww.el (eww-toggle-checkbox): Actually update the + :checked values in the form. + +2021-03-04 Andrea Corallo + + * src/comp.c (hash_native_abi): Account for `system-configuraton-options'. + +2021-03-04 Glenn Morris + + Fix a doc/misc clean rule + + * doc/misc/Makefile.in (TEXI_FROM_ORG): New variable. + (orgclean): Fix rule. + +2021-03-04 Basil L. Contovounesios + + Fix pcase dontcare pattern in cl--sm-macroexpand + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00119.html + + * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix recently + uncovered use of old name for pcase--dontcare. + +2021-03-04 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase-defmacro): Fix `pcase-tests-macro` + + * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Simplify accordingly. + +2021-03-03 Ulf Jasper + + Preserve group structure on opml import and export. + + * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults), + (newsticker-url-list-defaults), + (newsticker--get-news-by-url), + (newsticker--sentinel-work), + (newsticker--parse-atom-0.3), + (newsticker--decode-rfc822-date), + (newsticker--image-download-by-wget), + (newsticker--image-save), + (newsticker--image-download-by-url), + (newsticker--cache-save), + (newsticker--stat-num-items): Fix indentation. + (newsticker-opml-export): Preserve group structure on export. + (newsticker--opml-insert-elt), + (newsticker--opml-insert-group), + (newsticker--opml-insert-feed): New. + (newsticker--opml-import-outlines): + (newsticker-opml-import): Preserve group structure on import. (Fixes + fourth issue in Bug#41376.) + +2021-03-03 Pip Cet + + Don't call _setjmp through a function pointer (Bug#46824) + + * src/comp.c (helper_link_table): Don't include SETJMP except on Windows. + (emit_setjmp): Don't use function pointers except on Windows. + (declare_runtime_imported_funcs): Don't import SETJMP at runtime. + (ABI_VERSION): Bump. + * test/src/comp-tests.el (46824-1): New test. + * test/src/comp-test-funcs.el (comp-test-46824-1-f): New function. + +2021-03-03 Andrea Corallo + + * src/comp.c (return_nil): Make it not a nested function. + +2021-03-03 Andrea Corallo + + Fix two compiler ICEs dealing with nan and infinity + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Don't crash when + truncate fails. + * test/src/comp-test-funcs.el (comp-test-=-nan): Add two functions + to be compiled. + +2021-03-03 Juri Linkov + + New mode outline-cycle-minor-mode with Orgmode-like TAB cycling on headings + + * lisp/outline.el (outline-mode-cycle-map): New keymap from outline-mode-map. + (outline-mode-map): Inherit from outline-mode-cycle-map. + (outline-font-lock-keywords): Append keymap and face depending on + 'outline-minor-mode-cycle' and 'outline-minor-mode-highlight'. + (outline-minor-mode-cycle, outline-minor-mode-highlight): New variables. + (outline-minor-mode-highlight-buffer): New function. + (outline-minor-mode): Handle 'outline-minor-mode-cycle' and + 'outline-minor-mode-highlight'. + (outline-cycle-minor-mode, outline-cycle-highlight-minor-mode): + New minor modes (bug#45147). + + * etc/compilation.txt: + * etc/grep.txt: + Enable outline-cycle-highlight-minor-mode. + +2021-03-03 Stefan Kangas + + Make inversion.el obsolete (Bug#46841) + + * lisp/cedet/inversion.el: + * test/lisp/cedet/inversion-tests.el: Move from here... + * lisp/obsolete/inversion.el: + * test/lisp/obsolete/inversion-tests.el: ...to here. + + * lisp/cedet/cedet.el (cedet-version): Make obsolete. + * lisp/cedet/cedet-cscope.el (cedet-cscope-version-check): + * lisp/cedet/cedet-global.el (cedet-gnu-global-version-check): + * lisp/cedet/cedet-idutils.el (cedet-idutils-version-check): + * lisp/cedet/ede/make.el (ede-make-check-version): Use 'version<' + instead of 'inversion-check-version'. + * lisp/cedet/semantic/db-file.el (semanticdb-load-database): Don't + use 'inversion-test'. + * lisp/cedet/semantic/ede-grammar.el + (ede-proj-makefile-insert-variables): Don't add inversion to + loadpath. + * lisp/speedbar.el: Remove stale comment. + +2021-03-03 Eli Zaretskii + + Fix compilation warnings in --with-wide-int build on Windows + + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_lisp_word_tag): Fix comparison of unsigned + values. + (gcc_jit_context_new_rvalue_from_ptr): Define only if + LISP_WORDS_ARE_POINTERS, to avoid compilation warning. + (init_gccjit_functions): Load gcc_jit_context_new_rvalue_from_ptr + only if LISP_WORDS_ARE_POINTERS. + +2021-03-03 Eli Zaretskii + + Avoid aborting on MS-Windows at startup + + * src/emacs.c (set_invocation_vars) [WINDOWSNT]: If argv0 is not + an absolute file name, obtain the absolute file name of the Emacs + executable from 'w32_my_exename'. + +2021-03-03 Eli Zaretskii + + Improve NEWS entries about native-compilation + + * etc/NEWS: Add an entry about native-compilation. Improve + wording of the entry about 'package-native-compile'. + +2021-03-03 Alan Mackenzie + + C++ Mode: Handle "if constexpr (...)" with a simple statement correctly + + * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add a check and + handling for c-block-stmt-hangon-key in the main loop. + +2021-03-02 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase--u1): Fix typo + +2021-03-02 Alan Mackenzie + + CC Mode: Fix analysis of brace lists, particularly in C++ Mode + + Fix some alignment functionality in cc-align.el. + + * lisp/progmodes/cc-align.el (c-lineup-arglist-intro-after-paren): Align the + next line under the previous entry rather than one to the right of the paren. + (c-lineup-2nd-brace-entry-in-arglist): Take the anchor point from the + brace-list-entry element, not the brace-list-intro one. + + * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Use + c-looking-at-statement-block to test whether "struct A {" begins a brace list + or a struct declaration. + (c-looking-at-or-maybe-in-bracelist): Several detailed amendments, correctly + to recognize brace lists. + (c-looking-at-statement-block): No longer search for commas, as they are not + reliable indicators of a brace list. Search now for a restricted set of + keywords, since some can appear in brace lists in C++ mode. + + * lisp/progmodes/cc-langs.el (c-stmt-block-only-keywords) + (c-stmt-block-only-keywords-regexp): New lang consts/vars. + (c-pre-id-bracelist-kwds): New lang const. + (c-pre-id-bracelist-key): Derive now from the above. + (c-pre-brace-non-bracelist-key): New lang const/var. + +2021-03-02 Juri Linkov + + * lisp/tab-bar.el: Minor stylistic fixes. + + (tab-bar-select-tab-modifiers): Use tab-bar--undefine-keys and + tab-bar--define-keys instead of turning tab-bar-mode on/off. + +2021-03-02 Stefan Monnier + + * lisp/emacs-lisp/trace.el (trace-values): Work outside of traced function + +2021-03-02 Andrea Corallo + + Fix = propagation semantic for constrained inputs + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize + `comp-cstr-shallow-copy'. + (comp-cstr-=): Relax inputs before intersecting them. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three + tests. + +2021-03-02 Dmitry Gutov + + (ruby-find-library-file): Also recognize 'gem' statements + + * lisp/progmodes/ruby-mode.el (ruby-find-library-file): + Also recognize 'gem' statements. + +2021-03-02 Pip Cet + + Compile closures that modify their bound vars correctly (Bug#46834) + + * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Don't + move let bindings into the lambda. Don't reverse list of + bindings. (byte-compile): Evaluate the return value if it was + previously reified. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-reify-function): + Add tests. + +2021-03-02 Lars Ingebrigtsen + + Improve the dired-do-kill-lines doc string + + * lisp/dired-aux.el (dired-do-kill-lines): Document the FMT + parameter (bug#46867). + +2021-03-02 Stefan Monnier + + * lisp/emacs-lisp/pcase.el: Bind all the vars in `or` patterns + + Improve the handling of `or` patterns where not all sub-patterns bind the + same set of variables. This used to be "unsupported" and behaved in + somewhat unpredictable ways. + + (pcase--expand): Rewrite. + (pcase-codegen): Delete. + + * doc/lispref/control.texi (pcase Macro): Adjust accordingly. + Also remove the warning about "at least two" sub patterns. + These work fine, AFAICT, and if not we should fix it. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-or-vars): New test. + +2021-03-01 Lars Ingebrigtsen + + Fix previous completion-pcm--optimize-pattern fix + + * lisp/minibuffer.el (completion-pcm--optimize-pattern): Re-fix + previous change. + +2021-03-01 Lars Ingebrigtsen + + Fix warning in completion-pcm--optimize-pattern + + * lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove + unused variable. + +2021-03-01 Lars Ingebrigtsen + + Make easymenu downcase the menu symbol for greater backwards compat + + * lisp/cmuscheme.el (map): Revert previous fix. + + * lisp/woman.el (woman-dired-define-keys): Ditto. + + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Downcase the + menu name for greater backwards compatibility. + +2021-03-01 Stefan Monnier + + * lisp/emacs-lisp/pcase.el: Fix bug#46786 + + Revert commit a218c9861573b5ec4979ff2662f5c0343397e3ff, but in order + to avoid the spurious warnings that this commit tried to squash, + keep track of the vars used during the match so as to add + corresponding annotations to explicitly silence the spurious warnings. + + To do this, we change the VARS used in `pcase-u` (and throughout + the pcase code): they used to hold elements of the form (NAME . VAL) + and now they hold elements of the form (NAME VAL . USED). + + (pcase--expand): Bind all vars instead of only those found via fgrep. + (pcase-codegen): Silence "unused var" warnings for those vars that have + already been referenced during the match itself. + (pcase--funcall, pcase--eval): Record the vars that are used. + (pcase--u1): Record the vars that are used via non-linear patterns. + + * lisp/textmodes/mhtml-mode.el (mhtml-forward): + * lisp/vc/diff-mode.el (diff-goto-source): Silence newly + discovered warnings. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-bug46786): New test. + +2021-03-01 Mattias Engdeg奪rd + + Fix multiple Calc defmath errors (bug#46750) + + Fix incorrect variable scoping in `let*`, `for` and `foreach`. + Fix loop variable value in `foreach` (should be element, not tail). + Fix function quoting, as in ('cons x y) -- didn't work at all. + + Reported by Stephan Neuhaus. + + * lisp/calc/calc-prog.el (math-define-exp, math-handle-foreach): + * test/lisp/calc/calc-tests.el: (var-g, test1, test2, test3, test4) + (test5, test6, test7, calc-defmath): Test various defmath forms. + +2021-03-01 Mattias Engdeg奪rd + + Remove references to old bignums from Calc manual + + * doc/misc/calc.texi: Remove references to the old Calc representation + of big integers, outdated references to fixnums, an any text and + examples that only made sense at the time. + +2021-03-01 Mattias Engdeg奪rd + + * lisp/calc/calc-ext.el (math-equal-int): Work for bignums. + +2021-03-01 Juri Linkov + + * lisp/isearch.el: Minor doc fix. + + * lisp/tab-bar.el (tab-bar--define-keys): Add check for tab-bar-format-global. + +2021-03-01 Protesilaos Stavrou + + Add 'require-theme' function + + * etc/NEWS: Document new function. + * lisp/custom.el (require-theme): Add function. + + This follows from the discussion on bug#45068 where it became apparent + that there was no equivalent mechanism to 'require' that read through + the 'custom-theme-load-path'. + +2021-03-01 Lars Ingebrigtsen + + Fix woman.el menu alteration code + + * lisp/woman.el (woman-dired-define-keys): Fix naming of menu + after dired menu changes. + +2021-03-01 Alan Mackenzie + + CC Mode: Amend C-M-a/e to handle lambda function in C++ arglist + + * lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Reformulate latter + part such that the least enclosing braces and parentheses are used when + determining containment in such. c-beginning-of-decl-1 has been superseded + by list movement and syntactic whitespace movement. + (c-backward-to-nth-BOF-{): Work on least enclosing parens rather than parens + at any level when moving back to an opening brace. + (c-forward-to-nth-EOF-\;-or-}): Work on least enclosing parens, as above. + Move the correction of point when in a "function trailer" to after the main + loop, correcting a minor bug. + +2021-03-01 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase--split-pred): Re-fix bug#14773 + + Adjust to calling convention of `macroexp--fgrep`. + +2021-03-01 Stefan Monnier + + Fix misuses of `byte-compile-macro-environment` + + These seem to be left overs from Emacs<24 when `macroexpand-all` was + implemented in the CL library and hence the macros's evaluation + environment could come from different places depending on the + circumstance (either `byte-compile-macro-environment`, or + `cl-macro-environment`, or ...). + + `byte-compile-macro-environment` contains definitions which expand to + code that is only understood by the rest of the byte-compiler, + so using it for code which isn't being byte-compiled leads to errors + such as references to non-existing function + `internal--with-suppressed-warnings`. + + * lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): Remove left-over + binding from when `macroexpand-all` was implemented in the CL library. + + * lisp/emacs-lisp/ert.el (ert--expand-should-1): + * lisp/emacs-lisp/cl-macs.el (cl--compile-time-too): Properly preserve the + macroexpand-all-environment. + (cl--macroexp-fboundp): Pay attention to `cl-macrolet` macros as well. + +2021-03-01 Andrea Corallo + + Fix `eql' `equal' propagation of non hash consed values (bug#46843) + + Extend assumes allowing the following form: + + (assume dst (and-nhc src1 src2)) + + `and-nhc' assume operator allow for constraining correctly + intersections where non hash consed values are not propagated as + values but rather promoted to their types. + + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-no-hashcons): New function. + * lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit + `and-nhc' operator (implemented in fwprop by + `comp-cstr-intersection-no-hashcons'). + (comp-add-cond-cstrs): Map `eq' to `and' assume operator and + `equal' `eql' into `and-nhc'. + (comp-fwprop-insn): Update to handle `and-nhc'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests covering `eql' and `equal' propagation of non hash consed + values. + +2021-03-01 Stefan Monnier + + * src/eval.c (init_eval_once): Bump max_specpdl_size (bug46818) + + Further testing seems to confirm my suspicion that the increase in the + specpdl comes from the recent change to `pcase--if`. + + * lisp/international/mule-cmds.el (update-leim-list-file): Revert workaround. + +2021-03-01 Matt Armstrong + + Clean up obsolete comment + + * src/marker.c (unchain_marker): Clean up obsolete comment + (bug#46836). + + Commit cf3164523b (* src/alloc.c: Avoid O(N族) complexity when + unchaining markers (bug#24548)., 2018-03-23) removed the call from GC + into unchain_marker, so there is no need to warn about it. + +2021-03-01 F. Jason Park + + Fix Bootstring skew parameter in puny.el + + * lisp/net/puny.el: change puny-skew to match value given in RFC3492. + * test/lisp/net/puny-tests.el (puny-test-encode-domain) + (puny-test-decode-domain): add regression case for popular + domain. (bug#46838). + +2021-03-01 Stefan Kangas + + Convert various menus to easymenu + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode-map): Move menu from + here... + (lisp-mode-menu): ...to here, and convert to easymenu. + + * lisp/progmodes/elisp-mode.el (lisp-interaction-mode-map): Move + menu definition from here... + (lisp-interaction-mode-menu): ...to here, and convert to easymenu. + + * lisp/replace.el (occur-menu-map): Convert to easymenu. + +2021-03-01 Glenn Morris + + Improve admin.el's Makefile in standalone manual tarfiles + + * admin/admin.el (make-manuals-dist-output-variables): + Fix abs_top_builddir. Add EMACS. + (make-manuals-dist--1): Respect case when replacing output variables. + +2021-03-01 Glenn Morris + + info/dir needs generated texi files to exist + + * Makefile.in (misc-info): Depend on lisp. + (${srcdir}/info/dir): Depend on info-real. + (info): Simplify. + +2021-03-01 Glenn Morris + + Make generation of texi from org overwrite output + + * doc/misc/Makefile.in (org_template): Don't delete output. + * lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch): + Overwrite existing output. + +2021-02-28 Andrea Corallo + + Don't treat '=' as simple equality emitting constraints (bug#46812) + + Extend assumes allowing the following form + + (assume dst (= src1 src2)) + + to caputure '=' semanting during fwprop handling float integer + conversions. + + * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as + simple equality. + (comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun) + (comp-reverse-arithm-fun): Rename and add '=' '!='. + (comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update + for new function nameing and to handle '='. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch + of '=' specific tests. + +2021-02-28 Andrea Corallo + + Migrate and rename a bunch of functions from comp.el to comp-cstr.el + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p) + (comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p) + (comp-cstr-cons-p): Move and rename from 'comp.el'. + * lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p) + (make-comp-mvar, comp-emit-assume, comp-fwprop-prologue) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func) + (comp-compute-function-type): Update for renamed functions. + * src/comp.c (emit_mvar_rval): Likewise. + * test/src/comp-tests.el (comp-tests-mentioned-p-1) + (comp-tests-cond-rw-checker-val): Likewise. + +2021-02-28 Glenn Morris + + * doc/misc/modus-themes.org: Add copying markup. (Bug#45141) + +2021-02-28 Glenn Morris + + Update admins make-manuals for new output variable + + * admin/admin.el (make-manuals-dist-output-variables): + Add abs_top_builddir. + +2021-02-28 Stefan Kangas + + Convert dired menus to easymenu + + * lisp/dired.el (dired-mode-map): Move menus from here... + (dired-mode-subdir-menu, dired-mode-immediate-menu) + (dired-mode-regexp-menu, dired-mode-mark-menu) + (dired-mode-operate-menu): ...to here, and convert to easymenu. + +2021-02-28 Stefan Kangas + + Convert hi-lock-menu to easymenu + + * lisp/hi-lock.el (hi-lock-menu): Convert to easymenu. + +2021-02-28 Alan Mackenzie + + Combine and reconcile two conflicting entries in NEWS on goto-line-history + + * etc/NEWS: Amend. + + * doc/lispref/minibuf.texi (Minibuffer History): Amend the entry about + goto-line-history, which is now buffer local only after being so customized. + +2021-02-28 Mattias Engdeg奪rd + + Declare more string predicates as pure + + * lisp/emacs-lisp/byte-opt.el (pure-fns): Treat string>, + string-greaterp, string-empty-p, string-blank-p, string-prefix-p and + string-suffix-p as pure functions in the compiler. + +2021-02-28 Stefan Kangas + + Convert ibuffer menus to easymenu + + * lisp/ibuffer.el (ibuffer-mode-map): Move menu from here... + (ibuffer-mode-mark-menu, ibuffer-mode-view-menu): ...to here. + Convert to easymenu. + (ibuffer-mode--groups-menu-definition): New function. Fix bug where + "Kill filter by group named" and "Yank last killed filter group + before" was overwritten and never shown in the menu. + (ibuffer-mode-groups-popup): Convert to easymenu. + (ibuffer-mode-operate-menu): Rename from 'ibuffer-mode-operate-map' + and update uses. Convert to easymenu. + (ibuffer-mode-operate-map): Make into obsolete alias for above + renamed variable. + +2021-02-28 Michael Albinus + + Add `completion-predicate' to some Tramp commands + + * lisp/net/tramp-cmds.el (tramp-cleanup-this-connection) + (tramp-rename-these-files): Add property `completion-predicate'. + + * lisp/net/tramp.el (tramp-command-completion-p): New defun. + +2021-02-28 Kapuze Martin (tiny change) + + Enable Python type hints and non-trivial base classes in wisent + + * admin/grammars/python.wy: Enable understanding Python type hints + and non-trivial base classes (bug#46817). + +2021-02-28 Lars Ingebrigtsen + + Adjust cmuscheme.el menu bar after previous scheme.el change + + * lisp/cmuscheme.el (map): Adjust the keymap lookup after recent + scheme.el change (bug#46820). + +2021-02-28 Mattias Engdeg奪rd + + Fix pcase 'rx' pattern match-data bug + + The pcase 'rx' pattern would in some cases allow the match data to be + clobbered before it is read. For example: + + (pcase "PQR" + ((and (rx (let a nonl)) (rx ?z)) (list 'one a)) + ((rx (let b ?Q)) (list 'two b))) + + The above returned (two "P") instead of the correct (two "Q"). + This occurred because the calls to string-match and match-string were + presented as separate patterns to pcase, which would interleave them + with other patterns. + + As a remedy, combine string matching and match-data extraction into a + single pcase pattern. This introduces a slight inefficiency for two + or more submatches as they are grouped into a list structure which + then has to be destructured. + + Found by Stefan Monnier. See discussion at + https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg02010.html + + * lisp/emacs-lisp/rx.el (rx--reduce-right): New helper. + (rx [pcase macro]): Combine string-match and match-string calls into a + single pcase pattern. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases. + +2021-02-28 Stefan Monnier + + * lisp/international/mule-cmds.el: Try and fix bug#46818 + + (update-leim-list-file): Reduce stack/pdl use. + +2021-02-28 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el: Rewrite the code warning about '(lambda ...) + + (macroexp--expand-all): Use `pcase--dontcare` so pcase generates + slightly better code. Don't hardcode which functions takes function + arguments; rely on a new `funarg-positions` symbol property instead. + +2021-02-28 Stefan Kangas + + Convert text-mode menu to easymenu + + * lisp/textmodes/text-mode.el (text-mode-map): Move menu + definition from here... + (text-mode-menu): ...to here, and convert to easymenu. + +2021-02-28 Stefan Kangas + + Convert isearch menu to easymenu + + * lisp/isearch.el (isearch-menu-bar-yank-map) + (isearch-menu-bar-map, isearch-mode-map): Move menu definition + from here... + (isearch-menu-bar-map): ...to here, and convert to easymenu. + + * lisp/loadup.el ("emacs-lisp/easymenu"): Move before isearch.el. + +2021-02-28 Stefan Kangas + + Checkdoc fixes in isearch.el + + * lisp/isearch.el (isearch--set-state, isearch-yank-pop-only) + (isearch-search-and-update, isearch-complete-edit, isearch-search): + Minor doc fixes. + +2021-02-27 Juri Linkov + + * lisp/tab-bar.el: Support displaying global-mode-string in the tab bar. + + * lisp/tab-bar.el (tab-bar--define-keys): Update global-mode-string + in mode-line-misc-info with condition to disable global-mode-string + in the mode line. + (tab-bar-format): New variable. + (tab-bar-format-history, tab-bar-format-add-tab) + (tab-bar-format-tabs): New functions with body from + 'tab-bar-make-keymap-1'. + (tab-bar-format-align-right, tab-bar-format-global): New functions for + 'tab-bar-format' list. + (tab-bar-format-list): New utility function. + (tab-bar-make-keymap-1): Just call 'tab-bar-format-list'. + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01210.html + +2021-02-27 Juri Linkov + + * lisp/subr.el (read-char-choice-with-read-key): New function. + + * lisp/subr.el (read-char-choice): Move most of the function body to + 'read-char-choice-with-read-key'. + (read-char-choice-with-read-key): New function with body from + 'read-char-choice'. + +2021-02-27 Stefan Kangas + + Convert Buffer-menu-mode menu to easymenu + + * lisp/buff-menu.el (Buffer-menu-mode-map): Move menu + definition from here... + (Buffer-menu-mode-menu): ...to here, and convert to easymenu. + +2021-02-27 Stefan Kangas + + Minor fixes after preloading easymenu + + * lisp/cedet/ede/dired.el: + * lisp/dired-x.el: + * lisp/filesets.el: + * lisp/follow.el: + * lisp/gnus/gnus-registry.el: + * lisp/net/eudc.el: + * lisp/printing.el: + * lisp/recentf.el: + * lisp/speedbar.el: Remove redundant require of easymenu; it is now + preloaded. + * lisp/org/org.el: + * lisp/progmodes/antlr-mode.el: + * lisp/progmodes/vhdl-mode.el: + * lisp/textmodes/reftex.el: Don't require easymenu in Emacs 28 or + later. + + * etc/NEWS: Announce that 'easymenu' is now preloaded. + +2021-02-27 Glenn Morris + + Fix doc/misc Makefile for out-of-tree with relative path + + * doc/misc/Makefile.in (org_template): Fix for relative srcdir. + +2021-02-27 Glenn Morris + + Improve Makefile treatment of org sources in doc/misc + + * doc/misc/Makefile.in (ORG_SETUP): New variable. + (ORG_SRC): Use wildcard rather than hard-coding. + (org_template): Adjust for input containing $srcdir and suffix. + (org_setup_template): New template. + +2021-02-27 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Fix minor regression introduced by pdump + + After `rm **/*.elc; make` we'd sometimes get loads and loads of unnecessary + "Reloading ...". + + (byte-compile-refresh-preloaded): Don't reload files that are more + recent than `temacs` but older than the `.pdmp` file. + +2021-02-27 Stefan Kangas + + Don't require overlay; that's only needed in XEmacs + + * lisp/allout.el: + * lisp/net/eudc.el: + * lisp/org/org.el: Don't require overlay; that's only needed in + XEmacs. + +2021-02-27 Stefan Monnier + + * lisp/emacs-lisp/cconv.el: Fix uncaught brain farts in last change + + (cconv--convert-funcbody, cconv-convert): Use `macroexp--warn-wrap` properly. + +2021-02-27 Lars Ingebrigtsen + + Add sexp navigation commands to elisp-mode + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Add some + navigation commands (bug#24774). + +2021-02-27 Stefan Kangas + + Convert emacs-lisp-mode menu to easy-menu-define + + * lisp/loadup.el: Preload easymenu. + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Convert menu to + use easy-menu-define (bug#24774). + +2021-02-27 Matt Armstrong + + Remove unecessary unlock-buffer calls + + * lisp/files.el (revert-buffer-insert-file-contents--default-function): + Remove vestigial call to `unlock-buffer'. + * lisp/simple.el (primitive-undo): Assume unlock-buffer is always + bound. (Bug#46701) + +2021-02-27 Eli Zaretskii + + Avoid crashes in Mew due to corrupted tool-bar label + + * src/gtkutil.c (update_frame_tool_bar): Don't keep around a + 'char *' pointer to a Lisp string's contents when calling Lisp, + because that could relocate string data; keep the Lisp string + itself instead. This avoids crashes in Mew. (Bug#46791) + +2021-02-27 Lars Ingebrigtsen + + Compute grep defaults earlier + + * lisp/progmodes/grep.el (grep): Always compute the defaults + (bug#46801). + (grep-highlight-matches): Clarify that it's not just used + interactively. + +2021-02-27 Lars Ingebrigtsen + + Change defcustom types of two non-standard hooks + + * lisp/erc/erc.el (erc-before-connect, erc-after-connect): Change + type from 'hook to 'function (bug#34657). + +2021-02-27 F. Jason Park + + Accept string argument in erc-add-to-input-ring + + * lisp/erc/erc-ring.el: (erc-add-to-input-ring) + (erc-previous-command): Use existing API to grab input. + * test/lisp/erc/erc-tests.el: (erc-ring-previous-command) + See (bug#46339). + +2021-02-27 Lars Ingebrigtsen + + Add generated .texi files to .gitignore + +2021-02-27 Glenn Morris + + Fixes for doc/misc org source files + + * doc/misc/org-setup.org: Fix "version" file lookup. Add copyright. + * doc/misc/modus-themes.org: Fix up doclicense include. + * doc/misc/org.org: Remove non-working and unused "modification-time". + Fix up doclicense include. Adjust setupfile inclusion. + +2021-02-27 Glenn Morris + + Distribute the real source for some doc/misc manuals (bug#45143) + + * doc/misc/modus-themes.texi, doc/misc/org.texi: + Remove generated files from repository. + * doc/misc/Makefile.in: Add rules for building .texi from .org. + (ORG_SRC, abs_top_builddir, EMACS, emacs): + New variables. + (org_template): New template. + (orgclean): New phony target. + * Makefile.in (info): Depend on lisp. + * lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch): + New function. + * doc/misc/org.org, doc/misc/org-setup.org: New files. + Import from https://code.orgmode.org d8e8a97a14. + +2021-02-27 Protesilaos Stavrou + + Import org source file for modus-themes manual + + * doc/misc/modus-themes.org: New file. + Import from https://gitlab.com/protesilaos/modus-themes 515180ac. + +2021-02-27 Stefan Kangas + + Use lexical-binding in progmodes/icon.el + + * lisp/progmodes/icon.el: Use lexical-binding. + (electric-icon-brace): Very minor cleanup. + +2021-02-27 Stefan Kangas + + Convert change-log-mode menu to easy-menu-define + + * lisp/vc/add-log.el (change-log-mode-map): Move menu from here... + (change-log-mode-menu): ...to here; convert to easy-menu-define. + +2021-02-27 Stefan Monnier + + * lisp/emacs-lisp/cconv.el: Improve line-nb info of unused var warnings + + Instead of warning about unused vars during the analysis phase of + closure conversion, do it in the actual closure conversion by + annotating the code with "unused" warnings, so that the warnings + get emitted later by the bytecomp phase, like all other warnings, + at which point the line-number info is a bit less imprecise. + + Take advantage of this change to wrap the expressions of unused + let-bound vars inside (ignore ...) so the byte-compiler can better + optimize them away. + + Finally, promote `macroexp--warn-and-return` to "official" status + by removing its "--" marker. + + (cconv-captured+mutated, cconv-lambda-candidates): Remove vars. + (cconv-var-classification): New var to replace them. + (cconv-warnings-only): Delete function. + (cconv--warn-unused-msg, cconv--var-classification): New functions. + (cconv--convert-funcbody): Add warnings for unused args. + (cconv-convert): Add warnings for unused vars in `let` and `condition-case`. + (cconv--analyze-use): Don't emit an "unused var" warning any more, + but instead remember the fact in `cconv-var-classification`. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): + Remove variable. + (byte-compile-preprocess): Remove corresponding case. + + * lisp/emacs-lisp/pcase.el (pcase--if): Don't throw away `test` effects. + (\`): + * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Use `car-safe` instead + of `car`, so it can more easily be removed by the optimizer if the + result is not used. + + * lisp/emacs-lisp/macroexp.el (macroexp--warn-wrap): New function. + (macroexp-warn-and-return): Rename from `macroexp--warn-and-return`. + +2021-02-26 Stefan Monnier + + lisp/vc/*.el: Use lexical-bindings in all the files + + Also remove some redundant `:group` arguments. + + * lisp/vc/vc.el (vc-ignore): Autoload. + + * lisp/vc/pcvs-util.el (cvs-every, cvs-union, cvs-map): Delete functions. + * lisp/vc/cvs-status.el: Require `cl-lib` at runtime. + (cvs-tree-tags-insert): Use `cl-mapcar` and `cl-every` instead. + * lisp/vc/pcvs.el: Require `cl-lib` at runtime. + (cvs-do-removal): Use `cl-every` instead. + + * lisp/vc/ediff-init.el: Require `ediff-util` (for `ediff-cleanup-mess` + and `ediff-default-suspend-function`). + + * lisp/vc/pcvs-info.el (cvs-fileinfo<): Remove unused vars `subtypea` + and `subtypeb`. + + * lisp/vc/vc-git.el: + * lisp/vc/vc-bzr.el: Require `vc-dispatcher` at runtime for + `vc-do-async-command`. + +2021-02-26 Stefan Monnier + + * lisp/cedet/semantic/idle.el: Fix compilation warning + + (eldoc-last-message): Remove var declaration. + (eldoc-message): Remove function declaration. + (semantic--eldoc-info): Rename from semantic-idle-summary-idle-function. + Make it usable on `eldoc-documentation-functions`. + (semantic-idle-summary-mode): Use `eldoc-mode`. + (semantic-idle-summary-refresh-echo-area): Delete function. + +2021-02-26 Andrea Corallo + + * Canonicalize filenames on Windows before hashing (bug#46256) + + * src/comp.c (Fcomp_el_to_eln_filename): On Windowns + canonicalize filenames before hashing. + +2021-02-26 Stefan Monnier + + * lisp/cedet/semantic/analyze*.el: Use lexical-binding + + * lisp/cedet/semantic/analyze.el: Use lexical-binding. + Rename the dynbound var `prefixtypes` to `semantic--prefixtypes`. + (semantic--prefixtypes): Declare var. + + * lisp/cedet/semantic/analyze/complete.el: Use lexical-binding. + (semantic--prefixtypes): Declare var. + (semantic-analyze-possible-completions-default): Remove unused var `any`. + Rename `prefixtypes` to `semantic--prefixtypes`. + + * lisp/cedet/semantic/analyze/debug.el: Use lexical-binding. + (semantic-analyzer-debug-global-symbol): Remove no-op use of `prefixtypes`. + + * lisp/cedet/semantic/analyze/refs.el: + * lisp/cedet/semantic/analyze/fcn.el: Use lexical-binding. + +2021-02-26 Andrea Corallo + + * Change native compiler configure flag into '--with-native-compilation' + + * configure.ac: Rename configure nativecomp flags into + --with-native-compilation. + +2021-02-26 Andrea Corallo + + * Interactive tag native compilation function in emacs-lisp-mode + + * lisp/progmodes/elisp-mode.el + (emacs-lisp-native-compile-and-load): Tag it for `emacs-lisp-mode'. + +2021-02-26 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-02-26 Michael Albinus + + Fix Tramp manual + + * doc/misc/tramp.texi (External methods): Mention "about-args". + (Remote shell setup): Use sshx. + +2021-02-26 Stefan Kangas + + Make some defcustom types stricter in comp.el + + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose) + (comp-async-jobs-number, comp-async-env-modifier-form): Use stricter + types. + +2021-02-26 Stefan Kangas + + Add :version tags to defcustoms in comp.el + + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose) + (comp-never-optimize-functions, comp-async-jobs-number) + (comp-async-cu-done-hook, comp-async-all-done-hook) + (comp-async-env-modifier-form) + (comp-async-report-warnings-errors, comp-native-driver-options) + (comp-libgccjit-reproducer): Add :version tags. + +2021-02-26 Stefan Kangas + + * lisp/progmodes/dcl-mode.el: Minor doc fixes. + +2021-02-26 Stefan Kangas + + Convert some more progmode menus to easy-menu-define + + * lisp/progmodes/dcl-mode.el (dcl-mode-map): + * lisp/progmodes/icon.el (icon-mode-map): + * lisp/progmodes/scheme.el (scheme-mode-map): + Move menu definitions from here... + * lisp/progmodes/dcl-mode.el (dcl-mode-menu): + * lisp/progmodes/icon.el (icon-mode-menu) + * lisp/progmodes/scheme.el (scheme-mode-menu): + ...to here, and use easy-menu-define. + + * lisp/progmodes/icon.el + (icon-mode-map, icon-mode-syntax-table): Simplify. + +2021-02-26 Stefan Kangas + + Convert simula-mode menu to easy-menu-define + + * lisp/progmodes/simula.el (simula-mode-map): Move menu definition + from here... + (simula-mode-menu): ...to here, and use easy-menu-define. + (simula-popup-menu): Declare unused function obsolete. + +2021-02-26 Stefan Kangas + + Fix syntax highlighting of easy-menu-define docstrings + + * lisp/emacs-lisp/easymenu.el (easy-menu-define): Add doc-string + declaration for correct syntax highlighting. + +2021-02-26 Stefan Kangas + + Remove redundant requires of easymenu + + * lisp/allout.el: + * lisp/emacs-lisp/edebug.el: + * lisp/emacs-lisp/ert.el: + * lisp/erc/erc-menu.el: + * lisp/help-mode.el: + * lisp/net/dictionary.el: + * lisp/nxml/rng-nxml.el: + * lisp/progmodes/ebrowse.el: + * lisp/progmodes/meta-mode.el: + * lisp/progmodes/prolog.el: + * lisp/progmodes/ps-mode.el: + * lisp/progmodes/vera-mode.el: + * lisp/wid-browse.el: Remove redundant require of easymenu. We only + use the autoloaded macro 'easy-menu-define' here. + +2021-02-26 Stefan Kangas + + Remove check for missing easymenu from cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-menu): Don't wrap definition + in condition-case; easymenu always exists in Emacs. + (easymenu): Remove redundant require. + +2021-02-26 Eli Zaretskii + + Fix last change + + * lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors): + Improve wording of the doc string. + +2021-02-26 Andrea Corallo + + * Improve `comp-async-report-warnings-errors' docstring + + * lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors): + Improve docstring. + +2021-02-26 Eli Zaretskii + + Improve documentation of last change + + * lisp/emacs-lisp/comp.el (comp-async-query-on-exit) + (comp-async-report-warnings-errors): Improve wording. + +2021-02-26 Andrea Corallo + + * Add `comp-async-query-on-exit' customize. + + * lisp/emacs-lisp/comp.el (comp-async-query-on-exit): New customize. + (comp-run-async-workers): Make use of. + +2021-02-26 Basil L. Contovounesios + + Function-quote completion property of declare form + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-02/msg01666.html + + * lisp/emacs-lisp/byte-run.el (byte-run--set-completion): Quote with + 'function' for syntactical consistency with other declare form + properties. This allows writing (declare (completion foo)) instead + of (declare (completion 'foo)). + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): + * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Prefer + function-put over put for function symbols. + * lisp/subr.el (ignore, undefined): Remove #'-quoting from declare + form; it is no longer needed. + +2021-02-26 Mattias Engdeg奪rd + + Fix pcase rx pattern bugs + + Two unrelated bugs: A missing type check caused an error in rx + patterns for non-string match targets, and rx patterns did not work at + all in pcase-let or pcase-let*. + + Second bug reported by Basil Contovounesios and Ag Ibragimov; fixes + proposed by Stefan Monnier. Discussion and explanation in thread at + https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01924.html + + * lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors, + and replace the `pred` clause for the actual match with something that + works with pcase-let(*) without being optimised away. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases. + +2021-02-26 Stefan Kangas + + * lisp/tooltip.el (tooltip): Doc fix for GTK. + +2021-02-25 Andrea Corallo + + * Fix some comp-vec logic + + * lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append) + (comp-vec-prepend): Fix logic. + (comp-vec-aref): Fix indentation. + +2021-02-25 Andrea Corallo + + * Fix two docstrings in comp.el + + * lisp/emacs-lisp/comp.el (comp-new-frame, + comp-maybe-add-vmvar): Fix docstring. + +2021-02-25 Eli Zaretskii + + Fix documentation of a recent change + + * src/fns.c (Fyes_or_no_p): Don't use braces around one-line + block. + (syms_of_fns) : Improve the wording of the doc + string. + * etc/NEWS: Improve wording of the entry about 'use-short-answers'. + +2021-02-25 Juri Linkov + + New variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p' + + * lisp/cus-start.el: Add use-short-answers. + + * lisp/emacs-lisp/map-ynp.el (read-answer): Handle use-short-answers. + (read-answer-short): Add use-short-answers to docstring. + + * src/fns.c (Fyes_or_no_p): Call y-or-n-p if use_short_answers is true. + (syms_of_fns): Add DEFVAR_BOOL use-short-answers (bug#46594). + +2021-02-25 Alan Third + + Fix freeze on older macOS's (bug#46687) + + * src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]): + ([EmacsView viewWillDraw]): Only run this code when actually drawing + to an offscreen bitmap. + +2021-02-25 Robert Pluim + + Re-enable network-stream-tests.el :nowait t tests + + After the fix for Bug#46709, these no longer fail in the absence of a + working Internet connection + + * test/lisp/net/network-stream-tests.el (internet-is-working): Remove + defvar, it's no longer needed in this file. + + * test/lisp/net/network-stream-tests.el + (connect-to-tls-ipv4-nowait): + (connect-to-tls-ipv6-nowait): + (open-network-stream-tls-nowait): + (open-gnutls-stream-new-api-nowait): + (open-gnutls-stream-old-api-nowait): Remove check for internet-is-working. + +2021-02-25 Robert Pluim + + Don't crash if gnutls_handshake fails + + In some situations involving Internet access not being fully + functional, gnutls_handshake returns a fatal error, which we were + ignoring, causing us to call gnutls_handshake again. Now we check for + the error and return it to the caller. + + * src/gnutls.c (gnutls_try_handshake): Return immediately if + gnutls_handshake returns a fatal error (Bug#46709). + +2021-02-25 Robert Pluim + + * Specify 'ipv4 when testing ipv4 in network-stream-tests.el + + * test/lisp/net/network-stream-tests.el + (connect-to-tls-ipv4-nowait): Specify :family 'ipv4. + +2021-02-25 Stefan Kangas + + Convert epa-key-list-mode menu to easy-menu-define + + * lisp/epa.el (epa-key-list-mode-map): Move menu from here... + (epa-key-list-mode-menu): ...to here, and convert to easy-menu-define. + +2021-02-25 Stefan Monnier + + Remove last remaining external uses of `edebug-form-spec` + + * lisp/emacs-lisp/gv.el (gv-place): Use `def-edebug-elem-spec`. + + * lisp/obsolete/erc-compat.el (erc-define-minor-mode): Remove redundant + `edebug-form-spec`. + +2021-02-25 Stefan Monnier + + * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case + + Add use of `macroexp-file-name` from a macro called from within + a function, which works thanks to eager-macroexpansion (so the macro + is expanded which the file is being loaded rather than only later + when the function is called). + + * test/lisp/emacs-lisp/macroexp-resources/m1.el + (macroexp--m1-tests-file-name): New function. + +2021-02-25 Stefan Monnier + + * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test + + * test/lisp/emacs-lisp/macroexp-resources/m1.el: + * test/lisp/emacs-lisp/macroexp-resources/m2.el: New files. + +2021-02-24 Lars Ingebrigtsen + + Include a "make check-maybe" in the admin/emake script + +2021-02-24 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer` + + Rely on `current-load-list` instead of `load-file-name`. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): + Change the var we override accordingly. + +2021-02-24 Lars Ingebrigtsen + + Improve quail-update-leim-list-file error messaging + + * lisp/international/quail.el (quail-update-leim-list-file): Give + a better error message. + +2021-02-24 Lars Ingebrigtsen + + Fix warning generated by indian.el + quail.el + + * lisp/leim/quail/indian.el (quail-define-indian-trans-package): + Reintroduce kludge to fix automatic detection by Quail. + +2021-02-24 Juri Linkov + + * lisp/tab-bar.el: Move aliases down closer to keybindings. + +2021-02-24 Juri Linkov + + * lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'. + + (tab-prefix-map): Bind "O" to 'tab-previous'. + +2021-02-24 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function. + + Yes, finally: a function that tells you the name of the file where + the code is located. Finding this name is non-trivial in practice, + as evidenced by the "4 shift/reduce conflicts" warning when compiling + CEDET's python.el, because its `wisent-source` got it wrong in that + case, thinking the grammar came from `python.el` instead of + `python-wy.el`. + + While at it, also made `macroexp-compiling-p` public, since it's + useful at various places. + + (macroexp-compiling-p): Rename from `macroexp--compiling-p`. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): + Bind `load-file-name` to nil so we can distinguish a load that calls + the byte compiler from a byte compilation which causes a load. + + * lisp/cedet/semantic/wisent/python.el (wisent-python--expected-conflicts): + Remove; it was just a workaround. + * lisp/subr.el (do-after-load-evaluation): Avoid `byte-compile--` vars. + * lisp/cedet/semantic/fw.el (semantic-alias-obsolete): + Use `macroexp-compiling-p` and `macroexp-file-name`. + * lisp/cedet/semantic/wisent/comp.el (wisent-source): Use `macroexp-file-name` + (wisent-total-conflicts): Tighten regexp. + * lisp/emacs-lisp/cl-lib.el (cl--compiling-file): Delete function + and variable. Use `macroexp-compiling-p` instead. + * lisp/progmodes/flymake.el (flymake-log): + * lisp/emacs-lisp/package.el (package-get-version): + * lisp/emacs-lisp/ert-x.el (ert-resource-directory): + Use `macroexp-file-name`. + +2021-02-24 Ulf Jasper + + Add options to use feed names from newticker-url-list + + * lisp/net/newst-treeview.el + (newsticker-treeview-use-feed-name-from-url-list-in-treeview): New. + (newsticker-treeview-use-feed-name-from-url-list-in-itemview): New. + (newsticker--treeview-item-show): Show feed name from + newsticker-url-list if wanted. + (newsticker--treeview-propertize-tag): Add argument 'tooltip'. + (newsticker--treeview-tree-get-tag): Usefeed name from + newsticker-url-list if wanted. (Fixes third issue in + Bug#41376.) + +2021-02-24 Lars Ingebrigtsen + + Fix wisent/python.el grammar warning + + * lisp/cedet/semantic/wisent/python.el: Fix warning about + shift/reduce conflicts in the Python grammar. + +2021-02-24 Lars Ingebrigtsen + + Fix warning generated by indian.el + quail.el + + * lisp/leim/quail/indian.el (quail-define-indian-trans-package): + Reintroduce kludge to fix automatic detection by Quail. + +2021-02-24 Lars Ingebrigtsen + + Remove the "Documentation:" line from the variable help + + * lisp/help-fns.el (describe-variable): Remove the + "Documentation:" line (bug#46702). This makes the help text more + compact and seems easier to read, too. + +2021-02-24 Lars Ingebrigtsen + + Fix Calc menu item for vector dot products + + * lisp/calc/calc-menu.el (calc-vectors-menu): Use the correct + function `calc-times' instead of the non-existent `calc-mult' + function (bug#46710). + +2021-02-24 Doug Davis + + Interactive tag byte compilation functions in emacs-lisp-mode + + * lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile) + (emacs-lisp-byte-compile-and-load): Add interactive tagging + (bug#46721). + +2021-02-24 Miha Rihtar邸i (tiny change) + + Run all functions in `prefix-command-echo-keystrokes-functions' + + * lisp/simple.el (internal-echo-keystrokes-prefix): Really run all + functions in `prefix-command-echo-keystrokes-functions' (bug#46727). + +2021-02-24 Protesilaos Stavrou + + Use named faces in shortdoc + + * shortdoc.el (shortdoc-heading): Define new face for headings. + (shortdoc-display-group): Apply new heading face. + (shortdoc--display-function): Use existing face for section text. + * etc/NEWS: Document new face (bug#46748). + +2021-02-24 Utkarsh Singh (tiny change) + + Use sh-mode for PKGBUILD files + + * lisp/files.el (auto-mode-alist): Use sh-mode for PKGBUILD files + (bug#46660). + +2021-02-24 Eli Zaretskii + + Fix dangerous code in xdisp.c + + * src/xdisp.c (move_it_to, display_line): Make sure ZV_BYTE is + greater than 1 before fetching previous byte. + +2021-02-24 Eli Zaretskii + + Better support for 'truncate-line' non-nil in the mini-window + + * src/xdisp.c (resize_mini_window): Resize the mini-window + when multi-line text is displayed under truncate-lines + non-nil in the minibuffer. (Bug#46718) + +2021-02-24 Protesilaos Stavrou + + Specify the Emacs version of new vc-dir faces + + * vc-dir.el (vc-dir-header) + (vc-dir-header-value) + (vc-dir-directory) + (vc-dir-file) + (vc-dir-mark-indicator) + (vc-dir-status-warning) + (vc-dir-status-edited) + (vc-dir-status-up-to-date) + (vc-dir-status-ignored): Add version 28.1. (Bug#46745) + +2021-02-24 Andrea Corallo + + Fix async compilation and paramenter naming + + * lisp/emacs-lisp/comp.el (native--compile-async) + (native-compile-async): Fix broken parameter renaming. + +2021-02-23 Andrea Corallo + + Do not emit assumptions referencing clobbered mvars (bug#46670) + + * lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot. + (comp-new-frame): Add `vsize' parameter. + (comp-limplify-top-level, comp-limplify-function): Update for new + `comp-new-frame'. + (comp-maybe-add-vmvar): New function. + (comp-add-cond-cstrs): Logic update to emit assumptions not + referencing clobbered variables. + (comp-place-phis, comp-ssa, comp-ssa-rename-insn) + (comp-ssa-rename): Update rename logic to rename also negative + slots. + (comp-fwprop-insn): Update to handle `(assume mvar mvar)' form. + * test/src/comp-tests.el (46670-1): Add testcase. + * test/src/comp-test-funcs.el (comp-test-46670-1-f) + (comp-test-46670-2-f): New functions. + +2021-02-23 Andrea Corallo + + * Move ssa rename from vector to comp-vec + + * lisp/emacs-lisp/comp.el (comp-block): Updated `final-frame' slot + type. + (comp-limplify): Updated `frame' slot type. + (comp-slot-n, comp-new-frame, comp-place-phis, comp-ssa) + (comp-ssa-rename-insn, comp-ssa-rename, comp-finalize-phis): Use + `comp-vec'. + +2021-02-23 Andrea Corallo + + * Add a simple growable vector like type + + * lisp/emacs-lisp/comp.el (comp-vec): Define struct. + (comp-vec-copy, comp-vec-length, comp-vec--verify-idx) + (comp-vec-aref, comp-vec-append, comp-vec-prepend): New functions. + +2021-02-23 Juri Linkov + + Small fixes + + * lisp/emacs-lisp/seq.el (seq-contains): Move the declare form + after the docstring. + * lisp/misc.el (copy-from-above-command): Fix whitespace regexp. + +2021-02-23 Juri Linkov + + * lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom. + + (tab-line-tab-name-format-default): New function as the default value. + (tab-line-format-template): Funcall tab-line-tab-name-format-function. + This is like recently added tab-bar-tab-name-format-function. + +2021-02-23 Juri Linkov + + * lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'. + + (tab-bar-separator): New function. + (tab-bar-make-keymap-1): Use it. + +2021-02-23 Ulf Jasper + + Leave other windows unchanged, use search instead of re-search + + * lisp/net/newst-backend.el (newsticker-customize-feed): Leave other + windws unchanged. Use search instead of re-search. + +2021-02-23 Ulf Jasper + + Fix invalid interactive-statement + + * lisp/net/newst-backend.el (newsticker-customize): Fix invalid + interactive-statement. + +2021-02-23 Stefan Monnier + + * test/: Use lexical-binding the few remaining files + + * test/manual/biditest.el: Use lexical-binding. + (biditest-generate-testfile): Remove unused var `levels`. + + * test/manual/image-circular-tests.el: Use lexical-binding. + + * test/manual/image-size-tests.el: Use lexical-binding. + (image-size-tests): Check `fboundp` before calling `imagemagick-types`. + + * test/manual/redisplay-testsuite.el: Use lexical-binding. + + * test/manual/cedet/cedet-utests.el: Use lexical-binding. + Use `with-current-buffer`. + (cedet-utest): Test `fboundp` i.s.o `featurep` to silence warning. + (srecode-map-save-file): Declare var. + (pulse-test): Test `fboundp` before calling `pulse-available-p`. + Declare `pulse-momentary-highlight-overlay` since it's not autoloaded. + + * test/manual/cedet/semantic-tests.el: Use lexical-binding. + Use `with-current-buffer`. + (semanticdb-ebrowse-dump): Remove unused var `ab`. + (semanticdb-test-gnu-global): Don't use obsolete "name" arg to constructor. + (cedet-utest-directory): Declare var. + +2021-02-23 Ulf Jasper + + Add command for customizing current newsticker feed + + * lisp/net/newst-backend.el (newsticker-customize-feed): New. + (newsticker--insert-bytes): Add documentation string. + (newsticker--decode-iso8601-date): Fix documentation string. + * lisp/net/newst-treeview.el (newsticker-treeview-customize-current-feed): + New. + (newsticker-treeview-mode-map): Add key for new command + 'newsticker-treeview-customize-current-feed'. (Fixes second issue in + Bug#41376.) + +2021-02-23 Robert Pluim + + * doc/misc/tramp.texi: Grammar/style fixes + + * doc/misc/tramp.texi (Overview): + (Obtaining @value{tramp}): + (Quick Start Guide): + (Configuration): + (Connection types): + (Inline methods): + (External methods): + (Password handling): + (Predefined connection information): + (Remote shell setup): + (Remote processes): + (Frequently Asked Questions): + (External packages): + (Traces and Profiles): Grammar/style fixes. + +2021-02-23 Robert Pluim + + * lisp/net/dictionary-connection.el: Grammar fixes + + * lisp/net/dictionary-connection.el: Grammar fix + (dictionary-connection-open): Use active voice. + (dictionary-connection-status): Reword and improve formatting. + +2021-02-23 Robert Pluim + + Make message-mailto work for emacsclient + + * doc/misc/message.texi (System Mailer Setup): Add index entry. + Mention option to use emacsclient. + + * etc/NEWS: Mention emacsclient option for 'mailto:' handling. + + * etc/emacs-mail.desktop: Add example using emacsclient. + + * lisp/gnus/message.el (message-mailto): Add optional url argument + so we can call it from emacsclient. + +2021-02-23 Alan Mackenzie + + CC Mode: Fix bug in "state cache" invalidation function. + + * lisp/progmodes/cc-engine.el (c-invalidate-state-cache-1): Rewrite part of + it, following the code in c-parse-state-1, to get a proper setting of + c-state-cache-good-pos. + +2021-02-23 Stefan Kangas + + Convert some more menus to easy-menu-define + + * lisp/tar-mode.el (tar-mode-map): + * lisp/textmodes/sgml-mode.el (sgml-mode-map, html-mode-map): + * lisp/wdired.el (wdired-mode-map): Move menus from here... + + * lisp/tar-mode.el (tar-mode-immediate-menu, tar-mode-mark-menu) + * lisp/textmodes/sgml-mode.el (sgml-mode-menu, html-mode-menu): + * lisp/wdired.el (wdired-mode-menu): ...to here, and convert to + easy-menu-define. + +2021-02-23 Stefan Kangas + + Improve easymenu.el Commentary section + + * lisp/emacs-lisp/easymenu.el: Improve Commentary section. + +2021-02-22 Stefan Monnier + + * lisp/progmodes/antlr-mode.el: Fix bootstrap failure + + (antlr-mode): Remove compatibility code with older CC-mode. + This somehow appears to fix the error: + + In antlr-mode: + progmodes/antlr-mode.el:2426:20: Error: `c-init-language-vars' defined + after use in (c-init-language-vars) (missing `require' of a library + file?) + progmodes/antlr-mode.el:2427:26: Warning: c-init-language-vars called + with 0 arguments, but requires 1 + + No idea what caused the error to appear after the previous patch either. + +2021-02-22 Lars Ingebrigtsen + + Do mode tagging in decipher.el + + Do mode tagging in bubbles.el + +2021-02-22 Stefan Monnier + + * lisp/obsolete: Use lexical-binding + + Use lexical-binding in all the lisp/obsolete/*.el files. + While at it, removed redundant :group arguments and used #' to quote + functions. Commented out the key bindings which the #' revealed + to lead to non-existing commands, and replaced those revealed to be obsolete. + + * lisp/obsolete/cl-compat.el: Use cl-lib. + + * lisp/obsolete/cust-print.el: Assume `defalias` exists. + (with-custom-print): Use `declare`. + + * lisp/obsolete/iswitchb.el (iswitchb-init-XEmacs-trick) + (iswitchb-xemacs-backspacekey): Remove functions. + + * lisp/obsolete/landmark.el (landmark, landmark-nslify-wts): + Prefer `apply` to `eval`. + + * lisp/obsolete/longlines.el (longlines-mode): Don't use `add-to-list` + on a hook. + + * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): Use `clear-string`. + + * lisp/obsolete/pgg-pgp.el (pgg-pgp-encrypt-region): Remove oddly + unused var `passphrase`. + (pgg-pgp-verify-region): Declare var `jam-zcat-filename-list`. + + * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-encrypt-region): Remove oddly + unused var `passphrase`. + (pgg-pgp5-verify-region): Declare var `jam-zcat-filename-list`. + + * lisp/obsolete/pgg.el: Remove some XEmacs compatibility code. + (pgg-run-at-time, pgg-cancel-timer, pgg-clear-string): Remove functions. + Use their core equivalent instead. + + * lisp/obsolete/rcompile.el (remote-compile): Remove unused vars `l`, + `l-host`, `l-user`, and `localname`. + + * lisp/obsolete/starttls.el (starttls-any-program-available): + Use `define-obsolete-function-alias`. + + * lisp/obsolete/tls.el (tls-format-message): Delete function, use + `format-message` instead. + + * lisp/obsolete/url-ns.el (url-ns-prefs): Use `with-current-buffer` + and `dlet`. + + * lisp/obsolete/vip.el (vip-escape-to-emacs): Remove unused var `key`. + (vip-command-argument, vip-read-string, ex-delete, ex-line): Remove + unused var `conditions`. + (ex-map): Use a closure instead of `eval`. + (ex-set): Make it an alias of `set-variable`. + (ex-substitute): Remove unused var `cont`. + + * lisp/obsolete/abbrevlist.el: + * lisp/obsolete/bruce.el: + * lisp/obsolete/cc-compat.el: + * lisp/obsolete/cl-compat.el: + * lisp/obsolete/cl.el: + * lisp/obsolete/complete.el: + * lisp/obsolete/crisp.el: + * lisp/obsolete/cust-print.el: + * lisp/obsolete/erc-compat.el: + * lisp/obsolete/erc-hecomplete.el: + * lisp/obsolete/eudcb-ph.el: + * lisp/obsolete/fast-lock.el: + * lisp/obsolete/gs.el: + * lisp/obsolete/gulp.el: + * lisp/obsolete/html2text.el: + * lisp/obsolete/info-edit.el: + * lisp/obsolete/iswitchb.el: + * lisp/obsolete/landmark.el: + * lisp/obsolete/lazy-lock.el: + * lisp/obsolete/longlines.el: + * lisp/obsolete/mailpost.el: + * lisp/obsolete/mantemp.el: + * lisp/obsolete/meese.el: + * lisp/obsolete/messcompat.el: + * lisp/obsolete/metamail.el: + * lisp/obsolete/mouse-sel.el: + * lisp/obsolete/nnir.el: + * lisp/obsolete/old-emacs-lock.el: + * lisp/obsolete/otodo-mode.el: + * lisp/obsolete/patcomp.el: + * lisp/obsolete/pc-mode.el: + * lisp/obsolete/pc-select.el: + * lisp/obsolete/pgg-def.el: + * lisp/obsolete/pgg-gpg.el: + * lisp/obsolete/pgg-parse.el: + * lisp/obsolete/pgg-pgp.el: + * lisp/obsolete/pgg-pgp5.el: + * lisp/obsolete/pgg.el: + * lisp/obsolete/rcompile.el: + * lisp/obsolete/s-region.el: + * lisp/obsolete/sb-image.el: + * lisp/obsolete/sregex.el: + * lisp/obsolete/starttls.el: + * lisp/obsolete/sup-mouse.el: + * lisp/obsolete/terminal.el: + * lisp/obsolete/tls.el: + * lisp/obsolete/tpu-edt.el: + * lisp/obsolete/tpu-extras.el: + * lisp/obsolete/tpu-mapper.el: + * lisp/obsolete/url-ns.el: + * lisp/obsolete/vc-arch.el: + * lisp/obsolete/vi.el: + * lisp/obsolete/vip.el: + * lisp/obsolete/ws-mode.el: + * lisp/obsolete/yow.el: Use lexical-binding. + +2021-02-22 Lars Ingebrigtsen + + Mention the problems with newlines in Dired + + * doc/emacs/dired.texi (Dired Enter): Mention newlines and what to + do about them. + + * lisp/dired.el (dired-listing-switches): Mention newlines + (bug#46705). + +2021-02-22 Lars Ingebrigtsen + + Buttonize function values in help (and add a blank line) + + * lisp/help-fns.el (describe-variable): Add a newline for better + readability (bug#46702). This also has the side effect of + buttonizing `function-references-like-this' in the "Its value is" + part. + + * lisp/help-mode.el (help-make-xrefs): Adjust comments. + +2021-02-22 Andrea Corallo + + Revert "* configure.ac: Rename configure nativecomp flags..." + + This reverts commit f6c5f0dd5c8167b6f8f724f42632a4b8808efe7a. + + Reason for this is that I overlooked few other suggestions and this + change has to be discussed before a final decision is taken. + +2021-02-22 Andrea Corallo + + * Some clean-up in comp.el + + * lisp/emacs-lisp/comp.el (comp-func): Remove 'array-h'. + (comp-spill-lap-function, comp-intern-func-in-ctxt) + (comp-spill-lap-function, comp-addr-to-bb-name): Update + accordingly. + +2021-02-22 Andrea Corallo + + * configure.ac: Rename configure nativecomp flags into --with-native-comp. + + Configure now with '--with-native-comp'! + +2021-02-22 Stefan Monnier + + * lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility + + (cond-emacs-xemacs, cond-emacs-xemacs-macfn, defunx, ignore-errors-x): + Remove those functions and macros. Replace every use with the result + of their use. + (antlr-default-directory): Remove function, use the `default-directory` + variable instead. + (antlr-read-shell-command): Remove function, use + `read-shell-command` instead. + (antlr-with-displaying-help-buffer): Remove function, by inlining it at + its only call site. + (antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body) + (antlr-beginning-of-body): Mark them as movement commands. + +2021-02-22 Juri Linkov + + * lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument + + * lisp/tab-bar.el (tab-bar-new-tab-to): Negative TO-INDEX counts + tabs from the end of the tab bar. + (tab-bar-new-tab): Fix docstring to add reference to + 'tab-bar-new-tab-to'. + (tab-prefix-map): Bind "N" to tab-new-to. + +2021-02-22 Juri Linkov + + * lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument + + * lisp/tab-bar.el (tab-bar-move-tab-to): Negative TO-INDEX counts + tabs from the end of the tab bar. + (tab-bar-move-tab): Fix docstring to add reference to tab-bar-move-tab-to. + (tab-prefix-map): Bind "M" to tab-move-to. + +2021-02-22 Juri Linkov + + 'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers + + * lisp/tab-bar.el (tab-bar--define-keys): Rebind 0 from + tab-bar-switch-to-recent-tab to its alias tab-recent. + Bind 9 to tab-last. + (tab-bar-switch-to-last-tab): New command. + (tab-last): New alias to tab-bar-switch-to-last-tab. + (tab-bar-switch-to-tab, tab-bar-undo-close-tab): Fix docstrings to + avoid mentioning the term "last" for "most recently used" meaning. + +2021-02-22 Juri Linkov + + * lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode. + +2021-02-22 Stefan Monnier + + Prefer `declare` over a `put` of `list-indent-function`. + + While at it, I enabled lexical-binding in the affected files. + + * lisp/cedet/semantic/sb.el: Enable lexical-binding. + (semantic-sb-with-tag-buffer): Use `declare`. + + * lisp/cedet/semantic/bovine/el.el: Enable lexical-binding. + (semantic-elisp-setup-form-parser): Use `declare`. + + * lisp/emacs-lisp/ert.el: + * lisp/emacs-lisp/ert-x.el: Remove redundant `put`. + + * lisp/emulation/cua-rect.el: Enable lexical-binding. + (cua--rectangle-operation, cua--rectangle-aux-replace): Use `declare`. + + * lisp/mh-e/mh-acros.el: Enable lexical-binding. + (mh-do-in-gnu-emacs, mh-do-in-xemacs, mh-funcall-if-exists, defun-mh) + (defmacro-mh, with-mh-folder-updating, mh-in-show-buffer) + (mh-do-at-event-location, mh-iterate-on-messages-in-region) + (mh-iterate-on-range): Use `declare`. + + * lisp/mh-e/mh-compat.el: Enable lexical-binding. + (mh-flet): Use `declare`. + + * lisp/mh-e/mh-e.el: Enable lexical-binding. + (defgroup-mh, defcustom-mh, defface-mh): Use `declare`. + + * lisp/net/sieve.el: Enable lexical-binding. Remove redundant :group args. + (sieve-activate, sieve-remove, sieve-edit-script): Remove unused arg + from the interactive spec. + (sieve-deactivate-all): Remove unused var `name`. + (sieve-change-region): Use `declare`. + + * lisp/obsolete/fast-lock.el: Enable lexical-binding. + Remove redundant :group args. Remove XEmacs compat code. + (save-buffer-state): Remove macro. + (fast-lock-add-properties): Use `with-silent-modifications` instead. + + * lisp/obsolete/lazy-lock.el: Enable lexical-binding. + Remove redundant :group args. + (do-while): Use `declare`. + (save-buffer-state): Remove macro. + (lazy-lock-fontify-rest-after-change, lazy-lock-defer-line-after-change) + (lazy-lock-defer-rest-after-change, lazy-lock-after-fontify-buffer) + (lazy-lock-after-unfontify-buffer, lazy-lock-fontify-region): + Use `with-silent-modifications` instead. + + * lisp/obsolete/pgg.el: Enable lexical-binding. Remove XEmacs compat code. + (pgg-save-coding-system, pgg-as-lbt, pgg-process-when-success): + Use `declare`. + (pgg-add-passphrase-to-cache): Remove unused var `new-timer`. + (pgg-decrypt-region): Remove unused var `buf`. + + * lisp/org/org-agenda.el (org-let, org-let2): Move from org-macs and + use `declare`. + + * lisp/org/org-macs.el (org-let, org-let2): Move these functions that + are inherently harmful to your karma to the only package that uses them. + (org-scroll): Use `pcase` to avoid `eval` and use more readable syntax + for those integers standing for events. + + * lisp/progmodes/antlr-mode.el: Enable lexical-binding. + (save-buffer-state-x): Use `declare` and `with-silent-modifications`. + + * lisp/international/mule-util.el (with-coding-priority): + * lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once): + * lisp/org/org-element.el (org-element-map): + * test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load): + * test/lisp/emacs-lisp/generator-tests.el (cps-testcase): Use `declare`. + +2021-02-22 Lars Ingebrigtsen + + Fix ANSI coloring problem in large outputs in eshell + + * lisp/ansi-color.el (ansi-color-apply-on-region): Ensure that we + fontize from where we left off, and don't skip to the end of the + region (bug#46332). + +2021-02-22 Julian Scheid + + cl-extra: Fix docstring retrieval + + * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix + docstring retrieval (bug#46662). + +2021-02-22 Robert Pluim + + Skip tests that require Internet when there's no Internet + + Bug#46641 + + The network-stream-tests actually work fine when the local machine has + no IP at all, but cause a crash in the GnuTLS library when there is an + IP configured but the interface is down. + + * test/lisp/net/network-stream-tests.el (internet-is-working): New + defvar, checks if we can resolve "google.com". + (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait) + (open-network-stream-tls-nowait, open-gnutls-stream-new-api-nowait) + (open-gnutls-stream-old-api-nowait): Use it to check for working + Internet access. + + * test/src/process-tests.el (internet-is-working): New defvar, checks + if we can resolve "google.com". + (lookup-family-specification, lookup-unicode-domains) + (unibyte-domain-name, lookup-google, non-existent-lookup-failure): Use + it to check for working Internet access. + +2021-02-22 Robert Pluim + + Fix hang when running dns-query with no working internet + + * lisp/net/dns.el (dns-set-servers): reduce the timeout and retry + count when using 'nslookup' for "localhost". + (dns-query): Check to see if we actually managed to initiate a dns + request before starting a busy-wait for the result. + +2021-02-22 Lars Ingebrigtsen + + Simplify comint-watch-for-password-prompt + + * lisp/comint.el (comint-watch-for-password-prompt): Simplify by + using `string-trim'. + +2021-02-22 Lars Ingebrigtsen + + Fix prompt for the `M-S-x' command + + * lisp/simple.el (read-extended-command): Further kludge the + hard-coded "M-x" prompt for the new `M-S-x' command. + +2021-02-22 Andrea Corallo + + * Don't use paths to indicate filenames + + * lisp/emacs-lisp/comp.el (native--compile-async) + (native-compile-async): Replace `paths' argname with `files'. + +2021-02-22 Andrea Corallo + + * Fix union constraint for mixed pos/neg constraints + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg + type shadowing pos values. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add testcase. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase. + +2021-02-22 Stefan Kangas + + Prefer mailing lists to newsgroups in FAQ + + * doc/misc/efaq.texi (Real meaning of copyleft) + (Guidelines for mailing list postings, Mailing list archives) + (Packages that do not come with Emacs): Prefer mailing lists to + newsgroups. (Bug#46633) + +2021-02-22 Stefan Kangas + + Improve wrong number of args error message in propertize + + * src/editfns.c (Fpropertize): Improve error message. + (syms_of_editfns) : New DEFSYM. + * test/src/editfns-tests.el + (propertize/error-wrong-number-of-args): New test. + +2021-02-22 Mattias Engdeg奪rd + + Fix compilation of closures with nontrivial doc strings + + * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): + Use the supplied doc string if it's a literal; fall back to the old + slow way of building a closure otherwise. + +2021-02-22 Lars Ingebrigtsen + + Fix up previous conf-mode.el and nroff-mode.el change slightly + + * lisp/textmodes/conf-mode.el (conf-mode-map): Remove variable now + unused. + + * lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove variable + now unused. + +2021-02-22 Glenn Morris + + * test/misc/test-custom-libs.el (test-custom-libs): Skip on hydra. + + * test/misc/test-custom-noloads.el (custom-test-load): Unstable. + +2021-02-22 Stefan Kangas + + Convert some textmodes menus to easy-menu-define + + * lisp/textmodes/artist.el (artist-menu-map): Convert menu definition + to easy-menu-define. + + * lisp/textmodes/conf-mode.el (conf-mode-map): + * lisp/textmodes/nroff-mode.el (nroff-mode-map): Move menu + definition from here... + * lisp/textmodes/conf-mode.el (conf-mode-menu): + * lisp/textmodes/nroff-mode.el (nroff-mode-menu): ...to here, and + convert to use easy-menu-define. + +2021-02-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-spill-lap): Fix doc string. + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-02-21 Mattias Engdeg奪rd + + Faster, more compact, and readable closure creation + + Simplify closure creation by calling a single function at run time + instead of putting it together from small pieces. This is faster + (by about a factor 2), takes less space on disk and in memory, and + makes internal functions somewhat readable in disassembly listings again. + + This is done by creating a prototype function at compile-time whose + closure variables are placeholder values V0, V1... which can be seen + in the disassembly. The prototype is then cloned at run time using + the new make-closure function that replaces the placeholders with + the actual closure variables. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): + Generate call to make-closure from a prototype function. + * src/alloc.c (Fmake_closure): New function. + (syms_of_alloc): Defsubr it. + * src/data.c (syms_of_data): Defsym byte-code-function-p. + +2021-02-21 Stefan Kangas + + Run admin/cus-tests.el tests from test suite + + * test/Makefile.in (SUBDIRS): Run tests in new directory "misc", + intended for tests not belonging to any one file. + * test/misc/test-custom-deps.el: + * test/misc/test-custom-libs.el: + * test/misc/test-custom-noloads.el: + * test/misc/test-custom-opts.el: New files. + * test/lisp/custom-tests.el (custom--test-local-option): Move test to + above new file test-custom-opts.el. + + * admin/cus-test.el: Document running tests from regular test suite. + * test/file-organization.org (Test Files): Document new test directory + "misc" for tests not belonging to any one file. + +2021-02-21 Stefan Kangas + + Fix interactive mode tagging for man and woman + + * lisp/man.el (man-common): New mode inheriting special-mode. + (Man-mode): + * lisp/woman.el (woman-mode): Inherit from man-common. + + * lisp/man.el (man-follow, Man-update-manpage) + (Man-fontify-manpage, Man-cleanup-manpage, Man-next-section) + (Man-previous-section, Man-goto-section) + (Man-goto-see-also-section, Man-follow-manual-reference) + (Man-kill, Man-goto-page, Man-next-manpage) + (Man-previous-manpage): Change interactive mode tag to man-common. + + This was discussed in: + https://lists.gnu.org/r/emacs-devel/2021-02/msg01619.html + +2021-02-21 Lars Ingebrigtsen + + Declare that `ignore' and `undefined' shouldn't be completed over + + * lisp/subr.el (ignore, undefined): Declare that these shouldn't + be completed over. + +2021-02-21 Lars Ingebrigtsen + + Use `undefined' instead of `ignore' in wdired + + * lisp/wdired.el (wdired-mode-map): Use `undefined' here instead + of `ignore' to give the user more feedback. + +2021-02-21 Basil L. Contovounesios + + Fix json.el encoding of confusable object keys + + * lisp/json.el (json-encode-string): Clarify commentary. + (json--encode-stringlike): New function that covers a subset of + json-encode. + (json-encode-key): Use it for more efficient encoding and + validation, and to avoid mishandling confusable keys like boolean + symbols (bug#42545). + (json-encode-array): Make it clearer that argument can be a list. + (json-encode): Reuse json-encode-keyword and json--encode-stringlike + for a subset of the dispatch logic. + (json-pretty-print): Ensure confusable keys like ":a" survive a + decoding/encoding roundtrip (bug#24252, bug#45032). + + * test/lisp/json-tests.el (test-json-encode-string) + (test-json-encode-hash-table, test-json-encode-alist) + (test-json-encode-plist, test-json-pretty-print-object): Test + encoding of confusable keys. + +2021-02-21 Stefan Kangas + + Make unused variable menu-bar-handwrite-map obsolete + + * lisp/play/handwrite.el (menu-bar-handwrite-map): Make unused + variable obsolete. + +2021-02-21 Stefan Kangas + + Convert bubbles menu to easy-menu-define + + * lisp/play/bubbles.el (bubbles-game-theme-menu) + (bubbles-graphics-theme-menu, bubbles-menu, bubbles-mode-map): + Move menu definition from here... + (bubbles-menu): ...to here, and convert to easy-menu-define. + +2021-02-21 Stefan Kangas + + * etc/NEWS.19: Add entry for 'easy-menu-define'. + +2021-02-21 Stefan Kangas + + Convert some progmodes menus to easy-menu-define + + * lisp/progmodes/asm-mode.el (asm-mode-map): + * lisp/progmodes/grep.el (grep-mode-map): + * lisp/progmodes/m4-mode.el (m4-mode-map): + * lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here... + * lisp/progmodes/asm-mode.el (asm-mode-menu): + * lisp/progmodes/grep.el (grep-menu-map): + * lisp/progmodes/m4-mode.el (m4-mode-menu): + * lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite + using easy-menu-define. + +2021-02-21 Michael Albinus + + Clarification of password handling in Tramp manual + + * doc/misc/tramp.texi (Password handling): Describe, how to + suppress `auth-sources' for Tramp. + (Remote shell setup, Remote processes) + (Cleanup remote connections, Frequently Asked Questions): + Handle reference to Emacs manual. + +2021-02-20 Alan Third + + Fix memory leak + + * src/nsterm.m ([EmacsSurface dealloc]): Release will remove all + objects and free the memory. + +2021-02-20 Stefan Kangas + + Convert makefile-mode menu to easy-menu-define + + * lisp/progmodes/make-mode.el (makefile-mode-map): Move menu + definition from here... + (makefile-mode-menu): ...to here, and rewrite using easy-menu-define. + +2021-02-20 F. Jason Park + + Mute noisy test fixture for socks.el + + * test/lisp/net/socks-tests.el: + (socks-tests-perform-hello-world-http-request): Bind + 'inhibit-message' non-nil when in batch mode. + (Bug#46342) + +2021-02-20 Lars Ingebrigtsen + + Change command-completion-using-modes-p to defun + + * lisp/simple.el (command-completion-using-modes-p): Change into a + defun for now because of a build problem. + +2021-02-20 Lars Ingebrigtsen + + Mention `M-S-x' in the Emacs manual. + + * doc/emacs/m-x.texi (M-x): Mention `M-S-x' in the Emacs manual. + +2021-02-20 Stefan Kangas + + * lisp/help.el (help-for-help-internal): Doc fix; use imperative. + +2021-02-20 Lars Ingebrigtsen + + Add a new command for mode-specific commands + + * doc/lispref/commands.texi (Interactive Call): Document it. + * lisp/simple.el (command-completion-using-modes-p): Refactored + out into its own function for reuse... + (command-completion-default-include-p): ... from here. + (execute-extended-command-for-buffer): New command and keystroke + (`M-S-x'). + +2021-02-20 Lars Ingebrigtsen + + Change how (declare (modes store the data + + * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Change from + being a predicate to storing the modes. This allows using the + modes for positive command discovery, too. + * src/data.c (Fcommand_modes): Look at the `command-modes' symbol + property, too. + +2021-02-20 Lars Ingebrigtsen + + Add the `always' function + + * doc/lispref/functions.texi (Calling Functions): Document it. + * lisp/subr.el (always): New function. + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark it as + side effect free. + +2021-02-20 F. Jason Park + + Use raw bytes for SOCKS 4 IP addresses + + * lisp/net/socks.el: (socks--open-network-stream, socks-send-command): + * test/lisp/net/socks-tests.el: (socks-tests-v4-basic): (Bug#46342). + +2021-02-20 F. Jason Park + + Add more auth-related tests for socks.el + + * test/lisp/net/socks-tests.el (auth-registration-and-suite-offer) + (filter-response-parsing-v4, filter-response-parsing-v5): Assert + auth-method selection wrangling and socks-filter parsing. + (v5-auth-user-pass, v5-auth-user-pass-blank, v5-auth-none): Show prep + and execution of the SOCKS connect command and proxying of an HTTP + request; simplify fake server. (Bug#46342) + +2021-02-20 Stefan Kangas + + Convert re-builder menu to easy-menu-define + + * lisp/emacs-lisp/re-builder.el (reb-mode-map): Move menu + definition from here... + (reb-mode-menu): ...to here, and rewrite using easy-menu-define. + +2021-02-20 Stefan Kangas + + Convert finder menu to easy-menu-define + + * lisp/finder.el (finder-mode-map): Move menu definition from + here... + (finder-mode-menu): ...to here, and rewrite using + easy-menu-define. + +2021-02-20 Stefan Kangas + + Add toolbar for help-mode + + * lisp/help-mode.el (help-mode): Add toolbar. + (help-mode-tool-bar-map): New variable. + (help-mode-menu): Disable forward/backward items when stack is empty. + + (help-bookmark-make-record, help-bookmark-jump): Minor doc fixes. + +2021-02-20 Stefan Kangas + + * lisp/woman.el: Doc fix; remove redundant setup info. + +2021-02-19 Thomas Fitzsimmons + + * lisp/url/url-http.el (url-http): Fix docstring typo. + +2021-02-19 Thomas Fitzsimmons + + ntlm-tests: Remove missing dependency warnings + + * test/lisp/net/ntlm-tests.el: Remove warnings about dependencies + not being present. + +2021-02-19 Thomas Fitzsimmons + Michael Albinus + + ntlm-tests: Skip tests if dependencies are too old + + * test/lisp/net/ntlm-tests.el (ntlm-tests--dependencies-present): + Add version and functionality checks. + +2021-02-19 Andrea Corallo + + * Work around bug#46495 (GCC PR99126) + + * src/comp.c (gcc_jit_context_add_command_line_option): Import for + dynamic load. + (Fcomp__compile_ctxt_to_file): Disable GCC "isolate-paths" on GCC + 10. + +2021-02-19 Andrea Corallo + + * Remove unnecessary function 'emit_rvalue_from_unsigned_long_long' + + * src/comp.c (emit_rvalue_from_unsigned_long_long): Remove + function. + (emit_rvalue_from_emacs_uint, emit_rvalue_from_lisp_word_tag) + (emit_rvalue_from_lisp_word): Make use of + 'emit_rvalue_from_long_long'. + +2021-02-19 Andrea Corallo + + * Pacify GCC warning on non wide-int configurations + + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_lisp_word_tag): Pacify GCC warning. + (emit_rvalue_from_unsigned_long_long): Define it only when + necessary. + +2021-02-19 Alan Third + + Fix frame contents scaling bug on macOS (bug#46155) + + Discussion in bug#46406. + + * src/nsterm.m ([EmacsView focusOnDrawingBuffer:]): Set the scale + factor for the backing layer. + +2021-02-19 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Don't warn for repeated _ args + + (byte-compile-check-lambda-list): Skip warnings of repeated arg for + those that are declared as unused anyway. + +2021-02-19 Stefan Monnier + + * test/lisp/emacs-lisp/edebug-tests.el: Adjust to new `edebug-eval-defun`. + + (edebug-tests-trivial-backquote): Adjust to the way `eval-defun` + outputs its result. + (edebug-tests-cl-macrolet): Adjust to the fact that now macro expansion + takes place during the `eval-defun` even when Edebugging. + +2021-02-19 Glenn Morris + + Merge from origin/emacs-27 + + 8e8b46ef81 (origin/emacs-27) More accurate documentation of the "r" i... + dcb2015a5b Mention the GNU Kind Communications Guidelines in the FAQ + 9882e63eea ; * CONTRIBUTE: Another wording change regarding tiny chan... + 850f18ef23 Allow newlines in password prompts again in comint + c977370dd7 Avoid point movement when visiting image files + da64a257a4 ; * CONTRIBUTE: Yet another clarification of significant c... + d03f2a6ee9 Avoid assertion violation in callproc.c + dcc00bbb19 ; * CONTRIBUTE: Clarify the "15-lines" rule a bit more. + +2021-02-19 Glenn Morris + + Merge from origin/emacs-27 + + 4712c75ab8 Clarify when activate-mark-hook is run + abedf3a865 Fix language-environment and font selection on MS-Windows + 8b8708eadd Fix example in Sequence Functions node in the manual + +2021-02-19 Ulf Jasper + + Enable newsticker--group-shift-feed-(up|down) to move groups as well + + Fix broken newsticker--group-shift-group-(up-down). + + * lisp/net/newst-treeview.el (newsticker-treeview-jump): Change prompt + string. + (newsticker--group-shift): Move the group when a group is currently + selected. Fix error when explicitly shifting a group. (Fixes first + issue in Bug#41376.) + +2021-02-19 Eli Zaretskii + + More accurate documentation of the "r" interactive spec + + * doc/lispref/commands.texi (Interactive Codes): Describe the + effect of 'mark-even-if-inactive'. + +2021-02-19 Mattias Engdeg奪rd + + Fix regexp mistakes + + * lisp/progmodes/cperl-mode.el (cperl--package-regexp): + Avoid double repetition; cperl--ws-or-comment-regexp is already + repeated with 1+. + * test/lisp/textmodes/dns-mode-tests.el + (dns-mode-tests-dns-mode-soa-increment-serial): Escape literal '$'. + * test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Modify test to not + trigger a linting warning while retaining its testing power. + +2021-02-19 Stefan Kangas + + Mention the GNU Kind Communications Guidelines in the FAQ + + * doc/misc/efaq.texi (Guidelines for newsgroup postings): Mention + the GNU Kind Communications Guidelines. + +2021-02-19 Stefan Kangas + + * lisp/calculator.el: Minor doc fix. Remove redundant :group args. + +2021-02-19 Michael Albinus + + Fix Tramp bug#46625 + + * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables): + Adapt test. (Bug#46625) + +2021-02-19 Stefan Kangas + + Do interactive mode tagging for snake.el + + Do interactive mode tagging for tetris.el + + Do interactive mode tagging for man.el + + Do interactive mode tagging for package.el + +2021-02-19 Thomas Fitzsimmons + + Implement NTLM server for ntlm.el testing + + * test/Makefile.in + (GNU_ELPA_DIRECTORY, elpa_dependencies, elpa_els, elpa_opts): New + variables. + (EMACSOPT, ert_opts): Add elpa_opts. + * test/README: Document GNU_ELPA_DIRECTORY make variable. + * test/lisp/net/ntlm-tests.el: Fix checkdoc-reported issues. + (ntlm-tests-message, ntlm-server-build-type-2, ntlm-server-hash) + (ntlm-server-check-authorization, ntlm-server-do-token) + (ntlm-server-filter, ntlm-server-handler, ntlm-server-start) + (ntlm-server-stop, ntlm-tests--url-retrieve-internal-around) + (ntlm-tests--authenticate) + (ntlm-tests--start-server-authenticate-stop-server): New + functions. + (ntlm-tests--username-oem, ntlm-tests--username-unicode) + (ntlm-tests--client-supports-unicode, ntlm-tests--challenge) + (ntlm-tests--result-buffer, ntlm-tests--successful-result): New + variables. + (ntlm-authentication) + (ntlm-authentication-old-compatibility-level): New tests. + * test/lisp/net/ntlm-resources/authinfo: New file. (Bug#43566) + +2021-02-18 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Use emacs_fopen + ENCODE_FILE. + + * src/emacs.c (syms_of_emacs): Add a FIXME for Windows native-comp. + +2021-02-18 Andrea Corallo + + * Add a bunch of assertions for fixnums coming from Lisp later used as int + + * src/comp.c (emit_limple_insn, declare_lex_function) + (compile_function, Fcomp__compile_ctxt_to_file): Add some + assertion. + +2021-02-18 Andrea Corallo + + * Add assertion guarding against emitting a relocation array overflow + + * src/comp.c (reloc_array_t): New type. + (comp_t, imm_reloc_t): Make use of 'reloc_array_t'. + (obj_to_reloc): Add an assertion not to overflow relocation + arrays. + (emit_lisp_obj_reloc_lval, emit_limple_insn) + (declare_imported_data_relocs): Make use of 'reloc_array_t'. + +2021-02-18 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Tweak example in comment + + Suggested by Kim Storm . + +2021-02-18 Mattias Engdeg奪rd + + Fix typos + + * doc/lispref/display.texi (Size of Displayed Text): + * doc/lispref/windows.texi (Buffer Display Action Functions): + * etc/NEWS: + * etc/ORG-NEWS (Org-Attach has been refactored and extended): + * lisp/battery.el (display-battery-mode, battery--upower-subsribe): + * lisp/calendar/parse-time.el: + * lisp/dired-x.el: + * lisp/emacs-lisp/chart.el (chart-sequece, chart-bar-quickie): + * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p) + (eldoc-documentation-strategy): + * lisp/emacs-lisp/pcase.el (pcase--split-pred, pcase--u1): + * lisp/gnus/gnus-search.el (gnus-search-expandable-keys) + (gnus-search-parse-query, gnus-search-query-return-string) + (gnus-search-imap, gnus-search-imap-search-command) + (gnus-search-transform-expression): + * lisp/gnus/nnselect.el: + * lisp/isearch.el (isearch-lazy-count-format): + * lisp/mh-e/mh-show.el (mh-show-msg): + * lisp/net/dictionary-connection.el (dictionary-connection-open): + * lisp/net/dictionary.el (dictionary-default-popup-strategy) + (dictionary, dictionary-split-string, dictionary-do-select-dictionary) + (dictionary-display-dictionarys, dictionary-search) + (dictionary-tooltip-mode): + * lisp/net/eudcb-macos-contacts.el (eudc-macos-contacts-set-server): + * lisp/net/mailcap.el (mailcap-mime-data): + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): + * lisp/nxml/nxml-mode.el (nxml-mode): + * lisp/progmodes/cc-engine.el: + * lisp/progmodes/cperl-mode.el (cperl-mode) + (cperl-fontify-syntaxically): + * lisp/progmodes/flymake.el (flymake-diagnostic-functions): + * lisp/progmodes/verilog-mode.el (verilog--supressed-warnings) + (verilog-preprocess): + * lisp/simple.el (self-insert-uses-region-functions): + * lisp/textmodes/bibtex.el (bibtex-copy-summary-as-kill): + * lisp/textmodes/texnfo-upd.el (texinfo-insert-master-menu-list): + * src/dispnew.c: + * src/font.c (Ffont_get): + * src/indent.c (compute_motion): + * src/process.c (init_process_emacs): + * src/w32fns.c (deliver_wm_chars): + * test/lisp/jsonrpc-tests.el (deferred-action-complex-tests): + Fix typos in documentation, comments, and internal identifiers. + +2021-02-18 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (eval-defun): Simplify + + (edebug-all-defs, edebug-all-forms): Don't autoload since the problem + it was working around has been fixed a while back. + (edebug--eval-defun): Rename from `edebug-eval-defun` and simplify by + making it an `:around` advice. + (edebug-install-read-eval-functions) + (edebug-uninstall-read-eval-functions): Adjust accordingly. + (edebug-eval-defun): Redefine as an obsolete wrapper. + + * lisp/progmodes/elisp-mode.el (elisp--eval-defun): + Use `load-read-function` so it obeys `edebug-all-(defs|forms)`. + (elisp--eval-defun): Fix recent regression introduced with + `elisp--eval-defun-result`. + +2021-02-18 Lars Ingebrigtsen + + Revert "Do interactive mode tagging for python.el navigation functions." + + This reverts commit 546f552e7b2439b482c7d28222fb88761a9c876a. + + This is a "core package", so can't use the new syntax. + +2021-02-18 Ryan Prior (tiny change) + + Allow newlines in password prompts again in comint + + * lisp/comint.el (comint-password-prompt-regexp): Match all + whitespace (including newline) at the end of the passphrase, not + just space and \t (bug#46609). + (comint-watch-for-password-prompt): Remove trailing newlines from + the prompt (bug#46609). + +2021-02-18 Doug Davis (tiny change) + + Do interactive mode tagging for python.el navigation functions. + + * lisp/progmodes/python.el (navigation functions): Add python-mode to + `interactive' declarations for mode-specific commands (bug#46610). + +2021-02-18 Mattias Engdeg奪rd + + Fix rx `regexp` form with deprecated syntax + + The argument of the rx `regexp` form is assumed to evaluate to a valid + regexp, but certain kinds of deprecated but still accepted usage were + not handled correctly, such as unescaped literal (special) characters: + (rx "a" (regexp "*")) => "a*" which is wrong. + Handle these cases; there is no extra trouble. + + * lisp/emacs-lisp/rx.el (rx--translate-regexp): Force bracketing + of single special characters. + * test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Add test case. + +2021-02-18 Dmitry Gutov + + Move 'project-try-ede' to the back of 'project-find-functions' + + * lisp/cedet/ede.el (project-find-functions): + Move 'project-try-ede' further back, so that 'project-try-vc' has + priority (bug46202). + +2021-02-18 Dmitry Gutov + + Present C source files as absolute file names too when possible + + * lisp/progmodes/elisp-mode.el (xref-location-group): + Present C source files as absolute file names too when possible + (bug#46514). + +2021-02-17 Basil L. Contovounesios + + Fix recent Command Modes changes in Elisp manual + + * doc/lispref/commands.texi (Command Modes): Fix typos and grammar. + Cross-reference the 'declare' form node. + +2021-02-17 Matt Armstrong + + doc/lispref/commands.texi (Command Modes): Fix typo. + + * doc/lispref/commands.texi (Command Modes): Fix typo. + +2021-02-17 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-02-17 Alan Mackenzie + + Make goto-line-history buffer local only when so customized + + * lisp/simple.el (goto-line-history-local): New customizable option. + (goto-line-history): Define this simply with defvar, not defvar-local. + (goto-line-read-args): Handle goto-line-history-local, and changes to it. + + * doc/emacs/basic.texi (Moving Point): Add a paragraph about + goto-line-history-local. + + * etc/NEWS: Add an item under "Editing Changes in Emacs 28.1". + +2021-02-17 Andrea Corallo + + Fix inverted logic in constraint comparison (bug#46540) + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=) + (comp-cstr-<, comp-cstr-<=): Fix inverted logic. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add + three integer constrain tests. + +2021-02-17 Lars Ingebrigtsen + + Adjust the edebug spec for `interactive' + + * lisp/emacs-lisp/edebug.el: Adjust the edebug spec for + `interactive' for the new syntax. + +2021-02-17 Lars Ingebrigtsen + + Make unused `Buffer-menu-sort' alias obsolete + + * lisp/buff-menu.el (Buffer-menu-sort): Make unused alias obsolete. + * test/lisp/progmodes/elisp-mode-tests.el + (find-defs-defalias-defun-el): Adjust test to use an alias that's + not obsolete. + +2021-02-17 Lars Ingebrigtsen + + Mark up commands in buff-menu.el for modes + +2021-02-17 Lars Ingebrigtsen + + Explicate on how to tag commands with modes + + * doc/lispref/commands.texi (Command Modes): New node. + (Using Interactive): Move the `modes' text to the new node. + +2021-02-17 Andrea Corallo + + * src/comp.c (Fcomp__compile_ctxt_to_file): Clean-up unused variable. + +2021-02-17 Juri Linkov + + New transient mode 'repeat-mode' to allow shorter key sequences (bug#46515) + + * doc/emacs/basic.texi (Repeating): Document repeat-mode. + + * lisp/repeat.el (repeat-exit-key): New defcustom. + (repeat-mode): New global minor mode. + (repeat-post-hook): New function. + + * lisp/bindings.el (undo-repeat-map): New variable. + (undo): Put 'repeat-map' property with + 'undo-repeat-map'. + (next-error-repeat-map): New variable. + (next-error, previous-error): Put 'repeat-map' property with + 'next-error-repeat-map'. + + * lisp/window.el (other-window-repeat-map): New variable. + (other-window): Put 'repeat-map' property with + 'other-window-repeat-map'. + (resize-window-repeat-map): New variable. + (enlarge-window, enlarge-window-horizontally) + (shrink-window-horizontally, shrink-window): Put 'repeat-map' + property with 'resize-window-repeat-map'. + +2021-02-17 Juri Linkov + + New command 'tab-duplicate' like in web browsers + +2021-02-17 Michael Albinus + + Further Tramp code cleanup + + * doc/misc/tramp.texi (Predefined connection information): + Mention "about-args". + + * lisp/net/tramp-cmds.el (tramp-version): Adapt docstring. + + * lisp/net/tramp.el (tramp-handle-expand-file-name): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): + * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name) + * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name): + Handle local "/..". + + * lisp/net/tramp-rclone.el (tramp-methods) : + Adapt `tramp-mount-args'. + (tramp-rclone-flush-directory-cache): Remove. + (tramp-rclone-do-copy-or-rename-file) + (tramp-rclone-handle-delete-directory) + (tramp-rclone-handle-delete-file) + (tramp-rclone-handle-make-directory): Don't use that function. + (tramp-rclone-maybe-open-connection): Fix use of `tramp-mount-args'. + + * lisp/net/trampver.el (tramp-inside-emacs): New defun. + * lisp/net/tramp.el (tramp-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-sh-handle-process-file, tramp-open-shell): Use it. + (tramp-get-env-with-u-option): Remove. + + * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-top): + New test. + +2021-02-17 Eli Zaretskii + + Disable filtering of commands in M-x completion + + This makes the default behavior like it was before: + M-x completion doesn't filter out any commands. To + have commands filtered based on their relevance to the + current buffer's modes, customize the option + 'read-extended-command-predicate' to call + 'command-completion-default-include-p'. + * doc/lispref/commands.texi (Interactive Call): + * doc/emacs/m-x.texi (M-x): Update the description of + 'read-extended-command-predicate' and improve wording. + + * etc/NEWS: Update the entry about + 'read-extended-command-predicate'. + + * lisp/simple.el (read-extended-command-predicate): Change default + value to nil. Update doc string. Add :group. + (read-extended-command): Handle nil as meaning to apply + no-filtering. + +2021-02-17 Lars Ingebrigtsen + + Fix recently introduced bug in `byte-compile-lambda' + + * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix recently + introduced error when compiling non-lexical commands (bug#46589). + +2021-02-17 Lars Ingebrigtsen + + Clarify 'read-extended-command-predicate' in NEWS + +2021-02-17 Lars Ingebrigtsen + + Change name for the completion-* predicates + + * lisp/simple.el (command-completion-default-include-p) + (command-completion-with-modes-p, command-completion-button-p): + Rename from completion-*. + (read-extended-command-predicate): Adjust default predicate. + + * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Adjust + predicate name. + +2021-02-17 Glenn Morris + + * configure.ac: Replace obsolete AC_CHECK_HEADER usage. (Bug#46578) + + * configure.ac: Replace obsolete AC_TRY_LINK with AC_LINK_IFELSE. + +2021-02-17 Glenn Morris + + Remove TIME_WITH_SYS_TIME, unused for a long time + + * configure.ac (AC_HEADER_TIME): Remove. (Bug#46578) + +2021-02-17 Harald J旦rg + + cperl-mode: Improve detection of index entries for imenu + + * lisp/progmodes/cperl-mode.el + (cperl-imenu-addback): Customization variable deleted. This + variable has been declared obsolete in 1998. + (cperl--basic-identifier-regexp) and many other variables: + defining regular expressions for basic Perl constructs. + (cperl-imenu--create-perl-index): This function has been + completely rewritten, keeping only some parts of the output + formatting. It now recognizes a lot more package and + subroutine declarations which came since Perl 5.14: Packages + with a version and/or a block attached, lexical subroutines, + declarations with a newline between the keyword "package" and + the package name, and several more. This version also + correctly separates subroutine names from attributes, does no + longer support "unnamed" packages (which don't exist in Perl), + and doesn't fall for false positives like stuff that looks + like a declaration in a multiline string. + (cperl-tags-hier-init): Eliminate call to + `cperl-imenu-addback` (which actually was commented out in + 1997) + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test--validate-regexp) and six other new tests for the + new regular expressions and the index creation. + + * test/lisp/progmodes/cperl-mode-resources/grammar.pl: New + file showcasing different syntax variations for package and + sub declarations (bug#46574). + +2021-02-17 Lars Ingebrigtsen + + Don't move point in `exif-parse-buffer' + + * lisp/image/exif.el (exif-parse-buffer): Don't move point + (bug#46552). + +2021-02-16 Lars Ingebrigtsen + + Fix edebug spec for minibuffer-with-setup-hook + + * lisp/files.el (minibuffer-with-setup-hook): Instrument the + :append form for edebug (bug#46531). + +2021-02-16 Lars Ingebrigtsen + + Clarify Gnus Agent expiry quirks + + * doc/misc/gnus.texi (Agent Expiry): Mention that the last article + won't be expired (bug#46533). + +2021-02-16 Andrea Corallo + + * Clean-up some signal related dead-code + + * src/comp.c (restore_sigmask): Remove function. + (Fcomp__compile_ctxt_to_file): Remove some dead-code. + +2021-02-16 Andrea Corallo + + * src/comp.c (check_comp_unit_relocs): Prefer ptrdiff_t to EMACS_INT. + +2021-02-16 Andrea Corallo + + * Better long range check + + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag) + (emit_rvalue_from_lisp_word): Better long range check. + +2021-02-16 Andrea Corallo + + * Sanitize frame slot access in final + + * src/comp.c (comp_t): Add 'frame_size' field. + (emit_mvar_lval): Add sanity check on frame element access. + (compile_function): Initialize 'comp.frame_size' and + 'comp.frame_size'. + +2021-02-16 Glenn Morris + + thumbs.el: avoid creating thumbs directory on loading library + + * lisp/thumbs.el (thumbs-cleanup-thumbsdir): + Don't create the thumbs directory if it does not exist. + +2021-02-16 Glenn Morris + + * admin/cus-test.el (cus-test-load-libs): Quieten loading. + + * admin/cus-test.el (cus-test-get-lisp-files): Ignore loaddefs files. + +2021-02-16 Bastian Beranek + + * lisp/tab-bar.el: Fix behavior of toggle-frame-tab-bar (bug #46299) + + (toggle-frame-tab-bar): Add frame parameter to protect tab bar state. + (tab-bar--update-tab-bar-lines): Check parameter. + +2021-02-16 Basil L. Contovounesios + + Pacify unused function warning in xfns.c with GTK2 + + * src/xfns.c (x_get_net_workarea, x_get_monitor_for_frame) + (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback): + [HAVE_XINERAMA] (x_get_monitor_attributes_xinerama) + [HAVE_XRANDR] (x_get_monitor_attributes_xrandr) + (x_get_monitor_attributes): Fix #ifdefs around definitions to avoid + unused function warnings regardless of GTK use (bug#46509). + [HAVE_XRANDR] (x_get_monitor_attributes_xrandr): Undefine + RANDR13_LIBRARY after it's been used. + +2021-02-16 Lars Ingebrigtsen + + Revert "Fix problem of point movement in image-mode" + + This reverts commit 7c7377288a125ef47f2b422cf131f044a3b418e1. + + This is fixed differently in Emacs 27. + +2021-02-16 Lars Ingebrigtsen + + Fix problem of point movement in image-mode + + * lisp/image-mode.el (image-mode): Switch disable-point-adjustment + on, otherwise `C-c C-c' will move point around oddly. + (image-toggle-display): Ensure that point is on the image (bug#46552). + +2021-02-16 Eli Zaretskii + + Avoid point movement when visiting image files + + * lisp/image-mode.el (image-toggle-display-image): Preserve point + around the call to exif-parse-buffer, to prevent it from moving + into the image data. (Bug#46552) + +2021-02-16 Lars Ingebrigtsen + + Do interactive mode tagging for info.el + +2021-02-16 Lars Ingebrigtsen + + Don't resize images in image-mode if we have a rotation + + * lisp/image-mode.el (image-fit-to-window): Don't resize of we + have a manually rotated imaged (and explain the resizing logic a + bit). + +2021-02-16 Konstantin Kharlamov + + make smerge-vc-next-conflict wrap around + + * lisp/vc/smerge-mode.el: + (smerge-vc-next-conflict): While searching for conflict markers, + wrap search around if current file is the last one with conflicts + (bug#46538). + +2021-02-16 Stefan Kangas + + Do `interactive' mode tagging in gomoku.el + + * lisp/play/gomoku.el: Do `interactive' mode tagging. + +2021-02-16 Stefan Kangas + + * lisp/play/gomoku.el: Minor doc fixes; formatting. + +2021-02-16 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Add 64bit int support + + (bindat--unpack-u64, bindat--unpack-u64r, bindat--pack-u64) + (bindat--pack-u64r): New functions. + (bindat--unpack-item, bindat--pack-item): Use them. + (bindat--fixed-length-alist): Add new types. + +2021-02-16 Stefan Kangas + + Fix admin/check-doc-strings for new DEFUN format + + * admin/check-doc-strings: Various fixes, including for the new DEFUN + format. The script still produces a ton of false positives, however. + +2021-02-16 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Clarify when field labels are optional + + The fixes the doc and the Edebug spec, as well as a subtle issue in + the code where a field whose name is (eval 'fill) was mistakenly + considered as an anonymous field of type `fill`. + + (bindat--unpack-item, bindat--unpack-group, bindat--length-group) + (bindat--pack-item, bindat--pack-group): Use dotimes, dolist, and pcase. + (bindat--item-aux): New edebug elem. + (bindat-item): Use it to fix the handling of optional fields. + (bindat-format-vector): Use `mapconcat`. + +2021-02-16 Stefan Monnier + + * lisp/emacs-lisp/bindat.el (bindat-spec): New macro. + + It's basically an alias for `quote`, but it offers the advantage of + providing Edebug support and opens the possibility of compiling + the bindat spec to ELisp code. + + * doc/lispref/processes.texi (Bindat Spec): Document `bindat-spec`. + (Bindat Functions): Tweak a few things to adjust to the state of the code. + + * test/lisp/emacs-lisp/bindat-tests.el: Use it. + + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests--read): New function. + (edebug-tests--&rest-behavior): New test. + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Warn on empty let bodies + +2021-02-15 Ulf Jasper + + Display yearly ical events from first year on. Fix Bug#23100. + + Convert yearly rrule starting in year x into diary-anniversary entry + for year x-1 when importing an icalendar. Correspondingly convert + diary-anniversary for year x into yearly rrule starting in year x+1. + + * + test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-american: + * + test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-european: + * + test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-iso: + * + test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-american: + * + test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-european: + * + test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-iso: + * + test/lisp/calendar/icalendar-tests.el (icalendar-convert-anniversary-to-ical): + Match new diary-anniversary/yearly-rrule behaviour. + + * lisp/calendar/icalendar.el (icalendar--datestring-to-isodate): Add + year-shift option. (icalendar--convert-anniversary-to-ical): Shift + the year as diary-anniversary is not displayed in the initial year. + (icalendar--convert-recurring-to-diary): Shift the year as + diary-anniversary is not displayed in the initial year. (Bug#23100) + +2021-02-15 Stefan Monnier + + * lisp/calc/calc-sel.el (calc-replace-sub-formula): Fix typo + + Reported by S辿bastien Miquel + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Expose the `struct` variable (bug#46534) + + (bindat--unpack-group, bindat--length-group, bindat--pack-group): + Mark it as dynamically scoped. + +2021-02-15 Lars Ingebrigtsen + + Allow overriding declared predicates, too + + * lisp/simple.el (completion-default-include-p): Rename and move + the checking for an explicit predicate down here... + (read-extended-command): ... from here. + (read-extended-command-predicate): Adjust default value. + +2021-02-15 Lars Ingebrigtsen + + Do `interactive' mode tagging in the remaining lisp/gnus files + +2021-02-15 Lars Ingebrigtsen + + Add a new variable `global-minor-modes' + + * doc/lispref/modes.texi (Minor Modes): Document it. + * lisp/simple.el (global-minor-modes): New variable. + (completion-in-mode-p): Use it. + (completion-with-modes-p): Use it. + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Support it. + +2021-02-15 Lars Ingebrigtsen + + Rename minor-modes to local-minor-modes + + * doc/lispref/modes.texi (Minor Modes): Update documentation. + * lisp/simple.el (completion-with-modes-p): Change usage. + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Change usage. + + * src/buffer.c: Rename from minor_modes to local_minor_modes + throughout. + (syms_of_buffer): Rename minor-modes to local-minor-modes. + + * src/buffer.h (struct buffer): Rename minor_modes_. + + * src/pdumper.c (dump_buffer): Update hash and usage. + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug-&optional, edebug-&rest): Remove vars + + According to my tests, `edebug-&optional` never has any effect. + And `edebug-&rest` can be replaced with a closure. + + (edebug-&rest-wrapper): Remove function. + (edebug--match-&-spec-op): Use a closure to remember the `specs`. + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/byte-run.el (compiler-macro): Make it Edebuggable + + * lisp/emacs-lisp/gv.el (gc-expander, gv-setter): Reuse the spec of + `compiler-macro`. + +2021-02-15 Lars Ingebrigtsen + + Make the button completion predicate be more useful + + * lisp/simple.el (completion-button-p): Rework from + `completion-at-point-p'. + + * lisp/net/shr.el (shr-show-alt-text): It should be possible to + complete to commands that aren't bound to a key. + +2021-02-15 Lars Ingebrigtsen + + Speed up completion-in-mode-p in the common case + + * lisp/simple.el (completion-in-mode-p): Make predicate more + efficient in the common one-mode case. + +2021-02-15 Lars Ingebrigtsen + + Fix two syntax errors in Specification List + + * doc/lispref/edebug.texi (Specification List): Add a couple of + missing @s. + +2021-02-15 Stefan Monnier + + * Edebug: Generalize `&lookup`, use it for `cl-macrolet` and `cl-generic` + + This allows the use of (declare (debug ...)) in the lexical macros + defined with `cl-macrolet`. It also fixes the names used by Edebug + for the methods of `cl-generic` so it doesn't need to use gensym + and so they don't include the formal arg names any more. + + * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): + Rename from `edebug--handle-&-spec-op`. + (edebug--match-&-spec-op <&interpose>): Rename from `&lookup` and + generalize so it can let-bind dynamic variables around the rest of the parse. + (edebug-lexical-macro-ctx): Rename from `edebug--cl-macrolet-defs` and + make it into an alist. + (edebug-list-form-args): Use the specs from `edebug-lexical-macro-ctx` + when available. + (edebug--current-cl-macrolet-defs): Delete var. + (edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name) + (edebug-match-cl-macrolet-body): Delete functions. + (def-declarations): Use new `&interpose`. + (edebug--match-declare-arg): Rename from `edebug--get-declare-spec` and + adjust to new calling convention. + + * lisp/subr.el (def-edebug-elem-spec): Fix docstring. + (eval-after-load): Use `declare`. + + * lisp/emacs-lisp/cl-generic.el: Fix Edebug names so we don't need + gensym any more and we only include the specializers but not the formal + arg names. + (cl--generic-edebug-name): New var. + (cl--generic-edebug-remember-name, cl--generic-edebug-make-name): New funs. + (cl-defgeneric, cl-defmethod): Use them. + + * lisp/emacs-lisp/cl-macs.el: Add support for `debug` declarations in + `cl-macrolet`. + (cl-declarations-or-string): + Fix use of `lambda-doc` and allow use of `declare`. + (edebug-lexical-macro-ctx): Declare var. + (cl--edebug-macrolet-interposer): New function. + (cl-macrolet): Use it to pass the right `lexical-macro-ctx` to the body. + + * lisp/emacs-lisp/pcase.el (pcase-PAT): Use new `&interpose`. + (pcase--edebug-match-pat-args): Rename from `pcase--get-edebug-spec` and + adjust to new calling convention. + + * test/lisp/emacs-lisp/cl-generic-tests.el (cl-defgeneric/edebug/method): + Adjust to the new names. + + * test/lisp/emacs-lisp/edebug-tests.el (edebug-cl-defmethod-qualifier) + (edebug-tests-cl-flet): Adjust to the new names. + + * doc/lispref/edebug.texi (Specification List): Document &interpose. + +2021-02-15 Stefan Kangas + + Avoid asking repeatedly about reloading bookmarks file + + * lisp/bookmark.el (bookmark-maybe-load-default-file): Reload watched + bookmarks file only if its mtime has changed since the last query. + This avoids asking repeatedly about reloading the bookmarks file if + the user has already said "no" to a previous query. + (bookmark--watch-file-already-queried-p): New function. + (bookmark--watch-already-asked-mtime): New variable. + +2021-02-14 Stefan Kangas + + Mark up bookmark.el for correct modes + + * lisp/bookmark.el: Mark up all commands with applicable modes. + +2021-02-14 Lars Ingebrigtsen + + Add a comment to `read-extended-command' + + * lisp/simple.el (read-extended-command): Add a comment. + +2021-02-14 Andrea Corallo + + * lisp/startup.el (normal-top-level): Use `path-separator' in place of ":". + +2021-02-14 Eli Zaretskii + + * src/xdisp.c (move_it_to): Fix last change. (Bug#46316) + +2021-02-14 Lars Ingebrigtsen + + Add a possible completion predicate for buttons + + * lisp/simple.el (completion-at-point-p): New predicate. + + * lisp/net/shr.el (shr-show-alt-text): Mark up as a button. + +2021-02-14 Lars Ingebrigtsen + + Make completion-with-modes-p work with minor modes, too + + * lisp/simple.el (completion-with-modes-p): Work with minor modes, + too. + +2021-02-14 Andrea Corallo + + Revert "* src/comp.c (define_jmp_buf): Use 'jmp_buf' instead of 'sys_jmp_buf'." + + This reverts commit bebec46bcbf0e52460b08234c067d7a2cb0f2246. + + Looking at the git history I realize now the use of 'sys_jmp_buf' was + intentional. + +2021-02-14 Andrea Corallo + + * src/comp.c (define_jmp_buf): Use 'jmp_buf' instead of 'sys_jmp_buf'. + + * src/comp.c (load_comp_unit): Fix 'data_ephemeral_vec' shadowing decl. + +2021-02-14 Bastian Beranek + + Fix showing and hiding of tab-bar on new frames (bug#46299) + + * lisp/tab-bar.el (tab-bar--update-tab-bar-lines) + (tab-bar--tab-bar-lines-for-frame): + New functions to update value of tab-bar-lines in frames. + (tab-bar-mode, tab-bar-new-tab-to, tab-bar-close-tab) + (tab-bar-close-other-tab, tab-bar-show :set): + Use new function. + (tab-bar-select-tab-modifiers :set): + Work around visual glitch. + +2021-02-14 Lars Ingebrigtsen + + Do command markup in blackbox.el + +2021-02-14 Lars Ingebrigtsen + + Fix byte-run--set-modes call signature + + * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): We take a + list of modes, not a single one (and fix the quoting). + +2021-02-14 Lars Ingebrigtsen + + Fix missing ' in NEWS + +2021-02-14 Lars Ingebrigtsen + + Also mention `M-o M-o' removal + + * lisp/loadup.el (facemenu-keymap-restore): Also restore `M-o M-o'. + +2021-02-14 Lars Ingebrigtsen + + Don't update `minor-modes' in global modes + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): There's no + point in setting the buffer-local `minor-modes' in global modes. + +2021-02-14 Lars Ingebrigtsen + + Mark up 5x5 for interactive mode + +2021-02-14 Lars Ingebrigtsen + + Fix problem with the newly introduces `minor-modes' variable + + * lisp/help-fns.el (describe-mode): Apparently buffer-local + variables take precedence over lexically bound variables? + +2021-02-14 Lars Ingebrigtsen + + Do `interactive' mode markup in all Gnus files + +2021-02-14 Lars Ingebrigtsen + + Really fix the syntax problem in define-minor-mode + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix + interactive extension in previous change. + +2021-02-14 Lars Ingebrigtsen + + Fix previous define-minor-mode change + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix + interactive extension in previous change. + +2021-02-14 Lars Ingebrigtsen + + Mark up eww.el for correct modes + + * lisp/net/eww.el: Mark up all commands with applicable modes. + +2021-02-14 Lars Ingebrigtsen + + Make `C-h m' list unbound commands applicable for the mode + + * lisp/help-fns.el (help-fns--list-local-commands): New function. + (describe-mode): Use it. + +2021-02-14 Lars Ingebrigtsen + + Allow define-minor-mode to take an :interactive keyword + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Allow + specifying the :interactive state and the modes. + +2021-02-14 Lars Ingebrigtsen + + Fix dumping of buffers after minor_modes was added + + * src/pdumper.c (dump_buffer): Set minor_modes to nil before dumping. + +2021-02-14 Lars Ingebrigtsen + + Revert the bit about command_modes in previous patch set + + * src/data.c (Fcommand_modes): Remove the subr bit -- it's not + necessary since it can just use a predicate. + * src/lisp.h (GCALIGNED_STRUCT): Remove command_modes. + + * src/lread.c (defsubr): Remove command_modes. + +2021-02-14 Lars Ingebrigtsen + + Add 'read-extended-command-predicate' + + * doc/emacs/m-x.texi (M-x): Document it. + * doc/lispref/commands.texi (Interactive Call): Document it further. + + * lisp/simple.el (read-extended-command-predicate): New user option. + (read-extended-command-predicate): Use it. + (completion-in-mode-p): New function (the default predicate). + +2021-02-14 Lars Ingebrigtsen + + Mark easy-menu-do-define menus as "not interesting" + + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Mark menu + keymaps as "not interesting" when doing completion. + +2021-02-14 Lars Ingebrigtsen + + Add new 'declare' forms for command completion predicates + + * doc/lispref/functions.texi (Declare Form): Document the new + `completion' and `modes' declarations. + * lisp/simple.el (completion-with-modes-p): New helper functions. + + * lisp/emacs-lisp/byte-run.el (byte-run--set-completion) + (byte-run--set-modes): + (defun-declarations-alist): New declarations for `completion' and + `modes'. + +2021-02-14 Lars Ingebrigtsen + + Extend the syntax of `interactive' to list applicable modes + + * doc/lispref/commands.texi (Using Interactive): Document the + extended `interactive' form. + * doc/lispref/loading.texi (Autoload): Document list-of-modes + form. + + * lisp/emacs-lisp/autoload.el (make-autoload): Pick the list of + modes from `interactive' out of the functions. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Allow for the + extended `interactive' form. + + * src/callint.c (Finteractive): Document the extended form. + + * src/data.c (Finteractive_form): Return the interactive form in + the old format (even when there's an extended `interactive') to + avoid having other parts of Emacs be aware of this. + (Fcommand_modes): New defun. + + * src/emacs-module.c (GCALIGNED_STRUCT): Allow for modules to + return command modes. + + * src/lisp.h: New function module_function_command_modes. + +2021-02-14 Lars Ingebrigtsen + + Fix how `shell-mode' avoids being called interactively + + * lisp/shell.el (shell-mode): Make noninteractive instead of + erroring out after being called. + +2021-02-14 Lars Ingebrigtsen + + Introduce an :interactive keyword for `defined-derived-mode' + + * doc/lispref/modes.texi (Derived Modes): Document it. + * lisp/emacs-lisp/derived.el (define-derived-mode): Introduce a + new :interactive keyword. + +2021-02-14 Stefan Kangas + + Remove redundant :group args from textmodes/*.el + + * lisp/textmodes/enriched.el: + * lisp/textmodes/ispell.el: + * lisp/textmodes/makeinfo.el: + * lisp/textmodes/paragraphs.el: + * lisp/textmodes/picture.el: + * lisp/textmodes/refbib.el: + * lisp/textmodes/refer.el: + * lisp/textmodes/remember.el: + * lisp/textmodes/texinfo.el: + * lisp/textmodes/tildify.el: + * lisp/textmodes/two-column.el: Remove redundant :group args. + +2021-02-14 Lars Ingebrigtsen + + Add a new buffer-local variable `minor-modes' + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Keep + `minor-modes' updated. + * src/buffer.c (bset_minor_modes, Fmake_indirect_buffer) + (reset_buffer, init_buffer_once): Initialise `minor-modes'. + (syms_of_buffer): Add `minor-modes' as a new permanently-local + variable. + + * src/buffer.h (struct buffer): Add minor_modes_. + +2021-02-14 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Reinstate. + + Removed by accident. + +2021-02-14 Stefan Monnier + + * lisp/emacs-lisp/edebug.el: Fix `called-interactively-p` + + And get rid of the old special-case handling of `interactive-p`, which + is now redundant. + + (edebug--called-interactively-skip): Fix lexical-binding case, + and adjust to some formerly missed call patterns. + (edebug-def-interactive, edebug-interactive-p): Remove vars. + (edebug-interactive-p-name, edebug-wrap-def-body) + (edebug-make-enter-wrapper): Remove functions. + (edebug-list-form): Don't special-case `interactive-p`. + +2021-02-13 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug-match-lambda-expr): Delete function + + (lambda-expr): Define with `def-edebug-elem-spec` instead. + (edebug--handle-&-spec-op): Remove left over code. + (interactive): Re-add mistakenly removed spec elem. + + * doc/lispref/edebug.texi (Specification List): Remove `function-form`. + +2021-02-13 Alan Third + + Fix flicker when resizing NS frame programmatically (bug#46155) + + + * src/nsterm.m ([EmacsView viewWillDraw]): New function. + ([EmacsView viewDidResize:]): We now have to mark the frame for + display on resize. + ([EmacsView initFrameFromEmacs:]): Retain frame contents on resize. + ([EmacsView updateLayer]): Don't update the layer if the frame is + still garbaged. + +2021-02-13 Alan Third + + Remove aliasing on SVG images under scaled NS frames + + * src/image.c (FRAME_SCALE_FACTOR): New #define for getting frame + scale factor. + (image_set_transform): + (svg_load_image): Use FRAME_SCALE_FACTOR. + * src/nsterm.m (ns_frame_scale_factor): Get the scale factor for an NS + frame. + +2021-02-13 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op <&name>): New method + + (edebug--concat-name): New function. + (edebug-match-name, edebug-match-cl-generic-method-qualifier) + (edebug-match-cl-generic-method-args): Delete functions. + + * doc/lispref/edebug.texi (Specification List): Document it. + + * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Use `&name`. + (cl-generic--method-qualifier-p): New predicate. + (cl-defmethod): Use it and `&name`. + * lisp/emacs-lisp/cl-macs.el (cl-defun, cl-iter-defun, cl-flet): + * lisp/emacs-lisp/eieio-compat.el (defmethod): + * lisp/emacs-lisp/gv.el (gv-define-setter): + * lisp/emacs-lisp/ert.el (ert-deftest): Use `&name`. + * lisp/erc/erc-backend.el (define-erc-response-handler): Use `declare` + and `&name`. + +2021-02-13 Philipp Stephani + + * etc/NEWS: Document new JSON behavior. + +2021-02-13 Augusto Stoffel (tiny change) + + Small correction to `isearch-lazy-highlight-buffer-update' + + The value of point is now read after a potential change of buffer. + * lisp/isearch.el (isearch-lazy-highlight-buffer-update): Move call + to `point' after `select-window'. + +2021-02-13 Stefan Monnier + + (backtrace-goto-source-functions): Make it a normal abnormal hook + + * lisp/emacs-lisp/backtrace.el (backtrace-goto-source-functions): + Don't mark it as buffer-local any more. + (backtrace-goto-source): Use `run-hook-with-args-until-success`. + + * lisp/emacs-lisp/edebug.el (edebug-pop-to-backtrace): Clarify that the + hook is only intended to be modified buffer-locally. + +2021-02-13 Eli Zaretskii + + Fix I-search at EOB when long lines are truncated + + * src/xdisp.c (move_it_to): Fix logic when TO_CHARPOS is at the + end of an hscrolled line which ends at EOB. (Bug#46316) + +2021-02-13 Philipp Stephani + + Pass 'struct json_configuration' as const where possible. + + The JSON serialization and parsing functions don't need to modify + these structures. + + * src/json.c (lisp_to_json_nonscalar_1, lisp_to_json_nonscalar) + (lisp_to_json, json_to_lisp): Mark configuration object parameter as + const. + +2021-02-13 Philipp Stephani + + Allow any JSON value at the top level (Bug#42994). + + Newer standards like RFC 8259, which obsoletes the earlier RFC 4627, + now allow any top-level value unconditionally, so Emacs should too. + + * src/json.c (Fjson_serialize, Fjson_insert): Pass JSON_ENCODE_ANY to + allow serialization of any JSON value. Call 'lisp_to_json' instead of + 'lisp_to_json_toplevel'. Remove obsolete comments + (neither JSON_DECODE_ANY nor JSON_ALLOW_NUL are allowed here). Reword + documentation strings. + (Fjson_parse_string, Fjson_parse_buffer): Pass JSON_DECODE_ANY to + allow deserialization of any JSON value. Reword documentation + strings. + (lisp_to_json_nonscalar, lisp_to_json_nonscalar_1): Rename from + "toplevel" to avoid confusion. + (lisp_to_json): Adapt caller. + * test/src/json-tests.el (json-serialize/roundtrip-scalars): New unit + test. + * doc/lispref/text.texi (Parsing JSON): Update documentation. + +2021-02-13 Basil L. Contovounesios + + Remove stale comments from gnus-msg.el + + * lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news) + (gnus-summary-mail-other-window, gnus-summary-news-other-window): + Remove stale comments about let-binding gnus-newsgroup-name, as they + should have been addressed (bug#37871#38). + +2021-02-13 Eli Zaretskii + + Fix vertical cursor motion among many images + + * src/xdisp.c (move_it_in_display_line_to): Consider it + MOVE_POS_MATCH_OR_ZV if we are just after an image, stretch, or + display string, and the position matches exactly. This is needed + when one image follows another at TO_CHARPOS. (Bug#46464) + +2021-02-13 Lars Ingebrigtsen + + add-minor-mode doc string clarification + + * lisp/subr.el (add-minor-mode): Clarify that this function isn't + only about XEmacs compat stuff. + +2021-02-13 Stefan Kangas + + Delete 20 year old comment in executable.el + + * lisp/progmodes/executable.el (executable-insert): Delete 20 year old + comment. + +2021-02-13 Stefan Kangas + + Remove redundant :group args in progmodes/*.el + + * lisp/progmodes/bug-reference.el: + * lisp/progmodes/cfengine.el: + * lisp/progmodes/cmacexp.el: + * lisp/progmodes/cpp.el: + * lisp/progmodes/cwarn.el: + * lisp/progmodes/dcl-mode.el: + * lisp/progmodes/executable.el: + * lisp/progmodes/flymake.el: + * lisp/progmodes/gud.el: + * lisp/progmodes/hideshow.el: + * lisp/progmodes/icon.el: + * lisp/progmodes/inf-lisp.el: + * lisp/progmodes/js.el: + * lisp/progmodes/ld-script.el: + * lisp/progmodes/make-mode.el: + * lisp/progmodes/modula2.el: + * lisp/progmodes/pascal.el: + * lisp/progmodes/perl-mode.el: + * lisp/progmodes/prog-mode.el: + * lisp/progmodes/simula.el: + * lisp/progmodes/xscheme.el: Remove redundant :group args. + +2021-02-13 Stefan Monnier + + Edebug: Make it possible to debug `gv-expander`s in `declare` + + Arrange for declarations to be able to specify their own specs via + the `edebug-declaration-spec` property. + + * lisp/emacs-lisp/edebug.el: (edebug--get-declare-spec): New function. + (def-declarations): New spec element. + (defun, defmacro): Use it in their spec. + + * lisp/emacs-lisp/gv.el (gv-expander, gv-setter): + Set `edebug-declaration-spec`. + + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-gv-expander): New test. + + * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el + (edebug-test-code-use-gv-expander): New test case. + +2021-02-13 Stefan Kangas + + Comment out mysterious code from cperl-mode.el + + * lisp/progmodes/cperl-mode.el: Comment out mysterious code referring + to some unknown variable 'edit-var-mode-alist'. No one seems to know + what it is used for, so comment it out and see if anyone complains + before Emacs 28.1 or 28.2. + +2021-02-13 Stefan Kangas + + Remove outdated documentation from cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-tips, cperl-problems) + (cperl-praise, cperl-speed, cperl-mode): Doc fixes; remove references + to very old versions of Emacs and other "Emaxen". + (cperl-problems-old-emaxen): Make obsolete and remove information on + Emacs 20.3 and older. + +2021-02-13 Stefan Monnier + + Edebug: Overload `edebug-form-spec` even less + + The `edebug-form-spec` symbol property was used both to map forms's + head symbol to the corresponding spec, and to map spec element names + to their expansion. + + This lead to name conflicts which break instrumentation of examples such as + + (cl-flet ((gate (x) x)) (gate 4)) + + because of the Edebug spec element `gate`. + So introduce a new symbol property `edebug-elem-spec`. + + * lisp/subr.el (def-edebug-elem-spec): New function. + + * lisp/emacs-lisp/edebug.el (edebug--get-elem-spec): New function. + (edebug-match-symbol): Use it. + (Core Edebug elems): Put them on `edebug-elem-spec` instead of + `edebug-form-spec`. + (ELisp special forms): Set their `edebug-form-spec` via dolist. + (Other non-core Edebug elems): Use `def-edebug-elem-spec`. + (edebug-\`): Use `declare`. + + * lisp/emacs-lisp/pcase.el (pcase-PAT, pcase-FUN, pcase-QPAT): + * lisp/skeleton.el (skeleton-edebug-spec): + * lisp/emacs-lisp/cl-macs.el: Use `def-edebug-elem-spec`. + + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests--conflicting-internal-names): New test. + * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el + (edebug-test-code-cl-flet1): New test case. + + * doc/lispref/edebug.texi (Specification List): Add `def-edebug-elem-spec`. + (Specification Examples): Use it. + + * doc/lispref/loading.texi (Hooks for Loading): Avoid the use of + `def-edebug-spec` in example (better use `debug` declaration). + +2021-02-13 Stefan Kangas + + Remove XEmacs and Emacs 21 compat code from cperl-mode + + * lisp/progmodes/cperl-mode.el (cperl-mode): Remove XEmacs and + Emacs 21 compat code. + (cperl-compilation-error-regexp-list): New variable. + (cperl-compilation-error-regexp-alist): Make obsolete. + +2021-02-12 Basil L. Contovounesios + + Fix ElDoc setup for eval-expression + + * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Don't set + global value of eldoc-documentation-strategy (bug#44886). + +2021-02-12 Stefan Monnier + + Use `declare` instead of `def-edebug-spec` in most places + + * lisp/speedbar.el: Use lexical-binding. + (speedbar-with-writable): Use `declare`. + + * lisp/subr.el (def-edebug-spec): Use `declare`. + + * lisp/cedet/ede/base.el: Use lexical-binding. + (ede-with-projectfile): Use `declare`. + (recentf-exclude): Declare var. + + * lisp/cedet/ede/pmake.el: Use lexical-binding. + (ede-pmake-insert-variable-shared, ede-pmake-insert-variable-once): + Use `declare`. + + * lisp/cedet/ede/proj-comp.el: Use lexical-binding. + (ede-compiler-begin-unique, ede-compiler-only-once) + (ede-linker-begin-unique, ede-linker-only-once): Use `declare`. + + * lisp/cedet/semantic/ctxt.el: Use lexical-binding. + (semantic-with-buffer-narrowed-to-context) + (semantic-with-buffer-narrowed-to-command): Use `declare`. + (semantic--progress-reporter): Declare var. + (semantic-ctxt-end-of-symbol-default): Remove unused var `fieldsep`. + + * lisp/cedet/semantic/lex-spp.el: Use lexical-binding. + (define-lex-spp-macro-declaration-analyzer) + (define-lex-spp-include-analyzer, semantic-lex-with-macro-used) + (define-lex-spp-macro-undeclaration-analyzer): Use `declare`. + (semantic-lex-spp-symbol-remove): Rename arg to avoid colliding with + dynamic variable `obarray`. + (semantic-lex-spp-symbol-pop): Remove unused var `oldvalue`. + (semantic-lex-spp-lex-text-string): Remove unused var `analyzer`. + + * lisp/cedet/semantic/lex.el (define-lex) + (semantic-lex-unterminated-syntax-protection, define-lex-analyzer) + (define-lex-regex-analyzer, define-lex-block-analyzer) + (semantic-lex-catch-errors): Use `declare`. + + * lisp/cedet/semantic/tag.el: Use lexical-binding. + (semantic-with-buffer-narrowed-to-current-tag) + (semantic-with-buffer-narrowed-to-tag): Use `declare`. + + * lisp/cedet/semantic/wisent.el: Use lexical-binding. + (define-wisent-lexer): Use `declare`. + + * lisp/emacs-lisp/cl-lib.el (cl-pushnew): The arg to :test can be any + form not just function form. + + * lisp/org/ob-comint.el (org-babel-comint-in-buffer) + (org-babel-comint-with-output): Use `declare`. + + * lisp/org/ob-core.el (org-babel-map-src-blocks): Use `declare`. + (org-babel-result-cond): Simplify edebug spec. + + * lisp/org/org-clock.el (org-with-clock-position, org-with-clock): + * lisp/org/org-agenda.el (org-agenda-with-point-at-orig-entry): + * lisp/org/ob-tangle.el (org-babel-with-temp-filebuffer): Use `declare`. + + * lisp/textmodes/rst.el (push): Remove redundant edebug spec. + + * lisp/vc/pcvs-parse.el: Use lexical-binding. + (cvs-parse-buffer): Rename arg to avoid dynbound conflict. + (cvs-or): Use `declare`. + +2021-02-12 Mattias Engdeg奪rd + + Simplify expression in byte-code decompiler + + * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): + Replace roundabout expression with what it essentially does. + +2021-02-12 Mattias Engdeg奪rd + + byte-opt.el: More concise expression + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Refactor `setq` clause. + +2021-02-12 Mattias Engdeg奪rd + + Avoid traversing dead `if` branches in bytecode optimiser + + There is no point in traversing conditional branches that are + statically known never to be executed. This saves some optimisation + effort, but more importantly prevents variable assignments and + references in those branches from blocking effective constant + propagation. + + Also attempt to traverse as much as possible in an unconditional + context, which enables constant-propagation through (linear) + assignments. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form): + Rewrite the (tail) recursion into an explicit loop. Normalise a + return value of (quote nil) to nil, for easier subsequent + optimisations. + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't + traverse dead `if` branches. Use unconditional traversion context + when possible. + +2021-02-12 Mattias Engdeg奪rd + + Don't inline tramp-debug-message + + * lisp/net/tramp.el (tramp-debug-message): Change defsubst into defun. + Until now the byte-compiler hasn't been clever enough to inline this + function but this is about to change; the code expansion is + unnecessary and makes compiler improvements more difficult to gauge. + +2021-02-12 Stefan Kangas + + Use regexp-opt for font lock defaults in meta-mode.el + + * lisp/progmodes/meta-mode.el: Remove redundant :group args. + + (meta-font-lock-keywords): Use regexp-opt. + +2021-02-12 Stefan Kangas + + Minor cleanups in scheme.el + + * lisp/progmodes/scheme.el: Remove redundant :group args. + (dsssl-font-lock-keywords): Use regexp-opt. + +2021-02-12 Stefan Kangas + + Add font locking for many missing macros in m4-mode + + * lisp/progmodes/m4-mode.el (m4--macro-list): New variable. + (m4-font-lock-keywords): Use regexp-opt and add many missing macros + sourced from the M4 manual. + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op) <&lookup>: New method + + * doc/lispref/edebug.texi (Specification List): Document it. + + * lisp/emacs-lisp/pcase.el (pcase-PAT): Use it. + (pcase-MACRO): Remove Edebug element. + (pcase--get-edebug-spec): New function. + (pcase--edebug-match-macro): Remove function. + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (cl-flet): Fix edebug spec + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/edebug.el: Misc cleanups. + + Move all definitions under the `edebug-` prefix. + + (edebug-get-spec): Rename from `get-edebug-spec`. + (edebug-move-cursor): Use `cl-callf`. + (edebug-spec-p): Remove unused function. + (def-edebug-spec, edebug-spec-list, edebug-spec): Remove unused specs + (nothing in there gets instrumented anyway). + (edebug-tracing): Use `declare`. + (edebug-cancel-on-entry): Rename from `cancel-edebug-on-entry`. + (edebug-global-prefix): Rename from `global-edebug-prefix`. + (edebug-global-map): Rename from `global-edebug-map`. + + * lisp/emacs-lisp/pcase.el (pcase-PAT): Remove `let`. + (let): Use `declare` instead. + (pcase--edebug-match-macro): Use new name `edebug-get-spec`. + +2021-02-12 Robert Pluim + + Remove Motif support + + * configure.ac: Remove support for configuring --with-x-toolkit=motif + + * etc/NEWS: Mention removal of Motif support. + +2021-02-12 Lars Ingebrigtsen + + Allow minor modes to specify major modes they're useful in + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/gv.el (gv-place): Simplify + +2021-02-12 Stefan Monnier + + * lisp/cedet/semantic/symref/: Use lexical-binding + + * lisp/cedet/semantic/symref/cscope.el: + * lisp/cedet/semantic/symref/filter.el: + * lisp/cedet/semantic/symref/global.el: + * lisp/cedet/semantic/symref/grep.el: + * lisp/cedet/semantic/symref/idutils.el: + * lisp/cedet/semantic/symref/list.el: Use lexical-binding. + +2021-02-12 Stefan Monnier + + * lisp/cedet/semantic/decorate/: Use lexical-binding in all files + + * lisp/cedet/semantic/decorate/include.el + (semantic-decoration-fileless-include-describe): Remove unused var `mm`. + * lisp/cedet/semantic/decorate/mode.el: Use lexical-binding. + +2021-02-11 Alan Mackenzie + + Make recursive minibuffers and recursive edits work together + + * lisp/minibuffer.el (exit-minibuffer): When in a minibuffer, throw an error + should the command loop nesting level be wrong. + + * src/lisp.h (minibuffer_quit_level): declare as an extern. + (command_loop_level): Move definition from src/window.h + + * src/window.h (command_loop_level): move definition to src/lisp.h. + + * src/eval.c (minibuffer_quit_level): Move this variable to file level from + being a static inside internal_catch. + (internal_catch): Simplify the logic. + + * src/minibuf.c (Vcommand_loop_level_list): New variable. + (move_minibuffer_onto_frame): Set the major mode of *Minibuf-0*. + (Fminibuffer_innermost_command_loop_p): New primitive. + (Fabort_minibuffers): Check the command loop level before throwing t to 'exit, + and set minibuffer_quit_level too. + (read_minibuf): New variable calling_window. + Before stacking up minibuffers on the current mini-window, check that the + mini-window is not the current one. + Do not call choose_minibuf_frame from read_minibuf's unwinding process. + Bind calling_frame and calling_window over the recursive edit. + Set the new minibuffer's major mode directly. + Remove the switching away from the minibuffer after the recursive edit. + (get_minibuffer): Record the command loop level in new variable + Vcommand_loop_level_list. No longer set the major mode of a returned + minibuffer. + (minibuf_c_loop_level): New function. + (read_minibuf_unwind): New variables calling_frame, calling_window are unbound + from the binding stack. Remove old variable `window', which could not be set + reliably to the expired mini-window. + The expired minibuffer is determined as the nth in the list, rather than the + contents of the current or previous mini-window. + Switch the current window away from the mini-window here (moved from + read_minibuf). + +2021-02-11 Stefan Kangas + + Use lexical-binding in erc-sound.el + + * lisp/erc/erc-sound.el: Use lexical-binding. Remove redundant :group + args. + +2021-02-11 Stefan Kangas + + Drop XEmacs and SXEmacs support from EDE + + * lisp/cedet/ede/emacs.el (ede-emacs-version): Drop XEmacs and + SXEmacs support from EDE. + +2021-02-11 Stefan Kangas + + Use lexical-binding in various ede files + + * lisp/cedet/ede/dired.el: + * lisp/cedet/ede/emacs.el: + * lisp/cedet/ede/make.el: + * lisp/cedet/ede/proj-archive.el: + * lisp/cedet/ede/proj-aux.el: + * lisp/cedet/ede/proj-misc.el: + * lisp/cedet/ede/proj-scheme.el: + * lisp/cedet/ede/srecode.el: + * lisp/cedet/ede/system.el: Use lexical-binding. + +2021-02-11 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Default to speed 1. + +2021-02-11 Stefan Kangas + + Use lexical-binding in wid-browse.el + + * lisp/wid-browse.el: Use lexical-binding. + (widget-browse-mode): Use define-derived-mode. + (widget-browse-mode-hook): Remove redundant :group arg. + (widget-browse-action, widget-browse-value-create): Doc fixes. + +2021-02-11 Stefan Kangas + + * lisp/ps-samp.el: Use lexical-binding. + +2021-02-11 Stefan Kangas + + Fix two Emacs version references in misc manuals + + * doc/misc/forms.texi: Fix reference to Emacs version. + * doc/misc/remember.texi: Fix version reference to indicate Emacs + version instead of version of remember. The corresponding version + variable and header have been marked obsolete. + +2021-02-11 Basil L. Contovounesios + + Fix Octave double-quoted string line continuations + + * lisp/progmodes/octave.el (octave-string-continuation-marker): New + defconst after octave-continuation-string. + (octave-continuation-string): Mention it in docstring. + (octave-maybe-insert-continuation-string): Mark unused function as + obsolete. + (octave-help-function): Simplify action. + (octave--indent-new-comment-line): Insert + octave-string-continuation-marker instead of + octave-continuation-string within double-quoted strings (bug#46420). + (octave-indent-new-comment-line): + * etc/NEWS: Describe new behavior. + +2021-02-11 Andrii Kolomoiets + + Use frame monitor in frame_float + + * src/frame.c (frame_float): Use frame monitor attributes instead + of attributes of the main monitor (bug#46406). + +2021-02-11 Stefan Kangas + + Avoid having erc in irrelevant finder categories + + * lisp/erc/erc-backend.el: + * lisp/erc/erc-button.el: + * lisp/erc/erc-dcc.el: + * lisp/erc/erc-identd.el: + * lisp/erc/erc-join.el: + * lisp/erc/erc-lang.el: + * lisp/erc/erc-log.el: + * lisp/erc/erc-match.el: + * lisp/erc/erc-menu.el: + * lisp/erc/erc-pcomplete.el: + * lisp/erc/erc-replace.el: + * lisp/erc/erc-spelling.el: + * lisp/erc/erc-stamp.el: + * lisp/erc/erc-track.el: + * lisp/erc/erc-xdcc.el: Remove irrelevant entries in Keywords header. + +2021-02-11 Stefan Kangas + + * lisp/progmodes/cperl-mode.el (cperl-init-faces): Use regexp-opt. + +2021-02-10 Stefan Monnier + + * lisp/play/decipher.el: Use lexical-binding + + (decipher-mode-syntax-table): Move initialization into declaration. + (decipher-mode, decipher-stats-mode): Use `define-derived-mode`. + (decipher-stats-buffer): Use `buffer-local-value`. + +2021-02-10 Stefan Monnier + + * lisp/leim/quail: Use lexical-binding + + * lisp/leim/quail/hangul.el: + * lisp/leim/quail/indian.el: + * lisp/leim/quail/ipa.el: + * lisp/leim/quail/japanese.el: + * lisp/leim/quail/lao.el: + * lisp/leim/quail/latin-ltx.el: + * lisp/leim/quail/lrt.el: + * lisp/leim/quail/sisheng.el: + * lisp/leim/quail/thai.el: + * lisp/leim/quail/tibetan.el: Use lexical-binding. + * lisp/leim/quail/uni-input.el (ucs-input-method): Remove unused var `str`. + +2021-02-10 Stefan Monnier + + * lisp/leim/quail: Use lexical-binding + + * lisp/leim/quail/hangul.el: + * lisp/leim/quail/indian.el: + * lisp/leim/quail/ipa.el: + * lisp/leim/quail/japanese.el: + * lisp/leim/quail/lao.el: + * lisp/leim/quail/latin-ltx.el: + * lisp/leim/quail/lrt.el: + * lisp/leim/quail/sisheng.el: + * lisp/leim/quail/thai.el: + * lisp/leim/quail/tibetan.el: Use lexical-binding. + * lisp/leim/quail/uni-input.el (ucs-input-method): Remove unused var `str`. + +2021-02-10 Stefan Monnier + + * lisp/subr.el (combine-change-calls-1): Don't presume integer args + + This avoids problems where the `after-change-functions` end up called + with the new length rather than the old length. + +2021-02-10 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Break cycles + + * test/lisp/emacs-lisp/macroexp-tests.el: New file. + +2021-02-10 Andrea Corallo + + Add late load pdumper hooks so these can call into Lisp + + * src/pdumper.h (pdumper_do_now_and_after_late_load): New function. + * src/pdumper.c (dump_late_hooks, nr_dump_late_hooks): New static + variables. + (dump_metadata_for_pdumper): Add support for late load hooks. + (pdumper_do_now_and_after_late_load_impl): New functions. + (pdumper_load): Add support for late load hooks. + * src/window.c (init_window_once): Register + 'init_window_once_for_pdumper' to be executed after late load. + +2021-02-10 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-02-10 Juri Linkov + + Fix ediff even/odd faces to increase their contrast and readability + + * lisp/vc/ediff-init.el (ediff-even-diff-A, ediff-even-diff-B) + (ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A) + (ediff-odd-diff-B, ediff-odd-diff-C): Add :distant-foreground + "Black" for light background. For dark background + add :distant-foreground "White", and use darker shades of grey + for background colors (bug#46396). + +2021-02-10 Lars Ingebrigtsen + + Fix build problem with previous facemenu change + + * lisp/facemenu.el (facemenu-add-face-function): Move to avoid a + warning. + (list-colors-display): Autoload. + +2021-02-10 Paul Eggert + + Simplify and speed up after-find-file + + Use newer primitives like file-accessible-directory-p to simplify + and speed up longstanding code in after-find-file. + * lisp/files.el (after-find-file): + Prefer file-exists-p + file-symlink-p to file-attributes + + file-symlink-p + file-chase-links + file-exists-p. + Prefer file-accessible-directory-p to directory-file-name + + file-attributes. + Prefer file-directory-p to file-name-directory + file-exists-p. + +2021-02-10 Paul Eggert + + Fix file lock issue (Bug#46397) + + * src/filelock.c (current_lock_owner): + Also treat ENOTDIR as meaning the lock file does not exist. + +2021-02-10 Lars Ingebrigtsen + + Remove the 'M-o' ('facemap-keymap') binding experimentally + + * doc/lispref/maps.texi (Standard Keymaps): + * doc/lispref/keymaps.texi (Prefix Keys): Remove mentions. + + * etc/facemenu-removal.txt: New temporary file. + + * lisp/loadup.el: Don't load facemenu.el. + (removed-facemenu-command): New command. + (facemenu-keymap-restore): New function. + + * lisp/textmodes/text-mode.el (center-paragraph): Remove binding. + (center-line): Remove binding. + +2021-02-10 Stefan Monnier + + * lisp/emacs-lisp/edebug.el: Tweak last change + + Use generic functions i.s.o `edebug--spec-op-function`. + + : No need to register the &foo and :foo handler any more. + (edebug--handle-&-spec-op, edebug--handle-:-spec-op): New generic functions. + (edebug-match-specs): Use them. + (edebug--get-spec-op): Remove function. + (edebug-match-&optional, edebug-match-&rest, edebug-match-&or) + (edebug-match-¬, edebug-match-&key, edebug-match-&error) + (edebug-match-&define): Turn functions into methods of + `edebug--handle-&-spec-op`. + (edebug-match-:name, edebug-match-:unique): Turn functions into methods of + `edebug--handle-:-spec-op`. + +2021-02-10 Eli Zaretskii + + Avoid assertion violation in callproc.c + + * src/callproc.c (call_process): Avoid assertion violation when + DESTINATION is a cons cell '(:file . "FOO")'. (Bug#46426) + +2021-02-10 Stefan Kangas + + Use lexical-binding in dns-mode.el + + * lisp/textmodes/dns-mode.el: Use lexical-binding. Remove + redundant :group args. + * test/lisp/textmodes/dns-mode-tests.el + (dns-mode-tests-dns-mode-soa-increment-serial): New test. + +2021-02-10 Stefan Kangas + + Use lexical-binding in mail-utils.el and add tests + + * lisp/mail/mail-utils.el: Use lexical-binding. + * test/lisp/mail/mail-utils-tests.el: New file. + +2021-02-10 Stefan Monnier + + * list/emacs-lisp/edebug.el: Don't overload `edebug-form-spec` + + The `edebug-form-spec` symbol property was used to store two different things: + the handlers for spec elements like `body` and the handlers for + spec operators like `&or`. But these two sets use different calling + conventions, so they're fundamentally incompatible. + + So, move the handlers to spec operators to the new property + `edebug--spec-op-function`. This unbreaks Edebugging of: + + (cl-flet ((f (&rest x) x)) 3) + + * lisp/emacs-lisp/edebug.el : Split the alist of built in + spec elements into normal spec element and spec ops. + (edebug--get-spec-op): New function. + (edebug-match-specs): Use it. + (edebug-match-:name): Rename from `edebug-match-colon-name`. + +2021-02-10 Eli Zaretskii + + Bump FACE_CACHE_BUCKETS_SIZE to 1009 + + * src/xfaces.c (FACE_CACHE_BUCKETS_SIZE): Make it 1009, a prime + number, per the comment. Reported by Win Treese . + +2021-02-10 Mattias Engdeg奪rd + + Fix local defvar scoping error (bug#46387) + + This bug was introduced by the lexical variable constant propagation + mechanism. It was discovered by Michael Heerdegen. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form) + (byte-optimize-body): Let the effects of a local defvar declaration be + scoped by let and let*, not any arbitrary Lisp expression body (such + as progn). + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--get-vars) + (bytecomp-local-defvar): New test. + +2021-02-10 Stefan Kangas + + Minor cleanup in imenu.el + + * lisp/imenu.el: Doc fix; these examples have been removed. Remove + redundant :group args. + +2021-02-10 Stefan Kangas + + Use lexical-binding in snmp-mode.el + + * lisp/net/snmp-mode.el: Use lexical-binding. Remove redundant :group + args. Doc fix; remove outdated information. + (snmp-mode, snmpv2-mode): Add FIXME to use define-derived-mode. + +2021-02-10 Stefan Kangas + + Declare empty macro imenu-progress-menu obsolete + + * lisp/imenu.el: Remove commented out code. + (imenu-progress-message): Declare macro obsolete. + + * lisp/erc/erc-imenu.el (erc-create-imenu-index): + * lisp/net/snmp-mode.el (snmp-mode-imenu-create-index): + * lisp/progmodes/antlr-mode.el (antlr-imenu-create-index-function): + Don't use or mention above obsolete macro. + +2021-02-10 Protesilaos Stavrou + + Update NEWS entry for vc-dir faces + + * NEWS: Remove reference to specific backend, as it now applies to all + of them. Update name of 'vc-dir-status-ignored'. + + This follows from the discussion in bug#46358. + +2021-02-10 Stefan Kangas + + * lisp/cedet/semantic/bovine/gcc.el: Use lexical-binding. + +2021-02-10 Stefan Kangas + + Move cedet test resource files to follow our conventions + + * test/lisp/cedet/semantic-utest-ia.el (ert, ert-x): Require. + (cedet-utest-directory, semantic-utest-test-directory): Remove + variables. + (semantic-utest-ia-doublens.cpp, semantic-utest-ia-subclass.cpp) + (semantic-utest-ia-typedefs.cpp, semantic-utest-ia-struct.cpp) + (semantic-utest-ia-templates.cpp, semantic-utest-ia-using.cpp) + (semantic-utest-ia-nsp.cpp, semantic-utest-ia-localvars.cpp) + (semantic-utest-ia-namespace.cpp) + (semantic-utest-ia-sppcomplete.c, semantic-utest-ia-varnames.c) + (semantic-utest-ia-javacomp.java) + (semantic-utest-ia-varnames.java, semantic-utest-ia-wisent.wy) + (semantic-utest-ia-texi, semantic-utest-ia-make) + (semantic-utest-ia-srecoder): Use 'ert-resource-file'. Don't + check if file exists; we can assume that it does. + + * test/manual/cedet/tests/testjavacomp.java: + * test/manual/cedet/tests/testlocalvars.cpp: + * test/manual/cedet/tests/testnsp.cpp: + * test/manual/cedet/tests/testsppcomplete.c: + * test/manual/cedet/tests/teststruct.cpp: + * test/manual/cedet/tests/testsubclass.cpp: + * test/manual/cedet/tests/testsubclass.hh: + * test/manual/cedet/tests/testtemplates.cpp: + * test/manual/cedet/tests/testtypedefs.cpp: + * test/manual/cedet/tests/testusing.cpp: + * test/manual/cedet/tests/testusing.hh: + * test/manual/cedet/tests/testvarnames.c: + * test/manual/cedet/tests/testvarnames.java: + * test/manual/cedet/tests/testwisent.wy: Move from here... + * test/lisp/cedet/semantic-utest-ia-resources/testjavacomp.java: + * test/lisp/cedet/semantic-utest-ia-resources/testlocalvars.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testnsp.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testsppcomplete.c: + * test/lisp/cedet/semantic-utest-ia-resources/teststruct.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testsubclass.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testsubclass.hh: + * test/lisp/cedet/semantic-utest-ia-resources/testtemplates.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testtypedefs.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testusing.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testusing.hh: + * test/lisp/cedet/semantic-utest-ia-resources/testvarnames.c: + * test/lisp/cedet/semantic-utest-ia-resources/testvarnames.java: + * test/lisp/cedet/semantic-utest-ia-resources/testwisent.wy: + ...to here. + +2021-02-10 Stefan Kangas + + Convert tests for srecode/fields.el to ert + + * test/manual/cedet/srecode-tests.el: Move from here... + * test/lisp/cedet/srecode/fields-tests.el: ...to here. + (srecode-field-utest-impl): Convert test to ert. Silence + byte-compiler. + + * test/manual/cedet/cedet-utests.el (cedet-utest-libs): Don't + list the above moved file. + +2021-02-10 Stefan Kangas + + Make texinfmt-version variable obsolete + + * lisp/textmodes/texinfmt.el (texinfmt-version): Make variable and + command obsolete in favour of 'emacs-version'. + (texinfo-format-region, texinfo-format-buffer-1): Use + 'emacs-version' instead of above obsolete variable. + +2021-02-10 Stefan Kangas + + Use lexical-binding in bib-mode.el + + * lisp/textmodes/bib-mode.el: Use lexical-binding. Remove + redundant :group args. + +2021-02-10 Stefan Kangas + + Move semantic/format.el tests to follow our conventions + + * test/lisp/cedet/semantic-utest-fmt.el: Move from here... + * test/lisp/cedet/semantic/format-tests.el: ...to here. + (ert, ert-x): Require. + (semantic-fmt-utest-file-list): Use ert-resource-file. + * test/manual/cedet/tests/test-fmt.cpp: + * test/manual/cedet/tests/test-fmt.el: Move from here... + * test/lisp/cedet/semantic/format-resources/test-fmt.cpp: + * test/lisp/cedet/semantic/format-resources/test-fmt.el: ...to here. + +2021-02-10 Stefan Kangas + + Use lexical-binding in some test files + + * test/manual/cedet/ede-tests.el: + * test/manual/cedet/srecode-tests.el: + * test/manual/cedet/tests/test.el: Use lexical-binding. + + * test/manual/etags/el-src/TAGTEST.EL: Add lexical-binding cookie. + * test/manual/etags/ETAGS.good_1: Update expected result for the + above change. + +2021-02-10 Stefan Kangas + + Change default semantic-lex-analyzer to semantic-lex + + * lisp/cedet/semantic/lex.el (semantic-lex-analyzer): Change default + to semantic-lex, since semantic-flex was obsolete and has been + removed. + +2021-02-10 Stefan Kangas + + Convert many manual cedet tests to ert + + * test/manual/cedet/cedet-utests.el + (cedet-files-utest): Move test from here... + * test/lisp/cedet/cedet-files-tests.el: ...to this new file. + + * test/manual/cedet/srecode-tests.el + (srecode-document-function-comment-extract-test): Move test from + here... + * test/lisp/cedet/srecode/document-tests.el: ...to this new file. + + * test/manual/cedet/cedet-utests.el + (inversion-unit-test): Move test from here... + * test/lisp/cedet/inversion-tests.el: ...to this new file. + + * test/manual/cedet/semantic-tests.el + (semantic-gcc-test-output-parser): Move test from here... + * test/lisp/cedet/semantic/bovine/gcc-tests.el: ...to this new file. + + * test/manual/cedet/semantic-tests.el + (semantic-test-data-cache): Move test from here... + * test/lisp/cedet/semantic/fw-tests.el: ...to this new file. + +2021-02-10 Stefan Kangas + + Use lexical-binding in almost all of play/*.el + + * lisp/play/5x5.el: Use lexical-binding. + (5x5-draw-grid-end, 5x5-draw-grid, 5x5-solver) + (5x5-solve-suggest): Silence byte-compiler. + + * lisp/play/cookie1.el: Use lexical-binding. + (cookie-shuffle-vector, cookie-apropos): Silence byte-compiler. + + * lisp/play/zone.el: Use lexical-binding. + (zone): Convert lambda to proper lexical closure. + (zone-replace-char, zone-fill-out-screen): Silence byte-compiler. + + * lisp/play/blackbox.el: + * lisp/play/doctor.el: + * lisp/play/gametree.el: + * lisp/play/hanoi.el: Use lexical-binding. + + * test/lisp/play/cookie1-resources/cookies: + * test/lisp/play/cookie1-tests.el: New files. + +2021-02-10 Protesilaos Stavrou + + Refine use of vc-dir faces; apply to all backends + + * lisp/vc/vc-dir.el (vc-default-dir-printer): Add check for the + "ignored" status and make 'vc-dir-status-edited' the default face. + Also extend condition for more states that qualify as "warnings". + + (vc-dir-ignored, vc-dir-status-ignored): Rename face for consistency. + + * lisp/vc/vc-git.el (vc-git-dir-printer): Use the + 'vc-dir-status-edited' as the default for the Git backend. And + reference the renamed face. Also stop treating the empty stash + differently from other header values. + + * lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Implement new faces. + * lisp/vc/vc-cvs.el (vc-cvs-dir-extra-headers): Same. + * lisp/vc/vc-hg.el (vc-hg-dir-extra-headers): Same. + * lisp/vc/vc-svn.el (vc-svn-dir-extra-headers): Same. + + This follows from the discussion in bug#46358. + +2021-02-09 Basil L. Contovounesios + + Tiny simplification to read-char-by-name + + * lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code): + Sort with car-less-than-car instead of slower lambda. + (mule--ucs-names-affixation): Just stick character into a list to + avoid trip through format and char-to-string. + (read-char-by-name): Quote function symbols as such. + +2021-02-09 Eli Zaretskii + + Fix syntax category of some characters + + * lisp/international/characters.el (modify-syntax-entry): Fix + syntax of numerical subscripts and superscripts. (Bug#46240) + +2021-02-09 Juri Linkov + + * lisp/net/dictionary.el: Dictionary improvements (bug#45262) + + * lisp/net/dictionary.el (dictionary-link-dictionary): New defcustom. + (dictionary-mark-reference): Use dictionary-link-dictionary. + (dictionary-post-buffer-hook): New defcustom. + (dictionary-post-buffer): Run dictionary-post-buffer-hook. + (dictionary-mode-map): Bind 'S-SPC' to scroll-down-command. + (dictionary-search-default): Use possibly multi-word data at point. + +2021-02-09 Stefan Monnier + + Use lexical-binding in a few more scattered files + + * lisp/registry.el: Use lexical-binding. + (registry-reindex): Remove unused var `values`. + + * lisp/cedet/pulse.el: Use lexical-binding. + + * lisp/cedet/semantic/idle.el: Use lexical-binding. + (semantic-idle-core-handler): Remove unused var `safe`. + (ede-auto-add-method): Declare var. + (define-semantic-idle-service): Use `declare`. Remove unused var `setup`. + (pulse-flag): Declare var. + + * lisp/net/ldap.el: Use lexical-binding. + (ldap-search-internal): Remove unused var `proc`. + + * lisp/net/mairix.el: Use lexical-binding. + Remove redundant `:group` args. + (mairix-widget-create-query): Remove unnused var `allwidgets`. + +2021-02-09 Juri Linkov + + New options read-char-by-name-sort and read-char-by-name-group (bug#46240) + + * lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code) + (mule--ucs-names-group): New functions. + (read-char-by-name-sort, read-char-by-name-group): New defcustoms. + (read-char-by-name): Use them. + +2021-02-09 Stefan Monnier + + * lisp/cedet/{semantic/scope.el,ede/project-am.el}: Use lexical-scoping + + * lisp/cedet/ede/project-am.el: Remove redundant `:group` args. + (recentf-exclude): Declare variable. + (project-am--with-makefile-current): New function extracted from + `project-am-with-makefile-current`. Use `with-current-buffer` and + `unwind-protect`. + (project-am-with-makefile-current): Use `declare` and + `project-am--with-makefile-current`. + (project-am-with-config-current): Use `declare` and `with-temp-buffer`. + (project-am-extract-shell-variable): Turn it into a `defun`; the use of + `defmacro` appears to have been a plain mistake. + +2021-02-09 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--pcase): New macro + + (byte-optimize-form-code-walker): Use it. + +2021-02-09 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el: Break cycle with bytecomp/byte-opt + + The recent change in macroexp triggered a cyclic dependency error + during eager macroexpansion when neither `bytecomp` nor `byte-opt` had + been byte-compiled yet. This fixes it by moving the offending + function to macroexp.el. + + * lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Move from + byte-opt.el and rename. + (macroexp--expand-all): Use it. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-unfold-lambda): Move to + macroexp.el. + (byte-compile-inline-expand, byte-optimize-form-code-walker): + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): + Use `macroexp--unfold-lambda` instead. + +2021-02-09 Stefan Kangas + + Remove some dead, commented out code from lisp-mode.el + + * lisp/emacs-lisp/lisp-mode.el (lisp-data-mode-syntax-table): + Remove code commented out since 2005. + +2021-02-09 Stefan Kangas + + Load all generic-x.el modes unconditionally + + * lisp/generic-x.el: Load all modes unconditionally. + (generic-default-modes, generic-mswindows-modes) + (generic-unix-modes, generic-other-modes) + (generic-extras-enable-list): Make obsolete. + Ref: https://lists.gnu.org/r/emacs-devel/2021-01/msg01403.html + +2021-02-09 Lars Ingebrigtsen + + Note that the `values' variable is now obsolete + + * src/lread.c (syms_of_lread): Note that it's obsolete in the doc + string (because we can't mark it as obsolete "properly" yet, + because that leads to compilation warnings when somebody + (let (values) ... values). + +2021-02-09 Alan Mackenzie + + Allow exit-minibuffer to be called from Lisp code. Fixes bug #46373 + + * lisp/minibuffer.el (exit-minibuffer): Throw the error "Not in most nested + minibuffer" only when the current buffer is a minibuffer (thus the command + came directly from a key binding). + + * doc/lispref/minibuf.texi (Minibuffer Commands): Change the documentation + accordingly. + +2021-02-09 Lars Ingebrigtsen + + Make pcomplete-ignore-case obsolete + + * lisp/pcomplete.el (pcomplete-completions-at-point) + (pcomplete-stub, pcomplete--entries, pcomplete-insert-entry): + * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize): + * lisp/eshell/em-cmpl.el (eshell-cmpl-ignore-case): + * lisp/erc/erc-pcomplete.el (pcomplete-erc-setup): Use + `completion-ignore-case' instead (bug#23117). + + * lisp/pcomplete.el (pcomplete-ignore-case): Make obsolete. + +2021-02-09 Matt Armstrong + + Preserve leading whitespace in `lm-commentary'. + + * lisp/emacs-lisp/lisp-mnt.el (lm-commentary): Preserve leading + whitespace (bug#46364). + +2021-02-09 Lars Ingebrigtsen + + Move all usages of `values' to `values--store-value' + + * lisp/simple.el (eval-expression): + * lisp/progmodes/elisp-mode.el (eval-last-sexp): + * lisp/emacs-lisp/pp.el (pp-eval-expression): + * lisp/emacs-lisp/edebug.el (edebug-eval-expression): + * lisp/emacs-lisp/pp.el (pp-eval-expression): + * lisp/emacs-lisp/edebug.el (edebug-eval-expression): + * lisp/cedet/data-debug.el (data-debug-eval-expression): Use it + instead of pushing to `values' directly (bug#22066). + + * lisp/subr.el (values--store-value): New function. + +2021-02-09 Lars Ingebrigtsen + + Don't use `values' in elisp--eval-defun + + * lisp/progmodes/elisp-mode.el (elisp--eval-defun): Don't use + `values', since it's being deprecated (bug#22066). + +2021-02-09 Lars Ingebrigtsen + + Finish customize-changed-options/customize-changed fix up + + * doc/emacs/custom.texi (Specific Customization): Fix + customize-changed/customize-changed-options documentation. + * lisp/cus-dep.el (custom-make-dependencies): Adjust doc string + (bug#23085). + + * lisp/menu-bar.el (menu-bar-custom-menu): Adjust menu options. + +2021-02-09 Lars Ingebrigtsen + + Fix count-lines problem in non-ASCII buffers + + * src/fns.c (Fline_number_at_pos): Get the correct start position + in non-ASCII buffers (bug#22763). + +2021-02-09 Stefan Monnier + + * lisp/gnus/gnus-topic.el: Fix a backward incompatibility + + (gnus-topic-insert-topic-line): Make the vars used in + `gnus-topic-line-format-spec` dynamically scoped since it seems + that they're sometimes accessed from functions called by + `gnus-topic-line-format-spec` :-( + + * lisp/gnus/gnus-util.el (gnus--\,@): Move macro to here... + * lisp/gnus/gnus-art.el (gnus--\,@): .. from here. + + * lisp/gnus/gnus.el (gnus-method-to-server): Apply DeMorgan. + +2021-02-08 Eric Abrahamsen + + Run Gnus group names through regexp-quote when matching results + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more + careful about making sure group names will match search results + correctly. + +2021-02-08 Eli Zaretskii + + Fix scrolling past tall images + + * src/xdisp.c (try_window): Don't try checking the margins if the + window is vscrolled, as that could cause unnecessary recentering + when tall images are displayed. (Bug#46320) + +2021-02-08 Stefan Monnier + + * lisp/indent.el (beginning-of-line-text): Mark it as a movement command + + So that combining it with `shift` selects the text, as usual, in case + you have it bound for example to `C-a` in a mode like `enriched-mode`. + +2021-02-08 Stefan Kangas + + * lisp/avoid.el: Doc fixes. + +2021-02-08 Lars Ingebrigtsen + + Record the value of `C-x C-e' in `values' + + * lisp/progmodes/elisp-mode.el (eval-last-sexp): Record the value + in `values' (bug#22066) since we're messaging it. + +2021-02-08 Protesilaos Stavrou + + Add vc-dir faces; also apply them to vc-git + + * etc/NEWS: Document the new faces. + + * lisp/vc/vc-dir.el (vc-dir-header, vc-dir-header-value) + (vc-dir-directory, vc-dir-file, vc-dir-mark-indicator) + (vc-dir-status-warning, vc-dir-status-edited, vc-dir-status-up-to-date) + (vc-dir-ignored): Add new faces. + + * lisp/vc/vc-git.el (vc-git-permissions-as-string, vc-git-dir-printer) + (vc-git-dir-extra-headers): Apply new faces (bug#46358). + +2021-02-08 Sean Whitton + + Bind clone-buffer to C-x x n + + * lisp/bindings.el (ctl-x-x-map): Bind clone-buffer. + * etc/NEWS: Document the change (bug#46369). + +2021-02-08 Anticrisis (tiny change) + + Fix tcl-mode indentation of namespaced code + + * lisp/progmodes/tcl.el (tcl-calculate-indent): Fix indentation + when using namespaces (bug#44834). + (tcl-beginning-of-defun-function): Remove. This partially reverts + cd5bb4bf3dbad8941d25823f398b595b8f0edbb9. + +2021-02-08 Lars Ingebrigtsen + + Clarify "changes" in CONTRIBUTE + + * CONTRIBUTE: Clarify that "changes" doesn't include removing code + (bug#44834). + +2021-02-08 Lars Ingebrigtsen + + Make `C-a' in enriched-mode behave more line in other modes + + * lisp/textmodes/enriched.el (enriched-mode-map): Don't rebind + beginning-or-line, because it makes `C-S-a' not mark the region, + and it doesn't allow actually moving to the beginning of the line + if the line starts with characters in `adaptive-fill-regexp' + (bug#22554). + +2021-02-08 Lars Ingebrigtsen + + Fix noninteractive gnus-article-press-button + + * lisp/gnus/gnus-art.el (gnus-article-press-button): Make the `b' + summary mode command work again. + +2021-02-08 Stefan Kangas + + Prefer setq-local in a few more places + + * lisp/calc/calc-embed.el (calc-embedded-make-info): + * lisp/calc/calcalg2.el (calcFunc-integ): + * lisp/comint.el (comint-mode): + * lisp/epa.el (epa--list-keys, epa--show-key): + * lisp/epg.el (epg--start): + * lisp/vc/ediff-util.el (ediff-activate-mark): Prefer setq-local. + +2021-02-08 Stefan Kangas + + Add tests for count-lines + + * test/lisp/simple-tests.el (simple-test-count-lines) + (simple-test-count-lines/ignore-invisible-lines): Add tests. + +2021-02-07 Eric Abrahamsen + + Fix namazu search result parsing in gnus-search + + * lisp/gnus/gnus-search.el (gnus-search-indexed-extract): This method + is documented to leave point at the end of the extracted search + result. The namazu implementation wasn't doing that. + +2021-02-07 Lars Ingebrigtsen + + Clarify when activate-mark-hook is run + + * doc/lispref/markers.texi (The Mark): + * lisp/simple.el (activate-mark-hook): Clarify when the hook is + run (bug#23444). + +2021-02-07 Lars Ingebrigtsen + + Use `line-number-at-pos' in `count-lines' + + * lisp/simple.el (count-lines): Use `line-number-at-pos', which + should be faster. + +2021-02-07 Eli Zaretskii + + Fix language-environment and font selection on MS-Windows + + These changes improve setting the language-environment and font + selection when MS-Windows returns useless "ZZZ" as the "language + name", which then disrupts all the setup of the locale-dependent + stuff, and in particular font selection. + * lisp/w32-fns.el (w32-charset-info-alist): Add an element for + "iso8859-5", in case LANG is set to something unusable, like + "ZZZ". This allows fonts capable of displaying Cyrillic + characters to be used even when language preferences are screwed. + + * src/w32.c (init_environment): If GetLocaleInfo returns "ZZZ" as + the "language name" for LOCALE_USER_DEFAULT, try again with locale + ID based on what GetUserDefaultUILanguage returns. (Bug#39286) + +2021-02-07 Tino Calancha + + Add command to recenter errors from Occur/Grep buffers + + To scroll up/down the current displayed occurrence/error + without abandon the Occur/Grep buffer. + + Add also a command 'recenter-other-window' to recenter + the other window from any kind of buffer. + + * lisp/window.el (recenter-other-window): New command. + Bind recenter-other-window to S-M-C-l (Bug#46119). + + * lisp/simple.el (recenter-current-error): New command. + * lisp/progmodes/grep.el (grep-mode-map): + Delete bidings for n and p. + + * lisp/progmodes/compile.el (compilation-minor-mode-map): + Move here the n and p bindings. + Bind `recenter-current-error' to l. + * lisp/replace.el (occur-mode-map): + Same. + + * doc/emacs/windows.texi (Other Window): + * doc/emacs/display.texi (Recentering): + Document recenter-other-window. + + * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1): + Announce the changes. + +2021-02-07 Lars Ingebrigtsen + + Allow Fline_number_at_pos being called with a marker + + * src/fns.c (Fline_number_at_pos): Also allow being called with a + marker (since the Lisp function allowed that). + +2021-02-07 Lars Ingebrigtsen + + Move line-number-at-pos to C + + * doc/lispref/positions.texi (Text Lines): Revert previous change. + + * lisp/simple.el (line-number-at-pos): Remove definition. + + * lisp/simple.el (count-lines): Revert back to using + `forward-line', because there seems to be a disagreement on how + lines should be counted in a region... + + * src/fns.c (Fline_number_at_pos): Rename from + Fline_number_at_position and adjust parameter list. + +2021-02-07 Stefan Kangas + + Minor doc fixes in dictionary-connection.el + + * lisp/net/dictionary-connection.el: + (dictionary-connection-p, dictionary-connection-read-to-point): + Minor doc fixes to adhere to our conventions. + +2021-02-07 Stefan Kangas + + Fix copyright and license statement in dictionary*.el + + * lisp/net/dictionary-connection.el: + * lisp/net/dictionary.el: Add copyright statement and fix license + statement. + +2021-02-07 Lars Ingebrigtsen + + Add a new function 'line-number-at-position' + + * doc/lispref/positions.texi (Text Lines): Document it. + + * lisp/simple.el (count-lines): Use it. + (line-number-at-pos): Ditto. + + * src/fns.c (Fline_number_at_position): New function (bug#22763). + +2021-02-07 Stefan Kangas + + Various doc fixes in dictionary.el + + * lisp/net/dictionary.el (dictionary-set-server-var) + (dictionary-server, dictionary-port) + (dictionary-default-dictionary) + (dictionary-default-popup-strategy, dictionary-proxy-server) + (dictionary-proxy-port, dictionary-description-open-delimiter) + (dictionary-description-close-delimiter) + (dictionary-window-configuration, dictionary-selected-window) + (dictionary-position-stack, dictionary-data-stack) + (dictionary-positions, dictionary-current-data) + (dictionary-connection, dictionary-instances) + (dictionary-color-support, dictionary-word-history) + (dictionary-mode, dictionary, dictionary-check-connection) + (dictionary-mode-p, dictionary-send-command) + (dictionary-read-reply-and-split, dictionary-check-reply) + (dictionary-check-initial-reply, dictionary-store-state) + (dictionary-store-positions, dictionary-new-search) + (dictionary-new-search-internal, dictionary-do-search) + (dictionary-display-search-result) + (dictionary-display-word-definition) + (dictionary-special-dictionary, dictionary-set-strategy) + (dictionary-tooltip-dictionary, dictionary-switch-tooltip-mode) + (dictionary-tooltip-mode, global-dictionary-tooltip-mode): Doc fixes + to adhere to our conventions. + +2021-02-07 Lars Ingebrigtsen + + Revert "Fix inferior octave single-quote font lock" + + This reverts commit 9e68413c7f0a7f71e1cee923ace7282d14c2e686. + + This patch led to bug#46327: + + x = [2 2]' + disp(x) + + Which meant that the transpose operator was interpreted + as the start of a string. + +2021-02-07 Lars Ingebrigtsen + + Reverse customize-changed and customize-changed-options aliasing + + * lisp/cus-edit.el (customize-changed): Rename from + customize-changed-options (bug#23085), since the old name doesn't + reflect what it does: It's not just about user options, but also + faces and the like. + (customize-changed-options): Make into an obsolete alias. + +2021-02-07 Lars Ingebrigtsen + + Clarify that #s(hash-table ...) doesn't always create a new hash table + + * doc/lispref/hash.texi (Creating Hash): Note that the printed + representation doesn't necessarily create a new table (bug#23417). + + * doc/lispref/lists.texi (Rearrangement): Link to Self-Evaluating + Forms to further expand upon immutability. + +2021-02-07 Lars Ingebrigtsen + + Add more commands to the new `C-x x' keymap + + * doc/emacs/killing.texi (Accumulating Text): + * doc/emacs/display.texi (Line Truncation): + * doc/emacs/buffers.texi (Misc Buffer): Document it. + + * lisp/bindings.el (ctl-x-x-map): Add new bindings for + rename-buffer, rename-uniquely, insert-buffer and + toggle-truncate-lines. + +2021-02-07 Sean Whitton + + Move 'revert-buffer' global binding to 'C-x g g' + + * lisp/bindings.el: Define ctl-x-g-map and bind 'revert-buffer' to + 'C-x x g' globally. + * doc/emacs/files.texi: Replace 'C-x g' with 'C-x x g'. + * etc/NEWS: Document the change (bug#46300). + +2021-02-07 Petteri Hintsanen + + Fix example in Sequence Functions node in the manual + + * doc/lispref/sequences.texi (Sequence Functions): Fix the result + from the example. + +2021-02-06 Dmitry Gutov + + Revert "Fix the previous change" + + This reverts commit fc37dc298f27025823fad2d944e11cc7ee6a058d. + + That change was only needed in the release branch. + +2021-02-06 Mattias Engdeg奪rd + + Fix spurious warnings from unwise condition order in inlined code + + These are both conditions having the form (and A B) where A is + side-effect-free and B may be known to be nil at compile time. + The compiler will then warn about A being useless and thrown away. + The fix is to test B first. + + * lisp/gnus/gnus.el (gnus-method-to-server): + Test `(not no-enter-cache)` first. + (gnus-server-get-method): Test `group` first. + +2021-02-06 Mattias Engdeg奪rd + + Constprop of lexical variables + + Lexical variables bound to a constant value (symbol, number or string) + are substituted at their point of use and the variable then eliminated + if possible. Example: + + (let ((x (+ 2 3))) (f x)) => (f 5) + + This reduces code size, eliminates stack operations, and enables + further optimisations. The implementation is conservative, and is + strongly curtailed by the presence of variable mutation, conditions + and loops. + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize-enable-variable-constprop) + (byte-optimize-warn-eliminated-variable): New constants. + (byte-optimize--lexvars, byte-optimize--vars-outside-condition) + (byte-optimize--vars-outside-loop, byte-optimize--dynamic-vars): + New dynamic variables. + (byte-optimize--substitutable-p, byte-optimize-let-form): + New functions. + (byte-optimize-form-code-walker): Adapt clauses for variable + constprop, and add clauses for 'setq' and 'defvar'. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-var) + (bytecomp-test-get-var, bytecomp-test-identity) + (byte-opt-testsuite-arith-data): Add test cases. + +2021-02-06 Ioannis Kappas (tiny change) + + New test for src/process.c on MS-Windows + + * test/src/process-tests.el (process-sentinel-interrupt-event): + New test. (Bug#46284) + +2021-02-06 Eric Abrahamsen + + Fix TEXT check in gnus-search IMAP search + + * lisp/gnus/gnus-search.el (gnus-search-run-search): It's a string, + not a buffer! + +2021-02-06 Martin Rudalics + + Permit zero value for 'child-frame-border-width' parameter (Bug#46184) + + * doc/lispref/frames.texi (Layout Parameters): Update entry on + 'child-frame-border-width' parameter. + * src/frame.c (make_frame): Init child_frame_border_width to -1. + (Fframe_child_frame_border_width): Return internal border width if + child frame border width parameter is nil. + (gui_report_frame_params): Report nil as child frame border + width parameter if the frame value is negative. + * src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Return value of + child frame border width only if it is not negative. + * src/xfns.c (Fx_create_frame): Default child frame border to -1 + when recording it in its frame slot via gui_default_parameter. + * src/nsfns.m (ns_set_child_frame_border_width): Handle nil ARG. + (Fx_create_frame): Default child frame border width parameter to + nil. + * src/w32fns.c (w32_set_child_frame_border_width): Handle nil ARG. + (Fx_create_frame): Default child frame border width parameter to + nil. + * src/xfns.c (x_set_child_frame_border_width): Handle nil ARG. + (Fx_create_frame): Default child frame border width parameter to + nil. + +2021-02-06 Glenn Morris + + Merge from origin/emacs-27 + + 8ad48a0bdd (origin/emacs-27) Improve doc string of 'text-scale-adjust' + 7a25ff767d Clarify the indent-rigidly doc string + 6c5ddf0e0b Fix two small tab bar issues + c71e08eba9 Fix last change in syntax.texi + + # Conflicts: + # lisp/indent.el + +2021-02-06 Glenn Morris + + Merge from origin/emacs-27 + + 8c27af3ff4 Clarify how transient indentation modes are exited in the ... + fc37dc298f Fix the previous change + +2021-02-06 Lars Ingebrigtsen + + Fix previous change in testcover.el + + * lisp/emacs-lisp/testcover.el + (testcover-analyze-coverage-edebug-after): The wrapper macro is + called `1value', not `testcover-1value'. + +2021-02-06 Eli Zaretskii + + Support file names with whitespace in Nroff mode + + * lisp/textmodes/nroff-mode.el (nroff-view): Quote argument of + 'Man-getpage-in-background' to support file names with special + characters. (Bug#46051) + +2021-02-06 Lars Ingebrigtsen + + Tweak provided-mode-derived-p doc string + + * lisp/subr.el (provided-mode-derived-p): Remove detail about "or + their aliases", since that seems self-evident (bug#46331) (and + derived-mode-p works the same, and doesn't have the bit in + question). + +2021-02-06 Eli Zaretskii + + Improve doc string of 'text-scale-adjust' + + * lisp/face-remap.el (text-scale-adjust): Clarify that "default + face height" refers to the 'default' face. (Bug#25168) + +2021-02-06 Lars Ingebrigtsen + + Warn in message.el when sending encryptable mail + + * lisp/gnus/message.el (message-send): Query if it looks like + encryption was intended, but is not going to happen. + + * lisp/gnus/mml-sec.el (mml-secure-is-encrypted-p): Allow saying + whether there's any <#secure tags present (bug#24411). + +2021-02-06 Lars Ingebrigtsen + + Rename the `1value' symbol in testcover.el + + * lisp/emacs-lisp/testcover.el: Rename the symbol `1value' + throughout the file to `testcover-1value' to allow using the + variable in code that's to be tested (bug#25471). + +2021-02-06 Lars Ingebrigtsen + + Allow provided-mode-derived-p to work on aliases + + * lisp/subr.el (provided-mode-derived-p): Allow this to work on + modes that are aliases of other modes (bug#46331). For instance: + (provided-mode-derived-p 'javascript-mode 'prog-mode) + +2021-02-06 Michael Albinus + + Modernize use of prompts in auth-source.el + + * lisp/auth-source.el (auth-source-search): Adapt docstring + (auth-source-format-prompt): Remove trailing ": ". + (auth-source-netrc-create, auth-source-secrets-create) + (auth-source-plstore-create): Adapt prompts. Use `format-prompt'. + Do not ask interactively if `auth-source-save-behavior' is nil. + +2021-02-06 Lars Ingebrigtsen + + Clarify the indent-rigidly doc string + + * lisp/indent.el (indent-rigidly): Clarify exiting the transient + mode (bug#46296). + +2021-02-06 Lars Ingebrigtsen + + Fix problem when ~/.mailcap had several entries for a MIME type + + * lisp/net/mailcap.el (mailcap-mime-info): Use all the matching + entries from ~/.mailcap, not just the first (bug#46318). + +2021-02-06 Lars Ingebrigtsen + + Avoid a compilation warning in iter-do + + * lisp/emacs-lisp/generator.el (iter-do): Avoid a compilation + warning on using variables marked for not using (bug#31641). + Eg. (iter-do (_ i)) + +2021-02-06 Eli Zaretskii + + Fix copying text properties in 'format' + + * src/editfns.c (styled_format): Fix accounting for text + properties that come from the format string. (Bug#46317) + + * test/src/editfns-tests.el (format-properties): Add new tests for + bug#46317. + +2021-02-06 Martin Rudalics + + Fix two small tab bar issues + + * lisp/cus-start.el (frame-inhibit-implied-resize): Update version tag. + * lisp/frame.el (frame-inner-height): Do not count in tab bar. + +2021-02-05 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (let): Reimplement as a pcase macro + + (pcase--macroexpand, pcase--u1): Remove handling of `let` from + `pcase`s core. + +2021-02-05 Eli Zaretskii + + Fix 'C-d' on the first line in Rmail summary buffer + + * lisp/mail/rmailsum.el (rmail-summary-delete-forward): Fix + deleting backward past the beginning of the summary buffer. + (Bug#46325) + +2021-02-05 Michael Albinus + + Add command 'dbus-monitor' + + * doc/misc/dbus.texi: (Monitoring Messages): Document 'dbus-monitor'. + + * etc/NEWS: Mention 'dbus-monitor' but 'dbus-register-monitor'. + Fix typos and other oddities. + + * lisp/net/dbus.el (dbus-monitor): New command. + + * test/lisp/net/dbus-tests.el (dbus--test-register-service): Extend test. + +2021-02-05 Lars Ingebrigtsen + + Don't hard-code ignored functions in `indent-according-to-mode' + + * lisp/indent.el (indent-line-ignored-functions): New variable + (bug#26945). + (indent-according-to-mode): Use it. + +2021-02-05 Eli Zaretskii + + Fix last change in 'window-text-pixel-size' + + * src/xdisp.c (Fwindow_text_pixel_size): Fix last change: preserve + the original Y coordinate after start_display, instead of zeroing + it out. Reported by martin rudalics . + +2021-02-05 Lars Ingebrigtsen + + Fontize more automatic variables in makefile-gmake-mode + + * lisp/progmodes/make-mode.el (makefile-gmake-font-lock-keywords): + Fontize the $ in more automatic variables (bug#27842). + +2021-02-05 Eli Zaretskii + + Fix last change in syntax.texi + + * doc/lispref/syntax.texi (Syntax Properties): Fix wording in last + change. (Bug#46274) + +2021-02-05 Lars Ingebrigtsen + + Correct the lispref manual about flushing ppss info + + * doc/lispref/syntax.texi (Syntax Properties): Correct the + information about flushing the state by copying the text from the + doc string (bug#46274). + + (cherry picked from commit ff701ce2b261acce1dfcd1fe137268d87d5eab35) + +2021-02-05 Lars Ingebrigtsen + + Clarify how transient indentation modes are exited in the manual + + * doc/emacs/indent.texi (Indentation Commands): Clarify that the + other keys don't just exit the transient mode, but are also + handled as normally (bug#46296). + +2021-02-05 Lars Ingebrigtsen + + Protect against killed buffers in term-emulate-terminal + + * lisp/term.el (term-emulate-terminal): Ensure that the buffer is + still alive before selecting it (bug#46323). This avoids an error + when saying `C-x k' in an ansi-term buffer. + +2021-02-05 Sean Whitton + + Fix repeating complex commands + + * lisp/repeat.el (repeat): Fix repeating complex commands + (bug#46290). This makes `M-: date RET C-x z' work again (like in + Emacs 21, apparently). + +2021-02-05 Lars Ingebrigtsen + + Make octave-send-region deactivate the region + + * lisp/progmodes/octave.el (octave-send-region): Deactivate mark + after sending the region (bug#32282), since this is how these commands + usually work. + +2021-02-05 Lars Ingebrigtsen + + Correct the lispref manual about flushing ppss info + + * doc/lispref/syntax.texi (Syntax Properties): Correct the + information about flushing the state by copying the text from the + doc string (bug#46274). + +2021-02-05 Stefan Kangas + + * lisp/emacs-lisp/checkdoc.el: Doc fix; don't mention built-ins. + +2021-02-05 Stefan Kangas + + Remove some unnecessary references to Emacs 18 + + * lisp/progmodes/cmacexp.el: + * lisp/progmodes/f90.el: + * lisp/shell.el: Doc fix; don't mention Emacs 18. + +2021-02-05 Stefan Kangas + + Remove Emacs 19 compat code from dcl-mode.el + + * lisp/progmodes/dcl-mode.el: Doc fix. + (dcl-mode-map, dcl-mode): Remove compat code for Emacs 19. + +2021-02-05 Stefan Kangas + + Remove Emacs 20 compat code for header-line-format + + * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode): + * lisp/erc/erc.el (erc-update-mode-line-buffer): + * lisp/ibuffer.el (ibuffer-use-header-line): Remove Emacs 20 compat + code; header-line-format is always defined starting with Emacs 21. + +2021-02-05 Stefan Kangas + + * lisp/color.el: Remove Emacs 23.2 compat code. + + * lisp/textmodes/rst.el (rst-directive): Remove XEmacs compat code. + +2021-02-05 Stefan Kangas + + Assume font-lock-mode variable is not void + + * lisp/align.el (align-rules-list): + * lisp/cedet/semantic/idle.el + (semantic-idle-summary-useful-context-p): + * lisp/org/org-table.el (org-table-edit-field): + * lisp/org/org.el (org-restart-font-lock): + * lisp/progmodes/antlr-mode.el (antlr-language-option-extra): + * lisp/progmodes/idlwave.el (idlwave-choose): + * lisp/progmodes/sql.el (sql-product-font-lock): + * lisp/progmodes/verilog-mode.el + (verilog-save-font-no-change-functions, verilog-preprocess): + * lisp/vc/cvs-status.el: + * lisp/vc/smerge-mode.el (smerge-mode): + * lisp/woman.el (woman-decode-buffer): Assume font-lock-mode variable + is not void; it is preloaded. + +2021-02-05 Dmitry Gutov + + Fix the previous change + + * lisp/progmodes/project.el (project-find-regexp): + Fix the previous change (project-root is not defined in this version). + (project-or-external-find-regexp): Same. + +2021-02-04 Harald J旦rg + + cperl-mode: eliminate dead code + + * lisp/progmodes/cperl-mode.el (cperl-update-syntaxification): + Eliminate check for `syntax-propertize-rules` (always true) + and eliminate unused first parameter. + (cperl-mode): Eliminate obsolete `font-lock-syntactic-keywords`, + Eliminate check for `syntax-propertize-rules` (always true). + (cperl-fontify-syntaxically): Eliminate call to + no-longer-existing function `edebug-backtrace` (bug#46302). + +2021-02-04 Eli Zaretskii + + Avoid overwriting minibuffer prompt by keystrokes echo + + * src/lread.c (Fread_char, Fread_event, Fread_char_exclusive): + Call cancel_echoing to make sure the prompt is not obscured by + keystrokes echo. (Bug#46243) + +2021-02-04 Lars Ingebrigtsen + + Deactivate region in `C-c C-r' in python-mode + + * lisp/progmodes/python.el (python-shell-send-region): Deactivate + mark after executing (bug#28789). This is how this command worked + in Emacs 24, apparently. + +2021-02-04 Eli Zaretskii + + Fix 'window-text-pixel-size' for short spans of text + + * src/xdisp.c (Fwindow_text_pixel_size): Support the use case + where FROM and TO belong to the same screen line. Reported by + Yuan Fu . + +2021-02-04 Lars Ingebrigtsen + + Improve filling of Emacs Lisp doc strings + + * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): When filling + a Lisp string, try to avoid filling bits that follow it + (bug#28937). + +2021-02-04 Lars Ingebrigtsen + + Allow a :variable keyword in define-globalized-minor-mode + + * doc/lispref/modes.texi (Defining Minor Modes): Document it. + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Allow specifying a :variable to be used if the underlying mode has + a divergent variable to store the state (bug#29081). + +2021-02-04 Lars Ingebrigtsen + + Fix previous ibuffer patch + + * lisp/ibuffer.el (ibuffer-last-sorting-mode): Restore variable + removed by mistake in previous change. + +2021-02-04 Lars Ingebrigtsen + + Make the recency sorting stable when we have inverted sorting + + * lisp/ibuffer.el (recency): Remove. + (recency): New macro function so that sorting by recency is + stable when inverted sorting is switched on (bug#30129). + +2021-02-04 Lars Ingebrigtsen + + Revert "Tweak how ibuffer-invert-sorting updates the buffer" + + This reverts commit b8b3263eab688b97530a7bf7d565b084df56ea08. + + This doesn't fix other instances of ibuffer-redisplay + +2021-02-04 Lars Ingebrigtsen + + Tweak how ibuffer-invert-sorting updates the buffer + + * lisp/ibuf-ext.el (ibuffer-invert-sorting): Enable calling this + function repeatedly with more predictable results (bug#30129). + +2021-02-04 Lars Ingebrigtsen + + Don't ask the user to make a bug report on missing arglists + + * lisp/help-fns.el (help-fns--signature): Don't ask the user to + make a bug report (bug#30223) because the symbol may very well be + one that the user has defined themselves. + (help-fns-function-description-header): Ditto. + +2021-02-04 Lars Ingebrigtsen + + Clarify the "Sentinels" node in the lispref manual + + * doc/lispref/processes.texi (Sentinels): Mention "run" and that + the strings can be anything (bug#30461). + +2021-02-04 Lars Ingebrigtsen + + Allow eshell to have an "erasedups"-like history + + * lisp/eshell/em-hist.el (eshell-add-input-to-history): Use the + new value (bug#30466). + (eshell-hist-ignoredups): Allow "erasedups"-like value. + +2021-02-04 Robert Pluim + + Update description of 'tramp-crypt-remove-directory' + + * doc/misc/tramp.texi (Keeping files encrypted): Correct name of + function to use to indicate files should no longer be encrypted, + and update its description. + +2021-02-04 Lars Ingebrigtsen + + Be stricter when going back to the previous node in Info-find-node-2 + + * lisp/info.el (Info-find-node-2): When going back to the previous + node, be strict (bug#31137) since we have the exact node name. + +2021-02-04 Juri Linkov + + * lisp/replace.el (occur-rename-buffer): Check for overlay (bug#46268). + + (occur-1): Don't use occur--garbage-collect-revert-args + when reverting the Occur buffer with same bufs. + +2021-02-04 Lars Ingebrigtsen + + Fix epg filtering out keys that contain revoked IDs + + * lisp/epg.el (epg--filter-revoked-keys): Only filter out the + revoked user ids, not the entire key that contains revoked user + ids (bug#46138). + +2021-02-04 Stefan Kangas + + Don't set removed variable facemenu-unlisted-faces + + * lisp/vc/ediff-init.el (ediff-hide-face): Redefine as obsolete + function alias for 'ignore'; the variable 'facemenu-unlisted-faces' + was removed in Emacs 22. Remove all calls. + + * lisp/mh-e/mh-e.el: Add comment saying that the variable + 'facemenu-unlisted-faces' is removed. + +2021-02-04 Stefan Kangas + + * lisp/man.el (Man-notify-method): Remove Emacs 19.28 compat code. + +2021-02-04 Stefan Kangas + + Use require instead of boundp+load-library in double.el + + * lisp/double.el (isearch): Use require instead of + boundp+load-library. + +2021-02-04 Stefan Kangas + + Remove some unnecessary references to Emacs 19 + + * lisp/emacs-lisp/elp.el: + * lisp/mouse-copy.el: + * lisp/mouse-drag.el: + * lisp/progmodes/simula.el (simula-mode-map): + * lisp/term.el (term-matching-input-from-input-string): + * lisp/vcursor.el: Doc fix; don't mention Emacs 19. + +2021-02-04 Stefan Kangas + + Remove XEmacs compat code from edebug.el + + * lisp/emacs-lisp/edebug.el (edebug-window-live-p, edebug-mark): + Make obsolete. Update callers. + +2021-02-04 Dmitry Gutov + + Bind default-directory to the project root + + * lisp/progmodes/project.el (project-find-regexp): + Bind default-directory to the project root, to save this value + in the resulting buffer (esp. if the project selector was used, + (https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00140.html). + (project-or-external-find-regexp): Same. + +2021-02-03 Andrea Corallo + + * Remove `system-configuration' from eln filename + + * src/comp.c (hash_native_abi): Remove `system-configuration' + from eln filename. Add `system-configuration' and + `emacs-version' into `comp-abi-hash'. + +2021-02-03 Andrea Corallo + + * Short eln filename hashes + + * src/comp.c (HASH_LENGTH): New macro. + (comp_hash_string, comp_hash_source_file): Trim the hash before + returning. + +2021-02-03 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp.el (tramp-signal-hook-function) + (tramp-handle-access-file, tramp-handle-copy-directory) + (tramp-handle-directory-files, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-load): + * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes) + (tramp-adb-handle-make-directory) + (tramp-adb-handle-file-local-copy, tramp-adb-handle-copy-file) + (tramp-adb-handle-rename-file): + * lisp/net/tramp-crypt.el (tramp-crypt-do-copy-or-rename-file) + (tramp-crypt-handle-directory-files) + (tramp-crypt-handle-make-directory): + * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-error) + (tramp-gvfs-do-copy-or-rename-file) + (tramp-gvfs-handle-make-directory): + * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file) + (tramp-rclone-handle-directory-files): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link) + (tramp-sh-handle-directory-files-and-attributes) + (tramp-sh-handle-file-name-all-completions) + (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file) + (tramp-sh-handle-make-directory) + (tramp-sh-handle-file-local-copy) + (tramp-sh-inotifywait-process-filter): + * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) + (tramp-smb-handle-copy-file, tramp-smb-handle-directory-files) + (tramp-smb-handle-file-local-copy) + (tramp-smb-handle-make-directory, tramp-smb-handle-rename-file): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file): + Unify error report. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler): Sync args + with other `tramp-*-file-name-handler'. + + * lisp/net/tramp-compat.el (tramp-error): Declare. + (tramp-compat-file-missing): New defsubst. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): + Handle volatile files. + (tramp-gvfs-set-attribute): New defun. + (tramp-gvfs-handle-set-file-modes) + (tramp-gvfs-handle-set-file-times) + (tramp-gvfs-handle-set-file-uid-gid): Use it. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): + Use `msg-operation'. + + * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory): + Remove superfluous `format: + (tramp-smb-maybe-open-connection): Simplify loop. + + * lisp/net/tramp.el (tramp-handle-file-truename): Drop volume letter from + symlinked files. + + * test/lisp/net/tramp-tests.el (tramp--test-gdrive-p): New defun. + (tramp--test-nextcloud-p): Remove. + (tramp-test40-special-characters-with-ls): Do not skip on MS Windows. + (tramp-test41-utf8): Skip if needed. + +2021-02-03 Glenn Morris + + Merge from origin/emacs-27 + + 7355209f53 (origin/emacs-27) * lisp/window.el (recenter-top-bottom): ... + dc78f8a4ea (emacs-27) url-http.el: Special-case NTLM authentication + 85b0137858 * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom ... + cbeda21083 Sync latest SKK-JISYO.L + +2021-02-03 Glenn Morris + + Merge from origin/emacs-27 + + 9c75434173 Fix build failure on macOS 10.7 (bug#46036) + ca44ea18ef Improve documentation of auto-resize-tool/tab-bars + +2021-02-03 Glenn Morris + + Merge from origin/emacs-27 + + 74a71c41e0 (tag: emacs-27.1.91) Update files for 27.1.91 pretest + + # Conflicts: + # ChangeLog.3 + # etc/AUTHORS + # lisp/ldefs-boot.el + +2021-02-03 Lars Ingebrigtsen + + Make backslash characters no longer escape in `f90-mode' + + * lisp/progmodes/f90.el (f90-backslash-not-special): Make obsolete + (bug#32766). + (f90-mode-syntax-table): Make the backslash be a normal + (non-escape) character, which is the default since about 2007 (and + F2K): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34203 + +2021-02-03 Wilson Snyder + + Update lisp/progmodes/verilog-mode.el + + * lisp/progmodes/verilog-mode.el: Cleanup compile-time warning + suppression. Use underscore for unused arguments and other style + cleanups. Use '# for function references. By Stefan Monnier. + (verilog-auto-reset, verilog-sig-tieoff): + Fix AUTORESET '0 (#1714). Reported by Paul Adams. + (verilog-simplify-range-expression): + Fix AUTOWIRE simplifying X/Y where there is a remainder (#1712). + Reported by Joachim Lechner. + (verilog-read-sub-decls-expr): + Fix multiplication in multidimensional AUTOINST output (#1698). + Reported by alanamckee. + (verilog-at-constraint-p, verilog-at-streaming-op-p, verilog-streaming-op-re): + Add streaming operator support (#1692) (#1516), + (verilog-auto-assign-modport, verilog-auto-inout-modport): + Support adding prefix to AUTOASSIGNMODPORT and AUTOINOUTMODPORT (#1690). + (verilog-signals-matching-dir-re): + Fix error when matching regexp with 2D packed memory. + Reported by Chris DeMarco. + (verilog-declaration-core-re): Allow parameter + declaration statements to align like any other declaration (#1683). + Suggested by Vinam Arora. + (verilog-auto-inout, verilog-auto-inout-in) + (verilog-auto-inout-module, verilog-auto-input, verilog-auto-inst) + (verilog-auto-inst-param, verilog-auto-output-every) + (verilog-signals-matching-regexp) + (verilog-signals-not-matching-regexp): + When "?!" is at the front of a signal-matching regexp, invert it. + (verilog-declaration-varname-matcher) + (verilog-highlight-max-lookahead, verilog-mode) + (verilog-single-declaration-end) (verilog-font-lock-keywords-1): + Improve syntax highlighting in declaration statements, and support + multi-line declarations, #1681. Reported by Vinam Arora. + +2021-02-02 Alan Mackenzie + + CC Mode: Prevent "const" inside an identifier being recognized as the keyword + + This fixes bug #45560. + + * lisp/progmodes/cc-engine.el (c-forward-declarator) + (c-forward-decl-or-cast-1): Amend certain regexp match numbers on account of + the change below. Surround some looking-at calls with save-match-data. + + * lisp/progmodes/cc-langs.el (c-type-decl-prefix-keywords-key): New lang + const. + (c-type-decl-prefix-key): Reformulate to match operators and keywords + separately, using the new lang const (above). + +2021-02-02 Stefan Monnier + + * lisp/gnus/gnus-art.el: Fix misuse of `standard-value`. + + * lisp/custom.el (custom--standard-value): New function. + + * lisp/gnus/gnus-art.el: (gnus-article-browse-html-parts) + (gnus-article-browse-html-article): + * lisp/dired-aux.el (dired-do-find-regexp-and-replace): + * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): + * lisp/startup.el (command-line): Use it. + +2021-02-02 Stefan Monnier + + * lisp/gnus/gnus-group.el: Fix a regression due to lexical scoping + + (gnus-group-highlight): Improve docstring. + (gnus-group-update-eval-form): Add `group` and `method` to the vars + provided to `eval`. + +2021-02-02 Eli Zaretskii + + * lisp/window.el (recenter-top-bottom): Clarify doc string. + +2021-02-02 Lars Ingebrigtsen + + Handle errors in `comint-strip-ctrl-m' in some cases + + * lisp/comint.el (comint-strip-ctrl-m): Don't signal errors when + used noninteractively (bug#33115). + +2021-02-02 Stefan Monnier + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Also set `comment-end-skip` + +2021-02-02 chuntaro (tiny change) + + Fix |# fontification in lisp-mode + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Give the |# the + correct (font-lock-comment-delimited-face) face (bug#39820). + +2021-02-02 Lars Ingebrigtsen + + Have `dired-mode' refer to Customize instead of listing some variables + + * lisp/dired.el (dired-mode): Punt to Customize instead of listing + some of the dired variables (bug#46239). + +2021-02-02 Stefan Kangas + + Prefer defvar-local in remaining libraries + + * lisp/align.el (align-mode-rules-list) + (align-mode-exclude-rules-list): + * lisp/bookmark.el (bookmark-current-bookmark) + (bookmark-annotation-name) + (bookmark--annotation-from-bookmark-list): + * lisp/calc/calc-embed.el (calc-embedded-all-active) + (calc-embedded-some-active): + * lisp/comint.el (comint-password-function): + * lisp/completion.el (completion-syntax-table): + * lisp/dframe.el (dframe-track-mouse-function) + (dframe-help-echo-function, dframe-mouse-click-function) + (dframe-mouse-position-function, dframe-timer) + (dframe-attached-frame, dframe-controlled): + * lisp/ehelp.el (electric-help-orig-major-mode): + * lisp/eshell/esh-util.el (eshell-path-env): + * lisp/expand.el (expand-pos, expand-index, expand-point): + * lisp/face-remap.el (text-scale-mode-remapping) + (text-scale-mode-lighter, text-scale-mode-amount) + (text-scale-remap-header-line, buffer-face-mode-remapping): + * lisp/ffap.el (ffap-menu-alist): + * lisp/files-x.el (connection-local-variables-alist): + * lisp/foldout.el (foldout-fold-list, foldout-mode-line-string): + * lisp/follow.el (follow-start-end-invalid): + * lisp/forms.el (forms--mode-setup): + * lisp/gnus/message.el (message-cross-post-old-target) + (message-options): + * lisp/help-mode.el (help-xref-stack, help-xref-forward-stack) + (help-xref-stack-item, help-xref-stack-forward-item): + * lisp/hexl.el (hexl-mode--old-var-vals, hexl-ascii-overlay): + * lisp/hilit-chg.el (hilit-chg-string): + * lisp/ido.el (ido-eoinput): + * lisp/imenu.el (imenu-generic-expression) + (imenu-create-index-function, imenu-default-goto-function) + (imenu-prev-index-position-function) + (imenu-extract-index-name-function, imenu-name-lookup-function) + (imenu-syntax-alist, imenu-case-fold-search): + * lisp/jka-compr.el (jka-compr-really-do-compress): + * lisp/language/ethio-util.el (ethio-prefer-ascii-space): + * lisp/leim/quail/hangul.el (hangul-input-method-help-text): + * lisp/leim/quail/japanese.el (quail-japanese-package-saved): + * lisp/linum.el (linum-overlays, linum-available): + * lisp/man.el (Man-original-frame, Man-arguments, Man--sections) + (Man--refpages, Man-page-list, Man-current-page) + (Man-page-mode-string): + * lisp/pcomplete.el (pcomplete-current-completions) + (pcomplete-last-completion-length) + (pcomplete-last-completion-stub, pcomplete-last-completion-raw) + (pcomplete-last-window-config, pcomplete-window-restore-timer): + * lisp/reveal.el (reveal-open-spots, reveal-last-tick): + * lisp/ruler-mode.el (ruler-mode): + * lisp/scroll-lock.el (scroll-lock-preserve-screen-pos-save): + * lisp/server.el (server-buffer-clients, server-existing-buffer): + * lisp/tab-line.el (tab-line-exclude): + * lisp/tar-mode.el (tar-data-buffer, tar-data-swapped): + * lisp/thumbs.el (thumbs-current-tmp-filename) + (thumbs-current-image-filename, thumbs-extra-images) + (thumbs-image-num, thumbs-buffer, thumbs-marked-list): + * lisp/tutorial.el (tutorial--point-before-chkeys) + (tutorial--point-after-chkeys, tutorial--lang): + * lisp/url/url-vars.el (url-current-object) + (url-current-mime-headers, url-current-lastloc): + * lisp/view.el (view-mode, view-old-buffer-read-only) + (view-old-Helper-return-blurb, view-page-size) + (view-half-page-size, view-last-regexp, view-return-to-alist) + (view-exit-action, view-overlay): + * lisp/wid-edit.el (widget-global-map, widget-field-new) + (widget-field-list, widget-field-last, widget-field-was): + * lisp/woman.el (woman-imenu-done): Prefer defvar-local. + +2021-02-02 Stefan Kangas + + Remove redundant :group args in play/*.el + + * lisp/play/bubbles.el: + * lisp/play/cookie1.el: + * lisp/play/decipher.el: + * lisp/play/dunnet.el: + * lisp/play/gametree.el: + * lisp/play/gomoku.el: + * lisp/play/hanoi.el: Remove redundant :group args. + +2021-02-02 Sean Whitton + + Bind 'revert-buffer' to 'C-x g' globally + + * lisp/bindings.el: Bind 'revert-buffer' to 'C-x g' globally. + * doc/emacs/files.texi: Replace 'M-x revert-buffer' with 'C-x g'. + * etc/NEWS: Document the change (bug#46151). + +2021-02-02 Lars Ingebrigtsen + + Fix up invalid_syntax error signalling + + * src/lread.c (invalid_syntax_lisp): Instead of putting the + line/column in a string, signal an error containing the numbers as + data. This allows for easier post-processing and is how other + similar errors (like (forward-sexp 1)) do it. + +2021-02-02 Dmitry Gutov + + ruby-syntax-propertize: Fix certain cases following :: + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Make sure to backtrack if the "symbols with special characters" + rule is aborted because of preceding colon. + +2021-02-01 Lars Ingebrigtsen + + Make syntax errors say the line/column they appear at + + * src/lisp.h: Add count_lines prototype. + * src/lread.c (invalid_syntax_lisp): New function (bug#36970). + (invalid_syntax): Extend function to take a readcharfun parameter. + (read_emacs_mule_char, character_name_to_code): Pass in. + (read_escape, invalid_radix_integer, read1): Ditto. + + * src/xdisp.c (count_lines): Add a more succinct shim over + display_count_lines. + +2021-02-01 Stefan Kangas + + * test/src/minibuf-tests.el (test-inhibit-interaction): Fix test. + +2021-02-01 Stefan Kangas + + Remove another variable obsolete since Emacs 23.2 + + * src/keymap.c (syms_of_keymap, Fdefine_key): + * lisp/subr.el (define-key-rebound-commands): Remove variable obsolete + since Emacs 23.2. + +2021-02-01 Stefan Kangas + + * lisp/hi-lock.el (hi-lock-mode): Doc fix; don't mention Emacs 21. + +2021-02-01 Stefan Kangas + + Make XEmacs compat alias obsolete in allout-widgets.el + + * lisp/allout-widgets.el (allout-frame-property): Redefine compat + alias as obsolete function alias for 'frame-parameter'. + (allout-fetch-icon-image): Update caller. + +2021-02-01 Stefan Kangas + + Redefine two functions as regular defuns + + * lisp/dframe.el (dframe-popup-kludge, dframe-mouse-event-p): + Redefine as regular defun. + +2021-02-01 Stefan Kangas + + Make two eshell aliases obsolete + + * lisp/eshell/esh-util.el (eshell-user-name): Redefine as obsolete + function alias for 'user-login-name'. + (eshell-copy-tree): Redefine as obsolete function alias for + 'copy-tree'. + * lisp/eshell/esh-cmd.el (eshell-do-eval): Don't use above + obsolete alias. + +2021-02-01 Stefan Kangas + + Add cross-references to defvar-local + + * src/data.c (Fmake_variable_buffer_local): + * src/eval.c (Fdefvar): Add cross-references to 'defvar-local'. + +2021-02-01 Lars Ingebrigtsen + + Fix indentation of non-comment HTML with -- in it + + * lisp/textmodes/sgml-mode.el (sgml-comment-indent-new-line): Only + indent as if we're in a comment if syntax-ppss says that we're in + a comment (bug#36227). + +2021-02-01 Stefan Monnier + + * lisp/eshell/em-cmpl.el (eshell--complete-commands-list): Fix last fix + + Complete `*firef` to `*firefox` rather than to `firefox`. + +2021-02-01 Stefan Monnier + + * lisp/eshell/em-cmpl.el: Try and fix bug#41423 + + (eshell--complete-commands-list): Rename from `eshell-complete-commands-list`. + Return a (dynamic) completion table rather than a list of completions. + Use `dolist` and `push`. + +2021-02-01 Thomas Fitzsimmons + + url-http.el: Special-case NTLM authentication + + * lisp/url/url-http.el (url-http-handle-authentication): Do not + signal an error on NTLM authorization strings. (Bug#43566) + +2021-02-01 Stefan Monnier + + * admin/*.el: Use lexical-binding + + * admin/admin.el: Use lexical-binding. + (manual-misc-manuals): Pass a limit to `looking-back`. + (reminder-for-release-blocking-bugs): Don't use `_` for a real variable. + + * admin/authors.el: Use lexical-binding. + (authors-disambiguate-file-name): Remove unused var `parent`. + + * admin/cus-test.el: + * admin/find-gc.el: + * admin/gitmerge.el: Use lexical-binding. + +2021-01-31 Stefan Monnier + + Merge remote-tracking branch 'origin/scratch/lexical-gnus' into trunk + +2021-01-31 Stefan Monnier + + * lisp/gnus/gnus-group.el: Defvar all the `gnus-tmp-*` vars + + These were collected via + + sed -n -e 's/.*\(gnus-tmp-[^ ()]*\).*/(defvar \1)/p' \ + lisp/gnus/gnus-group.el + +2021-01-31 Juri Linkov + + * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom type (bug#46208) + +2021-01-31 Stefan Kangas + + Prefer defvar-local in preloaded files + + * lisp/abbrev.el: + * lisp/bindings.el (mode-line-mule-info, mode-line-modified) + (mode-line-remote, mode-line-process) + (mode-line-buffer-identification): + * lisp/buff-menu.el (Buffer-menu-files-only): + * lisp/files.el (buffer-file-number, buffer-file-read-only) + (local-write-file-hooks, write-contents-functions) + (file-local-variables-alist, dir-local-variables-alist) + (save-buffer-coding-system, buffer-save-without-query): + * lisp/font-core.el (font-lock-defaults): + * lisp/font-lock.el (font-lock-keywords-case-fold-search) + (font-lock-syntactically-fontified) + (font-lock-extend-after-change-region-function) + (font-lock-extend-region-functions, font-lock-major-mode): + * lisp/menu-bar.el (list-buffers-directory): + * lisp/simple.el (next-error--message-highlight-overlay) + (next-error-buffer, next-error-function) + (next-error-move-function, goto-line-history) + (minibuffer-default-add-done, undo-extra-outer-limit): + * lisp/tab-bar.el (tab-switcher-column): + * lisp/term/ns-win.el (ns-select-overlay): + * lisp/window.el (window-size-fixed, window-area-factor) + (window-group-start-function, window-group-end-function) + (set-window-group-start-function) + (recenter-window-group-function) + (pos-visible-in-window-group-p-function) + (selected-window-group-function) + (move-to-window-group-line-function): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in mail/*.el + + * lisp/mail/emacsbug.el (report-emacs-bug-send-command) + (report-emacs-bug-send-hook): + * lisp/mail/reporter.el (reporter-initial-text): + * lisp/mail/supercite.el (sc-mail-info, sc-attributions): + * lisp/mail/rmail.el (rmail-buffer-swapped, rmail-view-buffer): + Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in progmodes/*.el + + This skips libraries that might want compatibility with Emacs 24.2. + + * lisp/progmodes/compile.el (compilation-auto-jump-to-next) + (compilation--previous-directory-cache, compilation--parsed) + (compilation-gcpro): + * lisp/progmodes/cpp.el (cpp-overlay-list, cpp-edit-buffer) + (cpp-parse-symbols, cpp-edit-symbols): + * lisp/progmodes/ebnf2ps.el (ebnf-eps-upper-x, ebnf-eps-upper-y) + (ebnf-eps-prod-width, ebnf-eps-max-height, ebnf-eps-max-width): + * lisp/progmodes/f90.el (f90-cache-position): + * lisp/progmodes/gud.el (gud-marker-acc): + * lisp/progmodes/js.el (js--quick-match-re) + (js--quick-match-re-func, js--cache-end, js--last-parse-pos) + (js--state-at-last-parse-pos, js--tmp-location): + * lisp/progmodes/octave.el (inferior-octave-directory-tracker-resync): + * lisp/progmodes/sh-script.el (sh-header-marker): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in textmodes/*.el + + This skips libraries that might want compatibility with Emacs 24.2. + + * lisp/textmodes/artist.el (artist-curr-go) + (artist-line-char-set, artist-line-char, artist-fill-char-set) + (artist-fill-char, artist-erase-char, artist-default-fill-char) + (artist-draw-region-min-y, artist-draw-region-max-y) + (artist-borderless-shapes): + * lisp/textmodes/css-mode.el (css--at-ids, css--bang-ids) + (css--nested-selectors-allowed): + * lisp/textmodes/enriched.el (enriched-old-bindings): + * lisp/textmodes/flyspell.el (flyspell-generic-check-word-predicate) + (flyspell-consider-dash-as-word-delimiter-flag) + (flyspell-dash-dictionary, flyspell-dash-local-dictionary) + (flyspell-word-cache-start, flyspell-word-cache-end) + (flyspell-word-cache-word, flyspell-word-cache-result) + (flyspell-changes, flyspell-auto-correct-pos) + (flyspell-auto-correct-region, flyspell-auto-correct-ring) + (flyspell-auto-correct-word): + * lisp/textmodes/ispell.el (ispell-local-dictionary-overridden) + (ispell-local-pdict, ispell-buffer-session-localwords): + * lisp/textmodes/refill.el (refill-ignorable-overlay) + (refill-doit): + * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache) + (html--buffer-ids-cache): + * lisp/textmodes/table.el (table-mode-indicator): + * lisp/textmodes/tex-mode.el (tex-send-command-modified-tick): + * lisp/textmodes/two-column.el (2C-autoscroll-start, 2C-mode): + Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in cedet + + * lisp/cedet/ede.el (ede-object-root-project) + (ede-object-project, ede-object): + * lisp/cedet/mode-local.el (mode-local-symbol-table): + * lisp/cedet/semantic.el (semantic--parse-table) + (semantic-symbol->name-assoc-list) + (semantic-symbol->name-assoc-list-for-type-parts) + (semantic-case-fold, semantic--buffer-cache) + (semantic-unmatched-syntax-cache) + (semantic-unmatched-syntax-cache-check, semantic-parser-name) + (semantic--completion-cache, semantic-parse-tree-state) + (semantic-init-mode-hook, semantic-parser-warnings): + * lisp/cedet/semantic/bovine.el + (semantic-bovinate-nonterminal-check-obarray): + * lisp/cedet/semantic/complete.el (semantic-collector-per-buffer-list): + * lisp/cedet/semantic/ctxt.el (semantic-command-separation-character) + (semantic-function-argument-separation-character): + * lisp/cedet/semantic/db-find.el (semanticdb-find-lost-includes) + (semanticdb-find-scanned-include-tags): + * lisp/cedet/semantic/db.el (semanticdb-new-database-class) + (semanticdb-default-find-index-class) + (semanticdb-current-database, semanticdb-current-table) + (semanticdb-project-system-databases) + (semanticdb-out-of-buffer-create-table-fcn): + * lisp/cedet/semantic/debug.el (semantic-debug-parser-source) + (semantic-debug-parser-class) + (semantic-debug-parser-debugger-source): + * lisp/cedet/semantic/dep.el (semantic-dependency-include-path) + (semantic-dependency-system-include-path): + * lisp/cedet/semantic/format.el (semantic-function-argument-separator) + (semantic-format-parent-separator): + * lisp/cedet/semantic/fw.el (semantic-new-buffer-fcn-was-run): + * lisp/cedet/semantic/grammar.el (semantic-grammar-macros) + (semantic--grammar-macros-regexp-1) + (semantic--grammar-macros-regexp-2): + * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode): + * lisp/cedet/semantic/imenu.el (semantic-imenu-expandable-tag-classes): + * lisp/cedet/semantic/lex-spp.el + (semantic-lex-spp-macro-symbol-obarray) + (semantic-lex-spp-project-macro-symbol-obarray) + (semantic-lex-spp-dynamic-macro-symbol-obarray) + (semantic-lex-spp-dynamic-macro-symbol-obarray-stack): + * lisp/cedet/semantic/lex.el (semantic-flex-keywords-obarray) + (semantic-lex-types-obarray, semantic-lex-analyzer) + (semantic-lex-syntax-modifications, semantic-lex-syntax-table) + (semantic-lex-comment-regex, semantic-lex-number-expression) + (semantic-lex-depth, semantic-flex-extensions) + (semantic-flex-syntax-modifications, semantic-ignore-comments) + (semantic-flex-enable-newlines, semantic-flex-enable-whitespace) + (semantic-flex-enable-bol, semantic-number-expression) + (semantic-flex-depth): + * lisp/cedet/semantic/senator.el (senator-isearch-semantic-mode): + * lisp/cedet/semantic/sort.el + (semantic-orphaned-member-metaparent-type): + * lisp/cedet/semantic/tag.el (semantic-tag-expand-function): + * lisp/cedet/semantic/util-modes.el (semantic-show-parser-state-string) + (semantic-stickyfunc-sticky-classes) + (semantic-highlight-func-ct-overlay): + * lisp/cedet/semantic/util.el + (semantic-type-relation-separator-character) + (semantic-equivalent-major-modes): + * lisp/cedet/semantic/wisent.el (wisent-error-function) + (wisent-lexer-function): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in net/*.el + + * lisp/net/browse-url.el (browse-url-temp-file-name): + * lisp/net/rcirc.el (rcirc-ignore-buffer-activity-flag) + (rcirc-low-priority-flag, rcirc-parent-buffer) + (rcirc-activity-types, rcirc-last-sender): + * lisp/net/soap-inspect.el (soap-inspect-previous-items) + (soap-inspect-current-item): + * lisp/net/telnet.el (telnet-remote-echoes) + (telnet-interrupt-string, telnet-count): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in vc/*.el + + * lisp/vc/ediff-diff.el (ediff-whitespace, ediff-word-1) + (ediff-word-2, ediff-word-3, ediff-word-4): + * lisp/vc/ediff-init.el (ediff-defvar-local): + * lisp/vc/smerge-mode.el (smerge-check-cache): + * lisp/vc/vc-bzr.el (vc-bzr-annotation-table): + * lisp/vc/vc-dispatcher.el (vc-mode-line-hook): Prefer defvar-local. + +2021-01-31 Philipp Stephani + + * etc/MACHINES: Document that we support AArch64 with macOS. + +2021-01-31 Alan Mackenzie + + Minimise the time Vminibuffer_list is in an inconsistent state (src/minibuf.c) + + src/minibuf.c (get_minibuffer): Move the XSETCAR which writes the new + minibuffer into Vminibuffer_list to immediately after the MB's creation, so + that the list is in a consistent state before calling fundamental-mode or + minibuffer-inactive-mode. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in international/*.el + + * lisp/international/mule-cmds.el (current-input-method) + (current-input-method-title, current-transient-input-method) + (previous-transient-input-method, input-method-history) + (deactivate-current-input-method-function) + (describe-current-input-method-function): + * lisp/international/mule.el (buffer-file-coding-system-explicit): + * lisp/international/quail.el (quail-current-package) + (quail-guidance-str, quail-overlay, quail-conv-overlay) + (quail-current-key, quail-current-str) + (quail-current-translations, quail-current-data): + * lisp/international/robin.el (robin-mode) + (robin-current-package-name): Prefer defvar-local in + international/*.el. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in nxml/*.el + + * lisp/nxml/rng-cmpct.el (rng-c-current-token) + (rng-c-escape-positions, rng-c-file-name): + * lisp/nxml/rng-pttrn.el (rng-current-schema): + * lisp/nxml/rng-valid.el (rng-validate-timer) + (rng-validate-quick-timer, rng-error-count, rng-message-overlay) + (rng-message-overlay-inhibit-point, rng-message-overlay-current) + (rng-validate-up-to-date-end, rng-conditional-up-to-date-start) + (rng-conditional-up-to-date-end, rng-dtd): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in emacs-lisp/*.el + + * lisp/emacs-lisp/chart.el (chart-local-object): + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): + * lisp/emacs-lisp/edebug.el: + * lisp/emacs-lisp/generic.el (generic-font-lock-keywords): + * lisp/emacs-lisp/re-builder.el (reb-regexp, reb-regexp-src) + (reb-overlays): + * lisp/emacs-lisp/syntax.el + (syntax-propertize-extend-region-functions): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in allout + + * lisp/allout.el (allout-just-did-undo, allout-mode) + (allout-layout, allout-regexp, allout-bullets-string) + (allout-bullets-string-len, allout-depth-specific-regexp) + (allout-depth-one-regexp, allout-line-boundary-regexp) + (allout-bob-regexp, allout-header-subtraction) + (allout-plain-bullets-string-len, allout-mode-prior-settings) + (allout-outside-normal-auto-fill-function) + (allout-encryption-plaintext-sanitization-regexps) + (allout-encryption-ciphertext-rejection-regexps) + (allout-explicitly-deactivated, allout-recent-prefix-beginning) + (allout-recent-prefix-end, allout-recent-depth) + (allout-recent-end-of-subtree, allout-post-goto-bullet) + (allout-command-counter, allout-this-command-hid-text): + * lisp/allout-widgets.el (allout-widgets-mode) + (allout-widgets-tally, allout-widgets-mode-inhibit) + (allout-inhibit-body-modification-hook) + (allout-widgets-changes-record) + (allout-widgets-undo-exposure-record) + (allout-escaped-prefix-regexp, allout-item-icon-keymap) + (allout-item-body-keymap, allout-cue-span-keymap) + (allout-widgets-last-decoration-timing) + (allout-container-item-widget): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in cua + + * lisp/emulation/cua-base.el (cua-inhibit-cua-keys) + (cua--status-string): + * lisp/emulation/cua-rect.el (cua--rectangle) + (cua--rectangle-overlays): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Obsolete viper-deflocalvar for defvar-local + + * lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete. + Use defvar-local. + + * lisp/emulation/viper-cmd.el (viper--undo-change-group-handle): + * lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode) + (viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode) + (viper-vi-global-user-minor-mode) + (viper-vi-state-modifier-minor-mode) + (viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode) + (viper-insert-intercept-minor-mode) + (viper-insert-basic-minor-mode) + (viper-insert-local-user-minor-mode) + (viper-insert-global-user-minor-mode) + (viper-insert-state-modifier-minor-mode) + (viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode) + (viper-replace-minor-mode, viper-emacs-intercept-minor-mode) + (viper-emacs-local-user-minor-mode) + (viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode) + (viper-emacs-state-modifier-minor-mode) + (viper-vi-minibuffer-minor-mode) + (viper-insert-minibuffer-minor-mode) + (viper-automatic-iso-accents, viper-special-input-method) + (viper-intermediate-command, viper-began-as-replace) + (viper-replace-overlay, viper-last-posn-in-replace-region) + (viper-last-posn-while-in-insert-state) + (viper-sitting-in-replace, viper-replace-chars-to-delete) + (viper-replace-region-chars-deleted, viper-current-state) + (viper-cted, viper-current-indent, viper-preserve-indent) + (viper-auto-indent, viper-electric-mode, viper-insert-point) + (viper-pre-command-point, viper-com-point) + (viper-ex-style-motion, viper-ex-style-editing) + (viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace) + (viper-related-files-and-buffers-ring) + (viper-local-search-start-marker, viper-search-overlay) + (viper-last-jump, viper-last-jump-ignore) + (viper-minibuffer-current-face, viper-minibuffer-overlay): + * lisp/emulation/viper-keym.el (viper-vi-local-user-map) + (viper-insert-local-user-map, viper-emacs-local-user-map) + (viper--key-maps, viper-need-new-vi-local-map) + (viper-need-new-insert-local-map) + (viper-need-new-emacs-local-map): + * lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror) + (viper-mouse-click-search-limit): + * lisp/emulation/viper-util.el (viper-non-word-characters) + (viper-ALPHA-char-class): + * lisp/emulation/viper.el: Use defvar-local instead of now obsolete + macro viper-deflocalvar. + +2021-01-31 Alan Mackenzie + + Don't attempt to display input method guidance in expired minibuffers + + This caused infinite waits in circumstances involving setting an input method + in a global minor mode. This commit fixes bug #45792. + + * lisp/international/quail.el (quail-show-guidance): Test the major mode is + not minibuffer-inactive-mode before proceding with the function. + +2021-01-31 Lars Ingebrigtsen + + execute-kbd-macro doc string clarification + + * src/macros.c (Fexecute_kbd_macro): Mention that the buffer is + (potentially) changed (bug#37396). + +2021-01-31 Lars Ingebrigtsen + + Make operating-system-release obsolete + + * lisp/subr.el (operating-system-release): Make obsolete + (bug#39940). There are no in-tree usages any more, and the data + doesn't seem all that interesting on its own. + +2021-01-31 Lars Ingebrigtsen + + Doc string improvements around `default-korean-keyboard' + + * lisp/language/korea-util.el (default-korean-keyboard): Mention + "Hangul" here for easier discoverability. + (toggle-korean-input-method, quail-hangul-switch-symbol-ksc) + (quail-hangul-switch-hanja): Mention the variable. + +2021-01-31 Lars Ingebrigtsen + + Revert "Improve fontifying of #| ... |# in `lisp-mode'" + + This reverts commit 1275dc4711af77c9c223063dcd149d782d497463. + + Setting comment-end isn't the correct thing to do -- it makes M-; insert that string. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in play/*.el + + * lisp/play/5x5.el + (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking): + * lisp/play/decipher.el (decipher-alphabet) + (decipher-stats-buffer, decipher-undo-list-size) + (decipher-undo-list): + * lisp/play/gamegrid.el (gamegrid-use-glyphs) + (gamegrid-use-color, gamegrid-font, gamegrid-face) + (gamegrid-display-options, gamegrid-buffer-width) + (gamegrid-buffer-height, gamegrid-blank, gamegrid-timer) + (gamegrid-display-mode, gamegrid-display-table) + (gamegrid-face-table, gamegrid-buffer-start) + (gamegrid-score-file-length): + * lisp/play/snake.el (snake-length, snake-velocity-x) + (snake-velocity-y, snake-positions, snake-score, snake-paused) + (snake-moved-p, snake-velocity-queue): + * lisp/play/tetris.el (tetris-shape, tetris-rot) + (tetris-next-shape, tetris-n-shapes, tetris-n-rows) + (tetris-score, tetris-pos-x, tetris-pos-y, tetris-paused): + Prefer defvar-local. + + * lisp/play/5x5.el (5x5-defvar-local): Make obsolete. + +2021-01-31 Stefan Kangas + + Remove redundant defvar for artist-mode + + * lisp/textmodes/artist.el (artist-mode): Remove redundant + defvar; it is defined by define-minor-mode. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in erc + + * lisp/erc/erc-backend.el (erc-server-current-nick) + (erc-server-process, erc-session-server, erc-session-connector) + (erc-session-port, erc-server-announced-name) + (erc-server-version, erc-server-parameters) + (erc-server-connected, erc-server-reconnect-count) + (erc-server-quitting, erc-server-reconnecting) + (erc-server-timed-out, erc-server-banned) + (erc-server-error-occurred, erc-server-lines-sent) + (erc-server-last-peers, erc-server-last-sent-time) + (erc-server-last-ping-time, erc-server-last-received-time) + (erc-server-lag, erc-server-filter-data, erc-server-duplicates) + (erc-server-processing-p, erc-server-flood-last-message) + (erc-server-flood-queue, erc-server-flood-timer) + (erc-server-ping-handler): + * lisp/erc/erc-capab.el (erc-capab-identify-activated) + (erc-capab-identify-sent): + * lisp/erc/erc-dcc.el (erc-dcc-byte-count, erc-dcc-entry-data) + (erc-dcc-file-name): + * lisp/erc/erc-ezbounce.el (erc-ezb-session-list): + * lisp/erc/erc-join.el (erc--autojoin-timer): + * lisp/erc/erc-netsplit.el (erc-netsplit-list): + * lisp/erc/erc-networks.el (erc-network): + * lisp/erc/erc-notify.el (erc-last-ison, erc-last-ison-time): + * lisp/erc/erc-ring.el (erc-input-ring, erc-input-ring-index): + * lisp/erc/erc-stamp.el (erc-timestamp-last-inserted) + (erc-timestamp-last-inserted-left) + (erc-timestamp-last-inserted-right): + * lisp/erc/erc.el (erc-session-password, erc-channel-users) + (erc-server-users, erc-channel-topic, erc-channel-modes) + (erc-insert-marker, erc-input-marker, erc-last-saved-position) + (erc-dbuf, erc-active-buffer, erc-default-recipients) + (erc-session-user-full-name, erc-channel-user-limit) + (erc-channel-key, erc-invitation, erc-channel-list) + (erc-bad-nick, erc-logged-in, erc-default-nicks) + (erc-nick-change-attempt-count, erc-send-input-line-function) + (erc-channel-new-member-names, erc-channel-banlist) + (erc-current-message-catalog): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Remove redundant requires of 'derived' + + * lisp/net/newst-backend.el (derived): + * lisp/net/newst-plainview.el (derived): + * lisp/play/gametree.el (derived): + * lisp/textmodes/less-css-mode.el (derived): Remove redundant require; + 'define-derived-mode' is autoloaded. + +2021-01-31 Stefan Kangas + + Sync latest SKK-JISYO.L + + * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version. + +2021-01-31 Dmitry Gutov + + Recompute mode-lines when marking conflicts resolved + + * lisp/vc/vc.el (vc-mark-resolved): + Recompute the mode lines of the affected files. + +2021-01-31 Stefan Monnier + + * lisp/gnus: Use closures now that we activated `lexical-binding` + + * lisp/gnus/nnml.el (nnml-request-accept-article): + * lisp/gnus/nnmairix.el (nnmairix-request-marks): + * lisp/gnus/nnmail.el (nnmail-get-new-mail-1): + * lisp/gnus/mm-view.el (mm-inline-image) + (mm-inline-text-html-render-with-w3m, mm-inline-text) + (mm-insert-inline, mm-inline-message): + * lisp/gnus/mm-partial.el (mm-inline-partial): + * lisp/gnus/mm-archive.el (mm-archive-dissect-and-inline): + * lisp/gnus/gnus-util.el (gnus-create-info-command): + * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters) + (gnus-topic-sort-topics-1): + * lisp/gnus/gnus-sum.el (gnus-summary-edit-article): + * lisp/gnus/gnus-srvr.el (gnus-server-edit-server): + * lisp/gnus/gnus-msg.el (gnus-inews-make-draft) + (gnus-inews-add-send-actions, gnus-summary-cancel-article) + (gnus-summary-supersede-article, gnus-summary-resend-message) + (gnus-configure-posting-styles): + * lisp/gnus/gnus-kill.el (gnus-execute): + * lisp/gnus/gnus-html.el (gnus-html-wash-images): + * lisp/gnus/gnus-group.el (gnus-group-edit-group) + (gnus-group-nnimap-edit-acl): + * lisp/gnus/gnus-draft.el (gnus-draft-edit-message, gnus-draft-setup): + * lisp/gnus/gnus-art.el (gnus-article-edit-part) + (gnus-mm-display-part, gnus-article-edit): + * lisp/gnus/gnus-agent.el (gnus-category-edit-predicate) + (gnus-category-edit-score, gnus-category-edit-groups): + Use closures instead of `(lambda ...). + + * lisp/gnus/nnoo.el (noo--defalias): New function. + (nnoo-import-1, nnoo-define-skeleton-1): Use it to avoid `eval`. + +2021-01-31 Stefan Monnier + + * lisp/gnus: Use lexical-binding in all the files + + * lisp/gnus/gnus-group.el (features): Use `dlet`. + (gnus-tmp-level, gnus-tmp-marked, gnus-tmp-group): Declare vars. + (gnus-group-insert-group-line): Bind dynbound vars via `let` rather + than as formal args. Bind `number` as dynbound. + (gnus-visual, gnus-score-find-score-files-function) + (gnus-home-score-file, gnus-apply-kill-hook) + (gnus-summary-expunge-below): Declare vars. + (gnus-group-restart, gnus-group-list-plus): Fix `interactive` spec + since the arg is unused. + + * lisp/gnus/mail-source.el (mail-source-bind, mail-source-bind-common): + Use `dlet` and suppress the warnings about the non-prefixed dynbound vars. + (mail-source-set-1): Remove unused var `auth-info`. + (mail-source-call-script): Remove unused var `background`. + (mail-source-fetch-pop, mail-source-check-pop): Bind pop3 vars with `dlet`. + + * lisp/gnus/gnus-int.el (mail-source-plugged, gnus-inhibit-demon): + Declare vars. + (gnus-server-opened, gnus-status-message) + (gnus-open-server, gnus-close-server, gnus-request-list) + (gnus-finish-retrieve-group-infos, gnus-retrieve-group-data-early) + (gnus-request-list-newsgroups, gnus-request-newgroups) + (gnus-request-regenerate, gnus-request-compact, gnus-request-group) + (gnus-retrieve-groups, gnus-request-post, gnus-request-expunge-group) + (gnus-request-scan, gnus-request-update-info, gnus-request-marks) + (gnus-request-accept-article, gnus-request-create-group) + (gnus-asynchronous-p, gnus-remove-denial): + Bind `gnus-command-method` via `let` rather than as formal args. + + * lisp/gnus/gnus-topic.el (gnus-topic-insert-topic-line): + Pass documented vars to eval for `gnus-topic-line-format-spec`. + + * lisp/gnus/message.el (message-yank-original): Use `cl-progv` rather + than `eval` to bind the vars from `message-cite-style`. + + * lisp/gnus/mml.el (mml-parse-1): Use `apply` instead of `eval`. + (gnus-newsgroup-name, gnus-displaying-mime, gnus-newsgroup-name) + (gnus-article-prepare-hook, gnus-newsgroup-charset) + (gnus-original-article-buffer, gnus-message-buffer) + (message-this-is-news, message-this-is-mail): Declare vars. + + * lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): Remove unused + var `cite-marks`. + * lisp/gnus/gnus-art.el (ansi-color-context-region): Declare var. + (gnus-mime-display-attachment-buttons-in-header): Move declaration + before first use. + (gnus-mime-display-alternative): Remove unused var `from`. + * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-list): Remove unused + var `start` `end`. + * lisp/gnus/gnus-cache.el (gnus-article-decode-hook) + (nnml-generate-active-function): Declare var. + * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Remove unused + var `keywords`. + * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Remove unused var + `cipher`. + (gnus-cloud-ensure-cloud-group): Remove unused var `method`. + * lisp/gnus/gnus-delay.el (gnus-delay-article): Remove unused var `days`. + * lisp/gnus/gnus-html.el (gnus-html-wash-images): Remove unused vars + `tag`, `string`, and `images`. + (gnus-html-wash-tags): Remove unused vars `string` and `images`. + * lisp/gnus/gnus-msg.el (gnus-msg-mail): Remove unused var `group-name`. + (gnus-group-mail, gnus-group-news, gnus-summary-mail-other-window) + (gnus-summary-news-other-window): + Remove unused vars `group` and `buffer`. + (gnus-configure-posting-styles): Remove unused vars `style` and `attribute`. + * lisp/gnus/gnus-picon.el (gnus-picon-find-face): Remove unused vars + `database`, `directory`, and `instance`. + (gnus-picon-transform-newsgroups): Remove unused var `point`. + * lisp/gnus/gnus-range.el (gnus-range-difference): Remove unused var `safe`. + * lisp/gnus/gnus-score.el (gnus-score-load-file): Remove unused var + `score-fn`. + * lisp/gnus/gnus-sum.el (message-options-set-recipient): Declare var. + * lisp/gnus/gnus-undo.el (gnus-undo): Fix docstring lie. + * lisp/gnus/gnus-util.el (print-string-length) + (iswitchb-make-buflist-hook): Declare vars. + (gnus-emacs-version): Remove unused var `codename`. + (gnus-rename-file): Remove unused vars `old-name` and `new-name`. + * lisp/gnus/gnus-uu.el (gnus-uu-yenc-article): Remove unused var + `start-char`. + (gnus-asynchronous): Declare var. + * lisp/gnus/mm-partial.el (gnus-displaying-mime): Declare var. + (mm-inline-partial): Remove unused var `buffer`. + * lisp/gnus/mm-view.el (w3m-force-redisplay, w3m-safe-url-regexp) + (gnus-displaying-mime, gnus-original-article-buffer) + (gnus-article-prepare-hook): Declare vars. + * lisp/gnus/mml-smime.el (mml-smime-epg-encrypt): Remove unused var + `boundary`. + (mml-smime-epg-verify): Remove unused vars `plain` and `signature-file`. + * lisp/gnus/mml1991.el (pgg-text-mode): Declare var. + * lisp/gnus/mml2015.el (pgg-text-mode): Declare var. + (mml2015-pgg-decrypt): Remove unused var `result`. + (mml2015-epg-key-image-to-string): Remove unused var `error`. + (mml2015-epg-decrypt): Remove unused var `result`. + (mml2015-epg-verify): Remove unused vars `plain` and `signature-file`. + * lisp/gnus/nnbabyl.el (nnml-current-directory): Declare var. + * lisp/gnus/nndiary.el (nndiary-files): Move declaration before first use. + * lisp/gnus/nnfolder.el (nnfolder-request-accept-article): + Remove unused var `buf`. + * lisp/gnus/nnmail.el (nnmail-parse-active): Remove unused var `err`. + * lisp/gnus/nnmairix.el (nnmairix-request-group): Remove unused var `args`. + (nnmairix-request-create-group): Remove unused var `info`. + (nnmairix-request-list): Remove unused var `folder`. + (nnmairix-request-set-mark): Remove unused var `propto`. + (nnmairix-request-set-mark): Remove unused vars `number` and `method`. + (nnmairix-close-group): Remove unused var `method`. + (nnmairix-create-search-group-from-message): Remove unused var `cq`. + (nnmairix-create-server-and-default-group): Remove unused var `create`. + (nnmairix-purge-old-groups): Remove unused var `folder`. + (nnmairix-remove-tick-mark-original-article, nnmairix-get-valid-servers): + Remove unused var `cur`. + (nnmairix-replace-group-and-numbers): Remove unused var `header`. + (nnmairix-goto-original-article): Remove unused var `rval`. + (nnmairix-widget-create-query): Remove unused var `allwidgets`. + * lisp/gnus/nnmbox.el (nnml-current-directory): Declare var. + * lisp/gnus/nnmh.el (nnmh-toplev): Move declaration before first use. + (nnmh-request-list-1): Remove unused var `rdir`. + * lisp/gnus/nnml.el (nnml-generate-nov-file): Remove unused var `file`. + * lisp/gnus/nnrss.el (nnrss-request-article): Remove unused var `post`. + (nnrss-request-article): Remove unused var `fn`. + (nnrss-check-group): Remove unused var `rdf-ns`. + * lisp/gnus/nnweb.el (nnweb-request-article): Remove unused var `active`. + (nnweb-google-parse-1): Remove unused var `Score`. + * lisp/gnus/spam-stat.el (spam-stat-error-holder): Remove var. + (spam-stat-buffer-words-with-scores): Remove unused var `word`. + (spam-stat-score-buffer): Remove unused var `spam-stat-error-holder`. + (spam-stat-split-fancy): Use `err` instead of `spam-stat-error-holder`. + * lisp/gnus/spam-wash.el (spam-wash): Remove unused var `handle`. + * lisp/gnus/spam.el (spam-copy-or-move-routine): Remove unused vars + `article` and `mark`. + (spam-register-routine): Remove unused var `article`. + (spam-log-undo-registration): Remove unused var `found`. + (spam-ifile-register-with-ifile): Remove unused var `parameters`. + (spam-check-stat): Remove unused vars `category` and `return`. + (spam-parse-list): Remove unused var `found`. + (spam-filelist-register-routine): Remove unused var `from`. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Misc simplifications found during conversion to lexical + + * lisp/gnus/nnoo.el (noo-import-1, nnoo-define-skeleton-1): Use `dolist`. + (noo-map-functions, nnoo-define-basics): Directly emit the code rather than + going through an intermediate function; this also avoids the use of `eval`. + (noo-map-functions-1, nnoo-define-basics-1): Delete functions, + folded into their corresponding macro. + + * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Demote `eval` to + `symbol-value`. + + * lisp/gnus/gnus-art.el (gnus-button-handle-describe-key): Avoid `eval` + since `kbd` is a function nowadays. + (gnus-treat-part-number): Rename from `part-number`. + (gnus-treat-total-parts): Rename from `total-parts`. + (gnus-treat-article, gnus-treat-predicate): Adjust accordingly. + + * lisp/gnus/gnus-cache.el (gnus-agent-load-alist): Use `declare-function`. + + * lisp/gnus/gnus-group.el (gnus-cache-active-hashtb): Use `defvar`. + (gnus-group-iterate): Make it a normal function since lexical scoping + avoids the risk of name capture anyway. + (gnus-group-delete-articles): Actually use the `oldp` arg. + + * lisp/gnus/gnus-html.el (gnus-html-wash-images): Fix debug message so + it's emitted after the `url` var it prints is actually initialized. + And avoid `setq` while we're at it. + + * lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news) + (gnus-summary-mail-other-window, gnus-summary-news-other-window): + Merge `let`s using `let*`. + + * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): + Tighten the scope of `buffer`, and tighten a regexp. + (gnus-parse-simple-format): Reduce code duplication. + + * lisp/gnus/gnus-start.el (gnus-child-mode): Don't `defvar` it since we + never use that variable and accordingly don't define it as a minor mode. + + * lisp/gnus/gnus-util.el (gnus-byte-compile): Simplify so it obeys + `gnus-use-byte-compile` not just on the first call. + (iswitchb-minibuffer-setup): Declare. + + * lisp/gnus/mail-source.el (mail-source-bind-1) + (mail-source-bind-common-1): Use `mapcar`. + (mail-source-set-common-1): Use `dolist`. + (display-time-event-handler): Declare. + + * lisp/gnus/mml-smime.el (mml-smime-epg-verify): Reduce code duplication. + + * lisp/gnus/mml.el (mml-parse-1): Reduce code duplication. + + * lisp/gnus/mml2015.el (mml2015-epg-verify): Reduce code duplication. + + * lisp/gnus/nnmail.el (nnmail-get-split-group): Tighten regexp. + (nnmail-split-it): Reduce code duplication. + + * lisp/gnus/nnweb.el (nnweb-request-article): Avoid `setq`. + + * lisp/gnus/spam.el (BBDB): Use the `noerror` arg of `require`, and + define all the functions for BBDB regardless if the require succeeded. + (spam-exists-in-BBDB-p): Don't inline, not worth it. + +2021-01-30 Alan Third + + Fix build failure on macOS 10.7 (bug#46036) + + * src/nsfns.m (ns_set_represented_filename): Define the NSNumber in a + more compatible manner. + +2021-01-30 Alan Mackenzie + + With minibuffer-follows-selected-frame `hybrid', preserve recursive Mbuffers + + ...when enable-recursive-minibuffers is non-nil, and several minibuffers are + activated from different frames. Also set the major mode of a reused active + minibuffer to `fundamental-mode' - up till now it's been + minibuffer-inactive-mode. + + * src/minibuf.c (read_minibuf): with the indicated settings of variables, + "stack up" all containing minibuffers on the mini-window of the current + frame. Delete another, now superfluous such stacking up. + (set_minibuffer_mode): New function. + (get_minibuffer): Call the above new function (twice), in place of inline + code, ensuring active minibuffers are never left in minibuffer-inactive-mode. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Remove redundant `:group` args + + * lisp/gnus/spam-stat.el: + * lisp/gnus/spam-report.el: + * lisp/gnus/smime.el: + * lisp/gnus/nnrss.el: + * lisp/gnus/nnmairix.el: + * lisp/gnus/nnimap.el: + * lisp/gnus/nndiary.el: + * lisp/gnus/mm-url.el: + * lisp/gnus/mail-source.el: + * lisp/gnus/gnus-win.el: + * lisp/gnus/gnus-topic.el: + * lisp/gnus/gnus-sieve.el: + * lisp/gnus/gnus-search.el: + * lisp/gnus/gnus-registry.el: + * lisp/gnus/gnus-notifications.el: + * lisp/gnus/gnus-gravatar.el: + * lisp/gnus/gnus-eform.el: + * lisp/gnus/gnus-dup.el: + * lisp/gnus/gnus-diary.el: + * lisp/gnus/gnus-demon.el: + * lisp/gnus/gnus-delay.el: + * lisp/gnus/gnus-cloud.el: + * lisp/gnus/gnus-cite.el: + * lisp/gnus/gnus-bookmark.el: + * lisp/gnus/gmm-utils.el: + * lisp/gnus/deuglify.el: + * lisp/gnus/canlock.el: Remove redundant `:group` arguments + +2021-01-30 Stefan Monnier + + * lisp/gnus: Demote some macros and defsubsts, plus a fix + + * lisp/gnus/gnus-sum.el (gnus-summary-thread-level) + (gnus-summary-article-mark): Turn macros into `defsubst`. + + * lisp/gnus/mail-source.el (mail-source-bind-common): Actually use its arg. + + * lisp/gnus/nntp.el (nntp-copy-to-buffer): Turn macro into a `defsubst`. + (nntp-wait-for, nntp-retrieve-data, nntp-send-command): Don't inline + those, it's not worth it. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Use `with-current-buffer` at a few more places + + * lisp/gnus/nnmbox.el (nnmbox-request-scan, nnmbox-read-mbox): + * lisp/gnus/nnmairix.el (nnmairix-create-search-group): + * lisp/gnus/nnfolder.el (nnfolder-existing-articles): + * lisp/gnus/nndraft.el (nndraft-auto-save-file-name): + * lisp/gnus/nndoc.el (nndoc-request-article): + * lisp/gnus/nnbabyl.el (nnbabyl-read-mbox): + * lisp/gnus/gnus-score.el (gnus-score-body): + * lisp/gnus/gnus-start.el (gnus-dribble-enter) + (gnus-dribble-eval-file, gnus-ask-server-for-new-groups) + (gnus-read-newsrc-file, gnus-read-descriptions-file): + * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): + * lisp/gnus/gnus-draft.el (gnus-draft-edit-message): + * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer) + (gnus-article-edit-exit): Use `with-current-buffer`. + +2021-01-30 Eli Zaretskii + + Fix NS build broken by a recent change + + * src/nsmenu.m (set_frame_menubar, Fns_reset_menu): Adapt to + recent changes in set_frame_menubar. (Bug#45759) + +2021-01-30 Juri Linkov + + Allow the caller to specify own face on suffix in annotation-function + + * lisp/minibuffer.el (completion--insert-strings): + Don't add 'completions-annotations' face when the caller + specified own face in annotation-function. + Remove no-op code for 'unless prefix' branch. + (completion-metadata, completion-extra-properties): + Update docs of affixation-function. + Suggested by Clemens (bug#45780) + + * test/lisp/minibuffer-tests.el: Rename package name from + completion-tests.el to minibuffer-tests.el. + Add new test completion--insert-strings-faces. + + * doc/lispref/minibuf.texi (Completion Variables) + (Programmed Completion): Update descriptions of + annotation-function and affixation-function. + +2021-01-30 Augusto Stoffel (tiny change) + + Reduce flicker in Isearch mode + + Lazy highlighting now happens immediately when the search string is at + least as long as the value of the new custom variable + `lazy-highlight-no-delay-length`. Also avoid updating the lazy + count in the echo area too often. + * isearch.el (lazy-highlight-no-delay-length): New defcustom. + * isearch.el (lazy-lazy-count-format): Avoid a momentarily incorrect + count when reversing search direction. + * isearch.el (isearch-lazy-highlight-new-loop): Avoid a call to + `isearch-message` that is quickly succeed by a second echo area + update, thus causing flicker. + * isearch.el (isearch-lazy-highlight-new-loop): + Start lazy highlight immediately if appropriate. + * etc/NEWS: Announce the change. + * doc/emacs/search.texi: Document `lazy-highlight-no-delay-length'. + +2021-01-30 Stefan Monnier + + * lisp/gnus/gnus-msg.el: Remove empty `unwind-protect`s + + (gnus-msg-mail, gnus-group-mail) + (gnus-group-news, gnus-summary-mail-other-window) + (gnus-summary-news-other-window): Remove empty `unwind-protect`. + +2021-01-30 Stefan Monnier + + * lisp/gnus/mm-encode.el (mm-default-file-type): New name + + Rename from misleading `mm-default-file-encoding`. + (mm-default-file-encoding): Redefine as obsolete alias. + + * lisp/mail/sendmail.el (mail-add-attachment): + * lisp/mh-e/mh-mime.el (mh-minibuffer-read-type): + * lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type-internal): + * lisp/gnus/gnus-dired.el (gnus-dired-attach): + * lisp/gnus/mml.el (mml-generate-mime-1, mml-minibuffer-read-type) + (mml-attach-file): Use the new name. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Quote functions with #' + + To get better warnings, try and use #' to quote function names. + + * lisp/gnus/canlock.el: + * lisp/gnus/deuglify.el: + * lisp/gnus/gmm-utils.el: + * lisp/gnus/gnus-agent.el: + * lisp/gnus/gnus-art.el: + * lisp/gnus/gnus-bookmark.el: + * lisp/gnus/gnus-cache.el: + * lisp/gnus/gnus-cite.el: + * lisp/gnus/gnus-cus.el: + * lisp/gnus/gnus-delay.el: + * lisp/gnus/gnus-diary.el: + * lisp/gnus/gnus-dired.el: + * lisp/gnus/gnus-draft.el: + * lisp/gnus/gnus-fun.el: + * lisp/gnus/gnus-group.el: + * lisp/gnus/gnus-html.el: + * lisp/gnus/gnus-int.el: + * lisp/gnus/gnus-kill.el: + * lisp/gnus/gnus-mlspl.el: + * lisp/gnus/gnus-msg.el: + * lisp/gnus/gnus-notifications.el: + * lisp/gnus/gnus-picon.el: + * lisp/gnus/gnus-registry.el: + * lisp/gnus/gnus-rfc1843.el: + * lisp/gnus/gnus-salt.el: + * lisp/gnus/gnus-score.el: + * lisp/gnus/gnus-search.el: + * lisp/gnus/gnus-sieve.el: + * lisp/gnus/gnus-srvr.el: + * lisp/gnus/gnus-start.el: + * lisp/gnus/gnus-topic.el: + * lisp/gnus/gnus-undo.el: + * lisp/gnus/gnus-util.el: + * lisp/gnus/gnus-uu.el: + * lisp/gnus/gnus.el: + * lisp/gnus/mail-source.el: + * lisp/gnus/message.el: + * lisp/gnus/mm-archive.el: + * lisp/gnus/mm-decode.el: + * lisp/gnus/mm-url.el: + * lisp/gnus/mm-util.el: + * lisp/gnus/mm-view.el: + * lisp/gnus/mml-sec.el: + * lisp/gnus/mml-smime.el: + * lisp/gnus/mml.el: + * lisp/gnus/nnagent.el: + * lisp/gnus/nndiary.el: + * lisp/gnus/nndoc.el: + * lisp/gnus/nndraft.el: + * lisp/gnus/nnfolder.el: + * lisp/gnus/nnheader.el: + * lisp/gnus/nnmail.el: + * lisp/gnus/nnmaildir.el: + * lisp/gnus/nnmairix.el: + * lisp/gnus/nnmh.el: + * lisp/gnus/nnml.el: + * lisp/gnus/nnrss.el: + * lisp/gnus/nnselect.el: + * lisp/gnus/nnspool.el: + * lisp/gnus/nnvirtual.el: + * lisp/gnus/nnweb.el: + * lisp/gnus/smiley.el: + * lisp/gnus/smime.el: + * lisp/gnus/spam-report.el: + * lisp/gnus/spam-stat.el: + * lisp/gnus/spam-wash.el: + * lisp/gnus/spam.el: + +2021-01-30 Stefan Monnier + + * lisp/gnus/gnus-art.el: Add `event` args and operate at its position. + + (gnus-mime-save-part-and-strip) + (gnus-mime-delete-part, gnus-mime-save-part, gnus-mime-pipe-part) + (gnus-mime-view-part, gnus-mime-view-part-as-type) + (gnus-mime-copy-part, gnus-mime-print-part, gnus-mime-inline-part) + (gnus-mime-view-part-as-charset, gnus-mime-view-part-externally) + (gnus-mime-view-part-internally, gnus-article-press-button): + Add `event` arg and operate at its position. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Use `declare`. + + * lisp/gnus/nnoo.el (defvoo, deffoo, nnoo-declare, nnoo-import) + (nnoo-map-functions): + * lisp/gnus/nnmaildir.el (nnmaildir--with-nntp-buffer) + (nnmaildir--with-work-buffer, nnmaildir--with-nov-buffer) + (nnmaildir--with-move-buffer, nnmaildir--condcase): + * lisp/gnus/mm-decode.el (mm-with-part): + * lisp/gnus/gnus-msg.el (gnus-setup-message): + * lisp/gnus/gnus-agent.el (gnus-agent-with-fetch, gnus-agent-while-plugged): + * lisp/gnus/mail-source.el (mail-source-set-1, mail-source-value): + Use `declare`. + + * lisp/gnus/gnus-util.el (gnus-define-keys): Use `declare`, and also + don't quote `keymap` if it's a variable name. + (gnus-define-keys-1): Reject the case where `keymap` is a variable name. + (gnus-eval-in-buffer-window, gnus-define-keys-safe) + (gnus-define-keymap, gnus-atomic-progn, gnus-with-output-to-file) + (gnus-parse-without-error): Use `declare`. + (gnus-atomic-progn-assign, gnus-atomic-setq): Delete macros. + + * lisp/gnus/gnus-undo.el (gnus-undo-register): Drop indent and edebug spec + since they're not really appropriate for a function. + + * lisp/gnus/gnus-art.el (gnus--\,@): New macro. + Use it at top-level to construct the `gnus-article-FOO` => `article-FOO` + wrapper functions. + (gnus-with-article-headers, gnus-with-article-buffer): Use `declare`. + +2021-01-30 Stefan Kangas + + Remove unused argument from set_frame_menubar (Bug#45759) + + * src/w32menu.c (set_frame_menubar): + * src/xmenu.c (set_frame_menubar): Remove unused argument. + All callers updated. + +2021-01-30 Eli Zaretskii + + Improve documentation of auto-resize-tool/tab-bars + + * src/xdisp.c (syms_of_xdisp) + : Doc fix. (Bug#46178) + +2021-01-30 Dmitry Gutov + + Also highlight 'conflict' with the warning face + + * lisp/vc/vc-git.el (vc-git-dir-printer): + Also highlight 'conflict' with the warning face, like + vc-default-dir-printer does already. + +2021-01-30 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-01-30 Lars Ingebrigtsen + + auth-source-search doc string fix + + * lisp/auth-source.el (auth-source-search): Fix example (bug#36286). + +2021-01-30 Jared Finder + + * lisp/tab-line.el (tab-line-new-tab): Use tty menus when supported. + +2021-01-30 Eli Zaretskii + + New Rmail option 'rmail-show-message-set-modified' + + * lisp/mail/rmail.el (rmail-show-message-set-modified): New + option. + (rmail-show-message-1): If 'rmail-show-message-set-modified' is + non-nil, don't reset the buffer's modified state. (Bug#45941) + + * etc/NEWS: Announce the new option. + +2021-01-30 Lars Ingebrigtsen + + Fix vc-hg-rename-file on file names like ~/foo/bar + + * lisp/vc/vc-hg.el (vc-hg-rename-file): Use absolute file names, + because hg doesn't like getting file names like "~/foo/bar" + (bug#36932). + +2021-01-30 Jeff Spencer (tiny change) + + Fix interaction between two dired cleanup variables + + * lisp/dired.el (dired-clean-up-after-deletion): Kill the buffers + if you have `dired-clean-up-buffers-too' set and + `dired-clean-confirm-killing-deleted-buffers' nil (bug#38037). + +2021-01-30 Lars Ingebrigtsen + + Improve :foreground description in the manual + + * doc/lispref/frames.texi (Font and Color Parameters): Make the + description less confusing (bug#38710). + +2021-01-30 Mauro Aranda + + Add source to sgml-empty-tags + + * lisp/textmodes/sgml-mode.el (html-mode): Add "source" as an empty + tag to fix indentation when this element is present (bug#46181). + +2021-01-30 Lars Ingebrigtsen + + rmail-summary-mark-deleted optional argument fix + + * lisp/mail/rmailsum.el (rmail-summary-mark-deleted): Argument N + is optional, so don't assume that it's a number (bug#39076). + +2021-01-30 Dmitry Gutov + + vc-dir-mode-map: Remove the mouse-2 binding + + * lisp/vc/vc-dir.el (vc-dir-mode-map): + Remove the mouse-2 binding (bug#13692). + (vc-dir-mode): Update the docstring accordingly. + (vc-dir-status-mouse-map): New variable. + (vc-default-dir-printer): Use it on the state buttons. + + * lisp/vc/vc-git.el (vc-git-dir-printer): Same. + +2021-01-30 Stefan Kangas + + Use lexical-binding in mpuz.el + + * lisp/play/mpuz.el: Use lexical-binding. Remove redundant :group + args. + (mpuz-switch-to-window): Minor cleanup. + +2021-01-30 Stefan Kangas + + Use lexical-binding in handwrite.el + + * lisp/play/handwrite.el: Use lexical-binding. Remove redundant + :group args. Minor cleanups. + + (handwrite): Minor cleanups. + (handwrite-set-pagenumber-off, handwrite-set-pagenumber-on): Make + comments into docstrings. + +2021-01-29 Stefan Monnier + + * test/lisp/electric-tests.el: Fix switch to lexical-binding. + + (define-electric-pair-test): Don't presume that function values are + self-evaluating. + +2021-01-29 Stefan Kangas + + Use lexical-binding in sasl.el and add tests + + * lisp/net/sasl.el: + * lisp/net/sasl-digest.el: + * lisp/net/sasl-cram.el: + * lisp/net/sasl-ntlm.el: Use lexical-binding. + + * test/lisp/net/sasl-tests.el: + * test/lisp/net/sasl-cram-tests.el: New files. + +2021-01-29 Dmitry Gutov + + (xref-revert-buffer): Also 'erase-buffer' when handling a user-error + + * lisp/progmodes/xref.el (xref-revert-buffer): + Also 'erase-buffer' when handling a user-error (bug#46042). + + (cherry picked from commit e86b30d6fd04070b86560774ec82392dbe24ca1e) + +2021-01-29 Dmitry Gutov + + (xref-revert-buffer): Also 'erase-buffer' when handling a user-error + + * lisp/progmodes/xref.el (xref-revert-buffer): + Also 'erase-buffer' when handling a user-error (bug#46042). + +2021-01-29 Eli Zaretskii + + Update files for 27.1.91 pretest + + * ChangeLog.3: + * etc/AUTHORS + * lisp/ldefs-boot.el: Update. + +2021-01-29 Eli Zaretskii + + Support 'operating-system-release' on MS-Windows + + * src/w32fns.c (w32_version_string) [WINDOWSNT]: New function. + * src/w32common.h (w32_version_string) [WINDOWSNT]: Add prototype. + * src/editfns.c (init_editfns) [WINDOWSNT]: Produce a non-nil + string with the OS version. + +2021-01-29 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp--test-special-characters): + + Adapt test for docker. + +2021-01-29 Juri Linkov + + Use save-mark-and-excursion in query-replace-read-args (bug#45617) + +2021-01-29 Michael Albinus + + Fix Bug#45518 in compile.el + + * lisp/progmodes/compile.el (compilation-get-file-structure): + Avoid call of `file-truename' for remote files. (Bug#45518) + +2021-01-29 Eli Zaretskii + + Improve doc string of 'operating-system-release' + + * src/editfns.c (syms_of_editfns) : Doc + fix. (Bug#39940) + +2021-01-29 Sean Whitton + + Fix previous commit regarding revert-buffer-function + + * simple.el (shell-command, shell-command-on-region): Set + revert-buffer-function buffer-locally, not globally. Also, avoid an + unnecessary call to (current-buffer) by taking advantage of the + closure (bug#46151). + +2021-01-29 Lars Ingebrigtsen + + Describe pointer shapes in the manual + + * doc/lispref/frames.texi (Pointer Shape): Describe what the + typical pointer shapes are (and add `nhdrag') (bug#39246). + +2021-01-29 Marco Wahl + + Add a command for redisplay during keyboard macros + + * doc/emacs/kmacro.texi (Basic Keyboard Macro): Document it + (bug#39252). + + * lisp/kmacro.el (kdb-macro-redisplay): New function. + (kmacro-keymap): Bind it. + +2021-01-29 Lars Ingebrigtsen + + Improve fontifying of #| ... |# in `lisp-mode' + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Fontify the end + delimiter in #| ... |# correctly (bug#39820). + +2021-01-29 Lars Ingebrigtsen + + operating-system-release doc string improvement + + * src/editfns.c (syms_of_editfns): Be more precise about what + `operating-system-release' is (bug#39940). + +2021-01-29 Lars Ingebrigtsen + + flymake-diagnostic-beg/end doc string and error reporting improvement + + * lisp/progmodes/flymake.el (flymake-diagnostic-beg): + (flymake-diagnostic-end): Improve doc string and error reporting + (bug#39971). + +2021-01-29 Lars Ingebrigtsen + + Fix position in empty buffers in checkdoc-file-comments-engine + + * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): + Don't give invalid positions on empty buffers (bug#39987). + +2021-01-29 Sean Whitton + + Set revert-buffer-function in shell command output buffers + + * simple.el (shell-command, shell-command-on-region): Set + revert-buffer-function in shell command output buffers (bug#46151). + +2021-01-29 Lars Ingebrigtsen + + Mention using buffer-list-update-hook in recentf-mode + + * lisp/recentf.el (recentf-mode): Mention using + `buffer-list-update-hook' (bug#46153). + +2021-01-29 Stefan Kangas + + Remove Emacs 21 compat code from sasl.el + + * lisp/net/sasl.el (sasl-read-passphrase): Remove compat code; + 'read-passwd' is preloaded since Emacs 22. + +2021-01-29 Stefan Kangas + + * lisp/flow-ctrl.el: Use lexical-binding. + + * lisp/flow-ctrl.el (enable-flow-control): Minor cleanup. + +2021-01-29 Stefan Kangas + + Use lexical-binding in find-cmd.el and add tests + + * lisp/find-cmd.el: Use lexical-binding. + * test/lisp/find-cmd-tests.el: New file. + +2021-01-29 Lars Ingebrigtsen + + Slight gravatar.el code clean up + + * lisp/image/gravatar.el (gravatar--service-libravatar): Clean the + code up slightly. + +2021-01-29 Stefan Monnier + + Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk + +2021-01-28 Stefan Kangas + + Use lexical-binding in nroff-mode.el + + * lisp/textmodes/nroff-mode.el: Use lexical-binding. Remove + redundant :group args. + +2021-01-28 Stefan Kangas + + * lisp/progmodes/bat-mode.el: Use lexical-binding. + +2021-01-28 Stefan Kangas + + Use lexical-binding in generic-x.el + + * lisp/generic-x.el: Use lexical-binding. Remove redundant :groups. + (generic-rul-mode-setup-function): Prefer setq-local. + +2021-01-28 Stefan Kangas + + Define compat alias obsolete + + * lisp/generic-x.el (generic-mode-ini-file-find-file-hook): Define + compat alias introduced after rename in 22.1 obsolete. + +2021-01-28 Stefan Monnier + + Use lexical-binding in all of `lisp/emacs-lisp` + + * lisp/emacs-lisp/bindat.el: Use lexical-binding. + (bindat--unpack-group, bindat--length-group, bindat--pack-group): + Declare `last` and `tag` as dyn-scoped. + (bindat-unpack, bindat-pack): Bind `bindat-raw` and `bindat-idx` via + `let` rather than via the formal arglist. + + * lisp/emacs-lisp/package-x.el: + * lisp/emacs-lisp/generic.el: + * lisp/emacs-lisp/eieio-opt.el: + * lisp/emacs-lisp/derived.el: + * lisp/emacs-lisp/crm.el: Use lexical-binding. + + * lisp/emacs-lisp/helper.el: Use lexical-binding. + (Helper-help-map): Move initialization into declaration. + + * lisp/emacs-lisp/regi.el: Use lexical-binding. + (regi-interpret): Remove unused var `tstart`. + Declare `curframe`, `curentry` and `curline` as dyn-scoped. + + * lisp/emacs-lisp/shadow.el: Use lexical-binding. + (load-path-shadows-find): Remove unused var `file`. + Tighten a regexp, use `push`. + + * lisp/emacs-lisp/tcover-ses.el: Use lexical-binding. Require `ses`. + Remove correspondingly redundant declarations. + (ses--curcell-overlay): Declare. + (ses-exercise): Use `dlet` and use a properly-prefixed var name. + Fix name of `curcell-overlay` variable. + + * lisp/emacs-lisp/unsafep.el: Use lexical-binding. + (unsafep): Bind `unsafep-vars` via `let` rather than via the formal arglist. + +2021-01-28 Juri Linkov + + Use isearch-tmm-menubar when tmm-menubar is called in isearch-mode (bug#43966) + + * lisp/isearch.el (isearch-menu-bar-commands): Add tmm-menubar to defaults. + (isearch-mode-map): Remove remapping of tmm-menubar to isearch-tmm-menubar. + + * lisp/tmm.el (tmm-menubar): Call isearch-tmm-menubar in isearch-mode. + +2021-01-28 Stefan Kangas + + * lisp/wdired.el: Minor doc fixes. + +2021-01-28 Stefan Kangas + + Avoid recommending Google + + * doc/misc/org.texi (Link Abbreviations): + * lisp/net/webjump.el (webjump-sample-sites): + * lisp/org/ol.el (org-link-shell-confirm-function) + (org-link-elisp-confirm-function): + * lisp/org/org.el (org-highlight-links): + * lisp/wdired.el: Avoid recommending Google. + + squash! Avoid recommending Google + +2021-01-28 Stefan Kangas + + * lisp/leim/quail/viqr.el: Use lexical-binding. + + * lisp/leim/quail/compose.el: Use lexical-binding. + + * lisp/ezimage.el: Use lexical-binding. + +2021-01-28 Stefan Monnier + + * src/fns.c (hash_string): Fix bug#46111 + + Use `memcpy` instead of an unaligned memory access. On x86 at least, + GCC turns this `memcpy` into a single `mov`, so it's about as fast. + +2021-01-28 Stefan Kangas + + Add cross-reference to with-eval-after-load + + * lisp/subr.el (eval-after-load): Doc fix; add cross-reference to + 'with-eval-after-load'. + +2021-01-28 Stefan Kangas + + * lisp/generic-x.el (hosts-generic-mode): Support IPv6 addresses. + +2021-01-28 Stefan Kangas + + Add missing file systems to etc-fstab-generic-mode + + * lisp/generic-x.el (etc-fstab-generic-mode): Add entries for missing + file systems. + +2021-01-28 Stefan Monnier + + * test/Makefile.in (emacs): Use the C locale + + This fixes spurious test failures in my environment for + `diff-mode-test-font-lock-syntax-one-line` (where my `diff` otherwise + returns "No newline at end of file" in French) and for + various tests in `emacs-module-tests` because errors signal + "Abandon" instead of "Abort". + +2021-01-28 Michael Albinus + + * lisp/net/ange-ftp.el (ange-ftp-ls): Handle several "--dired" switches. + +2021-01-28 Michael Albinus + + Simplify auto-revert buffer list by watch descriptor (Bug#44639) + + * lisp/autorevert.el (auto-revert--buffer-by-watch-descriptor): + Rename from `auto-revert--buffers-by-watch-descriptor'. Make it + an assoc list. + (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) + (auto-revert-notify-handler): Adapt accordingly. Based on a + patch provided by Spencer Baugh . (Bug#44639) + +2021-01-28 Stefan Monnier + + Use lexical-binding in lisp/{term,nxml,language} + + * test/lisp/electric-tests.el: + * lisp/term/w32console.el: + * lisp/nxml/rng-util.el: + * leim/leim-ext.el: Use lexical-binding. + + * lisp/international/titdic-cnv.el (tit-process-header) + (miscdic-convert): + * lisp/international/mule-cmds.el (leim-list-header): + * lisp/international/ja-dic-cnv.el (skkdic-convert): + Use lexical-binding in the generated file. + +2021-01-28 Lars Ingebrigtsen + + Protect against bad results from libravatar + + * lisp/image/gravatar.el (gravatar--service-libravatar): Don't + have (gravatar-retrieve "foobar@zjp.codes" 'ignore) (which returns + a CNAME) bug out. + +2021-01-28 Lars Ingebrigtsen + + Fix numerical `comment-padding' value + + * lisp/newcomment.el (comment-padright): Allow using a number for + `comment-padding', like the doc string says (bug#40056). + +2021-01-28 Lars Ingebrigtsen + + Make the default `whitespace-enable-predicate' use `derived-mode-p' + + * lisp/whitespace.el (whitespace-enable-predicate): Use + `derived-mode-p' to check modes instead of `eq' (bug#40481). + +2021-01-28 Mattias M (tiny change) + + Fix fill-paragraph in asm-mode + + * lisp/progmodes/asm-mode.el: The value of fill-prefix ought to be nil + not "\t" so that fill-context-prefix can do its thing. In fact, + fill-prefix does not have to be set at all becuase asm-mode derives + from prog-mode and fill-prefix is set in simple.el. + + * test/lisp/progmodes/asm-mode-tests.el: Add relevant test (bug#41064). + +2021-01-28 Lars Ingebrigtsen + + Allow commenting out white space lines in latex-mode + + * lisp/newcomment.el (comment-region-default-1): Allow commenting + out whitespace-only regions (bug#41793). + + * lisp/textmodes/tex-mode.el (latex--comment-region): Use it. + (latex-mode): Set a comment style shim. + +2021-01-28 Lars Ingebrigtsen + + Fix Gnus icalendar button navigation + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button): Mark + buttons correctly for TAB navigation (bug#46135). + +2021-01-28 Harald J旦rg + + perl-mode.el: Eliminate keywords which are not in Perl. + + * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression): + Remove keywords which are not part of Perl. + (perl-font-lock-keywords-2): Remove keywords which are not part of + Perl (bug#46024). (These keywords are part of Raku; aka. Perl 6.) + +2021-01-28 Jo達o T叩vora + + Allow project/xref packages to be used in Emacs 26.1 + + * lisp/progmodes/project.el: Change Package-Requires to Emacs 26.1 + (bug#44671). + + * lisp/progmodes/xref.el: Ditto. + +2021-01-28 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-if): Fix typo + +2021-01-28 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase--split-pred): Handle `memq` pred. + + Improve handling of the `member` tests generated from (or 'a 'b 'c). + This will expand + + (pcase EXP ((and (or 1 2 3) (guard (FOO))) EXP1) (1 EXP2) (6 EXP3)) + + to + + (cond ((memql '(3 2 1) EXP) + (cond ((FOO) EXP1) ((eql EXP 1) EXP2))) + ((eql EXP 6) EXP3)) + + rather than to + + (cond ((memql '(3 2 1) EXP) + (cond ((FOO) EXP1) ((eql EXP 1) EXP2) ((eql EXP 6) EXP3))) + ((eql EXP 1) EXP2) + ((eql EXP 6) EXP3)) + +2021-01-28 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Perform 硫-reduction + + Also, in `funcall` macroexpand the function before checking to see if + we can remove the `funcall`. + + (macroexp-if): Trim trailing `nil` in the generated code while we're at it. + +2021-01-27 Juri Linkov + + * lisp/replace.el (query-replace-read-from-suggestions): New function. + + (query-replace-read-from): Use it instead of hard-coded '(car search-ring)'. + (read-regexp-suggestions): Add the active region (bug#41692). + +2021-01-27 Paul Eggert + + * admin/notes/unicode: titdic-cnv.el is now utf-8. + +2021-01-27 Juri Linkov + + Support multi-line prompt and contents in previous-line-or-history-element. + + * lisp/simple.el (previous-line-or-history-element): Move to the + beginning of minibuffer contents if there is editable minibuffer contents + on the same line after moving point to the prompt (bug#46033). + Fix minimal old-column from 0 to 1 to put point at the beginning of + minibuffer contents after going to the previous history element. + +2021-01-27 Stefan Monnier + + * lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify + + Merge branches which only differed in the `charset` property of the + strings they intended to return, since that info gets lost later + on anyway. + +2021-01-27 Stefan Monnier + + * lisp/international/titdic-cnv.el: Revert to utf-8 encoding + + While it's true that using the iso-2022-jp encoding on the file does + allow Emacs to render the two strings differently, this only applies to + the source file. The .elc files all use `utf-8-emacs` encoding anyway, + so that info is lost. And the difference is even lost before we write + the .elc file because when Emacs byte-compiles that code the + byte-compiler considers those two strings as "equal" and emits only one + string in the byte-code (so the two branches return `eq` strings). + + So, I think using `iso-2022-jp` is a bad idea here: it gives the + illusion that the the `charset` info exists, even it will be lost. + Eli discussed it with Handa-san a year ago, and they arrived at the + conclusion that the charset information is indeed no longer important. + +2021-01-27 Stefan Monnier + + Use lexical-binding in of all lisp/language + + * lisp/international/titdic-cnv.el (pinyin-convert): + Enable lexical-binding in the generated file(s). + + * lisp/language/ethio-util.el: Use lexical-binding. + (ethio-tex-to-fidel-buffer): Use `inhibit-read-only`. Remove unused + vars `p` and `ch`. + + * lisp/language/hanja-util.el: Use lexical-binding. + + * lisp/language/ind-util.el: Use lexical-binding. + (indian-translate-region): Actually use the `from` and `to` arguments. + (): Use `dlet`. Remove unused var `current-repertory`. + (indian-2-column-to-ucs-region): Remove unused var `pos`. + + * lisp/language/japan-util.el: Use lexical-binding. + (japanese-katakana-region, japanese-hiragana-region) + (japanese-zenkaku-region): Remove unused var `next`. + + * lisp/language/korea-util.el: Use lexical-binding. + + * lisp/language/lao-util.el: Use lexical-binding. + (lao-composition-function): Remove unused var `glyph`. + + * lisp/language/thai-util.el: Use lexical-binding. + (thai-composition-function): Remove unused var `glyph`. + + * lisp/language/thai-word.el: Use lexical-binding. + (thai-forward-word): Remove unused var `tail`. + + * lisp/language/tibet-util.el: Use lexical-binding. + (tibetan-add-components): Remove unused var `tmp`. + (tibetan-compose-region): Remove unused vars `str`, `result`, `chars`. + + * lisp/language/viet-util.el: + * lisp/language/tv-util.el: + * lisp/language/cyril-util.el: + * lisp/language/china-util.el: Use lexical-binding. + +2021-01-27 Glenn Morris + + Merge from origin/emacs-27 + + 3443a1c698 Fix last change + +2021-01-27 Glenn Morris + + Merge from origin/emacs-27 + + 3f610177ad Avoid sending systemd shutdown notifications if non-daemon + 009df5cb3c * src/cmds.c (Fforward_line): Doc fix. (Bug#46027) + ee1c54ebc0 Improve documentation of sendmail.el defcustom's + +2021-01-27 Glenn Morris + + Merge from origin/emacs-27 + + b58fd1eab9 ; * lisp/language/cham.el: Fix copy-paste mistake in comment. + +2021-01-27 Eli Zaretskii + + Fix display of stretches of whitespace in the display margins + + * src/xdisp.c (produce_stretch_glyph): Truncate the stretch glyph + due to line wrap only when drawing in the text area. + * src/xterm.c (x_draw_stretch_glyph_string): + * src/w32term.c (w32_draw_stretch_glyph_string): Fix the + adjustment of the stretch X and width so that stretch glyphs could + be drawn in the left margin. Reported by Paul W. Rankin + . + +2021-01-27 Michael Albinus + + Some Tramp fixes + + * doc/misc/tramp.texi (GVFS-based methods): Ban sftp RemoteCommand + option. + + * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file) + (tramp-adb-handle-rename-file): Avoid calling jka-compr when + writing the target file. + + * lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): + Skip GROUP test on *BSD machines. + + * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file): + Skip for tamp-crypt.el. + (tramp--test-sh-no-ls--dired-p): Ignore errors. + +2021-01-27 Michael Albinus + + * lisp/net/dbus.el (dbus-monitor-handler): Disable buffer undo. + +2021-01-27 Eli Zaretskii + + Improve documentation of 'read-regexp' and friends + + * doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary. + * doc/emacs/maintaining.texi (Xref): Mention that identifiers are + also known as "tags". + + * lisp/replace.el (read-regexp, read-regexp-suggestions): Improve + wording of doc strings. (Bug#46088) (Bug#46089) + + (cherry picked from commit 49eb03d6c8a181fd46adbbcf1f0a976d0a9efa87) + +2021-01-27 Lars Ingebrigtsen + + read-regexp-suggestions doc string improvement + + * lisp/replace.el (read-regexp-suggestions): Add a link to the + manual to explain what a tag is (bug#46089). + + (cherry picked from commit f9cc2d48246fe8370e9286866e6115ba8e2acf44) + +2021-01-27 Lars Ingebrigtsen + + Try to improve the read-regexp doc string + + * lisp/replace.el (read-regexp): Attempt to clarify the semantics + (bug#46088). + + (cherry picked from commit eded2a7ad7d456a417354a2797c18e9a578414d7) + +2021-01-27 Eli Zaretskii + + Improve documentation of 'read-regexp' and friends + + * doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary. + * doc/emacs/maintaining.texi (Xref): Mention that identifiers are + also known as "tags". + + * lisp/replace.el (read-regexp, read-regexp-suggestions): Improve + wording of doc strings. (Bug#46088) (Bug#46089) + +2021-01-27 Juri Linkov + + * lisp/subr.el (empty-history): Move defvar to functions where it's used. + +2021-01-27 Juri Linkov + + Support variable name for previous-window in display-buffer-in-previous-window + + * lisp/window.el (display-buffer-in-previous-window): Support the value of + 'previous-window' entry as a symbol for variable name (bug#45688). + +2021-01-27 Lars Ingebrigtsen + + Fix indentation in sieve-mode + + * lisp/net/sieve-mode.el (sieve-mode-indent-function): New function. + (sieve-mode): Don't inherit from C mode, because the syntax + doesn't really resemble C mode that much (except being curly braced). + +2021-01-27 Lars Ingebrigtsen + + Fix setting of line/point style in calc gnuplot + + * lisp/calc/calc-graph.el (calc-graph-set-styles): Modern gnuplot + requires "ls" before the line style and "ps" before the point + style (bug#46070). + +2021-01-27 Lars Ingebrigtsen + + read-regexp-suggestions doc string improvement + + * lisp/replace.el (read-regexp-suggestions): Add a link to the + manual to explain what a tag is (bug#46089). + +2021-01-27 Lars Ingebrigtsen + + Try to improve the read-regexp doc string + + * lisp/replace.el (read-regexp): Attempt to clarify the semantics + (bug#46088). + +2021-01-27 Stefan Monnier + + Use lexical-binding in all of `lisp/url` + + * lisp/url/url-dav.el: Use lexical-binding. + (url-dav-process-DAV:prop): Remove unused var `handler-func`. + (url-dav-lock-resource): Remove unused var `child-url`. + (url-dav-active-locks): Remove unused var `properties`. + (url-dav-delete-directory): Remove unused var `props`. + (url-dav-file-name-completion): Remove unused var `result`. + + * lisp/url/url-expand.el (url-expand-file-name): Use \s + + * lisp/url/url-file.el (url-file): Improve regexp. + + * lisp/url/url-gw.el: Use lexical-binding. + (url-open-stream): Remove unused var `cur-retries`, `retry`, `errobj`. + + * lisp/url/url-imap.el: Use lexical-binding. + (imap-username, imap-password): Declare. + + * lisp/url/url-mailto.el: Use lexical-binding. + (url-mailto): Remove unused var `func`. Use `push`. + + * lisp/url/url-news.el: Use lexical-binding. + (url-news): Remove unused var `article-brackets`. + + * lisp/url/url-cid.el: + * lisp/url/url-cache.el: + * lisp/url/url-about.el: + * lisp/url/url-tramp.el: + * lisp/url/url-proxy.el: + * lisp/url/url-privacy.el: + * lisp/url/url-nfs.el: + * lisp/url/url-ldap.el: + * lisp/url/url-misc.el: + * lisp/url/url-methods.el: Use lexical-binding. + +2021-01-26 Stefan Monnier + + * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Tweak indent of new `for` + + The new `for (TEST) { BODY }` syntax introduces various challenges. + This patch just fixes a trivial subcase. + +2021-01-26 Eric Abrahamsen + + Revert "Allow gnus-retrieve-headers to return headers directly" + + This reverts commit 20add1cd22f9775a4475148b300cf2a4de4bd54a. This + needs more work before it's ready to merge. + +2021-01-26 Eli Zaretskii + + Fix typos and punctuation + + * src/w32fns.c: + * src/frame.h: + * doc/lispref/frames.texi (Frame Layout): + * etc/NEWS: Fix typos and punctuation in recent changes. + +2021-01-26 Martin Rudalics + + Fix typo in last change of FRAME_INTERNAL_BORDER_WIDTH + + * src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Fix typo in last + change. + +2021-01-26 Alexander Miller + + Add distinct controls for child frames' borders (Bug#45620) + + The background of the 'child-frame-border' face instead of the + 'internal-border' face now controls the color of child frames' + borders. + + The 'child-frame-border-width' frame parameter is now used for the + width of child frames' borders instead of internal-border-width', + though we still fall back on using the latter if the former is not + set. + + * doc/lispref/frames.texi (Frame Layout): Mention + 'child-frame-border' and 'child-frame-border-width'. + (Layout Parameters): Mention 'child-frame-border-width'. + * etc/NEWS: Mention new face 'child-frame-border' and frame + parameter 'child-frame-border-width'. + * lisp/faces.el (child-frame-border): New face. + * src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID. + * src/frame.c (Fframe_child_frame_border_width): New function. + (gui_report_frame_params): Add entry for Qchild_frame_border_width. + * src/frame.h (struct frame): New slot child_frame_border_width. + (FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function. + * src/nsfns.m (ns_set_child_frame_border_width): New function. + (Fx_create_frame): Handle Qchild_frame_border_width parameter. + (ns_frame_parm_handlers): Add ns_set_child_frame_border_width. + * src/nsterm.m (ns_clear_under_internal_border): Handle + CHILD_FRAME_BORDER_FACE_ID. + * src/w32fns.c (w32_clear_under_internal_border): Handle + CHILD_FRAME_BORDER_FACE_ID. + (w32_set_internal_border_width): New function. + (Fx_create_frame): Handle Qchild_frame_border_width parameter. + (w32_frame_parm_handlers): Add w32_set_child_frame_border_width. + * src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle + CHILD_FRAME_BORDER_FACE_ID. + * src/xfns.c (x_set_child_frame_border_width): New function. + (Fx_create_frame): Handle Qchild_frame_border_width parameter. + (x_frame_parm_handlers): Add x_set_child_frame_border_width. + * src/xterm.c (x_clear_under_internal_border) + (x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID. + +2021-01-26 Stefan Monnier + + Use `lexical-binding` in all `lisp/international` files + + * lisp/startup.el (keyboard-type): Make obsolete and lex-bound. + + * admin/unidata/unidata-gen.el (unidata-gen-file) + (unidata-gen-charprop): Mark the generated files to use lexical binding. + + * lisp/international/isearch-x.el: Use lexical-binding. + (junk-hist): Declare locally. + + * lisp/international/iso-cvt.el: + * lisp/international/utf-7.el: + * lisp/international/robin.el: + * lisp/international/ogonek.el: + * lisp/international/latin1-disp.el: + * lisp/international/kkc.el: + * lisp/international/kinsoku.el: + * lisp/international/ja-dic-utl.el: Use lexical-binding. + + * lisp/international/ja-dic-cnv.el: Use lexical-binding. + (skkdic-breakup-string): Remove unused var `kana-len`. + + * lisp/international/latexenc.el: Use lexical-binding. + (tex-start-of-header): Declare. + + * lisp/international/mule-diag.el: Use lexical-binding. + (list-character-sets): Remove unused var `pos`. + (list-character-sets-1): Remove unused vars `tail` and `charset`. + (list-charset-chars): Remove unused vars `chars` and `plane`. + (describe-coding-system): Remove unused var `extra-spec`. + (mule--print-opened): New var. + (print-fontset): Bind it. + (print-fontset-element): Use it instead of `print-opened`. + + * lisp/international/quail.el: Use lexical-binding. + (quail-start-translation, quail-start-conversion): + Remove unused var `generated-events`. + (quail-help-insert-keymap-description): Use local dynbound var `the-keymap`. + +2021-01-26 Lars Ingebrigtsen + + Make subdirs . nil in dir-locals in ~/ work + + * lisp/files.el (dir-locals-collect-variables): Compare directory + names after expanding. This makes a (subdirs . nil) in ~/ work as + expected (bug#17205). + + Test case: + + ((nil . ((a . "hallo") + (subdirs . nil)))) + + in ~/ + +2021-01-25 Juri Linkov + + Don't move point to the prompt in previous-line-or-history-element (bug#46033) + + * lisp/simple.el (previous-line-or-history-element): + Avoid moving point to the prompt. + +2021-01-25 Lars Ingebrigtsen + + Fontify special forms and macros the same + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Handle + special forms and macros the same way (bug#43265). This makes + things like (setq a '(if a b)) be fontified correctly (i.e., not + fontified as a keyword). + +2021-01-24 Lars Ingebrigtsen + + Rewrite lisp--el-funcall-position-p to be inverse of the -not function + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-funcall-position-p): + Rename and rewrite to return the inverse value. Non-inverted + predicate functions are easier to reason about. + (lisp--el-non-funcall-position-p): Make obsolete. + +2021-01-24 Lars Ingebrigtsen + + Fix macro fontification in `condition-case' handler bodies + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): + Fontify macros in the BODY of HANDLERS in `condition-case' + correctly (bug#43265). + +2021-01-24 Lars Ingebrigtsen + + Tweak `condition-case' keyword highlights + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): + Tweak `condition-case' position check to skip the VAR form. + +2021-01-24 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-01-24 Lars Ingebrigtsen + + Add some elisp-mode font lock tests + +2021-01-24 Michael Albinus + + Make Tramp's insert-directory more robust + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + Use `tramp-sh--quoting-style-options'. + + * test/lisp/net/tramp-tests.el (tramp--test-hpux-p, tramp--test-ksh-p): + Remove superfluous nil. + (tramp--test-sh-no-ls--dired-p): New defun. + (tramp--test-special-characters): Use it. + +2021-01-24 Eric Abrahamsen + + Fix insertion logic of newly subscribed Gnus groups + + * lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup): This was a + misunderstanding of the next/previous argument: no group should ever + be inserted before "dummy.group". + (gnus-group-change-level): Make it clearer that PREVIOUS can be + nil. In fact none of this code would error on a nil value, but it + _looks_ like nil is unexpected. + +2021-01-24 Philipp Stephani + + Add more assertions to recently-added process test. + + * test/src/process-tests.el (process-tests/multiple-threads-waiting): + Also check that 'thread-join' and 'thread-last-error' return the + expected errors. + +2021-01-24 Dmitry Gutov + + Erase the buffer only after fetching the new contents + + * lisp/progmodes/xref.el (xref-revert-buffer): + Erase the buffer only after fetching the new contents (bug#46042). + + (cherry picked from commit 5821dee0949b2913c07970d6e4b8bb8e8a35f036) + +2021-01-24 Basil L. Contovounesios + + Fix recently uncovered 'make check' failures + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-01/msg01111.html + + * test/lisp/autorevert-tests.el + (auto-revert-test07-auto-revert-several-buffers): + * test/lisp/emacs-lisp/seq-tests.el (test-seq-do-indexed) + (test-seq-random-elt-take-all): Fix errors from using add-to-list on + lexical variables. + * test/lisp/emacs-lisp/cl-lib-tests.el + (cl-lib-defstruct-record): Expect test to succeed when byte-compiled + following change of 2021-01-23 'Fix missing file&line info in + "Unknown defun property" warnings'. + (cl-lib-tests--dummy-function): Remove; no longer needed. + (old-struct): Silence byte-compiler warning about unused lexical + variable. + +2021-01-24 Jean Louis + + Add support for dired compressing .lz/.lzo files + + * lisp/dired-aux.el (dired-compress-files-alist): Add support for + .lz/.lzo files (bug#44901). + +2021-01-23 Eric Abrahamsen + + Properly initialize gnus-search-namazu-index-directory + + * lisp/gnus/gnus-search.el (gnus-search-namazu): We were missing the + appropriate :initform on this slot definition (Bug#46047). + +2021-01-23 Lars Ingebrigtsen + + Make (subdirs . nil) in .dir-locals.el work + + * lisp/files.el (dir-locals-collect-variables): Don't + destructively modify the cached structure (bug#17205), because + that means that (subdirs . nil) doesn't work. + +2021-01-23 Stefan Monnier + + Fix missing file&line info in "Unknown defun property" warnings + + * lisp/emacs-lisp/byte-run.el (defmacro, defun): Use + `macroexp--warn-and-return` rather than `message`. + + * lisp/emacs-lisp/macroexp.el: Fix `macroexp--compiling-p`. + (macroexp--warn-and-return): Don't try and detect repetition on forms + like `nil`. + (macroexp-macroexpand): Don't forget to bind `macroexpand-all-environment`. + +2021-01-23 Lars Ingebrigtsen + + Provide a (thing-at-point 'url) in eww buffers + + * lisp/net/eww.el (eww-mode): Allow (thing-at-point 'url) to work + in eww buffers. + (eww--url-at-point): New function. + +2021-01-23 Lars Ingebrigtsen + + Add a mechanism for buffer-local thing-at-points + + * doc/lispref/text.texi (Buffer Contents): Document it. + + * lisp/thingatpt.el (thing-at-point-provider-alist): New variable. + (thing-at-point): Use it. + +2021-01-23 Paul Eggert + + Update from Gnulib by running admin/merge-gnulib + +2021-01-23 Gabriel do Nascimento Ribeiro + + Use single post-command-hook on hl-line modes + + * lisp/hl-line.el (hl-line-mode, global-hl-line-mode): Ensure + that 'maybe-unhighlight' is called after line is highlighted. + (Bug#45946) + (hl-line-unhighlight, global-hl-line-unhighlight): Set overlay + variable to nil after overlay is deleted. + +2021-01-23 Philipp Stephani + + Add a unit test testing interaction between threads and processes. + + This unit test tests that we can call 'accept-process-output' in + parallel from multiple threads. + + * test/src/process-tests.el (process-tests/multiple-threads-waiting): + New unit test. + +2021-01-23 Philipp Stephani + + Avoid a few compilation warnings in Objective-C code. + + * src/nsfns.m (Fns_frame_restack): Remove unused variable 'flag'. + + * src/nsmenu.m (ns_update_menubar): Remove unused variable 'pool'. + + * src/nsterm.m (focus_view, hide_bell): Define conditionally. + (ns_update_end): Define variable 'view' conditionally. + (ns_redraw_scroll_bars): Don't define unused function. + (copyRect): Don't perform arithmetic on 'void' pointers. + (nswindow_orderedIndex_sort): Make static. + +2021-01-23 Philipp Stephani + + * .clang-format: Fix base style. + +2021-01-23 Philipp Stephani + + Add a FIXME comment to improve the SIGCHLD race condition handling. + + * src/process.c: Add FIXME comment describing how we could avoid the + self-pipe on modern Unix-like systems. + +2021-01-23 Philipp Stephani + + Mark both ends of self-pipe a nonblocking. + + While no deadlocks caused by the blocking write end have been reported + yet, marking both ends nonblocking is consistent and also recommended + in the GNU/Linux manpage of 'select'. + + * src/process.c (child_signal_init): Mark write end of self-pipe as + nonblocking. + +2021-01-23 Michael Albinus + + Fix failed autorevert test on emba + + * test/lisp/autorevert-tests.el (auto-revert-test05-global-notify): + Check, whether buffer is alive. + +2021-01-23 Michael Albinus + + * test/infra/gitlab-ci.yml (.job-template): Check also for test/lib-src/*.el. + +2021-01-23 Eli Zaretskii + + Clean up the recently added self-pipe mechanism for WINDOWSNT + + * src/process.c (child_signal_init, child_signal_read) + (child_signal_notify): #ifdef away on WINDOWSNT. + +2021-01-23 Eli Zaretskii + + Fix last change + + * doc/lispref/text.texi (Undo): Add a cross-reference to the + description of 'undo-amalgamate-change-group'. + (Atomic Changes): Expand and improve the description of + 'undo-amalgamate-change-group'. (Bug#42303) + +2021-01-23 Lars Ingebrigtsen + + Mention undo-amalgamate-change-group in the lispref manual + + * doc/lispref/text.texi (Atomic Changes): Mention + undo-amalgamate-change-group (bug#42303). + + (cherry picked from commit ba25a82855a2c03c25fec83f3056c166b692e94f) + +2021-01-23 Dmitry Gutov + + Erase the buffer only after fetching the new contents + + * lisp/progmodes/xref.el (xref-revert-buffer): + Erase the buffer only after fetching the new contents (bug#46042). + +2021-01-22 Stefan Monnier + + * lisp/simple.el (newline-and-indent): Disable `electric-indent-mode` + + With `electric-indent-mode` enabled, `newline-and-indent` ends up indenting + 3 times: once for the original line and twice on the new line. + `reindent-then-newline-and-indent` is even worse, indenting twice + both lines. + None of those commands should be affected by `electric-indent-mode` + since they even explicitly say in their name when and how they do + indentation. + + (reindent-then-newline-and-indent): Temporarily disable + `electric-indent-mode` as well. + +2021-01-22 Lars Ingebrigtsen + + Mention undo-amalgamate-change-group in the lispref manual + + * doc/lispref/text.texi (Atomic Changes): Mention + undo-amalgamate-change-group (bug#42303). + +2021-01-22 Paul Eggert + + Work around __has_attribute bug in clang 3.4 + + * src/conf_post.h (HAS_ATTRIBUTE): + * src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL): + Port to clang 3.4 and earlier. + +2021-01-22 Paul Eggert + + Update from Gnulib by running admin/merge-gnulib + +2021-01-22 Paul Eggert + + Prepare for update from Gnulib + + * configure.ac: Also create lib/malloc and lib/deps/malloc + if the dynarray module is in use, as Gnulib regex will + start needing it due to recent glibc changes. + +2021-01-22 Lars Ingebrigtsen + + Fix up previous mh-speed.el ignored variable change + + * lisp/mh-e/mh-speed.el (mh-speed-toggle, mh-speed-view): Mark the + ignored parameter with _ instead of using the Common Lispish + (declare (ignore args)) (which Emacs Lisp doesn't really support), + except by accident. + +2021-01-22 Keith David Bershatsky + + Add more isearch-related bindings to ns-win.el + + * lisp/term/ns-win.el (minibuffer-local-isearch-map): Add more + bindings to mirror bindings in isearch.el (bug#15667). + +2021-01-22 Lars Ingebrigtsen + + Make nnml handle invalid non-ASCII headers more consistently + + * lisp/gnus/nnml.el (nnml--encode-headers): New function to + RFC2047-encode invalid Subject/From headers (bug#45925). This + will make them be displayed more consistently in the Summary + buffer (but still "wrong" sometimes, since there's not that much + we can guess at at this stage, charset wise). + (nnml-parse-head): Use it. + +2021-01-22 Michael Albinus + + Use RemoteCommand option for Tramp's sshx and scpx methods + + * doc/misc/tramp.texi (Inline methods) : + (External methods) : Adapt call sequence. + (Remote shell setup): Mention, that sshx and scpx overwrite + RemoteCommand. + (Remote processes): Restriction: direct asynchronous processes + cannot be used when RemoteCommand is in use. + `tramp-remote-process-environment' is not ignored any longer. + + * lisp/net/tramp-sh.el (tramp-methods) : Handle login + shell via RemoteCommand. Remove `tramp-direct-async' parameter. + (tramp-maybe-open-connection): Add "-i" to login. + + * lisp/net/tramp-smb.el (tramp-smb-errors): + Add "NT_STATUS_NOT_SUPPORTED". + (tramp-smb-handle-insert-directory): Fix point moving error. + + * test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name): + Use `get-buffer-process' where appropriate. + +2021-01-22 Mattias Engdeg奪rd + + Calc: use big brackets around function arguments + + * lisp/calc/calccomp.el (math-compose-expr): Use big brackets around + arguments in Big mode, so that expressions like sin(a/b) look a bit + better. + +2021-01-22 Eli Zaretskii + + Avoid sending systemd shutdown notifications if non-daemon + + * src/emacs.c (Fkill_emacs): Send the shutdown notification only + in daemon mode. (Bug#46022) + +2021-01-22 Eli Zaretskii + + Fix last change for DOS_NT systems + + * src/term.c (tty_draw_row_with_mouse_face) + (tty_write_glyphs_with_face): Don't define on MSDOS and WINDOWSNT, + as those have their own implementations of that. + +2021-01-22 Jo達o T叩vora + + Enable TTY mouse-face support when built without GPM support + + * src/term.c (tty_write_glyphs_with_face): Move definition out of + ifdef block. + * src/xdisp.c (draw_row_with_mouse_face): Now called + unconditionally on all platforms. + +2021-01-22 Glenn Morris + + * lisp/textmodes/remember.el (remember-text-format-function): Fix type. + +2021-01-22 Eli Zaretskii + + * src/cmds.c (Fforward_line): Doc fix. (Bug#46027) + +2021-01-22 Eli Zaretskii + + Improve documentation of sendmail.el defcustom's + + * lisp/mail/sendmail.el (mail-archive-file-name) + (mail-default-reply-to, mail-self-blind, mail-default-headers): + Say in the doc string that 'message-default-mail-headers' shall be + customized when using 'message-mode' for email composition. + (Bug#46029) + +2021-01-21 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Copy newer files to image to build less often. + +2021-01-21 Stefan Monnier + + Fix spurious "Lexical argument shadows the dynamic variable" due to inlining + + Before this patch doing: + + rm lisp/calendar/calendar.elc + make lisp/calendar/cal-hebrew.elc + + would spew out lots of spurious such warnings about a `date` argument, + pointing to code which has no `date` argument in sight. This was + because that code had calls to inlinable functions (taking a `date` + argument) defined in `calendar.el`, and while `date` is a normal + lexical var at the site of those functions' definitions, it was + declared as dynbound at the call site. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): + Don't impose our local context onto the inlined function. + + * test/lisp/emacs-lisp/bytecomp-tests.el: Add matching test. + +2021-01-21 Stefan Kangas + + * lisp/net/webjump.el: Add Maintainer: emacs-devel. + + Ref: https://lists.gnu.org/r/emacs-devel/2021-01/msg01019.html + +2021-01-21 Lars Ingebrigtsen + + Don't have type-break-mode signal errors on corrupted files + + * lisp/type-break.el (type-break-get-previous-time): + (type-break-get-previous-count): Signal a warning instead of an + error (bug#38246). type-break will still continue to work even if + the database can't be loaded after a restart, but this allows + Emacs to be started. + +2021-01-21 Lars Ingebrigtsen + + Fix message.el build warning from previous change + + * lisp/gnus/message.el (subr-x): Fix build warning from previous + commit. + +2021-01-21 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Revert to always building. + +2021-01-21 Lars Ingebrigtsen + + Add dired support for compressing .pax files + + * lisp/dired-aux.el (dired-compress-files-alist): Add support for + compressing .pax files (bug#40135). + +2021-01-21 Lars Ingebrigtsen + + Tweak previous message-forward-included-mime-headers change + + * lisp/gnus/message.el (message-forward-included-mime-headers): + Should probably not include Content-Transfer-Encoding, because we + will reencode anyway. + +2021-01-21 Lars Ingebrigtsen + + Make Message respect header removal instructions more + + * doc/misc/message.texi (Forwarding): Document it. + + * lisp/gnus/message.el (message-forward-ignored-headers): Improve + documentation. + (message-forward-included-headers): Ditto. + (message-forward-included-mime-headers): New user option. + (message-remove-ignored-headers): Use it to preserve the necessary + MIME headers. + (message-forward-make-body): Remove headers when forwarding as + MIME, too. + +2021-01-21 Eli Zaretskii + + A better fix for 'kill-visual-line' + + * lisp/simple.el (kill-visual-line): Use the 6th element of the + return value of 'posn-at-point', which provides the coordinates in + terms or row and column, and is thus more reliable for deciding + whether we moved to the next screen line. (Bug#45837) + +2021-01-21 Lars Ingebrigtsen + + Fix thinko in previous footnote.el change + + * lisp/mail/footnote.el (footnote--regenerate-alist): Don't error + out when there's no footnotes. + +2021-01-21 Stefan Monnier + + Use `lexical-binding` in all the cal-*.el files + + * lisp/calendar/cal-bahai.el: Use lexical-binding. + (calendar-bahai-date-string): Use `calendar-dlet*`. + + * lisp/calendar/cal-china.el: Use lexical-binding. + (calendar-chinese-zodiac-sign-on-or-after) + (calendar-chinese-new-moon-on-or-after): Declare `year`. + (calendar-chinese-from-absolute-for-diary) + (calendar-chinese-to-absolute-for-diary) + (calendar-chinese-mark-date-pattern): Avoid dynbound var `date` as + function argument. + + * lisp/calendar/cal-coptic.el: Use lexical-binding. + (calendar-coptic-date-string): Use `calendar-dlet*`. + (calendar-ethiopic-to-absolute, calendar-ethiopic-from-absolute) + (calendar-ethiopic-date-string, calendar-ethiopic-goto-date): + Avoid dynbound var `date` as function argument. + + * lisp/calendar/cal-french.el: Use lexical-binding. + + * lisp/calendar/cal-hebrew.el: Use lexical-binding. + (holiday-hebrew-hanukkah): Don't use the third form in `dotimes`. + + * lisp/calendar/cal-islam.el: Use lexical-binding. + (calendar-islamic-to-absolute): Comment out unused vars `month` and `day`. + + * lisp/calendar/cal-move.el: + * lisp/calendar/cal-mayan.el: + * lisp/calendar/cal-iso.el: Use lexical-binding. + + * lisp/calendar/cal-persia.el: Use lexical-binding. + (calendar-persian-date-string): Use `calendar-dlet*`. + + * lisp/calendar/cal-html.el: Use lexical-binding. + (cal-html-insert-minical): Comment out unused var `date`. + (cal-html-cursor-month, cal-html-cursor-year): Mark `event` arg as unused. + + * lisp/calendar/cal-menu.el: Use lexical-binding. + (diary-list-include-blanks): Declare var. + + * lisp/calendar/cal-x.el: Use lexical-binding. + + * lisp/calendar/cal-tex.el: Use lexical-binding. + (diary-list-include-blanks): Declare var. + (cal-tex-insert-days, cal-tex-cursor-week-iso, cal-tex-week-hours) + (cal-tex-weekly-common, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-daily, cal-tex-daily-page): Declare `date` + as dynbound for the benefit of `cal-tex-daily-string`. + +2021-01-21 Stefan Monnier + + Use `calendar-read-sexp` instead of the now obsolete `calendar-read` + + * lisp/calendar/diary-lib.el (diary-insert-cyclic-entry): + * lisp/calendar/cal-persia.el (calendar-persian-read-date): + * lisp/calendar/cal-move.el (calendar-goto-day-of-year): + * lisp/calendar/cal-mayan.el (calendar-mayan-read-haab-date) + (calendar-mayan-read-tzolkin-date): + * lisp/calendar/cal-julian.el (calendar-julian-goto-date) + (calendar-astro-goto-day-number): + * lisp/calendar/cal-iso.el (calendar-iso-read-date): + * lisp/calendar/cal-islam.el (calendar-islamic-read-date): + * lisp/calendar/cal-hebrew.el (calendar-hebrew-read-date) + (calendar-hebrew-list-yahrzeits): + * lisp/calendar/cal-french.el (calendar-french-goto-date): + * lisp/calendar/cal-coptic.el (calendar-coptic-read-date): + * lisp/calendar/cal-china.el (calendar-chinese-goto-date): + * lisp/calendar/cal-bahai.el (calendar-bahai-read-date): + * lisp/calendar/holidays.el (list-holidays): Use `calendar-read-sexp`. + +2021-01-21 Stefan Monnier + + * lisp/calendar/cal-french.el (calendar-french-accents-p): Obsolete function + + Always assume accented letters can be used + + (calendar-french-month-name-array) + (calendar-french-special-days-array): Use the accented names. + (calendar-french-multibyte-month-name-array) + (calendar-french-multibyte-special-days-array): Make those vars + obsolete aliases. + (calendar-french-month-name-array, calendar-french-day-name-array) + (calendar-french-special-days-array): Mark functions as obsolete. + (calendar-french-date-string, calendar-french-goto-date): Always use + the text with accents. + +2021-01-21 Stefan Monnier + + * lisp/calendar/calendar.el (calendar-read-sexp): New function + + (calendar-read): Mark as obsolete. + (calendar-read-date): Use it. Add `default-date` argument. + Provide defaults for the month and day (fixes bug#32105). + +2021-01-21 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el (byte-compile--declare-var): Fix warning + + Make sure the "declared after first use" is under the control of + the `lexical` option. + +2021-01-20 Lars Ingebrigtsen + + Fix recent remember-diary-extract-entries change + + * lisp/textmodes/remember.el (remember-diary-extract-entries): Use + `remember-diary-file' over `diary-file'. + +2021-01-20 Lars Ingebrigtsen + + checkdoc-spellcheck-documentation-flag doc string improvement + + * lisp/emacs-lisp/checkdoc.el + (checkdoc-spellcheck-documentation-flag): Mention + `ispell-kill-ispell' (bug#6221). + +2021-01-20 Lars Ingebrigtsen + + Revert "Always send Lisp words to checkdoc-ispell-init" + + This reverts commit 93141d581330d94e7eec9f114def2bec15f87866. + + This would make checkdoc words be used in other flyspell + buffers. + +2021-01-20 Lars Ingebrigtsen + + Always send Lisp words to checkdoc-ispell-init + + * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Always send + the Lisp words to the process (bug#6221). This allows an existing + ispell process to be correctly initialised. + +2021-01-20 Juri Linkov + + Move the declare form before the interactive spec in 10 functions. + + * lisp/emacs-lisp/package.el (package-menu-hide-package): + * lisp/font-lock.el (font-lock-debug-fontify): + * lisp/image.el (image-jpeg-p): + * lisp/mail/flow-fill.el (fill-flowed-test): + * lisp/mh-e/mh-speed.el (mh-speed-toggle, mh-speed-view): + * lisp/progmodes/project.el (project-async-shell-command) + (project-shell-command, project-compile): + * lisp/progmodes/sh-script.el (sh-assignment): + Fix special forms to follow in this order: docstring, declare, interactive. + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/subr-x.el (named-let): New macro + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Add 2 new opts + + This introduces two new optimizations. They're designed for code like + + (while + (let (...) + (if ... (progn blabla t) (progn blabla nil))) + ...) + + and they allow the elimination of the test internal to `while` since + we can immediately know when we return `t` or `nil` what the result + of the test will be. + + `cl-labels` tends to generate this kind of code when it applies the + tail-call optimization. + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Move some opts. + + This moves two optimizations from the final pass to the main loop. + Both may enable further optimizations (and the second can be applied + repeatedly but "from the end", so the loop in the final pass only gets + to apply it once). + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Re-indent + +2021-01-20 Lars Ingebrigtsen + + Fix footnote-mode problem when reopening an old file + + * lisp/mail/footnote.el (footnote--regenerate-alist): New function + (bug#7258). + (footnote-mode): Use it to restore footnotes after opening an old + file with footnotes. + +2021-01-20 Lars Ingebrigtsen + + cua-toggle-global-mark doc string clarification + + * lisp/emulation/cua-gmrk.el (cua-toggle-global-mark): Clarify + that also inserted characters are affected (bug#8083). + +2021-01-20 Michael Albinus + + Fix environment handling in tramp-handle-make-process + + * lisp/net/tramp.el (tramp-test-message): Add `tramp-suppress-trace' property. + (tramp-handle-make-process): Handle also 'tramp-remote-process-environment'. + +2021-01-20 Gabriel do Nascimento Ribeiro + + Respect remember-save-after-remembering on remember-diary-extract-entries + + * lisp/textmodes/remember.el (remember-diary-extract-entries): + Save automatically if `remember-save-after-remembering' is non-nil + (bug#45811). + +2021-01-20 Gabriel do Nascimento Ribeiro + + Add option remember-text-format-function + + * lisp/textmodes/remember.el (remember-text-format-function): New + variable (bug#45809). + (remember-append-to-file): Use it. + +2021-01-20 Gabriel do Nascimento Ribeiro + + Add option remember-diary-regexp + + * lisp/textmodes/remember.el (remember-diary-extract-entries): Use + it (bug#45808). + (remember-diary-regexp): New variable. + +2021-01-20 Lars Ingebrigtsen + + Tweak tty-find-type to allow TERM=screen.xterm + + * lisp/faces.el (tty-find-type): Allow TERM=screen.xterm to find + term/screen.el (bug#45824). + +2021-01-20 Lars Ingebrigtsen + + Make symbol-at-point return nil if there's no symbols in the buffer + + * lisp/thingatpt.el (thing-at-point--beginning-of-symbol): Special + op that errors out when there's no symbols in the buffer before + point (bug#14234). + (symbol): Use it. + +2021-01-20 Lars Ingebrigtsen + + Add tests for symbol-at-point (bug#14234) + +2021-01-20 Stefan Monnier + + Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389) + + * src/alloc.c (garbage_collect): Postpone `unblock_input` a bit. + * src/window.c (window_parameter): Avoid `maybe_quit`. + +2021-01-20 Fabrice Bauzac (tiny change) + + Sort Ibuffer filename/process column as displayed + + * lisp/ibuf-ext.el (ibuffer-do-sort-by-filename/process): Use the + same function for sorting and for displaying the + filename/process (Bug#45800). + +2021-01-20 Lars Ingebrigtsen + + Revert "Make `symbol-at-point' work in buffers with no symbols" + + This reverts commit 40a5df81434ce02fba01779256b50976fb74da4f. + + This fails when a point is after a symbol, and there's + nothing else in the buffer. + +2021-01-20 Lars Ingebrigtsen + + Don't add Content-Type when ceasing an rmail edit + + * lisp/mail/rmailedit.el (rmail-cease-edit): Take an optional + parameter to avoid altering the message (bug#13327). + (rmail-abort-edit): Use it. + +2021-01-20 Lars Ingebrigtsen + + Make `symbol-at-point' work in buffers with no symbols + + * lisp/thingatpt.el (thing-at-point--end-of-symbol): New function + (bug#14234). + (symbol): Use it instead of `forward-symbol', because the latter + will move to the end of the buffer even if there is no symbol + there. Instead error out like `forward-sexp' and friends. + +2021-01-20 Lars Ingebrigtsen + + Fix up example in the Modifying Menus node in the lispref manual + + * doc/lispref/keymaps.texi (Modifying Menus): Make the second + example more regular (bug#14257). + +2021-01-20 Lars Ingebrigtsen + + Mention that the mouse will switch on transient-mark-mode in manual + + * doc/lispref/markers.texi (The Mark): Mention that the mouse will + enable the `(only)' transient mark mode (bug#14945). + +2021-01-20 Lars Ingebrigtsen + + Make sh-mode use `auto-mode-interpreter-regexp' + + * lisp/progmodes/sh-script.el (sh-mode): Use + `auto-mode-interpreter-regexp' instead of open-coding the value + (bug#17158). + +2021-01-20 Nick Drozd + + test/lisp/replace-tests.el: Add nested match group test + + * test/lisp/replace-tests.el (replace-regexp-bug45973): Add test + (bug#45973). + +2021-01-19 Andrea Corallo + + Do not add unnecesary arg constraints (bug#45812 bug#45705 bug#45751). + + These have the effect of bloating the IR for no effect killing compile + time. The typical cases for that are extremely long backuoted lists. + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-t): New var. + * lisp/emacs-lisp/comp.el (comp-add-call-cstr): No need to add + arg call constraints if this is t. + +2021-01-19 Philipp Stephani + + Make child signal read pipe non-blocking. + + Otherwise Emacs might hang when trying to read the pipe twice in a + row. This is consistent with the other file descriptors we pass to + 'pselect'. + + * src/process.c (child_signal_init): Make read end of pipe + non-blocking. + +2021-01-19 Dmitry Gutov + + Declare some project commands interactive-only + + * lisp/progmodes/project.el (project-async-shell-command) + (project-shell-command, project-compile): + Declare interactive-only (bug#45765). + +2021-01-19 Juri Linkov + + * lisp/help-fns.el: Move defvar keymap-name-history closer to where it's used. + +2021-01-19 Juri Linkov + + Better check for nil in search-/query-replace-highlight-submatches (bug#45973) + + * lisp/isearch.el (isearch-highlight): + * lisp/replace.el (replace-highlight): + Use integer-or-marker-p to check matches. + +2021-01-19 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Bootstrap only from web, schedule, or C-related. + +2021-01-19 Mattias Engdeg奪rd + + Calc: use Unicode brackets in Big mode when available (bug#45917) + + * lisp/calc/calccomp.el (math--big-bracket-alist) + (math--big-bracket, math--comp-bracket, math--comp-round-bracket): + New. + (math-compose-expr, math-compose-log, math-compose-log10) + (math-compose-choose, math-compose-integ, math-compose-sum) + (math-compose-prod): Use big brackets when available. + +2021-01-19 Stefan Monnier + + * etc/NEWS.19: Add entry for `indent-line-to` + + * lisp/version.el (emacs-major-version, emacs-minor-version): + Remove redundant version info already displayed by `C-h o`. + +2021-01-19 Michael Albinus + + Some Tramp fixes, resulting from test campaign + + * doc/misc/tramp.texi (Remote shell setup): Clarifications for + `tramp-actions-before-shell' example. + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not expand + FILENAME explicitely. + (tramp-open-shell): Add "-i" for interactive shells. + + * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p) + (tramp-test14-delete-directory) + (tramp-test43-asynchronous-requests): Skip for MS windows. + +2021-01-19 Stefan Monnier + + * lisp/startup.el: Fix bug#45857, bug#30994, and bug#45913. + + (command-line): Don't re-evaluate the `custom-delayed-init-variables` + a second time after reading the `early-init.el` file. + (x-apply-session-resources): Set `blink-cursor-mode` rather than + `no-blinking-cursor`. + + * lisp/frame.el (blink-cursor-start): Turn `blink-cursor-mode` off + if `blink-cursor-mode` was set to nil. + (blink-cursor-mode): Default to it being enabled regardless of + `window-system`. + + * lisp/custom.el (custom-initialize-delay): Fox docstring now that + autoload.el preserves the `:initialize` info. + +2021-01-19 Lars Ingebrigtsen + + Only show "2x entries" i vc log buffers if needed + + * lisp/vc/vc.el (vc-print-log-setup-buttons): Only show the "more" + buttons if we got more or equal to the number of entries we asked + for (bug#18959). + +2021-01-19 Mattias Engdeg奪rd + + Parse square root sign in embedded Calc mode + + * lisp/calc/calc-lang.el (math-read-big-rec): Recognise since it may + be used in Big mode. + +2021-01-19 Mattias Engdeg奪rd + + Missing dynamic variable declarations in Calc + + * lisp/calc/calc-embed.el (calc-embedded-set-modes): Prevent + the-language and the-display-just from being lexically bound here, + because they may be assigned using 'set'. + +2021-01-19 Lars Ingebrigtsen + + Fix slow abbrev expansion in `message-mode' in some circumstances + + * lisp/gnus/message.el (message--syntax-propertize): Use the + correct Message mode syntax table to avoid having + `message-cite-prefix-regexp' trigger very heavy backtracing when + called from an abbrev context (which defines "_" as a word + constituent) (bug#45944). + +2021-01-19 Lars Ingebrigtsen + + Don't stop Gnus startup on password failures + + * lisp/gnus/nntp.el (nntp-send-authinfo): Don't signal an + `nntp-authinfo-rejected' error, because that will stop Gnus + startup (bug#45855). Instead signal an error that will be caught + higher up. + +2021-01-19 Michael Albinus + + Handle also test/lib-src directory + + * test/Makefile.in (SUBDIRS): Add lib-src. + + * test/README: Add predefined selectors. + + * test/file-organization.org: Mention test/lib-src directory. + +2021-01-19 Mauro Aranda + + Fix list-colors-print handling of callback arg + + * lisp/facemenu.el (list-colors-print): Keeping + backward-compatibility, don't fail when passed a closure object as + CALLBACK. (Bug#45831) + +2021-01-19 Mauro Aranda + + Add test for the widget-color-match function (Bug#45829) + + * test/lisp/wid-edit-tests.el (widget-test-color-match): New test. + +2021-01-19 Drew Adams + + Tweaks to the color widget (Bug#45829) + + * lisp/wid-edit.el (widget-color-match, widget-color-validate): New + functions. + (color): Use the new functions. Base size on longest defined color + name, defaulting to the longest RGB hex string. + +2021-01-19 Protesilaos Stavrou + + Add 'perl-non-scalar-variable' face to perl-mode + + * etc/NEWS: Document the new face (bug#45840). + * lisp/progmodes/perl-mode.el (perl-non-scalar-variable): Define new + face. + (perl-font-lock-keywords-2): Apply 'perl-non-scalar-variable' face. + +2021-01-19 James N. V. Cash (tiny change) + + Define keymap-name-history + + * lisp/help-fns.el (keymap-name-history): Define the history + variable (bug#45879). This avoids problems in other completing + systems like Helm. + +2021-01-19 Lars Ingebrigtsen + + Actually make the calc trail window dedicated + + * lisp/calc/calc.el (calc-trail-display): Actually make the trail + window dedicated (bug#45928). + +2021-01-19 Lars Ingebrigtsen + + Don't infloop in comint-redirect-results-list-from-process + + * lisp/comint.el (comint-redirect-results-list-from-process): + Ensure forward progress (bug#45950). + +2021-01-19 Lucas Werkmeister + + Mark the various nxml flags as safa + + * lisp/nxml/nxml-mode.el (nxml-char-ref-display-glyph-flag) + (nxml-sexp-element-flag, nxml-slash-auto-complete-flag) + (nxml-child-indent, nxml-attribute-indent) + (nxml-bind-meta-tab-to-complete-flag) + (nxml-prefer-utf-16-to-utf-8-flag) + (nxml-prefer-utf-16-little-to-big-endian-flag) + (nxml-default-buffer-file-coding-system) + (nxml-auto-insert-xml-declaration-flag): Add :safe to allow easier + cusomization (bug#45969). + +2021-01-19 Lars Ingebrigtsen + + Revert "* .gitignore: add src/fingerprint.c" + + This reverts commit 2644353cbc65927a6a0a76d68e00d017771cdd03. + + The src/fingerprint.c file is no longer generated, and the spelling of the obsolete function was correct. + +2021-01-19 Dmitry Gutov + + Make sure the new window is not too tall + + * lisp/progmodes/xref.el (xref-show-definitions-buffer-at-bottom): + Make sure the new window is not too tall (bug#45945). + +2021-01-18 Stephen Gildea + + time-stamp-tests now pass in more locales + + Update time-stamp-tests to use format-time-string to generate the date + words (month, day of week, AM/PM) instead of hard-coding English. Now + the tests pass in locales other than "C" and US English. + + Expand the test coverage of modifier characters. + +2021-01-18 Eric Abrahamsen + + Allow gnus-retrieve-headers to return headers directly + + Previously, all Gnus backends returned header information by writing + nov lines into the nntp-server-buffer, which was later parsed. This + commit allows the backends to return their header information as a + list of already-parsed headers, though so far none of the backends + actually do that. The agent, cache, cloud etc. now operate on parsed + headers rather than nov text, ie. they use gnus-fetch-headers instead + of gnus-retrieve-headers. + + * lisp/gnus/gnus-sum.el (gnus-fetch-headers): Handle the case in which + gnus-retrieve-headers returns headers directly. + * lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): Use + gnus-fetch-headers rather than gnus-retrieve-headers to get headers, + meaning we're operating on already-parsed headers. + (nnvirtual-convert-headers): Remove now-unnecessary function. + (nnvirtual-update-xref-header): Rewrite to operate on parsed header. + * lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks): Use + gnus-fetch-headers instead of gnus-retrieve-headers. + * lisp/gnus/gnus-cache.el (gnus-cache-retrieve-headers): Use + gnus-fetch-headers. + (gnus-cache-braid-nov, gnus-cache-braid-heads): Delete unnecessary + functions -- we now do this work on a list of parsed headers. + * lisp/gnus/gnus-agent.el (gnus-agent-retrieve-headers): Use + gnus-fetch-headers. + (gnus-agent-braid-nov): Remove unnecessary function. + (gnus-agent-fetch-headers): Use gnus-fetch-headers. + +2021-01-18 Basil L. Contovounesios + + Fix ibuffer-mark-by-file-name-regexp abbreviations + + * lisp/ibuffer.el (ibuffer--abbreviate-file-name): New function. + (filename): Use it. + * lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Prefer + read-regexp over read-string for reading regexps. Determine file + name using ibuffer-buffer-file-name for consistency. Abbreviate + file name using ibuffer-directory-abbrev-alist (bug#18859). + +2021-01-18 Basil L. Contovounesios + + Use format-prompt in read-regexp. + + * lisp/replace.el (read-regexp): Use format-prompt (bug#12443). + +2021-01-18 Eric Ludlam + + * lisp/cedet/ede/proj.el: Enable Project files to load + + (ede-proj-target-makefile): Give more precise type for its `rules` slot. + + * lisp/cedet/ede/base.el (ede-target-list): Don't define. + (ede-project): Use `list-of` instead. + +2021-01-18 Eli Zaretskii + + Fix recent changes for Cham script + + * lisp/language/cham.el ("Cham"): Fix sample-text. + * lisp/leim/quail/cham.el: Really install this new file. + +2021-01-18 Aaron Jensen + + * test/src/xdisp-tests.el: Fix tests to work in batch mode + + (xdisp-tests--window-text-pixel-size) + (xdisp-tests--window-text-pixel-size-leading-space) + (xdisp-tests--window-text-pixel-size-trailing-space): Fix tests. + (Bug#45748) + +2021-01-18 Lars Ingebrigtsen + + Don't double up keys in epa--list-keys + + * lisp/epa.el (epa--list-keys): Delete the list keys before + redisplaying (bug#44134). + +2021-01-18 Stephen Berman + + Fix problem with `epa-list-keys' bugging out + + * lisp/epa.el (epa--list-keys): Partially revert 517285f7cae which + removed the wrong property (bug#44134). + +2021-01-18 Mattias Engdeg奪rd + + Avoid macOS NSFilenamesPboardType warning (bug#33035) + + * src/nsterm.h (NS_USE_NSPasteboardTypeFileURL): New #define. + * src/nsterm.m (ns_term_init): + ([EmacsView performDragOperation:]): + * src/nsselect.m (ns_string_to_symbol): + (nxatoms_of_nsselect): + NSFilenamesPboardType was deprecated in macOS 10.14; use + NSPasteboardTypeFileURL instead when available. + +2021-01-18 Philipp Stephani + + Replace Unix commands with Emacs in process tests. + + That way, the tests only depend on Emacs, and not on utilities that + might not be available during test time. + + * test/src/process-tests.el (process-tests--eval) + (process-tests--emacs-command, process-tests--emacs-binary) + (process-tests--dump-file) + (process-tests--usable-file-for-reinvoke): New helper functions. + (process-tests/sentinel-called) + (process-tests/sentinel-with-multiple-processes): Use them. + +2021-01-17 Andrea Corallo + + * Run dead code removal always before fwprop, optim bootstrap time (~20% less) + + * lisp/emacs-lisp/comp.el (comp-passes): Remove `comp-dead-code'. + (comp-fwprop): Call `comp-dead-code'. + (comp-dead-code): Remove fake arg. + +2021-01-17 Andrea Corallo + + * Introduce `comp-fwprop-max-insns-scan' as heuristic threshold + + * lisp/emacs-lisp/comp.el (comp-fwprop-max-insns-scan): New + constant. + (comp-fwprop*): Give-up when `comp-fwprop-max-insns-scan' is + exceeded. + +2021-01-17 Andrea Corallo + + Make `comp-enable-subr-trampolines' effective for advices (bug#45854) + + * src/comp.c: Copyright update. + (syms_of_comp): Update `comp-enable-subr-trampolines' doc. + * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check + for `comp-enable-subr-trampolines'. + +2021-01-17 Eli Zaretskii + + Improve support for the Cham script and languages + + * etc/NEWS: Announce the new 'cham' input method. + * etc/HELLO: Fix the order of letters in the Cham greeting. + Remove redundant newlines (reported by Ulrich Mueller + ). + + * lisp/language/cham.el ("Cham"): Add input-method entry. + * lisp/leim/quail/cham.el: New file. + * lisp/international/fontset.el (setup-default-fontset): Add an + entry for Cham. + +2021-01-17 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Merge test-template into job-template. + +2021-01-17 Philipp Stephani + + Ensure that sentinels are called during 'accept-process-output'. + + When we're trying to notify a process about a status change, we need + to ignore the SIGCHLD pipe temporarily, otherwise the code would + likely not run into the timeout case that's necessary for a status + change to happen. + + * src/process.c (wait_reading_process_output): Ignore the SIGCHLD pipe + when notifying a process about a status change. + * test/src/process-tests.el (process-tests/sentinel-called) + (process-tests/sentinel-with-multiple-processes): New unit tests. + +2021-01-17 Michael Albinus + + Add new targets to test/Makefile + + * test/Makefile.in (SUBDIRS): New variable. + (subdir_template): New template. + (top) Create new check- targets. + + * test/README: Document them. + + * test/infra/gitlab-ci.yml (test-lisp-net-inotify): Rename. + +2021-01-17 Philipp Stephani + + Add a bit more clarification around standard error processes. + + * doc/lispref/processes.texi (Asynchronous Processes): Document + how to obtain the standard error process that Emacs creates. + (Accepting Output): Add an example how to wait for standard error in + case Emacs has created a standard error process. + +2021-01-16 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Use pcase + +2021-01-16 Stefan Monnier + + * lisp/emacs-lisp/pcase.el: Add support for `not` to `pred` + + (pcase--split-pred, pcase--funcall): Adjust for `not`. + (pcase--get-macroexpander): New function. + (pcase--edebug-match-macro, pcase--make-docstring) + (pcase--macroexpand): Use it. + + * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Use it! + + * doc/lispref/control.texi (The @code{pcase} macro): Document it. + + * lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Remove redundant test. + +2021-01-16 Philipp Stephani + + Don't crash if no asynchronous process has been created yet. + + * src/process.c (wait_reading_process_output): Allow + child_signal_read_fd < 0. + +2021-01-16 Philipp Stephani + + Fix deadlock when receiving SIGCHLD during 'pselect'. + + If we receive and handle a SIGCHLD signal for a process while waiting + for that process, 'pselect' might never return. Instead, we have to + explicitly 'pselect' that the process status has changed. We do this + by writing to a pipe in the SIGCHLD handler and having + 'wait_reading_process_output' select on it. + + * src/process.c (child_signal_init): New helper function to create a + pipe for SIGCHLD notifications. + (child_signal_read, child_signal_notify): New helper functions to + read from/write to the child signal pipe. + (create_process): Initialize the child signal pipe on first use. + (handle_child_signal): Notify waiters that a process status has + changed. + (wait_reading_process_output): Make sure that we also catch + SIGCHLD/process status changes. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Remove workaround, + which is no longer needed. + +2021-01-16 Eli Zaretskii + + Fix Rmail summary for more than 99,999 messages + + * lisp/mail/rmailsum.el (rmail-summary-font-lock-keywords): Don't + assume there will be less than 100,000 messages in an mbox file. + (Bug#45912) + +2021-01-16 Eli Zaretskii + + Fix two tests + + * test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run): + Make sure file names can be compared as strings, by running them + through 'file-truename'. Reported by Vin Shelton + . + * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-obsolete-hook.el") + ("warn-obsolete-variable.el"): Use [^z-a] to match a newline as + well. Reported by Vin Shelton . + +2021-01-16 Ted Zlatanov + + test/infra/gitlab-ci.yml: run only for tags and some branches + +2021-01-16 Eli Zaretskii + + Improve support for Cham script + + * lisp/language/cham.el ("Cham"): Expand the entry. + + * etc/HELLO: Add entry for Cham. + +2021-01-16 Ted Zlatanov + + EMBA container build improvements for Emacs build testing. + + * test/infra/gitlab-ci.yml: Moved from .gitlab-ci.yml. Use the + EMBA container registry with a different login token storage file + for each commit. Split test stages into prep, build, fast tests, + normal tests, platform tests, and slow (everything) and use + templates where possible. + + * .gitlab-ci.yml: Include test/infra/gitlab-ci.yml and move all + content there. + +2021-01-16 Eli Zaretskii + + Fix last change + + * src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): + Don't compile the FRAME_MSDOS_P case on platforms other than + MSDOS, as that will never happen there. + +2021-01-16 Jared Finder + + Make mouse-related calls be more consistent on all frame types + + * src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Call + Fselect_frame and appropriate mouse_moveto function on all non-GUI + frame types, independent of #ifdef's. + * src/term.c (init_tty): Initialize mouse_face_window for all + non-GUI frame types. + (term_mouse_moveto) [HAVE_GPM]: Make available even if + HAVE_WINDOW_SYSTEM is defined. + * src/xdisp.c (try_window_id): Call gui_clear_window_mouse_face + in all cases. + +2021-01-16 Philip Brown (tiny change) + + * Set `backtrace-line-length' in async worker processes + + Philip Brown + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Set + backtrace-line-length in async worker processes. + +2021-01-16 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-01-16 Stefan Monnier + + * lisp/frame.el Don't activate `blink-cursor-idle-timer` needlessly. + + (blink-cursor-mode): Use `blink-cursor-check` rather than + `blink-cursor--start-idle-timer` so we check for the presence of + a frame where the cursor can be blinked before activating the idle timer. + +2021-01-16 K辿vin Le Gouguec + + Change default-directory before prompting in project-compile + + This causes command completion to work from the project root, letting + users complete top-level folders, make targets, etc (bug#45765). + + * lisp/progmodes/project.el (project-compile): Simplify using + call-interactively, as done with project(-async)-shell-command. + +2021-01-16 Stefan Monnier + + * src/dispnew.c (sit_for): Return nil when interrupted by process output + + Before adbb4eacc2a984c0fc0b65ec761368fd9067d6c5, + `read_and_dispose_of_process_output` called + `record_asynch_buffer_change` which added "artificial" input events + (in the form of BUFFER_SWITCH_EVENTs), causing sit_for to return + Qnil when interrupted by process output. Without those BUFFER_SWITCH_EVENTs, + sit_for now tends to return Qt when interrupted by process output + making `read_char` believe that we've waited the whole timeout, + As consequence incoming process output tended to cause premature + auto-saving of files (sometimes right after almost every key press). + + This patch recovers the previous behavior, which is not ideal + (incoming process output can delay auto-save indefinitely), but has + been good enough for many years. + +2021-01-15 Phillip Lord + + Remove support for 32 bit build + + * admin/nt/dist-build/README-scripts: Update + * admin/nt/dist-build/README-windows-binaries: Update + * admin/nt/dist-build/build-zips.sh: Remove 32 bit and fix paths + * admin/nt/dist-build/build-dep-zips.py: Remove 32 bit and update + paths + * admin/nt/dist-build/emacs.nsi: Remove 32 bit and fix paths + +2021-01-15 Phillip Lord + + Update dependency capture + + * admin/nt/dist-build/build-dep-zips.py: Use ntldd to directly + determine DLL dependencies + +2021-01-15 Stephen Leake + + * .gitignore: add src/fingerprint.c + + * lisp/dired-x.el (dired-file-name-at-point): Fix spelling in obsolete + message. + +2021-01-15 Aaron Jensen + + Fix 'window-text-pixel-size' when there are leading/trailing spaces + + First, scan to find the first non-whitespace character and then + backtrack to find the beginning of the line. The previous + algorithm always started on the non-whitespace character during + the backtrack, causing it to stop immediately and not actually + find the beginning of the line. The same applies to the end of + line calculation. + * src/xdisp.c: (Fwindow_text_pixel_size): Fix off by one error. + (Bug#45748) + + * test/src/xdisp-tests.el (xdisp-tests--window-text-pixel-size) + (xdisp-tests--window-text-pixel-size-leading-space) + (xdisp-tests--window-text-pixel-size-trailing-space): New tests. + +2021-01-15 Jared Finder + + Make libraries works with xterm-mouse-mode. + + Change calls from 'read-event' to 'read-key' in libraries expecting + mouse events. Do this only when 'xterm-mouse-mode' is enabled. That + way those libraries read decoded mouse events instead of the + underlying escape sequence. Add a parameter to 'read-key' that avoids + running any of the unbound fallbacks in 'read-key-sequence' so the + libraries can read mouse button-down events. + + For backward compatibility purposes, the above logic is contained in a + new internal-only function: 'read--potential-mouse-event'. + + * doc/lispref/commands.texi (Reading One Event): Document new + parameter to 'read-key'. Mention that non-character events on + terminals need 'read-key'. + * lisp/subr.el (read-key-full-map): Add new keymap used by 'read-key'. + (read-key): Add new parameter 'fallbacks-disabled' to prevent running + any of the unbound fallbacks normally run by 'read-key-sequence'. + (read--potential-mouse-event): Add new function that calls 'read-key' + or 'read-event' depending on if 'xterm-mouse-mode' is set. + * lisp/foldout.el (foldout-mouse-swallow-events): + * lisp/isearch.el (isearch-pre-command-hook): + * lisp/mouse-drag.el (mouse-drag-throw, mouse-drag-drag): + * lisp/mouse.el (mouse-drag-secondary): + * lisp/ruler-mode.el (ruler-mode-mouse-grab-any-column) + (ruler-mode-mouse-drag-any-column-iteration): + * lisp/strokes.el (strokes-read-stroke, strokes-read-complex-stroke): + * lisp/textmodes/artist.el (artist-mouse-draw-continously) + (artist-mouse-draw-poly, artist-mouse-draw-2points): + * lisp/vc/ediff-wind.el (ediff-get-window-by-clicking): + * lisp/wid-edit.el (widget-button--check-and-call-button) + (widget-button-click): Call 'read--potential-mouse-event' instead of + 'read-event'. + * lisp/wid-edit.el (widget-key-sequence-read-event): Call 'read-key' + with 'fallbacks-disabled' set instead of 'read-event'. Unlike above + changes, this is unconditionally applied so it works for function + keys too. Apply 'local-function-key-map' instead of + 'function-key-map' as that contains the full terminal translations. + * lisp/vc/ediff.el (ediff-windows): Use 'display-mouse-p' to check if + a mouse is available. + * src/lread.c (Fread_event): Recommend 'read-key' in docstring for + 'read-event' for non-character events. + +2021-01-15 Michael Albinus + + Some Tramp adaptions, mainly direct async processes + + * doc/misc/tramp.texi (Firewalls, Remote processes) + (Frequently Asked Questions): Add @vindex. + (Predefined connection information): Precise precondition or direct + async processes. + (Remote shell setup): Ban ssh RemoteCommand option. + (Frequently Asked Questions): Adapt quoting. + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.1-pre". + + * lisp/net/tramp-adb.el (tramp-methods) : Add `tramp-direct-async' + parameter. + (tramp-adb-handle-make-process): Adapt docstring. + + * lisp/net/tramp-sh.el (tramp-methods) : + Add `tramp-direct-async' parameter. + (tramp-sh-handle-insert-directory): Simplify merkers. + (tramp-sh-handle-make-process): Adapt docstring. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + (tramp-debug-message): Suppress lockfiles. + (tramp-test-message): New defun. + (tramp-direct-async-process-p): Check also for `tramp-direct-async'. + (tramp-handle-make-process): Do not check for `tramp-direct-async-args'. + + * test/lisp/net/tramp-tests.el (all): Replace `string-match' by + `string-match-p'. + (dired-copy-dereference): Declare. + (tramp-test-temporary-file-directory): + Remove `tramp-direct-async-args` for mock method. + (tramp-test15-copy-directory, tramp-test40-special-characters) + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls, tramp-test41-utf8) + (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl) + (tramp-test41-utf8-with-ls): Skip for tramp-rclone.el. + (tramp--test--deftest-direct-async-process): Do not skip for mock + method. + (tramp-test32-shell-command): Adapt test for direct async processes. + (tramp-test36-vc-registered, tramp--test-hpux-p, tramp--test-ksh-p): + Use `tramp-test-vec'. + +2021-01-15 Glenn Morris + + * lisp/emacs-lisp/seq.el (seq-concatenate): Unautoload (merge fix). + + gitmerge-skip-regexp does not handle line breaks. + +2021-01-15 Eli Zaretskii + + Fix 'kill-visual-line' + + * lisp/simple.el (kill-whole-line): Mention in the doc string that + this option affects 'kill-visual-line' as well. + (kill-visual-line): Improve the doc string. Delete the character + at which the line was wrapped under 'visual-line-mode'. Don't + indiscriminately delete whitespace following the wrap point. + (Bug#45837) + +2021-01-14 Stefan Monnier + + * lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor + + This is redundant because this was set based on "X" resources under + (memq window-system '(x w32 ns)) but the exact same resources and + values are tested in `x-apply-session-resources` which is also used for + those 3 window systems. + +2021-01-14 Stefan Monnier + + * lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor + + This was set when (or noninteractive emacs-basic-display), but + the code that sets `emacs-basic-display` also sets `no-blinking-cursor` + and `blink-cursor-mode`s value already tests `noninteractive` + alongside `no-blinking-cursor`. + +2021-01-14 Stefan Monnier + + Fix marking "delayed-initialization" vars as dynamically scoped + + We used to mark those vars as dynbound in `custom-reevaluate-setting` + which forced us to bind `current-load-list` around it to avoid having + the vars be associated with the wrong file. Move this marking to + `custom-initialize-delay` so we don't need this workaround. + + * lisp/custom.el (custom-initialize-delay): Mark the var as dynamic. + (custom-reevaluate-setting): Don't use `defvar` here. + + * lisp/startup.el (command-line): Don't let-bind `current-load-list` + around calls to `custom-reevaluate-setting`. + +2021-01-14 Andrea Corallo + + * Normalize `comp-eln-load-path' entries for trampoline comp (bug#43475) + + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): New function. + (comp-trampoline-search, comp-trampoline-compile) + (comp-clean-up-stale-eln): Update to use normalized + `comp-eln-load-path-eff'. + +2021-01-14 Andrea Corallo + + * Introduce native compilation time reports + + * lisp/emacs-lisp/comp.el (comp-log-time-report): New special + variable. + (comp--native-compile): Rework to log time reports. + +2021-01-14 Juri Linkov + + * lisp/info.el (Info-search): Don't deactivate mark when landed in same node + + (bug#45839) + +2021-01-14 Glenn Morris + + Merge from origin/emacs-27 + + 488204cdc6 (origin/emacs-27) Remove one of recently added warnings ab... + 55bc1560ac Fix assertion failure in window_box_height (Bug#45737) + 27743e9e70 Fix cl-concatenate inlining + 32a3758c84 Fix infloop in 'pixel-scroll-mode' + 74d18957b8 Fix inhibiting the default.el loading in user init file + +2021-01-14 Glenn Morris + + Merge from origin/emacs-27 + + 149d64bbb2 * doc/misc/tramp.texi (Quick Start Guide): Fix thinko. + 97747e6fb9 Tell people how to remove fontconfig customizations + 33d0c603c6 ; * doc/lispref/modes.texi (SMIE Indentation Example): Fix... + 03080b5545 Remove extraneous closing paren + +2021-01-14 Ted Zlatanov + + EMBA infrastructure improvements for Emacs build testing. + + * .gitlab-ci.yml: Use job templates and rules. Split tests into + fast/normal/slow. Make Docker images for each tested platform + (inotify, filenotify-gio, gnustep). Increase timeout. + * test/Makefile.in (check-lisp, check-net): Add new testing + targets. + * test/README: Document them. + * test/file-organization.org: Mention test/infra. + * test/infra/Dockerfile.emba: Add special Docker recipes for EMBA + testing. + +2021-01-13 Juri Linkov + + Remove one of recently added warnings abound binding keys in Isearch maps + + * lisp/isearch.el (minibuffer-local-isearch-map): Remove comments + which warn against wantonly rebinding unbound keys from + irrelevant keymap. + https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00259.html + +2021-01-13 Juri Linkov + + * lisp/isearch.el: C-s C-u M-y reads a string from the kill-ring minibuffer + + * lisp/isearch.el (isearch-yank-from-kill-ring): New command + with code moved from isearch-yank-pop. + (isearch-yank-pop): Use isearch-yank-from-kill-ring. + (isearch-yank-pop-only): Add optional arg, and call + isearch-yank-from-kill-ring when the prefix arg is C-u. + https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00089.html + +2021-01-13 Stefan Kangas + + Lift {global,local}-key-binding to Lisp + + * lisp/subr.el (local-key-binding, global-key-binding): New defuns. + * src/keymap.c (Flocal_key_binding, Fglobal_key_binding): Remove DEFUNs. + (syms_of_keymap): Remove defsubrs for above DEFUNs. + * test/lisp/subr-tests.el (subr-test-local-key-binding) + (subr-test-global-key-binding): New tests. + +2021-01-13 Stefan Kangas + + Prefer skip-unless in more tests + + * test/lisp/emacs-lisp/timer-tests.el (timer-tests-debug-timer-check): + * test/src/decompress-tests.el (zlib--decompress): + * test/src/xml-tests.el (libxml-tests): Prefer skip-unless. + +2021-01-13 Eli Zaretskii + + Fix 'visual-line-mode' when 'word-wrap-by-category' is in effect + + * src/xdisp.c (move_it_in_display_line_to): Don't reset + next_may_wrap after saving a potential wrap point. This fixes the + case where several characters in a row can serve as a wrap point. + (Bug#45837) + +2021-01-13 Stefan Kangas + + Use skip-unless instead of if+message in test + + * test/lisp/cedet/semantic-utest.el (semantic-utest-Javascript): + Use skip-unless instead of if+message. + +2021-01-13 Stefan Kangas + + Remove some XEmacs compat code from tests + + * test/lisp/cedet/srecode-utest-getset.el + (srecode-utest-getset-output): + * test/lisp/cedet/srecode-utest-template.el + (srecode-utest-template-output): Remove XEmacs compat code. + +2021-01-13 Stefan Kangas + + * lisp/calc/calc.el: Remove some XEmacs compat code. + +2021-01-13 Mattias Engdeg奪rd + + Stabilise lunar-phase-list test (bug#45818) + + The test reference data was produced with accidental interference from + the system daylight saving in effect at the time. Prevent that + from occurring again and correct the data. + + * test/lisp/calendar/lunar-tests.el (with-lunar-test): + Switch to UTC and make sure daylight saving adjustment is disabled. + Use normal time presentation for maintainability. + * test/lisp/calendar/lunar-tests.el (lunar-test-phase): Adjust to UTC. + (lunar-test-phase-list): Adjust to UTC with correct times. + Enable the test by removing its :unstable mark. + +2021-01-12 Mattias Engdeg奪rd + + Fix Indian time zone test when run by Irishmen (bug#45818) + + * test/lisp/calendar/solar-tests.el (solar-sunrise-sunset): + Inhibit any attempt by confused calendar code to apply daylight saving + correction when Irish time zone settings are in effect. It's not + entirely clear why this is needed but may be related to the fact that + 'IST' stands for both Irish and Indian Standard Time, and that Ireland + uses reversed daylight saving in winter. + +2021-01-12 Omar Polo + + * configure.ac: Fix native-comp OpenBSD build. + +2021-01-12 Robert Pluim + + Only run IPv6 tests if we have an IPv6 address + + * test/src/process-tests.el (ipv6-is-available): New function for + checking whether we have a globally routable IPv6 prefix assigned. + (lookup-family-specification): Use 'ipv6-is-available' to check for + IPv6. Use 'localhost' instead of 'google.com' to test + 'network-lookup-address-info' API. + (lookup-google): Use 'ipv6-is-available' to check for + IPv6. + + * test/lisp/net/nsm-tests.el (nsm-ipv6-is-available): Rename to + 'ipv6-is-available', make identical to the one in + test/src/process-tests.el. + +2021-01-12 Robert Pluim + + Fix nsm-should-check for "google.com" failure + + * lisp/net/nsm.el (nsm-should-check): Extract the mask from + 'network-interface-list' rather than the broadcast + address (Bug#45798). + +2021-01-12 Lars Ingebrigtsen + + Add a new function 'buffer-line-statistics' + + * src/fns.c (Fbuffer_line_statistics): New function. + +2021-01-12 Lars Ingebrigtsen + + Add a new variable `inhibit-interaction' + + * doc/lispref/elisp.texi (Top): Add a link. + * doc/lispref/errors.texi (Standard Errors): Mention the new error. + + * doc/lispref/minibuf.texi (Minibuffers): Add a link. + (Inhibiting Interaction): New node. + + * src/data.c (syms_of_data): Define the `inhibited-interaction' error. + + * src/lisp.h: Export the barfing function. + + * src/lread.c (Fread_char, Fread_event, Fread_char_exclusive): + Barf if inhibited. + + * src/minibuf.c (barf_if_interaction_inhibited): New function. + (Fread_from_minibuffer, Fread_no_blanks_input): Barf if inhibited. + (syms_of_minibuf): Define the `inhibit-interaction' variable. + +2021-01-12 Glenn Morris + + Update substitute-command-keys tests, again + + * test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps) + (help-tests-substitute-command-keys/keymap-change): + Update following recent minibuffer changes. + +2021-01-12 Brian Leung + + comint-read-input-ring: Simplify last commit + + * lisp/comint.el (comint-read-input-ring): It is not necessary to use + `goto-char' again since we have already moved point to the desired + location (bug#45797). + +2021-01-11 Stefan Monnier + + * lisp/emacs-lisp/eieio-base.el: Silence warnings in last change + + (eieio-persistent-make-instance): Quote the `eieio-named` class name. + (eieio-named): Move before `eieio-persistent`. + +2021-01-11 Eric Ludlam + + cedet/ede/auto.el: + + (ede-calc-fromconfig): New method. Support functions in addition to + string matchers. + (ede-dirmatch-installed, ede-do-dirmatch): + Use `ede-calc-fromconfig' to do conversion. + Author: Eric Ludlam + +2021-01-11 Eric Ludlam + + eieio-base.el: + + (eieio-persistent-make-instance): Save the backward compatible 'name' + of objects saved in the file, and if the newly loaded class inherits + from 'eieio-named', restore the name of the object. + Author: Eric Ludlam + +2021-01-11 Eric Abrahamsen + + Fix possible prepending of "TEXT" to IMAP searches + + * lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Add missing + keys "old", "new", "or" and "not". + (gnus-search-run-search): In addition, don't touch the query if it + starts with a parenthesis. Consider just getting rid of this + convenience altogether. + +2021-01-11 Stephen Leake + + * admin/notes/elpa: Update to match recent Gnu ELPA changes + +2021-01-11 Lars Ingebrigtsen + + Mark previous erc-services change as not needing documentation + +2021-01-11 Brian Leung + + Make comint-read-input-ring skip uninteresting text in .zsh_history + + * lisp/comint.el (comint-read-input-ring): Simplify (bug#45606). + * lisp/shell.el (shell-mode): Add "~/.zsh_history". + * lisp/comint.el (comint-read-input-ring): Bind + `comint-input-ring-file-prefix' in anticipation of a buffer switch. + * lisp/comint.el (comint-read-input-ring): Skip the separator. + + Because re-search-backward moves point to the beginning of the match, + and since we don't want the separator appearing in the output, we skip + over it. + + This is required to properly detect instances of the value that zsh + uses for `comint-input-ring-file-prefix'; if the + `comint-input-ring-file-prefix' is ':potato', the subsequent + invocation `looking-at' sees '\n:potato' for all entries after the one + at the very beginning of the history file. + +2021-01-11 Anticrisis (tiny change) + + Add a failing test for bug#44834 + + * test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent-2): + New, failing test (bug#44834). + (tcl-mode-function-name-2): + (tcl-mode-function-name-3): Fix names of the tests so that they're + actually run. + +2021-01-11 Leon Vack + + Support using auth-source for NickServ passwords in ERC + + * lisp/etc/erc-services.el (erc-nickserv-passwords): Document that + the passwords are only used when erc-prompt-for-nickserv-password + is nil. + * (erc-use-auth-source-for-nickserv-password): New customizable + variable to enable checking auth-source for NickServ passwords. + * (etc-nickserv-get-password): New function to handle the lookup + of the NickServ password from both auth-source and the + erc-nickserv-passwords variable. + * (erc-nickserv-call-identify-function): Use new + erc-nickserv-get-password function to lookup NickServ passwords. + * (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect, + erc-nickserv-identify-on-nick-change): Call + erc-nickserv-call-identify-function when + erc-use-auth-source-for-nickserv-password is set. + * etc/NEWS: Document change (bug#45340). + +2021-01-11 Alexandre Duret-Lutz (tiny change) + + Fix problem with non-ASCII characters in nnmaildir + + * lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable + multipart 8bit-content-transfer-encoded files to be displayed + correctly by reading as `raw-text' instead of having Emacs + (incorrectly) decode the files (bug#44307). + +2021-01-11 Pedro Andres Aranda Gutierrez + + Add `flat-button' to custom-face-attributes + + * lisp/cus-face.el (custom-face-attributes): Add `flat-button' + (bug#45769). + +2021-01-11 Robert Pluim + + * configure.ac: Alphabetize emacs_config_features + +2021-01-11 Robert Pluim + + Ensure HAVE_GMP is reflected in emacs_config_features + + * configure.ac: Move HAVE_GMP setting before emacs_config_features + setting (Bug#45771). + +2021-01-10 Dmitry Gutov + + New command xref-quit-and-pop-marker-stack + + * lisp/progmodes/xref.el (xref-quit-and-pop-marker-stack): + New command. + (xref--xref-buffer-mode-map): Binding for it. + +2021-01-10 Phillip Lord + + Allow evaluation of tests from local source repository + + * etc/w32-feature.el (w32-feature-load-tests): Add new command + +2021-01-10 Philipp Stephani + + Fix build breakage if Lisp_Object is not a primitive type. + + * src/minibuf.c (choose_minibuf_frame): Don't compare Lisp_Objects + with '!='. Use 'EQ' instead. + +2021-01-10 Philipp Stephani + + Add functions to open a file without quitting. + + In some situations, e.g. when the Lisp machinery isn't available, we + can't quit. Don't check the quit flags in such situations, in case + they contain garbage. + + * src/sysdep.c (emacs_open_noquit, emacs_openat_noquit): New variants + of 'emacs_open' and 'emacs_openat' that don't check the quit flags. + + * src/emacs.c (main, Fdaemon_initialized): + * src/pdumper.c (pdumper_load): + * src/w32term.c (w32_initialize): + * src/buffer.c (mmap_init): + * src/callproc.c (emacs_spawn): Use them where we can't quit. + +2021-01-10 Alan Mackenzie + + Fix incompleteness in the implementation of minibuffer-follows-selected-frame + + In particular, add a new value to the variable, and fix several bugs apparent + with the implementation up till now. + + * doc/emacs/mini.texi (Basic Minibuffer): Add a description of the new + non-nil, non-t value of minibuffer-follows-selected-frame. + + * doc/emacs/trouble.texi (Quitting): Add a description of how C-g handles + recursive minibuffers when typed in one which isn't the most nested. + + * doc/lispref/minibuf.texi (Intro to Minibuffers): Add an @dfn for "active + minibuffer". + (Minibuffer Commands): Document that exit-minibuffer throws an error when not + invoked from the innermost Minibuffer. + (Recursive Mini): Amend the description of the visibility of outer level + minibuffers. + (Minibuffer Misc): In the description of the minibuffer hooks, replace "the + minibuffer" with "a minibuffer". + + * etc/NEWS (Entry announcing minibuffer-follows-selected-frame): Add a + description of the new non-nil, non-t value. + + * lisp/cus-start.el (top level): make the customize entry for + minibuffer-follows-selected-frame a choice between three entries. + + * lisp/minibuffer.el (exit-minibuffer): throw an error when we're not in the + most nested minibuffer. + (top level): Bind C-g to abort-minibuffers in minibuffer-local-map. + + * lisp/window.el (window-deletable-p): return the symbol `frame' when (amongst + other things) minibuffer-follows-selected-frame is t. + + * src/eval.c (internal_catch): Add a mechanism to (throw 'exit t) repeatedly + when the throw currently being processed doesn't terminate the current + minibuffer. + + * src/lisp.h (this_minibuffer_depth): New extern declaration + (minibuf_level): extern declaration moved here from window.h. + + * src/minibuf.c (minibuffer_follows_frame, minibuf_stays_put) + (minibuf_moves_frame_when_opened): New and amended functions to query the + value of minibuffer-follows-selected-frame. + (choose_minibuf_frame): check (minibuf > 1) in place of (minibufer > 0) at a + particular place. At another place, check that an alleged frame is so and is + live. Before selecting a non-miniwindow on a different frame, ensure it + really is a different frame. + (move_minibuffer_onto_frame): Stack up all recursive minibuffers on the target + frame. Check the minibuf_window isn't in the old frame before setting that + frame's miniwindow to an inactive minibuffer. + (Finnermost_minibuffer_p, Fabort_minibuffers): New primitives. + (this_minibuffer_depth): New function. + (read_minibuf): Record the calling frame in a variable, and switch back to it + after the recursive edit has terminated normally, using + select-frame-set-input-focus. Stack up all the recursive minibuffers on the + miniwindow where a new minibuffer is being opened. After the recursive edit, + switch the selected window away from the expired minibuffer's window. + (nth_minibuffer): New function. + (minibuffer-follows-selected-frame): Change from a DEFVAR_BOOL to a + DEFVAR_LISP. + + * src/window.c (decode_next_window_args): Set *minibuf to w's mini-window's + content when that content is a minibuffer. + + * src/window.h (minibuf_level) Declaration moved from here to lisp.h. + +2021-01-10 Lars Ingebrigtsen + + Respect message-forward-ignored-headers more + + * lisp/gnus/message.el (message-forward-ignored-headers): Clarify + doc string once again. + (message-forward-make-body-mime): Remove headers when not + encrypted (bug#45631). + (message-forward-make-body): Pass in correct values. + +2021-01-10 Glenn Morris + + Default python-shell-interpreter to python3 + + * lisp/progmodes/python.el (python-shell-interpreter): Default to + python3 (bug#45655). + +2021-01-10 David Edmondson + + Fix example in the Gnus manual + + * doc/misc/gnus.texi (Score Variables): In the example showing how to + use a list of functions for gnus-score-find-score-files-find-function, + return a list of strings from the lambda rather than trying to call + the string as a function (bug#45673). + +2021-01-10 Lars Ingebrigtsen + + Specify precedence in .authinfo files + + * doc/misc/auth.texi (Help for users): Mention placing more + specific entries first (bug#45711). + +2021-01-10 Lars Ingebrigtsen + + Improve fill-region-as-paragraph when there's a fill prefix + + * lisp/textmodes/fill.el (fill-region-as-paragraph): Try to + improve how line breaks are set on unbreakable text with a fill + prefix area that has spaces within (bug#45720). + +2021-01-10 k3tu0isui (tiny change) + + Make font locking work in mercury-mode + + * lisp/progmodes/prolog.el (prolog-font-lock-keywords): Work in + all modes derived from prolog-mode (bug#45747). + (mercury-mode): Set up variables based on the Prolog system (bug#45747). + +2021-01-10 Basil L. Contovounesios + + Hyperlink symbol names without word syntax in Help + + * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) + (lisp-cl-font-lock-keywords-2): Allow single-character symbol names. + * lisp/help-mode.el (help-xref-symbol-regexp): Also match symbol + names starting with symbol syntax (bug#6601, bug#24309). + * test/lisp/help-mode-tests.el (help-mode-tests-xref-button): Test + hyperlink creation for function names without symbol syntax. + +2021-01-10 Omar Polo + + Add support for 'process-attributes' on OpenBSD + + * src/sysdep.c (make_lisp_timeval): + (system_process_attributes): Implement for OpenBSD (bug#45729). + +2021-01-10 Pedro Andres Aranda Gutierrez (tiny change) + + Add support for flat buttons + + * src/xfaces.c (Finternal_set_lisp_face_attribute): + (realize_gui_face): Add support for `flat-button' (bug#45735). + +2021-01-10 Daniel Mart鱈n + + Minor shortdoc link improvements + + * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use + describe-function as a fallback link when a function is not documented + in any Info manual. Also make the link respond to mouse-1, like the + rest of *Help* links, and add a proper help-echo property. + * lisp/help-fns.el (help-fns--mention-shortdoc-groups): Same link + improvement as described before, this time for the shortdoc groups + (bug#45750). + +2021-01-10 Lars Ingebrigtsen + + Add a link to the manual from the defcustom doc string + + * lisp/custom.el (defcustom): Add a link to the manual for the + :type element. + +2021-01-10 Lars Ingebrigtsen + + Revert recent mm-with-part change + + * lisp/gnus/mm-decode.el (mm-with-part): Revert + 23a887e426f81033b0de2f4c93a8525cb31c28da -- this is the wrong + place to handle this peculiarity. + +2021-01-10 Michael Albinus + + Rework parts of Tramp's insert-directory, bug#45691 + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Fix some + unibyte/multibyte inconsistencies. (Bug#45691) + + * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file): + New test. + +2021-01-10 Lars Ingebrigtsen + + Add more mm-decode tests + +2021-01-10 Stefan Kangas + + * lisp/subr.el (global-map): Doc fix; add cross-reference. + +2021-01-10 F. Jason Park + + Create new test file for socks.el + + * test/lisp/net/socks-tests.el (socks-tests-auth-filter-url-http): Add + SOCKS5 authentication test and fake server (bug#45162). + +2021-01-10 Martin Rudalics + + Fix assertion failure in window_box_height (Bug#45737) + + * lisp/window.el (window-sizable): Don't try to grow a mini window + when the root window's minimum height is already larger than its + actual height (Bug#45737). + +2021-01-10 Philipp Stephani + + Increase probability that a process test succeeds. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Work around + potential Emacs bug. + +2021-01-10 Philipp Stephani + + Remove a pointless check for WCOREDUMPED. + + WCOREDUMPED can only be used if the process was killed. + + * src/process.c (status_convert): Don't check WCOREDUMPED if + WIFEXITED. + +2021-01-10 Tassilo Horn + + Support keyval style beamer frame labels + + * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Support keyval + style beamer frame labels. + +2021-01-10 Eric Abrahamsen + + Remove reference to gnus-bug-create-help-buffer + + * lisp/gnus/gnus-win.el (gnus-buffer-configuration): Variable no + longer exists. + +2021-01-09 Philipp Stephani + + Don't unblock SIGCHLD too early. + + We first need to register the received process ID so that + 'handle_child_signal' checks it. Otherwise we might never call + 'waitpid' for these processes, risking deadlock. + + * src/callproc.c (call_process): + * src/process.c (create_process): Don't unblock SIGCHLD before + registering the process ID to wait for. + + * src/callproc.c (emacs_spawn): Accept a signal set from the caller. + +2021-01-09 Jo達o T叩vora + + Count Flymake diagnostics in modeline by severity, not type + + Originally reported in https://github.com/joaotavora/eglot/issues/588 + by Pankaj Jangid. + + * lisp/progmodes/flymake.el (flymake--mode-line-counter): Count + diagnostics by severity level, not by type. + (Version): Bump to 1.1.1 + +2021-01-09 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Fix build of gnus-agent.el + + Don't burp on "naked" variable let bindings. + +2021-01-09 Andrea Corallo + + Improve `comp-libgccjit-reproducer' + + * src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit + reproducer file name. + * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update. + (comp-final, comp-run-async-workers): Pass + `comp-libgccjit-reproducer' setting to child workers. + +2021-01-09 Eli Zaretskii + + Fix cl-concatenate use in macros + + * lisp/emacs-lisp/cl-macs.el (inline): Remove cl-concatenate. + (Bug#45610) + +2021-01-09 Eli Zaretskii + + Fix cl-concatenate inlining + + * lisp/emacs-lisp/seq.el (seq-concatenate): Auto-load it. Do not + merge to master. (Bug#45610) + +2021-01-09 Andrea Corallo + + Add new customize `comp-libgccjit-reproducer' + + * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): New customize. + * src/comp.c (Fcomp__compile_ctxt_to_file): Use + `comp-libgccjit-reproducer' for dumping repoducer. + (syms_of_comp): Define 'Qcomp_libgccjit_reproducer'. + +2021-01-09 Tak Kunihiro + + Fix infloop in 'pixel-scroll-mode' + + * lisp/pixel-scroll.el (pixel-scroll-up, pixel-scroll-down): Avoid + inflooping when 'vertical-motion' doesn't move. (Bug#45628) + +2021-01-09 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position + + Implement a limited form of tail-call optimization for the special + case of recursive functions defined with `cl-labels`. Only self-recursion + is optimized, no attempt is made to handle more complex cases such a mutual + recursion. + + The main benefit is to reduce the use of the stack, tho in my limited + tests, this can also improve performance (about half of the way to + a hand-written `while` loop). + + (cl--self-tco): New function. + (cl-labels): Use it. + + * lisp/subr.el (letrec): Optimize single-binding corner case. + + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add tests + to check that TCO is working. + +2021-01-09 Dmitry Gutov + + Make sure default-directory relates to the originating buffer + + * lisp/progmodes/xref.el (xref--show-xref-buffer): + Pick up default-directory value from the caller + (https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html). + (xref-show-definitions-buffer-at-bottom): Same. + +2021-01-09 Stefan Monnier + + * lisp/subr.el (letrec): Optimize some non-recursive bindings + + * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Look inside bytecode + objects as well. + + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + * test/lisp/subr-tests.el (subr--tests-letrec): New tests. + +2021-01-09 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix last change + +2021-01-08 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Rename from `pcase--fgrep` + + * lisp/emacs-lisp/cl-generic.el (cl--generic-fgrep): Delete. + (cl--generic-lambda): Use `macroexp--pacse` instead. + + * lisp/emacs-lisp/pcase.el (pcase--fgrep): Rename to `macroexp--fgrep`. + +2021-01-08 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-01-08 Stefan Kangas + + Merge recently added kbd tests + + * test/lisp/subr-tests.el (subr--kbd): Merge test... + (subr-test-kbd): ...with this one. Fix thinko in my previous commit. + Thanks to Mattias Engdeg奪rd . + +2021-01-08 Stefan Kangas + + Lift define-prefix-command to Lisp + + * lisp/subr.el (define-prefix-command): New defun. + * src/keymap.c (Fdefine_prefix_command): Remove DEFUN. + (syms_of_keymap): Remove defsubr for Fdefine_prefix_command. + * test/lisp/subr-tests.el (subr-test-define-prefix-command): New + test. + +2021-01-08 Stefan Kangas + + * test/lisp/subr-tests.el (subr-test-kbd): New test. + +2021-01-08 Stefan Kangas + + Remove unused DEFSYM + + * src/minibuf.c (syms_of_minibuf) : Remove unused + DEFSYM. + +2021-01-08 Eli Zaretskii + + Fix syntax of space characters + + * lisp/international/characters.el (tbl): Give all the space + characters whose Unicode General Category is Zs the 'space' + syntax. (Bug#45660) + +2021-01-08 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process): + + Tag it :unstable on hydra. + +2021-01-08 Eli Zaretskii + + Fix inhibiting the default.el loading in user init file + + * lisp/startup.el (startup--load-user-init-file): Test the value + of 'inhibit-default-init', not just the LOAD-DEFAULTS argument, + because loading the user's init file could have set the value of + the former. + (command-line): Call 'startup--load-user-init-file' with last arg + t: there's no longer any need to test the value of + 'inhibit-default-init' here, as it will be tested by the called + function. (Bug#45708) + +2021-01-07 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix typo. + +2021-01-07 Andrea Corallo + + * Add a type specifier test + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add testcase. + +2021-01-07 Juri Linkov + + * lisp/tab-bar.el: Improve tab-bar-show (bug#45556) + + * lisp/tab-bar.el (tab-bar-show): Change :set lambda to update all frames. + Improve docstring. + +2021-01-07 Juri Linkov + + * lisp/mb-depth.el (minibuffer-depth-indicator): Add :group 'minibuffer'. + +2021-01-07 Stefan Kangas + + Remove an outdated comment + + * lisp/subr.el: Remove comment to reflect recent change in the + definition of global-map, esc-map and ctl-x-map. + +2021-01-07 Lars Ingebrigtsen + + Further display-buffer doc changes + + * lisp/window.el (display-buffer): `display-buffer-alist' is + apparently the variable the user should be directed towards. + +2021-01-07 Michael Albinus + + * test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote): + + Mark it as unstable also on emba. + +2021-01-07 Lars Ingebrigtsen + + Add a display-buffer window selection function that's more like XEmacs + + * doc/lispref/windows.texi (Buffer Display Action Functions): + Document it. + * lisp/window.el (display-buffer--action-function-custom-type): Add. + (display-buffer): Mention it. + (display-buffer-use-least-recent-window): New function (bug#45688). + + * src/window.c (Fwindow_bump_use_time): New function. + +2021-01-07 Lars Ingebrigtsen + + Fix typo in last display-buffer doc string change + + * lisp/window.el (display-buffer): Fix typo in last doc string change. + +2021-01-07 Lars Ingebrigtsen + + Edit the display-buffer doc string slightly + + * lisp/window.el (display-buffer): Reword the start of the doc + string (bug#45688). + +2021-01-07 Lars Ingebrigtsen + + Add work-around for nnmaildir encoding problem + + * lisp/gnus/mm-decode.el (mm-with-part): Fix problem with + multipart 8bit encoded posts from nnmaildir (bug#44307). + +2021-01-07 Lars Ingebrigtsen + + Add tests for mm-decode.el + +2021-01-07 F. Jason Park + + Clear socks protocol scratch after authentication + + * lisp/net/socks.el (socks-open-connection): Fix incomplete patch + titled "Append incremental message segments in socks-filter," which + addressed chunk ordering but neglected to zero out the work area + following successful username/password authentication (bug#45162). + +2021-01-07 Andreas Schwab + + Fix quoting problem in pop3-uidl-save + + * lisp/net/pop3.el (pop3-uidl-save): Quote strings properly + (bug#43896). + +2021-01-07 Lars Ingebrigtsen + + Revert mark-paragraph change and add tests + + * lisp/textmodes/paragraphs.el (mark-paragraph): Revert + eb090f65ceb0ae8a90829e911694348583135ba5 (bug#45318). This restores + the behaviour from Emacs 27 -- further work is needed on this patch. + +2021-01-07 Michael Albinus + + * test/Makefile.in (WRITE_LOG): Mark also problematic tests for emba. + +2021-01-07 Glenn Morris + + Update a substitute-command-keys test + + * test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps): + Update for "Pretty-print keys without <> around modifiers" change. + +2021-01-06 Daniel Mart鱈n + + Fix some failing tests in BSD systems + + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-abs) + (xref--xref-file-name-display-is-relative-to-project-root): + Accommodate some older versions of BSD find + (https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00156.html). + +2021-01-06 Dmitry Gutov + + Proof some searches and file listings against symlinks + + * lisp/progmodes/project.el (project--files-in-directory): + Make sure the directory includes the trailing slash in case it's + a symlink, discussed in + https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00345.html. + + * lisp/progmodes/xref.el (xref-matches-in-directory): Same. + + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + Same. + +2021-01-06 Gabriel do Nascimento Ribeiro (tiny change) + + * lisp/mb-depth.el (minibuffer-depth-indicator): New face. + + (minibuffer-depth-setup): Use new face and add a single space between + the depth indicator and the minibuffer prompt. + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00230.html + +2021-01-06 Andrea Corallo + + Fix bug#45603 + + Reported and reduced by Mauricio Collares. + + * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the + tmp file used to pass data the child processes. + * test/src/comp-tests.el (45603-1): New testcase + * test/src/comp-test-45603.el : New File. + +2021-01-06 Michael Heerdegen + + Fix obsolete variable warnings about class names + + * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Try to make + the wording of the warning about the obsoleted variable less confusing. + * lisp/emacs-lisp/bytecomp.el (byte-compile-check-variable): Don't + warn for lexical variables (Bug#39169). Fix spurious `or'. + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp/warn-obsolete-variable-bound\.el): New test. + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el: + New file. + +2021-01-06 Stefan Monnier + + * lisp/play/dunnet.el: Run the game when loaded via `--batch -l dunnet` + + (dun--batch): Rename from `dun-batch` and don't autoload. + (dunnet): Delegate to `dun--batch` when in batch mode. + +2021-01-06 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-activate-all): Another tweak + + `package-quickstart.el` files presume `package-activated-list` + is a bound variable, so make sure this is the case even when `package.el` is + not yet loaded. + +2021-01-05 Stefan Monnier + + * lisp/emacs-lisp/autoload.el: Improve last change + + It turns out there were other places that used `custom-initialize-delay` + on autoloaded variables and used various hacks to make it work with + `autoload.el`. The new code makes those hacks unneeded. + Also, there's no point trying to "optimize" those rare cases anyway, + so I simplified the `autoload.el` code for those cases. + + (make-autoload): For non-trivial cases, + just include the whole `defcustom` instead of trying to mimic it. + + * lisp/mail/rmail.el (rmail-spool-directory): Remove hacks. + * lisp/info.el (Info-default-directory-list): Remove `progn` hack. + + * lisp/custom.el (custom-declare-variable) + (custom-handle-all-keywords): Don't use pseudo-group `nil`. + +2021-01-05 Alan Third + + Prevent stack overflow in GNUstep menu code + + * src/nsmenu.m (ns_update_menubar): Always do a deep update for + GNUstep. + ([EmacsMenu menuNeedsUpdate:]): Don't update the menu as it should + always have had a deep update. + +2021-01-05 Juri Linkov + + * lisp/subr.el (remove-hook): Add default value (bug#45393) + +2021-01-05 Juri Linkov + + * lisp/tab-bar.el (tab-bar-tab-name-format-function): New defcustom. + + (tab-bar-tab-name-format-default): New function as the default value. + (tab-bar-make-keymap-1): Funcall tab-bar-tab-name-format-function. + +2021-01-05 Juri Linkov + + * lisp/tab-bar.el (toggle-frame-tab-bar): New command (bug#45556) + +2021-01-05 James N. V. Cash (tiny change) + + Refactor tab-bar-mode to -define-keys and -load-buttons (bug#42052) + + * lisp/tab-bar.el (tab-bar--define-keys, tab-bar--load-buttons): + Move some code here from 'tab-bar-mode'. + (tab-bar-new-tab-to): Call tab-bar--load-buttons and tab-bar--define-keys. + +2021-01-05 Eli Zaretskii + + Fix process-tests on MS-Windows + + It was again broken by recent changes. + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-serial-process): Skip test + on MS-Windows. + +2021-01-05 Stefan Monnier + + * lisp/emacs-lisp/package.el: Load package-quickstart without package.el + + Speed up startup when `package-quickstart` is in use by making it possible + to load the quickstart file without having to load `package.el` at all. + + (package-user-dir, package-directory-list, package-quickstart-file): + Preload those variables. + (package--get-activatable-pkg): New fun, extracted from `package-activate`. + (package-activate): Use it. + (package--activate-all): New function, extracted from + `package-activate-all`. + (package-activate-all): Use it and make the function preloaded. + (package--archives-initialize): New function. + (package-install): Use it. + (list-packages): Avoid `switch-to-buffer`. + (package-get-descriptor): New function. + + * lisp/startup.el (command-line): Simplify the code now that + package-user-dir and package-directory-list are preloaded. + + * lisp/emacs-lisp/autoload.el (make-autoload): Add support for + `:initialize #'custom-initialize-delay` in `defcustom`. + +2021-01-05 Michael Albinus + + * doc/misc/tramp.texi (Quick Start Guide): Fix thinko. + +2021-01-05 Robert Pluim + + Tell people how to remove fontconfig customizations + +2021-01-05 Mattias Engdeg奪rd + + ruby-mode: eliminate redundant regexp branch + + * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): + Since ruby-operator-re matches dot, don't include both in regexp. + This pacifies relint. + +2021-01-05 Mattias Engdeg奪rd + + Pretty-print keys without <> around modifiers (bug#45536) + + Be consistent when pretty-printing keys: put modifiers outside <>, + thus the more logical C-M- instead of . + + * src/keymap.c (Fsingle_key_description): + Skip modifier prefix before adding <>. + * doc/lispref/help.texi (Describing Characters): Update example. + * doc/lispref/debugging.texi (Backtraces): + * doc/lispref/minibuf.texi (Text from Minibuffer): + Use @kbd instead of @key. + * etc/NEWS: Announce the change. + * test/src/keymap-tests.el (keymap--key-description): + * test/lisp/subr-tests.el (subr--kbd): New tests. + +2021-01-05 Mattias Engdeg奪rd + + * lisp/filesets.el (filesets-external-viewers): Tighten regexp. + +2021-01-05 Harald J旦rg + + perl-mode: Display here-docs as strings instead of comments + + * lisp/progmodes/perl-mode.el + (perl-syntax-propertize-function): Handle HERE doc starter + lines ending in a comment. + (perl-heredoc): New face for HERE docs, inheriting from + font-lock-string-face. + (perl-font-lock-syntactic-face-function): Apply the new face + to HERE docs (Bug#23461). + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test--run-bug-10483): Skip for Perl mode. The test + explicitly calls a function of CPerl mode. + +2021-01-05 Stefan Monnier + + * lisp/subr.el (esc-map): Initialize inside declaration + + * src/commands.h (meta_map): + * src/keymap.c (meta_map): Delete variable. + (syms_of_keymap): Don't initialize esc-map here. + (initial_define_key): + * src/keymap.h (initial_define_key): Delete function. + + * src/keyboard.c (keys_of_keyboard): Don't initialize esc-map here. + + * src/window.h (keys_of_window): + * src/window.c (keys_of_window): Delete function. + * src/lisp.h (keys_of_casefiddle): + * src/casefiddle.c (keys_of_casefiddle): Delete function. + * src/emacs.c (main): Don't call them. + +2021-01-05 Stefan Monnier + + * lisp/subr.el (ctl-x-map): Initialize inside the declaration. + + * src/command.h (control_x_map): + * src/keymap.c (control_x_map): Delete variable. + (syms_of_keymap): + * src/keyboard.c (keys_of_keyboard): + * src/casefiddle.c (keys_of_casefiddle): + * src/window.c (keys_of_window): Move initialization of ctl-x-map to + subr.el. + + * src/lisp.h (syms_of_buffer): + * src/buffer.c (keys_of_buffer): Delete function. + * src/emacs.c (main): Don't call it. + +2021-01-05 Stefan Monnier + + * lisp/subr.el (global-map): Initialize inside declaration. + + * src/commands.h (global_map): + * src/keymap.c (global_map): Delete variable. + (syms_of_keymap): Don't initialize global_map here. + (keys_of_keymap): Delete function. + * src/lisp.h (keys_of_cmds): + * src/cmds.c (keys_of_cmds): Delete function. + * src/emacs.c (main): Don't call them. + + * src/window.c (keys_of_window): Don't initialize global_map here. + * src/keyboard.c (keys_of_keyboard): Don't initialize global_map here. + +2021-01-05 Stefan Monnier + + Use lexical-binding in the remaining preloaded files + + * lisp/widget.el: + * lisp/w32-fns.el: + * lisp/textmodes/fill.el: + * lisp/term/common-win.el: + * lisp/scroll-bar.el: + * lisp/rfn-eshadow.el: + * lisp/menu-bar.el: + * lisp/language/tibetan.el: + * lisp/language/thai.el: + * lisp/language/misc-lang.el: + * lisp/language/lao.el: + * lisp/language/korean.el: + * lisp/language/japanese.el: + * lisp/language/indian.el: + * lisp/language/hebrew.el: + * lisp/language/european.el: + * lisp/language/ethiopic.el: + * lisp/language/english.el: + * lisp/language/cyrillic.el: + * lisp/language/chinese.el: + * lisp/jka-cmpr-hook.el: + * lisp/international/ucs-normalize.el: + * lisp/international/mule.el: + * lisp/international/mule-conf.el: + * lisp/international/iso-transl.el: + * lisp/international/fontset.el: + * lisp/international/characters.el: + * lisp/format.el: + * lisp/facemenu.el: + * lisp/electric.el: + * lisp/dos-w32.el: + * lisp/dos-fns.el: + * lisp/disp-table.el: + * lisp/cus-face.el: + * lisp/composite.el: + * lisp/bindings.el: + * admin/unidata/blocks.awk: + * admin/charsets/eucjp-ms.awk: + * admin/charsets/cp51932.awk: Use `lexical-binding`. + +2021-01-05 Stefan Monnier + + * lisp/filesets.el: Use lexical-binding + + Remove redundant `:group` args. Require cl-lib and seq. + Fix various O(n族) bug and flag a few remaining ones. + + (filesets-external-viewers): Simplify regexps. Use \' instead of $. + Remove useless :constraint-flag properties. + (filesets-convert-path-list): 侶-reduce. + (filesets-eviewer-constraint-p): Mark :constraint-flag as obsolete. + (filesets-spawn-external-viewer): Can't use `run-hooks` on + lexical variable. + (filesets-filter-list): Fix O(n族) bug. + (filesets-ormap): Simplify. + (filesets-some, filesets-member, filesets-sublist): Make them + obsolete aliases. + (filesets-reset-fileset): Simplify. + (filesets-directory-files): Use `push`. + (filesets-spawn-external-viewer): Use `mapconcat` to fix O(n族) bug. + (filesets-cmd-get-args): Use `mapcan` to fix O(n族) bug. + (filesets-run-cmd): Use `mapconcat` and `mapcan` to fix O(n族) bugs. + (filesets-ingroup-collect-finder): Use dynamic scoping. + (filesets-ingroup-collect-files): Use `nreverse` to fix O(n族) bug. + (filesets-ingroup-collect-build-menu): Use `mapcan` to fix O(n族) bug. + +2021-01-04 Andrea Corallo + + * test/src/comp-tests.el (cond-rw-1, not-cons, 45576): Rename three tests. + +2021-01-04 Andrea Corallo + + * Fix a type specifier test + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix a testcase. + +2021-01-04 Andrea Corallo + + Fix type inference for bug#45635 + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix + missing mixed pos neg handling. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + * test/src/comp-tests.el (45635): New testcase. + * test/src/comp-test-funcs.el (comp-test-45635-f): New function. + +2021-01-04 Philipp Stephani + + Make a process tests a bit more robust. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Allow for processes + to fail before 'exec'. + +2021-01-04 Stefan Monnier + + * lisp/cedet/srecode/semantic.el: Use lexical-binding + + (srecode-semantic-insert-tag): Can't use `run-hook-with-args` on + lexical variable. + +2021-01-04 Stefan Monnier + + * lisp/mail/reporter.el: Use lexical-binding + + (reporter--run-functions): New function. + (reporter-dump-state): Use it and simplify the code. + +2021-01-04 Stefan Monnier + + * lisp/erc/erc.el (erc-process-input-line): Undo confused last change + +2021-01-04 Dmitry Gutov + + ruby-add-log-current-method: Support methods with symbolic names + + * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): + Support methods with symbolic names. + +2021-01-04 Paul Eggert + + Do not assume Xrender merely because Cairo + + Problem reported by Andrea Corallo in: + https://lists.gnu.org/r/emacs-devel/2021-01/msg00225.html + * src/xterm.c (x_term_init) [USE_CAIRO && !HAVE_XRENDER]: + Do not call XRenderQueryExtension. + +2021-01-04 Paul Eggert + + Fix broken build on AIX 7.2 + + Without this fix, the build on AIX 7.2 with xlc fails in the CCLD + temacs step with the diagnostic ld: 0711-317 ERROR: Undefined + symbol: BC. This is because -lcurses does not define BC etc. + * configure.ac: When building terminfo.o, define + TERMINFO_DEFINES_BC if the library defines BC etc. + * src/terminfo.c (UP, BC, PC): Define depending on + TERMINFO_DEFINES_BC, not on TERMINFO. + + (cherry picked from commit 632917461a7c1893a83979a3873b51d4da3b8a42) + +2021-01-04 Simen Heggest淡yl + + Remove extraneous closing paren + + * doc/lispref/modes.texi (SMIE Indentation Example): Remove extraneous + closing paren. + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 99cc0045eb (origin/emacs-27) Update two user option names in the Widg... + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 2e09efdb68 Revert previous patch which was installed into wrong branch. + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + a7c2793efe Fix last change + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 90c782e92e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e... + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 7384ec6416 Add warning comments abound binding keys in Isearch maps + +2021-01-04 Michael Albinus + + Fix error in tramp-sh-handle-insert-directory + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Let buffer be + unibyte when applying numbers returned with the ls --dired option. + Reported by Justus Piater . + + * test/lisp/net/tramp-tests.el (tramp--test-check-files): Extend test. + +2021-01-04 Mauro Aranda + + Update two user option names in the Widget manual + + * doc/misc/widget.texi (Basic Types): The user options + widget-glyph-directory and widget-glyph-enable were renamed long ago + to widget-image-directory and widget-image-enable, but the manual + kept calling them by their old names. Update the names. + +2021-01-04 Basil L. Contovounesios + + Fix build for --enable-checking=structs + + The last change to lisp.h only added comments in Lisp_String, so the + portable dumper need not be changed. + + * src/pdumper.c (dump_string): Update hash for Lisp_String. + +2021-01-04 Mauro Aranda + + Don't skip widgets when moving backward + + * lisp/wid-edit.el (widget-move): Remove code that caused + widget-backward to skip an immediate previous widget when moving + backward from the start of a widget. (Bug#45623) + + * test/lisp/wid-edit-tests.el (widget-test-widget-backward): New test. + +2021-01-04 Amin Bandali + + Fix off-by-one error in mode-line-compact code + + * src/xdisp.c (display_mode_line): Fix off-by-one error that would + chop off the final non-space character when compacting (bug#45646). + +2021-01-04 Lars Ingebrigtsen + + Fix computation of Lines in nnmaildir + + * lisp/gnus/nnmaildir.el (nnmaildir--update-nov): Lines is -1 if + it's not present; not 0 (probably) (bug#45650). + +2021-01-04 Stefan Monnier + + * src/print.c (print_vectorlike): Use `HASH_TABLE_SIZE` + +2021-01-04 Stefan Monnier + + * src/xdisp.c (syms_of_xdisp): New var redisplay-skip-fontification-on-input + + (handle_fontified_prop): Use it. + + * src/keyboard.h (input_was_pending): Declare. + * src/keyboard.c (input_was_pending): Make non-static. + +2021-01-04 Stefan Monnier + + * lisp/erc/erc.el: Use `run-hook-with-args` for `erc-pre-send-functions` + + (erc-process-input-line): A function can be `listp`. + (erc-send-input): Use `run-hook-with-args` for `erc-pre-send-functions`. + (erc-display-command): Comment out, unused. + +2021-01-04 Stefan Monnier + + * lisp/calc/calc-yank.el (calc-edit-mode): Make it into a proper major mode + + Also make `calc-edit-handler` hold a function instead of an expression. + + (calc-original-buffer, calc-return-buffer, calc-one-window) + (calc-edit-handler, calc-restore-trail, calc-allow-ret) + (calc-edit-top): Give them a default value. + (calc--edit-mode): New function extracted from old `calc-edit-mode`. + (calc-edit-return, calc-edit-finish): Don't need to test `boundp` any more. + (calc-edit-finish): Allow `calc-edit-handler` to be a function. + + (calc-edit, calc-alg-edit): + + * lisp/calc/calc-prog.el (calc-edit-user-syntax, calc-user-define-edit): + * lisp/calc/calc-embed.el (calc-embedded-edit): + * lisp/calc/calc-sel.el (calc-edit-selection): + * lisp/calc/calc-store.el (calc-edit-variable): + Use `calc--edit-mode` and make first arg into a function. + + * lisp/calc/calc-ext.el (calc-init-extensions): Autoload `calc--edit-mode` + instead of `calc-edit-mode`. + +2021-01-04 Stefan Monnier + + * Makefile.in (test/%): New target + + * lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions` + +2021-01-04 Mark Oteiza + + Fix last change in json.el + + * lisp/json.el (json-encode-array): Include optimization for lists. + +2021-01-04 Stefan Monnier + + * lisp/arc-mode.el (tar-grind-file-mode): Remove left over autoload + + * doc/lispref/syntax.texi (Syntax Class Table): Clarify `@` + +2021-01-03 Stefan Monnier + + * admin/last-chance.el (last-chance): Use `grep`s return value + + (compilation-finish-functions): Only set it buffer-locally. + +2021-01-03 Stefan Monnier + + * src/buffer.c (Fset_buffer_multibyte): Remove dead code + +2021-01-03 Mark Oteiza + + Remove unnecessary dependency on seq library + + * lisp/json.el: Remove require declaration. + (json-encode-array): Just use length and /=. + +2021-01-03 Phillip Lord + + Remove relative paths for consistency + + * admin/nt/dist-build/build-zips.sh: Remove Paths + +2021-01-03 Stefan Monnier + + * lisp/emacs-lisp/byte-run.el (make-obsolete): Make `when` mandatory + + (define-obsolete-function-alias, make-obsolete-variable) + (define-obsolete-variable-alias): Adjust similarly. + +2021-01-03 Paul Eggert + + Mention -lcurses problem on AIX + + * etc/PROBLEMS: Describe problem with Emacs 27 and -lcurses. + Do not merge to master. + +2021-01-03 Paul Eggert + + Fix broken build on AIX 7.2 + + Without this fix, the build on AIX 7.2 with xlc fails in the CCLD + temacs step with the diagnostic ld: 0711-317 ERROR: Undefined + symbol: BC. This is because -lcurses does not define BC etc. + * configure.ac: When building terminfo.o, define + TERMINFO_DEFINES_BC if the library defines BC etc. + * src/terminfo.c (UP, BC, PC): Define depending on + TERMINFO_DEFINES_BC, not on TERMINFO. + +2021-01-03 Paul Eggert + + Revert previous patch which was installed into wrong branch. + +2021-01-03 Paul Eggert + + Fix broken build on AIX 7.2 + + Without this fix, the build on AIX 7.2 with xlc fails in the CCLD + temacs step with the diagnostic ld: 0711-317 ERROR: Undefined + symbol: BC. This is because -lcurses does not define BC etc. + * configure.ac: When building terminfo.o, define + TERMINFO_DEFINES_BC if the library defines BC etc. + * src/terminfo.c (UP, BC, PC): Define depending on + TERMINFO_DEFINES_BC, not on TERMINFO. + +2021-01-03 Alan Third + + Fix child frame restacking on NS (bug#41422) + + * src/nsfns.m (Fns_frame_restack): Use new restackWindow method. + * src/nsterm.m ([EmacsWindow orderFront:]): + ([EmacsWindow makeKeyAndOrderFront:]): + (nswindow_orderedIndex_sort): + ([EmacsWindow orderBack:]): + ([EmacsWindow restackWindow:above:]): Override superclass methods to + handle child windows the way we want. + +2021-01-03 Stefan Monnier + + * lisp/progmodes/xref.el (xref--show-defs-buffer-at-bottom): Fix missing arg + +2021-01-02 Alan Third + + Fix crash when using menus and tramp on NS + + + * src/nsterm.m (ns_select): Don't drain outerpool in this function. + +2021-01-02 Alan Third + + Fix NS toolbar image release crash (bug#43973) + + The toolbar fails to make a proper copy of EmacsImage objects, so + releasing the copy incorrectly released instance variables from the + original objects. + + * src/nsimage.m ([EmacsImage copyWithZone:]): New function to enable + correct copying of EmacsImage. + +2021-01-02 Roland Winkler + + bibtex-mode: Extend widget bibtex-entry-alist + +2021-01-02 Eric Abrahamsen + + Reposition call to set-buffer-modified-p in sieve-upload + + * lisp/net/sieve.el (sieve-upload): It's meant to affect the script + buffer, not sieve-buffer, so needs to be outside the call to + with-current-buffer. + +2021-01-02 Dmitry Gutov + + xref--show-pos-in-buf: Don't set other-window-scroll-buffer + + * lisp/progmodes/xref.el (xref--show-pos-in-buf): + Don't set other-window-scroll-buffer (bug#45581). + +2021-01-02 Mattias Engdeg奪rd + + Fix backslash mistakes in doc strings in C code + + These were found by an instrumented version of make-docfile. + + * src/gnutls.c (Fgnutls_available_p): + * src/keymap.c (Fkey_description): + * src/xdisp.c (syms_of_xdisp): + +2021-01-02 Mauro Aranda + + Fix Quit button in dictionary buffer + + * lisp/net/dictionary.el (dictionay-close): Changing the arity of the + function in cc5f2803785c5dc785f09a292313cf799e8d29bb was a mistake. + Restore it, but mark the argument as unused to avoid a + wrong-number-of-arguments error when using the Quit button. + +2021-01-02 Philipp Stephani + + Avoid printing stacktraces when it probably wouldn't work anyway. + + * src/eval.c (signal_or_quit): Don't try to call the debugger if it's + inhibited or we are about to dump or bootstrap. In those cases the + debugger probably wouldn't work anyway. + +2021-01-02 Philipp Stephani + + Make a process test faster. + + The test 'process-tests/fd-setsize-no-crash/make-process' used to call + 'sleep' to ensure that enough processes are live to trigger a + FD_SETSIZE overflow. However, we can just call 'cat' instead and + close standard input when done. That way, we only wait as long as + needed. + + * process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Invoke 'cat' instead + of 'sleep'. Close standard input to exit the 'cat' processes. + +2021-01-02 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-known-predicates): Some more tweaking. + +2021-01-02 Philipp Stephani + + Simplify TTY allocation. + + The 'process-tty-name' already provides the TTY name, we don't have + interrogate the TTY host. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-serial-process): Use + 'process-tty-name' instead of having the TTY host print its TTY + name. Check whether TTY names are unique. + (process-tests--new-pty, process-tests--with-temp-file): Remove; + no longer used. + +2021-01-02 Andrea Corallo + + Fix `functionp' contraining (bug#45576) + + * lisp/emacs-lisp/comp.el (comp-known-predicates) + (comp-known-predicates-h): New constants. + (comp-known-predicate-p, comp-pred-to-cstr): New functions. + * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define. + * test/src/comp-tests.el (comp-test-45576): New testcase. + * test/src/comp-test-funcs.el (comp-test-45576-f): New function. + +2021-01-02 Eli Zaretskii + + Fix last change in characters.el + + * lisp/international/characters.el: Adjust syntax of more + characters to follow that of Unicode properties. (Bug#44974) + +2021-01-02 Andrea Corallo + + * Rename `dom' slot into `idom' in `comp-block' struct + + * lisp/emacs-lisp/comp.el (comp-block): Rename dom `slot' into + `idom'. + (comp-clean-ssa, comp-compute-dominator-tree) + (comp-compute-dominator-frontiers, comp-dom-tree-walker) + (comp-remove-unreachable-blocks): Update accordingly. + +2021-01-02 Eli Zaretskii + + Fix syntax of symbol and punctuation characters + + * lisp/international/characters.el: Adjust syntax of punctuation + and symbol charcaters to follow that of Unicode properties. + (Bug#44974) + +2021-01-02 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-01-02 Eli Zaretskii + + Fix last change + + * doc/lispref/strings.texi (Creating Strings): Improve wording of + last change. (Bug#45516) + +2021-01-02 Lars Ingebrigtsen + + Add a reference between the Strings node and Search/Replace + + * doc/lispref/strings.texi (Creating Strings): Mention + string-replace/replace-regexp-in-string (bug#45516). + + (cherry picked from commit b9359d4183a1a6923122d3aa12b922ab89693354) + +2021-01-02 Dmitry Gutov + + ruby-smie-rules: Avoid one case of infinite recursion + + * lisp/progmodes/ruby-mode.el (ruby-smie-rules): + Avoid one case of infinite recursion (bug#29107). + +2021-01-01 Alan Third + + Fix GNUstep warnings + + * src/nsterm.h: EmacsSurface is only required if NS_DRAW_TO_BUFFER is + defined. + * src/nsterm.m (ns_judge_scroll_bars): Remove unused variable. + * src/nsmenu.m (update_frame_tool_bar): + (ns_update_menubar): Remove unused variables. + +2021-01-01 Alan Third + + Improve drawing performance on macOS + + * configure.ac: Require IOSurface framework. + * src/nsterm.h: New EmacsSurface class and update EmacsView + definitions. + * src/nsterm.m (ns_update_end): + (ns_unfocus): Use new unfocusDrawingBuffer method. + (ns_draw_window_cursor): Move ns_focus to before we set colors. + ([EmacsView dealloc]): + ([EmacsView viewDidResize:]): Handle new EmacsSurface class. + ([EmacsView initFrameFromEmacs:]): Remove reference to old method. + ([EmacsView createDrawingBuffer]): Remove method. + ([EmacsView focusOnDrawingBuffer]): + ([EmacsView windowDidChangeBackingProperties:]): Use new EmacsSurface + class. + ([EmacsView unfocusDrawingBuffer]): New method. + ([EmacsView copyRect:to:]): Get information from the context instead + of direct from the IOSurface. + ([EmacsView updateLayer]): Use new EmacsSurface class. + ([EmacsView copyRect:to:]): Use memcpy to copy bits around instead of + using NS image functions. + ([EmacsSurface initWithSize:ColorSpace:]): + ([EmacsSurface dealloc]): + ([EmacsSurface getSize]): + ([EmacsSurface getContext]): + ([EmacsSurface releaseContext]): + ([EmacsSurface getSurface]): + ([EmacsSurface copyContentsTo:]): New class and methods. + +2021-01-01 Roland Winkler + + bibtex-mode: Handle biblatex field aliases (bug#44976) + + * lisp/textmodes/bibtex.el (bibtex-biblatex-entry-alist): Define + field aliases. + (bibtex-vec-incr): Remove. + (bibtex-format-entry, bibtex-validate): Check for field aliases. + (bibtex--skip-field-aliases): New function. + (bibtex-field-list): Use it. + +2021-01-01 Paul Eggert + + Fix CCL_MOD typo + + * src/ccl.c (ccl_driver): Fix typo that disabled the + checks for undefined behavior with integer remainder. + Problem caught by Oracle Studio 12.6. + +2021-01-01 Paul Eggert + + Add overflow check for INPUT_EVENT_POS_MIN + + * src/keyboard.c (INPUT_EVENT_POS_MIN): Dont assume (-1 - + INPUT_EVENT_POS_MAX) fits into ptrdiff_t. This fixes a + purely-theoretical problem that cannot occur on twos-complement + arithmetic. The Solaris 10 compiler still complains incorrectly, + but oh well. + +2021-01-01 Paul Eggert + + Port to Solaris 10 + + * configure.ac: Instead of AC_CHECK_HEADER, use AC_COMPILE_IFELSE + with X11/Intrinsic.h when checking for X11/extensions/Xrender.h. + This suppresses a bogus "report a bug to bug-gnu-emacs" diagnostic + from 'configure' in Solaris 10. + (SETUP_SLAVE_PTY): Adjust to recent renaming of forkin to + std_in in callproc.c. Needed on Solaris and Unixware. + * lib-src/Makefile.in (LIB_GETRANDOM, LIBS_ETAGS): New vars, + needed because on Solaris 10 the Gnulib tempname module now needs + the -lrt library for clock_gettime. Throw in the LIB_GETRANDOM + stuff too while were at it; from getrandom.m4 it seems to be + needed for MingW. + (LIBS_MOVE, etags_libs): Use them. + * src/callproc.c [SETUP_SLAVE_PTY]: Include sys/stream.h + and sys/stropts.h, for SETUP_SLAVE_PTYs definiens. + * src/process.c [NEED_BSDTTY]: Dont include bsdtty.h; hasnt been + needed in years. + [USG5_4]: Dont include sys/stream.h or sys/stropts.h; these + directives havbe been moved to callproc.c because the only use of + SETUP_SLAVE_PTY is there now. + +2021-01-01 Paul Eggert + + New file scratch_buffer_dupfree.c + + * lib/malloc/scratch_buffer_dupfree.c: New file, from Gnulib + (originally from glibc 2.33 code). + This is needed on macOS and some other platforms; + I forgot to commit it in the most recent Gnulib update. + +2021-01-01 Andrea Corallo + + Add `throw' to non returning functions + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add throw. + +2021-01-01 Dmitry Gutov + + xref-show-definitions-completing-read: Default to the first location + + * lisp/progmodes/xref.el (xref-show-definitions-completing-read): + Default to the first location. + +2021-01-01 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-compute-dominator-tree): Fix. + +2021-01-01 Andrea Corallo + + * Clean unreachable block using dominance tree to handle circularities + + With this commit unreachable basic blocks are pruned automatically by + comp-ssa relying on dominance analysis. This solves the issue of + unreachable cluster of basic blocks referencing each other. + + * lisp/emacs-lisp/comp.el (comp-block-lap): New `no-ret' slot. + (comp-compute-dominator-tree): Update. + (comp-remove-unreachable-blocks): New functions. + (comp-ssa): Update to call `comp-remove-unreachable-blocks'. + (comp-clean-orphan-blocks): Delete. + (comp-rewrite-non-locals): Update and simplify. + +2021-01-01 Andrea Corallo + + * src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash table iteration. + +2021-01-01 Andrea Corallo + + Introduce 'unreachable' LIMPLE operator + + Introduce 'unreachable' as LIMPLE operater so we can handle correctly + in the CFG functions throwing values or signaling errors. + + * src/comp.c (retrive_block): Better error diagnostic. + (emit_limple_insn): Add `unreachable'. + (compile_function): Fix block iteration. + (syms_of_comp): Define 'Qunreachable'. + * lisp/emacs-lisp/comp.el (comp-block): New variable. + (comp-block-lap): Add `non-ret-insn' slot. + (comp-branch-op-p): New predicate. + (comp-limple-lock-keywords): Color `unreachable' as red. + (comp-compute-edges): Add `unreachable'. + (comp-fwprop-call): Store non returning function call. + (comp-fwprop*): Update. + (comp-clean-orphan-blocks, comp-rewrite-non-locals): New functions. + (comp-fwprop): Call `comp-rewrite-non-locals'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests. + * test/src/comp-test-funcs.el (comp-test-non-local-1) + (comp-test-non-local-2, comp-test-non-local-3) + (comp-test-non-local-4): New functions. + +2021-01-01 Eli Zaretskii + + Add warning comments abound binding keys in Isearch maps + + * lisp/isearch.el (isearch-mode-map) + (minibuffer-local-isearch-map): Add comments which warn against + wantonly rebinding unbound keys. + +2021-01-01 Philipp Stephani + + Fix a compilation warning. + + ruby-mode uses 'cl-evenp' at runtime, so cl-lib must be available at + runtime as well. + + * lisp/progmodes/ruby-mode.el (cl-lib): Require at runtime as well. + +2021-01-01 Andrea Corallo + + * Fix two predicates for missing negation handling + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p) + (comp-cstr-null-p): Fix missing negation handling. + +2021-01-01 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Color returns as red. + +2021-01-01 Andrea Corallo + + * Add `comp-insert-insn' + + * lisp/emacs-lisp/comp.el (comp-insert-insn): New inline. + (comp-emit-call-cstr): Split logic and call `comp-insert-insn'. + +2021-01-01 Paul Eggert + + Remove stray copy of image-tests.el + + * test/manual/image-circular-tests.el: Remove a stray copy of + image-tests.el that was appended to this file. Found by its + duplicate copyright notice. + +2021-01-01 Paul Eggert + + Update from Gnulib by running admin/merge-gnulib. + +2021-01-01 Paul Eggert + + Merge from origin/emacs-27 + + 33d159c36f Fix copyright years by hand + +2021-01-01 Paul Eggert + + Merge from origin/emacs-27 + + 74a77ef299 Improve documentation of 'network-lookup-address-info' + c6d5555646 Display messages sent using ERC's /say + c156723769 Fix Rmail summary display when From: header is malformed + +2021-01-01 Paul Eggert + + Update copyright year to 2021 + + Run "TZ=UTC0 admin/update-copyright". + +2021-01-01 Paul Eggert + + Fix some mistaken shell delinting + + * admin/merge-gnulib, admin/update-copyright, make-dist: + Revert recent mistaken changes that were put in merely to + pacify a shellcheck linter. + +2021-01-01 Paul Eggert + + Fix copyright years by hand + + These are dates that admin/update-copyright did not update. + +2021-01-01 Lars Ingebrigtsen + + Revert recent add-to-ordered-list changes + + * doc/lispref/lists.texi (List Variables): Revert. + + * lisp/subr.el (add-to-ordered-list): Revert recent changes + because the semantics are too muddled. + +2020-12-31 Alan Mackenzie + + CC Mode: increment version numbers to 5.35 due to standalone release + + * doc/misc/cc-mode.texi. Increment the mode to 5.35, twice. + + * lisp/progmodes/cc-defs.el. Increment the mode to "5.35.1". + +2020-12-31 Eli Zaretskii + + Improve documentation of 'network-lookup-address-info' + + * src/process.c (Fnetwork_lookup_address_info): + * doc/lispref/processes.texi (Misc Network): Document the error + message emitted by 'network-lookup-address-info' when it fails. + +2020-12-31 Dmitry Gutov + + ruby-mode: Optimize expression expansion too + + This speeds up syntax-propertize almost 2x. + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Optimize expression expansion too. + (ruby-syntax-propertize-expansion, ruby-font-lock-keywords) + (ruby-expression-expansion-re): Update to match. + +2020-12-31 Dmitry Gutov + + ruby-syntax-propertize: Optimize two rules a little + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Optimize two rules a little. + +2020-12-31 Dmitry Gutov + + ruby-mode: Recognize setter symbols + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Add a rule for setter symbols (bug#42846). + (ruby-font-lock-keywords): Remove dead code, left over from before + commit 26f9c507. + + * lisp/progmodes/ruby-mode.el (ruby-smie--bosp): + Handle '=' being part of a symbol (bug#42846). + + * test/lisp/progmodes/ruby-mode-resources/ruby.rb: + Add corresponding indentation examples. + +2020-12-31 Jo達o T叩vora + + Fix type declaration of two Flymake customization variables + + * lisp/progmodes/flymake.el (flymake-mode-line-format) + (flymake-mode-line-counter-format): Fix type declaration. + +2020-12-31 Eli Zaretskii + + Fix process-tests on MS-Windows + + * test/src/process-tests.el (process-tests--fd-setsize-test): On + MS-Windows start the pipe processes in the "stopped" condition. + +2020-12-31 Jo達o T叩vora + + Must explicitly create unpropertized strings in mode-line + + Otherwise, an innocent string like " " will mysteriously + pickup properties from some other minor mode. + + Making this a separate commit in hopes of raising attention to this + possible bug. + + * lisp/progmodes/flymake.el (flymake--mode-line-counter): Must + explicily create a new string unpropertized string + +2020-12-31 Jo達o T叩vora + + Make Flymake mode-line indicator customizable (bug#33740) + + * lisp/progmodes/flymake.el (flymake-mode): Use + flymake-mode-line-format. + (flymake--mode-line-format): Remove. + (flymake-mode-line-counter-format, flymake-mode-line-format): New + defcustom. + (flymake-mode-line-title, flymake-mode-line-exception) + (flymake-mode-line-counters, flymake-error-counter) + (flymake-warning-counter, flymake-note-counter): New variables. + (flymake--mode-line-title, flymake--mode-line-exception) + (flymake--mode-line-counters, flymake--mode-line-counter): New + helpers. + + * doc/misc/flymake.texi (Customizable variables): Mention + flymake-mode-line-format and flymake-mode-line-counter-format + + * etc/NEWS: Mention Flymake's customizable mode-line. + +2020-12-31 Jo達o T叩vora + + Protect elisp-flymake-checkdoc against boundless diagnostics + + These would be the kind of "This file needs a ;;Code section" and + such. + + * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Resist + checkdoc diagnostics with no end position. + +2020-12-31 Michael Albinus + + * test/src/process-tests.el: Let timeouts fail the tests. Fix some docstrings + +2020-12-31 Alan Mackenzie + + CC Mode. Fix AWK Mode fontification bug, remove some unused variables + + * lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Replace a hard use of + c-preprocessor-face-name by an `eval' expression which evaluates it. + + * lisp/progmodes/cc-engine.el (c-in-knr-argdecl, c-laomib-put-cache) + (c-laomib-fix-elt): Remove unused bound variables. + +2020-12-31 Philipp Stephani + + Unbreak process tests if 'errno' is not installed. + + * test/src/process-tests.el (process-tests--EMFILE-message): Don't + signal an error if the 'errno' binary is unavailable. + +2020-12-31 Stefan Kangas + + Fix some shellcheck linter warnings + + * admin/diff-tar-files: + * admin/merge-gnulib: + * admin/merge-pkg-config: + * admin/update-copyright: + * build-aux/git-hooks/prepare-commit-msg: + * make-dist: Fix some shellcheck linter warnings. + +2020-12-31 Stefan Kangas + + Minor cleanup in doc.c + + * src/doc.c (get_doc_string, Fdocumentation) + (Fdocumentation_property, store_function_docstring): + Minor cleanup. + +2020-12-31 Stefan Kangas + + Add lexical-binding cookie to autoload files + + * build-aux/update-subdirs: + * lisp/emacs-lisp/autoload.el (autoload-rubric): Add lexical-binding + cookie to generated files (bug#44854). + +2020-12-31 Daniel Mart鱈n + + Fix duplicated entry in gnus-mime-action-alist + + * lisp/gnus/gnus-art.el (gnus-mime-action-alist): Remove duplicated + "toggle display" entry and call the appropriate function for the "view + as charset" action (bug#45561). + +2020-12-31 Lars Ingebrigtsen + + Allow add-to-ordered-list to use a test predicate + + * doc/lispref/lists.texi (List Variables): Update manual. + + * lisp/subr.el (add-to-ordered-list): Allow using a test + predicate, and make slightly more efficient (bug#45539). + +2020-12-31 Lars Ingebrigtsen + + Add test for add-to-ordered-list + +2020-12-31 Daniel Mart鱈n + + Add some tests to find-func.el + +2020-12-31 Philipp Stephani + + Minor improvements to FD_SETSIZE overflow checks. + + * src/process.c (Fmake_serial_process): Add port to error data. + (connect_network_socket): Add an explanatory comment. + +2020-12-31 Philipp Stephani + + Manually limit file descriptors that we select on to FD_SETSIZE. + + This works even if another thread or process resets the resource limit + for open file descriptors, e.g., using 'prlimit' on GNU/Linux. + + * src/process.c (create_process, create_pty, Fmake_pipe_process) + (Fmake_serial_process, connect_network_socket) + (server_accept_connection): Limit file descriptors to FD_SETSIZE. + * test/src/process-tests.el (process-tests--with-raised-rlimit): New + helper macro. + (process-tests--fd-setsize-test): Rename from + 'process-tests--with-many-pipes'. Increase resource limit during test + if possible. + (process-tests/fd-setsize-no-crash/make-process) + (process-tests/fd-setsize-no-crash/make-pipe-process) + (process-tests/fd-setsize-no-crash/make-network-process) + (process-tests--new-pty): Rename callers. + +2020-12-31 Philipp Stephani + + Fix a potential unit test breakage on GNU/Linux. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Allow special exit + codes that can happen if terminal setup fails in the child process. + +2020-12-30 Philipp Stephani + + Fix an incorrect Edebug specification. + + * test/src/process-tests.el (process-tests--with-many-pipes): Fix + incorrect Edebug specification. + +2020-12-30 Philipp Stephani + + Consistently check for FD_SETSIZE overflow. + + Previously this was only checked in a few places. Now assert that + file descriptors are within the expected range whenever we'd otherwise + introduce undefined behavior. + + * src/process.c (add_read_fd, add_process_read_fd, delete_read_fd) + (recompute_max_desc, delete_write_fd, compute_input_wait_mask) + (compute_non_process_wait_mask, compute_non_keyboard_wait_mask) + (compute_write_mask, clear_waiting_thread_info) + (update_processes_for_thread_death, Fset_process_thread) + (create_process, create_pty, Fmake_pipe_process) + (Fprocess_datagram_address, Fset_process_datagram_address) + (Fmake_serial_process, finish_after_tls_connection) + (connect_network_socket, deactivate_process) + (server_accept_connection, wait_reading_process_output) + (read_process_output, read_and_dispose_of_process_output) + (send_process, Fcontinue_process, Fprocess_send_eof) + (Fprocess_filter_multibyte_p, keyboard_bit_set) + (add_timer_wait_descriptor, setup_process_coding_systems): Add + assertions to document and check that file descriptors are within the + expected range when used as file descriptor set elements or array + subscripts. + +2020-12-30 Philipp Stephani + + Extend and overhaul FD_SETSIZE overflow tests. + + Instead of trying to generate the right number of processes, + pre-create lots of unused pipe processes until creation fails. Extend + the tests to the 'pty' connection type and other kinds of process + objects. + + * test/src/process-tests.el (process-tests--ignore-EMFILE) + (process-tests--with-buffers, process-tests--with-processes) + (process-tests--with-many-pipes, process-tests--with-temp-file) + (process-tests--with-temp-directory): New helper macros. + (process-tests/fd-setsize-no-crash/make-process): Renamed from + 'process-tests/fd-setsize-no-crash'. Fail on timeout. Also test the + 'pty' connection type. Pre-create lots of pipe processes so we reach + the FD_SETSIZE limit faster. Ignore EMFILE more precisely, if + possible. + (process-tests/fd-setsize-no-crash/make-pipe-process) + (process-tests/fd-setsize-no-crash/make-network-process) + (process-tests/fd-setsize-no-crash/make-serial-process): New tests + that test FD_SETSIZE limits for other kinds of processes. + (process-tests--EMFILE-message): New helper function and cache + variable. + (process-tests--new-pty): New helper function. + +2020-12-30 Philipp Stephani + + * src/nsterm.m (ns_select): Fix off-by-one error, and add assertion + +2020-12-30 Alan Mackenzie + + CC Mode: correct the handling of empty strings + + In particular, have the macro cache invalidated after its last use in + c-before-change. + + * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove + c-invalidate-macro-cache from the entries it's in, moving it to.... + + * lisp/progmodes/cc-mode.el (c-before-change): Call c-invalidate-macro-cache + directly from the functions, after the call to c-invalidate-state-cache. + +2020-12-30 Alan Third + + Fix Help menu on macOS + + * src/nsmenu.m (ns_update_menubar): Make sure to reset the help menu + when we move it to another submenu. + +2020-12-30 Andrea Corallo + + * Order function types in aphabetical order + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Reorder in + aphabetical order and comment. + +2020-12-30 Andrea Corallo + + * Add more function type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more + type specifiers. + +2020-12-30 Mattias Engdeg奪rd + + Use standard key symbols in NS menu entries + + * src/nsmenu.m (skipspc): Remove. + (key_symbols, prettify_key): New. + ([EmacsMenu fillWithWidgetValue:]): Call prettify_key. + +2020-12-30 Stefan Kangas + + Remove redundant 'function's around lambda in align.el + + * lisp/align.el (align-rules-list, align-exclude-rules-list) + (align-vhdl-rules-list, align-highlight-rule): Remove redundant + 'function's around lambda. + +2020-12-30 Dmitry Gutov + Tobias Rittweiler + + Add 'project-relative' as value for 'xref-file-name-display' + + * lisp/progmodes/xref.el (xref-file-name-display): Document new value. + (xref-location-group ((l xref-file-location))): Handle the new value. + (xref--project-root): Extract from the default method of + 'xref-backend-references' so it can be used in above's new code. + Also fix an old bug in the "backward compat" branch. + + * lisp/progmodes/xref.el (xref--project-root-memo): New variable. + + * test/lisp/progmodes/xref-tests.el: Add test cases for the three + possible settings of 'xref-file-name-display'. + +2020-12-30 Stefan Kangas + + Fix some over-wide docstrings + + * lisp/cedet/semantic/analyze/refs.el + (semantic-analyze-refs-proto) + (semantic-analyze-refs-impl): + * lisp/cedet/semantic/symref.el + (semantic-symref-hit-to-tag-via-buffer): + * lisp/emacs-lisp/chart.el (chart-axis-draw): + * lisp/emacs-lisp/cl-macs.el (cl-defstruct, cl-loop): + * lisp/emacs-lisp/eieio-core.el (eieio--add-new-slot): + * lisp/eshell/em-unix.el (eshell/info): + * lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): + * lisp/gnus/gnus-agent.el (gnus-agent-read-article-number): + * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines) + (gnus-put-text-property-excluding-newlines): + * lisp/gnus/message.el (message-sort-headers): + * lisp/gnus/nntp.el (nntp-with-open-group) + (nntp-with-open-group-function): + * lisp/gnus/nnvirtual.el (nnvirtual-create-mapping): + * lisp/mail/feedmail.el (feedmail-fiddle-list-of-fiddle-plexes) + (feedmail-queue-reminder, feedmail-mail-send-hook-splitter): + * lisp/net/dictionary.el (dictionary-do-matching): + * lisp/obsolete/longlines.el (longlines-auto-wrap): + * lisp/org/ob-sql.el (org-babel-sql-dbstring-vertica): + * lisp/org/ol-bbdb.el (org-bbdb-date-list): + * lisp/progmodes/cc-cmds.el (c-mark-function): + * lisp/progmodes/cperl-mode.el (cperl-add-tags-recurse) + (cperl-add-tags-recurse-noxs-fullpath) + (cperl-add-tags-recurse-noxs): + * lisp/progmodes/etags.el (tags-search): + * lisp/progmodes/verilog-mode.el (verilog-delete-auto-buffer) + (verilog-auto-re-search-do, verilog-expand-vector-internal): + * lisp/textmodes/reftex-parse.el (reftex-init-section-numbers): + * lisp/textmodes/reftex-toc.el + (reftex-toc-load-all-files-for-promotion): + * lisp/textmodes/sgml-mode.el (html-mode): + * lisp/textmodes/table.el (table--transcoord-cache-to-table) + (table--transcoord-table-to-cache, table--remove-eol-spaces) + (table--region-in-cell-p, table-goto-bottom-right-corner) + (table-split-cell-horizontally): + * lisp/url/url-handlers.el (url-insert): + * lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Fix doc + strings to not exceed 80-column limits. (Bug#44858) + +2020-12-30 Mattias Engdeg奪rd + + Plug NS memory leaks (bug#45502) + + * src/nsmenu.m ([EmacsMenu addItemWithWidgetValue:attributes:]): + Mark allocated and owned objects for autorelease. + +2020-12-30 Juri Linkov + + Add variables read-char-choice-use-read-key and y-or-n-p-use-read-key + + * lisp/subr.el (read-char-choice-use-read-key): New variable. + (read-char-choice): Use read-char-from-minibuffer when + read-char-choice-use-read-key is nil. + (y-or-n-p-use-read-key): New variable. + (y-or-n-p): Restore old code that calls read-key to use it when + y-or-n-p-use-read-key is non-nil. + + * lisp/dired-aux.el (dired--no-subst-ask, dired-query): + * lisp/files.el (files--ask-user-about-large-file) + (hack-local-variables-confirm): + * lisp/userlock.el (ask-user-about-supersession-threat): + * lisp/wid-edit.el (widget-choose): Revert to use read-char-choice + instead of read-char-from-minibuffer. + + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg01919.html + +2020-12-30 Michael Albinus + + * src/dbusbind.c (XD_BASIC_DBUS_TYPE): Fix error in declaration. + +2020-12-30 Juri Linkov + + In Isearch bind 'C-s M-y' to isearch-yank-pop-only with old code (bug#45483) + + * lisp/isearch.el (isearch-menu-bar-yank-map, isearch-mode-map): + (isearch-forward): Use isearch-yank-pop-only instead of isearch-yank-pop. + (isearch-yank-pop): Mention isearch-yank-pop-only. + (isearch-yank-pop-only): New command with old body from Emacs 27. + +2020-12-30 Stefan Kangas + + Minor cleanup in keymap.c + + * src/keymap.c (get_keymap, keymap_parent, Fset_keymap_parent) + (store_in_keymap, Fdefine_key, Flookup_key, define_as_prefix) + (silly_event_symbol_error, current_minor_maps) + (Fcurrent_active_maps, Fkey_binding, Flocal_key_binding) + (Fminor_mode_key_binding, Fdefine_prefix_command) + (Faccessible_keymaps, Fdescribe_buffer_bindings) + (describe_vector, Fwhere_is_internal): Minor cleanup. + +2020-12-30 Lars Ingebrigtsen + + Also count symbol plists in memory-report + + * lisp/emacs-lisp/memory-report.el (memory-report--symbol-plist): + New function. + (memory-report): Use it. + +2020-12-30 Lars Ingebrigtsen + + Revert "Switch add-to-ordered-list to eql" + + This reverts commit b4fd857ead728a06380250c5336c1ab94a7c2f7a. + + I misunderstood the purposed of the function. + +2020-12-30 Stefan Kangas + + Add some char-table tests + + * test/src/chartab-tests.el (chartab-test-char-table-p) + (chartab-test-char-table-subtype) + (chartab-test-char-table-parent) + (chartab-test-char-table-extra-slot): New tests. + +2020-12-30 Lars Ingebrigtsen + + Switch add-to-ordered-list to eql + + * doc/lispref/lists.texi (List Variables): Update documentation. + + * lisp/subr.el (add-to-ordered-list): Switch to eql (bug#45539). + +2020-12-30 Lars Ingebrigtsen + + Improve the `long' computation of `mode-line-compact' + + * src/xdisp.c (display_mode_line): Compute `long' based on total + window width, and use the passed-in window instead of the selected + window. + +2020-12-30 Lars Ingebrigtsen + + Add caveat about the `long' `mode-line-compact' setting + + * doc/lispref/modes.texi (Mode Line Basics): Elaborate on the + `long' setting. + +2020-12-30 Tobias Rittweiler + + Minor refactoring of xref-tests + + * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir): + Rename to 'xref-tests--data-dir'. + (xref-tests--matches-in-data-dir, xref-tests--locations-in-data-dir): + New functions. Factored out from test cases and updated usage sites + to use them. + +2020-12-29 Alan Third + + Don't calculate macOS menu data for GNUstep (bug#45502) + + * src/nsmenu.m ([EmacsMenu fillWithWidgetValue:]): #ifdef out code + that has no effect on GNUstep and autorelease alloc'd objects. + +2020-12-29 Artem Loenko + + * src/Makefile.in (DO_CODESIGN): Fix architecture for Apple Silicon + +2020-12-29 Juri Linkov + + Use explicit "--color=auto" in grep mode to support both GNU grep and ripgrep + + * lisp/progmodes/grep.el (grep-highlight-matches): + (grep-compute-defaults, grep-expand-template): + Use "--color=auto" instead of "--color" (bug#44983). + +2020-12-29 Juri Linkov + + * lisp/x-dnd.el (x-dnd-get-drop-x-y): Add safer check for top/left (bug#45277) + +2020-12-29 Eli Zaretskii + + A better fix for process-tests on MS-Windows + + * src/w32.c (pipe2): When forcibly closing pipe handles due to + overflow of FD_SETSIZE, set the handles to -1, to avoid assertion + violations in emacs_close. + + * test/src/process-tests.el (process-tests/fd-setsize-no-crash): + No need to skip this test anymore. + +2020-12-29 Eli Zaretskii + + Fix process-tests on MS-Windows + + * test/src/process-tests.el (process-tests/fd-setsize-no-crash): + Skip this test on windows-nt systems, as we cannot use more than + FD_SETSIZE file descriptors there: if we try, we crash. + +2020-12-29 Dmitry Gutov + + xref-show-definitions-completing-read: Tune up completion + + * lisp/minibuffer.el (completion-category-defaults) + Use 'substring' completion style for 'xref-location' category by + default. + + * lisp/progmodes/xref.el (xref-show-definitions-completing-read): + Assign the 'xref-location' category to the completions. Pass + REQUIRE-MATCH=t. + +2020-12-29 Michael Albinus + + Instrument process-tests.el for timeouts on emba + +2020-12-29 Philipp Stephani + + Add a regression test for Bug#24325. + + * test/src/process-tests.el (process-tests/fd-setsize-no-crash): New + unit test. + +2020-12-29 Andrea Corallo + + Fix missing negation handling in a bunch of predicates + + * lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p) + (comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot. + * test/src/comp-tests.el (comp-test-not-cons): New test. + * test/src/comp-test-funcs.el (comp-test-not-cons-f): New + function. + +2020-12-29 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'. + +2020-12-29 Andrea Corallo + + Constrain mvars under compare and branch with built-in predicates + + * lisp/emacs-lisp/comp.el (comp-emit-assume): Update. + (comp-known-predicate-p): New function. + (comp-add-cond-cstrs): Extend to pattern match predicate calls. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p) + (comp-pred-to-cstr): New function. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a + number of tests and fix comments. + +2020-12-29 Mattias Engdeg奪rd + + More readable keys in NS menu entries (bug#45502) + + Each menu entry now has the key binding in a right-aligned column, as + an attempt to improve readability. Previously the keys were given in + brackets immediately following the menu string. + + * src/nsmenu.m ([EmacsMenu parseKeyEquiv:]): Remove. + (skipspc): New helper function. + ([EmacsMenu addItemWithWidgetValue:]): Add attributes argument. + Use attributed title string. Don't special-case Super bindings. + ([EmacsMenu fillWithWidgetValue:]): Compute maximum width. Prepare + attributes for title. + +2020-12-29 Michael Albinus + + Sync with Tramp 2.5.0 + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.0". + + * test/lisp/net/tramp-tests.el + (tramp--test--deftest-direct-async-process): Check, that + `make-process' supports file name handlers. Suppress + `internal-default-process-sentinel'. + (tramp--test-async-shell-command): Set `proc' proper. + (tramp-test32-shell-command-direct-async): Tag it :unstable. + +2020-12-29 Jo達o T叩vora + + Revert "Allow the flymake mode line indicator to be customized" + + This reverts commit 37049ee78c4576d340781179317e6cbaaf73b6c3. + + It's not ready to be used, contains some fundamental errors. + + See bug#33740. + +2020-12-29 Andrea Corallo + + * Define `cl-satisfies-deftype' mapping predicate -> type + + * lisp/emacs-lisp/cl-macs.el (cl-satisfies-deftype): Define symbol + property as reverse of `cl-deftype-satisfies'. + +2020-12-29 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-type-to-cstr'. + +2020-12-29 Alan Third + + Fix crash in NS menu code + + * src/nsmenu.m (ns_update_menubar): When the menu generation code was + copied from xmenu.c the fix for waiting_for_input was lost. Reinstate + it. + +2020-12-29 Lars Ingebrigtsen + + Add some tests for align.el + +2020-12-29 Glenn Morris + + * src/xdisp.c (display_mode_line): I guess FALSE should be false. + +2020-12-29 Lars Ingebrigtsen + + Revert the previous display_string change + + * src/xdisp.c (display_string): Revert adding the additional + ignore_text_properties parameter -- it was already covered by the + other mix of parameters. + +2020-12-29 Lars Ingebrigtsen + + Fix compact mode line text properties + + * src/xdisp.c (display_mode_line): Display the compact mode + correctly (with text properties) (bug#45520). + +2020-12-29 Lars Ingebrigtsen + + Add a parameter to display_string to allow not ignoring text props + + * src/xdisp.c (display_string): Add a parameter to allow not + ignoring text properties (bug#45520). Adjust callers throughout + xdisp.c. + +2020-12-29 Lars Ingebrigtsen + + Introduce new variable mode-line-compact + + * doc/lispref/modes.texi (Mode Line Basics): Document it (bug#34476). + + * src/xdisp.c (display_mode_line): Use it. + (syms_of_xdisp): New variable mode-line-compact. + +2020-12-29 Lars Ingebrigtsen + + Allow the flymake mode line indicator to be customized + + * doc/misc/flymake.texi (Customizable variables): Mention it. + + * lisp/progmodes/flymake.el (flymake-mode-line-indicator-format): + New variable (bug#33740). + (flymake--mode-line-format): Use it. + +2020-12-29 Lars Ingebrigtsen + + Add a SPLIT parameter to `format-spec' + + * doc/lispref/strings.texi (Custom Format Strings): Document it. + + * lisp/format-spec.el (format-spec): Add an optional parameter to + return a list of strings (bug#33740). + +2020-12-29 Basil L. Contovounesios + + Reword a long docstring in cc-langs.el + + * lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Reword + docstring to fit within 80 columns and silence the corresponding + byte-compiler warning (bug#44858). + +2020-12-29 Lars Ingebrigtsen + + Add a reference between the Strings node and Search/Replace + + * doc/lispref/strings.texi (Creating Strings): Mention + string-replace/replace-regexp-in-string (bug#45516). + +2020-12-29 Lars Ingebrigtsen + + Allow mixing attributes and comments in the diary file + + * lisp/calendar/diary-lib.el (diary-face-attrs): The attributes + don't have to be at the end of the line -- there may be ##warntime + or other comments (bug#19965). + +2020-12-29 Jo達o T叩vora + + Robustify completion match scoring for optimized patterns + + (Bug#42149) + + The function completion-pcm--hilit-commonality, which propertizes and + scores a previously confirmed match, expected its PATTERN argument to + match the strings of COMPLETIONS entirely (i.e. up to the string's + very end). But sometimes the ending wildcard, represented by the + 'any' atom in PATTERN, is optimized away by + completion-pcm--optimize-pattern. Although this is mostly benign in + terms of highlighting commonality, it leads to incorrect score values. + + In this change, we ensure that completion-pcm--hilit-commonality is + aware of this exception and isn't affected by it. We also document + the function a bit better and simplify its workings. + + Originally reported by Dario Gjorgjevski + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): + Simplify. Add docstring. + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): Add + docstring + +2020-12-28 Amin Bandali + + Display messages sent using ERC's /say + + * lisp/erc/erc.el (erc-cmd-SAY): Call `erc-display-msg' to display the + user's message in the buffer, just like other [non-command] messages. + + https://lists.gnu.org/r/help-gnu-emacs/2020-12/msg00066.html + +2020-12-28 Alan Mackenzie + + CC Mode: Add newish AWK Mode facilities, as used in gawk-4. + + * lisp/progmodes/cc-awk.el (c-awk-font-lock-invalid-namespace-separators): + New function. + (c-awk-context-expand-fl-region): New function. + (awk-font-lock-keywords): Enhance handling of function declarations to include + :: tokens. Fontify new system variable names FPAT, FUNCTAB, PREC, ROUNDMODE, + SYNTAB. Fontify new keywords BEGINFILE and ENDFILE. Fontify new system + functions asorti, dcngettext, isarray, patsplit, typeof. Fontify the new + directives @include, @load, @namespace. Call + c-awk-font-lock-invalid-namespace-separators as a matcher. + + * lisp/progmodes/cc-fonts.el (top level): No longer require 'cc-awk. + + * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions): Give + AWK the value c-awk-context-expand-fl-region rather than nil. + + * lisp/progmodes/cc-mode.el (top level): Declare awk-mode-syntax-table as a + variable. + +2020-12-28 Stefan Monnier + + * lisp/minibuffer.el: Avoid consecutive `any` in completion patterns + + (completion-pcm--optimize-pattern): Turn multiple consecutive + occurrences of `any` into just a single one. + Suggested by Dario Gjorgjevski . + +2020-12-28 Glenn Morris + + Fix package tests for tetris no longer existing as a package + + * test/lisp/emacs-lisp/package-tests.el + (package-test-list-filter-by-name, package-test-list-clear-filter): + Use ansi-color instead of tetris, which no longer has a version:. + +2020-12-28 Alan Third + + Fix crash in NS menu code + + * src/nsmenu.m (ns_update_menubar): Don't assume that the top level + menus are correct when populating the submenus. + (free_frame_menubar): Clear the menu. + ([EmacsMenu removeAllItems]): Actually remove all menu items. + +2020-12-28 Andrea Corallo + + Store function type and expose it with `subr-type' + + * src/lisp.h (struct Lisp_Subr): Add 'type' field. + (SUBR_TYPE): New inline accessor. + * src/pdumper.c (dump_subr): Update for 'type' field. + * src/data.c (Fsubr_type): New primitive. + (syms_of_data): Update. + * src/comp.c (ABI_VERSION): Bump new ABI version. + (make_subr): Set type. + (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr): Receive and pass subr type to + 'make_subr'. + * src/alloc.c (mark_object): Mark subr type. + * lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar. + (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass + type mvar to subr register functions. + (comp-compute-function-type): Fix-up subr type mvars. + * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use + `subr-type'. + +2020-12-28 Andrea Corallo + + Reorder subr register function arguments to make some room + + * src/comp.c (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and + 'intspec' parameters. + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level) + (comp-emit-lambda-for-top-level): Update. + +2020-12-28 Andrea Corallo + + Propagate function calls also when hiddend under funcall + + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions + also when called under `funcall'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + +2020-12-28 Andrea Corallo + + Compute function type for native compiled functions + + * lisp/emacs-lisp/comp.el (comp-func): `type' rename from + `ret-type-specifier'. + (comp-args-to-lambda-list): New function. + (comp-compute-function-type): New function from + `comp-ret-type-spec'. + (comp-final): Update. + * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update. + +2020-12-28 Andrea Corallo + + * Improve some slot type into comp.el + + * lisp/emacs-lisp/comp.el (comp-args-base, comp-args) + (comp-nargs, comp-func): Fix the type of some slots. + +2020-12-28 Stefan Kangas + + Minor cleanups in tetris.el + + * lisp/play/tetris.el: Remove redundant :group args. + (tetris-get-tick-period): Drop unnecessary check. + (tetris): Stylistic doc fixes. + +2020-12-28 Stefan Kangas + + * lisp/ps-print.el (ps-message-log-max): Remove XEmacs compat code. + +2020-12-28 Stefan Kangas + + Remove redundant 'function's around lambda in vhdl-mode.el + + * lisp/progmodes/vhdl-mode.el (fboundp, vhdl-sort-alist, lambda) + (vhdl-create-mode-menu, vhdl-set-offset, vhdl-set-style) + (vhdl-regress-line, vhdl-align-inline-comment-region-1) + (vhdl-resolve-paths, vhdl-generate-makefile-1) + (vhdl-submit-bug-report): Remove redundant 'function's around lambda. + +2020-12-28 Lars Ingebrigtsen + + Fix too-long feedmail-sendmail-f-doesnt-sell-me-out doc string + + * lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out): + Fold the example SMTP header using continuation folding. + +2020-12-28 Stefan Kangas + + Fill some auto-generated docstrings + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): Fill auto-generated documentation + strings. (Bug#44858) + * lisp/subr.el (internal--fill-string-single-line) + (internal--format-docstring-line): New functions. + +2020-12-28 Stefan Kangas + + Make byte-compiler warn about wide docstrings + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + (byte-compile-docstring-length-warn): New defuns. + (byte-compile-docstring-max-column): New defcustom. + (byte-compile--wide-docstring-substitution-len): New variable. + (byte-compile-warning-types, byte-compile-warnings): New value + 'docstrings'. + (byte-compile-file-form-autoload, byte-compile-file-form-defvar): + (byte-compile-file-form-defvar-function, byte-compile-lambda): + (byte-compile-defvar, byte-compile-file-form-defalias): Warn about too + wide docstrings. (Bug#44858) + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-warn-wide-docstring/defconst) + (bytecomp-warn-wide-docstring/defvar): New tests. + (bytecomp--define-warning-file-test): New macro. + (bytecomp/warn-wide-docstring-autoload\.el) + (bytecomp/warn-wide-docstring-custom-declare-variable\.el) + (bytecomp/warn-wide-docstring-defalias\.el) + (bytecomp/warn-wide-docstring-defconst\.el) + (bytecomp/warn-wide-docstring-define-abbrev-table\.el) + (bytecomp/warn-wide-docstring-define-obsolete-function-alias\.el) + (bytecomp/warn-wide-docstring-define-obsolete-variable-alias\.el) + (bytecomp/warn-wide-docstring-defun\.el) + (bytecomp/warn-wide-docstring-defvar\.el) + (bytecomp/warn-wide-docstring-defvaralias\.el) + (bytecomp/warn-wide-docstring-ignore-fill-column\.el) + (bytecomp/warn-wide-docstring-ignore-override\.el) + (bytecomp/warn-wide-docstring-ignore\.el) + (bytecomp/warn-wide-docstring-multiline-first\.el) + (bytecomp/warn-wide-docstring-multiline\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-autoload.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-custom-declare-variable.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defalias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defconst.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-abbrev-table.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-function-alias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-variable-alias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvar.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvaralias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-fill-column.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-override.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline-first.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline.el: + New files. + +2020-12-28 Lars Ingebrigtsen + + Make octave-send-region be asynchronous + + * lisp/progmodes/octave.el (octave-send-region): Send things + asynchronously to the inferior process (bug#24492). + +2020-12-28 Yichao Yu + + Make XIM to work with non-CJK locales + + * src/xfns.c (best_xim_style): Don't rely on supported_xim_styles + (bug#10867). + + * src/xterm.c (x_draw_window_cursor): Adjust to modern input styles. + (xim_instantiate_callback): Ditto. + +2020-12-28 Lars Ingebrigtsen + + Fix background mode on Gnome 3.38 terminals + + * lisp/term/xterm.el (xterm--version-handler): Adjust to Gnome + 3.38 (bug#43891). + +2020-12-28 Lars Ingebrigtsen + + Fix alignment of Java String[] and the like + + * lisp/align.el (align-rules-list): Allow aligning Java String[] etc + (bug#19385). + + Test case: + + class X + { + String field1; + String[] field2; + int field3; + int[] field4; + X field5; + X[] field6; + } + +2020-12-28 Lars Ingebrigtsen + + Document the text property limitations in mode lines + + * doc/lispref/modes.texi (Properties in Mode, Mode Line Basics): + Mention the special text property limitations. + +2020-12-28 Lars Ingebrigtsen + + Allow remember-notes to use the *scratch* buffer + + * lisp/textmodes/remember.el (remember-notes): Allow the + remember-notes buffer to use the *scratch* buffer (as documented) + (bug#20740). + +2020-12-28 Dmitry Gutov + + Rename and document the built-in xref-show-definitions-function's + + * lisp/progmodes/xref.el (xref-show-definitions-buffer): Rename + from 'xref--show-defs-buffer'. + (xref-show-definitions-buffer-at-bottom): Rename from + 'xref--show-defs-buffer-at-bottom'. + +2020-12-28 Tim Landscheidt (tiny change) + + Do not output two spaces for non-autoloaded ieieo constructor functions + + * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Amend + format to avoid two spaces for non-autoloaded object constructor + functions (bug#45454). + +2020-12-27 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-archives): Add NonGNU ELPA + +2020-12-27 Stefan Monnier + + * lisp/textmodes/rst.el (rst-mode): Don't touch global hook + + (rst-re): 侶-reduce. + +2020-12-27 Andrea Corallo + + Add 1+ 1- integer range propagation support + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-one): New special var. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate integer + ranges on +1 -1. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests. + +2020-12-27 Andrea Corallo + + Add sum/subtraction integer range propagation support + + * lisp/emacs-lisp/comp-cstr.el (comp-range-+, comp-range--): New + functions. + (comp-cstr-set-range-for-arithm): New macro. + (comp-cstr-add-2, comp-cstr-sub-2, comp-cstr-add, comp-cstr-sub): + New function. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Wire-up + - integer + range propagation. + +2020-12-27 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Improve. + +2020-12-27 Andrea Corallo + + * Add comp-cstr-greatest-in-range comp-cstr-smallest-in-range + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-smallest-in-range) + (comp-cstr-greatest-in-range): New function. + (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): Make use of. + +2020-12-27 Andrea Corallo + + * Don't require trailing backslashes in `comp-eln-load-path' (bug#45462) + + * src/comp.c (Fcomp_el_to_eln_filename): Don't require + trailing backslashes in comp-eln-load-path. + +2020-12-27 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-27 Alan Third + + Remove NS menu synthesized events (bug#44333) + + Remove the frame tracking stuff as it's not used for anything, and + move the update tracking into the EmacsMenu class. + + * src/nsmenu.m (ns_update_menubar): Copy the parsing code from xmenu.c + and rework the NS specific code around to update the existing menus + instead of rebuilding them completely. + (ns_activate_menubar): + ([EmacsMenu trackingNotification:]): + ([EmacsMenu menuWillOpen:]): + ([EmacsMenu menuDidClose:]): Remove unused functions. + ([EmacsMenu menuNeedsUpdate:]): Remove menu tracking code and add code + to check whether an update is required. + ([EmacsMenu fillWithWidgetValue:]): + ([EmacsMenu addSubmenuWithTitle:]): + ([EmacsMenu initWithTitle:]): Remove references to frame. + ([EmacsMenu setFrame:]): Remove method. + ([EmacsMenu clear]): Rename to removeAllItems. + ([EmacsMenu removeAllItems]): Use built-in removeAllItems, if + available. + (syms_of_nsmenu): Remove tracking code. + * src/nsterm.m (ns_check_menu_open): + (ns_check_pending_open_menu): + (ns_create_terminal): Remove unused functions. + (ns_term_init): Get rid of menu tracking. + * src/nsterm.h (EmacsMenu): Remove frame, add needsUpdate and update + method definitions. + +2020-12-27 Lars Ingebrigtsen + + Fix up length_internal with degenerate length inputs + + * src/fns.c (length_internal): Protect against edge conditions. + +2020-12-27 Daniel Mart鱈n + + Improve "find definition" in *Help* buffers + + * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol): If + our regexp algorithm could not find a location for the symbol + definition, resort to find-function--search-by-expanding-macros. + * test/lisp/emacs-lisp/find-func-tests.el: Add a automatic test for a + function and variable generated by a macro. + * etc/NEWS: Advertise the improved functionality (bug#45443). + +2020-12-27 Lars Ingebrigtsen + + Add new predicates for sequence lengths + + * doc/lispref/sequences.texi (Sequence Functions): Document them. + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark them as + side-effect-free. + + * lisp/emacs-lisp/shortdoc.el (list): Mention them. + + * src/fns.c (Flength): Mention them in the doc string. + (length_internal): New function. + (Flength_less, Flength_greater, Flength_equal): New defuns. + (syms_of_fns): Sym them. + +2020-12-26 Lars Ingebrigtsen + + Improve the edebug-form-data doc string + + * lisp/emacs-lisp/edebug.el (edebug-form-data): Doc string + clarification (bug#42776). + +2020-12-26 Andrea Corallo + + * Fix `byte-compile-file' for native compilation (bug#45442) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Fix logic for + native compilation. + +2020-12-26 Andrea Corallo + + Fix missing float handling into `comp-cstr-set-cmp-range' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add + float handling. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update results. + +2020-12-26 Stefan Monnier + + * lisp/forms.el (forms--run-functions): New function + + (forms--intuit-from-file, forms-save-buffer): Use it. + (forms-mode): Use it to fix regression. + Remove always-true test. Fix incorrect uses of `fboundp`. + (forms--iif-hook): Use `add-hook`. + (forms--iif-post-command-hook): Use `remove-hook` and fix typo. + (forms--debug): Use `mapconcat`. + +2020-12-26 Eli Zaretskii + + Fix test/src/process-tests on MS-Windows + + * src/process.c (network_lookup_address_info_1) [WINDOWSNT]: + Initialize winsock. + +2020-12-26 Michael Albinus + + Rename Tramp method "media" to "mtp" (Bug#45402) + + * doc/misc/tramp.texi (Quick Start Guide, GVFS-based methods): + Rename "media" to "mtp". (Bug#45402) + + * etc/NEWS: Rename Tramp method "media" to "mtp". Fix typos. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-methods, tramp-media-methods) + (tramp-gvfs-activation-uri) + (tramp-gvfs-handler-volumeadded-volumeremoved) + (tramp-get-media-devices, top): Rename "media" to "mtp". (Bug#45402) + +2020-12-26 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two more test. + +2020-12-26 Andrea Corallo + + * Remove unnecessary lhs rename in `comp-ssa-rename-insn' + + * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): No point to + rename lhs as it's being replaced. + +2020-12-26 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add two functions. + +2020-12-26 Eli Zaretskii + + Fix Rmail summary display when From: header is malformed + + * lisp/mail/rmailsum.el (rmail-header-summary): Remove newlines + from the "From:" value, to avoid producing corrupted summary + display. + +2020-12-26 Andrea Corallo + + Enable integer range narrowing under compare and branch + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range) + (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): New + functions. + * lisp/emacs-lisp/comp.el (comp-equality-fun-p) + (comp-range-cmp-fun-p): New functions. + (comp-collect-rhs): Use `comp-assign-op-p' in place of + `comp-set-op-p'. + (comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions. + (comp-emit-assume): Rework to be able to emit also comparision + assumption. + (comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'. + (comp-add-cond-cstrs-simple): Update to emit range assumption. + (comp-fwprop-insn): Execute range assumptions. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add tests. + +2020-12-26 emacs-f (tiny change) + + Avoid missing email messages due to rmail-spam-filter + + * lisp/mail/rmail-spam-filter.el (rsf--rmail-last-seen-message): + New function. + (rmail-spam-filter, rmail-get-new-mail-filter-spam): Call + 'rsf--rmail-last-seen-message' instead of + 'rmail-first-unseen-message'. (Bug#45128) + +2020-12-26 Zajcev Evgeny + + Improvements for `:base-uri' svg image property + + * src/image.c (svg_load): Use ENCODE_FILE for `:base-uri' + + * doc/lispref/display.texi (SVG Images): Add more documentation for + `:base-uri' + +2020-12-26 Eli Zaretskii + + Fix messages with plural forms in todo-mode.el + + * lisp/calendar/todo-mode.el (todo-move-item, todo-item-undone) + (todo-category-completions): Use 'ngettext' instead of hard-coding + plural forms by hand. + +2020-12-26 Paul Eggert + + Fix issues with lib/malloc out-of-dir builds + + Problem reported by Mattias Engdeg奪rd in: + https://lists.gnu.org/r/emacs-devel/2020-12/msg01626.html + * configure.ac: If the scratch_buffer module is enabled, create + lib/malloc and (if doing dependencies) lib/deps/malloc. + * lib/Makefile.in (DEPFLAGS) [AUTO_DEPEND]: No longer any need to + squash lib dependencies into a single directory. + (clean): Also remove */*.o and $(DEPDIR)/*/*.d, to clean out + malloc/*.o and deps/malloc/*.d. Just remove *.d files in + dependencies so that rm does not complain about not being able to + remove deps/malloc. + (extraclean): Also remove malloc, if it is empty. + +2020-12-26 Lars Ingebrigtsen + + Kill the scdaemon after doing the mml-sec tests + + * test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent): + Kill the scdaemon, too (bug#43358). + +2020-12-26 Lars Ingebrigtsen + + Fix infloop in memory-report + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): + Fix infloop on circular lists. + +2020-12-25 Lars Ingebrigtsen + + Fix package reloading problems on systems with symlinks + + * lisp/emacs-lisp/package.el (package--files-load-history): We're + comparing the truenames, so ensure that we've using that + everywhere. This fixes problems when there's symlinks in the paths. + +2020-12-25 Lars Ingebrigtsen + + Refactor package--list-loaded-files for easier debuggability + + * lisp/emacs-lisp/package.el (package--files-load-history) + (package--list-of-conflicts): Factor out from... + (package--list-loaded-files): ... this function for easier + debuggability. + +2020-12-25 Lars Ingebrigtsen + + Disable some semantic tests on systems without g++ + + * test/lisp/cedet/semantic-utest-ia.el: Disable g++ tests on + systems without g++. + +2020-12-25 Lars Ingebrigtsen + + Skip some mml tests that rely on CMS if that's not installed + +2020-12-25 Lars Ingebrigtsen + + Fix gpg-agent killing in mml-sec-tests + + * test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent): + Identify the gpg-agent more successfully after the resource dir + makeover. + +2020-12-25 Glenn Morris + + Merge from origin/emacs-27 + + b242bbb073 (origin/emacs-27) ; lisp/org/org.el: Fix Version header. + e0fc939c5f Add more details to the "word processor" section + fda9b3e83a * src/Makefile.in (DO_CODESIGN): Fix expected architecture... + +2020-12-25 Glenn Morris + + Merge from origin/emacs-27 + + 5d46593568 Support build of Emacs on ARM Macos machines + 7f8793e5f1 Update to Org 9.4.4 + 7b3367a0b5 * lisp/so-long.el: Decrease use of passive voice. + a90836c638 * doc/misc/efaq.texi (New in Emacs 27): Add section. + 711fe70dd8 * doc/misc/efaq.texi (Latest version of Emacs): Bump version. + 52b30834fb * lisp/face-remap.el (face-remap-set-base): Doc fix. (Bug... + b3fe0ac62e Correct argument order in comment + +2020-12-25 Michael Albinus + + Tag another Tramp test :unstable on emba + + * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process) + (tramp-test43-asynchronous-requests): Tag them :unstable on emba. + +2020-12-25 Michael Albinus + + Tag Tramp test :unstable + + * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process): + Tag it :unstable on emba. + +2020-12-25 Eli Zaretskii + + Fix last change + + * lisp/international/mule-conf.el (ebcdic-int1, cp256, cp273) + (ebcdic-be, cp274, ebcdic-br, cp275, ebcdic-cp-dk, ebcdic-cp-no) + (cp277, ebcdic-cp-fi, ebcdic-cp-se, cp278, ebcdic-cp-it, cp280) + (ebcdic-jp-e, cp281, ebcdic-cp-es, cp284, ebcdic-cp-gb, cp285) + (ebcdic-jp-kana, cp290, ebcdic-cp-fr, cp297): Remove charset + aliases, they are not really needed. + + * lisp/language/english.el (ibm275): Move from here... + * lisp/language/european.el (ibm275): ...to here. + +2020-12-25 Timo Myyr辰 + + Add support for more EBCDIC code pages IBM2XX + + There was already charset file present in etc/charsets for IBM2XX + character sets but there wasn't definitions for them in Emacs. + Add character set and coding system definitions for them. + * lisp/language/japanese.el (ibm281, ibm290): + * lisp/language/european.el (ibm256, ibm273, ibm274, ibm277) + (ibm278, ibm280, ibm284, ibm285, ibm297): + * lisp/language/english.el (ibm275): New coding systems. + * lisp/international/mule-conf.el (ibm256, ibm273, ibm274) + (ibm275, ibm277, ibm278, ibm280, ibm281, ibm284, ibm285, ibm290) + (ibm297): New charsets. + +2020-12-25 Eli Zaretskii + + Don't compile Gnulib's 'free' on MinGW + + * nt/mingw-cfg.site (gl_cv_func_free_preserves_errno): Set to + "yes" to avoid compiling Gnulib's free.c in the MinGW build. + +2020-12-25 Eli Zaretskii + + Revert "Import posix_spawn from Gnulib." + + This reverts commit 3ba34141da77a24c251ee6530f3f72a366fe556e. + It breaks the MinGW build and should be first tested on a + branch. + +2020-12-25 Eli Zaretskii + + Revert "Use posix_spawn if possible." + + This reverts commit 2c79a8f9210db01c86b0e5f236adeb0509519d30. + It breaks the MinGW build in too many ways, and should be + first tested on a branch. + +2020-12-25 Philipp Stephani + + Use posix_spawn if possible. + + posix_spawn is less error-prone than vfork + execve, and can make + better use of system-specific enhancements like 'clone' on Linux. Use + it if we don't need to configure a pseudoterminal. + + * src/Makefile.in (LIB_POSIX_SPAWN): New variable. + (LIBES): Use it. + + * src/callproc.c (emacs_spawn): Use posix_spawn on Unix-like system if + we don't need to set up a pseudoterminal. + +2020-12-25 Philipp Stephani + + Import posix_spawn from Gnulib. + + posix_spawn is less error-prone than vfork + exec, and can make use of + system-specific optimizations like `clone' on Linux. Import Gnulib + replacement so that we can use recent additions like + `posix_spawn_file_actions_addchdir'. + + The only manual change are to admin/merge-gnulib and .gitignore. All + other changes are due to rerunning merge-gnulib. + + * admin/merge-gnulib (GNULIB_MODULES): Add posix_spawn-related + modules. + * .gitignore: Add new generated files. + +2020-12-25 Paul Eggert + + Update Gnulib. + + All changes in this commit are autogenerated by running + admin/merge-gnulib. + +2020-12-25 Paul Eggert + + Adjust test_module to recent Gnulib changes + + * test/Makefile.in ($(test_module)): Also compile lib/free.c + if it is needed to define rpl_free. + +2020-12-25 Paul Eggert + + Adjust to recent Gnulib changes + + The latest Gnulib merge brought in free-posix, which causes 'free' + to preserve errno. This lets us simplify some Emacs code that + calls 'free'. + * admin/merge-gnulib (GNULIB_MODULES): Add free-posix. + This module is pulled in by canonicalize-lgpl anyway, + so we might as well rely on it. + * lib-src/emacsclient.c (get_current_dir_name): + Sync better with src/sysdep.c. + * lib-src/etags.c (process_file_name, etags_mktmp): + * lib-src/update-game-score.c (unlock_file): + * src/fileio.c (file_accessible_directory_p): + * src/sysdep.c (get_current_dir_name_or_unreachable): + Simplify by assuming that 'free' preserves errno. + * src/alloc.c (malloc_unblock_input): + Preserve errno, so that xfree preserves errno. + * src/sysdep.c (get_current_dir_name_or_unreachable): + Simplify by using strdup instead of malloc+memcpy. + No need for realloc (and the old code leaked memory anyway on + failure); just use free+malloc. + +2020-12-25 Paul Eggert + + Pacify gcc 10.2 -Wanalyzer-null-argument in gtkutil.c + + * src/gtkutil.c (xg_item_label_same_p): Simplify. Without this + simplification, GCC (Ubuntu 10.2.0-13ubuntu1) + -Wanalyzer-null-argument complains about use of NULL where + non-null expected as argument of strcmp. + +2020-12-25 Andrea Corallo + + * Don't emit byte op-code annotations in LIMPLE to optimize for compile-time + + Saves 10~15% in bootstrap time. + + * lisp/emacs-lisp/comp.el (comp-op-case): Don't emit op-code + annotaitons. + (comp-limplify-lap-inst, comp-add-cond-cstrs-simple) + (comp-add-cond-cstrs, comp-tco-func): Update accordingly. + +2020-12-25 Eli Zaretskii + + Add more details to the "word processor" section + + * etc/TODO (Emacs as word processor): Add more details based on + recent discussions. + +2020-12-25 E. Choroba (tiny change) + + cperl-mode: Correctly syntax highlight index/value array slices + + * lisp/progmodes/cperl-mode.el (cperl-init-faces): %array[0, 1] + should use the array face, not the hash one (bug#45373). + +2020-12-25 Thibault Polge + + Make `remove-hook' interactive + + * lisp/subr.el (remove-hook): Make `remove-hook' interactive + (bug#45393). + +2020-12-25 Lars Ingebrigtsen + + Allow `string-limit' to work on encoded strings + + * doc/lispref/strings.texi (Creating Strings): Document it. + + * lisp/emacs-lisp/subr-x.el (string-limit): Allow limiting on + encoded strings. + +2020-12-25 Lars Ingebrigtsen + + Remove `string-slice' -- it's not very well defined + + * doc/lispref/strings.texi (Creating Strings): Ditto. + + * lisp/emacs-lisp/subr-x.el (string-slice): Remove. + +2020-12-24 Lars Ingebrigtsen + + Unbreak the build on *BSD and Macos after previous gnulib merge + + * lib/Makefile.in (DEPFLAGS): Unbreak build on BSD derivatives by + writing all deps files into a single directory (instead of + deps/malloc/*.c). + +2020-12-24 Eli Zaretskii + + Fix the MinGW build broken by Gnulib update + + * nt/mingw-cfg.site (gl_cv_func_readlink_trailing_slash) + (gl_cv_func_readlink_truncate): Define to "yes" to avoid compiling + readlink.c. + +2020-12-24 Eli Zaretskii + + Unbreak the MinGW build broken by recent changes in callproc.c + + * src/w32.h (set_process_dir): + * src/w32proc.c (set_process_dir): Change the argument to 'const + char *'. + * src/lisp.h (make_environment_block): + * src/callproc.c (make_environment_block): Now returns 'char **'. + (exec_failed) [DOS_NT]: Remove unused function. + * src/callproc.c (child_setup): NEW_ARGV and ENV are now 'char **'. + Making them 'const' breaks the MinGW build and is not needed for + other platforms. + * src/callproc.c (emacs_spawn): ARGV and ENVP arguments are now + 'char *', for the same reason. + * src/process.c (create_process): Adapt to above changes. + +2020-12-24 Philipp Stephani + + Update Gnulib. + + All changes in this commit are autogenerated by running + admin/merge-gnulib. + +2020-12-24 Philipp Stephani + + Ensure that Gnulib objects in subdirectories are built correctly. + + * lib/Makefile.in (.c.o): Add missing -o option. + +2020-12-24 Andrea Corallo + + * Memoize `comp-subtype-p' + + * lisp/emacs-lisp/comp-cstr.el (comp-subtype-p): Memoize. + (comp-cstr-ctxt): Add `subtype-p-mem' slot. + +2020-12-24 Andrea Corallo + + * Constrain only mvars that are actually used + + * lisp/emacs-lisp/comp.el (comp-mvar-used-p, comp-collect-mvars) + (comp-collect-rhs): New functions. + (comp-add-cond-cstrs-simple, comp-add-cond-cstrs): Update logic. + (comp-add-cstrs): Call `comp-collect-rhs' before doing anything + else. + +2020-12-24 Andrea Corallo + + * Use `comp-assign-op-p' into dead code elimination pass + + * lisp/emacs-lisp/comp.el (comp-dead-assignments-func): Use + `comp-assign-op-p' in place of `comp-set-op-p'. + +2020-12-24 Andrea Corallo + + * Fix logic for constraining block with multiple predecessors + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords) + (comp-add-cond-cstrs-target-block): Logic update. + +2020-12-24 Andrea Corallo + + Symplify (not t) => nil and (not nil) => t + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-negation): Symplify (not + t) => nil and (not nil) => t. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests. + +2020-12-24 Andrea Corallo + + Extend cstrs pass to match `unless' like code + + * lisp/emacs-lisp/comp.el (comp-emit-assume): Add assertion. + (comp-add-new-block-between): Fix two typos. + (comp-add-cond-cstrs-target-block): Fix typo. + (comp-add-cond-cstrs-simple): Logic update. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + +2020-12-24 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Opencode byte-not. + +2020-12-24 Andrea Corallo + + Extend cstrs pass to match `when' like code + + * lisp/emacs-lisp/comp.el (comp-emit-assume): Better parameter names. + (comp-add-cond-cstrs-simple): New function. + (comp-add-cond-cstrs): Rename assume-target -> block-target. + (comp-add-cstrs): Call `comp-add-cond-cstrs-simple'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add test. + +2020-12-24 Philipp Stephani + + Centralize subprocess creation in a single function. + + Getting the vfork + execve combination right isn't easy, and the code + was partially duplicated between callproc.c and process.c. Centralize + the spawn operation in a single function that deals with the nasty + details. Going forward, we should be able to use posix_spawn from + either libc or Gnulib (or CreateProcessW on Windows) in the non-pty + case. + + * src/callproc.c (emacs_spawn): New function to start an asynchronous + subprocess. Merge code from 'call_process' and 'create_process' into + this function. + (call_process): Use new 'emacs_spawn' function. + (child_setup): Make static, since there are no users outside this + compilation unit left. + (CHILD_SETUP_TYPE): Move from header file, since there are no users + outside this compilation unit left. + + * src/process.c (create_process): Use new 'emacs_spawn' function. + +2020-12-24 Andrea Corallo + + Invert basic block argument order in LIMPLE cond-jump + + * lisp/emacs-lisp/comp.el (comp-emit-cond-jump) + (comp-emit-switch, comp-emit-narg-prologue, comp-add-cond-cstrs): + Invert basic block argument order in LIMPLE cond-jump. + * src/comp.c (emit_limple_insn): Likewise. + +2020-12-24 Alan Mackenzie + + CC Mode: introduce a new cache for brace structures. This fixes bug #45248 + + Also fix three infinite loops. The new cache accelerates backward searches + for struct beginnings in c-looking-at-or-maybe-in-bracelist. + + * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): In the final loop + over unary operators, add a check (> (point) lim) to avoid certain infinite + loops. + (c-beginning-of-decl-1): In the first loop add a similar check on point and + lim. + (c-laomib-loop): New function extracted from + c-looking-at-or-maybe-in-bracelist. + (c-laomib-cache): New buffer local variable. + (c-laomib-get-cache, c-laomib-put-cache, c-laomib-fix-elt) + (c-laomib-invalidate-cache): New functions which implement the cache. + (c-looking-at-or-maybe-in-bracelist): Replace two invocations of + c-go-up-list-backwards with calls to c-parse-state. Extract the new function + c-laomib-loop. Insert code which calls c-laomib-loop minimally, with the help + of the new cache. + + * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialise the new cach + (at mode start). + (c-before-change): Invalidate the new cache. + (c-fl-decl-start): Add an extra check (> (point) bod-lim) to prevent looping. + Determine the enclosing brace to pass as arguments to + c-looking-at-or-maybe-in-bracelist. + +2020-12-24 Stefan Monnier + + * src/dispnew.c (sit_for): Fix bug#45292 + + When reading, prefer staying in the selected-window over preserving + the current-buffer. + +2020-12-24 Stefan Monnier + + * lisp/emacs-lisp/lisp-mnt.el (lm-section-end): Stop at the right heading + + `lisp-outline-level` assumes the match-data is that set by + `outline-regexp`. + +2020-12-23 TEC + + authinfo-mode: add option to not hide any elements (and add font-lock) + + * lisp/auth-source.el (authinfo-hide-elements): New user option. + (authinfo--keywords): New variable. + (authinfo-mode): Use it. + (authinfo--hide-passwords): Use doc-face instead of warning for + the passwords. + (authinfo--toggle-display): Ditto. + +2020-12-23 Adam Porter + + * lisp/tab-line.el: New options, faces, and functions + + * lisp/tab-line.el: + (tab-line-tab-face-functions): New option. + (tab-line-tab-inactive-alternate): New face. + (tab-line-tab-special): New face. + (tab-line-tab-face-inactive-alternating): New function. + (tab-line-tab-face-special): New function. + (tab-line-format-template): Use them. + + * etc/NEWS: Update. + + With thanks to Juri Linkov and Eli Zaretskii for their guidance. + +2020-12-23 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-23 Philipp Stephani + + * src/Makefile.in (DO_CODESIGN): Fix expected architecture name. + +2020-12-23 Philipp Stephani + + Declare argument vector as char *const *. + + This matches the signature of execve. + + * src/callproc.c (child_setup): Declare NEW_ARGV as char *const *. + +2020-12-23 Philipp Stephani + + * .clang-format (ColumnLimit): Fix line length. + +2020-12-23 Lars Ingebrigtsen + + Support build of Emacs on ARM Macos machines + + * configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit + ARM) (bug#43369). + +2020-12-23 Philipp Stephani + + Pass C string pointer to current directory to 'child_setup'. + + This avoids the impression that 'child_setup' could do anything + Lisp-related. + + * src/callproc.c (child_setup): Pass C pointer to current directory + name. + (call_process): Adapt callers. + + * src/process.c (create_process): Adapt callers. + +2020-12-23 Andrea Corallo + + Negate only values while constraining variables (bug#45376) + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-value-negation): New + function. + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use + `comp-cstr-value-negation'. + * test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename. + (comp-test-45376-2-f): New funcion. + * test/src/comp-tests.el (bug-45376-1): Rename test. + (bug-45376-2): Add test. + +2020-12-23 Andrea Corallo + + * Fix non range cstr union operation + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous): Add + range parameter and handle the non range case. + (comp-cstr-union-1-no-mem, comp-cstr-intersection-no-mem): Update + `comp-cstr-union-homogeneous' call sites. + +2020-12-23 Philipp Stephani + + Allocate environment block before forking. + + While 'child_setup' carefully avoids calls to async-signal-unsafe + functions like 'malloc', it seems simpler and less brittle to use + normal allocation outside the critical section between 'fork' and + 'exec'. + + * src/callproc.c (make_environment_block): New function to create the + environment block for subprocesses. Code largely extracted from + 'child_setup' and adapted to use 'xmalloc' instead of 'alloca'. + (child_setup): Remove environment block allocation in favor of + passing the environment block as command-line argument. + (call_process): Adapt to new calling convention. + + * src/process.c (create_process): Adapt to new calling convention. + +2020-12-23 Andrea Corallo + + * Follow cstr basic blocks to perform latch recognition + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix latch + recognition. + +2020-12-23 Philipp Stephani + + Reject filenames containing NUL bytes. + + Such filenames are dangerous, as Emacs would silently only use the + part up to the first NUL byte. Reject them explicitly instead. + + * src/coding.c (encode_file_name_1): New helper function. + (encode_file_name): Check that encoded filename doesn't contain a + NUL byte. + (syms_of_coding): Define 'filenamep' symbol. + + * test/src/fileio-tests.el (fileio-tests/null-character): New unit + test. + + * etc/NEWS: Document change. + +2020-12-23 Philipp Stephani + + Remove an unused parameter from 'child_setup' function. + + * src/callproc.c (child_setup): Remove unused SET_PGRP parameter. + + * src/callproc.c (call_process): + * src/process.c (create_process): Fix all callers. + +2020-12-23 Andrea Corallo + + Make input constraints into memoization hash immutable (bug#45376) + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1) + (comp-cstr-intersection): Copy input before soting it into the + memoization hash table. + +2020-12-23 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-copy): Tweak for perf. + +2020-12-23 Juri Linkov + + Show image as text when trying to search/replace in image buffer (bug#25905) + + * lisp/image-mode.el (image-mode-isearch-filter): New function. + (image-mode--setup-mode): Use it to add it as :before-while to + isearch-filter-predicate. + +2020-12-23 Lars Ingebrigtsen + + Improve the string-limit doc string + + * lisp/emacs-lisp/subr-x.el (string-limit): Mention + truncate-string-to-width in the doc string. + +2020-12-23 Lars Ingebrigtsen + + Allow string-slice to take zero-length matches + + * lisp/emacs-lisp/subr-x.el (string-slice): Allow zero-length + matches. Code adapted from s.el by Magnar Sveen. + +2020-12-23 Lars Ingebrigtsen + + Revert recent server.el frame-focus changes + + * lisp/server.el (server-switch-buffer, server-execute): Revert + 9cef8fc8cdb5e6e18c9cf617eed3808d67ca340e and + c5f2eb56c0164e87abc881955552e0b718921186. This change led to + regressions in non-new-frame circumstances. + +2020-12-23 ukasz Stelmach + + Handle gracefully href="" in base tags in shr + + * net/shr.el (shr-tag-base): shr-parse-base can't handle empty + strings gracefully. Don't call it unless href is a non-empty + string (bug#45355). + +2020-12-23 Stefan Kangas + + Fix use of obsolete 'emergency' warning level + + * src/alloc.c (display_malloc_warning): Use new style ':emergency' + warning level instead of obsolete 'emergency'. + +2020-12-23 Zajcev Evgeny + + Fix use of obsolete 'error' warning level + + * src/fileio.c (auto_save_error): Use new style ':error' warning level + instead of obsolete 'error'. + +2020-12-23 Alan Third + + Use new NSString lisp methods + + * src/nsfont.m (ns_otf_to_script): + (ns_registry_to_script): + (ns_get_req_script): Use NSString conversion methods. + * src/nsimage.m ([EmacsImage allocInitFromFile:]): Use NSString + conversion methods. + * src/nsmenu.m (ns_menu_show): Use NSString conversion methods. + * src/nsselect.m (symbol_to_nsstring): + (ns_string_to_pasteboard_internal): Use NSString conversion methods. + * src/nsterm.m (ns_term_init): + ([EmacsView initFrameFromEmacs:]): Use NSString conversion methods. + * src/nsxwidget.m (nsxwidget_webkit_uri): + (nsxwidget_webkit_title): + (js_to_lisp): Use NSString conversion methods. + (build_string_with_nsstr): Functionality replaced by NSString + extensions. + +2020-12-22 Liu, Kiong-G 綮絎罸 (tiny change) + + Fix --with-nativecomp Windows build (bug#45303) + + Liu, Kiong-G 綮絎罸 + + * src/comp.c (eln_load_path_final_clean_up): Fix argument order. + * nt/mingw-cfg.site (ac_cv_func_strsignal): Force + `ac_cv_func_strsignal' to no. + +2020-12-22 Alan Mackenzie + + Align the word "Function" in profiler's headers over the actual functions + + * lisp/profiler.el (profiler-report-render-calltree-1): Replace two + occurrences of "Function" with " Function". + +2020-12-22 Eric Abrahamsen + + Ensure that Gnus servers are open(able) before searching them + + * lisp/gnus/gnus-search.el (gnus-search-run-search): Imap servers need + to be opened (made into the "current server") before we manipulate the + nnimap-buffer. + (gnus-search-run-search): Sneakily fix regexp. + (gnus-search-indexed-parse-output): We need to pass the server name in + here, otherwise nnmaildir won't know how to make this the "current + server". + +2020-12-22 Alan Mackenzie + + Align profiler's header-line-format to column 0, to work correctly on tty's + + * lisp/profiler.el (profiler-report-header-line-format): Propertize the first + space with 'display '(space :align-to 0). + +2020-12-22 Alan Mackenzie + + Re-order the items in `profiler-report' output. + + Putting the usage figures first on the line will eliminate the truncation of + function names. + + lisp/profiler.el (profiler-version): Change to "28.1". + (profiler-format): Enhance, so that a width of zero means print the string + without padding or truncation. + (profiler-report-cpu-line-format, profiler-report-memory-line-format): Amend + for the new layout. The number of places for the cpu samples has been reduced + from 19 to 12 (enough for ~30 years at 1,000 samples per second). + (profiler-report-line-format, profiler-report-describe-entry): Amend for the + new order of arguments to profiler-format. + + etc/NEWS (Specialized Modes): Add an entry documenting this change. + + doc/lispref/debugging.texi (Profiling): Describe the new ordering of the items + in place of the old ordering. + +2020-12-22 Michael Albinus + + Reorganize Tramp header lines + + * lisp/net/tramp.el: Move header lines Version, Package-Requires, + Package-Type and URL ... + * lisp/net/trampver.el: ... here. + +2020-12-22 Bastien Guerry + + Update to Org 9.4.4 + +2020-12-22 Daniel Mart鱈n + + Fix wdired-get-filename when ls -F marks symlinks + + * lisp/wdired.el (wdired-get-filename): In some systems like BSD or + macOS, "ls -F" marks symlinks with a trailing "@". Add logic + accounting for this so that wdired-get-filename returns the correct + filename. This change also fixes test "wdired-test-bug34915" on macOS + and BSD systems (bug#34915). + +2020-12-22 Lars Ingebrigtsen + + Make string-pad take an optional START parameter + + * lisp/emacs-lisp/subr-x.el (string-pad): Alter the calling + convention. + +2020-12-22 Lars Ingebrigtsen + + Change the string-limit parameter semantics + + * lisp/emacs-lisp/subr-x.el (string-limit): Alter the calling + convention. + +2020-12-22 Lars Ingebrigtsen + + Further string-clean-whitespace tweaks + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Put \r + back, which was mistakenly removed. + +2020-12-22 Dmitry Gutov + + (ruby-mode-set-encoding): Use 'save-restriction' + + * lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding): + Use 'save-restriction' (bug#45349). + +2020-12-21 Basil L. Contovounesios + + Tiny string-clean-whitespace simplification + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Streamline by + treating replacement string as being literal and having fixed case. + +2020-12-21 Lars Ingebrigtsen + + Make string-chop-newline more efficient + + * lisp/emacs-lisp/subr-x.el (string-chop-newline): Make more + efficient. + +2020-12-21 Lars Ingebrigtsen + + Make string-clean-whitespace work on non-ASCII whitespace, too + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Also clean + up non-ASCII whitespace. + +2020-12-21 Lars Ingebrigtsen + + Add try-completion to the string shortdoc + + * lisp/emacs-lisp/shortdoc.el (string): Mention try-completion here. + +2020-12-21 Lars Ingebrigtsen + + Add string-chop-newline + + * doc/lispref/strings.texi (Creating Strings): Document it. + * lisp/emacs-lisp/subr-x.el (string-chop-newline): Add new function. + +2020-12-21 Lars Ingebrigtsen + + Fix shorter-than-length case for string-limit + + * lisp/emacs-lisp/subr-x.el (string-limit): Fix + shorter-than-length case. + +2020-12-21 Andrea Corallo + + * Fix a test in auth-source-tests.el + + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Redefine `read-string' + respecting the original number of arguments. + +2020-12-21 Andrea Corallo + + * Fix a bunch of known type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fixes for: + =, string-search, substring. + +2020-12-21 Andrea Corallo + + Fix `comp-add-call-cstr' and add a test + + * lisp/emacs-lisp/comp.el (comp-add-call-cstr): Fix it. + * test/src/comp-tests.el (assume-in-loop-1): New test. + * test/src/comp-test-funcs.el (comp-test-assume-in-loop-1-f): New + function. + +2020-12-21 Andrea Corallo + + Fix value type inference for doubly negate constraints + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Do not propagate in + case of double negation. + * test/src/comp-test-funcs.el (comp-test-assume-double-neg-f): + New function. + * test/src/comp-tests.el (assume-double-neg): New test. + +2020-12-21 Andrea Corallo + + Fix native compiler tests when they are bytecompiled + + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-ts) + (comp-cstr-typespec-test, comp-cstr-typespec-tests-alist): Eval + also at compile time. + * test/src/comp-tests.el (comp-tests-type-spec-tests) + (comp-tests-define-type-spec-test): Likewise. + +2020-12-21 Andrea Corallo + + Simplify correctly (or (integer 1 1) (not (integer 1 1))) as t + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Logic + update. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + +2020-12-21 Andrea Corallo + + * Guarantee fwprop convergence and termination + + * lisp/emacs-lisp/comp.el (comp-emit-call-cstr): Have new-mvar as + LHS *and* RHS when constraining in and to ensure monotonicity and + fwprop convergence. + (comp-fwprop): Raise a warning for debug reasons in case fwprop + does not converge within 100 iterations. + +2020-12-21 Andrea Corallo + + * Allow for overlapping src and dst in cstr set operations + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem) + (comp-cstr-union-1, comp-cstr-intersection-no-mem) + (comp-cstr-intersection): Logic update. + +2020-12-21 Andrea Corallo + + Symplify type specifier (not t) as nil + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): + Add logic. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests. + +2020-12-21 Andrea Corallo + + Enhance type inference constraining function arguments + + * lisp/emacs-lisp/comp.el: Add some commentary. + (comp-cond-cstrs-target-mvar): Rename and update docstring. + (comp-add-cond-cstrs): Update to use + `comp-cond-cstrs-target-mvar'. + (comp-emit-call-cstr, comp-lambda-list-gen, comp-add-call-cstr): + New functions. + (comp-add-cstrs): Call `comp-add-call-cstr'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update two + type specifier tests. + +2020-12-21 Andrea Corallo + + * Allow for modifying insn-cell inside `comp-loop-insn-in-block' + + * lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): Update. + +2020-12-21 Andrea Corallo + + * Rename comp-cond-cstr into comp-add-cstrs + + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-mvar) + (comp-add-cond-cstrs, comp-add-cstrs): Rename comp-cond-cstr + -> comp-add-cstrs. + +2020-12-21 Andrea Corallo + + * Two minors in comp.el + + * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h) + (comp-ret-type-spec): Style. + +2020-12-21 Andrea Corallo + + * Add a type specifier test to comp-cstr-tests.el + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + +2020-12-21 Andrea Corallo + + * Enumerate and split type specifier tests in comp-tests.el to ease debug + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Enumerate. + (comp-tests-define-type-spec-test): New function. + (comp-tests-define-type-spec-tests): New macro to expand tests. + +2020-12-21 Andrea Corallo + + * Improve constraint simplification logic in comp-cstr.el + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): + Simplify. + (comp-cstr-empty-p): New Funchion. + (comp-split-pos-neg): Minor. + (comp-normalize-typeset): Logic update. + (comp-union-typesets): Minor. + (comp-intersect-two-typesets): New functio. + (comp-intersect-typesets): Logic update. + (comp-range-union, comp-range-intersection): Minor. + (comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem) + (comp-cstr-intersection-homogeneous) + (comp-cstr-intersection-no-mem, comp-cstr-negation) + (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Logic update. + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): Simplify. + +2020-12-21 Lars Ingebrigtsen + + Rename slice-string to string-slice + + * lisp/emacs-lisp/subr-x.el (string-slice): Rename from slice-string. + * doc/lispref/strings.texi (Creating Strings): Ditto. + +2020-12-21 Lars Ingebrigtsen + + Add `string-pad' + + * doc/lispref/strings.texi (Creating Strings): Document it. + * lisp/emacs-lisp/shortdoc.el (string): Add example. + + * lisp/emacs-lisp/subr-x.el (string-pad): New function. + +2020-12-21 Andrea Corallo + + * Fix a number of type specifier simplification tests + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix a number of tests. + +2020-12-21 Andrea Corallo + + * Improve comp-fwprop pass + + Wire-up comp-cstr.el routines in fwprop and constraint mvars also on + the else side of branches. + + * lisp/emacs-lisp/comp.el (comp-emit-assume) + (comp-cond-cstr-target-mvar, comp-cond-cstr-func) + (comp-fwprop-insn): Logic update. + (comp-mvar-value-vld-p, comp-mvar-propagate, comp-fwprop-call): + Handle neg slot. + +2020-12-21 Lars Ingebrigtsen + + Beef up the Emacs string utility set a bit + + * doc/lispref/strings.texi (Modifying Strings): Document them. + * lisp/emacs-lisp/shortdoc.el (string): Add examples. + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace) + (string-fill, string-limit, string-lines, slice-string): New + functions. + +2020-12-21 Stefan Kangas + + * lisp/so-long.el: Decrease use of passive voice. + + Suggested by Richard Stallman . + +2020-12-21 Eli Zaretskii + + Fix frame creation on X when tool bar is disabled + + * src/xterm.c (handle_one_xevent): Restrict the fix for bug#44002 + to situations when we are asked by the WM to create a window with + bogus 1x1 dimensions. (Bug#44794) + +2020-12-21 Andrea Corallo + + * Add mvar pretty print support when dumping LIMPLE + + * lisp/emacs-lisp/comp.el (comp-prettyformat-mvar) + (comp-prettyformat-insn): New function. + (comp-log-func): Update to use `comp-prettyformat-insn'. + (comp-finalize-phis): Change LIMPLE phi format to ease + `comp-prettyformat-insn' destructuring. + +2020-12-21 Michael Albinus + + Fix permission problem in Tramp's copy-file + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly): + Take care of PRESERVE-UID-GID. + +2020-12-21 Stefan Kangas + + * doc/misc/efaq.texi (New in Emacs 27): Add section. + +2020-12-21 Stefan Kangas + + Drop XEmacs support for EDE ELisp projects + + * lisp/cedet/ede/proj-elisp.el (ede-proj-target-elisp): Remove + XEmacs support. + (ede-xemacs-compiler): Make obsolete. + +2020-12-21 Stefan Kangas + + * doc/misc/efaq.texi (Latest version of Emacs): Bump version. + +2020-12-21 Andrea Corallo + + Fix Windows build link-time zlib error (bug#45303) + + * src/lisp.h (md5_gz_stream): Declare. + * src/comp.c (accumulate_and_process_md5) + (final_process_md5, md5_gz_stream): Remove. + * src/decompress.c (accumulate_and_process_md5) + (final_process_md5, md5_gz_stream): Move from comp.c. + +2020-12-21 Andrea Corallo + + * src/comp.c (eln_load_path_final_clean_up): Fix call arg order (bug#45303). + + * src/comp.c (Fcomp__compile_ctxt_to_file): Fix sigmask store/restore. + +2020-12-21 Lars Ingebrigtsen + + Fix problem with entering Gnus groups when Gnus isn't running + + * lisp/gnus/gnus-sum.el (gnus-update-summary-mark-positions): + Don't bug out when Gnus isn't running (bug#45330). + +2020-12-21 Dario Gjorgjevski + + Make python-mode fontify more assignment statements + + * lisp/progmodes/python.el (python-font-lock-assignment-matcher): New + function to match assignment statements. + (python-rx): Add `assignment-target' and `grouped-assignment-target'. + (python-font-lock-keywords-maximum-decoration): Add new matchers + (bug#45341). + +2020-12-21 Dmitry Gutov + + Generic-ify xref-location-column + + * lisp/progmodes/xref.el (xref-location-column): + Create a generic from xref-file-location-column, to use in the + common rendering code (bug#36967). + (xref--insert-xrefs): Update accordingly. + + * test/lisp/progmodes/xref-tests.el + (xref-matches-in-directory-finds-two-matches-on-the-same-line) + (xref-matches-in-directory-finds-an-empty-line-regexp-match): + Ditto. + +2020-12-21 Juri Linkov + + De-duplicate lines in Xref buffers + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Render matches coming from the same line together (bug#36967). + (xref--item-at-point): Account for the above. + +2020-12-21 Philipp Stephani + + Unbreak build after commit 1a0a11f7d2d1dbecb9f754b1e129d50e489058e6. + + The commit only changed a comment in 'struct buffer', so the portable + dumper doesn't need to be adapted. + + * src/pdumper.c (dump_buffer): Update hash for 'struct buffer'. + +2020-12-20 Alan Third + + Fix image cache lookup + + * src/image.c (lookup_image): ignore_colors should be false as we want + to search for images with matching colors. + +2020-12-20 Alan Third + + Remove unnecessary string conversion + + * src/nsfns.m (ns_set_represented_filename): NSString can load List + strings directly now. + +2020-12-20 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-20 Andrea Corallo + + Have native compiler always preserve multibyte strings (bug#45342) + + * lisp/emacs-lisp/comp.el (comp-final): Escape multibyte string + when offloading compilation to child process. + * test/src/comp-test-funcs.el (comp-test-45342-f): New function + * test/src/comp-tests.el (bug-45342): New test + +2020-12-20 Juri Linkov + + * lisp/simple.el (goto-line-read-args): Use number-at-point (bug#45199) + + * lisp/subr.el (goto-char--read-natnum-interactive): Add the value of + point to the end of default values, and move function slightly higher. + +2020-12-20 Andrea Corallo + + * Fix missing 'gcc_jit_type_get_const' macro definition (bug#45303). + + * src/comp.c (gcc_jit_type_get_pointer): Define macro. + +2020-12-20 Michael Albinus + + Improve make-process in Tramp + + * doc/misc/tramp.texi (Remote processes): Remove INSIDE_EMACS + restriction. + (Frequently Asked Questions, External packages): Add indices. + + * etc/NEWS: 'start-process-shell-command' and + 'start-file-process-shell-command' do not support the old calling + conventions any longer. + + * lisp/subr.el (start-process-shell-command) + (start-file-process-shell-command): Remove old calling conventions. + + * lisp/net/tramp-compat.el (remote-file-error): Remove, it isn't + necessary. + + * lisp/net/tramp.el (tramp-handle-make-process): Remove special shell + handling. Support environment variables. + + * test/lisp/net/tramp-tests.el + (tramp--test--deftest-direct-async-process): Skip for mock method. + (tramp--test-async-shell-command): Suppress `shell-command-sentinel'. + (tramp-test32-shell-command, tramp-test33-environment-variables): + Adapt tests. + (tramp-test32-shell-command-direct-async) + (tramp-test33-environment-variables-direct-async): New tests. + +2020-12-20 Basil L. Contovounesios + + Inhibit buffer hooks in temporary buffers + + Give get-buffer-create an optional argument to inhibit buffer hooks + in internal or temporary buffers for efficiency (bug#34765). + + * etc/NEWS: Announce new parameter of get-buffer-create and + generate-new-buffer, and that with-temp-buffer and with-temp-file + now inhibit buffer hooks. + + * doc/lispref/buffers.texi (Buffer Names): Fix typo. + (Creating Buffers): Document new parameter of get-buffer-create and + generate-new-buffer. + (Buffer List, Killing Buffers): Document when buffer hooks are + inhibited. + (Current Buffer): + * doc/lispref/files.texi (Writing to Files): Document that + with-temp-buffer and with-temp-file inhibit buffer hooks. + * doc/lispref/internals.texi (Buffer Internals): Document + inhibit_buffer_hooks flag. Remove stale comment. + * doc/misc/gnus-faq.texi (FAQ 5-8): + * lisp/simple.el (shell-command-on-region): Fix indentation. + + * lisp/files.el (kill-buffer-hook): Document when hook is inhibited. + (create-file-buffer): + * lisp/gnus/gnus-uu.el (gnus-uu-unshar-article): + * lisp/international/mule.el (load-with-code-conversion): + * lisp/mh-e/mh-xface.el (mh-x-image-url-fetch-image): + * lisp/net/imap.el (imap-open): + * lisp/net/mailcap.el (mailcap-maybe-eval): + * lisp/progmodes/flymake-proc.el + (flymake-proc--read-file-to-temp-buffer) + (flymake-proc--copy-buffer-to-temp-buffer): Simplify. + + * lisp/subr.el (generate-new-buffer): Forward new optional argument + to inhibit buffer hooks to get-buffer-create. + (with-temp-file, with-temp-buffer, with-output-to-string): + * lisp/json.el (json-encode-string): Inhibit buffer hooks in buffer + used. + + * src/buffer.c (run_buffer_list_update_hook): New helper function. + (Fget_buffer_create): Use it. Add optional argument to set + inhibit_buffer_hooks flag instead of comparing the buffer name to + Vcode_conversion_workbuf_name. All callers changed. + (Fmake_indirect_buffer, Frename_buffer, Fbury_buffer_internal) + (record_buffer): Use run_buffer_list_update_hook. + (Fkill_buffer): Document when buffer hooks are inhibited. Use + run_buffer_list_update_hook. + (init_buffer_once): Inhibit buffer hooks in Vprin1_to_string_buffer. + (Vkill_buffer_query_functions, Vbuffer_list_update_hook): Document + when hooks are inhibited. + * src/buffer.h (struct buffer): Update inhibit_buffer_hooks + commentary. + * src/coding.h (Vcode_conversion_workbuf_name): + * src/coding.c (Vcode_conversion_workbuf_name): Make static again + since it is no longer needed in src/buffer.c. + (code_conversion_restore, code_conversion_save, syms_of_coding): + Prefer boolean over integer constants. + * src/fileio.c (Finsert_file_contents): Inhibit buffer hooks in + " *code-converting-work*" buffer. + * src/window.c (Fselect_window): Fix grammar. Mention + window-selection-change-functions alongside buffer-list-update-hook. + + * test/src/buffer-tests.el: Fix requires. + (buffer-tests-inhibit-buffer-hooks): New test. + +2020-12-20 Mattias Engdeg奪rd + + image-cache-size improvements + + Implement for non-Cairo X11 and NS. Count masks as well, and + XImage objects on X11. + + * src/image.c (image_size_in_bytes): New. + (image_frame_cache_size): Use image_size_in_bytes. + * src/nsterm.h: + * src/nsimage.m (ns_image_size_in_bytes, [EmacsImage sizeInBytes]): + New function and method. + * src/w32gui.h: + * src/w32term.c (w32_image_size): Update signature. + +2020-12-20 Eric Abrahamsen + + Fix default value of gnus-registry-register-all: should be t + + * lisp/gnus/gnus-registry.el (gnus-registry-register-all): This was + meant to default to t; only an oversight during code review left it as + nil. + +2020-12-19 Dmitry Gutov (tiny change) + + Jamie Beardslee + + * lisp/progmodes/project.el (project-execute-extended-command): + New command. + (project-prefix-map): Binding for it. + +2020-12-19 Andrea Corallo + + Add 'internal_condition_case_5' (bug#45303). + + * src/lisp.h (internal_condition_case_4) + (internal_condition_case_5): Declare. + * src/eval.c (internal_condition_case_5): New function. + * src/comp.c (eln_load_path_final_clean_up): Use + 'internal_condition_case_5'. + +2020-12-19 Juri Linkov + + * lisp/image-mode.el: Use one timer and lock for slow remote calls (bug#45256) + + * lisp/image-mode.el (image-auto-resize-timer): New variable. + (image--window-state-change): Cancel previous timer and + remember new timer in image-auto-resize-timer. + (image--window-state-change): New variable. + (image-fit-to-window): When image-fit-to-window-lock is nil, + call image-toggle-display-image ignoring 'remote-file-error'. + +2020-12-19 Juri Linkov + + No need to set isearch-input-method-function in isearch-transient-input-method + +2020-12-19 Andrea Corallo + + * Add 'gcc_jit_type_get_const' to Windows dynamic load machinery (bug#45303). + + * src/comp.c: Add 'gcc_jit_type_get_const' to windows dynamic + load machinery. + +2020-12-19 Stefan Kangas + + Convert apropos-internal from C to Lisp (Bug#44529) + + This runs insignificantly faster in C, and is already fast enough on + reasonably modern hardware. We might as well lift it to Lisp. + This benchmark can be used to verify: + + (benchmark-run 10 (apropos-command "test")) + => (0.12032415399999999 2 0.014772391999999995) ; C + => (0.13513192100000002 2 0.017216643000000004) ; Lisp + + * lisp/subr.el (apropos-internal): New defun, converted from C. + * src/keymap.c (Fapropos_internal): Remove defun. + (apropos_accum): Remove function. + (apropos_predicate, apropos_accumulate): Remove variables. + (syms_of_keymap): Remove defsubr for Fapropos_internal, and + definitions of the above variables. + * test/src/keymap-tests.el (keymap-apropos-internal) + (keymap-apropos-internal/predicate): Move tests from here... + * test/lisp/subr-tests.el (apropos-apropos-internal) + (apropos-apropos-internal/predicate): ...to here. + +2020-12-19 Eli Zaretskii + + * lisp/face-remap.el (face-remap-set-base): Doc fix. (Bug#45264) + +2020-12-19 Vasilij Schneidermann + + Correct argument order in comment + + * etc/ETAGS.EBNF (position): Correct comment. + +2020-12-19 Stefan Kangas + + Shorten some over-wide docstrings in functions and macros + + * lisp/allout-widgets.el (allout-widgets-tally-string): + * lisp/array.el (array-mode): + * lisp/calc/calc-units.el (calc-spn): + * lisp/cedet/ede/generic.el (ede-generic-new-autoloader): + * lisp/cedet/semantic/analyze.el (semantic-analyze-find-tag-sequence-default) + (semantic-analyze-find-tag-sequence): + * lisp/cedet/semantic/bovine/c.el (semantic-c-evaluate-symbol-for-hideif): + * lisp/cedet/semantic/bovine/make.el (semantic-lex-make-command): + * lisp/cedet/semantic/db-typecache.el (semanticdb-typecache-include-tags): + * lisp/cedet/semantic/doc.el (semantic-documentation-for-tag): + * lisp/cedet/semantic/tag-ls.el (semantic--tag-attribute-similar-p): + * lisp/emacs-lisp/advice.el (ad-map-arglists): + * lisp/emacs-lisp/bytecomp.el (byte-constant2) + (byte-save-restriction, byte-catch-OBSOLETE, byte-unwind-protect): + * lisp/emacs-lisp/cl-generic.el (cl-generic-combine-methods): + * lisp/emacs-lisp/seq.el (seq-partition, seq-set-equal-p) + (seq-filter): + * lisp/faces.el (face-attribute-specified-or, face-equal): + * lisp/info.el (Info-prev-reference-or-link) + (Info-next-reference-or-link): + * lisp/isearch.el (with-isearch-suspended): + * lisp/kmacro.el (kmacro-step-edit-macro, kmacro-set-counter): + * lisp/org/org-agenda.el (org-agenda-filter-by-category): + * lisp/ses.el (ses-cell-symbol): + * lisp/w32-fns.el (w32-shell-dos-semantics): Shorten doc strings to + not exceed 80-column limits. (Bug#44858) + +2020-12-19 Stefan Kangas + + Shorten over-wide docstrings in variables + + * lisp/cedet/semantic/util-modes.el (semantic-highlight-func-popup-menu): + * lisp/emacs-lisp/elint.el (elint-top-form-logged): + * lisp/erc/erc-dcc.el (erc-dcc-list): + * lisp/expand.el (expand-pos): + * lisp/font-lock.el (cpp-font-lock-keywords-source-depth): + * lisp/gnus/gnus-sum.el (gnus-sort-gathered-threads-function): + * lisp/gnus/message.el (message-cite-style-thunderbird): + * lisp/gnus/nnmh.el (nnmh-be-safe): + * lisp/gnus/nntp.el (nntp-open-telnet-envuser): + * lisp/international/mule-cmds.el (current-transient-input-method): + * lisp/net/tramp.el (tramp-file-name-structure): + * lisp/org/ob-R.el (org-babel-R-write-object-command): + * lisp/org/org-attach.el (org-attach-after-change-hook): + * lisp/org/org.el (org-stamp-time-of-day-regexp): + * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): + * lisp/progmodes/ruby-mode.el (ruby-block-mid-re): + * lisp/progmodes/verilog-mode.el (verilog-cache-enabled): + * lisp/term.el (term-scroll-end): + * lisp/textmodes/table.el (table-command-remap-alist) + (table-inhibit-auto-fill-paragraph, table-command-remap-alist): + * lisp/vc/ediff-diff.el (ediff-ignore-similar-regions): + * lisp/vc/ediff-wind.el (ediff-mouse-pixel-threshold): + * lisp/vc/smerge-mode.el (smerge-refine-ignore-whitespace): + * lisp/vc/vc.el (vc-log-short-style): + * lisp/view.el (view-exit-action): Shorten doc strings to not exceed + 80-column limits. (Bug#44858) + +2020-12-19 Stefan Kangas + + Shorten over-wide docstrings in defcustoms + + * lisp/calc/calc.el (calc-embedded-announce-formula-alist) + (calc-embedded-open-formula, calc-embedded-close-formula) + (calc-matrix-mode): + * lisp/cedet/semantic/imenu.el (semantic-imenu-sort-bucket-function): + * lisp/emacs-lisp/find-func.el (find-feature-regexp): + * lisp/emulation/cua-base.el (cua-paste-pop-rotate-temporarily): + * lisp/emulation/viper-init.el (viper-fast-keyseq-timeout) + (viper-related-files-and-buffers-ring): + * lisp/emulation/viper-keym.el (viper-want-ctl-h-help): + * lisp/gnus/gnus-art.el (gnus-article-banner-alist): + * lisp/gnus/gnus-group.el (gnus-keep-same-level): + * lisp/gnus/gnus-score.el (gnus-adaptive-word-length-limit): + * lisp/gnus/gnus-sum.el (gnus-inhibit-user-auto-expire): + * lisp/gnus/gnus-uu.el (gnus-uu-ignore-files-by-type) + (gnus-uu-do-not-unpack-archives) + (gnus-uu-unmark-articles-not-decoded) + (gnus-uu-correct-stripped-uucode, gnus-uu-save-in-digest) + (gnus-uu-post-include-before-composing): + * lisp/gnus/gnus.el (gnus-use-long-file-name) + (gnus-install-group-spam-parameters): + * lisp/gnus/message.el (message-cite-style): + * lisp/gnus/nnmail.el + (nnmail-split-fancy-with-parent-ignore-groups) + (nnmail-cache-ignore-groups): + * lisp/ido.el (ido-rewrite-file-prompt-functions): + * lisp/mail/feedmail.el (feedmail-fiddle-plex-user-list) + (feedmail-spray-address-fiddle-plex-list): + * lisp/mh-e/mh-e.el (mh-annotate-msg-hook): + * lisp/net/imap.el (imap-process-connection-type): + * lisp/net/rcirc.el (rcirc-omit-threshold): + * lisp/net/tramp-sh.el (tramp-copy-size-limit): + * lisp/nxml/nxml-mode.el (nxml-default-buffer-file-coding-system): + * lisp/obsolete/landmark.el (landmark-max-stall-time): + * lisp/obsolete/tls.el (tls-checktrust): + * lisp/org/org-indent.el + (org-indent-mode-turns-off-org-adapt-indentation) + (org-indent-mode-turns-on-hiding-stars): + * lisp/org/org-protocol.el (org-protocol-project-alist): + * lisp/progmodes/cc-vars.el (c-doc-comment-style): + * lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially): + * lisp/progmodes/flymake-proc.el (flymake-proc-allowed-file-name-masks): + * lisp/progmodes/hideif.el (hide-ifdef-expand-reinclusion-protection): + * lisp/simple.el (minibuffer-history-case-insensitive-variables): + * lisp/tab-bar.el (tab-bar-close-last-tab-choice): + * lisp/textmodes/reftex-vars.el + (reftex-special-environment-functions): + * lisp/vc/ediff-init.el (ediff-startup-hook, ediff-cleanup-hook) + (ediff-metachars): + * lisp/vc/ediff-merg.el (ediff-show-clashes-only): + * lisp/vc/ediff-mult.el (ediff-default-filtering-regexp): Shorten doc + strings to not exceed 80-column limits. (Bug#44858) + +2020-12-19 Mattias Engdeg奪rd + + Correct units and spacing in memory-report + + * lisp/emacs-lisp/memory-report.el (memory-report--format): + Use IEC unit prefixes and a space before. + +2020-12-19 Basil L. Contovounesios + + Set indent-tabs-mode for c-mode in .dir-locals.el + + * .dir-locals.el (c-mode): Enforce existing indent-tabs-mode + policy. (Bug#34765) + +2020-12-19 Eli Zaretskii + + Fix over-wide doc strings + + * lisp/vc/ediff-init.el (ediff-before-flag-bol) + (ediff-after-flag-eol, ediff-before-flag-mol): + * lisp/org/org-ctags.el (org-ctags-open-link-functions): + * lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out): + * lisp/language/ethio-util.el (ethio-use-three-dot-question) + (ethio-quote-vowel-always, ethio-W-sixth-always): + * lisp/gnus/nnvirtual.el (nnvirtual-mapping-table) + (nnvirtual-mapping-offsets, nnvirtual-mapping-reads) + (nnvirtual-mapping-marks, nnvirtual-info-installed): + * lisp/gnus/gnus.el (charset): + * lisp/gnus/deuglify.el (gnus-outlook-deuglify-unwrap-stop-chars) + (gnus-outlook-deuglify-no-wrap-chars) + (gnus-outlook-deuglify-attrib-cut-regexp): Fix doc strings to not + exceed 80-column limits. (Bug#44858) + +2020-12-19 Andrea Corallo + + * Clean-up 'internal_condition_case_4' orphan declaration (bug#45303). + + * src/lisp.h (internal_condition_case_4): Declaration remove. + +2020-12-19 Andrea Corallo + + * Move diagnostic pragmas out of namespace-scope (bug#45303). + + Pragmas in GCC don't work reliably within function: + + + * src/comp.c (emit_static_object) + (Fcomp_native_driver_options_effective_p) + (Fcomp_libgccjit_version): Move pragmas out of name-scope. + +2020-12-19 Andrea Corallo + + Fix Windows libgccjit library name (bug#45303). + + * lisp/term/w32-win.el (dynamic-library-alist): Fix Windows + libgccjit library name. + * src/emacs.c (syms_of_emacs): Likewise. + +2020-12-19 Roland Winkler + + bibtex-mode: Permit user-defined schemes for sorting entries. + + * lisp/textmodes/bibtex.el (bibtex-maintain-sorted-entries): + New allowed value (INDEX-FUN PREDICATE). + (bibtex-entry-index, bibtex-lessp): Use it. + (bibtex-init-sort): Rename from bibtex-init-sort-entry-class-alist. + +2020-12-19 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-quickstart-refresh): Fix last change + + Actually allow byte-compiling the file. + Reported by Basil L. Contovounesios . + +2020-12-18 Glenn Morris + + Merge from origin/emacs-27 + + 48b9c47805 Minor fixes in authors.el and in tarball-making instructions + d7a4ceaa1e ; Add a new item to TODO + 64fe805b19 Improve documentation of 'query-replace' + 7cacf5da47 Update to Org 9.4.3 + + # Conflicts: + # admin/authors.el + +2020-12-18 Jo達o T叩vora + + Document that flymake-diag-region saves match data + + The typical use of this function (which is parsing compiler diagnostic + messages), lends itself too easily to one the problems in bug#29193. + Make it a friendlier API. + + * doc/misc/flymake.texi (Flymake utility functions): Document that + flymake-diag-region saves match data. + + * lisp/progmodes/flymake.el (flymake-diag-region): Document that + this saves match data. + +2020-12-18 Stefan Monnier + + * lisp/emacs-lisp/package.el: Byte compile the quickstart file + + Earlier tests had found problems when byte-compiling the file, + but later investigations indicated the problem was not + directly related. The performance difference is appreciable. + + (package-quickstart-refresh): Byte compile the file. + (package-activate-all): Load byte-compiled version if available. + (package--quickstart-maybe-refresh): Delete the byte-compiled file as well. + +2020-12-18 Eli Zaretskii + + Minor fixes in authors.el and in tarball-making instructions + + * admin/authors.el (authors): Make the error message more helpful. + (authors-ignored-files, authors-renamed-files-alist): Update. + +2020-12-18 Stefan Monnier + + * lisp/progmodes/which-func.el (which-func-update): Bind `non-essential` + +2020-12-18 Mattias Engdeg奪rd + + Follow good regexp practice + + These were found by relint 1.19. + + * lisp/help-fns.el (help-fns--first-release): Use string-end instead + of line-end when matching a file name. + * lisp/org/ob-core.el (org-babel--string-to-number): Put hyphen last + in alternative. + * lisp/org/org-agenda.el (org-agenda-filter): Escape '+' correctly. + +2020-12-18 Michael Albinus + + * lisp/net/tramp.el (tramp-handle-make-process): Handle shell commands. + +2020-12-18 Jo達o T叩vora + + Save match data in flymake-diag-region (bug#29193) + + * lisp/progmodes/flymake.el (flymake-diag-region): Move + save-match-data up. + +2020-12-18 Lars Ingebrigtsen + + Fix previous frame-focus server.el change + + * lisp/server.el (server-execute): Always give Emacs focus, + whether we open a new frame or not. + +2020-12-18 Eric Abrahamsen + + Fix regexp in IMAP search-string preparation + + * lisp/gnus/gnus-search.el (gnus-search-run-search): This was failing + to catch all of X-GM-RAW. + +2020-12-18 Dmitry Gutov + + flymake-diag-region: Fix the recent test breakage + + * lisp/progmodes/flymake.el (flymake-diag-region): + Make sure to save the match data (bug#29193). + +2020-12-18 Stefan Monnier + + * lisp/org/org-refile.el (org-copy): Fix missing obsoletion version + +2020-12-17 Andrea Corallo + + * Makefile.in (w32locallisppath): Add PATH_REL_LOADSEARCH (bug#45303). + + * nt/epaths.nt (PATH_REL_LOADSEARCH): Define macro (bug#45303). + +2020-12-17 Michael Albinus + + Some minor Tramp changes + + * doc/lispref/os.texi (Timers): Speak about `remote-file-error'. + + * doc/misc/tramp.texi (Frequently Asked Questions): Speak about + `remote-file-error'. + (External packages): New subsection "Timers". + + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Adapt error + function. Handle coding. + + * lisp/net/tramp.el (tramp-handle-make-process): Adapt error function. + +2020-12-17 Stefan Kangas + + Remove incorrect comment from erc-goodies.el + + * lisp/erc/erc-goodies.el (erc-move-to-prompt-setup): Remove incorrect + comment; the XEmacs compat code has been removed. + +2020-12-17 Stefan Monnier + + Fix my two most common causes of all windows/frames redisplay + + * src/buffer.c (Fkill_all_local_variables): Only redisplay the buffer. + * src/window.c (set_window_scroll_bars): Only redisplay the window. + +2020-12-17 Zajcev Evgeny + + Make "Invalid modifier in string" ordinary invalid-read-syntax error + + * src/lread.ec (read1): Raise "Invalid modifier in string" error as + `invalid-read-syntax'. This fixes raise of unhandled error in + `elisp--local-variables' + +2020-12-17 Lars Ingebrigtsen + + Fix fallback use of write-file in ido-mode + + * lisp/ido.el (ido-file-internal): Make `write-file' respect the + directory we've navigated to (bug#28513). + +2020-12-17 Philipp Stephani + + Ensure that byte compilation works for relative files (Bug#45287). + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Dont fail if + target filename doesnt contain a directory name. + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-tests--target-file-no-directory): New unit test. + +2020-12-17 Lars Ingebrigtsen + + Default the init file to init.el, not init + + * lisp/startup.el (startup--load-user-init-file): Make the default + init file be "init.el", not "init" (bug#45197). + +2020-12-16 Pankaj Jangid + + Fix resetting of gnus-pick-line-number + + * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Move setting + gnus-pick-line-number from here (bug#45269)... + (gnus-summary-prepare): To here. This ensures that the number is + reset when regenerating the buffer, for instance when limiting it. + +2020-12-16 Juri Linkov + + Don't show minibuffer keybindings for suggestions in read-extended-command + + * lisp/simple.el (read-extended-command): Use 'affixation-function' + instead of 'annotation-function'. (Bug#45035) + (read-extended-command--affixation): New function created from + 'read-extended-command--annotation'. + +2020-12-16 Juri Linkov + + Give affixation-function higher priority over annotation-function (bug#45234) + + * doc/lispref/minibuf.texi (Completion Variables) + (Programmed Completion): Describe precedence rules + of affixation-function and annotation-function. + + * lisp/minibuffer.el (completion-metadata) + (completion-extra-properties): Describe precedence rules + of affixation-function and annotation-function. + (minibuffer-completion-help): First try to apply + affixation-function, if there is no such function, + try annotation-function. + +2020-12-16 Eli Zaretskii + + Improve documentation of 'query-replace' + + * doc/emacs/search.texi (Query Replace): Add 'E' to the list of + characters one can type at 'query-replace' prompt. (Bug#45273) + +2020-12-16 Bastien Guerry + + Update to Org 9.4.3 + + Fix #45259 + +2020-12-16 Harald J旦rg + + CPerl-mode: don't treat <<>> as starting a here-doc + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Detect + the "<<>>" operator (Bug#42455). + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-bug-45255): Verify that <<>> does not start a + HERE-doc. + +2020-12-16 E. Choroba + + Update short docs in cperl-mode + + * lisp/progmodes/cperl-mode.el (cperl-short-docs): + Update with some missing entries. (Bug#45254) + +2020-12-16 Dmitry Gutov + + (flymake-diag-region): Fall back to (end-of-thing 'symbol) + + * lisp/progmodes/flymake.el (flymake-diag-region): + Fall back to (end-of-thing 'symbol) (bug#29193). + +2020-12-15 Eli Zaretskii + + Fix C-n/C-p when a line starts with an image + + * src/xdisp.c (move_it_to): Handle the case where the second call + to move_it_in_display_line_to under MOVE_TO_Y takes us farther + from TO_CHARPOS than the first call. This fixes values returned + by pos-visible-in-window-p and posn-at-point when the screen line + starts with invisible text followed by an image. (Bug#9092) + +2020-12-15 Glenn Morris + + Merge from origin/emacs-27 + + 668f0a7f84 Fix point location when completing in gdb-mi.el + 2dbc95063b Update to Org 9.4.2 + f22856a5c5 Update to Org 9.4.1 + + # Conflicts: + # doc/misc/org.texi + # lisp/org/ob-core.el + # lisp/org/ob-ruby.el + # lisp/org/ob-screen.el + # lisp/org/ol-gnus.el + # lisp/org/ol.el + # lisp/org/org.el + +2020-12-15 Glenn Morris + + Merge from origin/emacs-27 + + 62a6934af9 Fix crash when using XRender and restoring image from X (b... + de032d41c6 Bind k to image-kill-buffer in doc-view-mode-map. + +2020-12-15 Eli Zaretskii + + Fix setting breakpoints in "M-x gdb" when a source file is missing + + * lisp/progmodes/gdb-mi.el (gdb-get-location): Fix control flow + logic when "fullname" is not found. Unquote and unescape the full + file name by calling gdb-mi--c-string-from-string. FLAG is a + string, not a character. (Bug#15051) + +2020-12-15 Alan Mackenzie + + CC Mode: Optimize for scrolling large buffers containing few braces + + This fixes bug #25706. It particularly pertains to .h files which contain + only macro definitions. Many of these files are to be found, for example, in + the driver sections of the Linux kernel. + + * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1, c-on-identifier) + (c-syntactic-skip-backward, c-find-decl-prefix-search, c-find-decl-spots) + (c-forward-name, c-back-over-list-of-member-inits) + (c-back-over-member-initializers, c-looking-at-inexpr-block) + (c-guess-basic-syntax): Give search limits to, or amend existing ones to + c-backward-syntactic-ws, c-forward-syntactic-ws, c-backward-token-2, + c-beginning-of-statement-1. + (c-determine-limit-no-macro): New function. + (c-determine-limit-get-base): Remove unlimted invocation of + c-backward-syntactic-ws. + (c-determine-limit): Exclude movement between two different macros. Use new + function c-determine-limit-no-macro. + (c-back-over-list-of-member-inits): New parameter `limit'. + + * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare) + (c-font-lock-declarations, c-font-lock-c++-using): Give search limits to, or + amend existing ones to c-backward-syntactic-ws, c-beginning-of-decl-1. + + * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens, c-before-changer) + (c-fl-decl-end): Give search limits to, or amend existing ones to + c-backward-syntactic-ws, c-forward-syntactic-ws, skip-chars-backward, + skip-chars-forward. + +2020-12-15 Michael Albinus + + Revert last change in tramp-maybe-open-connection) + + * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert last change, + it causes trouble. + +2020-12-15 Lars Ingebrigtsen + + Fix electric pairs in rst-mode + + * lisp/textmodes/rst.el (rst-mode-syntax-table): Mark pairs in the + syntax table (bug#23413). + (rst-mode): Instead of setting electric-pair-pairs. + +2020-12-15 Lars Ingebrigtsen + + Bind current-minibuffer-command to this-command + + * src/callint.c (Fcall_interactively): Bind + current-minibuffer-command to this-command, as documented (bug#45177). + +2020-12-14 Glenn Morris + + * doc/lispref/errors.texi (Standard Errors): Fix xref. + + Though I am not sure "report a bug" is helpful. + +2020-12-14 Glenn Morris + + * doc/emacs/indent.texi (Indent Convenience): Fix use of @xref. + +2020-12-14 Glenn Morris + + Tiny fix for lispref/variables.texi + + * doc/lispref/variables.texi (Converting to Lexical Binding): + @strong{Note...} produces a spurious cross-reference in Info; + reword to avoid that. + +2020-12-14 Stefan Monnier + + * lisp/emacs-lisp/gv.el (error): Allow it as a place + +2020-12-14 Alan Mackenzie + + Optimise c-font-lock-<>-arglists, particularly for buffers with few <..> pairs + + * lisp/progmodes/cc-fonts.el (c-font-lock-<>-arglists): In place of a regexp + search for a complicated and slow regexp, search simply for "<" ouside of + literals together with add hoc testing of other requirements for a <...> + match. + + * lisp/progmodes/cc-langs.el (c-nonsymbol-key): New c-lang-defvar from the + c-lang-const. + +2020-12-14 Alan Third + + Fix error with fn key in NS port (bug#44533) + + * src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key + handling to before the modifiers are calculated. + + (cherry picked from commit 7970610d48701a949ce443c94c71eac47d044197) + +2020-12-14 Alan Mackenzie + + Optimise c-parse-state for large buffers with few (if any) braces. + + * lisp/progmodes/cc-engine (c-get-fallback-scan-pos): Search a maximum of + 50,000 characters back for the two BODs. Return nil if we dont' find them. + (c-parse-state-get-strategy): For strategy `forward', always use the position + `good-pos' for `start-point', even when there's a change of current macro. + Deal with a possible return value of nil from c-get-fallback-scan-pos (as + above). + (c-invalidate-state-cache-1): For `c-state-cache-good-pos', instead of + sometimes using the minimum scan pos (leading to extensive scanning of the + entire buffer) use a point close to `here'. + +2020-12-14 Lars Ingebrigtsen + + Add some admin/emake comments + +2020-12-14 Gregory Heytings + + Make the emake error messages red + + * admin/emake: Colorize error messages. + +2020-12-14 Michael Albinus + + Add 'remote-file-error' for Tramp + + * doc/lispref/errors.texi (Standard Errors): Add 'remote-file-error'. + + * etc/NEWS: Mention 'remote-file-error'. + + * lisp/net/ange-ftp.el (ftp-error): Add error condition + `remote-file-error'. + + * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Do not set + `tramp-locked'. + + * lisp/net/tramp-compat.el (remote-file-error): Define if it + doesn't exist. + + * lisp/net/tramp-sh.el (tramp-timeout-session): Check for "locked" + property. + (tramp-maybe-open-connection): Simplify. + + * lisp/net/tramp.el (tramp-locked, tramp-locker): Remove them. + (tramp-file-name-handler): Do not set them. + (with-tramp-locked-connection): New defmacro. + (tramp-accept-process-output, tramp-send-string): Use it. + + * src/fileio.c (Qremote_file_error): New error symbol. + + * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests): + Adapt test. Remove :unstable tag. + +2020-12-14 Eli Zaretskii + + Improve accuracy of scrolling commands + + * src/xdisp.c (move_it_vertically_backward): Don't rely on + line_bottom_y for accurate calculation of the next screen line's Y + coordinate: it doesn't work when the current screen line was not + yet traversed. Instead, record the previous Y coordinate and + reseat there if overshoot is detected. + * src/window.c (window_scroll_pixel_based): Calculate the new + window-start point more accurately when screen lines have uneven + height. (Bug#8355) + +2020-12-14 Stefan Kangas + + Make XEmacs entry in the FAQ more contemporary + + * doc/misc/efaq.texi (Difference between Emacs and XEmacs): Make + XEmacs entry in the FAQ more contemporary. Remove part about re-using + XEmacs code; this is not likely to be relevant these days and in any + case is not a frequently asked question. (Bug#45235) + +2020-12-14 Eli Zaretskii + + Fix point location when completing in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (def-gdb-auto-update-handler): Don't + force window-start position, so that redisplay doesn't move point + when popping completion window below the GUD one. (Bug#45052) + +2020-12-14 Eric Abrahamsen + + Fix logic of gnus-search-imap-handle-date + + * lisp/gnus/gnus-search.el (gnus-search-imap-handle-date): Just + rewrite this whole ridiculous function. + +2020-12-14 Stefan Kangas + + * lisp/play/5x5.el: Fix typo. Remove redundant :group args. + +2020-12-14 Tim Ruffing (tiny change) + + * etc/emacs.service: + + * etc/emacs.service (ExecStart): Make Emacs exit from systemd work + better (bug#45181). + + The problem here is the exit code 15, which emacs will return *only* if + it has received SIGTERM. I believe what's happening here is that + emacsclient will call kill-emacs but not wait until the emacs server + has properly shut down. However, it's supposed to wait for the shutdown + as an "ExecStop" command according to "man systemd.service". So since + the process is still alive when emacsclient comes back, systemd will + still issue SIGTERM, making emacs return 15 (maybe after calling kill- + emacs again?!). + +2020-12-14 Robert Thorpe (tiny change) + + Mention how to handle user names with @ in rmail + + * doc/emacs/rmail.texi (Remote Mailboxes): Mention how to work + around the problem with user names like foo@example.com (bug#16946). + +2020-12-14 Daniel Mart鱈n + + Make goto-char offer the number at point as default + + * lisp/subr.el (read-natnum-interactive): New function to read natural + numbers for interactive functions. + * src/editfns.c (Fgoto_char): Call read-natnum-interactive from the + interactive definition of goto-char to offer the number at point as + default. Also expand the docstring to document this new interactive + behavior. + * doc/emacs/basic.texi (Moving Point): Expand the Emacs manual to + document this new behavior. + * etc/NEWS: And announce it (bug#45199). + +2020-12-14 Lars Ingebrigtsen + + Tool bar documentation clarification: Mention forcing updates + + * doc/lispref/keymaps.texi (Tool Bar): Document that flipping the + status of a tool bar item doesn't necessarily update the visuals + (bug#42957). + +2020-12-14 Tomas Nordin (tiny change) + + Fix narrow-to-defun in python-mode + + * lisp/progmodes/python.el (python-nav--beginning-of-defun): Make + narrow-to-defun work better in classes (bug#40563). + +2020-12-14 Lars Ingebrigtsen + + Add a new recursively bound `current-minibuffer-command' variable + + * doc/lispref/commands.texi (Command Loop Info): Document it + (bug#45177). + + * src/callint.c (Fcall_interactively): Bind it. + + * src/keyboard.c (syms_of_keyboard): Define + current-minibuffer-command. + +2020-12-14 Ulrich lmann (tiny change) + + Add a DirectoryMode to the Emacs Server example + + * doc/emacs/misc.texi (Emacs Server): Update example + + * doc/emacs/misc.texi (Emacs Server): The socket containing directory + is per default created with permissions 0755 by the socket-unit. + However this is considered unsafe since commit [1], so enhance unit + example with systemd configuration directive `DirectoryMode=' to + create it with safe permissions, see + https://www.freedesktop.org/software/systemd/man/systemd.socket.html#DirectoryMode= + + [1] 2003-04-12 "(server-socket-name): Use new safe location for socket." + +2020-12-14 Stefan Kangas + + Update value of frame-title-format in FAQ + + * doc/misc/efaq.texi (Displaying the current file name in the + titlebar): Fix default value of frame-title-format. + +2020-12-14 Stefan Kangas + + Don't recommend setnu and wb-line-number + + * doc/misc/efaq.texi (Displaying the current line or column): Remove + reference to third-party alternatives to display-line-numbers-mode. + +2020-12-14 Stefan Kangas + + Remove more references to old versions from FAQ + + * doc/misc/efaq.texi (Learning how to do something) + (Installing Emacs, Emacs for GNUstep, Emacs for macOS): Remove more + references to Emacs 22 and older from FAQ. + +2020-12-14 Stefan Kangas + + Make XEmacs compat variable warning-level-aliases obsolete + + * lisp/emacs-lisp/warnings.el (warning-level-aliases): Make obsolete. + (display-warning): Warn when using one of the warning levels defined + in above obsolete variable. (Bug#44849) + * lisp/url/url-proxy.el (url-find-proxy-for-url): Replace obsolete + warning type 'critical with :error. + +2020-12-14 Stefan Kangas + + Prefer setq to set+quote + + * lisp/cedet/semantic/senator.el (senator-lazy-highlight-update): + * lisp/emulation/edt.el (edt-find, edt-restore-key) + (edt-remember): + * lisp/eshell/em-ls.el (eshell-ls--insert-directory): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/progmodes/hideif.el (hide-ifdef-mode): + * test/lisp/url/url-future-tests.el (url-future-tests): Prefer setq to + set+quote. + +2020-12-14 Stefan Kangas + + * lisp/bookmark.el: Doc fix. + +2020-12-14 Torsten Hilbrich + + Merge branch 'feature/integration-of-dictionary-el' + + b6227446d9 Importing dictionary module + 658ec3ccee Renamed connection.el + e2ebffdd62 Renamed link.el + 723906c444 Removed some compability parts in dictionary + 5dc17d73b0 Add :version tag to defcustom statement + 49c250b388 Dont't check coding-system-list for existence + 99a7e918c8 Don't check for existence of defface + 1773b9b687 Dictionary now uses button + 329b6a0210 Adding details page for dictionary + 837505075c Fix dictionary tooltip mode + 2f1e4fbc42 Support nil value for dictionary-server + 91ff1c8f7c Move placement of dictionary-tooltip-mouse-event + 28fe134971 Remove text property from empty line + 7ca331a4f9 Add history of search words to read-string + d5a4da25b0 * lisp/net/dictionary.el: Remove remnants of package + cc5f280378 * lisp/net/dictionary.el: Add lexical-binding:t + 09952ce434 Removed useless check for popup-menu + 81ebe86d8d Show error message when asking to match for nothing + 0044a2e888 * lisp/net/dictionary-connection.el: Add lexical-binding:t + f58443780c * lisp/net/dictionary-connection.el: Remove obsolete Version + 54a3964e29 Update GPL version + a557a103cc * lisp/net/dictionary-connection.el: Prefer defsubst + ffa7d6671d * lisp/net/dictionary.el: Prefer defsubst over defmacro + 4deb8618e4 * lisp/net/dictionary.el (dictionary-mode): Use setq-local + d30618cbc1 * lisp/net/dictionary.el (dictionary-tooltip-mode): Use ... + a25a12ddaf Use when where else case returns nil + 89e9c1686e * lisp/net/dictionary.el (dictionary-display-more-info): ... + d466231c3e A number of docstring fixes + b18217eb87 A number of docstring fixes + ca0de4d1e0 * etc/NEWS: Add entry for dictionary.el + 62d14e10f9 * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing + + Let all the buttons begins with an upper-case character and the rest of + the text is lower-case. + +2020-12-14 Torsten Hilbrich + + * etc/NEWS: Add entry for dictionary.el + +2020-12-14 Torsten Hilbrich + + A number of docstring fixes + + * lisp/net/dictionary-connection.el (dictionary-connection-p, + dictionary-connection-read-point, dictionary-connection-process, + dictionary-connection-buffer, dictionary-connection-set-read-point, + dictionary-connection-set-process, dictionary-connection-set-buffer, + dictionary-connection-create-data, dictionary-connection-open, + dictionary-connection-status, dictionary-connection-close, + dictionary-connection-send, dictionary-connection-send-crlf, + dictionary-connection-read, dictionary-connection-read-crlf, + dictionary-connection-read-to-point): Fix docstring + +2020-12-14 Torsten Hilbrich + + A number of docstring fixes + + * lisp/net/dictionary.el (dictionary-set-server-var, dictionary-mode, + dictionary, dictionary-new-buffer, dictionary-reply-code, + dictionary-reply, dictionary-reply-list, dictionary-open-server, + dictionary-check-connection, dictionary-mode-p, dictionary-close, + dictionary-read-reply, dictionary-split-string, + dictionary-read-reply-and-split, dictionary-read-answer, + dictionary-check-reply, dictionary-coding-system, + dictionary-decode-charset, dictionary-encode-charset, + dictionary-check-initial-reply, dictionary-store-state, + dictionary-restore-state, dictionary-new-search, + dictionary-new-search-internal, dictionary-do-search, + dictionary-pre-buffer, dictionary-post-buffer, + dictionary-display-search-result, dictionary-display-word-entry, + dictionary-display-word-definition, dictionary-mark-reference, + dictionary-select-dictionary, dictionary-display-dictionarys, + dictionary-display-dictionary-line, dictionary-set-dictionary, + dictionary-special-dictionary, dictionary-display-more-info, + dictionary-select-strategy, dictionary-do-select-strategy, + dictionary-display-strategies, dictionary-display-strategy-line, + dictionary-set-strategy, dictionary-new-matching, + dictionary-do-matching, dictionary-display-only-match-result, + dictionary-display-match-result, dictionary-display-match-result, + dictionary-display-match-lines, dictionary-search, + dictionary-previous, dictionary-help, dictionary-match-words, + dictionary-mouse-popup-matching-words, + dictionary-popup-matching-words, dictionary-tooltip-mode, + dictionary-tooltip-mouse-event): Fix docstring + + The following kind of changes were made: + + - finish first line with a full stop (.) + - mention parameter in upper-case whenever possible (considering the + length constraints) + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el (dictionary-display-more-info): Spelling fix + + Fix the spelling in the error message for non-existing dictionary. + +2020-12-14 Torsten Hilbrich + + Use when where else case returns nil + + * lisp/net/dictionary-connection.el (dictionary-connection-status, + dictionary-connection-close): Instead of returning nil in the else case + of the if just use when. + + Was suggested by Stefan Kangas. + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el (dictionary-tooltip-mode): Use setq-local + + * lisp/net/dictionary.el (dictionary-mode): Use setq-local + + * lisp/net/dictionary.el: Prefer defsubst over defmacro + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary-connection.el: Prefer defsubst + + Use defsubst instead of defmacro here. It was suggested by Stefan + Kangas to replace the defmacro here and, looking at the lispref, + defsubst seems to be a suitable replacement providing the same + benefit of inlining functionality as the defmacro. + +2020-12-14 Torsten Hilbrich + + Update GPL version + + * lisp/net/dictionary.el: Use GPL version 3 or later + * lisp/net/dictionary-connection.el: Use GPL version 3 or later + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary-connection.el: Remove obsolete Version + + * lisp/net/dictionary-connection.el: Add lexical-binding:t + +2020-12-14 Torsten Hilbrich + + Show error message when asking to match for nothing + + * lisp/net/dictionary.el (dictionary-popup-matching-words): Show error + if neither the parameter nor the word at point are defined + + This avoids an error later on when the nil value is used as string + within dictionary-encode-charset. + +2020-12-14 Torsten Hilbrich + + Removed useless check for popup-menu + + * lisp/net/dictionary.el (dictionary-popup-matching-words): No need to + check for popup-menu, the code is part of Emacs now and the function + should always be there + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el: Add lexical-binding:t + + Fixing all the issues found by this. A number of unused variables were + reported here. + +2020-12-14 Gabriel do Nascimento Ribeiro + + New option tab-bar-history-buttons-show + + * lisp/tab-bar.el (tab-bar-history-buttons-show): If true, + show back and forward buttons when tab-bar-history-mode + is enabled. (Bug#45227) + + Copyright-paperwork-exempt: yes + +2020-12-14 Juri Linkov + + Allow creating a new tab for tab-switcher from the minibuffer (bug#45072) + + * lisp/tab-bar.el (tab-switcher): Simplify by let-binding + tab-bar-new-tab-choice to t before calling tab-bar-new-tab + that handles the case when it's called in the active minibuffer. + +2020-12-14 Juri Linkov + + Don't show matches with no input for nil icomplete-show-matches-on-no-input + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Fix docstring. + (icomplete--initial-input): New internal variable. + (icomplete-minibuffer-setup): Set buffer-local + icomplete--initial-input to icomplete--field-string. + (icomplete-ret, icomplete-force-complete-and-exit) + (icomplete--sorted-completions, icomplete-exhibit): + Compare icomplete--initial-input with icomplete--field-string + to detect no input. (Bug#19031) + + etc/NEWS: Remove duplicate entry. + +2020-12-14 Jo達o T叩vora + + Inhibit quit in ElDoc timer functions (bug#45117) + + The point of un-inhibiting it was to make ElDoc backends interruptible + with any input (as in while-no-input), since that should in principle + invalidate the need of the current ElDoc processing. But that + strategy is dangerous for backends that perform complex + synchronization with external processes. Better let each backend + decide for itself it needs this eager interruptive behavior, like is + presumably the case with the Octave backend. + + This reverts a part of + + commit 12e922156c86a26fa4bb2cb9e7d2b3fd639e4707 + Author: Stefan Monnier + Date: Tue Dec 4 18:15:44 2018 -0500 + + * lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): + + * lisp/progmodes/octave.el (octave-eldoc-function-signatures): Use + while-no-input. + +2020-12-13 Bastien Guerry + + Update to Org 9.4.2 + + Mostly fixing compiler warnings. + +2020-12-13 Dmitry Gutov + Philip K. + + Remove the duplication from project-switch-commands's config + + Based on an older patch by Philip K (https://debbugs.gnu.org/41890#127). + + * lisp/progmodes/project.el: (project-switch-commands): Change to + 'defcustom', alter the value format, add :type. + (project-switch-use-entire-map): New option. + (project--keymap-prompt, project-switch-project): + Update accordingly, while keeping compatibility with user-defined + values in the previous format (for some transition period). + +2020-12-13 Philipp Stephani + + Byte compilation: handle case where the output file is a mountpoint. + + See Bug#44631. While testing for a readonly output directory has + slightly different semantics, in practice they should cover cases + where Emacs is sandboxed and can only write to the destination file, + not its directory. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case + where the output directory is not writable. + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-tests--not-writable-directory) + (bytecomp-tests--dest-mountpoint): New unit tests. + +2020-12-13 Mauro Aranda + + Stop dropping the tag when creating the custom-variable widget + + * lisp/cus-edit.el (custom-variable-value-create): Obey the specified + tag format when creating the variable tag, but stop dropping the tag + format for the variable's type widget, since the tag can be used to + give useful information to the user about the variable. (Bug#35133) + +2020-12-13 Lars Ingebrigtsen + + Make dired-toggle-read-only query on read-only directories + + * lisp/dired.el (dired-toggle-read-only): Query instead of + erroring out immediately (bug#29412). + +2020-12-13 Lars Ingebrigtsen + + Clarify Extended Menu Items a bit more + + * doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit + more on how submenus are formed (bug#26428). + +2020-12-13 Bastien Guerry + + Update to Org 9.4.1 + +2020-12-13 Andrea Corallo + + * Fix `memory-report' for '--without-x' builds + + * lisp/emacs-lisp/memory-report.el + (memory-report--image-cache): Don't call `image-cache-size' if + unbound. + +2020-12-13 Dmitry Gutov + + Bump project.el version + + * lisp/progmodes/project.el: Bump the version. + +2020-12-13 Andrii Kolomoiets + + vc-create-tag: use vc-revision-history variable + + * lisp/vc/vc.el (vc-create-tag): Use 'vc-revision-history' variable. + +2020-12-13 Dmitry Gutov + + Fix test failure + + * test/lisp/vc/vc-tests.el (vc-test--working-revision): + Accept working revision -1, expected for older Hg (bug#36534). + +2020-12-13 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Allow a nil destination file + + (byte-compile--default-dest-file): New function, extracted from + byte-compile-dest-file. + (byte-compile-dest-file): Use it. + (byte-compile-dest-file-function): Give it a non-nil default value. + (byte-recompile-file, byte-compile-file): Handle a nil return value + from `byte-compile-dest-file`. + + * lisp/progmodes/elisp-mode.el (elisp-flymake--batch-compile-for-flymake): + Tell the compiler not to write the result, instead of writing it to + a dummy temp file. + +2020-12-13 Andrea Corallo + + * Allow for adding constraints targetting blocks with multiple predecessors + + This commit remove the limitaiton we had not being able to add + constraints derived from conditional branches to basic blocks with + multiple predecessors. When this condition is verified we add a new + dedicated basic block to hold the constraints. + + * lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot + type specifiers. + (comp-block-cstr): New struct specializing `comp-block'. + (make-comp-edge): New function. + (comp-func): Better test function + doc for `blocks' slot. + (comp-limple-lock-keywords): Update possible basic block names. + (comp-emit-assume): Recive directly the block instead of its name. + (comp-add-new-block-beetween): New function. + (comp-cond-cstr-target-block): Logic update and use + `comp-add-new-block-beetween'. + (comp-cond-cstr-func): Make use of the latter. + (comp-compute-edges): Make use of `make-comp-edge'. + +2020-12-13 Andrea Corallo + + * Rename comp-cond-rw -> comp-cond-cstr + + * lisp/emacs-lisp/comp.el (comp-passes) + (comp-cond-cstr-target-slot, comp-cond-cstr-func) + (comp-cond-cstr): Rename pass from cond-rw to cond-cstr. + +2020-12-13 Andrea Corallo + + * Memoize `comp-cstr-intersection' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot + `intersection-mem'. + (comp-cstr-intersection-homogeneous): Fix non local exit target. + (comp-cstr-intersection-no-mem): Rename from + `comp-cstr-intersection'. + (comp-cstr-intersection): New function. + +2020-12-13 Andrea Corallo + + * Add initial negated non-negegated intersection support + + * lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic. + (comp-cstr-intersection-homogeneous): Rename from + `comp-cstr-intersection'. + (comp-cstr-intersection): New function. + +2020-12-13 Alan Third + + Fix assertion on SVG load failure + + * src/image.c (svg_load_image): Move setting DPI to after rsvg_handle + error checking. + +2020-12-12 Stefan Kangas + + Remove references to Emacs before version 22 from FAQ + + * doc/misc/efaq.texi (Escape sequences in shell output): Remove + reference to versions before Emacs 21. + (Basic editing, Latest version of Emacs) + (Turning on abbrevs by default, Going to a line by number) + (Security risks with Emacs): Remove references to versions before + Emacs 22. + +2020-12-12 Philipp Stephani + + Document and enforce some properties for strings created by modules. + + When creating multibyte or unibyte strings, we should guarantee the + following invariants: + + - When creating empty strings, a NULL data pointer should be allowed. + This often arises in practice if the string length isn't known in + advance, and we don't want to unnecessarily trigger undefined + behavior. Since functions like memcpy might not accept NULL + pointers, use the canonical empty string objects in this case. + + - Nonzero strings should be guaranteed to be unique and mutable. + These are the same guarantees expected from Lisp functions such as + 'make-string' or 'unibyte-string'. On the other hand, empty strings + might not be unique. + + * src/emacs-module.c (module_make_string) + (module_make_unibyte_string): Correctly handle empty strings. + + * test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string): + New test function. + (emacs_module_init): Expose it. + + * test/src/emacs-module-tests.el (mod-test-make-string/empty) + (mod-test-make-string/nonempty): New unit tests. + + * doc/lispref/internals.texi (Module Values): Document properties and + corner cases for strings. + +2020-12-12 Lars Ingebrigtsen + + Fix BSD .include etc syntax in Makefiles + + * lisp/progmodes/make-mode.el (makefile-bsdmake-statements): Fix + the BSD conditional syntax (bug#24000). + (makefile-make-font-lock-keywords): Allow calling without keywords. + (makefile-bsdmake-font-lock-keywords): Add the conditional syntax. + + Makefile inclusion, conditional structures and for loops reminiscent of + the C programming language are provided in make. All such structures are + identified by a line beginning with a single dot (`.') character. + Whitespace characters may follow this dot, e.g., + + .include + and + . include + + are identical constructs + +2020-12-12 Lars Ingebrigtsen + + Bind `C-c C-d' to rmail-epa-decrypt in rmail + + * doc/emacs/rmail.texi (Rmail Display): Mention the key + binding (bug#25411). + + * lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to + rmail-epa-decrypt. + (rmail-mode): Mention it. + (rmail-epa-decrypt): Don't mark a mail as decrypted unless we're + replacing it. + + * lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d. + (rmail-summary-epa-decrypt): New command. + +2020-12-12 Eric Abrahamsen + + New option gnus-registry-register-all + + * lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil, + the registry won't automatically create new entries for all seen + messages. Defaults to t to preserve previous behavior. + (gnus-registry-handle-action): Don't automatically create entries; if + one doesn't exist, don't handle anything. + (gnus-registry-register-message-ids): Only register if this option is + t. + (gnus-registry-get-or-make-entry): Add optional no-create argument. + (gnus-registry-get-id-key): This "get" operation should only create an + entry if this option is t. + * doc/misc/gnus.texi: Documentation and news. + +2020-12-12 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-buffer-info): Improve error message + + (package-strip-rcs-id): Return canonicalized version string. + +2020-12-12 Stefan Monnier + + * src/fns.c (hash_string): Tweak the code further + + Merge the two main branches; remove the `max` test and thus reduce + the "most steps" to 8 as written + +2020-12-12 Stefan Monnier + + * lisp/vc/log-edit.el: Keep separator line thin even with line-numbers + + (log-edit-font-lock-keywords): Disable line-number display on + the thin separator line. + (log-edit-mode): Adjust `font-lock-extra-managed-props` accordingly. + (log-edit-changelog-entries): Don't use a nil buffer-local + `change-log-default-name`. + +2020-12-12 Eli Zaretskii + + Followup to recent changes in keyboard.c + + * src/keyboard.c (prev_kbd_event): Now defined only if HAVE_X11. + + * lisp/subr.el (while-no-input-ignore-events): Remove + 'buffer-switch': no longer used or defined. (Bug#5803) + +2020-12-12 Andrea Corallo + + Normalize cstrs for cache hint effectiveness and test stability + + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset) + (comp-union-valsets, comp-intersection-valsets) + (comp-normalize-typeset): New functions. + (comp-union-typesets, comp-intersect-typesets) + (comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem): + Update to return normalized results. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Normalize expected type specifiers. + +2020-12-12 Andrea Corallo + + * Add `comp-split-pos-neg' function + + * lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function. + (comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'. + +2020-12-12 Andrea Corallo + + * Enumerate type specifier tests to ease debugging + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Enumerate tests. + + Acked-by: Andrea Corallo + +2020-12-12 Andrea Corallo + + * Code rework add `comp-cstrs-homogeneous' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New + function. + (comp-cstr-union-1-no-mem): Make use of. + +2020-12-12 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-bootstrap): Temp fix bootstrap test. + +2020-12-12 Lars Ingebrigtsen + + Remove some unused process.c variables + + * src/process.c (wait_reading_process_output): Remove some + variables that are unused after the previous patch. + +2020-12-12 Stefan Monnier + + New variable `redisplay_adhoc_scroll_in_resize_mini_windows` + + * src/xdisp.c (syms_of_xdisp): Define it. + (resize_mini_window): Obey it. + +2020-12-12 Stefan Monnier + + * src/keyboard.c: Fix bug#5803. + + A long time ago, `read_key_sequence` used to read the keymaps at the + start, so if something happened between this start and the moment + the user actually hits a key, `read_key_sequence` could end up using + the wrong keymaps. To work around this problem, the code used + `record_asynch_buffer_change` to try and trigger `read_key_sequence` + to re-read the keymaps in some known cases. + + Several years ago, `read_key_sequence` was changed so as to read the keymaps + only once the user hits a key, making this machinery now redundant + (and also harmful apparently in bug#5803 because it introduces + "spurious" events). + + So we here remove `record_asynch_buffer_change` and the + `BUFFER_SWITCH_EVENT` and `Qbuffer_switch` pseudo-events it generated. + + * src/termhooks.h (enum event_kind): Delete `BUFFER_SWITCH_EVENT`. + * src/keyboard.c: (record_asynch_buffer_change): Delete function. + (syms_of_keyboard): Delete `Qbuffer_switch`. + (force_auto_save_soon, readable_events) + (kbd_buffer_store_buffered_event, kbd_buffer_get_event) + (make_lispy_event): + * src/xterm.c (handle_one_xevent): + * src/w32term.c (w32_read_socket): + * src/process.c (wait_reading_process_output) + (read_and_dispose_of_process_output, exec_sentinel): Simplify accordingly. + +2020-12-12 Alan Mackenzie + + CC Mode: Handle several K&R parameters per declaration + + This fixes bug #45160. + + * lisp/progmodes/cc-engine.el (c-in-knr-argdecl): Reformulate the latter part + of this function using c-do-declarators. + +2020-12-12 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-12 Lars Ingebrigtsen + + Alter the "Redundant pcase patter" warning message + + * lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant + pcase pattern" warning less vague (bug#31350). + +2020-12-12 Lars Ingebrigtsen + + Make elint load `require'd packages + + * lisp/emacs-lisp/elint.el (elint-require-form): New function to + load files that are `require'd (bug#27006). + (elint-special-forms): Add function. + +2020-12-12 Zajcev Evgeny + + Explicitly specify svg base_uri using `:base-uri' image property + + * src/image.c (svg_load): Check `:base-uri' image property to + explicitly set base_uri for images embedded into SVG + (enum svg_keyword_index): + (svg_format): Add :base-uri. + * lisp/svg.el (svg-embed-base-uri-image): New function to embed images + located relative to images `:base-uri' + +2020-12-12 Alan Third + + Revert "Explicitly specify svg base_uri using `:base-uri' image property" + + This reverts commit a8e2143a5c03785742464406306fda7fce6caf04. + + I applied the incorrect version of the patch. + +2020-12-12 Lars Ingebrigtsen + + Offer to save tutorial position on Emacs exit + + * lisp/tutorial.el (tutorial--buffer): New variable (bug#27998). + (tutorial--save-on-kill): Use it. + (help-with-tutorial): Set it and add new function to + kill-emacs-query-functions. + +2020-12-12 Lars Ingebrigtsen + + Update Info-toc-build parsing + + * lisp/info.el (Info-toc-build): Update to understand EMDASH + instead of a hyphen in the detailed node listing (bug#28074). + +2020-12-12 Stefan Kangas + + Prefer setq-local in python.el + + * lisp/progmodes/python.el: Require Emacs 24.2 instead of 24.1. + (python-indent-guess-indent-offset) + (python-shell-font-lock-with-font-lock-buffer) + (python-shell-font-lock-turn-on) + (python-shell-font-lock-turn-off, python-shell-font-lock-toggle) + (python-shell-comint-watch-for-first-prompt-output-filter) + (inferior-python-mode, python-shell-completion-native-turn-off) + (python-shell-completion-native-turn-on) + (python-pdbtrack-comint-output-filter-function, python-mode): + Prefer setq-local. + +2020-12-12 Lars Ingebrigtsen + + Preserve point in dired buffers in dired-*-find-file* commands + + * lisp/dired.el (dired--find-file): New function (bug#28949). + (dired-find-file): Use it. + (dired-mouse-find-file): Ditto. + (dired-find-file-other-window): Ditto. + +2020-12-12 Lars Ingebrigtsen + + Make dired-toggle-read-only check whether the directory is writable + + * lisp/dired.el (dired-toggle-read-only): Check that the directory + is writable (bug#29412). + +2020-12-12 Eli Zaretskii + + Unbreak the MS-Windows build broken by recent changes + + * src/image.c (rsvg_handle_set_dpi_x_y) [WINDOWSNT]: DEF_DLL_FN it. + (init_svg_functions): LOAD_DLL_FN rsvg_handle_set_dpi_x_y. + : Define as a macro + +2020-12-12 Lars Ingebrigtsen + + Improve the documentation of marker handling when reverting + + * doc/lispref/backups.texi (Reverting): Mention markers from + non-file sources (bug#30028). + + * lisp/files.el (revert-buffer): Mention what happens with markers + (bug#30028). + + * src/fileio.c (Finsert_file_contents): Say a bit more about what + markers are restored (bug#30028). + +2020-12-12 Eli Zaretskii + + Improve support for 'memory-report' on MS-Windows + + * src/w32term.c (w32_image_size): New function. + * src/image.c (image_frame_cache_size) [HAVE_NTGUI]: Support + reporting the size of frame image cache. + (image_frame_cache_size, Fimage_cache_size): The total size is + now of the type 'size_t', not 'int'. + +2020-12-12 Pankaj Jangid + + Allow customizing the Gnus summary thread indicators + + * doc/misc/gnus.texi (Summary Buffer Lines): Document them. + + * lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Use them. + + * lisp/gnus/gnus-sum.el (gnus-sum-opening-bracket) + (gnus-sum-closing-bracket, gnus-sum-opening-bracket-adopted) + (gnus-sum-closing-bracket-adopted): New variables. + +2020-12-12 Alan Third + + Improve some NS drawing code + + * src/nsterm.m (ns_update_end): There's no need to schedule a redraw + if nothing has been changed. + (ns_set_vertical_scroll_bar): + (ns_set_horizontal_scroll_bar): Fix the logic for clearing under the + scrollbars. + (ns_clear_under_internal_border): No need to clip, the default + clipping rectangle will be fine. + +2020-12-12 Alan Third + + Use real DPI when rendering SVGs (bug#45124) + + * src/image.c (svg_css_length_to_pixels): Pass in a DPI value instead + of using a hard coded value. + (svg_load_image): Set the DPI on the rsvg_handle, and pass it to + svg_css_length_to_pixels. + +2020-12-12 Zajcev Evgeny + + Explicitly specify svg base_uri using `:base-uri' image property + + * src/image.c (svg_load): Check `:base-uri' image property to + explicitly set base_uri for images embedded into SVG + +2020-12-12 Alan Third + + Fix crash when using XRender and restoring image from X (bug#44930) + + * src/dispextern.h (struct image): Add original dimension elements. + * src/image.c (image_set_transform): Store the original dimensions. + (image_get_x_image): If we're using transforms use the original + dimensions with XGetImage. + +2020-12-12 Stefan Monnier + + * lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify `bindings` + +2020-12-12 Stefan Monnier + + * lisp/play/dunnet.el: Make it so loading the file is harmless + + Move comments into docstrings while at it. + + (dun-batch): New function. + +2020-12-11 Lars Ingebrigtsen + + Fix copyright line + +2020-12-11 Lars Ingebrigtsen + + button-buttonize doc string clarification + + * lisp/button.el (button-buttonize): Clarify what happens when + DATA isn't present. + +2020-12-11 Lars Ingebrigtsen + + Fix image-cache-size crash + + * src/image.c (image_frame_cache_size): Ensure that img->pixmap is + in use before trying to access it. + +2020-12-11 Stefan Kangas + + * src/fns.c (Fbuffer_hash): Doc fix. (Bug#45178) + +2020-12-11 Lars Ingebrigtsen + + Also sort the totals section by size + + * lisp/emacs-lisp/memory-report.el (memory-report): Sort the + totals by size, too. + +2020-12-11 Lars Ingebrigtsen + + Tweak memory-report--format + + * lisp/emacs-lisp/memory-report.el (memory-report--format): Make + everything line up, even when there's "1023.4kB". + +2020-12-11 F. Jason Park (tiny change) + + Append incremental message segments in socks-filter + + * lisp/net/socks.el (socks-filter): Preserve the order data arrive + instead of semi-reversing it (bug#45162). + +2020-12-11 Pankaj Jangid + + docstring: If FRAME is nil, it defaults to selected frame. + + * src/frame.c (Fset_frame_size): Clarify what a nil FRAME + parameter means (bug#45170). + +2020-12-11 Lars Ingebrigtsen + + Clarify fortran-beginning-of-subprogram doc string after change + + * lisp/progmodes/fortran.el (fortran-beginning-of-subprogram): + Clarify doc string (bug#33208). + +2020-12-11 Stefan Kangas + + * lisp/progmodes/python.el: Bump version. + +2020-12-11 Lars Ingebrigtsen + + Fix compilation of image.c on non-Cairo systems + + * src/image.c (image_frame_cache_size): pixmap->width etc is only + defined on Cairo. Return 0 for now on other systems. + +2020-12-11 Roland Winkler + + bibtex-autokey-get-year: Follow iso8601 + + * lisp/textmodes/bibtex.el (bibtex-autokey-get-year): Follow + iso8601 (bug#36252). + +2020-12-11 Lars Ingebrigtsen + + Fix object-interval tests + + * test/src/fns-tests.el (object-intervals): Fix tests. + +2020-12-11 Lars Ingebrigtsen + + Fix parsing error in exif + + * lisp/image/exif.el (exif--parse-exif-chunk): The offset is a + four-byte number. Reported by Alan Light . + +2020-12-11 Lars Ingebrigtsen + + Add a new command `memory-report' + + * doc/lispref/internals.texi (Garbage Collection): Document it. + * lisp/emacs-lisp/memory-report.el: New package. + +2020-12-11 Lars Ingebrigtsen + + Add new function `object-intervals' + + * doc/lispref/text.texi (Examining Properties): Document it. + * src/fns.c (Fobject_intervals): New defun. + (collect_interval): New function. + +2020-12-11 Lars Ingebrigtsen + + Add new function 'image-cache-size' + + * src/image.c (Fimage_cache_size): New defun. + (image_frame_cache_size): New function. + +2020-12-11 Lars Ingebrigtsen + + Add a new function `button-buttonize' + + * doc/lispref/display.texi (Manipulating Buttons): Document it. + + * lisp/button.el (button-buttonize): Implement it. + +2020-12-11 Michael Albinus + + * lisp/battery.el (battery--upower-devices): Protect the D-Bus call. + + (Bug#45163) + +2020-12-11 Tassilo Horn + + Bind k to image-kill-buffer in doc-view-mode-map. + + * lisp/doc-view.el (doc-view-mode-map): Bind k to image-kill-buffer. + The binding k -> doc-view-kill-proc-and-buffer has been removed in + 2015 and the function been made an obsolete function alias to + image-kill-buffer (bug#45157). + +2020-12-11 Basil L. Contovounesios + + Fix quoting in gnus-buffer-configuration + + * lisp/gnus/gnus-win.el (gnus-buffer-configuration): Include + shell-command-buffer-name value rather than symbol in pipe + configuration. (Bug#39138, bug#45154) + +2020-12-11 Eric Abrahamsen + + Be more graceful about handling Gnus search errors + + One search may be applied to several servers: don't let one server's + error derail the whole process. + + * lisp/gnus/gnus-search.el (gnus-search-config-error): Define new + error. + (gnus-search-run-search, gnus-search-server-to-engine): Raise this + specific error as appropriate. + (gnus-search-run-query): Catch this error and effectively demote it. + +2020-12-10 Stefan Kangas + + Remove some ancient Emacs compat code from cperl-mode + + This variable has this value by default since Emacs 19.34. + + * lisp/progmodes/cperl-mode.el (cperl-mode): Remove some compat code. + +2020-12-10 Stefan Kangas + + Prefer setq-local in cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-mode, cperl-info-buffer) + (cperl-setup-tmp-buf, cperl-emulate-lazy-lock): Prefer setq-local. + +2020-12-10 Stefan Kangas + + Prefer setq-local in bibtex-style.el + + * lisp/textmodes/bibtex-style.el (bibtex-style-mode): Prefer + setq-local. + +2020-12-10 Eli Zaretskii + + Avoid segfaults in pos_visible_p + + * src/xdisp.c (pos_visible_p): Don't try accessing the glyphs + produced by iterator whose glyph_row was set to NULL; instead, + record the X coordinate before the display string when moving past + it, and use the recorded coordinate if needed. (Bug#45156) + +2020-12-10 Mattias Engdeg奪rd + + Fupcase no longer maps ? to itself (bug#11309) + + * test/src/casefiddle-tests.el (casefiddle-tests-char-casing): + (upcase ?) now returns ?畉 (U+7838), partly for technical reasons but + the previous behaviour was arbitrary and arguably less useful. + Correct upcasing of is normally SS, which is what Fupcase returns if + given a string, or (for special purposes) 畉. + +2020-12-10 Juri Linkov + + Allow creating a new tab from the minibuffer (bug#45072) + + * lisp/tab-bar.el (tab-bar-new-tab-to): Select the original window + when selected window is the minibuffer. + +2020-12-10 Dmitry Gutov (tiny change) + + Valentin Gatien-Baron + + * lisp/vc/vc-hg.el (vc-hg-working-revision): + Use 'hg log -T' instead of 'hg parent' (bug#36534). + +2020-12-09 Stefan Kangas + + Fix thinko in my previous commit + + * lisp/pcomplete.el (pcomplete-comint-setup): Fix thinko in my + previous commit. This was not a quoted symbol but a variable, and + therefore cannot use setq-local. + +2020-12-09 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump the version. + +2020-12-09 Dmitry Gutov + + Allow specifying the project to switch to programmatically + + * lisp/progmodes/project.el (project-switch-project): + Allow specifying the project to switch to programmatically + (bug#45134). + +2020-12-09 Dmitry Gutov + + Add missing defcustom keywords to new variables + + * lisp/progmodes/xref.el (xref-search-program-alist) + (xref-search-program): Add :version and :package-version. + +2020-12-09 Lars Ingebrigtsen + + Clarify `scroll-preserve-screen-position' doc string + + * src/window.c (syms_of_window): Clarify the doc string (bug#7910). + +2020-12-09 Juri Linkov + + Remove isearch-input-method-local-p and always set buffer-local input-method + + * lisp/isearch.el (isearch-input-method-local-p): Remove defvar. + (isearch-mode): Don't set isearch-input-method-local-p. + Set buffer-local input-method-function to nil. + (isearch-done): When isearch-input-method-function is still non-nil, + set the buffer-local value of input-method-function. (Bug#45005) + + * lisp/international/isearch-x.el (isearch-toggle-specified-input-method) + (isearch-toggle-input-method, isearch-transient-input-method): + Don't set isearch-input-method-local-p to t. Set buffer-local + input-method-function to nil. + + * lisp/language/korea-util.el (isearch-toggle-korean-input-method) + (isearch-hangul-switch-symbol-ksc, isearch-hangul-switch-hanja): + Don't set isearch-input-method-local-p to t. Set buffer-local + input-method-function to nil. + +2020-12-09 Juri Linkov + + Support highlighting of ripgrep output (bug#44983) + + * etc/grep.txt: Add ripgrep samples. + + * lisp/progmodes/grep.el (grep-match-regexp): Highlight ripgrep matches too. + (grep-regexp-alist): Remove $ to highlight ripgrep binary file matches. + +2020-12-09 Mattias Engdeg奪rd + + Stricter gradle-kotlin message pattern + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + Rule 'gradle-kotlin': don't be more forgiving than necessary; we know + exactly what the output looks like (see + https://github.com/JetBrains/kotlin/commit/\ + ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to + risk mismatches or expensive backtracking (bug#18109). Recognise + 'info' level messages. Convert to rx. + +2020-12-09 Lars Ingebrigtsen + + Include the keymap in the gud-mode doc string + + * lisp/progmodes/gud.el (gud-mode): Add the gud keymap to the end + of the doc string for easier access (bug#31406). + +2020-12-09 Lars Ingebrigtsen + + `pdb' doc string clarification + + * lisp/progmodes/gud.el (pdb): Mention that this command is for + debugging Python scripts. + +2020-12-09 Glenn Morris + + Merge from origin/emacs-27 + + c0b3e38d7c Update publicsuffix.txt from upstream + 3fe6cea6e0 * lisp/vc/vc.el: Update args of backend API calls in the h... + +2020-12-09 Glenn Morris + + Merge from origin/emacs-27 + + 32090a3de4 Improve documentation of streams in batch mode + 34feded008 Support ks_c_5601-1987 encoding + da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu... + 6916e7954a Improve documentation of 'ps-print-color-p' + 6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix. + a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix. + d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments. + +2020-12-09 Lars Ingebrigtsen + + Fix mark-defun in fortran-mode + + * lisp/progmodes/fortran.el (fortran-beginning-of-subprogram): + Make mark-defun work (bug#33208). + +2020-12-09 Eli Zaretskii + + Improve predictability of 'scroll-preserve-screen-position' + + * src/window.c (window_scroll_pixel_based): Compute the new + window-start more precisely when 'scroll-preserve-screen-position' + is non-nil. (Bug#8355) + +2020-12-09 Eli Zaretskii + + Update docs of 'defvar' and 'defface' + + * doc/lispref/display.texi (Defining Faces): + * doc/lispref/variables.texi (Defining Variables): Update the + descriptions of 'defvar' and 'defface' per recent changes in + 'eval-last-sexp'. (Bug#45125) + +2020-12-09 Lars Ingebrigtsen + + Fix info mode fontification of built-in (*note Built-ins::) + + * lisp/info.el (Info-fontify-node): Don't interpret things like + "built-in" as being the word "in" (bug#34661). + +2020-12-09 Serge Tupchii (tiny change) + + Fix crash (segfault) in etags on generating tags for Erlang files + + * lib-src/etags.c: Set allocated and lastlen to zero, after + freeing last ptr in Erlang_functions to prevent dereferencing NULL + pointer (bug#45122). + + + (cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547) + +2020-12-09 Mattias Engdeg奪rd + + Recognise properly as a lower-case letter (bug#11309) + + was incorrectly treated as a caseless character and thus not matched + by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]). + The reason is that the upcase table maps it to itself, which can be + remedied by mapping it to 畉 (U+7838) instead. Doing so does not + affect upcasing since the special-uppercase property maps it to SS. + + * lisp/international/characters.el (tbl): Map to 畉 in the upcase + table. + * test/src/regex-emacs-tests.el (regexp-eszett): Uncomment previously + failing tests. Add checks to make sure that case transformations + remain valid. + +2020-12-09 Lars Ingebrigtsen + + cl-pushnew manual clarification + + * doc/misc/cl.texi (Modify Macros): Don't claim that cl-pushnew + uses eql. + (Lists as Sets): Mention that eql is the default comparison function. + +2020-12-09 Lars Ingebrigtsen + + cl-defmethod doc string clarification + + * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc + string, and give an example (bug#42322). + +2020-12-09 Lars Ingebrigtsen + + Clarify the default-boundp doc string + + * src/data.c (Fdefault_boundp): Doc string clarification (bug#44141). + +2020-12-09 Lars Ingebrigtsen + + Make ediff offer to create files it's inferring + + * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Offer to create + the inferred file name (if it doesn't exist) (bug#8009). This allows + applying a patch that creates a file. + +2020-12-09 Michael Albinus + + Improve tests for gio file notifications + + * .gitlab-ci.yml (test-filenotify-gio): Call "make -k". + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch): + Set connection property "gio-file-monitor". + + * lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): New defun. + (tramp-sh-handle-file-notify-add-watch): Use it. + + * test/lisp/filenotify-tests.el (file-notify--test-read-event): Simplify. + (file-notify--test-monitor): Handle also remote "gio monitor". + (file-notify-test03-events, file-notify-test04-autorevert) + (file-notify-test05-file-validity, file-notify-test08-backup) + (file-notify-test09-watched-file-in-watched-dir): + Handle GKqueueFileMonitor. + +2020-12-09 Lars Ingebrigtsen + + Filter revoked keys when saving files + + * lisp/epa-file.el (epa-file-write-region): Use it to select a + non-revoked key (bug#22359). + + * lisp/epg.el (epg--filter-revoked-keys): New function. + +2020-12-09 Stefan Kangas + + Prefer setq-local in most files + + * lisp/apropos.el (apropos-print): + * lisp/buff-menu.el (Buffer-menu-mode): + * lisp/calc/calc.el (calc-trail-buffer): + * lisp/chistory.el (command-history-mode): + * lisp/dabbrev.el: + * lisp/dframe.el (dframe-frame-mode): + * lisp/doc-view.el (doc-view-presentation-mode): + * lisp/ebuff-menu.el (electric-buffer-menu-mode) + (electric-buffer-update-highlight): + * lisp/edmacro.el (edit-kbd-macro): + * lisp/face-remap.el (buffer-face-set, buffer-face-toggle): + * lisp/files.el: + (find-file-noselect-1, hack-local-variables-confirm) + (set-visited-file-name, revert-buffer--default): + * lisp/filesets.el (filesets-spawn-external-viewer): + * lisp/find-dired.el (find-dired): + * lisp/find-lisp.el (find-lisp-find-dired-internal): + * lisp/finder.el (finder-mode): + * lisp/font-core.el (font-lock-default-function): + * lisp/format.el (format-annotate-function): + * lisp/help-fns.el (describe-variable): + * lisp/help-mode.el (help-mode): + * lisp/icomplete.el (icomplete-minibuffer-setup) + (icomplete--in-region-setup): + * lisp/ido.el (ido-completion-help, ido-tidy): + * lisp/international/robin.el (robin-activate): + * lisp/leim/quail/hangul.el (hangul-input-method-activate): + * lisp/leim/quail/uni-input.el (ucs-input-activate): + * lisp/man.el (Man-mode): + * lisp/master.el (master-set-slave): + * lisp/minibuffer.el (minibuffer-completion-help) + (read-file-name-default): + * lisp/outline.el (outline-minor-mode): + * lisp/pcomplete.el (pcomplete-comint-setup): + * lisp/proced.el (proced-mode): + * lisp/recentf.el (recentf-edit-list, recentf-open-files-items): + * lisp/replace.el (occur-1): + * lisp/reveal.el (reveal-mode): + * lisp/ruler-mode.el (ruler--save-header-line-format): + * lisp/scroll-lock.el (scroll-lock-mode): + * lisp/startup.el (normal-top-level, normal-splash-screen): + * lisp/strokes.el (strokes-list-strokes): + * lisp/thumbs.el (thumbs-insert-image, thumbs-show-thumbs-list): + * lisp/tree-widget.el (tree-widget-set-theme): + * lisp/window.el (read-buffer-to-switch): + * lisp/xwidget.el (xwidget-webkit-begin-edit-textarea): Prefer + setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in dired extensions + + * lisp/dired-aux.el (dired-diff, dired-compare-directories) + (dired-do-create-files, dired-isearch-filenames): + * lisp/dired-x.el (dired-virtual, dired-vm): + * lisp/wdired.el (wdired-change-to-wdired-mode) + (wdired-change-to-dired-mode, wdired-preprocess-perms): + +2020-12-09 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2020-11-30 21:57:25 UTC. + +2020-12-09 Mattias Engdeg奪rd + + Fix [:upper:] and [:lower:] for Unicode characters (bug#11309) + + * src/regex-emacs.c (execute_charset): Add canon_table argument to + allow expression of a correct predicate for [:upper:] and [:lower:]. + (mutually_exclusive_p, re_match_2_internal): Pass extra argument. + * test/src/regex-emacs-tests.el (regexp-case-fold, regexp-eszett): + New tests. Parts of regexp-eszett still fail and are commented out. + +2020-12-09 Stefan Kangas + + Prefer setq-local in some remaining progmodes + + * lisp/progmodes/dcl-mode.el (dcl-mode): + * lisp/progmodes/hideif.el (hide-ifdef-mode) + (hide-ifdef-toggle-shadowing): + * lisp/progmodes/ps-mode.el (ps-mode, ps-run-mode): + * lisp/progmodes/xscheme.el (xscheme-start) + (local-set-scheme-interaction-buffer, scheme-interaction-mode): + Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (gdb--check-interpreter, gdb) + (gdb-init-buffer, gdb-get-buffer-create, gdb-threads-mode) + (gdb-memory-mode, gdb-disassembly-mode, gdb-frames-mode): Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in etags.el + + * lisp/progmodes/etags.el (initialize-new-tags-table) + (etags-recognize-tags-table, tags-recognize-empty-tags-table): + Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in cfengine.el + + * lisp/progmodes/cfengine.el (cfengine-common-settings) + (cfengine3-mode, cfengine2-mode): Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in sql.el + + * lisp/progmodes/sql.el (sql--oracle-show-reserved-words) + (sql-product-font-lock, sql-list-all, sql-mode) + (sql-interactive-mode, sql-product-interactive): Prefer + setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in font-lock.el + + * lisp/font-lock.el: + (font-lock-add-keywords, font-lock-turn-on-thing-lock) + (font-lock-fontify-syntactic-keywords-region) + (font-lock-set-defaults): Prefer setq-local. + +2020-12-09 Stefan Kangas + + * lisp/progmodes/sql.el: Remove redundant URL. + +2020-12-09 Basil L. Contovounesios + + Make abbrev-tests.el more deterministic + + * test/lisp/abbrev-tests.el (abbrev--table-symbols-test): Don't rely + on order of symbols in obarray. + +2020-12-09 Lars Ingebrigtsen + + Make uncache_image slightly more efficient + + * src/image.c (uncache_image): Extremely minor speed-up: Only + compute the hash once. + +2020-12-09 Stefan Monnier + + * src/fns.c: Remove left over include + +2020-12-09 Lars Ingebrigtsen + + Restore Emacs 27 image cache semantics + + * src/image.c (equal_lists): Remove. + (search_image_cache): Use Fequal instead of equal_lists. + Benchmarking shows no measurable time difference, and this + restores the cache semantics from Emacs 27 (where file names + didn't have to be EQ for the cache to be used). + +2020-12-09 Jo達o T叩vora + + Remove interactive spec from internal eldoc--format-doc-buffer + + Per bug#43609. + + * lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Remove + useless interactive spec. + +2020-12-09 Stefan Monnier + + * src/fns.c (hash_string): Speed up on large strings + +2020-12-08 Lars Ingebrigtsen + + term.el comment update + + * lisp/term.el: Fix wrong command name in the comments (bug#7041). + +2020-12-08 Serge Tupchii (tiny change) + + Fix crash (segfault) in etags on generating tags for Erlang files + + * lib-src/etags.c: Set allocated and lastlen to zero, after + freeing last ptr in Erlang_functions to prevent dereferencing NULL + pointer (bug#45122). + +2020-12-08 Lars Ingebrigtsen + + Make rcirc nick renaming heed nickname max lengths + + * lisp/net/rcirc.el (rcirc-server-parameters): New variable (bug#6795). + (rcirc-connect): Set it. + (rcirc-handler-433): Use the length from the server. + (rcirc-handler-005): Collect server data. + (rcirc-server-parameter-value): New utility function. + (rcirc--make-new-nick): New function. + +2020-12-08 Lars Ingebrigtsen + + Make hexl scrolling commands work more like the normal ones + + * lisp/hexl.el (hexl-scroll-down): + (hexl-scroll-up): Heed `next-screen-context-lines' (bug#7031). + +2020-12-08 Lars Ingebrigtsen + + Fix scrolling in hexl-mode when ruler-mode is on + + * lisp/hexl.el (hexl-scroll-down): + (hexl-scroll-up): Take ruler-mode into account when computing the + number of lines (bug#7031). These commands would previously jump + one line too many by default, skipping one line. + +2020-12-08 Eli Zaretskii + + Improve documentation of 'backtrace-on-error-noninteractive' + + * src/eval.c (syms_of_eval) : + Format the doc string according to conventions. + + * etc/NEWS: Improve formatting and wording of the entry describing + 'backtrace-on-error-noninteractive. + +2020-12-08 Lars Ingebrigtsen + + Make the history traversal functions in coming more regular + + * lisp/comint.el (comint-previous-matching-input): Allow restoring + the input on wraps (bug#7885). + (comint-previous-matching-input-from-input): Restore input on wraps. + +2020-12-08 Boruch Baum + + Make table-fixed-width-mode work again + + * lisp/textmodes/table.el (table--update-cell): Make + table-fixed-width-mode work (bug#18183). + +2020-12-08 Lars Ingebrigtsen + + Use the proper face for the Gnus mode line id + + * lisp/gnus/gnus-sum.el (gnus-set-mode-line): + * lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use the + mode-line-buffer-id face on the buffer id. + +2020-12-08 Lars Ingebrigtsen + + Simplify gnus-mode-line-buffer-identification + + * lisp/gnus/gnus.el (gnus-mode-line-image-cache): Remove. + (gnus-mode-line-buffer-identification): Use the find-image cache. + +2020-12-08 Lars Ingebrigtsen + + Cache toolbar icon data paths + + * lisp/image.el (find-image): Add an optional CACHE parameter. + (find-image--cache): New variable. + + * lisp/tool-bar.el (tool-bar--image-expression): Use cached data + to avoid looking up the image files on each refresh. + +2020-12-08 Stefan Kangas + + Prefer setq-local in grep.el + + * lisp/progmodes/grep.el (grep-process-setup, grep-mode): Prefer + setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in meta-mode.el + + * lisp/progmodes/meta-mode.el (meta-common-mode, metafont-mode) + (metapost-mode): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in compile.el + + * lisp/progmodes/compile.el (compile-command, compilation-start) + (compilation-mode, compilation-setup, compilation-filter) + (compilation-forget-errors): Prefer setq-local. + +2020-12-08 Stefan Kangas + + * admin/nt/dist-build/build-dep-zips.py: Remove unused import. + +2020-12-08 Stefan Kangas + + Prefer setq-local in tests + + * test/lisp/allout-tests.el (allout-test-resumption-prior-value-resumed) + (allout-test-resumption-multiple-holds) + (allout-test-resumption-unbinding): + * test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el + (faceup-test-mode): + * test/lisp/epg-tests.el (with-epg-tests): + * test/src/data-tests.el (binding-test-buffer-A): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in term.el + + * lisp/term.el (term-mode, term-exec, term-emulate-terminal) + (term-process-pager): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in shell.el + + * lisp/shell.el (shell-completion-vars, shell-mode): Prefer + setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in speedbar.el + + * lisp/speedbar.el (speedbar-frame-mode, speedbar-mode) + (speedbar-add-localized-speedbar-support): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in newcomment.el + + * lisp/newcomment.el (comment-inline-offset) + (comment-normalize-vars): Prefer setq-local. + +2020-12-08 Stefan Kangas + + * lisp/locate.el (locate, locate-mode): Prefer setq-local. + + * lisp/array.el (array-mode): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in simple.el + + * lisp/simple.el (read-extended-command, goto-history-element) + (minibuffer-history-isearch-setup, read-shell-command) + (visual-line-mode, completion-setup-function, read-only-mode) + (visible-mode): Prefer setq-local. + +2020-12-07 Philipp Stephani + + Fix bug in how ERT invokes its debugger. + + The debugger needs to receive a list of the error symbol and data; + cf. the documentation of the `debugger' variable. This bug manifested + itself in ERT forms such as (should (integerp (ert-fail "Boo"))), + which resulted in an incorrect condition object. Note that forms such + as (should (ert-fail "Boo")) weren't affected because they wouldn't + use the `ert--should-signal-hook'. + + * test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with + the right arguments. + + * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add + unit test. + +2020-12-07 Lars Ingebrigtsen + + Avoid problems when calling desktop-read twice + + * lisp/desktop.el (desktop-read): Don't reload the desktop file if + it's already been loaded, because the later query may lead to + desktop-dirname being set to nil (bug#9765). + +2020-12-07 Lars Ingebrigtsen + + Make previous Fkill_emacs change safer + + * src/emacs.c (Fkill_emacs): Don't run `kill-emacs-hook' if it's nil. + +2020-12-07 Daniel Mart鱈n + + Add commands xref-next-group and xref-prev-group + + * lisp/progmodes/xref.el (xref-next-group): New command that navigates + to the first item of the next xref group (typically a file). + (xref-prev-group): New command that navigates + to the first item of the next xref group (typically a file). + (xref--xref-buffer-mode-map): Bound the new commands to 'N' and 'P', + respectively. + * doc/emacs/maintaining.texi (Xref Commands): Document the new + commands in the Emacs manual. + * etc/NEWS: Announce them (bug#45089). + +2020-12-07 Alyssa Ross (tiny change) + + Only use the comint environment in comint-derived modes + + * lisp/progmodes/compile.el (compilation-start): Only use the + comint environment in comint-derived modes (bug#45095). + +2020-12-07 Stefan Kangas + + Prefer setq-local in calendar/*.el + + * lisp/calendar/calendar.el (calendar-mode): + * lisp/calendar/diary-lib.el (diary-list-entries, diary-mode): + (diary-fancy-display-mode): Prefer setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in gnus/*.el + + * lisp/gnus/gnus-agent.el (gnus-agent-mode) + (gnus-agent-get-undownloaded-list, gnus-agent-open-history): + * lisp/gnus/gnus-art.el (gnus-article-setup-highlight-words) + (gnus-article-mode, gnus-article-setup-buffer, defsubst) + (gnus-article-describe-bindings, gnus-article-edit-mode): + * lisp/gnus/gnus-cus.el (gnus-custom-mode, gnus-group-customize) + (gnus-score-customize, gnus-agent-customize-category): + * lisp/gnus/gnus-group.el (gnus-group-make-tool-bar): + * lisp/gnus/gnus-msg.el (gnus-setup-message) + (gnus-summary-news-other-window, gnus-configure-posting-styles): + * lisp/gnus/gnus-salt.el (gnus-pick-mode, gnus-binary-mode): + * lisp/gnus/gnus-score.el (gnus-score-edit-current-scores) + (gnus-score-edit-file): + * lisp/gnus/gnus-srvr.el (gnus-server-mode): + * lisp/gnus/gnus-start.el (gnus-no-server-1) + (gnus-dribble-read-file, gnus-save-newsrc-file) + (gnus-gnus-to-newsrc-format): + * lisp/gnus/gnus-sum.el (gnus-summary-make-tool-bar) + (gnus-summary-mode, gnus-summary-setup-buffer) + (gnus-select-newsgroup, gnus-summary-edit-article) + (gnus-summary-setup-default-charset): + * lisp/gnus/gnus-topic.el (gnus-topic-mode): + * lisp/gnus/gnus-undo.el (gnus-undo-mode): + * lisp/gnus/gnus.el (gnus-simplify-mode-line): + * lisp/gnus/message.el (message-cite-reply-position) + (message-cite-style, message-mode, message-setup-fill-variables): + * lisp/gnus/mm-view.el (mm-display-inline-fontify): + * lisp/gnus/mml.el (mml-mode): + * lisp/gnus/nndiary.el (nndiary-open-nov): + * lisp/gnus/nnfolder.el (nnfolder-save-buffer) + (nnfolder-open-nov): + * lisp/gnus/nnheader.el (nnheader-init-server-buffer): + * lisp/gnus/nnimap.el (nnimap-make-process-buffer): + * lisp/gnus/nnml.el (nnml-get-nov-buffer): Prefer setq-local. + +2020-12-07 Andrea Corallo + + * Spawn a sub-process for running GCC also in batch mode (bug#45056) + + * lisp/emacs-lisp/comp.el (comp-async-compilation): New variable. + (comp-final): Always run the C side of the compilation as a + sub-process unless during bootstrap or async compilation. + (comp-run-async-workers): Set `comp-async-compilation'. + +2020-12-07 Lars Ingebrigtsen + + Insert skeletons at the correct point + + * lisp/skeleton.el (skeleton-read): Don't insert the skeleton at + an arbitrary point if the user moves around (bug#17752). + +2020-12-07 Lars Ingebrigtsen + + Allow shutting down Emacs even if there are errors in kill-emacs-hook + + * lisp/subr.el (run-hook-query-error-with-timeout): New function + (bug#28542). + + * src/emacs.c (Fkill_emacs): Use it to allow exiting Emacs even if + there are errors in kill-emacs-hook. + (syms_of_emacs): Define the symbol. + +2020-12-07 Lars Ingebrigtsen + + Ensure that new emacsclient frames has focus + + * lisp/server.el (server-execute): Focus the frame here... + (server-switch-buffer): Instead of here (bug#15469). This ensures + that the frame has focus if Emacs is querying the user about + something when opening a file (for instance "Revert from file?"). + +2020-12-07 Lars Ingebrigtsen + + Allow inhibiting the instructions on how to close emacsclient frames + + * doc/emacs/misc.texi (Invoking emacsclient): Document it. + * lisp/server.el (server-client-instructions): New variable. + (server-execute): Use it. + +2020-12-07 Illia Ostapyshyn (tiny change) + + Allow using newer versions of Gnuplot from calc again + + * lisp/calc/calc-graph.el (calc-graph-plot): Don't use the "time" + abbreviation for "timestamp" (bug#39232) -- it's no longer valid + after + https://github.com/gnuplot/gnuplot/commit/b979b5371bc1c18bf8f5bd756e7c1fb54dafd8cc + +2020-12-07 Lars Ingebrigtsen + + Fix file name quoting problems in tex-mode + + * lisp/textmodes/tex-mode.el (tex--quote-spec): New function + (bug#14286). + (tex-format-cmd): Use it. + (tex-compile): Don't quote the file names, because we're using + `file-exists-p' and friends on the results later, and that fails + on systems where everything is quoted, and on file names that need + quoting. + +2020-12-07 Lars Ingebrigtsen + + Clarify icomplete-show-matches-on-no-input doc string + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify + doc string (bug#19031), suggested by Andrii Kolomoiets. + +2020-12-07 Lars Ingebrigtsen + + Revert "Clarify icomplete-show-matches-on-no-input doc string" + + This reverts commit f352c57972d24464a42ea3e65dc8ac07d8e0517c. + + The new explanation of what icomplete does is wrong. + +2020-12-07 Mattias Engdeg奪rd + + Calc: simplify integer log2 and power of 2 + + We have bignums and fast primitives now; no caches are needed. + + * lisp/calc/calc-bin.el (math-power-of-2-cache) + (math-big-power-of-2-cache): Remove. + (math-power-of-2, math-integer-log2): Simplify. + (calcFunc-ash): Don't call math-power-of-2 with negative argument. + +2020-12-07 Mattias Engdeg奪rd + + * doc/misc/calc.texi (Predefined Units): Prune outdated kg text. + +2020-12-07 Philipp Stephani + + Unbreak a few unit tests that rely on lack of backtraces + + * test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-in-file) + (gv-dont-define-expander-other-file): + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-default-config): + Suppress backtraces in batch mode to unbreak unit tests. + +2020-12-07 Philipp Stephani + + Add new variable to selectively suppress backtraces in batch mode. + + * src/eval.c (syms_of_eval): Define new variable + 'backtrace-on-error-noninteractive' to selectively enable backtrace + printing in batch mode. + (signal_or_quit): Use it. + + * etc/NEWS: Document new variable. + + * test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode/inhibit): + New unit test. + +2020-12-07 Stefan Kangas + + * lisp/ielm.el (inferior-emacs-lisp-mode): Prefer setq-local. + + * lisp/ibuffer.el (ibuffer, ibuffer-mode): Prefer setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in whitespace.el + + * lisp/whitespace.el (whitespace-turn-on, whitespace-color-on): Prefer + setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in tar-mode.el + + * lisp/tar-mode.el (tar-summarize-buffer, tar-mode, tar-extract): + Prefer setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in tcl.el + + * lisp/progmodes/tcl.el (tcl-mode, inferior-tcl-mode, inferior-tcl): + (tcl-auto-fill-mode, tcl-guess-application): Prefer setq-local. + +2020-12-07 Michael Albinus + + * lisp/net/tramp.el (tramp-read-passwd): Use connection-local `auth-sources'. + + * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection): + * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): + * lisp/net/tramp-sh.el (tramp-maybe-open-connection): + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): + Move setting of connection-local variables up. + +2020-12-07 Stefan Monnier + + * lisp/emacs-lisp/lisp-mode.el: Give paren syntax to [...] in lisp-data-mode + + (lisp-data-mode-syntax-table): Rename from lisp--mode-syntax-table. + Adjust all users. Set [...] to have paren syntax. + (lisp-data-mode): Don't set `lisp-syntax` arg any more + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table): + Don't bother setting [...] to have paren syntax any more. + + * lisp/progmodes/inf-lisp.el (inferior-lisp-mode): Don't use + `lisp-syntax` arg of lisp-mode-variables any more. + +2020-12-06 Mattias Engdeg奪rd + + Remove Calc bignum remnants + + * lisp/calc/calc-macs.el (Math-natnum-lessp): + * lisp/calc/calc-ext.el (math-norm-bignum, math-compare-bignum): + * lisp/calc/calc-math.el (math-zerop-bignum) + (math-scale-bignum-digit-size): Remove. + + * lisp/calc/calc-bin.el (math-integer-log2, calcFunc-rot, math-clip): + * lisp/calc/calc-comb.el (math-prime-test, calcFunc-prfac) + (calcFunc-totient, calcFunc-moebius): + * lisp/calc/calc-ext.el (math-gcd): + * lisp/calc/calc-funcs.el (calcFunc-betaB): + * lisp/calc/calc-math.el (math-nth-root-int-iter, calcFunc-ilog): + Replace Math-natnum-lessp with <. + +2020-12-06 Juri Linkov + + * lisp/vc/vc-git.el: Update args of backend API calls in the header comments + + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html + +2020-12-06 Juri Linkov + + * lisp/vc/vc.el: Update args of backend API calls in the header comments + + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html + +2020-12-06 Juri Linkov + + Handle calling read-char-from-minibuffer and y-or-n-p from pre-command-hook + + * lisp/subr.el (read-char-from-minibuffer-insert-char) + (read-char-from-minibuffer-insert-other, y-or-n-p-insert-y) + (y-or-n-p-insert-n, y-or-n-p-insert-other): + Check for 'minibufferp' before executing the body. + (read-char-from-minibuffer, y-or-n-p): Let-bind this-command + before calling read-from-minibuffer. (Bug#45029) + +2020-12-06 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-06 Andrea Corallo + + * Unify common fallback exit point in `comp-cstr-union-1-no-mem'. + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Define + a local function `give-up' as a common fall-back exit point. + +2020-12-06 Andrea Corallo + + Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos union + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): + Generalize disjoint pos types vs neg values conditions. + (comp-cstr-union-1-no-mem): Do not propagate ranges when we are + already returning integer as generic type. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add corresponding tests. + +2020-12-06 Philipp Stephani + + Print a backtrace on unhandled errors in batch mode (Bug#44942). + + * src/eval.c (signal_or_quit): Print a backtrace in batch mode if no + error handler was found. + + * test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode) + (eval-tests/backtrace-in-batch-mode/demoted-errors): New unit tests. + + * etc/NEWS: Document change. + +2020-12-06 Eli Zaretskii + + Improve error message text of "C-x C-SPC" + + * lisp/simple.el (pop-global-mark): Mention the buffer name in the + error message. Suggested by T.V Raman . + +2020-12-06 Eli Zaretskii + + Improve documentation of streams in batch mode + + * doc/lispref/os.texi (Batch Mode): + * doc/lispref/streams.texi (Input Streams, Output Streams): Better + documentation of I/O streams in batch mode, with more + cross-references. + +2020-12-06 Michael Albinus + + Make Tramp scripts more unique and robust + + * lisp/net/tramp-sh.el (tramp-uudecode, tramp-perl-file-truename) + (tramp-perl-file-name-all-completions) + (tramp-perl-file-attributes) + (tramp-perl-directory-files-and-attributes) + (tramp-perl-encode-with-module, tramp-perl-decode-with-module) + (tramp-perl-encode, tramp-perl-decode, tramp-perl-pack) + (tramp-perl-unpack, tramp-hexdump-encode, tramp-awk-encode) + (tramp-hexdump-awk-encode, tramp-od-encode, tramp-od-awk-encode) + (tramp-awk-decode): Use format specifiers supported by + `tramp-expand-script'. Adapt docstring. + (tramp-vc-registered-read-file-names): Adapt docstring. + (tramp-sh-handle-file-local-copy): Let-bind local `default-directory'. + (tramp-expand-script): New defun. + (tramp-maybe-send-script, tramp-find-inline-encoding): Use it. + (tramp-local-coding-commands): Simplify. + +2020-12-06 Mattias Engdeg奪rd + + Unicode integrals in Calc + + * lisp/calc/calccomp.el (math-compose-integ): Use Unicode integral + signs when available instead of a crude ASCII approximation, with a + shorter stem to save space. + +2020-12-06 Basil L. Contovounesios + + Avoid modifying nnimap user option in spam.el + + * lisp/gnus/nnimap.el (nnimap--split-download-body): New variable. + (nnimap-fetch-inbox): Use it in conjunction with + nnimap-split-download-body. + * lisp/gnus/spam.el: Don't load nnimap.el at compile time for a + dynamic variable. + (spam-setup-widening): Rather than unconditionally set user option + nnimap-split-download-body, set nnimap--split-download-body to a + unique non-nil value only if the variable was nil (bug#44981). + (spam-teardown-widening): New function that undoes this if + nnimap--split-download-body still holds the unique value. + (spam-unload-hook): Call spam-teardown-widening to revert any change + to the value of nnimap--split-download-body. + +2020-12-06 Stefan Kangas + + Prefer setq-local in several progmodes + + * lisp/progmodes/executable.el (executable-interpret): + * lisp/progmodes/f90.el (f90-mode): + * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): + * lisp/progmodes/fortran.el (fortran-mode): + * lisp/progmodes/gud.el (gud-gdb, sdb, dbx, xdb, perldb, pdb) + (jdb, gud-mode, gud-common-init, gdb-script-mode) + (gud-tooltip-activate-mouse-motions): + * lisp/progmodes/hideshow.el (hs-minor-mode): + * lisp/progmodes/icon.el (icon-mode): + * lisp/progmodes/ld-script.el (ld-script-mode): + * lisp/progmodes/mixal-mode.el (mixal-mode): + * lisp/progmodes/modula2.el (m2-mode): + * lisp/progmodes/simula.el (simula-mode): + * lisp/progmodes/subword.el (subword-setup-buffer): + * lisp/progmodes/which-func.el (which-function): Prefer setq-local. + +2020-12-06 Eli Zaretskii + + Support ks_c_5601-1987 encoding + + * lisp/language/korean.el (ks_c_5601-1987): Define as an alias for + 'korean-iso-8bit. (It is sometimes used in email messages.) + +2020-12-06 Stefan Kangas + + Prefer setq-local in emulation/*.el + + * lisp/emulation/edt.el (edt-select-mode): + * lisp/emulation/viper-cmd.el (viper-refresh-mode-line): + (viper-minibuffer-setup-sentinel): + * lisp/emulation/viper.el (viper-comint-mode-hook): Prefer setq-local. + +2020-12-06 Stefan Kangas + + Prefer setq-local in url/*.el + + * lisp/url/url-cookie.el (url-cookie-write-file): + * lisp/url/url-http.el (url-http-parse-headers): + * lisp/url/url-util.el (url-extract-mime-headers): Prefer setq-local. + +2020-12-06 YAMAMOTO Mitsuharu + + Fix Xaw widget text disappearing when built with cairo (bug#43418) + + * lwlib/lwlib-utils.c (crxft_font_open_name): Use FcFontMatch to + get a pattern to pass to cairo_ft_font_face_create_for_pattern. + +2020-12-05 Andrea Corallo + + * Memoize `comp-cstr-union-1' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Do not synthesize the + copier. + (comp-cstr-ctxt): Add `union-1-mem-no-range' `union-1-mem-range' + slots. + (comp-cstr-copy): New function. + (comp-cstr-union-1-no-mem): Rename from `comp-cstr-union-1'. + (comp-cstr-union-1): New function. + +2020-12-05 Andrea Corallo + + More improvements to `comp-cstr-union-1' for mixed positive/negative cases + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Better handle + mixed positive/negated cases. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a number of tests. + +2020-12-05 Andrea Corallo + + * Fix `comp-cstr-to-type-spec' + + * lisp/emacs-lisp/comp-cstr.el (comp-star-or-num-p): New predicate. + (comp-type-spec-to-cstr): Make use of. + (comp-cstr-to-type-spec): Output correctly type specifiers + as (not (or integer ... + +2020-12-05 Andrea Corallo + + Fix union of homogeneously negated input constraints + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Fix logic. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a couple of tests. + +2020-12-05 Andrea Corallo + + * Add `with-comp-cstr-accessors' macro. + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): New macro. + (comp-cstr-union-1): Make use of `with-comp-cstr-accessors'. + +2020-12-05 Andrea Corallo + + Initial support for union of negated constraints + + * lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New + function. + (comp-cstr-union-homogeneous-no-range): Rename from + `comp-cstr-union-no-range'. + (comp-cstr-union-homogeneous): Rename from `comp-cstr-union'. + (comp-cstr-union-1): New function. + (comp-cstr-union-no-range, comp-cstr-union): Rewrite in function + of `comp-cstr-union-1'. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a bunch of tests. + +2020-12-05 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic. + +2020-12-05 Andrea Corallo + + Initial constraint negation support + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot. + (comp-range-negation, comp-cstr-negation) + (comp-cstr-negation-make): New functions. + (comp-type-spec-to-cstr): Enable `not` in type specifiers. + (comp-cstr-to-type-spec): Update logic to handle negation. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + +2020-12-05 Stefan Monnier + + * lisp/progmodes/perl-mode.el: Fix handling of s'foo'bar' + + (perl-syntax-propertize-function): Don't put a syntax-property + on regexp-op delimiters if they're already handled correctly + by the normal syntax tables. + (perl-syntax-propertize-special-constructs): Mark the middle + quote of s'foo'bar' as punctuation. + + * test/manual/indent/perl.perl: Add new test cases. + +2020-12-05 Stefan Kangas + + Prefer setq-local in play/*.el + + * lisp/play/decipher.el (decipher-mode): + * lisp/play/doctor.el (make-doctor-variables): + * lisp/play/dunnet.el (dun-mode): + * lisp/play/gomoku.el (gomoku-mode): Prefer setq-local. + +2020-12-05 Basil L. Contovounesios + + Fix last change to shell-command + + * lisp/simple.el: Specify comint-term-environment arglist in + function declaration. + (shell-command): Load shell.el before calling + comint-term-environment; otherwise it is undefined. Allow + async-shell-command-width to take precedence over the COLUMNS value + returned by comint-term-environment. (Bug#45034) + +2020-12-05 Eli Zaretskii + + Improve documentation of 'ps-print-color-p' + + * doc/emacs/misc.texi (PostScript Variables): Improve and clarify + the description of 'ps-print-color-p'. (Bug#44962) + +2020-12-05 Stefan Kangas + + Prefer setq-local in mail/*.el + + * lisp/mail/emacsbug.el (report-emacs-bug): + * lisp/mail/rfc822.el (rfc822-addresses): + * lisp/mail/rmail.el (rmail-perm-variables, rmail-show-message-1): + * lisp/mail/rmailedit.el (rmail-edit-mode): + (rmail-edit-current-message, rmail-cease-edit): + * lisp/mail/rmailsum.el (rmail-new-summary-1, rmail-summary-mode): + (rmail-summary-update-highlight): + * lisp/mail/sendmail.el (mail-mode): Prefer setq-local. + +2020-12-05 Stefan Kangas + + Prefer setq-local in vc/*.el + + * lisp/vc/add-log.el (find-change-log, change-log-mode): + * lisp/vc/cvs-status.el (cvs-status-mode): + * lisp/vc/diff-mode.el (diff-restrict-view, diff-find-file-name): + (diff-mode, diff-setup-whitespace, diff-apply-hunk): + * lisp/vc/diff.el (diff-no-select): + * lisp/vc/ediff-util.el (ediff-setup): + * lisp/vc/log-edit.el (log-edit, log-edit-mode): + * lisp/vc/log-view.el (log-view-mode): + * lisp/vc/pcvs.el (cvs-temp-buffer, cvs-make-cvs-buffer): + (cvs-update-filter, cvs-mode, cvs-mode-commit) + (cvs-mode-edit-log, cvs-vc-command-advice): + * lisp/vc/smerge-mode.el (smerge-match-conflict): + (smerge-ediff, smerge-mode): + * lisp/vc/vc-annotate.el (vc-annotate-mode): + (vc-annotate, vc-annotate-display): + * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): + * lisp/vc/vc-dir.el (vc-dir-mode): + * lisp/vc/vc-dispatcher.el (vc-setup-buffer): + (vc-compilation-mode, vc-start-logentry): + * lisp/vc/vc-git.el (vc-git-log-view-mode): + * lisp/vc/vc-hg.el (vc-hg-log-view-mode): + * lisp/vc/vc-hooks.el (vc-refresh-state): + * lisp/vc/vc-mtn.el (vc-mtn-log-view-mode): + * lisp/vc/vc-svn.el (vc-svn-log-view-mode): + * lisp/vc/vc.el (vc-register, vc-diff-internal): + (vc-find-revision-save, vc-find-revision-no-save): + (vc-log-internal-common, vc-region-history): Prefer setq-local. + +2020-12-05 Dmitry Gutov + + Always show the summary + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + Always show the summary (at least for now). + +2020-12-05 Dmitry Gutov + + Fontify the group and the line number + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + Fontify the group and the line number. + +2020-12-05 Dmitry Gutov + + Hide the common parent directory, if any + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + Hide the common parent directory, if any. + +2020-12-05 William Xu + + xref--show-defs-minibuffer: new "show definitions" UI + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + New function to use as xref-show-definitions-function + (https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00824.html). + +2020-12-04 Andrea Corallo + + * Do not compile `comp-cstr.el` in vanilla builds + + * lisp/Makefile.in (compile-targets): Filter out 'comp-cstr.elc' + in vanilla builds. + +2020-12-04 Andrea Corallo + + Vanilla build warning clean-up + + * lisp/emacs-lisp/disass.el (native-comp-unit-file) + (subr-native-comp-unit): Declare function. + * lisp/progmodes/elisp-mode.el (native-compile): Likewise. + * lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise. + * lisp/startup.el (normal-top-level): Silence warning. + * src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always + defined. + * src/pdumper.c (dump_cold_native_subr): Move under ifdefs. + (dump_drain_cold_data): Add ifdefs. + +2020-12-04 Andrea Corallo + + * Fix `load-history' causing a number of spurious compiler warnings + + * src/comp.c (Fcomp__register_subr): Fix missing entry into + `load-history' indicating that the loaded function was already an + autoload. + +2020-12-04 Spencer Baugh + + * src/alloc.c (Fgarbage_collect_maybe): New function + +2020-12-04 Dmitry Gutov + + Improve docstrings + + * lisp/progmodes/xref.el (xref-search-program-alist) + (xref-search-program): Improve docstrings. + +2020-12-04 Roland Winkler + + * lisp/textmodes/bibtex.el: Use user-error. + +2020-12-04 Stefan Kangas + + Prefer setq-local in emacs-lisp/*.el + + * lisp/emacs-lisp/chart.el (chart-mode): + * lisp/emacs-lisp/copyright.el (copyright-update): + * lisp/emacs-lisp/eieio-custom.el (eieio-customize-object): + * lisp/emacs-lisp/elint.el (elint-update-env, elint-init-form): + * lisp/emacs-lisp/ert.el (ert--results-update-ewoc-hf): + (ert--setup-results-buffer): + * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): + * lisp/emacs-lisp/pp.el (pp-display-expression): + * lisp/emacs-lisp/re-builder.el (reb-mode, reb-restart-font-lock): + * lisp/emacs-lisp/shadow.el (load-path-shadows-mode): + * lisp/emacs-lisp/smie.el (smie-setup): + * lisp/emacs-lisp/syntax.el (syntax-propertize): + * lisp/emacs-lisp/trace.el (trace-make-advice): Prefer setq-local. + +2020-12-04 Stefan Kangas + + Prefer setq-local in net/*.el + + * lisp/net/ange-ftp.el (ange-ftp-process-handle-line): + (internal-ange-ftp-mode): + * lisp/net/imap.el (imap-fetch-safe): + * lisp/net/net-utils.el (net-utils-mode): + (nslookup-mode, network-connection-mode-setup): + * lisp/net/newst-plainview.el (newsticker-mode): + (newsticker-buffer-update): + * lisp/net/newst-treeview.el (newsticker--treeview-item-show): + (newsticker-treeview-mode): + * lisp/net/rlogin.el (rlogin): + * lisp/net/secrets.el (secrets-mode): + * lisp/net/sieve-mode.el (sieve-mode): + * lisp/net/sieve.el (sieve-setup-buffer, sieve-open-server): + * lisp/net/snmp-mode.el (snmp-common-mode, snmp-mode, snmpv2-mode): + * lisp/net/telnet.el (telnet-mode): + * lisp/net/tramp.el (tramp-get-debug-buffer): Prefer setq-local. + +2020-12-04 Mattias Engdeg奪rd + + Speed up match-substitute-replacement + + * lisp/subr.el (match-substitute-replacement): Use match-data--translate. + * src/search.c (Fmatch_data__translate): Remove string restriction. + * test/lisp/subr-tests.el (subr-match-substitute-replacement): New test. + +2020-12-04 Stefan Kangas + + Prefer setq-local in cedet + + * lisp/cedet/data-debug.el (data-debug-mode): + * lisp/cedet/ede/custom.el (ede-customize-project): + * lisp/cedet/ede/project-am.el (project-am-load-makefile): + * lisp/cedet/mode-local.el (mode-local--activate-bindings): + * lisp/cedet/semantic.el (semantic--set-buffer-cache): + * lisp/cedet/semantic/analyze/debug.el + (semantic-analyzer-debug-add-buttons): + * lisp/cedet/semantic/grammar.el (semantic-grammar-mode): + * lisp/cedet/semantic/senator.el (senator-search-set-tag-class-filter): + (senator-isearch-mode-hook): + * lisp/cedet/semantic/symref/list.el + (semantic-symref-produce-list-on-results) + (semantic-symref-results-mode): + * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode): + * lisp/cedet/semantic/wisent/python.el (wisent-python-default-setup): + * lisp/cedet/srecode/srt-mode.el (srecode-template-mode): + Prefer setq-local. + +2020-12-04 Stefan Kangas + + Prefer setq-local in most of textmodes/*.el + + * lisp/textmodes/artist.el (artist-mode-init): + * lisp/textmodes/bibtex.el (bibtex-mode): + * lisp/textmodes/dns-mode.el (dns-mode): + * lisp/textmodes/enriched.el (enriched-mode): + * lisp/textmodes/ispell.el (ispell-buffer-local-parsing): + * lisp/textmodes/nroff-mode.el (nroff-mode): + * lisp/textmodes/picture.el (picture-mode): + * lisp/textmodes/refill.el (refill-mode): + * lisp/textmodes/two-column.el (2C-split): Prefer setq-local. + +2020-12-04 Eli Zaretskii + + Don't abort when terminated by SIGINT in -batch + + * src/xdisp.c (clear_message_stack): New function. + * src/emacs.c (terminate_due_to_signal): Call clear_message_stack + when we are being shut down by SIGINT under -batch. + * src/lisp.h (clear_message_stack): Add prototype. + +2020-12-04 Lars Ingebrigtsen + + Make custom-data saving atomic + + * lisp/cus-edit.el (custom-save-all): Do the custom saves as an + atomic change group, to avoid writing invalid data if something + goes wrong (or the user hits `C-g') in the middle (bug#18633). + +2020-12-04 Lars Ingebrigtsen + + Allow viper-save-setting to save numerical settings + + * lisp/emulation/viper-util.el (viper-save-setting): Allow saving + numerical settings (bug#18928). + +2020-12-04 Lars Ingebrigtsen + + Clarify icomplete-show-matches-on-no-input doc string + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify + the meaning of the variable (bug#19031). + +2020-12-04 Stefan Kangas + + Prefer setq-local in erc + + * lisp/erc/erc-goodies.el (erc-imenu-setup): + * lisp/erc/erc-list.el (erc-list-install-322-handler, erc-cmd-LIST): + * lisp/erc/erc-pcomplete.el (pcomplete-erc-setup): + * lisp/erc/erc.el (erc-mode, erc-update-mode-line-buffer): + Prefer setq-local. + +2020-12-04 Alyssa Ross (tiny change) + + Make shell-command use comint settings + + * lisp/simple.el (shell-command): Use the term environment from + comint, so that comint settings are used for commands like + `async-shell-command', too (bug#45034). + +2020-12-04 Stefan Kangas + + * lisp/eshell/esh-mode.el (eshell-mode): Remove XEmacs compat code. + +2020-12-04 Stefan Kangas + + Prefer setq-local in eshell + + * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize): + * lisp/eshell/em-dirs.el (eshell-dirs-initialize): + * lisp/eshell/em-glob.el (eshell-glob-initialize, eshell-glob-regexp): + * lisp/eshell/em-hist.el (eshell-hist-initialize): + * lisp/eshell/em-prompt.el (eshell-prompt-initialize): + * lisp/eshell/em-rebind.el (eshell-rebind-initialize) + (eshell-setup-input-keymap): + * lisp/eshell/em-script.el (eshell-script-initialize): + * lisp/eshell/em-smart.el (eshell-smart-initialize): + * lisp/eshell/em-term.el (eshell-term-initialize, eshell-exec-visual): + * lisp/eshell/em-tramp.el (eshell-tramp-initialize): + * lisp/eshell/em-unix.el (eshell-unix-initialize, eshell/diff): + * lisp/eshell/esh-arg.el (eshell-arg-initialize): + * lisp/eshell/esh-cmd.el (eshell-cmd-initialize): + * lisp/eshell/esh-io.el (eshell-get-target): + * lisp/eshell/esh-mode.el (eshell-mode): + * lisp/eshell/esh-var.el (eshell-var-initialize): Prefer setq-local. + +2020-12-04 Lars Ingebrigtsen + + Preload iso-trans.el + + * lisp/loadup.el ("international/iso-transl"): Load by default so + that we get `Alt-' bindings (bug#21310). + + * lisp/international/iso-transl.el: Remove autoloads and some + comments. + +2020-12-04 Dmitry Gutov + + Support using ripgrep in project-find-regexp and friends + + Performance results vary here. Some projects and search terms + don't see much of a change, but for some (including Emacs sources + checkout and case-insensitive search) the switch to ripgrep shows + ~2-3x speed improvement. Another piece of anecdata here: + https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00802.html + + * lisp/progmodes/xref.el (xref-search-program-alist) + (xref-search-program): New user options. + (xref-matches-in-files): Use them. + +2020-12-04 Andrea Corallo + + * Reduce (half) the number of loads emitted for calling into C code + + As after each function call GCC clobbers the pointer to the function + relocation table. This commit modify the code generation to create a + local copy of it for each function. This reduces the average number + of loads for each function call into C from two to one. + + * src/comp.c (comp_t): Add 'func_relocs_ptr_type' and + 'func_relocs_local' fields. + (emit_call): Use the local func_relocs pointer when possible. + (emit_ctxt_code): Fill 'comp.func_relocs_ptr_type'. + (compile_function): Declare 'func_relocs_ptr_local'. + (compile_function): Assign 'func_relocs_ptr_local' from the global + value in each function prologue. + +2020-12-03 Eric Abrahamsen + + Restore nnimap-split-download-body as a customization option + + * lisp/gnus/nnimap.el (nnimap-split-download-body): And add an + obsolete alias for `nnimap-split-download-body-default'. + (nnimap-fetch-inbox): Check the value of the option, not the variable. + * doc/misc/gnus.texi (Client-Side IMAP Splitting): Move the primary + documentation of this option to this section. + +2020-12-03 Basil L. Contovounesios + + Define explicit-shell-file-name only in shell.el + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2020-04/msg00880.html + + * doc/emacs/cmdargs.texi (General Variables): Mention + shell-file-name in relation to SHELL. + * doc/emacs/misc.texi (Interactive Shell): Move index entry for + SHELL environment variable from here, where it is not mentioned... + (Single Shell): ...to here, where it is discussed along with + shell-file-name. + * lisp/dired.el (dired-insert-directory): Use shell-file-name + instead of explicit-shell-file-name when a shell is implicitly + requested. + * lisp/obsolete/terminal.el (explicit-shell-file-name): + * lisp/term.el (explicit-shell-file-name): Remove duplicate + defcustoms and load lisp/shell.el instead. (Bug#40679) + * lisp/shell.el (explicit-shell-file-name): Clarify docstring. + (shell): Simplify. + +2020-12-03 Stefan Kangas + + Add tests for several byte-compiler warnings + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp/warn-autoload-not-on-top-level\.el) + (bytecomp/warn-callargs\.el) + (bytecomp/warn-defcustom-nogroup\.el) + (bytecomp/warn-defcustom-notype\.el) + (bytecomp/warn-defvar-lacks-prefix\.el) + (bytecomp/warn-format\.el) + (bytecomp/warn-lambda-malformed-interactive-spec\.el) + (bytecomp/warn-make-variable-buffer-local\.el) + (bytecomp/warn-redefine-defun-as-macro\.el) + (bytecomp/warn-redefine-defun\.el) + (bytecomp/warn-redefine-macro-as-defun\.el) + (bytecomp/warn-save-excursion\.el) + (bytecomp/warn-variable-let-bind-constant\.el) + (bytecomp/warn-variable-let-bind-nonvariable\.el) + (bytecomp/warn-variable-set-constant\.el) + (bytecomp/warn-variable-set-nonvariable\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-autoload-not-on-top-level.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-nogroup.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-notype.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-defvar-lacks-prefix.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-format.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-lambda-malformed-interactive-spec.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-make-variable-buffer-local.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun-as-macro.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-macro-as-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-save-excursion.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-constant.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-nonvariable.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-constant.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el: + * test/lisp/emacs-lisp/bytecomp-tests.el: New files. + +2020-12-03 Basil L. Contovounesios + + Avoid spamming view-mode-enter help message + + By default, entering view-mode echoes a usage message. This is + particularly helpful with non-nil view-read-only, to notify the user + that view-mode has been enabled. It is less useful and more spammy, + however, if view-mode is (possibly inadvertently) entered from some + non-interactive code running in the background, such as when a major + mode is enabled in a temporary buffer for text formatting + purposes (bug#44629). + + * lisp/jsonrpc.el (jsonrpc-events-buffer, initialize-instance): Use + buffer-read-only in place of read-only-mode for non-interactive use. + * lisp/view.el (view-mode-enter): Inhibit help message if either + view-inhibit-help-message is non-nil, or view-mode-enter was called + from an interactive command. Suggested by Jo達o T叩vora + . + +2020-12-03 Michael Albinus + + Fix auto-revert-test07-auto-revert-several-buffers + + * test/lisp/autorevert-tests.el + (auto-revert-test07-auto-revert-several-buffers): Adapt times values. + +2020-12-03 Spencer Baugh + + Improve performance of auto-revert-notify-add-watch + + * lisp/autorevert.el (auto-revert-notify-add-watch): + Do not search for buffers registered with the same file name, this + is not necessary. (Bug#44638) + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'help' + + * lisp/emacs-lisp/advice.el (ad-read-advised-function): + * lisp/emacs-lisp/ert.el: + * lisp/facemenu.el: Don't require 'help'; it is preloaded since + version 18.59. + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'button' + + * lisp/apropos.el: + * lisp/emacs-lisp/cl-print.el: + * lisp/emacs-lisp/debug.el: + * lisp/emacs-lisp/ert.el: + * lisp/emacs-lisp/shadow.el: + * lisp/facemenu.el: + * lisp/help-mode.el: + * lisp/man.el: + * lisp/progmodes/etags.el: + * lisp/textmodes/bibtex.el: + * lisp/woman.el: Don't require 'button'; it is preloaded since version + 23.1. + +2020-12-03 Lars Ingebrigtsen + + Fix "grep foo bar" in eshell + + * lisp/eshell/em-unix.el (eshell-grep): Use the -H switch so that + we always get the file name, so that `M-x next-error' and friends + work (bug#22330). + +2020-12-03 Lars Ingebrigtsen + + Don't make grep arguments invisible in eshell + + * lisp/eshell/em-unix.el (eshell-grep): There doesn't seem to be + any reason why parts of the command should be invisible, so don't + do that. + +2020-12-03 Lars Ingebrigtsen + + Recompute error positions in python-shell-send-region + + * lisp/progmodes/python.el (python-shell-send-region): Recompute + line positions when evaluating (bug#22934). + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'custom' + + * lisp/emacs-lisp/eieio-custom.el: + * lisp/htmlfontify.el: + * lisp/mwheel.el: + * lisp/net/eudc-vars.el: + * lisp/net/ldap.el: + * lisp/net/tramp-ftp.el: + * lisp/net/tramp-gvfs.el: + * lisp/progmodes/cwarn.el: + * lisp/progmodes/sql.el: + * lisp/savehist.el: + * lisp/textmodes/reftex.el: + * lisp/wid-browse.el: Don't require 'custom'; it is preloaded since + version 20.1. + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'font-core' + + * lisp/ibuffer.el: + * test/lisp/erc/erc-track-tests.el: Don't require 'font-core'; it is + preloaded since version 22.1. + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'font-lock' + + * lisp/cedet/data-debug.el: + * lisp/hi-lock.el: + * lisp/htmlfontify.el: + * lisp/org/org.el: + * lisp/progmodes/cperl-mode.el: + * lisp/progmodes/cwarn.el: Don't require 'font-lock'; it is preloaded + since version 22.1. + +2020-12-02 Roland Winkler + + bibtex-autokey-get-year: Allow both a year or date field. + + * lisp/textmodes/bibtex.el (bibtex-text-in-field): Allow arg field + to be a list of fields. + (bibtex-autokey-get-year): Look for year and date field. Allow + the extended date format used by biblatex. + +2020-12-02 Roland Winkler + + bibtex-mode: do not fail when local variables are disabled + + * lisp/textmodes/bibtex.el (bibtex-mode): Check if + enable-local-variables is non-nil (bug#37957). + +2020-12-02 Roland Winkler + + Allow bibtex-contline-indentation as file-local variable. + + * lisp/textmodes/bibtex.el (bibtex-contline-indentation) + (bibtex-comment-start, bibtex-entry-offset, bibtex-text-indentation): + Add :safe attribute. + (bibtex-mode): Allow these variables as file-local variables + (bug#44618 and bug#44647). + +2020-12-02 Stefan Kangas + + Remove redundant requires of faces + + * lisp/htmlfontify.el: + * lisp/term/ns-win.el: + * lisp/term/w32-win.el: + * lisp/term/x-win.el: + * test/lisp/faces-tests.el: Don't require 'faces'; it is preloaded + since version 19.34. + +2020-12-02 Stefan Kangas + + Remove redundant requires of env + + * lisp/eshell/esh-var.el: + * lisp/man.el: Don't require 'env'; it is preloaded since version + 20.1. + +2020-12-02 Roland Winkler + + Allow bibtex-unify-case-function as file-local variable + + * lisp/textmodes/bibtex.el (bibtex-unify-case-function): + Renamed from bibtex-unify-case-convert. Add :safe attribute. + * etc/NEWS: Update accordingly. + +2020-12-02 Michael Albinus + + Add test to autorevert-tests.el + + * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert): + Handle `auto-revert--messages' being nil. + (auto-revert-test07-auto-revert-several-buffers): New test. + +2020-12-02 Stefan Kangas + + Improve sectioning in bytecomp-tests.el + + * test/lisp/emacs-lisp/bytecomp-tests.el: Add section comments. + (test-eager-load-macro-expansion) + (test-eager-load-macro-expansion-eval-and-compile): Move definitions. + +2020-12-02 Stefan Kangas + + * lisp/play/dunnet.el: Remove Emacs 18 compat code. + +2020-12-02 Stefan Kangas + + Make variable cperl-version obsolete + + * lisp/progmodes/cperl-mode.el (cperl-menu): Remove CPerl version + menu entry. + (cperl-version): Make obsolete. + +2020-12-02 Stefan Kangas + + Remove some Emacs 19 compat code from cperl-mode + + * lisp/progmodes/cperl-mode.el + (cperl-put-do-not-fontify): Remove Emacs 19 compat code. + (cperl-do-not-fontify): Make obsolete. + +2020-12-02 Stefan Kangas + + Remove some references to fast-lock and lazy-lock + + * lisp/htmlfontify.el (hfy-copy-and-fontify-file): + * lisp/progmodes/antlr-mode.el: Remove some references to obsolete + libraries fast-lock and lazy-lock. + +2020-12-02 Lars Ingebrigtsen + + Fix alignment of declaractions of arrays + + * lisp/align.el (align-rules-list): Align variable declarations + like char *foo[], too (bug#23370). + +2020-12-02 Michael Albinus + + * INSTALL: Add the installation command of development packages for FreeBSD. + + Recipe contributed by Joseph Mingrone . + +2020-12-02 Lars Ingebrigtsen + + Add tests for xsd-regexp + +2020-12-02 Lars Ingebrigtsen + + Fix xsdre-range-list-to-char-alternative problem with {P} + + * lisp/nxml/xsd-regexp.el (xsdre-range-list-to-char-alternative): + Make (string-match (xsdre-translate "\\p{P}") "a-b") work + (bug#24093) -- the "forbidden" characters don't have to be the + first elements in a range. + +2020-12-02 Lars Ingebrigtsen + + Fix the message-fetch-field doc string + + * lisp/gnus/message.el (message-fetch-field): Improve the doc + string (bug#44991). + +2020-12-02 Stefan Kangas + + Remove specific byte-compiler warnings for cl.el + + * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types) + (byte-compile-warnings, byte-compile-cl-file-p) + (byte-compile-eval, byte-compile-eval-before-compile) + (byte-compile-arglist-warn, byte-compile-find-cl-functions) + (byte-compile-cl-warn, displaying-byte-compile-warnings) + (byte-compile-file-form-require, byte-compile-form): Remove all + specific cl.el warnings, as that library is now obsolete. The + regular obsoletion warnings are sufficiently discouraging. + * lisp/emacs-lisp/advice.el (ad-compile-function): Don't try to + silence the now removed warning. + * doc/lispref/tips.texi (Coding Conventions): + * doc/misc/cl.texi (Organization): Make recommendation to not use + cl.el and cl-compat.el stronger. + * lisp/obsolete/cl.el: Make alias help say that they are obsolete. + * lisp/obsolete/cl-compat.el (build-klist, safe-idiv) + (pair-with-newsyms): Silence byte-compiler. + +2020-12-02 Dmitry Gutov + + Improve .gitignore and project-vc-ignores handling + + * lisp/progmodes/project.el (project-ignores): + Convert .gitignore entries more faithfully. + (project--vc-list-files): Convert "our" ignore entries to + "proper" globs, which is what Git pathspec requires. + +2020-12-02 Dmitry Gutov + + Use project--value-in-dir + + * lisp/progmodes/project.el (project-files): + Use 'project--value-in-dir'. To have any changes in + 'project-vc-ignores' take effect immediately. + +2020-12-01 Juri Linkov + + Fix documentation of window-in-direction arg MINIBUF (bug#44932) + + * doc/lispref/windows.texi (Windows and Frames): Rename MINI arg + of window-in-direction to MINIBUF. Explain the non-nil non-t value. + +2020-12-01 Glenn Morris + + Merge from origin/emacs-27 + + 749e4b7e0b Reset xref-show-xrefs-function temporarily + 3e6525d69f Don't show in 'view-lossage' responses to xterm feature qu... + 9fbff9c35c ; * src/buffer.c: Fix comment describing 'buffer_defaults'. + +2020-12-01 Glenn Morris + + Merge from origin/emacs-27 + + 9939c435c1 Return the correct suffix in eww-make-unique-file-name + 17fa17be3d Save bookmarks by using `write-file' (bug#12507) + 2cdf1fd261 Fix filing messages when 'rmail-output-reset-deleted-flag'... + a72db8ab8b Make file copying in tramp-gvfs more robust + f31cacd1ff Revert "Fix incorrect handling of module runtime and envir... + cdc632fbe6 Fix incorrect handling of module runtime and environment p... + c9160bda78 CC Mode: Fix error in cache handling. This fixes bug #43481 + +2020-12-01 Michael Albinus + + * lisp/arc-mode.el (archive-get-descr): Use default mode if needed. + +2020-12-01 Michael Albinus + + Allow Tramp to mirror traces to a file + + * doc/misc/tramp.texi (Traces and Profiles): Add `tramp-debug-to-file'. + + * lisp/net/tramp-adb.el (tramp-adb-parse-device-names) + (tramp-adb-get-device): + * lisp/net/tramp-cmds.el (tramp-rename-files): + * lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter) + (tramp-gvfs-handler-volumeadded-volumeremoved) + (tramp-get-media-devices): + * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch) + (tramp-sh-gio-monitor-process-filter) + (tramp-sh-gvfs-monitor-dir-process-filter) + (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script) + (tramp-find-inline-encoding): + * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) + (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl): + Use `tramp-compat-string-replace'. + + * lisp/net/tramp-compat.el (tramp-compat-string-replace): New defalias. + + * lisp/net/tramp.el (tramp-debug-to-file): New defcustom. + (tramp-get-debug-buffer): Simplify. + (tramp-get-debug-file-name): New defun. + (tramp-debug-message): Write debug file if indicated. + +2020-12-01 Michael Albinus + + * etc/NEWS: Add user option 'tramp-debug-to-file'. + +2020-12-01 Stefan Kangas + + Fix byte-compiler warning for failed uses of lexical vars + + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix byte-compiler + warning for failed uses of lexical vars. (Bug#44980) + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp--define-warning-file-test): Don't prefix tests with + 'warn'. + (bytecomp/error-lexical-var-with-add-hook\.el) + (bytecomp/error-lexical-var-with-remove-hook\.el) + (bytecomp/error-lexical-var-with-run-hook-with-args-until-failure\.el) + (bytecomp/error-lexical-var-with-run-hook-with-args-until-success\.el) + (bytecomp/error-lexical-var-with-run-hook-with-args\.el) + (bytecomp/error-lexical-var-with-symbol-value\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-symbol-value.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-failure.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-remove-hook.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-add-hook.el: + New files. + +2020-12-01 Zajcev Evgeny + + Fix use of 'switch-to-buffer-preserve-window-point' + + * lisp/window.el (switch-to-buffer): Respect buffer local value + of 'switch-to-buffer-preserve-window-point' variable. + +2020-12-01 Stefan Kangas + + Add tests for some byte-compiler warnings + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-warn/warn-interactive-only\.el) + (bytecomp-warn/warn-obsolete-defun\.el) + (bytecomp-warn/warn-obsolete-hook\.el) + (bytecomp-warn/warn-obsolete-variable-same-file\.el) + (bytecomp-warn/warn-obsolete-variable\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el: + New files. + +2020-12-01 Dmitry Gutov + + Reset xref-show-xrefs-function temporarily + + * lisp/dired-aux.el (dired-do-find-regexp-and-replace): + Make sure xref-show-xrefs-function has the necessary value (bug#44905). + +2020-12-01 Andrea Corallo + + Fix `comp-mvar-symbol-p' and `comp-mvar-cons-p' (bug#44968) + + * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into + a `comp-cstr' are in or fix this logic. + (comp-mvar-cons-p): Likewise. + * test/src/comp-tests.el (bug-44968): New testcase. + * test/src/comp-test-funcs.el (comp-test-44968-f): New test + function. + +2020-11-30 Stefan Kangas + + Decrease code duplication in byte-compiler free-vars warning + + * lisp/emacs-lisp/bytecomp.el + (byte-compile-free-vars-warn): New defun extracted from... + (byte-compile-variable-ref, byte-compile-variable-set): ...here. + +2020-11-30 Stefan Kangas + + Test byte-compiler free variable warning + + * test/lisp/emacs-lisp/bytecomp-tests.el (ert-x): Require. + (bytecomp--define-warning-file-test): New macro. + (bytecomp-warn/warn-free-setq\.el) + (bytecomp-warn/warn-free-variable-reference\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-free-setq.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-free-variable-reference.el: + New files. + +2020-11-30 Stefan Kangas + + * lisp/so-long.el: Doc fix to reduce use of passive voice. + +2020-11-30 Eli Zaretskii + + Don't show in 'view-lossage' responses to xterm feature queries + + * lisp/term/xterm.el (xterm--read-event-for-query): Prevent + recording the characters read as the xterm response to a query, + so as not to show them in 'view-lossage'. (Bug#44908) + +2020-11-30 Michael Albinus + + Some adaptions to tramp-tests.el + + * test/lisp/net/tramp-tests.el (tramp-test-vec): Check for remote + `tramp-test-temporary-file-directory'. + (tramp-test11-copy-file, tramp-test12-rename-file): + Do not skip for tramp-gvfs.el. + (tramp--test-sh-p): Use `tramp-test-vec'. + +2020-11-30 Michael Albinus + + Adapt Tramp versions + + * doc/misc/tramp.texi (Obtaining @value{tramp}): + (Remote shell setup, Remote processes, Archive file names): + * lisp/net/trampver.el (customize-package-emacs-version-alist): + Adapt Tramp versions. + +2020-11-30 Dmitry Gutov + + Improve docstrings + + * lisp/progmodes/project.el (project-find-file) + (project-or-external-find-file): More accurate docstrings (bug#44588). + +2020-11-29 Philipp Stephani + + Fix double-free bug when finalizing module runtimes. + + * src/emacs-module.c (finalize_runtime_unwind): Don't finalize initial + environment twice. + + * test/src/emacs-module-resources/mod-test.c (emacs_module_init): + Allocate lots of values during module initialization to trigger the + bug. + +2020-11-29 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Call current-kill to prefill kill-ring + +2020-11-29 Juri Linkov + + Fix MINIBUF 'nomini' arg for windmove/window-in-direction (bug#44932) + + * lisp/windmove.el (windmove-display-in-direction) + (windmove-delete-in-direction, windmove-swap-states-in-direction): + Add 'nomini' as MINIBUF arg of window-in-direction. + + * lisp/window.el (window-in-direction): Rename arg MINI to MINIBUF. + Update docstring from walk-window-tree. + Send MINIBUF arg to walk-window-tree unchanged. + +2020-11-29 Alan Third + + Allow doprint to handle multibyte chars in format (bug#44349) + + * src/doprnt.c (doprnt): Handle the case where fmtchar is the start of + a multibyte character. + +2020-11-29 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-11-29 Protesilaos Stavrou + + Make log-view-commit-body less intrusive + + * lisp/vc/log-view.el (log-view-commit-body): Inherit from + font-lock-comment-face. This makes expanded commit messages in + log-view look the same as they did prior to commit 1f0b929430 (consult + bug#44424) (bug#44937). + +2020-11-29 Akira Kyle + + Return the correct suffix in eww-make-unique-file-name + + * lisp/net/eww.el (eww-make-unique-file-name): Return the correct + suffix (bug#44936). + +2020-11-29 Lars Ingebrigtsen + + frame-position doc string clarificaton + + * src/frame.c (Fframe_position): Mention that the values are + system-dependent (bug#32977). + +2020-11-29 Lars Ingebrigtsen + + garbage-collect doc string clarification + + * src/alloc.c (Fgarbage_collect): Mention that calling this + function is not guaranteed to collect all the garbage (bug#34404). + +2020-11-29 Lars Ingebrigtsen + + Tweak eww-use-browse-url doc string + + * lisp/net/eww.el (eww-use-browse-url): Tweak doc string wording. + +2020-11-29 Karl Fogel + + Save bookmarks by using `write-file' (bug#12507) + + Go back to using `write-file' to save bookmarks, instead of using + `write-region'. This means numbered backups of the bookmark file may + get made again, depending on the value of `bookmark-version-control'. + + Thanks especially to Drew Adams and Eli Zaretskii for their + persistence in tracking down information relevant to this change. + +2020-11-28 Eli Zaretskii + + Fix filing messages when 'rmail-output-reset-deleted-flag' is non-nil + + * lisp/mail/rmailout.el (rmail-output): Fix off-by-one error in + deciding when to advance to the next message under non-nil + 'rmail-output-reset-deleted-flag'. (Bug#44839) + +2020-11-28 Lele Gaifax + + Update TUTORIAL.it + + * etc/tutorials/TUTORIAL.it: Follow changes made to TUTORIAL in the + last year + +2020-11-28 Michael Albinus + + Make file copying in tramp-gvfs more robust + + * test/lisp/net/tramp-tests.el (tramp-test11-copy-file) + (tramp-test12-rename-file): Do not skip for tramp-gvfs.el. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): + Add sanity checks. + +2020-11-28 Mattias Engdeg奪rd + + * etc/tutorials/TUTORIAL.sv: General copy-editing. + +2020-11-28 Eli Zaretskii + + Revert "Fix incorrect handling of module runtime and environment pointers." + + This reverts commit cdc632fbe6e149318147a98cccf1b7af191f2ce8. + Those changes are too significant and non-trivial to be + suitable for a release branch at this time. + +2020-11-27 Andrea Corallo + + Add intersection support into comp-cstr.el + +2020-11-27 Andrea Corallo + + * Synthesize as const primitive function pointers and its container struct. + + * src/comp.c (declare_imported_func): Make const function pointer + to primitive funcions. + (emit_ctxt_code): Make struct 'comp.func_relocs' const. + +2020-11-27 Philipp Stephani + + Fix incorrect handling of module runtime and environment pointers. + + We used to store module runtime and environment pointers in the static + lists Vmodule_runtimes and Vmodule_environments. However, this is + incorrect because these objects have to be kept per-thread. With this + naive approach, interleaving module function calls in separate threads + leads to environments being removed in the wrong order, which in turn + can cause local module values to be incorrectly garbage-collected. + + Instead, turn Vmodule_runtimes and Vmodule_environments into + hashtables keyed by the thread objects. The fix is relatively + localized and should therefore be safe enough for the release branch. + + Module assertions now have to walk the pointer list for the current + thread, which is more correct since they now only find environments + for the current thread. + + Also add a unit test that exemplifies the problem. It interleaves two + module calls in two threads so that the first call ends while the + second one is still active. Without this change, this test triggers + an assertion failure. + + * src/emacs-module.c (Fmodule_load, initialize_environment) + (finalize_environment, finalize_runtime_unwind): Store runtime and + environment pointers in per-thread lists. + (syms_of_module): Initialize runtimes and environments hashtables. + (module_assert_runtime, module_assert_env, value_to_lisp): Consider + only objects for the current thread. + (module_gc_hash_table_size, module_hash_push, module_hash_pop): New + generic hashtable helper functions. + (module_objects, module_push_pointer, module_pop_pointer): New helper + functions to main thread-specific lists of runtime and environment + pointers. + (mark_modules): Mark all environments in all threads. + + * test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test + function. + (emacs_module_init): Bind it. + + * test/src/emacs-module-tests.el (emacs-module-tests--variable): New + helper type to guard access to state in a thread-safe way. + (emacs-module-tests--wait-for-variable) + (emacs-module-tests--change-variable): New helper functions. + (emacs-module-tests/interleaved-threads): New unit test. + +2020-11-27 Mattias Engdeg奪rd + + Use correct glyph in title when resizing NS frames + + * src/nsterm.m ([EmacsView windowWillResize:toSize:]): Use , not x. + +2020-11-27 Philipp Stephani + + Fix incorrect handling of module runtime and environment pointers. + + We used to store module runtime and environment pointers in the static + lists Vmodule_runtimes and Vmodule_environments. However, this is + incorrect because these objects have to be kept per-thread. With this + naive approach, interleaving module function calls in separate threads + leads to environments being removed in the wrong order, which in turn + can cause local module values to be incorrectly garbage-collected. + The fix isn't completely trivial: specbinding the lists wouldn't work + either, because then the garbage collector wouldn't find the + environments in other threads than the current ones, again leading to + objects being garbage-collected incorrectly. While introducing custom + pseudovector types would fix this, it's simpler to put the runtime and + environment pointers into the specbinding list as new specbinding + kinds. This works since we need to unwind them anyway, and we only + ever treat the lists as a stack. The thread switching machinery + ensures that the specbinding lists are thread-local, and that all + elements of the specbinding lists in all threads are marked during + garbage collection. + + Module assertions now have to walk the specbinding list for the + current thread, which is more correct since they now only find + environments for the current thread. As a result, we can now remove + the faulty Vmodule_runtimes and Vmodule_environments variables + entirely. + + Also add a unit test that exemplifies the problem. It interleaves two + module calls in two threads so that the first call ends while the + second one is still active. Without this change, this test triggers + an assertion failure. + + * src/lisp.h (enum specbind_tag): Add new tags for module runtimes and + environments. + + * src/eval.c (record_unwind_protect_module): New function to record a + module object in the specpdl list. + (do_one_unbind): Unwind module objects. + (backtrace_eval_unrewind, default_toplevel_binding, lexbound_p) + (Fbacktrace__locals): Deal with new specbinding types. + (mark_specpdl): Mark module environments as needed. + + * src/alloc.c (garbage_collect): Remove call to 'mark-modules'. + Garbage collection of module values is now handled as part of marking + the specpdl of each thread. + + * src/emacs-module.c (Fmodule_load, funcall_module): Use specpdl to + record module runtimes and environments. + (module_assert_runtime, module_assert_env, value_to_lisp): Walk + through specpdl list instead of list variables. + (mark_module_environment): Rename from 'mark_modules'. Don't attempt + to walk though current thread's environments only, since that would + miss other threads. + (initialize_environment, finalize_environment): Don't change + Vmodule_environments variable; environments are now in the specpdl + list. + (finalize_environment_unwind, finalize_runtime_unwind): Make 'extern' + since do_one_unbind now calls them. + (finalize_runtime_unwind): Don't change Vmodule_runtimes variable; + runtimes are now in the specpdl list. + (syms_of_module): Remove Vmodule_runtimes and Vmodule_environments. + + * test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test + function. + (emacs_module_init): Bind it. + + * test/src/emacs-module-tests.el (emacs-module-tests--variable): New + helper type to guard access to state in a thread-safe way. + (emacs-module-tests--wait-for-variable) + (emacs-module-tests--change-variable): New helper functions. + (emacs-module-tests/interleaved-threads): New unit test. + +2020-11-27 Stefan Monnier + + * lisp/subr.el (activate-change-group): Refine fix for bug#33341 + +2020-11-27 Mattias Engdeg奪rd + + Make the 'cucumber' compilation pattern work without 'omake' + + When 'omake' is included in compilation-error-regexp-alist, which it + still is by default, then all other rules are modified to match with + an extra leading 6 spaces as well. The 'cucumber' pattern relied on + this in order to work as intended. + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + Extend the 'cucumber' pattern so that it works even when 'omake' + is not included. Move it below the 'gnu' rule so that it doesn't + match anything else. + +2020-11-27 Mattias Engdeg奪rd + + Update TUTORIAL.de and TUTORIAL.fr + + * etc/tutorials/TUTORIAL.de: + * etc/tutorials/TUTORIAL.fr: Follow recent changes in TUTORIAL. + +2020-11-27 Stefan Monnier + + * lisp/subr.el (activate-change-group): Fix bug#33341 + +2020-11-27 Stefan Kangas + + Update TUTORIAL.es + + * etc/tutorials/TUTORIAL.es: A followup to recent changes in + TUTORIAL. + +2020-11-27 Stefan Kangas + + Update TUTORIAL.sv + + * etc/tutorials/TUTORIAL.sv: A followup to recent changes in + TUTORIAL. Minor tweaks for grammar and style. + +2020-11-27 Juri Linkov + + Add completion-tab-width to align prefix chars with names in read-char-by-name + + * lisp/international/mule-cmds.el (mule--ucs-names-affixation): + Replace mule--ucs-names-annotation to display chars in prefixes + that implements two FIXME items. + (read-char-by-name): Let-bind completion-tab-width to 4. + Use affixation-function instead of annotation-function. + + * lisp/minibuffer.el (completion-tab-width): New variable. + (completion--insert-strings): Align colwidth to tab positions + when completion-tab-width is non-nil. + + * lisp/simple.el (completion-setup-function): Set tab-width to + completion-tab-width when completion-tab-width is non-nil. + + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01263.html + +2020-11-27 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Use frame-text-cols, not frame-width. + +2020-11-27 Eli Zaretskii + + Update TUTORIAL.he + + * etc/tutorials/TUTORIAL.he: A followup to recent changes in + TUTORIAL. + +2020-11-27 Lars Ingebrigtsen + + Fix up previous server exit directory deletion + + * lisp/server.el (server-start): Only delete the server directory + if it's in /tmp (bug#44644). + +2020-11-26 Andrea Corallo + + Move some tests from comp-tests.el to comp-cstr-tests.el + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add tests covering what was in: + `range-simple-union', `union-types', `destructure-type-spec'. + * test/src/comp-tests.el (range-simple-intersection, union-types) + (destructure-type-spec): Remove tests. + +2020-11-26 Andrea Corallo + + Add comp-cstr.el and comp-cstr-tests.el + + As the constraint logic of the compiler is not trivial and largely + independent from the rest of the code move it into comp-cstr.el to + ease separation and maintainability. + + This commit improve the conversion type + specifier -> constraint for generality. + + Lastly this should help with bootstrap time as comp.el compilation + unit is slimmed down. + + * lisp/emacs-lisp/comp-cstr.el: New file. + (comp--typeof-types, comp--all-builtin-types): Move from comp.el. + (comp-cstr, comp-cstr-f): Same + rename. + (comp-cstr-ctxt): New struct. + (comp-supertypes, comp-common-supertype-2) + (comp-common-supertype, comp-subtype-p, comp-union-typesets) + (comp-range-1+, comp-range-1-, comp-range-<, comp-range-union) + (comp-range-intersection): Move from comp.el. + (comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and + rename. + (comp-cstr-union-make): New function. + (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from + comp.el, rename it and rework it. + + * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework. + (comp-ctxt): Remove two fields and include `comp-cstr-ctxt'. + (comp-mvar, comp-fwprop-call): Update for `comp-cstr' being + renamed. + (comp-fwprop-insn): Use `comp-cstr-union-no-range' or + `comp-cstr-union'. + (comp-ret-type-spec): Use `comp-cstr-union' and rework. + + * test/lisp/emacs-lisp/comp-cstr-tests.el: New file. + (comp-cstr-test-ts, comp-cstr-typespec-test): New functions. + (comp-cstr-typespec-tests-alist): New defconst to generate tests + on. + (comp-cstr-generate-tests): New macro. + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update. + (ret-type-spec): Initialize constraint context. + +2020-11-26 Dario Gjorgjevski + + Fix modification check when custom-form is `lisp' + + * lisp/cus-edit.el (custom-variable-modified-p): Quote the value when + custom form is 'lisp (or 'mismatch) prior to comparing in order to + accommodate `custom-variable-value-create' (bug#44852). + +2020-11-26 Mattias Engdeg奪rd + + Remove keyboard anachronisms from tutorial + + * etc/tutorials/TUTORIAL: Don't keep referring to EDIT as if it were a + common name for the Meta key; since a few decades back it's labelled + Alt (or Option or but those keys usually also have 'alt' engraved on + them). Similarly, CTL is practically extinct and not worth + mentioning. + +2020-11-26 Mattias Engdeg奪rd + + Fix replace-regexp-in-string substring match data translation + + For certain patterns, re-matching the same regexp on the matched + substring does not produce correctly translated match data + (bug#15107 and bug#44861). + + Using a new builtin function also improves performance since the + number of calls to string-match is halved. + + Reported by Kevin Ryde and Shigeru Fukaya. + + * lisp/subr.el (replace-regexp-in-string): Translate the match data + using match-data--translate instead of trusting a call to string-match + on the matched string to do the job. + * test/lisp/subr-tests.el (subr-replace-regexp-in-string): + Add test cases. + * src/search.c (Fmatch_data__translate): New internal function. + (syms_of_search): Register it as a subroutine. + +2020-11-26 Alan Mackenzie + + CC Mode: Fix error in cache handling. This fixes bug #43481 + + * lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Handle correctly END + being before HERE by using parse-partial-sexp to get the end of the literal + containing HERE. + +2020-11-26 Lars Ingebrigtsen + + Keep point in the *eldoc* buffer in eldoc-display-in-echo-area + + * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use + 'save-excursion' to keep point position in *eldoc* buffer. + Suggested by Andrii Kolomoiets . + +2020-11-26 Lars Ingebrigtsen + + Allow following symlinks when recompiling directories + + * doc/lispref/compile.texi (Compilation Functions): Document it. + * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow + following symlinks (bug#10292). + +2020-11-26 Stefan Kangas + + * lisp/files.el (auto-mode-alist): Add entry for "archive-contents". + +2020-11-26 Eric Abrahamsen + + Add "replied" -> "answered" for gnus-search imap searches + + * lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): This allows + "mark:A" to be translated into "ANSWERED" and "-mark:A" to be + translated into "UNANSWERED". + +2020-11-26 Eric Abrahamsen + + Assume default imap TEXT search even when not using parsed queries + + This behavior both better matches the previous nnir behavior, reducing + confusion for new users, and matches behavior when using parsed + queries. + + * lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Make sure + this variable contains all known IMAP search keys. + (gnus-search-run-search): If the search query doesn't start with a + known search key, prepend "TEXT " to the query. + +2020-11-25 Michael Albinus + + Use null-device where appropriate + + * lisp/filesets.el (filesets-select-command): + * lisp/shell.el (shell-mode): + * lisp/term.el (term-exec-1): + * lisp/wdired.el (wdired-do-symlink-changes): + * lisp/cedet/ede/pmake.el (ede-proj-makefile-create): + * lisp/eshell/esh-io.el (eshell-set-output-handle): + * lisp/gnus/gnus-fun.el (gnus-grab-cam-x-face): + * lisp/gnus/mml2015.el (mml2015-epg-key-image): + * lisp/gnus/smime.el (smime-noverify-region): + * lisp/org/ob-picolisp.el (org-babel-execute:picolisp): + * lisp/org/ob-screen.el (org-babel-prep-session:screen) + (org-babel-prep-session:screen): + * lisp/play/fortune.el (fortune-quiet-strfile-options): + * lisp/progmodes/cperl-mode.el (cperl-pod2man-build-command): + * lisp/progmodes/sh-script.el (sh-tmp-file): + * lisp/vc/diff-mode.el (diff-add-log-current-defuns) + (diff--font-lock-prettify): + * lisp/vc/ediff-mult.el (ediff-patch-file-form-meta): + * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer) + (ediff-fixup-patch-map, ediff-dispatch-file-patching-job): + * lisp/vc/vc.el (vc-diff-internal): Use null-device or (null-device), + respectively. (Bug#3736) + +2020-11-25 Juri Linkov + + * lisp/minibuffer.el (completions-format): Add new value 'one-column'. + + * lisp/minibuffer.el (completion--insert-strings): Support 'one-column'. + + * lisp/simple.el (read-from-kill-ring): Truncate strings at frame-width. + +2020-11-25 Stefan Monnier + + (defvar): Detect defining a variable currently lexically bound + + * src/eval.c (lexbound_p): New function. + (Finternal__define_uninitialized_variable): Use it. + +2020-11-25 Mattias Engdeg奪rd + + Add tests for replace-regexp-in-string + + * test/lisp/subr-tests.el (subr-replace-regexp-in-string): New. + +2020-11-25 Mattias Engdeg奪rd + + * doc/lispref/searching.texi (Rx Constructs): Group numbering fix + +2020-11-25 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + + Use `tramp--test-windows-nt-p'. + +2020-11-25 Michael Albinus + + Merge from origin/emacs-27 + + 6442cdc0e4 Revert extra focus redirection in do_switch_frame (Bug#24803) + fc4379f1ae Minor cleanup of tramp-tests.el on MS Windows + dea3d6aa18 Fix handling of defcustom :local tag + +2020-11-25 Michael Albinus + + Merge from origin/emacs-27 + + f425a774c2 Fix display artifacts when 'display' properties cover newl... + +2020-11-25 Martin Rudalics + + Revert extra focus redirection in do_switch_frame (Bug#24803) + + * src/frame.c (do_switch_frame): Do not also redirect frame + focus when FRAME has its minibuffer window on the selected + frame which was intended to fix Bug#24500. It may cause + Bug#24803 and lead to a nasty state where no active cursor is + shown on any frame, see + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01137.html. + +2020-11-25 Juri Linkov + + Add 'completions-detailed' to add prefix/suffix with 'affixation-function' + + * doc/lispref/minibuf.texi (Completion Variables) + (Programmed Completion): Add affixation-function. + + * lisp/help-fns.el (help--symbol-completion-table-affixation): New function. + (help--symbol-completion-table): Set affixation-function when + completions-detailed is non-nil. + + * lisp/minibuffer.el (completion-metadata): Add affixation-function + to docstring. + (completions-annotations): Inherit from shadow with italic. + (completions-detailed): New defcustom. + (completion--insert-strings): Count string-width on all strings in + completion list. Insert prefix and suffix. + (completion-extra-properties): Add affixation-function to docstring. + (minibuffer-completion-help): Call affixation-function. + (minibuffer-default-prompt-format): Move down closer to its use. + + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00613.html + +2020-11-25 Michael Albinus + + Minor cleanup of tramp-tests.el on MS Windows + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + Do not test remote pty on MS Windows. + +2020-11-25 Lars Ingebrigtsen + + Move code in face-remap.el to avoid a compilation warning + + * lisp/face-remap.el (text-scale--refresh): Move code to avoid + compilation warning. + + In text-scale--refresh: + face-remap.el:241:14: Warning: reference to free variable text-scale-mode + +2020-11-25 Stefan Kangas + + Make text-scale-mode optionally adjust the header line + + * lisp/face-remap.el + (text-scale-remap-header-line-face): New buffer local variable. + (text-scale-mode): Adjust header line if above variable is non-nil. + (face-remap--clear-remappings, face-remap--remap-face): New defuns. + * lisp/face-remap.el: Arrange to watch text-scale-mode-remapping. + (text-scale--refresh): New function. + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use + text-scale-remap-header-line. (Bug#41852) + +2020-11-24 Juri Linkov + + Yank items selected from kill-ring using completion and minibuffer history + + * doc/emacs/killing.texi (Earlier Kills): Document standalone M-y. + + * doc/emacs/search.texi (Isearch Yank): Explain standalone M-y. + + * doc/lispref/text.texi (Yank Commands): Soften the wording of + yank after another yank. + + * lisp/delsel.el: Put 'yank' property on yank-pop and yank-from-kill-ring. + + * lisp/isearch.el (isearch-yank-pop): Use with-isearch-suspended + and read-from-kill-ring to read a string from the kill-ring and + append it to the search string. + + * lisp/simple.el (yank-pop): Call yank-from-kill-ring and + read-from-kill-ring when last-command is not 'yank' instead of + signaling an error. Remove "*" from interactive spec. Update docstring. + (read-from-kill-ring): New function. + (yank-from-kill-ring): New command. + + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00801.html + +2020-11-24 Stefan Kangas + + * build-aux/update-subdirs: Use lexical-binding in subdirs.el. + +2020-11-24 Philipp Stephani + + Add a (broken) unit test to exemplify Bug#11218. + + * test/lisp/emacs-lisp/ert-tests.el + (ert-test-with-demoted-errors): New (broken) unit test. + +2020-11-24 Stefan Kangas + + Remove XEmacs compat code from idlw-help.el + + * lisp/progmodes/idlw-help.el (idlwave-do-context-help) + (idlwave-help-show-help-frame): Remove XEmacs compat code. + +2020-11-24 Stefan Kangas + + Make XEmacs compat aliases easy-menu-{add,remove} obsolete + + * lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add): + Make XEmacs compat aliases obsolete. + * lisp/allout.el (allout-setup-menubar): + * lisp/cus-edit.el (Custom-mode): + * lisp/gnus/gnus-art.el (gnus-article-edit-mode): + * lisp/gnus/message.el (message-mode): + * lisp/net/sieve.el (sieve-manage-mode): + * lisp/org/org-agenda.el (org-agenda-mode): + * lisp/org/org-table.el (org-table-edit-formulas, orgtbl-mode): + * lisp/org/org.el: + * lisp/progmodes/cperl-mode.el (cperl-mode): + * lisp/progmodes/hideshow.el (hs-minor-mode): + * lisp/progmodes/idlw-help.el (idlwave-help-mode): + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): + * lisp/progmodes/idlwave.el (idlwave-mode): + * lisp/progmodes/meta-mode.el (meta-common-mode): + * lisp/progmodes/octave.el (octave-mode): + * lisp/progmodes/prolog.el (prolog-menu): + * lisp/progmodes/tcl.el (tcl-mode): + * lisp/speedbar.el (speedbar-reconfigure-keymaps): + * lisp/term.el (term-mode, term-char-mode, term-process-pager): + * lisp/textmodes/dns-mode.el (dns-mode): + * lisp/wid-browse.el (widget-browse-mode): Don't call above + obsolete aliases. + * lisp/cedet/semantic/grammar.el (semantic-grammar-setup-menu-xemacs): + * lisp/mh-e/mh-folder.el (mh-folder-mode): + * lisp/mh-e/mh-identity.el (mh-identity-add-menu): + * lisp/mh-e/mh-letter.el (mh-letter-mode): + * lisp/mh-e/mh-search.el (mh-search-mode): + * lisp/mh-e/mh-show.el (mh-show-mode): + * lisp/obsolete/otodo-mode.el (todo-mode): + * lisp/progmodes/antlr-mode.el (antlr-mode): + * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode) + (java-mode, idl-mode, pike-mode): + * lisp/progmodes/sql.el (sql-mode, sql-interactive-mode): + * lisp/progmodes/vhdl-mode.el (vhdl-update-mode-menu) + (vhdl-add-source-files-menu, vhdl-mode): + * lisp/textmodes/reftex-index.el (reftex-index-mode) + (reftex-index-phrases-mode): + * lisp/textmodes/reftex-toc.el (reftex-toc-mode): + * lisp/textmodes/reftex.el (reftex-mode): Only call above obsolete + aliases in XEmacs. + + * lisp/progmodes/prolog.el (prolog-inferior-menu): + * lisp/erc/erc-menu.el (erc-menu-add, erc-menu-remove): Don't call + above obsolete aliases. Make obsolete. + * lisp/erc/erc-menu.el (menu, erc-menu-add, erc-menu-remove): + * lisp/progmodes/prolog.el (prolog-inferior-mode): Adjust callers. + * lisp/speedbar.el (speedbar-previous-menu): Make obsolete. + (Bug#44731) + +2020-11-24 Basil L. Contovounesios + + Fix handling of defcustom :local tag + + For discussion, see the following emacs-devel thread: + https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html + + * lisp/custom.el (custom-declare-variable): Delay call to + make-variable-buffer-local until after user option has been + initialized with a value. Otherwise the user option may be + initialized to nil. + * test/lisp/custom-tests.el (custom--test-local-option) + (custom--test-permanent-option): New :local user options. + (custom-test-local-option): New test for defcustom :local keyword. + +2020-11-24 Eli Zaretskii + + Fix display artifacts when 'display' properties cover newlines + + * src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators + to NULL, to avoid producing glyphs while we figure out the layout. + (Bug#44826) + +2020-11-24 Mauro Aranda + + Fix menu binding for files in fileset + + * lisp/filesets.el (filesets-remake-shortcut): We want the callback of + the menu item, not a list that contains the callback. (Bug#44764) + +2020-11-24 Mauro Aranda + + Fix matching of inline choices for the choice widget + + A choice widget should be able to match either no inline values or + inline values, upon request. (Bug#44579) + + * lisp/wid-edit.el (choice): New property, :inline-bubbles-p. A + predicate that returns non-nil if the choice widget can act as an + inline widget. Document it. + (widget-choice-inline-bubbles-p): New function, for the + :inline-bubbles-p property of the choice widget. + (widget-inline-p): New function. Use the :inline-bubbles-p property + of the widget, if any. + (widget-match-inline): Use the above to see if the widget can act like + an inline widget. Document it. + (widget-choice-value-create): Account for the case of a choice widget + that has inline members. + (widget-checklist-add-item, widget-editable-list-value-create) + (widget-group-value-create): Use widget-inline-p rather than just + checking for a non-nil :inline property, allowing these functions to + pass the complete information to widgets like the choice widget to + create their values. + + * test/lisp/wid-edit-tests.el (widget-test-choice-match-no-inline) + (widget-test-choice-match-all-inline) + widget-test-choice-match-some-inline): New tests, to check that choice + widgets can match its choices, inline or not. + (widget-test-inline-p): New test, for the new function + widget-inline-p. + (widget-test-repeat-can-handle-choice) + (widget-test-repeat-can-handle-inlinable-choice) + (widget-test-list-can-handle-choice) + (widget-test-list-can-handle-inlinable-choice) + (widget-test-option-can-handle-choice) + (widget-test-option-can-handle-inlinable-choice): New tests. This + grouping widgets need to be able to create a choice widget regardless + if it has inline choices or not. + +2020-11-24 Drew Adams + + Fix finding filelist for :tree fileset (Bug#976) + + * lisp/filesets.el (filesets-files-under): New function, used to get + all files for a :tree fileset. + (filesets-get-filelist): Use it. Look for the directory and the + pattern in the right place inside entry. + +2020-11-24 Mattias Engdeg奪rd + + Autoload the 'rx' pcase macroexpander (bug#44807) + + * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander]): Autoload. + +2020-11-24 Lars Ingebrigtsen + + Allow controlling whether SPC in Gnus goes to the next article + + * doc/misc/gnus.texi (Summary Maneuvering): Document it. + * lisp/gnus/gnus-sum.el (gnus-paging-select-next): New variable. + (gnus-summary-prev-page, gnus-summary-next-page): Use it. + +2020-11-24 Lars Ingebrigtsen + + Make the `C' command work on marked files + + * lisp/arc-mode.el (archive-copy-file): Make the `C' command work + on marked files (bug#44753). + +2020-11-24 Lars Ingebrigtsen + + Add a user option to control how links are followed in eww + + * doc/misc/eww.texi (Advanced): Document it (bug#44783). + + * lisp/net/eww.el (eww-use-browse-url): New variable. + (eww-follow-link): Use it. + +2020-11-24 Itai Seggev (tiny change) + + Codesign the executable on recene MacOS systems + + * src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on + recent (ARM) MacOS systems (bug#43878). Without this, building + Emacs fails. + +2020-11-24 Lars Ingebrigtsen + + Delete the emacs-server directory upon Emacs exit + + * lisp/server.el (server-start): Delete the server directory upon + Emacs exit (bug#44644). This fixes the problem of /tmp/emacs0 + directories being left behind when running an Emacs server as root. + +2020-11-24 Lars Ingebrigtsen + + Tweak the face of unknown backend indicators in flymake + + * lisp/progmodes/flymake.el (flymake--mode-line-format): Don't put + a face on the the "?" unknown backend indicator, because that + looks odd in inactive windows (bug#44689). + +2020-11-24 Paul W. Rankin + + Handle outline overlays better when cycling in outline.el + + * lisp/outline.el (outline--cycle-state): Only consider outline + overlays that are on outline headings; when subtree end is + point-max, return overlay-end +1 because final subtree overlay + only reaches point-max -1 (bug#41198). + (outline-cycle-buffer): Check that buffer has top-level headings + before calling outline-hide-sublevels 1 thus preventing + disconcerting buffer state of content reduced to single "..." + +2020-11-23 Andrea Corallo + + * Add SELECTOR parameter to `native-compile-async' (bug#44813) + + * lisp/emacs-lisp/comp.el (native-compile-async-skip-p): New function + ripping out logic from `native--compile-async' and accounting for + SELECTOR. + (native--compile-async): Add SELECTOR parameter, make use of + `native-compile-async-skip-p' and move it with other private + functions. + (native-compile-async): Add SELECTOR parameter. + +2020-11-23 Andrea Corallo + + * Rename two native compiler customize + + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list): + Rename from `comp-deferred-compilation-black-list'. + * lisp/emacs-lisp/comp.el (native--compile-async): Update to use + `comp-deferred-compilation-deny-list'. + (comp-bootstrap-deny-list): Rename. + (batch-native-compile): Update to use `comp-bootstrap-deny-list'. + +2020-11-23 Michael Albinus + + Adapt files-x-tests.el according to recent Tramp changes + + * test/lisp/files-x-tests.el (tramp-connection-local-default-profile): + Don't declare. + (tramp-connection-local-default-shell-variables) + (tramp-connection-local-default-system-variables): Declare. + (files-x-test-with-connection-local-variables): Use them. + +2020-11-23 Glenn Morris + + Merge from origin/emacs-27 + + 3ceee39819 Fix Bug#44481 + +2020-11-23 Glenn Morris + + Merge from origin/emacs-27 + + 86cbc9d216 Make ignoring modifiers on IME input optional + 32b97bb9e0 Ignore modifiers when processing WM_IME_CHAR messages + f641ef1a07 Improve documentation of 'font-spec' + + # Conflicts: + # etc/NEWS + +2020-11-23 Glenn Morris + + Merge from origin/emacs-27 + + e66502fec1 ; * doc/misc/eshell.texi (Input/Output): Fix typo. + +2020-11-23 Alan Mackenzie + + minibuffer code: restore original frame after using minibuffer-only frame, etc + + * src/minibuf.c (read_minibuf): In the record_unwind_protect for the second + restore_window_configuration (separate minibuffer frame case) arrange for the + future switching back to the original frame by Fset_window_configuration. + +2020-11-23 Mattias Engdeg奪rd + + Fix 'See @xref{...}' (bug#44811) + + Reported by 覲. + + * doc/lispref/edebug.texi (Printing in Edebug): + * doc/misc/ebrowse.texi (Marking Classes): + * doc/misc/gnus.texi (Ma Gnus): + * doc/misc/tramp.texi (Remote shell setup): + Don't stutter (@xref expands to 'See ...'). + +2020-11-23 Stefan Kangas + + Remove Emacs 19 and 20 compat code from table.el + + * lisp/textmodes/table.el: + (table-recognize-cell, table--make-cell-map) + (*table--present-cell-popup-menu, table--update-cell) + (table--update-cell-widened, table--update-cell-heightened) + (table--cell-insert-char, table--warn-incompatibility): Remove + Emacs 19 and 20 compat code. + * lisp/textmodes/table.el (table-disable-menu) + (table--set-timer, table--get-last-command): Declare obsolete. + +2020-11-23 Stefan Kangas + + Sync latest SKK-JISYO.L + + * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version. + + (cherry picked from commit 6a5f9700846551a7f3795e257356dbab865116f4) + +2020-11-23 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2020-10-09 08:23:34 UTC. + + (cherry picked from commit 5b13afab0a903ead8363482529019d4fb80ec4b4) + +2020-11-23 Stefan Kangas + + Use lexical-binding in most runtime leim lisp files + + * lisp/leim/quail/arabic.el: + * lisp/leim/quail/croatian.el: + * lisp/leim/quail/cyril-jis.el: + * lisp/leim/quail/cyrillic.el: + * lisp/leim/quail/czech.el: + * lisp/leim/quail/ethiopic.el: + * lisp/leim/quail/georgian.el: + * lisp/leim/quail/greek.el: + * lisp/leim/quail/hanja-jis.el: + * lisp/leim/quail/hanja.el: + * lisp/leim/quail/hanja3.el: + * lisp/leim/quail/hebrew.el: + * lisp/leim/quail/ipa-praat.el: + * lisp/leim/quail/latin-alt.el: + * lisp/leim/quail/latin-post.el: + * lisp/leim/quail/latin-pre.el: + * lisp/leim/quail/persian.el: + * lisp/leim/quail/programmer-dvorak.el: + * lisp/leim/quail/py-punct.el: + * lisp/leim/quail/pypunct-b5.el: + * lisp/leim/quail/rfc1345.el: + * lisp/leim/quail/sami.el: + * lisp/leim/quail/sgml-input.el: + * lisp/leim/quail/slovak.el: + * lisp/leim/quail/symbol-ksc.el: + * lisp/leim/quail/tamil-dvorak.el: + * lisp/leim/quail/vntelex.el: + * lisp/leim/quail/vnvni.el: + * lisp/leim/quail/welsh.el: Use lexical-binding. + +2020-11-23 Eric Abrahamsen + + Small fixes to gnus-search output parsing of indexed engines + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): When + filtering for desired groups, accept any of [.\/] as potential segment + delimiters. Later on, filesystem path separators will be interpreted + as dots (".") when constructing group names. Also, make sure we use + `expand-file-name' on the prefix, and just use `string-remove-prefix' + to get rid of it. + +2020-11-22 Philipp Stephani + + Unbreak compilation with CHECK_STRUCTS. + + Commit 3963aea4f4a22da0c1fb8ca8ca80b59c58373811 modified the buffer + structure, but didnt adapt the hash. + + * src/pdumper.c (dump_buffer): Update buffer hash. + +2020-11-22 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-11-22 Michael Albinus + + Replace /dev/null by remote null-device in Tramp. + + * lisp/net/tramp-adb.el (tramp-adb-get-ls-command) + (tramp-adb-handle-set-file-times, tramp-adb-handle-process-file): + Use `tramp-get-remote-null-device'. + + * lisp/net/tramp-compat.el (tramp-tramp-file-p): Declare. + (tramp-compat-null-device): New defalias. + + * lisp/net/tramp-sh.el (tramp-methods) : + (tramp-perl-encode-with-module, tramp-perl-decode-with-module) + (tramp-perl-encode, tramp-perl-decode, tramp-awk-decode): + Use "%n" marker. + (tramp-do-directory-files-and-attributes-with-stat) + (tramp-sh-handle-file-name-all-completions) + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-sh-handle-insert-directory, tramp-sh-handle-process-file) + (tramp-set-remote-path, tramp-open-connection-setup-interactive-shell) + (tramp-find-inline-encoding, tramp-send-command-and-check) + (tramp-get-remote-path, tramp-get-ls-command, tramp-get-ls-command-with) + (tramp-get-remote-awk, tramp-get-remote-hexdump, tramp-get-remote-od) + (tramp-get-env-with-u-option): Use `tramp-get-remote-null-device'. + (tramp-remote-coding-commands, tramp-call-local-coding-command): + Adapt docstring. + + * lisp/net/tramp-smb.el (tramp-smb-conf): Use `null-device'. + (tramp-smb-handle-file-acl): Use `tramp-get-remote-null-device'. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + (tramp-get-remote-null-device): New defun. + (tramp-interrupt-process): Use it. + +2020-11-22 Stefan Kangas + + Test for byte-compiler warning "variable lacks prefix" + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp--with-warning-test): New macro. + (bytecomp-warn-wrong-args, bytecomp-warn-wrong-args-subr): + Use above new macro. + (bytecomp-warn-variable-lacks-prefix): New test. + +2020-11-22 Stefan Kangas + + Test interactive-only spec of with-suppressed-warnings + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-test--with-suppressed-warnings): Test suppressing warning + with interactive-only. + +2020-11-22 Stefan Kangas + + Say which command shadows a key binding + + * src/keymap.c (describe_vector): Say which command shadows this + binding. (Bug#9293) + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-one-shadowed-in-range): Adapt + test. + +2020-11-22 Stefan Kangas + + Don't shadow bindings by the same command + + * src/keymap.c (describe_vector): Do not say binding is shadowed if + the other key binding points to the same command. (Bug#9293) + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-same-command-does-not-shadow): New + test. + +2020-11-22 Stefan Kangas + + Don't show key ranges if shadowed by different commands + + * src/keymap.c (describe_vector): Make sure found consecutive keys + are either not shadowed or, if they are, that they are shadowed by + the same command. (Bug#9293) + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-one-shadowed-in-range): New test. + +2020-11-21 Juri Linkov + + Handle help-form in y-or-n-p and use this in find-file-noselect (bug#5423) + + * doc/lispref/help.texi (Help Functions): Mention help-form for + read-char-from-minibuffer and y-or-n-p. + + * doc/lispref/minibuf.texi (Yes-or-No Queries): Mention help-form + for y-or-n-p. + (Multiple Queries): Mention help-form for read-char-from-minibuffer. + + * lisp/files.el (find-file-noselect): Let-bind multi-line help text + to help-form for y-or-n-p. + + * lisp/subr.el (read-char-choice): Mention help-form in docstring. + (read-char-from-minibuffer): Mention help-form in docstring. + (y-or-n-p-map): Remove handling of 'help'. + (y-or-n-p): Mention help-form in docstring. + When help-form is non-nil: add help-char to 'prompt', and bind + help-char to help-form-show in composed-keymap. + +2020-11-21 Michael Albinus + + Fix Bug#44481 + + * lisp/net/tramp.el (tramp-system-name): New defconst. + (tramp-default-host, tramp-restricted-shell-hosts-alist) + (tramp-local-host-regexp): + * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it. (Bug#44481) + +2020-11-21 Michael Albinus + + Handle connection-local null-device and path-separator variables + + * doc/lispref/os.texi (System Environment): Add `path-separator' + function and `null-device' variable and function. + + * etc/NEWS: Mention 'null-device' and 'path-separator'. Fix typos. + + * lisp/files-x.el (path-separator, null-device): New defuns. (Bug#3736) + + * lisp/net/tramp-adb.el + (tramp-adb-connection-local-default-shell-variables): Rename from + `tramp-adb-connection-local-default-profile'. + + * lisp/net/tramp-integration.el + (tramp-connection-local-default-system-variables): New defvar. + Add it to connection-local profiles. + (tramp-connection-local-default-shell-variables): Rename from + `tramp-connection-local-default-profile'. + + * lisp/progmodes/grep.el (grep-hello-file): New defun. + (grep-compute-defaults): Use `null-device' function for remote + case. Handle remote `hello-file'. Use `process-file-shell-command'. + (grep,grep-expand-keywords, lgrep): Use `null-device' function for + remote case. + +2020-11-21 Lars Ingebrigtsen + + Minor Edebug manual keystroke clarifications + + * doc/lispref/edebug.texi (Edebug Misc): Also mention the `a' + binding to abort (bug#44697). Also fix `d' function reference, and + add `P' reference. + + (cherry picked from commit b613f25f97abf756101eaa2af90689a19c0b3350) + +2020-11-21 Jared Finder + + Migrate usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT. + + * src/termhooks.h (enum event_kind): + * src/term.c (term_mouse_click, handle_one_term_event): + * src/keyboard.c (discard_mouse_events, make_lispy_event): Migrate + usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT. + +2020-11-21 Eli Zaretskii + + Make ignoring modifiers on IME input optional + + By default, ignore modifier keys on IME input, but add + a variable to get back old behavior. + * src/w32fns.c (syms_of_w32fns): New variable + w32-ignore-modifiers-on-IME-input. + (w32_wnd_proc): Use it to ignore modifier keys when IME input is + used. (Bug#44641) + + * etc/NEWS: Announce the change and the new variable. + +2020-11-21 Masahiro Nakamura + + Ignore modifiers when processing WM_IME_CHAR messages + + * src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing + WM_IME_CHAR messages. + +2020-11-21 Stefan Kangas + + Make load argument of native-compile-async internal + + * lisp/emacs-lisp/comp.el (native--compile-async): New defun extracted + from native-compile-async. + (native-compile-async): Remove load argument and use above new defun. + * src/comp.c (maybe_defer_native_compilation): Use above new + defun. (Bug#44676) + +2020-11-21 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errors + + Ignoring errors here just postpones the error and replaces a clear + "invalid version syntax" with a confusing "package lacks a version". + +2020-11-20 Mauro Aranda + + Use cl-letf instead of unwind-protect in a test + + * test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete): + Good use case for cl-letf, so use it. + Suggested by Stefan Monnier in: + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00914.html + +2020-11-20 Stefan Monnier + + * test/manual/indent/tcl.tcl: Add string interpolation case + +2020-11-20 Stefan Monnier + + Don't optimize away `eval` when its lexical context is different + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval): + Obey lexical-binding. + +2020-11-20 Mauro Aranda + + Take care of a FIXME in cus-edit-tests.el + + * test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete): + Add a fake saved-value property, to be able check that the obsolete + option is present in the Customize buffer. Expect the test to pass + now. + +2020-11-20 Stefan Kangas + + * lisp/emacs-lisp/comp.el (native-compile-async): Doc fix. + +2020-11-20 Stefan Kangas + + Support native compilation of packages on install + + * lisp/emacs-lisp/package.el (package-unpack) + (package--native-compile): Native compile packages on install, if the + feature is available. (Bug#44676) + (package-native-compile): New defcustom. + +2020-11-20 Stefan Kangas + + compile-async: Don't error out on deferred compilation after load + + * lisp/emacs-lisp/comp.el (native-compile-async): Update + comp-files-queue when deferred compilation is requested. (Bug#44676) + +2020-11-20 Stefan Kangas + + Don't quote lambda in idlwave.el + + * lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Don't quote + lambda. + +2020-11-20 Stefan Kangas + + Remove remaining XEmacs compat code from erc-log.el + + * lisp/erc/erc-log.el (erc-save-buffer-in-logs): Remove XEmacs + compat code. + +2020-11-20 Stefan Kangas + + Don't set XEmacs only properties start-open and end-open + + * lisp/epa.el (epa-sign-region, epa-encrypt-region): + * lisp/erc/erc.el (erc-display-prompt): + * lisp/gnus/message.el (message-forward-make-body-mime): + * lisp/net/eudc-bob.el (eudc-bob-display-jpeg) + (eudc-bob-display-audio, eudc-bob-display-generic-binary): + * lisp/url/url-http.el + (url-http-chunked-encoding-after-change-function): Don't set XEmacs + only properties start-open and end-open. + +2020-11-20 Stefan Kangas + + Remove XEmacs compat code from idlw-shell.el + + * lisp/progmodes/idlw-shell.el: + (idlwave-shell-use-toolbar): Doc fix. + (idlwave-default-mouse-track-event-is-with-button): Declare obsolete. + (idlwave-shell-update-bp-overlays): Remove XEmacs compat code. + +2020-11-20 Stefan Kangas + + Remove some XEmacs compat code from ediff-wind.el + + * lisp/vc/ediff-wind.el (ediff-window) + (ediff-compute-toolbar-width): Remove some XEmacs compat code. + +2020-11-20 Stefan Kangas + + Remove Emacs 20 compat code from org.el + + * lisp/org/org.el (org-org-menu, org-create-customize-menu): + Remove Emacs 20 compat code. + +2020-11-20 Stefan Kangas + + Remove Emacs 20 compat code from idlwave.el + + * lisp/progmodes/idlwave.el (idlwave-indent-line) + (idlwave-toggle-comment-region, idlwave-reset-sintern) + (idlwave-unit-name, idlwave-mode-menu-def) + (idlwave-create-customize-menu): Remove Emacs 20 compat code. + +2020-11-20 Stefan Kangas + + Properly mark obsolete semantic functions as such + + * lisp/cedet/semantic/ia.el (semantic-ia-get-completions) + (semantic-ia-get-completions-deprecated): Make obsolete. + +2020-11-20 Stefan Kangas + + Mark compat alias in cus-face.el obsolete + + * lisp/cus-face.el (custom-facep): Mark compat alias obsolete. + * lisp/cus-dep.el (custom-make-dependencies): + * lisp/cus-edit.el (customize-changed-options) + (custom-unsaved-options, customize-saved, customize-apropos) + (custom-save-faces): Adjust callers. + +2020-11-20 Eli Zaretskii + + Fix compilation on MS-Windows with librsvg > 2.46.0 + + * src/image.c (rsvg_handle_get_dimensions, init_svg_functions): + Make 'rsvg_handle_get_dimensions' available and defined for all + versions of librsvg. (Bug#44655) + +2020-11-20 Stefan Kangas + + Hide obsolete options in most customize commands + + * lisp/cus-edit.el (custom--filter-obsolete-variables): New defun. + * lisp/cus-edit.el (customize-changed-options) + (customize-apropos, custom-group-value-create): Hide obsolete user + options. (Bug#44598) + * test/lisp/cus-edit-tests.el: New file. + +2020-11-20 Jo達o T達vora + + Revert unintended part of last change to jsonrpc-request + + While playing around with the timing in this function, I left + this change that could freeze the function on some platforms. + + * lisp/jsonrpc.el (jsonrpc-request): Use accept-process-output. + (Version): Bump to 1.0.14 + +2020-11-20 Lars Ingebrigtsen + + Move semantic/tag obsolete variables to avoid a warning + + * lisp/cedet/semantic/tag.el (semantic-token-version): Move to + avoid a compilation warning. + +2020-11-20 Jo達o T叩vora + + Fix default timeout handling in jsonrpc-request + + * lisp/jsonrpc.el (jsonrpc-request): Use default timeout if not passed. + (Version): Bump to 1.0.13 + +2020-11-20 Andrea Corallo + + Add 'EMACSNATIVELOADPATH' env variable support (bug#44726) + + * lisp/startup.el (normal-top-level): Read 'EMACSNATIVELOADPATH' + and add entries too `comp-eln-load-path'. + * lisp/mail/emacsbug.el (report-emacs-bug): Dump + also 'EMACSNATIVELOADPATH'. + +2020-11-20 Lars Ingebrigtsen + + Avoid a compilation warning about an ambiguous else + + * src/data.c (set_internal): Avoid compilation warning. + + data.c:1443:9: error: suggest explicit braces to avoid ambiguous else + 1443 | if (idx > 0 && bindflag == SET_INTERNAL_SET + | ^ + +2020-11-19 Stefan Monnier + + * src/data.c (set_internal): Fix bug#44733 + + Set the default value when `set` encounters a PER_BUFFER variable + which has been let-bound globally, to match the behavior seen with + `make-variable-buffer-local`. + + * test/src/data-tests.el (binding-test--let-buffer-local): + Add corresponding test. + (data-tests--set-default-per-buffer): Add tentative test for the + performance problem encountered in bug#41029. + +2020-11-19 Torsten Hilbrich + + * lisp/net/dictionary.el: Remove remnants of package + + Version and package depedencies are not useful when included into + Emacs. + +2020-11-19 Eli Zaretskii + + Improve documentation of 'font-spec' + + * doc/lispref/display.texi (Low-Level Font): + * src/font.c (Ffont_spec): Document 'font-spec' keys that are + supported, but were undocumented. + +2020-11-19 Stefan Kangas + + Remove some XEmacs compat code from filesets.el + + * lisp/filesets.el (filesets-init): Remove some XEmacs compat code. + (filesets-error): Declare obsolete. + (filesets-directory-files, filesets-get-selection) + (filesets-spawn-external-viewer, filesets-get-filelist) + (filesets-open, filesets-close, filesets-get-menu-epilog) + (filesets-ingroup-collect-files, filesets-build-ingroup-submenu) + (filesets-update-pre010505): Adjust callers. + +2020-11-19 Stefan Kangas + + Remove some compat code from ffap.el + + * lisp/ffap.el (ffap-mouse-event, ffap-event-buffer): Make obsolete. + (ffap-menu-ask, ffap-at-mouse): Adjust callers. + +2020-11-19 Stefan Kangas + + Declare some compat aliases obsolete + + * lisp/cedet/semantic/tag.el (semantic-token-version) + (semantic-token-incompatible-version): + * lisp/emulation/edt.el (edt-bind-standard-key): Make compat + aliases obsolete. + +2020-11-19 Stefan Kangas + + Remove some compat code from url.el + + * lisp/url/url.el (url-warn): Make into obsolete alias for + display-warning. + * lisp/url/url-auth.el (url-register-auth-scheme): + * lisp/url/url-news.el (url-news-open-host): + * lisp/url/url-proxy.el (url-find-proxy-for-url): Adjust callers. + +2020-11-19 Stefan Kangas + + Remove some compat code for old versions and XEmacs + + * lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning) + (ibuffer-maybe-save-stuff): Assume customize-save-variable is + bound; it is autoloaded. + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + * lisp/password-cache.el (password-cache-remove): + * lisp/cedet/semantic/bovine/el.el (semantic-dependency-tag-file): + Remove Emacs 21 compat code. + * lisp/cedet/semantic/sort.el (semantic-string-lessp-ci): + Remove Emacs 20 compat code. + * test/lisp/cedet/semantic-utest.el (semantic-utest-temp-directory): + * lisp/mail/supercite.el (sc-ask): Remove XEmacs compat code. + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): + * lisp/progmodes/idlwave.el (idlwave-mode): Remove commented out + compat code. + +2020-11-19 Stefan Monnier + + * src/buffer.h (struct buffer): Remove unused field `minor_modes` + + * src/buffer.c (bset_minor_modes): Remove function. + (reset_buffer_local_variables, init_buffer_once): Don't set `minor_modes`. + +2020-11-19 Michael Albinus + + Use decoding implementation from `insert-directory' in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + Use decoding implementation from `insert-directory', it is more robust. + +2020-11-19 Mattias Engdeg奪rd + + More string-search optimisations + + All-ASCII strings cannot have substrings with non-ASCII characters in + them; use this fact to avoid searching entirely. + + * src/fns.c (Fstring_search): For multibyte non-ASCII needle and + unibyte haystack, don't check if the haystack is all-ASCII; it's a + waste of time. For multibyte non-ASCII needle and multibyte + all-ASCII haystack, fail immediately. + * test/src/fns-tests.el (string-search): Add more test cases. + +2020-11-19 Alan Mackenzie + + * etc/NEWS: Restore entries accidentally removed by previous commit. + +2020-11-19 Alan Mackenzie + + In attempted recursive minibuffer use, display error message in correct frame + + This was problematic when minibuffer-follows-selected-frame was non-nil. + Introduce a new parameter DONT-SET-FRAME to set-window-configuration. + + * doc/lispref/windows.texi (Window Configurations): Describe the new &optional + parameter to set-window-configuration. + + * etc/NEWS (Lisp Changes): Note the new parameter to set-window-configuration. + + * src/keyboard.c (read_char_help_form_unwind): Add a new Qnil argument to the + call of Fset_window_configuration. + + * src/minibuf.c (read_minibuf): Cons up a Qt with the window configuration in + the argument to record_unwind_protect for the window configuration (twice). + + * src/window.c (Fset_window_configuration): Add the new &optional parameter + and document it in the doc string. At the final do_switch_frame operation, + restore the original frame when DONT-SET-FRAME is non-nil. + (restore_window_configuration): Handle the new parameter when the supplied + argument is a cons. + +2020-11-19 Matthias Meulien + + Add history of search words to read-string + + Remove text property from empty line + +2020-11-19 Torsten Hilbrich + + Move placement of dictionary-tooltip-mouse-event + + * lisp/net/dictionary.el (dictionary-tooltip-mouse-event): Place + variable before dictionary-display-tooltip to avoid warning about use of + free variable when compiling dictionary-display-tooltip + +2020-11-19 Torsten Hilbrich + + Support nil value for dictionary-server + + * net/lisp/dictionary.el (dictionary-server): Support choice to select + the dictionary server to use + * net/lisp/dictionary.el (dictionary-check-connection): Support nil + value for dictionary-server + + This nil value is the new default value of that variable. When + opening a new connection and dictionary-server is nil the code + behaves the following way: + + - it will first try to connect to a dictd server running on localhost + - if that fails, it queries the user if the alternative + server (dict.org) should be consulted + - if the user agrees, the connection is made to dict.org + + This allows the default value of dictionary-server not to connect + a remote server by default. The user is always able to select a + different server by customizing the variable dictionary-search. + +2020-11-19 Stefan Kangas + + Remove outdated comment about Emacs 20 from viper.el + + * lisp/emulation/viper-util.el (viper-chars-in-region): Remove + outdated comment. + +2020-11-19 Stefan Kangas + + Add new variable cperl-tags-file-name + + * lisp/progmodes/cperl-mode.el (cperl-tags-file-name): New variable. + (cperl-write-tags): Use above new variable instead of hardcoding + filename "TAGS". (Bug#8802) + +2020-11-19 Stefan Kangas + + Declare XEmacs compat function in inversion.el obsolete + + * lisp/cedet/inversion.el (inversion-require-emacs): Declare obsolete. + +2020-11-19 Stefan Kangas + + Assume font-lock is provided; it's preloaded since 22.1 + + * lisp/cedet/semantic/format.el (semantic--format-colorize-text): + * lisp/eshell/em-ls.el (eshell-ls--insert-directory): + * lisp/net/dig.el (dig-mode): + * lisp/progmodes/cperl-mode.el (cperl-pod-here-fontify): + * lisp/progmodes/idlw-help.el (idlwave-help-fontify): + * lisp/progmodes/idlwave.el (idlwave-completion-fontify-classes): + Don't check for feature 'font-lock; it has been preloaded since 22.1. + * lisp/cedet/semantic/format.el (font-lock): + * lisp/epa.el (font-lock): + * lisp/erc/erc.el (font-lock): + * lisp/generic-x.el (font-lock): + * lisp/net/sieve-mode.el (font-lock): + * lisp/progmodes/prolog.el (font-lock): + * lisp/textmodes/rst.el (font-lock): Remove unnecessary require. + +2020-11-19 Stefan Kangas + + * lisp/progmodes/cperl-mode.el: Doc fix. + +2020-11-19 Stefan Kangas + + Remove unnecessary load from idlwave + + * lisp/progmodes/idlw-shell.el: + * lisp/progmodes/idlwave.el: Remove unnecessary load; easy-menu-define + is autoloaded. + +2020-11-19 Stefan Kangas + + Make compat alias add-submenu obsolete + + * lisp/emacs-lisp/easymenu.el (add-submenu): Make compat alias + obsolete. + * lisp/filesets.el (filesets-build-menu-now): Don't use above + obsolete alias. + (filesets-menu-path, filesets-menu-before) + (filesets-menu-in-menu): Doc fix. + +2020-11-19 Alan Third + + Fix SVG display again (bug#44655) + + * src/image.c (svg_load_image): Fall back to + rsvg_handle_get_dimensions if we can't calculate the size of the + image. + +2020-11-18 Protesilaos Stavrou + + Clarify that 'diff-error' is part of Emacs 28.1 + + * lisp/vc/diff-mode.el (diff-error): Add :version tag (bug#44727). + +2020-11-18 Lars Ingebrigtsen + + Further doc fixes for dotimes about RESULT + + * lisp/subr.el (dotimes): Be even more explicit about RESULT + (bug#16206). + + (cherry picked from commit 5b0d8d0f288fd505ca90bd30df709a5e7ab540d6) + +2020-11-18 Andrea Corallo + + * Fix eln file hasing for symlink paths (bug#44701) + + * src/comp.c (Fcomp_el_to_eln_filename): Call `file-truename' + in place of `expand-file-name' when available. + +2020-11-18 Jonas Bernoulli + + Revert "[WIP] Add and improve section headings" + + This reverts commit 007a5a677573ab628426a0605eb38f8e68fe1953. + +2020-11-18 Jonas Bernoulli + + Revert "[TODO] Remove noisy anti-noise feature" + + This reverts commit c36b4eed2d76f0e804d27d35dd6281f858639f94. + +2020-11-18 Jonas Bernoulli + + [TODO] Remove noisy anti-noise feature + + [WIP] Add and improve section headings + +2020-11-18 Mattias Engdeg奪rd + + Turn gdb-wait-for-pending into a plain function + + This avoids unnecessary body duplication in expansion and macro + recursion (causing macro-expansions at runtime), making it clearer + what is going on. + + * lisp/progmodes/gdb-mi.el (gdb-wait-for-pending): Make it a function, + remove lambda quoting, 侶-reduce and simplify. + (gdb-thread-exited, gdb-thread-selected): Adapt callers. + +2020-11-18 Basil L. Contovounesios + + Don't make bibtex-unify-case-convert buffer-local + + The :local tag does not currently work as intended (it results in a + default value of bibtex-unify-case-convert of nil rather than + identity), and no other bibtex.el user option is automatically + buffer-local, so revert this recent change. + + For discussion, see the following emacs-devel thread: + https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html + + * lisp/textmodes/bibtex.el (bibtex-unify-case-convert): Don't make + automatically buffer-local for consistency with other user options, + and because the :local tag doesn't have the intended results. + +2020-11-18 Michael Albinus + + Preserve `dired-filename' text properties in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + Restore `dired-filename' text property, which has been destroyed + by `decode-coding-region'. (Bug#44682) + +2020-11-17 Stefan Kangas + + Remove redundant 'function's around lambdas + + * lisp/allout.el (allout-latex-verb-quote): + * lisp/edmacro.el (edmacro-format-keys): + * lisp/ffap.el (ffap-all-subdirs-loop) + (ffap-kpathsea-expand-path, ffap-menu-rescan): + * lisp/files.el (save-buffers-kill-emacs): + * lisp/find-lisp.el (find-lisp-find-dired-internal) + (find-lisp-insert-directory): + * lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs): + * lisp/gnus/nnmairix.el (nnmairix-create-message-line-for-search) + (nnmairix-widget-get-values) + (nnmairix-widget-make-query-from-widgets) + (nnmairix-widget-build-editable-fields): + * lisp/international/mule-cmds.el (sort-coding-systems): + * lisp/international/mule-diag.el (list-character-sets-1): + * lisp/international/quail.el (quail-insert-decode-map): + * lisp/mail/reporter.el (reporter-dump-state): + * lisp/mail/supercite.el (sc-attribs-filter-namelist): + * lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files) + (pcmpl-gnu-bzipped-files): + * lisp/progmodes/cperl-mode.el (cperl-find-tags) + (cperl-write-tags, cperl-tags-hier-init, cperl-tags-treeify) + (cperl-menu-to-keymap, cperl-pod-spell): + * lisp/progmodes/gdb-mi.el (gdb-parent-mode): + * lisp/progmodes/make-mode.el (makefile-browser-fill): + * lisp/simple.el (transpose-lines): + * lisp/term.el: + * lisp/term/w32-win.el (w32-find-non-USB-fonts): + * lisp/textmodes/table.el (table--generate-source-scan-lines): Remove + redundant 'function's around lambdas. + +2020-11-17 Stefan Kangas + + Remove redundant 'function's around lambdas in mh/*.el + + * lisp/mh-e/mh-alias.el (mh-alias-tstamp, mh-alias-filenames) + (mh-alias-address-to-alias): + * lisp/mh-e/mh-comp.el (mh-edit-again, mh-redistribute): + * lisp/mh-e/mh-identity.el (mh-identity-make-menu): + * lisp/mh-e/mh-utils.el (mh-help): Remove redundant 'function's around + lambdas. + +2020-11-17 Alan Mackenzie + + Enhance syntax-tests.el to test nestable comments (Lisp style) + + Also add some tests for braces and parse-partial-sexp amongst Lisp style + comments. + + * test/src/syntax-tests.el (\;-in, \;-out): Add syntax for { and }. + (top-level): Add new tests for Lisp style comments. + (\#|-in, \#|-out): New functions. + (top-level): Add new tests for nested Lisp style comments, and mixtures of + nested comments with "ordinary" comments. + + * test/src/syntax-resources/syntax-comments.txt (top-level): Add new test + fragments for #|...|#, etc. + +2020-11-17 Stefan Kangas + + Don't quote lambdas with 'function' in calc/*.el + + * lisp/calc/calc-aent.el (calc-do-quick-calc) + (calc-do-calc-eval, math-build-parse-table): + * lisp/calc/calc-alg.el (math-polynomial-base): + * lisp/calc/calc-alg.el (math-is-poly-rec): + * lisp/calc/calc-arith.el (calcFunc-scf): + * lisp/calc/calc-arith.el (math-ceiling, math-round): + * lisp/calc/calc-arith.el (math-trunc-fancy, math-floor-fancy): + * lisp/calc/calc-ext.el (calc-init-extensions, calc-reset) + (calc-refresh-top, calc-z-prefix-help, calc-binary-op-fancy) + (calc-unary-op-fancy): + * lisp/calc/calc-forms.el (math-make-mod): + * lisp/calc/calc-frac.el (calcFunc-frac): + * lisp/calc/calc-funcs.el (calcFunc-euler): + * lisp/calc/calc-help.el (calc-full-help): + * lisp/calc/calc-lang.el (c, pascal, fortran, tex, latex, eqn) + (yacas, maxima, giac, math, maple): + * lisp/calc/calc-macs.el (calc-wrapper, calc-slow-wrapper): + * lisp/calc/calc-map.el (calc-get-operator, calcFunc-mapeqr) + (calcFunc-reducea, calcFunc-rreducea, calcFunc-reduced) + (calcFunc-rreduced, calcFunc-outer): + * lisp/calc/calc-misc.el (another-calc, calc-do-handle-whys): + * lisp/calc/calc-mode.el (calc-save-modes): + * lisp/calc/calc-mtx.el (math-col-matrix, math-mul-mat-vec): + * lisp/calc/calc-poly.el (math-sort-terms, math-poly-div-list) + (math-mul-list, math-sort-poly-base-list) + (math-partial-fractions): + * lisp/calc/calc-prog.el (calc-user-define-formula): + * lisp/calc/calc-rewr.el (math-rewrite, math-compile-patterns) + (math-compile-rewrites, math-parse-schedule) + (math-rwcomp-pattern): + * lisp/calc/calc-store.el (calc-var-name-map, calc-let) + (calc-permanent-variable, calc-insert-variables): + * lisp/calc/calc-stuff.el (calc-flush-caches, calcFunc-pclean) + (calcFunc-pfrac): + * lisp/calc/calc-units.el (math-build-units-table) + (math-decompose-units): + * lisp/calc/calc-vec.el (calcFunc-mrow, math-mat-col) + (calcFunc-mcol, math-mat-less-col, math-mimic-ident): + * lisp/calc/calc-yank.el (calc-edit): + * lisp/calc/calc.el + (calc-mode-var-list-restore-default-values) + (calc-mode-var-list-restore-saved-values, calc-mode, calc-quit): + * lisp/calc/calccomp.el (math-compose-expr) + (math-compose-matrix, math-vector-to-string): Don't quote lambdas with + 'function'. + +2020-11-17 Stefan Kangas + + Add command to filter package menu by name or description + + * lisp/emacs-lisp/package.el (package-menu-filter-by-description): + (package-menu-filter-by-name-or-description): New commands to filter + the package menu. (Bug#44699) + (package-menu-mode-map): Bind the above new commands. + (package-menu-mode-menu): Add new commands to the menu. + * doc/emacs/package.texi (Package Menu): Document new commands. + +2020-11-17 Stefan Kangas + + Don't quote lambdas with function macro in generic-x.el + + * lisp/generic-x.el (apache-conf-generic-mode, ini-generic-mode) + (reg-generic-mode, mailagent-rules-generic-mode) + (vrml-generic-mode, java-properties-generic-mode) + (alias-generic-mode, ansible-inventory-generic-mode) + (inetd-conf-generic-mode, etc-services-generic-mode) + (etc-passwd-generic-mode, etc-fstab-generic-mode) + (spice-generic-mode, astap-generic-mode): Don't quote lambdas with + function macro. + +2020-11-17 Stefan Kangas + + Test that substitute-command-keys preserves text properties + + * test/lisp/help-tests.el + (help-substitute-command-keys/preserves-text-properties): New test. + (Bug#17052) + +2020-11-17 Harald J旦rg + + perl-mode and cperl-mode: Recognize regex after "return" + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Add + "return" to the keywords which start a regex. + + * lisp/progmodes/perl-mode.el (defconst): Add "return" to + 'perl--syntax-exp-intro-keywords' (Bug#26850). + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-28650): + New test (bug#26850). + +2020-11-17 Lars Ingebrigtsen + + Minor Edebug manual keystroke clarifications + + * doc/lispref/edebug.texi (Edebug Misc): Also mention the `a' + binding to abort (bug#44697). Also fix `d' function reference, and + add `P' reference. + +2020-11-16 Lars Ingebrigtsen + + Make the handwrite.el PS valid again + + * lisp/play/handwrite.el (handwrite): Make the PS valid + (bug#44648). Suggested by Omar Antol鱈n . + +2020-11-16 Lars Ingebrigtsen + + Fix gnus-mime-display-alternative button natigation + + * lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Mark the + buttons correctly so that TAB can find them (bug#44690). + +2020-11-16 Ruthra Kumar + + Use 'eshell-find-alias-function' instead of fboundp + + * lisp/eshell/esh-cmd.el (eshell-invoke-directly): Fix problem + with (require 'em-tramp) making password prompting from "sudo + bash" no longer work (bug#43772). + +2020-11-16 Francesco Potort狸 + + Add new user option bibtex-unify-case-convert + + * lisp/textmodes/bibtex.el (bibtex-unify-case-convert): New + variable (bug#44614). + (bibtex-format-entry): Use it (bug#44614). + +2020-11-16 Stefan Kangas + + Use lexical-binding in time-stamp.el + + * lisp/time-stamp.el: Use lexical-binding. Remove redundant :group + args. + +2020-11-16 Stefan Kangas + + Don't quote lambdas in net/*.el + + * lisp/net/eudc-export.el (eudc-create-bbdb-record): + * lisp/net/eudc.el (eudc-print-attribute-value) + (eudc-display-records, eudc-process-form) + (eudc-filter-duplicate-attributes, eudc-filter-partial-records) + (eudc-add-field-to-records, eudc-query-with-words) + (eudc-query-form, eudc-menu): + * lisp/net/eudcb-bbdb.el (eudc-bbdb-extract-phones) + (eudc-bbdb-query-internal): + * lisp/net/mairix.el (mairix-widget-make-query-from-widgets) + (mairix-widget-build-editable-fields, mairix-widget-get-values): + Don't quote lambdas. + +2020-11-16 Stefan Kangas + + Don't quote lambdas in emacs-lisp/*.el + + * lisp/emacs-lisp/cl-seq.el (cl--parsing-keywords, cl-sort): + * lisp/emacs-lisp/cl-macs.el (cl-typecase): + * lisp/emacs-lisp/cl-extra.el (cl-some, cl-every) + (cl--map-keymap-recursively): + * lisp/emacs-lisp/advice.el (ad-insert-argument-access-forms): + * lisp/emacs-lisp/edebug.el (edebug-sort-alist) + (edebug-set-windows): + * lisp/emacs-lisp/pp.el (pp-display-expression): + * lisp/emacs-lisp/regi.el (regi-interpret): Don't quote lambdas. + +2020-11-16 Glenn Morris + + Merge from origin/emacs-27 + + 75723ec212 (origin/emacs-27) ; * lisp/emacs-lisp/benchmark.el (benchm... + 53e2a612ad ; * lib-src/make-fingerprint.c: Update commentary. + 286c632772 Reformat argument commentary in etags.c + 4ec740866a Make the invocation of combine-change-calls in comment-reg... + 66bcec8838 * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix ... + 03eeab469e ; Update the expected result files in test/manual/etags. + d875a22bc6 Update the various INSTALL files + + # Conflicts: + # INSTALL + +2020-11-16 Glenn Morris + + Merge from origin/emacs-27 + + 19da602991 Fix input method translation near read-only text + 5aabf2cc7f Fix display of truncated R2L lines on TTY frames + daff3bda10 Avoid crashes when a reversed glyph row starts with a comp... + b697bb91a1 ; * .gitignore: src/fingerprint.c not generated since 2019... + +2020-11-16 Stefan Kangas + + Don't quote lambdas in calc/calcalg{2,3}.el + + * lisp/calc/calcalg2.el (calcFunc-inv\', calcFunc-sqrt\') + (calcFunc-deg\', calcFunc-rad\', calcFunc-ln\') + (calcFunc-log10\', calcFunc-lnp1\', calcFunc-log\') + (calcFunc-log\'2, calcFunc-exp\', calcFunc-expm1\') + (calcFunc-sin\', calcFunc-cos\', calcFunc-tan\', calcFunc-sec\') + (calcFunc-csc\', calcFunc-cot\', calcFunc-arcsin\') + (calcFunc-arccos\', calcFunc-arctan\', calcFunc-sinh\') + (calcFunc-cosh\', calcFunc-tanh\', calcFunc-sech\') + (calcFunc-csch\', calcFunc-coth\', calcFunc-arcsinh\') + (calcFunc-arccosh\', calcFunc-arctanh\', calcFunc-bern\'2) + (calcFunc-euler\'2, calcFunc-gammag\'2, calcFunc-gammaG\'2) + (calcFunc-gammaP\'2, calcFunc-gammaQ\'2, calcFunc-betaB\') + (calcFunc-betaI\', calcFunc-erf\', calcFunc-erfc\') + (calcFunc-besJ\'2, calcFunc-besY\'2, calcFunc-sum) + (calcFunc-prod, calcFunc-integ, calcFunc-if, calcFunc-subscr) + (math-do-integral, calcFunc-integ, math-decompose-poly) + (math-solve-system-rec, math-solve-system-subst, math-solve-for) + (calcFunc-inv, calcFunc-sqrt, calcFunc-conj, calcFunc-abs) + (calcFunc-deg, calcFunc-rad, calcFunc-ln, calcFunc-log10) + (calcFunc-lnp1, calcFunc-exp, calcFunc-expm1, calcFunc-sin) + (calcFunc-cos, calcFunc-tan, calcFunc-arcsin, calcFunc-arccos) + (calcFunc-arctan, calcFunc-sinh, calcFunc-cosh, calcFunc-tanh) + (calcFunc-arcsinh, calcFunc-arccosh, calcFunc-arctanh): + * lisp/calc/calcalg3.el (calc-get-fit-variables) + (calcFunc-polint, calcFunc-ratint, math-all-vars-but): Don't quote + lambdas. + +2020-11-16 Stefan Kangas + + Various doc fixes for comp.el and comp.c + + * lisp/emacs-lisp/comp.el: Remove redundant :group args. + (comp-async-cu-done-hook, comp-async-all-done-hook) + (comp-async-env-modifier-form, comp-dry-run) + (comp-ensure-native-compiler, comp-func-ret-typeset) + (comp-func-ret-range, comp-limple-lock-keywords) + (comp-make-curr-block): + * src/comp.c (Fcomp_el_to_eln_filename, Fcomp__init_ctxt) + (Fcomp_native_driver_options_effective_p) + (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version) + (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr, Fnative_elisp_load, syms_of_comp): Doc fixes. + +2020-11-16 Andrea Corallo + + Fix nativecomp cond-rw pass + + * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): Improve it. + (comp-cond-rw-func): Fix logic for multiple predecessor on target + block. + * test/src/comp-tests.el (comp-test-cond-rw-1): New test. + * test/src/comp-test-funcs.el (comp-test-cond-rw-1-1-f) + (comp-test-cond-rw-1-2-f): New functions. + +2020-11-16 Stefan Kangas + + Don't quote lambdas in eshell/*.el + + * lisp/eshell/em-basic.el (eshell-echo): + * lisp/eshell/em-cmpl.el (eshell-command-completion-function) + (eshell-default-completion-function, eshell-cmpl-initialize) + (eshell-complete-parse-arguments, eshell-complete-commands-list): + * lisp/eshell/em-dirs.el (eshell-complete-user-reference): + * lisp/eshell/em-hist.el (eshell-hist-unload-hook) + (eshell-hist-initialize): + * lisp/eshell/em-ls.el (eshell-ls-sort-entries): + * lisp/eshell/em-pred.el (eshell-modifier-alist) + (eshell-display-predicate-help, eshell-display-modifier-help) + (eshell-pred-substitute, eshell-split-members): + * lisp/eshell/em-prompt.el (eshell-prompt-function): + * lisp/eshell/em-smart.el (eshell-smart-unload-hook) + (eshell-smart-initialize, eshell-refresh-windows): + * lisp/eshell/em-unix.el (eshell-shuffle-files): + * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): + * lisp/eshell/esh-cmd.el (eshell-cmd-initialize) + (eshell-parse-command): + * lisp/eshell/esh-mode.el (eshell-preinput-scroll-to-bottom) + (eshell-postoutput-scroll-to-bottom): + * lisp/eshell/esh-module.el (eshell-modules-list): + * lisp/eshell/esh-proc.el (eshell-read-process-name) + (eshell-round-robin-kill): + * lisp/eshell/esh-var.el (eshell-envvar-names) + (eshell-variables-list): Don't quote lambdas. + +2020-11-15 Juri Linkov + + New user options 'copy-region-blink-delay' and 'delete-pair-blink-delay' + + * lisp/emacs-lisp/lisp.el (delete-pair-blink-delay): New defcustom. + (delete-pair): Use it. (Bug#4136) + + * lisp/simple.el (copy-region-blink-delay): New defcustom. + (indicate-copied-region): Use it. (Bug#42865) + Thanks to Sean Whitton . + (indicate-copied-region): Use 'query-replace-descr' not to show + newlines literally. Use "Copied text" instead of misleading + "Saved text" (bug#42865). + +2020-11-15 Andrea Corallo + + * Improve `comp-fwprop-call' + + * lisp/emacs-lisp/comp.el (comp-function-call-maybe-fold): + Document return value. + (comp-fwprop-call): Simplify and improve. + +2020-11-15 Andrea Corallo + + * Add more type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more + pure functions. + +2020-11-15 Eli Zaretskii + + Reformat argument commentary in etags.c + + * lib-src/etags.c (pfnote, consider_token, C_entries): Resurrect + original format of comments to function arguments. + +2020-11-15 Mattias Engdeg奪rd + + Reformat comment for 'gnu' compilation rule + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + The comments above the regexp for the 'gnu' rule contained + references to the previous string regexp, which has been difficult + to follow ever since the translation to rx. Move the comments + to their proper places, and add some guiding notes. + +2020-11-15 Alan Mackenzie + + Make the invocation of combine-change-calls in comment-region valid + + This fixes bug #44581. The problem was that whitespace outside of the (BEG + END) region was being deleted, and this made the invocation of + combine-change-calls with (BEG END) invalid. + + * lisp/newcomment.el (comment-region-default): Amend the second argument to + combine-change-calls. + +2020-11-15 Alan Mackenzie + + * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix wrong '-' in regexp + +2020-11-15 Stefan Kangas + + Make initial frame match frame-title-format + + * src/xterm.c (x_term_init): + * src/w32term.c (w32_initialize_display_info): Sync initial frame + title with new value of Vframe_title_format. + Problem reported by Angelo Graziosi . + +2020-11-15 Stefan Kangas + + Run menu-item :filter function before showing binding + + * lisp/help.el (describe-map): Fix running `menu-item' :filter + functions. This fixes a mistake in the previous conversion of this + defun from the old C function describe_map. See the discussion in + Bug#39149. + * test/src/keymap-tests.el + (keymap---get-keyelt/runs-menu-item-filter) + (describe-buffer-bindings/menu-item-filter-show-binding) + (describe-buffer-bindings/menu-item-filter-hide-binding): + New tests. + (keymap-tests--test-menu-item-filter): New defun. + +2020-11-14 Eric Abrahamsen + + Handle negation of search keys in gnus-search minibuffer completion + + * lisp/gnus/gnus-search.el (gnus-search-get-active): Keys might start + with a leading "-": check for that and ignore it. + +2020-11-14 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into dev + +2020-11-14 Andrea Corallo + + Add `comp-constraint-to-type-spec' and better handle boolean type spec + + * lisp/emacs-lisp/comp.el (comp-constraint-to-type-spec): New + function splitting out code from comp-ret-type-spec + better + handle boolean type specifier. + (comp-ret-type-spec): Rework to leverage + `comp-constraint-to-type-spec'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a + testcase. + +2020-11-14 Andrea Corallo + + Handle correctly quoting in *Native-compile-Log* buffer + + * lisp/emacs-lisp/comp.el (comp-log): Add `quoted' parameter and + pass it to `comp-log-to-buffer'. + (comp-log-to-buffer): Add `quoted' parameter and leverage `prin1' + or `princ' accordingly. + +2020-11-14 Andrea Corallo + + * Split logic into comp-fwprop-call and improve it + + * lisp/emacs-lisp/comp.el (comp-func-ret-valset) + (comp-fwprop-call): New functions. + (comp-fwprop-insn): Remove code duplicaiton and call + `comp-fwprop-call'. + +2020-11-14 Andrea Corallo + + * Fix debug symbol emission + + * src/comp.c (Fcomp__compile_ctxt_to_file): Now that we do not + rely anymore on globlal variables move logic in from + 'Fcomp__init_ctxt' so comp.debug is already set correctly. + +2020-11-14 Andrea Corallo + + * Add a number of type specifiers for pure function + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add 60 + pure function type specifiers. + +2020-11-14 Andrea Corallo + + Characterize functions in terms of type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): New const + in place of `comp-known-ret-types' and `comp-known-ret-ranges'. + (comp-constraint): New struct to separate the constraint side of + an mvar. + (comp-constraint-f): Analogous for functions. + (comp-mvar): Rework and include `comp-constraint'. + (comp-type-spec-to-constraint): New function. + (comp-known-constraints-h): New const. + (comp-func-ret-typeset, comp-func-ret-range): Rework. + (comp-fwprop-insn): Fix. + * test/src/comp-tests.el (destructure-type-spec): New testcase. + +2020-11-14 Juri Linkov + + * lisp/progmodes/xref.el (xref-goto-xref): Prefix arg quits the *xref* buffer. + + (bug#44611) + +2020-11-14 Juri Linkov + + * lisp/org/ob-ruby.el (org-babel-ruby-initiate-session): Use :ruby header arg. + + Allow specification of ruby command using the :ruby header arg. + https://lists.gnu.org/archive/html/emacs-orgmode/2020-11/msg00166.html + +2020-11-14 Daniel Lenski (tiny change) + + Fix `speedbar-directory-buttons' when using Tramp + + * lisp/speedbar.el (speedbar-directory-buttons): Make speedbar + work with directories accessed via Tramp (bug#44622). + +2020-11-14 Stefan Kangas + + Don't quote lambdas in several places + + * lisp/align.el (align-highlight-rule): + * lisp/bookmark.el (bookmark-maybe-sort-alist): + * lisp/emacs-lisp/advice.el (ad-read-advice-name) + (ad-retrieve-args-form, ad-make-hook-form, defadvice) + (ad-with-originals): + * lisp/foldout.el (foldout-inhibit-key-bindings): + * lisp/gnus/gnus-bookmark.el (gnus-bookmark-maybe-sort-alist): + * lisp/mail/rfc822.el (rfc822-addresses-1): + * lisp/net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): + * lisp/net/net-utils.el (network-connection-to-service): + * lisp/net/socks.el (socks-build-auth-list): + * lisp/org/ox-odt.el (org-odt--image-size): + * lisp/pcomplete.el (pcomplete-command-completion-function) + (pcomplete-default-completion-function, pcomplete-opt): + * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass) + (cperl-tags-hier-init, cperl-tags-treeify) + (cperl-next-interpolated-REx, cperl-time-fontification): + * lisp/shadowfile.el (shadow-copy-files, shadow-shadows-of-1) + (shadow-save-buffers-kill-emacs): + * lisp/strokes.el (strokes-renormalize-to-grid): + * lisp/tempo.el (tempo-insert, tempo-forward-mark) + (tempo-backward-mark): + * lisp/textmodes/artist.el (artist-submit-bug-report): + * lisp/textmodes/ispell.el (ispell-complete-word): + * lisp/url/url-auth.el (url-get-authentication): + * lisp/url/url-cache.el (url-cache-create-filename-human-readable): + * lisp/vcursor.el (vcursor-find-window): + * test/lisp/textmodes/reftex-tests.el + (reftex-parse-bibtex-entry-test): Don't quote lambdas. + +2020-11-14 Akira Kyle (tiny change) + + Work around glib messing with signal handlers more than it should + + * src/process.c (init_process_emacs): force glib's g_unix_signal + handler into lib_child_handler where it should belong. + +2020-11-14 Pablo Barb叩chano + + Add an option to preserve ANSI sequences + + * lisp/ansi-color.el Add an option to preserve the ANSI sequences + * test/lisp/ansi-color-tests.el: Add tests (bug#44589). + +2020-11-14 Lars Ingebrigtsen + + project-or-external-find-file doc string fix + + * lisp/progmodes/project.el (project-or-external-find-file): Doc + string fix -- it's not "recognizing" file names (bug#44588). + +2020-11-14 Stefan Kangas + + Use lexical-binding in fortune.el and add tests + + * lisp/play/fortune.el: Use lexical-binding. Remove redundant + :group args. + (fortune-in-buffer): Quote function symbol as such. + * test/lisp/play/fortune-resources/fortunes: + * test/lisp/play/fortune-tests.el: New files. + * .gitignore: Ignore generated file fortunes.dat. + +2020-11-14 Eli Zaretskii + + Update the various INSTALL files + + * nt/INSTALL.W64: + * nt/INSTALL: + * INSTALL: Update the installation information, in particular the + fact that HarfBuzz is now preferred as the shaping library. + +2020-11-14 Eli Zaretskii + + Fix input method translation near read-only text + + * lisp/international/quail.el (quail-input-method): Don't disable + input method when the character after point has the read-only + property. Suggested by Evgeny Zajcev + (Bug#44466) + + * doc/emacs/mule.texi (Input Methods): Document that input methods + are inhibited in read-only text. + +2020-11-14 Eli Zaretskii + + Make Calc windows dedicated by default + + * lisp/calc/calc.el (calc-make-windows-dedicated): New defcustom. + (calc, calc-trail-display): Set Calc windows dedicated if + calc-make-windows-dedicated is non-nil. Patch by Boruch Baum + . (Bug#44108) + + * etc/NEWS (Calc): Announce the new behavior. + +2020-11-14 Eli Zaretskii + + Make 'prefer-utf-8' heed inhibit-*-detection variables + + * lisp/international/mule-conf.el (prefer-utf-8): Inhibit + detection of null bytes and ISO escape sequences if the respective + inhibit-*-detection variables say so. (Bug#44486) + +2020-11-14 Jared Finder + + * lisp/faces.el (mode-line-highlight): Use :box only when supported. + +2020-11-14 Philipp Stephani + + Capitalize portable dump messages. + + We capitalize all other messages during the dump, so capitalize the + "dump mode" and "dumping fingerprint" ones as well for consistency. + + * src/pdumper.c (Fdump_emacs_portable): Capitalize fingerprint message + prefix. + + * lisp/loadup.el: Capitalize "dump mode" message. + +2020-11-14 Jared Finder + + Face-changing text properties and help-echo now work with xterm-mouse. + + * src/dispnew.c (update_mouse_position): New function for mouse + movement logic in 'handle_one_term_event' that can be shared across + different mouse backends. + (display--update-for-mouse-movement): New lisp function, call it. + * lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): New function + that calls 'display--update-for-mouse-movement'. + (xterm-mouse-translate-1): Call it. + * src/term.c (handle_one_term_event): Inline logic from + 'term_mouse_movement' and call 'update_mouse_position'. + (term_mouse_movement): Delete. + +2020-11-14 Eli Zaretskii + + Fix display of truncated R2L lines on TTY frames + + * src/xdisp.c (extend_face_to_end_of_line): Use a while-loop, not + a do-while loop, to avoid appending an extra glyph at the end of a + line that is one character shorter than the window-width. This is + needed to fix display of reversed glyph rows that are almost as + wide as the window, because append_space_for_newline already added + one space glyph. + +2020-11-14 Eli Zaretskii + + Avoid crashes when a reversed glyph row starts with a composition + + * src/dispnew.c (build_frame_matrix_from_leaf_window): Add an + assertion to prevent us from overwriting non-char glyphs with the + vertical border glyph. + * src/xdisp.c (extend_face_to_end_of_line): Account for one glyph + possibly inserted by append_space_for_newline. (Bug#44506) + Remove a kludgey correction for an off-by-one error in column + counting, which is no longer needed. + +2020-11-14 Eric Abrahamsen + + Save instantiated gnus-search engines in an alist + + So we aren't re-instantiating (and potentially configuring) them with + every search. + + * lisp/gnus/gnus-search.el (gnus-search-engine-instance-alist): New + variable holding server->engine mapping. + (gnus-search-server-to-engine): See if we've already instantiated this + server. If so, return it. If not, instantiate it and save in the above + variable. + (gnus-search-shutdown): Shutdown function clearing the above alist. + +2020-11-14 Eric Abrahamsen + + Make sure Gnus search groups search topics recursively + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): If a search is initiated from + a topic line, make sure we get all the groups under that topic (and + under sub-topics). + +2020-11-13 Mattias Engdeg奪rd + + Simplify quick-check composition regexps + + * lisp/international/ucs-normalize.el + (quick-check-composition-list-to-regexp): Don't add an explicit + pattern for U+1161..U+1175 and U+11a8..U+11c2 since these are already + part of `combining-chars'. + +2020-11-13 Glenn Morris + + Merge from origin/emacs-27 + + a3d316bbb7 (origin/emacs-27) Update information about refcards + f43e9ad524 Avoid crashes in the daemon due to user interaction + +2020-11-13 Glenn Morris + + Merge from origin/emacs-27 + + ac1a2b2160 Add more doc-view requirements + 109eb1e7e2 Fix undefined behavior when fetching glyphs from the displ... + + # Conflicts: + # lisp/doc-view.el + +2020-11-13 Glenn Morris + + Merge from origin/emacs-27 + + 75384bd155 Update the doc-view header line + 13ab70c80e Avoid breaking Arabic shaping in 'window-text-pixel-size' + e693d97e50 doc-view.el comment clarification + 968e85a2ce Update erc documentation about C-c C-b + +2020-11-13 Alan Third + + Fix error with fn key in NS port (bug#44533) + + * src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key + handling to before the modifiers are calculated. + +2020-11-13 Michael Albinus + + Some minor Tramp fixes, resulting from test campaign + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use `current-time' + if needed. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): + (tramp-gvfs-do-copy-or-rename-file): Remove "gvfs-rename", it is + not trustworthy. + + * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p): Check also for + symlinked files in trash. + (tramp-test20-file-modes): Revert last change, it was a thinko. + +2020-11-13 Eli Zaretskii + + Update information about refcards + + * admin/release-process (refcards): + * admin/make-tarball.txt (refcards): Update information about + generating refcards and required TeX/LaTeX packages. + +2020-11-12 Andrea Corallo + + Add copy insn testcase + + * test/src/comp-tests.el (copy-insn): New testcase. + * test/src/comp-test-funcs.el (comp-test-copy-insn-f): New + function. + +2020-11-12 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p): Fix logic. + +2020-11-12 Andrea Corallo + + * Memoize `comp-common-supertype' + + * lisp/emacs-lisp/comp.el (comp-ctxt): Add `common-supertype-mem' + slot. + (comp-common-supertype): Memoize. + +2020-11-12 Andrea Corallo + + * Add few more type specifier tests + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three + tests and uncomment one. + +2020-11-12 Andrea Corallo + + * Rework `comp-ret-type-spec' in terms of `comp-phi' + + * lisp/emacs-lisp/comp.el (comp-ret-type-spec): Use `comp-func' + not to duplicate logic plus add null type specifier support and + some comments. + +2020-11-12 Andrea Corallo + + * Move phi function code into dedicated function and improve it + + * lisp/emacs-lisp/comp.el (comp-phi): New function moving logic + from `comp-fwprop-insn'. + +2020-11-12 Stefan Kangas + + Don't quote lambdas in several places + + * lisp/allout-widgets.el (allout-widgets-adjusting-message) + (allout-widgets-exposure-change-processor) + (allout-widgets-count-buttons-in-region): + * lisp/ansi-color.el (ansi-color-make-color-map): + * lisp/case-table.el (describe-buffer-case-table): + * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): + * lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group): + * lisp/gnus/nnir.el (nnir-run-swish++, nnir-run-swish-e) + (nnir-run-hyrex, nnir-run-namazu): + * lisp/hippie-exp.el (make-hippie-expand-function) + (try-complete-lisp-symbol, try-complete-lisp-symbol-partially) + (try-expand-all-abbrevs): + * lisp/international/mule-cmds.el (sort-coding-systems) + (select-safe-coding-system, select-message-coding-system) + (read-language-name, encoded-string-description): + * lisp/international/quail.el (quail-keyseq-translate) + (quail-get-translations, quail-build-decode-map) + (quail-insert-decode-map): + * lisp/jka-compr.el (jka-compr-uninstall): + * lisp/locate.el (locate-in-alternate-database): + * lisp/mail/mailabbrev.el (mail-resolve-all-aliases-1) + (mail-abbrev-make-syntax-table): + * lisp/mh-e/mh-seq.el (mh-read-folder-sequences): + * lisp/net/eudcb-ldap.el (eudc-ldap-simple-query-internal): + * lisp/progmodes/make-mode.el (makefile-query-targets) + (makefile-prompt-for-gmake-funargs): + * lisp/shadowfile.el (shadow-cancel, shadow-shadows-of): + * lisp/sort.el (sort-pages, sort-fields, sort-regexp-fields): + * lisp/subr.el (listify-key-sequence): + * lisp/term/wyse50.el (terminal-init-wyse50): + * lisp/textmodes/ispell.el (ispell-help) + (ispell-begin-tex-skip-regexp): + * lisp/textmodes/page-ext.el (pages-sort-region): + * lisp/textmodes/refer.el (refer-find-entry-in-file): + * lisp/url/url-expand.el (url-expand-file-name): Don't quote lambdas. + +2020-11-12 Juri Linkov + + Add help-char to the cache key in read-char-from-minibuffer as well + + It's highly unlikely that help-char will be changed from its default value 8, + but formally there is a dependence on help-char. + +2020-11-12 Robert Pluim + + Emit required version when Harfbuzz is not found but Cairo is + + * configure.ac: Define harfbuzz_required_ver with required + harfbuzz version, and put it in the warning message emitted when + Cairo is found but not HarfBuzz. + +2020-11-12 Mattias Engdeg奪rd + + vhdl-mode: remove minor obstacle to static checking + + * lisp/progmodes/vhdl-mode.el (vhdl-directive-keywords-regexp): + Remove unnecessary global variable. + (vhdl-words-init): Remove assignment. + (vhdl-font-lock-init): Inline expression. Use regexp-opt. + +2020-11-12 Lars Ingebrigtsen + + Remove mention of `edebug-on-signal' from a doc string + + * lisp/emacs-lisp/edebug.el (edebug-mode): Don't mention + non-existent user option (bug#44577). + +2020-11-12 Lars Ingebrigtsen + + Clarify project-find-file doc string + + * lisp/progmodes/project.el (project-find-file): Don't say + anything about recognizing file names, as that may lead the user + to think that it'll check whether the string at point is an + existing file (bug#44588). + +2020-11-12 Juri Linkov + + Add help-form to the cache key in read-char-from-minibuffer + +2020-11-12 Stefan Kangas + + * test/lisp/help-fns-tests.el: Silence byte-compiler. + + * test/lisp/hfy-cmap-resources/rgb.txt: Add comment line. + +2020-11-12 Stefan Kangas + + Remove redundant installation instructions + + * lisp/net/newsticker.el: + * lisp/net/sieve-mode.el: + * lisp/play/bubbles.el: + * lisp/play/handwrite.el: + * lisp/progmodes/python.el: + * lisp/progmodes/ruby-mode.el: + * lisp/whitespace.el: Remove redundant installation instructions. + These packages are distributed with Emacs and/or GNU ELPA. + * lisp/calendar/timeclock.el: + * lisp/ehelp.el: + * lisp/emacs-lisp/checkdoc.el: + * lisp/filesets.el: + * lisp/mail/reporter.el: + * lisp/net/rfc2104.el: + * lisp/net/webjump.el: + * lisp/pixel-scroll.el: Remove redundant recommendation to call + require before using autoloaded functions. + * lisp/tar-mode.el: Remove reference to package uncompress, removed in + Emacs 23. + +2020-11-12 Stefan Kangas + + * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add Brewfile. + +2020-11-12 Stefan Kangas + + Fix mistake in describe-buffer-bindings + + * src/keymap.c (Fdescribe_buffer_bindings): Fix a call in + describe-buffer-bindings. This fixes a mistake in my previous commit + to prefer the Lisp version of describe-map-tree (8a1441310aa1), where + 0 was accidentally converted to Qt in two places. + +2020-11-12 Juri Linkov + + Use cache with help-char in read-char-from-minibuffer unless help-form is nil + +2020-11-12 Andrea Corallo + + * Nativecomp testsuite rework for derived return type specifiers + + As we have derived return type specifiers as some test for them. Also + rewrite some propagation related test using return type specifiers too + as it's way more convenient. + + * test/src/comp-tests.el (fw-prop-1): Nit rename. + (comp-tests-check-ret-type-spec): New function. + (comp-tests-type-spec-tests): New variable. + (comp-tests-cond-rw-0-var) Remove variable. + (cond-rw-0, cond-rw-1, cond-rw-2, cond-rw-3, cond-rw-4, cond-rw-5) + Remove tests as now covered by `comp-tests-check-ret-type-spec'. + +2020-11-12 Andrea Corallo + + * Add nativecomp derived return type specifier computation support + + * lisp/emacs-lisp/comp.el (comp-post-pass-hooks): Nit. + (comp-func): Add `ret-type-specifier' slot. + (comp-ret-type-spec): New function. + (comp-final): Call `comp-ret-type-spec'. + +2020-11-12 Andrea Corallo + + * Unline some functions to optimize bootstrap time + + * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p) + (comp-mvar-value, comp-mvar-fixnum-p, comp-set-op-p) + (comp-assign-op-p, comp-call-op-p, comp-type-hint-p) + (comp-func-ret-typeset, comp-function-pure-p) + (comp-alloc-class-to-container, comp-lex-byte-func-p) + (comp-lap-eob-p, comp-lap-fall-through-p, comp-emit) + (comp-emit-set-call, comp-mvar-propagate) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-trampoline-filename): Uninline functions. + +2020-11-12 Andrea Corallo + + * Add to elisp-mode `emacs-lisp-native-compile-and-load' + + * lisp/progmodes/elisp-mode.el + (emacs-lisp--before-compile-buffer): New function. + (emacs-lisp-byte-compile-and-load): Use the previous. + (emacs-lisp-native-compile-and-load): New function. + +2020-11-12 Andrea Corallo + + * Fix limple-mode for new type and range limple semantic + + * lisp/emacs-lisp/comp.el (comp-limple-branches, comp-limple-ops): + New variables. + (comp-limple-lock-keywords): Update value. + +2020-11-12 Andrea Corallo + + Add a nativecomp testcase + + Having this while re-debugging the boostrap would have saved few hours + of debug so let's add it. + + * test/src/comp-tests.el (and-3): Add test. + * test/src/comp-test-funcs.el (comp-test-and-3-var): New var. + (comp-test-and-3-f): New function. + +2020-11-12 Andrea Corallo + + Add initial nativecomp typeset and range propagation support + + This commit add an initial support for a better type propagation and + integer range propagation. + + Each mvar can be now characterized by a set of types, a set of values + and an integral range. + + * lisp/emacs-lisp/comp.el (comp-known-ret-types): Store into + typeset and remove fixnum. + (comp-known-ret-ranges, comp-type-predicates): New variables. + (comp-ctxt): Remove supertype-memoize slot and add + union-typesets-mem. + (comp-mvar): Remove const-vld, constant, type slots. Add typeset, + valset, range slots. + (comp-mvar-value-vld-p, comp-mvar-value, comp-mvar-fixnum-p) + (comp-mvar-symbol-p, comp-mvar-cons-p) + (comp-mvar-type-hint-match-p, comp-func-ret-typeset) + (comp-func-ret-range): New functions. + (make-comp-mvar, make-comp-ssa-mvar): Update logic. + (comp--typeof-types): New variable. + (comp-supertypes, comp-common-supertype): Logic update. + (comp-subtype-p, comp-union-typesets, comp-range-1+) + (comp-range-1-, comp-range-<, comp-range-union) + (comp-range-intersection): New functions. + (comp-fwprop-prologue, comp-mvar-propagate) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-fwprop-insn, comp-call-optim-func, comp-finalize-relocs): + Logic update. + + * src/comp.c (emit_mvar_rval, emit_call_with_type_hint) + (emit_call2_with_type_hint): Logic update. + + * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Undo the add + of fixnum and bignum as unnecessary. + + * test/src/comp-tests.el + (comp-tests-mentioned-p-1, comp-tests-cond-rw-checker-val) + (comp-tests-cond-rw-checker-type, cond-rw-1, cond-rw-2) + (cond-rw-3, cond-rw-4, cond-rw-5): Update for new type interface. + (range-simple-union, range-simple-intersection): New integer range + tests. + (union-types): New union type test. + +2020-11-12 Andrea Corallo + + * Rename two nativecomp functions + + * lisp/emacs-lisp/comp.el (comp-function-foldable-p): Rename from + comp-function-optimizable-p. + (comp-function-call-maybe-fold): Same from + comp-function-call-maybe-fold. + +2020-11-11 Eli Zaretskii + + Avoid crashes in the daemon due to user interaction + + * src/minibuf.c (read_minibuf): Avoid crashes in the daemon if the + init file invokes some kind of minibuffer interaction, by not + updating the selected frame if it's the initial frame. + (Bug#44583) + +2020-11-11 Juri Linkov + + In dired-query use read-char-from-minibuffer with bound help-char (bug#42708) + + * lisp/dired-aux.el (dired-query): Replace read-char-choice call + with read-char-from-minibuffer. + + * lisp/subr.el (read-char-choice): Restore the previous version + that uses read-key. + (read-char-from-minibuffer): Bind help-char to help-form-show + when help-form is non-nil. + +2020-11-11 Eric Abrahamsen + + Remove unused "internal" gnus-search variables + + * lisp/gnus/gnus-search.el (gnus-search-memo-query, + gnus-search-memo-server): No longer needed. + +2020-11-11 Eric Abrahamsen + + Fix defgeneric name of gnus-search-index(ed)-extract + + * lisp/gnus/gnus-search.el (gnus-search-indexed-extract): Had the + wrong name on the generic. + +2020-11-11 Michael Albinus + + Some minor changes to Tramp, do not merge with master + + * lisp/net/tramp.el (tramp-handle-directory-files) + (tramp-handle-directory-files-and-attributes): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): + * lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files): + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add _COUNT. + Make the functions forward compatible. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): + Increase `max-specpdl-size' temporarily. + + * test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun. + (tramp-test05-expand-file-name-relative): Use it. + +2020-11-11 Dario Gjorgjevski + + Fix python-font-lock-keywords-maximum-decoration performance regression + + * lisp/progmodes/python.el + (python-font-lock-keywords-maximum-decoration): `symbol-name' + should not be quantified by a `+' as it is redundant and performs + very badly (bug#44572). + +2020-11-11 Lars Ingebrigtsen + + Remove mention of global-cedet-m3-minor-mode + + * lisp/cedet/semantic.el (semantic-submode-list): + (semantic-default-submodes): Remove mention of + global-cedet-m3-minor-mode, which no longer exists, apparently + (bug#44565). + +2020-11-11 Dario Gjorgjevski + + Fix font lock of assignments with type hints in Python + + * lisp/progmodes/python.el + (python-font-lock-keywords-maximum-decoration): Fix regular + expressions for font lock of assignments with type hints (bug#44568). + + The font lock of assignments with type hints in Python is rather bad. + Consider the following example: + + from typing import Mapping, Tuple, Sequence + var1: int = 5 + var2: Mapping[int, int] = {10: 1024} + var3: Mapping[Tuple[int, int], int] = {(2, 5): 32} + var4: Sequence[Sequence[int]] = [[1], [1, 2], [1, 2, 3]] + var5: Sequence[Mapping[str, Sequence[str]]] = [ + { + 'red': ['scarlet', 'vermilion', 'ruby'], + 'green': ['emerald green', 'aqua'] + }, + { + 'sword': ['cutlass', 'rapier'] + } + ] + + As things stand right now, only var1 would be highlighted. To make + things worse, the Mapping type hint of var2 would also be + highlighted, which is entirely incorrect. + + This commit makes all of var1 through var5 be highlighted + correctly. + +2020-11-11 Harald J旦rg + + Cleanup of the test file for cperl-mode + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl--run-test-cases): New macro, factored out from various + indentation / rewriting tests. Contains documentation of the + format used by the cperl-mode-resources files. + (cperl-test-bug-19709): Replace 'next-line' by 'forward-line'. + (cperl-test-indent-exp), + (cperl-test-indent-styles), + (cperl-test-bug-30393): Use the new macro. + (cperl-test-bug-19709): Make fit for Emacs 26. + (cperl-test-indent-styles): Skip for Perl mode (bug#44561). + +2020-11-11 Stefan Monnier + + * lisp/server.el: Refactor frame creation functions + + (server--create-frame): New function, extracted from + `server-create-dumb-terminal-frame`. + (server-create-window-system-frame, server-create-tty-frame): + (server-create-dumb-terminal-frame): Use it. + +2020-11-11 Eliza Velasquez + + * lisp/server.el: Fix frame creation on dumb terminals (bug#25547) + + (server-create-dumb-terminal-frame): New function. + (server-process-filter): Use it. + (server-delete-client): Don't delete tty terminal when it's not + exclusive to this client. + +2020-11-10 Juri Linkov + + Don't set file name variable in org-element-parse-secondary-string (bug#44524) + + * lisp/org/org-element.el (org-element-parse-secondary-string): + Don't set buffer-local variables buffer-file-name and buffer-file-truename + in temporary buffer. + +2020-11-10 Juri Linkov + + * lisp/leim/quail/compose.el ("iso-transl"): New input method. + + * doc/emacs/basic.texi (Inserting Text): + Mention transient input method "iso-transl". + + * lisp/leim/quail/latin-ltx.el: Use same Keywords as in other quail files. + +2020-11-10 Eli Zaretskii + + New debugging command 'malloc-info' + + * src/alloc.c (Fmalloc_info) [GNU_LINUX]: New command. + (syms_of_alloc): Defsubr it. (Bug#43389) + +2020-11-10 Dmitry Gutov + + Clear the vc-state cache when returning nil + + * lisp/vc/vc-hg.el (vc-hg-registered): + Clear the vc-state cache when returning nil. + +2020-11-10 Tom Fitzhenry + + Remove extra process call from vc-hg-registered + + Prefer vc-state to benefit from its caching (bug#44534) + + This same technique is used in vc-git.el, + per commit 2018-06-28 "Remove extra process call from vc-git-find-file-hook" + 93c41ce6aa64b14fc9bd7bdd0d909915a79191cd. + + * lisp/vc/vc-hg.el (vc-hg-registered): Use vc-state rather than vc-hg-state. + +2020-11-10 Eli Zaretskii + + Fix a recent change in image.c for MS-Windows + + * src/image.c: Fix DEF_DLL_FN of + rsvg_handle_get_intrinsic_dimensions. Reported by Andy Moreton + . + +2020-11-10 Lars Ingebrigtsen + + Add more doc-view requirements + + * lisp/doc-view.el: Add more requirements. + +2020-11-10 Steven Allen + + Only use nbutlast when we actually want to modify the original list + + * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string): + Don't modify the byte array. + * lisp/net/tramp-integration.el (tramp-eshell-directory-change): + Don't modify the underlying exec-path. + +2020-11-10 Andrew G Cohen + + Remove ephemeral group on error or null result + + * lisp/gnus/nnselect.el (nnselect-request-group): If an ephemeral + group is empty, there is nothing to see, so remove the group. + (nnselect-run): Catch and return an empty artlist on error. + +2020-11-09 Alan Mackenzie + + CC Mode: fix many compiler warnings which would appear with lexical binding + + * lisp/progmodes/cc-align.el (three places) prefix langelem with a _. + + * lisp/progmodes/cc-{cmds,engine}.el: Remove superfluous local variables. + + * lisp/progmodes/cc-defs.el (c-will-be-unescaped): Remove unused parameter + end. + * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Remove unused + parameter containing-sexp. + (c-looking-at-special-brace-list); Remove unused parameter lim. + (c-add-class-syntax): Remove unused parameter paren-state. + +2020-11-09 Philipp Stephani + + Fix undefined behavior when fetching glyphs from the display vector. + + You can trigger this rather obscure bug by enabling selective display + if the second glyph in its display vector has an invalid face. For + example, evaluate + + (set-display-table-slot standard-display-table + 'selective-display [?A (?B . invalid)]) + + and then enable selective display. + + * src/xdisp.c (next_element_from_display_vector): Check whether next + glyph code is valid before accessing it. + +2020-11-09 Stefan Kangas + + Add test for substitute-command-keys with command remap + + * test/lisp/help-tests.el (help-tests-remap-map): New variable. + (help-tests-substitute-command-keys/remap): New test. + (help-tests-substitute-command-keys/keymaps) + (help-tests-substitute-command-keys/undefined-map): Fix indentation. + +2020-11-09 Brian Leung (tiny change) + + shortdoc: prefer seq-contains-p over seq-contains + + * lisp/emacs-lisp/shortdoc.el (sequence): use seq-contains-p instead + of seq-contains, which is obsolete as of 27.1. (Bug#44536) + +2020-11-09 Stefan Kangas + + Simplify getting value of text-quoting-style (Bug#44471) + + * src/doc.c (text_quoting_style): Remove function by merging it... + (Ftext_quoting_style): ...here. Rename from Fget_quoting_style. + (syms_of_doc): Update defsubr for Ftext_quoting_style. + * src/lisp.h (enum text_quoting_style): Remove enum. + * src/doprnt.c (doprnt): + * src/editfns.c (styled_format): + * lisp/help.el (substitute-command-keys): Update callers to use + text-quoting-style. + +2020-11-09 Philipp Stephani + + * lisp/disp-table.el (make-glyph-code): Remove obsolete comment. + +2020-11-09 Mattias Engdeg奪rd + + Better warning suppression in rx-tests + + * test/lisp/emacs-lisp/rx-tests.el (rx-compat): Use with-no-warnings + instead of with-suppressed-warnings which complains when running + the test interactively. + +2020-11-09 Mattias Engdeg奪rd + + Fix pcase rx form snag with '?' and '??' (bug#44532) + + This is a regression from Emacs 26. + Reported by Phillip Stephani. + + * lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case. + +2020-11-09 Alan Third + + Fix css length calculations + + * src/image.c (svg_css_length_to_pixels): Put in missing breaks where + necessary. + +2020-11-09 Lars Ingebrigtsen + + Make the SHOW parameter work again in `run-python' + + * lisp/progmodes/python.el (run-python): Make the SHOW parameter + work again after the fix for 31398 (bug#44421). + +2020-11-09 Protesilaos Stavrou + + Use a separate face for expanded log-view bodies + + * lisp/vc/log-view.el (log-view-commit-body): Define new face. + (log-view-toggle-entry-display): Implement 'log-view-commit-body' + face (bug#44424). + +2020-11-09 Lars Ingebrigtsen + + Clarify Lisp warning about elements following other expressions + + * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in + help text (bug#44482). + +2020-11-09 Eli Zaretskii + + Fix compilation of image.c on MS-Windows + + This is a followup to last change in image.c. + * src/image.c (rsvg_handle_get_intrinsic_dimensions): Define to + call fn_rsvg_handle_get_intrinsic_dimensions. + (svg_css_length_to_pixels): Compile only for librsvg >= 2.46.0, as + RsvgLength type was not defined before. + +2020-11-09 Lars Ingebrigtsen + + Update the doc-view header line + +2020-11-09 Eli Zaretskii + + Avoid breaking Arabic shaping in 'window-text-pixel-size' + + * src/xdisp.c (CHAR_COMPOSED_P): If the bidi_p flag is not set, + pass -1 to composition_reseat_it, so that the shaping engine will + figure out the directionality of the text. This is important, + e.g., when using move_it_* functions in some context that is not + redisplay, such as 'window-text-pixel-size'. (Bug#44521) + +2020-11-09 Alan Third + + Fix crash in ns_mouse_position (bug#44313) + + * src/nsterm.m (ns_destroy_window): Close the window before freeing + the frame resources so we don't end up accessing the frame struct + after it's been freed. + +2020-11-09 Andrii Kolomoiets + + NS: Make s- to move to beginning/end of line + + * lisp/term/ns-win.el: Bind 's-' to 'move-beginning-of-line'; + bind 's-' to 'move-end-of-line'. + * etc/NEWS: Mention new bindings. + +2020-11-09 Alan Third + + Calculate SVG image sizes more accurately (bug#44206) + + * src/image.c (svg_css_length_to_pixels): New function. + (svg_load_image): Try more methods to work out the image size. + +2020-11-09 Lars Ingebrigtsen + + doc-view.el comment clarification + + * lisp/doc-view.el: Make the commentary mention that it's not + limited to a narrow range of file formats (bug#44504). + +2020-11-09 Daniel Mart鱈n + + Update erc documentation about C-c C-b + + * doc/misc/erc.texi (Keystroke Summary): C-c C-b runs + erc-switch-to-buffer, which is implemented in terms of + read-buffer (bug#44498). + +2020-11-09 Harald J旦rg + + cperl-mode: Indentation of ')' follows customisation + + * lisp/progmodes/cperl-mode.el (cperl-style-alist): Add + cperl-close-paren-offset to the settings for PBP style. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug19709): + New test to verify correct indentation of closing parentheses (Bug#19709). + + * test/lisp/progmodes/cperl-mode-resources/cperl-bug-19709.pl: + New test case with code from the bug report. + + * test/lisp/progmodes/cperl-mode-resources/cperl-indent-styles.pl: + Add a new test clause for cperl-close-paren-offset. + +2020-11-09 Akira Kyle (tiny change) + + Fix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler + + * src/xwidget.c (make-xwidget): Save and restore Emacs SIGCHLD signal + handler since glib doesn't (but should) do this. + +2020-11-09 Stefan Kangas + + Remove test for return value of set-keymap-parent + + * test/src/keymap-tests.el + (keymap-keymap-set-parent/returns-parent): Remove test for the return + value of set-keymap-parent. It is not clear that returning the value + is a very good idea. + Problem pointed out by Stefan Monnier . + +2020-11-09 Eric Abrahamsen + + Add more protections to gnus-search query parsing + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): If the query is coming in via + the old 'nnir-query-spec key, we know not to parse it. + * lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if + the query was sent in as '(query "query"), and not '(query . "query). + (gnus-search-imap-search-keys): Add x-gm-raw to imap search keys. + (gnus-search-prepare-query): If we know this query should be raw, + don't even try parsing it, as it probably won't work. + +2020-11-08 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix phi function. + +2020-11-08 Juri Linkov + + * lisp/progmodes/project.el: Don't truncate the saved project list. + + * lisp/progmodes/project.el (project--write-project-list): + Let-bind print-length and print-level to nil to not truncate the + saved project list with unreadable ellipsis. + +2020-11-08 Eric Abrahamsen + + Another backwards-compatibility fix for gnus-search + + * lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of + the way we've set up the obsolete variable alias for + `nnir-method-default-engines', we may end up with its value in + `gnus-search-default-engines'. Make the check for "old style" values + general, so we catch them no matter where they came from. + +2020-11-08 Alan Mackenzie + + Don't set the selected window to the miniwindow on a frame change. + + Intended to fix bug #44502. + + * src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which + set the selected window to the minibuffer. + +2020-11-08 Dmitry Gutov + + Doc fix + + * lisp/vc/vc.el (vc-deduce-fileset): Doc fix (bug#44420). + +2020-11-08 Dmitry Gutov + + Mention which exact file is already registered + + * lisp/vc/vc.el (vc-register): + Mention which exact file is already registered (bug#44420). + +2020-11-07 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-common-supertype-2): Fix null intersection + +2020-11-07 Glenn Morris + + Merge from origin/emacs-27 + + f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in... + d4242177da Fix 'send-string-to-terminal' writing very long strings + 9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug... + 9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e... + a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind... + f4acd7a924 Split windows evenly when 'min-margins' parameter was set ... + +2020-11-07 Glenn Morris + + Merge from origin/emacs-27 + + 53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc... + e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456) + 89740e9cb5 Prevent redisplay from moving point behind user's back + 5932df7435 Document that the :match function for a widget takes an ex... + 1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348) + + # Conflicts: + # lisp/international/mule.el + +2020-11-07 Eric Abrahamsen + + Various fixes and backward compatibility for gnus-search + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): Check for and accept the old + nnir-* spec keys. + * lisp/gnus/gnus-search.el (shared-initialize): Use + generate-new-buffer instead of doing it ourselves. + (gnus-search-server-to-engine): Raise an informative error explicitly + if we can't find a search engine, rather than letting it fall through + to something less helpful. + (gnus-search-make-spec): Add `gnus-search--complete-key-data' to + `completion-at-point-functions' locally, not globally. + +2020-11-07 Andrea Corallo + + * Allow for manually bumbing new native compiler ABI versions + + * src/comp.c (ABI_VERSION): Define macro. + (hash_native_abi): Include ABI_VERSION in the hashing. + (syms_of_comp): Tweak docstring. + +2020-11-07 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-11-07 Stefan Monnier + + * lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings + + (lisp--match-hidden-arg): Don't misfire in strings and comments. + + Reported by: Andrii Kolomoiets + +2020-11-07 Mauro Aranda + + Add test for recent change in enable-theme + + * test/lisp/custom-tests.el (custom-test-enable-theme-keeps-settings): + Enabling a theme should not change the theme settings, so test for + that. See + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00232.html + +2020-11-07 Andrea Corallo + + * Fix non native compiled build + + * lisp/emacs-lisp/advice.el (ad-add-advice): Do not try to + install trampolines in vanilla builds. + +2020-11-07 Andrea Corallo + + Allow for native compilation qualities to be specified per input file + + * lisp/emacs-lisp/bytecomp.el (byte-native-qualities): Define + variable. + (byte-compile-from-buffer): Spill compilation qualities. + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug): Make + them file local variables. + (comp-ctxt): Add `speed' and `debug' slots. + (comp-spill-speed, comp-spill-lap-function): Make use of these. + (comp-spill-lap-function): Spill qualities from + `byte-native-qualities'. + (comp-limplify-top-level): Do not use `comp-speed' but ctxt value + unstead. + (comp-final): Do not propagate qualities as they are already + in the `comp-ctxt'. + (comp--native-compile): Close on `byte-native-qualities'. + * src/comp.c (comp_t): Add 'speed' and 'debug' fields. + (emit_comment, emit_mvar_rval, emit_static_object) + (emit_ctxt_code, Fcomp__init_ctxt): Use these instead of the + global variables. + (Fcomp__compile_ctxt_to_file): Set comp.speed and comp.debug and + use them. + +2020-11-07 Eli Zaretskii + + Don't leave lock files after 'replace-buffer-contents' + + * src/editfns.c (Freplace_buffer_contents): Unlock the buffer's + file if no changes have been made. (Bug#44303) + +2020-11-07 Andrea Corallo + + Handle type hierarchy in native compiler forward propagation + + 2020-11-07 Andrea Corallo + + * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add fixnum + and bignum. + * lisp/emacs-lisp/comp.el (comp-ctxt): Add `supertype-memoize' + slot. + (comp-supertypes, comp-common-supertype-2) + (comp-common-supertype): New functions. + (comp-fwprop-insn): Make use of `comp-common-supertype' to + identify the common supertype to be propagated. + +2020-11-07 Kazuhiro Ito (tiny change) + + Fix 'uudecode-decode-region-internal' in multibyte buffers + + * lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix + inserting the decoded string into a multibyte buffer. Optimize by + working with characters, not strings. (Bug#44411) + +2020-11-07 Eli Zaretskii + + Fix 'send-string-to-terminal' writing very long strings + + * src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes + by blocking SIGIO while 'fwrite' runs. (Bug#44320) + +2020-11-07 Eli Zaretskii + + * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug#44451) + +2020-11-07 Earl Hyatt + + Fix documentation of 'windmove-swap-states-default-keybindings' + + * doc/emacs/windows.texi (Window Convenience): Fix description of + 'windmove-swap-states-default-keybindings' and related index + entry. (Bug#44441) + +2020-11-07 Eli Zaretskii + + Fix scrolling problems with misc-fixed fonts under Cairo + + * src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the + glyph ascent to a higher value than needed due to floating-point + roundoff errors. (Bug#44284) + +2020-11-07 Martin Rudalics + + Split windows evenly when 'min-margins' parameter was set (Bug#44483) + + * lisp/window.el (split-window): Make new window inherit any + 'min-margins' parameter from WINDOW so that horizontal splits + reliably produce windows of same width (Bug#44483). + +2020-11-07 Stefan Kangas + + Delete outdated comment about C rewrite in apropos.el + + Maybe it made sense to rewrite apropos.el in C for speed in 1991, but + today the speed increase would not outweigh the maintenance burden. + + * lisp/apropos.el: Delete outdated comment. + +2020-11-07 Stefan Kangas + + Add some more tests for keymap.c + + * test/src/keymap-tests.el (keymap-make-keymap) + (keymap-make-sparse-keymap, keymap-keymapp) + (keymap-keymap-parent, keymap-keymap-set-parent/returns-parent) + (keymap-copy-keymap/is-equal, keymap-copy-keymap/is-not-eq) + (keymap-lookup-key, keymap-apropos-internal) + (keymap-apropos-internal/predicate): New tests. + (keymap-tests--make-keymap-test): New defun. + +2020-11-06 Mattias Engdeg奪rd + + Rectify skip-set argument + + * lisp/gnus/gnus-search.el (gnus-search-query-end-of-input): + Remove brackets that don't belong. Found by relint. + +2020-11-06 Mattias Engdeg奪rd + + Fix javac message parsing column number off-by-one + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + 'javac': Column numbers are 1-based by default; remove subtraction and + 侶-reduce. Translate regexp to rx (mechanised). + * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): + Adapt 'javac' test cases to the change. + +2020-11-06 Glenn Morris + + Fix --enable-check-lisp-object-type build + + * src/print.c (syms_of_print) : + Fix type. + +2020-11-06 Mattias Engdeg奪rd + + Update gdb-mi-tests + + * test/lisp/progmodes/gdb-mi-tests.el (gdb-mi-parse-value): + Make test pass after the change in gdb-mi-decode-strings default value. + +2020-11-06 Mattias Engdeg奪rd + + * lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type. + + A more precise type is desirable but at it is now correct ('list' is not). + +2020-11-06 Mattias Engdeg奪rd + + Change the default value of gdb-mi-decode-strings to t (bug#44173) + + This is likely to be a more commonly wanted default value today. + + * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default. + * doc/emacs/building.texi (Source Buffers): Update manual. + * etc/NEWS: Announce. + +2020-11-06 Mattias Engdeg奪rd + + Reduce integer-output-format to print-integers-as-characters + + The variable now only controls whether characters are printed, not + the radix. Control chars are printed in human-readable syntax + only when special escapes such as ?\n are available. Spaces, + formatting and combining chars are excluded (bug#44155). + Done in collaboration with Juri Linkov. + + * src/character.c (graphic_base_p): + * src/print.c (named_escape): New functions. + (print_object): Change semantics as described above. + (syms_of_print): Rename integer-output-format. Update doc string. + * doc/lispref/streams.texi (Output Variables): + * etc/NEWS: + * test/src/print-tests.el (print-integers-as-characters): + Rename and update according to new semantics. The test now passes. + +2020-11-06 Mauro Aranda + + Go back to not using custom-push-theme when enabling a theme + + * lisp/custom.el (enable-theme): Relying on custom-push-theme to + handle theme settings and prior user settings was a mistake. The + theme settings haven't changed between loading the theme and enabling + it, so we don't need all of what custom-push-theme does. However, we + still need to save a user setting outside of Customize, in order to be + able to get back to it, so do that in enable-theme itself. + +2020-11-06 Eli Zaretskii + + Improve documentation of a recent change + + * doc/emacs/mule.texi (Select Input Method): Add an @anchor. + * doc/emacs/search.texi (Special Isearch): Add cross-reference and + improve wording. + +2020-11-06 Juri Linkov + + Support transient input methods in Isearch mode (bug#44266) + + * doc/emacs/mule.texi (Select Input Method): Rename + transient-input-method to activate-transient-input-method. + + * doc/emacs/search.texi (Special Isearch): + Document isearch-transient-input-method. + + * lisp/international/isearch-x.el (isearch-transient-input-method): + New function. + (isearch-process-search-multibyte-characters): + Call 'deactivate-transient-input-method' after 'read-string'. + + * lisp/international/mule-cmds.el (mule-menu-keymap): Remove + duplicate menu item 'describe-input-method'. Add new menu item + 'activate-transient-input-method'. + (default-transient-input-method): Rename from transient-input-method. + (current-transient-input-method) + (previous-transient-input-method): New buffer-local variables. + (deactivate-input-method): Don't add + current-transient-input-method to input-method-history. + (toggle-input-method): Call deactivate-transient-input-method + when current-transient-input-method is non-nil. + (activate-transient-input-method): Rename from transient-input-method. + (deactivate-transient-input-method): New function with body from + renamed function transient-input-method. + + * lisp/isearch.el (isearch-menu-bar-map): Add new menu item + 'isearch-transient-input-method'. + (isearch-mode-map): Bind 'C-x \' to isearch-transient-input-method. + (isearch-forward): Add isearch-transient-input-method to docstring. + (isearch-message-prefix): Use shorter string for narrowed buffer. + +2020-11-06 Stefan Kangas + + Add more tests for where-is-internal + + * test/src/keymap-tests.el (keymap-where-is-internal) + (keymap-where-is-internal/firstonly-t) + (keymap-where-is-internal/menu-item) + (keymap-where-is-internal/advertised-binding) + (keymap-where-is-internal/advertised-binding-respect-remap) + (keymap-where-is-internal/remap) + (keymap-where-is-internal/shadowed): New tests. + (keymap-where-is-internal/preferred-modifier-is-a-string): + Rename from keymap-where-is-internal-test. + +2020-11-06 Eric Abrahamsen + + Fixes and improvements to gnus-search + + * lisp/gnus/gnus-search.el (gnus-search-default-engines): Change type + from a list of two-element lists, to alist. This matches nnir's old + option type, and should make transition easier. + (nnir-imap-default-search-key): Note that variable is obsolete. + (gnus-search-transform-expression): Interpret the "attachment" key as + "body" in imap searches. Allow specifying larger/smaller message size + values in KB or MB units. + (gnus-search-server-to-engine): Fix error in this function, and + clarify somewhat. + +2020-11-05 Katsumi Yamaoka + + * doc/misc/gnus.texi (Selection Groups): Delete excessive paren + +2020-11-05 Mauro Aranda + + Enable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398) + + * lisp/cus-edit.el (custom-reset-extended-menu): Keymap menu for the + Revert... menu button. + (custom-reset-menu): Keep for backward compatibility, but default to + nil, so we prefer the keymap menu instead. + (custom-reset): Pass the new keymap menu to widget-choose. + + (custom-commands): Add an element to each list item, to manage its + enable/disable state. Add docstring. + (custom-command-buttons): New variable, to hold the buttons that act + on all options in a Custom buffer. + (custom-buffer-create-internal): When creating the command buttons, + add the optional :notify function to enable/disable them. Add the + buttons to the new variable custom-command-buttons. + (customize-menu-create): Notify the command buttons after creating the + Custom buffer, so they are correctly enabled/disabled. + (custom-redraw-magic, custom-notify): Notify the command buttons and + update the tool bar when changing a widget to the modified state. + +2020-11-05 Andrea Corallo + + * A native compiler forward propagation fix + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar' + `const-vld' slot left unset while propagating in phis. + +2020-11-05 Basil L. Contovounesios + + Fix coding system in eww-display-pdf + + * lisp/net/eww.el (eww-display-pdf): Make *eww pdf* buffer unibyte + before populating it to avoid conversions. The binding for + coding-system-for-write is then no longer necessary, and can be + delegated to the viewer invoked by mailcap-view-mime. Suggested by + Stefan Monnier . (Bug#44338) + +2020-11-05 Philipp Stephani + + * src/minibuf.c (move_minibuffer_onto_frame): Fix comparison + +2020-11-05 Alan Mackenzie + + Allow minibuffer to stay in its original frame. Tidy up this area. + + * doc/emacs/mini.texi (Basic Minibuffer): Add an entry for + minibuffer-follows-selected-frame. + + * doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to + minibufferp, LIVE. + + * etc/NEWS: Add an entry describing the new minibuffer strategy. + + * lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for + minibuffer-follows-selected-frame. + + * lisp/minibuffer.el (minibuffer-message): Check for the current buffer being + an _active_ minibuffer rather than merely a minibuffer. + + * src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame. + + * src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and + is_minibuffer. + + * src/minibuf.c (minibuf_follows_frame): New function which ignores local and + let-bound values of minibuffer-follows-selected-frame. + (choose_minibuf_frame): Reformulate this function to reuse a minibuffer window + where possible, and to ensure no other frame has its minibuffer current, but + only when `minibuffer-follows-selected-frame'. + (move_minibuffer_onto_frame): New function. + (live_minibuffer_p): New function. + (Fminibufferp): Add a new &optional parameter LIVE. Reformulate, possibly + calling live_minibuffer_p. + (read_minibuf): move the incrementation of minibuf_level to before the call of + choose_minibuf_frame. Empty the miniwindows of frames without an active + minibuffer, rather than of all but the current frame. + (is_minibuffer): New function. + (read_minibuf_unwind): Note the miniwindow being restored and resize all other + miniwindows to zero size. + (minibuffer-follows-selected-frame): New configuration variable. + + * src/window.c (candidate_window_p): In some scenarios, check the miniwindow + holds an active minibuffer. + + * src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active + miniwindows, regardless of minibuf_level. + +2020-11-05 Eli Zaretskii + + * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456) + +2020-11-05 Basil L. Contovounesios + + Improve eww support for externally viewed PDFs + + The *eww pdf* buffer is only needed when viewing PDFs within Emacs, + e.g., with doc-view-mode. External PDF viewers are called with a + temporary file, so the buffer is not needed in that case. What's + more, mailcap-view-mime erased the buffer and left it in + fundamental-mode until now, so the user was left staring at a + useless, empty buffer. To make things even worse, external viewers + were invoked synchronously until now, so the user could not browse + the PDF file and use Emacs simultaneously. + + * lisp/net/mailcap.el (mailcap--async-shell): New function. + (mailcap-view-mime): Use it to invoke external viewers + asynchronously. Mention erasure of current buffer in that case in + docstring. Add a period between the temporary file name and its + extension. + + * lisp/net/eww.el (eww-display-pdf): Simplify using + insert-buffer-substring. Fix coding-system-for-write for a stream + of raw bytes. Pop to *eww pdf* buffer only if it is used for + displaying a document; otherwise kill it. (bug#44338) + +2020-11-05 Michael Albinus + + Still fixes for Tramp directory-files-* + + * lisp/net/tramp.el (tramp-handle-directory-files): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): Fix COUNT. + + * lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files): + Implement COUNT. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string): + * lisp/net/tramp-integration.el (tramp-eshell-directory-change): + Use `nbutlast'. + + * lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory) + (tramp-rclone-handle-delete-file): Reorder cache flushing. + (tramp-rclone-handle-directory-files): + Use `tramp-compat-directory-files'. + + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + Fix NOSORT and COUNT. + + * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT. + + * test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun. + (tramp-test05-expand-file-name-relative): Use it. + (tramp-test16-directory-files) + (tramp-test19-directory-files-and-attributes): Strengthen test. + (tramp-test20-file-modes): Simplify check. + +2020-11-05 Lars Ingebrigtsen + + Let pdf-view-mode take precedence over doc-view-mode + + * lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let + pdf-view-mode take precedence, since it's an optional package + (bug#44338). + +2020-11-05 Basil L. Contovounesios + + Sync biblatex entries and fields with v3.15 + + * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix + abbreviation of PhD. + (bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync + standard entry and field types with those described in the biblatex + v3.15 manual of 2020-08-19 (bug#44322). + +2020-11-04 Stephen Berman + + Improve display of tabulated list header line labels (bug#44068) + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Ensure sort indicator appears after the label of any selected + sortable column that is wide enough and enable label truncation + when narrowing a column. + + * lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column + alignment. + (timer-list--function-predicate): Correct typo in doc string. + +2020-11-04 Eli Zaretskii + + Prevent redisplay from moving point behind user's back + + * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): + Bind inhibit-quit to a non-nil value around calls to + fast_looking_at, to prevent breaking out of redisplay_window, + which temporarily moves point in buffers shown in non-selected + windows. (Bug#44448) + +2020-11-04 Stefan Monnier + + * src/term.c (handle_one_term_event): Simplify. + + Remove the `hold_quit` argument which was never used. + Streamline the control flow. + Thanks to Jared Finder for pointing it out. + + * src/keyboard.c (tty_read_avail_input): Simplify accordingly. + +2020-11-04 Eric Abrahamsen + + Avoid use of eieio-oset-default + + * lisp/gnus/gnus-search.el: Replace with an :initform tag on the slot + definition. `symbol-value' is necessary, otherwise the defclass macro + will treat the option as a quoted symbol. + +2020-11-04 Stefan Monnier + + * lisp-mode.el: Fix missing highlight of "hidden" string arg + + * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) + (lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it + already has another face. + +2020-11-04 Manuel Uberti (tiny change) + + * lisp/progmodes/project.el (project--files-in-directory): Fix formatting + +2020-11-04 Stefan Kangas + + Use lexical-binding in mule-charsets.el + + * admin/charsets/mule-charsets.el: Use lexical-binding. + (mule-charsets-header): Rename from 'header' to silence byte-compiler. + +2020-11-04 Reuben Thomas + + Remove unused variable in ispell.el (thanks, Stefan Kangas) + + * lisp/textmodes/ispell.el (ispell-check-version): Remove unused + variable `speller'. + +2020-11-04 Stefan Kangas + + Fix warnings in url-irc.el + + * lisp/url/url-irc.el (zenirc-server-alist, zenirc-buffer-name): + Declare to fix warnings. + (url-irc-rcirc): Silence warning by adding missing password argument + to rcirc-connect. + +2020-11-04 Stefan Kangas + + * lisp/obsolete/nnir.el: Add "Obsolete-since" header. + + * lisp/cedet/srecode.el: Use lexical-binding. + +2020-11-04 Stefan Monnier + + Fix misuses of `make-local-variable` on hooks + + * lisp/vc/smerge-mode.el (smerge-ediff): + * lisp/progmodes/python.el (python-pdbtrack-setup-tracking): + * lisp/net/tramp-smb.el (tramp-smb-call-winexe): + * lisp/net/secrets.el (secrets-mode): + * lisp/mail/rmail.el (rmail-variables): + * lisp/ielm.el (inferior-emacs-lisp-mode): + * lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`. + + * lisp/eshell/em-unix.el (eshell/diff): + * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't + `make-local-variable` on hooks. + +2020-11-04 Eric Abrahamsen + + Remove gmane search engine + + Remove the gnus-search-gmane class and all associated methods. If + search functionality is ever resurrected, then revert this commit. + + * lisp/gnus/gnus-search.el: Delete code, and remove from default value + of `gnus-search-default-engines'. + +2020-11-04 Eric Abrahamsen + + Move nnir.el to lisp/obsolete + + * lisp/obsolete/nnir.el: This is no longer used, but users might still + be requiring it. + +2020-11-04 Eric Abrahamsen + + New gnus-search library + + This library provides a fundamental reworking of the search + functionality previously found in nnir.el. It uses class-based search + engines to interface with external searching facilities, and a parsed + search query syntax that can search multiple engines. + + * lisp/gnus/gnus-search.el: New library containing search + functionality for Gnus. + * doc/misc/gnus.texi: Document. + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): Remove references to nnir, + change meaning of prefix argument, change values of nnselect-function + and nnselect-args. + * lisp/gnus/nnselect.el: Replace references to nnir + (nnselect-request-article): Use gnus-search functions, and search + criteria. + (nnselect-request-thread, nnselect-search-thread): Use gnus-search + thread search. + (gnus-summary-make-search-group): Switch to use gnus-search function + and arguments. + * test/lisp/gnus/search-tests.el: Tests for new functionality. + +2020-11-04 Stefan Monnier + + * lisp/progmodes/tcl.el: Use lexical-binding + + Remove redundant `:group` args. + +2020-11-03 Eli Zaretskii + + Fix last change + + * lisp/mwheel.el (mwheel-scroll): Don't use passive tense in doc + string. + +2020-11-03 Juri Linkov + + Horizontal mouse wheel scrolling amount (bug#43568) + + * lisp/mwheel.el (mouse-wheel-scroll-amount-horizontal): New defcustom. + (mwheel-scroll): Use it. + + * doc/emacs/frames.texi (Mouse Commands): Update doc about horizontal + scrolling step. + +2020-11-03 Michael Albinus + + Some Tramp fixes for directory-files-* and delete-* + + * lisp/files.el (delete-directory): Simplify check for trash. + + * lisp/net/ange-ftp.el (ange-ftp-delete-file): Implement TRASH. + + * lisp/net/tramp-compat.el (tramp-compat-directory-files) + (tramp-compat-directory-files-and-attributes) + (tramp-compat-directory-empty-p): New defaliases. + + * lisp/net/tramp.el (tramp-handle-directory-files-and-attributes) + (tramp-skeleton-delete-directory): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use them. + + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + Implement COUNT. + + * test/lisp/net/tramp-tests.el (tramp-test14-delete-directory): + Do not run trash test for ange-ftp. + (tramp-test16-directory-files) + (tramp-test19-directory-files-and-attributes): Check COUNT argument. + +2020-11-03 Reuben Thomas + + Factor out some common code in ispell.el + + * lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add + macro. + (ispell-call-process, ispell-call-process-region): Use it. + +2020-11-03 Reuben Thomas + + Simplify ispell-check-versions use of -vv flag + + * lisp/textmodes/ispell.el (ispell-check-version): All supported spell + checker programs accept -vv, including aspell for many years, so use + it. + +2020-11-03 Harald J旦rg + + cperl-mode: Fix indentation for Emacs 26 + + * lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix + which is only required for Emacs versions older than 27. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393): + Add a test to verify correct indentation (bug#30393). + +2020-11-03 Mauro Aranda + + Fix customizing user options of type face + + * lisp/cus-edit.el (face): Move the %f escape after the tag, because + otherwise customizing a face user option doesn't work: + custom-variable-value-create thinks that everything up until the first + ":" is part of the tag, and the item widget doesn't know how to handle + the %f escape. + +2020-11-03 Stefan Kangas + + Use lexical-binding in some url-*.el files + + * lisp/url/url-dired.el: + * lisp/url/url-ftp.el: + * lisp/url/url-irc.el: Use lexical-binding. + +2020-11-03 Stefan Kangas + + Use lexical-binding in solitaire.el + + * lisp/play/solitaire.el: Use lexical-binding. Remove redundant + :group args. + +2020-11-03 Stefan Kangas + + Use lexical-binding in some of emulation/edt*.el + + * lisp/emulation/edt-vt100.el: + * lisp/emulation/edt-pc.el: + * lisp/emulation/edt-lk201.el: Use lexical-binding. + +2020-11-03 Stefan Kangas + + Use lexical-binding in pcmpl-rpm.el + + * lisp/pcmpl-rpm.el: Use lexical-binding. Remove redundant :group + args. + (pcmpl-rpm-packages): Quote function symbol as such. + +2020-11-03 Stefan Kangas + + Use lexical-binding in pcmpl-cvs.el + + * lisp/pcmpl-cvs.el: Use lexical-binding. + (executable): Remove unnecessary require. + (pcmpl-cvs-binary): Remove redundant :group arg. + (pcmpl-cvs-tags): Quote function symbol as such. + +2020-11-03 Stefan Kangas + + Fix exiting the finder-commentary buffer + + * lisp/finder.el (finder-exit): Fix exiting the finder-commentary + buffer. (Bug#44384) + (finder-buffer): New defconst. + (finder-list-keywords): Use above new defconst. + +2020-11-03 Harald J旦rg + + cperl-mode: Skip a test for older Emacsen (preparing for ELPA) + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127): + Skip this test for older Emacsen. The bug has been fixed + in Emacs, but outside of CPerl mode, and therefore will not + be available for older versions via ELPA. + +2020-11-03 Stefan Kangas + + Improve ert-resource-directory docstring + + * lisp/emacs-lisp/ert-x.el (ert-resource-directory): Improve + docstring. + +2020-11-02 Reuben Thomas + + Fix previous patch to ispell.el + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): + with-current-buffer and with-output-to-string need to be the other + way around. + +2020-11-02 Reuben Thomas + + Fix previous code change to `ispell--call-enchant-lsmod' + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Restore the + use of with-current-buffer, to avoid enchant-lsmods output being + dumped into the current buffer. + +2020-11-02 Eli Zaretskii + + Explain last change + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Explain + the workaround with discarding stderr. (Bug#44318) + +2020-11-02 Reuben Thomas + + Make ispell.el ignore warnings from enchant-lsmod (closes #44318) + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Dont capture + stderr. Also remove unnecessary with-current-buffer wrapper. + +2020-11-02 Mattias Engdeg奪rd + + Add missing argument to directory_files_internal calls + + * src/kqueue.c (kqueue_compare_dir_list, Fkqueue_add_watch): + Pass the new seventh argument. + +2020-11-02 Eli Zaretskii + + Fix a recent change in dired.c + + * src/dired.c (directory_files_internal): Fix type of integer + variables to avoid overflow in 32-bit builds --with-wide-int. + +2020-11-02 Eli Zaretskii + + Improve documentation of a recent commit + + * lisp/international/mule-cmds.el (transient-input-method): Doc + fix. Add :version tag. + (transient-input-method): Doc fix. + + * etc/NEWS: + * doc/emacs/mule.texi (Select Input Method): Fix wording of the + last change. + +2020-11-02 Glenn Morris + + Merge from origin/emacs-27 + + 4e6104ea0b ; * src/xdisp.c (display_string): Fix a typo in a comment. + 7162228815 Improve indexing of check-declare + d218b28ab5 ; * lisp/autoinsert.el (auto-insert-alist): Fix texinfo URL. + +2020-11-02 Glenn Morris + + Merge from origin/emacs-27 + + 1fc9de4b81 Improve reproducibility of generated -pkg.el files + da6234e2df Make sure pixel sizes are zero when setting window size fo... + 2d15296db1 Fix failure of 'emacs --daemon' on Cygwin + 8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer w... + 85d1d8d768 Fix NEWS entry for fix of Bug#44080 + 2443b15a91 * src/buffer.c (syms_of_buffer) : Improve doc... + + # Conflicts: + # etc/NEWS + +2020-11-02 Michael Albinus + + Fix some glitches in recent directory-files-* changes + + * doc/lispref/files.texi (Contents of Directories): + Fix description of directory-files, directory-empty-p and + directory-files-and-attributes. + + * etc/NEWS: Fix entry for directory-files-and-attributes. Fix typos. + + * lisp/dired.el (directory-empty-p): Move function from here ... + + * lisp/files.el (directory-empty-p): ... to here. + + * lisp/net/ange-ftp.el (ange-ftp-directory-files): Call `nreverse' later. + + * lisp/net/tramp.el (tramp-handle-directory-files): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): Do not call + `nreverse'. + + * src/dired.c (Fdirectory_files) + (Fdirectory_files_and_attributes): Fix docstrings. + + * test/src/dired-tests.el: Removed. Tests moved to + test/lisp/dired-tests.el. + + * test/lisp/dired-tests.el (dired-test-bug27899): Tag it :unstable. + (dired-test-directory-files) + (dired-test-directory-files-and-attributes): New tests. + +2020-11-02 Jo達o T叩vora + + Fix Elisp's elisp--documentation-one-liner (bug#43609) + + To be backward compatible, this function must return nil when there is + a symbol at point but no documentation for it. Before this fixed it + returned the string ": nil". + + * lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner): + Check callback actually produced non-nil doc. + +2020-11-02 Lars Ingebrigtsen + + Fix mouse-1 on [Show] buttons in the *Help* buffer + + * lisp/descr-text.el (describe-text-sexp): Add a `follow-link' so + that the [Show] buttons work correctly with mouse-1 (bug#44340). + +2020-11-02 Yasuhiro KIMURA (tiny change) + + Recover the contents of the schemas.xml file + + * etc/schema/schemas.xml: Recover the file, which was apparently + (mostly) removed by mistake by commit 165f738382 (bug#42851). + +2020-11-02 Mauro Aranda + + Document that the :match function for a widget takes an external value + + * doc/misc/widget.texi (Basic Types): Document what an external value + is. Document that a :match function expects the value to be in the + external format. (Bug#8717) + +2020-11-02 Stephen Berman + + Don't render XML declaration of an HTML document (bug#44348) + + * lisp/net/eww.el (eww--preprocess-html): Prevent converting the + left angle bracket in the sequence " + + Add directory-empty-p and new argument COUNT for directory-files-* + + * doc/lispref/files.texi (Contents of Directories): Mention COUNT + argument of directory-files. Add directory-empty-p. + + * etc/NEWS: Mention directory-empty-p and directory-files changes. + + * lisp/dired.el (directory-empty-p): New defun. + + * lisp/net/ange-ftp.el (ange-ftp-directory-files) + (ange-ftp-directory-files-and-attributes): + * lisp/net/tramp.el (tramp-handle-directory-files) + (tramp-handle-directory-files-and-attributes): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): + * lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files): + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add new COUNT + argument. + + * src/dired.c (directory_files_internal): Implement new + RETURN_COUNT argument. + (Fdirectory_files, Fdirectory_files_and_attributes): Add new COUNT + argument. + + * src/lisp.h (directory_files_internal): Add RETURN_COUNT to declaration. + + * src/sysdep.c (list_system_processes): Add Qnil to + directory_files_internal call. + + * test/src/dired-tests.el (directory-files-and-attributes-tests): + New file. + +2020-11-02 Lars Ingebrigtsen + + Partially revert previous define-minor-mode change + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): + Only document the values we want to support, not the ones we + actually support. + (define-minor-mode): Partially revert to previous behaviour. + +2020-11-01 Stefan Kangas + + Fix mistake in Lisp conversion of describe-map-tree + + * lisp/help.el (describe-map-tree): Fix mistake in conversion to Lisp + from the C function describe_map_tree; make the condition match the + now removed C code. (Bug#44360) + +2020-11-01 Juri Linkov + + Transient input methods bound to 'C-x \' (bug#44266) + + * lisp/international/mule-cmds.el (ctl-x-map): Bind 'C-x \' to + 'transient-input-method'. + (input-method-function): New defcustom. + (transient-input-method): New command. + + * doc/emacs/mule.texi (Select Input Method): Document transient-input-method. + +2020-11-01 Juri Linkov + + * lisp/leim/quail/compose.el: New input method (bug#44267). + +2020-11-01 Juri Linkov + + Show nobreak-space face for more blank characters in describe-char. + + * lisp/descr-text.el (describe-char): Handle more non-ASCII whitespace + characters added in f018cffca0098ad1b82c51730a6d6cf146e3c488 (bug#44236) + +2020-11-01 Stefan Kangas + + Improve indexing of check-declare + + * doc/lispref/functions.texi (Declaring Functions): Improve indexing. + +2020-11-01 Stefan Kangas + + Don't auto-insert "@c file ends here" in .texi files + + * lisp/autoinsert.el (auto-insert-alist): Don't insert "@c file ends + here" at the end of new .texi files. + +2020-11-01 Stefan Kangas + + Don't bind standard-output in substitute-command-keys + + This fixes a regression with regards to the old C version of + substitute-command-keys. + + * lisp/help.el (substitute-command-keys): Don't bind standard-output. + See Bug#39149. + * test/lisp/help-tests.el + (help-tests--was-in-buffer): New variable. + (help-substitute-command-keys/menu-filter-in-correct-buffer): New + test. + +2020-11-01 Glenn Morris + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Doc typo. + +2020-11-01 Mattias Engdeg奪rd + + Add missing side-effect-free and error-free properties + + Any function that is pure is also side-effect-free and some are also + error-free. Right now these have to be declared separately. + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add + bool-vector-count-consecutive, bool-vector-count-population, + bool-vector-subsetp, copysign, isnan, lax-plist-get, ldexp, memql, + regexp-opt and string-to-syntax. + (side-effect-and-error-free-fns): Add type-of. + * lisp/subr.el (kbd, string-replace): Declare side-effect-free. + +2020-11-01 Mattias Engdeg奪rd + + * lisp/emacs-lisp/byte-opt.el (pure-fns): Fix typos. + +2020-11-01 Stefan Kangas + + Insert describe-map-tree header into original buffer + + * lisp/help.el (describe-map-tree): Insert header into the original + buffer, not in standard-output. + * test/src/keymap-tests.el + (describe-buffer-bindings/header-in-current-buffer) + (describe-buffer-bindings/returns-nil): New tests. + Ref: https://debbugs.gnu.org/39149#31 + +2020-11-01 Andrea Corallo + + * Fix 'comp-call-optim pass' for anonymous lambdas + + * lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous + lambdas gate. + (comp-call-optim-form-call): Add the correct missing condition. + +2020-11-01 Andrea Corallo + + * test/src/comp-tests.el (compile-forms): Fix missing lexical binding. + +2020-11-01 Andrea Corallo + + * Add some 'cond-rw' pass related tests + + * test/src/comp-tests.el (comp-tests-cond-rw-checked-function): + Declare var. + (comp-tests-cond-rw-checker-val): New function. + (comp-tests-cond-rw-checker-type): Declare var. + (comp-tests-cond-rw-checker-type): New function. + (comp-tests-cond-rw-0-var): Declare var. + (comp-tests-cond-rw-0, comp-tests-cond-rw-1, comp-tests-cond-rw-2) + (comp-tests-cond-rw-3, comp-tests-cond-rw-4) + (comp-tests-cond-rw-5): New testcases. + +2020-11-01 Andrea Corallo + + Add new cond-rw pass to have forward propagation track cond branches + + Add a new pass to rewrite conditional branches. This is introducing + and placing a new LIMPLE operator 'assume' in use by fwprop to + propagate conditional branch test informations on target basic blocks. + + * lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'. + (comp-limple-assignments): Add `assume' operator. + (comp-emit-assume, comp-cond-rw-target-slot, comp-cond-rw-func) + (comp-cond-rw): Add new functions. + (comp-fwprop-insn): Update to pattern match `assume' insns. + * src/comp.c (emit_limple_insn): Add for `assume'. + (syms_of_comp): Define 'Qassume' symbol. + +2020-11-01 Lars Ingebrigtsen + + Make minor mode ARG work as documented + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): + Clarify when minor modes are switched on/off when called from lisp + (bug#44341). + (define-minor-mode): Make calls from Lisp switch the mode on/off + as documented. + +2020-11-01 Andrea Corallo + + * Rework some native compiler test infrastructure + + * test/src/comp-tests.el (comp-tests-map-checker): New function + returning a list holding checker results. + (comp-tests-tco-checker, comp-tests-fw-prop-checker-1) + (comp-tests-pure-checker-1, comp-tests-pure-checker-2): Make use + of `comp-tests-map-checker'. + +2020-11-01 Mauro Aranda + + Fix saving a face setting with Customize + + * lisp/cus-edit.el (custom-face-save): Make sure we back up into the + :shown-value property what the user has edited so far, if we are going + to recreate the custom-face widget. (Bug#44331) + +2020-11-01 Yasuhiro KIMURA (tiny change) + + Recover the contents of the schemas.xml file + + * etc/schema/schemas.xml: Recover the file, which was apparently + (mostly) removed by mistake by commit 165f738382 (bug#42851). + +2020-11-01 Lars Ingebrigtsen + + Doc string clarification for cl-some + + * lisp/emacs-lisp/cl-extra.el (cl-some): Clarify the return value + (bug#44330). + +2020-11-01 Lars Ingebrigtsen + + custom-theme-set-variables more resilient against removed libraries + + * lisp/custom.el (custom-theme-set-variables): Don't bug out on + settings that require a library that has been removed (bug#38843). + +2020-11-01 Lars Ingebrigtsen + + Mention non-ASCII C-c LETTER bindings in the lispref manual + + * doc/lispref/tips.texi (Key Binding Conventions): Mention + non-ASCII C-c LETTER (bug#15917). + +2020-11-01 Lars Ingebrigtsen + + Mention the C-c LETTER keybinding convention + + * doc/emacs/custom.texi (Keymaps): Reintroduce the text about C-c + LETTER (bug#15917), and clarify. + +2020-11-01 Michael Albinus + + Trash remote files to local trash (Bug#44216) + + * doc/misc/tramp.texi (Frequently Asked Questions): Add trashing. + + * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory) + (tramp-adb-handle-delete-file): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory) + (tramp-gvfs-handle-delete-file): + * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory) + (tramp-sh-handle-delete-file): + * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory) + (tramp-smb-handle-delete-file): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-directory) + (tramp-sudoedit-handle-delete-file): Implement local trash. (Bug#44216) + + * lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory) + (tramp-crypt-handle-delete-file): Do not trash. + + * lisp/net/tramp.el (tramp-skeleton-delete-directory): New defmacro. + + * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p) + (tramp-test14-delete-directory): Add trashing. + +2020-11-01 Michael Albinus + + * etc/NEWS: Add trashing of remote files. Fix typos. + +2020-11-01 Lars Ingebrigtsen + + Fix error message in feedmail + + * lisp/mail/feedmail.el (feedmail-buffer-to-smtpmail): Remove + superfluous %s in insert string + +2020-11-01 Lars Ingebrigtsen + + Fix a segfault in the new svg code + + * src/image.c (svg_load_image): Don't pass in a NULL for the + logical rect, because that will sometimes segfault. + +2020-10-31 Juri Linkov + + New variable integer-output-format to print integers as characters (bug#44155) + + * doc/lispref/streams.texi (Output Variables): Add integer-output-format. + + * src/print.c (print_object): In case of Lisp_Int, print integers + as characters when Vinteger_output_format is Qt, and in hex format + when Vinteger_output_format is 16. + (Vinteger_output_format): New variable. + + * test/src/print-tests.el (print-integer-output-format): New test. + +2020-10-31 Mauro Aranda + + Give the scroll-bar face a non-trivial spec + + * lisp/faces.el (scroll-bar): Give it a non-trivial spec, so when + resetting it to its face-defface-spec, we effectively reset it. + (Bug#13476) + +2020-10-31 Juri Linkov + + Improve goto-line in regard to narrowed buffers (bug#44294) + + * lisp/simple.el (goto-line): Rewrite to first find the position + of the line where to go, then later don't widen the buffer + when the found position is still inside narrowed part of buffer. + + * lisp/isearch.el (isearch-message-prefix): Warn about narrowed buffer + in case of no more matches found. + +2020-10-31 Juri Linkov + + Reimplement commit 46b3db5579e57b9daf16667914205adc99d3f104 (bug#44294) + + * lisp/progmodes/etags.el (etags-goto-tag-location): Revert change from + commit 46b3db5579e57b9daf16667914205adc99d3f104. + (xref-location-marker): Use the same change as was made in elisp-mode.el in + commit 46b3db5579e57b9daf16667914205adc99d3f104 to widen before going + to the found position. + +2020-10-31 Stefan Kangas + + * test/README: Document TEST_BACKTRACE_LINE_LENGTH. + +2020-10-31 Amin Bandali + + Replace irc.freenode.net with chat.freenode.net + + chat.freenode.net has been the preferred address for connecting to the + freenode IRC network for years now. Replace the occurrences of + irc.freenode.net with chat.freenode.net. + +2020-10-31 Mattias Engdeg奪rd + + Fix eshell glob modifiers + + Modified globbing such as *.txt(W) for all world-writable files ending + in .txt apparently never worked correctly. + + * lisp/eshell/em-pred.el (eshell-predicate-alist): Use correct + elisp syntax for octal constants. + (eshell-pred-file-mode): Return a boolean, not a number. + +2020-10-31 Andreas Schwab + + wdired: fix error handling of set-file-modes + + * lisp/wdired.el (wdired-perms-to-number): Return decimal number. + (wdired-do-perm-changes): Handle error from set-file-modes. + (wdired-finish-edit): Remove `rename' from error message. + (Bug#44343) + +2020-10-31 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-31 Eli Zaretskii + + * etc/HELLO: Enlarge tab-width to account for "tofu". + +2020-10-31 Mattias Engdeg奪rd + + 'assoc' is not side-effect-free; constprop its pure subset + + Since a supplied test function can do anything, assoc is not + side-effect-free (bug#44018). However, with only two arguments it is + pure and should be optimised accordingly. + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Remove 'assoc'. + (byte-optimize-assoc): Constant-propagate through 2-arg assoc calls. + * test/lisp/emacs-lisp/bytecomp-tests.el + (byte-opt-testsuite-arith-data): Add test cases. + +2020-10-31 Eli Zaretskii + + Improve support for displaying Javanese script + + * lisp/international/fontset.el (setup-default-fontset) + (script-representative-chars): Add Javanese entries. + + * etc/HELLO: Fix the Javanese text. See + https://omniglot.com/language/phrases/javanese.php for the + source. + +2020-10-31 Stefan Monnier + + * src/xdisp.c (syms_of_xdisp) <"scroll-minibuffer-conservatively">: New var + + Fix bug#44070, which causes the minibuffer display to jump upon minor edit + + (redisplay_window): Obey it. + * lisp/simple.el (end-of-buffer): Obey it. + + * test/src/xdisp-tests.el (xdisp-tests--in-minibuffer): New macro, + extracted from `xdisp-tests--minibuffer-resizing`. + (xdisp-tests--minibuffer-resizing): Use it. + (xdisp-tests--minibuffer-scroll): New test. + +2020-10-31 Mattias Engdeg奪rd + + Trim and explain set of safe forms for 'unsafep' (bug#44018) + + * lisp/emacs-lisp/unsafep.el: + Add comment explaining the policy for which forms can be considered + 'safe' in the sense of unsafep. Remove ones that didn't make the cut: + + play-sound-file (large attack surface) + catch, throw (alter program flow, inject data) + replace-regexp-in-string (execute arbitary code) + error, signal (deceptive messages) + + * test/lisp/emacs-lisp/unsafep-tests.el (unsafep-tests--unsafe): + Add test cases. + * etc/NEWS: Announce the change. + +2020-10-31 Mattias Engdeg奪rd + + Parse GDB/MI results directly instead of going via JSON (bug#44173) + + Translating GDB/MI into JSON is an unnecessary and fragile detour + that made it hard to deal with octal escapes in strings correctly. + Parse GDB/MI directly instead. + + * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Adjust doc string. + (gdb-mi-decode, gud-gdbmi-marker-filter): Remove gdb-mi-decode. + (gdb-jsonify-buffer): Remove. + (gdb-mi--parse-tuple-or-list, gdb-mi--parse-c-string) + (gdb-mi--parse-value, gdb-mi--parse-result-or-value) + (gdb-mi--parse-results, gdb-mi--fix-key, gdb-mi--extend-fullname) + (gdb-mi--c-string-from-string): New functions. + (gdb-json-read-buffer, gdb-json-string, gdb-json-partial-output): + Rename to gdb-mi--read-buffer, gdb-mi--from-string and + gdb-mi--partial-output respectively. Remove useless FIX-LIST + argument. FIX-KEY is now a symbol, not a string. All callers updated. + (gdb-tooltip-print, gdbmi-bnf-log-stream-output, gdb-internals) + (gdb-console, gdb-done-or-error, gdb-get-source-file-list) + (gdb-get-prompt, gdb-get-source-file): + Use gdb-mi--c-string-from-string instead of 'read'. + * test/lisp/progmodes/gdb-mi-tests.el: New file. + +2020-10-31 Eli Zaretskii + + * etc/HELLO: Add Egyptian Hieroglyphs. + +2020-10-31 Eli Zaretskii + + Support prettified display of fractional numbers + + * lisp/composite.el (composition-function-table): Define an entry + for U+2044 FRACTION SLASH, for prettier display of fractional + numbers. + +2020-10-31 Michael Albinus + + Check also for "DragonFly" remote systems in Tramp + + * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): + Check also for "DragonFly". + +2020-10-31 Eli Zaretskii + + Speed up ls-lisp + + This speeds up Dired by 25% in large directories. + * lisp/ls-lisp.el (ls-lisp--time-locale): New defvar. + (ls-lisp-format-time): calculate the locale for formatting times + only once and cache the value in 'ls-lisp--time-locale'. + (Bug#44273) + +2020-10-31 Eli Zaretskii + + * doc/lispref/commands.texi (Key Sequence Input): Fix indexing. + +2020-10-31 Jared Finder + + Updating docs with all special window prefix keys. + + * doc/lispref/commands.texi (Key Sequence Input): Add documentation for + missing special window areas. Explicitly call out window or frame. + +2020-10-31 Jared Finder + + Fix unit tests broken by changes to xt-mouse.el + + * test/lisp/xt-mouse-tests.el (xt-mouse-tracking-basic) + (xt-mouse-tracking-utf-8): Update expected escape sequence. + +2020-10-31 Eli Zaretskii + + Revert "Temporarily mark two failing tests" + + This reverts commit a8426f46726d94cdf21c0e6b3c85c0afe0064784. + A proper fix for the test is about to be installed shortly. + +2020-10-31 Thien-Thi Nguyen + + Make hideshow.el work with Mhtml mode + + Suggested by Ian Williams . + + * lisp/textmodes/mhtml-mode.el: Require pcase when compiling. + (mhtml-forward): New func. + * lisp/progmodes/hideshow.el (hs-special-modes-alist): + Add entry for mhtml-mode. + +2020-10-31 Glenn Morris + + Improve reproducibility of generated -pkg.el files + + * lisp/emacs-lisp/package.el (package-generate-description-file): + Don't include the full name of the source file in the header, + since that varies non-reproducibly according to the build directory. + https://bugs.debian.org/972861 + Note that elpa.gnu.org's admin/archive-contents.el does this by hand + and already only includes the nondirectory part. + +2020-10-30 Jo達o T叩vora + + Shoosh byte-compilation warning in lisp/emacs-lisp/eldoc.el + + Per bug#43609, elisp-eldoc-documentation-function is again in master, + but since it's now officially obsoleted, this backward compatibility + shim in eldoc--eval-expression-setup shouldn't unnecessarily trigger + warnings in master's code. + + * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Shoosh + by-compilation warning. + +2020-10-30 Jo達o T叩vora + + Don't make ElDoc doc buffer visible in buffer list by default + + (Bug#44334) + + * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer): No longer take + INTERACTIVE arg. Show buffer if invisible. + (eldoc--format-doc-buffer): Don't change buffer visibility. + (eldoc-display-in-buffer): Show buffer if invisible if by calling + eldoc-doc-buffer. + +2020-10-30 Jo達o T叩vora + + Bring back elisp-eldoc-documentation-function, marked obsolete + + (Bug#43609) + + It's not useful for ElDoc's eldoc-mode mechanism in Elisp, and nothing + in Emacs uses it, but it wasn't strictly marked internal, so it's best + to bring it back. + + * lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner): + New helper. + (elisp-eldoc-documentation-function): New function, with + obsoletion warning. + +2020-10-30 Stefan Monnier + + * lisp/simple.el (blink-matching-open): Fix bug#37127 + + Don't call `syntax-propertize` from within narrowing + + * lisp/progmodes/cperl-mode.el (cperl-forward-re): Revert last patch, + since it is now redundant. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127): + Remove unused var; fix test so it really catches the previous bug; + tweak the code to use mode-agnostic commands so it also works in `perl-mode`. + +2020-10-30 Michael Albinus + + Fix Bug#44289 + + * lisp/files.el (directory-listing-before-filename-regexp): + Support DD-MMM-YYYY format. (Bug#44289) + +2020-10-30 Lars Ingebrigtsen + + Tweak previous python-mode region fix + + * lisp/progmodes/python.el (python-shell-buffer-substring): Tweak + the previous fix for bug#39398 to behave somewhat more like it + used to. + +2020-10-30 Lars Ingebrigtsen + + Revert "Adjust python tests after fix for bug#39398" + + This reverts commit c6fb23873a594b6a4fc57fa107869a2e82159d07. + + The code is tweaked to be more backwards-compatible. + +2020-10-30 Lars Ingebrigtsen + + Fix copying symbolic links in eshell + + * lisp/eshell/em-unix.el (eshell-shuffle-files): Don't bug out + when copying symbolic links (bug#38577). + +2020-10-30 Dima Kogan + + Add a new command to regenerate a hunk in diff-mode + + * lisp/vc/diff-mode.el (diff-refresh-hunk): New function (bug#44312). + (diff-mode-map): Bind C-c C-l. + +2020-10-30 Lars Ingebrigtsen + + Fix fontifying of ::= in Makefiles + + * lisp/progmodes/make-mode.el (makefile-match-dependency): Don't + fontify the POSIX immediate assignment operator ::= as a + dependency (bug#44319). + +2020-10-30 Harald J旦rg + + Suppress a misleading message when closing a paren in a regex + + * lisp/progmodes/cperl-mode.el (cperl-forward-re): Suppress an + error message about "End of string/RE not found" when we are + at the end of a narrowed buffer where the end of a RE is + temporarily unavailable (Bug#37127). + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127): + Add a test to verify that the message is suppressed when + inappropriate, but appears when the RE *is* incomplete. + +2020-10-30 Stefan Kangas + + Clarify point position after text-property-search + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward, text-property-search-backward): Doc fix + to clarify placement of point after search. + * test/lisp/emacs-lisp/text-property-search-tests.el + (text-property-search--pos-test): New defun. + (text-property-search-forward-point-at-beginning) + (text-property-search-backward-point-at-end): New test. + +2020-10-30 Lars Ingebrigtsen + + Tweak the gdb-mi error message + + * lisp/progmodes/gdb-mi.el (gdb--check-interpreter): Make the + error message less misleading (bug#40279). + +2020-10-30 Neil Roberts + + Use nobreak-space on all non-ASCII whitespace characters + + * doc/emacs/display.texi (Text Display): Document it. + + * src/xdisp.c (get_next_display_element): Use blankp to test whether + to use the nobreak_space face (bug#44236). + +2020-10-30 Lars Ingebrigtsen + + Make list-timers do sub-second times + + * lisp/emacs-lisp/timer-list.el (list-timers): Do sub-second times + (bug#39956). + +2020-10-30 Lars Ingebrigtsen + + `format-time' can now do sub-second times + + * doc/lispref/os.texi (Time Parsing): Document it. + + * lisp/calendar/time-date.el (format-seconds): Allow formatting + sub-second times. + +2020-10-30 Stefan Kangas + + Add shortdoc navigation commands + + * lisp/emacs-lisp/shortdoc.el (text-property-search): Require. + (shortdoc-mode): New major mode. + (shortdoc-mode-map): New variable. + (shortdoc--goto-section): New macro. + (shortdoc-next, shortdoc-previous, shortdoc-next-section) + (shortdoc-previous-section): New commands. + (shortdoc-display-group): Use new shortdoc-models. Propertize + section header. + (shortdoc--display-function): Propertize function header. + +2020-10-30 Hugh Daschbach + + * test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): Expand test. + +2020-10-30 Stefan Monnier + + * lisp/mail/binhex.el (binhex-char-int): Add missing release + +2020-10-30 Basil L. Contovounesios + + Remove Debbugs 'thanks' from submit-emacs-patch + + * lisp/mail/emacsbug.el (submit-emacs-patch): Remove unneeded + 'thanks' following Debbugs pseudo-header, which leaves other + pseudo-headers entered by the user unprocessed (bug#44322). + +2020-10-30 Basil L. Contovounesios + + Modify only local send hook in submit-emacs-patch + + * lisp/mail/emacsbug.el (submit-emacs-patch): Don't modify global + message-send-hook. + +2020-10-29 Noah Friedman + + Make sure pixel sizes are zero when setting window size for ptys. + + * sysdep.c (set_window_size): Initialize data to zero to avoid + passing any garbage from the stack to ioctl. + +2020-10-29 Harald J旦rg + + cperl-mode: Make timeout test more robust + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-test-bug-10483): Increase the timeout to 2 seconds + and mark the test as expensive. Also, suppress it for Emacs + versions below 28, where the test times out though the function + works in manual tests. (Bug#44317) + +2020-10-29 Basil L. Contovounesios + + Simplify some bibtex.el variable definitions + + * lisp/textmodes/bibtex.el (bibtex-include-OPTkey) + (bibtex-user-optional-fields, bibtex-BibTeX-entry-alist) + (bibtex-biblatex-entry-alist, bibtex-generate-url-list): Use :risky + tag instead of risky-local-variable property. + + (bibtex-entry-format, bibtex-maintain-sorted-entries) + (bibtex-sort-entry-class, bibtex-dialect) + (bibtex-autokey-name-case-convert-function): Use :safe tag instead + of safe-local-variable property. + + (bibtex-autokey-name-case-convert-function): Let custom function + default to 'identity', not 'ignore'. + + (bibtex-strings, bibtex-reference-keys): Define with defvar-local + instead of defvar+make-variable-buffer-local. + +2020-10-29 Stefan Kangas + + * lisp/reposition.el: Use lexical-binding. + +2020-10-29 Stefan Monnier + + * lisp/progmodes/tcl.el: Better match Tcl string formation rules (bug#39277) + + (tcl--word-delimiters): New const. + (tcl--syntax-of-quote): New function. + (tcl-syntax-propertize-function): Use them. + (tcl-mode): Enable `syntax-propertize-multiline`. + + * test/manual/indent/tcl.tcl: New file. + +2020-10-29 Michael Albinus + + Handle several children of PATH in dbus-managed-objects-handler + + * lisp/net/dbus.el (dbus-managed-objects-handler): Handle several + children of PATH. (Bug#44298) + + * src/dbusbind.c (xd_signature, xd_append_arg): Check object path. + + * test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): + Tag it :expensive-test. Remove superfluous check. + +2020-10-29 Stefan Kangas + + Fix CUA Mode menu entry to be less confusing + + Note that the old text was incorrect; shift-selection is controlled by + the variable shift-select-mode. + + * lisp/menu-bar.el (menu-bar-options-menu): Make CUA Mode menu entry + less confusing when cua-enable-cua-keys is nil. (Bug#43322) + +2020-10-29 Ken Brown + + Fix failure of 'emacs --daemon' on Cygwin + + * src/emacs.c (DAEMON_MUST_EXEC): Define unconditionally on + Cygwin, not just if HAVE_NTGUI is defined. This fixes the failure + of 'emacs --daemon' to start on the non-w32 Cygwin builds. + (Bug#44285) + +2020-10-29 Lars Ingebrigtsen + + Tweak previous article-treat-ansi-sequences fix + + * lisp/gnus/gnus-art.el (article-treat-ansi-sequences): Redo the + previous fix to avoid a compilation warning (bug#44299). + +2020-10-29 Hugh Daschbach + + * test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): New test. + +2020-10-29 Andreas Schwab + + Don't spill ansi-color across parts in articles + + * lisp/gnus/gnus-art.el (article-treat-ansi-sequences): Reset + ansi-color-context-region. (Bug#44299) + +2020-10-29 Juri Linkov + + * lisp/bindings.el (narrow-map): Bind C-x n g to goto-line-relative (bug#9917) + +2020-10-29 Juri Linkov + + Widen buffer before going to point found by xref-find-definitions (bug#44294) + + * lisp/progmodes/elisp-mode.el (xref-location-marker): Widen before going + to the found position. + + * lisp/progmodes/etags.el (etags-goto-tag-location): Rerun after removing + narrowing. + + * lisp/simple.el (goto-line-read-args): Use buffer-narrowed-p. + +2020-10-28 Stefan Kangas + + Run substitute-command-keys on shortdoc section headings + + * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Run + substitute-command-keys on section headings before displaying. + +2020-10-28 Stefan Kangas + + Extend the regexp shortdoc group + + * lisp/emacs-lisp/shortdoc.el (regexp): New section "Match Data"; add + save-match-data. New section "The `rx' Structured Regexp Notation". + +2020-10-28 Lars Ingebrigtsen + + Document all parameters on `indent-relative' + + * doc/lispref/text.texi (Relative Indent): Mention the FIRST-ONLY + parameter (bug#39330). + +2020-10-28 Lars Ingebrigtsen + + Disable mml-sec-tests on MacOS + + * test/lisp/gnus/mml-sec-tests.el (test-conf): Disable tests on + MacOS (bug#44259). + +2020-10-28 Alan Mackenzie + + CC Mode: Only recognize foo (*bar) as a function pointer when followed by ( + + * lisp/progmodes/cc-engine.el (c-forward-over-decl-or-cast-1): (after CASE 2) + test variables got-suffix-after-parens and at-decl-end before invoking + c-fdoc-shift-type-backward. + +2020-10-28 Lars Ingebrigtsen + + Display times in a more human-readable way in list-timers + + * lisp/emacs-lisp/timer-list.el (list-timers): Format the + intervals in a more human-readable way (bug#39956). + +2020-10-28 Stefan Kangas + + * lisp/net/hmac-def.el: Use lexical-binding. + +2020-10-28 Lars Ingebrigtsen + + Adjust python tests after fix for bug#39398 + +2020-10-28 Stefan Kangas + + * lisp/net/eudc-vars.el: Use lexical-binding. + +2020-10-28 Stefan Kangas + + Use lexical-binding in netrc.el and add tests + + * lisp/net/netrc.el: Use lexical-binding. + (netrc-file): Remove redundant :group arg. + * test/lisp/net/netrc-resources/authinfo: + * test/lisp/net/netrc-resources/services: + * test/lisp/net/netrc-tests.el: New files. + +2020-10-28 Stefan Kangas + + Warn against using the MD4 hash function + + * lisp/md4.el (md4): Warn against using it, since its security is + non-existent and it has been declared obsolete. It should probably + only be used by our NTLM support. Point users to secure-hash instead. + +2020-10-28 Dmitry Gutov + + css--complete-property-value: Limit the backward search + + * lisp/textmodes/css-mode.el (css--complete-property-value): + Don't search back when ppss-innermost-start is nil (bug#44214). + +2020-10-28 Stefan Kangas + + Remove Emacs 20 compat code from ede/files.el + + * lisp/cedet/ede/files.el (ede--put-inode-dir-hash) + (ede--get-inode-dir-hash, ede-project-directory-remove-hash) + (ede--directory-project-from-hash) + (ede--directory-project-add-description-to-hash): Remove Emacs 20 + compat code. + +2020-10-28 Stefan Kangas + + Remove some compat code from feedmail.el + + * lisp/mail/feedmail.el (feedmail-message-action-help-blat) + (feedmail-run-the-queue, feedmail-queue-send-edit-prompt-inner) + (feedmail-send-it-immediately): Remove compat code for XEmacs, + Emacs 19 and 20. + +2020-10-27 Stefan Kangas + + Remove some Emacs 20 compat code from speedbar.el + + * lisp/speedbar.el (speedbar-easymenu-definition-trailer): Remove + Emacs 20 compat code. + +2020-10-27 Lars Ingebrigtsen + + Tweak how `C-c C-r' computes the region in python-mode + + * lisp/progmodes/python.el (python-shell-buffer-substring): Don't + extend the region to the start of the line (bug#39398), but allow + sending the actual region as marked. + +2020-10-27 Lars Ingebrigtsen + + Make gnus-output-to-rmail appending work better + + * lisp/gnus/gnus-util.el (gnus-output-to-rmail): Ensure we have a + blank line before the next line when using mbox format (bug#39580). + +2020-10-27 Lars Ingebrigtsen + + Fix intermittent rmail-summary-delete-forward problem + + * lisp/mail/rmailsum.el (rmail-summary-delete-forward): + `rmail-delete-message' may apparently clear + `rmail-current-message' sometimes, so save the message number + before deleting (bug#39612). + +2020-10-27 Mattias Engdeg奪rd + + gdb-mi: use lexical lambdas + + * lisp/progmodes/gdb-mi.el (gdb-tooltip-print-1, gud-watch) + (gdb-var-list-children, gdb-edit-value) + (gdb-bind-function-to-buffer, gdb-place-breakpoints) + (gdb-preempt-existing-or-display-buffer): + Expose lambdas to the compiler as lexical closures instead of building + them the old-fashioned way. Remove #' before lambda. + +2020-10-27 Mattias Engdeg奪rd + + Remove unused function in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (gdb-var-evaluate-expression-handler): + Remove. (It was left behind in an old code reorganisation.) + +2020-10-27 Lars Ingebrigtsen + + Revert "Fontify strings in {} better in tcl-mode" + + This reverts commit 7f32224dc324b0ee0f1b512c8d8b19aeb80141c1. + + The changes led to things like + + proc foo5 () { + return 6 + } + + being fontified as a string, which is wrong. + +2020-10-27 Mauro Aranda + + Small fix to the new link for inherited faces in Customize + + * lisp/cus-edit.el (cus--face-link): Link to the current value of the + widget, rather than to the widget's value upon creation (bug#44154). + +2020-10-27 Clemens Radermacher + + Fix NEWS entry for fix of Bug#44080 + +2020-10-27 Eli Zaretskii + + * src/buffer.c (syms_of_buffer) : Improve doc string. + +2020-10-27 Mattias Engdeg奪rd + + gdb-mi: Don't use bindat for field access + + Replace uses of bindat-get-field with a simpler accessor, + since nothing here uses the bindat machinery in any way. + + * lisp/progmodes/gdb-mi.el (gdb-mi--field): New. + (gdb-get-many-fields): Remove. + (gdb-var-create-handler, gdb-var-list-children-handler) + (gdb-var-update-handler, gdb-current-buffer-frame) + (gdb-update-gud-running, gdb-thread-exited, gdb-thread-selected) + (gdb-running, gdb-stopped, gdb-breakpoints-list-handler-custom) + (gdb-place-breakpoints, gdb-thread-list-handler-custom) + (def-gdb-thread-buffer-simple-command, gdb-select-thread) + (def-gdb-thread-buffer-gud-command, gdb-read-memory-custom) + (gdb-invalidate-disassembly, gdb-disassembly-handler-custom) + (gdb-disassembly-place-breakpoints, gdb-toggle-breakpoint) + (gdb-delete-breakpoint, gdb-goto-breakpoint, gdb-frame-location) + (gdb-stack-list-frames-custom, gdb-select-frame) + (gdb-edit-locals-value, gdb-locals-handler-custom) + (gdb-registers-handler-custom, gdb-changed-registers-handler) + (gdb-register-names-handler, gdb-frame-handler): + Use gdb-mi--field. + +2020-10-27 Glenn Morris + + Temporarily mark two failing tests + + * test/lisp/xt-mouse-tests.el (xt-mouse-tracking-basic) + (xt-mouse-tracking-utf-8): Currently failing. + +2020-10-27 Glenn Morris + + Merge from origin/emacs-27 + + e0de9f3295 (origin/emacs-27) Don't skip empty lines when fitting mini... + a4ec03fa9b ; * etc/tutorials/TUTORIAL.de: Fix grammar (Bug#44246) + 20c02e628c Improve documentation of display-fill-column-indicator + e2005f1f2a * INSTALL: Mention efaq.texi for installation of intlfonts. + 71661b2872 Use WebKit sandboxing + + # Conflicts: + # etc/NEWS + +2020-10-27 Glenn Morris + + Merge from origin/emacs-27 + + c847d5998f Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i... + +2020-10-27 Glenn Morris + + Merge from origin/emacs-27 + + 8b87ea6844 Recommend lexical-binding in Coding Conventions + e29cace60a Avoid rare crashes while producing line numbers + +2020-10-27 Simen Heggest淡yl + + Complete property values in multi-line CSS declarations + + * lisp/textmodes/css-mode.el (css--complete-property-value): Complete + property values even when preceded by a newline (bug#44214). + +2020-10-27 Lars Ingebrigtsen + + Fix history problem in `M-x shell' when started twice + + * lisp/comint.el (comint-input-ring-file-name): Avoid having this + variable being killed on mode restart while the other ring + variables aren't (bug#39667). This would mean that `M-x + shell'/`C-d'/`M-x shell' didn't save commands entered after the + second `M-x shell'. + +2020-10-27 Mattias Engdeg奪rd + + ERT: escape control characters in pretty-printed error output + + * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): + Escape control characters which would otherwise be blasted directly to + the terminal (when running noninteractively) with unpleasant results. + +2020-10-27 Mattias Engdeg奪rd + + Fix sunrise and sunset calculation (bug#44237) + + * lisp/calendar/solar.el (solar-moment): Use initial values for binary + search that won't end the loop prematurely and yield incorrect + answers. + * test/lisp/calendar/solar-tests.el: New file. + +2020-10-27 Mattias Engdeg奪rd + + Don't rely on bignums in ntlm.el + + Since ntlm.el is distributed as a separate package in GNU ELPA and + should be able to run on older Emacs versions without bignums, + we cannot make use of them here. See discussion at + https://lists.gnu.org/archive/html/emacs-devel/2020-10/msg01665.html. + Instead, we add a small poor man's bignum implementation. + + * lisp/net/ntlm.el (ntlm--bignat-of-int, ntlm--bignat-add) + (ntlm--bignat-shift-left, ntlm--bignat-mul-byte, ntlm--bignat-mul) + (ntlm--bignat-of-string, ntlm--bignat-of-digits) + (ntlm--bignat-to-int64): New. + (ntlm--time-to-timestamp): Use the ntlm--bignat- functions instead + of Lisp integers. + * test/lisp/net/ntlm-tests.el: New file. + +2020-10-27 Lars Ingebrigtsen + + Make edit-abbrevs parsing less brittle + + * lisp/abbrev.el (define-abbrevs): Make the parsing less brittle + -- allow more blank lines (bug#42611). + +2020-10-27 Stefan Kangas + + * lisp/net/sieve-mode.el: Use lexical-binding. + +2020-10-27 Lars Ingebrigtsen + + Add a link to inherited faces in Customize + + * lisp/cus-edit.el (cus--face-link): New function (bug#44154). + (face): Use the function to format the link. + +2020-10-27 Lars Ingebrigtsen + + Don't do compilation-transform-file-match-alist if there's no file name + + * lisp/progmodes/compile.el (compilation-error-properties): There + may not be a file name (bug#40111). In that case, don't do the + `compilation-transform-file-match-alist' thing. + +2020-10-27 Clemens Radermacher + + Don't skip empty lines when fitting mini frame to buffer (Bug#44080) + + * lisp/window.el (fit-mini-frame-to-buffer, + window--resize-mini-frame, fit-frame-to-buffer, + fit-frame-to-buffer-1): By default, fit a mini frame without skipping its + buffer's leading or trailing empty lines. + * src/frame.c (resize-mini-frames): Update doc-string. + * lisp/cus-start.el (resize-mini-frames): Update for customize. + * doc/lispref/minibuf.texi (resize-mini-frames): Update description. + +2020-10-27 Paul Pogonyshev + + Don't leak result of nested byte-compilation to outer level + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Bind + `byte-compiler-error-flag' instead of setting it (bug#41065). + This fixes a problem of "leaking" the flag when compiling + something that then compiles something that errors out (i.e., an + "inner" compile). + +2020-10-27 mvar (tiny change) + + Fontify strings in {} better in tcl-mode + + * lisp/progmodes/tcl.el (tcl-syntax-propertize-function): + Propertize {} forms after commands as strings (bug#39277). + (tcl-set-font-lock-keywords): Fontify as strings. This allows + things like puts {"foo} to be fontified correctly. + +2020-10-27 Lars Ingebrigtsen + + `g' in *Help* doesn't require confirmation + + * lisp/help-mode.el (help-mode-revert-buffer): Don't require + confirmation before reverting (bug#44202). This mimics how most + other non-file reverting functions work. + +2020-10-27 Nicolas Graner + + Define backtab in text fields in eww + + * lisp/net/eww.el (eww-text-map): + (eww-textarea-map): Define backtab, as in the main mode map + (bug#44247). + +2020-10-27 Stefan Kangas + + * lisp/mail/mail-prsvr.el: Use lexical-binding. + + * lisp/mail/mail-parse.el: Use lexical-binding. + +2020-10-27 Stefan Kangas + + Allow pcomplete/gzip to complete on files in subdirectories + + * lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files): Allow "gzip" to complete + on files in subdirectories. (Bug#30271) + +2020-10-27 Boruch Baum + + Add some missing docstrings in cua-rect.el + + * lisp/emulation/cua-rect.el (cua--rectangle) + (cua--last-rectangle, cua--restored-rectangle) + (cua--rectangle-overlays, cua--rectangle-operation) + (cua--tabify-start, cua--tabify-start, cua--insert-rectangle): + Add docstrings, in several cases by converting existing + comments. (Bug#30085) + (cua--last-killed-rectangle): Update comment. + +2020-10-27 Stefan Kangas + + Use lexical-binding in tool-bar.el + + * lisp/tool-bar.el: Use lexical-binding. + (tool-bar-add-item, tool-bar-add-item-from-menu): Quote function + symbols as such. + +2020-10-27 Stefan Kangas + + Don't use obsolete variable write-contents-hooks + + * lisp/mh-e/mh-show.el (mh-display-msg): + * lisp/textmodes/rst.el: Don't use obsolete variable + write-contents-hooks. + Problem reported by Stefan Monnier . + +2020-10-27 Stefan Kangas + + Remove XEmacs compat code from hashcash.el + + * lisp/mail/hashcash.el (hashcash-point-at-bol) + (hashcash-point-at-eol): Make obsolete. + (hashcash-token-substring): Don't use the above now obsolete aliases. + +2020-10-26 Stephen Berman + + Fix an unbound variable in html skeletons + + * lisp/skeleton.el (skeleton-internal-list): Fix an unbound + variable in html skeletons (bug#44157). + +2020-10-26 Dmitry Gutov + + vc-git-root: Remove unnecessary caching + + * lisp/vc/vc-git.el (vc-git-root): Simplify (bug#42966). + +2020-10-26 Lars Ingebrigtsen + + Make vc-responsible-backend choose the most specific backend + + * lisp/vc/vc.el (vc-responsible-backend): Search through all the + VC backends instead of the first one, and choose the one that's + most specific (bug#42966). + +2020-10-26 Lars Ingebrigtsen + + Fix time-test error on machines with mail + + * test/lisp/time-tests.el (time-tests-display-time-update): There + may be mail on the machine (bug#44241). + +2020-10-26 Lars Ingebrigtsen + + Make the -modes variable autoloaded + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Make the -modes variable be autoloaded. + +2020-10-26 Lars Ingebrigtsen + + Tweak where global-display-fill-column-indicator-modes is on + + * lisp/display-fill-column-indicator.el + (global-display-fill-column-indicator-mode): Don't switch on in + special-mode buffers (bug#44232). + +2020-10-26 Lars Ingebrigtsen + + Implement a :predicate parameter for globalized minor modes + + * doc/lispref/modes.texi (Defining Minor Modes): Describe the new + :predicate keyword (bug#44232). + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Allow a new :predicate keyword. + (easy-mmode--globalized-predicate-p): New function. + +2020-10-26 Lars Ingebrigtsen + + Make delete-selection-helper more resilient + + * lisp/delsel.el (delete-selection-helper): Don't bug out on `C-g' + (bug#40357). + +2020-10-26 Lars Ingebrigtsen + + Tweak how shortdocs are displayed + + * lisp/emacs-lisp/shortdoc.el (shortdoc-example): Removed. + (shortdoc-section): Remove colors. + (shortdoc-separator): New face. + (shortdoc-display-group, shortdoc--display-function): Don't use + background colours, because that makes things harder to read. + Separate with a horizontal line instead. + +2020-10-26 Andrea Corallo + + Make native compiler tollerant to redefined primitives (bug#44221). + + * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Rework based + on the fact that the subr can now be redefined. + * test/src/comp-tests.el (primitive-redefine-compile-44221): + New testcase. + +2020-10-26 Eli Zaretskii + + Avoid segfaults due to using fonts that were closed + + * src/composite.c (composition_gstring_cache_clear_font): New + function. + * src/composite.h (composition_gstring_cache_clear_font): Add + prototype. + * src/font.c (font_clear_cache): When we are about to close a + font, remove from the gstring cache any lgstring that uses this + font. (Bug#42943) + +2020-10-26 Mattias Engdeg奪rd + + Revert "Don't consider play-sound-file to be a 'safe' function (bug#44018)" + + This reverts commit cdb3c9d662c772ce25ea4d803eccd2c9e6a6ae99. + +2020-10-26 Eli Zaretskii + + Improve documentation of display-fill-column-indicator + + * lisp/display-fill-column-indicator.el + (display-fill-column-indicator-mode): Mention the globalized + version in the doc string. + + * doc/emacs/display.texi (Displaying Boundaries): Improve and + clarify the documentation of display-fill-column-indicator. + Suggest using the minor mode as the primary means for turning the + feature on. + + * src/xdisp.c (syms_of_xdisp) + : Doc fix. (Bug#44226) + +2020-10-26 Mattias Engdeg奪rd + + Don't consider play-sound-file to be a 'safe' function (bug#44018) + + While there are currently no known security holes in play-sound-file, + the attack surface is considerable and historically audio file + processing has had more than its share of security problems; the + benefit to risk ratio is low. + + * lisp/emacs-lisp/unsafep.el: Don't mark play-sound-file as safe. + +2020-10-25 Andrea Corallo + + Fix defsubst effectiveness (bug#44209) + + * lisp/emacs-lisp/byte-run.el (defsubst): Fix macro definition. + * test/src/comp-tests.el (comp-test-defsubst): New testcase. + * test/src/comp-test-funcs.el (comp-test-defsubst-f): New + function. + +2020-10-25 Andrea Corallo + + * Fix a function for native compilation in cc-bytecomp.el + + * lisp/progmodes/cc-bytecomp.el + (cc-bytecomp-compiling-or-loading): Update for native compilation. + +2020-10-25 Stefan Kangas + + Add section "Replacing Match" to the regexp shortdoc group + + * lisp/emacs-lisp/shortdoc.el (regexp): New section "Replacing Match". + +2020-10-25 Stefan Kangas + + Remove some Emacs 19 compat code and references + + * lisp/progmodes/sql.el: + * lisp/mh-e/mh-show.el (mh-display-msg): Remove Emacs 19 compat code. + * lisp/emacs-lisp/edebug.el (edebug-mark-marker): Make into + obsolete alias for mark-marker. + (edebug--display-1, edebug-bounce-point) + (edebug-outside-excursion): Adjust callers. + * lisp/net/snmp-mode.el: + * lisp/forms.el: Remove references to Emacs 19. + (forms-use-text-properties): Doc fix. + +2020-10-25 Eli Zaretskii + + Improve support for shaping Egyptian Hieroglyphs + + * src/composite.c (composition_gstring_lookup_cache): Renamed from + gstring_lookup_cache and made external. All callers changed. + * src/composite.h (composition_gstring_lookup_cache): Add + prototype. + * src/font.c (Ffont_shape_gstring): Call + composition_gstring_lookup_cache and return the cached composition + if it is already in the cache. + + * lisp/language/misc-lang.el (egyptian-shape-grouping): New + function. + (composition-function-table): Use egyptian-shape-grouping in + setting up compositions for Egyptian Hieroglyphs. Fix the + composition setup for horizontal and vertical joiners. + +2020-10-25 Andrea Corallo + + * Fix ELC+ELN vs ELC prefix while building non AoT native compiled files + + * lisp/Makefile.in (am__v_ELC_0): Set it correctly when + NATIVE_DISABLED is 1. + +2020-10-25 Mattias Engdeg奪rd + + Better file name in dynvars-check example + + * doc/lispref/variables.texi (Converting to Lexical Binding): + Don't suggest an aggregate file name that matches the glob used when + generating it. + +2020-10-25 Andrea Corallo + + * Report warnings and errors from native asynchronous compilation (bug#44168) + + * lisp/emacs-lisp/comp.el (comp-last-scanned-async-output): New + buffer local variable. + (comp-accept-and-process-async-output): New function. + (comp-run-async-workers): Use + `comp-accept-and-process-async-output'. + +2020-10-25 Lars Ingebrigtsen + + Fix syntax error in message-add-openpgp-header + + * lisp/gnus/message.el (message-add-openpgp-header): Remove + redundant (and syntactically wrong) check. + +2020-10-25 Lars Ingebrigtsen + + Fix problem when replacing the final char in checkdoc + + * lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-ask-replace): + Ensure that the end-of-doc-string marker is really at the end, + even if we replace the final " char in the string (bug#44201). + +2020-10-25 Michael Albinus + + * INSTALL: Mention efaq.texi for installation of intlfonts. + +2020-10-25 Andrea Corallo + + * Fix `comp-dry-run' effectiveness + + * lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove + `comp-dry-run' guard. + (comp-final): And move it here so is effective for interactive + sessions and non. + +2020-10-25 Philipp Stephani + + Revert commit 1f44a776729adf9c6468a76f8310616fde62eeaa for XRef. + + XRef supports Emacs versions back to Emacs 26.3, so it cant use newer + functions such as ert-resource-directory. + + * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir): Dont use + ert-resource-directory + +2020-10-25 Philipp Stephani + + Revert commit 1f44a776729adf9c6468a76f8310616fde62eeaa for Flymake. + + Flymake supports all Emacs versions back to 26.1, so it cant use + ert-resource-file. + + * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory): + Recreate. + (flymake-tests--call-with-fixture): Stop using ert-resource-file. + +2020-10-25 Paul Eggert (tiny change) + Qiantan Hong + + Use WebKit sandboxing + + * src/xwidget.c (Fmake_xwidget): Enable sandboxing if WebKit 2.26 + or later. Do this early, as required for sandboxing (Bug#43071). + +2020-10-25 Stefan Kangas + + Add shortdoc group for alist + + * lisp/emacs-lisp/shortdoc.el (alist): New shortdoc group. + +2020-10-25 Stefan Kangas + + Add shortdoc group for hash-table + + * lisp/emacs-lisp/shortdoc.el (hash-table): New shortdoc group. + +2020-10-24 Paul Eggert + + Minor doprnt cleanup: remove memchr call + + * src/doprnt.c (doprnt): Remove unnecessary call to memchr. + +2020-10-24 Paul Eggert + + Rename doprnt_nul to doprnt_non_null_end + + * src/doprnt.c (doprnt_non_null_end): Rename from doprnt_nul, + as the old name was misleading (left over from a previous proposal). + Caller changed. + +2020-10-24 Paul Eggert + + Improve doprnt performance + + This patch implements some of my suggestions in Bug#8545, + with further changes suggested by Eli Zaretskii (Bug#43439). + * src/doprnt.c: Improve comments. + (SIZE_BOUND_EXTRA): Now at top level, for parse_format_integer. + (parse_format_integer): New static function, containing some of + the old doprnt. Fix a bug that caused doprnt to infloop on + formats like "%10s" that Emacs does not use. We could simplify + doprnt further if we dropped support for these never-used formats. + (doprnt_nul): New function. + (doprnt): Use it. Change doprnt API to exit when either it finds NUL + or reaches the character specified by FORMAT_END. In the typical case + where FORMAT_END is null, take just one pass over FORMAT, not two. + Assume C99 to make code clearer. Do not use malloc or alloca to + allocate a copy of the format FMTCPY; instead, use a small fixed-size + array FMTSTAR, and use '*' in that array to represent width and + precision, passing them as separate int arguments. Use eassume to + pacify GCC in switch statements. + +2020-10-24 Mauro Aranda + + Warn about a bad default value in restricted-sexp widget + + * lisp/wid-edit.el (restricted-sexp widget): New :value-to-external + function. If value is not in the internal format, then we might be + dealing with a bad default value for the widget, so display a warning + about that (bug#25152). + +2020-10-24 Jo達o T叩vora + + Rework semantics of eldoc-echo-are-use-multiline-p + + Per bug#43543. Now uses logical lines, not visual lines. + + * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p): Rework + semantics. + (eldoc--echo-area-substring): New helper. + (eldoc--echo-area-prefer-doc-buffer-p): New helper. + (eldoc-display-in-echo-area): Rework using new helpers. + +2020-10-24 Jo達o T叩vora + + Rename ElDoc user option controlling display of truncation notice + + The new name makes it consistent with other variables controlling the + display of ElDoc documentation in the echo area. + + Per bug#43543. + + * etc/NEWS (Eldoc): Rename eldoc-display-truncation-message to + eldoc-echo-area-display-truncation-message. + + * lisp/emacs-lisp/eldoc.el + (eldoc-echo-area-display-truncation-message): Rename from + eldoc-display-truncation-message. + (eldoc-display-in-echo-area): Use new variable name. + +2020-10-24 Jo達o T叩vora + + Rework eldoc-echo-area-prefer-doc-buffer (bug#42532) + + * lisp/emacs-lisp/eldoc.el: + (eldoc-echo-area-prefer-doc-buffer): Rename from + eldoc-echo-area-prefer-doc-buffer + (eldoc-display-in-echo-area): Rework to honour + eldoc-echo-area-prefer-doc-buffer. + +2020-10-24 Jo達o T叩vora + + Introduce eldoc-display-functions + + See bug#43609. + + * lisp/emacs-lisp/eldoc.el (eldoc--request-state): Add comment. + (eldoc--last-request-state): No longer buffer-local. + (eldoc--request-docs-p): Delete. + (eldoc-display-functions): New user variable. + (eldoc--doc-buffer-docs): New variable. + (eldoc-display-message-p): Rework. + (eldoc--format-doc-buffer): Rework from eldoc--handle-docs. + (eldoc-display-in-echo-area, eldoc-display-in-buffer): New + user-visible function. + (eldoc--invoke-strategy): Take INTERACTIVE arg. + Invoke eldoc-display-in-buffer + (eldoc-print-current-symbol-info): Simplify. + (Version): Bump to 1.11.0 + + * etc/NEWS: Mention eldoc-display-functions. + +2020-10-24 Stefan Kangas + + Re-introduce variable for world clock timer + + * lisp/time.el (world-clock--timer): New variable. + (world-clock): Save timer to above variable when it is started. + (world-clock-cancel-timer): Delete timer saved in variable instead of + searching for the function name. + +2020-10-24 Stefan Kangas + + Use lexical-binding in several language support libraries + + * lisp/language/burmese.el: + * lisp/language/cham.el: + * lisp/language/czech.el: + * lisp/language/georgian.el: + * lisp/language/greek.el: + * lisp/language/khmer.el: + * lisp/language/romanian.el: + * lisp/language/sinhala.el: + * lisp/language/slovak.el: + * lisp/language/tai-viet.el: + * lisp/language/vietnamese.el: Use lexical-binding. + +2020-10-24 Michael Albinus + + Accept nil COMMAND in tramp-sh-handle-make-process (Bug#44151) + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil + COMMAND. (Bug#44151) + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + Extend test. + +2020-10-24 Stefan Kangas + + Revert "Use lexical-binding in bindat.el" + + This reverts commit a497b8e4a41e3223089654da4b36d0fdd51ce555. + + This conversion to lexical-binding broke the eval specification, + documented in the ELisp manual. We will probably want to add tests + for that before we can confidently convert this to lexical-binding. + Problem reported by Mattias Engdeg奪rd . + +2020-10-24 Stefan Kangas + + Use lexical-binding in most term libraries + + * lisp/term/AT386.el: + * lisp/term/internal.el: + * lisp/term/iris-ansi.el: + * lisp/term/lk201.el: + * lisp/term/news.el: + * lisp/term/rxvt.el: + * lisp/term/sun.el: + * lisp/term/tvi970.el: + * lisp/term/wyse50.el: Use lexical-binding. + +2020-10-24 Stefan Kangas + + Use lexical-binding in copyright.el and add tests + + * lisp/emacs-lisp/copyright.el: Use lexical-binding. Remove + redundant :group args. + * test/lisp/emacs-lisp/copyright-tests.el: New file. + +2020-10-24 Stefan Kangas + + * test/manual/image-transforms-tests.el: Use lexical-binding. + +2020-10-24 Stefan Kangas + + Move faces.el test data to follow our conventions + + * test/lisp/faces-tests.el (ert-x): Require. + (faces--test-data-dir): Remove variable. + (faces--test-extend-with-themes): Use ert-resource-directory. + * test/lisp/faces-resources/*: Moved from test/data/themes/*. + +2020-10-24 Michael Albinus + + Fix tramp-sh-handle-make-process; don't merge with master + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil + COMMAND. (Bug#44151) + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + Extend test. + +2020-10-24 Jared Finder + + Fix a bug where the wrong menu would be triggered by mouse + + For layouts such as the following, clicking the "l" in Tools with the + right window focused would trigger the File menu, not the Tools menu. + This is because the event would have window coordinate (1 . 0). + Similarly, clicking the "p" in Help would trigger the Edit menu. + + Example Emacs frame: + +--------------------------------------------------------+ + |File Edit Options Buffers Tools Help | + |;; This buffer is for text$|;; This buffer is for text $| + |;; To create a file, visit$|;; To create a file, visit $| + | | | + | | | + |-UUU:----F1 *scratch* |-UUU:----F1 *scratch* | + | | + +--------------------------------------------------------+ + * lisp/menu-bar.el (menu-bar-open-mouse): Reject clicks not on + the menu bar. + *lisp/xt-mouse.el (xterm-mouse-event): Pass the current frame to + 'posn-at-x-y', to make the effect consistent with other mouse-handling + features. + +2020-10-24 Jared Finder + + Enable TTY menus with xterm-mouse-mode + + * lisp/tmm.el: No need to bind 'tmm-menubar-mouse' to mouse clicks + on the menu bar. + * lisp/menu-bar.el (global-map): Bind 'menu-bar-open-mouse' to + mouse click on menu bar. This is needed in xt-mouse. + + * etc/NEWS: Announce TTY menu support in xterm-mouse-mode. + +2020-10-24 Jared Finder + + Make TTY menus work with xterm-mouse-mode + + * src/term.c (mouse_get_xy): Call 'mouse_position' passing it the + value of 'tty-menu-calls-mouse-position-function' as the + argument. + (syms_of_term) : New + DEFVAR_BOOL. + * src/frame.c (mouse_position): New function, with most of the + code from Fmouse_position, but call 'mouse-position-function' only + if called with non-zero argument. + (Fmouse_position): Call 'mouse_position' to do the job. + + * lisp/xt-mouse.el (xterm-mouse-translate-1): Respect + 'track-mouse'. + (xterm-mouse-mode): Set 'tty-menu-calls-mouse-position-function' + when setting 'mouse-position-function'. + (xterm-mouse-tracking-enable-sequence): Use SET_ANY_EVENT_MOUSE + (0x1003) so that mouse movement can be reported even if no buttons + are pressed. Doc fix. + * lisp/menu-bar.el (menu-bar-define-mouse-key): New function. + (tty-menu-navigation-map): Call it. + + * doc/lispref/frames.texi (Mouse Position): Document + 'tty-menu-calls-mouse-position-function'. + + * etc/NEWS: Announce 'tty-menu-calls-mouse-position-function'. + +2020-10-24 Jared Finder + + Adding mouse controls to menu-bar.el. + + * lisp/isearch.el (tmm-menubar-keymap): Remove declare-function. + * lisp/menu-bar.el (menu-bar-open-mouse, menu-bar-keymap) + (menu-bar-current-active-maps, menu-bar-item-at-x): New functions. + *lisp.tmm.el (tmm-menubar-keymap, tmm-get-keybind): Functions + deleted. + (tmm-menubar): Call 'menu-bar-item-at-x'. + +2020-10-24 Eli Zaretskii + + Fix last change in image.c for MS-Windows + + * src/image.c [LIBRSVG_CHECK_VERSION (2, 46, 0)]: Define + prototype for rsvg_handle_get_geometry_for_layer. + (init_svg_functions) [LIBRSVG_CHECK_VERSION (2, 46, 0)]: Load + rsvg_handle_get_geometry_for_layer from the DLL, instead of + rsvg_handle_get_dimensions. + (rsvg_handle_get_geometry_for_layer) [LIBRSVG_CHECK_VERSION (2, 46, 0)]: + Define macro. (Bug#44065) + +2020-10-24 Stefan Kangas + + Fix a broken unsafep test + + * test/lisp/emacs-lisp/unsafep-tests.el + (test-unsafep/message): Fix test case. + + (unsafep-tests--safe): Rename from testcover-unsafep-safe. + (unsafep-tests--unsafe): Rename from testcover-unsafep-unsafe. + (test-unsafep/safe, test-unsafep/unsafe): Doc fix. Adjust usage + of above renamed variables. + +2020-10-24 Stefan Kangas + + Move epg.el test data to follow our conventions + + * test/lisp/epg-tests.el (ert-x): Require. + (epg-tests-data-directory): Remove variable. + (with-epg-tests): Use ert-resource-file. + * test/lisp/epg-resources/*: Moved from test/data/epg/. + +2020-10-24 Stefan Kangas + + Move shr.el test data to follow our conventions + + * test/lisp/net/shr-tests.el (ert, ert-x): Require. + (shr-tests--datadir): Remove variable. + (shr-test, rendering): Use ert-resource-directory. + * test/lisp/net/shr-resources/*: Move from test/data/shr/. + +2020-10-24 Stefan Kangas + + Move mml-sec.el test data to follow our conventions + + * test/lisp/gnus/mml-sec-tests.el (ert-x): Require. + (mml-secure-test-fixture, mml-sec-test--kill-gpg-agent): + Use ert-resource-directory. + * test/lisp/gnus/mml-sec-resources/*: Moved from test/data/mml-sec/. + * .gitignore: Update location of moved file "random_seed". + +2020-10-23 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-23 Stefan Kangas + + Move more test data to follow our conventions + + * test/data/minibuffer-test-cttq$tion: Move from here... + * test/lisp/minibuffer-resources/data/minibuffer-test-cttq$tion: + ...to here. + * test/lisp/minibuffer-resources/lisp/cedet/semantic-utest-c.test: + * test/lisp/minibuffer-resources/lisp/cedet/semantic-utest.test: + New files. + * test/lisp/minibuffer-tests.el (ert, ert-x): Require. + (completion-table-test-quoting): Use ert-resource-directory. + + * test/data/net/cert.pem: + * test/data/net/key.pem: Move frome here... + * test/lisp/net/network-stream-resources/cert.pem: + * test/lisp/net/network-stream-resources/key.pem: ...to here. + * test/lisp/net/network-stream-tests.el (ert, ert-x): Require. + (network-stream-tests--datadir): Remove variable. + (make-tls-server): Use ert-resource-file. + + * test/data/vc/diff-mode/hello_emacs.c: + * test/data/vc/diff-mode/hello_emacs_1.c: + * test/data/vc/diff-mode/hello_world.c: + * test/data/vc/diff-mode/hello_world_1.c: Move from here... + * test/lisp/vc/diff-mode-resources/hello_emacs.c: + * test/lisp/vc/diff-mode-resources/hello_emacs_1.c: + * test/lisp/vc/diff-mode-resources/hello_world.c: + * test/lisp/vc/diff-mode-resources/hello_world_1.c: ...to here. + * test/lisp/vc/diff-mode-tests.el (ert, ert-x): Require. + (diff-mode-tests--datadir): Remove variable. + (diff-mode-test-font-lock-syntax-one-line) + (diff-mode-test-font-lock): Use ert-resource-directory. + + * test/data/xdg/l10n.desktop: + * test/data/xdg/malformed.desktop: + * test/data/xdg/mimeapps.list: + * test/data/xdg/mimeinfo.cache: + * test/data/xdg/test.desktop: Move from here... + * test/lisp/xdg-resources/l10n.desktop: + * test/lisp/xdg-resources/malformed.desktop: + * test/lisp/xdg-resources/mimeapps.list: + * test/lisp/xdg-resources/mimeinfo.cache: + * test/lisp/xdg-resources/test.desktop: ...to here. + * test/lisp/xdg-tests.el (ert-x): Require. + (xdg-tests-data-dir): Remove variable. + (xdg-desktop-parsing, xdg-mime-associations): Use ert-resource-file. + +2020-10-23 Michael Albinus + + Fix error in tramp-sh-handle-make-process + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't use heredoc + script whent the argument contains a string. + +2020-10-23 Stefan Kangas + + Move some test data to follow our conventions + + * test/data/emacs-module/mod-test.c: Move from here... + * test/src/emacs-module-resources/mod-test.c: ...to here. + * test/src/emacs-module-tests.el (ert-x): Require. + (mod-test-file, module/describe-function-1): + * test/Makefile.in (test_module_dir): Adjust for move. + + * test/data/files-bug18141.el.gz: Move from here... + * test/lisp/files-resources/files-bug18141.el.gz: ... to here. + * test/lisp/files-tests.el (ert-x): Require. + (files-test-bug-18141-file): Use ert-resource-file. + + * test/data/mailcap/mime.types: Move from here... + * test/lisp/net/mailcap-resources/mime.types: ...to here. + * test/lisp/net/mailcap-tests.el (ert-x): Require. + (mailcap-tests-path): Use ert-resource-file. + + * test/data/somelib.el: + * test/data/somelib2.el: Move from here... + * test/src/lread-resources/somelib.el: + * test/src/lread-resources/somelib2.el: ...to here. + * test/src/lread-tests.el (ert, ert-x): Require. + (lread-test-bug26837): Use ert-resource-directory. + + * test/data/syntax-comments.txt: Move from here.... + * test/src/syntax-resources/syntax-comments.txt: ...to here. + * test/src/syntax-tests.el (ert-x): Require. + (syntax-comments, syntax-br-comments, syntax-pps-comments): + Use ert-resource-file. + + * test/data/xref/file1.txt: + * test/data/xref/file2.txt: Move from here... + * test/lisp/progmodes/xref-resources/file1.txt: + * test/lisp/progmodes/xref-resources/file2.txt: ...to here. + * test/lisp/progmodes/xref-tests.el (ert, ert-x): Require. + (xref-tests-data-dir): Use ert-resource-directory. + +2020-10-23 Eli Zaretskii + + Set up composition-function-table for Egyptian + + * lisp/language/misc-lang.el (composition-function-table): Set up + for Egyptian Hieroglyphs. + +2020-10-23 Eli Zaretskii + + Remove most of charset markup from etc/HELLO + + For the reasons, see the discussion that started in + https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00407.html + and its conclusion in + https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00144.html. + The only markup left is in the preamble, just to show the example + of this facility. + +2020-10-23 Olivier Certner (tiny change) + + ERC: Fix ERC's IBuffer format "crash" on killed server buffer + + * lisp/erc/erc-ibuffer.el (erc-server-name): Fix a crash when + displaying (or updating) an IBuffer buffer using ERC's first IBuffer + format. This happens when one ERC buffer has its associated server + buffer killed, e.g., voluntarily or automatically after server + disconnection when `erc-kill-server-buffer-on-quit' is set to t. The + culprit is the "Server" column, which returns nil in this case. + Display "(closed)" instead (bug#44156). + +2020-10-23 Ruthra Kumar + + Add support for squashfs files in archive mode + + * lisp/arc-mode.el (archive-squashfs-extract): New variable + (bug#43827). + (archive-find-type): Identify squashfs. + (archive-squashfs-summarize, archive-squashfs-extract-by-stdout): + New functions to parse/extract squashfs. + + * lisp/files.el (auto-mode-alist): Add squashfs. + +2020-10-23 Ulf Jasper + + Move icalendar test data to test/lisp/calendar/icalendar-resources + + * test/lisp/calendar/icalendar-tests.el (ert-x): Required for + 'ert-resource-file'. + (icalendar-tests--data-dir): Removed. + (icalendar-tests--get-file-contents): Use 'ert-resource-file' for + finding test data files. + * test/data/icalendar/*: Moved to test/lisp/calendar/icalendar-resources/. + * test/lisp/calendar/icalendar-resources/*: Moved from test/data/icalendar. + +2020-10-23 Stefan Kangas + + Clean up temporary files after package tests + + * test/lisp/emacs-lisp/package-tests.el (with-package-test): Remove + temporary files after test. (Bug#43359) + +2020-10-23 Mattias Engdeg奪rd + + Use lexical binding in ffap.el + + * lisp/ffap.el (ffap-search-backward-file-end): Remove binding for + variable shadowing an optional (and never used) argument. + (ffap--gopher-var-on-line): Remove unused variable. + +2020-10-23 Stefan Kangas + + * lisp/emacs-lisp/pcase.el: Add "extensions" to keyword header. + + Merge branch 'scratch/substitute-command-keys' + +2020-10-22 Juri Linkov + + * etc/HELLO: Use JavaScript for Javanese script (bug#43887) + +2020-10-22 Alan Third + + Fix SVG image dimension calculations (bug#44065) + + * src/image.c (svg_load_image): Calculate the image size by using the + viewBox size and applying it to the image. + * etc/PROBLEMS: Describe the problem with librsvg 2.45 and below. + +2020-10-22 Alan Third + + Fix crash when no face is defined (bug#44058, bug#43973) + + * src/nsterm.m (ns_clear_under_internal_border): If face is null, + don't try drawing anything. + +2020-10-22 Stefan Kangas + + Remove incorrect use of decode-coding-string + + * test/lisp/emacs-lisp/bindat-tests.el + (bindat-test-pack/multibyte-string-fails) + (bindat-test-unpack/multibyte-string-fails): Don't use + decode-coding-string. + Problem pointed out by Stefan Monnier . + +2020-10-22 Stefan Kangas + + Recommend lexical-binding in Coding Conventions + + * doc/lispref/tips.texi (Coding Conventions, Library Headers): + Recommend using lexical-binding. + +2020-10-22 Andreas Schwab + + eww: don't add keymap to without href + + * lisp/net/eww.el (eww-tag-a): Only add keymap if the href + attribute is present. (Bug#44147) + +2020-10-22 Stefan Kangas + + Add missed file needed by time-tests.el + + * test/lisp/time-resources/non-empty: New file. This file is needed + by time-tests.el but was missed when it was committed. + +2020-10-22 Mattias Engdeg奪rd + + Remove useless uses of bindat-get-field + + * lisp/progmodes/gdb-mi.el (gdb-var-list-children-handler) + (gdb-edit-register-value): bindat-get-field with a single argument is + identity; remove. + +2020-10-22 Stefan Kangas + + Add tests for perl-mode.el + + * test/lisp/progmodes/perl-mode-tests.el: New file. + +2020-10-22 Ulf Jasper + + Move test data for icalendar tests to separate files. + + * test/lisp/calendar/icalendar-tests.el + (icalendar-tests--data-dir, icalendar-tests--get-file-contents): + New. + (icalendar-tests--test-import, icalendar-tests--do-test-import): + Read input and expected results from files. + (icalendar-import-non-recurring, icalendar-import-rrule) + (icalendar-import-duration, icalendar-import-bug-6766) + (icalendar-import-bug-24199, icalendar-import-bug-33277) + (icalendar-import-multiple-vcalendars, icalendar-import-with-uid) + (icalendar-import-with-timezone, icalendar-real-world): Move test + data (input and expected result) to separate files. + + * test/calendar/icalendar/* + New files containing test data for icalendar tests. + +2020-10-22 Stefan Kangas + + Use lexical-binding in time-date.el and expand tests + + * lisp/calendar/time-date.el: Use lexical-binding. + * test/lisp/calendar/time-date-tests.el + (test-obsolete-with-decoded-time-value) + (test-obsolete-encode-time-value, test-format-seconds) + (test-days-to-time, test-seconds-to-string): New tests. + (test-days-in-month, test-time-since, test-time-decoded-period): + Expand test with a few more values. + +2020-10-22 Mauro Aranda + + Make State button interaction less confusing + + * lisp/cus-edit.el (custom-variable-current-value): New function. + (custom-variable-backup-value): Use it. + (custom-variable-set, custom-variable-mark-to-reset-standard): Check + that old value is different than the new one. If it is, make a + backup. This way, we avoid offering the Set to Backup Value + unnecesarily. + (custom-variable-reset-saved): Reset the variable-comment property for + the variable, to help custom-variable-state be more correct. Also + check if we should backup old value. + (custom-variable-state): If a variable was set to the standard value, + say its state is standard rather than set, which is more correct. + Getting the right variable state is important for menu options to be + enabled/disabled, and for displaying the right message to the user + (bug#12864). + +2020-10-22 Lars Ingebrigtsen + + Use HTTP instead of Tramp for the ffap rfc path (and also fix it) + + * lisp/ffap.el (ffap-rfc-path): Use an URL instead of an FTP tramp + file, since that's more widely supported (bug#41663). + +2020-10-22 Lars Ingebrigtsen + + Comment JSX lines using JSX syntax + + * lisp/progmodes/js.el (js-jsx--comment-region): New function + (bug#41696). + (js-jsx-mode): Use it. + +2020-10-22 Stefan Kangas + + Test for error with multibyte strings in bindat.el + + * test/lisp/emacs-lisp/bindat-tests.el + (bindat-test-pack/multibyte-string-fails) + (bindat-test-unpack/multibyte-string-fails): New tests. + +2020-10-22 Mauro Aranda + + Pretty print restricted sexp values too + + * lisp/wid-edit.el (restricted-sexp widget): Use + widget-sexp-value-to-internal to pretty print the widget's value, when + it is a valid one (bug#7524). + +2020-10-22 Stefan Kangas + + Remove reference HP-UX 8.0 and 9.x bug from FAQ + + * doc/misc/efaq.texi (Meta key does not work in xterm): Remove section + about a bug on HP-UX 8.0 and 9.x. Support for these platforms were + removed in 23.1. + +2020-10-22 Stefan Kangas + + Remove two references to Emacs 21 from the FAQ + + * doc/misc/efaq.texi (Turning on syntax highlighting): Remove some + references to Emacs 21 and older. + +2020-10-22 Mauro Aranda + + Allow moving members of editable-list widget, via delete+insert + + * etc/NEWS (Widget): Announce the feature (bug#6419). + * lisp/wid-edit.el (widget-editable-list-delete-at): Save into a new + widget property, :last-deleted, the WIDGET to be deleted. Add + docstring. + (widget-editable-list-insert-before): If there is a recently deleted + child for the editable list, insert that one, instead of a new default + widget. Add docstring. + (insert-button widget): Make :help-echo a function to avoid the + help-echo string become too long. + (delete-button widget): Tweak the :help-echo string, to document this + behavior. + + * test/lisp/wid-edit-tests.el (widget-test-moving-editable-list-item): + Test the feature. + +2020-10-22 Pip Cet + + Handle Cairo errors in ftcrfont_open + + * src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627). + +2020-10-22 Mattias Engdeg奪rd + + Use lexical binding in fortran.el + + * lisp/progmodes/fortran.el: Use lexical binding. + (fortran-make-syntax-propertize-function): Hoist use of lexical + variable to outside the 'eval' call. + +2020-10-22 Mattias Engdeg奪rd + + * lisp/progmodes/cpp.el: Use lexical binding. + +2020-10-22 Werner Lemberg + + Update TUTORIAL.de + + This also includes the minor fix for bug #44123. + +2020-10-21 tp叩n Nmec + + unload-feature: Correct doc string to match info manual and reality + + 'unload-feature' doesn't try to "undo any additions the library has + made" to hooks, it tries to remove functions defined by the library + from hooks, no matter how they got there. + + * lisp/loadhist.el (unload-feature): Correct the doc string. + * doc/lispref/loading.texi (Unloading): Clarify, fix typo. + +2020-10-21 tp叩n Nmec + + unload-feature: Handle local hooks (bug#5293) + + Buffer-local hooks were introduced in + + 1994-09-30T20:47:13+00:00!rms@gnu.org + 0e4d378b32 (add-hook): Initialize default value and local value. + + but 'unload-feature' has not been updated to handle them. + + * lisp/loadhist.el (unload-feature): Handle local hooks (bug#5293). + +2020-10-21 tp叩n Nmec + + unload-feature: Improve logic (don't repeat computation) + + * lisp/loadhist.el (unload-feature): Don't do the same computation twice. + +2020-10-21 Mattias Engdeg奪rd + + Convert artist.el to lexical binding + + * lisp/textmodes/artist.el (artist-system, (artist-flood-fill): + Remove binding of the obsolete variables binary-process-input, + binary-process-output and input-queue. + (artist-down-mouse-1): Fix mistyped 'echo-keystrokes'; bind it to 0. + (artist-fill-rect, artist-fill-square, artist-pen-set-arrow-points) + (artist-spray-clear-circle, artist-spray-set-radius) + (artist-draw-ellipse-with-0-height, artist-fill-ellipse) + (artist-ff-is-topmost-line, artist-ff-is-bottommost-line) + (artist-set-arrow-points-for-2points, artist-key-undraw-continously) + (artist-key-undraw-poly, artist-key-undraw-1point) + (artist-key-undraw-2points, artist-key-do-continously-1point) + (artist-key-set-point-1point, artist-shift-has-changed) + (artist-mouse-draw-continously, artist-mouse-draw-1point) + (artist-submit-bug-report): Suppress warnings about unused parameters + which are there for function signature commonality. Remove unused + variables. + +2020-10-21 Eli Zaretskii + + Avoid rare crashes while producing line numbers + + * src/xdisp.c (maybe_produce_line_number): Prevent freeing of + realized faces for as long as we are using lnum_face_id and + current_lnum_face_id for producing glyphs. (Bug#44111) + +2020-10-21 Stefan Kangas + + Tweak two time.el tests + + * test/lisp/time-tests.el (time-tests-display-time-update--load) + (time-tests-display-time-update): Tweak tests. + +2020-10-21 Stefan Kangas + + * lisp/time.el: Use lexical-binding. + +2020-10-21 Stefan Kangas + + Add tests for time.el + + * lisp/time.el (display-time-update--load) + (display-time-update--mail): Extract from... + (display-time-update): ...here. + * test/lisp/time-tests.el: New file. + +2020-10-21 Stefan Kangas + + Use lexical-binding in bindat.el + + * lisp/emacs-lisp/bindat.el: Use lexical-binding. + (bindat-raw, bindat-idx, bindat-unpack, bindat-pack): Adjust for + lexical-binding. + (bindat--unpack-group, bindat--length-group): Fix byte-compiler + warning about unused variables last and vlen. + (bindat--unpack-group, bindat--length-group, bindat--pack-group) + (bindat-format-vector): Quote function symbols as such. + +2020-10-21 Stefan Kangas + + Remove some compat code from uudecode.el and binhex.el + + * lisp/mail/uudecode.el (uudecode-char-int): Make obsolete. + (uudecode-decode-region-internal): Adjust callers. + * lisp/mail/binhex.el (binhex-char-int): Make obsolete. + (binhex-string-big-endian, binhex-string-little-endian) + (binhex-header): Adjust callers. + +2020-10-21 Stefan Kangas + + Declare old compat aliases in tcl.el obsolete + + * lisp/progmodes/tcl.el (tcl-uncomment-region) + (tcl-indent-for-comment, add-log-tcl-defun, indent-tcl-exp) + (calculate-tcl-indent, tcl-beginning-of-defun, tcl-end-of-defun) + (tcl-mark-defun, tcl-mark): Make obsolete. + +2020-10-21 Stefan Kangas + + Add some top level domains + + * lisp/mail/mail-extr.el (mail-extr-all-top-level-domains): Add + some geographic domains. + +2020-10-21 Lars Ingebrigtsen + + Revert "Add emoji to etc/HELLO" + + This reverts commit a1fcdeec25be87e8f97ac5c14e6fbf6a4d1eb2d4. + + There was already an emoji in there. + +2020-10-21 Stefan Kangas + + * test/lisp/vc/vc-bzr-tests.el: Use lexical-binding. + +2020-10-21 Stefan Kangas + + Use lexical-binding in files-x-tests.el + + * test/lisp/files-x-tests.el: Use lexical-binding. + (remote-null-device): Declare. + +2020-10-21 Stefan Kangas + + Use lexical-binding in iso-ascii.el + + * lisp/international/iso-ascii.el: Use lexical-binding. Remove + redundant :group args. + +2020-10-21 Stefan Kangas + + Use lexical-binding in hfy-cmap.el and add tests + + * lisp/hfy-cmap.el: Use lexical-binding. + (hfy-cmap--parse-buffer): Extract from... + (htmlfontify-load-rgb-file): ...here. + + * test/lisp/hfy-cmap-resources/rgb.txt: + * test/lisp/hfy-cmap-tests.el: New files. + +2020-10-21 Lars Ingebrigtsen + + Add emoji to etc/HELLO + +2020-10-21 Michael Albinus + + * etc/HELLO: Keep Javanese System.out.println(""); + +2020-10-21 Stefan Monnier + + * lisp/outline.el: Use lexical-binding + + Remove redundant `group` arguments. + (outline-level): Move before first use. + (outline-mode): Use `setq-local`. + (outline-isearch-open-invisible-function): Give it a non-nil default. + +2020-10-20 Andrea Corallo + + Sanitize eln filename when native compiling single functions + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Fix + temporary eln name generation. + + * test/src/comp-tests.el (free-fun-silly-name): New testcase. + +2020-10-20 Andrea Corallo + + * Have `native-compile' do not expose `with-late-load' parameter + + This is really for internal use only by deferred compilation. + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile) + (comp-run-async-workers): Make use of `comp--native-compile'. + (comp--native-compile): New function. + (native-compile, batch-native-compile): Make use of + `comp--native-compile'. + +2020-10-20 Stefan Kangas + + Use lexical-binding in m4-mode.el + + * lisp/progmodes/m4-mode.el: Use lexical-binding. Remove redundant + :group args. + * lisp/progmodes/m4-mode.el (m4-m4-buffer, m4-m4-region): Quote + function symbols as such. + +2020-10-20 Stefan Kangas + + Make more load-hooks obsolete (Bug#21563) + + * lisp/progmodes/dcl-mode.el (dcl-mode): + * lisp/progmodes/idlw-complete-structtag.el: Recommend + with-eval-after-load instead of load-hooks. + * lisp/calc/calc-ext.el (calc-ext-load-hook): + * lisp/emacs-lisp/bytecomp.el (bytecomp-load-hook): + * lisp/emacs-lisp/cl-extra.el (cl-extra-load-hook): + * lisp/emacs-lisp/cl-macs.el (cl-macs-load-hook): + * lisp/emacs-lisp/cl-seq.el (cl-seq-load-hook): + * lisp/gnus/message.el (message-load-hook): + * lisp/gnus/nnheader.el (nnheader-load-hook): + * lisp/gnus/nnmail.el (nnmail-load-hook): + * lisp/progmodes/dcl-mode.el (dcl-mode-load-hook): + * lisp/textmodes/tex-mode.el (tex-mode-load-hook): + * lisp/whitespace.el (whitespace-load-hook): Obsolete for + with-eval-after-load. Note that these variables are never declared, + but the byte-compiler will still warn about them if used. + +2020-10-20 Stefan Kangas + + byte-compile-file: Make optional LOAD argument obsolete + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional + LOAD argument obsolete. Adjust callers. (Bug#38072) + (byte-recompile-file): Declare optional LOAD argument obsolete. + * doc/lispref/compile.texi (Compilation Functions): Update + documentation to reflect above obsoletion. + * etc/NEWS: Announce above obsoletion. + +2020-10-20 Basil L. Contovounesios + + Simplify regexp in last change to woman.el + + * lisp/woman.el (woman-decode-region): Use simpler character + alternative instead of alternation. + +2020-10-20 Basil L. Contovounesios + + Simplify syntax of shortdoc face specs + + * lisp/emacs-lisp/shortdoc.el: Remove unused dependency. + (shortdoc-section, shortdoc-example): Use newer (DISPLAY . PLIST) + face spec syntax. + +2020-10-20 Stefan Kangas + + Tweak test data for signed package installation + + * test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el: + * test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el: + Use lexical-binding. + * test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh: + New file. + * test/lisp/emacs-lisp/package-resources/key.pub: + * test/lisp/emacs-lisp/package-resources/key.sec: Add new key. + * test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig: + * test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig: + Update signatures using new key. + +2020-10-20 Mattias Engdeg奪rd + + * lisp/textmodes/picture.el: Use lexical binding. + +2020-10-20 Eli Zaretskii + + Avoid assertion violations in malformed Unicode escapes + + * src/lread.c (read_escape): Produce better diagnostic for + malformed \u Unicode escapes, while avoiding assertion violation + when READCHAR returns -1 because the input is exhausted. + (Bug#44084) + +2020-10-20 Stefan Kangas + + * lisp/language/utf-8-lang.el: Use lexical-binding. + +2020-10-20 Lars Ingebrigtsen + + Tweak the documentation for define-obsolete-variable-alias + + * doc/lispref/variables.texi (Variable Aliases): Actually describe + the macro parameters (bug#44088). + + * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): + Ditto (bug#44088). + +2020-10-20 Masahiro Nakamura + + Fix some mpc.el updating quirks + + * lisp/mpc.el (mpc-songs-jump-to): Update the status buffer. + + * lisp/mpc.el (mpc-stop): M-x mpc-stop clears playlist queue. So + updating *MPC-Songs* buffer is useful. + + * lisp/mpc.el (mpc-cmd-delete): I noticed M-x mpc-playlist-delete + always messages Deleted 1 songs even if playlist queue has more + than one songs. This is because mpc-cmd-deletes sort modifies + songs-poss by side effect. Using copy-sequence fixes this (bug#44093). + * lisp/mpc.el (mpc-cmd-move): Ditto. + +2020-10-20 Jim Blandy + + Man highlighting: Don't occasionally bold entire sections. + + * lisp/ansi-color.el (ansi-color-apply-on-region): Always save a + restart position in ansi-color-context-region if the region ends with + highlighting active. + +2020-10-20 Lars Ingebrigtsen + + Preserve all `eval' elements from both .dir-locals files + + * lisp/files.el (dir-locals-read-from-dir): Preserve all `eval' + elements from both .dir-locals files (bug#44066). + +2020-10-20 Stefan Kangas + + * lisp/image-file.el: Use lexical-binding. + +2020-10-20 Stefan Kangas + + Make a bookmark test more robust + + * test/lisp/bookmark-tests.el (bookmark-tests-insert-annotation): + Make test more robust by not being timing dependent. + +2020-10-19 Stefan Kangas + + Add command package-menu-filter-upgradable + + * lisp/emacs-lisp/package.el (package-menu-filter-upgradable): + New command. (Bug#41436) + (package-menu-mode-map): Bind the new command. + * doc/emacs/package.texi (Package Menu): Document the new command. + +2020-10-19 Stefan Monnier + + * lisp/progmodes/python.el: Bump version to release the f-string support + +2020-10-19 Stefan Monnier + + * lisp/mail/rfc2231.el (rfc2231-decode-encoded-string): Fix match data error + + Get (match-string 3 string) earlier, in case `mm-charset-to-coding-system` + clobbers the match data. + Also, check that `string-match` succeeded before using its match data. + +2020-10-19 Protesilaos Stavrou + + Fix documentation of the Modus Themes (Bug#43944) + + * doc/misc/modus-themes.texi (Installation): Remove reference to MELPA. + (Top) + (Install from the archives, GNU Guix) + (Load at a given time or at sunset/sunrise) + (Configure options prior to loading, Command prompts) + (Headings' font, Will NOT be supported): Fix spelling, wording, + markup. + (Acknowledgements): Spell contributor's surname correctly. + +2020-10-19 Stefan Kangas + + Make auto-revert-mode tests run faster + + * test/lisp/autorevert-tests.el (auto-revert--timeout): Make into + defun and shorten timeout by a factor 10. + (auto-revert--wait-for-revert): Cut timeouts in half. + (with-auto-revert-test): New macro to set timeout to 0.1. + (auto-revert-tests--write-file): New defun. + (auto-revert-test00-auto-revert-mode) + (auto-revert-test01-auto-revert-several-files) + (auto-revert-test02-auto-revert-deleted-file) + (auto-revert-test03-auto-revert-tail-mode) + (auto-revert-test04-auto-revert-mode-dired) + (auto-revert-test05-global-notify) + (auto-revert-test06-write-file): Adapt test to run faster. Remove + :expensive-test marks. + + This was discussed in: + https://lists.gnu.org/r/emacs-devel/2020-10/msg01233.html + +2020-10-19 Michael Albinus + + Further clarification of directory-files* doc + + * doc/lispref/files.texi (Contents of Directories): + Precise description of MATCH-REGEXP of directory-files. Add + directory-files-no-dot-files-regexp. + + * lisp/files.el (directory-files-no-dot-files-regexp): Revert last fix. + + * src/dired.c (Fdirectory_files) + (Fdirectory_files_and_attributes): Fix wording in docstring. + +2020-10-19 Mattias Engdeg奪rd + + Keep track of matching rules in compilation-mode + + When matching messages in compilation-mode, keep track of the rule + employed for each match. This facilitates debugging and allows us to + verify that each test case really exercises the rule that we expect it + to. + + Naturally this uncovered several test cases that didn't check what the + author thought they did; the rules affixed to + compile-tests--test-regexps-data are those actually used, so that the + tests still pass. + + * lisp/progmodes/compile.el (compilation--message): Add 'rule' slot. + (compilation-directory-properties, compilation-error-properties) + (compilation-internal-error-properties, compilation-parse-errors) + (compilation--compat-parse-errors): Set the rule slot. + * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data) + (compile-tests--grep-regexp-testcases) + (compile-tests--grep-regexp-tricky-testcases): Add rules to test cases. + (compile--test-error-line): Check that the rule matches what we expect. + (compile-test-grep-regexps): Adapt to test case format. + Remove now superfluous ert-info. + +2020-10-19 Mattias Engdeg奪rd + + Hoist some loop-invariant variable bindings in compile.el + + * lisp/progmodes/compile.el (compilation-parse-errors): + Hoist the binding of case-fold-search and a memq call out of + the loop, eliminating a minor but unnecessary quadratic term. + +2020-10-19 Stefan Kangas + + * lisp/info.el: Remove redundant :group args. + +2020-10-19 Stefan Kangas + + Improve Info-streamline-headings defaults + + * lisp/info.el (Info-streamline-headings): Improve defaults. These + produce somewhat more consistent results on my system, and seems + slightly more in line with current GNU practices. For example, gcc + uses the "Software development" heading instead of "Programming". + +2020-10-19 dickmao + + `ffap-gopher-at-point' interminable without newlines + + * lisp/ffap.el (ffap-gopher-at-point): Stop when we get to the end + of the buffer. + * test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure + termination for corner case (bug#44048). + +2020-10-19 Robert Pluim + + Explain difference between Unicode and Emacs scripts + + * nonascii.texi (Character Properties): Document that Emacs' + scripts and Unicode's scripts do not necessarily correspond. + +2020-10-19 Harald J旦rg + + cperl-mode: Delete a misleading comment, add tests for verification + + * lisp/progmodes/cperl-mode.el: Delete a comment which explains a + bug which has been fixed a long time ago (bug#44073). + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-fontify-punct-vars): Add regression tests to verify + that fontification of punctuation variables doesn't start strings. + +2020-10-19 Yuan Fu + + Handle "Before first headings" error in outline-cycle + + * lisp/outline.el (outline-before-first-heading): New error. + (outline-back-to-heading): Signal the new error. + (outline-cycle): Ignore the error. + (outline-cycle-buffer): Simply pass 1 to 'outline-hide-sublevels' + (bug#41130). + +2020-10-19 Lars Ingebrigtsen + + Ffunction doc string clarification + + * src/eval.c (Ffunction): Mention that `function' isn't quite like + `quote' in non-bytecompile circumstances, too (bug#41864). + +2020-10-19 Michael Albinus + + * src/dired.c (Fdirectory_files, Fdirectory_files_and_attributes): + + Adapt docstring. + +2020-10-19 Michael Albinus + + * lisp/files.el (directory-files-no-dot-files-regexp): Adapt docstring. + +2020-10-18 Juri Linkov + + Add new choice 'keep' to next-error-message-highlight (bug#32676) + + * lisp/simple.el (next-error-message-highlight): Add new choice 'keep'. + (next-error-message-highlight): Don't delete overlay when option is 'keep'. + +2020-10-18 Juri Linkov + + * etc/HELLO: Add Belarusian and use Javanese script for Javanese (bug#43887) + +2020-10-18 Stefan Kangas + + Add "Old-" prefix to "Version" header in more cases + + These version numbers are historical accidents and not relevant today. + Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html + +2020-10-18 Stefan Kangas + + Prefer Lisp version of describer in help--describe-vector + + * src/keymap.c (Fhelp__describe_vector): + * lisp/help.el (describe-map): Use Lisp versions of describe_command + and describe_translation. + * src/keymap.c (describe_command, describe_translation): Remove. + (describe_vector_basic): New function. + +2020-10-18 Stefan Kangas + + Remove C version of substitute-command-keys + + * src/doc.c (Fsubstitute_command_keys_old): Remove. + (syms_of_doc): Remove defsubr for Fsubstitute_command_keys_old. + * src/keymap.c (describe_map, describe_map_tree) + (describe_map_compare, describe_map_elt): Remove. + * src/keymap.h: Remove 'describe_map_tree'. + * test/lisp/help-tests.el (with-substitute-command-keys-test) + (help-tests-substitute-command-keys/compare) + (help-tests-substitute-command-keys/compare-all): + Don't test the C version of 'substitute-command-keys' removed + above. + +2020-10-18 Stefan Kangas + + Prefer Lisp version of describe-map-tree + + This is a prerequisite to remove the old C functions, and gives a + measured 3 ms slowdown on my machine, from 0.27s to 0.30s per call to + describe-buffer-bindings (average over 50 calls). + + * src/keymap.c (Fdescribe_buffer_bindings): Call Lisp function + describe-map-tree instead of C function describe_map_tree. + +2020-10-18 Stefan Kangas + + Improve substitute-command-keys performance + + The previous conversion of describe_vector from C to Lisp for the + keymap and char table case lead to an unacceptable performance hit. + Moving back to the C version, as we do here, makes this function + around 50 times faster. + + The Lisp version of `substitute-command-keys' was benchmarked using + the form `(documentation 'dired-mode)', which now takes less than 8 ms + on my machine. This is around 16 times slower than the previous C + version. + + Thanks to Stefan Monnier for helpful pointers on benchmarking. + + * src/keymap.c (Fhelp__describe_vector): New defun to expose + describe_vector to Lisp for keymaps and char tables. + (syms_of_keymap): New defsubr for Fhelp__describe_vector. + * lisp/help.el (describe-map): Use above defun instead of Lisp + version. + (help--describe-vector): Remove defun; keep it commented out for now. + +2020-10-18 Stefan Kangas + + Translate describe_vector to Lisp + + * lisp/help.el (help--describe-vector): New Lisp implementation of + describe_vector. + * src/keymap.c (Fdescribe_vector_internal): Remove defun. + (syms_of_keymap): Remove defsubr for Fdescribe_vector_internal. + +2020-10-18 Stefan Kangas + + Translate describe_map to Lisp + + Third step in converting substitute-command-keys to Lisp. + + * lisp/help.el (describe-map): New Lisp version of describe_map. + (help--describe-map-compare, help--describe-translation) + (help--describe-command, help--shadow-lookup): New helper + functions for describe-map. + (help--keymaps-seen, help--previous-description-column): New + variables. + * src/keymap.c + (Fkeymap__get_keyelt): New defun to expose get_keyelt to Lisp. + (Fdescribe_map_tree_old, Fdescribe_map): Remove defuns. + (Fdescribe_vector_internal): New defun to expose describe_vector to + Lisp in a way usable by describe-map. + (syms_of_keymap): New defsubrs for Fkeymap__get_keyelt and + Fdescribe_vector_internal. Remove defsubrs for Fdescribe_map_tree_old + and Fdescribe_map. Remove 'help--keymaps-seen'. + + * test/lisp/help-tests.el + (help-tests-substitute-command-keys/shadow): Extend test. + (help-tests-substitute-command-keys/test-mode) + (help-tests-substitute-command-keys/compare-all) + (help-tests-describe-map-tree/no-menu-t) + (help-tests-describe-map-tree/no-menu-nil) + (help-tests-describe-map-tree/mention-shadow-t) + (help-tests-describe-map-tree/mention-shadow-nil) + (help-tests-describe-map-tree/partial-t) + (help-tests-describe-map-tree/partial-nil): New tests. + +2020-10-18 Stefan Kangas + + Translate describe_map_tree to Lisp + + This is the second step in converting substitute-command-keys to Lisp. + + * lisp/help.el (describe-map-tree): New Lisp version of + describe_map_tree. + (substitute-command-keys): Update to use above function. + * src/keymap.c (Fdescribe_map): New defun to expose describe_map to + Lisp. + * src/keymap.c (syms_of_keymap): New variable 'help--keymaps-seen'; a + temporary kludge planned for removal. New defsubr for Fdescribe_map. + +2020-10-18 Stefan Kangas + + Add new Lisp implementation of substitute-command-keys + + This is only the first step towards a full Lisp implementation, and + does not remove the old C code. On the contrary, it is partly based + on using the old C code, which is to be replaced in steps. This also + makes it easy to test that it produces the same output as the old. + + * src/doc.c (Fsubstitute_command_keys_old): Rename from + Fsubstitute_command_keys. + (Fget_quoting_style): New defun to expose text_quoting_style to Lisp. + (syms_of_doc): Expose above symbols. + * lisp/help.el (substitute-command-keys): New Lisp version of + substitute-command-keys. (Bug#8951) + + * src/keymap.c + (Fdescribe_map_tree): New defun to expose describe_map_tree to Lisp. + (syms_of_keymap): New defsubr for Fdescribe_map_tree. + + * src/keyboard.c (help_echo_substitute_command_keys): + * src/doc.c (Fdocumentation, Fdocumentation_property): + * src/print.c (print_error_message): + * src/syntax.c (Finternal_describe_syntax_value): Fix calls to use new + Lisp implementation of substitute-command-keys. + + * test/src/doc-tests.el: Remove file. + * test/lisp/help-tests.el: Add tests for substitute-command-keys + copied from above file. + +2020-10-18 Mattias Engdeg奪rd + + Strengthen js-mode indentation tests + + Test not only that the indentation engine is idempotent but that it + will indent a file to the expected shape from scratch. + + * test/lisp/progmodes/js-tests.el (js-tests--remove-indentation): New. + (js-deftest-indent): Extend test. + +2020-10-18 Lars Ingebrigtsen + + Fix a misleading comment in Freplace_match + + * src/search.c (Freplace_match): Fix a misleading comment + (bug#42424). + +2020-10-18 Lars Ingebrigtsen + + Document the new smiley value + + * doc/misc/gnus.texi (Smileys): Document the emoji smiley value. + +2020-10-18 Lars Ingebrigtsen + + Fix up smiley emoji application to make it reversible + + * lisp/gnus/smiley.el (smiley-region): Use text properties for the + emojis instead of rewriting the message. + +2020-10-18 Adam Sj淡gren + + Add support for emojis i smiley.el + + * lisp/gnus/smiley.el (smiley-style): Add emoji + tag. + (smiley-emoji-regexp-alist): New defcustom. + (smiley-update-cache, smiley-region): Support emoji (non-image) + replacement (bug#43889). + +2020-10-18 Stefan Kangas + + Make nxml-newline-and-indent argument optional + + * lisp/nxml/nxml-mode.el (nxml-newline-and-indent): Make argument + optional to conform to 'comment-line-break-function'. (Bug#40193) + +2020-10-18 Stefan Kangas + + Minor improvements to emacsclient man page + + * doc/man/emacsclient.1: Make flag descriptions into full sentences to + be more consistent. + +2020-10-18 Stefan Kangas + + Convert manual js indent tests to unit tests + + * test/lisp/progmodes/js-tests.el (ert-x): Require. + (js-deftest-indent): New macro. Use it to define tests for indenting + the below files. + + * test/manual/indent/js-chain.js: + * test/manual/indent/js-indent-align-list-continuation-nil.js: + * test/manual/indent/js-indent-init-dynamic.js: + * test/manual/indent/js-indent-init-t.js: + * test/manual/indent/js.js: + * test/manual/indent/jsx-align-gt-with-lt.jsx: + * test/manual/indent/jsx-comment-string.jsx: + * test/manual/indent/jsx-indent-level.jsx: + * test/manual/indent/jsx-quote.jsx: + * test/manual/indent/jsx-self-closing.jsx: + * test/manual/indent/jsx-unclosed-1.jsx: + * test/manual/indent/jsx-unclosed-2.jsx: + * test/manual/indent/jsx.jsx: Move from here... + * test/lisp/progmodes/js-resources/js-chain.js: + * test/lisp/progmodes/js-resources/js-indent-align-list-continuation-nil.js: + * test/lisp/progmodes/js-resources/js-indent-init-dynamic.js: + * test/lisp/progmodes/js-resources/js-indent-init-t.js: + * test/lisp/progmodes/js-resources/js.js: + * test/lisp/progmodes/js-resources/jsx-align-gt-with-lt.jsx: + * test/lisp/progmodes/js-resources/jsx-comment-string.jsx: + * test/lisp/progmodes/js-resources/jsx-indent-level.jsx: + * test/lisp/progmodes/js-resources/jsx-quote.jsx: + * test/lisp/progmodes/js-resources/jsx-self-closing.jsx: + * test/lisp/progmodes/js-resources/jsx-unclosed-1.jsx: + * test/lisp/progmodes/js-resources/jsx-unclosed-2.jsx: + * test/lisp/progmodes/js-resources/jsx.jsx: ...to here. + +2020-10-18 Stefan Kangas + + * lisp/progmodes/ld-script.el: Use lexical-binding. + + * lisp/progmodes/mixal-mode.el: Fix typos. + +2020-10-18 Jose A Ortega Ruiz + + Set jao@gnu.org as maintainer of mixal-mode.el + + * lisp/progmodes/mixal-mode.el: Set jao@gnu.org as maintainer of + mixal-mode.el. (Bug#44037) + +2020-10-18 Stefan Kangas + + Use lexical-binding in mixal-mode.el + + * lisp/progmodes/mixal-mode.el: Use lexical-binding. (Bug#44037) + +2020-10-17 Juri Linkov + + Extend next-error-message face to the edge of the window (bug#32676) + + * lisp/simple.el (next-error-message): Add ':extend t' to this face. + (next-error-message-highlight): Put overlay over the newline as well. + +2020-10-17 J. Scott Berg (tiny change) + + Fix bad dimensions of initial frame on VcXsrv + + * src/xterm.c (handle_one_xevent) [USE_GTK]: Don't obey + ConfigureNotify events if the frame is not visible. (Bug#44002) + +2020-10-17 Glenn Morris + + Merge from origin/emacs-27 + + 18c0e20bea (origin/emacs-27) Improve documentation of 'Info-hide-note... + +2020-10-17 Glenn Morris + + Merge from origin/emacs-27 + + 65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix. (Bug... + 30305b543d Make lisp/progmodes/js.el dependent on CC Mode in the Make... + c37b2a9b42 Yet another fix for 'set-minibuffer-message' + 72dd911981 Fix posn-at-x-y in builds --without-x + ace25f2066 Clarify the seq-reduce documentation + 7d598e281d Make tramp-completion-reread-directory-timeout obsolete (B... + 2c31ce18ea Fix 'message' when there's active minibuffer on another frame + + # Conflicts: + # doc/misc/tramp.texi + # etc/NEWS + +2020-10-17 Mattias Engdeg奪rd + + * etc/NEWS: Mention new lexical binding conversion aid. + +2020-10-17 Protesilaos Stavrou + + Update Modus themes' NEWS entry + + * etc/NEWS: Reword entry about new 'modus-operandi' and + 'modus-vivendi' themes. Include reference to their manual. + +2020-10-17 Jose A. Ortega Ruiz + + mixal-mode: add missed instructions + + Synchronises with latest released GNU MDK 1.2.11 + + * mixal-mode.el (mixal-operation-codes-alist): + Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO + +2020-10-17 Stefan Kangas + + Base bookmark-bmenu-mode on tabulated-list-mode (Bug#39293) + + Rewriting bookmark-bmenu-mode to be based on 'tabulated-list-mode' + allows us to greatly simplify the code in several cases. In addition, + we get some features for free, such as sorting by column. + + The only functional step backwards is that we no longer support the + optional "inline" header line, a bookmark.el-specific feature to have + a header without using 'header-line-format'. This feature is believed + to be not very useful or widely used. + + * lisp/bookmark.el (tabulated-list): Require. + (bookmark-bmenu-mode): Inherit from 'tabulated-list-mode' instead of + 'special-mode' and make the necessary changes to support that. + (bookmark-bmenu-mode-map): Inherit from 'tabulated-list-mode-map' + instead of 'special-mode-map'. Remove now duplicate key bindings. + (bookmark-bmenu--revert): New function to show the bookmark list using + 'tabulated-list-mode'. + (bookmark-bmenu-list): Simplify by using above new function. + (bookmark-bmenu-bookmark): Adapt to 'tabulated-list-mode'. + (bookmark-bmenu--name-predicate) + (bookmark-bmenu--file-predicate): New functions used by + 'tabulated-list-mode' to sort. + + (bookmark-bmenu-set-header): Redefine as obsolete function alias for + 'tabulated-list-init-header'. + (bookmark-bmenu-toggle-filenames, bookmark-bmenu-show-filenames) + (bookmark-bmenu-hide-filenames, bookmark-bmenu-mark) + (bookmark-bmenu-mark-all, bookmark-bmenu-unmark-all) + (bookmark-bmenu-delete-all, bookmark-bmenu-unmark) + (bookmark-bmenu-delete, bookmark-bmenu-delete-backwards): Simplify now + that we can depend on 'tabulated-list-mode' to do more work. + + (bookmark-bmenu-use-header-line) + (bookmark-bmenu-inline-header-height): Declare variables relating to + the now unsupported "inline" header obsolete. + (bookmark-bmenu-ensure-position) + (bookmark-bmenu-execute-deletions): Remove code to handle "inline" header. + + * test/lisp/bookmark-tests.el + (bookmark-test-bmenu-edit-annotation/show-annotation) + (bookmark-test-bmenu-unmark, bookmark-test-bmenu-mark): Update tests + for minor changes when using 'tabulated-list-mode'. + +2020-10-17 Mattias Engdeg奪rd + + Add aid for finding missing dynamic variable declarations + + Find lexical use of variables that are dynamically declared in other + files by recording 'defvar' declarations in files that can be read + in by the compiler in a second compilation. This is particularly + useful when converting code to use lexical-binding. + + The facility is controlled by setting environment variables: + + EMACS_GENERATE_DYNVARS -- set to non-empty to generate a .dynvars file + corresponding to each .elc. + EMACS_DYNVARS_FILE -- set to the name of a .dynvars file to use + as defvar information during compilation, + enabling the new warnings. + + * lisp/emacs-lisp/bytecomp.el (byte-compile--known-dynamic-vars) + (byte-compile--seen-defvars): New variables. + (byte-compile-warning-types): Add lexical-dynamic warning. + (byte-compile--load-dynvars, byte-compile--warn-lexical-dynamic): + New functions. + * lisp/emacs-lisp/bytecomp.el (byte-compile-file, byte-compile--declare-var) + (byte-compile-lambda, byte-compile-bind): Add dynamic variable loads, + dumps and checks. + * doc/lispref/variables.texi (Converting to Lexical Binding): Document. + +2020-10-17 Stefan Kangas + + * test/lisp/mail/rfc822-tests.el: New file. + + * lisp/url/url-vars.el: Use lexical-binding. + +2020-10-17 Eli Zaretskii + + Improve documentation of 'Info-hide-note-references' in info.texi + + * doc/misc/info.texi (Help-Xref): Improve the wording. + (Emacs Info Variables): Update the documentation of + 'Info-hide-note-references'. (Bug#44043) + +2020-10-17 Pierre Neidhardt + + New shell-mode command to narrow to the command under point + + * lisp/shell.el (shell--prompt-end-position) + (shell--prompt-begin-position): Helper functions. + + * lisp/shell.el (shell-narrow-to-prompt): New command and + keystroke (bug#41784). + +2020-10-17 Lars Ingebrigtsen + + Make woman ignore the new groff kerning operators + + * lisp/woman.el (woman-decode-region): Ignore the new groff + kerning operators (bug#42219). + +2020-10-17 Lars Ingebrigtsen + + Fix `browse-url-of-dired' + + * lisp/net/browse-url.el (browse-url-emacs): Make the + `browse-url-of-dired' command work again after the browse-emacs + changes (bug#42429). + +2020-10-17 Lars Ingebrigtsen + + Avoid infloop in which-function-mode when a vc file has changed + + * lisp/vc/diff-mode.el (diff-find-source-location): Avoid warnings + when called from which-function-mode and the file has changed + (bug#42818). + +2020-10-17 Stefan Kangas + + * admin/release-process: Add note to update files from upstream. + + (cherry picked from commit 86dd9d12aa5a273da2efd4ce8c6e35ae343f1494) + +2020-10-17 Lars Ingebrigtsen + + Fix narrow-to-defun in f90-mode + + * lisp/progmodes/f90.el (f90-beginning-of-subprogram): Make + narrow-to-defun work better (bug#44042). + +2020-10-17 Eli Zaretskii + + * lisp/info.el (Info-hide-note-references): Doc fix. (Bug#44043) + +2020-10-17 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-17 Stefan Kangas + + * admin/release-process: Add note to update files from upstream. + +2020-10-16 Stefan Monnier + + * doc/lispref/variables.texi (Converting to Lexical Binding): New section + + Extract it from `Using Lexical Binding` and extend it a bit. + +2020-10-16 Stefan Monnier + + * lisp/progmodes/python.el: Teach f-strings to `font-lock` + + (python--f-string-p, python--font-lock-f-strings): New functions. + (python-font-lock-keywords-maximum-decoration): Use them. + +2020-10-16 Alan Mackenzie + + Make lisp/progmodes/js.el dependent on CC Mode in the Makefile. + + This will prevent version mismatches between compile time and runtime + versions. This fixes bug #43037. + + * lisp/Makefile.in: Make js.el dependent on cc-{defs,engine,mode}.elc. + +2020-10-16 Lars Ingebrigtsen + + indent-rigidly doc string clarification + + * lisp/indent.el (indent-rigidly): Note that the command + deactivates the mark (bug#42842). + +2020-10-16 Lars Ingebrigtsen + + Make erc expand the final abbrev + + * lisp/erc/erc.el (erc-send-current-line): Expand abbrevs at the + end of lines (bug#42854). + +2020-10-16 Michael Albinus + + Make last change in tramp-archive-tests.el backward compatible + + * test/lisp/net/tramp-archive-tests.el (ert-resource-directory-format) + (ert-resource-directory-trim-left-regexp) + (ert-resource-directory-trim-right-regexp, ert-resource-directory) + (ert-resource-file): Define if they don't exist. + +2020-10-16 Eli Zaretskii + + Fix documentation of Modus Themes + + * doc/misc/modus-themes.texi (Install from the archives) + (No mixed fonts): Remove references to MELPA. + (How do the themes look like) + (Enable and load, Load automatically) + (Configure options prior to loading, Customisation Options) + (No mixed fonts, Command prompts, Mode line, Completion UIs) + (Fringes, Line highlighting, Matching parentheses, Diffs) + (Org mode blocks, Heading styles, Tweak colors (DIY)) + (Org user faces (DIY), Supported packages) + (Will NOT be supported, Note for ERC escaped color sequences) + (Note on shr colors, Note for Helm grep) + (Note on vc-annotate-background-mode, Sources of the themes): Fix + spelling, wording, and markup. + +2020-10-16 Eli Zaretskii + + Revert "* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files." + + This reverts commit 731a26bb50aabeb2c0512f0e45b3cda76029a590. + + We don't support rewriting history! + People who contributed to Emacs development should have their + contributions remain acknowledged forever, even if the files + to which they contributed are deleted at some point. + +2020-10-16 Eli Zaretskii + + Fix file-name problems in several tests + + * test/lisp/saveplace-tests.el + (saveplace-test-forget-unreadable-files): Use file-truename, to + avoid false negatives when file names are not 'equal' as strings, + but point to the same file. + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env) + (edebug-tests-run-macro): + * test/lisp/emacs-lisp/testcover-tests.el + (testcover-tests-markup-region, testcover-tests-run-test-case): + Bind find-file-suppress-same-file-warnings to a non-nil value, to + avoid warnings about "same-file-names", at least on MS-Windows, + due to 8+3 aliases. + +2020-10-16 Stefan Kangas + + Remove some Emacs 19 compat code + + * lisp/type-break.el (type-break-time-stamp): Remove Emacs 19 + compat code. + +2020-10-16 Stefan Kangas + + Remove some references to Emacs 18 and 19 + + * doc/misc/forms.texi (Modifying Forms Contents, Error Messages): + * lisp/arc-mode.el: + * lisp/emacs-lisp/edebug.el (edebug-temp-display-freq-count): + * lisp/type-break.el: Remove some references to Emacs 18 and 19. + +2020-10-16 Stefan Kangas + + * doc/emacs/ack.texi (Acknowledgments): Remove now deleted files. + + This is in line with an ack.texi comment that says to "Remove things + that are no longer distributed." Most files in this list were removed + many years ago. + +2020-10-16 Stefan Kangas + + Fix building modus-themes Info manual + + * doc/misc/Makefile.in (INFO_COMMON): Add modus-themes. + * doc/misc/modus-themes.texi: Adapt to fit Emacs conventions. + +2020-10-16 Protesilaos Stavrou + + Update modus-operandi, modus-vivendi to 0.13.0 + + * etc/themes/modus-operandi-theme.el: Update to version 0.13.0. + + * etc/themes/modus-vivendi-theme.el: Update to version 0.13.0. + + * doc/misc/modus-themes.texi: Include new texinfo documentation for + modus-operandi and modus-vivendi themes. (Bug#43944) + +2020-10-16 Mattias Engdeg奪rd + + * lisp/emacs-lisp/backquote.el: Use lexical binding. + +2020-10-16 Stefan Kangas + + Use new resource directory macros in tests (Bug#43792) + + * test/lisp/bookmark-tests.el (bookmark-tests-data-dir): + * test/lisp/calendar/todo-mode-tests.el (todo-test-data-dir): + * test/lisp/net/dbus-tests.el (dbus--tests-dir): + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests-sample-code-file): + * test/lisp/emacs-lisp/package-tests.el + (package-test-fake-contents-file): + * test/lisp/emacs-lisp/shadow-tests.el (shadow-tests-data-directory): + * test/lisp/emacs-lisp/testcover-tests.el + (testcover-tests-file-dir, testcover-tests-test-cases): + * test/lisp/mail/uudecode-tests.el (uudecode-tests-data-dir): + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test-resource-directory): + * test/lisp/pcmpl-linux-tests.el (pcmpl-linux-tests-data-dir): + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-tests-data-directory): + * test/lisp/progmodes/flymake-tests.el + (flymake-tests-data-directory): + * test/lisp/progmodes/ruby-mode-tests.el (ruby-mode-tests-data-dir): + * test/lisp/saveplace-tests.el (saveplace-tests-dir): + * test/lisp/textmodes/css-mode-tests.el (css-mode-tests-data-dir): + Remove. + + * test/lisp/bookmark-tests.el (bookmark-tests-bookmark-file) + (bookmark-tests-example-file, bookmark-tests-bookmark-file-list): + * test/lisp/calendar/todo-mode-tests.el (todo-test-file-1) + (todo-test-archive-1, with-todo-test, todo-test--add-file): + * test/lisp/custom-tests.el (custom--test-theme-variables): + * test/lisp/net/dbus-tests.el (dbus--test-introspect): + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-setup-code-file): + * test/lisp/emacs-lisp/package-tests.el (package-test-data-dir) + (package-test-desc-from-buffer, package-test-install-single) + (package-test-macro-compilation) + (package-test-install-prioritized) + (package-test-install-multifile, package-test-update-archives) + (package-test-update-archives-async) + (package-test-update-archives/ignore-nil-entry) + (package-test-signed, package-x-test-upload-buffer) + (package-x-test-upload-new-version): + * test/lisp/emacs-lisp/shadow-tests.el (shadow-case-insensitive): + * test/lisp/emacs-lisp/testcover-tests.el + (testcover-tests-build-test-cases): + * test/lisp/mail/uudecode-tests.el (uudecode-tests-encoded-str) + (uudecode-tests-decoded-str): + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test-file-archive) + (tramp-archive-test-directory): + * test/lisp/pcmpl-linux-tests.el (pcmpl-linux-test-fs-types) + (pcmpl-linux-test-mounted-directories): + * test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483) + (cperl-mode-test-indent-styles): + * test/lisp/progmodes/flymake-tests.el + (flymake-tests--call-with-fixture): + * test/lisp/progmodes/ruby-mode-tests.el + (ruby--indent/converted-from-manual-test): + * test/lisp/saveplace-tests.el + (saveplace-test-save-place-to-alist/dir) + (saveplace-test-load-alist-from-file): + * test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): Adjust + to use new resource directory macros. + +2020-10-16 Stefan Kangas + + Add ert macros to get resource file names (Bug#43792) + + * lisp/emacs-lisp/ert-x.el (subr-x): Require. + (ert-resource-dir, ert-resource-file): New macros to get the file name + of the resource directory belonging to a test. + (ert-resource-dir-format, ert-resource-dir-trim-left-regexp) + (ert-resource-dir-trim-right-regexp): New variables. + +2020-10-16 Lars Ingebrigtsen + + Fix previous gnus-icalendar sanitization + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + Fix previous change -- respect nil values passed in. + +2020-10-16 Stephen Berman + + Adjust some tests so that they work in symlinked environs + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-macro) + (help-fns-test-lisp-defsubst): + * test/lisp/emacs-lisp/cl-generic-tests.el + (cl-generic-tests--method-files--finds-methods): Adjust test so + that they work in a symlinked environment (bug#43004). + (cl-generic-tests--method-files--finds-methods): Use file-truename + so that this works in a symlinked environment (bug#43004). + +2020-10-16 Lars Ingebrigtsen + + Sanitize ical data in gnus-icalendar-event-from-ical + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + Sanitise the data before passing it on to the constructor. This + avoids backtraces on icals with extra, unknown slots (bug#43057). + +2020-10-16 Basil L. Contovounesios + + Substitute command keys in button help-echo values + + * lisp/button.el (button--help-echo): Pass resulting string through + substitute-command-keys for consistency with show-help-function. + * test/lisp/button-tests.el (button-tests--map): New test keymap. + (button--help-echo-string, button--help-echo-form) + (button--help-echo-function): Use it to test command key + substitution in help-echo strings (bug#43070). + +2020-10-16 Eli Zaretskii + + Yet another fix for 'set-minibuffer-message' + + * lisp/minibuffer.el (set-minibuffer-message): Handle the case of + separate minibuffer-only frame. Suggested by Gregory Heytings + . + +2020-10-16 Lars Ingebrigtsen + + Make package-install-from-buffer maybe refresh the quickstart file + + * lisp/emacs-lisp/package.el (package-install-from-buffer): + Refresh the quickstart file (bug#43237). This makes this command + more consistent with package-install. + +2020-10-16 Eli Zaretskii + + Fix posn-at-x-y in builds --without-x + + * src/keyboard.c (make_lispy_position): Don't exclude the + window_or_frame = frame case from TTY-only builds. Reported by + Jared Finder . + + * doc/lispref/commands.texi (Click Events): Document the format of + POSITION in click events on the frame's internal border. + +2020-10-16 Lars Ingebrigtsen + + diff-update-on-the-fly doc string clarification + + * lisp/vc/diff-mode.el (diff-update-on-the-fly): Mention what the + nil value does (bug#43297). + +2020-10-16 Lars Ingebrigtsen + + Restore vc-revision-other-window buffer-changing behaviour + + * lisp/vc/vc.el (vc-revision-other-window): This function used to + change the current buffer, but this was changed in the previous + patch for indirect buffer support. Ensure that it still does + this, because this is what the callers expect (bug#44026). + +2020-10-16 Lars Ingebrigtsen + + Doc string clarification for keep-lines + + * lisp/replace.el (keep-lines): Note that REND isn't optional if + RSTART is given (bug#44021). + +2020-10-16 Lars Ingebrigtsen + + Add a new variable to control Gnus Agent caching + + * doc/misc/gnus.texi (Agent Variables): Document it. + + * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Ditto. + + * lisp/gnus/gnus-async.el (gnus-async-article-callback): Use it. + + * lisp/gnus/gnus.el (gnus-agent-eagerly-store-articles): New variable. + + Includes work from Madhu . + +2020-10-16 Richard M Stallman + + Add way to prevent asking "increase specpdl size?" + + * net/shr.el (shr-offer-extend-specpdl): New option, default t. + (shr-descend): If shr-offer-extend-specpdl is nil, don't even ask + whether to extend the specpdl, just signal error. + +2020-10-15 Stefan Monnier + + * lisp/emacs-lisp/warnings.el (display-warning): Don't be so negative + +2020-10-15 Lars Ingebrigtsen + + Don't display the warning buttons in bytecomp buffers + + * lisp/emacs-lisp/warnings.el (display-warning): Don't do the + buttons in bytecomp buffers. + +2020-10-15 Lars Ingebrigtsen + + Make hi-lock-face-buffer more resilient + + * lisp/hi-lock.el (hi-lock-face-buffer): If given a face name a + string, convert it to a symbol first, as later usage of this + expects a symbol and not a string (bug#43339). + +2020-10-15 Lars Ingebrigtsen + + Add some references to the microdocs in the comments in cperl-mode + + * lisp/progmodes/cperl-mode.el: Tell the people reading the + comments how to read the docs explicitly (bug#1621). + +2020-10-15 David Engster + + Search harder for file name matches in *compilation* buffers + + * lisp/progmodes/compile.el (compilation-find-file): Use it (bug#14411). + (compilation-search-all-directories): New variable. + +2020-10-15 Lars Ingebrigtsen + + Make `C-x C-e' work more like `C-M-x' on defvar etc + + * doc/emacs/building.texi (Lisp Eval): Document it. + + * lisp/emacs-lisp/pp.el (pp-eval-last-sexp): Ditto. + + * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Work more + like `eval-defun': Re-evaluate defvar/defcustom/defface forms. + +2020-10-15 Stefan Kangas + + * doc/misc/efaq.texi: Remove reference to FTP. + +2020-10-15 Stefan Kangas + + Remove some references to "in Emacs 21 or later" + + * doc/misc/efaq.texi (Colors on a TTY, Disabling backups) + (Errors with init files, Backspace invokes help) + (Backspace invokes help): Remove some references to "in Emacs 21 or + later". Now everyone can be assumed to use at least that version. + +2020-10-15 Stefan Kangas + + Move emacsclient.1 file history further down + + * doc/man/emacsclient.1: Move file history further down; it doesn't + need to be prominently displayed in the introductory paragraph. + +2020-10-15 Lars Ingebrigtsen + + Fix undefined function in project-compile + + * lisp/progmodes/project.el (project-compile): Require compile.el + before using functions from the file (bug#44009). + +2020-10-15 Andrea Corallo + + * Do not check eln timestamp as superseded by source hashing (bug#43532) + + * src/lread.c (maybe_swap_for_eln): Remove eln file timestamp + check given is now unnecessary. + (openp): Update for new 'maybe_swap_for_eln' signature. + +2020-10-15 Mattias Engdeg奪rd + + Remove dynamic declaration of 'save-match-data-internal' + + * lisp/subr.el: Remove defvar which has no relevance today; it can + very well be a lexical variable. + +2020-10-15 Jeff Walsh + + Fix segfault in xwidget when there is no title + + * src/xwidget.c (Fxwidget_webkit_title): Pass emptry string when no + title is returned (bug#43989). + +2020-10-15 Lars Ingebrigtsen + + Clarify the seq-reduce documentation + + * doc/lispref/sequences.texi (Sequence Functions): Ditto. + + * lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the + arguments (bug#43995). + +2020-10-15 Lars Ingebrigtsen + + Fix problem with next-error-message-highlight in *Occur* + + * lisp/simple.el (next-error-message-highlight): This function is + called directly, so clean up the code a bit (bug#32676). + (next-error-found): Pass in the error buffer. + +2020-10-15 Lars Ingebrigtsen + + Fix NEWS item for C-h R + +2020-10-15 Lars Ingebrigtsen + + Make Gnus more liberal when interpreting Face headers again + + * lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Do it. + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Allow not checking + anything, but just repadding. + +2020-10-15 Richard M Stallman + + Clarify wording + + Clarify doc string of line-to-top-of-window. + +2020-10-15 Richard M Stallman + + Handle retrying of MIME failure messages + + * rmail.el (rmail-retry-failure): Handle retrying of MIME failure messages. + +2020-10-15 Richard M Stallman + + Handle encrypting mime parts + + * epa-mail.el (epa-mail-encrypt): Insert any encoded mime parts + that are queued up to insert before sending the message. + +2020-10-15 Stefan Monnier + + * lisp/calc: Fix a few issues introduced by lexical scoping + + Fix a few places I missed, where we incorrectly used lexical scoping on a var + that needed dynamic scoping. + These were detected thanks to a bit of footwork by Mattias Engdeg奪rd! + + * lisp/calc/calc-ext.el (math-read-big-lines): Declare as dynbound. + (math-read-big-bigp): Bind it inside a `let`. + * lisp/calc/calc-graph.el (math-arglist): Declare as dynbound. + * lisp/calc/calc-map.el (math-arglist): Declare as dynbound. + * lisp/calc/calc-misc.el (math-trunc-prec): Declare as dynbound. + (math-trunc): Bind it inside a `let`. + (math-floor-prec): Declare as dynbound. + (math-floor): Bind it inside a `let`. + * lisp/calc/calc-nlfit.el (calc-curve-varnames, calc-curve-coefnames): + Declare as dynbound. + * lisp/calc/calc-sel.el (math-comp-sel-tag): Declare as dynbound. + * lisp/calc/calcsel2.el (calc-sel-reselect): Declare as dynbound. + +2020-10-14 Andreas Schwab + + Fix layout of custom-face-edit widget + + * lisp/cus-edit.el (custom-face-edit): Add :format to group + widget. (Bug#43977) + +2020-10-14 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-14 Andrea Corallo + + Use form native compilation in `comp-trampoline-compile' + + * lisp/emacs-lisp/comp.el (comp-trampoline-sym): Remove function. + (comp-trampoline-filename): As we are introducing an ABI change in + the eln trampoline format change the trampoline filename to + disambiguate. + (comp-trampoline-search): Rename from `comp-search-trampoline' + and return directly the trampoline. + (comp-trampoline-compile): Rework to use native form compilation + in place of un-evaluating a function and return directly the + trampoline. + (comp-subr-trampoline-install): Update for + `comp-trampoline-search' and `comp-trampoline-compile' new + interfaces. + * src/comp.c (Fcomp__install_trampoline): Store the trampoline + itself as value in `comp-installed-trampolines-h'. + (syms_of_comp): Doc update `comp-installed-trampolines-h'. + +2020-10-14 Andrea Corallo + + * Add a test to verify form native compilation. + + * test/src/comp-tests.el (comp-deftest): Fix typo. + (compile-forms): New test. + +2020-10-14 Andrea Corallo + + Rework `native-compile' interface so it can return compiled functions + + * lisp/emacs-lisp/comp.el (native-compile): Return the compiled + function when the input is a symbol or a form. + * test/src/comp-tests.el (free-fun, tco, fw-prop): Update tests + for new `native-compile' interface. + +2020-10-14 Andrea Corallo + + Have `native-elisp-load' return the last registerd function + + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize + 'top_level_run' so it returns the last value returned by + `comp--register-subr'. + * src/comp.c (load_comp_unit): Return what 'top_level_run' + returns. + (Fnative_elisp_load): Return what 'load_comp_unit' returns. + * src/comp.h (load_comp_unit): Update signature. + +2020-10-14 Andrea Corallo + + * Allow for lambda forms as native compilation input + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Add new + specialized method for compiling a lambda form. + +2020-10-14 Andrea Corallo + + * Move context output computation in `comp-spill-lap-function' + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move + output filename computation here. + (native-compile): From here. + +2020-10-14 Juri Linkov + + Highlight regexp sub-expressions in query-replace + + * lisp/replace.el (query-replace-highlight-submatches): New defcustom. + (replace-submatches-overlays): New variable. + (replace-highlight): Use query-replace-highlight-submatches. + (replace-dehighlight): Use query-replace-highlight-submatches. + + * doc/emacs/search.texi (Query Replace): + Add documentation for query-replace-highlight-submatches. + + Suggested by Drew Adams in bug#43702. + +2020-10-14 Juri Linkov + + * lisp/progmodes/grep.el: More fixes for 'lgrep' (bug#23590) + + * lisp/progmodes/grep.el (grep-expand-template): Add new arg 'more-opts'. + (grep-use-directories-skip): New variable. + (lgrep): Set 'grep-use-directories-skip' to the result of 'grep-probe'. + Use "--directories=skip" when 'grep-use-directories-skip' is t. + +2020-10-14 Ernesto Alfonso + + Add option to highlight the 'next-error' error message + + * lisp/simple.el (next-error-message-highlight): + (next-error-message): New faces (bug#32676). + (next-error--message-highlight-overlay): New internal variable. + (next-error-message-highlight): New function. + (next-error-found): Call the function. + +2020-10-14 Alex Branham + + Add a new variable tab-first-completion + + * doc/emacs/indent.texi (Indent Convenience): Mention it. + + * doc/lispref/text.texi (Mode-Specific Indent): Document it. + + * lisp/indent.el (tab-first-completion): New variable (bug#34787). + (indent-for-tab-command): Use it. + +2020-10-14 Lars Ingebrigtsen + + Rename dired-filename-at-point to avoid confusion + + * lisp/dired-x.el (dired-x-guess-filename-at-point): Rename (bug#43961). + (dired-filename-at-point): Made into an obsolete alias, since the name + can be confused with the unrelated dired-file-name-at-point function. + +2020-10-14 Philipp Klaus Krause (tiny change) + + Mark the return value from strerror as a constant + + * src/emacs.c (main): Mark the return from strerror as a constant, + since it shouldn't be changed (bug#43982). + + * lib-src/movemail.c (pfatal_and_delete): Ditto. + +2020-10-14 Masahiro Nakamura + + Improve package install/delete button action + + * lisp/emacs-lisp/package.el (package-install-button-action) + (package-delete-button-action): Run describe-package instead of + revert-buffer in order to use newer package-desc (bug#43983). + +2020-10-14 Lars Ingebrigtsen + + Fix name of the module .h files in the comments + + * src/emacs-module.c: Fix the name of the .h file in the comments. + +2020-10-14 Lars Ingebrigtsen + + Move the new module unibyte function to the correct module-env.h file + + * src/module-env-28.h: Moved here from the -25.h file. + +2020-10-13 Mattias Engdeg奪rd + + * etc/NEWS (Calc): Note new precedence of '/' in TeX input mode. + +2020-10-13 Paul Eggert + + nnimap MODSEQ cleanup + + * lisp/gnus/nnimap.el (nnimap-parse-flags): + Remove old hack that deletes MODSEQ entries in the buffer, as + Emacs now has bignums and so won't misparse MODSEQs (Bug#38938). + +2020-10-13 Paul Eggert + + eql doc improvements + + * doc/lispref/numbers.texi (Comparison of Numbers): + Copy some useful text from eql help string. + * src/fns.c (Feql): In doc string, say that eql also compares + integers by value. + +2020-10-13 Eli Zaretskii + + Fix documentation of Outline cycling commands + + * lisp/outline.el (outline-mode-map): Fix wording of a comment. + + * doc/emacs/text.texi (Outline Visibility): Fix wording and markup + of a recently added paragraph. Improve indexing. + + * etc/NEWS: Fix whitespace of a recently added entry. + +2020-10-13 Eli Zaretskii + + * etc/NEWS: Mention 'make_unibyte_string'; reformat modules entries. + +2020-10-13 Mattias Engdeg奪rd + + Calc: allow infinite binary word size (bug#43764) + + Setting the word size ("b w") to 0 removes the word size clipping for + all bit operations (effectively as if a word size of - had been set). + Rotation is disallowed; logical and arithmetic shifts behave + identically. + + After a suggestion by Vincent Bela誰che. + + * lisp/calc/calc-bin.el (calc-word-size, math-binary-arg) + (math-binary-modulo-args, calcFunc-lsh, calcFunc-ash, calcFunc-rot) + (math-clip, math-format-twos-complement): Allow a word size of 0, + meaning -. + * test/lisp/calc/calc-tests.el + (calc-tests--not, calc-tests--and, calc-tests--or, calc-tests--xor) + (calc-tests--diff): New functions. + (calc-tests--clip, calc-tests--rot, calc-shift-binary): Extend to + cover word size 0. + (calc-bit-ops): New test. + * doc/misc/calc.texi (Binary Functions): Update manual. + * etc/NEWS: Announce the change. + +2020-10-13 Mattias Engdeg奪rd + + Calc: revert to old precedence of '/' in (La)TeX input mode + + Make the '/' precedence higher than that of '+' and '-' again, + partially reverting fda9b316f84 (bug#43902). + + * lisp/calc/calc-lang.el (tex): Change precedence of '/'. + * test/lisp/calc/calc-tests.el (calc-latex-input): New test. + +2020-10-13 Mattias Engdeg奪rd + + Calc: make tests less chatty + + * test/lisp/calc/calc-tests.el (calc-extract-units, calc-convert-units) + (calc-matrix-determinant, calc-choose): Remove "Working..." messages. + (calc-tests--check-choose, calc-tests--explain-choose): Eliminate. + +2020-10-13 Lars Ingebrigtsen + + Allow creating unibyte strings from Emacs modules + + * doc/lispref/internals.texi (Module Values): Document + make_unibyte_string (bug#34873). + + * src/emacs-module.c (module_make_unibyte_string): New function. + (initialize_environment): Export it. + + * src/module-env-25.h: Define it. + + * test/data/emacs-module/mod-test.c (Fmod_test_return_unibyte): + Test it. + + * test/src/emacs-module-tests.el (module/unibyte): Test it. + +2020-10-13 Lars Ingebrigtsen + + Partially revert previous patch to emacs.service + + * etc/emacs.service (ExecStop): Partially revert previous patch + for bug#37847, since: "This appears to break packages that rely on + `invocation-name' to be executable." + +2020-10-13 Yuan Fu + + Add cycling commands to outline + + * lisp/outline.el (outline--cycle-state, outline-has-subheading-p) + (outline-cycle, outline-cycle-buffer): New functions. + (outline-mode-map): Add key bindings for the two new commands. + (outline--cycle-buffer-state): New variable. + * doc/emacs/text.text (Outline Visibility): Add 'outline-cycle' and + 'outline-cycle-buffer'. + * etc/NEWS (Outline): Record the change (bug#41130). + +2020-10-13 Lars Ingebrigtsen + + Make read-char-choice less modal + + * lisp/subr.el (read-char-choice): Use `read-char-from-minibuffer' + here (bug#42708) so that we're not as modal (and users can copy + the help buffer, if they should so want). + +2020-10-13 Lars Ingebrigtsen + + Make diary fontify headers correctly (if the date has been customized) + + * lisp/calendar/diary-lib.el (diary-fancy-display): Insert the + heading with the correct face, so that it doesn't have to be + re-matched later (which is generally impossible) (bug#13072). + (diary-fancy-date-pattern, diary-fancy-date-matcher): Make obsolete. + (diary-fancy-font-lock-keywords): Don't use. + (diary-fancy-font-lock-fontify-region-function): Don't use. + +2020-10-13 Mauro Aranda + + Don't bind sort-fold-case when saving the custom-file + + * lisp/cus-edit.el (custom-save-variables, custom-save-faces): These + functions sort a list, not buffer text, so they don't need + to use sort-fold-case at all. Remove the let-binding for + sort-fold-case (bug#43919). + +2020-10-13 Lars Ingebrigtsen + + Have header-line-highlight inherit from mode-line-highlight + + * lisp/faces.el (header-line-highlight): Inherit from + mode-line-highlight instead of highlight (bug#43926). This is + consistent with header-line inheriting from mode-line. + +2020-10-13 Lars Ingebrigtsen + + message-insert-signature doc fix + + * lisp/gnus/message.el (message-insert-signature): Clarify what + FORCE means. + +2020-10-13 Boruch Baum + + Add a keybinding to the help menu to display manuals + + * lisp/help.el (help-for-help-internal): Add a keybinding to + prompt for and display a manual (bug#43956). + +2020-10-12 Juri Linkov + + * lisp/isearch.el (isearch-search): Set isearch-match-data in the right place. + +2020-10-12 Brian Leung + + Fix some compilation warnings in non nativecomp build (bug#43892) + + * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): + Declare function. + * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare + variable. + * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): + Declare function. + * lisp/files.el (comp-eln-to-el-h): Declare variable. + * lisp/help.el (subr-native-lambda-list): Declare function. + +2020-10-12 Andrea Corallo + + Revert "Fix some compilation warnings in non nativecomp build (bug#43892)" + + This reverts commit 6606ec8e313bf48a1ac7b63c52bfeb64c4257107. + +2020-10-12 Andrea Corallo + + Fix some compilation warnings in non nativecomp build (bug#43892) + + * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): + Declare function. + * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare + variable. + * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): + Declare function. + * lisp/files.el (comp-eln-to-el-h): Declare variable. + * lisp/help.el (subr-native-lambda-list): Declare function. + +2020-10-12 Stefan Kangas + + Fix man page title lines and timestamps + + * doc/man/ebrowse.1: + * doc/man/emacs.1.in: + * doc/man/emacsclient.1: + * doc/man/etags.1: Update date to match last significant change. Set + file local variable time-stamp-pattern. Fix title line to match the + recommendations in "man man-pages". + Ref: https://lists.gnu.org/r/emacs-devel/2020-09/msg01002.html + +2020-10-12 Michael Albinus + + Make tramp-completion-reread-directory-timeout obsolete (Bug#43932) + + * doc/misc/tramp.texi (File name completion, Frequently Asked Questions): + Remove `tramp-completion-reread-directory-timeout'. (Bug#43932) + + * etc/NEWS: Mention tramp-completion-reread-directory-timeout as obsolete. + + * lisp/net/tramp.el (tramp-completion-reread-directory-timeout): + Make it obsolete. + +2020-10-12 Hugh Daschbach + + Add interface arg to D-Bus PropertiesChanged signal. + + * lisp/net/dbus.el (dbus-register-property, dbus-property-handler): + Fix signal generation. (Bug#43936) + + * test/lisp/net/dbus-tests.el (dbus-test06-register-property-emits-signal): + Fix test. + +2020-10-12 Stefan Monnier + + * lisp/proced.el: Fix behavior with variable-pitch `header-line` face + + Also, use lexical-scoping. Remove redundant `:group` args. + (proced-process-alist, proced-header-line): Use `defvar-local` + (proced-header-line): Put :align-to on spaces to improve result with + variable-pitch header-line face. + (proced-filter, proced-format): Use a closure instead of `(lambda ...). + +2020-10-12 Lars Ingebrigtsen + + Add a reference to the shortdoc command in the Emacs manual + + * doc/emacs/help.texi (Name Help): Mention shortdoc. + +2020-10-12 Lars Ingebrigtsen + + Add a shortdoc menu entry + + * lisp/menu-bar.el (menu-bar-describe-menu): Add a shortdoc menu + entry. + +2020-10-11 Lars Ingebrigtsen + + Fix error in file shortdoc group + + * lisp/emacs-lisp/shortdoc.el (number): Add some more numeric + stuff (and clean up some arglists). + +2020-10-11 Stefan Monnier + + * lisp/hexl.el: Fix behavior with variable-pitch `header-line` face + + (hexl-ascii-region): Don't inherit from the `header-line`. + (hexl-font-lock-keywords): Fix text alignment. + (hexl-mode): Set `font-lock-extra-managed-props` accordingly. + +2020-10-11 Alan Third + + Fix GNUstep build + + Fix mistakes made when removing Cocoa code from nsfont.m. + + * src/nsfont.m (nsfont_draw): Remove spurious #ifdef. + (ns_uni_to_glyphs): The #if/#endif was removed from this code, but the + code itself not removed. Remove it now. + +2020-10-11 Stefan Kangas + + * lisp/tooltip.el: Remove redundant :group args. + + * lisp/tooltip.el: Use lexical-binding. + +2020-10-11 Gregory Heytings (tiny change) + + Fix 'message' when there's active minibuffer on another frame + + * lisp/minibuffer.el (set-minibuffer-message): Don't reuse the + active minibuffer for displaying messages unless the active + minibuffer is on the same frame as the selected window. + +2020-10-11 Eli Zaretskii + + Improve documentation of shortdoc features + + * lisp/help-fns.el (help-fns-describe-function-functions): Doc + fix. + * lisp/emacs-lisp/shortdoc.el (define-short-documentation-group) + (shortdoc-display-group, shortdoc-add-function): Doc fixes. + + * doc/lispref/help.texi (Documentation Groups): Improve the + recently-added documentation and the indexing. + +2020-10-11 Stefan Kangas + + * lisp/url/url-domsuf.el: Use lexical-binding. + +2020-10-11 Stefan Kangas + + Convert url-domsuf.el tests to ert + + * lisp/url/url-domsuf.el: Move commented out tests from here... + * test/lisp/url/url-domsuf-tests.el: ...to this new file. + +2020-10-11 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2020-10-09 08:23:34 UTC. + +2020-10-11 Lars Ingebrigtsen + + Add more numeric shortdocs + + * lisp/emacs-lisp/shortdoc.el (shortdoc-section) + (shortdoc-example): Lighten up colours on light backgrounds. + +2020-10-11 Lars Ingebrigtsen + + Tweak shortdoc colours on light backgrounds + + * lisp/emacs-lisp/shortdoc.el (shortdoc-section) + (shortdoc-example): Lighten up colours on light backgrounds. + +2020-10-11 Lars Ingebrigtsen + + Autoload shortdoc command and adjust NEWS + + * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Autoload. + +2020-10-11 Lars Ingebrigtsen + + Use Unicode arrows in shortdoc results + + * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use + Unicode arrows if possible. + +2020-10-11 Lars Ingebrigtsen + + Don't boldify the flyspell language indicator in the mode line + + * lisp/textmodes/flyspell.el (flyspell-mode): Don't boldify the + language part -- it draws too much attention in the minor mode list. + +2020-10-11 Stephen Berman + + Allow killing files with C-k in wdired if -F is used + + * lisp/wdired.el (wdired-change-to-wdired-mode): Add hook to + restore properties. + (wdired-change-to-wdired-mode): Adjust check for symlinks. + (wdired-preprocess-files): Fix parsing when using the -F flag. + (wdired-get-filename): Fix parsing of symlinks when using the -F flag. + (wdired--restore-properties): Renamed, and restore more properties + (bug#18475). + +2020-10-11 Lars Ingebrigtsen + + Add support for displaying short documentation for function groups + + * doc/lispref/help.texi (Documentation Groups): Document it. + + * lisp/help-fns.el (help-fns--mention-shortdoc-groups): Output + references to the shortdocs. + + * lisp/emacs-lisp/shortdoc.el: New file. + +2020-10-11 Juri Linkov + + Make C-w worth in isearch when at the last match in the buffer + + * lisp/isearch.el (isearch-yank-internal): Make C-w work when at + the last match in the buffer (bug#22118). + +2020-10-11 Noam Postavsky + + Clarify how to set single-function hooks + + * doc/lispref/modes.texi (Hooks): Clarify the difference between + normal hooks and single-function "hooks" (bug#25581). + +2020-10-11 Lars Ingebrigtsen + + Fix link in previous display.texi change + + * doc/lispref/display.texi (Fontsets): Link to the correct node in + the Elisp manual, not in the Emacs manual. + +2020-10-11 Robert Weiner + + Make posn-set-point work on frame events + + * lisp/subr.el (event-start): Mention the frame part of the events. + (posn-window): Ditto. + (posn-set-point): Make this work if the event is a frame event + (bug#28621). + +2020-10-11 Robert Pluim + + Fix the documentation of char-displayable-p + + * doc/lispref/display.texi (Fontsets): Make the documentation of + char-displayable-p less incorrect (bug#35230). + +2020-10-10 Rasmus + + gnus-icalendar.el: Fix bug in gnus-icalendar-identities + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--find-attendee): + (gnus-icalendar-identities) `gnus-ignored-from-addresses' and + `message-alternative-emails' may be functions. This is not + supported by `gnus-icalendar-event--find-attendee' (bug#43908). + +2020-10-10 Stefan Monnier + + * lisp/calc/: Use lexical scoping in all the files + + Includes the following pervasive changes: + - Move some defvars earlier in the file so they cover earlier let-bindings + - Change dynamically scoped `calc-FOO` or `math-FOO` function arguments + to just FOO and then let-bind the `calc-FOO` or `math-FOO` variable + explicitly in the body of the function. In some cases, the + beginning of the function was changed to refer to FOO so as to delay + the binding to a nearby `let` when I could ensure that it did + not make a difference. + - Add an underscore in front of unused vars or comment them out altogether. + - Replace unused `err` arg to `condition-case` with nil. + + Plus the additional itemized changes below. + + * lisp/calc/calc-map.el (calcFunc-reducer): + * lisp/calc/calc-arith.el (math-setup-declarations): + * lisp/calc/calc-help.el (calc-full-help, calc-help-index-entries) + (calc-full-help): Use `ignore-errors`. + + * lisp/calc/calc-embed.el (calc-embedded-modes-change): + Declare `the-language` and `the-display-just` as dynamically scoped. + + * lisp/calc/calc-forms.el (math-setup-year-holidays): Use `dolist`. + + * lisp/calc/calc-graph.el (calc-graph-set-styles): Use `symbol-value` + rather than `eval.` + (calc-graph-delete-temps, calc-graph-set-styles): Use ignore-errors. + + * lisp/calc/calc-macs.el (calc-with-trail-buffer): Add artificial use + of `save-buf` to silence compiler warnings in all the cases where + `body` doesn't make use of it. + + * lisp/calc/calc-math.el (math-largest-emacs-expt) + (math-smallest-emacs-expt, math-use-emacs-fn): Use ignore-errors. + + * lisp/calc/calc-mode.el (calc-total-algebraic-mode): Remove "P" from + interactive spec since it's not used anyway. + + * lisp/calc/calc-rewr.el (calc-match): Simplify. + + * lisp/calc/calc.el (calc-buffer): Give it a global nil value, + so it's automatically declared dynbound in any file that requires `calc`. + (calcDigit-nondigit): Adjust accordingly. + + * lisp/calc/calcalg2.el (calcFunc-table): Declare `var-dummy` as dynbound. + (math-scan-for-limits): Comment out dead code. + + * lisp/calc/calcalg3.el (math-general-fit): Declare `var-YVAL` and + `var-YVALX` as dynbound. + +2020-10-10 Andrea Corallo + + * lisp/help.el (help-function-arglist): Fix non nativecomp builds (bug#43914) + +2020-10-10 Andrea Corallo + + * As edges are indexed store them in an hash table + + * lisp/emacs-lisp/comp.el (comp-edge): Update doc for 'number' + slot. + (comp-func): Rename 'edges' slot into 'edges-h'. + (comp-log-edges): Update logic for edges in an hash table. + (comp-clean-ssa, comp-compute-edges): Likewise. + +2020-10-10 Andrea Corallo + + * Add into phi l-value args basic block names + + * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): Clean-up a + leftover space. + (comp-finalize-phis): Cons the blasic block name providing the + mvar together with the mvar itself while forming the phi. + (comp-fwprop-insn): Destructure correctly the phi. + +2020-10-10 Andrea Corallo + + Provide feature nativecomp and make use of it + + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use + `featurep' to identify if the native compiler is available. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/package.el (package--delete-directory): Likewise. + * lisp/loadup.el: Likewise. + * src/comp.c (syms_of_comp): Provide feature nativecomp. + +2020-10-10 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-func): Fix doc for blocks slot. + +2020-10-10 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak + + Try and clarify the meaning of `init-value`. + +2020-10-10 Glenn Morris + + Merge from origin/emacs-27 + + c00606171f (origin/emacs-27) A better fix for bug#43886 + 3196fd44c3 Avoid crashes when a theme is loaded with one frame suspended + 0407b15500 Removed an incorrectly placed extra word in the semantic docs + 040dcbe53e Fix current-line hscrolling when overlays change + c56eeba2ce Extend tests for shell-command-dont-erase-buffer + +2020-10-10 Glenn Morris + + Merge from origin/emacs-27 + + b6704d58e8 ; * src/xdisp.c (Fwindow_text_pixel_size): Doc fix. + +2020-10-10 Glenn Morris + + Merge from origin/emacs-27 + + acc9b46153 Fix merging of region face for non-ASCII characters + c2a13969e4 Make drag and drop on NS open all URLs (bug#43470) + +2020-10-10 Andrea Corallo + + * Fix LIMPLE latch block name coloring in "*Native-compile-Log*" + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Fix + latch block name coloring. + +2020-10-10 Brian Leung + + Various typo fixes in native compiler related files + + * lisp/emacs-lisp/comp.el (native-compiler-error-dyn-func) + (comp-func, comp-func-l) + (comp-func-d, comp-ensure-native-compiler, comp-type-hint-p) + (comp-func-unique-in-cu-p, comp-alloc-class-to-container) + (comp-limple-mode, comp-loop-insn-in-block) + (comp-lex-byte-func-p, comp-c-func-name, comp-decrypt-arg-list) + (comp-spill-lap-function, comp-intern-func-in-ctxt) + (comp-spill-lap-function, comp-spill-lap, comp-emit-handler) + (comp-prepare-args-for-top-level): Various typo fixes. + * src/comp.c (Fcomp_el_to_eln_filename): Fix typo in error + message. + +2020-10-10 Mattias Engdeg奪rd + + Improve coverage of Calc bit shift test + + * test/lisp/calc/calc-tests.el (calc-tests--rsh, calc-tests--rash) + (calc-shift-binary): Test with negative word sizes. + +2020-10-10 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-10 Andrea Corallo + + * Fix failure when compiling a trampoline with no eln-cache dir (bug#43875) + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create + the eln-cache dir if this is not existing, if fails to do that + move on to the next one. + +2020-10-10 Andrew Whatson + + * Fix typo name plus make error homogeneous in `comp-trampoline-compile' + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo + renaming `comp-tampoline-compile' -> `comp-trampoline-compile'. + Change error to be consistent. + (comp-subr-trampoline-install): Use `comp-trampoline-compile'. + +2020-10-10 Eli Zaretskii + + A better fix for bug#43886 + + * src/xfaces.c (load_color2, Fcolor_distance): Revert last change. + * src/term.c (clear_tty_hooks): Don't clear defined_color_hook. + +2020-10-10 Torsten Hilbrich + + Fix dictionary tooltip mode + + * lisp/net/dicionary.el (dictionary-tooltip-mode): Add mouse movement + binding and use tooltip-functions instead of tooltip-hook + + There were some changes in Emacs since testing it the last time. I had + to add keybinding for mouse movement and enable track-mouse to get the + mode working again. + +2020-10-09 Eli Zaretskii + + Avoid crashes when a theme is loaded with one frame suspended + + * src/xfaces.c (load_color2, Fcolor_distance): Don't try to call + the frame's defined_color_hook if the frame is suspended. + (Bug#43886) + +2020-10-09 Torsten Hilbrich + + Adding details page for dictionary + + * net/lisp/dictionary.el (dictionary-display-dictionary-line): Allow + getting more details on a dictionary by clicking the "(Details)" link. + + I had the functionality to query the dictionary information but no + mechanism to invoke it. So just add a button after the short description + of the dictionary to get more information. + +2020-10-09 Torsten Hilbrich + + Dictionary now uses button + + * net/lisp/dictionary-link.el: Removed now obsolete file + * net/lisp/dictionary.el: Use insert-button and make-button + * net/lisp/dictionary.el (dictionary-mode-map): Now defined using defvar + + I had to add a conversion function as parameter for the button 'action + as I need to be able to pass nil data to my function. This is not + possible with the regular button 'action function and the 'button-data + value. + + The functionality of searching a link in all dictionaries has been + removed for now. It might appear again once I have an idea how to + implement it. + +2020-10-09 Eli Zaretskii + + Add Euro Sign to Latin language input methods + + * lisp/leim/quail/latin-post.el ("danish-postfix") + ("finnish-postfix", "french-postfix", "german-postfix") + ("icelandic-postfix", "italian-postfix", "norwegian-postfix") + ("scandinavian-postfix", "spanish-postfix", "swedish-postfix"): + Add "E=" for the Euro Sign. (Bug#43866) + +2020-10-09 Mattias Engdeg奪rd + + Calc: fix arithmetic right shift sign bit detection + + Arithmetic right shift didn't compute the bit to shift in correctly. + For example, #x600000000 right-shifted 8 steps (with 32 bit word size) + resulted in #xff000000 rather than 0. (Bug#43764) + + * lisp/calc/calc-bin.el (calcFunc-ash): Fix condition. + * test/lisp/calc/calc-tests.el (calc-tests--clip, calc-tests--lsh) + (calc-tests--rsh, calc-tests--ash, calc-tests--rash, calc-tests--rot): + New. + (calc-shift-binary): New test. + +2020-10-09 Nick Gasson (tiny change) + + Match OpenBSD doas password prompt in comint + + * lisp/comint.el (comint-password-prompt-regexp): match OpenBSD doas + password prompt. OpenBSD 5.8 replaced sudo with doas in the base + install. + + * test/lisp/comint-tests.el (comint-testsuite-password-strings): test + that the doas password prompt is matched (bug#43846). + +2020-10-09 Lars Ingebrigtsen + + message-signature doc fix + + * lisp/gnus/message.el (message-signature): Mention + message-signature-insert-empty-line (bug#43853). + +2020-10-09 Pankaj Jangid (tiny change) + + Removed an incorrectly placed extra word in the semantic docs + + * doc/misc/semantic.texi (Parser code): Copy edit (bug#43861). + +2020-10-09 Lars Ingebrigtsen + + Clarify define-minor-mode hooks + + * doc/lispref/modes.texi (Defining Minor Modes): Note that the + code (and the hook) is run both when the mode is enabled and + disabled (bug#43868). + +2020-10-09 Lars Ingebrigtsen + + Revert "Don't eagerly store articles in the Agent by default" + + This reverts commit def34a20766ea5179afd5e5ed090a2b86fcccb5e. + + This made storing articles in the Agent very slow. + +2020-10-09 Lars Ingebrigtsen + + Only skip directories in lgrep, not the other grep commands + + * lisp/progmodes/grep.el (lgrep): Do the directory ignores here + (bug#23590). + (grep-compute-defaults): ... instead of here, because this would + affect all grep commands, not just lgrep. + +2020-10-08 Torsten Hilbrich + + Don't check for existence of defface + + * lisp/net/dictionary.el: defface has been available in Emacs for quite + some time now. No need to check it before using it. + +2020-10-08 Torsten Hilbrich + + Dont't check coding-system-list for existence + + * lisp/net/dictionary.el (dictionary-coding-systems-for-dictionaries): + Don't check for coding-system-list before using it. It check no longer + be necessary. + +2020-10-08 Torsten Hilbrich + + Add :version tag to defcustom statement + + * lisp/net/dictionary.el: Add :version tag to all defcustom statements + + Suggested-By: Robert Pluim + +2020-10-08 Alan Mackenzie + + CC Mode: Move the handling of keyword auto into type handling for C++. + + This should allow auto, const, static, ... to be in any order. + + * lisp/progmodes/cc-engine.el (c-forward-type): New return value 'no-id for + when auto precludes the parsing of a type identifier. Adapt processing for + this. + (c-forward-decl-or-cast-1): Use the new facility from c-forward-type. + + * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): Insert the value + of c-no-type-kwds into the value. + (c-no-type-kwds, c-no-type-key): New lang consts/vars, basically "auto". + (c-typeless-decl-kwds, c-modifier-kwds): Remove "auto" from the C++ value. + +2020-10-08 Stefan Monnier + + * src/ftcrfont.c (ftcrfont_open): Initialize the `max_width` field + + On a 32bit build, Emacs can otherwise crash with a !FIXNUM_OVERFLOW_P + assertion in `Ffont_info` by simply doing `emacs -Q` and then `C-s`. + + * src/font.c: Try and detect uninitialized `max_width` fields. + (font_make_object): Set max_width to a silly value. + (Ffont_info): Check the value is not silly any more. + +2020-10-08 Stefan Monnier + + * lisp/doc-view.el: Fix "can't resize root window" error + + (doc-view-fit-window-to-page): Change approach to detect when the + frame needs to be resized. + +2020-10-08 Eli Zaretskii + + Fix current-line hscrolling when overlays change + + * src/xdisp.c (redisplay_internal): Disable "optimization 1" when + auto-hscrolling current line and we're redisplaying the selected + window. (Bug#43835) + +2020-10-08 Michael Albinus + + Extend tests for shell-command-dont-erase-buffer + + * test/lisp/simple-tests.el + (simple-tests-shell-command-dont-erase-buffer): Extend test. + + * test/lisp/net/tramp-tests.el + (tramp-test32-shell-command-dont-erase-buffer): Adapt test. Tag + it :unstable. + +2020-10-08 Torsten Hilbrich + + Removed some compability parts in dictionary + + * lisp/net/dictionary.el: Use cl-lib, remove defface and defgroup + checks, remove xemacs-related code + * lisp/net/dictionary-link.el: Remove xemacs-related code + +2020-10-08 Torsten Hilbrich + + Renamed link.el + + * lisp/net/link.el: Renamed to connection-link.el, also prefixing all + functions with "dictionary-" prefix + * lisp/net/dictionary.el: Adapt to renamed functions + +2020-10-08 Torsten Hilbrich + + Renamed connection.el + + * lisp/net/connection.el: Renamed to dictionary-connection.el, also + prefixing all functions with "dictionary-" prefix + * lisp/net/dictionary.el: Adapt to renamed functions + +2020-10-08 Torsten Hilbrich + + Importing dictionary module + + * lisp/net: Adding files connection.el, link.el, dictionary.el, + imported from https://github.com/myrkr/dictionary-el.git + +2020-10-08 Dmitry Gutov + + Mention two more functions in the commentary + + * lisp/progmodes/project.el: + Mention two more functions in the commentary (bug#43595). + +2020-10-07 Andrea Corallo + + * Fix failure when eln-cache is removed (introduced by 4a1bb46260) + + * src/comp.c (make_directory_wrapper, make_directory_wrapper_1): + New functions. + (Fcomp_el_to_eln_filename): If base_dir is not + specified and we are searching across `comp-load-path' try to + create a directory if does not exists. + +2020-10-07 Andrea Corallo + + * Fix some nits in comp.el + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Use + `cl-defmethod' where correct in place of `cl-defgeneric'. + (comp-tampoline-compile): Add missing #. + +2020-10-07 Eli Zaretskii + + Improve documentation of 'isearch-group-N' faces + + * etc/NEWS: + * doc/emacs/search.texi (Search Customizations): Improve and + clarify the wording of the 'isearch-group-N' faces description. + + * lisp/isearch.el (search-highlight-submatches): Doc fix. + +2020-10-07 Eli Zaretskii + + Fix last change in frame.el. + + * lisp/frame.el (frame-set-background-mode): Fix last change: yet + another place where FRAME was not taken into account, using the + selected frame instead. (Bug#43837) + +2020-10-07 Hong Xu + + Clarify what ``chrooted environment means'' for TRAMP + + * doc/misc/tramp.texi (Frequently Asked Questions): Clarify what + ``chrooted environment means'' for TRAMP (bug#43839). + +2020-10-07 Eli Zaretskii + + Fix face recalculation when frame's background mode changes + + * lisp/frame.el (frame-set-background-mode): Use the FRAME + argument instead of the selected frame, when calling + 'face-spec-match-p'. (Bug#43837) + +2020-10-07 Andrea Corallo + + * Do use echo area for async compilation started/finished messages + + * lisp/emacs-lisp/comp.el (comp-run-async-workers) + (native-compile-async): Do not write into the echo area. + +2020-10-07 Andrea Corallo + + * Better libgccjit related error messaging during configure + + * configure.ac: Distinguish the case when libgccjit is missing, + its headers are missing, or libgccjit is broken. Message the user + based on that. + +2020-10-07 Lars Ingebrigtsen + + Remove mention of the obsolete cust-print.el from the manual + + * doc/lispref/edebug.texi (Printing in Edebug): Remove mention of + the obsolete cust-print.el (bug#37956) and adjust the text a bit. + +2020-10-07 Lars Ingebrigtsen + + Update documentation on this-command-keys to reflect new behavior + + * doc/lispref/commands.texi (Command Loop Info): + `this-command-keys' does not include the C-u any more, so remove + that from the description and the example + (bug#22107). + + * src/keyboard.c (Fthis_single_command_keys): Don't say that + `this-command-keys' returns the C-u prefix (bug#22111). + +2020-10-07 Alex Gramiak + + Default the grep commands to skip directories + + * lisp/progmodes/grep.el (grep-compute-defaults): Skip directories + (bug#23590). + +2020-10-07 Lars Ingebrigtsen + + Make artist-mode work when display-line-numbers-mode is on + + * lisp/textmodes/artist.el (artist--adjust-x): New function. + (artist-mouse-draw-continously, artist-mouse-draw-poly) + (artist-mouse-draw-1point, artist-mouse-draw-2points): Use it to + take `display-line-numbers-mode' widths into account. + +2020-10-07 Lars Ingebrigtsen + + Remove reference to outdated Gnus variable from the manual + + * doc/misc/gnus.texi (Startup Variables): Remove reference to + gnus-use-backend-marks, which was removed in 2011 (bug#43833). + +2020-10-07 Lars Ingebrigtsen + + alist-get doc string further clarification + + * lisp/subr.el (alist-get): Mention generalized variables again + for easier cross-referencing (bug#43836). + +2020-10-07 Hong Xu + + Clarify what ``chrooted environment means'' for TRAMP + + * doc/misc/tramp.texi (Frequently Asked Questions): Clarify what + ``chrooted environment means'' for TRAMP (bug#43839). + +2020-10-07 Mauro Aranda + + Make the State button in Custom use extended menus + + * lisp/cus-edit.el (custom-actioned-widget): New variable. + Dynamically hold the widget for which to show the menu. + (custom-variable-extended-menu, custom-face-extended-menu) + (custom-group-extended-menu): Keymap menus for the State menu. Use + custom-actioned-widget for the :enable and :selected forms. Make + related items radio buttons. (Bug#4787) + (custom-variable-menu, custom-face-menu, custom-group-menu): Keep for + backward compatibility, but default to nil, so we prefer the keymap + menus instead. + (custom-variable-action, custom-face-action, custom-group-action): + Pass the keymap menu to widget-choose when the simplified menus + are nil. + +2020-10-07 Stefan Monnier + + * test/lisp/progmodes/ruby-mode-tests.el: Fix obsolete warnings + +2020-10-06 Juri Linkov + + Add match-data to isearch state and repeat faces to highlight group matches + + * lisp/isearch.el (isearch-match-data): New variable. + (isearch-mode): Set isearch-match-data to nil. + (isearch-update): Call isearch-highlight with isearch-match-data. + (isearch--state): Add isearch-match-data. + (isearch--set-state): Restore isearch-match-data. + (with-isearch-suspended): Preserve isearch-match-data. + (isearch-search): Set isearch-match-data to integers. + (isearch-group-1): Rename from isearch-group-odd and adjust colors. + (isearch-group-2): Rename from isearch-group-even and adjust colors. + (isearch-highlight): Add optional arg 'match-data'. + Rewrite search-highlight-submatches part to recycle faces. + + * doc/emacs/search.texi (Search Customizations): Amend the + documentation for isearch-group faces. + + (bug#6227, bug#43702) + +2020-10-06 Alan Third + + Fix crash when creating new NS frame (bug#43812) + + * src/nsterm.m (ns_clear_under_internal_border): Check the frame is + live. + +2020-10-06 Juri Linkov + + Add check for bound and true 'ido-everywhere' in multi-occur--prompt + + * lisp/replace.el (multi-occur--prompt): Check if 'ido-everywhere' is + bound and true (bug#41633). + +2020-10-06 Juri Linkov + + Fix args of truncate-string-to-width in ibuffer-compile-make-substring-form + + * lisp/ibuffer.el (ibuffer-compile-make-substring-form): Fix args of + truncate-string-to-width call (bug#41250) + +2020-10-06 Andrea Corallo + + * Native compiling do not target a directory with no write permission + + * src/comp.c (Fcomp_el_to_eln_filename): Check for write + permission while choosing the output directory in + `comp-eln-load-path'. + +2020-10-06 Stefan Monnier + + * lisp/international/mule.el (define-coding-system): Revert accidental change + + This was accidentally included in a9f147af716aa026ec7778202901c4cb4bd5487d + "Use the full name of the null byte/character, not its abbreviation". + +2020-10-06 Stefan Monnier + + * lisp/international/mule-util.el: Revert bug#41250 workaround + + (truncate-string-ellipsis): Use the '' character itself since it + should work now and is more readable. + +2020-10-06 Stefan Monnier + + * lisp/international/ja-dic-cnv.el: Attempt to fix bug#41250 + + (skkdic-convert): Only bind `coding-system-for-read` where needed. + +2020-10-06 Mattias Engdeg奪rd + + Suppress obsoletion warning in test of obsolete rx function + + * test/lisp/emacs-lisp/rx-tests.el (rx-compat): Add byte-compilation + warning suppression. + +2020-10-06 Mattias Engdeg奪rd + + Fix last change + + * lisp/international/mule-util.el (truncate-string-ellipsis): + Use Unicode hex escapes instead of named escapes here, because \N{...} + is not available during bootstrapping. (Bug#41250) + +2020-10-06 Eli Zaretskii + + Fix last change + + * lisp/international/mule-util.el (truncate-string-ellipsis): Add + a FIXME comment that explains the last change. (Bug#41250) + +2020-10-06 Juri Linkov + + Don't use the character '' literally in mule-util.el (bug#41250) + + * lisp/international/mule-util.el (truncate-string-ellipsis): + Replace the character '' with its Unicode name. + +2020-10-06 Lars Ingebrigtsen + + Fix animate test that somehow changed recently + +2020-10-06 Lars Ingebrigtsen + + Fix mule-util-tests after recent truncation changes + + * test/lisp/international/mule-util-tests.el: Fix truncation checks. + +2020-10-06 Daniel Mart鱈n + + Add missing full stop in MS-DOS processes documentation + + * doc/emacs/msdos-xtra.texi (MS-DOS Processes): Minor copy edig + (bug#43820). + +2020-10-06 Harald J旦rg + + cperl-mode: Fix a test to ensure cperl-mode is active + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-test-indent-exp): Make sure that cperl-mode is active + for testing 'cperl-indent-exp', also skip this test under + perl-mode. + + * test/lisp/progmodes/cperl-mode-resources/cperl-indent-exp.pl: + Eliminate dependency on unrelated customizable variables (bug#10483). + +2020-10-05 Andrea Corallo + + * Fix a test in test/lisp/subr-tests.el + + * test/lisp/subr-tests.el (subr-tests-bug22027): Redefine + `read-string' with a lambda with the same number of arguments. + +2020-10-05 Andrea Corallo + + Add a test for primitive redefinition + + * test/src/comp-tests.el (primitive-redefine): New test. + * test/src/comp-test-funcs.el (comp-test-primitive-redefine-f): + New function. + +2020-10-05 Andrea Corallo + + Make primitive redefinition effective through trampoline synthesis + + * lisp/loadup.el (dump-mode): Set `comp-enable-subr-trampolines' + when finished bootstrap. + * src/data.c (Ffset): Call `comp-enable-subr-trampolines' when + redefining a subr. + * src/comp.c (syms_of_comp): Define `comp-subr-trampoline-install' + symbol. + (syms_of_comp): Define `comp-enable-subr-trampolines' variable. + +2020-10-05 Andrea Corallo + + Rename comp-subr-safe-advice -> comp-subr-trampoline-install + +2020-10-05 Andrea Corallo + + Revert "Use `advice-flet' in place of `cl-letf' to avoid primitive... + + This reverts commit 825e85b393a3d78ba43176ecc5bc1a9595d0fbea. + +2020-10-05 Andrea Corallo + + Revert "Add `advice-flet' macro" + + This reverts commit d07d7ab1a0e321ced62ebe5dd9db27eb7e93430e. + +2020-10-05 Andreas Schwab + + Use the full name of the null byte/character, not its abbreviation + + * lisp/subr.el (inhibit-nul-byte-detection): Make it an obsolete alias. + * src/coding.c (setup_coding_system): Use original name. + (detect_coding): Rename nul_byte_found => null_byte_found. + (detect_coding_system): Use original name. + Rename nul_byte_found => null_byte_found. + (Fdefine_coding_system_internal): Use original name. + (syms_of_coding): Rename inhibit-nul-byte-detection to + inhibit-null-byte-detection. + * src/w16select.c (get_clipboard_data): Rename nul_char to null_char. + * src/json.c (check_string_without_embedded_nulls): Rename from + check_string_without_embedded_nuls. + (Fjson_parse_string): Adjust accordingly. + * src/coding.h (enum define_coding_undecided_arg_index) + (enum coding_attr_index): Rename ...nul_byte... to ...null_byte.... + * lisp/info.el (info-insert-file-contents, Info-insert-dir): + * lisp/international/mule.el (define-coding-system): + * lisp/vc/vc-git.el (vc-git--call): + * doc/lispref/nonascii.texi (Lisp and Coding Systems): Use original name. + +2020-10-05 Michael Albinus + + * src/dbusbind.c (xd_signature): Better type check for array elements. + + * test/lisp/net/dbus-tests.el (dbus-test01-compound-types): Extend test. + +2020-10-05 Eli Zaretskii + + Fix merging of region face for non-ASCII characters + + * src/xdisp.c (extend_face_to_end_of_line): Restore the correct + original face used by the iterator on this line, not the ASCII + face. (Bug#43363) + +2020-10-05 Jared Finder + + Sort items in tmm properly, and allow clicking the final item + + * lisp/tmm.el (tmm-menubar-keymap): Sort the final items properly. + (tmm-menubar): Allow clicking the final menu item (bug#43756). + +2020-10-05 Juri Linkov + + Use in Gnus mode lines (when shortening them) + + * lisp/gnus/gnus-sum.el (gnus-set-mode-line): Defer ellipsis + creation to `truncate-string-to-width' (bug#41250). This uses + by default. + +2020-10-05 Andrea Corallo + + * configure.ac (lispdirrel): Fix value for MacOS build. + +2020-10-05 Nathan Moreau + + Improve support for using vc commands in indirect buffers + + * lisp/vc/vc.el (vc-deduce-fileset-1): New defun. + (vc-deduce-fileset): Adapt. + (vc-maybe-buffer-sync): New defun. + (vc-diff): Adapt. + (vc-ediff): Adapt. + (vc-root-diff): Adapt. + (vc-revision-other-window): Adapt (bug#40967). + +2020-10-05 Eli Zaretskii + + Fix the documentation parts of a recent commit + + * lisp/international/mule-util.el (truncate-string-ellipsis): Doc + fix. + + * doc/lispref/display.texi (Size of Displayed Text): Improve + wording and accuracy of the documentation of + 'truncate-string-to-width'. Document the function + 'truncate-string-ellipsis'. + + * etc/NEWS: Improve the wording of the entry for + 'truncate-string-to-width'. + +2020-10-05 Stefan Monnier + + * src/xdisp.c (syms_of_xdisp): New var `redisplay_skip_initial_frame`. + + This makes it possible to run most of the redisplay code (tho not the + actual drawing since there's nowhere to draw) even when there's no + real frame at hand, as is the case in batch mode. + This makes `xdisp-tests--minibuffer-resizing` work even in batch. + + (redisplay_internal): Obey it. + (init_xdisp): Set `echo_area_window` even in noninteractive mode. + * src/dispnew.c (update_frame): Skip the initial frame. + * src/frame.c (make_frame): Use 80x25 as the default initial size. + + * test/src/xdisp-tests.el (xdisp-tests--minibuffer-resizing): + Use the new var and fix use of `executing-kbd-macro`. + +2020-10-04 Andrea Corallo + + * configure.ac : Fix typo for MacOS nativecomp introduced by afb765ab3c + +2020-10-04 Juri Linkov + + Use '' for ellipsis in truncate-string-to-width by default (bug#41250) + + * lisp/international/mule-util.el (truncate-string-ellipsis): + Change the default value to nil. + (truncate-string-ellipsis): New function. + (truncate-string-to-width): Use the value returned from the + function 'truncate-string-ellipsis'. + + * lisp/tab-bar.el (tab-bar-tab-name-truncated): + * lisp/tab-line.el (tab-line-tab-name-ellipsis): + Take advantage of the improvement of the ellipsis default value + in truncate-string-to-width and truncate-string-ellipsis. + + * doc/lispref/display.texi (Size of Displayed Text): + Improve description of truncate-string-ellipsis. + +2020-10-04 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-04 Andrea Corallo + + Make filename hashing compatible with self contained builds (bug#43532) + + * Makefile.in (lispdirrel): Add replace template. + (epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h + * configure.ac (lispdirrel): Define variable (relative path of the + lisp files from the installation directory). + * src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to + rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'. + * src/epaths.in (PATH_REL_LOADSEARCH): Add macro template. + +2020-10-04 Andrea Corallo + + * configure.ac: Better HAVE_NATIVE_COMP description + +2020-10-04 Andrea Corallo + + * Fix function description message for native compiled lisp functions + + * lisp/help-fns.el (help-fns-function-description-header): Fix + message. + +2020-10-04 Andrea Corallo + + * Fix two tests in help-fns-tests.el for native code + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) + (help-fns-test-lisp-defsubst): Fix description string + for native compiled functions. + +2020-10-04 Michael Albinus + + Make dbus-unregister-object work for monitors + + * doc/misc/dbus.texi (Monitoring Messages): Rename from + "Monitoring Events". + (Register Objects, Monitoring Messages): + Mention returned object. + + * lisp/net/dbus.el (dbus-unregister-object): Adapt docstring. + (dbus-unregister-object): Delete monitor if needed. + (dbus-register-monitor): Return proper object. + + * src/dbusbind.c (dbus-registered-objects-table): Adapt docstring. + + * test/lisp/net/dbus-tests.el (dbus--test-signal-handler): + Adapt docstring. + (dbus-test08-register-monitor): New test. + +2020-10-04 Lars Ingebrigtsen + + Make update-file-autoloads respect generated-autoload-file + + * lisp/emacs-lisp/autoload.el (update-file-autoloads): Make + update-file-autoloads respect `generated-autoload-file', as + documented. + +2020-10-03 Eli Zaretskii + + Avoid segfaults in lookup_image when faces were freed + + * src/image.c (lookup_image): Make sure the frame's face cache + exists and has at least the basic faces. If FACE_ID is not a + basic face, and is no longer cached, fall back on the 'default' + face. (Bug#43700) + +2020-10-03 Mauro Aranda + + Support extended menus in widget-choose + + * doc/misc/widget.texi (Utilities): Document widget-choose. + + * etc/NEWS: Document the feature (bug#4787). + * lisp/wid-edit.el (widget--simplify-menu): New function, to convert + extended menus into simplified menus when using the menu to prompt + through the minibuffer. + (widget-choose): Accept a keymap menu. When not using x-popup-menu, + simplify the menu with widget--simplify-menu. Document the changes in + the docstring. + +2020-10-03 Alan Third + Daniel Mart鱈n + + Make drag and drop on NS open all URLs (bug#43470) + + * lisp/term/ns-win.el (ns-drag-n-drop): Merge generic and copy + actions. + +2020-10-02 Alan Mackenzie + + Enhance syntax-tests.el to test comments in parse-partial-sexp + + This now tests the interface between parse-partial-sexp and the low level + comment function in syntax.c + + * test/src/syntax-tests.el (syntax-comments-midpoint): New function. + (syntax-pps-comments): New macro. + (top level): Two new syntax-br-comments tests and five new syntax-pps-comments + tests. + + * test/data/syntax-comments.txt (top level): Amend some test fragments and add + some more. + +2020-10-02 Mattias Engdeg奪rd + + Calc: fix formatting and parsing Unix time (bug#43759) + + The number of days from epoch to Jan 1, 1970 that was used in parsing + and formatting Unix time was incorrect. The previous fix + (in e368697ce36) was incomplete. + + Reported by Vincent Bela誰che. + + * lisp/calc/calc-forms.el (math-unix-epoch): New constant. + (math-format-date-part, math-parse-standard-date, calcFunc-unixtime): + Use math-unix-epoch instead of a constant that is sometimes wrong. + * test/lisp/calc/calc-tests.el (calc-unix-date): New test. + +2020-10-02 Andrea Corallo + + Use `advice-flet' in place of `cl-letf' to avoid primitive redefinition + + * test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use + `advice-flet' to advice primitive avoiding redefinition. + + * test/lisp/tempo-tests.el (tempo-p-element-test) + (tempo-P-element-test, tempo-r-element-test) + (tempo-s-element-test, tempo-r>-element-test): Likewise. + + * test/lisp/subr-tests.el (subr-tests-bug22027): Likewise. + + * test/lisp/shadowfile-tests.el (shadow-test00-clusters) + (shadow-test01-sites, shadow-test06-literal-groups) + (shadow-test07-regexp-groups): Likewise. + + * test/lisp/replace-tests.el (replace-tests-with-undo): Likewise. + + * test/lisp/play/dissociate-tests.el + (dissociate-tests-dissociated-press): Likewise. + + * test/lisp/net/tramp-tests.el (tramp-test10-write-region) + (tramp-test21-file-links): Likewise. + + * test/lisp/kmacro-tests.el (kmacro-tests-call-macro-hint-and-repeat) + (kmacro-tests-repeat-on-last-key) + (kmacro-tests-repeat-view-and-run) + (kmacro-tests-bind-to-key-with-key-sequence-in-use): Likewise. + + * test/lisp/files-tests.el (files-tests-read-file-in-~): Likewise. + + * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): + Likewise. + + * test/lisp/bookmark-tests.el (bookmark-test-bmenu-locate): + Likewise. + + * test/lisp/abbrev-tests.el + (inverse-add-abbrev-skips-trailing-nonword) + (inverse-add-abbrev-skips-trailing-nonword/positive-arg) + (inverse-add-abbrev-skips-trailing-nonword/negative-arg): Likewise. + +2020-10-02 Andrea Corallo + + Add `advice-flet' macro + + The testsuite does large use of primitive redefinition, to avoid that + we define `advice-flet' to use instead as an easy `cl-letf' + replacement. + + * lisp/emacs-lisp/nadvice.el (advice-flet): New macro. + +2020-10-02 Alan Mackenzie + + Enhance syntax-tests.el to test comments in scan-lists + + This now tests the interface between scan_lists and the comment functions. + + * test/src/syntax-tests.el (syntax-br-comments): New macro. + ({-in, ;-in, /*-in): Set parse-sexp-ignore-comments to t. + (top level): Add 15 tests for comments inside brace lists. + + * test/data/syntax-comments.txt (top level): Amend some test fragments. + +2020-10-02 Glenn Morris + + Merge from origin/emacs-27 + + 78eacf31e8 ; Fix many typos in symbols in docs and comments + d5d12707d6 * doc/misc/flymake.texi (Using Flymake): Fix a typo. (Bug... + + # Conflicts: + # lisp/allout.el + # lisp/progmodes/ebrowse.el + +2020-10-02 Glenn Morris + + Merge from origin/emacs-27 + + 41dcbeccf3 Make aliases introduced in previous patch obsolete + 4997032c05 Restore some public debugging functions removed in Emacs 27 + +2020-10-02 Glenn Morris + + Merge from origin/emacs-27 + + 2af6b3147d Clarification in Tramp manual + 8fbaca7d41 Check Emacs version used for Tramp compilation + 90e5549f02 Don't signal an error when saving files on WdebDAV volumes + 6f73cc3579 ; * lisp/net/eww.el (eww-search-words): Doc fix. + ce0842a165 * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it. (... + +2020-10-02 Lars Ingebrigtsen + + Fix electric-buffer-list buffer selection + + * lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is + restored, which isn't always the case if + global-display-line-numbers-mode (bug#43755). This enables + selecting buffers again. + +2020-10-02 Andrea Corallo + + * When advising search in `comp-eln-load-path' the first writable dir + + * lisp/emacs-lisp/comp.el (comp-tampoline-compile): Do not crash + if we can't write in the first entry in `comp-eln-load-path' but + search for another one. + +2020-10-02 Andrea Corallo + + * Fix 'incoherent dumped eln file' error when DUMP-METHOD=pbootstrap + + * src/Makefile.in ($(bootstrap_pdmp)): Add missing --bin-dest + --eln-dest flags. + +2020-10-02 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Better error for incoherent eln. + +2020-10-02 Eli Zaretskii + + * doc/misc/flymake.texi (Using Flymake): Fix a typo. (Bug#43758) + +2020-10-02 Stefan Monnier + + CC Mode: Convert the handling of c-special-indent-hook to standard usage + + * lisp/progmodes/cc-styles.el (c-set-style): Use kill-local-variable rather + than copying the hook's global value to the local binding. + (c-make-styles-buffer-local): Remove redundant make-variable-buffer-local. + +2020-10-02 Robert Pluim + + Don't error if no GPG signing key configured + + * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Partially revert + "Make mml-secure-epg-sign bug out if we can't find an identity". + It causes signing to fail for people who have not set up + mml-secure-{smime,openpgp}-sign-with-sender, which is a regression + from Emacs-26 (Bug#40118). In such a situation gpg will use its + default key. + + Do not merge to master. On master Emacs will query the user. + +2020-10-02 Mattias Engdeg奪rd + + Calc: fix business days calculation (bug43677) + + The calculation of business days was broken in 2012 (probably + 310e60d9454fe2 or thereabouts) when the date representation changed + epoch so that Jan 1, 1 AD became day number 1 instead of 0. Repair + this, along with an unrelated bug that prevented arbitrary holiday + weekdays from working. + + Reported by Aaron Zeng. + + * lisp/calc/calc-forms.el (math-to-business-day) + (math-from-business-day): Correct calculation of weekdays using Calc's + current (Rata Die) chronology. Modify loop condition to cope with odd + sets of holiday weekdays. + * test/lisp/calc/calc-tests.el (calc-business-days): New test. + +2020-10-02 Andrea Corallo + + Clean-up testsuite for vanilla builds + + Tag all native compiler tests and skip them in vanilla builds + + * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE) + (SELECTOR_ALL): Define selectors for vanilla or nativecomp builds. + * test/src/comp-tests.el: Do not native compile test files on + vanilla. + (comp-deftest): New macro to define tests tagging as :nativecomp. + +2020-10-02 Lars Ingebrigtsen + + Fix electric-buffer-list buffer selection + + * lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is + restored, which isn't always the case if + global-display-line-numbers-mode (bug#43755). This enables + selecting buffers again. + +2020-10-02 Dmitry Gutov + + Make xref work better on variables in shell-script-mode + + * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Classify "/" + as punctuation so that `M-.' on $foo/bar works on the $foo part + (bug#25585). + +2020-10-02 Lars Ingebrigtsen + + Make `C-c C-e' in Python buffers work + + * lisp/progmodes/python.el (python-shell-send-statement): Don't + send a cookie, because that leads to the naked expression not + being evaled (bug#43450). + (python-shell-send-region): Allow not sending a cookie. + (python-shell-buffer-substring): Ditto. + +2020-10-02 Per Starb辰ck + + python-shell-send-defun doesn't find the (whole) definition + + * lisp/progmodes/python.el (python-shell-send-defun): Fix C-M-x + for definitions like @property\ndef bar(): (bug#37828). + +2020-10-02 Robert Pluim + + Make setting verify-hostname-error not make connections fail + + * lisp/net/gnutls.el (gnutls-boot-parameters): If + verify-hostname-error was set, this would make verify-error a + non-proper list (bug#38602). + +2020-10-02 Lars Ingebrigtsen + + Stop using a dynamically bound 'generated-autoload-file' variable + + * doc/lispref/loading.texi (Autoload): Document change of name + (bug#39823). + + * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Pass + the file name in. + (autoload-generated-file): Ditto. + (autoload-file-load-name): Ditto. + (generate-file-autoloads): Ditto. + (autoload--setup-output): Ditto. + (autoload-generate-file-autoloads): Ditto, and alter doc string to + reflect when `generated-autoload-file' is heeded. + (update-file-autoloads): Pass outfile in to functions. + (autoload-find-destination): Ditto. + (update-directory-autoloads): Make into an obsolete shim around + `make-directory-autoloads'. + (make-directory-autoloads): Renamed from + `update-directory-autoloads' with new semantics. + (batch-update-autoloads): Adjust caller. + + * lisp/emacs-lisp/package.el (package-generate-autoloads): Adjust + caller. + +2020-10-02 Shohei YOSHIDA + + Fix --with-json message + + * configure.ac (WIDE_EMACS_INT): Fix --with-json help message + (bug#43754). + +2020-10-02 Trevor Murphy + + Fix check for derived modes in display-buffer-reuse-mode-window + + * lisp/window.el (display-buffer-reuse-mode-window): Make the + check for derived modes actually work (bug#38677). + +2020-10-01 Tino Calancha + + Fix wdired-do-perm-changes when over Tramp + + * lisp/wdired.el (wdired-do-perm-changes) Use set-file-modes + instead of external program (bug#39284). This fixes the problem + of passing the wrong argument to the external chmod. + +2020-10-01 Tino Calancha + + Fix bug in wdired-get-filename + + * lisp/wdired.el (wdired-get-filename): Acknowledge the first + argument (bug#39280). + * test/lisp/wdired-tests.el (wdired-test-bug39280): Add test. + +2020-10-01 Alan Mackenzie + + Enhance syntax-tests.el to test some comment character handling. + + * test/src/syntax-tests: Add a new section testing some aspects of comment + handling in syntax.c. This needs further enhancement. It uses .... + + * test/data/syntax-comments.txt: A new test file. + +2020-10-01 Juri Linkov + + Use new faces isearch-group-odd and isearch-group-even (bug#43702) + + * lisp/isearch.el (isearch-group-odd, isearch-group-even): New faces + instead of isearch-group-1 .. isearch-group-9. + (isearch-highlight): Use new faces. + +2020-10-01 Allen Li + + Make recentf daily cleanup repeat + + * lisp/recentf.el (recentf-auto-cleanup): Fix wording. + * lisp/recentf.el (recentf-auto-cleanup): Make timer repeat, + update docstring. + * etc/NEWS: Update news (bug#39638). + +2020-10-01 Michael R. Mauger + + 2020-03-29 Michael R. Mauger + + * lisp/progmodes/sql.el (sql-add-product): Re-correct argument + spec. Previous change was due to my mistake; I have + resolved back to the prior behavior (Bug#39960). + * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added + test to insure I don't make the same mistake again. + +2020-10-01 Boruch Baum + + command-execute doc string clarification + + * lisp/simple.el (command-execute): Doc string clarification + (bug#43749). + +2020-10-01 Lars Ingebrigtsen + + Make aliases introduced in previous patch obsolete + + * lisp/emacs-lisp/debug.el (debugger-toggle-locals): + (debug-help-follow): Make reinstated aliases obsolete. + +2020-10-01 Gemini Lasswell + + Restore some public debugging functions removed in Emacs 27 + + * lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function. + (backtrace-to-string): Use it. Fix whitespace (bug#40728). + * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function. + Mark it as obsolete. + (debugger-toggle-locals, debug-help-follow): New aliases. + +2020-10-01 Lars Ingebrigtsen + + Fix loading WSDL data again + + * lisp/net/soap-client.el (soap-make-wsdl): Change the WSDL + namespace back again. + +2020-10-01 Lars Ingebrigtsen + + Fix restoring data in visual-line-mode + + * lisp/simple.el (visual-line-mode): Only save values once, even + if the mode is switched on twice (bug#43730). This makes both + previously set local values for variables like truncate-lines, as + well as default values for truncate-lines restorable. + + * lisp/emulation/cua-base.el (cua-mode): Ditto. + +2020-10-01 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-bootstrap): Tag it as expensive. + +2020-10-01 Stefan Kangas + + Silence byte-compiler in two tests + + * test/lisp/obsolete/cl-tests.el (require): + * test/lisp/simple-tests.el (simple-test-count-words-bug-41761): + Silence byte-compiler. + +2020-10-01 Stefan Kangas + + Remove some obsolete URLs + + * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): + Remove some obsolete URLs. + +2020-10-01 Stefan Kangas + + Don't quote lambdas in several places + + * admin/find-gc.el (find-gc-unsafe): + * lisp/align.el (align-rules-list): + * lisp/comint.el (comint-arguments): + * lisp/double.el (isearch-mode-map): + * lisp/ehelp.el (electric-help-command-loop): + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): + * lisp/emulation/cua-rect.el (cua--copy-rectangle-as-kill) + (cua-copy-rectangle-as-text): + * lisp/eshell/esh-var.el (eshell-parse-variable-ref): + * lisp/hexl.el (hexl-insert-multibyte-char): + * lisp/international/titdic-cnv.el (tsang-quick-converter) + (ziranma-converter): + * lisp/language/tibet-util.el (tibetan-decompose-precomposition-alist): + * lisp/mail/mailalias.el (mail-get-names): + * lisp/mh-e/mh-e.el (mh-auto-fields-list, mh-identity-default): + * lisp/mouse.el (mouse-buffer-menu-map, mouse-buffer-menu-alist): + * lisp/play/gametree.el (gametree-make-heading-function): + * lisp/shell.el (shell--command-completion-data): + * lisp/talk.el (talk-update-buffers): + * lisp/tempo.el (tempo-insert-template, tempo-is-user-element) + (tempo-build-collection): + * lisp/term.el (term-input-filter, term-pager-help): + * lisp/textmodes/table.el (table-delete-column): + * lisp/url/url-cache.el (url-cache-create-filename-human-readable): + * lisp/textmodes/tex-mode.el (latex-imenu-create-index): Don't quote + lambdas. + +2020-10-01 Stefan Kangas + + Don't recommend quoting lambdas + + * doc/misc/calc.texi (Symbolic Lisp Functions): + * doc/misc/cl.texi (Obsolete Lexical Binding): + * lisp/master.el: + * lisp/progmodes/sql.el (sql-interactive-mode): + * lisp/textmodes/flyspell.el (flyspell-mode): + * lisp/textmodes/ispell.el (ispell-message): + * lisp/textmodes/table.el: Doc fixes; don't recommend quoting + lambdas. + +2020-10-01 Michael Albinus + + Clarification in Tramp manual + + * doc/misc/tramp.texi: Harmonize "Git" spelling. + (Frequently Asked Questions): Describe Emacs version mismatch. + +2020-10-01 Michael Albinus + + Check Emacs version used for Tramp compilation + + * lisp/net/tramp-compat.el (tramp-compat-emacs-compiled-version): + New defconst. Raise a warning, when it is not equal to the Emacs + version. + +2020-10-01 Michael Albinus + + Use Fkeywordp in dbusbind.c, again + + * src/dbusbind.c (XD_KEYWORDP): New macro. + (XD_DBUS_TYPE_P, Fdbus__init_bus, xd_read_queued_messages): Use it. + +2020-10-01 Michael Albinus + + Revert last change in dbusbind.c + + * src/dbusbind.c (XD_DBUS_TYPE_P, Fdbus__init_bus) + (xd_read_queued_messages): Revert last change. (Bug#43724) + +2020-10-01 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-c-func-name): Add autoload cookie. + +2020-10-01 Lars Ingebrigtsen + + Remove mml-sec-test that assumes the first signature + + This is no longer supported; the user is asked for what signature to + use. + +2020-10-01 Lars Ingebrigtsen + + Make mml-sec-tests not hang waiting for input + + * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Only query if we're + running interactively. This makes a test not hang. + +2020-10-01 Pip Cet + + Don't optimize away star patterns in minibuffer file name completion + + * lisp/minibuffer.el (completion-pcm--optimize-pattern): Keep + 'star in the pattern (bug#41705). + +2020-10-01 Lars Ingebrigtsen + + Fix the end-of-query prompt in multi-occur and multi-isearch when fido + + * lisp/misearch.el (multi-isearch-read-buffers): Ditto. + + * lisp/replace.el (multi-occur--prompt): New function (bug#41633). + (multi-occur): Use it. + +2020-10-01 Alex Bochannek + + Make gnus-base64-repad a bit stricter again + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Make the code a bit + stricter again. + +2020-10-01 Robert Pluim + + Query for the signer when sending signed mail (with unknown signer) + + * lisp/gnus/mml-sec.el (mml-secure-sender-sign-query): New + function (bug#40118). + (mml-secure-epg-sign): Use it to determine the signer (bug#40118). + + * lisp/gnus/mml-sec.el + (mml-secure-allow-signing-with-unknown-recipient): Remove. + +2020-10-01 martin rudalics + + Fix segfault in some cases when restoring a selected window + + * src/xdisp.c (restore_selected_window): Fix the more grave + problems caused by a function deleting the previously selected + frame or window (bug#39977). + +2020-10-01 Boruch Baum + + Split auto-revert-buffers into several functions + + * lisp/autorevert.el (auto-revert--buffer-candidates) + (auto-revert-buffer): Refactor out... + (auto-revert-buffers): ... from here. + +2020-10-01 Lars Ingebrigtsen + + Fix up previous window excursion patch in epa--select-keys + + * lisp/epa.el (epa--select-keys): Use save-window-excursion + instead of open-coding the macro. + +2020-10-01 Stefan Monnier + + * lisp/term.el: Make C-/ undo in a nested Emacs subprocess + + (term-send-C-_): New function. + (term-raw-map): Use it for `C-/`, as is done in xterm and friends. + +2020-10-01 Stefan Monnier + + * doc/emacs/basic.texi (Basic Undo): Explain the C-/ situation in xterm + + AFAICT, in ttys you can send a `C-_` to Emacs either by pressing + `C-/` (e.g. xterm, uxterm, rxvt, xfce4-terminal, gnome-terminal) + or by pressing `C--` (e.g. rxvt, Linux console). + +2020-10-01 Richard M Stallman + + When recipient has no public key, make offer to skip it optional. + + * epa-mail.el (epa-mail-offer-skip): New option. + (epa-mail-encrypt): If epa-mail-offer-skip is nil, + don't offer to skip a keyless recipient, just cause error. + +2020-10-01 Richard M Stallman + + Clarify previous undo keys change + + Clarify which terminals allow C-/ and which make C-_ easy to type. + +2020-09-30 Lars Ingebrigtsen + + Further doc fixes for dotimes about RESULT + + * lisp/subr.el (dotimes): Be even more explicit about RESULT + (bug#16206). + +2020-09-30 Eli Zaretskii + + Minor documentation copyedits + + * etc/NEWS: + * doc/emacs/dired.texi (Dired Enter): Fix wording, punctuation, + and typos in doc of 'dired-switches-in-mode-line'. + +2020-09-30 Vladimir Nikishkin (tiny change) + + Fix problem with parsing . as a symbol in bovine + + * lisp/cedet/semantic/bovine/scm.el (semantic-lex-scheme-symbol): + Symbols do not have to start with a word-constituent character + (bug#40034). In particular, symbols like : and . are valid. + +2020-09-30 Drew Adams + + Allow controlling the Dired switches shown in the mode line + + * doc/emacs/dired.texi (Dired Enter): Document it (bug#41250). + + * lisp/dired.el (dired-switches-in-mode-line): New variable (bug#41250). + (dired-sort-set-mode-line): Use it. + +2020-09-30 Lars Ingebrigtsen + + Fix problem of having the wrong window selected after saving foo.gpg + + * lisp/epa.el (epa--select-keys): Restore the window configuration + after selecting the key to use (bug#43703). This also ensures + that the buffer we were editing ends up as the current buffer + after saving it, instead of selecting a different window. + +2020-09-30 Andrea Corallo + + * Improve some docstring in src/comp.c + + * src/comp.c (Fcomp_el_to_eln_filename) + (Fcomp__compile_ctxt_to_file): Improve docstring. + (Fcomp__compile_ctxt_to_file): Rename 'file_name' -> 'filename'. + (Fnative_comp_available_p): Improve docstring. + +2020-09-30 Eli Zaretskii + + Fix 'move-to-column' when invisible text follows a TAB + + * src/indent.c (scan_for_column): Accept 2 more arguments, and + report through them the position corresponding to PREVCOL. All + callers changed. + (Fmove_to_column): Use the prev_col's position to test for a TAB + instead of assuming that the TAB is just before point (which is + false when there's invisible text around). (Bug#43587) + + * test/src/indent-tests.el: New file. + +2020-09-30 Lars Ingebrigtsen + + Clarify the "Forgot to expand macro" message + + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Make the + define-after-use warning for macros clearer (bug#43678). + +2020-09-30 Andrea Corallo + + * .gitlab-ci.yml: Uncomment some testing to align with master. + +2020-09-30 Eli Zaretskii + + Minor fixes of recent changes + + * lisp/emacs-lisp/generic.el (define-generic-mode): Fix typos. + + * etc/NEWS: Adjust an entry due to recent changes. + +2020-09-30 Michael Albinus + + Stricter checks for D-Bus compound types. + + * src/dbusbind.c (XD_DBUS_TYPE_P, Fdbus__init_bus) + (xd_read_queued_messages): Use Fkeywordp instead of SYMBOLP. + (xd_signature): Stricter checks for compound types. + + * test/lisp/net/dbus-tests.el (dbus-test01-compound-types): Extend test. + +2020-09-30 Michael Albinus + + Minor code cleanup in dbus-tests.el + + * test/lisp/net/dbus-tests.el (dbus--tests-dir): Make it a defconst. + (dbus--test-method-reentry-handler): Mark args as unused. + (dbus-test04-method-reentry): Tag it :expensive-test. Fix typo. + (dbus-test06-property-types): Remove duplicate test. + (dbus--test-introspect): Use `insert-file-contents-literally'. + (dbus--test-validate-property): Mark expected-annotations as unused. + (dbus--test-validate-m-or-s): Remove superfluous le-clause. + +2020-09-30 Hugh Daschbach + + Add D-Bus method-call reentrant test + + * test/lisp/net/dbus-tests.el (dbus--tests-method-reentry-handler): + New defun. + (dbus-test04-method-reentry): New test. (Bug#43251) + +2020-09-30 Hugh Daschbach + + * test/lisp/net/dbus-tests.el: Add timeout tests. + + (dbus-test04-call-method-timeout, dbus-test07-introspection-timeout): + New tests. + +2020-09-30 Hugh Daschbach + + Add D-Bus introspection tests + + * lisp/net/dbus.el (dbus-annotation-deprecated): New defconst. + + * test/lisp/net/dbus-tests.el (dbus--tests-dir): New defvar. + (dbus--test-introspect, dbus--test-validate-interface) + (dbus--test-validate-annotations, dbus--test-validate-property) + (dbus--test-validate-m-or-s, dbus--test-validate-signal) + (dbus--test-validate-method): New defuns. + (dbus-test07-introspection): New test. + + * test/lisp/net/dbus-resources/org.gnu.Emacs.TestDBus.xml: + New test data. + +2020-09-30 Hugh Daschbach + + * test/lisp/net/dbus-tests.el: Add property tests. (Bug#43252) + + (dbus--test-run-property-test, dbus--test-property): New defuns. + (dbus-test06-property-types): New test for property registration, + set, get. + +2020-09-30 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into clean-up + +2020-09-30 Stefan Monnier + + Don't have C-x = bug out in a "C" locale with non-ASCII chars + + * lisp/simple.el (what-cursor-position): Ensure that we always + have a coding system here, even if the locale is "C" (bug#40702). + +2020-09-30 Lars Ingebrigtsen + + Fix whitespace regexp in gnus-base64-repad + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Fix the whitespace + regexp. + +2020-09-30 Lars Ingebrigtsen + + Fix gnus-base64-repad test failures + +2020-09-30 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (hash-table): Define the type's typep test + +2020-09-30 Lars Ingebrigtsen + + Fix isearch-group-* colours on low-colour displays + + * lisp/isearch.el (isearch-group-1): On low-colour displays, just + use the normal isearch colour (bug#43702). + (isearch-group-2 etc): Ditto. + +2020-09-30 Lars Ingebrigtsen + + define-generic-mode doc string fix + + * lisp/emacs-lisp/generic.el (define-generic-mode): Say what a + generic mode is (bug#43713). + +2020-09-30 Lars Ingebrigtsen + + Give better error feedback on wrong password in .gpg files + + * lisp/epa-file.el (epa-file--find-file-not-found-function): Do a + user-error when there's a wrong password (bug#43704). + (epa--wrong-password-p): New function. + (epa-file-insert-file-contents): Use it, and stash the error away + for later signalling. + + * lisp/emacs-lisp/subr-x.el (if-let): Autoload. + +2020-09-30 Thomas Fitzsimmons + + soap-client: Bump version to 3.2.0 + + * lisp/net/soap-client.el: Bump version to 3.2.0. + +2020-09-30 Thomas Fitzsimmons + + soap-client: Remove FIXME comment + + * lisp/net/soap-client.el (soap-encode-attributes): Remove + cl-defmethod FIXME comment; continue supporting Emacs 24.1. + +2020-09-30 Thomas Fitzsimmons + Paul Eggert + + soap-client: Update soap-decode-date-time + + * lisp/net/soap-client.el (soap-decode-date-time): Add support for + Emacs versions that support fractional seconds. Make DATATYPE + optional. Remove FIXME comment. + +2020-09-29 Michael Albinus + + More strict D-Bus type checking + + * lisp/net/dbus.el (dbus-register-monitor): Register proper key. + (dbus-monitor-handler): Adapt docstring. Use grave text-quoting-style. + + * src/dbusbind.c (xd_signature, xd_append_arg): More strict tests. + (syms_of_dbusbind): Adapt docstring. + + * test/lisp/net/dbus-tests.el (dbus-test01-basic-types): Extend test. + +2020-09-29 Eli Zaretskii + + Don't signal an error when saving files on WdebDAV volumes + + * src/w32.c (acl_get_file): If get_file_security raises the + ERROR_ACCESS_DENIED error, treat that like unsupported ACLs. + +2020-09-29 Andrea Corallo + + * Some clean-up in comp.el + + * lisp/emacs-lisp/comp.el (comp-emit-cond-jump, comp-emit-switch) + (comp-limplify-block, comp-compute-edges) + (comp-ssa-rename, comp-fwprop*, comp-effective-async-max-jobs) + (comp-run-async-workers): Respect max 80 columns. + (batch-byte-native-compile-for-bootstrap): Improve doc + remove + some now unnecessary error handling. + +2020-09-29 Lars Ingebrigtsen + + Fix emacsclient -c foo.txt behaviour with many frames + + * lisp/server.el (server-execute): Pass in whether we opened a new + frame or not (bug#43645). + (server-switch-buffer): Use this to switch to the requested buffer + in the new frame if we have "emacsclient -c foo.txt", and retain + the old behaviour if it's "emacsclient foo.txt". + +2020-09-29 Lars Ingebrigtsen + + Make M-x compile skip the header when looking for errors etc + + * lisp/progmodes/compile.el (compilation--ensure-parse): Skip the + header when parsing (bug#43651). + (compilation-start): Mark the end. + +2020-09-29 Lars Ingebrigtsen + + Fix space parsing in gnus-base64-repad + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Get the separator + regexp right -- there will often be spaces around the newlines. + +2020-09-29 Mattias Engdeg奪rd + + * lisp/gnus/smime.el (smime-openssl-program): Allow nil value. + +2020-09-29 Mattias Engdeg奪rd + + Fix custom-tests with non-GNU grep + + * admin/cus-test.el (cus-test-get-lisp-files): Add path argument required + by standard grep (BSD, for instance). + +2020-09-29 Stefan Monnier + + * src/eval.c (Fapply): Simplify last change + +2020-09-28 Andrea Corallo + + Rename in docstrings "non nil" into "non-nil" + + * lisp/emacs-lisp/comp.el: Rename non nil -> non-nil in doc. + + * src/comp.c: Likewise. + +2020-09-28 Andrea Corallo + + * src/lisp.h: Remove a newline diff left over master. + +2020-09-29 Andrea Corallo + + Clean-up some now unnecessary diff against master + + * lisp/emacs-lisp/autoload.el (update-directory-autoloads): + .eln files have been moved so remove the '.eln' match. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): + Likewise. + + * lisp/emacs-lisp/find-func.el (find-library-suffixes): Clean-up + as '.eln' is no more in `load-suffixes'. + + * lisp/help-fns.el (find-lisp-object-file-name): Clean-up as + `symbol-file' will return the '.elc' file. + + * src/lread.c (Fget_load_suffixes): Remove logic as '.eln' is not + anymore in load-suffixes. + (openp): Two spaces. + +2020-09-28 Michael Albinus + + Improve D-Bus monitor + + * lisp/net/dbus.el (dbus-monitor-method-call) + (dbus-monitor-method-return, dbus-monitor-error) + (dbus-monitor-signal): New defconsts. + (dbus-monitor-goto-serial): New defun. + (dbus-monitor-handler): Use them. Add timestamp. Make also links + between D-Bus messages with the same serial. + +2020-09-28 Earl + + Suggest region contents in highlight-regexp when region active + + * lisp/hi-lock.el (hi-lock-face-buffer): Use the region in the + prompt if the region is active in transient-mark-mode (bug#43641). + +2020-09-28 Harald J旦rg + + cperl-mode: Add compatibility for Emacs 26.1 + + * lisp/progmodes/cperl-mode.el (cperl--time-convert): New + compatibility helper for time-convert (available in Emacs + 27.1) + (cperl--format-prompt): New compatibility helper for + format-prompt (available in Emacs 28) + (cperl-info-on-command): use cperl--format-prompt + (cperl-perldoc): use cperl--format-prompt + (cperl-time-fontification): use cperl--time-convert (bug#43652) + +2020-09-28 Alex Bochannek + + Repad the Face header in Gnus + + * lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Use it. + + * lisp/gnus/gnus-util.el (gnus-base64-repad): New function (bug#43441). + +2020-09-28 Jan Tatarik + + Fix Gnus parsing of weekly recurring icalendar events + + * lisp/gnus/gnus-icalendar.el + (gnus-icalendar-event:recurring-interval): Fix parsing of weekly + recurring events (bug#43669). + + Example: in the absence of explicit INTERVAL value in the calendar + event, a weekly event with occurrences scheduled for Mondays and + Wednesdays should receive the default recurring interval of "1" and the + org mode timestamp repeater should be "+1w". + + Due to a bug in the current code we receive "WEEKLY" and "+WEEKLYw" + instead. The patch fixes the issue. + +2020-09-28 Eli Zaretskii + + * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it. (Bug#43670) + +2020-09-28 Stefan Monnier + + Fix pcomplete completion of things like `xargs` and `sudo` (bug#16197) + + * lisp/pcmpl-unix.el (pcomplete/xargs): Don't `pcomplete-this` around + `pcomplete-command-completion-function`. + (pcomplete/sudo): Make it an alias for `pcomplete/xargs`. + + * lisp/shell.el (shell-command-completion-function): Return the + names from `exec-path` when the command name has no `/`. + +2020-09-27 Michael Albinus + + Document D-Bus monitoring + + * doc/misc/dbus.texi: Replace "symbol" by "keyword" where appropriate. + (Alternative Buses): Adapt dbus-init-bus description. + (Errors and Events): Adapt dbus-event structure. New defuns + dbus-event-destination-name, dbus-event-handler and dbus-event-arguments. + (Monitoring Events): New node. + + * lisp/net/dbus.el: Replace "symbol" by "keyword" where appropriate. + (cl-lib): Require. + (dbus-register-monitor): Adapt the argument list. + (dbus-monitor-handler): Extend. + (dbus-init-bus): Adapt docstring. + + * test/lisp/net/dbus-tests.el (dbus-test01-compound-types): + Skip if needed. Extend test. + +2020-09-27 Glenn Morris + + Merge from origin/emacs-27 + + 0b78785a9b (origin/emacs-27) Minor copyedits in the Emacs user manual + 0dfc6fdc1f Followup to a recent change in menu-bar.el + 767713682c Enable "Continue Tags Search" menu item only when it can b... + 4bb7532163 Fix soap-client URL + +2020-09-27 Glenn Morris + + Merge from origin/emacs-27 + + f31c6792ab Fix support for Zip64 zip files + ba635a19fb * lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix. (B... + cc8fef2bdd Avoid infinite recursion with 'relative' line numbers display + 395f10cb98 ; Fix more trivial typos + bf4accb65e ; Fix some trivial typos + + # Conflicts: + # etc/NEWS + # lisp/arc-mode.el + +2020-09-27 Pip Cet + + Fix more single-byte accesses caused by bytepos/charpos confusion + + * src/cmds.c (internal_self_insert): Use FETCH_BYTE, not + FETCH_CHAR, for a decremented byte position (bug#41520). + + * src/xdisp.c (Fwindow_text_pixel_size, trailing_whitespace_p): Ditto. + +2020-09-27 Pip Cet + + Handle single-argument `apply' consistently (bug#40968) + + * src/eval.c (Fapply): Handle (apply nil) without crashing. + Document single-argument form. + * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Don't attempt + to optimize single-argument apply. + * doc/lispref/functions.texi (Calling Functions): Document + single-argument apply. Provide example (bug#40968). + +2020-09-27 Pip Cet + + Avoid 1s sleep-for before sending the startfile to a comint process + + * lisp/comint.el (comint-exec): Simplify startup file code. + (Bug#41640). + +2020-09-27 Simon Lang + + Add a new grep-match-regexp variable + + * doc/emacs/building.texi (Grep Searching): Document it. + + * lisp/progmodes/grep.el (grep-match-regexp): New variable (bug#41766). + (grep-filter): Use it. + +2020-09-27 Mattias Engdeg奪rd + + Minor string-search optimisations (bug#43598) + + * src/fns.c (Fstring_search): Perform cheap all-ASCII checks before more + expensive ones. Use a faster loop when searching for non-ASCII + non-raw bytes. + * test/src/fns-tests.el (string-search): Add more test cases. + +2020-09-27 Mattias Engdeg奪rd + + Improve accuracy in string-replace description (bug#43598) + + * doc/lispref/searching.texi (Search and Replace): More careful + description; string-replace does not necessarily return a copy. + +2020-09-27 Eli Zaretskii + + Minor copyedits in the Emacs user manual + + * doc/emacs/emacs.texi (Top): Remove "real-time" from the Emacs + description; add "advanced", to be consistent with what we say in + the Introduction section. (Bug#43633) + +2020-09-27 Eli Zaretskii + + Improve documentation of the 'abbrev-suggest' feature + + * lisp/abbrev.el (abbrev-suggest, abbrev-suggest-hint-threshold) + (abbrev-suggest-show-report): Improve wording of the doc strings. + + * doc/emacs/abbrevs.texi (Abbrevs Suggestions): Fix the typo in + the node name. Improve wording. + * doc/emacs/emacs.texi (Top): Add the new node in the @detailmenu + section. + + * etc/NEWS: Improve wording of the NEWS entry for + 'abbrev-suggest'. + +2020-09-27 Eli Zaretskii + + Improve display of raw bytes in the echo-area + + * src/print.c (print_object): When printing a unibyte string, + convert non-ASCII bytes to their character code, before sending + them to 'printchar'. (Bug#43632) + +2020-09-27 Lars Ingebrigtsen + + Fix searching for multibyte needles in unibyte haystacks + + * src/fns.c (Fstring_search): Make this work better when searching + unibyte haystacks for multibyte needles (bug#43598). + +2020-09-27 Lars Ingebrigtsen + + Make dired-replace-in-string obsolete + + * lisp/dired.el (dired-insert-directory): + * lisp/dired-aux.el (dired-rename-subdir, dired-rename-subdir-2) + (dired-insert-subdir): Adjust callers. + + * lisp/dired.el (dired-replace-in-string): Make obsolete. + +2020-09-27 Lars Ingebrigtsen + + Add tiny optimization for string-search + + * src/fns.c (Fstring_search): Add tiny optimization for needles + that are longer than the haystack (bug#43598). + +2020-09-27 Lars Ingebrigtsen + + Rename replace-in-string to string-replace + + * doc/lispref/searching.texi (Search and Replace): Update. + * lisp/bindings.el (mode-line-position): Update callers. + + * lisp/subr.el (string-replace): Rename from replace-in-string + since that clashes with XEmacs' replace-in-string which is + equivalent to the Emacs replace-regexp-in-string (bug#43598). + +2020-09-27 Lars Ingebrigtsen + + Fix gnus-faq example + + * doc/misc/gnus-faq.texi (FAQ 6-2): replace-in-string was the XEmacs + name for the function. + +2020-09-27 Lars Ingebrigtsen + + Slight replace-in-string optimization + + * lisp/subr.el (replace-in-string): Optimize to return the + original string if nothing was replaced (bug#43598). + +2020-09-26 Mathias Dahl + + Abbrev suggestions helps users remember to use defined abbrevs + + * lisp/abbrev.el (abbrev-suggest): New defcustom. + (abbrev-suggest-hint-threshold): New defcustom. + (abbrev--suggest-get-active-tables-including-parents): New defun. + (abbrev--suggest-get-active-abbrev-expansions): New defun. + (abbrev--suggest-count-words): New defun. + (abbrev--suggest-get-previous-words): New defun. + (abbrev--suggest-above-threshold): New defun. + (abbrev--suggest-saved-recommendations): New defvar. + (abbrev--suggest-inform-user): New defun. + (abbrev--suggest-shortest-abbrev): New defun. + (abbrev--suggest-maybe-suggest): New defun. + (abbrev--suggest-get-totals): New defun. + (abbrev-suggest-show-report): New defun. + (expand-abbrev): If the previous word was not an abbrev, maybe + suggest an abbrev to the user. + * doc/emacs/abbrevs.texi (Abbrev suggestions): New section. + * etc/NEWS: Announce abbrev suggestions. + +2020-09-26 Lars Ingebrigtsen + + Fix the patch tagging in submit-emacs-patch + + * lisp/mail/emacsbug.el (submit-emacs-patch): Put the tags in the + debbugs pseudo-headers because X-Debbugs-Tags is not a thing that + exists. + +2020-09-26 Eli Zaretskii + + Followup to a recent change in menu-bar.el + + * lisp/fileloop.el (fileloop--operate-function): Mention in a + comment that menu-bar.el relies on the default value. + +2020-09-26 Lars Ingebrigtsen + + message-add-action doc string fix + + * lisp/gnus/message.el (message-add-action): Document types. + +2020-09-26 Mauro Aranda + + Display some character widget values in a more user-friendly way + + * lisp/wid-edit.el (widget-character--escape-sequences-alist): New + variable. + (widget-character--change-character-display): New function. Use the new + variable. + (widget-character-notify): New function, to keep track of the changes + in the character widget, and display characters like tab, + newline and spaces better. + (character widget): Use widget-character-notify as the notify + function. Use widget-character--change-character-display for the + internal representation of value (bug#15925). + +2020-09-26 Lars Ingebrigtsen + + Make macroexpand of `push' slightly less confusing + + * lisp/subr.el (push): Use a symbol with a different name to make + macroexpand look slightly less confusing (bug#43601). + +2020-09-26 Lars Ingebrigtsen + + Fix defcustom types of some variables defined in C + + * lisp/cus-start.el (standard): Fix the defcustom type of a number + of variables defined in C (bug#43611). + +2020-09-26 Lars Ingebrigtsen + + Fix mouse highlighting in Customize buffers + + * lisp/wid-edit.el (widget-button-click): Remove a + newly-introduced check that made mouse highlights no longer work + (bug#43612). It's unclear what the check was trying to fix. + +2020-09-26 Harald J旦rg + + cperl-mode: Delete conditional code where conditions evaluate to nil + + * lisp/progmodes/cperl-mode.el (cperl-force-face): This + macro's single effect is now inlined, and the macro is gone. + (cperl-problems): The reference to choose-color.el, which + is no longer available for download, is deleted. + (no function): A list of unnecessary empty variable + definitions is gone. They were needed for Emacs v19 and + below. + (cperl-init-faces-weak): This function does no longer do + anything and is therefore deleted. + (cperl-init-faces): Some bodies of conditional code is deleted + because as of today the conditions evaluate to constants. The + face cperl-nonoverridable-face is no longer available as + variable and needs to be doubly-quoted in one place (bug#43622). + +2020-09-26 Andrea Corallo + + Always set 'Vexec_path' before 'Vinvocation_directory' (bug#43137) + + Do this as depending on the OS if argv0 is not populated 'Vexec_path' + is used to infer 'Vinvocation_directory'. + + * src/pdumper.c (pdumper_load): Invoke 'init_vars_for_load' instead + of 'set_invocation_vars'. + + * src/lisp.h: Extern 'init_vars_for_load' instead of + 'set_invocation_vars' . + + * src/emacs.c (set_invocation_vars): Make it static and remove + double invocation guard. + (init_vars_for_load): Wrap 'init_callproc_1' and 'set_invocation_vars' + calls + add double invocation guard. + (init_cmdargs): Move out 'set_invocation_vars' invocation. + (main): Call 'init_vars_for_load' instead of 'init_callproc_1'. + +2020-09-26 Andrea Corallo + + * lisp/emacs-lisp/cl-macs.el (cl--optimize): Add a FIXME. + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-26 Stefan Kangas + + Silence some byte-compiler warnings + + * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode): + * test/lisp/custom-tests.el (cus-test-opts): + * test/lisp/help-fns-tests.el (foo-test-map) + (help-fns-test--describe-keymap-foo): + * test/src/fns-tests.el (w32-collate-ignore-punctuation) + (fns-tests-func-arity): Silence byte-compiler warnings. + +2020-09-26 Stefan Kangas + + Repurpose libxml test for obsolete argument + + * test/src/xml-tests.el (libxml-tests): Move half this test for the + recently obsoleted fourth argument to libxml-parse-xml-region... + * test/lisp/xml-tests.el (xml-tests--remove-comments): ...to a new + test here for xml-remove-comments. + + * test/src/xml-tests.el (libxml-tests--data-comments-discarded): + Move test data from here... + * test/lisp/xml-tests.el (xml-tests--data-with-comments): ...to here. + +2020-09-26 Michael Albinus + + * etc/NEWS: Add new D-Bus monitor functionality. Fix typos. + +2020-09-26 Michael Albinus + + Add D-Bus monitor + + * lisp/net/dbus.el (dbus-interface-monitoring): New defconst. + (dbus-call-method, dbus-call-method-asynchronously) + (dbus-send-signal, dbus-method-return-internal) + (dbus-method-error-internal, dbus-check-arguments): Accept also + :system-private and :session-private. + (dbus-check-event, dbus-event-path-name) + (dbus-event-interface-name) + (dbus-event-member-name, dbus-property-handler) + (dbus-handle-bus-disconnect): Adapt according to new structure. + (dbus-handle-event): Handle also monitor events. + (dbus-event-destination-name, dbus-event-handler) + (dbus-event-arguments, dbus-register-monitor, dbus-monitor-handler): + New defuns. + + * src/dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS, xd_remove_watch) + (Fdbus__init_bus): Accept also :system-private and :session-private. + (xd_read_message_1): Add destination and error_name to + dbus-event. Handle monitor events. + (syms_of_dbusbind): Declare QCsystem_private, QCsession_private + and QCmonitor. + (dbus-registered-objects-table): Fix docstring. + +2020-09-26 Eli Zaretskii + + Enable "Continue Tags Search" menu item only when it can be used + + * lisp/menu-bar.el (menu-bar-search-menu) : Enable + only when there was a previous tags search. (Bug#43569) + (menu-bar-replace-menu) : Enable only when + there was a previous tags-replace. + +2020-09-26 Stefan Kangas + + Fix byte-compiler warning in CEDET + + * lisp/cedet/semantic/lex.el (semantic-lex-catch-errors): Fix + byte-compiler warning by removing obsolete variable. + +2020-09-26 Paul Eggert + + Fix soap-client URL + + * lisp/net/soap-client.el (soap-create-envelope): + Fix URL that I broke in 2019-09-23T06:53:30Z!eggert@cs.ucla.edu. + Problem reported by Thomas Fitzsimmons. + +2020-09-26 Thomas Fitzsimmons + + soap-client.el: Prevent some invalid encoding warnings + + * lisp/net/soap-client.el (soap-encode-xs-complex-type): Do not + warn about missing non-nillable slot if type iself is optional. + +2020-09-25 Glenn Morris + + Fix out-of-tree make check + + * test/lisp/custom-tests.el (custom-test-admin-cus-test): New const. + (check-for-wrong-custom-types): Use it. + +2020-09-25 Alan Third + + Tidy up NS color handling + + * src/nsimage.m (COLORSPACE_NAME): New macro to find the current + colorspace. + ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): + ([EmacsImage initForXPMWithDepth:width:height:]): Use the current + colorspace. + * src/nsterm.h (NSAppKitVersionNumber10_7): + (NSAppKitVersionNumber10_10): Define for macOS version checks. + * src/nsterm.m ([NSColor colorForEmacsRed:green:blue:alpha:]): Tidy up + the version checking. + ([NSColor colorUsingDefaultColorSpace]): Tidy the version checking and + use [NSColor colorUsingColorSpace:] with GNUstep. + +2020-09-25 Alan Third + + Remove obsolete macOS support for NS font backend + + The ns font backend is has been disabled on macOS for a long time and + doesn't work correctly even if re-enabled. + + * src/nsfont.m: + (ns_char_width): + (ns_ascii_average_width): + (ns_get_covering_families): + (nsfont_open): + (nsfont_close): + (nsfont_draw): + (ns_uni_to_glyphs): + (ns_glyph_metrics): + (EmacsGlyphStorage): Remove all Cocoa only code. + * src/nsterm.h (EmacsGlyphStorage): Remove. + (struct nsfont_info): Make GNUstep only. + * src/nsterm.m (ns_compute_glyph_string_overhangs): Remove GNUstep + only code from Cocoa builds. + +2020-09-25 Alan Third + + Implement internal border colors on NS (bug#41071) + + * src/nsterm.m (ns_clear_under_internal_border): New function. + (ns_after_update_window_line): Use the correct background color. + (ns_redisplay_interface): Add ns_clear_under_internal_border. + +2020-09-25 Mattias Engdeg奪rd + + string-search robustness and documentation improvement (bug#43598) + + * src/fns.c (Fstring_search): Check START-POS argument range. + Simplify logic. Improve doc string. + * test/src/fns-tests.el (string-search): Add test cases. + * doc/lispref/strings.texi (Text Comparison): Elaborate. + * lisp/emacs-lisp/byte-opt.el (pure-fns): Mark string-search as pure. + +2020-09-25 Eli Zaretskii + + Fix support for Zip64 zip files + + * lisp/arc-mode.el (archive-zip-summarize): Fix detection of Zip64 + central directory. Support 64-bit file size field used by Zip64. + (Bug#43597) + +2020-09-25 Noam Postavsky + + * CONTRIBUTE: Don't recommend action stamps + + * CONTRIBUTE: Remove mention of the "action stamp" thing (bug#20609). + +2020-09-25 Lars Ingebrigtsen + + Partially revert previous prolog.el cleanup + + * lisp/progmodes/prolog.el (prolog-font-lock-keywords): Partially + revert previous patch -- we want the prolog-warning-face symbol, + not its value. + +2020-09-25 Lars Ingebrigtsen + + Fix defcustom type in sql.el for sql-postgres-login-params + + * lisp/progmodes/sql.el (sql-login-params): Fix defcustom type to + match sql-postgres-login-params value. + +2020-09-25 Lars Ingebrigtsen + + Fix a defcustom type in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (gdb-display-source-buffer-action): Fix + defcustom type to match the value. + +2020-09-25 Lars Ingebrigtsen + + Fix defcustom type in whitespace.el + + * lisp/whitespace.el (whitespace-space-after-tab-regexp) + (whitespace-indentation-regexp): The first string here isn't a + regexp, it's a string (that's expanded with format to be a regexp). + +2020-09-25 Lars Ingebrigtsen + + Fix the defcustom type fix in python.el + + * lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix + defcustom type (bug#30990). + +2020-09-25 Lars Ingebrigtsen + + Fix some defcustom types + + * lisp/whitespace.el (whitespace-style): + * lisp/gnus/message.el (message-screenshot-command): + * lisp/progmodes/compile.el (compilation-transform-file-match-alist): + * lisp/progmodes/gdb-mi.el (gdb-default-window-configuration-file): + * lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix the + defcustom types. + * lisp/progmodes/sql.el (sql-password-wallet): Fix the value. + +2020-09-25 Lars Ingebrigtsen + + Add an expensive test for defcustom types + + * admin/cus-test.el (cus-test-opts): Return the tests. + + * test/lisp/custom-tests.el (check-for-wrong-custom-types): Test + custom types (bug#30990). + +2020-09-25 Lars Ingebrigtsen + + Mark string-search as being side effect free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add + string-search. + +2020-09-25 Noam Postavsky + + Make the Man completion code work better if man -k fails + + * lisp/man.el (Man-completion-table): Check the return code for + "man -k" and assume it failed if there's a non-zero exit code + (bug#16722). + +2020-09-25 Tino Calancha + + Use the char history in zap-up-to-char + + * lisp/misc.el (zap-up-to-char): Use read-char-from-minibuffer + (bug#39154). + +2020-09-25 Mattias Engdeg奪rd + + Fix replace-in-string infloop with empty pattern string (bug#43598) + + * lisp/subr.el (replace-in-string): Raise an error if FROMSTRING is + empty. + * test/lisp/subr-tests.el (replace-in-string): Add test case. + +2020-09-25 Lars Ingebrigtsen + + Tweak updating the process mark in set-process-buffer + + * src/process.c (Fset_process_buffer): Only update the process + mark if we actually change the buffer. + +2020-09-25 Eli Zaretskii + + * lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix. (Bug#43600) + +2020-09-25 Lars Ingebrigtsen + + Remove more compat code from prolog.el + + * lisp/progmodes/prolog.el (prolog-font-lock-keywords): Remove + compat test for a face that's always defined. + +2020-09-25 Eli Zaretskii + + Avoid infinite recursion with 'relative' line numbers display + + * src/xdisp.c (display_count_lines_visually): Bind + 'display-line-numbers' to 'relative' around 'start_display' as + well, since that can invoke 'move_it_to' internally, thus + causing infinite recursion. (Bug#43589) + +2020-09-25 Stefan Monnier + + * lisp/progmodes/ruby-mode.el (ruby-use-smie): Declare obsolete + + (ruby-mode-map, ruby-mode-menu): Don't use ruby-for/backward-sexp any more. + (ruby-mode-variables): Always setup SMIE navigation. + Still obey `ruby-use-smie` for indentation. + (ruby-forward-sexp, ruby-backward-sexp): Mark as obsolete. + +2020-09-25 Lars Ingebrigtsen + + Remove some XEmacs compat code from prolog.el + + * lisp/progmodes/prolog.el (prolog-replace-in-string): Remove XEmacs + compat code and make obsolete. + (prolog-guess-fill-prefix): Adjust callers. + (prolog-uncomment-region): Make obsolete. + (prolog-mode-syntax-table): syntax-propertize-rules is always defined. + (prolog-syntax-propertize-function): Ditto. + (prolog-face-name-p): Make into obsolete alias. + (prolog-font-lock-keywords): Adjust callers. + +2020-09-25 Lars Ingebrigtsen + + Clean up replace-in-string slightly + + * lisp/subr.el (replace-in-string): Clean up previous fix slightly. + +2020-09-25 Lars Ingebrigtsen + + Fix previous replace-in-string rewrite + + * lisp/subr.el (replace-in-string): Fix logic errors in previous + patch. + +2020-09-25 Lars Ingebrigtsen + + Fix replace-in-string multibyteness problems with string-search + + * lisp/subr.el (replace-in-string): Simplify by using the new + string-search function (bug#43598). + +2020-09-25 Lars Ingebrigtsen + + Add a new function 'string-search' + + * doc/lispref/strings.texi (Text Comparison): Document it. + * src/fns.c (Fstring_search): New function. + +2020-09-25 Stefan Monnier + + * lisp/help-fns.el (help-fns--first-release): Use etc/NEWS as well + +2020-09-24 Glenn Morris + + Update a failing lisp test + + * test/lisp/emacs-lisp/lisp-tests.el (up-list-no-cross-string): + Update for recent "Don't signal scan-error" change. + +2020-09-24 Juri Linkov + + Horizontal scrolling for mouse wheel with Shift modifier (bug#43568) + + * lisp/mwheel.el (mouse-wheel-scroll-amount): Change 'shift' default value + from 5 to 'hscroll'. Add new option "Scroll horizontally" for 'hscroll'. + (mwheel-scroll): Handle value 'hscroll' and call mwheel-scroll-left-function + or mwheel-scroll-right-function. + + * doc/emacs/frames.texi (Mouse Commands): Update for horizontal scrolling + with Shift modifier. + +2020-09-24 Theodor Thornhill + + Set mwheel default scroll value to 1 (bug#43380) + + * lisp/mwheel.el (mouse-wheel-scroll-amount): Change default value 5 to 1 + and shift default value from 1 to 5. + Default value is changed as discussed in etc/TODO. + +2020-09-24 Juri Linkov + + * lisp/simple.el (goto-line-read-args): More relevant default line number. + +2020-09-24 Glenn Morris + + Add skip condition for some dbus tests + + * test/lisp/net/dbus-tests.el (dbus-test01-type-conversion) + (dbus-test01-basic-types): Add skip for hydra.nixos.org failures. + +2020-09-24 Lars Ingebrigtsen + + Make set-process-buffer also update the process mark + + * src/process.c (Fset_process_buffer): Update the process mark + (bug#43573). + +2020-09-24 Lars Ingebrigtsen + + Refactor process mark setting + + * src/process.c (update_process_mark): Make into its own function. + (Fmake_process, Fmake_pipe_process, Fmake_serial_process) + (connect_network_socket): Use it. + +2020-09-24 dickmao + + Add sanity check for Gnus groups that belong to no topic + + * lisp/gnus/gnus-topic.el (gnus-topic-change-level): Do not change + gnus-topic-alist when group is outside "topology" (bug#43582). + +2020-09-24 Eli Zaretskii + + Fix last change in resize_mini_window + + * src/xdisp.c (resize_mini_window): Prevent recentering the + mini-window once its start position is computed. (Bug#43572) + +2020-09-24 Lars Ingebrigtsen + + Fix recent simple.el compilation warning + + * lisp/simple.el (goto-line-relative): Suppress byte compilation + warning about goto-line. + +2020-09-24 Michael Albinus + + Minor Tramp cleanup + + * doc/misc/tramp.texi: Some stylistic changes. + (Frequently Asked Questions): Mention ProxyCommand and ProxyJump. + + * lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options): + Fix docstring. + +2020-09-24 Andrea Corallo + + Rename comp--subr-safe-advice -> comp-subr-safe-advice + + * lisp/emacs-lisp/comp.el (comp-subr-safe-advice): Rename + comp--subr-safe-advice -> comp-subr-safe-advice. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. + +2020-09-24 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-body-eff): Improve style. + +2020-09-24 Andrea Corallo + + Do not install a subr trampoline twice + + * src/comp.c (syms_of_comp): Define and initialize + 'Vcomp_installed_trampolines_h'. + (Fcomp__install_trampoline): Fill 'Vcomp_installed_trampolines_h' + * lisp/emacs-lisp/comp.el (comp--subr-safe-advice): Make use of + `comp-installed-trampolines-h' to guard against installing a + trampoline twice. + +2020-09-24 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Clean-up. + +2020-09-24 Andrea Corallo + + Add a test for primitive advicing effectiveness + + * test/src/comp-test-funcs.el (comp-test-primitive-advice-f): New + function. + * test/src/comp-tests.el (comp-test-primitive-advice): New test. + +2020-09-24 Andrea Corallo + + Call `comp--subr-safe-advice' from the advice machinery + + * lisp/emacs-lisp/nadvice.el (advice--add-function): Call + `comp--subr-safe-advice' when necessary. + + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewhise. + +2020-09-24 Andrea Corallo + + * Add `comp--subr-safe-advice' entry point + + Add a Lisp side entry-point to be called to make primitive adivicing + effective. + + * lisp/emacs-lisp/comp.el (comp-trampoline-sym) + (comp-trampoline-filename): New substs. + (comp-make-lambda-list-from-subr, comp-search-trampoline) + (comp-tampoline-compile): New functions + +2020-09-24 Eric Abrahamsen + + Write Gnus active files with quotes around group names + + * lisp/gnus/gnus-util.el (gnus-write-active-file): In case of group + names with spaces in them (see Bug#42823). Names are later read with + `read', so this should be quite robust. + +2020-09-23 Juri Linkov + + New command goto-line-relative (bug#5042, bug#9917) + + * lisp/simple.el (goto-line-read-args): New function with code from goto-line. + (goto-line): New arg RELATIVE. Also use 'widen-automatically' to + leave all lines accessible in the narrowed buffer. + (goto-line-relative): New command. + + * lisp/info.el (Info-mode-map): Remap 'goto-line' to 'goto-line-relative'. + + * doc/emacs/basic.texi (Moving Point): + * doc/emacs/display.texi (Optional Mode Line): Mention goto-line-relative. + +2020-09-23 Andrea Corallo + + * Add `comp--install-trampoline' machinery + + * src/comp.c (Fcomp__install_trampoline): New function to + install a subr trampoline into the function relocation table. + Once this is done any call from native compiled Lisp to the + related primitive will go through the `funcall' trampoline + making advicing effective. + +2020-09-23 Andrea Corallo + + Make CHECK_SUBR public + + * src/data.c (CHECK_SUBR): Move from here to... + * src/lisp.h (CHECK_SUBR): ...to here. + +2020-09-23 Stefan Kangas + + Remove TODO to convert files to unit tests + + * test/lisp/textmodes/css-mode-tests.el: + * test/lisp/progmodes/ruby-mode-tests.el: Remove TODO to convert test + files into unit tests. The files are still useful for debugging. + Ref: https://lists.gnu.org/r/emacs-devel/2020-09/msg01906.html + +2020-09-23 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-final): Log when interactively invoked. + + * lisp/emacs-lisp/comp.el (native-compile): Add OUTPUT parameter. + +2020-09-23 Stefan Kangas + + Convert some completion.el tests to ERT + + * test/lisp/completion-tests.el: New file. + * lisp/completion.el: Move commented out tests to completion-tests.el. + +2020-09-23 Stefan Kangas + + Convert allout unit tests to ERT + + * test/lisp/allout-tests.el: New file. + * lisp/allout.el (allout-run-unit-tests-on-load) + (allout-run-unit-tests): Remove. + (allout-tests-obliterate-variable) + (allout-tests-globally-unbound, allout-tests-globally-true) + (allout-tests-locally-true, allout-test-resumptions): Move to + allout-tests.el + + * test/lisp/allout-widgets-tests.el: New file. + * lisp/allout-widgets.el (allout-widgets-run-unit-tests-on-load) + (allout-widgets-run-unit-tests): Remove. + (allout-test-range-overlaps): Move to allout-widgets-tests.el. + +2020-09-23 Stefan Kangas + + * lisp/repeat.el: Remove obsolete comment. + +2020-09-23 Michael Albinus + + * test/lisp/net/dbus-tests.el (dbus-test01-basic-types): Adapt test. + +2020-09-23 Mattias Engdeg奪rd + + Don't signal scan-error when moving by sexp interactively + + * lisp/emacs-lisp/lisp.el (forward-sexp, backward-sexp, forward-list) + (backward-list, down-list, up-list, mark-sexp, kill-sexp) + (backward-kill-sexp): Remove unsightly scan-error when running + interactively and no further movement by sexp can be made (bug#43489). + +2020-09-23 Mauro Aranda + + Allow the newline character in the character widget (Bug#15925) + + * lisp/wid-edit.el (widget-specify-field): Extend check for adding the + boundary overlay. Plus, a minor comment indentation fix. + (character widget): Tweak the valid-regexp to allow the newline + character. + + * test/lisp/wid-edit-tests.el (widget-test-character-widget-value) + (widget-test-editable-field-widget-value): New tests (bug#15925). + +2020-09-23 Andrew G Cohen + + Improve mark handling in gnus nnselect + + * lisp/gnus/nnselect.el (numbers-by-group, + nnselect-request-update-info, nnselect-push-info): Handle all three + mark types ('tuple, 'range, 'list) and general speedups. + +2020-09-23 Alan Mackenzie + + Handle escaped comment enders correctly in syntax.c, fixing bug #43558 + + This fixes forward-comment, scan-lists, and parse-partial-sexp. + + * src/syntax.c (forw_comment): Detect and skip an escaped comment ender + (e.g. \*/ in C) when comment-end-can-be-escaped is non-nil. + +2020-09-23 Andrew G Cohen + + Run gnus-parse-headers-hook when retrieving nnselect headers + + * lisp/gnus/nnselect.el (nnselect-retrieve-headers): Run the + gnus-parse-headers-hook when retrieving headers in nnselect, just like + in a real group. + +2020-09-23 Stefan Monnier + + test/src/xdisp-tests.el: New file + +2020-09-23 Andrew G Cohen + + Use gnus-extra-headers in nnselect header parsing + + * lisp/gnus/nnselect.el (nnselect-retrieve-headers): Bind + nnmail-extra-headers to gnus-extra-headers before parsing retrieved + headers. + +2020-09-22 Lars Ingebrigtsen + + Ensure that the game directory exists before trying to write to it + + * lisp/play/gamegrid.el (gamegrid-add-score-insecure): Make the + directory if it doesn't exist (bug#37836). + +2020-09-22 martin rudalics + + Make delete-pair only delete pairs that are part of insert-pair-alist + + * lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that + are part of `insert-pair-alist' (bug#4136). + +2020-09-22 Lars Ingebrigtsen + + Fix off-by-one error in eldoc--handle-docs + + * lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): We have one extra + line to use if we don't show the truncation message (bug#43543). + +2020-09-22 Lars Ingebrigtsen + + Speed up shr-insert slightly + + * lisp/net/shr.el (shr-insert): Speed up regularising spaces -- + the vast majority of the spaces are already OK, so transforming + " " to " " just takes time. + +2020-09-22 Lars Ingebrigtsen + + Fix filling problem in shr due to zero-width id tagging + + * lisp/net/shr.el (shr-descend): Fix problem with filling lines + that have a zero-width ID tag at the start. + +2020-09-22 Eli Zaretskii + + Fix cursor display in mini-window under icomplete-mode + + * src/xdisp.c (resize_mini_window): When we show only part of the + mini-window's contents, make sure the window-start position is at + the beginning of a screen line. (Bug#43519) + +2020-09-22 Andrea Corallo + + * Fix MacOS Emacs.app installation (bug#43532) + + * src/comp.c (Fcomp_el_to_eln_filename): Adapt the filename + hashing algorithm to allow for producing a MacOS self-contained + Emacs.app. + +2020-09-22 David Reitter + + Fix font-panel on NS (bug#43480) + + * lisp/term/ns-win.el (ns-respond-to-change-font): Set the font using + customize. + +2020-09-22 Stefan Kangas + + Remove broken compat code from EDE + + * lisp/cedet/ede/detect.el: Remove broken Emacs 24.1 compat code. + This would never have worked, since the fallback library is missing. + +2020-09-22 Stefan Kangas + + Fix shellcheck warning + + * build-aux/update-subdirs: Fix issue indicated by the shellcheck + linter (warning SC2046). + +2020-09-22 Stefan Kangas + + Support shellcheck in compilation-mode + + * lisp/progmodes/compile.el + (compilation-error-regexp-alist-alist): Add shellcheck regexp. + * test/lisp/progmodes/compile-tests.el + (compile-tests--test-regexps-data): + (compile-test-error-regexps): Add test for shellcheck. + * etc/compilation.txt: Add shellcheck example. + * etc/NEWS: Announce the change. + + foo + +2020-09-22 Stefan Kangas + + Remove Emacs 23 compat code from cedet + + * lisp/cedet/ede/proj-elisp.el (project-compile-target): + * lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-expand-form): + * lisp/cedet/semantic/ede-grammar.el (project-compile-target): + Remove Emacs 23 compat code. + +2020-09-22 Stefan Kangas + + Remove some Emacs 20 compat code + + * lisp/apropos.el (apropos-local-value): + * lisp/progmodes/antlr-mode.el (antlr-mode-menu): + * lisp/progmodes/idlwave.el (idlwave-attach-classes): + * lisp/textmodes/artist.el (artist-replace-chars): Remove Emacs 20 + compat code. + +2020-09-22 Stefan Kangas + + Remove some unnecessary compat code + + * test/lisp/emacs-lisp/ert-x-tests.el (ert-test-describe-test): + * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): + Remove unnecessary compat code; these tests should never need to run + on older versions of Emacs. + +2020-09-22 Stefan Kangas + + Fix thinko in dired-change-marks + + * lisp/dired.el (dired-change-marks): Fix my previous broken attempt + to declare advertised-calling-convention. + +2020-09-21 Andrea Corallo + + * Make use of use of `subr-primitive-p' in `find-function-library' + + * lisp/emacs-lisp/find-func.el (find-function-library): Use + `subr-primitive-p'. + +2020-09-21 Andrea Corallo + + * Sandbox syncronous libgccjit invocation on interactive sessions + + Avoid unnecessary memory fragmentation/leakeage + + * lisp/emacs-lisp/comp.el (comp-final1): New function. + (comp-final): Invoke `comp-final1' in a child process if in an + interactive session or directly otherwhise. + +2020-09-21 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-21 Stefan Kangas + + Move several completions from eshell to pcomplete (Bug#10585) + + * lisp/eshell/em-unix.el (eshell-complete-hostname) + (pcomplete/ftp, pcomplete/ncftp, pcomplete/ping) + (pcomplete/rlogin, pcomplete/telnet, pcomplete/rsh): + Move from here... + * lisp/pcmpl-unix.el (pcmpl-unix-complete-hostname) + (pcomplete/ftp, pcomplete/ncftp, pcomplete/ping) + (pcomplete/rlogin, pcomplete/telnet, pcomplete/rsh): + ...to here. Make old names into aliases. + + * lisp/eshell/esh-util.el (eshell-hosts-file) + (eshell-host-names, eshell-host-timestamp) + (eshell-read-hosts-file, eshell-read-hosts) + (eshell-read-host-names): Move from here... + * lisp/pcomplete.el (pcomplete-hosts-file) + (pcomplete--host-name-cache) + (pcomplete--host-name-cache-timestamp) + (pcomplete-read-hosts-file, pcomplete-read-hosts) + (pcomplete-read-host-names): ...to here. Make old names into + aliases. + + * lisp/eshell/em-unix.el (eshell-complete-host-reference): Update + caller. + +2020-09-21 Stefan Kangas + + Move pcomplete/bcc32 from eshell to pcmpl-x (Bug#10585) + + * lisp/eshell/em-xtra.el (pcomplete/bcc32, pcomplete/bcc): Move + from here... + * lisp/pcmpl-x.el (pcomplete/bcc32, pcomplete/bcc): ...to here. + +2020-09-21 Stefan Kangas + + Convert a manual test for nxml-mode to unit test + + * test/manual/indent/nxml.xml: Delete file. + * test/lisp/nxml/nxml-mode-tests.el + (nxml-mode-test-comment-bug-17264): New test based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for ruby-mode into unit test + + * test/manual/indent/ruby.rb: Move from here... + * test/lisp/progmodes/ruby-mode-resources/ruby.rb: ...to here. + + * test/lisp/progmodes/ruby-mode-tests.el + (ruby-mode-tests-data-dir): New variable. + (ruby--indent/converted-from-manual-test): New test. + +2020-09-21 Stefan Kangas + + Convert manual indent test for scheme-mode into unit test + + * test/manual/indent/scheme.scm: Delete file. + * test/lisp/progmodes/scheme-tests.el: New file with unit test for + scheme-mode based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for ps-mode into unit test + + * test/manual/indent/ps-mode.ps: Delete file. + * test/lisp/progmodes/ps-mode-tests.el (ps-mode-test-indent): + New unit test based on deleted file. + +2020-09-21 Sam Steingold + + (json-encode-string): Strip properties to fix bug#43549 + +2020-09-21 Lin Sun + + Fix problem with ede-mode bugging out on non-existent files + + * lisp/cedet/ede/emacs.el: Check whether the directory exists in + ede-emacs-find-in-directories before using it (bug#43547). + +2020-09-21 Lars Ingebrigtsen + + Fix recent change to window-max-chars-per-line + + * lisp/window.el (window-max-chars-per-line): + line-number-display-width can return a floating point number, but + we want an integer (bug#43548). + +2020-09-21 Lars Ingebrigtsen + + Doc string fix for gnus-summary-hide-thread + + * lisp/gnus/gnus-sum.el (gnus-summary-hide-thread): Remove text + from doc string apparently copy-pasted from the function above. + +2020-09-21 dickmao + + Remove a misleading message in gnus-summary-hide-thread + + * lisp/gnus/gnus-sum.el (gnus-summary-hide-thread): + Jump past invisible thread instead of begging off with an out-of-band + diagnostic (bug#43538). + +2020-09-21 Stefan Kangas + + Convert manual indent test for opascal-mode into unit test + + * test/manual/indent/opascal.pas: Delete file. + * test/lisp/progmodes/opascal-tests.el: New file with unit test for + oposcal-mode based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for lisp-mode into unit test + + * test/manual/indent/lisp.lisp: Delete file. + * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-indent-defun): + New unit test based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for elisp-mode into unit test + + * test/manual/indent/elisp.el: Delete file. + * test/lisp/progmodes/elisp-mode-tests.el (elisp-indent-basic): + New unit test based on deleted file. + +2020-09-21 Stephen Berman + + Fix check in `newline' for blank lines + + * lisp/simple.el (newline): Clarify doc string and fix check for + blank lines (bug#13810). + +2020-09-21 Lars Ingebrigtsen + + Fix line width in M-x term on -nw with line numbers + + * lisp/window.el (window-max-chars-per-line): Make the line width + more correct in the presence of display-line-numbers-mode (bug#34513). + +2020-09-21 Lars Ingebrigtsen + + Add more isearch submatch faces + + * doc/emacs/search.texi (Search Customizations): Adjust + documentation. + * lisp/isearch.el (search-highlight-submatches): Be a boolean. + (isearch-group-{6-9}): New faces. + (isearch-highlight): Use the variable as a boolean. + +2020-09-21 Juri Linkov + + Tweak how Man selects the previous window on failure + + * lisp/man.el (Man-bgproc-sentinel): Ensure that we select the + correct previous window (bug#38164). + +2020-09-21 Lars Ingebrigtsen + + Allow disabling the verbose eldoc truncation message + + * doc/emacs/programs.texi (Lisp Doc): Document it. + + * lisp/emacs-lisp/eldoc.el (eldoc-display-truncation-message): New + variable (bug#43543). + (eldoc--handle-docs): Use it. + +2020-09-21 Nicolas Graner (tiny change) + + Fix default value in checkboxes in eww + + * lisp/net/eww.el (eww-submit): Checked checkboxes need a default + value (bug#43542). + +2020-09-21 Michael Albinus + + Add D-Bus tests + + * doc/misc/dbus.texi (Type Conversion): Precise basic type values. + + * lisp/net/dbus.el (dbus-register-property): Send signal directly. + + * src/dbusbind.c (xd_signature): Accept non-nil objects for + DBUS_TYPE_BOOLEAN. + + * test/lisp/net/dbus-tests.el (dbus-test01-basic-types) + (dbus-test01-compound-types): New tests. + +2020-09-21 Glenn Morris + + Merge from origin/emacs-27 + + 02a31c9632 (origin/emacs-27) Minor improvement in the ELisp manual's ... + f750def778 Mention in PROBLEMS the problems with fonts and Uniscribe + 082d8a21b1 Minor copyedits in 'line-height' documentation + 5b23393bcc ; * src/frame.c (syms_of_frame) : ... + +2020-09-21 Glenn Morris + + Merge from origin/emacs-27 + + df04f3e755 Fix a rare segfault in syntax.c + fd1fe1e1ec Add doc to syntax-propertize-function saying it must do a ... + fcd599bbea Minor copyedits of doc of 'with-silent-modifications' + 759399cdb1 Improve documentation of 'max-mini-window-height' + 3223302aa2 Use modern constant names for the NS pasteboard + 985703d380 Fix doc string of 'toggle-menu-bar-mode-from-frame' + 184a4977c7 Make vc-bzr tests work with brz 3.1 (bug#43314) + + # Conflicts: + # lisp/emacs-lisp/syntax.el + # src/syntax.c + +2020-09-21 Glenn Morris + + Merge from origin/emacs-27 + + 694acda5f2 Fix compilation on TERMINFO platforms with GCC 10 + f3373901e5 Fix the font-lock-debug-fontify NEWS entry + + # Conflicts: + # etc/NEWS + +2020-09-21 Lars Ingebrigtsen + + Fix infloop when folding difficult headers in Message + + * lisp/mail/rfc2047.el (rfc2047-fold-field): Return the end point. + * lisp/gnus/message.el (message--fold-long-headers): Use that to + reliably achieve progress. + +2020-09-21 Lars Ingebrigtsen + + Allow not selecting messages in Gnus before resending + + * lisp/gnus/gnus-msg.el (gnus-summary-resend-message): Allow not + selecting messages. This is faster when resending huge spam messages. + +2020-09-20 Lars Ingebrigtsen + + Make xterm-mouse-event check whether the click event is valid + + * lisp/xt-mouse.el (xterm-mouse-event): Defensively check against + a situation that shouldn't happen (but does) (bug#17378). + +2020-09-20 Alan Mackenzie + + C++ Mode: Modernize the fontification of "using" + + Since "using" is now used in three distinct ways in C++, write a special + function to handle these rather than attempting to adapt the old regular + expressions. + + * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Amend to allow the + argument TYPES to be a face. This face is given to the declarator being + processed. + (c-font-lock-single-decl): Make an argument to c-font-lock-declarators nil or + t, not merely nil or non-nil. + (c-complex-decl-matchers): Include c-font-lock-c++-using in the C++ value of + this variable. + (c-font-lock-c++-using): New function. + + * lisp/progmodes/cc-langs.el (c-using-kwds, c-using-key): New lang + consts/vars. + (c-modifier-kwds): Remove "using" from the C++ value. + +2020-09-20 Lars Ingebrigtsen + + Restore the previous minimum-width specs in the line/column mode lines + + * lisp/bindings.el (mode-line-position-line-format) + (mode-line-position-column-format) + (mode-line-position-column-line-format, mode-line-position): + Restore the previous min-width specs (bug#28648). + +2020-09-20 Lars Ingebrigtsen + + Make (let ((:key 'foo)) :key) signal an error in lexical elisp, too + + * src/lread.c (intern_sym): Mark keywords as special (bug#38872). + +2020-09-20 Lars Ingebrigtsen + + Fix typo in dbus.texi + + * doc/misc/dbus.texi (Type Conversion): Remove spurious { character. + +2020-09-20 Michael Albinus + + Make D-Bus properties type safe + + * doc/misc/dbus.texi (Properties and Annotations): + Precise dbus-get-property and dbus-set-property. + (Type Conversion): Explain :byte and :boolean type conversion. + (Errors and Events): dbus-ignore-errors returns nil when there is + a D-Bus error. Remove dbus-show-dbus-errors. + + * etc/NEWS: Some D-Bus relevant changes. + + * lisp/net/dbus.el (dbus-show-dbus-errors): Remove. + (dbus-ignore-errors): Replay implamentation without that variable. + (dbus-check-arguments): New defun. + (dbus-list-activatable-names, dbus-list-names) + (dbus-list-queued-owners, dbus-get-name-owner, dbus-introspect) + (dbus-get-all-properties, dbus-get-all-managed-objects): Don't debug. + (dbus-get-property, dbus-set-property): Propagate errors. + (dbus-register-property): Check for valid VALUE. + (dbus-property-handler): Simplify. + + * src/dbusbind.c (Fdbus_message_internal): Adapt docstring. + Handle DBUS_MESSAGE_TYPE_INVALID. + + * test/lisp/net/dbus-tests.el (dbus-show-dbus-errors): Don't declare. + (dbus-test06-register-property) + (dbus-test06-register-property-emits-signal): Adapt tests. + +2020-09-20 Eli Zaretskii + + Minor improvement in the ELisp manual's Introduction + + * doc/lispref/intro.texi (Printing Notation): Clarify what + "execute code" means in this context. (Bug#43463) + +2020-09-20 Eli Zaretskii + + Improve documentation of a recently-added feature + + * lisp/isearch.el (search-highlight-submatches): Improve the doc + string. + + * doc/emacs/search.texi (Search Customizations): Improve the + documentation of 'search-highlight-submatches'. + + * etc/NEWS: Minor change of the entry for + 'search-highlight-submatches'. + +2020-09-20 Juri Linkov + + Highlight regexp sub-expressions + + * doc/emacs/search.texi (Search Customizations): Document it. + + * lisp/isearch.el (search-highlight-submatches): New variable. + (isearch-group-1, isearch-group-2, isearch-group-3) + (isearch-group-4, isearch-group-5): New faces. + (isearch-highlight): Use them. + (isearch-dehighlight): Ditto (bug#6227). + +2020-09-20 K辿vin Le Gouguec + + Tweak dired warning about "wildcard" characters + + * lisp/dired-aux.el (dired-isolated-string-re): Use explicitly + numbered groups. + (dired--star-or-qmark-p): Add START parameter. Make sure to + return the first isolated match. + (dired--need-confirm-positions, dired--mark-positions) + (dired--highlight-no-subst-chars, dired--no-subst-explain) + (dired--no-subst-ask, dired--no-subst-confirm): New functions. + (dired-do-shell-command): Use them (bug#28969, bug#35564). + + * test/lisp/dired-aux-tests.el (dired-test-bug27496): Adapt to + new prompt. + (dired-test--check-highlighting): New test helper. + (dired-test-highlight-metachar): New tests. + +2020-09-20 Eli Zaretskii + + Mention in PROBLEMS the problems with fonts and Uniscribe + + * etc/PROBLEMS: Mention font-related problems with Uniscribe on + MS-Windows. (Bug#39340) + +2020-09-20 Lars Ingebrigtsen + + Fix bug out when indenting inserted images in shr + + * lisp/net/shr.el (shr-fill-line): We may not have a + shr-indentation text property here. In that case, default to the + dynamically bound value. + +2020-09-20 Lars Ingebrigtsen + + Remove code checked in to lread.c by mistake + + * src/lread.c (intern_sym): Remove code under development + inadvertently checked in. + +2020-09-20 dickmao + + Terminate `comint-password-function' tests + + * test/lisp/comint-tests.el (comint-test-no-password-function) + (comint-test-password-function-with-value) + (comint-test-password-function-with-nil): refactor + (comint-tests/test-password-function): actually test + `comint-send-invisible' and inhibit inadvertent interactive query + (bug#38825). + +2020-09-20 Lars Ingebrigtsen + + Tweak a hash table print test + +2020-09-20 Pip Cet + + Fix printing of hash tables with removed elements + + * src/print.c (print_vectorlike): Keep track of the actual number + of elements printed rather than attempting to use hash bucket + indices (bug#38892). + +2020-09-20 Dmitry Gutov + + Don't have vc-git-stash-list bug out on the .git directory + + * lisp/vc/vc-git.el (vc-git-stash-list): Don't bug out when + running on the .git directory itself (bug#39285). + +2020-09-20 Earl + + Add new tab command `C-x t C-r' + + * doc/emacs/misc.texi (FFAP): Document new commands (bug#43503). + + * lisp/ffap.el (ffap-read-only-other-tab): New command. + + * lisp/tab-bar.el (find-file-read-only-other-tab): New command and + keystroke. + +2020-09-20 Noam Postavsky + + Fix slow python-mode inserts when there's a lot of strings + + * lisp/progmodes/python.el (python-info-docstring-p): Doing more + than two repetitions here doesn't improve indentation (bug#39598). + +2020-09-20 Mauro Aranda + + New command: revert-buffer-with-fine-grain + + * doc/emacs/files.texi (Reverting): Document the new command and the + new variable. + + * etc/NEWS: Mention the new command and the new variable. + + * lisp/files.el (revert-buffer-with-fine-grain): New command. Revert + a buffer trying to be non-destructive, by using replace-buffer-contents. + (revert-buffer-insert-file-contents-delicately): New function, alternative + to revert-buffer-insert-file-contents-function--default-function. + (revert-buffer-with-fine-grain-max-seconds): New variable. Passed as + argument MAX-SECS of replace-buffer-contents. + + * test/lisp/files-tests.el (files-tests-lao files-tests-tzu): Helper + variables, taken from diffutils manual, to test reverting a buffer. + (files-tests-revert-buffer) + (files-tests-revert-buffer-with-fine-grain): New tests (bug#18). + +2020-09-20 Nick Roberts + + Make a gud error message more informative + + * lisp/progmodes/gud.el (gud-jdb-marker-filter): Make the error + message more informative (bug#1282). + +2020-09-20 Peder O. Klingenberg + + Extend process-lines to allow exit status handling + + * subr.el (process-lines-handling-status): Extension of the old + process-lines, with more flexible handling of the exit status. + (process-lines): Old API implemented using the new function. + (process-lines-ignore-status): Another use of the new function - + return the output lines regardless of the exit status (bug#1321). + +2020-09-19 Eli Zaretskii + + Minor copyedits in 'line-height' documentation + + * doc/lispref/display.texi (Line Height): Describe the possible + values of the 'line-height' property in a more consistent format. + +2020-09-19 Lars Ingebrigtsen + + Add a new variable 'gnus-global-groups' + + * doc/misc/gnus.texi (HTML): Document it. + + * lisp/gnus/gnus-art.el (gnus-global-groups): New variable. + (gnus-block-private-groups): Use it. + +2020-09-19 bug-gnu-emacs@gnu.org + + Honor make-pointer-invisible on macOS + + * src/nsterm.m ([EmacsView keyDown:]): Call + [NSCursor setHiddenUntilMouseMoves:] with the correct argument, depending on + variable make-pointer-invisible. + +2020-09-19 Gregor Zattler + + * doc/misc/eww.texi: Document the `w' key's double function + + * doc/misc/eww.texi (Basics): Describe what the `w' command does + in eww (bug#43517). + +2020-09-19 Gregor Zattler + + * doc/misc/eww.texi: Document the `w' key's double function + + * doc/misc/eww.texi (Basics): Describe what the `w' command does + in eww (bug#43517). + +2020-09-19 Daniel Mart鱈n + + Put files in mhtml-mode when they have + + Fix problem with spurious extra paragraphs in shr + + * lisp/net/shr.el (shr-ensure-paragraph): Don't regard
(empty placeholders) as occupying any space (bug#43510). + +2020-09-19 Eli Zaretskii + + Fix a rare segfault in syntax.c + + * src/syntax.c (Fforward_comment): Prevent the loop for COUNT < 0 + from going outside the valid range of character/byte positions. + (Bug#43499) + + * doc/lispref/syntax.texi (Syntax Class Table): Mention the + "comment-fence" and "string-fence" as alternative names of 2 + syntax classes. + +2020-09-19 Alan Mackenzie + + Add doc to syntax-propertize-function saying it must do a 100% job + + and cannot be combined with other ways of applying syntax-table text + properties. + + * lisp/emacs-lisp/syntax.el (syntax-propertize-function): Amend doc string. + + * doc/lispref/syntax.texi (Syntax Properties): Amend the description of the + variable. + +2020-09-19 Drew Adams + + Document and extend menu-bar-make-toggle some + + 2020-09-19 Lars Ingebrigtsen + + * lisp/menu-bar.el (menu-bar-showhide-fringe-menu): Adjust caller. + (menu-bar-search-options-menu): Ditto. + (menu-bar-options-menu): Ditto. + (menu-bar-options-menu): Ditto. + + * lisp/progmodes/gdb-mi.el (menu): Ditto. + + * lisp/emacs-lisp/find-func.el (find-function-regexp): Add + menu-bar-make-toggle-command. + + * lisp/menu-bar.el (menu-bar-make-toggle): Compatibility wrapper. + + 2020-09-19 Drew Adams + + * lisp/menu-bar.el (menu-bar-make-toggle-command): Add doc string + and allow setting all keywords (bug#17954). + +2020-09-19 Lennart Borgman + + Allow reveal mode to not automatically re-hide revealed text + + * lisp/reveal.el (reveal-hide-revealed): New command (bug#7101). + (reveal-auto-hide): New defcustom. + (reveal-post-command): Use it. + +2020-09-19 Lars Ingebrigtsen + + Allow customizing hooks defined via define-minor-mode + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Allow using + Customize on the hooks (bug#10773). + +2020-09-19 Alex Bochannek + + Fix gnus-summary-catchup-from-here edge case + + * lisp/gnus/gnus-sum.el (gnus-summary-catchup-from-here): Make the + command work in the final line in the buffer, too (bug#43496). + +2020-09-19 Lars Ingebrigtsen + + Document Gnus body matching quirks + + * doc/misc/gnus.texi (Summary Score Commands): Document body + match quirks (bug#43502). + +2020-09-19 Lars Ingebrigtsen + + Display the language in the Flyspell mode line + + * lisp/textmodes/flyspell.el (flyspell-mode): Display the language + in the mode line (bug#14957). + +2020-09-19 Eli Zaretskii + + Minor copyedits of doc of 'with-silent-modifications' + + * doc/lispref/text.texi (Changing Properties): + * doc/lispref/buffers.texi (Buffer Modification): Improve + documentation and indexing of 'with-silent-modifications'. + +2020-09-18 Eli Zaretskii + + Improve documentation of 'max-mini-window-height' + + * src/xdisp.c (syms_of_xdisp): + * doc/lispref/minibuf.texi (Minibuffer Windows): More accurate + wording in the documentation of 'max-mini-window-height', to + clarify the meaning of an integer value. + +2020-09-18 Daniel Mart鱈n + + Use modern constant names for the NS pasteboard + + Use the same pasteboard constant names defined in + ns_drag_types. (Bug#43470). + + * src/nsterm.m: Rename NSURLPboardType to NSPasteboardTypeURL, + NSStringPboardType to NSPasteboardTypeString, and + NSTabularTextPboardType to NSPasteboardTypeTabularText + +2020-09-18 Stefan Kangas + + Fix typo in project-kill-buffers + + * lisp/progmodes/project.el (project-kill-buffers): Fix typo. + Reported by Manuel Uberti + +2020-09-18 Andrii Kolomoiets + + Save and restore point in ewoc-invalidate + + * lisp/emacs-lisp/ewoc.el (ewoc--refresh-node): Save and restore point line + and column offset. + (eowc-map) (ewoc--invalidate) (ewoc-set-hf): Don't use save-excursion + * lisp/vc/vc-dir.el (vc-dir-update): Don't save/restore point on calling + 'ewoc-invalidate'. + +2020-09-18 Adam Sj淡gren + + Make emacs-uptime insert at point with prefix arg + + * lisp/time.el (emacs-uptime): Insert at point when called with prefix + argument. (Bug#20112) + +2020-09-18 Stefan Kangas + + Doc fix in directory-free-space-program + + * lisp/files.el (directory-free-space-program): Doc fix; there is no + need to repeat that its obsolete here since it will be shown by + customize, describe-variable, etc. automatically. + +2020-09-18 Lars Ingebrigtsen + + Fix the defcustom type of eww-retrieve-command + + * lisp/net/eww.el (eww-retrieve-command): The type is a list of + strings. + +2020-09-18 Lars Ingebrigtsen + + Use a widget for the face link in Customize buffers + + * doc/lispref/customize.texi (Common Keywords): Document it. + + * lisp/cus-edit.el (custom-face-value-create): Use a widget + instead of a button so that TAB works (bug#20664). + + * lisp/wid-edit.el (face-link): New widget. + (widget-face-link-action): New action. + +2020-09-18 Michael Albinus + + Fix error in D-Bus test + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): + Do not check for error message text. + (dbus--test-signal-handler): Fix docstring. + (dbus--test-timeout-handler): New defun. + (dbus-test05-register-signal) + (dbus-test06-register-property-emits-signal): Use it. + +2020-09-18 Michael Albinus + + * lisp/progmodes/cperl-mode.el (cperl-set-style): Fix docstring. + +2020-09-18 Dmitry Gutov + + Fix typo, reported by Manuel Uberti + + * lisp/progmodes/project.el (project-kill-buffer-conditions): + Fix typo. + +2020-09-18 Eli Zaretskii + + Minor cleanup of last change + + * src/termchar.h (struct tty_display_info): + * src/term.c (turn_on_face, tty_capable_p): Reformat new code. + +2020-09-18 Mike Hamrick + + TTY Support for ECMA-48 strike-through graphic rendition + + * term.c: Support strike-through in capable terminals. + (no_color_bit): Replace unused NC_INVIS with + NC_STRIKE_THROUGH. + (turn_on_face): Output via TS_enter_strike_through_mode + if available. + (turn_off_face): Handle strike-through case. + (tty_capable_p, init_tty): Support strike-through. + * termchar.h (struct tty_display_info): Add field for + strike-through. + * xfaces.c (tty_supports_face_attributes_p, realize_tty_face): + Handle strike-through case. + * dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition. + (struct face): Add field tty_strike_through_p. + +2020-09-18 James N. V. Cash (tiny change) + + * lisp/tab-bar.el (tab-bar-new-tab-to): Fix tabs not reappearing (bug#42052) + +2020-09-18 Eli Zaretskii + + Update TUTORIAL.he + + * etc/tutorials/TUTORIAL.he: Adapt to latest changes in the + English TUTORIAL. + +2020-09-18 Richard Stallman + + Document easy ways of typing undo key on TTY frames + + * doc/emacs/basic.texi (Basic Undo): Document the easiest way to + type the undo key. + + * etc/tutorials/TUTORIAL: Describe typing C-_ without the Shift + key. + +2020-09-18 Lars Ingebrigtsen + + Revert "Make delete-pair only delete pairs that are part of insert-pair-alist" + + This reverts commit 82de8ecc080d91dd05f2432d2d07feb2955aeec4. + + This patch breaks doing `M-x delete-pair' on "foo" in text-mode. + +2020-09-18 Lars Ingebrigtsen + + Remove mention of C-u M-. from the refcards + + The "find next tags" command no longer exists, as the machinery has + been replaced by xref. + +2020-09-17 Mauro Aranda + + Fix recent change in wid-edit + + * lisp/wid-edit.el (widget-button--check-and-call-button): Record the + ending position of event, because we might need it when + the :mouse-down-action function returns non-nil (bug#20664). + +2020-09-17 Lars Ingebrigtsen + + Doc string typo fix for mode-line-position-column-format + + * lisp/bindings.el (mode-line-position-column-format): Fix typo in + doc string. + +2020-09-17 Oleh Krehel + + Make face names clickable in Customize buffers + + * lisp/cus-edit.el (custom-face-value-create): Make the face name + a clickable button (bug#20664). + +2020-09-17 Lars Ingebrigtsen + + Refactor a very long wid-edit function and add additional checking + + * lisp/wid-edit.el (widget-button--check-and-call-button): Factor + out a too-long condition/call... + (widget-button-click): From here. + +2020-09-17 Juri Linkov + + Allow binding keys in `query-replace-map' + + * lisp/replace.el (perform-replace): Allow binding keys in + `query-replace-map' (bug#20687). + +2020-09-17 Lars Ingebrigtsen + + Fix up previous autoload-find-generated-file change + + * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Use + the correct name for find-file-hook. + +2020-09-17 Lars Ingebrigtsen + + Make package install not bug out on weird stuff in find-file-hooks + + * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): + Users may have read-only-mode in find-file-hooks (bug#43460) so + just disable all the hooks here. + +2020-09-17 Harald J旦rg + + cperl-mode: Add new value "PBP" for 'cperl-set-style' + + * lisp/progmodes/cperl-mode.el (cperl-style-alist) + (cperl-set-style): Add indentation style recommended by Damian Conway's + book "Perl Best Practices". + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-test-indent-styles): Add a test to verify indentation + and unraveling of conditionals (bug#43457). + +2020-09-17 Eli Zaretskii + + Fix documentation of a recent change + + * src/keyboard.c (update_recent_keys): Fix commentary. + (Flossage_size): Fix doc string. + + * etc/NEWS: Move and fix wording of the recently added entry. + +2020-09-17 Masahiro Nakamura + + etc/refcards/refcard.tex: Fix some grouping regexps + + * etc/refcards/refcard.tex (section{Regular Expressions}): Fix the + shy/numbered grouping examples (bug#43429). + +2020-09-17 Michael Albinus + + Work on D-Bus properties etc + + * lisp/net/dbus.el (seq, subr-x): Require. + (dbus-error-disconnected, dbus-error-service-unknown): New defconst. + (dbus-set-property, dbus-register-property): Use `keywordp'. Fix + proper value sending a signal. + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): + Extend test. + (dbus--test-signal-received): New defvar. + (dbus--test-signal-handler): New defun. + (dbus-test05-register-signal) + (dbus-test06-register-property-emits-signal): New tests. + (dbus-test06-register-property) + (dbus-test06-register-property-several-paths): Rename tests. + +2020-09-17 Alex Bochannek + + Allow user-defined scoring in Gnus + + * lisp/gnus/gnus-score.el (gnus-score-func): New function (bug#43413). + * doc/misc/gnus.texi (Score File Format): Document it. + +2020-09-17 martin rudalics + + Make delete-pair only delete pairs that are part of insert-pair-alist + + * lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that + are part of `insert-pair-alist' (bug#4136). + +2020-09-17 Tino Calancha + + Give Lisp control on the lossage size + + Add a command 'lossage-size' to set the maximum + number or recorded keystrokes (Bug#38796). + + * src/keyboard.c (lossage_limit): + Static variable with the current lossage size limit. + (MIN_NUM_RECENT_KEYS): Renamed from NUM_RECENT_KEYS. + Set it as 100 and use it as the minimum value for lossage_limit. + Keep the same default for the vector size as before (300). + (lossage-size): New command. + (update_recent_keys): Helper function. + (command_loop_1) + (record_char) + (recent-keys) + (syms_of_keyboard): Use lossage_limit as the vector size. + + * lisp/help.el (view-lossage): Mention the new command in the docstring. + * etc/NEWS (Changes in Emacs 28.1): Announce this change. + * doc/emacs/help.texi (Misc Help): Update manual. + * test/src/keyboard-tests.el (keyboard-lossage-size): Add test. + +2020-09-17 Lars Ingebrigtsen + + Fix up previous change for column/line spec mechanism in the mode line + + * lisp/bindings.el (column-number-indicator-zero-based): Make + obsolete (bug#28648). + (mode-line-position-column-line-format): New variable. + (mode-line-position--column-line-properties): New const. + (mode-line-position): Use it. + +2020-09-17 Andreas Schwab + + Remove pointless use of intern + + * lisp/mwheel.el (mouse-wheel-left-event) + (mouse-wheel-right-event): Replace use of intern with quoted + symbol. + * lisp/profiler.el (profiler-calltree-build-unified): Likewise. + * lisp/vc/ediff-util.el (ediff-debug-info): Likewise. + +2020-09-16 Eli Zaretskii + + Fix doc string of 'toggle-menu-bar-mode-from-frame' + + * lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Improve the + wording of the doc string. (Bug#43383) + +2020-09-16 Michael Albinus + + D-Bus: keep type information in D-Bus events + + * doc/misc/dbus.texi (Errors and Events): + * etc/NEWS: D-Bus events keep the type information of their arguments. + + * lisp/net/dbus.el (dbus-check-event): Fix docstring. + (dbus-delete-types, dbus-flatten-types): New defuns. + (dbus-handle-event, dbus-register-property, dbus-property-handler): + Handle type information. + (dbus-set-property): Fix thinko. + + * src/dbusbind.c (XD_BASIC_DBUS_TYPE): Simplify. + (xd_dbus_type_to_symbol): New function. + (xd_retrieve_arg): Return type information for the arguments. + (xd_read_message_1): Return type information for the error name. + (dbus-registered-objects-table): Fix docstring. + +2020-09-16 Lars Ingebrigtsen + + Fix problem with previous dired.el change + + * lisp/dired.el (dired-get-filename): dired-current-directory + can't be called before the dired buffer has been set up. + (add-hook 'dired-mode-hook 'dired-sort-toggle) calls + dired-get-filename in a way that exposes this problem, so avoid + it. + +2020-09-16 Lars Ingebrigtsen + + Tweak previous report-emacs-bug-hook change + + * lisp/mail/emacsbug.el (report-emacs-bug-hook): Add to the hook + locally so sending stuff from Message afterwards won't trigger the + same question. + +2020-09-15 Lars Ingebrigtsen + + Make sgml-validate not bug out from buffers not visiting a file + + * lisp/textmodes/sgml-mode.el (sgml-validate): Don't bug out when + running from a buffer that's not visiting a file (bug#22906). + +2020-09-15 Lars Ingebrigtsen + + Use a square root character in calc displays + + * lisp/calc/calccomp.el (math-compose-sqrt): Use a square root + character, if possible (bug#22919). Suggested by Zephyr Pellerin + . + +2020-09-15 Eli Zaretskii + + Avoid aborts in display_mode_element + + * src/xdisp.c (display_mode_element): Use parse_str_as_multibyte, + not multibyte_chars_in_text, to determine whether mode-line spec + shall be displayed as a multibyte or unibyte string. We cannot + use multibyte_chars_in_text here because it aborts when it finds + raw bytes in the spec string. (Bug#43409) + +2020-09-15 Robert Pluim + + Stop querying for fonts as soon as a match is found + + Scanning through fonts can be very slow, especially with the 'x' font + backend, and the result is almost always not used. Stop looking for a + font as soon as one is found rather than scanning all the backends. + + * src/font.c (font_list_entities): Stop scanning through the font + backends as soon as we find a match unless + 'query-all-font-backends is set (Bug#43177). + (syms_of_font): New variable 'query-all-font-backends', default + false. + +2020-09-15 Lars Ingebrigtsen + + Fix up previous replace-in-string commit + + * lisp/subr.el (replace-in-string): Fix thinko in implementation. + +2020-09-15 Lars Ingebrigtsen + + Allow controlling the look of the line/column indicators + + * doc/lispref/modes.texi (Mode Line Variables): Document them. + + * lisp/bindings.el (mode-line-position-line-format): New variable + (bug#28648). + (mode-line-position-column-format): Ditto. + (mode-line-position): Use them. + + * lisp/simple.el (column-number-mode): Mention them. + (line-number-mode): Ditto. + +2020-09-15 Lars Ingebrigtsen + + Add new, simple `replace-in-string' function + + * lisp/subr.el (replace-in-string): New, side-effect-free function. + + * doc/lispref/searching.texi (Search and Replace): Document it. + +2020-09-15 Stefan Kangas + + * lisp/window.el: Add provide statement + + * lisp/window.el (window): Put a `provide' form to help with the + popular `use-package' external package (bug#37053). + +2020-09-15 Eli Zaretskii + + Fix MS-Windows compilation of Gnulib with old versions of MinGW + + * nt/inc/ms-w32.h (_WIN32_WINNT_WIN2K, _WIN32_WINNT_WINXP) + (_WIN32_WINNT_WS03, _WIN32_WINNT_VISTA, _WIN32_WINNT_WIN7, + _WIN32_WINNT_WIN8, _WIN32_WINNT_WINBLUE, _WIN32_WINNT_WIN10) + [__MINGW32__]: Define if any of these is not defined. Reported by + martin rudalics . + +2020-09-15 Jimmy Aguilar Mena + + Merge branch 'feature/uniquify-as-function' into master + + Document use of uniquify-buffer-name-style as a function. + +2020-09-15 Jimmy Aguilar Mena + + Enable uniquify-buffer-name-style to be a function. + + * lisp/uniquify.el (uniquify-buffer-name-style) : Add "Other" custom + option + (uniquify-get-proposed-name) : Add condition for when + uniquify-buffer-name-style is a function. + +2020-09-15 Lars Ingebrigtsen + + Fix mailclient-send-it after recent browse-url rewrite + + * lisp/mail/mailclient.el (mailclient-send-it): Make this function + work again after the browse-url machinery was changed to use + browse-url-default-handlers instead. + +2020-09-15 Lars Ingebrigtsen + + Fix regression in non-querying about mail addresses in "emacs -Q" + + * lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't query about + the mail address if using an external mailer (bug#43386). + +2020-09-15 Daniel Mart鱈n + + Check that the buffer in diff-buffer-with-file is visiting a file + + * lisp/vc/diff.el (diff-buffer-with-file): Signal a specific error + when the buffer passed to diff-buffer-with-file is not visiting a + file (bug#43401). + +2020-09-15 Andrea Corallo + + * Better error handling after calling 'gcc_jit_context_compile_to_file' + + Tipically errors are catched in 'compile_function' but in case + libgccjit throw an error only afterwards while compiling the whole + compilation unit we have to report it correctly. + + * src/comp.c (Fcomp__compile_ctxt_to_file): Catch libgccjit + errors after calling 'gcc_jit_context_compile_to_file'. + +2020-09-14 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-bootstrap): Print compilation time. + +2020-09-14 Andrea Corallo + + * Fix free function compilation load process. + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Do not crash + if the eln filename is not canonical (tmp file or manual load). + +2020-09-14 Andrea Corallo + + * Add gv-setters for compiler hints + + * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add + gv-setters so type hinted expressions can be used as places. + Read we can now have like: '(cl-incf (cl-the fixnum x))'. + +2020-09-14 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-sp): Better style gv-setter declaration. + +2020-09-14 Andrea Corallo + + * Remove type check emission from type hints low level primitives + + These have to be emitted by higher level primitves as `cl-the'. + + * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Do + not emit type checks. + +2020-09-14 Andrea Corallo + + * lisp/emacs-lisp/cl-macs.el: Define fixnum and bignum. + + Define fixnum so `cl-typep' recognize it and the type check emitted by + `cl-the' is effective. + +2020-09-14 Andrea Corallo + + * Add 'cl-optimize' as function declaration + + * lisp/emacs-lisp/cl-macs.el: Register cl-optimize into + `defun-declarations-alist' and `macro-declarations-alist'. + (cl--optimize): New function to serve 'cl-optimize' declaration. + +2020-09-14 Andrea Corallo + + * lisp/emacs-lisp/cl-macs.el (cl-the): Emit compiler hints when native. + +2020-09-14 Stefan Monnier + + * test/lisp/emacs-lisp/find-func-tests.el: New file (for bug#43393) + + * lisp/emacs-lisp/ert-x.el (ert-simulate-keys): New macro. + + * test/lisp/international/mule-tests.el + (mule-cmds--test-universal-coding-system-argument): Use it and enable + the test also in batch mode. + +2020-09-14 Kevin Ryde + + Tweak the `C-x v =' command when done from a diff buffer + + * lisp/vc/vc.el (vc-diff): Offer to save the relevant buffer(s) + when doing `C-x v =' from a diff buffer (bug#5773). + +2020-09-14 Pip Cet + + Don't retry reading after receiving EINVAL + + * src/process.c (wait_reading_process_output): Don't retry reading + from an fd after an unknown error (bug#6074). + +2020-09-14 Stephen Berman + + Fix problem of marking files with hidden subdirs + + * lisp/dired.el (dired-unhide-subdir): + (dired-subdir-hidden-p): + (dired-subdir-min): Moved from subr-x. + (dired-get-filename): Get the correct filename when directories + are hidden (bug#8484). + +2020-09-14 Lars Ingebrigtsen + + Allow preserving (some) text properties from completion tables + + * doc/lispref/minibuf.texi (Text from Minibuffer): Document it. + + * lisp/minibuffer.el (completion--replace): Preserve text + properties on completed items (bug#43218). + +2020-09-14 Lars Ingebrigtsen + + Allow hitting RET on info node names with multiple whitespace chars + + * lisp/info.el (info--node-canonicalize-whitespace): New function + (bug#10784). + (Info-extract-menu-node-name): Use it. + (Info-find-node): Use it. + +2020-09-14 Lars Ingebrigtsen + + Revert "Fix completion in `read-library-name'" + + This reverts commit ed44217d3245ddc8f2cf75c9499d5bb37848cfd7. + + This commit broke the use case of `M-x load-library RET o/or TAB' to + expand to org/org. + +2020-09-14 Lars Ingebrigtsen + + Further fixups in minibuffer-default--in-prompt-regexps + + * lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps): + Really allow shortening the default prompt format to [foo] (if + requested) (bug#12443). + +2020-09-14 Lars Ingebrigtsen + + Support build of Emacs on ARM Macos machines + + * configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit + ARM) (bug#43369). + +2020-09-14 Mattias Engdeg奪rd + + Calc: fix binomial coefficients for negative arguments (bug#16999) + + For some values outside integers 0kn, (n choose k) gave wrong + results, entered infinite recursion or used unreasonably amounts of + stack space. This change fixes that and extends the function to all + integer arguments using the definitions from M. J. Kronenburg + (https://arxiv.org/abs/1105.3689). + + * lisp/calc/calc-comb.el (calcFunc-choose): + Fix sign error to prevent infinite recursion and extend function to + handle all integer arguments. + (math-choose-iter, math-choose-float-iter): Rewrite in iterative form; + no TCO in elisp yet. + * test/lisp/calc/calc-tests.el (calc-tests--fac, calc-tests--choose) + (calc-tests--check-choose, calc-tests--explain-choose) + (calc-tests--calc-to-number): New helper functions. + (calc-choose): New test. + +2020-09-14 Mattias Engdeg奪rd + + * lisp/simple.el (undo-redo): Rephrase error message. + +2020-09-14 Glenn Morris + + Fix builds without modules + + * src/data.c (Finteractive_form): + * src/eval.c (Fcommandp): Fix builds without modules. + +2020-09-14 Lars Ingebrigtsen + + Fix up report-emacs-bug action on invalid From headers + + * lisp/mail/emacsbug.el (report-emacs-bug-hook): Move point to the + From header if the user has to edit the From header. + +2020-09-14 akater (tiny change) + + Fix compilation-mode-map doc string + + * lisp/progmodes/compile.el (compilation-mode-map): Remove mention of + compilation-minor-mode-map (bug#43382). + + As the comment in the body says: + + ;; Don't inherit from compilation-minor-mode-map, + ;; because that introduces a menu bar item we don't want. + ;; That confuses C-down-mouse-3. + + and the map actually inherits from special-mode-map. + +2020-09-13 Philipp Stephani + + Add facility to make module functions interactive (Bug#23486). + + * src/module-env-28.h: Add field for 'make_interactive' function. + + * src/emacs-module.c (Lisp_Module_Function): Add new field holding the + interactive form. + (allocate_module_function): Adapt to structure layout change. + (module_make_interactive, module_function_interactive_form): New + functions. + (initialize_environment): Use them. + + * src/eval.c (Fcommandp): + * src/data.c (Finteractive_form): Also handle interactive module + functions. + + * test/data/emacs-module/mod-test.c (Fmod_test_identity): New test + function. + (emacs_module_init): Create two interactive module test functions. + + * test/src/emacs-module-tests.el (module/interactive/return-t) + (module/interactive/return-t-int, module/interactive/identity): + New unit tests. + + * doc/lispref/internals.texi (Module Functions): Document new + function. Rework paragraph about wrapping module functions, as the + example no longer applies. + + * etc/NEWS: Document new facility. + +2020-09-13 Reuben Thomas + + Escape ampersand in table.el LaTeX output + + * lisp/textmodes/table.el (table--generate-source-scan-lines): Add + ampersand '&' to the list of characters to escape in LaTeX output. + +2020-09-13 Andrea Corallo + + * Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280). + + * lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed + declaration as this breaks a pre existing ones if present but + rather calls directly `byte-run--set-speed'. + +2020-09-13 Lars Ingebrigtsen + + Further fixups of the variable-pitch eww header line change + + * lisp/net/eww.el (eww-update-header-line-format): Protect against + :url not being set. + +2020-09-13 Stefan Kangas + + Improve wording of cua-mode menu entry + + * lisp/menu-bar.el (menu-bar-options-menu): Improve wording of the + cua-mode menu entry. (Bug#43323) + +2020-09-13 Stefan Kangas + + Improve frame-title-format and icon-title-format + + * src/xdisp.c (syms_of_xdisp): Replace 'invocation-name' with the text + "%b - GNU Emacs" and replace "@" with " at ". (Bug#41147) + * etc/NEWS: Announce the above change. + +2020-09-13 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-13 Eli Zaretskii + + Fix punctuation in EWW manual + + * doc/misc/eww.texi (Advanced): Fix punctuation of a recent + change. + +2020-09-13 Lars Ingebrigtsen + + Make diff--refine-hunk bug out less on broken patches + + * lisp/vc/diff-mode.el (diff--refine-hunk): Don't bug out on + broken patches where we can't find the middle. + +2020-09-13 Lars Ingebrigtsen + + Make the eww header work again even if the title is nil + + * lisp/net/eww.el (eww-update-header-line-format): Don't bug out + if the title isn't set at all. + +2020-09-13 Dario Gjorgjevski + + Make ERC desktop notifications lenient to invalid XML characters + + * lisp/xml.el (xml-invalid-characters-re): New constant. + + * lisp/erc/erc-desktop-notifications.el + (erc-notifications-notify): Strip IRC control codes and invalid + XML characters before notifying (bug#43328). + +2020-09-13 Lars Ingebrigtsen + + Don't eagerly store articles in the Agent by default + + * lisp/gnus/gnus-agent.el (gnus-agent-store-article): Made + obsolete. + + * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Don't + call it. + + * lisp/gnus/gnus-async.el (gnus-async-article-callback): Ditto + (bug#43356). + + This partially reverts f3b146e943cd733fb716c75048f24b73826e5f30, which + in was response to what appears to be an erroneous feature-request - + bug#8502. + + Instead this should be done instead: + + If I read an article while plugged, do they get entered into the + Agent? + + *No*. If you want this behavior, add + gnus-agent-fetch-selected-article to + gnus-select-article-hook. + +2020-09-13 Lars Ingebrigtsen + + Kill gpg-agents started by mml-sec-tests (bug#43358) + +2020-09-13 Brian Leung (tiny change) + + Update .gitignore with ccls files + + * .gitignore: Ignore files used by ccls, a language server for C + (bug#43365). + +2020-09-13 Lars Ingebrigtsen + + Doc string clarification in file-directory-p + + * src/fileio.c (Ffile_directory_p): Mention that "" is a special + case (bug#43375). + +2020-09-13 Kiso Katsuyuki (tiny change) + + Clarify when tab-line-switch-cycling is used + + * lisp/tab-line.el (tab-line-switch-cycling): Clarify when the + variable is used. + +2020-09-13 Stefan Kangas + + * lisp/time.el (display-time-world): Make obsolete. + +2020-09-13 Stefan Kangas + + Make M-x show what aliases point to (Bug#43300) + + * lisp/simple.el (read-extended-command--annotation): Show an + annotation for aliases saying what it points to. + +2020-09-13 Stefan Kangas + + Make M-x show obsolete commands (Bug#43300) + + * lisp/simple.el (read-extended-command): Don't hide obsolete + commands. + (read-extended-command--annotation): Show an annotation for obsolete + commands that says what their new name is. + +2020-09-13 Lars Ingebrigtsen + + Revert "Use format-prompt in read-file-name calls that have a default" + + This reverts commit de4f347901adffd07bc9bff028dc073fb3c6df33. + + read-file-name already displays a long path when given a default + (like INITIAL in many other prompting functions), so using + format-prompt here is superfluous. + +2020-09-13 Lars Ingebrigtsen + + Make `ascii' a coding system alias for `us-ascii' + + * lisp/international/mule-conf.el (ascii): Define `ascii' as a + coding system alias to `us-ascii' (bug#43351). + +2020-09-13 Michael Albinus + + Fix a conversion failure in tramp-archive-tests (Bug#43353) + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test-file-archive-hexlified): New defun. + (tramp-archive-test02-file-name-dissect): Use it. (Bug#43353) + +2020-09-13 Glenn Morris + + Don't force LC_ALL=C upon make check (bug#43353) + + * test/Makefile.in (TEST_LOCALE): Remove. + (emacs): Don't force LC_ALL=C, since it causes problems with + non-ascii directories. This mirrors a 7-year old lisp/Makefile change. + +2020-09-13 Glenn Morris + + Mark some diff tests as failing in nonascii directories + + * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock) + (diff-mode-test-font-lock-syntax-one-line): + Expect failure in non-ascii directories. + +2020-09-13 Lars Ingebrigtsen + + Clean up eww error buffer + + * lisp/net/eww.el (eww-retrieve): Clean up error buffer after exiting. + +2020-09-13 Lars Ingebrigtsen + + Fix up example code from previous eww.texi commit + + * doc/misc/eww.texi (Advanced): Simplify example command (and + "--virtual-time-budget=3000" makes Chromium unstable). + +2020-09-13 Lars Ingebrigtsen + + Add a way to use an external command to download HTML in eww + + * doc/misc/eww.texi (Advanced): Document it. + + * lisp/net/eww.el (eww-retrieve): New function. + (eww-reload): Use it. + (eww): Ditto. + (eww-retrieve-command): New variable. + +2020-09-12 Glenn Morris + + Adapt some tests for Emacs's excitingly variable quoting format + + * test/lisp/subr-tests.el (subr-test-version-parsing): + * test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-other-file): + * test/src/callint-tests.el (call-interactively/incomplete-multibyte-sequence): + * test/src/emacs-module-tests.el (module/describe-function-1): + Don't fail if curly quotes are in use, as they can be if LC_ALL != C. + +2020-09-12 Michael Albinus + + Cleanup in dbus.el, dbus-tests.el + + * lisp/net/dbus.el (dbus-error-no-reply): New defconst. + (dbus-call-method): Use it. + (dbus-call-method-asynchronously, dbus-register-signal): Fix docstring. + (dbus-unregister-object): Obey :serial entries in + `dbus-registered-objects-table'. + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method) + (dbus-test05-register-property): Extend tests. + +2020-09-12 Glenn Morris + + Make vc-bzr tests work with brz 3.1 (bug#43314) + + * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726) + (vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads): + Make them work with brz 3.1. + +2020-09-12 Alan Mackenzie + + C++ Mode: handle __attribute__,etc. inside constructor argument lists + + This corrects both the fontification and indentation of these things, fixing + bug #42270. + + * lisp/progmodes/cc-engine.el (c-do-declarators): Skip over "hangon keys" and + noise macros whilst scanning a putative C++ function. + (c-forward-decl-or-cast-1): When checking for typeless functions, skip over + "hangon keys" and noise macros. + + * lisp/progmodes/cc-mode.el (c-fl-decl-end): Deal with certain invalid + "nested declarators" by scanning over them with a recursive call of + c-fl-decl-end. + + * lisp/progmodes/cc-vars.el (c-noise-macro-names) + (c-noise-macro-with-parens-names): State in the doc strings that if either of + these is a regexp, it must have a submatch 1 which matches the noise macro + exactly. + +2020-09-12 Glenn Morris + + Small Texinfo markup fixes + + * doc/misc/dbus.texi (Register Objects): + * doc/misc/gnus.texi (Searching): Texinfo markup fixes. + +2020-09-12 Lars Ingebrigtsen + + Fix compilation warning in cl-font-lock + + * lisp/progmodes/cl-font-lock.el (cl-font-lock-built-in-mode): Put + in the tools group to avoid a compilation warning. + +2020-09-12 Lars Ingebrigtsen + + Fix compilation warning in obsolete/complete.el + + * lisp/obsolete/complete.el (completion-base-size): Avoid + compilation warning. + +2020-09-12 Lars Ingebrigtsen + + Fix compilation warning in cl-lib.el + + * lisp/emacs-lisp/cl-lib.el (cl-old-struct-compat-mode): Put the + minor mode in the tools group (to avoid a compilation warning). + +2020-09-12 Lars Ingebrigtsen + + dired-omit-mode may not be defined in dired-jump + + * lisp/dired.el (dired-jump): dired-omit-mode is in dired-x, so it + may not be defined in dired. + +2020-09-12 Alex Bochannek + + Support scoring on article age interactively in Gnus + + * lisp/gnus/gnus-score.el (gnus-summary-score-entry): Support + scoring on article age in interactive scoring (bug#43270). + +2020-09-12 Glenn Morris + + Default Emacs to UTF-8 instead of Latin-1 + + * doc/emacs/mule.texi (File Name Coding): Document it. + + * lisp/international/mule-cmds.el (reset-language-environment): + Default to utf-8 instead of latin-1. + + * lisp/mail/sendmail.el (default-sendmail-coding-system): Ditto. + + * lisp/mh-e/mh-comp.el (mh-send-letter): Ditto. + +2020-09-12 Martin Rudalics + + Fix toggle-frame-fullscreen on w32 builds + + * src/w32term.c (w32_read_socket): Set 'fullscreen' to 'maximized' + if Windows sends SIZE_MAXIMIZED and either the top or the left of + the frame is outside the screen. (Bug#25542) + +2020-09-12 Lars Ingebrigtsen + + Further diff-no-select doc string clarification + + * lisp/vc/diff.el (diff-no-select): Doc string clarification. + +2020-09-12 Eli Zaretskii + + Avoid unneeded recentering when header-line is used + + * src/xdisp.c (try_window): Account for header-line height only in + the scroll-margin at the window's top, but not at its bottom. + (Bug#42653) + +2020-09-12 Eli Zaretskii + + Fix compilation on TERMINFO platforms with GCC 10 + + * src/terminfo.c [TERMINFO]: Don't redefine UP, BC, and CP, as + that could cause linking errors due to multiple definitions. + (Bug#43195) + +2020-09-12 Stefan Kangas + + Move dired-jump from dired-x to dired (Bug#21981) + + * lisp/dired-x.el (dired-bind-jump): Change into defvar and make + obsolete. + (dired-extra-startup): Doc fix. + (dired-jump, dired-jump-other-window): Move from here... + * lisp/dired.el (dired-jump, dired-jump-other-window): ...to here. + + * lisp/bindings.el (ctl-x-map, ctl-x-4-map): Bind 'C-j' to + 'dired-jump' and 'dired-jump-other-window'. + + * doc/misc/dired-x.texi (Features, Installation) + (Miscellaneous Commands): Remove documentation of 'dired-jump'. + * doc/emacs/dired.texi (Dired Enter): Document 'dired-jump' and + dired-jump-other-window. + * etc/NEWS: Announce the above changes. + + * test/lisp/dired-tests.el (dired-autoload): Adjust test. + +2020-09-11 Stefan Kangas + + Add some eshell completion patterns + + * lisp/eshell/em-cmpl.el (eshell-command-completions-alist): + Add 'gunzip', 'bunzip2' and 'unxz'. + +2020-09-11 Stefan Kangas + + Remove cedet items obsolete since 23.2 + + * lisp/cedet/semantic.el (semantic-toplevel-bovine-table) + (semantic-toplevel-bovine-cache) + (semantic-before-toplevel-bovination-hook) + (semantic-after-toplevel-bovinate-hook, semantic-init-hooks) + (semantic-init-mode-hooks, semantic-init-db-hooks) + (semantic-bovination-working-type, semantic-bovinate-toplevel) + (semantic-bovinate-region-until-error) + (semantic-bovinate-from-nonterminal-full): + * lisp/cedet/semantic/db-mode.el (semanticdb-mode-hooks): + * lisp/cedet/semantic/decorate/mode.el + (semantic-decorate-pending-decoration-hooks): + * lisp/cedet/semantic/edit.el + (semantic-edits-incremental-reparse-failed-hooks): + * lisp/cedet/semantic/fw.el (define-mode-overload-implementation): + * lisp/cedet/semantic/idle.el + (semantic-before-idle-scheduler-reparse-hooks) + (semantic-after-idle-scheduler-reparse-hooks): + (semantic-eldoc-current-symbol-info) + * lisp/cedet/semantic/imenu.el (semantic-imenu-expand-type-parts) + (semantic-imenu-bucketize-type-parts) + (semantic-imenu-expandable-token): + * lisp/cedet/semantic/java.el + (semantic-java-prototype-nonterminal): + * lisp/cedet/semantic/lex.el (semantic-flex-token-start) + (semantic-flex-token-end, semantic-flex-token-text) + (semantic-flex-make-keyword-table, semantic-flex-keyword-p) + (semantic-flex-keyword-put, semantic-flex-keyword-get) + (semantic-flex-map-keywords, semantic-flex-keywords) + (semantic-flex-buffer, semantic-flex-list, semantic-flex): + * lisp/cedet/semantic/tag-file.el (semantic-find-nonterminal) + (semantic-find-dependency): + * lisp/cedet/semantic/tag-ls.el (semantic-nonterminal-full-name) + (semantic-nonterminal-protection, semantic-nonterminal-abstract) + (semantic-nonterminal-leaf): + * lisp/cedet/semantic/tag.el (semantic-token-type-parent) + (semantic-tag-make-assoc-list, semantic-expand-nonterminal): + * lisp/cedet/semantic/util.el (semantic-file-token-stream) + (semantic-something-to-stream): + * lisp/cedet/semantic/wisent.el (wisent-lex-make-token-table): + Delete many items obsolete since Emacs 23.2. + * lisp/cedet/semantic.el (semantic--set-buffer-cache) + (semantic-fetch-tags): Don't run removed hooks + 'semantic-after-toplevel-bovinate-hook' and + 'semantic-before-toplevel-bovination-hook'. + * lisp/cedet/semantic/bovine/el.el: Remove reference to obsolete + variable 'define-mode-overload-implementation'. + * lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag): + Don't bind removed variable 'semantic-ignore-comments'. + * lisp/cedet/semantic/fw.el (semantic-overload-symbol-from-function) + (semantic-alias-obsolete, semantic-varalias-obsolete): Declare + obsolete in favor of standard Emacs 'define-obsolete-*-alias'. + * lisp/cedet/semantic/grammar.el (semantic-grammar-ASSOC): Don't + use obsolete names. + * lisp/cedet/semantic/tag-ls.el (semantic-tag-full-package) + (semantic-tag-full-name): Doc fixes. + * lisp/cedet/semantic/util.el (semantic-describe-buffer): Don't bind + removed variable 'semantic-after-toplevel-bovinate-hook'. + * lisp/cedet/semantic/lex.el (semantic-flex-tokens) + (semantic-flex-unterminated-syntax-end-function) + (semantic-flex-extensions, semantic-flex-syntax-modifications) + (semantic-ignore-comments, semantic-flex-enable-newlines) + (semantic-flex-enable-whitespace, semantic-flex-enable-bol) + (semantic-number-expression, semantic-flex-depth): Make unused + variables obsolete. + +2020-09-11 Lars Ingebrigtsen + + Guard against faulty flow-filled emails + + * lisp/mail/flow-fill.el (fill-flowed): Don't bug out if there's a + space at the end of the buffer. This is probably not allowed in + the flow-fill specification, but has been observed in the wild. + +2020-09-11 Alan Mackenzie + + CC Mode: Fix minor bugs in the string handling functions + + These sometimes gave rise to the tail of a buffer being "stringed out". + + * lixp/progmodes/cc-defs.el (c-will-be-unescaped): New macro. + + * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings) + (c-after-change-mark-abnormal-strings): Fix bugs in the handling of string + fence syntax-table text properties. + +2020-09-11 Eli Zaretskii + + Improve help-echo of Undo and Redo menu items + + * lisp/menu-bar.el (undo-redo, undo): Improve the wording of + help-echo strings. + +2020-09-11 Lars Ingebrigtsen + + Tweak previous mailcap patch (for external viewers) + + * lisp/net/mailcap.el (mailcap-view-mime): Delete contents of the + buffer in the external case, too. + +2020-09-11 Michael Albinus + + D-Bus: Implement other compound types of properties + + * doc/misc/dbus.texi (Errors and Events): + * etc/NEWS: Mention dbus-show-dbus-errors. + + * lisp/net/dbus.el (dbus-compound-types): New defconst. + (dbus): New defgroup. + (dbus-show-dbus-errors): New defcustom. + (dbus-ignore-errors): Use it. + (dbus-set-property): Simplify. + (dbus-property-handler): Implement other compound types of properties. + + * test/lisp/net/dbus-tests.el (dbus--test-register-service) + (dbus-test05-register-property): Extend tests. + +2020-09-11 Andrea Corallo + + * src/comp.c (emit_static_object): Make use of ARRAYELTS. + +2020-09-11 Andrea Corallo + + * Make use of new 'gcc_jit_global_set_initializer' entry point + + Use this brand new entry point to avoid the current workaround and its + load-time memcpys. + + * src/comp.c (gcc_jit_global_set_initializer): Add to the dynamic + load machinery. + (static_obj_t): Remove const qualifier from the data field. + (emit_static_object): Make use of 'gcc_jit_global_set_initializer' + when available. + (load_static_obj): Use the blob for loading if that was emitted. + +2020-09-11 Lars Ingebrigtsen + + Fix up eldef shortening of the minibuffer + + * lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps): + Don't include the ": " bit in the portion to be replaced + (bug#12443). + +2020-09-11 Lars Ingebrigtsen + + Improve diff-no-select doc string + + * lisp/vc/diff.el (diff-no-select): Improve the doc string somewhat. + +2020-09-11 Lars Ingebrigtsen + + Fix viewing PDFs from eww with external viewers + + * lisp/net/mailcap.el (mailcap-view-mime): Most MIME viewers can't + take input on stdin (and in any case, "-" is not how many of them + designate stdin) (bug#43318). So rewrite to put the data on a + file and feed the file name to the viewer. + +2020-09-11 Mattias Engdeg奪rd + + Calc: regularise test names + + * test/lisp/calc/calc-tests.el (calc-remove-units, calc-extract-units) + (calc-convert-units, calc-bug-23889, calc-trig, calc-format-radix) + (calc-calendar, calc-solve-linear-system): + Use a uniform naming convention (calc- prefix) to simplify test running. + +2020-09-11 Mattias Engdeg奪rd + + Simplify big integer constants in Calc + + * lisp/calc/calc-comb.el (math-small-factorial-table): + * lisp/calc/calc-funcs.el (math-bernoulli-b-cache): + * lisp/calc/calc.el (math-2-word-size, math-half-2-word-size): + No need for math-read-number-simple. + +2020-09-11 Mattias Engdeg奪rd + + Fix calc tests when running noninteractively + + This error was introduced in 8e1376a39125c3ffc0484077b502444d853eca79. + + * lisp/calc/calc.el (calc--header-line): Prevent size from being negative. + +2020-09-11 Andrea Corallo + + * Update gitlab CI yml file + + * .gitlab-ci.yml (test-native-bootstrap-speed0) + (test-native-bootstrap-speed1, test-native-bootstrap-speed2): + Update for new make invokation. + +2020-09-11 Andrea Corallo + + By default when building native compile only what's part of the dump image + + To Ahead of Time compile the whole Emacs distro define NATIVE_FULL_AOT + when invoking make ex: 'make NATIVE_FULL_AOT=1'. + + * lisp/Makefile.in (NATIVE_SKIP_NONDUMP): New variable. + (compile-main): Use it + rename NATIVE_DISABLE -> NATIVE_DISABLED. + * lisp/emacs-lisp/comp.el + (batch-byte-native-compile-for-bootstrap): Rename NATIVE_DISABLE + -> NATIVE_DISABLED. + +2020-09-11 Eli Zaretskii + + * lisp/simple.el (undo-redo): Doc fix. + +2020-09-11 Andrew G Cohen + + Allow an info structure as argument for gnus-group-get-parameter + + * lisp/gnus/gnus.el (gnus-group-get-parameter): Allow the group + argument to be either a group name or a group info structure. This is + then parallel to gnus-group-set-parameter. + +2020-09-11 Stefan Monnier + + * lisp/loadup.el ("button"): Move to after loaddefs.el + +2020-09-11 Andrew G Cohen + + Clean up group-finding in Gnus nnir search + + This is part of removing code from nnir.el that isn't related to + searching backends and therefore belongs somewhere else. + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group) + (gnus-group-read-ephemeral-search-group): Put the logic for + determining the groups to search here, rather than in nnir. Improve + documentation. + * lisp/gnus/gnus-int.el (gnus-server-get-active): Renamed from + 'nnir-get-active. + * lisp/gnus/nnir.el (nnir-run-imap, nnir-run-find-grep): Use it. + (nnir-get-active): Remove. + (nnir-make-specs): Make obsolete. + * lisp/gnus/nnselect.el (nnselect-group-server): Make obsolete in + favor of 'gnus-group-server. + +2020-09-11 Andrew G Cohen + + Allow editing articles in Gnus nnselect groups + + * lisp/gnus/nnselect.el (nnselect-request-replace-article): New function. + +2020-09-11 Elad Lahav (tiny change) + + Fix QNX build + + * configure.ac: The __NO_EXT_QNX flag is no longer needed, and is + masking the declaration of memset_s() (bug#43234). + +2020-09-10 Boruch Baum + + Use a header line in calc mode instead of a regular in-buffer line + + * lisp/calc/calc.el (calc-trail-here): Use a header line. + (calc--header-line): New function. + (calc-trail-mode): Use a header line. + +2020-09-10 Lars Ingebrigtsen + + Tweak how `M-RET' in Message mode fills paragraphs + + * lisp/gnus/message.el (message-newline-and-reformat): Pick up any + longer white-space prefix before starting to fill (bug#43299). + This fixes the problem of hitting M-RET on a line that's just ">". + +2020-09-10 Lars Ingebrigtsen + + Doc fix for diff-no-select + + * lisp/vc/diff.el (diff-no-select): Document the BUF argument + (bug#43307). + +2020-09-10 Caio Henrique (tiny change) + + Add a "Redo" entry to the menu + + * lisp/menu-bar.el (menu-bar-edit-menu): Add "Redo" under "Undo" + in the Edit menu (bug#43315). + +2020-09-10 Lars Ingebrigtsen + + Fix the font-lock-debug-fontify NEWS entry + + * etc/NEWS: Fix the name of `font-lock-debug-fontify' (bug#43319). + +2020-09-10 Stefan Kangas + + * lisp/textmodes/artist.el: Remove obsolete comments. + +2020-09-10 Stefan Kangas + + Convert indent test for css-mode into automatic test + + * test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): New + test. + (css-mode-tests-data-dir): New variable. + * test/manual/indent/css-mode.css: Move from here... + * test/lisp/textmodes/css-mode-resources/test-indent.css: ...to here. + +2020-09-10 Stefan Kangas + + Mark some tests as expensive + + * test/lisp/autorevert-tests.el + (auto-revert-test00-auto-revert-mode) + (auto-revert-test03-auto-revert-tail-mode) + (auto-revert-test04-auto-revert-mode-dired): + * test/lisp/cedet/semantic-utest-c.el + (semantic-test-c-preprocessor-simulation): + * test/lisp/cedet/srecode-utest-getset.el + (srecode-utest-getset-output): + * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264): + * test/lisp/emacs-lisp/package-tests.el + (package-test-update-archives-async): + * test/lisp/filenotify-tests.el (file-notify-test03-events) + (file-notify-test04-autorevert) + (file-notify-test05-file-validity, file-notify-test08-backup): + * test/lisp/net/gnutls-tests.el (test-gnutls-005-aead-ciphers): + * test/lisp/shadowfile-tests.el (shadow-test00-clusters) + (shadow-test09-shadow-copy-files): + +2020-09-10 Stefan Kangas + + Use lexical-binding in mml-sec-tests.el + + * test/lisp/gnus/mml-sec-tests.el: Use lexical-binding. + (mml-secure-test-mail-fixture) + (mml-secure-test-en-decrypt-with-passphrase): Fix warnings. + +2020-09-10 Stefan Kangas + + * test/lisp/org/org-tests.el: Use lexical-binding. + +2020-09-10 Stefan Kangas + + Use lexical-binding in url-future-tests.el + + * test/lisp/url/url-future-tests.el: Use lexical-binding. + (url-future-tests--saver): New variable. + (url-future-tests): Use new variable. + +2020-09-10 Stefan Kangas + + Use lexical-binding in semantic-utest-c.el + + * test/lisp/cedet/semantic-utest-c.el: Use lexical-binding. + (semantic-test-gcc-output-parser): Fix warning. + +2020-09-10 Michael Albinus + + Implement D-Bus properties with compound type. + + * lisp/net/dbus.el (dbus-set-property): Fix thinko. + (dbus-register-property, dbus-property-handler): Support compound + properties. + + * src/dbusbind.c (dbus-registered-objects-table): Fix docstring. + + * test/lisp/net/dbus-tests.el (dbus--test-interface): Make it + different to `dbus--test-service'. + (dbus-test05-register-property) + (dbus-test05-register-property-several-paths): Adapt tests. + +2020-09-10 Nick Savage (tiny change) + + Open describe-function NEWS links in view-mode + + * lisp/help-mode.el (help-news): Open describe-function NEWS links in + view-mode (Bug#39912) + +2020-09-10 Alex Bochannek (tiny change) + + Fix up < and > "date" scoring rules in Gnus + + * lisp/gnus/gnus-score.el (gnus-score-date): The previous < and > + "date" scoring rules (added in the previous patch) had reversed + logic (bug#43270). + +2020-09-10 Mauro Aranda + + Fix :match function for the file widget + + * lisp/wid-edit.el (file widget): Return nil if value is not a + string (bug#25678). + +2020-09-10 Lars Ingebrigtsen + + Revert back to using ESC as viper-ESC-key again + + * lisp/emulation/viper-keym.el (viper-ESC-key): Revert back to + using ESC instead of `escape' (bug#18182). This allows using + `C-[' again on terminals for ESC. The key should be mapped back + to `escape' by `function-key-map'. + +2020-09-10 Andrew G Cohen + + Fix new summary-line after editing an article in Gnus + + * lisp/gnus/gnus-sum.el (gnus-summary-edit-article-done): Strip ^M + from the ends of lines after saving an edited article. Otherwise the + new header isn't always parsed properly, resulting in an incorrect + subject line in the summary buffer. + +2020-09-10 Andrea Corallo + + * Guard against trying to rename files into eln sys directory + + * src/comp.c (file_in_eln_sys_dir): New function. + (Fnative_elisp_load): Make use of. + +2020-09-10 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-10 Andrea Corallo + + * Fix rename file error when reloading the same file from an sys eln dir. + + * src/comp.c (Fnative_elisp_load): Don't rename files we don't + have the permission for. + +2020-09-10 Andrea Corallo + + Revert "* src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap." + + This reverts commit 15acd27d1c0de8b56bab61daa0a8fcd4fef0fdc4. + +2020-09-10 Amin Bandali + + Set `generated-autoload-file' in erc-status-sidebar.el + + * lisp/erc/erc-status-sidebar.el: Set `generated-autoload-file' to + ERC's dedicated "erc-loaddefs.el", since we don't need this file's + autoloaded functions to be available before ERC itself is loaded. + +2020-09-09 Kiso Katsuyuki (tiny change) + + Introduce a new variable tab-line-switch-cycling + + If it is set t, enable cycling tab switch. Default is nil. + +2020-09-09 Kiso Katsuyuki (tiny change) + + Suppress errors of tab-line-switch functions + + Traget errors occurs when tab-line-switch-to-prev-tab or + tab-line-switch-to-next-tab is invoked in a buffer which is not in + tabs + +2020-09-09 Jo達o T叩vora + + Fix up fix for bug#19032 + + * lisp/icomplete.el (icomplete-ret): Call + minibuffer-icomplete-and-exit, not minibuffer-exit. + +2020-09-09 Stefan Kangas + + Minor clean ups and doc fixes in find-dired + + * lisp/find-dired.el (find-ls-option, find-dired): Doc fixes. + (find-dired, kill-find): Minor clean ups. + +2020-09-09 Stefan Kangas + + Make flyspell-prog-text-faces into defcustom + + * lisp/textmodes/flyspell.el (flyspell-prog-text-faces): + Make into defcustom. (Bug#32136) + +2020-09-09 Naoya Yamashita + + Add gv-define-expander for plist-get + + It is necessary to make plist-get as a generalized variable, and this + definition allows user to use setf and other useful functions on + plist-get. + + * lisp/emacs-lisp/gv.el: Add gv-define-expander for plist-get + + * lisp/emacs-lisp/gv-tests.el: Add new tests for plist-get + +2020-09-09 Stefan Monnier + + * lisp/dnd.el: Use lexical-binding. Remove redundant :group + + (dnd--unescape-uri): Mark it internal, but don't mark it inlinable. + + * lisp/cus-edit.el (dnd): Move the group to dnd.el. + +2020-09-09 Stefan Monnier + + (define-minor-mode): Don't compute a default :group (bug#41145) + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Rely on the + `defcustom`s own defaulting for the :group. + + * lisp/display-fill-column-indicator.el + (global-display-fill-column-indicator-mode): Remove now redundant :group. + + * lisp/cus-dep.el (custom--get-def): New function. + (custom-make-dependencies): Use it. + +2020-09-09 Michael Albinus + + Adapt Tramp doc + + * doc/misc/tramp.texi (Remote shell setup): + Mention password-word-equivalents. + + * lisp/net/tramp.el (tramp-password-prompt-regexp): Fix docstring. + +2020-09-09 Glenn Morris + + Merge from origin/emacs-27 + + 366a97c980 (origin/emacs-27) Avoid crashes when trying to load bad GI... + 7938713105 C++ Mode: handle comma separated brace initializers. + 2b95300cf8 * lisp/display-fill-column-indicator.el: Fix bug#41145 + +2020-09-09 Glenn Morris + + Merge from origin/emacs-27 + + 9b35b0c99c ; * lisp/man.el (Man-mode): Fix formatting. + abca75d2e9 ; Fix typos; change "Emacs-Lisp" to "Emacs Lisp" + +2020-09-09 Glenn Morris + + Merge from origin/emacs-27 + + 302f71e55d Fix help message with help-window-select + 0fb3fc92b3 Remove obsolete "Wide Characters" section of Gnus manual + +2020-09-09 Michael Albinus + + Fix thinko in dbus.el + + * doc/misc/dbus.texi (Register Objects): Rename from "Receiving + Method Calls". Add reference to D-Bus API Design document. + + * lisp/net/dbus.el (dbus-managed-objects-handler): Fix thinko. + + * test/lisp/net/dbus-tests.el (dbus-test05-register-property) + (dbus-test05-register-property-several-paths): Extend tests. + +2020-09-09 Lars Ingebrigtsen + + Add the (hopefully) correct debbugs header for patches + + * lisp/mail/emacsbug.el (submit-emacs-patch): Mark the submission + as a patch. + +2020-09-09 Lars Ingebrigtsen + + Implement a new `submit-emacs-patch' command + + * doc/emacs/trouble.texi (Checklist): Mention the new command. + + * doc/lispref/intro.texi (Caveats): Ditto. + + * lisp/mail/emacsbug.el (emacs-bug--system-description): Factor + out into own function. + (report-emacs-bug): ... from here. + (submit-emacs-patch): New command. + +2020-09-09 Lars Ingebrigtsen + + Make the button navigation commands available via a minor mode + + * lisp/button.el (button-mode): New minor mode. + + * doc/lispref/display.texi (Button Buffer Commands): Mention it. + +2020-09-09 Andrew G Cohen + + Make Gnus cache work with nnselect + + * lisp/gnus/gnus-cache.el (gnus-cache-possibly-enter-article) + (gnus-cache-possibly-remove-articles) + (gnus-cache-possibly-remove-article): Use originating article info for + nnselect groups. + +2020-09-09 Andrew G Cohen + + Add Gnus function to make a persistent group from a search result + + * lisp/gnus/gnus-sum.el (gnus-summary-make-group-from-search): New + command (bound to C-c C-p in summary buffers). + * doc/misc/gnus.texi (What is nnir?): Document it. Correct previous + errors. + * etc/NEWS (Gnus): Mention it. + +2020-09-08 Lars Ingebrigtsen + + Allow DEFAULT in format-prompt to be a list + + * doc/lispref/minibuf.texi (Text from Minibuffer): Document it. + + * lisp/minibuffer.el (format-prompt): Allow DEFAULT to be a list + (and use the first element). This is how many of the prompting + functions interpret their default parameters. + +2020-09-08 Win Treese + + Fix crash from clicking on menu bar (bug#34762, bug#26982) + + * src/nsmenu.m (ns_update_menubar): Remove extraneous use of + autorelease pool. + +2020-09-08 Lars Ingebrigtsen + + Revert "Use format-prompt in calls to read-from-minibuffer with default value" + + This reverts commit 1921d2176bb9127d2483a1c8a470abfc3f4eec33. + + The DEFAULT-VALUE here isn't really a default value (since READ is nil), so + don't say there's a default. + +2020-09-08 Lars Ingebrigtsen + + Doc string update for tramp-password-prompt-regexp + + * lisp/net/tramp.el (tramp-password-prompt-regexp): Mention + password-word-equivalents in the doc string. + +2020-09-08 Daniel Mart鱈n + + Use mouse-wheel-up-event in mwheel-tests.el + + Enabling mouse-wheel-mode binds two different mouse events, depending + on the operating system. The correct way to check for those events is + by checking mouse-wheel-up-event, as explained in the ELisp manual. + + * test/lisp/mwheel-tests.el (mwheel-test-enable/disable): Check + mouse-wheel-up-event instead of mouse-4 to make the test work + irrespective of the platform it's running. + +2020-09-08 Eli Zaretskii + + Avoid crashes when trying to load bad GIF files + + * src/image.c (gif_load): Handle the case when GifErrorString + returns NULL. (Bug#43281) + +2020-09-08 Glenn Morris + + Skip failing cperl test on hydra + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483): + Skip on hydra.nixos.org. + +2020-09-08 Michael Albinus + + * etc/NEWS: Add D-Bus changes. + +2020-09-08 Michael Albinus + + Implement typed D-Bus properties (Bug#43252) + + * doc/misc/dbus.texi (Properties and Annotations) + (Receiving Method Call): Document optional type symbol in + `dbus-set-property' and `dbus-register-property'. + + * lisp/net/dbus.el (dbus-error-unknown-interface) + (dbus-error-unknown-method, dbus-error-unknown-object) + (dbus-error-unknown-property): New defconsts. + (dbus-peer-handler): Improve error handling. + (dbus-introspect-get-signature): Handle also properties. + (dbus-set-property, dbus-register-property): Allow optional TYPE + symbol for VALUE. (Bug#43252) + (dbus-property-handler): Implement property types. Improve error + handling. + + * src/dbusbind.c (dbus-message-internal, dbus-registered-objects-table): + Fix docstring. + + * test/lisp/net/dbus-tests.el (dbus-test05-register-property): + Extend test. + (dbus-test05-register-property-several-paths): New test. + +2020-09-08 Andrea Corallo + + * src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap. + +2020-09-08 Lars Ingebrigtsen + + Revert "Explain in the tab-always-indent doc how to make TAB insert a TAB" + + This reverts commit 4b2371631167e509668b6268334e324fdd2f0327. + + overriding-terminal-local-map should apparently not be used for minor stuff like this. + +2020-09-08 Alex Bochannek + + Introduce a new Gnus scoring method (for article age) + + * doc/misc/gnus.texi (Score File Format): Document it. + + * lisp/gnus/gnus-score.el (gnus-score-check-syntax): Add support + for the new date methods < and > (bug#43270). + (gnus-score-date): Allow scoring on dates by age. + +2020-09-08 Jo達o T叩vora + + Change icomplete-show-matches-on-no-input behaviour for Icomplete only + + (Bug#19032), bug#43120 + + Previous fixes to bug#19032 introduced bugs in Fido mode. This fix + relies on a new command bound to RET. + + * etc/NEWS (Miscellaneous): Mention icomplete-show-matches-on-no-input. + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Add comment. + (icomplete-minibuffer-map): Rebind minibuffer-complete-and-exit to + icomplete-ret. + (icomplete-ret): New command. + +2020-09-08 Jo達o T叩vora + + Revert two commits for bug#19032 + + This reverts: + + - commit 585fe00557489e49188b6a301f001ef01ff15dcb, which is titled + "Fix up previous icomplete-show-matches-on-no-input change" + + - commit 1b8d369c381b5a63e40529d0d95dfa75d94b8e09, which is titled + "Change icomplete-show-matches-on-no-input behavior". + + A simpler, less intrusive fix follows shortly after this commit. + +2020-09-08 Amin Bandali + + * etc/NEWS: Mention the new erc-status-sidebar.el + + * lisp/erc/erc-status-sidebar.el: Fix header and make small tweaks + +2020-09-08 Andrew Barbarello + + * lisp/erc/erc-status-sidebar.el: New file + + Taken from commit 87210a3ccc16a86e6b5992744b68daabed3b2d11 + of https://github.com/drewbarbs/erc-status-sidebar. + +2020-09-08 Andrea Corallo + + * Name temp eln files as .eln.tmp so we can't clean-up them mistakenly. + + * src/comp.c (Fcomp__compile_ctxt_to_file): Postfix temporary eln + files as .eln.tmp. + +2020-09-07 Andrea Corallo + + * Do not crash compilation if user eln-cache wasn't already created. + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Guard + against calling `directory-files' on non existent directories. + +2020-09-07 Lars Ingebrigtsen + + Use format-prompt in read-file-name calls that have a default + + * lisp/xwidget.el (xwidget-webkit-save-as-file): + * lisp/vc/vc.el (vc-backend-for-registration, vc-delete-file) + (vc-rename-file): + * lisp/vc/ediff-ptch.el (ediff-prompt-for-patch-file): + * lisp/vc/diff-mode.el (diff-tell-file-name): + * lisp/progmodes/etags.el (visit-tags-table) + (visit-tags-table-buffer): + * lisp/misearch.el (multi-isearch-read-files): + * lisp/mail/rmailmm.el (rmail-mime-save): + * lisp/help-fns.el (doc-file-to-man, doc-file-to-info): + * lisp/gnus/gnus-bookmark.el (gnus-bookmark-load): + * lisp/files.el (write-file, basic-save-buffer): + * lisp/dired.el (dired-read-dir-and-switches): + * lisp/bookmark.el (bookmark-save, bookmark-load): + * lisp/abbrev.el (write-abbrev-file, abbrev-edit-save-to-file): + Use format-prompt in read-file-name calls that have a default. + +2020-09-07 Reuben Thomas + + Fix Enchant dictionary finding routine + + * lisp/textmodes/ispell.el (ispell-find-enchant-dictionaries): Dont + pass `buffer-string' to enchant-lsmod. Remove zero-length substrings + from the split output of `enchant-lsmod`, as the output ends with a + separator. Pass the current language to + `ispell--get-extra-word-characters', so we get the result for the + current language, not the default language. (Patch from Jorge P. de + Morais Neto.) + +2020-09-07 Juri Linkov + + * lisp/char-fold.el (char-fold-to-regexp): Handle lax-whitespace (bug#38539) + +2020-09-07 Lars Ingebrigtsen + + Fix test failure in custom--test-theme-variables + + * test/lisp/custom-tests.el (custom--test-theme-variables): "make + check" in the main directory didn't work because the path was + wrong. Use EMACS_TEST_DIRECTORY to find the test directory + instead. + +2020-09-07 Lars Ingebrigtsen + + Require ert in the cperl tests, since it's reloading itself + +2020-09-07 Viktor Slavkovikj (tiny change) + + Use auth-source for passwords in rmail + + * lisp/mail/rmail.el (rmail-get-remote-password): Use auth-source for + passwords (bug#24274). + (rmail-parse-url): Pass in user/host. + +2020-09-07 Daniel Mart鱈n (tiny change) + + Add support for horizontal scrolling in tab-line + + * lisp/tab-line.el ([tab-line wheel-left]): Bind left and right tab + line scrolling to the 'wheel-left' and 'wheel-right' mouse events. + ([tab-line S-wheel-right]): Analogous change for the functions that + switch tabs. + * etc/NEWS: Announce the new feature (bug#43224). + +2020-09-07 Lars Ingebrigtsen + + Show the status of signed + encrypted S/MIME messages in Gnus + + * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Use the + data to tell the caller (i.e., Gnus) something about the + validation of signed + encrypted S/MIME messages. + + * lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Pass along details + about whether we could validate the signature or not (bug#42637). + +2020-09-07 Jo達o T叩vora + + Better explain behaviour of icomplete--sorted-completions + + * lisp/icomplete.el (icomplete--sorted-completions): Overhaul comment + +2020-09-07 Lars Ingebrigtsen + + Remove debugging code inadvertently checked in + + * lisp/gnus/gnus-fun.el (gnus-face-from-file): Remove debugging + code inadvertently checked in. + +2020-09-07 Andrew G Cohen + + Add aliases for recent Gnus nnselect changes + + * lisp/org/ol-gnus.el (org-gnus-store-link): Change 'nnir to + 'nnselect. + * lisp/gnus/gnus-group.el: Define obsolete function alias for + 'gnus-group-make-nnir-group to + 'gnus-group-read-ephemeral-search-group. + * lisp/gnus/gnus-sum.el: Define obsolete variable alias for + 'gnus-refer-thread-use-nnir to 'gnus-refer-thread-use-search. + * lisp/gnus/nnselect.el: Define obsolete variable alias for + 'nnir-retrieve-headers-override-function to + 'nnselect-retrieve-headers-override-function. + * lisp/gnus/nnir.el: Restore definition of 'nnir-summary-line-format + and mark obsolete. + +2020-09-07 Lars Ingebrigtsen + + Use variable-pitch fonts in the eww headers + + * lisp/net/eww.el (eww--limit-string-pixelwise) + (eww--pixel-column): New functions. + (eww-update-header-line-format): Use variable pitch fonts in the + header line. + +2020-09-07 Lars Ingebrigtsen + + Add edebug form to subr--with-wrapper-hook-no-warnings + + * lisp/subr.el (subr--with-wrapper-hook-no-warnings): Add a debug + form to allow edebugging some stuff. + +2020-09-07 Reuben Thomas + + Add enchant-2 to list of default spelling checker programs + + * lisp/textmodes/ispell.el (ispell-program-name): Check `enchant-2', + as it is likely to be a suitable version. + +2020-09-07 Philip K + + Allow CSS completion with multiple rules on one line + + * css-mode.el (css--complete-property-value): Check for semi-colon + when completing property values (bug#43242). + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in some read-string calls + + * lisp/progmodes/prolog.el (prolog-help-on-predicate): + * lisp/cmuscheme.el (scheme-trace-procedure): + * lisp/calendar/todo-mode.el (todo-convert-legacy-files): Use + format-prompt in some read-string calls (that have default values). + + * lisp/printing.el (pr-interactive-regexp): No need to use "" as + the default value, because that's the default default value. + (pr-interactive-n-up): Use read-number instead of read-string and + then parsing the string. + +2020-09-06 dickmao + + Make list-processes--refresh work for pipe processes, too + + * lisp/simple.el (list-processes--refresh): Don't bug out in the + presence of a `pipe' process (bug#43202). + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in calls to read-from-minibuffer with default value + + * lisp/tab-bar.el (tab-bar-rename-tab) + (tab-bar-rename-tab-by-name): + * lisp/simple.el (next-matching-history-element): Use + format-prompt in calls to read-from-minibuffer with at default + value. + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in read-string calls (that have default values) + + * lisp/vc/vc-annotate.el (vc-annotate): + * lisp/vc/log-edit.el (log-edit-comment-search-backward) + (log-edit-comment-search-forward): + * lisp/textmodes/rst.el (rst-insert-list-new-item): + * lisp/server.el (server-force-delete): + * lisp/mpc.el (mpc): + * lisp/frame.el (set-frame-name): + * lisp/emulation/cua-rect.el (cua-sequence-rectangle): + * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp): + * lisp/calendar/todo-mode.el (todo-read-time): Use `format-prompt' + in `read-string' calls that have defaults. + +2020-09-06 Stefan Kangas + + Add autoload cookie to eshell-bookmark-jump + + * lisp/eshell/esh-mode.el (eshell-bookmark-jump): Add autoload + cookie, so we can jump to bookmarks before having used eshell. + Problem noted by Stefan Monnier. + +2020-09-06 Michael Albinus + + More work on D-Bus error messages + + * lisp/net/dbus.el (dbus-get-property): Adapt docstring. + (dbus-set-property): Handle case of `:write' access type. + (dbus-get-other-registered-properties): Rename from + `dbus-get-other-registered-property'. + (dbus-property-handler): Fix thinkos. + + * src/dbusbind.c (xd_read_message_1): Add error_name to event args + in case of DBUS_MESSAGE_TYPE_ERROR. + + * test/lisp/net/dbus-tests.el (dbus--test-enabled-session-bus) + (dbus--test-enabled-system-bus): Make them defconst. + (dbus--test-service, dbus--test-path, dbus--test-interface): + New defconst. Replace all occurences of `dbus-service-emacs' by + `dbus--test-service'. + (dbus--test-method-handler): New defun. + (dbus-test04-register-method, dbus-test05-register-property): New tests. + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in calls to completing-read with a default value + + * lisp/textmodes/rst.el (rst-insert-list-new-item): + * lisp/tab-bar.el (tab-bar-switch-to-tab): + * lisp/profiler.el (profiler-start): + * lisp/frame.el (set-frame-font): + * lisp/erc/erc.el (erc-join-channel): + * lisp/emacs-lock.el (emacs-lock--set-mode): + * lisp/emacs-lisp/elp.el (elp-set-master): + * lisp/emacs-lisp/checkdoc.el () + (checkdoc-this-string-valid-engine): + * lisp/calendar/todo-mode.el (todo-find-filtered-items-file): + * lisp/calendar/calendar.el (calendar-set-date-style): Use + `format-prompt' in calls to completing-read that has a default + value, but didn't mention that in the prompt. + +2020-09-06 Lars Ingebrigtsen + + Use a popup menu for