summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2023-07-04 17:25:15 +0100
committerSean Whitton <spwhitton@spwhitton.name>2023-07-04 17:25:15 +0100
commit6eaa30d94d2f594fe3274443b85ad27efaf90ce6 (patch)
tree6e75bd084bb203642dd0388578ad434d1f3e63ba
parent25687c5314bbd8c4486c71934fb2494672344ac3 (diff)
parentd0325e23099823f9f6e2575ef52940a69e8a6549 (diff)
downloademacs-6eaa30d94d2f594fe3274443b85ad27efaf90ce6.tar.gz
Merge upstream Git snapshot into athena/unstable
-rw-r--r--.dir-locals.el3
-rw-r--r--ChangeLog.425272
-rw-r--r--INSTALL6
-rw-r--r--Makefile.in9
-rw-r--r--admin/admin.el3
-rw-r--r--admin/authors.el2
-rw-r--r--admin/charsets/Makefile.in2
-rwxr-xr-xadmin/charsets/mapconv3
-rw-r--r--admin/cus-test.el2
-rwxr-xr-xadmin/git-bisect-start17
-rw-r--r--admin/make-tarball.txt7
-rwxr-xr-xadmin/merge-gnulib6
-rw-r--r--admin/notes/emba14
-rw-r--r--admin/notes/tree-sitter/treesit_record_change180
-rw-r--r--admin/notes/unicode17
-rw-r--r--admin/unidata/Makefile.in14
-rw-r--r--admin/unidata/emoji-variation-sequences.txt723
-rw-r--r--admin/unidata/emoji-zwj.awk15
-rwxr-xr-xautogen.sh3
-rw-r--r--build-aux/git-hooks/commit-msg-files.awk128
-rwxr-xr-xbuild-aux/git-hooks/post-commit47
-rwxr-xr-xbuild-aux/git-hooks/pre-push88
-rw-r--r--configure.ac109
-rw-r--r--doc/emacs/custom.texi20
-rw-r--r--doc/emacs/display.texi5
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/emacs/indent.texi6
-rw-r--r--doc/emacs/macos.texi12
-rw-r--r--doc/emacs/maintaining.texi21
-rw-r--r--doc/emacs/mini.texi18
-rw-r--r--doc/emacs/mule.texi4
-rw-r--r--doc/emacs/package.texi96
-rw-r--r--doc/emacs/programs.texi19
-rw-r--r--doc/emacs/regs.texi29
-rw-r--r--doc/emacs/search.texi56
-rw-r--r--doc/emacs/trouble.texi34
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi71
-rw-r--r--doc/lispref/commands.texi11
-rw-r--r--doc/lispref/compile.texi21
-rw-r--r--doc/lispref/control.texi5
-rw-r--r--doc/lispref/customize.texi7
-rw-r--r--doc/lispref/debugging.texi2
-rw-r--r--doc/lispref/display.texi283
-rw-r--r--doc/lispref/files.texi4
-rw-r--r--doc/lispref/frames.texi36
-rw-r--r--doc/lispref/functions.texi31
-rw-r--r--doc/lispref/internals.texi2
-rw-r--r--doc/lispref/lists.texi19
-rw-r--r--doc/lispref/loading.texi2
-rw-r--r--doc/lispref/minibuf.texi62
-rw-r--r--doc/lispref/modes.texi149
-rw-r--r--doc/lispref/numbers.texi39
-rw-r--r--doc/lispref/os.texi18
-rw-r--r--doc/lispref/parsing.texi421
-rw-r--r--doc/lispref/positions.texi22
-rw-r--r--doc/lispref/processes.texi12
-rw-r--r--doc/lispref/records.texi4
-rw-r--r--doc/lispref/searching.texi216
-rw-r--r--doc/lispref/streams.texi9
-rw-r--r--doc/lispref/symbols.texi6
-rw-r--r--doc/lispref/text.texi87
-rw-r--r--doc/lispref/variables.texi32
-rw-r--r--doc/lispref/windows.texi2
-rw-r--r--doc/misc/calc.texi26
-rw-r--r--doc/misc/cc-mode.texi45
-rw-r--r--doc/misc/dbus.texi20
-rw-r--r--doc/misc/ede.texi18
-rw-r--r--doc/misc/eglot.texi43
-rw-r--r--doc/misc/erc.texi89
-rw-r--r--doc/misc/ert.texi14
-rw-r--r--doc/misc/eshell.texi281
-rw-r--r--doc/misc/eudc.texi16
-rw-r--r--doc/misc/eww.texi19
-rw-r--r--doc/misc/flymake.texi32
-rw-r--r--doc/misc/gnus.texi83
-rw-r--r--doc/misc/message.texi19
-rw-r--r--doc/misc/modus-themes.org400
-rw-r--r--doc/misc/org.org5
-rw-r--r--doc/misc/texinfo.tex151
-rw-r--r--doc/misc/todo-mode.texi14
-rw-r--r--doc/misc/tramp.texi77
-rw-r--r--doc/misc/transient.texi6
-rw-r--r--doc/misc/use-package.texi52
-rw-r--r--etc/AUTHORS1370
-rw-r--r--etc/EGLOT-NEWS58
-rw-r--r--etc/ERC-NEWS146
-rw-r--r--etc/HELLO4
-rw-r--r--etc/NEWS264
-rw-r--r--etc/NEWS.29279
-rw-r--r--etc/PROBLEMS104
-rw-r--r--etc/refcards/orgcard.tex2
-rw-r--r--etc/themes/modus-operandi-deuteranopia-theme.el47
-rw-r--r--etc/themes/modus-operandi-theme.el35
-rw-r--r--etc/themes/modus-operandi-tinted-theme.el35
-rw-r--r--etc/themes/modus-operandi-tritanopia-theme.el442
-rw-r--r--etc/themes/modus-themes.el385
-rw-r--r--etc/themes/modus-vivendi-deuteranopia-theme.el49
-rw-r--r--etc/themes/modus-vivendi-theme.el33
-rw-r--r--etc/themes/modus-vivendi-tinted-theme.el33
-rw-r--r--etc/themes/modus-vivendi-tritanopia-theme.el441
-rw-r--r--etc/tutorials/TUTORIAL2
-rw-r--r--etc/tutorials/TUTORIAL.cn152
-rw-r--r--etc/tutorials/TUTORIAL.fa1164
-rw-r--r--etc/tutorials/TUTORIAL.translators5
-rw-r--r--leim/MISC-DIC/CTLau-b5.html4
-rw-r--r--lib-src/ebrowse.c5
-rw-r--r--lib-src/etags.c5
-rw-r--r--lib-src/movemail.c2
-rw-r--r--lib/acl-internal.h8
-rw-r--r--lib/acl.h5
-rw-r--r--lib/attribute.h15
-rw-r--r--lib/binary-io.h8
-rw-r--r--lib/c++defs.h6
-rw-r--r--lib/c-ctype.h4
-rw-r--r--lib/c-strcase.h5
-rw-r--r--lib/careadlinkat.c8
-rw-r--r--lib/careadlinkat.h5
-rw-r--r--lib/count-leading-zeros.h8
-rw-r--r--lib/count-one-bits.h8
-rw-r--r--lib/count-trailing-zeros.h8
-rw-r--r--lib/diffseq.h20
-rw-r--r--lib/dirent-private.h67
-rw-r--r--lib/dirent.in.h49
-rw-r--r--lib/dirfd.c17
-rw-r--r--lib/eloop-threshold.h5
-rw-r--r--lib/execinfo.in.h4
-rw-r--r--lib/fcntl.in.h5
-rw-r--r--lib/fdopendir.c97
-rw-r--r--lib/file-has-acl.c117
-rw-r--r--lib/filemode.h6
-rw-r--r--lib/filevercmp.h5
-rw-r--r--lib/flexmember.h18
-rw-r--r--lib/fpending.h6
-rw-r--r--lib/gettime.c4
-rw-r--r--lib/gettimeofday.c14
-rw-r--r--lib/gnulib.mk.in23
-rw-r--r--lib/inttypes.in.h5
-rw-r--r--lib/limits.in.h17
-rw-r--r--lib/malloc/dynarray_emplace_enlarge.c4
-rw-r--r--lib/malloc/dynarray_resize.c4
-rw-r--r--lib/md5.h5
-rw-r--r--lib/minmax.h5
-rw-r--r--lib/mktime.c11
-rw-r--r--lib/nanosleep.c3
-rw-r--r--lib/nstrftime.c52
-rw-r--r--lib/openat.h9
-rw-r--r--lib/pathmax.h5
-rw-r--r--lib/pselect.c12
-rw-r--r--lib/regex_internal.h6
-rw-r--r--lib/regexec.c2
-rw-r--r--lib/sha1.h5
-rw-r--r--lib/sha256.h5
-rw-r--r--lib/sha512.h5
-rw-r--r--lib/signal.in.h5
-rw-r--r--lib/stat-time.h45
-rw-r--r--lib/stddef.in.h52
-rw-r--r--lib/stdio.in.h84
-rw-r--r--lib/stdlib.in.h63
-rw-r--r--lib/string.in.h6
-rw-r--r--lib/strtol.c14
-rw-r--r--lib/sys_random.in.h5
-rw-r--r--lib/sys_select.in.h12
-rw-r--r--lib/sys_stat.in.h12
-rw-r--r--lib/sys_time.in.h12
-rw-r--r--lib/sys_types.in.h7
-rw-r--r--lib/time.in.h17
-rw-r--r--lib/timespec-add.c5
-rw-r--r--lib/timespec-sub.c5
-rw-r--r--lib/timespec.h14
-rw-r--r--lib/u64.h8
-rw-r--r--lib/unistd.in.h9
-rw-r--r--lib/unlocked-io.h5
-rw-r--r--lib/utimens.c20
-rw-r--r--lib/utimens.h8
-rw-r--r--lib/verify.h34
-rw-r--r--lisp/Makefile.in43
-rw-r--r--lisp/allout-widgets.el3
-rw-r--r--lisp/allout.el2
-rw-r--r--lisp/apropos.el3
-rw-r--r--lisp/arc-mode.el76
-rw-r--r--lisp/bookmark.el2
-rw-r--r--lisp/calc/calc-graph.el7
-rw-r--r--lisp/calc/calc-misc.el1
-rw-r--r--lisp/calc/calc-prog.el1
-rw-r--r--lisp/calculator.el8
-rw-r--r--lisp/calendar/appt.el2
-rw-r--r--lisp/calendar/parse-time.el16
-rw-r--r--lisp/calendar/todo-mode.el658
-rw-r--r--lisp/comint.el35
-rw-r--r--lisp/composite.el4
-rw-r--r--lisp/dired-aux.el8
-rw-r--r--lisp/dired.el30
-rw-r--r--lisp/dynamic-setting.el1
-rw-r--r--lisp/edmacro.el8
-rw-r--r--lisp/elec-pair.el4
-rw-r--r--lisp/emacs-lisp/backtrace.el1
-rw-r--r--lisp/emacs-lisp/benchmark.el2
-rw-r--r--lisp/emacs-lisp/byte-opt.el166
-rw-r--r--lisp/emacs-lisp/byte-run.el9
-rw-r--r--lisp/emacs-lisp/bytecomp.el294
-rw-r--r--lisp/emacs-lisp/cconv.el5
-rw-r--r--lisp/emacs-lisp/cl-macs.el94
-rw-r--r--lisp/emacs-lisp/cl-preloaded.el2
-rw-r--r--lisp/emacs-lisp/comp-cstr.el85
-rw-r--r--lisp/emacs-lisp/comp.el185
-rw-r--r--lisp/emacs-lisp/disass.el23
-rw-r--r--lisp/emacs-lisp/easy-mmode.el9
-rw-r--r--lisp/emacs-lisp/find-func.el2
-rw-r--r--lisp/emacs-lisp/gv.el7
-rw-r--r--lisp/emacs-lisp/lisp-mode.el4
-rw-r--r--lisp/emacs-lisp/lisp.el22
-rw-r--r--lisp/emacs-lisp/loaddefs-gen.el138
-rw-r--r--lisp/emacs-lisp/macroexp.el177
-rw-r--r--lisp/emacs-lisp/nadvice.el6
-rw-r--r--lisp/emacs-lisp/package-vc.el100
-rw-r--r--lisp/emacs-lisp/package.el318
-rw-r--r--lisp/emacs-lisp/pp.el288
-rw-r--r--lisp/emacs-lisp/regexp-opt.el2
-rw-r--r--lisp/emacs-lisp/rx.el1
-rw-r--r--lisp/emacs-lisp/shortdoc.el20
-rw-r--r--lisp/emacs-lisp/subr-x.el9
-rw-r--r--lisp/emacs-lisp/text-property-search.el35
-rw-r--r--lisp/emulation/viper-ex.el3
-rw-r--r--lisp/emulation/viper-init.el3
-rw-r--r--lisp/env.el3
-rw-r--r--lisp/erc/erc-backend.el92
-rw-r--r--lisp/erc/erc-button.el492
-rw-r--r--lisp/erc/erc-common.el90
-rw-r--r--lisp/erc/erc-dcc.el3
-rw-r--r--lisp/erc/erc-fill.el211
-rw-r--r--lisp/erc/erc-goodies.el37
-rw-r--r--lisp/erc/erc-imenu.el9
-rw-r--r--lisp/erc/erc-join.el9
-rw-r--r--lisp/erc/erc-log.el17
-rw-r--r--lisp/erc/erc-match.el15
-rw-r--r--lisp/erc/erc-netsplit.el4
-rw-r--r--lisp/erc/erc-ring.el4
-rw-r--r--lisp/erc/erc-sasl.el38
-rw-r--r--lisp/erc/erc-services.el121
-rw-r--r--lisp/erc/erc-sound.el8
-rw-r--r--lisp/erc/erc-spelling.el9
-rw-r--r--lisp/erc/erc-stamp.el40
-rw-r--r--lisp/erc/erc-truncate.el21
-rw-r--r--lisp/erc/erc.el765
-rw-r--r--lisp/eshell/em-glob.el2
-rw-r--r--lisp/eshell/em-ls.el6
-rw-r--r--lisp/eshell/em-pred.el4
-rw-r--r--lisp/eshell/em-prompt.el3
-rw-r--r--lisp/eshell/em-rebind.el19
-rw-r--r--lisp/eshell/em-unix.el70
-rw-r--r--lisp/eshell/esh-util.el5
-rw-r--r--lisp/faces.el40
-rw-r--r--lisp/filecache.el2
-rw-r--r--lisp/files-x.el26
-rw-r--r--lisp/files.el40
-rw-r--r--lisp/filesets.el1
-rw-r--r--lisp/foldout.el2
-rw-r--r--lisp/gnus/gnus-art.el7
-rw-r--r--lisp/gnus/gnus-icalendar.el20
-rw-r--r--lisp/gnus/gnus-search.el61
-rw-r--r--lisp/gnus/gnus-sum.el8
-rw-r--r--lisp/gnus/message.el44
-rw-r--r--lisp/gnus/mml2015.el2
-rw-r--r--lisp/gnus/nnagent.el23
-rw-r--r--lisp/gnus/nntp.el7
-rw-r--r--lisp/help-fns.el27
-rw-r--r--lisp/help.el18
-rw-r--r--lisp/icomplete.el5
-rw-r--r--lisp/info-look.el6
-rw-r--r--lisp/international/characters.el10
-rw-r--r--lisp/international/fontset.el2
-rw-r--r--lisp/international/ja-dic-cnv.el4
-rw-r--r--lisp/international/mule.el16
-rw-r--r--lisp/international/quail.el3
-rw-r--r--lisp/isearch.el6
-rw-r--r--lisp/kmacro.el13
-rw-r--r--lisp/language/cyrillic.el10
-rw-r--r--lisp/language/misc-lang.el29
-rw-r--r--lisp/ldefs-boot.el327
-rw-r--r--lisp/leim/quail/greek.el1
-rw-r--r--lisp/leim/quail/latin-ltx.el3
-rw-r--r--lisp/leim/quail/persian.el122
-rw-r--r--lisp/loadup.el2
-rw-r--r--lisp/lpr.el3
-rw-r--r--lisp/ls-lisp.el2
-rw-r--r--lisp/mail/binhex.el2
-rw-r--r--lisp/mail/emacsbug.el16
-rw-r--r--lisp/mail/rmail.el94
-rw-r--r--lisp/mail/rmailsum.el3
-rw-r--r--lisp/mail/uudecode.el2
-rw-r--r--lisp/menu-bar.el71
-rw-r--r--lisp/minibuffer.el59
-rw-r--r--lisp/misc.el96
-rw-r--r--lisp/net/ange-ftp.el10
-rw-r--r--lisp/net/browse-url.el13
-rw-r--r--lisp/net/dictionary.el206
-rw-r--r--lisp/net/eudc-vars.el7
-rw-r--r--lisp/net/eww.el108
-rw-r--r--lisp/net/ldap.el69
-rw-r--r--lisp/net/mailcap.el13
-rw-r--r--lisp/net/net-utils.el10
-rw-r--r--lisp/net/ntlm.el1
-rw-r--r--lisp/net/rcirc.el14
-rw-r--r--lisp/net/secrets.el27
-rw-r--r--lisp/net/shr.el33
-rw-r--r--lisp/net/soap-client.el10
-rw-r--r--lisp/net/socks.el1
-rw-r--r--lisp/net/tramp-adb.el11
-rw-r--r--lisp/net/tramp-archive.el10
-rw-r--r--lisp/net/tramp-cache.el12
-rw-r--r--lisp/net/tramp-cmds.el67
-rw-r--r--lisp/net/tramp-compat.el24
-rw-r--r--lisp/net/tramp-container.el224
-rw-r--r--lisp/net/tramp-crypt.el11
-rw-r--r--lisp/net/tramp-fuse.el47
-rw-r--r--lisp/net/tramp-gvfs.el29
-rw-r--r--lisp/net/tramp-rclone.el66
-rw-r--r--lisp/net/tramp-sh.el100
-rw-r--r--lisp/net/tramp-smb.el39
-rw-r--r--lisp/net/tramp-sshfs.el6
-rw-r--r--lisp/net/tramp-sudoedit.el9
-rw-r--r--lisp/net/tramp.el237
-rw-r--r--lisp/newcomment.el9
-rw-r--r--lisp/nxml/rng-nxml.el2
-rw-r--r--lisp/nxml/xmltok.el2
-rw-r--r--lisp/obsolete/autoload.el2
-rw-r--r--lisp/obsolete/mantemp.el2
-rw-r--r--lisp/org/ob-R.el5
-rw-r--r--lisp/org/ob-js.el5
-rw-r--r--lisp/org/ob-tangle.el10
-rw-r--r--lisp/org/oc.el4
-rw-r--r--lisp/org/org-agenda.el3
-rw-r--r--lisp/org/org-clock.el103
-rw-r--r--lisp/org/org-element.el2
-rw-r--r--lisp/org/org-macs.el15
-rw-r--r--lisp/org/org-table.el16
-rw-r--r--lisp/org/org-version.el4
-rw-r--r--lisp/org/org.el40
-rw-r--r--lisp/org/ox-latex.el6
-rw-r--r--lisp/org/ox-odt.el33
-rw-r--r--lisp/outline.el6
-rw-r--r--lisp/pcmpl-linux.el3
-rw-r--r--lisp/pixel-scroll.el7
-rw-r--r--lisp/plstore.el203
-rw-r--r--lisp/progmodes/c-ts-mode.el225
-rw-r--r--lisp/progmodes/cc-align.el10
-rw-r--r--lisp/progmodes/cc-defs.el30
-rw-r--r--lisp/progmodes/cc-engine.el478
-rw-r--r--lisp/progmodes/cc-fonts.el49
-rw-r--r--lisp/progmodes/cc-langs.el21
-rw-r--r--lisp/progmodes/cc-mode.el11
-rw-r--r--lisp/progmodes/cc-styles.el5
-rw-r--r--lisp/progmodes/cc-vars.el11
-rw-r--r--lisp/progmodes/cmake-ts-mode.el3
-rw-r--r--lisp/progmodes/cperl-mode.el490
-rw-r--r--lisp/progmodes/csharp-mode.el15
-rw-r--r--lisp/progmodes/dcl-mode.el2
-rw-r--r--lisp/progmodes/dockerfile-ts-mode.el5
-rw-r--r--lisp/progmodes/ebrowse.el6
-rw-r--r--lisp/progmodes/eglot.el286
-rw-r--r--lisp/progmodes/elisp-mode.el11
-rw-r--r--lisp/progmodes/elixir-ts-mode.el6
-rw-r--r--lisp/progmodes/flymake.el56
-rw-r--r--lisp/progmodes/gdb-mi.el11
-rw-r--r--lisp/progmodes/go-ts-mode.el15
-rw-r--r--lisp/progmodes/gud.el2
-rw-r--r--lisp/progmodes/idlwave.el7
-rw-r--r--lisp/progmodes/java-ts-mode.el7
-rw-r--r--lisp/progmodes/js.el65
-rw-r--r--lisp/progmodes/prog-mode.el1
-rw-r--r--lisp/progmodes/project.el61
-rw-r--r--lisp/progmodes/python.el198
-rw-r--r--lisp/progmodes/ruby-ts-mode.el2
-rw-r--r--lisp/progmodes/rust-ts-mode.el35
-rw-r--r--lisp/progmodes/scheme.el2
-rw-r--r--lisp/progmodes/sh-script.el10
-rw-r--r--lisp/progmodes/sql.el19
-rw-r--r--lisp/progmodes/typescript-ts-mode.el9
-rw-r--r--lisp/progmodes/verilog-mode.el107
-rw-r--r--lisp/progmodes/vhdl-mode.el67
-rw-r--r--lisp/progmodes/xref.el28
-rw-r--r--lisp/rect.el25
-rw-r--r--lisp/register.el152
-rw-r--r--lisp/replace.el7
-rw-r--r--lisp/select.el31
-rw-r--r--lisp/server.el20
-rw-r--r--lisp/simple.el151
-rw-r--r--lisp/speedbar.el4
-rw-r--r--lisp/startup.el30
-rw-r--r--lisp/subr.el123
-rw-r--r--lisp/tab-bar.el30
-rw-r--r--lisp/term.el6
-rw-r--r--lisp/term/haiku-win.el3
-rw-r--r--lisp/textmodes/enriched.el1
-rw-r--r--lisp/textmodes/picture.el2
-rw-r--r--lisp/textmodes/reftex.el6
-rw-r--r--lisp/textmodes/tex-mode.el6
-rw-r--r--lisp/textmodes/texinfo.el14
-rw-r--r--lisp/tmm.el33
-rw-r--r--lisp/transient.el83
-rw-r--r--lisp/treesit.el193
-rw-r--r--lisp/tutorial.el1
-rw-r--r--lisp/use-package/use-package-core.el112
-rw-r--r--lisp/use-package/use-package-ensure.el3
-rw-r--r--lisp/vc/ediff-diff.el2
-rw-r--r--lisp/vc/vc-annotate.el2
-rw-r--r--lisp/vc/vc-cvs.el226
-rw-r--r--lisp/vc/vc-git.el19
-rw-r--r--lisp/vc/vc-hg.el27
-rw-r--r--lisp/vc/vc-hooks.el9
-rw-r--r--lisp/vc/vc.el64
-rw-r--r--lisp/w32-fns.el2
-rw-r--r--lisp/wdired.el2
-rw-r--r--lisp/wid-edit.el141
-rw-r--r--lisp/windmove.el2
-rw-r--r--lisp/window.el10
-rw-r--r--lisp/woman.el1
-rw-r--r--lisp/x-dnd.el8
-rw-r--r--lisp/xml.el5
-rw-r--r--m4/acl.m448
-rw-r--r--m4/codeset.m424
-rw-r--r--m4/copy-file-range.m418
-rw-r--r--m4/dirent_h.m421
-rw-r--r--m4/dirfd.m425
-rw-r--r--m4/extern-inline.m44
-rw-r--r--m4/gnulib-common.m474
-rw-r--r--m4/gnulib-comp.m457
-rw-r--r--m4/largefile.m4175
-rw-r--r--m4/libgmp.m44
-rw-r--r--m4/limits-h.m422
-rw-r--r--m4/locale-fr.m4253
-rw-r--r--m4/manywarnings.m4113
-rw-r--r--m4/musl.m420
-rw-r--r--m4/regex.m44
-rw-r--r--m4/ssize_t.m428
-rw-r--r--m4/stdalign.m430
-rw-r--r--m4/stddef_h.m417
-rw-r--r--m4/stdio_h.m424
-rw-r--r--m4/stdlib_h.m453
-rw-r--r--m4/strtoll.m433
-rw-r--r--m4/warnings.m476
-rw-r--r--m4/xattr.m44
-rw-r--r--nt/mingw-cfg.site2
-rw-r--r--src/Makefile.in8
-rw-r--r--src/alloc.c27
-rw-r--r--src/bignum.c2
-rw-r--r--src/buffer.c15
-rw-r--r--src/bytecode.c2
-rw-r--r--src/callproc.c1
-rw-r--r--src/casefiddle.c4
-rw-r--r--src/ccl.c28
-rw-r--r--src/character.c16
-rw-r--r--src/cmds.c2
-rw-r--r--src/coding.c7
-rw-r--r--src/comp.c2
-rw-r--r--src/composite.c20
-rw-r--r--src/composite.h2
-rw-r--r--src/data.c6
-rw-r--r--src/dbusbind.c2
-rw-r--r--src/decompress.c2
-rw-r--r--src/dispextern.h37
-rw-r--r--src/dispnew.c55
-rw-r--r--src/doprnt.c4
-rw-r--r--src/editfns.c392
-rw-r--r--src/emacs-module.c6
-rw-r--r--src/eval.c2
-rw-r--r--src/fileio.c5
-rw-r--r--src/floatfns.c12
-rw-r--r--src/fns.c79
-rw-r--r--src/font.c2
-rw-r--r--src/fontset.c9
-rw-r--r--src/frame.c71
-rw-r--r--src/frame.h83
-rw-r--r--src/fringe.c4
-rw-r--r--src/ftcrfont.c1
-rw-r--r--src/gnutls.c6
-rw-r--r--src/gtkutil.c4
-rw-r--r--src/haikufns.c84
-rw-r--r--src/haikufont.c1
-rw-r--r--src/haikuterm.c29
-rw-r--r--src/image.c45
-rw-r--r--src/indent.c9
-rw-r--r--src/itree.c6
-rw-r--r--src/keyboard.c20
-rw-r--r--src/keymap.c25
-rw-r--r--src/lisp.h73
-rw-r--r--src/lread.c46
-rw-r--r--src/minibuf.c9
-rw-r--r--src/nsfns.m17
-rw-r--r--src/nsterm.m22
-rw-r--r--src/pdumper.c30
-rw-r--r--src/pgtkfns.c28
-rw-r--r--src/pgtkterm.c57
-rw-r--r--src/pgtkterm.h1
-rw-r--r--src/print.c4
-rw-r--r--src/regex-emacs.c22
-rw-r--r--src/regex-emacs.h3
-rw-r--r--src/sort.c2
-rw-r--r--src/sqlite.c82
-rw-r--r--src/syntax.c107
-rw-r--r--src/sysdep.c7
-rw-r--r--src/term.c12
-rw-r--r--src/termcap.c2
-rw-r--r--src/textconv.c6
-rw-r--r--src/thread.h9
-rw-r--r--src/timefns.c18
-rw-r--r--src/tparam.c3
-rw-r--r--src/treesit.c93
-rw-r--r--src/w32fns.c68
-rw-r--r--src/w32term.c2
-rw-r--r--src/window.c7
-rw-r--r--src/window.h2
-rw-r--r--src/xdisp.c345
-rw-r--r--src/xfns.c109
-rw-r--r--src/xml.c10
-rw-r--r--src/xselect.c40
-rw-r--r--src/xsmfns.c2
-rw-r--r--src/xterm.c261
-rw-r--r--src/xterm.h11
-rw-r--r--test/infra/Dockerfile.emba50
-rw-r--r--test/infra/Makefile.in38
-rw-r--r--test/infra/gitlab-ci.yml30
-rw-r--r--test/infra/test-jobs.yml89
-rw-r--r--test/lisp/arc-mode-tests.el79
-rw-r--r--test/lisp/calendar/cal-julian-tests.el2
-rw-r--r--test/lisp/calendar/todo-mode-tests.el65
-rw-r--r--test/lisp/dnd-tests.el2
-rw-r--r--test/lisp/emacs-lisp/backtrace-tests.el6
-rw-r--r--test/lisp/emacs-lisp/bytecomp-tests.el52
-rw-r--r--test/lisp/emacs-lisp/cl-lib-tests.el4
-rw-r--r--test/lisp/emacs-lisp/cl-macs-tests.el26
-rw-r--r--test/lisp/emacs-lisp/cl-print-tests.el2
-rw-r--r--test/lisp/emacs-lisp/comp-cstr-tests.el2
-rw-r--r--test/lisp/emacs-lisp/edebug-tests.el1
-rw-r--r--test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el10
-rw-r--r--test/lisp/emacs-lisp/package-tests.el11
-rw-r--r--test/lisp/emacs-lisp/pp-tests.el4
-rw-r--r--test/lisp/emacs-lisp/subr-x-tests.el17
-rw-r--r--test/lisp/erc/erc-button-tests.el283
-rw-r--r--test/lisp/erc/erc-dcc-tests.el10
-rw-r--r--test/lisp/erc/erc-fill-tests.el43
-rw-r--r--test/lisp/erc/erc-goodies-tests.el17
-rw-r--r--test/lisp/erc/erc-networks-tests.el24
-rw-r--r--test/lisp/erc/erc-scenarios-base-attach.el191
-rw-r--r--test/lisp/erc/erc-scenarios-base-buffer-display.el235
-rw-r--r--test/lisp/erc/erc-scenarios-base-reconnect.el89
-rw-r--r--test/lisp/erc/erc-scenarios-base-renick.el43
-rw-r--r--test/lisp/erc/erc-scenarios-base-split-line.el202
-rw-r--r--test/lisp/erc/erc-scenarios-log.el207
-rw-r--r--test/lisp/erc/erc-scenarios-match.el123
-rw-r--r--test/lisp/erc/erc-scenarios-services-misc.el105
-rw-r--r--test/lisp/erc/erc-stamp-tests.el7
-rw-r--r--test/lisp/erc/erc-tests.el767
-rw-r--r--test/lisp/erc/resources/base/channel-buffer-revival/reattach.eld56
-rw-r--r--test/lisp/erc/resources/base/flood/ascii.eld49
-rw-r--r--test/lisp/erc/resources/base/flood/koi8-r.eld47
-rw-r--r--test/lisp/erc/resources/base/flood/utf-8.eld54
-rw-r--r--test/lisp/erc/resources/erc-d/erc-d-tests.el2
-rw-r--r--test/lisp/erc/resources/erc-d/erc-d.el9
-rw-r--r--test/lisp/erc/resources/erc-scenarios-common.el2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/merge-01-start.eld2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/merge-02-right.eld2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld2
-rw-r--r--test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld1
-rw-r--r--test/lisp/erc/resources/services/regain/reconnect-retry-again.eld (renamed from test/lisp/erc/resources/base/renick/regain/normal-again.eld)0
-rw-r--r--test/lisp/erc/resources/services/regain/reconnect-retry.eld (renamed from test/lisp/erc/resources/base/renick/regain/normal.eld)0
-rw-r--r--test/lisp/erc/resources/services/regain/taken-ghost.eld42
-rw-r--r--test/lisp/erc/resources/services/regain/taken-regain.eld42
-rw-r--r--test/lisp/eshell/em-prompt-tests.el31
-rw-r--r--test/lisp/eshell/esh-util-tests.el10
-rw-r--r--test/lisp/filenotify-tests.el16
-rw-r--r--test/lisp/files-tests.el21
-rw-r--r--test/lisp/find-cmd-tests.el2
-rw-r--r--test/lisp/minibuffer-tests.el15
-rw-r--r--test/lisp/misc-tests.el111
-rw-r--r--test/lisp/net/tramp-archive-tests.el34
-rw-r--r--test/lisp/net/tramp-tests.el1178
-rw-r--r--test/lisp/proced-tests.el6
-rw-r--r--test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl50
-rw-r--r--test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl24
-rw-r--r--test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl55
-rw-r--r--test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl26
-rw-r--r--test/lisp/progmodes/cperl-mode-tests.el153
-rw-r--r--test/lisp/progmodes/eglot-tests.el5
-rw-r--r--test/lisp/progmodes/elixir-ts-mode-resources/indent.erts26
-rw-r--r--test/lisp/progmodes/js-tests.el51
-rw-r--r--test/lisp/progmodes/python-tests.el365
-rw-r--r--test/lisp/subr-tests.el50
-rw-r--r--test/lisp/textmodes/reftex-tests.el3
-rw-r--r--test/lisp/use-package/use-package-tests.el65
-rw-r--r--test/lisp/vc/vc-cvs-tests.el107
-rw-r--r--test/lisp/vc/vc-git-tests.el17
-rw-r--r--test/src/comp-resources/comp-test-funcs-dyn.el2
-rw-r--r--test/src/comp-resources/comp-test-funcs.el10
-rw-r--r--test/src/comp-resources/comp-test-pure.el2
-rw-r--r--test/src/comp-tests.el41
-rw-r--r--test/src/fns-tests.el2
-rw-r--r--test/src/lread-tests.el16
-rw-r--r--test/src/regex-emacs-tests.el66
-rw-r--r--test/src/sqlite-tests.el23
-rw-r--r--test/src/treesit-tests.el16
-rw-r--r--test/src/xdisp-tests.el2
605 files changed, 37622 insertions, 20162 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index fc89dff87f2..0bcded4b5d1 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -21,6 +21,9 @@
(electric-quote-comment . nil)
(electric-quote-string . nil)
(mode . bug-reference-prog)))
+ (c-ts-mode . ((c-ts-mode-indent-style . gnu)
+ (indent-tabs-mode . t)
+ (mode . bug-reference-prog)))
(log-edit-mode . ((log-edit-font-lock-gnu-style . t)
(log-edit-setup-add-author . t)
(vc-git-log-edit-summary-target-len . 50)))
diff --git a/ChangeLog.4 b/ChangeLog.4
index 4deb6da94fb..b8efa20cdf9 100644
--- a/ChangeLog.4
+++ b/ChangeLog.4
@@ -1,8 +1,2337 @@
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-06-18 Mattias Engdegård <mattiase@acm.org>
+
+ Describe primarily the Emacs s-exp dialect for treesit queries
+
+ * doc/lispref/parsing.texi (Pattern Matching, Multiple Languages):
+ Writing tree-sitter queries as Emacs s-expressions is much more
+ convenient than using the native query notation inside a string,
+ so it makes sense to base the documentation on the former dialect
+ (bug#64017).
+
+2023-06-18 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation of :predicate in 'define-globalized-minor-mode'
+
+ * doc/lispref/modes.texi (Defining Minor Modes):
+ * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
+ Document that :predicate creates a customizable user option.
+ (Bug#64048)
+
+2023-06-17 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Revert "Fix some tree-sitter :match regexps"
+
+ This reverts commit 95091b77f0bbb2ae1aa94ef4a413626e7d434d58
+ of 2023-06-17, mistakenly pushed to emacs-29.
+
+ The patch will be installed on master instead, and backported later,
+ after Emacs 29.1 is released (bug#64019).
+
+ Do not merge to master.
+
+2023-06-17 Michael Albinus <michael.albinus@gmx.de>
+
+ Require ls-lisp in Tramp only when needed
+
+ * lisp/net/tramp-compat.el (ls-lisp): Require only on MS Windows.
+ (Bug#64124)
+
+ * lisp/net/tramp-sh.el (ls-lisp-use-insert-directory-program): Declare.
+ (tramp-sh-handle-insert-directory): Simplify.
+
+ * lisp/net/tramp.el (ls-lisp-use-insert-directory-program): Declare.
+ (tramp-handle-insert-directory): Require ls-lisp. Simplify.
+
+2023-06-17 Alan Mackenzie <acm@muc.de>
+
+ After minibuffer action, don't make the minibuffer current
+
+ This fixes bug#63967.
+
+ * src/minibuf.c (minibuffer_unwind): After restoring the next
+ minibuffer outwards to the mini window (when
+ enable-recursive-minibuffers is non-nil), don't call
+ Fset_frame_selected_window, which used to set the current
+ window to be the mini window.
+
+2023-06-17 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix some tree-sitter :match regexps
+
+ The shy groups were caught by modified versions of the GNU ELPA
+ packages xr and relint:
+ - https://github.com/mattiase/xr/pull/6
+ - https://github.com/mattiase/relint/pull/14
+
+ * lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
+ character in regexp.
+ * lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
+ * lisp/progmodes/js.el (js--plain-method-re):
+ (js--treesit-font-lock-settings):
+ * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
+ * lisp/progmodes/typescript-ts-mode.el
+ (typescript-ts-mode--font-lock-settings): Replace character
+ alternative [\\d], which matches '\' or 'd', with the most likely
+ intention [0-9]. Fix shy groups mistyped as optional colons.
+ Remove unneeded numbered :match group in rust-ts-mode (bug#64019).
+
+2023-06-17 João Távora <joaotavora@gmail.com>
+
+ Eglot: fix relative position of coinciding inlay hint overlays (bug#64101)
+
+ Only seems to happen on certain platforms, like Mac OS. Reason
+ unknown reason so far, but this defensive fix seems safe.
+
+ * lisp/progmodes/eglot.el (eglot--update-hints-1): Explicitly put
+ priority in inlay hint overalys.
+
+2023-06-17 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation of comment-dwim (bug#64104)
+
+ * lisp/newcomment.el (comment-dwim): Doc fix.
+
+ * doc/emacs/programs.texi (Comment Commands): More accurate
+ description of what 'M-;' does when there's no active region.
+
+2023-06-17 Jens Schmidt <jschmidt4gnu@vodafonemail.de>
+
+ Fix parsing of dn line if WITHDN is non-nil
+
+ Function `ldap-search' errors out with `wrong-type-argument listp'
+ when called with WITHDN non-nil.
+ * lisp/net/ldap.el (ldap-search-internal): Parse the dn line
+ correctly so that `ldap-search' can grok it. (Bug#64089)
+
+2023-06-15 Andreas Schwab <schwab@suse.de>
+
+ * doc/misc/calc.texi (Advanced Math Functions): Correct calc
+ algebraic syntax.
+
+2023-06-15 Eli Zaretskii <eliz@gnu.org>
+
+ Consider 'dired-kill-when-opening-new-dired-buffer' in mouse clicks
+
+ * lisp/dired.el (dired-mouse-find-file): Honor the value of
+ 'dired-kill-when-opening-new-dired-buffer'. (Bug#64079)
+
+2023-06-15 Eli Zaretskii <eliz@gnu.org>
+
+ Fix Gamma function definition in calc.texi
+
+ * doc/misc/calc.texi (Advanced Math Functions): Fix definition
+ of Gamma function. Use @sup in @infoline lines. (Bug#64077)
+
+2023-06-15 Eli Zaretskii <eliz@gnu.org>
+
+ Fix subscripts in the Calc manual
+
+ * doc/misc/calc.texi (Musical Notes): Use @sub instead of TeX-only
+ '_' notation. For the details, see the discussion in
+ https://lists.gnu.org/archive/html/emacs-devel/2023-06/msg00096.html.
+
+2023-06-15 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of 'declare' forms
+
+ * lisp/simple.el (read-extended-command-predicate): Mention the
+ '(declare completion ...' form in the doc string.
+
+ * doc/lispref/functions.texi (Declare Form): Clarify
+ 'completion-predicate' and 'modes'; add cross-references.
+ (Bug#64045)
+
+2023-06-13 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Improve tree-sitter docs
+
+ * doc/lispref/positions.texi (List Motion): Incorporate more
+ accurate description of treesit-defun-type-regexp from
+ '(elisp) Tree-sitter Major Modes', replacing that duplicate
+ entry (bug#64018).
+
+ * doc/lispref/parsing.texi (Parsing Program Source)
+ (Language Grammar, Using Parser, Retrieving Nodes)
+ (Accessing Node Information, Pattern Matching, Multiple Languages):
+ (Tree-sitter Major Modes):
+ * doc/lispref/modes.texi (Parser-based Font Lock): Improve wording,
+ grammar, punctuation, and markup. Fix typos.
+ (Parser-based Indentation): Ditto. Document indent rule presets
+ field-is, catch-all, nth-sibling, grand-parent, and
+ great-grand-parent.
+
+ * lisp/treesit.el (treesit-simple-indent-presets): Mention field-is,
+ catch-all, nth-sibling, grand-parent, great-grand-parent in
+ docstring.
+ (treesit-major-mode-setup, treesit-explore-mode): Improve
+ docstring/commentary grammar.
+
+2023-06-13 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix some Texinfo markup in manuals
+
+ * doc/emacs/macos.texi (Mac / GNUstep Customization):
+ * doc/lispintro/emacs-lisp-intro.texi (condition-case):
+ * doc/lispref/control.texi (pcase Macro):
+ * doc/lispref/debugging.texi (Internals of Debugger):
+ * doc/lispref/internals.texi (Building Emacs):
+ * doc/lispref/modes.texi (Imenu):
+ (Parser-based Font Lock, Parser-based Indentation):
+ * doc/lispref/parsing.texi (Retrieving Nodes, Tree-sitter C API):
+ * doc/lispref/processes.texi (Network, Bindat Types):
+ * doc/lispref/searching.texi (Rx Functions):
+ * doc/lispref/text.texi (Replacing):
+ * doc/lispref/windows.texi (Textual Scrolling):
+ * doc/misc/calc.texi (Killing From Stack, Customizing Calc):
+ * doc/misc/cc-mode.texi (Misc Font Locking, List Line-Up):
+ * doc/misc/ede.texi (ede-cpp-root-project)
+ (ede-proj-target-makefile, ede-sourcecode):
+ * doc/misc/ert.texi (Running Tests in Batch Mode):
+ * doc/misc/eudc.texi (Emacs-only Configuration, The Server Hotlist):
+ * doc/misc/eww.texi (Advanced):
+ * doc/misc/flymake.texi (Starting Flymake)
+ (Proc customization variables):
+ * doc/misc/tramp.texi (File name completion):
+ * doc/misc/gnus.texi (Summary Buffer Lines, Gnus Registry Setup)
+ (Fancy splitting to parent, Customizing the IMAP Connection)
+ (Mail Source Specifiers, Agent as Cache): Consistently mark up nil
+ and t as @code. Also fix the markup and wording of some surrounding
+ text (bug#64016).
+
+ * doc/lispref/display.texi (SVG Images, Icons):
+ * doc/lispref/modes.texi (Customizing Keywords): Prefer ASCII
+ apostrophe over Unicode right single quotation mark.
+
+2023-06-13 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix bol/bos anchors in tree-sitter :match regexps
+
+ Further regexp fixes to follow separately (bug#64019#29).
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
+ * lisp/progmodes/cmake-ts-mode.el
+ (cmake-ts-mode--font-lock-settings):
+ * lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
+ * lisp/progmodes/js.el (js--treesit-font-lock-settings):
+ * lisp/progmodes/python.el (python--treesit-settings):
+ * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
+ * lisp/progmodes/sh-script.el (sh-mode--treesit-settings):
+ * lisp/progmodes/typescript-ts-mode.el
+ (typescript-ts-mode--font-lock-settings):
+ * test/src/treesit-tests.el (treesit-query-api): Anchor :match
+ regexps at beginning/end of string, not line.
+
+2023-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/subr.el (with-restriction): Tweak indent rule
+
+2023-06-12 Eli Zaretskii <eliz@gnu.org>
+
+ Fix setting region in the minibuffer
+
+ * lisp/minibuffer.el (minibuffer-beginning-of-buffer): Fix setting
+ region. (Bug#64022)
+
+2023-06-12 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started
+
+ * doc/misc/dbus.texi (Alternative Buses): Explain using
+ $DBUS_SESSION_BUS_ADDRESS after Emacs has started.
+
+ * src/dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Use egetenv.
+
+2023-06-11 Eli Zaretskii <eliz@gnu.org>
+
+ Fix tex-mode display-buffer issues
+
+ * lisp/window.el (display-tex-shell-buffer-action): New defcustom.
+ * lisp/textmodes/tex-mode.el (tex-display-shell)
+ (tex-cmd-doc-view, tex-recenter-output-buffer): Use it.
+ (Bug#63956)
+
+2023-06-10 Morgan Smith <Morgan.J.Smith@outlook.com>
+
+ Add test for when 'completion-auto-help' is 'visible'
+
+ * test/lisp/minibuffer-tests.el (completion-auto-help-test): Add
+ test for when 'completion-auto-help' is 'visible'. Also test
+ for successful completion message. (Bug#63913)
+
+2023-06-10 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid errors in 'apropos-documentation' after 'eval-buffer'
+
+ * lisp/apropos.el (apropos--map-preloaded-atoms): Support the case
+ where an element of 'load-history' has nil as its car. (Bug#63881)
+
+2023-06-10 Daniel Martín <mardani29@yahoo.es>
+
+ Mention indent-rigidly in the Emacs manual
+
+ * doc/emacs/indent.texi (Indentation Commands): Rewrite the first
+ sentence of 'C-x TAB' to mention the command that it executes, and
+ without using passive voice. (Bug#63997)
+
+2023-06-10 Morgan Smith <Morgan.J.Smith@outlook.com>
+
+ Don't ding when completion succeeded
+
+ * lisp/minibuffer.el (minibuffer-completion-help): Ensure 'ding'
+ is not called on a successful completion. Ensure 'ding' is not
+ called on a failure if 'completion-fail-discreetly' is set.
+ Also change "No completions" to "No match" as that is what is
+ used elsewhere. (Bug#63913)
+
+2023-06-09 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of color-related functions
+
+ * doc/lispref/frames.texi (Color Names): Document
+ 'color-name-to-rgb' and 'color-dark-p'.
+
+2023-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ Revert "* package.el (package--get-activatable-pkg): Prefer source packages"
+
+ This reverts commit fb87d5008e21d1bc03547c1edf2280fb4cb8311e.
+ It caused problems when new versions of packages are installed
+ without deleting old versions. (Bug#63757)
+
+2023-06-08 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix connection-local user options handling (bug#63300)
+
+ * lisp/files-x.el (connection-local-set-profiles)
+ (connection-local-set-profile-variables): Avoid saving the changed
+ user option to file unless triggered explicitly by user. (Bug#63300)
+
+2023-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ Document 'startup-redirect-eln-cache'
+
+ * doc/lispref/compile.texi (Native Compilation)
+ (Native-Compilation Functions): Document
+ 'startup-redirect-eln-cache'.
+
+ * etc/PROBLEMS: Fix last change.
+ * etc/NEWS: Mark 'startup-redirect-eln-cache' as documented.
+
+2023-06-06 Andrea Corallo <akrl@sdf.org>
+
+ Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#58314)
+
+ * lisp/emacs-lisp/comp.el (comp-write-bytecode-file): New function
+ spilling code from `batch-byte+native-compile'.
+ (batch-byte+native-compile): Make use of.
+ * lisp/progmodes/elisp-mode.el
+ (emacs-lisp-native-compile-and-load): Produce the elc file and ask
+ to have it loaded.
+
+2023-06-06 Theodor Thornhill <theo@thornhill.no>
+
+ Add 'infer' as a keyword to typescript-ts-mode (bug#63880)
+
+ * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode--keywords):
+ New keyword.
+
+2023-06-04 Philip Kaludercic <philipk@posteo.net>
+
+ Revert changes to the order in which package descs are loaded
+
+ * lisp/emacs-lisp/package.el (package-load-all-descriptors): Remove
+ NOSORT argument to 'directory-files', reverting back to the behaviour
+ as of Emacs 28. (Bug#63757)
+
+2023-06-04 Spencer Baugh <sbaugh@janestreet.com>
+
+ Handle point in last file-name component in minibuffer completion
+
+ This is a followup to commit e338a8ac41d4a9fd798dda90275abe75ac071335
+ (Handle point not at EOB in minibuffer-choose-completion).
+ That commit added a heuristic, but the heuristic was insufficient:
+ It still had the original wrong behavior when completing the last
+ file-name component (i.e., the completion category is 'file' and
+ there's no slash after point). This patch makes the heuristic
+ cover that case as well.
+ * lisp/minibuffer.el (minibuffer-next-completion)
+ (minibuffer-choose-completion): If in file completion and there's no
+ slash after point, clear what's after point when we complete.
+ (Bug#62700)
+
+2023-06-03 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid asking redundant question in emacsbug.el
+
+ * lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't ask the
+ question about saving email setup if we cannot save it anyway.
+ (Bug#63816)
+
+2023-06-03 Michael Albinus <michael.albinus@gmx.de>
+
+ * test/infra/Dockerfile.emba (emacs-base): Don't install gawk.
+
+2023-06-03 Dmitry Gutov <dmitry@gutov.dev>
+
+ typescript-ts-mode: Add a rule for function_signature
+
+ * lisp/progmodes/typescript-ts-mode.el
+ (typescript-ts-mode--font-lock-settings):
+ Add a rule for function_signature (bug#63867)
+
+2023-06-03 Mattias Engdegård <mattiase@acm.org>
+
+ * admin/unidata/emoji-zwj.awk: Avoid sprint buffer overflow
+
+ Some AWK implementations have a fixed buffer for sprintf; for mawk the
+ default size is 8192 bytes. Hoist a string concatenation from
+ a sprintf call to avoid running into that limit. See discussion at
+ https://lists.gnu.org/archive/html/emacs-devel/2023-06/msg00090.html .
+
+ (cherry picked from commit b5f17fe07c6624380ba8d0c7a400a6b89f225209)
+
+2023-06-03 Йордан Миладинов <yordanm@pm.me> (tiny change)
+
+ Fix apostrophe handling in rust-ts-mode and go-ts-mode (Bug#63708)
+
+ * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--syntax-propertize):
+ Treat apostrophes as strings if used to define character literals.
+ Treat LT and GT as pairs if used to define type parameters (formerly
+ they were treated as pairs only for type arguments).
+ * lisp/progmodes/go-ts-mode.el (go-ts-mode--syntax-table): Treat
+ apostrophes as strings if used to define rune literals.
+
+2023-06-03 Michael Albinus <michael.albinus@gmx.de>
+
+ * test/infra/Dockerfile.emba (emacs-base): Install also gawk.
+
+2023-06-03 Eli Zaretskii <eliz@gnu.org>
+
+ Fix 'python-util-clone-local-variables'
+
+ * lisp/progmodes/python.el (python-util-clone-local-variables):
+ Avoid signaling an error when a local variable is unbound.
+ Patch by Ernesto Alfonso <erjoalgo@gmail.com>. (Bug#63818)
+
+2023-06-03 kobarity <kobarity@gmail.com>
+
+ Revert "Enhance Python font-lock to support multilines"
+
+ This reverts commit 4915ca5dd4245a909c046e6691e8d4a1919890c8.
+
+ We have found that there are performance issues when editing a large
+ file. The issue can be reproduced as follows:
+
+ 1. emacs -Q
+ 2. Open large Python file (e.g. turtle.py in Python)
+ 3. Near the top of the buffer, enter open paren and some characters.
+
+ The above commit extends the region to be font-locked using
+ `python-nav-end-of-statement'. However, if there are unbalanced
+ parens, it may move point to the end of the buffer. This causes
+ almost the entire buffer to be font-locked, which is not acceptable
+ for large files.
+
+2023-06-03 Eli Zaretskii <eliz@gnu.org>
+
+ Fix typo in calc.texi
+
+ * doc/misc/calc.texi (Programming Tutorial): Fix a typo.
+ Suggested by Vladimir Nikishkin <lockywolf@gmail.com>.
+
+2023-06-02 Jonas Bernoulli <jonas@bernoul.li>
+
+ Update to Transient v0.4.1
+
+2023-06-02 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid errors in 'delete-forward-char' deleting static compositions
+
+ * lisp/simple.el (delete-forward-char): Fix recognition of static
+ compositions. (Bug#63837)
+
+2023-06-02 Robert Pluim <rpluim@gmail.com>
+
+ Make VS-15 and VS-16 compositions work correctly
+
+ There is a conflict between forward matching and backward matching
+ composition rules involving the same codepoint, which can cause the
+ backward matching ones not to be invoked. Ensure that VS-15 (U+FE0E)
+ and VS-16 (U+FE0F) are composed by forward matching rules instead in
+ order to avoid this issue.
+
+ * admin/unidata/emoji-zwj.awk: Add rules for CHAR+VS-15 and CHAR+VS-16.
+ * lisp/composite.el: remove backward matching rule for VS-15. (Bug#63731)
+
+2023-06-01 Dmitry Gutov <dmitry@gutov.dev>
+
+ Fix project-name for vc-aware backend in non-file buffers
+
+ * lisp/progmodes/project.el (project-name): Make sure
+ project-vc-name is picked up from dir-locals in all
+ non-file-visiting buffers too (mentioned in bug#63469).
+
+2023-05-31 Theodor Thornhill <theo@thornhill.no>
+
+ Add type_predicate 'is' as keyword in typescript-ts-mode (bug#63810)
+
+ * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode--keywords):
+ New keyword 'is'.
+
+2023-05-31 Eli Zaretskii <eliz@gnu.org>
+
+ Fix infloop in info-look.el
+
+ * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): Fix
+ infloop when there are no completions. (Bug#63808)
+
+2023-05-31 Stephen Berman <stephen.berman@gmx.net>
+
+ Fix several todo-mode.el item editing bugs (bug#63811)
+
+ * lisp/calendar/todo-mode.el (todo-insert-item--basic): With
+ insertion type 'here', ensure item is inserted on the todo-mode
+ line where the command was invoked.
+ (todo-edit-item--cat, todo-edit-item--pos): New variables.
+ (todo-edit-item--text): Restrict the scope of nil-valued
+ buffer-read-only to the functions that change buffer text. If
+ user moved point while editing a single-line todo item or a done
+ item comment, or while inserting a done item comment, restore
+ point, and for comments, make sure the done items section is
+ displayed. For multiline items, set the new variables so
+ todo-edit-quit can use them.
+ (todo-edit-quit): Use the values of the new variables to restore
+ point in the todo-mode buffer if it had been moved while editing.
+ (todo-edit-item--header): Avoid clobbering match data when editing
+ a todo item header.
+
+2023-05-31 Randy Taylor <dev@rjt.dev>
+
+ dockerfile-ts-mode: Prevent empty categories in imenu (Bug#63759)
+
+ * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode--imenu):
+ Don't include empty categories.
+
+2023-05-31 Jens Schmidt <jschmidt4gnu@vodafonemail.de>
+
+ Brush up doc strings and terminology in plstore.el
+
+ * lisp/plstore.el (plstore-encoded, plstore-passphrase-callback-function)
+ (plstore--init-from-buffer, plstore-revert, plstore-close)
+ (plstore--merge-secret, plstore--decrypt, plstore--match, plstore-find)
+ (plstore-get, plstore-put, plstore-delete, plstore--insert-buffer)
+ (plstore-save, plstore--encode, plstore--decode)
+ (plstore--write-contents-functions, plstore-mode-decoded)
+ (plstore-mode): Brush up doc strings and documentation in general.
+ Fix terminology, in particular spurious occurences of all uppercase
+ "PLSTORE". (Bug#63627)
+
+2023-05-31 Jens Schmidt <jschmidt4gnu@vodafonemail.de>
+
+ Add internal documentation on plstore.el
+
+ * lisp/plstore.el: Add internal documentation and some words of
+ warning in the user documentation. (Bug#63627)
+
+2023-05-30 Theodor Thornhill <theo@thornhill.no>
+
+ Add compact_constructor_declaration font-locking to java-ts-mode
+
+ * lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
+ New pattern.
+
+2023-05-29 Juri Linkov <juri@linkov.net>
+
+ * lisp/tmm.el (tmm-completion-delete-prompt): Add more checks (bug#63754).
+
+ In case when 'completions-header-format' is nil, the first 'mouse-face'
+ property is at the beginning of the buffer. So first use 'get-text-property'
+ at point-min.
+
+2023-05-29 Eli Zaretskii <eliz@gnu.org>
+
+ Allow to disable the DWIMish behavior of 'x' in package menu
+
+ * lisp/emacs-lisp/package.el
+ (package-menu-use-current-if-no-marks): New defcustom.
+ (package-menu-execute): Use it. (Bug#62563)
+
+ * etc/NEWS: Announce the new option.
+
+2023-05-29 Robert Pluim <rpluim@gmail.com>
+
+ Allow dired to invoke secondary browser
+
+ 'browse-url-of-dired-file' always invokes the primary browser, but
+ sometimes it's handy to call a different browser, which is why
+ 'browse-url-secondary-browser-function' exists.
+
+ * lisp/net/browse-url.el (browse-url-of-dired-file): Call
+ 'browse-url-secondary-browser-function' when invoked with a prefix
+ argument.
+ * etc/NEWS: Announce the change.
+
+2023-05-29 Robert Pluim <rpluim@gmail.com>
+
+ Add a binding for enriched-toggle-markup
+
+ * lisp/textmodes/enriched.el (enriched-mode-map): Bind
+ 'enriched-toggle-markup' to 'M-o m'.
+ * etc/NEWS: Announce the change.
+
+2023-05-29 Eli Zaretskii <eliz@gnu.org>
+
+ Fix order of tmm-menubar when 'tmm-mid-prompt' is nil
+
+ * lisp/tmm.el (tmm-prompt): Reverse 'tmm-km-list' when
+ 'tmm-mid-prompt' is nil, to present the menu in the correct order.
+ Suggested by Thiago Melo <tmdmelo@gmail.com>.
+
+2023-05-29 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix regression when saving tramp-default-proxies-alist (Do not merge)
+
+ * lisp/net/tramp.el (tramp-add-hops): Suppress `signal-hook-function'.
+ Save `tramp-default-proxies-alist' only when changed.
+
+2023-05-28 Yuan Fu <casouri@gmail.com>
+
+ Save the tree-sitter grammar recipe when installing a grammar
+
+ Raised in bug#63750, but not the main subject of it.
+
+ * lisp/treesit.el (treesit-install-language-grammar): Save the recipe
+ to treesit-language-source-alist when installation is successful.
+
+2023-05-28 Robert Pluim <rpluim@gmail.com>
+
+ Add instructions and test file for VS-15/VS-16
+
+ * admin/notes/unicode: Add instructions for emoji-variation-sequences.txt
+ * admin/unidata/emoji-variation-sequences.txt: New file, imported from
+ Unicode 15.
+
+2023-05-28 Michael Heerdegen <michael_heerdegen@web.de>
+
+ A better fix for "Fix cancellation of Wdired"
+
+ * lisp/wdired.el (wdired-abort-changes): Call
+ `dired-build-subdir-alist' instead of `dired-revert'.
+ (Bug#63676)
+
+2023-05-27 Eli Zaretskii <eliz@gnu.org>
+
+ Fix tmm-menubar when 'tmm-completion-prompt' is nil
+
+ * lisp/tmm.el (tmm-prompt): Handle nil value of 'tmm-mid-prompt'.
+ (tmm-completion-delete-prompt): Don't rely on the exact text of
+ the completion heading line, as it is now a customizable format
+ string, and can be nil, meaning no heading line is inserted at
+ all. Instead, search for the first character of the menu based on
+ text properties used for it. (Bug#63754)
+
+2023-05-26 kobarity <kobarity@gmail.com>
+
+ Use 'font-lock-extend-region-functions' in python-mode
+
+ * lisp/progmodes/python.el (python-font-lock-extend-region): Change
+ arguments and return value for 'font-lock-extend-region-functions'.
+ (python-mode): Change from
+ 'font-lock-extend-after-change-region-function' to
+ 'font-lock-extend-region-functions'. (Bug#63622)
+
+2023-05-26 kobarity <kobarity@gmail.com>
+
+ Fix python-info-docstring-p
+
+ * lisp/progmodes/python.el (python-info-docstring-p): Stop using
+ python-rx string-delimiter.
+
+ * test/lisp/progmodes/python-tests.el
+ (python-font-lock-escape-sequence-bytes-newline)
+ (python-font-lock-escape-sequence-hex-octal)
+ (python-font-lock-escape-sequence-unicode)
+ (python-font-lock-raw-escape-sequence): Mark as expected failures
+ until another bug in 'python-info-docstring-p' is corrected.
+ (python-info-docstring-p-7): New test. (Bug#63622)
+
+2023-05-26 Eli Zaretskii <eliz@gnu.org>
+
+ Fix cancellation of Wdired
+
+ * lisp/wdired.el (wdired-abort-changes): Call 'dired-revert'.
+ Patch by Stephen Berman <stephen.berman@gmx.net>. (Bug#63676)
+
+2023-05-26 Mattias Engdegård <mattiase@acm.org>
+
+ Handle #@00 in new reader in a compatible way (bug#63722)
+
+ This was a regression from Emacs 28.
+
+ * src/lread.c (skip_lazy_string, read0): Make #@00 read as nil, which
+ is a quirk from the old reader that we preserve for compatibility.
+ * test/src/lread-tests.el (lread-skip-to-eof): Verify it.
+
+ Reported by Richard Newton.
+
+2023-05-25 Po Lu <luangruo@yahoo.com>
+
+ Don't mark selection request events
+
+ * src/pgtkterm.c (mark_pgtkterm): Prevent crash by not marking
+ selection request events, which don't have Lisp_Object members.
+
+2023-05-25 Po Lu <luangruo@yahoo.com>
+
+ Disable cairo-xcb support by default
+
+ * INSTALL (--with-cairo-xcb): Document new option.
+ * configure.ac (USE_CAIRO_XCB): Implement new option.
+
+2023-05-25 Juri Linkov <juri@linkov.net>
+
+ * lisp/progmodes/project.el: Move :safe from defcustom to autoload (bug#63469)
+
+ (project-vc-ignores, project-vc-merge-submodules)
+ (project-vc-include-untracked, project-vc-name)
+ (project-vc-extra-root-markers, project-kill-buffers-display-buffer-list):
+ Autoload the line that puts 'safe-local-variable' property on defcustom symbol
+ instead of using the :safe keyword.
+
+2023-05-25 Juri Linkov <juri@linkov.net>
+
+ * lisp/vc/vc-annotate.el (vc-annotate-mode-menu): Quote vc-annotate-backend.
+
+ When unquoted it might get the nil value when vc-annotate.el is loaded
+ in non-vc-controlled buffer (bug#63689).
+
+2023-05-25 Juri Linkov <juri@linkov.net>
+
+ Add vc-create/switch/print-branch to menu and update documentation (bug#63690)
+
+ * doc/emacs/maintaining.texi (VC Change Log):
+ Add 'C-x v b l' (vc-print-branch-log).
+ (Creating Branches): Add @kindex and @findex for vc-create-branch.
+ (Switching Branches): Add @kindex and @findex for vc-switch-branch.
+
+ * lisp/vc/vc-hooks.el (vc-menu-map): Add menu items for new
+ commands vc-create-branch and vc-switch-branch, and also
+ vc-print-branch-log.
+
+ * lisp/vc/vc.el (vc-print-branch-log): Improve docstring.
+
+2023-05-25 Eli Zaretskii <eliz@gnu.org>
+
+ Fix rare crashes in 'try_window_reusing_current_matrix'
+
+ * src/xdisp.c (try_window_reusing_current_matrix): Make sure we
+ never use a mode-line glyph row to start displaying scrolled-in
+ rows. (Bug#63711)
+
+2023-05-25 Michael Albinus <michael.albinus@gmx.de>
+
+ Make last Tramp change less invasive
+
+ * lisp/net/tramp.el (tramp-dissect-file-name): Revert last change.
+ (tramp-handle-file-name-as-directory)
+ (tramp-handle-file-name-directory): Let-bind `tramp-default-proxies-alist'.
+
+2023-05-23 Eli Zaretskii <eliz@gnu.org>
+
+ Fix 'use-dialog-box-p' and friends
+
+ * lisp/subr.el (use-dialog-box-p): Use dialog boxes also when
+ invoked from some window-system gesture. (Bug#63655)
+ (y-or-n-p): Fix the description in the doc string of conditions
+ under which a dialog box will be used.
+
+ * src/fns.c (Fyes_or_no_p): Use the same condition for dialog
+ boxes as in 'use-dialog-box-p'. Fix the description in the doc
+ string of conditions under which a dialog box will be used.
+
+ * doc/lispref/minibuf.texi (Multiple Queries, Yes-or-No Queries):
+ Fix the description of conditions under which a dialog box will be
+ used.
+
+2023-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Avoid duplicates when adding package dirs to load-path
+
+ Do not merge to master, we're going to delete this code there.
+
+ * lisp/emacs-lisp/package.el (package-activate-1): Check if the path
+ we're about to add is already in 'load-path', since package autoload
+ files have been updating 'load-path' for a decade.
+
+2023-05-23 Robert Pluim <rpluim@gmail.com>
+
+ Avoid duplicate load-path entry when generating package autoloads
+
+ 'file-name-directory' produces a path ending in '/', so that needs to be
+ run through 'directory-file-name' to avoid duplicate entries in
+ 'load-path'. (Bug#63625)
+
+ * lisp/emacs-lisp/package.el (package-generate-autoloads): Call
+ 'directory-file-name' on the directory of 'load-file-name'.
+
+2023-05-23 Eli Zaretskii <eliz@gnu.org>
+
+ Disable loading SQLite3 extensions when SQLite3 version is too old
+
+ * src/sqlite.c (HAVE_LOAD_EXTENSION): Define to 1 only if
+ enabling/disabling extension loading is supported as well.
+ (load_dll_functions, Fsqlite_load_extension): Condition on
+ HAVE_LOAD_EXTENSION, not on HAVE_SQLITE3_LOAD_EXTENSION.
+ (Bug#63653)
+
+2023-05-22 Eli Zaretskii <eliz@gnu.org>
+
+ Fix visiting HTML files encoded in iso-2022 variants
+
+ * lisp/international/mule.el (sgml-xml-auto-coding-function)
+ (sgml-html-meta-auto-coding-function): Handle coding-systems whose
+ coding-system-type is iso-2022. (Bug#63644)
+
+2023-05-22 Eli Zaretskii <eliz@gnu.org>
+
+ Support 'isearch-allow-scroll' in 'pixel-scroll-precision-mode'
+
+ * lisp/pixel-scroll.el (pixel-scroll-precision)
+ (pixel-scroll-down, pixel-scroll-up): Put the 'scroll-command'
+ property on these commands. (Bug#63640)
+
+2023-05-22 Andreas Schwab <schwab@suse.de>
+
+ shr: allow moving between adjacent anchors
+
+ * lisp/net/shr.el (shr-urlify): Put shr-tab-stop only over first
+ position.
+
+2023-05-22 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix multihop file name expansion in Tramp
+
+ * lisp/net/tramp.el (tramp-dissect-file-name): Set hop to nil if
+ NODEFAULT. (Bug#63578)
+
+2023-05-21 Jens Schmidt <jschmidt4gnu@vodafonemail.de>
+
+ Remove obsolete information from Gnus manual
+
+ The Gnus manual was still referencing long-removed external
+ marks in section "Archiving Mails". Without external marks,
+ that section is almost pointless, so remove it completely.
+ * doc/misc/gnus.texi (Archiving Mail): Remove section.
+ (Top, Browsing the Web): Remove references to "Archiving
+ Mail". (Bug#63497)
+
+2023-05-21 Jens Schmidt <jschmidt4gnu@vodafonemail.de>
+
+ Preserve mark in comint-history-isearch
+
+ This preserves mark in `comint-history-isearch-backward' and
+ friends, which tend to set the mark on completion of the isearch
+ to unexpected positions.
+ * lisp/comint.el (comint-history-isearch-end): Set `isearch-opoint'
+ to point. (Bug#63616)
+
+2023-05-20 Liu Hui <liuhui1610@gmail.com>
+
+ Fix systemd unit completion for old versions of systemd
+
+ * lisp/pcmpl-linux.el (pcmpl-linux--systemd-units): Use '--no-legend'
+ for compatibility with older versions of systemctl. (Bug#63411)
+
+2023-05-20 Eli Zaretskii <eliz@gnu.org>
+
+ Fix Skeletons menu-bar menu in Python modes
+
+ * lisp/progmodes/python.el (python-mode, python-ts-mode): Call
+ 'python-skeleton-add-menu-items' here, not in 'python-base-mode',
+ since the "Python" menu is not yet set up in the latter.
+ (Bug#63598)
+
+2023-05-20 Eli Zaretskii <eliz@gnu.org>
+
+ Fix loading SQLite extensions
+
+ * src/sqlite.c (sqlite3_db_config) [WINDOWSNT]: Load from the DLL.
+ (Fsqlite_load_extension): Use 'sqlite3_db_config' to enable and
+ disable loading of extensions. Add a few free extensions to the
+ allow-list. Fix testing for the ".dll" extension. (Bug#63590)
+
+ * test/src/sqlite-tests.el (sqlite-load-extension): Fix the test
+ to require successful load if the extension does exist.
+
+2023-05-20 Mattias Engdegård <mattiase@acm.org>
+
+ * etc/NEWS: Note dotimes loop variable scoping change (bug#63586)
+
+2023-05-20 Yuan Fu <casouri@gmail.com>
+
+ Fix c-ts-mode--top-level-declarator
+
+ * lisp/progmodes/c-ts-mode.el:
+ (c-ts-mode--top-level-declarator): Don't use treesit-node-match-p.
+
+2023-05-19 Yuan Fu <casouri@gmail.com>
+
+ Improve c-ts-mode font-lock for function names (bug#63390)
+
+ When a function definition has preproc directives in its body, it
+ can't correctly parse into a function_definition. This fix tries to
+ recognize this case and highlight the function_declarator correctly.
+
+ * lisp/progmodes/c-ts-mode.el:
+ (c-ts-mode--font-lock-settings): New rule.
+ (c-ts-mode--top-level-declarator): New function.
+
+2023-05-19 Juri Linkov <juri@linkov.net>
+
+ * lisp/tab-bar.el: Don't use 'minibuffer-selected-window' (bug#62427).
+
+ (tab-bar-select-tab, tab-bar-new-tab-to):
+ Use 'window-minibuffer-p' instead of 'minibuffer-selected-window'.
+ And switch to 'get-mru-window' instead of 'minibuffer-selected-window'.
+
+2023-05-19 Juri Linkov <juri@linkov.net>
+
+ Split windows horizontally in places that use split to create a new window.
+
+ * lisp/tab-bar.el (tab-bar-new-tab-to):
+ * lisp/window.el (window-state-put):
+ To create a new window, split horizontally instead of vertically.
+ Use 'window-safe-min-width' for the SIZE arg of 'split-window'.
+ (bug#62592)
+
+2023-05-18 Yuan Fu <casouri@gmail.com>
+
+ Fix tree-sitter test (bug#63481)
+
+ * test/src/treesit-tests.el (treesit-basic-parsing): Latest json
+ parser doesn't return an error on empty buffer or multiple objects
+ anymore [1].
+
+ https://github.com/tree-sitter/tree-sitter-json/commit/40a81c01a40ac48744e0c8ccabbaba1920441199
+
+2023-05-18 Aaron Jensen <aaronjensen@gmail.com>
+
+ Attempt to fix redisplay problems on macOS
+
+ * src/nsterm.m (ns_scroll_run): Attempt to fix redisplay
+ artifacts. (Bug#63187)
+
+2023-05-18 Jens Schmidt <jschmidt4gnu@vodafonemail.de> (tiny change)
+
+ Clarify misleading comment in isearch.el
+
+ Clarify a misleading comment in isearch.el as to whether frame events
+ should exit an isearch or not (Bug#62032, Bug#41338 for background
+ information).
+ * lisp/isearch.el (isearch-mode-map): Replace the misleading comment.
+ (Bug#62032)
+
+2023-05-18 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of package-menu commands
+
+ * doc/emacs/package.texi (Package Menu): Document that some
+ package-menu filters accept lists of values interactively.
+
+ * lisp/emacs-lisp/package.el (package-menu-execute)
+ (package-menu-hide-package, package-menu-describe-package)
+ (package-menu-mark-delete, package-menu-mark-install)
+ (package-menu-mark-unmark, package-menu-backup-unmark)
+ (package-menu-quick-help, package-menu-get-status)
+ (package-menu--find-upgrades, package-menu-mark-upgrades)
+ (package-menu-filter-by-archive)
+ (package-menu-filter-by-description)
+ (package-menu-filter-by-keyword)
+ (package-menu-filter-by-name-or-description)
+ (package-menu-filter-by-name, package-menu-filter-by-status)
+ (package-menu-filter-by-version, package-menu-filter-marked)
+ (package-menu-describe-package): Doc fixes.
+
+2023-05-17 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix M-x completion-predicate under python-ts-mode
+
+ * lisp/progmodes/python.el (python--completion-predicate)
+ (python-shell--completion-predicate): Filter M-x completion based on
+ python-base-mode instead of python-mode. This allows for
+ python-ts-mode as well (bug#63552).
+
+2023-05-17 Andrea Corallo <akrl@sdf.org>
+
+ * Account for `byte-compile-warnings' during native compilation (bug#63302).
+
+ * lisp/emacs-lisp/comp.el (comp-final, comp-run-async-workers):
+ Forward `byte-compile-warnings' to child processes.
+
+2023-05-16 Philip Kaludercic <philipk@posteo.net>
+
+ Avoid duplicate VC packages in 'package-selected-packages'
+
+ * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Check if
+ 'package-selected-packages' already contains the package name.
+ (bug#63338)
+
+2023-05-15 Juri Linkov <juri@linkov.net>
+
+ * lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side' to nil (bug#62427).
+
+ This is still needed for the case when tab-bar-new-tab-choice is 'window'.
+
+2023-05-14 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.6.6
+
+2023-05-14 Eli Zaretskii <eliz@gnu.org>
+
+ Bump Emacs version for next pretest
+
+ * README:
+ * configure.ac:
+ * nt/README.W32:
+ * msdos/sed2v2.inp: Bump Emacs version to 29.0.91.
+
+2023-05-14 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+
+ Ignore current-prefix-arg in async-shell-command
+
+ * lisp/simple.el (async-shell-command): Ignore current-prefix-arg and
+ always pass nil to second argument of `shell-command'. (Bug#63432)
+
+2023-05-13 Joseph Turner <joseph@breatheoutbreathe.in>
+
+ Fix building of VC package manuals with relative includes
+
+ * lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
+ Invoke makeinfo with -I to ensure the package directory is always
+ consulted for @include statements. (Bug#63337)
+
+2023-05-13 Cyril Arnould <cyril.arnould@outlook.com> (tiny change)
+
+ Another fix for VHDL mode highlighting
+
+ * lisp/progmodes/vhdl-mode.el (vhdl-version): Bump to 3.38.5.
+ (vhdl-compiler-alist): Fix the regexps and the doc string.
+
+2023-05-13 Eli Zaretskii <eliz@gnu.org>
+
+ Fix auto-filling in Texinfo mode
+
+ This fixes auto-filling in Texinfo buffers. It was broken by the
+ fix to bug#49558, which made M-q fill over-long @noindent lines by
+ refraining from customizing 'paragraph-separate' in Texinfo mode.
+ The underlying problem here is that 'auto-fill-mode' doesn't call
+ mode-specific filling functions, but does its job by itself, and
+ depends on 'forward-paragraph' to find the beginning of the
+ paragraph as appropriate for calculation of 'fill-prefix', and a
+ different value of 'paragraph-separate' broke that. As a side
+ effect, the change below also changes paragraph-movement commands
+ in Texinfo back to how they behaved prior to that bugfix, but I
+ don't see why the paragraph-movement behavior introduced by that
+ fix made more sense. Try to move through a series of
+ @-directives, like a paragraph preceded by several @cindex
+ entries, and you will see the inconsistencies. In any case, the
+ adverse effects of that fix on auto-filling is unacceptable.
+
+ * lisp/textmodes/texinfo.el (fill-paragraph-separate): New
+ variable.
+ (texinfo-mode): Set 'fill-paragraph-separate' to the default value
+ of 'paragraph-separate'. Customize 'paragraph-separate' to the
+ Texinfo-specific value, as it was before commit dde591571abf.
+ (texinfo--fill-paragraph): Bind 'paragraph-separate' to the value
+ of 'fill-paragraph-separate', to keep 'M-q' happy.
+
+2023-05-12 Gregory Heytings <gregory@heytings.org>
+
+ Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'
+
+2023-05-12 Gregory Heytings <gregory@heytings.org>
+
+ Add an assertion in, and a commentary for, 'get_nearby_bol_pos'
+
+ * src/xdisp.c:
+ (get_nearby_bol_pos): Document the function, and add an assertion
+ on its return value.
+
+2023-05-12 Gregory Heytings <gregory@heytings.org>
+
+ Fix the return type of 'labeled_restrictions_get_bound'
+
+ * src/editfns.c:
+ (labeled_restrictions_get_bound): Return a Lisp_Object instead of
+ a pointer to a struct Lisp_Marker.
+ (unwind_reset_outermost_restriction, reset_outermost_restrictions)
+ (Fwiden, Fnarrow_to_region): Adapt to the new return type.
+
+2023-05-12 Eli Zaretskii <eliz@gnu.org>
+
+ Fix mouse highlight with some fonts in Cairo builds
+
+ * src/ftcrfont.c (ftcrfont_draw): Don't set the
+ 'background_filled_p' flag of the glyph string. (Bug#63271)
+
+2023-05-12 Philip Kaludercic <philipk@posteo.net>
+
+ Ensure that package menu respects 'package-install-upgrade-built-in'
+
+ * lisp/emacs-lisp/package.el (package-menu--find-upgrades): Check if
+ built-in packages can be upgraded if
+ 'package-install-upgrade-built-in' is non-nil.
+
+2023-05-12 Philip Kaludercic <philipk@posteo.net>
+
+ Ensure that EXTRA-DATA are always written when generating autoloads
+
+ * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Handle
+ edge-case where no autoloads are found. (Bug#63260)
+
+2023-05-11 Jonas Bernoulli <jonas@bernoul.li>
+
+ Update to Transient v0.4.0
+
+ Or strictly speaking v0.4.0-1-g428576a4.)
+
+2023-05-11 Eli Zaretskii <eliz@gnu.org>
+
+ Revert "Don't have nntp-report signal an error"
+
+ This reverts commit 032969e8c65ba1ccda8466f6c61f20e0c7293ebf.
+ The commit is being reverted because it caused bug#62845.
+
+2023-05-10 Alan Mackenzie <acm@muc.de>
+
+ Make c-emacs-features use the proper binding of parse-sexp-lookup-properties
+
+ This is relevant for bug #58558, although it does not fix it. Due to a wrong
+ ordering of with-current-buffer and a let form, the function overwrote the
+ global value of parse-sexp-lookup-properties and two other variables.
+
+ * lisp/progmodes/cc-defs.el (c-emacs-features): Change the nesting of
+ with-current-buffer and let so that the let bindings get used.
+
+2023-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ with-display-message: Workaround for bug#63253
+
+ Running arbitrary ELisp code from an atimer is still dangerous,
+ at least because the regexp engine is not-reentrant, so let's patch up
+ the case we bumped into. There are probably many other such holes :-(
+
+ * src/alloc.c (garbage_collection_inhibited): Make it non-static.
+
+ * src/xdisp.c (garbage_collection_inhibited): Declare it.
+ (set_message, clear_message): Use it as a proxy for "we're in
+ a dangerous context like within `probably_quit`".
+
+2023-05-09 João Távora <joaotavora@gmail.com>
+
+ Fido-mode: never shadow 'external' completion style
+
+ As explained in the manual (20.7.2 Fast minibuffer selection)
+ 'fido-mode' and 'fido-vertical-mode' give priority the "flex"
+ completion style.
+
+ In fact, bug#62015 was recently fixed in commit because that priority
+ was not taking place correctly and some completions were missed.
+
+ However, an exception must be made for the 'external' completion
+ style.
+
+ That style, made available by the lisp/external-completion.el library,
+ is specifically designed to work with backends that provide only a
+ partial view of all completions. If we allow 'flex' to step in front
+ of 'external' it could mean that 'flex' matches something and
+ 'external' isn't triggered as it probably should.
+
+ To reproduce have the rust-mode ELPA package and the rust-analyzer LSP
+ server handy. Then:
+
+ emacs -Q -f package-initialize main.rs
+
+ Where main.rs is this content:
+
+ fn foo1() {} fn foo2() {} fn foo3() {}
+ fn foobar1() {} fn foobar2() {} fn foobar3() {}
+
+ The rust-analyzer server can be quickly configured to return only 3
+ workspace symbols max, so evaluate:
+
+ (setq-default eglot-workspace-configuration
+ '(:rust-analyzer
+ (:workspace (:symbol (:search (:limit 3))))))
+
+ Now start M-x eglot and M-x fido-vertical-mode and type C-u M-. to
+ find an arbitrary symbol in this one-file project.
+
+ Type 'f'. You will see the three foo's are listed, correctly.
+
+ Now type '3'. You will only see "foo3".
+
+ But that's wrong because "foobar3" was available, if only the server
+ had been asked for it. This commit fixes the situation and no
+ completions are lost.
+
+ As an unfortunate side-effect of this commit, the fontification of
+ completions-common-part on the matches is lost, but that is not worse
+ than missing out on completions and there are better ways to recover
+ the fontification anyway (in external-completion.el).
+
+ See also:
+ https://github.com/joaotavora/eglot/discussions/1219#discussioncomment-5818336
+
+ * lisp/icomplete.el (icomplete--fido-ccd): Do not touch entries
+ with 'external in them.
+
+ Do not merge to master.
+ Backport:
+
+ (cherry picked from commit 0e8d8a72284f6b3aaa1bbce73d41c7d84bbc4d3c)
+
+2023-05-09 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid crashes in --without-all build trying to scale non-ASCII char
+
+ * src/fontset.c (face_for_char): Display a non-ASCII character as
+ glyphless if the ASCII face has no fontset. (Bug#63283)
+
+2023-05-09 Eli Zaretskii <eliz@gnu.org>
+
+ Improve instructions for dealing with Emacs crashes
+
+ * doc/emacs/trouble.texi (Crashing): Show the variant of the
+ 'addr2line' command for MS-Windows.
+
+2023-05-08 Mohsen Banan <form@mohsen.banan.1.byname.net>
+
+ Improved transliterations + improved bidi insertion support for Farsi
+
+ * lisp/leim/quail/persian.el ("farsi-transliterate-banan"):
+ Improve and add transliterations. (Bug#63361)
+
+2023-05-08 Alan Third <alan@idiocy.org>
+
+ Fix crash when creating a child frame in NS (bug#63107)
+
+ * src/nsterm.m ([EmacsView initFrameFromEmacs:]): Have a second go at
+ creating the toolbar.
+ ([EmacsWindow createToolbar:]): If there is already a toolbar or the
+ EmacsView's layer is not an EmacsLayer, then do nothing.
+
+ (cherry picked from commit 3adc1e7f37901235bda83ea65a90644b7b0a8dbf)
+
+2023-05-07 Andrew G Cohen <cohen@andy.bu.edu>
+
+ Fix outgoing mime type regression (Bug#62815)
+
+ * lisp/net/mailcap.el (mailcap-mime-extensions,
+ mailcap-parse-mimetype-file, mailcap-mime-types): Don't regexp-quote
+ mimetypes in a context where they should be strings.
+ (mailcap--regexp-quote-type): Remove.
+
+ (cherry picked from commit 605414d018da47f99dec5019142f584b6eb174c8)
+
+2023-05-07 Nicholas Vollmer <iarchivedmywholelife@gmail.com>
+
+ define-minor-mode: sanitize mode function messages
+
+ * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Ensure mode's
+ pretty name is not interprted as a message formatting string,
+ e.g., if the mode name contains a '%'. (Bug#63343)
+
+2023-05-07 Eli Zaretskii <eliz@gnu.org>
+
+ Fix beginning/end-of-defun with tree-sitter
+
+ * lisp/treesit.el (treesit-beginning-of-defun)
+ (treesit-end-of-defun): Push mark, as other beginning/end-of-defun
+ functions do.
+
+2023-05-06 Theodor Thornhill <theo@thornhill.no>
+
+ Fix indent for enums in csharp-mode
+
+ * lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Check for
+ keywords containing 'enum' on the line before an opening bracket, and
+ make it behave like a class-open token.
+
+2023-05-06 Eli Zaretskii <eliz@gnu.org>
+
+ Teach c-ts-mode about the 'restrict' keyword
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Add
+ "restrict" and "_Atomic" type qualifiers. (Bug#63323)
+
+2023-05-06 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frames. (Bug#63312)
+
+2023-05-06 Eli Zaretskii <eliz@gnu.org>
+
+ Fix doc strings of 'mark-sexp' and 'mark-word'
+
+ * lisp/emacs-lisp/lisp.el (mark-sexp):
+ * lisp/simple.el (mark-word): Clarify the doc strings in various
+ usage cases. (Bug#62892)
+
+2023-05-05 Dmitry Gutov <dmitry@gutov.dev>
+
+ (package-upgrade): Don't remove the package from 'package-selected-packages'
+
+ * lisp/emacs-lisp/package.el (package-upgrade):
+ Don't remove the package from 'package-selected-packages', fixing
+ the problem described in https://debbugs.gnu.org/62720#718.
+
+2023-05-05 João Távora <joaotavora@gmail.com>
+
+ Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot
+
+ * doc/misc/eglot.texi (Getting the latest version): Mention
+ eglot-upgrade-eglot.
+
+ * etc/EGLOT-NEWS: Mention eglot-upgrade-eglot.
+
+ * lisp/progmodes/eglot.el (eglot-upgrade-eglot): Rename from
+ eglot-update.
+ (eglot-update): New compatibility alias.
+
+2023-05-05 Eli Zaretskii <eliz@gnu.org>
+
+ Fix arguments of xml.c functions as displayed in Help buffers
+
+ * lisp/subr.el (libxml-parse-xml-region)
+ (libxml-parse-html-region): Adjust advertised-calling-convention
+ to the changes in commit cc33c6cf3a. (Bug#63291)
+
+2023-05-05 Po Lu <luangruo@yahoo.com>
+
+ More fixes for NetBSD/vax
+
+ * src/sysdep.c (init_signals) [__vax__]: Treat SIGILL
+ as a floating point error on VAXen.
+ Otherwise, (log 0.0) crashes Emacs.
+
+2023-05-05 Cyril Arnould <cyril.arnould@outlook.com> (tiny change)
+
+ Improve VHDL mode highlighting
+
+ * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Differentiate
+ between ModelSim errors, warnings, and notes when highlighting
+ them. Add a new entry for Xilinx Vivado. (Bug#63251)
+
+2023-05-04 Po Lu <luangruo@yahoo.com>
+
+ Clarify documentation wrt floating point division by zero and NaN
+
+ * doc/lispref/numbers.texi (Float Basics)
+ (Arithmetic Operations): Document what happens on a VAX.
+ Tested on NetBSD 9.3.
+
+2023-05-04 Robert Pluim <rpluim@gmail.com>
+
+ Make loaddefs-generate slightly more tolerant
+
+ There are packages in the wild, such as vlf-20191126.2250, which have
+ entries that are not terminated by three ';', but by two. Tolerate
+ such entries.
+
+ * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Search for two
+ ';' as a delimiter, not three. (Bug#63236)
+
+2023-05-04 Philip Kaludercic <philipk@posteo.net>
+
+ Fix order of rcirc-connect arguments
+
+ * lisp/net/rcirc.el (rcirc): Pass SERVER-ALIAS before CLIENT-CERT.
+ (rcirc-connect): Take SERVER-ALIAS before CLIENT-CERT.
+
+ This is necessary for the 'rcirc-reconnect' trick to work that applies
+ the contents of 'rcirc-connection-info' to 'rcirc-connect', otherwise
+ the server alias gets lost as certfp information.
+
+ This addresses a change made in b79cb838a477ee5a5c3660e81264991ff833a82f.
+
+2023-05-04 Thuna <thuna.cing@gmail.com> (tiny change)
+
+ Fix rcirc messages printing in the wrong place
+
+ * lisp/net/rcirc.el (rcirc-send-message): Print the message before
+ sending it to the server.
+ (rcirc-print): Get the time with subsecond precision.
+ * lisp/calendar/parse-time.el (parse-time-string
+ parse-iso8601-time-string): Accept optional second FORM arguments,
+ with the same meaning as in `decode-time'. Mention as such in the
+ docstring. (Bug#59501)
+
+2023-05-04 Philip Kaludercic <philipk@posteo.net>
+
+ Prevent unnecessary modifications of 'package-vc-selected-packages'
+
+ * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Handle the
+ structure of correctly, not as an alist but a list of alists.
+ (package-vc--archive-spec-alist, package-vc--archive-spec-alists,
+ package-vc--desc->spec, package-vc--read-archive-data,
+ package-vc--download-and-read-archives, package-vc--unpack): Rename
+ 'package-vc--archive-spec-alist' to 'package-vc--archive-spec-alists'.
+
+2023-05-03 Dmitry Gutov <dmitry@gutov.dev>
+
+ Rename eglot-update to eglot-upgrade
+
+ * doc/misc/eglot.texi (Getting the latest version):
+ Update the reference.
+
+ * lisp/progmodes/eglot.el (eglot-upgrade): Rename from
+ 'eglot-update', as discussed on emacs-devel, in line with
+ 'package-upgrade'.
+
+2023-05-03 Randy Taylor <dev@rjt.dev>
+
+ go-ts-mode: Use iota query only if supported (Bug#63086)
+
+ iota query support was added on January 5, 2022. To support older
+ versions of the tree-sitter-go grammar (like the latest tagged version,
+ v0.19.1, which was released on March 3, 2021), check if the query is
+ supported before trying to use it.
+
+ * lisp/progmodes/go-ts-mode.el (go-ts-mode--iota-query-supported-p): New
+ function.
+ (go-ts-mode--font-lock-settings): Use it.
+
+2023-05-03 Dmitry Gutov <dmitry@gutov.dev>
+
+ (rng-complete-tag): Add the (ignored) argument to the :company-kind function
+
+ * lisp/nxml/rng-nxml.el (rng-complete-tag): Add the (ignored)
+ argument to the :company-kind function. Fixes the "Wrong number
+ of arguments" error reported at
+ https://github.com/company-mode/company-mode/issues/1386.
+
+2023-05-03 Jonas Bernoulli <jonas@bernoul.li>
+
+ Update to Transient v0.3.7-219-g3ded15b
+
+2023-05-03 Po Lu <luangruo@yahoo.com>
+
+ Fix inserting selection data into Mozilla programs
+
+ * lisp/select.el (xselect-convert-to-text-uri-list): Don't
+ return any value when converting non-DND selections to this
+ drag-and-drop target.
+
+ Reported by Tobias Bading <tbading@web.de>.
+
+2023-05-03 Thuna <thuna.cing@gmail.com> (tiny change)
+
+ Recognize defstruct slot names in various eieio functions
+
+ * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Set
+ each slot's name's 'slot-name' property so that
+ 'eieio--known-slot-name-p' can recognize them. (Bug#62959)
+
+2023-05-02 Thuna <thuna.cing@gmail.com> (tiny change)
+
+ Use 'calendar-buffer' instead of fixed string
+
+ * test/lisp/calendar/cal-julian-tests.el (with-cal-julian-test):
+ Use 'calendar-buffer' instead of a literal fixed name.
+ (Bug#61546)
+
+2023-05-02 Spencer Baugh <sbaugh@catern.com>
+
+ Handle point not at EOB in minibuffer-choose-completion
+
+ Without this change, only the minibuffer contents before point
+ are cleared when a completion is chosen, which results in stray
+ text when point is in the middle of the minibuffer.
+
+ After this change, we heuristically decide either to clear the
+ whole buffer or only part of it, taking into account the
+ location of point.
+
+ This is a backport for the Emacs 29 release branch of a simpler
+ fix in minibuffer-completion-help.
+
+ * lisp/minibuffer.el (minibuffer-next-completion):
+ (minibuffer-choose-completion):
+ Recalculate completion-base-affixes with point. (Bug#62700)
+
+2023-05-02 Spencer Baugh <sbaugh@catern.com>
+
+ Note that Emacs pauses when handling sentinel errors
+
+ Noting this behavior and variable here makes it easier to
+ understand the behavior of Emacs when a sentinel has an error.
+
+ * doc/lispref/processes.texi (Filter Functions): Note that Emacs
+ pauses when handling sentinel errors.
+ (Sentinels): Note that Emacs pauses when handling sentinel errors.
+ (Bug#63096)
+
+2023-05-01 Eli Zaretskii <eliz@gnu.org>
+
+ Fix vertical-motion when tab-line is displayed in a window
+
+ * src/xdisp.c (try_window, try_window_id): Account for tab-line,
+ if present, when converting scroll-margin at the top of the window
+ to vertical pixel coordinate. (Bug#63201)
+
+2023-04-30 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.6.5-3-g2993f4
+
+2023-04-30 Philip Kaludercic <philipk@posteo.net>
+
+ Prevent generating empty autoload files
+
+ * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Remove
+ optimisation that would mistakenly discard old loaddefs in case a file
+ was not modified by EXTRA-DATA is non-nil. (Bug#62734)
+
+2023-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/org/org-macs.el (org--inhibit-version-check): Fix docstring
+
+ Also, add an explanation to the docstring for what the version
+ check is about.
+
+2023-04-30 Eli Zaretskii <eliz@gnu.org>
+
+ Fix redisplay of mode line after its format changes from nil
+
+ * src/dispnew.c (update_window): Make sure a mode-line's row of
+ the current glyph matrix is disabled when the mode line is not
+ being displayed. (Bug#63186)
+
+2023-04-30 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix c-ts-mode--emacs-c-range-query
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode--emacs-c-range-query):
+ Check for (treesit-available-p).
+
+2023-04-30 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of warnings
+
+ * doc/lispref/control.texi (Errors):
+ * doc/lispref/os.texi (Startup Summary):
+ * doc/lispref/display.texi (Warning Basics, Warning Variables)
+ (Warning Options, Delayed Warnings): Improve documentation of
+ warnings. Document the automatic delaying of warnings during
+ startup. (Bug#63181)
+
+2023-04-29 Yuan Fu <casouri@gmail.com>
+
+ Fix FOR_EACH_TAIL fontification (bug#62951)
+
+ Fix the fontification inconsistency between different FOR_EACH_TAIL's.
+ See the comment for more explanation. Also enable the emacs-devel
+ feature automatically when c-ts-mode-emacs-sources-support is on.
+
+ * lisp/progmodes/c-ts-mode.el:
+ (c-ts-mode--for-each-tail-regexp): Move up.
+ (c-ts-mode--font-lock-settings): New font-lock rule for FOR_EACH_TAIL.
+ (c-ts-mode--fontify-for-each-tail): New function.
+ (c-ts-mode): Automatically enable emacs-devel feature.
+
+2023-04-29 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation of libxml-parse-* functions
+
+ * doc/lispref/text.texi (Parsing HTML/XML):
+ * src/xml.c (Flibxml_parse_html_region, Flibxml_parse_xml_region):
+ Update the documentation regarding the use of BASE-URL argument.
+ (Bug#63125)
+
+2023-04-28 Theodor Thornhill <theo@thornhill.no>
+
+ Skip over whitespace in annotation-top-cont check (bug#63141)
+
+ * lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Make sure
+ we skip over whitespace when looking for the next '['.
+
+2023-04-28 Ruijie Yu <ruijie@netyu.xyz>
+
+ Update zh-CN tutorial translation
+
+ * etc/tutorials/TUTORIAL.cn (INTRO): Additions from English
+ version; say "interrupt" not "quit" a partially-entered command;
+ fixed minor inconsistency (English says partially-entered command,
+ Chinese used to say partially-executed command -- they are
+ different); converted half-width square brackets containing
+ translators' notes into full-width ones for consistency.
+ (BASIC CURSOR CONTROL): mention that a word boundary for Chinese
+ can also be space; fixed incorrect terminology (keyboard vs
+ terminal); retain English term "terminal"; retain English term
+ "prefix argument"; "most commands _interpret_ prefix args as
+ repeat-count", not "explain"; ensure space is added on both ends
+ of an English word.
+ (WINDOWS): Clarify it is the digit 1 in C-x 1.
+ (INSERTING AND DELETING): Mention the term "continuation line" and
+ retain its English term, because this term is mentioned again
+ later in the tutorial; avoid saying the name of "\\"; add
+ description for "electric" and a rough translation; sync English
+ for prefix argument for DEL and C-d; ensure that translators'
+ notes are marked explicitly so; add indentation to the instruction
+ about continuation lines; additional translations such as
+ mentioning C--, etc.
+ (FILES): Re-pluralize the heading; space around English words;
+ describe what C-g cancels (the command) when entering file name;
+ replace "search for" with "find"; minor rephrasing; explicit
+ translator notes; fixed the write-file message to no longer
+ contain ellipses (see src/fileio.c:5541).
+ (BUFFERS): Re-pluralize the heading; mention that C-x C-b also
+ shows buffer name; C-x s only looks for file-visiting buffers.
+ (EXTENDING THE COMMAND SET): Include C-x s and C-x b in list of
+ learned commands.
+ (MODE LINE): Remove the dashes in description on the point
+ location.
+ (MULTIPLE WINDOWS): Mention the difference between frame
+ and window; also add translator notes pointing to end of
+ tutorial which contains a terminology list.
+ (MULTIPLE FRAMES): Change the M-x commands to keybinds C-x 5 2 and
+ C-x 5 0 to sync with English.
+ (GETTING MORE HELP): Change C-h f to C-h x, to sync with English.
+ (INSTALLING PACKAGES): Rephrase "available packages", used to say
+ lit., "existing", now says lit., "installable"; consistently
+ translate the term "package", and retain its English name.
+ (TRANSLATION): Add my name as co-maintainer of this file.
+
+ * etc/tutorials/TUTORIAL.translators (TUTORIAL.cn): Add my name
+ as co-maintainer for TUTORIAL.cn.
+
+2023-04-28 Eli Zaretskii <eliz@gnu.org>
+
+ Fix eglot.texi
+
+ * doc/misc/eglot.texi (Troubleshooting Eglot): Add missing @menu.
+ (Performance, Getting the latest version): Improve wording and
+ indexing, add cross-references.
+
+2023-04-27 Po Lu <luangruo@yahoo.com>
+
+ Fix two crashes upon startup
+
+ * src/image.c (image_create_bitmap_from_data)
+ (image_create_bitmap_from_file): Specify a Window or a Pixmap
+ describing the screen, not a back buffer drawable which may not exist.
+ Otherwise, Emacs crashes on startup when a bitmap icon is in use.
+
+2023-04-27 João Távora <joaotavora@gmail.com>
+
+ Eglot: explain how to update Eglot in manual (bug#62720)
+
+ * lisp/progmodes/eglot.el (eglot-update): New command.
+
+ * doc/misc/eglot.texi (Troubleshooting): Rework.
+
+2023-04-27 João Távora <joaotavora@gmail.com>
+
+ Eglot: fix edge case when deleting inlay hint overlays
+
+ When asked to update hints in a region (FROM TO),
+ eglot--update-hints-1 first deletes the existing hints. It must
+ however take care to delete all overlays that logically belong to the
+ region, even if they don't physically belong to it, e.g. inlay
+ overlays spanning (FROM-1 FROM) and having a 'after-string' property.
+
+ * lisp/progmodes/eglot.el (eglot--update-hints-1): Fix edge case.
+
+2023-04-27 Dmitry Gutov <dmitry@gutov.dev>
+
+ package-upgrade[-all]: Expand docstrings to note the current limitation
+
+ * lisp/emacs-lisp/package.el (package-upgrade, package-upgrade-all):
+ Expand docstrings to note the current limitation (bug#62720).
+
+2023-04-27 Dmitry Gutov <dmitry@gutov.dev>
+
+ Rename all functions called package-*-update-* to package-*-upgrade-*
+
+ * lisp/emacs-lisp/package-vc.el (package-vc-upgrade-all):
+ Rename from 'package-vc-update-all'.
+ (package-vc-upgrade): Rename from 'package-vc-update'.
+
+ * lisp/emacs-lisp/package.el (package-upgrade):
+ Rename from 'package-update' (bug#62750).
+ (package--upgradeable-packages):
+ Rename from 'package--updateable-packages'.
+ (package-upgrade-all): Rename from 'package-update-all'.
+
+2023-04-27 Yuan Fu <casouri@gmail.com>
+
+ Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
+
+ * lisp/progmodes/c-ts-mode.el
+ (c-ts-mode--indent-styles): New indent rule.
+
+ (c-ts-mode--for-each-tail-regexp)
+ (c-ts-mode--for-each-tail-body-matcher)
+ (c-ts-mode--emacs-c-range-query)
+ (c-ts-mode--for-each-tail-ranges)
+ (c-ts-mode--reverse-ranges)
+ (c-ts-mode--emacs-set-ranges): New functions and variables.
+
+ (c-ts-mode): Create a emacs-c parser. More setup for Emacs source
+ support.
+
+ * lisp/treesit.el (treesit-query-range): Ignore underscore-prefixed
+ capture names.
+
+2023-04-27 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.in (distclean): Remove the 'native-lisp' directory.
+
+2023-04-27 Eli Zaretskii <eliz@gnu.org>
+
+ Improve greek-ibycus4 input method
+
+ * lisp/leim/quail/greek.el ("greek-ibycus4"): Add another sequence
+ for CAPITAL LETTER RHO WITH DASIA. (Bug#63104)
+
+2023-04-26 F. Jason Park <jp@neverwas.me>
+
+ Explain ERC 5.5 regressions in new version 5.5.0.29.1
+
+ * doc/misc/erc.texi: Bump version to 5.5.0.29.1.
+ * etc/ERC-NEWS: Don't hype bugged option `erc-reconnect-display'.
+ * lisp/erc/erc-dcc.el (erc-dcc-do-GET-command): Add comment explaining
+ parsing bug in ERC 5.5 (bug#62444).
+ * lisp/erc/erc-networks.el (erc-networks-on-MOTD-end): Mention known
+ /MOTD bug in error notice so people don't waste energy reporting
+ it (bug#62151).
+ * lisp/erc/erc.el: Change Version header to 5.5.0.29.1. Don't bother
+ updating the `customize-package-emacs-version-alist' entry
+ because no option defaults are affected.
+ (erc-version): Change version to 5.5.0.29.1.
+ (erc-reconnect-display, erc-query-on-unjoined-chan-privmsg): Add
+ warning to doc strings and `custom-set' functions. It's believed that
+ these bugs degrade the user experience significantly enough to warrant
+ such mentions (bug#62833).
+ (erc-query): Fix erroneous redirect string in deprecation spec.
+ Do not merge to master.
+
+2023-04-26 F. Jason Park <jp@neverwas.me>
+
+ * doc/misc/erc.texi: Elaborate on upgrading via ELPA.
+
+2023-04-26 Robert Pluim <rpluim@gmail.com>
+
+ Improve outline-default-state docstring
+
+ * lisp/outline.el (outline-default-state): Explain which functions are
+ available to affect heading visibility.
+
+2023-04-26 Eli Zaretskii <eliz@gnu.org>
+
+ Document problems with /bin/sh on Solaris 10
+
+ * etc/PROBLEMS (Solaris): Document problems with '/bin/sh'.
+ Suggested by Paul Eggert <eggert@cs.ucla.edu>. (Bug#63067)
+
+2023-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ Followup to addition of TUTORIAL.fa
+
+ * etc/NEWS: Announce addition of TUTORIAL.fa.
+
+ * etc/tutorials/TUTORIAL.translators (TUTORIAL.fa): New entry.
+
+ * lisp/language/misc-lang.el ("Persian"): Add tutorial property.
+
+2023-04-25 Mohsen Banan <form@mohsen.banan.1.byname.net>
+
+ Add Farsi/Persian translation of the tutorial
+
+ * etc/tutorials/TUTORIAL.fa: New file.
+
+ * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Fix
+ typo in doc string.
+
+2023-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ Add Mongolian language environments
+
+ * lisp/language/misc-lang.el ("Mongolian-traditional"):
+ * lisp/language/cyrillic.el ("Mongolian-cyrillic"): New
+ language environments.
+
+ * etc/HELLO: Add Mongolian Traditional.
+ * etc/NEWS: Announce the new language environments.
+
+ (Bug#63028)
+
+2023-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ Document the 'end-session' event on MS-Windows
+
+ * doc/lispref/commands.texi (Misc Events): Document the
+ 'end-session' event. (Bug#63058)
+
+2023-04-24 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.6.4-9-g8eb209
+
+2023-04-24 Eli Zaretskii <eliz@gnu.org>
+
+ Don't support versioned grammar libraries on MS-Windows
+
+ * src/treesit.c (treesit_load_language_push_for_each_suffix):
+ Don't append ".0.0" on WINDOWSNT.
+
+2023-04-24 Yuan Fu <casouri@gmail.com>
+
+ Accept versioned tree-sitter language grammar files
+
+ By discussion on emacs-devel, titled "Versioned Tree-sitter parser
+ libraries".
+
+ * src/treesit.c (Vtreesit_str_dot_0): New variable.
+ (treesit_load_language_push_for_each_suffix): Additionally look for
+ lib_base_name.0 and lib_base_name.0.0.
+ (syms_of_treesit): Initialize Vtreesit_str_dot_0.
+
+2023-04-24 Benson Chu <bensonchu457@gmail.com> (tiny change)
+
+ tab-bar-new-tab: inhibit side-window checks
+
+ Previously, calling 'tab-bar-new-tab-to' only removed the
+ 'window-side' property on the currently selected window,
+ and then a call to 'delete-other-windows' was made to
+ ensure that the selected window was the only window.
+ We can skip this check by shadowing 'window--sides-inhibit-check'
+ to t.
+ * lisp/tab-bar.el (tab-bar-new-tab-to): Inhibit side-window checks.
+ (Bug#62427)
+
+2023-04-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * etc/NEWS: Fix outline level. (Bug#63042)
+
+ Fix typos.
+
+2023-04-23 Eli Zaretskii <eliz@gnu.org>
+
+ Fix rendering of Traditional Mongolian script
+
+ * lisp/international/characters.el: Set punctuation syntax for Po
+ characters from the Mongolian block
+ * lisp/international/fontset.el (setup-default-fontset): Add
+ fontset setting for Traditional Mongolic.
+ * lisp/language/misc-lang.el (composition-function-table): Add
+ rules for Traditional Mongolic. (Bug#63028)
+
+2023-04-22 Eli Zaretskii <eliz@gnu.org>
+
+ Fix line-number-at-pos when POSITION is out of narrowing
+
+ * src/fns.c (Fline_number_at_pos): Don't signal an error when
+ ABSOLUTE is nil and POSITION is outside of the narrowing, like the
+ original Lisp implementation did. Minor speedup by using the byte
+ position where it is available from the get-go. (Bug#62857)
+
+2023-04-22 Eli Zaretskii <eliz@gnu.org>
+
+ Fix exiting Emacs after saving a tutorial
+
+ * lisp/tutorial.el (tutorial--starting-point): Make it
+ permanent-local, so that saving the tutorial to some file doesn't
+ kill this buffer-local variable. Otherwise, trying to exit Emacs
+ after saving the tutorial will signal an error, because
+ 'tutorial--starting-point' is void. (Bug#37326)
+
+2023-04-22 Eli Zaretskii <eliz@gnu.org>
+
+ Add indentation style setting for c-ts-mode in .dir-locals.el
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-indent-style-safep): New
+ predicate.
+ (c-ts-mode-indent-style): Use it to test the value for being safe.
+
+ * .dir-locals.el (c-ts-mode): Set 'c-ts-mode-indent-style' to 'gnu'.
+
+2023-04-20 Nicolas Martyanoff <nicolas@n16f.net>
+
+ sql: add missing postgresql types
+
+ * lisp/progmodes/sql.el: Add multiple missing PostgreSQL types: bigserial,
+ smallserial, macaddr8, jsonb, jsonpath, built-in range types, object
+ identifier types (oid & co).
+
+2023-04-19 Eli Zaretskii <eliz@gnu.org>
+
+ Fix display of menu-bar bindings of commands in *Help* buffers
+
+ * lisp/help-fns.el (help-fns--insert-menu-bindings): Propertize
+ with 'help-key-binding' face only the menu items, not the arrows
+ between successive items. This is because 'char-displayable-p' is
+ unreliable when we propertize the character with an arbitrary
+ face: that face could specify a font which doesn't support the
+ character after all, while 'char-displayable-p' assumes there are
+ no restrictions on fonts that can be used for displaying the
+ character. Also, make the code more efficient by avoiding the
+ call to 'char-displayable-p' inside the loop.
+
+2023-04-19 Spencer Baugh <sbaugh@janestreet.com>
+
+ Improve Completion Example section in the Emacs manual
+
+ This can be a useful substitute for full-on fuzzy completion, as
+ provided by other completion styles and completion packages.
+ * doc/emacs/mini.texi (Completion Example): Give an example of
+ completion with point not at end of minibuffer. Also, use
+ @kbd{@key{TAB}} when telling the user to hit TAB. (Bug#62836)
+
+2023-04-19 Robert Pluim <rpluim@gmail.com>
+
+ Improve 'message-server-alist' docstring
+
+ * lisp/gnus/message.el (message-server-alist): Fix typo and clarify
+ what happens if there is already an X-Message-SMTP-Method header.
+
+2023-04-19 Robert Pluim <rpluim@gmail.com>
+
+ Add index entry for fallback modes
+
+ * doc/emacs/custom.texi (Specifying File Variables): Add index for
+ 'fallback modes'.
+
+2023-04-18 Dmitry Gutov <dmitry@gutov.dev>
+
+ xref-search-program-alist: Fix searching larger file lists on MS Windows
+
+ * lisp/progmodes/xref.el (xref-search-program-alist):
+ Add '-s 10000' to xargs' options when on Windows or DOS.
+ Apparently the xargs port doesn't currently know how to obey the
+ system-wide limits (https://debbugs.gnu.org/bug=61667#521).
+
+2023-04-18 Shynur <one.last.kiss@outlook.com> (tiny change)
+
+ Fix typo and inaccuracy in the ELisp Reference manual
+
+ * doc/lispref/loading.texi (Dynamic Modules): Fix a typo.
+ * doc/lispref/customize.texi (Group Definitions): Faces are also
+ in the 'custom-group' property of a customization group.
+ (Bug#62887)
+
+2023-04-18 Eli Zaretskii <eliz@gnu.org>
+
+ Fix description of lexical environment's internals
+
+ * doc/lispref/variables.texi (Lexical Binding): Update the
+ description of how the lexical environment is represented
+ internally. (Bug#62840)
+
+2023-04-16 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.6.4-2-g0f6ae7
+
+2023-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ Documentation copyedits for 'package-install-upgrade-built-in' etc
+
+ * etc/NEWS: More details about the new option
+ 'package-install-upgrade-built-in'.
+
+ * lisp/emacs-lisp/package.el (package-install-upgrade-built-in)
+ (package--active-built-in-p, package-install): Doc fixes.
+ (Bug#62720)
+
+2023-04-16 Philip Kaludercic <philipk@posteo.net>
+
+ Allow upgrading built-in packages with 'package-install'
+
+ * etc/NEWS: Mention the change
+ * lisp/emacs-lisp/package.el (package--upgradable-built-in-p): Add new
+ predicate.
+ (package-install-upgrade-built-in): Add new user option to enable
+ feature.
+ (package-install): Respect new user option.
+
+2023-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ Minor changes in c-ts-mode.el's support of DEFUNs
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-DEFUN): Renamed
+ from 'c-ts-mode--fontify-defun'; all callers changed.
+ (c-ts-mode-emacs-sources-support): Renamed from
+ 'c-ts-mode-emacs-devel' and made into a defcustom; all users
+ changed.
+ (c-ts-mode--emacs-defun-p, c-ts-mode--emacs-defun-at-point)
+ (c-ts-mode--emacs-current-defun-name): Doc fixes. (Bug#62825)
+
+2023-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ Fix strike-through attribute support on TTY frames
+
+ * src/term.c (init_tty): Fix setting the strike-through capability
+ with "smxx". (Bug#62265)
+
+2023-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid crashes in 'describe-keymap' due to shadowing
+
+ * src/keymap.c (describe_vector): Handle shadowing by something
+ other than a symbol. (Bug#62867)
+
+2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+
+ Make image-map bindings available on image links
+
+ * lisp/net/shr.el (shr-map): Move shr-browse-image to "M-i".
+ * lisp/net/eww.el (eww-image-link-keymap): Use shr-image-map.
+
+2023-04-15 Alan Mackenzie <acm@muc.de>
+
+ * CONTRIBUTE: Fix a typo
+
+2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+
+ Add to Eglot support for additional language-servers.
+
+ * lisp/progmodes/eglot.el (eglot-server-programs): Add
+ 'vscode-markdown-language-server' for Markdown and
+ 'dot-language-server' for GraphViz. (Bug#62844)
+
+2023-04-14 Yuan Fu <casouri@gmail.com>
+
+ Partial support for DEFUN in c-ts-mode (bug#62825)
+
+ The DEFUN is hard to incorporate because it's made of two nodes rather
+ than one, and most tree-sitter functionalities assume a defun is one
+ node. I fixed the indent-defun and add-log functionality, but
+ beginning/end-of-defun and imenu still don't recognize DEFUN.
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode-emacs-devel): New variable.
+ (c-ts-mode--defun-name): Support DEFUN.
+ (c-ts-mode--defun-valid-p): Support DEFUN.
+ (c-ts-mode--emacs-defun-p)
+ (c-ts-mode--emacs-defun-at-point): New functions.
+ (c-ts-mode-indent-defun): Use c-ts-mode--emacs-defun-at-point.
+ (c-ts-mode--emacs-current-defun-name): New function.
+ (c-ts-mode, c++-ts-mode): Optionally setup custom defun-name function.
+
+2023-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ Fix style and unwinding code in treesit.c
+
+ This was supposed to be a cherry-pick from master, but
+ isn't, due to the unnecessary rush to fix master without
+ cleaning up the mess first and without separating changes
+ that can and cannot be backported.
+ * src/treesit.c (treesit_traverse_cleanup_cursor): Fix indentation
+ style.
+ (Ftreesit_search_subtree, Ftreesit_search_forward)
+ (Ftreesit_induce_sparse_tree): Fix specpdl unwinding. (Bug#62823)
+ Do not merge to master.
+
+2023-04-14 Yuan Fu <casouri@gmail.com>
+
+ Catch signals produced by PRED in tree-sitter search functions
+
+ Earlier we switched to using cursors rather than nodes to traverse the
+ parse tree. Because cursors need cleanup, we have to catch signals
+ thrown by the predicate functions and free the cursor. Failing to do
+ this will result in leaking the cursor whenever the predicate function
+ signals in a search function. This change fixes the leak.
+ * src/treesit.c (treesit_traverse_cleanup_cursor): New function.
+ (Ftreesit_search_subtree)
+ (Ftreesit_search_forward)
+ (Ftreesit_induce_sparse_tree): Catch signals. (Bug#62823)
+
+ (cherry picked from commit a5eb9f6ad4e6f5a2819b540a477f1e889f6ef355)
+
+2023-04-13 Eli Zaretskii <eliz@gnu.org>
+
+ Fix compilation of w32.c with old MinGW system headers
+
+ * src/w32.c (CONSOLE_FONT_INFO): Make sure the definition is not
+ visible for MinGW versions whose w32api's version is before 5.2.0.
+ (Bug#52792)
+
+2023-04-12 Dmitry Gutov <dgutov@yandex.ru>
+
+ ruby-add-log-current-method: Reduce the use of 'nreverse'
+
+ * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
+ Reduce the use of 'nreverse' (bug#62761).
+
+ * test/lisp/progmodes/ruby-mode-tests.el
+ (ruby-add-log-current-method-singleton-referencing-outer):
+ New test.
+
+2023-04-12 Visuwesh <visuweshm@gmail.com>
+
+ Fix detection of WebP images by their signature
+
+ * lisp/image.el (image-type-header-regexps): The 4 characters
+ between "RIFF" and "WEBP" in WebP images can also be newlines.
+ (Bug#62790)
+
+2023-04-12 Earl Hyatt <okamsn@protonmail.com>
+
+ Add more documentation for the keys of `package-vc-selected-packages`.
+
+ * doc/emacs/package.texi (Specifying Package Sources): List the
+ accepted keys in a new subsection of Fetching Package Sources.
+
+ * lisp/emacs-lisp/package-vc.el (package-vc-selected-packages):
+ Mention the `:doc` key. Add the `:doc` key to the Customize form,
+ mention the new Info node, correct "TexInfo" to "Texinfo", avoid
+ Git-specific terms for the description of `:branch`, mention guessing
+ `:vc-backend` based on the URL.
+
+2023-04-11 Dmitry Gutov <dgutov@yandex.ru>
+
+ vc-checkout: Try to use the vc-dir's backend first
+
+ * lisp/vc/vc.el (vc-checkout): Try to use the vc-dir's backend
+ before looking for the file's one. The latter doesn't work when
+ the file doesn't exist on disk yet (bug#62674).
+
+2023-04-11 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation related to 'ispell-complete-word'
+
+ * lisp/textmodes/ispell.el (ispell-alternate-dictionary)
+ (ispell-complete-word-dict, ispell-complete-word): Doc fixes.
+ (Bug#62775)
+
+2023-04-11 Po Lu <luangruo@yahoo.com>
+
+ * configure.ac: Add -lbsd on Haiku.
+
+2023-04-11 Eli Zaretskii <eliz@gnu.org>
+
+ Add menu to 'c-ts-mode' and 'c++-ts-mode'
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode-menu): New menu.
+
+2023-04-11 Mattias Engdegård <mattiase@acm.org>
+
+ Update manual about `sort`
+
+ * doc/lispref/sequences.texi (Sequence Functions):
+ Remove inaccurate and over-specific claims about how `sort` works for
+ lists: there is no guarantee that it doesn't modify the `car` fields
+ of the input list (which is precisely what it does at this time).
+
+ (cherry picked from commit c753a9592345e2084d69e9e2cc458c16db2e4141)
+
+2023-04-11 Eli Zaretskii <eliz@gnu.org>
+
+ Fix wallpaper-tests on MS-Windows
+
+ * test/lisp/image/wallpaper-tests.el (wallpaper--find-setter)
+ (wallpaper--find-setter/call-predicate)
+ (wallpaper--find-setter/set-current-setter)
+ (wallpaper-set/calls-init-action)
+ (wallpaper-set/calls-wallpaper-set-function)
+ (wallpaper-set/runs-command, wallpaper-set/runs-command/detach):
+ Skip these tests if native functions are used for changing
+ wallpaper. These tests are irrelevant in that case.
+
+2023-04-11 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix a couple of eglot-tests
+
+ * test/lisp/progmodes/eglot-tests.el
+ (eglot-test-rust-analyzer-watches-files): Bump timeout.
+ (eglot-test-json-basic): Check for yas-minor-mode before using it,
+ like other tests do (bug#61637).
+
+2023-04-10 Eli Zaretskii <eliz@gnu.org>
+
+ Fix visiting RPM files
+
+ We cannot call 'sh-set-shell' inside 'sh-base-mode', since various
+ settings of 'sh-mode', in particular the syntax table, is not yet
+ set. Likewise with various hooks: since 'sh-base-mode' is not a
+ mode any file should be visited with, it makes no sense to set up
+ stuff like 'hack-local-variables-hook' in 'sh-base-mode'; it
+ should be set in the descendant modes instead.
+ * lisp/progmodes/sh-script.el (sh-base-mode): Move the call to
+ 'sh-set-shell' from here...
+ (sh-mode): ...to here...
+ (bash-ts-mode): ...with a copy here. (Bug#62748)
+
+2023-04-10 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix ff-quiet-mode doc
+
+ * lisp/find-file.el (ff-quiet-mode, ff-find-other-file): Say that
+ ff-quiet-mode disables tracing, not the inverse.
+
+2023-04-01 Gregory Heytings <gregory@heytings.org>
+
+ Another final fix to last changes
+
+ * src/xdisp.c (get_small_narrowing_begv): Refine the value of 'bol_pos'.
+
+2023-04-01 Gregory Heytings <gregory@heytings.org>
+
+ Three final fixes to last changes
+
+ * src/xdisp.c (get_nearby_bol_pos): Initialize 'bol' to BEGV - 1
+ instead of 0 (which fixes cursor motion commands in the presence
+ of a narrowing), adapt the return condition accordingly, and do
+ not restart the loop when BEGV has been reached.
+ (get_small_narrowing_begv): Use correct type.
+
+2023-04-01 Gregory Heytings <gregory@heytings.org>
+
+ Two further fixes to last changes
+
+ * src/xdisp.c (get_narrowed_width): Use FRAME_WINDOW_P instead of
+ Fterminal_live_p. Also take WINDOW_LEFT_FRINGE_WIDTH into
+ account.
+
+2023-04-01 Gregory Heytings <gregory@heytings.org>
+
+ Improve and fix last changes
+
+ * src/xdisp.c (get_narrowed_width): Use WINDOW_RIGHT_FRINGE_WIDTH,
+ which works both for character-only terminals and for GUI frames
+ without fringes.
+ (get_nearby_bol_pos): Instead of searching for BOL in
+ [pos-500000..pos], gradually extend the region, starting with
+ [pos-500..pos]. This is much faster in buffers with some long
+ lines in the middle of lots of short lines.
+
+2023-03-29 Gregory Heytings <gregory@heytings.org>
+
+ Fix cursor motion in character-only terminals
+
+ * src/xdisp.c (get_narrowed_width): Subtract 1 from
+ window_body_width to account for the '\' line wrapping indication.
+
+2023-03-28 Gregory Heytings <gregory@heytings.org>
+
+ Make get_medium_narrowing_begv/zv static
+
+ * src/xdisp.c (get_medium_narrowing_begv):
+ (get_medium_narrowing_zv): Make these two functions static, they
+ are only used in xdisp.c.
+
+ * src/dispextern.h: Remove the prototypes.
+
+2023-03-28 Gregory Heytings <gregory@heytings.org>
+
+ Improve accuracy of cursor motion commands in long lines
+
+ * src/xdisp.c (get_nearby_bol_pos): New function.
+ (get_small_narrowing_begv): Use it. This makes cursor motion
+ commands much more accurate in the first 500K characters of each
+ long line.
+
+2023-03-28 Gregory Heytings <gregory@heytings.org>
+
+ Remove labeled restrictions before calling Fwiden
+
+ * src/editfns.c (labeled_restrictions_remove_in_current_buffer):
+ New function.
+
+ * src/lisp.h: Make it externally visible.
+
+ * src/xdisp.c (display_count_lines_logically):
+ * src/lread.c (readevalloop):
+ * src/indent.c (line_number_display_width):
+ * src/fileio.c (write_region):
+ * src/callproc.c (Fcall_process_region):
+ * src/buffer.c (Ferase_buffer): Use it.
+
+2023-03-28 Gregory Heytings <gregory@heytings.org>
+
+ Code cleanup for long line optimizations
+
+ This commit does not change any code, it merely renames functions
+ and clarifies the documentation, to make the code hopefully easier
+ to grasp.
+
+ * src/dispextern.h (struct it): Rename the 'narrowed_begv',
+ 'narrowed_zv', 'locked_narrowing_begv', 'locked_narrowing_zv' to
+ 'medium_narrowing_begv', 'medium_narrowing_zv',
+ 'large_narrowing_begv', 'large_narrowing_zv'. Clarify the
+ comments.
+ Update the prototypes of the functions renamed in xdisp.c.
+
+ * src/lisp.h: Update the prototypes of the functions renamed in
+ editfns.c. Remove the prototype of
+ 'safe_run_hooks_maybe_narrowed', which is used only in keyboard.c.
+
+ * src/xdisp.c
+ (get_small_narrowing_begv): Renamed from
+ 'get_closer_narrowed_begv'.
+ (get_medium_narrowing_begv): Renamed from 'get_narrowed_begv'.
+ (get_medium_narrowing_zv): Renamed from 'get_narrowed_zv'.
+ (get_large_narrowing_begv): Renamed from 'get_locked_narrowing_begv'.
+ (get_large_narrowing_zv): Renamed from 'get_locked_narrowing_zv'.
+ (SET_WITH_NARROWED_BEGV): Use the new field names.
+ (handle_fontified_prop): Use the new function and new field names.
+ (back_to_previous_line_start): Use the new field name.
+ (back_to_previous_visible_line_start): Use the new field name.
+ (reseat): Use the new function and new field names.
+ (get_visually_first_element): Use the new field name.
+ (move_it_vertically_backward): Use the new function name.
+ (redisplay_internal): Use the new function name.
+ Also add a large comment to explain how Emacs deals with long lines.
+
+ * src/keyboard.c:
+ (safe_run_hooks_maybe_narrowed): Use the new function names from
+ xdisp.c and editfns.c. Make the function static, and add a
+ prototype.
+
+ * src/editfns.c:
+ (labeled_restrictions): Renamed from 'narrowing_locks'.
+ (labeled_restrictions_add): Renamed from 'narrowing_locks_add'.
+ (labeled_restrictions_remove): Renamed from
+ 'narrowing_locks_remove'.
+ (labeled_restrictions_get_bound): Renamed from
+ 'narrowing_lock_get_bound'.
+ (labeled_restrictions_peek_label): Renamed from
+ 'narrowing_lock_peek_tag'.
+ (labeled_restrictions_push): Renamed from 'narrowing_lock_push'.
+ (labeled_restrictions_pop): Renamed from 'narrowing_lock_pop'.
+ (unwind_reset_outermost_restriction): Renamed from
+ 'unwind_reset_outermost_narrowing'.
+ (reset_outermost_restrictions): Renamed from
+ 'reset_outermost_narrowings'.
+ (labeled_restrictions_save): Renamed from 'narrowing_locks_save'.
+ (labeled_restrictions_restore): Renamed from
+ 'narrowing_locks_restore'.
+ (unwind_labeled_narrow_to_region): Renamed from
+ 'unwind_narrow_to_region_locked'.
+ (labeled_narrow_to_region): Renamed from
+ 'narrow_to_region_locked'.
+ (Finternal__label_restriction): Renamed from
+ 'Finternal__lock_narrowing'.
+ (Finternal__unlabel_restriction): Renamed from
+ 'Finternal__unlock_narrowing'.
+ (Fwiden): Use the new function names.
+ (Fnarrow_to_region): Use the new function names.
+ (save_restriction_save): Use the new function names.
+ (syms_of_editfns): Use the new function names.
+ <outermost-restriction>: Renamed from 'outermost-narrowing'.
+
+ * lisp/subr.el (internal--with-restriction): Use the new internal
+ function name.
+ (internal--without-restriction): Use the new internal function
+ name.
+
+ * src/composite.c (composition_compute_stop_pos):
+ (find_automatic_composition): Use the new function name.
+
+ * doc/lispref/positions.texi (Narrowing): Add index entry.
+
+2023-04-10 Eli Zaretskii <eliz@gnu.org>
* lisp/ldefs-boot.el: Regenerate.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-10 Eli Zaretskii <eliz@gnu.org>
Bump Emacs version to 29.0.90
@@ -11,7 +2340,7 @@
* nt/README.W32:
* msdos/sed2v2.inp: Bump version to 29.0.90.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-04-09 Dmitry Gutov <dgutov@yandex.ru>
Fix some cases of incomplete code's indentation [c/c++-ts-mode]
@@ -20,14 +2349,14 @@
to indent against (bug#62717).
(c-ts-base-mode): Set up advice for local treesit-indent-function.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-04-09 Dmitry Gutov <dgutov@yandex.ru>
project-search: Pipe the list of files through 'file-regular-p'
* lisp/progmodes/project.el (project-search): Pipe the list of
files through 'file-regular-p' to skip directories (bug#62735).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-09 Eli Zaretskii <eliz@gnu.org>
Update ChangeLog and AUTHORS for Emacs 29
@@ -39,7 +2368,7 @@
* Makefile.in (PREFERRED_BRANCH): Update to emacs-29.
(CHANGELOG_HISTORY_INDEX_MAX): Bump to 4.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-04-09 João Távora <joaotavora@gmail.com>
Backport: Eglot: no more tests based on Pylsp (bug#62694)
@@ -64,7 +2393,7 @@
(cherry picked from commit fc8230f3362b12955152f48565a6c670b4c4cc88)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-08 Eli Zaretskii <eliz@gnu.org>
Fix 'C-h k' for "Paste from Kill Menu" in context menus
@@ -72,7 +2401,7 @@
symbols, not just integers, to prevent "C-h c" from interpreting
them as character keys. (Bug#62626)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-08 Eli Zaretskii <eliz@gnu.org>
Improve the documentation of the XDS support
@@ -87,7 +2416,7 @@
(x-dnd-save-direct, x-dnd-save-direct-immediately): Rename the
second argument to FILENAME. Doc fix.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-08 Eli Zaretskii <eliz@gnu.org>
Allow reindentation of images inserted by 'mm-inline-image'
@@ -95,14 +2424,14 @@
to put the image 'display' property, so that indentation commands
don't destroy the image inadvertently. (Bug#62637)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-08 Eli Zaretskii <eliz@gnu.org>
Fix "C-h k" and "C-h c" with Paste from Kill Menu
* lisp/subr.el (event-basic-type, event-modifiers): Return nil if
EVENT is a string. (Bug#62626)
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-04-08 Daniel Martín <mardani29@yahoo.es>
Change cursor color on NS port when it matches the face background
@@ -114,7 +2443,7 @@
background of a glyph string, apply the logic mentioned
above. (Bug#62573)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-08 Eli Zaretskii <eliz@gnu.org>
Improve documentation of image-related commands
@@ -130,7 +2459,7 @@
* etc/NEWS: Rearrange entries relevant to image commands.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-08 Eli Zaretskii <eliz@gnu.org>
Fix handling of sliced images
@@ -145,14 +2474,14 @@
(image-crop): Don't try using stock MS-Widows convert.exe
program. Use 'image--get-image' to support sliced images.
-2023-04-15 garid3000 <garidzorigoo@gmail.com>
+2023-04-08 garid3000 <garidzorigoo@gmail.com>
Add cyrillic-mongolian input method
* lisp/leim/quail/cyrillic.el (cyrillic-mongolian): New input
method. (Bug#56617)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-04-07 João Távora <joaotavora@gmail.com>
Jsonrpc: don't bind inhibit-read-only to t so early
@@ -167,7 +2496,7 @@
* lisp/jsonrpc.el (jsonrpc--process-filter): Don't bind
inhibit-read-only so early.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-07 Eli Zaretskii <eliz@gnu.org>
Allow active region when IM is used
@@ -175,7 +2504,7 @@
deactivate-mark to allow setting active region in the minibuffer
when an input method is used. (Bug#62709)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-04-06 Robert Pluim <rpluim@gmail.com>
Add emoji-zoom-reset
@@ -184,7 +2513,7 @@
* lisp/international/mule-cmds.el (ctl-x-map): Add emoji-zoom-reset.
* etc/NEWS: Announce new command.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-04-06 Robert Pluim <rpluim@gmail.com>
Make emoji-zoom-{increase,decrease} set text properties correctly
@@ -193,7 +2522,7 @@
having two :height properties, which appeared to work by
accident, and don't error at eob. (Bug#62675)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-06 Eli Zaretskii <eliz@gnu.org>
Fix transforming sliced images
@@ -202,7 +2531,7 @@
(image-mouse-decrease-size, image-mouse-increase-size)
(image-decrease-size, image-increase-size): Doc fixes.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-04-04 Michael Albinus <michael.albinus@gmx.de>
Adapt EMBA scripts.
@@ -211,7 +2540,7 @@
* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep): Uncomment.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-04 Eli Zaretskii <eliz@gnu.org>
Another terminology fix in ELisp reference manual
@@ -219,32 +2548,32 @@
* doc/lispref/commands.texi (Motion Events, Event Examples):
'track-mouse' is a macro, not a special form.
-2023-04-15 Shynur <one.last.kiss@outlook.com> (tiny change)
+2023-04-04 Shynur <one.last.kiss@outlook.com> (tiny change)
Correct terminology in Elisp Reference Manual
* doc/lispref/functions.texi (Function Names): 'defun' is a macro, not
a special form. (Bug#62661)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-04-04 Michael Albinus <michael.albinus@gmx.de>
Comment out GNUSTEP jobs on EMBA (again)
* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep):
Comment out jobs due to bug#62210.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-04-03 Mattias Engdegård <mattiase@acm.org>
Fix regexp string escaping mistake in vhdl-mode.el (bug#62508)
* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Quote brackets
correctly.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-04-02 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.3-2-gf2949d
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-04-02 João Távora <joaotavora@gmail.com>
Eglot: don't watch directories that don't exist
@@ -257,7 +2586,7 @@
* lisp/progmodes/eglot.el (eglot-register-capability
workspace/didChangeWatchedFiles): Check if directories exist.
-2023-04-15 Eshel Yaron <me@eshelyaron.com>
+2023-04-02 Eshel Yaron <me@eshelyaron.com>
Preserve peer information for web page in eww-readable
@@ -268,11 +2597,11 @@
* lisp/net/eww.el (eww-readable): Preserve eww-data's :peer
property. (Bug#62574)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-02 Eli Zaretskii <eliz@gnu.org>
* lisp/subr.el (use-dialog-box-p): Fix conditions for GUI dialogs.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-01 Eli Zaretskii <eliz@gnu.org>
Fix ModelSim error regexp in vhdl-mode
@@ -280,7 +2609,7 @@
error regexp. Suggested by Reto Zimmermann <reto@gnu.org>.
(Bug#62508)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-01 Eli Zaretskii <eliz@gnu.org>
Document enhancements in handling of echo-area messages
@@ -291,7 +2620,7 @@
Improve the documentation of functions dealing with display of
echo-area messages.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-04-01 Eli Zaretskii <eliz@gnu.org>
Fix new Eshell tests on MS-Windows
@@ -299,7 +2628,7 @@
(eshell-test/eshell-command/background-pipeline): Allow for ".exe"
in the program's name. This fixes these tests on MS-Windows.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2023-03-31 Jim Porter <jporterbugs@gmail.com>
Fix using background commands in 'eshell-command'
@@ -315,13 +2644,13 @@
(eshell-test/eshell-command/background)
(eshell-test/eshell-command/background-pipeline): New tests.
-2023-04-15 Shynur <one.last.kiss@outlook.com> (tiny change)
+2023-03-31 Shynur <one.last.kiss@outlook.com> (tiny change)
Fix typo in section 14.1 of Emacs Manual
* doc/emacs/display.texi (Scrolling): Fix typo. (Bug#62569)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-30 João Távora <joaotavora@gmail.com>
Eglot: unbreak eglot-extend-to-xref on w32
@@ -339,14 +2668,14 @@
* lisp/progmodes/eglot.el (eglot--uri-to-path): Use
w32-long-file-name.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-30 João Távora <joaotavora@gmail.com>
Eglot: ensure server shutdown turns off eglot-inlay-hints-mode
* lisp/progmodes/eglot.el (eglot--managed-mode-off): Turn off
eglot-inlay-hints-mode.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-30 Yuan Fu <casouri@gmail.com>
Add two typescript-ts-mode faces (bug#62429)
@@ -356,7 +2685,7 @@
(typescript-ts-mode--font-lock-settings): Use new faces.
(tsx-ts-mode): Mention the new faces in the docstring.
-2023-04-15 Shynur <one.last.kiss@outlook.com> (tiny change)
+2023-03-30 Shynur <one.last.kiss@outlook.com> (tiny change)
Fix scrolling window when point moves up
@@ -366,7 +2695,7 @@
'scroll-step' and 'scroll-conservatively' when scrolling with
'previous-line'. (Bug#62530)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-30 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'defcustom's :set keyword
@@ -374,7 +2703,7 @@
* doc/lispref/customize.texi (Variable Definitions): Improve the
documentation of the :set keyword in 'defcustom'.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-29 Andrea Corallo <akrl@sdf.org>
Comp fix calls to redefined primtives with op-bytecode (bug#61917)
@@ -384,7 +2713,7 @@
* lisp/emacs-lisp/comp.el (comp--func-arity): New function.
(comp-emit-set-call-subr): Make use of `comp--func-arity'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-29 Eli Zaretskii <eliz@gnu.org>
Fix duplicate defcustom in eww.el
@@ -392,18 +2721,18 @@
from 'eww-download-directory'; all users changed. Doc fix.
(Bug#62531)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-29 Eli Zaretskii <eliz@gnu.org>
Fix indentation regression in 'C-h l'
* lisp/help.el (view-lossage): Fix indentation of commands
when the key sequence includes a semicolon. (Bug#62453)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-29 Michael Albinus <michael.albinus@gmx.de>
* doc/misc/tramp.texi (Remote shell setup): Clarify use of ssh RemoteCommand.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-28 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'read-choice' and related symbols
@@ -412,7 +2741,7 @@
(read-char-choice-with-read-key, y-or-n-p-use-read-key): Improve
documentation of these functions and variables.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-28 Andrea Corallo <akrl@sdf.org>
Revert "Comp fix calls to redefined primtives with op-bytecode (bug#61917)"
@@ -421,7 +2750,7 @@
These patch series caused a number of regression and more analysis is
required.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-28 Andrea Corallo <akrl@sdf.org>
Revert "* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Improve..."
@@ -430,25 +2759,25 @@
These patch series caused a number of regression and more analysis is
required.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-28 Michael Albinus <michael.albinus@gmx.de>
Skip ruby-ts-imenu-index test if needed
* test/lisp/progmodes/ruby-ts-mode-tests.el (ruby-ts-imenu-index):
Add check for treesitter.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-28 Michael Albinus <michael.albinus@gmx.de>
Fix Eglot Tramp tests on EMBA
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-tramp-test):
Bind `tramp-allow-unsafe-temporary-files' with t. (Bug#62289)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-28 Michael Albinus <michael.albinus@gmx.de>
* test/infra/Dockerfile.emba (emacs-gnustep): Instrument "make V=1 ...".
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-27 João Távora <joaotavora@gmail.com>
Fix accidental backward-incompatible change (bug#62417)
@@ -464,7 +2793,7 @@
* lisp/window.el (display-buffer-alist): Adjust docstring.
(display-buffer-assq-regexp): Make good on promise of display-buffer-alist.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-26 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix/simplify Imenu index generation
@@ -481,22 +2810,22 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el (ruby-ts-imenu-index):
New test.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-26 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--align-chain): Use 'equal' to check for an exact match
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain): Use
'equal' to check for an exact match rather than substring.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-03-26 Jonas Bernoulli <jonas@bernoul.li>
Update to Transient v0.3.7-218-g3dbb22a
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-03-26 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.2
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2023-03-26 Ken Brown <kbrown@cornell.edu>
Skip failing tests on Cygwin with native compilation (bug#62450)
@@ -507,7 +2836,7 @@
* test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests): Skip
on Cygwin with native-compilation.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-26 Michael Albinus <michael.albinus@gmx.de>
Fix GNUSTEP tests on EMBA
@@ -517,40 +2846,40 @@
* test/infra/gitlab-ci.yml (build-image-gnustep)
(test-gnustep): Uncomment jobs.
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2023-03-26 Phil Sainty <psainty@orcon.net.nz>
Fix primary selection modification during `term-mouse-paste' (bug#58608)
* lisp/term.el (term-mouse-paste): Prevent the primary selection from
being changed in the process of sending it to the inferior process.
-2023-04-15 Xi Lu <lx@shellcodes.org>
+2023-03-26 Xi Lu <lx@shellcodes.org>
Add 'eww-default-download-directory'.
* lisp/net/eww.el (eww-default-download-directory): New defcustom.
(eww--download-directory): Use it. (Bug#62435)
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2023-03-26 Phil Sainty <psainty@orcon.net.nz>
* doc/lispref/modes.texi: Improve docs for obsolete '%m' construct
Bug #57080.
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2023-03-26 Phil Sainty <psainty@orcon.net.nz>
Improve docs for global-mode-string / %M construct
* src/xdisp.c (global-mode-string): Update docstring.
* doc/lispref/modes.texi: Update manual.
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2023-03-26 Phil Sainty <psainty@orcon.net.nz>
* src/buffer.c (mode-line-format): Document %o and %q constructs
Missed from commit b0b02ca7f3e06d0f092df6f81babd1277bf93b0f.
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2023-03-26 Phil Sainty <psainty@orcon.net.nz>
* src/buffer.c (mode-line-format): Remove docs for obsolete %t construct
@@ -567,7 +2896,7 @@
[3] commit 05c652517317d10690aaf0a6aa0bc876382b9d82
[4] commit 8549f9e89bd9288c4c709d183a5bf8f07dbeed3d
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-03-25 kobarity <kobarity@gmail.com>
Improve indenting "case" in Python
@@ -577,11 +2906,11 @@
(python-info-dedenter-opening-block-positions-7)
(python-info-dedenter-statement-p-6): New tests. (Bug#62092)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-25 Michael Albinus <michael.albinus@gmx.de>
* test/infra/Dockerfile.emba (emacs-native-comp): Add zlib1g-dev.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2023-03-25 Ken Brown <kbrown@cornell.edu>
Fix failure of fns-tests-collate-strings on Cygwin
@@ -591,7 +2920,7 @@
Note: The test will still fail on Cygwin releases < 3.5
because of a Cygwin bug. (Bug#62420)
-2023-04-15 Aaron L. Zeng <azeng@janestreet.com> (tiny change)
+2023-03-25 Aaron L. Zeng <azeng@janestreet.com> (tiny change)
* lisp/savehist.el (savehist-save): Preserve shared structure
@@ -602,7 +2931,7 @@
* lisp/savehist.el (savehist-save): Enable 'print-circle'.
(Bug#62364)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-24 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp manual
@@ -610,7 +2939,7 @@
be used.
(Ssh setup): Extend for MS Windows and ssh.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-24 Eli Zaretskii <eliz@gnu.org>
Fix system time sampling on MS-Windows
@@ -618,7 +2947,7 @@
call tzset to make sure we pick up all the changes of time zone,
working around the MS CRT caching.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-24 Yuan Fu <casouri@gmail.com>
Fix treesit_ensure_parsed (bug#62333)
@@ -626,13 +2955,13 @@
treesit_sync_visible_region runs, because as the comment says,
treesit_sync_visible_region might modify need_reparse.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-03-23 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/help-fns.el (find-lisp-object-file-name): Fix bug#62376 part2
Nowadays `loaddefs.el` are byte-compiled, so adjust pattern accordingly
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-23 Eli Zaretskii <eliz@gnu.org>
Improve "Bugs" in the Emacs manual
@@ -641,7 +2970,7 @@
(Contributing, Coding Standards): Improve wording, structure,
markup, and indexing. (Bug#62320)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-23 João Távora <joaotavora@gmail.com>
Fix Eglot progress reporting
@@ -650,14 +2979,14 @@
* lisp/progmodes/eglot.el (eglot-handle-notification $/progress): Rework.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-03-23 Stefan Monnier <monnier@iro.umontreal.ca>
Fix :predicate handling in globalized minor modes
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Fix a thinko. (Bug#62376)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-23 Eli Zaretskii <eliz@gnu.org>
Allow showing prefix commands in Help buffers
@@ -668,7 +2997,7 @@
* etc/NEWS: Document 'describe-bindings-show-prefix-commands'.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-03-23 Daniel Martín <mardani29@yahoo.es>
Fix toolbar item validation in the NS port
@@ -678,7 +3007,7 @@
particular, the problem with having the "Save" icon on the tool
bar enabled at Emacs startup. (Bug#62234)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-22 Michael Albinus <michael.albinus@gmx.de>
Use libgccjit-10-dev on EMBA
@@ -688,7 +3017,7 @@
* test/infra/gitlab-ci.yml (build-native-comp-speed2)
(test-native-comp-speed2): Uncomment jobs.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-03-22 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline--fix-buttons-after-change): Add save-match-data.
@@ -696,13 +3025,13 @@
Otherwise it breaks functions that make changes in the buffer, such as
for example, successive calls to delete-region in smerge-keep-n, etc.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-22 Yuan Fu <casouri@gmail.com>
Align concatenated strings to the first sibling in c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Change rule.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-22 Yuan Fu <casouri@gmail.com>
Only fill the current paragraph in c-ts-common--fill-block-comment
@@ -710,14 +3039,14 @@
(c-ts-common--fill-block-comment): Shrink the filled region to the
paragraph at point.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-21 Yuan Fu <casouri@gmail.com>
Add missing indent rule for c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New rule for case.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-21 Yuan Fu <casouri@gmail.com>
Improve docstring of treesit-parent-while (bug#62301)
@@ -725,7 +3054,7 @@
docstring for treesit-parent-until and treesit-parent-while.
* lisp/treesit.el (treesit-parent-while): Improve docstring.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-21 João Távora <joaotavora@gmail.com>
Eglot: report window/workDoneProgress capability to language server
@@ -736,21 +3065,21 @@
* lisp/progmodes/eglot.el (eglot-client-capabilities): Actually
report workDoneProgress.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-21 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Improve 263d6c38539
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-21 Robert Pluim <rpluim@gmail.com>
Expand defvar-keymap documentation
* doc/lispref/keymaps.texi (Creating Keymaps): Describe the :repeat keyword.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-20 Dmitry Gutov <dgutov@yandex.ru>
* lisp/treesit.el (treesit-end-of-defun): Guard arg against nil (bug#62158).
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-20 Andrea Corallo <akrl@sdf.org>
Comp fix calls to redefined primtives with op-bytecode (bug#61917)
@@ -758,28 +3087,28 @@
of calls to redefined primtives with dedicated op-bytecode.
* test/src/comp-tests.el (61917-1): New test.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-20 Robert Pluim <rpluim@gmail.com>
Warn package authors away from keymap-unset with REMOVE
* doc/lispref/keymaps.texi (Changing Key Bindings): Ask package
authors to not use the REMOVE argument to `keymap-unset'.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-20 Michael Albinus <michael.albinus@gmx.de>
Comment out jobs on EMBA
* test/infra/gitlab-ci.yml: Comment out jobs due to bug#62210 and
bug#62211.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-20 Robert Pluim <rpluim@gmail.com>
Improve defvar-keymap docstring.
* lisp/keymap.el (defvar-keymap): Improve description of ':enter' and
':exit' usage for ':repeat' keyword.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-03-19 Gregory Heytings <gregory@heytings.org>
Improve warning about changing the string returned by symbol-name
@@ -787,24 +3116,24 @@
* doc/lispref/symbols.texi (Creating Symbols): Improve warning.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-19 Eli Zaretskii <eliz@gnu.org>
Fix visiting XBM/XPM files when 'c-ts-mode' is active
* lisp/progmodes/c-ts-mode.el (treesit-ready-p): Fix association
for XBM/XPM files in 'auto-mode-alist'. (Bug#62276)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/mpc.el (mpc-format): Fix oversight in commit 48b6cec61cf
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-19 João Távora <joaotavora@gmail.com>
Bail early from eglot--apply-text-edits if nothing to do
* lisp/progmodes/eglot.el (eglot--apply-text-edits): Early return.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-19 João Távora <joaotavora@gmail.com>
Improve ergonomics of Eglot's inlay hints
@@ -821,7 +3150,7 @@
here.
(eglot--update-hints-1): Rework.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-19 Eli Zaretskii <eliz@gnu.org>
Protect against too large size of 'recent-keys' vector
@@ -829,15 +3158,15 @@
(Flossage_size): Don't allow specifying too large lossage-size.
Fix data types. (Bug#62277)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-19 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-03-18 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1-48-g92471e
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-18 João Távora <joaotavora@gmail.com>
Merge confusing duplicate sections on commands in Eglot manual
@@ -846,7 +3175,7 @@
* doc/misc/eglot.texi (Eglot Features): Don't describe commands here.
(Eglot Commands): Describe commands here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-18 João Távora <joaotavora@gmail.com>
Don't take over mouse-1 binding on Eglot diagnostics (bug#62157)
@@ -858,11 +3187,11 @@
(eglot-diagnostics-map): New variable.
(eglot-code-actions-at-mouse): New command.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-18 Michael Albinus <michael.albinus@gmx.de>
* lisp/progmodes/eglot.el (eglot--connect): Improve Tramp workaround.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-03-18 Gregory Heytings <gregory@heytings.org>
Avoid slowdowns in xmltok-scan-attributes
@@ -870,7 +3199,7 @@
to 10000 characters, to avoid slowdowns due to the quadratic
complexity of the regexp. Suggested by Stefan Monnier.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-03-18 Alan Mackenzie <acm@muc.de>
CC Mode: Eliminate duplicate function c-list-of-strings
@@ -885,7 +3214,7 @@
(idl-font-lock-extra-types, pike-font-lock-extra-types): In the autoload
cookies, replace c-list-of-strings with c-string-list-p.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-03-18 Alan Mackenzie <acm@muc.de>
CC Mode: Allow lists of strings as safe values for *-font-lock-extra-types
@@ -896,14 +3225,14 @@
into each of thes defcustoms for c-list-of-string.
(Top level): Add an autoload entry for each of the above.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-18 Robert Pluim <rpluim@gmail.com>
Add tests for Bug#62207
* test/src/keymap-tests.el (keymap-unset-test-remove-and-inheritance):
New test.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-03-18 Manuel Giraud <manuel@ledu-giraud.fr>
Fix 'find-ls-option-default-ls' for BSD/MacOS (bug#62096)
@@ -912,13 +3241,13 @@
Darwin/MacOS. Tested on OpenBSD and MacOS. Do not merge
to master.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-17 João Távora <joaotavora@gmail.com>
Enhance section about troubleshooting in Eglot manual.
* doc/misc/eglot.texi (Troubleshooting Eglot): Parially rewrite.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-17 João Távora <joaotavora@gmail.com>
Fix Eglot's snippet insertion to follow the manual
@@ -934,7 +3263,7 @@
(eglot--snippet-expansion-fn): Turn on yas-minor-mod eon demand.
(eglot-completion-at-point): Simplify.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2023-03-17 Filipp Gunbin <fgunbin@fastmail.fm>
Reset abbrevs-changed after saving abbrevs (bug#62208)
@@ -942,21 +3271,21 @@
saving abbrevs.
* test/lisp/abbrev-tests.el (abbrev--possibly-save-test): New test.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-17 Robert Pluim <rpluim@gmail.com>
Document `keymap-unset' in lispref
* doc/lispref/keymaps.texi (Changing Key Bindings): Document
keymap-unset.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-17 Robert Pluim <rpluim@gmail.com>
Don't add a key binding when REMOVE is non-nil
* src/keymap.c (store_in_keymap): Don't add a nil keybinding if we've
been asked to remove a non-existent binding. (Bug#62207)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-17 Eli Zaretskii <eliz@gnu.org>
Fix the documentation of various aspects of adding Xref history
@@ -974,7 +3303,7 @@
Explain the difference between 'C-M-,' and 'M-.'. Improve
wording (Bug#62229)
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-03-16 kobarity <kobarity@gmail.com>
Fix python-fill-paragraph problems on filling strings (bug#62142)
@@ -992,7 +3321,7 @@
(python-info-triple-quoted-string-p-2)
(python-info-triple-quoted-string-p-3): New tests.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-16 João Távora <joaotavora@gmail.com>
Also exempt eglot-inlay-hints-mode from desktop.el's fumblings
@@ -1001,14 +3330,14 @@
* lisp/progmodes/eglot.el (desktop): Also exempt
eglot-inlay-hints-mode from desktop.el fumblings.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-03-16 Stefan Kangas <stefankangas@gmail.com>
Refer to EWW instead of w3 and w3m
* doc/misc/idlwave.texi (Help with HTML Documentation): Refer to EWW
instead of w3 and w3m.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-16 João Távora <joaotavora@gmail.com>
Fix Eglot's command generation for code actions
@@ -1020,7 +3349,7 @@
* lisp/progmodes/eglot.el (eglot--code-action): Pass INTERACTIVE=t to
eglot-code-action call.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-16 João Távora <joaotavora@gmail.com>
Emphasize emacs-29-specificity in this version of lisp/progmodes/eglot.el
@@ -1036,7 +3365,7 @@
(Package-Requires): Remove. Everything required is already in Emacs
29.
-2023-04-15 USAMI Kenta <tadsan@zonu.me>
+2023-03-16 USAMI Kenta <tadsan@zonu.me>
Fix quoting of font-family in 'hfy-family'
@@ -1071,7 +3400,7 @@
* lisp/htmlfontify.el (hfy-family): Quote 'font-family'. (Bug#62054)
-2023-04-15 Michael Eliachevitch <m.eliachevitch@posteo.de> (tiny change)
+2023-03-15 Michael Eliachevitch <m.eliachevitch@posteo.de> (tiny change)
Document how to construct JSONRPC arrays in Eglot manual
@@ -1083,19 +3412,19 @@
(User-specific configuration): Tweaks.
(JSONRPC objects in Elisp): Mention JSON arrays. Tweak example.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-15 Michael Albinus <michael.albinus@gmx.de>
* test/infra/Dockerfile.emba: Use debian:bullseye.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-15 Andrea Corallo <akrl@sdf.org>
* configure.ac: Fix native comp compatibility check (bug#61960)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-15 Michael Albinus <michael.albinus@gmx.de>
* test/infra/Dockerfile.emba: Install clangd.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-03-15 Philip Kaludercic <philipk@posteo.net>
Remove 'package-vc--query-spec'
@@ -1104,7 +3433,7 @@
(package-vc--query-spec): Remove function.
(package-vc--clone): Do not call 'package-vc--query-spec'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-03-15 Philip Kaludercic <philipk@posteo.net>
Do not store :lisp-dir in package descriptors
@@ -1118,7 +3447,7 @@
either provided by a package archive or stored in
'package-vc-selected-packages'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-03-15 Philip Kaludercic <philipk@posteo.net>
Use 'package-vc-selected-packages' to store package specs
@@ -1131,25 +3460,25 @@
(package-vc--unpack): Add unknown package specifications to
'package-vc-selected-packages'
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-03-13 Juri Linkov <juri@linkov.net>
* lisp/progmodes/xref.el: Bump the version.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-03-13 Juri Linkov <juri@linkov.net>
* lisp/progmodes/xref.el (xref--xref-buffer-mode): Split up 'setq-local'.
xref.el needs to support 26.1, but an arbitrary number of variables
in 'setq-local' was added in Emacs 27.1 (bug#62162).
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2023-03-13 Filipp Gunbin <fgunbin@fastmail.fm>
Fix import of keys in buffer created by epa-search-keys
* lisp/epa-ks.el (epa-ks--query-url): Add operation parameter.
(epa-ks--fetch-key, epa-search-keys): Use it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-13 Michael Albinus <michael.albinus@gmx.de>
Fix connection-local variables settings
@@ -1169,7 +3498,7 @@
* test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables)
(tramp-test34-explicit-shell-file-name): Fix tests.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-13 João Távora <joaotavora@gmail.com>
Bump Eglot version to 1.12
@@ -1179,7 +3508,7 @@
* lisp/progmodes/eglot.el: Bump versions.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-13 João Távora <joaotavora@gmail.com>
Update Eglot's manual about eglot-workspace-configuration
@@ -1195,7 +3524,7 @@
(User-specific configuration): Mention possibility of globally
setting eglot-workspace-configuration.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-12 João Távora <joaotavora@gmail.com>
Amend last Eglot commit (bug#62065)
@@ -1204,7 +3533,7 @@
* lisp/progmodes/eglot.el (eglot-ensure): Don't check this-command.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-12 João Távora <joaotavora@gmail.com>
Make eglot-ensure's post-command-hook run a bit later (bug#62065)
@@ -1238,7 +3567,7 @@
* lisp/progmodes/eglot.el (eglot-ensure): Use buffer-local post-command-hook.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-12 Eli Zaretskii <eliz@gnu.org>
Fix display of disabled-command help text
@@ -1248,14 +3577,14 @@
window to the size of the help text), and the help text is fully
visible when Emacs prompts for input. (Bug#62146)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-03-12 Mattias Engdegård <mattiase@acm.org>
Remove mention of old dotted-list reader quirk from manual
* doc/lispref/objects.texi (Dotted Pair Notation):
The (. X) reader peculiarity is no more (bug#62020).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-12 Eli Zaretskii <eliz@gnu.org>
Fix value history shown for 'gc-cons-percentage'
@@ -1268,7 +3597,7 @@
* src/emacs.c (main): Increase 'gc-cons-percentage' in batch mode
only if we are not initializing (a.k.a. "dumping") Emacs.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-12 Michael Albinus <michael.albinus@gmx.de>
TRework fix for bug#62106
@@ -1278,14 +3607,14 @@
unsaved user options, and it is less invasive than
`customize-save-variable'.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-03-11 Randy Taylor <dev@rjt.dev>
Add missing indentation rule for rust-ts-mode (Bug#62109)
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--indent-rules): Add
missing rule.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-11 Michael Albinus <michael.albinus@gmx.de>
Fix bug#62106
@@ -1294,14 +3623,14 @@
Use `customize-save-variable' instead of `customize-set-variable'.
(Bug#62106)
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-03-11 Randy Taylor <dev@rjt.dev>
Add missing rust-ts-mode highlight query for scoped_type_identifiers
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
Add missing query.
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-03-11 kobarity <kobarity@gmail.com>
Make "case" keyword a dedenter in Python
@@ -1310,7 +3639,7 @@
* test/lisp/progmodes/python-tests.el (python-indent-dedenters-9):
New test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-11 Eli Zaretskii <eliz@gnu.org>
Fix decoding non-ASCII file names in zip archives on MS-Windows
@@ -1318,14 +3647,14 @@
override archive-file-name-coding-system for files compressed
on MS-Windows, and use the local console encoding instead.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-11 Eli Zaretskii <eliz@gnu.org>
Fix copying binary files from zip archives
* lisp/arc-mode.el (archive-copy-file): Prevent any coding
conversions when writing output files. (Bug#62091)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-03-10 Robert Pluim <rpluim@gmail.com>
Skip ruby-ts-syntax-propertize-symbol unless treesitter is available
@@ -1333,14 +3662,14 @@
test/lisp/progmodes/ruby-ts-mode-tests.el (ruby-ts-syntax-propertize-symbol):
Add check for treesitter.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-03-10 Randy Taylor <dev@rjt.dev>
Fix enums and unions appearing as structs in c-ts-base-mode's imenu
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Separate enums and unions out
from structs.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-09 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086)
@@ -1353,7 +3682,7 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el
(ruby-ts-syntax-propertize-symbol): New test.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-09 Dmitry Gutov <dgutov@yandex.ru>
python-info-dedenter-opening-block-positions: Fix to support "bare" match
@@ -1364,7 +3693,7 @@
* test/lisp/progmodes/python-tests.el
(python-indent-after-bare-match): Another test (bug#62031).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-09 João Távora <joaotavora@gmail.com>
Autoload Eglot helper funtion eglot--debbugs-or-github-bug-uri
@@ -1375,7 +3704,7 @@
* lisp/progmodes/eglot.el (eglot--debbugs-or-github-bug-uri):
autoload, but in progn.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-09 João Távora <joaotavora@gmail.com>
Add chapter on advanced server configuration to Eglot manual
@@ -1383,7 +3712,7 @@
(Setting Up LSP Servers): Rework.
(Advanced server configuration): New chapter.
-2023-04-15 Vincenzo Pupillo <v.pupillo@gmail.com> (tiny change)
+2023-03-09 Vincenzo Pupillo <v.pupillo@gmail.com> (tiny change)
java-ts-mode: detect if text_block is supported.
@@ -1397,7 +3726,7 @@
return the right query string
(java-ts-mode--font-lock-settings): Use it
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-03-09 kobarity <kobarity@gmail.com>
Revert workaround introduced in Bug#56271
@@ -1405,7 +3734,7 @@
(python-nav-end-of-block): Revert workaround introduced in Bug#56271
as the bug is fixedin Bug#58780.
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-03-09 kobarity <kobarity@gmail.com>
Fix searching for end of string in python-nav-end-of-statement
@@ -1415,14 +3744,14 @@
(python-nav-end-of-statement-4, python-info-current-defun-4): New
tests. (Bug#58780)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2023-03-08 Po Lu <luangruo@yahoo.com>
Fix libwebp check for some webp installations
* configure.ac: Look for WebPGetInfo; if it is not there, look
for libwebpdecoder as well. (bug#61988)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-08 Dmitry Gutov <dgutov@yandex.ru>
Avoid potential infloop
@@ -1430,7 +3759,7 @@
(python-info-dedenter-opening-block-positions):
Avoid potential infloop (bug#62031).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-08 Dmitry Gutov <dgutov@yandex.ru>
Lele Gaifax <lele@metapensiero.it>
Don't misindent 'else:' after 'if re.match:' in Python
@@ -1442,28 +3771,28 @@
* test/lisp/progmodes/python-tests.el (python-indent-after-re-match):
New test.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-08 Andrea Corallo <akrl@sdf.org>
* Make sure `default-directory' exists before spawning processes (bug#62004)
* lisp/emacs-lisp/comp.el (comp-final, comp-run-async-workers): Bind
`default-directory' to `invocation-directory'.
-2023-04-15 Ulrich Müller <ulm@gentoo.org>
+2023-03-08 Ulrich Müller <ulm@gentoo.org>
Fix sed expression in install-etc make target
* Makefile.in (install-etc): Fix sed expression for emacsclient
desktop files. (Bug#62045)
-2023-04-15 Ulrich Müller <ulm@gentoo.org>
+2023-03-08 Ulrich Müller <ulm@gentoo.org>
Avoid using bash in the emacsclient desktop file
* etc/emacsclient-mail.desktop (Exec): Use sh and sed instead
of bash, because the latter may not be available everywhere.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-08 Eli Zaretskii <eliz@gnu.org>
Fix documentation of the 'line-height' text property
@@ -1471,14 +3800,14 @@
documentation of the value t of 'line-height' text property.
(Bug#62048)
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-03-08 Gregory Heytings <gregory@heytings.org>
Add 'declare' specs to with- and without-restriction
* lisp/subr.el (with-restriction):
(without-restriction): Add 'declare' specs.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-07 Yuan Fu <casouri@gmail.com>
Fix empty line indentation in c-ts-mode (bug#61997)
@@ -1490,13 +3819,13 @@
* lisp/treesit.el (treesit-simple-indent-presets): Support null as
a value for NODE-TYPE in the 'match' matcher.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-07 Yuan Fu <casouri@gmail.com>
Fix tree-sitter indent preset prev-line (bug#61998)
* lisp/treesit.el (treesit-simple-indent-presets): Fix return value.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-03-07 Manuel Giraud <manuel@ledu-giraud.fr>
Revert 'forward-sentence-default-function' to return point (bug#62027)
@@ -1505,7 +3834,7 @@
position of point.
(count-sentences): Adapt to this change.
-2023-04-15 Ulrich Müller <ulm@gentoo.org>
+2023-03-07 Ulrich Müller <ulm@gentoo.org>
Fix Elisp code injection vulnerability in emacsclient-mail.desktop
@@ -1524,7 +3853,7 @@
* etc/emacsclient-mail.desktop (Exec): Escape backslash and
double-quote characters.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-07 Eli Zaretskii <eliz@gnu.org>
Fix problem with debuginfod queries in "M-x gdb"
@@ -1537,7 +3866,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-06 João Távora <joaotavora@gmail.com>
Fix regression in Fido mode (bug#62015)
@@ -1591,18 +3920,18 @@
* lisp/icomplete.el (icomplete--fido-ccd): New helper.
(icomplete--fido-mode-setup): Use it.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-06 Andrea Corallo <akrl@sdf.org>
* Fix `emacs-lisp-native-compile-and-load' for (bug#61917)
* lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load):
Don't load if no compialtion happened.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-06 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (comp-prettyformat-insn): Fix (bug#61917)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-06 Eli Zaretskii <eliz@gnu.org>
Revert "Fix configuration of webp libraries"
@@ -1612,14 +3941,14 @@
installed, since we don't use the functions from it, at least
not in libwebp 1.2.1.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2023-03-06 Po Lu <luangruo@yahoo.com>
Fix configuration of webp libraries
* configure.ac: Link with libwebpdecoder along with
libwebpdemux. (bug#61988)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-05 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation
@@ -1630,7 +3959,7 @@
* test/lisp/progmodes/c-ts-mode-resources/indent-preproc.erts: Add an
"#elif" to the test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-05 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation
@@ -1642,7 +3971,7 @@
* test/lisp/progmodes/c-ts-mode-resources/indent-preproc.erts:
New test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-05 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation
@@ -1652,11 +3981,11 @@
the sibling if it doesn't start on it's own line.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-03-05 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1-40-g3d817c
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-05 Yuan Fu <casouri@gmail.com>
Add string-interpolation feature to bash-ts-mode
@@ -1664,14 +3993,14 @@
(bash-ts-mode): Add string-interpolation feature.
(sh-mode--treesit-settings): Add rule for string-interpolation feature.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-03-05 Michael Albinus <michael.albinus@gmx.de>
Fix tramp-sh-handle-insert-directory
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Remove also
//DIRED-OPTIONS// line when there is no //DIRED// line.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-03-05 Andrea Corallo <akrl@sdf.org>
* Warn when certain primitives are redefined (bug#61880)
@@ -1679,7 +4008,7 @@
(comp-subr-trampoline-install): Warn when a sensitive primitive is
being redefined.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-04 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode preproc directive indentation
@@ -1696,7 +4025,7 @@
(c-ts-mode--indent-styles): New rules.
* test/lisp/progmodes/c-ts-mode-resources/indent-preproc.erts: New test.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-04 João Távora <joaotavora@gmail.com>
More robustly unspoof HOME in Eglot tests (bug#61637)
@@ -1718,7 +4047,7 @@
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
More robustly unspoof HOME.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-04 João Távora <joaotavora@gmail.com>
Turn on Eglot inlay hints by default
@@ -1732,7 +4061,7 @@
(eglot-inlay-hints-mode): Instead of warning about missing
:inlayHintProvider, turn off eglot-inlay-hints-mode.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-03-04 Dmitry Gutov <dgutov@yandex.ru>
Update ts modes missed in 4c16fd3a512 to use column-0
@@ -1740,7 +4069,7 @@
* lisp/progmodes/go-ts-mode.el (go-ts-mode--indent-rules):
Change point-min anchor to column-0.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-04 João Távora <joaotavora@gmail.com>
Robustify Eglot for "transient" projects
@@ -1765,7 +4094,7 @@
* lisp/progmodes/eglot.el (eglot--current-project): Use
expand-file-name.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-04 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'normal-mode' in buffers that don't visit files
@@ -1775,7 +4104,7 @@
'normal-mode' in buffers not visiting files. (Bug#61925)
* lisp/files.el (hack-local-variables): Doc fix.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-04 Yuan Fu <casouri@gmail.com>
Change tree-sitter indent anchor 'point-min' to 'column-0'
@@ -1791,14 +4120,14 @@
* lisp/treesit.el (treesit-simple-indent-presets): Change point-min to
column-0.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-04 Yuan Fu <casouri@gmail.com>
Fix go-ts-mode multi-line string indentation (bug#61923)
* lisp/progmodes/go-ts-mode.el:
(go-ts-mode--indent-rules): Add indent rule for multi-line sting.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-03 João Távora <joaotavora@gmail.com>
Remove Eglot activation check from find-file-hook
@@ -1813,7 +4142,7 @@
* lisp/progmodes/eglot.el (find-file-hook): No need to add
eglot--maybe-activate-editing-mode here.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-03-03 Stefan Monnier <monnier@iro.umontreal.ca>
* src/intervals.c (set_intervals_multibyte_1): Fix bug#61887
@@ -1821,7 +4150,7 @@
`delete_interval` only deletes one interval, so make sure we don't end
up with some stale child of `i`.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-03 João Távora <joaotavora@gmail.com>
Revert inadvertent change to lisp/icomplete.el in previous commit
@@ -1839,7 +4168,7 @@
* lisp/icomplete.el (icomplete--vertical-minibuffer-setup): Remove
truncate-lines.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-03 Yuan Fu <casouri@gmail.com>
Revert previous change in go-ts-mode.el
@@ -1850,7 +4179,7 @@
* lisp/progmodes/go-ts-mode.el (treesit-ready-p): Revert change.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-03-03 F. Jason Park <jp@neverwas.me>
Release ERC 5.5
@@ -1861,7 +4190,7 @@
Emacs 29.1.
(erc-version): Update value to 5.5.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2023-03-03 Jim Porter <jporterbugs@gmail.com>
Don't create GUI frames in batch sessions
@@ -1876,21 +4205,21 @@
* lisp/frame.el (make-frame): Always create a terminal frame in batch
sessions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-03 Eli Zaretskii <eliz@gnu.org>
Minor copyedits of documentation of OClosures
* doc/lispref/functions.texi (OClosures): Improve wording,
indexing, and markup; add details.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-03 João Távora <joaotavora@gmail.com>
Eglot: pay better attention to hints' paddingLeft/Right (bug#61924)
* lisp/progmodes/eglot.el (eglot--update-hints-1): Consider
:json-false, which is a non-nil value.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-02 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation for statement after preproc (bug#61893)
@@ -1908,7 +4237,7 @@
(c-ts-mode--anchor-prev-sibling): Add special case for preproc
directives.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-02 Eli Zaretskii <eliz@gnu.org>
Fix c/c++-ts-mode's mode lighter
@@ -1916,20 +4245,20 @@
trailing blank from comment-start when indicating the comment
style on the mode line.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-02 João Távora <joaotavora@gmail.com>
Eglot: use shell-file-name in eglot--cmd (bug#61748)
* lisp/progmodes/eglot.el (eglot--cmd): Use shell-file-name.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-02 Eli Zaretskii <eliz@gnu.org>
Avoid signaling errors in url-basic-auth when password is nil
* lisp/url/url-auth.el (url-basic-auth): Handle nil PASS.
Suggested by Ellis Kenyo <me@elken.dev>. (Bug#61411)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-02 Eli Zaretskii <eliz@gnu.org>
Fix wdired-tests on MS-Windows
@@ -1941,7 +4270,7 @@
(wdired-test-bug34915, wdired-test-bug61510): Skip if symlinks
fail.
-2023-04-15 Andrew De Angelis <bobodeangelis@gmail.com>
+2023-03-02 Andrew De Angelis <bobodeangelis@gmail.com>
Improvements to xwidget on macOS (bug#60703)
@@ -1970,13 +4299,13 @@
* lisp/xwidget.el (xwidget-webkit-current-url): Message URL rather
than return value of 'kill-new' (which is always nil).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-01 Yuan Fu <casouri@gmail.com>
* lisp/progmodes/go-ts-mode.el: Use treesit-language-available-p.
treesit-ready-p does more checks than language grammar availability.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-01 Yuan Fu <casouri@gmail.com>
Don’t signal warning when loading go-ts-mode.el without grammar
@@ -1984,7 +4313,7 @@
treesit-ready-p, so that it doesn't signal a warning if
go-mod (tree-sitter grammar) is not available.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-01 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode empty line indentation (bug#61893)
@@ -1993,7 +4322,7 @@
indenting an empty line.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-01 Yuan Fu <casouri@gmail.com>
Improve tree-sitter's prev-sibling indent anchor
@@ -2004,14 +4333,14 @@
* lisp/treesit.el (treesit-simple-indent-presets): Add an or form to
handle more cases.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-01 João Távora <joaotavora@gmail.com>
* lisp/icomplete.el (fido-mode): Enable in-buffer completion (bug#45763).
Backport:
(cherry picked from commit b5c13032538377b0037c745715613693a1580f81)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-03-01 Juri Linkov <juri@linkov.net>
* lisp/icomplete.el: Fix in-buffer completion.
@@ -2023,11 +4352,11 @@
Backport:
(cherry picked from commit a7a984c0ebebb891e2052d8416544f0bd7002007)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
* src/profiler.c (malloc_probe): Make it safe for GC (bug#60237)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Fix bug#61847
@@ -2036,7 +4365,7 @@
Also check for `cl-defmethod` since `cl-prin1` can't be loaded before
that anyway.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-03-01 Eli Zaretskii <eliz@gnu.org>
Revert "Don't disable eldoc when doing edebug"
@@ -2046,7 +4375,7 @@
to show. Bug#56459 needs to be fixed in some more complex
way.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-03-01 João Távora <joaotavora@gmail.com>
Eglot: work around Tramp instability bug#61350
@@ -2057,7 +4386,7 @@
(use-tramp-ssh-controlmaster-options): Forward declare
(eglot--connect): Set variables to unconditionally disable ControlMaster.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-03-01 Yuan Fu <casouri@gmail.com>
Fix treesit-indent-region
@@ -2068,7 +4397,7 @@
* lisp/treesit.el (treesit-indent-region): Handle the case where
ANCHOR or OFFSET is nil specially.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2023-03-01 Po Lu <luangruo@yahoo.com>
Replace C++ comments with C style equivalents
@@ -2076,7 +4405,7 @@
* src/bytecode.c (exec_byte_code):
* src/xdisp.c (face_at_pos): Do not use C++-style comments!
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-28 João Távora <joaotavora@gmail.com>
Eglot: fix M-x eglot-show-workspace-configuration (bug#61866)
@@ -2098,7 +4427,7 @@
(eglot--workspace-configuration-plist): Rework.
(eglot-handle-request): Simplify.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-28 Dmitry Gutov <dgutov@yandex.ru>
ruby-mode: Fix method call indentation in rhs of multiple assignment
@@ -2107,18 +4436,18 @@
* test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add case.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-02-28 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp.el (tramp-remote-path): Improve docstring.
-2023-04-15 Felix <felix.dick@web.de> (tiny change)
+2023-02-28 Felix <felix.dick@web.de> (tiny change)
Minor change in 'dired--find-possibly-alternative-file'
* lisp/dired.el (dired--find-possibly-alternative-file): Don't
kill the buffer if the directory is shown in other windows.
-2023-04-15 Felix <felix.dick@web.de> (tiny change)
+2023-02-28 Felix <felix.dick@web.de> (tiny change)
Implement prefix arg for 'c-ts-mode-toggle-comment-style'
@@ -2126,14 +4455,14 @@
Actually implement the optional numeric arg mentioned in the
docstring.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-02-28 Manuel Giraud <manuel@ledu-giraud.fr>
Defaults to zero for image-dired--number-of-thumbnails
* lisp/image/image-dired.el (image-dired--number-of-thumbnails):
Defaults zero to avoid wrong type argument error. (Bug#61734)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-27 Dmitry Gutov <dgutov@yandex.ru>
Rename the newly added -ref- faces to -use-
@@ -2141,7 +4470,7 @@
(font-lock-property-use-face): Rename from font-lock-variable-ref-face
and font-lock-property-ref-face. Update all references (bug#61655).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-27 João Távora <joaotavora@gmail.com>
Eglot: support multiple labels in same inlay hint
@@ -2152,7 +4481,7 @@
InlayHintLabelPart.
(eglot--update-hints-1): Support multiple labels for same hint.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-27 João Távora <joaotavora@gmail.com>
Eglot: don't paint hints outside requested region (bug#61812)
@@ -2160,7 +4489,7 @@
(eglot--update-hints-1): Return early if hint is outside the
requested inlay hint range.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-27 João Távora <joaotavora@gmail.com>
Eglot: protect against unintended field text motion (bug#61726)
@@ -2173,14 +4502,14 @@
(eglot-handle-notification, eglot--xref-make-match)
(eglot-completion-at-point): Use it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-27 Eli Zaretskii <eliz@gnu.org>
Fix description of 'desktop-save-mode'
* doc/emacs/misc.texi (Saving Emacs Sessions): Adjust to changes
in 'desktop-path'. Reported by Petteri Hintsanen <petterih@iki.fi>.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-27 Yuan Fu <casouri@gmail.com>
Adjust tree-sitter defun navigation (bug#61617)
@@ -2223,7 +4552,7 @@
(treesit--ert-defun-navigation-top-level-master): Change tests to
reflect the new expectation.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-27 Yuan Fu <casouri@gmail.com>
Simplify c-ts-mode--top-level-label-matcher
@@ -2231,7 +4560,7 @@
(c-ts-mode--top-level-label-matcher): Make more assumptions and remove
the loop, so it's faster in large files.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-27 Yuan Fu <casouri@gmail.com>
New tree-sitter indent anchor standalone-parent used by c-ts-mode
@@ -2268,7 +4597,7 @@
* lisp/treesit.el:
(treesit-simple-indent-presets): New anchor standalone-parent.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-26 Dmitry Gutov <dgutov@yandex.ru>
ruby-smie-rules: Fix misindentation of a method call after assignment
@@ -2279,11 +4608,11 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-after-operator-indent.rb:
Add corresponding example.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-26 Eli Zaretskii <eliz@gnu.org>
* lib-src/etags.c (process_file_name): Free malloc'ed vars (bug#61819).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-26 João Távora <joaotavora@gmail.com>
Eglot: rename and redocument encoding-related functions (bug#61726)
@@ -2307,7 +4636,7 @@
* test/lisp/progmodes/eglot-tests.el (eglot-test-lsp-abiding-column)
(eglot-test-lsp-abiding-column-1): Use new function/variable names.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2023-02-26 Augusto Stoffel <arstoffel@gmail.com>
Eglot: support positionEncoding LSP capability (bug#61726)
@@ -2317,7 +4646,7 @@
(eglot--managed-mode): Set 'eglot-current-column-function' and
'eglot-move-to-bytewise-column' appropriately.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-26 Eli Zaretskii <eliz@gnu.org>
Augusto Stoffel <arstoffel@gmail.com>
Eglot: use faster strategy for moving to LSP positions (bug#61726)
@@ -2326,28 +4655,28 @@
* lisp/progmodes/eglot.el (eglot-move-to-lsp-abiding-column): Rewrite.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-26 Eli Zaretskii <eliz@gnu.org>
Fix mule-tests in UTF-8 locales
* test/lisp/international/mule-tests.el
(sgml-html-meta-no-post-less-than-10lines): Fix test condition.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-26 Eli Zaretskii <eliz@gnu.org>
Fix 'vertical-motion' when display strings are around
* src/indent.c (Fvertical_motion): Correct bidi-related condition
for character position, when we didn't move vertically. (Bug#61636)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-25 Dmitry Gutov <dgutov@yandex.ru>
python-ts-mode: Fix single-quote string fontification
* lisp/progmodes/python.el (python--treesit-fontify-string):
Look for ', not just ", as opening delimiter (bug#61796).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-25 Eli Zaretskii <eliz@gnu.org>
Fix infloop in bidi.c
@@ -2357,7 +4686,7 @@
embeddings. Failure to reset isolate_level will cause us infloop
when we see a PDI. Reported by Matt Beshara <m@mfa.pw>.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-02-25 Daniel Martín <mardani29@yahoo.es>
Check the anchor along with the offset in treesit-indent-region
@@ -2365,7 +4694,7 @@
having a non-nil offset is not enough, we need a non-nil anchor as
well.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-24 Yuan Fu <casouri@gmail.com>
Align to prev sibling for c-ts-mode indentation
@@ -2377,7 +4706,7 @@
rest to their previous sibling. Remove bracketless statement rules
that I forgot to remove previously.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-24 Yuan Fu <casouri@gmail.com>
Fix c-ts-common-statement-offset and c-ts-common--node-is
@@ -2387,7 +4716,7 @@
(c-ts-common-statement-offset): Do indent a level if the "if" in the
"else if" is on an independent line.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-24 Dmitry Gutov <dgutov@yandex.ru>
typescript-ts-mode: Highlight non-shorthand destructuring bindings
@@ -2395,7 +4724,7 @@
(typescript-ts-mode--font-lock-settings): Highlight non-shorthand
variable bindings in object destructuring.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-24 Dmitry Gutov <dgutov@yandex.ru>
Add more/finer faces for tree-sitter
@@ -2459,21 +4788,21 @@
* lisp/textmodes/yaml-ts-mode.el
(yaml-ts-mode--font-lock-settings): Same.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-24 Eli Zaretskii <eliz@gnu.org>
Avoid crashes in batch mode due to lack of frame face cache
* src/xfaces.c (Finternal_merge_in_global_face): Handle frames
with no face cache.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-02-24 Michael Albinus <michael.albinus@gmx.de>
Add Tramp version integrated in Emacs 28.3
* lisp/net/trampver.el (customize-package-emacs-version-alist):
Add Tramp version integrated in Emacs 28.3.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-02-24 Philip Kaludercic <philipk@posteo.net>
Avoid reusing :lisp-dir twice in 'package-vc--main-file'
@@ -2483,7 +4812,7 @@
This avoid appending the contents of :lisp-dir twice, in case it is
specified both in pkg-spec and pkg-desc.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-02-24 Philip Kaludercic <philipk@posteo.net>
Ensure right package-desc-type before installing package
@@ -2491,7 +4820,7 @@
code from 'package-vc-install'.
(package-vc-install): Remove copying. (Bug#61669)
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2023-02-24 Stephen Berman <stephen.berman@gmx.net>
Restore invisibility of symlink target on exiting wdired-mode
@@ -2500,7 +4829,7 @@
* test/lisp/wdired-tests.el (wdired-test-bug61510): New test.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-24 João Távora <joaotavora@gmail.com>
Eglot: fix jit-lock inlay hint bugs
@@ -2544,7 +4873,7 @@
* lisp/progmodes/eglot.el (eglot--update-hints): Fix bugs.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-24 João Távora <joaotavora@gmail.com>
Eglot: fix inlay hint with label collection instead of string
@@ -2553,7 +4882,7 @@
* lisp/progmodes/eglot.el (eglot--update-hints-1): Fix bug when
inlay hint contains collection of labels.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-24 Robert Pluim <rpluim@gmail.com>
Fix insertion of keyboard macro containing named keys
@@ -2568,7 +4897,7 @@
(Bug#61700)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-23 João Távora <joaotavora@gmail.com>
Eglot: simplify inlay hints implementation with jit-lock
@@ -2601,7 +4930,7 @@
(eglot--update-hints): Add function.
(eglot-inlay-hints-mode): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-23 João Távora <joaotavora@gmail.com>
Eglot: update inlay hints on window configuration changes
@@ -2609,7 +4938,7 @@
(eglot--inlay-hints-after-window-config-change): New helper.
(eglot-inlay-hints-mode): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-23 João Távora <joaotavora@gmail.com>
Eglot: display completion label when safe
@@ -2631,7 +4960,7 @@
* lisp/progmodes/eglot.el (eglot-completion-at-point): Adjust.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-23 Eli Zaretskii <eliz@gnu.org>
Improve documentation of VC commands, including in Dired
@@ -2645,14 +4974,14 @@
* lisp/vc/vc.el (vc-print-log, vc-log-search, vc-log-mergebase)
(vc-log-view-type, vc-print-root-log, vc-next-action): Doc fixes.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-02-23 Juri Linkov <juri@linkov.net>
* doc/emacs/maintaining.texi: More mentions of marked files in Dired.
(Basic VC Editing, Old Revisions, VC Change Log): Add more mentions of
ability to include the marked files to the VC fileset in Dired (bug#61712).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-22 João Távora <joaotavora@gmail.com>
Eglot: implement inlay hints (bug#61412, bug#61066)
@@ -2720,7 +5049,7 @@
* doc/misc/eglot.texi (Eglot Features): Mention inlay hints.
(Eglot Variables): Mention eglot-lazy-inlay-hints.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-22 João Távora <joaotavora@gmail.com>
Eglot: run eglot-managed-mode-hook after LSP didOpen
@@ -2732,14 +5061,14 @@
Run eglot-managed-mode-hook here.
(eglot--managed-mode): Not here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-22 João Távora <joaotavora@gmail.com>
Eglot: restore eldoc-documentation-functions on shutdown
* lisp/progmodes/eglot.el (eglot--managed-mode): Restore
eldoc-documentation-functions when shutting down eglot.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-22 João Távora <joaotavora@gmail.com>
Eglot: simplify capability-checking code
@@ -2750,7 +5079,7 @@
(eglot-format, eglot-completion-at-point, eglot-rename)
(eglot-code-actions): Use new eglot--server-capable-or-lose.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-22 João Távora <joaotavora@gmail.com>
Eglot: go back to setting eldoc-documentation-strategy again
@@ -2782,7 +5111,7 @@
* lisp/progmodes/eglot.el (eglot--managed-mode): Set
eldoc-documentation-strategy to eldoc-documentation-compose.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-02-22 F. Jason Park <jp@neverwas.me>
Yield to erc-move-to-prompt before unhiding prompt
@@ -2794,11 +5123,11 @@
* test/lisp/erc/erc-tests.el (erc-hide-prompt): Use `erc--target'
instead of `erc-default-recipients' because this is new code.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2023-02-22 Augusto Stoffel <arstoffel@gmail.com>
* lisp/progmodes/python.el (python--import-sources): Fix regexp (bug#61648)
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-02-22 Manuel Giraud <manuel@ledu-giraud.fr>
Do not error out on non image file (bug#61639)
@@ -2806,7 +5135,7 @@
(image-dired-display-thumbs): Do not insert non image file and do not
display image-dired buffer if it is empty.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-22 Eli Zaretskii <eliz@gnu.org>
Explain effect of variable-pitch fonts on fill-column
@@ -2817,48 +5146,48 @@
variable-pitch fonts with 'fill-column' and its indicator.
(Bug#61677)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-22 Eli Zaretskii <eliz@gnu.org>
Avoid division by zero in get_narrowed_* functions
* src/xdisp.c (get_narrowed_width, get_narrowed_len): Return at
least 1 as the value. (Bug#61704)
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2023-02-21 Martin Rudalics <rudalics@gmx.at>
* etc/NEWS: Mention new buffer display action alist entries
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-21 Eli Zaretskii <eliz@gnu.org>
Fix build --without-xdbe
* src/xterm.c (x_end_cr_clip, handle_one_xevent): Condition
double-buffering code on HAVE_XDBE. (Bug#61667)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-21 Robert Pluim <rpluim@gmail.com>
Improve dnd-direct-save-remote-files docstring
* lisp/dnd.el (dnd-direct-save-remote-files): Reword.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-21 Robert Pluim <rpluim@gmail.com>
Add 'process-status' to process shortdoc
* lisp/emacs-lisp/shortdoc.el (process): Add 'process-status'.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-21 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Improve 5d0b45cd67b
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-21 Robert Pluim <rpluim@gmail.com>
Improve text about deleting windows
* doc/emacs/windows.texi (Change Window): Improve grammar around
'delete-window-choose-selected'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-21 Robert Pluim <rpluim@gmail.com>
Make 'emacs-news-cycle-tag' work at all levels
@@ -2867,7 +5196,7 @@
* test/lisp/textmodes/emacs-news-mode-resources/cycle-tag.erts
(Point-Char): Add tests for 2 and 4 '*' levels.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-02-21 Mattias Engdegård <mattiase@acm.org>
Repair mistake in a previous edmacro-sanitize-string change
@@ -2879,7 +5208,7 @@
(cherry picked from commit 4eefadad0670ad1c3da2505d734e528d54c76bef)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
regex-emacs.c: Reduce the use of backtracking a bit further
@@ -2892,7 +5221,7 @@
* test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
Add a few tests.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-02-20 João Távora <joaotavora@gmail.com>
Eglot: respect user's Eldoc configuration by default
@@ -2934,7 +5263,7 @@
* lisp/progmodes/eglot.el (eglot--managed-mode): Don't set Eldoc
variables greedily.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-20 Andrea Corallo <akrl@sdf.org>
Make the native compiler always use `make-temp-file' for temporary files
@@ -2943,11 +5272,11 @@
`make-temp-file-internal'.
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Likewise.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-02-20 Jonas Bernoulli <jonas@bernoul.li>
Update to Transient v0.3.7-216-gfe40342
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-02-20 Daniel Martín <mardani29@yahoo.es>
Add declaration_list to c-ts-common-indent-type-regexp-alist
@@ -2956,25 +5285,25 @@
* test/lisp/progmodes/c-ts-mode-resources/indent.erts (Code): Add a
test case.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-20 Theodor Thornhill <theo@thornhill.no>
Typescript-ts-mode: Add switch case handling
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): New rules.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-20 Theodor Thornhill <theo@thornhill.no>
Fix object initializer for csharp-mode (bug#61541)
* lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Make sure
we check the openers as well as closers.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-02-20 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1-34-geea8da
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-19 Yuan Fu <casouri@gmail.com>
Improve tree-sitter indent anchor prev-adaptive-prefix (bug#61314)
@@ -2998,7 +5327,7 @@
this-line-has-prefix, base what anchor to return on the value of
this-line-has-prefix and whether the prev line has a prefix.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-19 Theodor Thornhill <theo@thornhill.no>
Adjust jsx indentation
@@ -3015,7 +5344,7 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-base-mode): Add more indent-chars and layout rules.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-19 Theodor Thornhill <theo@thornhill.no>
Cleanup preproc indent for c-ts-mode (bug#61558)
@@ -3025,7 +5354,7 @@
(c-ts-mode--preproc-offset): New helper anchor function to calculate
indent offset.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-19 Theodor Thornhill <theo@thornhill.no>
Add comment style toggle for c-ts-mode (bug#61550)
@@ -3036,14 +5365,14 @@
(c-ts-mode): Set modeline.
(c++-ts-mode): Set modeline.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-02-19 Juri Linkov <juri@linkov.net>
* lisp/simple.el (choose-completion): Check for completion-in-region-mode.
Don't use base-affixes when completion-use-base-affixes is non-nil
in completion-in-region-mode (bug#61535).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-19 Dmitry Gutov <dgutov@yandex.ru>
rust-ts-mode--font-lock-settings: Avoid the explicit 'default' face
@@ -3055,11 +5384,11 @@
Replace the catch-all query for 'variable' with an enumeration of
possible parent nodes.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-19 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el: Bump the version.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-19 Dmitry Gutov <dgutov@yandex.ru>
xref--insert-xrefs: Use 'shadow' for the line number colon
@@ -3068,13 +5397,13 @@
(cherry picked from commit d6d25a3c221e566de4df5319181e9ba9a8df285e)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-02-19 Juri Linkov <juri@linkov.net>
* lisp/progmodes/xref.el (xref--insert-xrefs): Remove extra space (bug#61340).
(cherry picked from commit 643a11c6e5defc0a34da1a53b64aa1e097298923)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-02-19 Mattias Engdegård <mattiase@acm.org>
Backport: Fix xref-clear-marker-stack refactoring mistake
@@ -3083,7 +5412,7 @@
(cherry picked from commit dfdc0f5fb7b10e737c3c8e2bdb1eb873a1e91bd7)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-19 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -3093,20 +5422,20 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-19 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
4a77fcb1478 Update ChangeLog and AUTHORS for Emacs 28.3
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-02-19 Manuel Giraud <manuel@ledu-giraud.fr>
More doc on image-dired-dired-* (bug#61624)
* doc/emacs/dired.texi (Image-Dired): Some fixes and more
documentation about image-dired-dired-* commands.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-19 Theodor Thornhill <theo@thornhill.no>
Eglot: improve treatment of completion items without :sortText (bug#61532)
@@ -3116,7 +5445,7 @@
* lisp/progmodes/eglot.el (eglot-completion-at-point): Simplify.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-19 Eli Zaretskii <eliz@gnu.org>
Fix invocation of File->Close from the menu bar
@@ -3128,28 +5457,28 @@
CHOICES and don't display the prompt in the echo area if GUI
dialog is used. Use 'use-dialog-box-p'. (Bug#61553)
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-02-19 Manuel Giraud <manuel@ledu-giraud.fr>
Update thumbnail buffer's header more
* lisp/image/image-dired.el (image-dired-display-thumbs): Call
image-dired--update-header-line. (Bug#61508)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-18 Dmitry Gutov <dgutov@yandex.ru>
(treesit-query-validate): Fix reusing the output buffer
* lisp/treesit.el (treesit-query-validate): Fix the "Buffer is
read-only" error when an output buffer already exists.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-18 Dmitry Gutov <dgutov@yandex.ru>
(rust-ts-mode--font-lock-settings): Highlight closure parameters
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Highlight closure parameters.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-18 Andrea Corallo <akrl@sdf.org>
* Fix `native-comp-enable-subr-trampolines' semantic
@@ -3157,14 +5486,14 @@
`native-comp-enable-subr-trampolines' relative to
`invocation-directory'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-18 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'just-one-space' and 'delete-horizontal-space'
* lisp/simple.el (just-one-space, delete-horizontal-space):
Mention the effect of prefix argument. (Bug#61609)
-2023-04-15 martin rudalics <rudalics@gmx.at>
+2023-02-18 martin rudalics <rudalics@gmx.at>
Fix 'display-buffer-use-least-recent-window'
@@ -3185,7 +5514,7 @@
(The Zen of Buffer Display): Improve and update documentation of
window selection and display facilities.
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-02-18 kobarity <kobarity@gmail.com>
Fix point moving when calling python-shell-send-region
@@ -3197,21 +5526,21 @@
(python-shell-buffer-substring-*): Use
`python-tests-should-not-move'. (Bug#61463)
-2023-04-15 Omar Polo <op@omarpolo.com>
+2023-02-18 Omar Polo <op@omarpolo.com>
(project-try-vc): Remove unused defvar/require
* lisp/progmodes/project.el (project-try-vc):
Remove unused defvar/require (bug#61577).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-18 Stefan Kangas <stefankangas@gmail.com>
Delete redundant question from Gnus FAQ
* doc/misc/gnus-faq.texi (FAQ 1-2): Delete redundant question.
(FAQ 1-1, FAQ 1-3): Adjust accordingly.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-18 Stefan Kangas <stefankangas@gmail.com>
Slightly improve hashcash documentation
@@ -3220,7 +5549,7 @@
* lisp/gnus/message.el (message-generate-hashcash): Improve
docstring.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-18 Eli Zaretskii <eliz@gnu.org>
Fix cursor motion when there's line-prefix and display string at BOL
@@ -3228,7 +5557,7 @@
'wrap-prefix' when the screen line has a display string at its
beginning. (Bug#61580)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-18 Yuan Fu <casouri@gmail.com>
Fix comment in treesit_record_change (bug#61369)
@@ -3264,14 +5593,14 @@
* src/treesit.c (treesit_record_change): Update comment.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-18 Stefan Kangas <stefankangas@gmail.com>
Spell out RPN abbreviation in Calc manual intro
* doc/misc/calc.texi (What is Calc, Demonstration of Calc)
(RPN Tutorial): Spell out "Reverse Polish notation" abbreviation.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-18 Eli Zaretskii <eliz@gnu.org>
Fix some uses of 'use-dialog-box'
@@ -3281,14 +5610,14 @@
'last-nonmenu-event' being nil as a mouse event, for the purpose
of using dialog boxes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-18 Eli Zaretskii <eliz@gnu.org>
Fix hi-lock-tests when 'use-dialog-box' is non-nil
* test/lisp/hi-lock-tests.el (hi-lock-case-fold)
(hi-lock-unhighlight): Bind 'use-dialog-box' to nil.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-18 Eli Zaretskii <eliz@gnu.org>
Fix regression due to change in face sort order by 'face-list'
@@ -3296,18 +5625,18 @@
the face list, which is no longer necessary, since 'face-list's
sorting order has been reversed recently. (Bug#61521)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2023-02-17 Po Lu <luangruo@yahoo.com>
* lisp/files.el (file-equal-p): Work around Haiku stat bug.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-17 Dmitry Gutov <dgutov@yandex.ru>
(project-vc-backend-markers-alist): Add entry for vc-got
* lisp/progmodes/project.el (project-vc-backend-markers-alist):
Add entry for vc-got (bug#61577). Bump the version.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-17 Dmitry Gutov <dgutov@yandex.ru>
project.el: Extract backend->marker association for a defvar
@@ -3315,7 +5644,7 @@
Extract from 'project-try-vc'.
(project-try-vc): Update accordingly (bug#61577).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-17 Yuan Fu <casouri@gmail.com>
Don't completely clip into visible range in treesit_record_change
@@ -3332,15 +5661,15 @@
accommodate more text, rather than pushing text at the end to keep the
size of the visible region.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-17 Dmitry Gutov <dgutov@yandex.ru>
* lisp/treesit.el (treesit-node-at): Update docstring (bug#61529).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-17 Stefan Kangas <stefankangas@gmail.com>
* lisp/calc/calc.el (calc-mode): Improve docstring.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-17 Stefan Kangas <stefankangas@gmail.com>
Bump Emacs version to 28.3
@@ -3349,28 +5678,28 @@
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.3.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-17 Stefan Kangas <stefankangas@gmail.com>
Update ChangeLog and AUTHORS for Emacs 28.3
* ChangeLog.3:
* etc/AUTHORS: Update for Emacs 28.3.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-17 Stefan Kangas <stefankangas@gmail.com>
Update HISTORY for Emacs 28.3
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-17 Stefan Kangas <stefankangas@gmail.com>
Update NEWS for Emacs 28.3
* etc/NEWS: Update for Emacs 28.3.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-17 Andrea Corallo <akrl@sdf.org>
Merge 'emacs-29' into 'feature/inhibit-native-comp-cleanup'
-2023-04-15 Eli Zaretskii <eliz@gnu.org> (tiny change)
+2023-02-17 Eli Zaretskii <eliz@gnu.org> (tiny change)
Fix order of faces in 'face-list'
@@ -3378,7 +5707,7 @@
decreasing order of face IDs. Patch by Brennan Vincent
<brennan@umanwizard.com>. (Bug#61521)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-17 Eli Zaretskii <eliz@gnu.org>
Allow 'icon-title-format' to have the value t
@@ -3392,7 +5721,7 @@
(Basic Parameters): Fix the documentation of the 'title' and
'name' frame parameters.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-16 Theodor Thornhill <theo@thornhill.no>
Add electric indent for preproc directives
@@ -3416,7 +5745,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New rule.
(c-ts-base-mode): Add # to electric-indent-chars.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-16 Robert Pluim <rpluim@gmail.com>
Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
@@ -3429,7 +5758,7 @@
Rename test from 'emacs-news-toggle-tag', and call
'emacs-news-cycle-tag' with new resource file name.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-16 Robert Pluim <rpluim@gmail.com>
Add menu to news-mode
@@ -3437,7 +5766,7 @@
for 'emacs-news-delete-temporary-markers'.
(emacs-news-mode-menu): Add menu for common actions.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-02-16 Philip Kaludercic <philipk@posteo.net>
Attempt to recognise if a VC package has no Elisp files
@@ -3447,7 +5776,7 @@
ones listed in 'package-vc-non-code-file-names', offering to abort the
installation if none are found.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-15 Eli Zaretskii <eliz@gnu.org>
Fix mule-tests under en_US.UTF-8 locale
@@ -3458,14 +5787,14 @@
(sgml-html-meta-auto-coding-function): Fix comparison when
buffer-file-coding-system is of type 'charset'.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-15 Theodor Thornhill <theo@thornhill.no>
Move block closer above declaration_list rule (bug#61531)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Move rule
above the previous rule.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-15 Eli Zaretskii <eliz@gnu.org>
Minor improvements in c-ts-mode and docs
@@ -3474,28 +5803,28 @@
* doc/emacs/programs.texi (C Indent): Mention "C-u TAB".
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-15 Theodor Thornhill <theo@thornhill.no>
Add super node as a keyword
* lisp/progmodes/java-ts-mode.el
(java-ts-mode--font-lock-settings): Add new node.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-02-15 Stefan Kangas <stefankangas@gmail.com>
Delete perplexing paragraph from Gnus manual
* doc/misc/gnus.texi (Exiting Gnus): Delete a confusing paragraph,
that may or may not have been intended as a joke. (Bug#61325)
-2023-04-15 ~kby <kby@tilde.team> (tiny change)
+2023-02-14 ~kby <kby@tilde.team> (tiny change)
Eglot: check server capability before sending didSave (bug#61478)
* lisp/progmodes/eglot.el (eglot--signal-textDocument/didSave): check
server capability.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-02-14 Randy Taylor <dev@rjt.dev>
Fix rust-ts-mode type and module highlighting (Bug#61302)
@@ -3503,7 +5832,7 @@
Specify import queries to avoid clashing with scoped identifiers in
the code. Highlight attributes with font-lock-preprocessor-face.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-14 Dmitry Gutov <dgutov@yandex.ru>
rust-ts-mode: Highlight variable reassignments
@@ -3514,7 +5843,7 @@
queries to match the 'pattern' child node right away. Add
highlights for 'assignment.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-14 Gregory Heytings <gregory@heytings.org>
Improve backward compatibility of save-restriction
@@ -3539,7 +5868,7 @@
* lisp/emacs-lisp/bytecomp.el (byte-compile-save-restriction):
Decrement unbinding count.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-14 Theodor Thornhill <theo@thornhill.no>
Don't indent template_string contents (bug#61503)
@@ -3547,25 +5876,25 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Add new rule.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-02-14 Jostein Kjønigsen <jostein@kjonigsen.net>
csharp-ts-mode: fontify compiler directives (bug#61512)
lisp/progmodes/csharp-mode.el: Add tree-sitter-queries for known C#
compiler-directives.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-02-14 Jonas Bernoulli <jonas@bernoul.li>
Update to Transient v0.3.7-209-gdab1dfa
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-14 Andrea Corallo <akrl@sdf.org>
* Generate trampolines in a temporary directory if no other option is viable
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Use
temporary file if no other option is viable.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-13 Eli Zaretskii <eliz@gnu.org>
Rename with/without-narrowing to with/without-restriction
@@ -3584,7 +5913,7 @@
internal--without-narrowing. All callers and documentation
changed.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-02-13 Juri Linkov <juri@linkov.net>
* lisp/repeat.el: Rename internal function and variable (bug#60980)
@@ -3593,14 +5922,14 @@
(repeat--clear-prev): Rename internal function from
'repeat--exit'.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
* Fix previous change
* lisp/emacs-lisp/generate-lisp-file.el (generate-lisp-file-trailer):
Fix previous change b6e2799aa1c.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
Rename native-comp-deferred-compilation-deny-list
@@ -3610,7 +5939,7 @@
native-comp-jit-compilation-deny-list.
(native-comp-deferred-compilation-deny-list): Mark it obsolete.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
Rename native-comp-deferred-compilation into native-comp-jit-compilation
@@ -3631,7 +5960,7 @@
* lisp/emacs-lisp/generate-lisp-file.el
(generate-lisp-file-trailer): Likewise.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
Rename comp-enable-subr-trampolines into native-comp-enable-subr-trampolines
@@ -3652,11 +5981,11 @@
* lisp/emacs-lisp/comp.el (comp-subr-trampoline-install)
(comp--trampoline-abs-filename): Likewise.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions): Improve doc
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
Support `comp-enable-subr-trampolines' as string value
@@ -3668,18 +5997,18 @@
* src/data.c (Ffset): Use Vcomp_enable_subr_trampolines now.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-13 Gregory Heytings <gregory@heytings.org>
Merge branch 'scratch/fix-locked-narrowing'
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
* Some more `inhibit-native-compile' clean-up
* lisp/emacs-lisp/generate-lisp-file.el (generate-lisp-file-trailer):
Use `native-comp-deferred-compilation'.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-13 Gregory Heytings <gregory@heytings.org>
Minor improvements to labeled narrowing
@@ -3695,19 +6024,19 @@
* doc/lispref/commands.texi (Command Overview): Use @pxref.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
Revert "Add new variable 'inhibit-native-compilation'"
This reverts commit 5fec9182dbeffa88cef6651d8c798ef9665d6681.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2023-02-13 Andrea Corallo <akrl@sdf.org>
Revert "Rename to inhibit-automatic-native-compilation"
This reverts commit f97993ee667f9be7589825f3a4fbc095d6944ec6.
-2023-04-15 Ulrich Müller <ulm@gentoo.org>
+2023-02-13 Ulrich Müller <ulm@gentoo.org>
Fix spurious display of eclipses in Calendar
@@ -3716,7 +6045,7 @@
* test/lisp/calendar/lunar-tests.el (lunar-test-eclipse-check)
(lunar-test-phase-list): Update tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-12 Yuan Fu <casouri@gmail.com>
Fix indentation for closing bracket in c-ts-mode (bug#61398)
@@ -3725,23 +6054,23 @@
(c-ts-base-mode): Add move block type.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New tests.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-02-12 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1-31-gaf1bb1
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-02-12 Alan Mackenzie <acm@muc.de>
* src/.gdbinit (nextcons): Amend $.u.cdr to $.u.s.u.cdr (bug#61453).
(cherry picked from commit dde023b63ab82c38d33815409de5552f5bf349d1)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-12 Theodor Thornhill <theo@thornhill.no>
Add lambda_expression to c-ts-common-indent-type-regexp-alist
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Tweak regexp.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-02-12 Philip Kaludercic <philipk@posteo.net>
Tolerate missing elpa-packages.eld files
@@ -3757,7 +6086,7 @@
about a missing elpa-packages.eld to begin with, we satisfy ourselves
with printing out a message and continuing on.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-12 Eli Zaretskii <eliz@gnu.org>
Avoid warning about 'load-path' in non-interactive sessions
@@ -3765,14 +6094,14 @@
'user-emacs-directory' in 'load-path' only in interactive
sessions. (Bug#61014)
-2023-04-15 Ulrich Müller <ulm@gentoo.org>
+2023-02-12 Ulrich Müller <ulm@gentoo.org>
Support webkit2gtk-4.1
* configure.ac: Check for webkit2gtk API version 4.1 first, then
fall back to 4.0.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-10 Gregory Heytings <gregory@heytings.org>
Save and restore the absence of narrowing locks
@@ -3781,7 +6110,7 @@
(narrowing_locks_restore): Remove the narrowing locks if the
buffer had no narrowing locks.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2023-02-10 Tassilo Horn <tsdh@gnu.org>
bug-reference: prevent match-data clobbering (bug#61395)
@@ -3789,7 +6118,7 @@
to syntax-ppss in save-match-data since it can clobber our
match-data (bug#61395).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-10 Yuan Fu <casouri@gmail.com>
Rename LIMIT to DEPTH in tree-sitter functions (bug#61231)
@@ -3800,7 +6129,7 @@
* src/treesit.c (Ftreesit_search_subtree)
(Ftreesit_induce_sparse_tree): Change LIMIT to DEPTH.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-09 Yuan Fu <casouri@gmail.com>
Add 'live' property to treesit-node-check (bug#61235)
@@ -3809,11 +6138,11 @@
(Ftreesit_node_check): Add 'live' property.
* test/src/treesit-tests.el (treesit-node-api): Add tests.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-02-09 Jonas Bernoulli <jonas@bernoul.li>
Update to Transient v0.3.7-205-gb8ad0da
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-09 Eli Zaretskii <eliz@gnu.org>
Fix 'rmail-summary-output'
@@ -3821,7 +6150,7 @@
messages when 'rmail-output-reset-deleted-flag' is non-nil.
(Bug#61380)
-2023-04-15 Nicolas Martyanoff <nicolas@n16f.net>
+2023-02-09 Nicolas Martyanoff <nicolas@n16f.net>
lisp-mode: add docstring recognition for more common lisp symbols
@@ -3829,25 +6158,25 @@
(define-setf-expander, deftype): Add the 'doc-string-elt'
property for proper docstring highlighting in Common Lisp.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-02-09 Jonas Bernoulli <jonas@bernoul.li>
Update to Transient v0.3.7-204-gecff8c2
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-09 Eli Zaretskii <eliz@gnu.org>
Fix Scala entry in Eglot's DB of LSP servers
* lisp/progmodes/eglot.el (eglot-server-programs): Support Scala
LSP named "metals", in addition to "metals-emacs". (Bug#61312)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-08 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Also don't reindent 'identifier' when inside ERROR
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Also don't reindent 'identifier' when inside ERROR.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-08 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix indentation inside empty if/unless/case/def
@@ -3857,13 +6186,13 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el
(ruby-ts-indent-empty-if-else): New test.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Add an extensive test for labeled (locked) narrowing
* test/src/buffer-tests.el (test-labeled-narrowing): New test.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Update the documentation about labeled (locked) narrowing
@@ -3907,7 +6236,7 @@
that the buffer is narrowed around 'pre-command-hook' and
'post-command-hook' when the buffer text includes very long lines.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Rename two long line optimizations variables
@@ -3920,7 +6249,7 @@
* src/keyboard.c (safe_run_hooks_maybe_narrowed): Use the new
names.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Add specific symbols for narrowings
@@ -3930,14 +6259,14 @@
* src/keyboard.c (syms_of_keyboard): Define symbol.
(safe_run_hooks_maybe_narrowed): Use it.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Add 'without-narrowing' macro
* lisp/subr.el (without-narrowing): New macro, companion (and
almost identical) to 'with-narrowing'.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Make 'narrowing-lock' and 'narrowing-unlock' internal
@@ -3950,7 +6279,7 @@
* lisp/subr.el (internal--with-narrowing): Use the new name.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-02-08 Gregory Heytings <gregory@heytings.org>
Fix 'save-restriction' for narrowing locks
@@ -3968,34 +6297,34 @@
* src/comp.c (helper_save_restriction): Save and restore narrowing
locks.
-2023-04-15 LensPlaysGames <lensplaysgames@gmail.com> (tiny change)
+2023-02-08 LensPlaysGames <lensplaysgames@gmail.com> (tiny change)
* lisp/iimage.el (iimage-mode-buffer): Handle multiple regexps.
Go to the beginning of the buffer before searching every regexp in
iimage-mode-image-regex-alist.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/edmacro.el (edit-kbd-macro): Fix thinko (bug#61333)
Backported from commit 2273cdb40e1939f7c29a669f6a64e6a27738c1a5.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-07 Eli Zaretskii <eliz@gnu.org>
Fix crashes inside 'xfree' called from treesit.c
* src/treesit.c (treesit_load_language): Always xstrdup 'c_name',
to avoid crashes inside xfree. (Bug#61351)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-06 Yuan Fu <casouri@gmail.com>
Make java-ts-mode use the c-ts-common-indent-type-regexp-alist
* lisp/progmodes/java-ts-mode.el:
(java-ts-mode): Setup c-ts-common-indent-type-regexp-alist.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-06 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation
@@ -4026,7 +6355,7 @@
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-06 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation
@@ -4036,7 +6365,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add rules.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add tests
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-06 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation (bug#61291)
@@ -4048,7 +6377,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New rule.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-06 Dmitry Gutov <dgutov@yandex.ru>
(eglot-completion-at-point): Return correct values in :company-kind
@@ -4057,7 +6386,7 @@
The convention is to use kebab case rather than plain downcasing.
Reported in https://github.com/company-mode/company-mode/issues/1370.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-02-06 Mattias Engdegård <mattiase@acm.org>
Tighten and simplify typescript compilation-mode regexps (bug#61104)
@@ -4067,7 +6396,7 @@
In collaboration with Jostein Kjønigsen.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2023-02-06 Tassilo Horn <tsdh@gnu.org>
Clarify bug-reference-auto-setup-functions docstring.
@@ -4075,11 +6404,11 @@
Add clarification to docstring that this variable is for packages, not
for users.
-2023-04-15 Aleksandr Vityazev <avityazev@posteo.org>
+2023-02-06 Aleksandr Vityazev <avityazev@posteo.org>
* lisp/treesit.el (treesit): Fix shortdoc example form (bug#61318).
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-06 Theodor Thornhill <theo@thornhill.no>
Use c-ts-common-statement-offset in java-ts-mode (bug#61142)
@@ -4096,7 +6425,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add indent
rules for bracketless statements.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-06 Theodor Thornhill <theo@thornhill.no>
Add array_initializer to java-ts-mode
@@ -4114,14 +6443,14 @@
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
matcher.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
go-ts-mode: Highlight variable declarations
* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Highlight variable declarations in 'definition' feature.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
go-ts-mode: Fix highlighting of function name in call_expression
@@ -4129,14 +6458,14 @@
Remove :override from the 'property' rules and move them above
'variable' (bug#61302). Just like in rust-ts-mode.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
c-ts-mode: Highlight "property functions" as functions
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Highlight "property functions" as functions (bug#61302).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
rust-ts-mode: Fix highlighting of function name in call_expression
@@ -4144,7 +6473,7 @@
Remove :override from the 'property' rules and move them above
'variable' (bug#61302).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
rust-ts-mode--font-lock-settings: Improve consistency
@@ -4153,7 +6482,7 @@
as type. The existing rules will handle it when it does look like a
type (capitalized).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
Make sure 'M-x show-paren-local-mode' turns on right away
@@ -4161,7 +6490,7 @@
'show-paren-function'.
(show-paren-local-mode): Use it in the :variable getter (bug#61098).
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2023-02-05 Tassilo Horn <tsdh@gnu.org>
Add to bug-reference-auto-setup-functions after its declaring defvar
@@ -4172,13 +6501,13 @@
* lisp/progmodes/bug-reference.el (bug-reference-auto-setup-functions):
Add to bug-reference-auto-setup-functions after its declaring defvar.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-02-05 Juri Linkov <juri@linkov.net>
* lisp/vc/vc.el (vc-find-revision-no-save): Fix parens (bug#61256).
Move '(setq failed nil)' from UNWINDFORMS of 'unwind-protect' to BODYFORM.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
Fix inability to turn show-paren-local-mode on manually (bug#61098)
@@ -4187,7 +6516,7 @@
show-paren-predicate check in show-paren-function also checks
whether a local (non-nil) value of this variable exists.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
rust-ts-mode: Highlight variable declarations
@@ -4199,11 +6528,11 @@
Rename from 'rust-ts-mode--fontify-parameter'. Check the id node's
parent to avoid touching type identifiers.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
rust-ts-mode--indent-rules: Indent to 0 at top level
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-02-05 Alan Mackenzie <acm@muc.de>
Ensure upper bound of font-lock region is less than point-max
@@ -4213,7 +6542,7 @@
* lisp/font-lock.el (font-lock-default-fontify-region): Set `end' to point-max
if it is greater that it.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
Highlight more complex function parameters
@@ -4221,7 +6550,7 @@
(rust-ts-mode--fontify-parameter): New function.
(rust-ts-mode--font-lock-settings): Use it.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-02-05 Jonas Bernoulli <jonas@bernoul.li>
No longer use transient in isearch-emoji-by-name
@@ -4233,7 +6562,7 @@
and returns a list of the glyph and all derivations, if any.
(emoji--choose-emoji): Use 'emoji--read-emoji'.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-05 Dmitry Gutov <dgutov@yandex.ru>
Make highlighting more regular across TS modes (bug#61205)
@@ -4256,21 +6585,21 @@
(rust-ts-mode--font-lock-settings): Same. And also change "scoped
identifiers" highlights to only match capitalized names.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-05 Eli Zaretskii <eliz@gnu.org>
Document 'plistp'
* doc/lispref/lists.texi (Property Lists): Document 'plistp'.
(Bug#61293)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-05 Eli Zaretskii <eliz@gnu.org>
Fix display of raised/lowered composed text
* src/xdisp.c (fill_gstring_glyph_string): Adjust the base line of
the glyph string due to subscript/superscript. (Bug#61290)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-05 Eli Zaretskii <eliz@gnu.org>
Fix installation of tree-sitter grammar on MS-Windows
@@ -4278,14 +6607,14 @@
failure on MS-Windows when the old DLL is still being used.
(Bug#61289)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-05 Eli Zaretskii <eliz@gnu.org>
Update the Emacs FAQ for Emacs 29
* doc/misc/efaq.texi (New in Emacs 29, History of Emacs): Add new
section about Emacs 29.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-05 Eli Zaretskii <eliz@gnu.org>
Fix byte-compilation of *-ts-mode.el files
@@ -4293,7 +6622,7 @@
use, to prevent failure in byte-compiling modes which require this
file. (Bug#61282)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-04 Yuan Fu <casouri@gmail.com>
Make c-ts-mode-set-style's effect local (bug#61245)
@@ -4311,7 +6640,7 @@
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Use
c-ts-mode-set-style.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-04 Dmitry Gutov <dgutov@yandex.ru>
c-ts-mode: Highlight name in parameter declarations
@@ -4320,7 +6649,7 @@
(c-ts-mode--fontify-declarator): Check that identifier was found.
Some declarations can miss identifier name.
-2023-04-15 Davide Masserut <dm@mssdvd.com>
+2023-02-04 Davide Masserut <dm@mssdvd.com>
Fix switch statement indentation for go-ts-mode (bug#61238)
@@ -4332,14 +6661,14 @@
* test/lisp/progmodes/go-ts-mode-tests.el: New file with go-ts-mode
tests.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-04 Eli Zaretskii <eliz@gnu.org>
Fix bidi reordering of sequence of whitespace characters before a TAB
* src/bidi.c (bidi_level_of_next_char): Test the current level
only for characters whose original type is BN. (Bug#61269)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-02-04 Theodor Thornhill <theo@thornhill.no>
Add tests for compilation support for TypeScript (bug#61104)
@@ -4347,21 +6676,21 @@
(compile-tests--test-regexps-data): Add new test-cases.
(compile-test-error-regexps): Increase expected errors
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-02-04 Jostein Kjønigsen <jostein@kjonigsen.net>
Add support for TypeScript compilation to compile.el (bug#61104)
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Add regexps.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-04 Eli Zaretskii <eliz@gnu.org>
Don't clobber match data in 'y-or-n-p'
* lisp/subr.el (y-or-n-p): Avoid clobbering caller's match data.
(Bug#61091)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-03 Dmitry Gutov <dgutov@yandex.ru>
Refine the previous change
@@ -4373,7 +6702,7 @@
Differentiate the %r{} literals from /.../ ones -- tree-sitter
parses them exactly the same.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-03 Dmitry Gutov <dgutov@yandex.ru>
Add syntax-propertize-function to ruby-ts-mode
@@ -4383,7 +6712,7 @@
(ruby-ts--parser-after-change): New function.
(ruby-ts-mode): Use both of them.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-03 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'header-line-indent-mode'
@@ -4400,7 +6729,7 @@
* etc/NEWS: Enhance the announcement of 'header-line-indent-mode'.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-02-03 F. Jason Park <jp@neverwas.me>
Don't casemap erc-sasl-user when set to :nick
@@ -4413,7 +6742,7 @@
leaving such preparation in the hands of the server. This bug was
introduced with changes new to ERC 5.5 and Emacs 29 (bug#29108).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-02-03 Robert Pluim <rpluim@gmail.com>
Improve keymap-global-set and keymap-local-set interactive use fix
@@ -4422,7 +6751,7 @@
specification to a string. Add `advertised-calling-convention'
declarations. (Bug#61149)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-02 Yuan Fu <casouri@gmail.com>
Make c-ts-mode indent tests side-effect-free
@@ -4442,7 +6771,7 @@
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Use
c-ts-mode-set-local-style to set the indent style locally.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-02 Yuan Fu <casouri@gmail.com>
Call treesit_record_change in insert_from_gap_1
@@ -4459,7 +6788,7 @@
* admin/notes/tree-sitter/treesit_record_change: New file.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-02-02 Yuan Fu <casouri@gmail.com>
Use c-ts-common-statement-offset for closing brackets too
@@ -4472,7 +6801,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Use
c-ts-common-statement-offset for closing brackets.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-02 Eli Zaretskii <eliz@gnu.org>
Minor improvements in sqlite.c
@@ -4482,7 +6811,7 @@
call. Patch by Helmut Eller <eller.helmut@gmail.com>.
(Bug#61165)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-02-02 Dmitry Gutov <dgutov@yandex.ru>
(treesit_predicate_match): Match node text against regexp without consing
@@ -4498,7 +6827,7 @@
Remove function.
(ruby-ts--font-lock-settings): Use the regexp with :match directly.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-02 Eli Zaretskii <eliz@gnu.org>
Improve documentation of gdb-mi's dedicated windows
@@ -4506,7 +6835,7 @@
buffer and commands to show individual specialized windows.
Improve indexing.
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2023-02-02 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Avoid spurious pause in kill-ring-save (Bug#60841)
@@ -4536,28 +6865,28 @@
a documented valid value for that attribute.
* etc/NEWS: Announce user option.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-02 Eli Zaretskii <eliz@gnu.org>
Change the default of 'treesit-defun-tactic' for 'c-ts-mode'
* lisp/progmodes/c-ts-mode.el (c-ts-mode): Set
'treesit-defun-tactic' as appropriate for C. (Bug#61208)
-2023-04-15 Eli Zaretskii <eliz@gnu.org> (tiny change)
+2023-02-02 Eli Zaretskii <eliz@gnu.org> (tiny change)
Fix docstring fontification of CL's 'defstruct'
* lisp/emacs-lisp/lisp-mode.el (defstruct): Set 'doc-string'
property. Patch by Nicolas Martyanoff <nicolas@n16f.net>.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-02 Eli Zaretskii <eliz@gnu.org>
Teach 'hs-minor-mode' about tree-sitter based modes
* lisp/progmodes/hideshow.el (hs-special-modes-alist): Teach
'hs-minor-mode' about tree-sitter based modes. (Bug#61232)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-02 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'repeat-mode' and related variables
@@ -4579,7 +6908,7 @@
* doc/emacs/basic.texi (Repeating): Clarify and improve wording of
'repeat-mode' documentation.
-2023-04-15 Nicolas Martyanoff <nicolas@n16f.net>
+2023-02-01 Nicolas Martyanoff <nicolas@n16f.net>
(eshell--complete-commands-list): Fix regression in fix to bug#48995
@@ -4588,43 +6917,43 @@
* lisp/eshell/em-cmpl.el (eshell--complete-commands-list):
Fix misuse of `completion-table-dynamic` when completing a file name.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-02-01 Juri Linkov <juri@linkov.net>
* doc/emacs/basic.texi (Repeating): Mention describe-repeat-maps (bug#61183).
* lisp/repeat.el (describe-repeat-maps): Add more explanation to
the docstring. Suggested by Robert Pluim <rpluim@gmail.com>.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-02-01 Eli Zaretskii <eliz@gnu.org>
Unbreak the MS-Windows build
* src/treesit.c (ts_query_pattern_count) [WINDOWSNT]: Load from
the library and define as macro.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-31 Dmitry Gutov <dgutov@yandex.ru>
(Ftreesit_query_capture): Cache list of predicates for given pattern index
* src/treesit.c (Ftreesit_query_capture):
Cache list of predicates for given pattern index (bug#60953).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-31 Robert Pluim <rpluim@gmail.com>
* lisp/keymap.el (keymap-global-unset): Correct prompt
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-31 Eli Zaretskii <eliz@gnu.org>
Fix cursor-in-echo-area on TTY frames
* src/dispnew.c (update_frame_1): Fix off-by-one error when
positioning the cursor in the echo-area. (Bug#61184)
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2023-01-30 Jonas Bernoulli <jonas@bernoul.li>
Update to Transient v0.3.7-196-gb91f509
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-01-30 Alan Mackenzie <acm@muc.de>
CC Mode: Fix a coding bug in c-make-keywords-re. This should fix bug #61135
@@ -4632,14 +6961,14 @@
result regexp when argument ADORN is `appendable'. This fully fixes a bug
which was half-fixed on 2019-01-22.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-30 Juri Linkov <juri@linkov.net>
* lisp/isearch.el (isearch-emoji-by-name): Disable derived emoji (bug#60740).
Let-bind emoji--derived to nil to avoid the subsequent selection
of derived emoji that fails in transient.el.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-30 Eli Zaretskii <eliz@gnu.org>
Fix keymap inheritance in descendants of 'c-ts-base-mode'
@@ -4647,7 +6976,7 @@
'c-ts-mode-map'.
(c-ts-base-mode): Adjust accordingly. (Bug#60983)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-30 Robert Pluim <rpluim@gmail.com>
Fix interactive use of `keymap-local-set' and `keymap-global-set'
@@ -4655,18 +6984,18 @@
read key sequence to a string when called interactively. Based on a
patch from Stephen Berman <stephen.berman@gmx.net>. (Bug#61149)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-01-30 Michael Albinus <michael.albinus@gmx.de>
Fix password prompt in Tramp (do not merge)
* lisp/net/tramp.el (tramp-password-prompt-regexp):
Allow alternative trailing colons. (Bug#61168)
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-01-29 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1-23-gc45a05
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-29 Eli Zaretskii <eliz@gnu.org>
Document tree-sitter features in the user manual
@@ -4683,7 +7012,7 @@
(Parser-based Font Lock): New subsections.
* doc/emacs/emacs.texi (Top): Update top-level menu.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-01-29 Randy Taylor <dev@rjt.dev>
Fix dockerfile-ts-mode line continuation indentation (bug#61131)
@@ -4713,7 +7042,7 @@
(dockerfile-ts-mode--line-continuation-p)
(dockerfile-ts-mode--line-continuation-anchor): New functions.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-29 Yuan Fu <casouri@gmail.com>
Use treesit-subtree-stat to determine treesit--font-lock-fast-mode
@@ -4724,14 +7053,14 @@
(treesit-font-lock-fontify-region): Enable fast mode based on the
result of treesit-subtree-stat.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-29 Yuan Fu <casouri@gmail.com>
Add treesit-subtree-stat
* src/treesit.c (Ftreesit_subtree_stat): New function.
* lisp/treesit.el (treesit): Add to shortdoc.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-29 Yuan Fu <casouri@gmail.com>
Move c-ts-mode--statement-offset to c-ts-common.el
@@ -4758,7 +7087,7 @@
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Make the test
more challenging.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-29 Yuan Fu <casouri@gmail.com>
Fix <> syntax in rust-ts-mode
@@ -4770,14 +7099,14 @@
(rust-ts-mode--syntax-propertize): New function.
(rust-ts-mode): Set up syntax-propertize-function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-29 Eli Zaretskii <eliz@gnu.org>
Fix spurious errors on Windows when deleting temporary *.eln files
* lisp/emacs-lisp/comp.el (comp--native-compile): On MS-Windows,
ignore errors when deleting a temporary .eln file. (Bug#60996)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-28 Theodor Thornhill <theo@thornhill.no>
Fix java class member without access modifier (bug#61115)
@@ -4802,7 +7131,7 @@
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
rule to match edge case of field_declaration indentation.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-28 Theodor Thornhill <theo@thornhill.no>
Make treesit-font-lock-level a defcustom
@@ -4810,7 +7139,7 @@
new defcustom.
(treesit-font-lock-level): Turn it into a defcustom.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-28 Theodor Thornhill <theo@thornhill.no>
Add c-ts-mode-set-style and :set for c-ts-mode-indent-style
@@ -4823,7 +7152,7 @@
(c-ts-mode--get-indent-style): New function renamed from
'c-ts-mode--set-indent-style'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-28 Juri Linkov <juri@linkov.net>
Minor documentation improvements for outline-minor-mode (bug#61062)
@@ -4832,14 +7161,14 @@
* etc/NEWS: Mention outline-minor-mode for two modes.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2023-01-28 Brian Leung <leungbk@posteo.net>
python.el: Use correct regexp when enabling python-ts-mode
* lisp/progmodes/python.el: Use "python[0-9.]*" regexp for
'interpreter-mode-alist', and not 'auto-mode-alist'. (Bug#61090)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-27 Dmitry Gutov <dgutov@yandex.ru>
Make project-current not error out inside non-existent dirs
@@ -4849,7 +7178,7 @@
* test/lisp/progmodes/project-tests.el
(project-vc-nonexistent-directory-no-error): New test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-27 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'shell-command-dont-erase-buffer'
@@ -4859,7 +7188,7 @@
affects what is displayed in the echo area after the command.
(Bug#61100)
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-27 Jostein Kjønigsen <jostein@kjonigsen.net>
Fix errors in fontification of JavaScript import-statements (bug#61083)
@@ -4880,7 +7209,7 @@
* lisp/progmodes/js.el (js--treesit-font-lock-settings): Add new
import_clause rules that adhere to the comment above.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-27 Jostein Kjønigsen <jostein@kjonigsen.net>
Fix fontification TypeScript of import-statements (bug#61081)
@@ -4913,7 +7242,7 @@
(typescript-ts-mode--font-lock-settings): Tweak import_clause rules to
adhere to the comment above.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2023-01-26 Basil L. Contovounesios <contovob@tcd.ie>
Work around package.el transitive dependency bug
@@ -4926,7 +7255,7 @@
the version already required by Project, for the benefit of
Emacs 28 (bug#61048).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-26 Eli Zaretskii <eliz@gnu.org>
Fix xt-mouse on terminals that report UTF-8 encoded coordinates
@@ -4935,7 +7264,7 @@
Panteleev <git@cy.md> and Jared Finder <jared@finder.org>.
(Bug#61022)
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-01-26 Randy Taylor <dev@rjt.dev>
Fix go-ts-mode indentation and set indent offset to 8 (Bug#61006)
@@ -4944,14 +7273,14 @@
(go-ts-mode--indent-rules): Add indentation for parameters and
interfaces.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-26 Eli Zaretskii <eliz@gnu.org>
Fix doc strings of window-splitting commands
* lisp/window.el (split-window-below, split-window-right): Doc
fixes. (Bug#60886)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-26 Yuan Fu <casouri@gmail.com>
Fix indentation for c-ts-mode (bug#61026)
@@ -4972,7 +7301,7 @@
(c-ts-base-mode): Use the new function.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-26 Yuan Fu <casouri@gmail.com>
Fix call to treesit_record_change in insdel.c
@@ -4982,39 +7311,39 @@
* src/insdel.c (insert_from_buffer): Move to here.
(insert_from_buffer_1): Remove call to treesit_record_change.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2023-01-26 Randy Taylor <dev@rjt.dev>
Add support for building tree-sitter modules with MinGW
* admin/notes/tree-sitter/build-module/build.sh: Add support for
building tree-sitter modules with MinGW.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-01-25 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-25 Juri Linkov <juri@linkov.net>
* doc/emacs/text.texi (Outline Minor Mode): New node split from "Outline Mode"
(Outline Mode): Move all outline-minor-mode related information to the
new node "Outline Minor Mode" (bug#61062).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-25 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Don't reindent when "class" or "def" is under "ERROR"
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Don't reindent when "class" or "def" is under "ERROR" (bug#61017).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-25 Dmitry Gutov <dgutov@yandex.ru>
treesit-install-language-grammar: Provide default repo url
* lisp/treesit.el (treesit--check-repo-url): New function.
(treesit--install-language-grammar-build-recipe): Use it (bug#61051).
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2023-01-25 Basil L. Contovounesios <contovob@tcd.ie>
Fix Dired face for directory symlinks
@@ -5022,7 +7351,7 @@
symlinks with the value of dired-directory-face rather than its name
as a (nonexistent) face (bug#60977).
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2023-01-25 Basil L. Contovounesios <contovob@tcd.ie>
Pacify --without-x unused function warning
@@ -5030,13 +7359,13 @@
[HAVE_WINDOW_SYSTEM] (font_maybe_unset_attribute): ...to here, since
the function is used only when we HAVE_WINDOW_SYSTEM (bug#61049).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-25 Robert Pluim <rpluim@gmail.com>
Announce outline.el keymaps
* etc/NEWS: Announce new keymaps.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-25 Jostein Kjønigsen <jostein@kjonigsen.net>
Fix fontification of function-valued variables (bug#61053)
@@ -5044,14 +7373,14 @@
(typescript-ts-mode--font-lock-settings): Remove overrides and reorder
the variable_declarator rule.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-25 Theodor Thornhill <theo@thornhill.no>
Add new java indent rules
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Check
for enum_body_declarations and switch_label.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-24 Juri Linkov <juri@linkov.net>
Handle relative file names in vc-resynch-window and vc-resynch-buffer
@@ -5060,7 +7389,7 @@
use `expand-file-name' in `vc-root-dir'. This fixes the case of
refreshing the buffers after typing `C-x v = C-x v u' (bug#60897).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-24 Robert Pluim <rpluim@gmail.com>
Use named keymaps for outline buttons
@@ -5073,7 +7402,7 @@
(outline--create-button-icons, outline--insert-button): Move
keymaps to separate variables.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-24 Juri Linkov <juri@linkov.net>
* lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's process.
@@ -5082,7 +7411,7 @@
* lisp/vc/vc.el (vc-pull-and-push): Expand docstring about
prerequisites for backend to support this command (bug#60569).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-01-23 Alan Mackenzie <acm@muc.de>
CC Mode: Change the default value of objc-font-lock-extra-types to nil
@@ -5095,7 +7424,7 @@
* etc/NEWS: Mention the change in default value of objc-font-lock-extra-types,
and how to get the old behavior back.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2023-01-23 Jim Porter <jporterbugs@gmail.com>
Don't try to make a pipe process for remote processes in Eshell
@@ -5108,22 +7437,22 @@
* test/lisp/eshell/esh-proc-tests.el
(esh-var-test/output/remote-redirect): New test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-23 Eli Zaretskii <eliz@gnu.org>
* lisp/startup.el (command-line): Fix warning message. (Bug#61014)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-23 Juri Linkov <juri@linkov.net>
* lisp/find-dired.el (find-dired): Fix bug where M-p skips first history item.
Don't apply "skip first duplicate history item" trick when find-args
used as initial input is nil.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-01-22 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1-16-ge37e9b
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-22 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--predefined-variables): Fix the $` and $' entries
@@ -5132,11 +7461,11 @@
Reported by Mattias Engdegård.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-22 Juri Linkov <juri@linkov.net>
* lisp/find-dired.el (find-dired-with-command): Quote find-command-history.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-22 Juri Linkov <juri@linkov.net>
Generalize vc-pull-and-push to support more backends (bug#60569)
@@ -5145,7 +7474,7 @@
* lisp/vc/vc.el (vc-pull-and-push): Add code from vc-git-pull-and-push.
-2023-04-15 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
+2023-01-22 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
Add test suite for sgml-html-meta-auto-coding-function
@@ -5156,7 +7485,7 @@
(sgml-html-meta-no-post-less-than-10lines)
(sgml-html-meta-no-post-10lines, sgml-html-meta-utf-8-with-bom): Add.
-2023-04-15 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
+2023-01-22 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
Fix decoding HTML files from archives
@@ -5167,7 +7496,7 @@
This is the same fix as in #df7ed10e for
sgml-xml-auto-coding-function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-22 Eli Zaretskii <eliz@gnu.org>
Avoid crashes in batch Emacs sub-processes on MS-Windows
@@ -5177,7 +7506,7 @@
* src/w32fns.c (emacs_abort): Don't show GUI Abort dialogs in
non-interactive sessions. (Bug#60556)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-22 Theodor Thornhill <theo@thornhill.no>
Tweak BSD style indentation (bug#60984)
@@ -5188,21 +7517,21 @@
* test/lisp/progmodes/c-ts-mode-tests.el
(c-ts-mode-test-indentation-bsd): Add a test for the new style.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-22 Theodor Thornhill <theo@thornhill.no>
Fix typo of exposed symbol name
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Remove
double hyphen.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-22 Theodor Thornhill <theo@thornhill.no>
Fix typo after move to common lib (bug#61001)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Use correct
preset.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-21 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix two additional cases with ruby-method-call-indent=nil
@@ -5212,14 +7541,14 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-method-call-indent.rb:
Add examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-21 Dmitry Gutov <dgutov@yandex.ru>
ruby-mode.el: Expand some docstrings with examples
* lisp/progmodes/ruby-mode.el (ruby-align-chained-calls)
(ruby-method-params-indent): Expand docstrings with examples.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2023-01-21 Po Lu <luangruo@yahoo.com>
Minor fixes for Haiku
@@ -5227,7 +7556,7 @@
* lisp/simple.el (normal-erase-is-backspace-setup-frame): Add
support for Haiku.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-21 Theodor Thornhill <theo@thornhill.no>
Move c-like common utils into own library (bug#60961)
@@ -5259,7 +7588,7 @@
(typescript-ts-mode--indent-rules): Refer to the new symbols.
(typescript-ts-base-mode): Use new function.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-01-21 Michael Albinus <michael.albinus@gmx.de>
Fix file-regular-p in Tramp
@@ -5272,21 +7601,21 @@
* lisp/net/tramp.el (tramp-handle-file-regular-p): Fix symlink
case. (Bug#60943)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-21 Theodor Thornhill <theo@thornhill.no>
Fix typo in c-ts-mode (bug#60932)
* lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-block-type-regexp):
enumerator, not enumeratior.
-2023-04-15 Mike Kupfer <kupfer@rawbw.com>
+2023-01-20 Mike Kupfer <kupfer@rawbw.com>
MH-E: handle removal of mhparam libdir from nmh 1.8
* lisp/mh-e/mh-e.el (mh-variant-nmh-info): If "libdir" doesn't
work, try "libexecdir" (Bug#60952) (SF#491).
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-20 Theodor Thornhill <theo@thornhill.no>
Use point-min to anchor top-level constructs (bug#60602)
@@ -5297,18 +7626,18 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): New anchor.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-20 Dmitry Gutov <dgutov@yandex.ru>
* lisp/org/ob-ruby.el: Fix outdated comments.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-20 Dmitry Gutov <dgutov@yandex.ru>
(project-try-vc): Add string-start and string-end anchors to marker-re
* lisp/progmodes/project.el (project-try-vc):
Add string-start and string-end anchors to marker-re (bug#60956).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-20 Robert Pluim <rpluim@gmail.com>
Make `keymap-set-after' work for menus
@@ -5322,7 +7651,7 @@
(keymap-set-after-menus): New test. Check that we can insert a menu
item after a specific entry.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-20 Robert Pluim <rpluim@gmail.com>
Use `key-parse' in `keymap-lookup'
@@ -5333,21 +7662,21 @@
* test/src/keymap-tests.el (keymap-set-after-menus): Test the
`keymap-set-after' API.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-20 Robert Pluim <rpluim@gmail.com>
Improve `keymap-set-after' documentation
* doc/lispref/keymaps.texi (Changing Key Bindings): Mention `key-valid-p'
(Modifying Menus): Correct description of KEY arg.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-20 Robert Pluim <rpluim@gmail.com>
Handle after arg correctly in `keymap-set-after'
* lisp/keymap.el (keymap-set-after): AFTER: t means the same as nil,
so just change it to nil. (Bug#60867)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-01-20 F. Jason Park <jp@neverwas.me>
Don't load erc-goodies atop erc.el
@@ -5359,7 +7688,7 @@
requiring `erc-goodies' at the very end of ERC's main library. Special
thanks to Libera.Chat user jrm for reporting this bug.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-20 Eli Zaretskii <eliz@gnu.org>
Make tree-sitter based modes optional
@@ -5382,7 +7711,7 @@
for tree-sitter based modes be conditional on the tree-sitter and
grammar libraries being available. (Bug#60559)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-19 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Claw back half of the performance drop from last change
@@ -5390,7 +7719,7 @@
New function.
(ruby-ts--font-lock-settings): Use it instead of :match.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-19 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts-mode): Rename 'builtin-functions' to 'builtin-function'
@@ -5398,7 +7727,7 @@
(ruby-ts-mode): Rename 'builtin-functions' to 'builtin-function',
for consistency with similar features.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-19 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Highlight builtin methods
@@ -5419,7 +7748,7 @@
(ruby-ts--predefined-variables): Unrelated to the rest of the
patch, add string-start and string-end anchors.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-19 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indent (bug#60873)
@@ -5427,7 +7756,7 @@
(c-ts-mode--statement-offset): Handle the edge case.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add a test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-19 Yuan Fu <casouri@gmail.com>
Fix various problems in treesit-explore-mode (bug#60800)
@@ -5439,7 +7768,7 @@
2. Make sure desktop-save doesn't save the explorer buffer.
3. Kill the explorer buffer when the source buffer is killed.
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2023-01-19 Michael Heerdegen <michael_heerdegen@web.de>
Fix an oversight in advice.el
@@ -5449,21 +7778,21 @@
* lisp/emacs-lisp/advice.el (ad-read-advised-function): Adjust to
handle the new type of elements of `ad-advised-functions'.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-19 Dmitry Gutov <dgutov@yandex.ru>
(treesit-simple-indent-presets): Have n-p-gp check for grandparent's presence
* lisp/treesit.el (treesit-simple-indent-presets): Have n-p-gp
check for grandparent's presence before checking its type.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-19 Dmitry Gutov <dgutov@yandex.ru>
ruby-toggle-block: Fix in ruby-ts-mode
* lisp/progmodes/ruby-mode.el (ruby-toggle-block): Make it work
with ruby-ts-mode. ruby-forward-sexp checks ruby-use-smie.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-19 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--indent-rules): Indent inside empty parens properly
@@ -5473,14 +7802,14 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el
(ruby-ts-indent-call-no-args): Add test.
-2023-04-15 Kai Tetzlaff <emacs@tetzco.de>
+2023-01-19 Kai Tetzlaff <emacs@tetzco.de>
Fix bug in 'sieve-manage--append-to-log'
* lisp/net/sieve-manage.el (sieve-manage--append-to-log): Fix
log buffer creation. (Bug#54154) Do not merge to master.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-01-19 Alan Mackenzie <acm@muc.de>
CC Mode: Prevent two classes of "type" prematurely entering c-found-types
@@ -5493,14 +7822,14 @@
being entered into c-found-types. In CASE 19, likewise set unsafe-maybe, to
inhibit bar entering c-found-types.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-18 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Use font-lock-constant-face for true/false/nil
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use font-lock-constant-face for true/false/nil.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-18 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--indent-rules): Add a rule for continuation of a hash pair
@@ -5509,7 +7838,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: Add examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-18 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--parent-call-or-bol): Handle more cases with nested literals
@@ -5518,7 +7847,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: Add examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-18 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--statement-container-regexp): Remove "parenthesized_statements"
@@ -5529,7 +7858,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: Add examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-18 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Handle indent in parenless calls much closer to ruby-mode
@@ -5545,7 +7874,7 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el:
Run indent test for ruby-parenless-call-arguments-indent.rb.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-18 Juri Linkov <juri@linkov.net>
Fix split-window-below for the case when split-window-keep-point is nil.
@@ -5555,7 +7884,7 @@
only for the selected window.
(split-window-below, split-window-right): Improve docstrings (bug#60886)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-18 Juri Linkov <juri@linkov.net>
Rebind in read-regexp-map ‘M-c’ to ‘M-s c’ compatible with search-map
@@ -5569,7 +7898,7 @@
(read-regexp-toggle-case-fold): Rename from read-regexp-toggle-case-folding
to more standard name.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-18 Juri Linkov <juri@linkov.net>
* lisp/vc/vc-dir.el: Make keys ‘% m’ and ‘* %’ compatible with Dired
@@ -5579,7 +7908,7 @@
* doc/emacs/maintaining.texi (VC Directory Commands): Replace ‘%’
with ‘% m’ and ‘* %’. Mention vc-dir-mark-registered-files.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2023-01-18 Jim Porter <jporterbugs@gmail.com>
Use proper types for Eshell warnings
@@ -5587,7 +7916,7 @@
* lisp/eshell/em-basic.el (eshell/echo): Don't use ':warning'; that's a
warning level, not a warning type.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-18 Eli Zaretskii <eliz@gnu.org>
Improve the documentation of 'auto-mode-alist' search
@@ -5595,7 +7924,7 @@
"recursive extension stripping" using 'auto-mode-alist'.
(Bug#60930)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-18 Yuan Fu <casouri@gmail.com>
Revert "Revert "Add c-or-c++-ts-mode (bug#59613)""
@@ -5604,7 +7933,7 @@
Aaaactually, we need this, otherwise we can't use tree-sitter based C
mode for header files.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-18 Yuan Fu <casouri@gmail.com>
Make it harder to misactivate tree-sitter font-lock fast mode
@@ -5619,7 +7948,7 @@
(treesit--font-lock-notifier): Only activate fast mode after 5
offenses.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-17 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Obey the option ruby-method-call-indent
@@ -5633,7 +7962,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb:
Add explicit value for ruby-method-call-indent.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-17 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Obey the option ruby-after-operator-indent
@@ -5647,7 +7976,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb:
Make sure indentation vars are at their default values.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-17 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix indent after operator or conditional
@@ -5663,7 +7992,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb:
Add examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-17 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix/change indentation of a continuation method call
@@ -5673,7 +8002,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb:
New examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-17 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix indent inside parenthesized_expr and else/end after unless
@@ -5684,7 +8013,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb:
New examples.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-17 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Fix the rules for hanging arrays and hashes
@@ -5697,7 +8026,7 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el: Use it here.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2023-01-17 Jim Porter <jporterbugs@gmail.com>
Add more detail about how to invoke Eshell commands
@@ -5709,7 +8038,7 @@
about priority of commands in command form.
(Arguments): Add a cross reference to the Invocation node.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-01-17 Alan Mackenzie <acm@muc.de>
CC Mode: On removal of "typedef", remove pertinent types from c-found-types
@@ -5743,7 +8072,7 @@
(c-before-change): Call c-before-change-de-typedef.
(c-after-change): Call c-after-change-de-typedef.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-01-17 F. Jason Park <jp@neverwas.me>
Don't preserve non-module minor modes in erc-open
@@ -5763,7 +8092,7 @@
`erc-module' symbol property to be defined for mode symbols and
aliases. (Bug#60784.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-01-17 F. Jason Park <jp@neverwas.me>
Use correct buffer for local-module vars in erc-open
@@ -5786,14 +8115,14 @@
(erc-scenarios-base-local-modules--var-persistence) Add slightly hacky
test case with promise to improve later when splitting the file.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-17 Eli Zaretskii <eliz@gnu.org>
Fix display of warnings on w32 console
* lisp/emacs-lisp/warnings.el (warnings-suppress): Use alternative
symbol for TTY frames on MS-Windows.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2023-01-17 Basil L. Contovounesios <contovob@tcd.ie>
Fix buffer-list-update-hook for indirect buffers
@@ -5813,7 +8142,7 @@
inhibited. Check that all three buffer hooks, not just
kill-buffer-query-functions, are inhibited.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-17 Yuan Fu <casouri@gmail.com>
Fix treesit-node-first-child-for-pos (bug#60127)
@@ -5824,7 +8153,7 @@
* src/treesit.c (treesit_cursor_first_child_for_byte): New function.
(Ftreesit_node_first_child_for_pos): Use the new function.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-01-16 Mattias Engdegård <mattiase@acm.org>
Fix hfy-exclude-file-rules (bug#60562)
@@ -5835,7 +8164,7 @@
Better doc string.
* lisp/htmlfontify.el (hfy-list-files): Simplify regexp argument.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-01-16 Alan Mackenzie <acm@muc.de>
CC Mode: Prevent ids in temporary "declarators" getting into c-found-types
@@ -5847,7 +8176,7 @@
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1) (CASE 6): When a
'maybe type triggers this case, set `unsafe-maybe' to non-nil.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2023-01-16 João Távora <joaotavora@gmail.com>
Fix M-x eglot prompt when connection already exists (bug#60557)
@@ -5871,7 +8200,7 @@
* lisp/progmodes/eglot.el (eglot): Rework.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-16 Yuan Fu <casouri@gmail.com>
Fix tree-sitter indent preset function (bug#60270)
@@ -5880,7 +8209,7 @@
no prefix.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-15 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Support the option ruby-block-indent
@@ -5891,7 +8220,7 @@
* test/lisp/progmodes/ruby-ts-mode-tests.el:
Run indent test for ruby-block-indent.rb.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-15 Theodor Thornhill <theo@thornhill.no>
Improve indentation for jsx
@@ -5900,37 +8229,37 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Use more parent anchors.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2023-01-15 Sean Whitton <spwhitton@spwhitton.name>
* lisp/subr.el (while-let): Fix docs if-let->if-let* (bug#60758).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2023-01-15 Sean Whitton <spwhitton@spwhitton.name>
Revert "* lisp/subr.el (while-let): Use if-let, not if-let* (bug#60758)."
This reverts commit 083badc9c122a802080552e7771e78ee47c01e3c.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2023-01-15 Stefan Kangas <stefankangas@gmail.com>
Bump use-package version for Emacs 29.1
* lisp/use-package/use-package.el: Bump version to 2.4.5.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-15 Eli Zaretskii <eliz@gnu.org>
Improve error message from sqlite-mode.el
* lisp/sqlite-mode.el (sqlite-mode-open-file): Add error
checking. (Bug#60490)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-15 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode block comment indentation (bug#60270)
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--comment-2nd-line-anchor): Handle another edge case.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-15 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode label indent
@@ -5939,7 +8268,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Fix.
(c-ts-mode--top-level-label-matcher): Fix.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-15 Yuan Fu <casouri@gmail.com>
Fix statement indent for c-ts-mode (bug#59686) (bug#60280)
@@ -5954,7 +8283,7 @@
(c-ts-mode--statement-offset)
(c-ts-mode--close-bracket-offset): New offset functions.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-15 Yuan Fu <casouri@gmail.com>
Allow offset in tree-sitter indent rules to be functions
@@ -5964,7 +8293,7 @@
* lisp/treesit.el (treesit-simple-indent): Try evaluating OFFSET as a
function if it's not integer nor variable.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-15 Yuan Fu <casouri@gmail.com>
Support filling line comments in c-ts-mode
@@ -5978,14 +8307,14 @@
c-ts-mode--fill-block-comment.
(c-ts-mode--fill-block-comment): New extracted function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-15 Eli Zaretskii <eliz@gnu.org>
Fix expansion of wildcards in ls-lisp.el
* lisp/ls-lisp.el (ls-lisp--dired): Fix error message text.
Handle the case of a wildcard specifying directories. (Bug#60819)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-15 Eli Zaretskii <eliz@gnu.org>
Fix messages displayed when diary is shown
@@ -5993,14 +8322,14 @@
"...done" message only if there's no important message in the
echo-area. (Bug#60795)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-14 Theodor Thornhill <theo@thornhill.no>
Add constructor_declaration as java-ts-mode defun
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Extend
treesit-defun-type-regexp.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-01-14 Gregory Heytings <gregory@heytings.org>
Further improvement for non-string values in pcomplete
@@ -6009,7 +8338,7 @@
argument. Return the value, even when it is not a string, when
index is 'last'. Fixes bug#60464.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-14 Juri Linkov <juri@linkov.net>
Fix the case in first-completion revealed by minibuffer-tests
@@ -6019,7 +8348,7 @@
* test/lisp/minibuffer-tests.el (completions-header-format-test):
Revert the recent change.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-14 Theodor Thornhill <theo@thornhill.no>
Fix indent and font-lock for annotation_type
@@ -6028,7 +8357,7 @@
(java-ts-mode--font-lock-settings): Add rule for name in
annotation_type_element_declaration.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
apropos.el: Fix bug#60628
@@ -6038,14 +8367,14 @@
a newline (since that's not the case any more since commit
900b09c0235d54d5), but be more careful not to burp on false positives.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-14 Theodor Thornhill <theo@thornhill.no>
Fix indentation of some declarations and statements
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
rules so that we don't anchor at col 0.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-14 Theodor Thornhill <theo@thornhill.no>
Fix indentation of object_expressions in csharp-ts-mode
@@ -6053,7 +8382,7 @@
sure the opening brace is indented at parent-bol, and everything else
is indented.
-2023-04-15 Xi Lu <lx@shellcodes.org>
+2023-01-14 Xi Lu <lx@shellcodes.org>
Replace 'hfy-find-cmd' with 'directory-files-recursively'.
@@ -6062,7 +8391,7 @@
* lisp/htmlfontify.el (hfy-exclude-file-rules): New defcustom.
(hfy-list-files): Reimplement using 'directory-files-recursively'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-14 Eli Zaretskii <eliz@gnu.org>
Disable and document 'doc-view-mupdf-use-svg' (bug#58041)
@@ -6070,7 +8399,7 @@
* etc/NEWS: Document. Patch by Visuwesh <visuweshm@gmail.com>.
Do not merge to master.
-2023-04-15 Eshel Yaron <me@eshelyaron.com> (tiny change)
+2023-01-14 Eshel Yaron <me@eshelyaron.com> (tiny change)
Eglot: don't use "nil" as minibuffer initial input
@@ -6082,7 +8411,7 @@
* lisp/progmodes/eglot.el (eglot--guess-contact): Tweak prompt for
major mode. (Bug#60379)
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2023-01-14 Paul Eggert <eggert@cs.ucla.edu>
Fix dependency bug when building lwlib
@@ -6092,7 +8421,7 @@
Makefiles" that caused lwlib/*.o to not be rebuilt sometimes
when that was needed.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-13 Yuan Fu <casouri@gmail.com>
Fix use of build_pure_c_string in treesit.c
@@ -6134,14 +8463,14 @@
(syms_of_treesit): Initialize new variables.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2023-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/subr.el (combine-change-calls-1): Fix bug#60467
Don't stop at timestamps. Strip them for now, to be on the safe side.
Don't merge into `master` where we'll use a better fix.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-01-13 Michael Albinus <michael.albinus@gmx.de>
Adapt tramp-tests.el (do not merge with master)
@@ -6149,14 +8478,14 @@
Rename from `tramp--test-docker-p'. Handle also "podman" method.
Adapt callees.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-13 Eli Zaretskii <eliz@gnu.org>
Fix minibuffer-completion tests
* test/lisp/minibuffer-tests.el (completions-header-format-test):
Fix the test which first fired, and then drew the target...
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-01-13 Daniel Martín <mardani29@yahoo.es>
Add c-ts-mode tests
@@ -6166,7 +8495,7 @@
* test/lisp/progmodes/c-ts-mode-tests.el: New file with c-ts-mode
tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-13 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode--fill-paragraph
@@ -6179,7 +8508,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix the
case where there are words before the /*, like the example above.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-13 Eli Zaretskii <eliz@gnu.org>
Fix minor issues with 'pp' and related commands
@@ -6190,7 +8519,7 @@
(pp-eval-expression, pp-macroexpand-expression): Honor
'pp-use-max-width'. (Bug#58687)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-12 Yuan Fu <casouri@gmail.com>
Equal now recognizes tree-sitter nodes (bug#60659)
@@ -6203,18 +8532,18 @@
(Ftreesit_node_eq): Factor out. Update docstring.
* src/treesit.h (treesit_node_eq): Declare new function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-12 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode comment indentation (bug#60270)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Move the
star rule up.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2023-01-12 Sean Whitton <spwhitton@spwhitton.name>
* lisp/subr.el (while-let): Use if-let, not if-let* (bug#60758).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2023-01-12 Gregory Heytings <gregory@heytings.org>
* lisp/simple.el (next-completion): Handle first completion specially.
@@ -6224,7 +8553,7 @@
setting/checking the special text-property 'first-completion' that
is nil at the first call (bug#60411).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-12 Eli Zaretskii <eliz@gnu.org>
Fix encoding with 'utf-8-auto'
@@ -6238,18 +8567,18 @@
'with-coding-priority' instead of 'prefer-coding-system', as the
latter has global persistent effect and affects further tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2023-01-12 Po Lu <luangruo@yahoo.com>
Report cursor correctly on PGTK when there is a margin
* src/pgtkterm.c (pgtk_draw_window_cursor): Adjust frame_x by
the margin width as well.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-01-11 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6.1
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-11 Theodor Thornhill <theo@thornhill.no>
Add support for annotation_type_declaration
@@ -6258,7 +8587,7 @@
(java-ts-mode--font-lock-settings): Add font-locking to the type
feature.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-11 Juri Linkov <juri@linkov.net>
* etc/NEWS: Mention incompatible changes in 'outline-minor-mode-cycle-map'.
@@ -6270,7 +8599,7 @@
(outline-minor-mode): Move margin-cycling keys to
'outline-minor-mode-cycle-map'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-01-11 Philip Kaludercic <philipk@posteo.net>
Ensure VC package names are not empty
@@ -6279,14 +8608,14 @@
(package-vc-install): Avoid generating an empty file name, if a URL
ends with a slash, and raise an error if the package name is empty.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2023-01-11 Philip Kaludercic <philipk@posteo.net>
Handle missing package description when unpacking vc packages
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Create a dummy
descriptor if PKG-DESC is nil.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2023-01-10 Alan Mackenzie <acm@muc.de>
CC Mode: partially revert commit from 2022-10-04
@@ -6298,20 +8627,20 @@
property. This allows the full font-lock mechanism to fontify the buffer
correctly.
-2023-04-15 Manuel Uberti <manuel.uberti@inventati.org>
+2023-01-10 Manuel Uberti <manuel.uberti@inventati.org>
Fix reftex-citation docstring (bug#60710)
* lisp/textmodes/reftex-cite.el (reftex-citation): Fix spelling.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-10 Robert Pluim <rpluim@gmail.com>
Improve 'describe-char-fold-equivalences' docstring
* lisp/char-fold.el (describe-char-fold-equivalences): Explain what
the output looks like.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-01-10 F. Jason Park <jp@neverwas.me>
Remove obsolete server buffers on MOTD in erc-track
@@ -6330,13 +8659,13 @@
* test/lisp/erc/resources/networks/merge-server/track.eld: New test
data. (Bug#60560.)
-2023-04-15 Manuel Uberti <manuel.uberti@inventati.org>
+2023-01-10 Manuel Uberti <manuel.uberti@inventati.org>
Fix completion-auto-help docstring (bug#60709)
* lisp/minibuffer.el (completion-auto-help): Remove extra period.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-10 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode comment indent
@@ -6344,7 +8673,7 @@
(c-ts-mode--comment-2nd-line-matcher): Also make sure PARENT is a
comment node.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-10 Yuan Fu <casouri@gmail.com>
Highlight identifier in import statements in js-ts-mode
@@ -6354,14 +8683,14 @@
* lisp/progmodes/js.el:
(js--treesit-font-lock-settings): Add import query.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-09 Yuan Fu <casouri@gmail.com>
Don't print named tree-sitter nodes with parenthesizes (bug#60696)
* src/print.c (print_vectorlike): Use empty string as delimiters if
the node is named.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-09 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification for import-statements in typescript-ts-mode
@@ -6371,7 +8700,7 @@
(typescript-ts-mode--font-lock-settings): Add rules to highlight the
actual imports in import-statements.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-09 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode indentation for 2nd line in block comment (bug#60270)
@@ -6393,14 +8722,14 @@
prev-adaptive-prefix doesn't handle the comment-start-skip case (i.e,
2nd line) anymore. (Handled by the new matcher.)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-09 Juri Linkov <juri@linkov.net>
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Check for limit.
This check is necessary since 'diff-beginning-of-hunk' can move
not only backwards, but also forwards (bug#60660).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-09 Yuan Fu <casouri@gmail.com>
Minor improvement for tree-sitter explorer
@@ -6416,7 +8745,7 @@
* lisp/treesit.el (treesit--explorer-refresh): See above.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-09 Yuan Fu <casouri@gmail.com>
Make sure NODE is not the root node in tree-sitter indent (bug#60602)
@@ -6436,7 +8765,7 @@
* lisp/treesit.el (treesit-indent-function): Update docstring.
(treesit--indent-1): Make sure NODE is not the root.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-08 Yuan Fu <casouri@gmail.com>
Fix label indent of GNU and Linux style in c-ts-mode (bug#60543)
@@ -6447,7 +8776,7 @@
style.
(c-ts-mode--top-level-label-matcher): New function.
-2023-04-15 Evgeni Kolev <evgenysw@gmail.com>
+2023-01-08 Evgeni Kolev <evgenysw@gmail.com>
Improve go-ts-mode Imenu, navigation and electric pair (bug#60407)
@@ -6468,7 +8797,7 @@
(go-ts-mode): Improve Imenu settings, navigation, add Electric Pair
mode settings.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-08 Yuan Fu <casouri@gmail.com>
Revert "Add c-or-c++-ts-mode (bug#59613)"
@@ -6476,7 +8805,7 @@
I forgot about the feature freeze, sorry :-)
-2023-04-15 Benson Chu <bensonchu457@gmail.com> (tiny change)
+2023-01-08 Benson Chu <bensonchu457@gmail.com> (tiny change)
Add back renamed function 'font-lock-fontify-syntactically-region'
@@ -6489,7 +8818,7 @@
* lisp/font-lock.el (font-lock-fontify-syntactically-region):
Add function back, remove its obsolete alias.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-08 Eli Zaretskii <eliz@gnu.org>
Improve options and docs of M-x command completion
@@ -6499,11 +8828,11 @@
(execute-extended-command): Mention
'read-extended-command-predicate' in the doc string. (Bug#60645)
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-01-07 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6-90-ga6523f
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Fix string fontification on python-ts-mode (bug#60599)
@@ -6511,7 +8840,7 @@
(python--treesit-fontify-string): Generalize and skip anything
before the first quote character.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Fix string-interpolation feature of python-ts-mode (bug#60599)
@@ -6520,14 +8849,14 @@
(python--treesit-settings): Use the new function for
string-interpolation.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-07 Theodor Thornhill <theo@thornhill.no>
Add indentation rule for concatenated_string (bug#60572)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent to
parent-bol.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-07 Jostein Kjønigsen <jostein@kjonigsen.net>
Fix highlighting of variable-declarations in typescript-ts-mode
@@ -6540,7 +8869,7 @@
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): See above.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Fix label indentation for Linux style in c-ts-mode (bug#60543)
@@ -6554,7 +8883,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent label
to column 1 in Linux style.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Remove duplicate entries in c-ts-mode's Imenu
@@ -6566,7 +8895,7 @@
(c-ts-mode--defun-for-class-in-imenu-p): New function.
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Use the new function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Fix use of treesit-ready-p in c/c++-ts-mode
@@ -6574,7 +8903,7 @@
(c-ts-mode)
(c++-ts-mode): Put setup code in a when form.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Add documentation for c/c++-ts-mode (bug#60443)
@@ -6584,7 +8913,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode)
(c++-ts-mode): Update docstring.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-07 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts--font-lock-settings): Improve highlighting in patterns
@@ -6593,7 +8922,7 @@
variable in the usual case; highlight keys when no value;
highlight the "as pattern" variable.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Optionally include the namespace in c-ts-mode--declarator-identifier
@@ -6603,7 +8932,7 @@
(c-ts-mode--declarator-identifier): New parameter QUALIFIED.
(c-ts-mode--defun-name): Use qualified identifier.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Support namespaces in c++-ts-mode (bug#60397)
@@ -6614,7 +8943,7 @@
(c-ts-base-mode): Add namespace_definition to
treesit-defun-type-regexp.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode--looking-at-star
@@ -6624,7 +8953,7 @@
the character after point but character after BOL. Otherwise
indentation is wrong when point is not at BOL.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2023-01-07 Yuan Fu <casouri@gmail.com>
Add c-or-c++-ts-mode (bug#59613)
@@ -6633,7 +8962,7 @@
(c-or-c++-ts-mode): New mode.
* etc/NEWS: Mention c-or-c++-ts-mode.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-07 Eli Zaretskii <eliz@gnu.org>
Document the 'definition-name' property.
@@ -6643,14 +8972,14 @@
use 'definition-name' when generating function definitions at run
time. (Bug#60568)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-07 Dmitry Gutov <dgutov@yandex.ru>
(treesit-simple-indent-presets): Do that for 'or' as well.
* lisp/treesit.el
(treesit-simple-indent-presets): Do that for 'or' as well.
-2023-04-15 kobarity <kobarity@gmail.com>
+2023-01-07 kobarity <kobarity@gmail.com>
Fix 'python-shell-buffer-substring' when START is in middle of 1st line
@@ -6660,7 +8989,7 @@
* test/lisp/progmodes/python-tests.el
(python-shell-buffer-substring-18): New test.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2023-01-07 Manuel Giraud <manuel@ledu-giraud.fr>
Rearrange the "Saving Emacs Sessions" section of the user manual
@@ -6668,14 +8997,14 @@
node more logically with main behavior and important features
near the top. (Bug#60600)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-06 Dmitry Gutov <dgutov@yandex.ru>
(treesit-simple-indent-presets): Ensure 'and' works for anchors too
* lisp/treesit.el (treesit-simple-indent-presets):
Rewrite to return the last successful evaluation, not just t.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-06 Dmitry Gutov <dgutov@yandex.ru>
(treesit--indent-rules-optimize): Optimize 'and' and 'or' matcher forms
@@ -6684,7 +9013,7 @@
matcher inside (as is the case in ruby-ts--indent-rules, many
times over), this yields a significant performance boost.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-06 Dmitry Gutov <dgutov@yandex.ru>
(treesit-simple-indent-presets): Short-circuit 'and' and 'or'
@@ -6692,7 +9021,7 @@
Short-circuit the 'and' and 'or' matchers. To avoid calling all
fns after one returned nil or truthy value, respectively.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-06 Dmitry Gutov <dgutov@yandex.ru>
(font-lock-regexp-face): New face
@@ -6706,7 +9035,7 @@
* etc/NEWS: Mention the addition.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-06 Dmitry Gutov <dgutov@yandex.ru>
Unify the string interpolation delimiters face across ts modes
@@ -6717,7 +9046,7 @@
Use font-lock-misc-punctuation-face for string interpolation
delimiters.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-06 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Highlight more kinds of parameters
@@ -6728,7 +9057,7 @@
Move the 'symbol' matchers lower to make 'hash_key_symbol' lower
priority than hash keys in match patterns.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2023-01-06 Robert Pluim <rpluim@gmail.com>
Fix `pr-interface'
@@ -6741,7 +9070,7 @@
* test/lisp/wid-edit-tests.el (widget-test-handle-spurious-inline):
Add test to ensure that unnecessary :inline is allowed.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-06 Jostein Kjønigsen <jostein@kjonigsen.net>
Further generic-related improvements in csharp-ts-mode (bug#60376)
@@ -6750,7 +9079,7 @@
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
New rules.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-05 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Highlight method and block parameters
@@ -6758,7 +9087,7 @@
Add rules for method and block parameters.
(ruby-ts-mode): Add corresponding feature.
-2023-04-15 Perry Smith <pedz@easesoftware.com>
+2023-01-05 Perry Smith <pedz@easesoftware.com>
ruby-ts-mode: Highlight variable assignments
@@ -6768,14 +9097,14 @@
the level 3 for consistency with other ts modes.
Update the Commentary as well.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-05 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Move 'self' and 'super' from constants to keywords
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Move 'self' and 'super' from constants to keywords.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-05 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts-mode): Split font-lock feature 'builtin' into two
@@ -6789,7 +9118,7 @@
(ruby-ts--predefined-constants, ruby-ts--predefined-variables):
Fix docstrings.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-05 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violation due to fill-column indicator face
@@ -6797,7 +9126,7 @@
iterator metrics for the stretch glyph, the one unaffected by the
'fill-column-indicator' face. (Bug#60580)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-05 Juri Linkov <juri@linkov.net>
* lisp/cedet/semantic/symref/grep.el: Support ts-modes (bug#60525)
@@ -6805,7 +9134,7 @@
c-mode -> c-ts-mode, c++-mode -> c++-ts-mode, ruby-mode -> ruby-ts-mode,
python-mode -> python-ts-mode.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-05 Eli Zaretskii <eliz@gnu.org>
Make 'toml-ts-mode' optional
@@ -6814,18 +9143,18 @@
* lisp/textmodes/toml-ts-mode.el (auto-mode-alist): Don't autoload
the addition of 'toml-ts-mode'. (Bug#60559)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-01-04 Michael Albinus <michael.albinus@gmx.de>
Fix bug in Tramp multi-hop
* lisp/net/tramp.el (tramp-compute-multi-hops): Make check for
host name more robust. (Bug#60499)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2023-01-04 Michael Albinus <michael.albinus@gmx.de>
* lisp/files.el (find-sibling-rules): Fix docstring.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2023-01-04 Juri Linkov <juri@linkov.net>
Tree-sitter doc fixes (bug#60524)
@@ -6843,7 +9172,7 @@
duplicated from CONDITION.
(treesit)<define-short-documentation-group>: Fix function names.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-01-04 Daniel Martín <mardani29@yahoo.es>
Fontify C++ function definitions in c-ts-mode (bug#60529)
@@ -6854,7 +9183,7 @@
identifier in a function declarator is buried inside
"qualifier_identifier" nodes.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-03 Dmitry Gutov <dgutov@yandex.ru>
(ruby-ts-add-log-current-function): Fix when between two methods
@@ -6872,11 +9201,11 @@
(ruby-add-log-current-method-outside-of-method):
Mirror that change.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2023-01-03 Sean Whitton <spwhitton@spwhitton.name>
* lisp/vc/vc-git.el (vc-git-checkin): Pass vc-git-diff-switches.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-02 Dmitry Gutov <dgutov@yandex.ru>
Extract common code into ruby-base-mode to derive from
@@ -6890,7 +9219,7 @@
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Derive from ruby-base-mode. Remove duplicating settings.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-02 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Indentation fixes
@@ -6899,7 +9228,7 @@
(ruby-ts--indent-rules): Indent the curly block closer the same
way as the 'do ... end' closer.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-02 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts--font-lock-settings: Use more standard faces
@@ -6907,7 +9236,7 @@
Use more standard faces for regexp literals and string
interpolation delimiters (following js-ts-mode).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-02 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Standardize the string literal highlights
@@ -6917,14 +9246,14 @@
for symbol array literals, %i().
Combine the matchers for string content and heredocs.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2023-01-02 Theodor Thornhill <theo@thornhill.no>
Improve fontification in java-ts-mode (bug#60492)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
Add expression_statement with only identifier support.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-02 Jostein Kjønigsen <jostein@kjonigsen.net>
Fontification improvements in typescript-ts-mode (bug#60500)
@@ -6937,7 +9266,7 @@
(typescript-ts-mode--font-lock-settings): Update rules.
(typescript-ts-mode, tsx-ts-mode): Update feature list.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-02 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification consistency in js-ts-mode (bug#60503)
@@ -6945,21 +9274,21 @@
declared parameters in functions, methods and arrow-expressions as
variables.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-02 Dmitry Gutov <dgutov@yandex.ru>
(typescript/tsx-ts-mode): Split font-lock feature list into 4 values
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode)
(tsx-ts-mode): Split font-lock feature list into 4 values.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-02 Dmitry Gutov <dgutov@yandex.ru>
js-ts-mode: Move 'string-interpolation' to font-lock level 3
* lisp/progmodes/js.el (js-ts-mode):
Move 'string-interpolation' to font-lock level 3.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-02 Eli Zaretskii <eliz@gnu.org>
Fix shrinking of the tab-bar
@@ -6971,7 +9300,7 @@
tab-bar lines degenerate to zero due to integer division.
(Bug#60210)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2023-01-02 F. Jason Park <jp@neverwas.me>
Fix default-port regression in erc-select-read-args
@@ -6987,11 +9316,11 @@
password prompt and sometimes a non-TLS port when `erc' called
interactively. (Bug#60428.)
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2023-01-01 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6-81-g563a43
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-01 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Remove some currently unused functions
@@ -6999,14 +9328,14 @@
(ruby-ts--ancestor-start, ruby-ts--ancestor-is):
Remove some currently unused functions.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2023-01-01 Dmitry Gutov <dgutov@yandex.ru>
ruby-ts-mode: Highlight singleton method definitions and setters
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Highlight singleton method definitions and setters.
-2023-04-15 Perry Smith <pedz@easesoftware.com>
+2023-01-01 Perry Smith <pedz@easesoftware.com>
Dmitry Gutov <dgutov@yandex.ru>
Add ruby-ts-mode
@@ -7020,7 +9349,7 @@
* lisp/progmodes/eglot.el (eglot-server-programs):
Add ruby-ts-mode to the Ruby entry.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2023-01-01 Daniel Martín <mardani29@yahoo.es>
Fix fontification of C++ reference return types (bug#60441)
@@ -7028,7 +9357,7 @@
reference_declarator nodes the same as pointer_declarator nodes when
calculating the identifier to fontify.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2023-01-01 Jostein Kjønigsen <jostein@kjonigsen.net>
Adjust function-call fontification in csharp-ts-mode (bug#60376)
@@ -7043,7 +9372,7 @@
Change rules.
(csharp-ts-mode): Update feature list.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-01 Eli Zaretskii <eliz@gnu.org>
Rewrite Antinews in ELisp manual for Emacs 29
@@ -7051,14 +9380,14 @@
* doc/lispref/elisp.texi (Top): Update the top-level menu for
Antinews.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-01 Eli Zaretskii <eliz@gnu.org>
Update Antinews in the user manual for Emacs 29
* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 29.
* doc/emacs/emacs.texi (Top): Adjust the top-level menu.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2023-01-01 Mattias Engdegård <mattiase@acm.org>
Fix shortdoc-tests failure with respect to regexp-opt-charset
@@ -7066,7 +9395,7 @@
`regexp-opt-charset` is not autoloaded, and whether `regexp-opt` is
preloaded is configuration-dependent.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-01 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'isearch-open-overlay-temporary'
@@ -7074,7 +9403,7 @@
the overlay passed to the 'isearch-open-invisible-temporary'
function cannot be deleted too early. (Bug#60399)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2023-01-01 Eli Zaretskii <eliz@gnu.org>
Document 'use-package' in the 2 main manuals
@@ -7082,7 +9411,7 @@
* doc/lispref/loading.texi (Named Features): Document 'use-package'
and its most important features.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-31 Yuan Fu <casouri@gmail.com>
Build recipe interactively in treesit-install-language-grammar
@@ -7093,7 +9422,7 @@
New functions.
(treesit-install-language-grammar): Use the new function.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-31 Theodor Thornhill <theo@thornhill.no>
Tweak csharp-mode font-lock-settings (bug#60376)
@@ -7101,14 +9430,14 @@
Rearrange features.
(csharp-ts-mode): Rearrange features.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-31 Eli Zaretskii <eliz@gnu.org>
Revert a recent change which causes errors
* lisp/subr.el (buffer-match-p): Undo last change, as it causes an
error in a timer function of show-paren-mode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-31 Stefan Kangas <stefankangas@gmail.com>
Fix misspelled functions in shortdoc groups
@@ -7117,7 +9446,7 @@
* test/lisp/emacs-lisp/shortdoc-tests.el (subr-x): Require.
(shortdoc-all-functions-fboundp): New test.
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2022-12-31 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Simplify introduction of use-package manual
@@ -7125,7 +9454,7 @@
the package, since the macro is autoloaded; also correct the macro's
name. (Bug#60366)
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-12-31 kobarity <kobarity@gmail.com>
Fix python-shell-buffer-substring when retrieving a single statement
@@ -7138,7 +9467,7 @@
(python-shell-buffer-substring-16, python-shell-buffer-substring-17):
New tests. (Bug#60142)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-30 Yuan Fu <casouri@gmail.com>
Show tree-sitter query source when signaling query error
@@ -7147,7 +9476,7 @@
(treesit_ensure_query_compiled)
(Ftreesit_query_capture): Add query source.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-30 Dmitry Gutov <dgutov@yandex.ru>
Add version tags and mention the new options in NEWS
@@ -7157,7 +9486,7 @@
(ruby-after-operator-indent, ruby-method-call-indent)
(ruby-parenless-call-arguments-indent): Add version tags.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-30 Dmitry Gutov <dgutov@yandex.ru>
Add new options for Ruby code indentation
@@ -7177,7 +9506,7 @@
* test/lisp/progmodes/ruby-mode-tests.el: Add indentation tests for new files.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-30 Yuan Fu <casouri@gmail.com>
Add treesit-install-language-grammar
@@ -7189,7 +9518,7 @@
(treesit--call-process-signal)
(treesit--install-language-grammar-1): New functions.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-30 Yuan Fu <casouri@gmail.com>
Add treesit-language-abi-version
@@ -7200,7 +9529,7 @@
* src/treesit.c (Ftreesit_library_abi_version): Rename.
(Ftreesit_language_abi_version): New function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-30 Yuan Fu <casouri@gmail.com>
Change "language definition" to "language grammar" in manual.
@@ -7216,24 +9545,24 @@
* doc/lispref/parsing.texi:
* lisp/treesit.el: Change "language definition" to "language grammar".
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-30 Michael Albinus <michael.albinus@gmx.de>
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command): Fix test.
* lisp/eshell/em-tramp.el (tramp): Require also at runtime. (Bug#60402)
-2023-04-15 Roland Winkler <winkler@gnu.org>
+2022-12-30 Roland Winkler <winkler@gnu.org>
lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)
lisp/textmodes/bibtex.el (bibtex-beginning-of-entry):
use bibtex-any-entry-maybe-empty-head (bug#56636)
-2023-04-15 Roland Winkler <winkler@gnu.org>
+2022-12-30 Roland Winkler <winkler@gnu.org>
lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTeX fields (bug#50202)
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-29 Gregory Heytings <gregory@heytings.org>
Clarify the documentation of 'set-face-attribute'
@@ -7246,7 +9575,7 @@
with that of the docstring, whose changes were discussed in
bug#57499 but not included in the manual.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-29 Gregory Heytings <gregory@heytings.org>
Handle non-string values in pcomplete
@@ -7255,7 +9584,7 @@
return the string the user typed in, and attach the value as a
text property to that string. Fixes bug#59956 and bug#60021.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-29 Gregory Heytings <gregory@heytings.org>
Fix completion when completion-auto-select is set
@@ -7263,24 +9592,24 @@
"Complete, but not unique" messages when completion-auto-select is
set. Fixes bug#60359.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-29 Yuan Fu <casouri@gmail.com>
Add color fontification in css-ts-mode (bug#60405)
* lisp/textmodes/css-mode.el (css-ts-mode): Add color fontification
and syntax-propertize-function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-29 Juri Linkov <juri@linkov.net>
* lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (bug#60241).
Handle two cases: when a pattern is a regexp or a function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-29 Juri Linkov <juri@linkov.net>
* src/keyboard.c (echo_add_key): Use recently rebound C-h key C-q (bug#60249)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-29 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in treesit.c with --enable-checking
@@ -7289,14 +9618,14 @@
positions before converting them to byte-positions, to avoid
assertion violations in buf_charpos_to_bytepos.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-29 Yuan Fu <casouri@gmail.com>
Clean up treesit-default-defun-skipper and add comments
* lisp/treesit.el (treesit-default-defun-skipper): Clean up, fix some
small issue, add comment.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-29 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode bracket indentation (bug#60398)
@@ -7304,7 +9633,7 @@
anchor.
(c-ts-mode--bracket-children-anchor): New anchor function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-28 Yuan Fu <casouri@gmail.com>
Clean up font-lock rules in js-ts-mode
@@ -7325,7 +9654,7 @@
(js--treesit-fontify-assignment-lhs): New functions.
(js-ts-mode): Update feature list.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-28 Yuan Fu <casouri@gmail.com>
Fix syntax for < and > in c++-ts-mode (bug#60351)
@@ -7338,7 +9667,7 @@
(c-ts-mode--syntax-propertize): New function.
(c++-ts-mode): Remove syntax table. Setup syntax-propertize-function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-28 Yuan Fu <casouri@gmail.com>
Call tree-sitter parser notifier on the first parse
@@ -7346,7 +9675,7 @@
old_tree.
(treesit_ensure_parsed): Remove check for NULL tree.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-28 Yuan Fu <casouri@gmail.com>
Fix tree-sitter parser notifier recursion
@@ -7356,7 +9685,7 @@
circuit to the very beginning. Move the call to
treesit_call_after_change_functions to the very end.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-28 Juri Linkov <juri@linkov.net>
* lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' window (bug#60249).
@@ -7366,7 +9695,7 @@
(help-quit-or-quick): Remove command.
(help-for-help): Replace help-quick-or-quit with help-quick-toggle.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-28 Juri Linkov <juri@linkov.net>
* lisp/isearch.el: Small fixes.
@@ -7377,7 +9706,7 @@
(isearch-delete-char): Use 'isearch-invisible' instead of 'search-invisible'
since the users might change the current value with 'M-s i'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-28 Juri Linkov <juri@linkov.net>
* lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace "ESC" with "\e".
@@ -7385,30 +9714,30 @@
But actually now 'key-description' is used in 'diff-minor-mode-map'
to convert "\e" to "ESC".
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-28 Juri Linkov <juri@linkov.net>
* doc/emacs/display.texi (Text Scale): Improve section about repeating keys.
Mention that it's possible to use repeating keys without the modifiers
and copy an example from etc/NEWS.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-28 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (repeat-echo-function): Suggest 'add-function' in docstring.
(bug#60353)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-28 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el (tab-line-cache-key-default): More cache keys (bug#60340).
Move more cache keys here from 'tab-line-format' to give users more freedom.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-12-28 Stefan Monnier <monnier@iro.umontreal.ca>
* etc/package-keyring.gpg: Update with new key
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-28 F. Jason Park <jp@neverwas.me>
Warn of absent networks module in ERC
@@ -7439,7 +9768,7 @@
* test/lisp/erc/resources/networks/no-module/basic.eld: New test data
file. (Bug#60331.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-28 F. Jason Park <jp@neverwas.me>
Avoid "already compiled" warning in erc-compat
@@ -7448,7 +9777,7 @@
noisy in tests. Ditch closed-over vars via HOF instead of suppressing
because compiling emits "unused lexical" warning on Emacs 27.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-28 Dmitry Gutov <dgutov@yandex.ru>
(python--treesit-settings): Remove duplicate matcher
@@ -7456,7 +9785,7 @@
duplicate matcher (which found itself under 'function' in addition
to 'definition').
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-28 Eli Zaretskii <eliz@gnu.org>
Make last change of w32 GUI dialogs conditional and reversible
@@ -7470,7 +9799,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-28 Yuan Fu <casouri@gmail.com>
Fix tree-sitter typos
@@ -7479,7 +9808,7 @@
* test/src/treesit-tests.el (treesit-defun-navigation-nested-4): Fix
typo.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-27 Yuan Fu <casouri@gmail.com>
Update tree-sitter major modes to use the new Imenu facility
@@ -7520,7 +9849,7 @@
(toml-ts-mode--imenu): Remove functions.
(toml-ts-mode): Setup Imenu.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-27 Yuan Fu <casouri@gmail.com>
Add tree-sitter helper functions for Imenu
@@ -7541,7 +9870,7 @@
(treesit-simple-imenu): New functions.
(treesit-major-mode-setup): Setup Imenu.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-27 Yuan Fu <casouri@gmail.com>
Fix treesit--things-around (bug#60355)
@@ -7558,7 +9887,7 @@
(treesit--ert-defun-navigation-elixir-program): New variable.
(treesit-defun-navigation-nested-4): New test.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-27 Yuan Fu <casouri@gmail.com>
Improve treesit-node-top-level and treesit-parent-until
@@ -7566,18 +9895,18 @@
predicate function. Add an optional argument INCLUDE-NODE.
(treesit-parent-until): Add an optional argument INCLUDE-NODE.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-27 Eli Zaretskii <eliz@gnu.org>
* src/w32menu.c (simple_dialog_show): Use MB_YESNOCANCEL style.
-2023-04-15 Xi Lu <lx@shellcodes.org>
+2022-12-27 Xi Lu <lx@shellcodes.org>
Fix htmlfontify.el command injection vulnerability.
* lisp/htmlfontify.el (hfy-text-p): Fix command injection
vulnerability. (Bug#60295)
-2023-04-15 Rudolf AdamkoviÄ <salutis@me.com>
+2022-12-27 Rudolf AdamkoviÄ <salutis@me.com>
Improve support for Scheme R6RS and R7RS libraries (bug#54704)
@@ -7590,7 +9919,7 @@
Imenu recognize the members nested (and so indented) inside of
'library' (R6RS) or 'define-library' (R7RS) forms.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-26 Yuan Fu <casouri@gmail.com>
Add a new tree-sitter query predicate 'pred'
@@ -7635,7 +9964,7 @@
helper function.
(treesit-query-api): Test #pred predicate.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-26 Stefan Kangas <stefankangas@gmail.com>
Improve gnutls-min-prime-bits docstring
@@ -7645,7 +9974,7 @@
bits. These days, the default is nil, which means to let GnuTLS
decide the value. (See also `nsm-protocol-check--dhe-prime-kx`.)
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-26 Gregory Heytings <gregory@heytings.org>
Improve handling of tab-bar height.
@@ -7653,7 +9982,7 @@
not 'grow-only', also consider the case when the tab-bar height
needs to shrink. Fixes bug#60210.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-26 Eli Zaretskii <eliz@gnu.org>
Simplify last change (bug#60311)
@@ -7666,7 +9995,7 @@
* lisp/subr.el (json-available-p): Simplify.
-2023-04-15 Mattias Engdegård <mattias.engdegard@gmail.com>
+2022-12-26 Mattias Engdegård <mattias.engdegard@gmail.com>
Fix 'json-available-p' on MS-Windows
@@ -7678,7 +10007,7 @@
* lisp/subr.el (json-available-p): Rewrite.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-12-26 Kyle Meyer <kyle@kyleam.com>
loaddefs-gen: Group results by absolute file name
@@ -7695,7 +10024,7 @@
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Expand file
names when grouping loaddef files.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-26 Yuan Fu <casouri@gmail.com>
Fix imenu for c-ts-mode (bug#60296)
@@ -7703,7 +10032,7 @@
c-ts-mode--defun-valid-p to filter out nested matches.
(c-ts-mode--defun-valid-p): Handle more types of nodes.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-26 Yuan Fu <casouri@gmail.com>
Clean up python-ts-mode font-lock features
@@ -7714,7 +10043,7 @@
(python--treesit-fontify-variable): New functions.
(python-ts-mode): Add function and variable feature.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-26 Yuan Fu <casouri@gmail.com>
Add comment indent and filling to other tree-sitter major modes
@@ -7740,14 +10069,14 @@
(typescript-ts-mode--indent-rules): New indent rules.
(typescript-ts-base-mode): Use new setup function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-26 Yuan Fu <casouri@gmail.com>
Add maintainer stub for tree-sitter files
* lisp/treesit.el:
* src/treesit.c: Add maintainer.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-25 Gregory Heytings <gregory@heytings.org>
Remove remaining mentions of 'eval-current-buffer'
@@ -7757,11 +10086,11 @@
Remove remaining mentions of 'eval-current-buffer', obsoleted in
Emacs 22 and removed in Emacs 26.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-12-25 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6-61-g63e073f
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-25 Philip Kaludercic <philipk@posteo.net>
Add heuristic to locate lisp code in source packages
@@ -7770,7 +10099,7 @@
(Bug#60155)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-25 Yuan Fu <casouri@gmail.com>
Further generalize treesit-defun functions
@@ -7787,7 +10116,7 @@
(treesit-defun-at-point): Adjust for the new signature of
treesit-thing-at-point.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-25 Yuan Fu <casouri@gmail.com>
Generalize treesit-defun functions to "things"
@@ -7803,7 +10132,7 @@
(treesit-thing-at-point): Generalized from treesit-defun-at-point.
(treesit-defun-at-point): Use treesit-thing-at-point to do tht work.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-25 Philip Kaludercic <philipk@posteo.net>
Reorder optional arguments to 'package-vc-install'
@@ -7811,7 +10140,7 @@
Update 'package-vc-install' invocation.
(package-vc-install): Reorder and update documentation.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-25 Philip Kaludercic <philipk@posteo.net>
Handle missing dependencies for source packages
@@ -7825,7 +10154,7 @@
note which packages couldn't be found, and warn the user that these
will be missing.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode imenu defun name (bug#60296)
@@ -7837,14 +10166,14 @@
(c-ts-mode--fontify-defun): Extract out.
(c-ts-mode--defun-name): Use the new function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Fix treesit--children-covering-range-recurse (bug#60301)
* lisp/treesit.el (treesit--children-covering-range-recurse): Always
return a list of node.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Support treesit-defun-name in tree-sitter major modes
@@ -7881,7 +10210,7 @@
(toml-ts-mode--imenu-1): Extract into new function.
(toml-ts-mode): Setup treesit-defun-name-function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Add treesit-defun-name and friends
@@ -7903,7 +10232,7 @@
(treesit-defun-name): New functions.
(treesit-major-mode-setup): Setup add-log-current-defun-function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Make treesit-node-at/on guess language at point
@@ -7916,11 +10245,11 @@
(treesit-node-on): Guess language at point. Update docstring.
(treesit-buffer-root-node): Update docstring.
-2023-04-15 Óscar Fuentes <ofv@wanadoo.es>
+2022-12-24 Óscar Fuentes <ofv@wanadoo.es>
* nt/INSTALL.W64: update instructions for setting up W64 environment
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-24 Eli Zaretskii <eliz@gnu.org>
Revert "; Bump minimum supported Windows version for MinGW64 to Windows 10."
@@ -7929,7 +10258,7 @@
is the minimum supported version, even though MinGW-w64 switched
to Windows 10 as the default target in January 2022.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-24 Eli Zaretskii <eliz@gnu.org>
Fix definition of CNS 11643-15 charset
@@ -7938,7 +10267,7 @@
* lisp/international/characters.el: Add chinese-cns11643-15 to
charsets whose characters have categories c and C.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Improve c-ts-mode block comment indent (bug#60270)
@@ -7955,7 +10284,7 @@
(c-ts-mode--looking-at-star): New matcher.
(c-ts-mode--comment-start-after-first-star): New anchor.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Fix block comment indent and filling for c-ts-mode (bug#59763)
@@ -7972,7 +10301,7 @@
(c-ts-base-mode): Setup paragraph-start, adaptive-fill, etc.
* lisp/treesit.el (treesit-simple-indent-presets): Add new preset.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-24 Yuan Fu <casouri@gmail.com>
Fix treesit_cursor_helper (bug#60267)
@@ -8009,35 +10338,35 @@
(Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Use the new signature.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-12-24 Paul Eggert <eggert@cs.ucla.edu>
Fix restart-emacs alarms (Bug#60220)
* src/emacs.c (Fkill_emacs): Turn timers off before execing,
so that the re-execed Emacs doesn’t get a timer alarm.
-2023-04-15 Florian Weimer <fweimer@redhat.com>
+2022-12-24 Florian Weimer <fweimer@redhat.com>
Fix alternate stack test in configure
* configure.ac (emacs_cv_alternate_stack): Include <stdlib.h>
for 'malloc's prototype.
-2023-04-15 Xi Lu <lx@shellcodes.org>
+2022-12-24 Xi Lu <lx@shellcodes.org>
Add more functions to "string" shortdoc
* lisp/emacs-lisp/shortdoc.el: Add 'string-or-null-p',
'char-or-string-p', 'char-uppercase-p'. (Bug#60279)
-2023-04-15 Yaraslau Tamashevich <yaraslau.tamashevich@gmail.com> (tiny change)
+2022-12-24 Yaraslau Tamashevich <yaraslau.tamashevich@gmail.com> (tiny change)
Make the Contour terminal an alias of xterm-256color
* lisp/faces.el (term-file-aliases): Make the Contour terminal an
alias of xterm-256color. (Bug#60278)
-2023-04-15 glacials <ben@twos.dev> (tiny change)
+2022-12-24 glacials <ben@twos.dev> (tiny change)
Correct wrong info in (info)Go to node
@@ -8049,14 +10378,14 @@
* doc/misc/info.texi (Go to node): Fix inaccurate information.
(Bug#60263)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-24 Eli Zaretskii <eliz@gnu.org>
Fix typo in TUTORIAL.fr (bug#60261)
* etc/tutorials/TUTORIAL.fr: Fix typo. Reported by
Clément Escude--Cotinat <clement.escudecotinat@yahoo.fr>.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-24 Daniel Martín <mardani29@yahoo.es>
Add some diff-fixup-modifs tests
@@ -8065,7 +10394,7 @@
* test/lisp/vc/diff-mode-tests.el (diff-mode-test-fixups-empty-hunks):
Ditto for patches with empty hunks. (Bug#60259)
-2023-04-15 Ulrich Müller <ulm@gentoo.org>
+2022-12-24 Ulrich Müller <ulm@gentoo.org>
Fix quoted argument in emacsclient-mail.desktop Exec key
@@ -8087,7 +10416,7 @@
* etc/emacsclient.desktop (Exec): Use `sh` rather than `placeholder`
as the command name of the shell wrapper. (Bug#60204)
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-12-24 Richard Hansen <rhansen@rhansen.org>
ert-x: Move window selection logic to its own macro
@@ -8103,21 +10432,21 @@
(ert-test-with-buffer-selected/return-value): Add tests.
(Bug#60189)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-24 Po Lu <luangruo@yahoo.com>
Fix crash after X error
* src/xdisp.c (redisplay_internal): Catch another crash if
gcscrollbars after an X error.
-2023-04-15 Xi Lu <lx@shellcodes.org>
+2022-12-23 Xi Lu <lx@shellcodes.org>
Fix ruby-mode.el local command injection vulnerability (bug#60268)
* lisp/progmodes/ruby-mode.el
(ruby-find-library-file): Fix local command injection vulnerability.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-23 Eli Zaretskii <eliz@gnu.org>
Fix "C-h k" in recursive minibuffers
@@ -8127,7 +10456,7 @@
this function, see commit c1cead89f5f. Call posn-at-point with
the minibuffer-window when in the minibuffer. (Bug#60252)
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-12-22 Sean Whitton <spwhitton@spwhitton.name>
vc-git-checkin: Don't try to apply an empty patch
@@ -8136,7 +10465,7 @@
(cherry picked from commit 1424342225ef5b18c630364dd88e004f4ebb1c7f)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-22 Michael Albinus <michael.albinus@gmx.de>
Update Tramp version (don't merge with master)
@@ -8145,14 +10474,14 @@
(customize-package-emacs-version-alist):
Adapt Tramp version integrated in Emacs 29.1.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-22 João Távora <joaotavora@gmail.com>
Eglot: eglot--servers-by-xrefed-file doesn't need to be value-weak
* lisp/progmodes/eglot.el (eglot--servers-by-xrefed-file): Doesn't
need to be weak.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-22 João Távora <joaotavora@gmail.com>
Prevent stale servers when using eglot-extend-to-xref
@@ -8177,11 +10506,11 @@
(eglot--on-shutdown): Make sure to cleanup
eglot--servers-by-xrefed-file.
-2023-04-15 Xi Lu <lx@shellcodes.org>
+2022-12-22 Xi Lu <lx@shellcodes.org>
* etc/tutorials/TUTORIAL.cn: Fix typos. (Bug#60221)
-2023-04-15 Benson Chu <bensonchu457@gmail.com> (tiny change)
+2022-12-22 Benson Chu <bensonchu457@gmail.com> (tiny change)
Add alias for removed font-lock function
@@ -8192,13 +10521,13 @@
* lisp/font-lock.el (font-lock-fontify-syntactically-region): Add
obsolete alias for the renamed function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-22 Yuan Fu <casouri@gmail.com>
Set beginning/end-of-defun-function in treesit-major-mode-setup
* lisp/treesit.el (treesit-major-mode-setup): Set them.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-22 Yuan Fu <casouri@gmail.com>
Add treesit-defun-at-point and fix c-ts-mode-indent-defun
@@ -8206,7 +10535,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-defun): Implement with
treesit-defun-at-point.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-22 Juri Linkov <juri@linkov.net>
Use the new keyword ':repeat' in repeatable keymaps.
@@ -8231,7 +10560,7 @@
* lisp/keymap.el (defvar-keymap): Check for 'props'
that is used in 'defvar-form'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-12-21 Jim Porter <jporterbugs@gmail.com>
When redirecting in Eshell, check for "/dev/null" specifically
@@ -8246,28 +10575,28 @@
* lisp/eshell/esh-io.el (eshell-set-output-handle): Use "/dev/null"
literally.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-12-21 Andrea Corallo <akrl@sdf.org>
* Invoke spawed Emacs processes with '-Q' when native compiling (bug#60208)
* lisp/emacs-lisp/comp.el (comp-final): Invoke spawned Emacs with '-Q'.
(comp-run-async-workers): Likewise.
-2023-04-15 montag451 <montag451@laposte.net> (tiny change)
+2022-12-21 montag451 <montag451@laposte.net> (tiny change)
Fix Eshell electric slash when used from the root directory of a remote host
* lisp/eshell/em-elecslash.el (eshell-electric-forward-slash): Insert
the remote prefix as determined by 'file-remote-p'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-21 Eli Zaretskii <eliz@gnu.org>
Fix the --without-all build with tree-sitter
* configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes, since
tree-sitter support requires dynlib.o. (Bug#60061)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-21 Eli Zaretskii <eliz@gnu.org>
Fix write-region to null device on MS-Windows
@@ -8275,7 +10604,7 @@
from fsync -- this means fsync is not supported for this file.
Happens, for example, with the null device. (Bug#59545)
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-12-21 Alexander Adolf <alexander.adolf@condition-alpha.com>
message: Do not default to eudc-capf-complete yet
@@ -8283,7 +10612,7 @@
eudc-capf-complete to the buffer-local value of
completion-at-point-functions. (Bug#59314)
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-12-21 Richard Hansen <rhansen@rhansen.org>
whitespace: Avoid mutating original buffer's markers in clones
@@ -8301,7 +10630,7 @@
(whitespace-tests--indirect-clone-markers)
(whitespace-tests--regular-clone-markers): New tests.
-2023-04-15 Charl P. Botha <cpbotha@vxlabs.com> (tiny change)
+2022-12-20 Charl P. Botha <cpbotha@vxlabs.com> (tiny change)
Fix empty pairs in js tree-sitter imenu alist (bug#59945)
@@ -8317,7 +10646,7 @@
* lisp/progmodes/js.el (js--treesit-imenu): Don't add nil indexes.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-20 Juri Linkov <juri@linkov.net>
* lisp/repeat.el: Fix repeat-keep-prefix to allow customizing it to non-nil.
@@ -8334,24 +10663,24 @@
* test/lisp/repeat-tests.el (repeat-tests-keep-prefix):
Uncomment test case that is fixed now in bug#51281 and bug#55986.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-20 Daniel Martín <mardani29@yahoo.es>
Correct capitalization of Lisp in the manual (bug#60222)
* doc/lispref/compile.texi (Native-Compilation Functions): Fix typo.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-12-20 Brian Leung <leungbk@posteo.net>
eglot.el: Add vscode-json-languageserver to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add the
alternative name of the vcscode JSON server. (Bug#60198)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-19 Juri Linkov <juri@linkov.net>
* lisp/progmodes/project.el (project--read-file-cpd-relative): Optimize.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-19 Dmitry Gutov <dgutov@yandex.ru>
ruby-method-params-indent: New user option
@@ -8373,14 +10702,14 @@
Disable the :expensive-test tag, because neither runs for "longer
than some few seconds", both take significantly below 1s.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-19 Juri Linkov <juri@linkov.net>
* lisp/progmodes/project.el: Filter out empty strings from history (bug#58447)
(project--read-file-cpd-relative): Do not include empty strings (when
prefix has the same length as the string).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-19 Eli Zaretskii <eliz@gnu.org>
Fix storing email into nnmail by Gnus
@@ -8389,7 +10718,7 @@
disrupting email workflows due to possibly-invalid headers.
Reported by Florian Weimer <fweimer@redhat.com>.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-12-19 Richard Hansen <rhansen@rhansen.org>
whitespace: Fix unintended change in buffer modification status
@@ -8403,7 +10732,7 @@
* test/lisp/whitespace-tests.el
(whitespace-tests--empty-bob-eob-modified): Add a regression test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-19 Eli Zaretskii <eliz@gnu.org>
Make emacsclient add abbreviated file names to file-name-history
@@ -8411,7 +10740,7 @@
'file-name-history--add' to add the visited files to history.
(Bug#60097)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-19 Mattias Engdegård <mattiase@acm.org>
Repair setopt test after error demotion to warning
@@ -8419,7 +10748,7 @@
Check for a warrning instead of an error in attempt to call `setopt`
with a value that does not match the declared type (bug#60162).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-18 Dmitry Gutov <dgutov@yandex.ru>
ruby-mode: Support endless singleton method definitions too
@@ -8429,7 +10758,7 @@
* test/lisp/progmodes/ruby-mode-resources/ruby.rb (Bar#foo=):
Update example.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-18 Yuan Fu <casouri@gmail.com>
Remove comment-start-skip preset in tree-sitter indentation engine
@@ -8446,7 +10775,7 @@
* doc/lispref/parsing.texi (Tree-sitter major modes): Remove
treesit-comment-start/end.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-18 Michael Albinus <michael.albinus@gmx.de>
Fix recent change in tramp-smb.el
@@ -8458,14 +10787,14 @@
* lisp/net/tramp.el (tramp-file-name-for-operation):
Rearrange `make-directory-internal'.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-18 Michael Albinus <michael.albinus@gmx.de>
Make tramp-archive autoloads robust for older Emacs versions
* lisp/net/tramp-archive.el (tramp-archive-file-name-regexp):
Use `eval-when-compile'. Set it explicitly for older Emacs versions.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-18 Dmitry Gutov <dgutov@yandex.ru>
ruby-mode: Support endless methods (bug#54702)
@@ -8482,20 +10811,20 @@
* test/lisp/progmodes/ruby-mode-resources/ruby.rb: New examples.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-18 Philip Kaludercic <philipk@posteo.net>
* lisp/cus-edit.el (setopt--set): Warn instead of rasing an error
(Bug#60162)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-18 Philip Kaludercic <philipk@posteo.net>
Allow customising windmove user options with an empty prefix
* lisp/windmove.el (windmove--default-keybindings-type): Handle nil
as a prefix value. (Bug#60161)
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-18 Gregory Heytings <gregory@heytings.org>
Improve and extend admin/git-bisect-start
@@ -8510,7 +10839,7 @@
* admin/notes/repo (Bisecting): Adapt the explanation of the
script accordingly.
-2023-04-15 Andrea Monaco <andrea.monaco@autistici.org>
+2022-12-18 Andrea Monaco <andrea.monaco@autistici.org>
Make 'rmail-summary-by-thread' faster
@@ -8521,13 +10850,13 @@
from 'rmail-summary-fill-message-parents-vector' and rewritten.
(rmail-summary-direct-descendants): Function deleted.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-18 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS build
* src/lread.c (syms_of_lread): Make the MS-DOS build work again.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-18 Eli Zaretskii <eliz@gnu.org>
Avoid crashes in PGTK build due to signal in 'note_mouse_highlight'
@@ -8537,7 +10866,7 @@
'get-char-property' and friends with invalid position, which will
just signal an error and do nothing useful. (Bug#60144)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-18 Eli Zaretskii <eliz@gnu.org>
Fix MS-Windows build broken by recent treesit.c changes
@@ -8546,7 +10875,7 @@
functions.
(ts_node_parent): Delete boilerplate of unused function.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-17 Theodor Thornhill <theo@thornhill.no>
Fix wrong capture in typescript-ts-mode (bug#60167)
@@ -8569,7 +10898,7 @@
(typescript-ts-mode--font-lock-settings): Make the variable capture
only capture the identifier, and not the whole expression.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-17 Randy Taylor <dev@rjt.dev>
Add rust-ts-mode (Bug#60136)
@@ -8578,7 +10907,7 @@
* lisp/progmodes/rust-ts-mode.el: New major mode with
tree-sitter support.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-17 Theodor Thornhill <theo@thornhill.no>
Indentation fixes for jsx/tsx (bug#60169)
@@ -8586,14 +10915,14 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Simplify the rules.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-17 Theodor Thornhill <theo@thornhill.no>
Fix treesit-query-validate problem with view-mode
* lisp/treesit.el (treesit-query-validate): Move the (view-mode) into
the correct scope.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-17 Yuan Fu <casouri@gmail.com>
Use cursor API in treesit-node-parent
@@ -8603,7 +10932,7 @@
* src/treesit.c (Ftreesit_node_parent): Use the new cursor API.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-17 Yuan Fu <casouri@gmail.com>
Switch to use cursor API in treesit.c
@@ -8632,7 +10961,7 @@
(treesit-search-backward-named-only)
(treesit-cursor-helper-with-missing-node): New tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-17 Yuan Fu <casouri@gmail.com>
Add treesit_assume_true and treesit_cursor_helper
@@ -8643,7 +10972,7 @@
* src/treesit.c (treesit_assume_true)
(treesit_cursor_helper): New functions.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-12-17 Paul Eggert <eggert@cs.ucla.edu>
Remove file-exists-in-trash-p
@@ -8651,18 +10980,18 @@
not suitable for users. All uses replaced by file-attributes,
which is good enough here.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-12-17 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6-49-g47d129
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-12-17 Paul Eggert <eggert@cs.ucla.edu>
Don’t assume make-directory handler returns nil
* lisp/files.el (make-directory): Ignore what the make-directory
handler returns, as its return value was not documented in Emacs 28.
-2023-04-15 Paul Eggert <eggert@penguin.cs.ucla.edu>
+2022-12-17 Paul Eggert <eggert@penguin.cs.ucla.edu>
Fix copy-directory bug when dest dir exists
@@ -8674,7 +11003,7 @@
* test/lisp/files-tests.el (files-tests-copy-directory):
Test for the bug.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-12-17 Paul Eggert <eggert@cs.ucla.edu>
make-directory now returns t if dir already exists
@@ -8691,7 +11020,7 @@
* test/lisp/files-tests.el (files-tests-make-directory):
Test new return-value convention.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-12-17 Paul Eggert <eggert@cs.ucla.edu>
Use make-directory handlers uniformly
@@ -8723,21 +11052,21 @@
Remove, as this test incorrectly assumes that make-directory-internal
must support handlers.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-17 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'file-exists-p'
* doc/lispref/files.texi (Testing Accessibility): Document better
how to test for existing dangling symlinks. (Bug#60146)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-17 Eli Zaretskii <eliz@gnu.org>
Fix resizing of mini-windows by 'set-minibuffer-message'
* src/xdisp.c (redisplay_window): Always resize mini-windows
displaying the active minibuffer. (Bug#60015)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-17 Eli Zaretskii <eliz@gnu.org>
Prevent Abort dialogs from async-compiling jobs on Windows
@@ -8746,14 +11075,14 @@
compilation, by passing w32-disable-abort-dialog=t on their
command line.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-17 Eli Zaretskii <eliz@gnu.org>
Fix 'window-max-chars-per-line' when there are no fringes
* lisp/window.el (window-max-chars-per-line): Fix the way we
account for the fringes by calling 'window-fringes'. (Bug#59963)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-16 Dmitry Gutov <dgutov@yandex.ru>
ruby-mode: Recognize instance or global var as first arg in parenless call
@@ -8762,14 +11091,14 @@
* test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add example.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-16 Dmitry Gutov <dgutov@yandex.ru>
Fix end-of-defun in ruby-mode
* lisp/progmodes/ruby-mode.el (ruby-beginning-of-defun):
Return t in case of success.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-16 Yuan Fu <casouri@gmail.com>
Remove treesit-defun-prefer-top-level and friends
@@ -8779,7 +11108,7 @@
* lisp/treesit.el (treesit-defun-prefer-top-level)
(treesit--defun-maybe-top-level): Remove.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-16 Randy Taylor <dev@rjt.dev>
Add yaml-ts-mode (Bug#60105)
@@ -8790,27 +11119,27 @@
tree-sitter support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add it.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-16 Jostein Kjønigsen <jostein@kjonigsen.net>
Fix indentation in json-ts-mode (bug#60123)
* lisp/progmodes/json-ts-mode.el
(json-ts--indent-rules): Add indentation rules for arrays.
-2023-04-15 Eli Zaretskii <eliz@gnu.org> (tiny change)
+2022-12-16 Eli Zaretskii <eliz@gnu.org> (tiny change)
New input method 'cyrillic-chuvash'
* lisp/leim/quail/cyrillic.el ("cyrillic-chuvash"): New input
method, contributed by flashymittens@tutanota.com. (Bug#60023)
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-12-16 Juanma Barranquero <lekktu@gmail.com>
Backport: ; * lisp/bs.el: Small doc and whitespace fixes
(cherry picked from commit 8624734504af4572525665c713a47e1b6f439a2c)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-16 Eli Zaretskii <eliz@gnu.org>
Revert "alist-get testfn argument evaluation correction"
@@ -8819,7 +11148,7 @@
Please don't install unnecessary improvements on the release
branch.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-16 Eli Zaretskii <eliz@gnu.org>
Revert "Elide broken but unnecessary `if` optimisations"
@@ -8828,7 +11157,7 @@
Please don't install anything on the release branch that is
not a clear bugfix for a known bug.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-16 Eli Zaretskii <eliz@gnu.org>
Revert "Use equal and member instead of eq and memq"
@@ -8837,7 +11166,7 @@
Please don't install anything on the release branch that is not
strictly necessary fro Emacs 29.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-16 Mattias Engdegård <mattiase@acm.org>
Use equal and member instead of eq and memq
@@ -8855,7 +11184,7 @@
In some cases this change corrects evident bugs, in others it is
mostly cosmetic.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-16 Mattias Engdegård <mattiase@acm.org>
Elide broken but unnecessary `if` optimisations
@@ -8873,7 +11202,7 @@
(if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X)
(if X t nil) -> (if X t) -> (not (not X))
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-16 Mattias Engdegård <mattiase@acm.org>
alist-get testfn argument evaluation correction
@@ -8882,11 +11211,11 @@
Reduce the macro-expansion to include a call to either assoc or assq,
not both; this reduces the generated code size in some cases.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-16 Eli Zaretskii <eliz@gnu.org>
* lisp/term/xterm.el (xterm-function-map): Add M-SPC. (Bug#60077)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-16 Eli Zaretskii <eliz@gnu.org>
Fix moving to trash files that overwrite dangling symlinks there
@@ -8894,7 +11223,7 @@
(move-file-to-trash): Use it instead of 'file-exists-p' when
testing whether the file exist in the trash. (Bug#59986)
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-12-16 Manuel Giraud <manuel@ledu-giraud.fr>
Fix SVG scaling (bug#59802)
@@ -8904,7 +11233,7 @@
* src/image.c (svg_load_image): Compute a percentage dimension with
the other known dimension.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-16 F. Jason Park <jp@neverwas.me>
Fix some naming issues involving query buffers in ERC
@@ -8925,7 +11254,7 @@
* test/lisp/erc/resources/base/assoc/queries/netnick.eld: New file.
* test/lisp/erc/resources/base/assoc/queries/non-erc.eld: New file.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-16 F. Jason Park <jp@neverwas.me>
Increment erc-debug-irc-protocol-version to 2
@@ -8934,7 +11263,7 @@
(erc-log-irc-protocol): Don't bother redacting incoming messages.
(Bug#59284.)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-16 Eli Zaretskii <eliz@gnu.org>
A better fix for bug#60096
@@ -8947,14 +11276,14 @@
valid buffer, even if 'get-scratch-buffer-create' signals an
error.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-16 João Távora <joaotavora@gmail.com>
Bump Eglot version to 1.10
* lisp/progmodes/eglot.el (Version): Bump to 1.10
(Package-Requires): Bump required versions of jsonrpc and project.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-16 João Távora <joaotavora@gmail.com>
Eglot: fix discrepant eglot-guess-contact/eglot-command-history
@@ -8972,7 +11301,7 @@
* lisp/progmodes/eglot.el (eglot-command-history): Rename from
eglot--command-history.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-16 João Távora <joaotavora@gmail.com>
Avoid recursive process filters in lisp/jsonrpc.el (bug#60088)
@@ -9003,14 +11332,14 @@
* lisp/jsonrpc.el (jsonrpc--process-filter): Rework.
(Version): Bump to 1.0.16.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-15 Theodor Thornhill <theo@thornhill.no>
Add lambda_expression-rule to java-ts-mode (bug#60091)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
rule.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-15 Jostein Kjønigsen <jostein@kjonigsen.net>
eglot: Add support for new language server csharp-ls
@@ -9020,7 +11349,7 @@
* lisp/progmodes/eglot.el: Add new C# language server
csharp-ls. (Bug#60089)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-15 Yuan Fu <casouri@gmail.com>
Use the new tree-sitter commands
@@ -9034,7 +11363,7 @@
(treesit-major-mode-setup): Setup remap for beginning/end-of-defun
commands.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-15 Yuan Fu <casouri@gmail.com>
Add "function" feature to python-ts-mode (bug#59977)
@@ -9042,7 +11371,7 @@
(python-ts-mode): Add feature. And fix indentation for the
python-indent-guess-indent-offset code.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-15 Randy Taylor <dev@rjt.dev>
Add go-ts-mode and go-mod-ts-mode (Bug#60025)
@@ -9053,14 +11382,14 @@
* lisp/progmodes/go-ts-mode.el: New major modes with
tree-sitter support.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-15 Yuan Fu <casouri@gmail.com>
Add basic support for hideshow in python-ts-mode (bug#60044)
* lisp/progmodes/python.el (python-base-mode): Add setup for
python-ts-mode.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-15 Theodor Thornhill <theo@thornhill.no>
Add "this" keyword to java-ts-mode (bug#60086)
@@ -9068,7 +11397,7 @@
(java-ts-mode--font-lock-settings): Add the node to the keyword
feature.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-15 Dmitry Gutov <dgutov@yandex.ru>
When completing relative project file names, use relative history
@@ -9080,7 +11409,7 @@
This includes both filtering by common-parent-directory prefix and
mapping into relative names.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-15 Eli Zaretskii <eliz@gnu.org>
Avoid segfaults due to invalid selected-window's buffer
@@ -9090,35 +11419,35 @@
substitute-command-keys on initial-scratch-message, to avoid
signaling an error in rare cases. (Bug#60096)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-15 Juri Linkov <juri@linkov.net>
Revert 21b387c39bd with last-minute hasty changes (bug#60048).
* lisp/simple.el (completion-list-mode-map): Unbind [up] and [down].
(previous-line-completion, next-line-completion): Remove.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-12-15 Alan Mackenzie <acm@muc.de>
Replace an erroneous eq with an equal in cc-defs.el
* lisp/progmodes/cc-defs.el (c-looking-at-non-alphnumspace): Replace eq with
equal in the XEmacs branch.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-15 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el ([tab-bar]): Use 'make-sparse-keymap' instead of 'ignore'.
This helps to avoid the error in 'where-is-internal' that should
not call :filter unnecessarily (bug#9923).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-12-15 Stefan Monnier <monnier@iro.umontreal.ca>
compile.el: Fix regression with nb of errors in modeline
* lisp/progmodes/compile.el (compilation-mode-line-errors): Mark it as
risky-local, like `defconst` used to do for us.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-15 Juri Linkov <juri@linkov.net>
Make tab-bar-tab-group-format-function backwards-compatible (bug#60073)
@@ -9126,7 +11455,7 @@
with wrong-number-of-arguments for backwards-compatibility.
(tab-bar-tab-group-format-default): Simplify.
-2023-04-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+2022-12-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Make tab-bar-tab-group-format-function also handle current group
@@ -9135,7 +11464,7 @@
(tab-bar-tab-group-format-default): Update function to also handle
current group tab (bug#60073).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-15 Philip Kaludercic <philipk@posteo.net>
Ensure package directories for source packages from checkouts
@@ -9143,22 +11472,22 @@
Set the :dir entry, since `package-vc--unpack-1' assumes the field is
set, as is the case when invoking `package-vc--unpack'.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-15 Michael Albinus <michael.albinus@gmx.de>
* test/README (SELECTOR): Add eglot-tests.el to remote file using libraries.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-15 Michael Albinus <michael.albinus@gmx.de>
Fix bug#60060 in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
Delete `tmpfile' in case of error. (Bug#60060)
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-12-15 Manuel Giraud <manuel@ledu-giraud.fr>
* .gitignore: Ignore GDB history files.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-15 Eli Zaretskii <eliz@gnu.org>
Mention 'tree-sitter' in user manual and NEWS
@@ -9167,7 +11496,7 @@
* etc/NEWS: Mention tree-sitter in the Installation Changes
section.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-14 Dmitry Gutov <dgutov@yandex.ru>
Fix ruby-add-log-current-method after nested class definition
@@ -9184,7 +11513,7 @@
(ruby-add-log-current-method-after-inner-class-outside-methods-with-text):
New tests.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-14 Theodor Thornhill <theo@thornhill.no>
Add indent rules to js/typescript/tsx-ts-mode (bug#60074)
@@ -9193,7 +11522,7 @@
jsx_fragment.
* lisp/progmodes/js.el (js--treesit-indent-rules): Add the same rules.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-14 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification in csharp-ts-mode (bug#59897)
@@ -9205,7 +11534,7 @@
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Add new rule.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-14 Yuan Fu <casouri@gmail.com>
Revert "Add expression for generic_name in csharp-ts-mode"
@@ -9214,7 +11543,7 @@
This reverts commit 647b6a8099f414e5a7b162efd3658e174064dfe7.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-14 Jostein Kjønigsen <jostein@kjonigsen.net>
Introduce support for TOML config-format
@@ -9231,7 +11560,7 @@
[1] https://toml.io/en/
[2] https://toml.io/en/v1.0.0
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-12-14 Arash Esbati <arash@gnu.org>
Fix handling of % when searching in .tex or .dtx files
@@ -9239,14 +11568,14 @@
when building the regexp for searching only in .dtx files.
(AUCTeX bug#59638)
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-14 Daniel Martín <mardani29@yahoo.es>
Treat C++ classes as defuns in C Tree-sitter mode (bug#60047)
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Add "class_specifier"
as a node of type "defun".
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-14 Daniel Martín <mardani29@yahoo.es>
Add < and > to the syntax table in c++-ts-mode (bug#60049)
@@ -9255,14 +11584,14 @@
delimiters (C++ templates).
(c++-ts-mode): Use the new syntax table.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-14 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontifications in Typescript mode
* lisp/progmodes/typescript-ts-mode.el: Improve fontification of
variables. (Bug#59831)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-14 Eli Zaretskii <eliz@gnu.org>
Update the documentation of overlays (bug#59996)
@@ -9281,7 +11610,7 @@
* etc/NEWS: Mention incompatible aspects of overlay
reimplementation.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-14 F. Jason Park <jp@neverwas.me>
Don't send erc-sasl-user as USER command argument
@@ -9299,7 +11628,7 @@
parameter of "USER" command to reflect nick when `erc-sasl-user' is
set to `:user'. (Bug#59976.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-14 F. Jason Park <jp@neverwas.me>
Set erc-network to a "given" ID instead of failing
@@ -9322,7 +11651,7 @@
* test/lisp/erc/resources/networks/announced-missing/foonet.eld:
Remove "mode" match pattern.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-14 F. Jason Park <jp@neverwas.me>
Limit casemapping to appropriate ranges in ERC
@@ -9337,7 +11666,7 @@
* test/lisp/erc/erc-tests.el (erc-downcase): Add cases showing
mappings outside of the ASCII range. (Bug#59976.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-14 F. Jason Park <jp@neverwas.me>
Actually accept non-symbols as IDs in erc-open
@@ -9353,7 +11682,7 @@
(erc-scenarios-common-assert-initial-buf-name): Adjust helper to allow
for non-symbol IDs. (Bug#59976.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-14 F. Jason Park <jp@neverwas.me>
Respect a nil erc-session-password when reconnecting
@@ -9367,7 +11696,7 @@
* test/lisp/erc/resources/services/auth-source/recon.eld: Add new test
data file. (Bug#59858.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-14 F. Jason Park <jp@neverwas.me>
Add dedicated auth-source section in ERC manual
@@ -9387,7 +11716,7 @@
erc-auth-source-join-function): Re-link auth-source info node in doc
strings.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-14 Mattias Engdegård <mattiase@acm.org>
Better shortdoc examples
@@ -9397,7 +11726,7 @@
well-defined results, such as `eq` on strings or floats.
Edit other examples for better illustrating each respective operation.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-14 Mattias Engdegård <mattiase@acm.org>
Shortdoc: read and evaluate strings after :eval
@@ -9405,7 +11734,7 @@
If the parameter of :eval is a string then read, evaluate and print
the result. This was always the intention and is documented behaviour.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-14 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp tests in eglot-tests, prefix tests uniquely
@@ -9417,11 +11746,11 @@
:expensive-test.
(all): Prefix all tests with `eglot-test-' uniquely.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-14 Juri Linkov <juri@linkov.net>
* lisp/vc/vc-git.el (vc-git-checkin): Use make-nearby-temp-file (bug#60011)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-14 Stefan Kangas <stefankangas@gmail.com>
Delete temp files after icalendar tests
@@ -9429,7 +11758,7 @@
(icalendar-tests--get-error-string-for-export): Make sure we clean up
temporary files after test.
-2023-04-15 Kai Ma <justksqsf@gmail.com> (tiny change)
+2022-12-13 Kai Ma <justksqsf@gmail.com> (tiny change)
Fix syntax tables of tree-sitter modes (bug#59807)
@@ -9444,11 +11773,11 @@
xx
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-13 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/Makefile.in (need_emacsver): Add use-package.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-13 Stefan Kangas <stefankangas@gmail.com>
Fix bug when calling `rgrep` non-interactively
@@ -9456,7 +11785,7 @@
non-interactively requires running it interactively
first. (Bug#60024)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-13 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp specific tests in eglot-tests.el
@@ -9469,11 +11798,11 @@
Use `ert-remote-temporary-file-directory'. Skip if needed.
(eglot--tramp-test, eglot--tramp-test-2): Don't skip.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-13 Stefan Kangas <stefankangas@gmail.com>
* lisp/textmodes/texinfo.el (texinfo-flymake): Improve docstring.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-13 Juri Linkov <juri@linkov.net>
Support a function in the BUFFER-LIST arg of list-buffers-noselect (bug#59935)
@@ -9488,7 +11817,7 @@
'buffer-list-function' used by both legacy code and the new version
of list-buffers-noselect that supports its arg BUFFER-LIST as a function.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-12-13 Augusto Stoffel <arstoffel@gmail.com>
Don't allow lazy highlight from recursive minibuffers
@@ -9497,7 +11826,7 @@
* lisp/isearch.el (minibuffer-lazy-highlight-setup): Don't activate
when starting a recursive minibuffer.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-13 Eli Zaretskii <eliz@gnu.org>
Improve resetting face attributes when looking for suitable fonts
@@ -9508,14 +11837,14 @@
'font_maybe_unset_attribute' only if the value is neither nil nor
t. (Bug#59347)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-13 Stefan Kangas <stefankangas@gmail.com>
Add lexical-binding to example package header
* doc/lispref/package.texi (Simple Packages): Add lexical-binding
cookie to example package header.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-13 Yuan Fu <casouri@gmail.com>
Add improved tree-sitter navigation
@@ -9566,7 +11895,7 @@
(treesit-defun-navigation-nested-3)
(treesit-defun-navigation-top-level): New tests.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-12 Stefan Kangas <stefankangas@gmail.com>
Add cross-reference to flush-lines
@@ -9574,7 +11903,7 @@
cross-references between commands, using the names
'(kill|delete)-matching-lines' for symmetry. (Bug#59934)
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-12 Jostein Kjønigsen <jostein@kjonigsen.net>
Use font-lock-number-face for numeric values in csharp-mode
@@ -9582,13 +11911,13 @@
* lisp/progmodes/csharp-mode.el: update fontification code.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-12 Jostein Kjønigsen <jostein@kjonigsen.net>
Make treesit-query-validate create a read-only buffer
* lisp/treesit.el: use view-mode for generated validation buffer.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-12 Randy Taylor <dev@rjt.dev>
Improve dockerfile-ts-mode imenu generation (Bug#59979)
@@ -9596,14 +11925,14 @@
Declare.
(dockerfile-ts-mode--imenu-1): Use stage name if available.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-12 Daniel Martín <mardani29@yahoo.es>
Add "->" to python--treesit-operators (bug#59968)
* lisp/progmodes/python.el (python--treesit-operators): Add "->", used
to specify the return types of functions in Python.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-12 Daniel Martín <mardani29@yahoo.es>
Align C++ access specifiers to their enclosing class/struct/union
@@ -9617,7 +11946,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Align access
specifiers to their enclosing class/struct/union.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-12 Randy Taylor <dev@rjt.dev>
Add cmake-ts-mode
@@ -9628,7 +11957,7 @@
tree-sitter support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add it.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-12 Theodor Thornhill <theo@thornhill.no>
Tweak various ts-mode's indent and fontification (bug#59931)
@@ -9644,7 +11973,7 @@
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode):
Prefer top-level navigation.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-12 Theodor Thornhill <theo@thornhill.no>
Add expression for generic_name in csharp-ts-mode (bug#59897)
@@ -9663,7 +11992,7 @@
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Add new query that makes the mentioned example work.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-12 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Fix the value 'insert' of outline-minor-mode-use-buttons.
@@ -9674,14 +12003,14 @@
* lisp/progmodes/xref.el (xref--xref-buffer-mode):
Change outline-minor-mode-use-buttons from t to 'insert'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-12 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (completions-group-separator): Revert f7816c94b6.
Change face attribute from :underline back to :strike-through.
https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg01792.html
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-12 João Távora <joaotavora@gmail.com>
Skip Eglot rust-analyzer tests if 'cargo' isn't available
@@ -9689,7 +12018,7 @@
(project-wide-diagnostics-rust-analyzer)
(diagnostic-tags-unnecessary-code): Skip unless "cargo" is found.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-12 Stefan Kangas <stefankangas@gmail.com>
use-package.texi: New section "Manual installation"
@@ -9697,7 +12026,7 @@
(Load path, Manual autoloads): Make into subsections of above new
section.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-11 Po Lu <luangruo@yahoo.com>
Revert "Revert "Improve last change to xfaces.c" (05ece1eb8b)"
@@ -9706,7 +12035,7 @@
Not only does it make debugging Emacs harder for users, that change is
unsafe for the Haiku port.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-11 Gregory Heytings <gregory@heytings.org>
Revert "Improve last change to xfaces.c" (05ece1eb8b)
@@ -9714,14 +12043,14 @@
See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59347#331.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-11 Gregory Heytings <gregory@heytings.org>
Do not pare arguments unnecessarily.
* lisp/pcomplete.el (pcomplete-here-using-help): Do not pare
arguments. Fixes bug#59803.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-11 João Távora <joaotavora@gmail.com>
Add automated tests for Eglot
@@ -9733,14 +12062,14 @@
* test/lisp/progmodes/eglot-tests.el: New file.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-11 João Távora <joaotavora@gmail.com>
Eglot: allow skipping compile-time warnings about LSP interfaces
* lisp/progmodes/eglot.el (eglot-strict-mode): Add 'no-unknown-interfaces'.
(eglot--check-object): Honour new eglot-strict-mode value.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-11 Yuan Fu <casouri@gmail.com>
Add customizale faces for tree-sitter explorer
@@ -9749,7 +12078,7 @@
(treesit--explorer-draw-node): Use the new faces.
(treesit-explore-mode): Change playground to explorer.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-11 Stefan Kangas <stefankangas@gmail.com>
Fix error message when installing non-existent package
@@ -9757,7 +12086,7 @@
trailing dash to package name in non-existent package
error. (Bug#59923)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-11 Juri Linkov <juri@linkov.net>
Don't use diff-mode buffer as a patch when it's visiting a file (bug#59962)
@@ -9766,7 +12095,7 @@
a file with a diff might be committed to VCS. So don't use it as a patch
to commit with 'C-x v v'.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-11 Mattias Engdegård <mattiase@acm.org>
Fix pcase rx patterns using rx-let bindings (bug#59814)
@@ -9776,7 +12105,7 @@
(rx--to-expr): ...here.
* test/lisp/emacs-lisp/rx-tests.el (rx-let-pcase): New test.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-11 Mattias Engdegård <mattiase@acm.org>
Fix use-package-defaults defcustom type (bug#59941)
@@ -9784,11 +12113,11 @@
Enlarge type to allow for keywords such as :ensure and :pin to be
added later, remedying a failure in test-custom-opts.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-12-11 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
* lisp/language/indian.el: Improve Brahmi composition rules. (bug#58957)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-10 Po Lu <luangruo@yahoo.com>
Improve last change to xfaces.c
@@ -9799,7 +12128,7 @@
there is no reason any user should have to think about bitmasks
in Emacs lisp.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-10 Gregory Heytings <gregory@heytings.org>
Actually improve detection of long lines
@@ -9812,7 +12141,7 @@
* src/buffer.c (Fget_buffer_create):
Revert 1c837c42c2, which was misguided.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-12-10 Gregory Heytings <gregory@heytings.org>
Unset the weight/slant/width in the spec when realizing a font
@@ -9841,25 +12170,25 @@
(syms_of_xfaces): New variable
'realize-gui-face-ignored-spec-attributes'.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-12-10 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.6-31-g954a95
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-10 Eli Zaretskii <eliz@gnu.org>
Fix infloop in 'shell-resync-dirs' with tcsh
* lisp/shell.el (shell-resync-dirs): Remove trailing slash from
output of 'dirs', for csh/tcsh's sake. (Bug#59804)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-10 Philip Kaludercic <philipk@posteo.net>
Ensure 'package-vc--version' always returns a version
* lisp/emacs-lisp/package-vc.el (package-vc--version): Return "0" even
if the main file exists, but lacks version headers.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-10 Philip Kaludercic <philipk@posteo.net>
Ensure 'package-vc--main-file' always returns an existing file
@@ -9867,14 +12196,14 @@
(package-vc--main-file): If the expected file name is missing, try and
find the closest match.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-12-10 Philip Kaludercic <philipk@posteo.net>
Check if package already exists before installing from checkout
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
Copy check from 'package-vc--unpack'.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-12-10 Matt Armstrong <matt@rfc20.org>
Refresh the package quickstart file in package-vc
@@ -9882,7 +12211,7 @@
`package--quickstart-maybe-refresh', just as
`package-install-from-buffer' does. (bug#59728)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-09 Yuan Fu <casouri@gmail.com>
Make indirect buffers use tree-sitter parsers of their base buffer
@@ -9896,21 +12225,21 @@
* doc/lispref/parsing.texi (Using Parser): Update manual.
* test/src/treesit-tests.el (treesit-indirect-buffer): New test.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-12-09 Brian Leung <leungbk@posteo.net>
Fontify "this" as a keyword in c++-ts-mode (bug#59924)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Following c++-mode, fontify as a keyword instead of a constant.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-09 Theodor Thornhill <theo@thornhill.no>
Add class_body indentation for typescript (bug#59680)
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): New indent rule.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-09 Theodor Thornhill <theo@thornhill.no>
Make more granular defun-type-regexp (bug#59873)
@@ -9921,7 +12250,7 @@
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Use regexp-opt to
distinguish more granularly.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-09 Randy Taylor <dev@rjt.dev>
Add dockerfile-ts-mode (Bug#59894)
@@ -9933,7 +12262,7 @@
tree-sitter support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add it.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-09 Jostein Kjønigsen <jostein@kjonigsen.net>
Fix fontification of method-invocations in js-ts-mode (bug#59904)
@@ -9941,14 +12270,14 @@
for property in front of function names, so function names override
property.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-09 Theodor Thornhill <theo@thornhill.no>
Fix escape-sequence feature in typescript-ts-mode (bug#59906)
* lisp/progmodes/typescript-ts-mode.el: (typescript-ts-mode,
tsx-ts-mode): Use escape-sequence feature.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-09 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification in csharp-ts-mode (bug#59909)
@@ -9958,7 +12287,7 @@
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings)
(csharp-ts-mode): Add new features
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-09 Dmitry Gutov <dgutov@yandex.ru>
Use 'project--value-in-dir' for 'project-vc-include-untracked' too
@@ -9966,7 +12295,7 @@
'project--value-in-dir' for 'project-vc-include-untracked' too.
So that is can be reliably set through dir-locals.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-09 Eli Zaretskii <eliz@gnu.org>
Update Turkish Hello
@@ -9974,13 +12303,13 @@
* lisp/language/european.el ("Turkish"): Add a Turkish Hello.
Suggested by YUSUF ALPER ÇIKIŞIR <yusufcikisir@std.iyte.edu.tr>.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-12-09 Philipp Stephani <phst@google.com>
Support newer glib versions (Bug#59061)
* lib-src/seccomp-filter.c (main): Allow pidfd_open system call
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-09 Dmitry Gutov <dgutov@yandex.ru>
Bring back the project--value-in-dir logic
@@ -10001,7 +12330,7 @@
* test/lisp/progmodes/project-resources/foo:
* test/lisp/progmodes/project-resources/etc: New files.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-12-09 Andrea Corallo <akrl@sdf.org>
Backport: Enable native speed 2 EMBA build and tests and disable speed 0
@@ -10012,18 +12341,18 @@
(cherry picked from commit 06bf218f69a62d5d5c8d3b3767d7db8d9fb4bb9f)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-09 Michael Albinus <michael.albinus@gmx.de>
* test/infra/test-jobs.yml: Regenerate for the new use-package subdirectory.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-09 Michael Albinus <michael.albinus@gmx.de>
Adapt manual names in emacs-news-mode
* lisp/textmodes/emacs-news-mode.el (emacs-news--buttonize):
Allow hyphen in manual names.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-12-09 F. Jason Park <jp@neverwas.me>
Respect some spaces in auth-source-pass--match-regexp
@@ -10039,7 +12368,7 @@
(auth-source-pass-extra-query-keywords--suffixed-user): Add spaces
to users and hosts of some example entries. (Bug#58985.)
-2023-04-15 dannyfreeman <danny@dfreeman.email>
+2022-12-09 dannyfreeman <danny@dfreeman.email>
João Távora <joaotavora@gmail.com>
Eglot: Handle LSP progress with Emacs progress reporters (bug#59149)
@@ -10066,7 +12395,7 @@
* doc/misc/eglot.texi (Customizing Eglot): Describe new variable.
-2023-04-15 dannyfreeman <danny@dfreeman.email>
+2022-12-09 dannyfreeman <danny@dfreeman.email>
João Távora <joaotavora@gmail.com>
Eglot: cleanup whitespace and indentation
@@ -10074,7 +12403,7 @@
* lisp/progmodes/eglot.el: Misc whitespace fixes.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-09 Mattias Engdegård <mattiase@acm.org>
Better test-custom-opts diagnostics
@@ -10086,7 +12415,7 @@
(cus-test-apropos, cus-test-errors-display, cus-test-opts):
Use new format.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-09 Stefan Kangas <stefankangas@gmail.com>
New script admin/check-man-pages
@@ -10094,7 +12423,7 @@
for errors. (Bug#59631)
* admin/make-tarball.txt: Document when to use the above script.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-09 Stefan Kangas <stefankangas@gmail.com>
Improve :delight keyword example in use-package manual
@@ -10104,7 +12433,7 @@
Resolves https://github.com/jwiegley/use-package/issues/835
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
Clarify :after keyword in use-package docstring
@@ -10113,7 +12442,7 @@
Resolves https://github.com/jwiegley/use-package/issues/825
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
Add conditional loading examples to use-package manual
@@ -10122,7 +12451,7 @@
Resolves https://github.com/jwiegley/use-package/issues/693
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-08 Po Lu <luangruo@yahoo.com>
Revert "; * src/emacs.c (main): Improvements to last change."
@@ -10131,7 +12460,7 @@
library initializer is used to set the malloc functions on startup, so
they are not dumped.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-12-08 Sean Whitton <spwhitton@spwhitton.name>
server-eval-at: Don't call server--file-name
@@ -10139,21 +12468,21 @@
the server file. The recent change to call server--file-name meant
that the SERVER argument to server-eval-at was ignored.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
Merge branch 'feature/use-package' into emacs-29
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
* etc/USE-PACKAGE-NEWS: Delete file.
Ref: https://lists.gnu.org/r/emacs-devel/2022-11/msg01535.html
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
* admin/git-bisect-start: Prune use-package merge commits.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
Update use-package defgroups
@@ -10162,7 +12491,7 @@
* lisp/use-package/use-package-ensure.el (use-package-ensure): Add
:link, :version and :group to defgroups.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
Drop key-chord.el support from use-package
@@ -10172,7 +12501,7 @@
* doc/misc/use-package.texi (use-package-chords): Delete section.
Ref: https://lists.gnu.org/r/emacs-devel/2022-12/msg00052.html
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-12-08 Juanma Barranquero <lekktu@gmail.com>
Remove unneeded (require 'edebug) from which-func.el
@@ -10180,14 +12509,14 @@
code from an attempted fix to bug#49592, installed in 55cc8b040b
(2022-08-08) and left behind after 48b0f2606b (2022-08-23).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-08 Stefan Kangas <stefankangas@gmail.com>
Change use-package custom :group to `initialization`
* lisp/use-package/use-package-core.el (use-package): Move
defgroup to custom :group 'initialization'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-12-08 Jim Porter <jporterbugs@gmail.com>
Treat escaped newlines in Eshell as the empty string
@@ -10214,7 +12543,7 @@
* doc/misc/eshell.texi (Arguments): Explain escaping logic in more
detail (bug#59622).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-07 Stefan Kangas <stefankangas@gmail.com>
use-package: Improve :mode keyword documentation
@@ -10223,40 +12552,40 @@
Resolves https://github.com/jwiegley/use-package/issues/996
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-07 Stefan Kangas <stefankangas@gmail.com>
Improve bind-keys* and override-global-mode docstrings
* lisp/use-package/bind-key.el (bind-keys*): Add docstring.
(override-global-mode) Improve docstring.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-07 Po Lu <luangruo@yahoo.com>
Fix crash on Windows 9X
* src/emacs.c (main): Call init_bignum before init_window_once.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-07 Yuan Fu <casouri@gmail.com>
Add recursion limit to treesit--children-covering-range-recurse
* lisp/treesit.el (treesit--children-covering-range-recurse): Add
limit.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-07 Yuan Fu <casouri@gmail.com>
Improve tree-sitter fontification in edge-cases (bug#59738)
* lisp/treesit.el (treesit-font-lock-fontify-region): Use
treesit--children-covering-range-recurse.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-07 Stefan Kangas <stefankangas@gmail.com>
Add new use-package manual
* doc/misc/use-package.texi: Rewrite manual.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-07 Theodor Thornhill <theo@thornhill.no>
Add c-ts-mode-indent-defun (bug#59662)
@@ -10265,7 +12594,7 @@
* lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-defun): New function.
(c-ts-mode-map): New mode map that uses said function.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-07 Theodor Thornhill <theo@thornhill.no>
Fix syntax-table for tree-sitter modes
@@ -10285,14 +12614,14 @@
(typescript-ts-mode--syntax-table): Add new entries.
* lisp/textmodes/css-mode.el (css-ts-mode): Add new entries.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-12-07 Brian Leung <leungbk@posteo.net>
c++-ts-mode: Highlight nullptr as a constant
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Add
nullptr.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-07 Yuan Fu <casouri@gmail.com>
Improve parameter checking in tree-sitter functions
@@ -10307,7 +12636,7 @@
* test/src/treesit-tests.el (treesit-node-api)
(treesit-query-api): Add tests for out-of-range error.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-07 Eli Zaretskii <eliz@gnu.org>
Fix comint-tests on MS-Windows
@@ -10318,7 +12647,7 @@
(w32-native-executable-p, w32-native-executable-find): New
functions.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-07 João Távora <joaotavora@gmail.com>
Use new external-completion.el in Eglot
@@ -10331,7 +12660,7 @@
(completion-category-overrides): No longer set it.
("Backend Completion"): Delete section.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-07 João Távora <joaotavora@gmail.com>
Don't override completion-category-defaults in fido-mode
@@ -10343,7 +12672,7 @@
* lisp/icomplete.el (icomplete--fido-mode-setup): Don't set
completion-category-defaults here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-07 João Távora <joaotavora@gmail.com>
Add lisp/external-completion.el for completions from external tools
@@ -10371,7 +12700,7 @@
* etc/NEWS: (Lisp Changes in Emacs 29.1): Mention
external-completion-table.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-12-07 João Távora <joaotavora@gmail.com>
Eglot: fix setting of flymake-list-only-diagnostics (bug#59824)
@@ -10385,17 +12714,17 @@
* lisp/progmodes/eglot.el (eglot-handle-notification): Reset
flymake-list-only-diagnostics
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-07 Mattias Engdegård <mattiase@acm.org>
* test/src/sqlite-tests.el (sqlite-version): Declare.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-12-06 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Outline deprecation plans in NEWS
* etc/NEWS (EUDC): Mention deprecation plans.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-06 Yuan Fu <casouri@gmail.com>
Fix admin/notes/tree-sitter/build-module/build.sh (bug#59789)
@@ -10417,18 +12746,18 @@
* admin/notes/tree-sitter/build-module/batch.sh (languages): Add tsx.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-06 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/eww.texi (Overview): Improve introduction.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-06 Jostein Kjønigsen <jostein@kjonigsen.net>
Consistent fontification of using-directives in csharp-ts-mode
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
New rules.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-06 Yuan Fu <casouri@gmail.com>
Fontify some keywords in type face in c-ts-mode
@@ -10436,14 +12765,14 @@
(c-ts-mode--type-keywords): New variables.
(c-ts-mode--font-lock-settings): New rule.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-06 Mattias Engdegård <mattiase@acm.org>
Fix etags builds on non-Windows non-MS-DOS machines
* lib-src/etags.c: In this file, MSDOS is always defined but can be
either `true` or `false`, so don't used `defined MSDOS` as a condition.
-2023-04-15 lu4nx <lx@shellcodes.org>
+2022-12-06 lu4nx <lx@shellcodes.org>
Fix etags local command injection vulnerability
@@ -10451,7 +12780,7 @@
(process_file_name): Use it to quote file names passed to the
shell. (Bug#59817)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-06 Eli Zaretskii <eliz@gnu.org>
Avoid crashes in a build --without-modules
@@ -10459,7 +12788,7 @@
'dynamic-library-suffixes' outside of the HAVE_MODULES
conditional. (Bug#59832)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-06 Eli Zaretskii <eliz@gnu.org>
Fix 'add-display-text-property' when OBJECT is non-nil
@@ -10469,7 +12798,7 @@
* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-add-display-text-property): Add test for this case.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-12-06 Michael Albinus <michael.albinus@gmx.de>
Do not run slow tests on EMBA
@@ -10480,7 +12809,7 @@
* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-part1): Skip also on EMBA.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-06 Mattias Engdegård <mattiase@acm.org>
Lisp reader undefined behaviour excision
@@ -10491,7 +12820,7 @@
The `|` was just a weak attempt at micro-optimisation in any case;
sorry about that.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-05 Yuan Fu <casouri@gmail.com>
Fix treesit-query-capture
@@ -10512,7 +12841,7 @@
position. Also added parentheses wround "beg_byte - visible_beg" in
the call to ts_query_cursor_set_byte_range (i.e., style change).
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-12-05 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification of typescript-ts-mode (bug#59831)
@@ -10523,7 +12852,7 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Add fontification rules.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-05 Theodor Thornhill <theo@thornhill.no>
Add back pair feature in json-ts-mode fontification (bug#59833)
@@ -10531,14 +12860,14 @@
Add back in removed pair feature. Also alphabetize features.
(json-ts-mode): Use the new feature.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-05 Eli Zaretskii <eliz@gnu.org>
Fix mouse clicks on a non-selected frame
* lisp/mouse-drag.el (mouse-drag-drag): Skip switch-frame events
while tracking mouse. (Bug#59785)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-04 Yuan Fu <casouri@gmail.com>
Improve treesit-fontify-with-override
@@ -10561,7 +12890,7 @@
* lisp/progmodes/python.el (python--treesit-fontify-string): Use the
new signature.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-12-04 Jim Porter <jporterbugs@gmail.com>
Make killing a non-last client work the same no matter the auto-stop setting
@@ -10576,7 +12905,7 @@
'server-stop-automatically' behavior in this function, rather than
calling 'server-stop-automatically--handle-delete-frame'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-04 Juri Linkov <juri@linkov.net>
Use the function 'window-system' on the tab-bar/tab-line (bug#59620)
@@ -10585,7 +12914,7 @@
* lisp/tab-line.el (tab-line-format-template): Replace the variable
'window-system' with the function call '(window-system)'.
-2023-04-15 Tom Gillespie <tgbugs@gmail.com>
+2022-12-04 Tom Gillespie <tgbugs@gmail.com>
Restore font-lock-type-face for lisp mode &symbols
@@ -10597,7 +12926,7 @@
a498e5f83 by restoring the type face to font-lock-type-face as
consistent with the comments.
-2023-04-15 Kai Ma <justksqsf@gmail.com> (tiny change)
+2022-12-04 Kai Ma <justksqsf@gmail.com> (tiny change)
Prevent a segfault when deleting a fullscreen frame on NextStep.
@@ -10608,14 +12937,14 @@
leak of the EmacsView object! (Bug#59794)
Do not merge to master.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-04 Eli Zaretskii <eliz@gnu.org>
Fix markup in ERC manual
* doc/misc/erc.texi (SASL): Use @table instead of simulating it
with @indentedblock. Fix markup. (Bug#59815)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-12-03 Yuan Fu <casouri@gmail.com>
Fix comment-start-skip in tree-sitter modes (bug#59690)
@@ -10627,7 +12956,7 @@
* lisp/progmodes/typescript-ts-mode.el (tsx-ts-mode): Remove the group
from the regexp.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-03 Mattias Engdegård <mattiase@acm.org>
Speed up Unicode normalisation tests by a factor of 5
@@ -10643,14 +12972,14 @@
Run only over the Unicode code space.
Hoist `with-current-buffer` to reduce overhead.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-03 Eli Zaretskii <eliz@gnu.org>
Fix "C-h k" when clicking on another frame
* lisp/help.el (help--analyze-key): Don't barf if the key sequence
includes a switch-frame event. (Bug#59785)
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-12-03 Juanma Barranquero <lekktu@gmail.com>
Fix and expand tests broken by commit 2772ebe366 of 2022-11-28
@@ -10662,7 +12991,7 @@
Check that the last directory in `native-comp-eln-load-path' is
not affected by `native-compile-prune-cache'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-03 Eli Zaretskii <eliz@gnu.org>
Fix handling of relative directories in "--init-directory=DIR"
@@ -10670,14 +12999,14 @@
names in '--init-directory' relative to the directory from
which Emacs is started. (Bug#59795)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-03 Eli Zaretskii <eliz@gnu.org>
Make sure 'user-emacs-directory' ends in a slash
* lisp/startup.el (command-line): Make sure 'user-emacs-directory'
has the form of a directory.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-03 Eli Zaretskii <eliz@gnu.org>
Fix gud-minor-mode-menu
@@ -10686,7 +13015,7 @@
still using it in gud.el. (Bug#59769) (Bug#59605)
Do not merge to master.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-03 Eli Zaretskii <eliz@gnu.org>
Revert "Make easy-mmode-defmap obsolete and adjust only caller"
@@ -10696,14 +13025,14 @@
Do not merge to master.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-12-03 Sean Whitton <spwhitton@spwhitton.name>
vc-git-print-log: Don't assume vc-git-log-switches is a list
* lisp/vc/vc-git.el (vc-git-print-log): Call ensure-list on
vc-git-log-switches to handle the case where it's a singular string.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-02 Stefan Kangas <stefankangas@gmail.com>
Fix use-package tests
@@ -10711,7 +13040,7 @@
* test/lisp/use-package/use-package-tests.el: Remove local
variables section. Require 'ert' and fix copyright header.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-02 Mattias Engdegård <mattiase@acm.org>
Fix server-tests run noninteractively (bug#59742)
@@ -10723,14 +13052,14 @@
(server-tests/server-force-stop/keeps-frames): Delete created frame so
that it doesn't cause trouble for other tests.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-12-02 Randy Taylor <dev@rjt.dev>
Use file-name-nondirectory to determine default project-name
* lisp/progmodes/project.el (project-name):
Use file-name-nondirectory instead of file-name-base (bug#59756).
-2023-04-15 Yikai Zhao <yikai@z1k.dev>
+2022-12-02 Yikai Zhao <yikai@z1k.dev>
Speed up auto-completion in 'sh-script-mode'
@@ -10740,7 +13069,7 @@
(sh-completion-at-point-function): Use
'sh--cmd-completion-table-gen'. (Bug#59678)
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-12-02 Juanma Barranquero <lekktu@gmail.com>
Fix error editing multisession variables (bug#59710)
@@ -10748,14 +13077,14 @@
Do not use `bound-and-true-p' on a non-symbol. This reverts
commit bd586121ac21e046f60f75eeb0200866c38d6f9f.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-12-02 Brian Leung <leungbk@posteo.net>
Add tsx-ts-mode to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add
tsx-ts-mode. (Bug#59770)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-02 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-format-align-right): Fix alignment on TTY frames.
@@ -10763,7 +13092,7 @@
since the `right' spec doesn't work on TTY frames when windows are split
horizontally (bug#59620).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-12-02 Juri Linkov <juri@linkov.net>
Fix the width of margins for icons in outline-minor-mode (bug#59719)
@@ -10779,7 +13108,7 @@
(outline-minor-mode): Calculate the number of columns for margins
to fit the icons.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-12-01 Theodor Thornhill <theo@thornhill.no>
Add new TypeScript mode tsx-ts-mode
@@ -10806,21 +13135,21 @@
* etc/NEWS: Mention the new mode.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-12-01 Daniel Martín <mardani29@yahoo.es>
Add case and match to python--treesit-keywords (bug#59720)
* lisp/progmodes/python.el (python--treesit-keywords): Add "case" and
"match" keywords.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-01 Dmitry Gutov <dgutov@yandex.ru>
project-files (VC-aware): Make sure the VC backend is loaded
* lisp/progmodes/project.el (project-files):
Make sure the VC backend is loaded (bug#59734).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-12-01 Sean Whitton <spwhitton@spwhitton.name>
term--update-term-menu: Add the menu to term-terminal-menu
@@ -10834,14 +13163,14 @@
term-terminal-menu, instead of implicitly trying to add it to every
local keymap.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-01 Eli Zaretskii <eliz@gnu.org>
Improve detection of very long lines
* src/xdisp.c (redisplay_window): Recheck for long lines if the
restriction has changed. (Bug#56682)
-2023-04-15 Laurence Warne <laurencewarne@gmail.com>
+2022-12-01 Laurence Warne <laurencewarne@gmail.com>
Add colors to Proced (bug#59407)
@@ -10887,7 +13216,7 @@
(proced-format-user): New function to color the user a process
belongs to.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-12-01 Dmitry Gutov <dgutov@yandex.ru>
Update project docs and NEWS
@@ -10895,7 +13224,7 @@
* etc/NEWS: Mention new option (bug#41572).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-12-01 Stefan Kangas <stefankangas@gmail.com>
Update publicsuffix.txt from upstream
@@ -10905,7 +13234,7 @@
(cherry picked from commit de00aef3e151e0eefe20feda74cf90578e8ff109)
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-12-01 kobarity <kobarity@gmail.com>
Add highlighting Python operators (bug#59629)
@@ -10942,7 +13271,7 @@
expectations to include faces for operators.
(python-font-lock-operator-1, python-font-lock-operator-2): New tests.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-12-01 Eli Zaretskii <eliz@gnu.org>
Fix compilation of Org 9.6 on MS-Windows
@@ -10950,11 +13279,11 @@
invoke "command x11idle" on MS-Windows and MS-DOS. This fixes a
hang during byte-compilation of Org.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-01 Po Lu <luangruo@yahoo.com>
* doc/lispref/frames.texi (Input Focus): Clarify for XInput 2 support.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-12-01 Mattias Engdegård <mattiase@acm.org>
Fix types in various defcustom declarations
@@ -10966,7 +13295,7 @@
* lisp/progmodes/project.el (project-vc-extra-root-markers):
Fix incorrect or invalid types.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-12-01 Po Lu <luangruo@yahoo.com>
Fix crashes and memory leaks during display deinitialization
@@ -10979,7 +13308,7 @@
(x_delete_terminal): Delete all terminals. Free the scratch
cursor GC.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-30 Dmitry Gutov <dgutov@yandex.ru>
New user option: project-vc-extra-root-markers
@@ -10998,21 +13327,21 @@
New tests.
(project-tests--this-file): New variable.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-11-30 Daniel Martín <mardani29@yahoo.es>
Add inline to c-ts-mode--keywords
* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Add "inline", a
keyword available since C99 to define inline functions in C.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-11-30 Daniel Martín <mardani29@yahoo.es>
Remove duplicate "friend" from c-ts-mode--keywords
* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Remove duplicate
keyword.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-30 Yuan Fu <casouri@gmail.com>
Make treesit-defun-prefer-top-level more flexible
@@ -11020,7 +13349,7 @@
* lisp/treesit.el (treesit-defun-prefer-top-level): Update docstring.
(treesit--defun-maybe-top-level): Change to accept new format.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-30 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode defun movement (bug#59628)
@@ -11030,7 +13359,7 @@
(c-ts-mode)
(c++-ts-mode): Set end-of-defun-function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-30 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Keep tabs of the same group together (bug#59721)
@@ -11038,25 +13367,25 @@
'(tab-bar-move-tab-to-group)'. Improve docstring.
(tab-bar-change-tab-group): Improve docstring.
-2023-04-15 muffinmad <andreyk.mad@gmail.com>
+2022-11-30 muffinmad <andreyk.mad@gmail.com>
Insert news for installed packages only
* lisp/emacs-lisp/package.el (describe-package-1): Check package is
installed and "news" is a regular file. (Bug#59684)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-30 Dmitry Gutov <dgutov@yandex.ru>
project-current: Improve the docstring
* lisp/progmodes/project.el (project-current):
Improve the docstring (bug#59722).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-30 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/Makefile.in (INFO_COMMON): Add use-package.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-30 Mattias Engdegård <mattiase@acm.org>
Org regexp style fixes
@@ -11065,7 +13394,7 @@
* lisp/org/org-persist.el (org-persist-load:index):
Replace line-start with string-start when the latter is meant.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-30 Mattias Engdegård <mattiase@acm.org>
Skip one python test case on macOS
@@ -11075,7 +13404,7 @@
(cherry picked from commit db042b7591ea9da5e169704e5b32bd99c4ea7adf)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-30 Mattias Engdegård <mattiase@acm.org>
Sink python indent offset guessing to avoid test failure
@@ -11089,13 +13418,13 @@
(python-mode): ...to here...
(python-ts-mode): ...and here.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-11-29 Kyle Meyer <kyle@kyleam.com>
* etc/NEWS: Announce Org update.
Update to Org 9.6-3-ga4d38e
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-29 Juanma Barranquero <lekktu@gmail.com>
Fix interactive selection of emacs-lock mode, broken by 2a4b0da28c
@@ -11104,14 +13433,14 @@
(emacs-lock-mode): Pass also `current-prefix-arg' to
`emacs-lock--set-mode'.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-11-29 Daniel Martín <mardani29@yahoo.es>
Fix typo in flag to load Emacs-specific LLDB commands
* src/.lldbinit: Fix typo in flag to parse .lldbinit files from the
current directory. (Bug#59702)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-29 Alan Mackenzie <acm@muc.de>
CC Mode: Prevent lone ids being parsed as types unless in decl arglists
@@ -11121,25 +13450,25 @@
last invocation of c-fdoc-shift-type-backward before CASE 1, additionally
test CONTEXT not being an arglist or BACKUP-AT-TYPE being non-nil.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-29 Mattias Engdegård <mattiase@acm.org>
Allow csharp-mode in c-default-style
* lisp/progmodes/cc-vars.el (c-default-style):
Add csharp-mode to the type. This fixes test-custom-opts.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-11-29 Augusto Stoffel <arstoffel@gmail.com>
In project-find-file, add abbreviated file names to history
* lisp/progmodes/project.el (project--read-file-cpd-relative):
Use 'abbreviate-file-name' (bug#58447).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-29 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/project.el (project-vc-name): Fix the :type form (bug#48747).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-29 Michael Albinus <michael.albinus@gmx.de>
Tramp cleanup
@@ -11150,7 +13479,7 @@
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Ignore `memory-info'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-29 Po Lu <luangruo@yahoo.com>
Allow be-resources to fail
@@ -11158,7 +13487,7 @@
(main): Return 0 on failure as well, but print the blurb.
Problem reported by the Haiku packager.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-29 F. Jason Park <jp@neverwas.me>
Simplify erc-sasl's auth-source API
@@ -11176,11 +13505,11 @@
Massage tests to conform to simplified `erc-sasl-password'
API. (Bug#29108.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-28 F. Jason Park <jp@neverwas.me>
* doc/misc/erc.texi: Revise SASL and modules chapters.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-28 F. Jason Park <jp@neverwas.me>
Add erc-sasl-auth-source-function to cached options
@@ -11194,14 +13523,14 @@
`erc-sasl-auth-source-function' in `erc-sasl--options' under the
`authfn' key.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-11-28 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification in csharp-ts-mode
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Improve rules for variables, new-expressions, and catch statements.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-11-28 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve fontification in typescript-ts-mode
@@ -11211,7 +13540,7 @@
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Change patterns.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-28 Theodor Thornhill <theo@thornhill.no>
Add more font-lock settings to css-ts-mode
@@ -11219,7 +13548,7 @@
font-lock features 'query', 'keyword', 'operator' and 'bracket'.
(css-ts-mode): Use new features.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-28 Yuan Fu <casouri@gmail.com>
Reparse tree-sitter tree when buffer restriction changes
@@ -11229,14 +13558,14 @@
* src/treesit.c (treesit_ensure_parsed): Move
treesit_sync_visible_region in front of the check for need_reparse.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-28 Eli Zaretskii <eliz@gnu.org>
Fix GUD item on the menu bar in source buffers
* lisp/progmodes/gud.el (alist-get): Restore gud-minor-mode menu
on the menu bar. (Bug#59605)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-28 Eli Zaretskii <eliz@gnu.org>
Cut the emacs-29 release branch
@@ -11250,14 +13579,14 @@
* lisp/cus-edit.el (customize-changed-options-previous-release):
Bump last version to 28.2.
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-28 Juanma Barranquero <lekktu@gmail.com>
Do not prune native-compiled system directories (bug#59658)
* lisp/emacs-lisp/comp.el (native-compile-prune-cache):
Skip last directory in `native-comp-eln-load-path'.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-28 Gregory Heytings <gregory@heytings.org>
Fix display of long completions.
@@ -11265,18 +13594,18 @@
"at least 2 columns", which is not possible when completion
strings are long, e.g. with completions-detailed set.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-27 Gregory Heytings <gregory@heytings.org>
Do not enter locked narrowing when it would span the whole buffer
* src/xdisp.c (handle_fontified_prop):
* src/keyboard.c (safe_run_hooks_maybe_narrowed): Add condition.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-27 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el (xref--outdated-p): Fix broken docstring.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-27 Stefan Kangas <stefankangas@gmail.com>
Catch more cases in info--ensure-not-in-directory-node
@@ -11285,14 +13614,14 @@
absolute file name.
Problem reported by Eli Zaretskii <eliz@gnu.org>.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-27 Gregory Heytings <gregory@heytings.org>
Fix incompatible -t and -r options in emacsclient
* lib-src/emacsclient.c (decode_options): Do not allow -t and -r
together.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-27 Gregory Heytings <gregory@heytings.org>
Minor improvements to locked narrowing
@@ -11304,7 +13633,7 @@
* src/keyboard.c (safe_run_hooks_maybe_narrowed): Do not use
locked narrowing if the region size is <= 0.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-27 Yuan Fu <casouri@gmail.com>
Remove treesit-comment-start/end and use comment-start/end-skip
@@ -11330,23 +13659,23 @@
(treesit-comment-end): Remove variables.
(treesit-simple-indent-presets): Use comment-start/end-skip instead.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-27 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/revert-for-copyright
GitHub-reference: https://github.com/jwiegley/use-package/issues/1026
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-27 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/revert-for-copyright2
GitHub-reference: https://github.com/jwiegley/use-package/issues/1027
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-27 Gregory Heytings <gregory@heytings.org>
Merge branch 'feature/improved-locked-narrowing'
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-27 Eli Zaretskii <eliz@gnu.org>
Fix the new ctags test
@@ -11355,7 +13684,7 @@
* .gitignore: Ignore CTAGS*.sorted files.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-27 Michael Albinus <michael.albinus@gmx.de>
Extend memory-info for remote systems
@@ -11389,7 +13718,7 @@
* test/lisp/net/tramp-tests.el (tramp-test31-memory-info): New test.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-27 Philip Kaludercic <philipk@posteo.net>
Consistently refer to VC packages as such
@@ -11398,7 +13727,7 @@
* lisp/emacs-lisp/package.el: Replace instances of "source package" in
comments and docstrings.
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-27 Juanma Barranquero <lekktu@gmail.com>
Fix xref interaction with which-func (bug#59575)
@@ -11407,7 +13736,7 @@
(xref--xref-buffer-mode): Assign it buffer-locally to
`add-log-current-defun-function'.
-2023-04-15 lu4nx <lx@shellcodes.org>
+2022-11-27 lu4nx <lx@shellcodes.org>
Fixed ctags local command execute vulnerability
@@ -11423,7 +13752,7 @@
* test/manual/etags/crlf: New file
* test/manual/etags/Makefile: Add `ctags -u` test cases
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-27 Juanma Barranquero <lekktu@gmail.com>
Fix xref to correctly display Windows absolute filenames
@@ -11431,11 +13760,11 @@
Use `file-name-absolute-p' instead of faking it. (Discussed
in bug#59628.)
-2023-04-15 Shohei YOSHIDA <syohex@gmail.com>
+2022-11-27 Shohei YOSHIDA <syohex@gmail.com>
* lib-src/emacsclient.c (print_help_and_exit): Fix --timeout.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-27 Po Lu <luangruo@yahoo.com>
Make frame synchronization more robust
@@ -11445,7 +13774,7 @@
* src/xterm.h (struct x_output, FRAME_X_DRAW_JUST_HUNG): New
flag.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-27 Theodor Thornhill <theo@thornhill.no>
Remove compatibility code in csharp-mode
@@ -11454,27 +13783,27 @@
(version=): Remove compatibility hack for string handling in CC Mode
in Emacs 27.1. (Bug#59602)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-27 Stefan Kangas <stefankangas@gmail.com>
Revert "Add: 'local' keyword"
This reverts commit 620fe443c2e7598191cb5d6c6a41064471edb57c.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-27 Stefan Kangas <stefankangas@gmail.com>
Remove tests lacking a copyright assignment for now
* use-package-tests.el (use-package-test/pre-post-hooks-with-:config)
(use-package-test/pre-post-hooks-without-:config): Remove tests.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-27 Theodor Thornhill <theo@thornhill.no>
Add js-ts-mode to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add js-ts-mode as
an alternative. (Bug#59252)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-27 Stefan Kangas <stefankangas@gmail.com>
Improve describe-text-properties display
@@ -11482,13 +13811,13 @@
space with the 'help-argument-name' face. This improves display
slightly when that face has an underline.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Simplify narrowing_locks_restore
* src/editfns.c (narrowing_locks_restore): Simplify.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Improve handling of killed buffers in locked narrowings
@@ -11500,7 +13829,7 @@
(reset_outermost_narrowings, unwind_reset_outermost_narrowing):
Remove killed buffers from the 'narrowing_locks' alist.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-26 Yuan Fu <casouri@gmail.com>
Make typescript-ts-mode not fallback to js-mode
@@ -11511,7 +13840,7 @@
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode): Remove
the fallback code.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-26 Yuan Fu <casouri@gmail.com>
Make bash-ts-mode fall back to sh-mode if the file isn't in Bash
@@ -11522,14 +13851,14 @@
(sh--redirect-recursing): New variable.
(sh--redirect-bash-ts-mode): New function.
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-11-26 Jostein Kjønigsen <jostein@kjonigsen.net>
Correctly fontify types in typeof() expression in csharp-ts-mode
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Add new pattern.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-26 Yuan Fu <casouri@gmail.com>
Reorganize treesit-font-lock-feaure-list's to the new level scheme
@@ -11542,7 +13871,7 @@
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
Reorganized treesit-font-lock-feature-list.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-26 Yuan Fu <casouri@gmail.com>
Add treesit-font-lock-level
@@ -11554,7 +13883,7 @@
(treesit-font-lock-settings): Change docstring.
(treesit-font-lock-recompute-features): Use the new variable.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-26 Yuan Fu <casouri@gmail.com>
Add default limit for tree-sitter recursive tree-traversing function
@@ -11567,7 +13896,7 @@
* doc/lispref/parsing.texi (Retrieving Nodes): Update manual.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-26 Yuan Fu <casouri@gmail.com>
Partially fix some python tests (bug#59477)
@@ -11588,7 +13917,7 @@
* lisp/progmodes/python.el (python-mode): Add the missing setup.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Minor improvements for locked narrowing
@@ -11599,7 +13928,7 @@
* lisp/subr.el (with-narrowing, internal--with-narrowing):
Simplify, use a single helper function with an optional argument.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-11-26 Jim Porter <jporterbugs@gmail.com>
Improve robustness of server.el tests
@@ -11623,7 +13952,7 @@
(server-tests/emacsclient/create-frame): ... use it.
(server-tests/server-start/stop-prompt-with-client): Simplify.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-11-26 Eric Abrahamsen <eric@ericabrahamsen.net>
Remove mentions of create-directory nnmaildir setting
@@ -11632,11 +13961,11 @@
and supplanted by 'target-prefix. Remove check for old parameter.
* doc/misc/gnus.texi (Maildir): Delete mention from manual.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-11-26 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Docstring improvements
@@ -11644,7 +13973,7 @@
* src/keyboard.c (syms_of_keyboard):
Docstring improvements.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Docstring improvements
@@ -11653,7 +13982,7 @@
* src/buffer.c (syms_of_buffer):
Docstring improvements.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Further improvements to narrowing locks
@@ -11668,7 +13997,7 @@
(narrowing_locks_restore): Use XCAR/XCDR/XSETCAR instead of
Fcar/Fcdr/Fsetcar.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-26 Gregory Heytings <gregory@heytings.org>
Improve locked narrowing around low-level hooks.
@@ -11694,21 +14023,21 @@
* src/editfns.c: (Fsave_restriction): Update docstring.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-26 Stefan Kangas <stefankangas@gmail.com>
Mention new programming language support in manual
* doc/emacs/programs.texi (Program Modes): Mention newly added support
for C#, TypeScript and JSON.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-11-26 Augusto Stoffel <arstoffel@gmail.com>
In project-find-file and the like, add absolute file name to history
* lisp/progmodes/project.el (project--read-file-cpd-relative): Add
absolute file name to history.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-26 Eli Zaretskii <eliz@gnu.org>
Improve documentation of some posn-* functions
@@ -11717,7 +14046,7 @@
* doc/lispref/commands.texi (Click Events): More accurate
documentation of what are DX and DY in POSITION.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-26 Eli Zaretskii <eliz@gnu.org>
Fix generation of autoloads on MS-Windows
@@ -11725,7 +14054,7 @@
(loaddefs-generate--file-load-name): Handle the case when FILE and
OUTFILE don't share any common ancestor directory. (Bug#59507)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-26 Po Lu <luangruo@yahoo.com>
Reduce wasted cycles in x*.c
@@ -11733,7 +14062,7 @@
* src/xselect.c (x_own_selection, x_get_local_selection)
(x_clear_frame_selections): Call CAR and CDR, not Fcar and Fcdr.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-26 Stefan Kangas <stefankangas@gmail.com>
Use substitute-command-keys in Info-index error
@@ -11741,27 +14070,27 @@
function using substitute-command-keys for error message.
(Info-index, Info-virtual-index): Use it.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-26 Brian Leung <leungbk@posteo.net>
eglot-server-programs: ts-mode -> typescript-ts-mode
* lisp/progmodes/eglot.el (eglot-server-programs): Fix name of
'typescript-ts-mode' after rename from 'ts-mode'. (Bug#59589)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-25 Yuan Fu <casouri@gmail.com>
Fix tree-sitter assertion error (bug#59574)
* src/treesit.c (treesit_sync_visible_region): Initialize
visible_beg/end when tree is NULL.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-25 Yuan Fu <casouri@gmail.com>
Rename treesit_ensure_position_synced to treesit_sync_visible_region
* src/treesit.c: Rename to better convey the purpose of the function.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-25 Theodor Thornhill <theo@thornhill.no>
Rename ts-mode to typescript-ts-mode
@@ -11770,21 +14099,21 @@
* etc/NEWS: Mention the new mode name.
Ref: https://lists.gnu.org/r/emacs-devel/2022-11/msg01587.html
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-25 Theodor Thornhill <theo@thornhill.no>
Rename ts-mode.el to typescript-ts-mode.el
* lisp/progmodes/ts-mode.el: Move from here...
* lisp/progmodes/typescript-ts-mode.el: ...to here.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-25 Po Lu <luangruo@yahoo.com>
Fix no-accept-focus handling for embedded frames
* src/xterm.c (handle_one_xevent): Don't focus embedded frames
on click if they have `no-accept-focus' set.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-25 Gregory Heytings <gregory@heytings.org>
Save and restore narrowing locks in 'save-restriction'.
@@ -11794,7 +14123,7 @@
* lisp/subr.el (with-narrowing-1): Simplify.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-25 Dmitry Gutov <dgutov@yandex.ru>
Drop project--value-in-dir
@@ -11811,7 +14140,7 @@
(project--vc-merge-submodules-p, project--value-in-dir):
Delete functions.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-25 Gregory Heytings <gregory@heytings.org>
Generic 'with-narrowing' macro.
@@ -11819,7 +14148,7 @@
'with-locked-narrowing' one. Suggested by Stefan Monnier.
(with-narrowing-1, with-narrowing-2): Helper functions.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-25 Gregory Heytings <gregory@heytings.org>
Reworked locked narrowing.
@@ -11844,7 +14173,7 @@
* lisp/subr.el (with-locked-narrowing): Improved macro, with a helper
function.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-25 F. Jason Park <jp@neverwas.me>
Disable auth-source-pass-extra-query-keywords by default
@@ -11862,7 +14191,7 @@
username more email-like.
(Bug#58985.)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-25 Mattias Engdegård <mattiase@acm.org>
Add sqlite library version string retrieval function (bug#58766)
@@ -11874,7 +14203,7 @@
* test/src/sqlite-tests.el (sqlite-returning): `RETURNING` was added
in sqlite 3.35; skip the test for older versions.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-25 Theodor Thornhill <theo@thornhill.no>
Fix regex errors in csharp-mode
@@ -11884,7 +14213,7 @@
(csharp-compilation-re-xbuild-warning): Make regex match regex for
xbuild-error.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-25 Alan Mackenzie <acm@muc.de>
CC Mode: Fix the "asymmetry rule" for fontifying a type followed by *
@@ -11896,14 +14225,14 @@
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix CASE 17.5 as
above.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-25 Stefan Kangas <stefankangas@gmail.com>
Remove unused parameter from image_create_pix_container
* src/image.c (image_create_pix_container): Remove unused
frame parameter. Update callers.
-2023-04-15 Daanturo <daanturo@gmail.com>
+2022-11-25 Daanturo <daanturo@gmail.com>
Show package name in package-vc--unpack prompt
@@ -11911,7 +14240,7 @@
package name when asking whether to overwrite its previous
checkout. (Bug#59548)
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-11-24 Jim Porter <jporterbugs@gmail.com>
Don't explicitly delete client frames when killing Emacs anyway
@@ -11929,14 +14258,14 @@
* test/lisp/server-tests.el
(server-tests/server-force-stop/keeps-frames): New test.
-2023-04-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+2022-11-24 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Make ibuffer directory filter buffer aware
* lisp/ibuf-ext.el (define-ibuffer-filter): Make ibuffer directory
filter buffer aware for buffer not visiting files. (Bug#59165)
-2023-04-15 Ackerley Tng <ackerleytng@google.com>
+2022-11-24 Ackerley Tng <ackerleytng@google.com>
Add support for window-local xref history
@@ -11951,7 +14280,7 @@
(xref-clear-marker-stack, xref-marker-stack-empty-p)
(xref-forward-history-empty-p): Use it.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-24 Stefan Kangas <stefankangas@gmail.com>
Bind Buffer-menu-view-other-window to "O"
@@ -11959,7 +14288,7 @@
'Buffer-menu-view-other-window' to "O".
(Buffer-menu-mode): Clean up docstring. (Bug#59280)
-2023-04-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+2022-11-24 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Allow goto-address-at-point to use secondary browser
@@ -11967,53 +14296,53 @@
`browse-url-button-open-url', so a prefix argument uses
`browse-url-secondary-browser-function'. (Bug#59443)
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-11-24 Manuel Giraud <manuel@ledu-giraud.fr>
Fix easy menu separator in oldXMenu
* lisp/emacs-lisp/easymenu.el (easy-menu-convert-item-1): Replace a
string of dash with a menu separator as the doc says. (Bug#59370)
-2023-04-15 Jostein Kjønigsen <jostein@kjonigsen.net>
+2022-11-24 Jostein Kjønigsen <jostein@kjonigsen.net>
Improve csharp-ts-mode fontification
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Add more pattern for definition feature.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-24 Yuan Fu <casouri@gmail.com>
Improve python-ts-mode fontification (bug#59534)
* lisp/progmodes/python.el (python--treesit-operators): Add operators.
(python--treesit-fontify-string): Fontify BOF docstrings.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-11-24 Paul Eggert <eggert@cs.ucla.edu>
Work around lsp-mode compatibility bug
* src/timefns.c (Ftime_subtract): Respect current-time-list when
args are eq (Bug#59506).
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-24 Brian Leung <leungbk@posteo.net>
Add more tree-sitter modes to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add python-ts-mode
and bash-ts-mode. (Bug#59550)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-24 Philip Kaludercic <philipk@posteo.net>
* src/emacs.c (usage_message): Add missing --init-directory entry
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-24 Brian Leung <leungbk@posteo.net>
Add tree-sitter-based modes to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add
tree-sitter-based major modes. (Bug#59229)
-2023-04-15 Ulf Jasper <ulf.jasper@web.de>
+2022-11-24 Ulf Jasper <ulf.jasper@web.de>
icalendar: Adjust tests after fixing parsing of sexp entries (bug#56241)
@@ -12022,14 +14351,14 @@
* test/lisp/calendar/icalendar-tests.el (icalendar-real-world):
Disable testcase for exporting sexp entries that has now become invalid.
-2023-04-15 hokomo <hokomo@airmail.cc> (tiny change)
+2022-11-24 hokomo <hokomo@airmail.cc> (tiny change)
icalendar.el: Fix parsing of sexp entries (bug#56241)
* lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical): Use
read-from-string for parsing sexp entries (bug#56241).
-2023-04-15 dannyfreeman <danny@dfreeman.email>
+2022-11-24 dannyfreeman <danny@dfreeman.email>
Eglot: don't confuse URLs and windows file paths
@@ -12037,7 +14366,7 @@
* lisp/progmodes/eglot.el (eglot--path-to-uri): Check for windows path
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-11-24 João Távora <joaotavora@gmail.com>
Remove fboundp check in eglot--connect
@@ -12047,7 +14376,7 @@
* lisp/progmodes/eglot.el (eglot--connect): Don't fboundp
project-name.
-2023-04-15 Marcin Pajkowski <marcin.pajkowski@gmail.com> (tiny change)
+2022-11-24 Marcin Pajkowski <marcin.pajkowski@gmail.com> (tiny change)
Eglot: Advertise completion.resolveSupport capabilities
@@ -12058,7 +14387,7 @@
* lisp/progmodes/eglot.el (eglot-client-capabilities): Advertise
resolveSupport. (bug#59465)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-24 Mattias Engdegård <mattiase@acm.org>
Add new SI prefixes
@@ -12069,11 +14398,11 @@
prefixes Ri and Qi (robi and quebi) in `file-size-human-readable` for
free.)
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-24 Gregory Heytings <gregory@heytings.org>
Merge master into feature/improved-locked-narrowing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-24 Po Lu <luangruo@yahoo.com>
Fix reentrancy problem/crash in xterm.c
@@ -12082,14 +14411,14 @@
protected section.
(x_focus_frame): Block input around critical section.
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2022-11-24 Mike Kupfer <mkupfer@alum.berkeley.edu>
Fix trashing of symlink that points at a directory
* lisp/files.el (move-file-to-trash): Redefine is-directory so
that it is false for symlinks.
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2022-11-24 Mike Kupfer <mkupfer@alum.berkeley.edu>
Fix cross-filesystem directory trashing (Bug#58721)
@@ -12097,7 +14426,7 @@
the same name as something that's already in the trash, copy it into
the trash folder and then delete it, rather than using rename-file.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-24 Alan Mackenzie <acm@muc.de>
CC Mode: Make it scroll fast over buffers with only #define's
@@ -12110,7 +14439,7 @@
* lisp/progmodes/cc-mode.el (c-fl-decl-end): New forward limit LIM+ used in
c-forward-declarator and c-forward-over-token.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-11-24 Tassilo Horn <tsdh@gnu.org>
Fix face issues in show-paren context overlay (bug#59527)
@@ -12121,7 +14450,7 @@
context lines are font-locked before taking the
buffer-substring (fixes problem 1 of bug#59527).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-24 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in treesit.c when editing non-ASCII
@@ -12129,7 +14458,7 @@
initializing 'lisp_parser'. This avoids assertion violations when
the buffer has non-ASCII characters.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-24 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Improve LDAP and BBDB tests
@@ -12137,7 +14466,7 @@
reliable.
* test/lisp/net/eudc-resources/bbdb: Add another test contact.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-23 Yuan Fu <casouri@gmail.com>
Add an error fontification heuristic to c-ts-mode
@@ -12145,14 +14474,14 @@
function.
(c-ts-fontify-error): New function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-23 Yuan Fu <casouri@gmail.com>
Don't always filter out captured tree-sitter nodes outside of region
* lisp/treesit.el (treesit-font-lock-fontify-region): If the capture
name is a function, don't filter.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-23 Dmitry Gutov <dgutov@yandex.ru>
project-switch-project: Use a different fix for bug#58784
@@ -12162,7 +14491,7 @@
(project-current): Refer to it.
(project-switch-project): Bind it. Drop the temp buffer (bug#58784).
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Add test scenarios for local ERC modules
@@ -12173,7 +14502,7 @@
* test/lisp/erc/resources/base/local-modules/third.eld: New file.
(Bug#57955.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Accept functions in place of passwords in ERC
@@ -12206,7 +14535,7 @@
* test/lisp/erc/erc-tests.el (erc--debug-irc-protocol-mask-secrets):
Add test for masking secrets with `erc--unfun' and friends.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Add non-IRCv3 SASL module to ERC
@@ -12232,7 +14561,7 @@
* test/lisp/erc/resources/sasl/scram-sha-256.eld: New file.
* test/lisp/erc/resources/sasl/external.eld: New file.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Call erc-login indirectly via new generic wrapper
@@ -12241,7 +14570,7 @@
(erc-process-sentinel, erc-server-connect): Call
`erc--register-connection' instead of `erc-login'.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Support local ERC modules in erc-mode buffers
@@ -12285,7 +14614,7 @@
(define-erc-module--global, define-erc-module--local): Add tests
asserting module-creation macro. (Bug#57955.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Make erc--server-reconnecting non-buffer-local
@@ -12299,7 +14628,7 @@
* lisp/erc/erc.el (erc--cmd-reconnect): Clean up some assertions.
(Bug#57955.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Don't set erc-networks--id until network is known
@@ -12331,7 +14660,7 @@
erc-scenarios-base-association-nick-bumped-mandated-renick): Update to
reflect more liberal association behavior when renamed by IRCd.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-23 F. Jason Park <jp@neverwas.me>
Add GS2 authorization to sasl-scram-rfc
@@ -12344,7 +14673,7 @@
Also remove whitespace when base64-encoding, as per RFC 5802.
(Bug#57956.)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-23 Theodor Thornhill <theo@thornhill.no>
Add csharp-mode and csharp-ts-mode
@@ -12352,7 +14681,7 @@
* lisp/progmodes/csharp-mode.el (csharp-mode, csharp-ts-mode): New
major modes.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-23 Yuan Fu <casouri@gmail.com>
Don't skip nested defuns in python-ts-mode defun navigation
@@ -12366,7 +14695,7 @@
* lisp/progmodes/python.el (python-ts-mode): Use tree-sitter's default
navigation function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-23 Yuan Fu <casouri@gmail.com>
More flexible tree-sitter defun navigation
@@ -12379,7 +14708,7 @@
(treesit-beginning-of-defun)
(treesit-end-of-defun): Use treesit--defun-maybe-top-level.
-2023-04-15 Ulf Jasper <ulf.jasper@web.de>
+2022-11-23 Ulf Jasper <ulf.jasper@web.de>
icalendar.el: Add test(s) for bug#56241
@@ -12387,7 +14716,7 @@
(icalendar-tests--get-error-string-for-export): new.
* icalendar-tests.el (icalendar-export-bug-56241-dotted-pair): new
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-23 Juri Linkov <juri@linkov.net>
New commands previous-line-completion and next-line-completion (bug#59486)
@@ -12397,7 +14726,7 @@
`previous-line-completion' in the docstring.
(previous-line-completion, next-line-completion): New commands.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-23 Philip Kaludercic <philipk@posteo.net>
Don't break when loading VC packages on older Emacs versions
@@ -12407,7 +14736,7 @@
* lisp/emacs-lisp/package.el (package-desc): Remove special handling
for "vc annotated" versions. (bug#59404)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-23 Juri Linkov <juri@linkov.net>
* lisp/help.el (describe-bindings): Use the outline-default-rules feature.
@@ -12415,21 +14744,21 @@
to match "Key translations", instead of searching and hiding this section
explicitly.
-2023-04-15 lu4nx <lx@shellcodes.org> (tiny change)
+2022-11-23 lu4nx <lx@shellcodes.org> (tiny change)
Support Racket programs in 'etags'
* lib-src/ctags.c (Scheme_suffixes): Add the Racket language
extension ".rkt".
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-23 Dmitry Gutov <dgutov@yandex.ru>
xref--search-property: Jump over entries hidden by outline-minor-mode
* lisp/progmodes/xref.el (xref--search-property):
Jump over entries hidden by e.g. outline-minor-mode (bug#49731).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-23 Eli Zaretskii <eliz@gnu.org>
Avoid signaling args-out-of-range in mouse.el
@@ -12437,7 +14766,7 @@
signaling args-out-of-range errors when mode-line format uses
min-width 'display' property. (Bug#59452)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-23 Eli Zaretskii <eliz@gnu.org>
Improve documentation of locale-specific string comparison
@@ -12445,7 +14774,7 @@
* src/fns.c (Fstring_collate_equalp): Improve documentation of
'string-collate-equalp' and 'string-collate-lessp'. (Bug#59275)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-23 Eli Zaretskii <eliz@gnu.org>
Fix error signaled by mouse-highlight on mode line
@@ -12453,7 +14782,7 @@
signaling args-out-of-range errors when mode-line format uses
min-width 'display' property. (Bug#59452)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-23 Po Lu <luangruo@yahoo.com>
Improve last change to xterm.c
@@ -12462,7 +14791,7 @@
* src/xterm.c (x_display_set_last_user_time, handle_one_xevent):
New functions.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-23 Michael Albinus <michael.albinus@gmx.de>
Restore tramp-achive's Emacs 26 compatibility
@@ -12472,7 +14801,7 @@
* test/lisp/net/tramp-tests.el (tramp-test48-unload): Special case
of `tramp-register-archive-file-name-handler'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-23 Juri Linkov <juri@linkov.net>
* lisp/outline.el: 'S-<down-mouse-1>' on buffer buttons cycles all outlines.
@@ -12481,7 +14810,7 @@
Ignore 'S-<down-mouse-1>'. Don't hard-code 'help-echo' since it should be
customizable by the ':help-echo' keyword in 'define-icon'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-23 Juri Linkov <juri@linkov.net>
* lisp/progmodes/xref.el: Support outline-minor-mode (bug#49731)
@@ -12491,7 +14820,7 @@
outline headings are xref groups, and their lines can be hidden by
outline commands.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
Tweak python-ts-mode fontification (bug#59470)
@@ -12499,7 +14828,7 @@
the @ and the identifier of a decorator, not the argument list (if
there is any).
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-11-22 Randy Taylor <dev@rjt.dev>
Utilize new font-lock faces for more tree-sitter modes (Bug#59397)
@@ -12524,14 +14853,14 @@
operator font-lock faces.
(ts-mode): Add them to the feature list and alphabetize.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-22 Dmitry Gutov <dgutov@yandex.ru>
Add a way to override project name for project-vc backend
* lisp/progmodes/project.el (project-vc-name): New user option.
(project-name): Override for VC project backend (bug#48747).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
Fix treesit-update-ranges
@@ -12539,17 +14868,17 @@
(treesit-update-ranges): Now clips the range within (point-min)
and (point-max), so the new range we use are not out-of-range.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-11-22 Stephen Leake <stephen_leake@stephe-leake.org>
* lisp/progmodes/eglot.el (eglot--connect): Use project-name
As discussed in bug#48747.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-11-22 Stephen Leake <stephen_leake@stephe-leake.org>
* lisp/progmodes/project.el (project-name): New
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-22 Eli Zaretskii <eliz@gnu.org>
Fix 'treesit-max-buffer-size' and its use
@@ -12562,14 +14891,14 @@
* src/treesit.c (treesit_check_buffer_size): Measure buffer size
in bytes.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-22 Robert Pluim <rpluim@gmail.com>
Add '\lll' for VERY MUCH LESS-THAN to TeX input method
* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add '\lll'
translation for U+22D8. (Bug#59476)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-22 Po Lu <luangruo@yahoo.com>
Adjust x_display_set_last_user_time for Xlib sign-extension
@@ -12578,7 +14907,7 @@
then break x_display_set_last_user_time after 24 days, as Time
is unsigned long for historical reasons. (bug#59480)
-2023-04-15 Ihor Radchenko <yantar92@posteo.net>
+2022-11-22 Ihor Radchenko <yantar92@posteo.net>
Improve the doc string of 'string-collate-lessp'
@@ -12587,13 +14916,13 @@
system does not implement string collation for the
specified locale. (Bug#59275)
-2023-04-15 Sam James <sam@gentoo.org>
+2022-11-22 Sam James <sam@gentoo.org>
Fix tree-sitter build using non-bash /bin/sh (bug#59460)
* configure.ac: Don't use '==' in comparisons.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-22 Po Lu <luangruo@yahoo.com>
Avoid potentially expensive XFlush and fix ordering
@@ -12601,7 +14930,7 @@
request being made.
(x_lower_frame): Fix ordering wrt to xwidget view lowering.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
Separate tree-sitter and non-tree-sitter variant of sh-mode
@@ -12618,7 +14947,7 @@
(sh-base-mode): New mode.
(bash-ts-mode): New mode.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
Fix treesit_record_change in casify_region
@@ -12626,7 +14955,7 @@
* src/casefiddle.c: Always record changes.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-22 Theodor Thornhill <theo@thornhill.no>
Tweak faces in Java and TypeScript
@@ -12644,7 +14973,7 @@
* lisp/progmodes/ts-mode.el (ts-mode--font-lock-settings, ts-mode):
Add in bracket and delimiter'.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
treesit-font-lock-recompute-features now has two modes of operation
@@ -12659,7 +14988,7 @@
* lisp/treesit.el (treesit-font-lock-recompute-features): See above
description.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
Tweak c-ts-mode fontification
@@ -12677,11 +15006,11 @@
(c-ts-mode--fontify-variable): New function.
(c-ts-mode--base-mode): Add & remove features.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-22 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-max-buffer-size): Enlarge value.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-22 Stefan Kangas <stefankangas@gmail.com>
Don't refer to deleted variable 'gnus-parameter-to-list-alist'
@@ -12689,7 +15018,7 @@
* lisp/gnus/message.el (message-recipients-without-full-name):
Don't refer to deleted variable 'gnus-parameter-to-list-alist'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-21 Stefan Kangas <stefankangas@gmail.com>
Refresh menus in gnus.texi
@@ -12697,7 +15026,7 @@
* doc/misc/gnus.texi (Top, Starting Up, Article Treatment)
(The Gnus Diary Library, Searching, nnmairix): Refresh menus.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-21 Stefan Kangas <stefankangas@gmail.com>
Improve wording and markup in gnus-faq.texi
@@ -12709,11 +15038,11 @@
(FAQ 7-2, FAQ 7-3, FAQ 7-3, FAQ 7-4, FAQ 8-1, FAQ 8-5, FAQ 9-1):
Improve markup and reflow some paragraphs.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Merge remote-tracking branch 'savannah/master' into feature/tree-sitter
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Allow major modes to tweak tree-sitter fontification
@@ -12724,7 +15053,7 @@
(treesit-font-lock-fontify-region): Use the new variable.
* lisp/textmodes/css-mode.el (css-ts-mode): Use the new variable.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Further tweak tree-sitter fontification heuristics
@@ -12740,7 +15069,7 @@
default (reasons in comments). Measure the query time and activate
the fast mode if query time is long.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-21 Michael Albinus <michael.albinus@gmx.de>
Activate direct asynchronous processes for Tramp container methods
@@ -12759,18 +15088,18 @@
* test/lisp/net/tramp-tests.el (tramp-methods) <mock>:
Add `tramp-direct-async'.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-21 Gregory Heytings <gregory@heytings.org>
Make sed invocation in Makefile POSIX-compliant
* Makefile.in: Add a semicolon before the closing brace, which is
required by POSIX. Fixes bug#59444.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-21 Stefan Kangas <stefankangas@gmail.com>
* lisp/forms.el (forms-mode): Prefer setq-local.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-21 Stefan Kangas <stefankangas@gmail.com>
Make instructions for updating ancient filesets obsolete
@@ -12778,14 +15107,14 @@
information for filesets older than 2001 obsolete. Note that this
dates back to before filesets.el was even added to Emacs.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Use constant face for labels in c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Use
constant face for labels.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Add separate keymaps for js/python/css-ts-mode
@@ -12793,14 +15122,14 @@
* lisp/progmodes/python.el (python-ts-mode-map)
* lisp/textmodes/css-mode.el (css-ts-mode-map): New keymap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Tweak python-ts-mode fontification
* lisp/progmodes/python.el (python--treesit-fontify-string): Make the
matching condition for docstrings more specific.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-21 Yuan Fu <casouri@gmail.com>
Fix tree-sitter fontification heuristic
@@ -12814,11 +15143,11 @@
(treesit-font-lock-fontify-region): Use the new function. Only do
heuristic 2 when the node is large.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-21 Stefan Kangas <stefankangas@gmail.com>
* lisp/woman.el (woman-mode-map): Prefer defvar-keymap.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-21 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-search-function): New variable (bug#53981).
@@ -12842,11 +15171,11 @@
(shortdoc--display-function): Add text property outline-level.
(shortdoc-mode): Set buffer-local outline-search-function and outline-level.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-21 Po Lu <luangruo@yahoo.com>
* src/treesit.c (treesit_load_language): Fix uninitialized uses.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-21 Po Lu <luangruo@yahoo.com>
Avoid usage of intern_c_string in treesit.c
@@ -12854,27 +15183,27 @@
when the naming makes sense.
(syms_of_treesit): Add new defsyms QCanchor, QCequal, QCmatch.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-21 Po Lu <luangruo@yahoo.com>
Stylistic fixes to treesit.c
* src/treesit.c (treesit_make_ranges):
(Ftreesit_parser_set_included_ranges): Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-21 Po Lu <luangruo@yahoo.com>
Fix MS-DOS build
* msdos/sed1v2.inp: Edit out tree-sitter stuff.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-20 Yuan Fu <casouri@gmail.com>
Add another heuristic to speed up tree-sitter fontification
* lisp/treesit.el (treesit-font-lock-fontify-region): Use
treesit--children-covering-range to reduce the node size.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-20 Yuan Fu <casouri@gmail.com>
Limit recursion level for tree-sitter imenu functions
@@ -12890,7 +15219,7 @@
* lisp/textmodes/css-mode.el (css--treesit-imenu): Add limit to
treesit-induce-sparse-tree.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-20 Yuan Fu <casouri@gmail.com>
Improve tree-sitter fontification on large buffers
@@ -12902,7 +15231,7 @@
* lisp/treesit.el (treesit-font-lock-fontify-region): Use the result
of treesit-node-on instead of the root node.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-11-20 Stephen Leake <stephen_leake@stephe-leake.org>
Delete eglot spinner; not useful
@@ -12910,7 +15239,7 @@
(eglot--mode-line-format): Don't include spinner in mode-line.
(eglot--signal-textDocument/didChange): Don't set spinner.
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-20 Juanma Barranquero <lekktu@gmail.com>
Avoid native compiler setting user-init-file to warnings.el (bug#59358)
@@ -12919,7 +15248,7 @@
Fload while loading the init file that sets `user-init-file'
to a bogus value.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-20 Juri Linkov <juri@linkov.net>
Rename 'elisp-eval-buffer' to 'elisp-eval-region-or-buffer' (bug#59350)
@@ -12928,18 +15257,18 @@
(emacs-lisp-mode-map, lisp-interaction-mode-map): Rebind 'C-c C-e'
from elisp-eval-buffer to elisp-eval-region-or-buffer.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-20 Juri Linkov <juri@linkov.net>
Disable display-line-numbers-mode in string-pixel-width (bug#59311)
* lisp/emacs-lisp/subr-x.el (string-pixel-width):
Turn off display-line-numbers-mode when it's enabled.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-20 Michael Albinus <michael.albinus@gmx.de>
* doc/misc/Makefile.in (INFO_COMMON): Sort alphabetically.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-20 Michael Albinus <michael.albinus@gmx.de>
Rework tramp-archive autoloads
@@ -12950,7 +15279,7 @@
(tramp-register-archive-autoload-file-name-handler): Rename from
`tramp-register-archive-file-name-handler'. Adapt callees.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-20 Po Lu <luangruo@yahoo.com>
Coalesce duplicate scroll valuator handling code
@@ -12961,14 +15290,14 @@
(xi_populate_device_from_info, xi_handle_new_classes): Factor
out duplicate code to that function.
-2023-04-15 Laurence Warne <laurencewarne@gmail.com>
+2022-11-20 Laurence Warne <laurencewarne@gmail.com>
Cancel proced auto update timer if no proced buffers are open
* lisp/proced.el (proced-auto-update-timer): Cancel timer if no proced
buffers are open.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-20 Eli Zaretskii <eliz@gnu.org>
Advise against using too-high GC thresholds
@@ -12977,14 +15306,14 @@
<gc-cons-percentage>: Advise against enlarging the GC thresholds
more than needed and for prolonged periods of time.
-2023-04-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+2022-11-20 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Handle error in bookmark-relocate when filename is nil
* lisp/bookmark.el (bookmark-relocate): Handle error when
filename is nil. (Bug#59326)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Fix uses of treesit-ready-p
@@ -12997,7 +15326,7 @@
* lisp/progmodes/sh-script.el (sh-mode)
* lisp/progmodes/ts-mode.el (ts-mode): Remove the MODE argument.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Remove treesit-settings
@@ -13009,7 +15338,7 @@
(treesit--setting-for-mode): Remove function.
(treesit-ready-p): Don't check for user preference in treesit-settings.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Remove tree-sitter setup from js-json-mode
@@ -13017,7 +15346,7 @@
(js--json-treesit-indent-rules): Remove variables.
(js-json-mode): Remove tree-sitter setup.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Fix tree-sitter comment indentation for C-like languages
@@ -13045,7 +15374,7 @@
* doc/lispref/modes.texi (Parser-based Indentation)
* doc/lispref/parsing.texi (Tree-sitter major modes): Update manual.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Separate native and tree-sitter variant of js-mode
@@ -13055,7 +15384,7 @@
(js-ts-mode): New mode. Now it doesn't use any cc-mode feature,
meaning it looses comment filling.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Merge function/class-name features in python-mode
@@ -13065,7 +15394,7 @@
(python-ts-mode): Merge function-name and class-name features into
definition.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Split python-mode into native and tree-sitter variant
@@ -13074,7 +15403,7 @@
(python-mode): Change to inherit from python-base-mode.
(python-ts-mode): New mode that sets up tree-sitter.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Expand css-ts-mode and merge it into css-mode
@@ -13089,7 +15418,7 @@
(css-mode): Inherit from css-base-mode, and move some setup to
css-base-mode.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Change tree-sitter indent preset 'match' to count on all nodes
@@ -13099,7 +15428,7 @@
* lisp/treesit.el (treesit-simple-indent-presets): Change to count on
both named and anonymous nodes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-19 Eli Zaretskii <eliz@gnu.org>
Fix encoding and display of messages sent by server to emacsclient
@@ -13111,7 +15440,7 @@
MS-Windows when the client is invoked as 'emacsclientw', since
stderr goes to the bit bucket in that case.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-19 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Add BBDB test
@@ -13119,7 +15448,7 @@
slapd check.
(eudcb-bbdb): New test.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-19 Gregory Heytings <gregory@heytings.org>
Fix global face scaling bug due to rounding.
@@ -13131,24 +15460,24 @@
(text-scale-adjust): Update the docstring to clarify the difference
with 'global-text-scale-adjust'.
-2023-04-15 Brent Westbrook <bwestbr2@go.olemiss.edu>
+2022-11-19 Brent Westbrook <bwestbr2@go.olemiss.edu>
EUDC: Fix a void-variable error
* lisp/net/eudcb-mailabbrev.el (eudc-mailabbrev-query-internal):
Check if symbol is bound before taking its value. (Bug#59369)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-19 Philip Kaludercic <philipk@posteo.net>
* lisp/emacs-lisp/package.el (package-maintainers): Improve error handling
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-19 Mattias Engdegård <mattiase@acm.org>
* Makefile.in: Escape literal asterisks in regexps
Discovered by Po Lu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-19 Po Lu <luangruo@yahoo.com>
Fix error trapping in x_set_mouse_color
@@ -13157,13 +15486,13 @@
trap errors around FreeCursor requests, since some of the IDs
may not name valid cursors.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Use keyword-face for declaration commands in tree-sitter sh-mode
* lisp/progmodes/sh-script.el: Change builtin to keyword.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-19 Yuan Fu <casouri@gmail.com>
Fix python-mode tree-sitter fontification
@@ -13175,7 +15504,7 @@
the string node rather than the quote node.
(python--treesit-settings): Capture string node.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-19 Po Lu <luangruo@yahoo.com>
Fixes to fast mouse position reporting
@@ -13185,7 +15514,7 @@
scroll bar coordinates correctly.
(XTmouse_position): Call it.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-19 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Add LDAP tests
@@ -13194,7 +15523,7 @@
* test/lisp/net/eudc-resources/dc=gnu,dc=org: New files.
* test/lisp/net/eudc-tests.el (eudcb-ldap): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-19 Po Lu <luangruo@yahoo.com>
Fix automatic DPI adjustment and add workarounds for some systems
@@ -13241,7 +15570,7 @@
Cairo. (bug#59371, bug#59347, bug#59283, bug#59271, bug#59285,
bug#59306.)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-18 Po Lu <luangruo@yahoo.com>
Fix bug#59371
@@ -13250,7 +15579,7 @@
default_font_parameter and face-set-after-frame-default.
(bug#59371)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-18 Po Lu <luangruo@yahoo.com>
Fix earlier changes to keyboard.c
@@ -13259,14 +15588,14 @@
system frames if there is no menu bar window or the click lies
outside.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-18 Po Lu <luangruo@yahoo.com>
Fix build with ext menu bar
* src/keyboard.c (make_lispy_event): Don't access
menu_bar_window when !HAVE_EXT_MENU_BAR.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-11-18 Manuel Giraud <manuel@ledu-giraud.fr>
Fix click position to menu bar entry with no-toolkit
@@ -13275,7 +15604,7 @@
* src/xdisp.c (x_y_to_hpos_vpos): Not static anymore.
* src/dispextern.h: Export x_y_to_hpos_vpos.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-18 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Revert eudc-server-hotlist default change
@@ -13283,7 +15612,7 @@
* lisp/net/eudc-vars.el (eudc-server-hotlist): Set to nil.
(Bug#59314)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
itree: Make sure a deleted overlay has NULL pointer fields
@@ -13292,11 +15621,11 @@
* src/itree.c (itree_insert_node): Uncomment the assertion accordingly.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic-variable-bind): Typo
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-18 Robert Pluim <rpluim@gmail.com>
Improve 'defvar-keymap' docstring
@@ -13304,14 +15633,14 @@
* lisp/keymap.el (defvar-keymap): Improve description of ':repeat'
keyword.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-18 Robert Pluim <rpluim@gmail.com>
Silence rmailsum byte compiler warnings
* lisp/mail/rmailsum.el (rmail-summary-by-thread): Prefix unused
lambda args with '_'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-18 Robert Pluim <rpluim@gmail.com>
Use boolean values directly in rmailsum
@@ -13327,7 +15656,7 @@
'rmail-summary-currently-displayed-msgs' and similar directly instead
of comparing them to t and nil.
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-18 Juanma Barranquero <lekktu@gmail.com>
Avoid `user-init-file' being set to an eln file (bug#59334)
@@ -13335,7 +15664,7 @@
point `user-init-file' to the source file if the init file was
native-compiled.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-18 Mattias Engdegård <mattiase@acm.org>
Fix simple-tests when run noninteractively
@@ -13344,18 +15673,18 @@
Bind text-quoting-style explicitly to ensure consistent behaviour
whether or not the test is run interactively.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-18 Stefan Kangas <stefankangas@gmail.com>
Avoid raw control characters in grm-wy-boot.el
* lisp/cedet/semantic/grm-wy-boot.el
(semantic-grammar-wy--parse-table): Don't use raw control characters.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-18 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (describe-repeat-maps): More outlines and page separators.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-17 Po Lu <luangruo@yahoo.com>
Add knob to make `mouse-position' faster on X
@@ -13366,7 +15695,7 @@
(syms_of_xterm): Add new variable to enable them.
* src/xterm.h (struct x_display_info): Update commentary.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Get rid of the old iterator code
@@ -13399,7 +15728,7 @@
* src/buffer.c (overlays_in, next_overlay_change, overlay_touches_p):
Don't call `ITREE_FOREACH_ABORT` any more.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Make the iterator reentrant (bug#59183)
@@ -13434,25 +15763,25 @@
* src/emacs.c (main): No need to `init_itree` any more.
(Fdump_emacs): No need to `forget_itree` any more.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
* lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Ensure 'package-vc-prepare-patch' runs in the right directory
* lisp/emacs-lisp/package-vc.el (package-vc-prepare-patch): Bind
'default-directory'.p
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Avoid duplicate source packages in 'package-alist'
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Remove all
other source packages before installing the new package description.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix issues related to 'package-vc-install-from-checkout'
@@ -13462,53 +15791,53 @@
of 'package-lisp-dir'.
(package-vc-install-from-checkout): Fix file name handling.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Allow the direct installation of package specifications
* lisp/emacs-lisp/package-vc.el (package-vc-install): Handle package
specifications as an argument.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Only fetch elpa-packages.eld when necessary
* lisp/emacs-lisp/package-vc.el: Remove hook from
'package-refresh-contents-hook'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Remove duplicate package descriptions after updating
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Ensure there
is always just one instance of a package description in 'package-alist'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Remove temporary .texi files if used to build documentation
* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Remember if a temporary file was generated and delete it afterwards.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix the behaviour of 'byte-compile-ignore-files'
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Negate the
'string-match-p' check. (Bug#59139)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Add missing elpa-package.eld to package test resources
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Avoid destructive manipulation of 'package-vc--archive-spec-alist'
* lisp/emacs-lisp/package-vc.el (package-vc--desc->spec): Replace
'mapcar' with 'apply'. This is done to avoid unintentional cycles.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Improve robustness of 'package-vc-update'
@@ -13517,11 +15846,11 @@
always removed and that 'vc-pull' is always called in the right
directory.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
* lisp/vc/vc.el (vc-default-last-change): Use 'vc-call'
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Have 'vc-prepare-patch' handle prefix arguments.
@@ -13532,34 +15861,34 @@
(vc-prepare-patch): Pull logic out to
'vc-prepare-patch-prompt-revisions'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Explain that 'package-vc-install' doesn't remove tarball packages
* lisp/emacs-lisp/package-vc.el (package-vc-install): Expand documentation.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Mention package name when package is lacking VC data
* lisp/emacs-lisp/package-vc.el (package-vc-install): Add package name.
(package-vc-checkout): Add package name.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Add new command 'package-vc-update-all'
* lisp/emacs-lisp/package-vc.el (package-vc-update-all): Add command
(package-vc-update): Add an assertion to verify this.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Raise 'wrong-type-argument' when installing package nil
* lisp/emacs-lisp/package-vc.el (package-vc-install): Check if the
package is nil.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Have 'package-vc-selected-packages' consider all installed packages
@@ -13567,7 +15896,7 @@
(package-vc-install-selected-packages): Consider more than just one
value in `package-alist', in case there are multiple installations.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix indefinite loading of asynchronous downloads
@@ -13575,27 +15904,27 @@
the archive that is actually being downloaded to
'package--downloads-in-progress'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix edebug spec for 'package--with-response-buffer'
* lisp/emacs-lisp/package.el (package--with-response-buffer): Add a
spec that makes the macro debuggable.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Improve robustness of documentation generation
* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation): Log
output and display error messages if anything goes wrong.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Remove unused variable in 'package-vc--unpack'
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Remove 'url'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Move package spec documentation to 'package-vc-selected-packages'
@@ -13603,14 +15932,14 @@
documentation.
(package-vc--archive-spec-alist): Remove documentation.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix type error in package-vc prompt function
* lisp/emacs-lisp/package-vc.el (package-vc--read-package-name): Pass
(not allow-url) as REQUIRE-MATCH, not as INITIAL-INPUT.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Rename 'package-vc-refresh' to 'package-vc-rebuild'
@@ -13622,7 +15951,7 @@
'package-refresh-contents'. Thanks to Rudolf AdamkoviÄ for the
suggestion.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Track 'default-directory' while updating source packages
@@ -13630,7 +15959,7 @@
directory to the identifier list, in case the remaining
'vc-do-command' arguments are all read-time constants.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Respect :lisp-dir in package specs by loading a sub-directory
@@ -13642,14 +15971,14 @@
* lisp/emacs-lisp/package.el (package--delete-directory): Check if a
directory is a symbolic link.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix generation of documentation for source packages
* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Call "makeinfo" before "install-info"
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Remove references to internal symbols from public docstrings
@@ -13658,14 +15987,14 @@
(package-vc-install): Unmention 'package-vc--guess-backend' in favour
of 'package-vc-heuristic-alist'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Expand 'package-vc--unpack-1' documentation
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Explain what
the function does.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Clarify 'package-vc--build-documentation' docstring
@@ -13674,7 +16003,7 @@
As suggested by Eli Zaretskii.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix the docstring for 'package-vc--version'
@@ -13684,7 +16013,7 @@
It seems like this was just copied over from 'package-vc-commit', for
no good reason.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Fix 'package-vc-selected-packages' documentation
@@ -13692,7 +16021,7 @@
reference to non-existent function and add an explanation that the
value won't override an existing source package installation.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Mark 'package-vc-update' as interactive
@@ -13710,7 +16039,7 @@
(package-vc-refresh): Use 'package-vc--read-package-desc'.
(package-vc-prepare-patch): Use 'package-vc--read-package-desc'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Autoload 'package-vc-install-selected-packages'
@@ -13719,14 +16048,14 @@
(package-vc-selected-packages): Set
:initialize to 'custom-initialize-default'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Mark 'package-vc-install-selected-packages' as interactive
* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Add an
interactive spec.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Rename '-ensure-packages' to -install-selected-packages'
@@ -13735,7 +16064,7 @@
to 'package-vc-install-selected-packages'.
(package-vc-selected-packages): Call renamed function.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-17 Philip Kaludercic <philipk@posteo.net>
Handle strings as keys in 'package-vc-ensure-packages'
@@ -13744,7 +16073,7 @@
As requested by Rudolf AdamkoviÄ.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-17 Stefan Kangas <stefankangas@gmail.com>
Avoid raw control characters in two files
@@ -13754,7 +16083,7 @@
* test/lisp/subr-tests.el (test-keymap-parse-macros): Don't use
raw control characters.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-11-17 Randy Taylor <dev@rjt.dev>
Utilize new font-lock faces for C/C++ and Python tree-sitter use
@@ -13767,7 +16096,7 @@
property, operator, bracket, and delimiter font-lock faces.
(python-mode): Add them to the feature list.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-17 Yuan Fu <casouri@gmail.com>
Improvements to the tree-sitter setup in sh-script.el
@@ -13778,7 +16107,7 @@
(sh-mode--treesit-settings): Change feature names. Simplify
declaration-command feature.
-2023-04-15 João P. L. de Carvalho <jaopaulolc@gmail.com>
+2022-11-17 João P. L. de Carvalho <jaopaulolc@gmail.com>
Initial fontification in sh-mode with tree-sitter
@@ -13790,24 +16119,24 @@
(sh-mode--treesit-other-keywords)
(sh-mode--treesit-fontify-decl-command): New functions.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-17 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (describe-repeat-maps): Use fill-region-as-paragraph.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-17 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/package-requires
GitHub-reference: https://github.com/jwiegley/use-package/issues/1024
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-17 Robert Pluim <rpluim@gmail.com>
Use mapc instead of mapcar when walking rmail threads
* lisp/mail/rmailsum.el (rmail-summary--walk-thread-message-recursively):
Use `mapc' instead of `mapcar'; we don't care about the results.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Add new "stateless" iterator code and post-order traversal
@@ -13827,7 +16156,7 @@
* src/itree.h (enum itree_order): New value for post-order traversals.
-2023-04-15 Andrea Monaco <andrea.monaco@autistici.org>
+2022-11-17 Andrea Monaco <andrea.monaco@autistici.org>
New Rmail summary "by thread"
@@ -13843,7 +16172,7 @@
* etc/NEWS: Announce the new Rmail features.
-2023-04-15 Andrea Monaco <andrea.monaco@autistici.org>
+2022-11-17 Andrea Monaco <andrea.monaco@autistici.org>
Improve progressive summaries in Rmail
@@ -13859,7 +16188,7 @@
(rmail-summary-by-senders): Call 'rmail-summary-exists' to verify
that the summary is usable.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-17 Eli Zaretskii <eliz@gnu.org>
Fix documentation of recent treesit changes
@@ -13871,13 +16200,13 @@
wording and punctuation.
(Using Parser): Improve indexing and wording.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-17 Stefan Kangas <stefankangas@gmail.com>
Add package keyword from finder-known-keywords
Fix Package-Requires for bind-{chord,key}.el
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-17 Alan Mackenzie <acm@muc.de>
CC Mode: Make implicit int types following specifiers fontify correctly
@@ -13894,14 +16223,14 @@
* lisp/progmodes/cc-langs.el (c-maybe-typeless-specifier-re): New lang
const/var.
-2023-04-15 Jan Stranik <jan@stranik.org>
+2022-11-17 Jan Stranik <jan@stranik.org>
Support multi-line C++11 strings in Ebrowse
* lib-src/ebrowse.c (yylex): Support C++11 multi-line strings.
(bug#58847)
-2023-04-15 Laurence Warne <laurencewarne@gmail.com>
+2022-11-17 Laurence Warne <laurencewarne@gmail.com>
Make VSIZE and RSS human-readable in Proced buffers
@@ -13909,18 +16238,18 @@
(proced-grammar-alist): Use proced-format-memory to format
VSIZE and RSS. (Bug#59272)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-17 Eli Zaretskii <eliz@gnu.org>
* lisp/progmodes/eglot.el (eglot-server-programs): Remove Intelephense.
-2023-04-15 USAMI Kenta <zonuexe+tadsan@zonu.me>
+2022-11-17 USAMI Kenta <zonuexe+tadsan@zonu.me>
Add Eglot alternatives for PHP language servers
* lisp/progmodes/eglot.el (eglot-server-programs): Add alternatives
for PHP.
-2023-04-15 Olivier Certner <olce.emacs@certner.fr>
+2022-11-17 Olivier Certner <olce.emacs@certner.fr>
ediff: Merges with ancestor: Fix computation of hunks and proposed merge
@@ -13944,33 +16273,33 @@
(Bug#59182)
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-17 Brian Leung <leungbk@posteo.net>
shell: Add repeat-map for shell-{forward,backward}-prompt
* lisp/shell.el (shell-repeat-map): New defvar. (Bug#59144)
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-17 Brian Leung <leungbk@posteo.net>
esh-mode: Add repeat-map for eshell-{forward,backward}-argument
* lisp/eshell/esh-mode.el (eshell-command-repeat-map): New defvar.
(Bug#59144)
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-17 Brian Leung <leungbk@posteo.net>
em-prompt: Add repeat-map for eshell-{next,previous}-prompt
* lisp/eshell/em-prompt.el (eshell-prompt-repeat-map): New keymap.
(Bug#59144)
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-17 Brian Leung <leungbk@posteo.net>
comint: Add repeat-map for comint-{next,previous}-prompt
* lisp/comint.el (comint-repeat-map): New keymap. (Bug#59144)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-17 Eli Zaretskii <eliz@gnu.org>
Fix display of mode line when the right divider is used
@@ -13982,11 +16311,11 @@
(display_mode_line): Widen the last glyph to account for adding
the right box line to it. (Bug#5930)
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-17 Juanma Barranquero <lekktu@gmail.com>
* lisp/emacs-lisp/shortdoc.el (sequence): Don't use cl-lib (bug#59319)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-17 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -13995,18 +16324,18 @@
# Conflicts:
# doc/emacs/custom.texi
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-17 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in window.el
* lisp/window.el (other-window-repeat-map)
(resize-window-repeat-map): Prefer defvar-keymap.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-17 Juri Linkov <juri@linkov.net>
* lisp/keymap.el (defvar-keymap): Don't use pcase.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-17 Juri Linkov <juri@linkov.net>
* lisp/keymap.el (defvar-keymap): Add support for repeat-mode.
@@ -14015,7 +16344,7 @@
according to ':repeat (:enter (commands ...) :exit (commands ...))'.
https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg00968.html
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-17 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (describe-repeat-maps): Improve the output.
@@ -14023,7 +16352,7 @@
enter and exit repeat-map. Use default outline headings.
https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg00969.html
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-17 Po Lu <luangruo@yahoo.com>
Fix treatment of input focus on MPX setups
@@ -14034,7 +16363,7 @@
(x_focus_frame): Use x_set_input_focus instead of
XSetInputFocus.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Improve new connections in erc-handle-irc-url
@@ -14065,7 +16394,7 @@
* test/lisp/erc/resources/join/legacy/foonet.eld: Relax
timeout. (Bug#56514.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Add optional server param to erc-networks--determine
@@ -14074,7 +16403,7 @@
* test/lisp/erc/erc-networks-tests.el (erc-networks--determine): Add
test. (Bug#56514.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Default to TLS port when calling erc-tls from lisp
@@ -14087,7 +16416,7 @@
* test/lisp/erc/erc-tests.el (erc-tls): Add simplistic test focusing
on default parameters. (Bug#56514.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Refactor erc-select-read-args
@@ -14105,7 +16434,7 @@
reading user input during interactive invocations of entry points.
(Bug#56514.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Accommodate ircs:// URLs in url-irc and browse-url
@@ -14130,7 +16459,7 @@
* etc/NEWS: Mention select browse-url and url-irc
changes. (Bug#56514.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Warn of future breaking change to erc-response.tags
@@ -14144,7 +16473,7 @@
(erc-parse-server-response): Call `erc--parse-message-tags'.
(Bug#58797.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Improve auto-reconnect visibility in ERC
@@ -14185,7 +16514,7 @@
(erc-scenarios-base-cancel-reconnect): Add new test case for canceling
reconnect timers. (Bug#58840.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Support auth-source-pass in ERC
@@ -14208,7 +16537,7 @@
erc--auth-source-search--pass-overrides): Remove `ert-skip' guard.
(Bug#58985.)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-17 F. Jason Park <jp@neverwas.me>
Make auth-source-pass behave more like other backends
@@ -14251,7 +16580,7 @@
Special thanks to Akib Azmain Turja <akib@disroot.org> for helping
improve this patch.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-11-17 Jim Porter <jporterbugs@gmail.com>
Enable/disable 'server-mode' when starting/stopping the server
@@ -14262,24 +16591,24 @@
* test/lisp/server-tests.el: New file (bug#58909).
-2023-04-15 Karl Fogel <kfogel@red-bean.com>
+2022-11-16 Karl Fogel <kfogel@red-bean.com>
Fix two typos in a doc string
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-16 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Fix eudc-capf-message-expand-name nil result
* lisp/net/eudc-capf.el (eudc-capf-message-expand-name): Return
nil if EUDC query returns no results. (Bug#59314)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-16 Yuan Fu <casouri@gmail.com>
Fix treesit-search-forward not matching leaf nodes
* src/treesit.c: Match against NODE at start of the loop.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-16 Yuan Fu <casouri@gmail.com>
Tweaks on c-ts-mode fontification rules
@@ -14301,7 +16630,7 @@
(c-ts-mode--fontify-declarator): New function.
(c-ts-mode): Update feature-list.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-16 Yuan Fu <casouri@gmail.com>
Fix c-ts-mode-imenu
@@ -14309,7 +16638,7 @@
its name, ignore the node.
(c-ts-mode--imenu): Don't include a category if it's empty.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-16 Yuan Fu <casouri@gmail.com>
Allow checking for outdated nodes in tree-sitter
@@ -14320,7 +16649,7 @@
* src/treesit.c (Ftreesit_node_check): Add new property 'outdated'.
* test/src/treesit-tests.el (treesit-node-check): Add tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-16 Yuan Fu <casouri@gmail.com>
Add treesit-explore-mode
@@ -14346,7 +16675,7 @@
(treesit--explorer-tree-mode)
(treesit-explore-mode): New modes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
* src/itree.c: Use more uniform names starting with `itree_`
@@ -14361,37 +16690,37 @@
(itree_insert_node): Rename from `interval_tree_insert`.
(itree_node_intersects): Rename from `interval_node_insert`.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-16 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/dir-locals
GitHub-reference: https://github.com/jwiegley/use-package/issues/1023
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-16 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/fix-headers
GitHub-reference: https://github.com/jwiegley/use-package/issues/1022
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-11-16 Stephen Leake <stephen_leake@stephe-leake.org>
Call xref--analyze with correct project
* lisp/progmodes/xref.el (xref-show-definitions-buffer-at-bottom):
Call xref--analyze with correct project.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-16 Stefan Kangas <stefankangas@gmail.com>
Add .dir-locals.el
-2023-04-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+2022-11-16 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Add flat-button to docstring of 'set-face-attribute'
* lisp/faces.el (set-face-attribute): Add 'flat-button' to
COLOR and STYLE sections of docstring. (Bug#59266)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-16 Eli Zaretskii <eliz@gnu.org>
Reduce buffer-tests noisiness even more
@@ -14401,7 +16730,7 @@
(test-buffer-modifications, test-restore-buffer-modified-p): Shut
up auto-save messages. (Bug#59028)
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-16 Matt Armstrong <matt@rfc20.org>
Reduce buffer-tests noisiness when run in batch mode.
@@ -14410,7 +16739,7 @@
failures. (bug#59028)
(overlay-tests-start-recording-modification-hooks): ditto.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-16 Philip Kaludercic <philipk@posteo.net>
Set vc-prepare-patches-separately to nil in .dir-locals.el
@@ -14418,13 +16747,13 @@
See https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg00973.html.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-16 Stefan Kangas <stefankangas@gmail.com>
Delete redundant headers
Normalize GPLv3 license statements
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-16 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -14435,7 +16764,7 @@
# doc/emacs/custom.texi
# doc/emacs/mark.texi
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-15 Po Lu <luangruo@yahoo.com>
Fix calculation of tab bar lines during automatic height adjustment
@@ -14446,24 +16775,24 @@
* src/xfns.c (x_change_tab_bar_height): Do not round tab bar
height up. (bug#59285, bug#59271)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-15 Po Lu <luangruo@yahoo.com>
Fix error trapping in x_focus_frame
* src/xterm.c (x_focus_frame): Improve commentary. Dno not trap
errors around x_get_server_time.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Merge pull request from jwiegley/revert-1019-johnw/multi-keymap
GitHub-reference: https://github.com/jwiegley/use-package/issues/1021
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Revert "Allow multiple keymaps in :map argument"
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-15 Juri Linkov <juri@linkov.net>
New command 'project-list-buffers' bound to 'C-x p C-b' (bug#59153)
@@ -14479,7 +16808,7 @@
'project-list-buffers'.
(project-list-buffers): New command.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-15 Yuan Fu <casouri@gmail.com>
Add emacs-devel-specific font-lock rules to c-ts-mode
@@ -14489,47 +16818,47 @@
Additional font-lock rules.
(c-ts-mode--fontify-defun): New function.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Merge pull request from jwiegley/johnw/multi-keymap
GitHub-reference: https://github.com/jwiegley/use-package/issues/1019
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Merge remote-tracking branch 'origin/master' into pr-830
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/texinfo-wip
GitHub-reference: https://github.com/jwiegley/use-package/issues/1018
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Merge branch 'master' into texinfo-wip
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-15 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/gnu-elpa
GitHub-reference: https://github.com/jwiegley/use-package/issues/1017
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-15 Eli Zaretskii <eliz@gnu.org>
Fix the MS-Windows build due to use of a new TS function
* src/treesit.c (ts_tree_get_changed_ranges) [WINDOWSNT]: Define,
load from the library, and call through a function pointer.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-15 Po Lu <luangruo@yahoo.com>
Fix last change again
* src/frame.c (Freconsider_frame_fonts): Apply value of default
face again. (bug#59283)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-15 Po Lu <luangruo@yahoo.com>
More fixes to last change
@@ -14538,7 +16867,7 @@
* src/frame.c (Freconsider_frame_fonts): New function.
(syms_of_frame): Add new function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-15 Po Lu <luangruo@yahoo.com>
Fix recent Cairo xsettings changes
@@ -14553,7 +16882,7 @@
obtain the default font settings on Cairo. (bug#58912,
bug#59283, bug#59271)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-15 Yuan Fu <casouri@gmail.com>
Make tree-sitter fontification automatically update
@@ -14568,7 +16897,7 @@
(treesit-major-mode-setup): Register fontifier with every existing
parser.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-15 Yuan Fu <casouri@gmail.com>
Remove the contextual hack in tree-sitter fontification
@@ -14586,7 +16915,7 @@
(treesit-font-lock-fontify-region): Remove code processing contextual
nodes.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-15 Yuan Fu <casouri@gmail.com>
Allow tree-sitter to notify parse-tree changes
@@ -14599,26 +16928,26 @@
(Ftreesit_parser_remove_notifier): New functions.
* src/treesit.h (Lisp_TS_Parser): New field after_change_functions.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-15 Stefan Kangas <stefankangas@gmail.com>
Fix makeinfo warnings
Resolves https://github.com/jwiegley/use-package/issues/962
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-15 Yuan Fu <casouri@gmail.com>
Extract out treesit_make_ranges
* src/treesit.c (treesit_make_ranges): New function.
(Ftreesit_parser_included_ranges): Use treesit_make_ranges.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-15 Stefan Kangas <stefankangas@gmail.com>
Use two spaces to end sentences
Recommend GNU ELPA over MELPA
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-15 Stefan Kangas <stefankangas@gmail.com>
Use substitute-command-keys for buffer-menu help
@@ -14628,44 +16957,44 @@
(Buffer-menu-delete): Advertise key binding as 'd'.
(Buffer-menu-this-window): Advertise key binding as 'f'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-15 Stefan Kangas <stefankangas@gmail.com>
manual: Regenerate texi file
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-14 Stefan Kangas <stefankangas@gmail.com>
Add face to key bindings suggested by M-x
* lisp/simple.el (execute-extended-command--describe-binding-msg):
Use 'help-key-binding' face for keybinding.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-14 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/checkdoc
GitHub-reference: https://github.com/jwiegley/use-package/issues/1015
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-14 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/ci
GitHub-reference: https://github.com/jwiegley/use-package/issues/1013
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-14 Yuan Fu <casouri@gmail.com>
Don't highlight syntax error in c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--base-mode): Remove error
feature.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-14 Robert Pluim <rpluim@gmail.com>
Explain how to bind keys to non-ASCII sequences
* doc/emacs/custom.texi (Init Rebinding): Explain how to use `kbd'
when binding keys to non-ASCII sequences.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-14 Po Lu <luangruo@yahoo.com>
Make C-x 5 o work on GNOME Shell-like Wayland compositors
@@ -14684,7 +17013,7 @@
* src/pgtkterm.h (struct pgtk_output): New field
`last_user_time'.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-14 Alan Mackenzie <acm@muc.de>
CC Mode: Prevent over-eager recognition of a variable as a found type
@@ -14698,7 +17027,7 @@
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 18 - set
unsafe-maybe to t, when needed.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-14 Theodor Thornhill <theo@thornhill.no>
Fix some inconsistencies in *-ts-modes
@@ -14720,7 +17049,7 @@
(ts-mode--font-lock-settings): Whitespace cleanup.
(ts-mode): Add electric-indent.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-14 Yuan Fu <casouri@gmail.com>
Remove feature that checks whether tree-sitter node "has changes"
@@ -14736,7 +17065,7 @@
remove the branch for "has-changes".
(syms_of_treesit): Remove has-changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-14 Po Lu <luangruo@yahoo.com>
Prevent crashes upon trying to focus a child frame on click
@@ -14744,31 +17073,31 @@
override-redirect frames. Explain why.
(x_focus_frame): Catch errors around XSetInputFocus.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-13 Stefan Kangas <stefankangas@gmail.com>
Various checkdoc fixes
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-13 Dmitry Gutov <dgutov@yandex.ru>
Hardcode "-name" instead of using find-name-arg
* lisp/progmodes/project.el (project--files-in-directory):
Hardcode "-name" instead of using find-name-arg (bug#59023).
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-11-13 John Wiegley <johnw@newartisans.com>
Merge pull request from bhankas/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/1011
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-13 Stefan Kangas <stefankangas@gmail.com>
Fix building on Emacs 24.3
This fixes the following error:
use-package-core.el:60:32:Error: Cannot open load file: subr-x
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-13 Stefan Kangas <stefankangas@gmail.com>
Fix tests on Emacs 26 or older
@@ -14777,7 +17106,7 @@
In toplevel form:
bind-key.el:549:1:Error: the function ‘mapcan’ is not known to be defined.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-13 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (set-message-functions): New user option.
@@ -14792,7 +17121,7 @@
(multi-message-separator, multi-message-list): New variables.
(set-multi-message): New function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-13 Stefan Kangas <stefankangas@gmail.com>
Fix suggest-key-bindings displaying key as command
@@ -14803,7 +17132,7 @@
* test/lisp/simple-tests.el
(simple-execute-extended-command--describe-binding-msg): New test.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-13 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: More improvements for tab-bar-auto-width (bug#59208)
@@ -14811,7 +17140,7 @@
Prevent from going into infinite loops. More optimizations.
(tab-bar-format-align-right): Use add-face-text-property, not propertize.
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2022-11-13 Ingo Lohmar <ingo.lohmar@posteo.net>
Eglot: fix null scopeUri regression in workspace/configuration
@@ -14824,35 +17153,35 @@
A nil return value must now be handled in the caller, do that for the
workspace/configuration handler to avoid an uncaught error.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-13 Stefan Kangas <stefankangas@gmail.com>
New test for execute-extended-command helper defun
* test/lisp/simple-tests.el
(simple-execute-extended-command--shorter): New test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-13 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in sql.el
* lisp/progmodes/sql.el (sql-interactive-mode-map, sql-mode-map):
Prefer defvar-keymap.
-2023-04-15 Davide Masserut <dm@mssdvd.com>
+2022-11-13 Davide Masserut <dm@mssdvd.com>
Add new Go modes to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add new major modes
for Go to be used with gopls. (Bug#59245)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-13 Po Lu <luangruo@yahoo.com>
Fix bug#59075
* src/nsimage.m (ns_can_use_native_image_api): Do not use native
image APIs for SVG images when RSVG is present. (bug#59075)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-13 Eli Zaretskii <eliz@gnu.org>
Fix crash on MS-Windows due to memory-allocation problem in treesit.c
@@ -14862,7 +17191,7 @@
whereas 'strdup' uses the default implementation in the MS-Windows
C runtime library.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-13 Po Lu <luangruo@yahoo.com>
Fix warnings without XCB or XFixes
@@ -14871,7 +17200,7 @@
the compiler still emitted warnings despite the ((void)
SAFE_ALLOCA (0)) statement.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-12 Po Lu <luangruo@yahoo.com>
Prevent non-local exits from ns-in-echo-area
@@ -14881,7 +17210,7 @@
([EmacsView firstRectForCharacterRange:]): Call them instead.
(syms_of_nsterm): New defsym.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-12 Yuan Fu <casouri@gmail.com>
Improve tree-sitter imenu for c-mode and js-mode
@@ -14896,14 +17225,14 @@
(js--treesit-imenu-1): Use the name alone for labels.
(js--treesit-imenu): Categorize menu entries.
-2023-04-15 Michal Dubiel <majkijin@gmail.com> (tiny change)
+2022-11-12 Michal Dubiel <majkijin@gmail.com> (tiny change)
eglot: Support signature labels without a function name
* lisp/progmodes/eglot.el (eglot--sig-info): Support signature labels
without a function name. (Bug#58777)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-11-12 Theodor Thornhill <theo@thornhill.no>
Add tree-sitter modes for C-like languages
@@ -14914,29 +17243,29 @@
* lisp/progmodes/json-ts-mode.el: New major mode with tree-sitter support.
* lisp/progmodes/css-ts-mode.el: New major mode with tree-sitter support.
-2023-04-15 Morgan Smith <Morgan.J.Smith@outlook.com>
+2022-11-12 Morgan Smith <Morgan.J.Smith@outlook.com>
vc-git: Ensure git doesn't try to colorize stashes
* lisp/vc/vc-git.el (vc-git-stash-show): Add --color=never to git
flags. (Bug#59158)
-2023-04-15 Shohei YOSHIDA <syohex@gmail.com>
+2022-11-12 Shohei YOSHIDA <syohex@gmail.com>
Add cperl-mode to eglot-server-programs
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-12 Alan Mackenzie <acm@muc.de>
.dir-locals.el (C entry). Add NO_INLINE to c-noise-macro-names
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-12 Po Lu <luangruo@yahoo.com>
Correctly handle key map updates on Haiku
* src/haiku_support.cc (MessageReceived): Handle
B_KEY_MAP_LOADED by clearing the previous keymap.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-12 Eli Zaretskii <eliz@gnu.org>
Document that 'transient-mark-mode' is off in batch mode
@@ -14944,7 +17273,7 @@
belatedly, that 'transient-mark-mode' is turned on by default only
in interactive sessions. (Bug#59201)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-12 Po Lu <luangruo@yahoo.com>
Handle request serial wraparound more correctly
@@ -14956,14 +17285,14 @@
(x_clean_failable_requests, x_stop_ignoring_errors): Use those
functions to perform request serial comparison.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-12 Po Lu <luangruo@yahoo.com>
Fix implementation of MULTIPLE
* src/xselect.c (x_handle_selection_request): Make sure the type
of a reply to a MULTIPLE request is ATOM_PAIR.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-12 Eli Zaretskii <eliz@gnu.org>
Fix recent changes in documentation
@@ -14975,22 +17304,22 @@
changed.
(Retrieving Nodes): Fix wording and markup.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-12 Stefan Kangas <stefankangas@gmail.com>
* doc/lispref/intro.texi: Fix PDF output without VERSION. (Bug#59199)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-12 Po Lu <luangruo@yahoo.com>
* lisp/xwidget.el: Improve Commentary.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-12 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in cus-theme.el
* lisp/cus-theme.el (custom-new-theme-mode-map)
(custom-theme-choose-mode-map): Prefer defvar-keymap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-11 Yuan Fu <casouri@gmail.com>
Improve treesit-node-at
@@ -14999,20 +17328,20 @@
return the node that a user would expect in various circumstances.
* test/src/treesit-tests.el (treesit-node-at): New test.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-11 Dmitry Gutov <dgutov@yandex.ru>
project--buffer-list: Remove as unused
* lisp/progmodes/project.el (project--buffer-list):
Remove as unused (pointed out in bug#59153 by Juri).
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-11-11 Eric Abrahamsen <eric@ericabrahamsen.net>
Mention obsolete gnus/nnir package in Gnus manual
* doc/misc/gnus.texi (nnir): Provide some hints for upgrade.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-11-11 Brian Leung <leungbk@posteo.net>
Make Eglot consider FileSystemWatcher.kind when watching files
@@ -15028,7 +17357,7 @@
value of 7, which is computed from taking the bitwise OR operation
WatchKind.Create (1) | WatchKind.Change (2) | WatchKind.Delete (4).
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-11-11 Gerd Möllmann <gerd@gnu.org>
Fix &key parameters called without arguments (bug#58714)
@@ -15036,7 +17365,7 @@
argument.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-&key-arguments): New test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-11 Stefan Kangas <stefankangas@gmail.com>
eglot: Remove menu entry for manual
@@ -15044,7 +17373,7 @@
eglot info manual instead of the less exhaustive README.
(eglot-menu): Remove entry for reading the manual. (Bug#58892)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-10 Stefan Kangas <stefankangas@gmail.com>
Remove redundant library installation instructions
@@ -15061,7 +17390,7 @@
* lisp/vc/smerge-mode.el: Remove redundant installation instructions
for packages bundled with Emacs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-10 Po Lu <luangruo@yahoo.com>
Slightly adjust EWMH frame activation code for child frames
@@ -15071,18 +17400,18 @@
focus and the child frame do not share the same toplevel) or
focus transfers from child frames to their toplevel parents.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-10 Stefan Kangas <stefankangas@gmail.com>
* lisp/progmodes/hideshow.el: Improve Commentary.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-10 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in hideshow.el
* lisp/progmodes/hideshow.el (hs-minor-mode-map): Prefer
defvar-keymap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-10 Yuan Fu <casouri@gmail.com>
In end-of-defun, terminate early if no further defun exists
@@ -15095,7 +17424,7 @@
clarifying the return value.
(end-of-defun): Terminate early if beginning-of-defun-raw returns nil.
-2023-04-15 dannyfreeman <danny@dfreeman.email>
+2022-11-10 dannyfreeman <danny@dfreeman.email>
Eglot: Only handle URIs with the file:// scheme (bug#58790)
@@ -15118,7 +17447,7 @@
* lisp/progmodes/eglot.el (eglot--path-to-uri): Noop if already an
URI. (eglot--uri-to-path): Only handle file:// URIs
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-11-10 João Távora <joaotavora@gmail.com>
Improve Eglot's docstrings and manual
@@ -15132,21 +17461,21 @@
* lisp/progmodes/eglot.el (eglot-server-programs): Mention
eglot-alternatives in eglot-server-program's docstring.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-10 Yuan Fu <casouri@gmail.com>
Utilize new face font-lock-escape-face in python-mode
* lisp/progmodes/python.el (python--treesit-settings): Use
font-lock-escape-face rather than font-lock-constant-face.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-10 Yuan Fu <casouri@gmail.com>
Accept older versions of tree-sitter library
* configure.ac: Accept a tree-sitter library as long as it provides
ts_set_allocator.
-2023-04-15 Evgeni Kolev <evgenysw@gmail.com>
+2022-11-10 Evgeni Kolev <evgenysw@gmail.com>
Ignore errors when shutting down all LSP servers (bug#59146)
@@ -15158,21 +17487,21 @@
* eglot.el (eglot-shutdown-all): Ignore errors when shutting down
servers, converting errors to messages.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-10 Eli Zaretskii <eliz@gnu.org>
Don't reset the inbox buffer's modified status in Rmail
* lisp/mail/rmail.el (rmail-get-new-mail-1): Don't mark the buffer
unmodified if it was modified before getting new mail. (Bug#59108)
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-11-10 Arash Esbati <arash@gnu.org>
Support 'texlab' LSP server in Eglot OOTB
* lisp/progmodes/eglot.el (eglot-server-programs): Add support for
'texlab' LSP server for tex-mode and similar languages.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-10 Alan Mackenzie <acm@muc.de>
Add to /etc/NEWS a mention of the new C++20 support in CC Mode
@@ -15180,7 +17509,7 @@
* lisp/progmodes/cc-defs.el (c-version): Update to 5.35.2.
-2023-04-15 Randy Taylor <dev@rjt.dev>
+2022-11-10 Randy Taylor <dev@rjt.dev>
Add more font-lock faces (Bug#58940)
@@ -15194,7 +17523,7 @@
* doc/lispref/modes.texi (Faces for Font Lock): Document them.
* etc/NEWS: Mention them.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-10 Eli Zaretskii <eliz@gnu.org>
Fix initialization of module functions
@@ -15202,7 +17531,7 @@
initialization of module functions. Suggested by Richard Copley
<rcopley@gmail.com>. (Bug#59104)
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-11-10 kobarity <kobarity@gmail.com>
Fix indentation for multi-line block start in Python mode
@@ -15212,20 +17541,20 @@
* test/lisp/progmodes/python-tests.el
(python-info-dedenter-opening-block-positions-6): New test. (Bug#59009)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-10 Eli Zaretskii <eliz@gnu.org>
Avoid dumping core upon SIGHUP in non-interactive sessions
* src/emacs.c (terminate_due_to_signal): Don't special-case
SIGINT. Patch by Paul Eggert <eggert@cs.ucla.edu>. (Bug#58956)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-10 Alan Mackenzie <acm@muc.de>
* lisp/progmodes/cc-mode.el (c-fl-decl-start): Fix off-by-one error.
This fixes bug #59070.
-2023-04-15 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
+2022-11-10 Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Make 'dired-hide-details-mode' work after 'dired-hide-subdir'
@@ -15234,7 +17563,7 @@
* test/lisp/dired-tests.el (dired-test-bugXXXX): New test.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-10 Matt Armstrong <matt@rfc20.org>
Rewrite the `kill-buffer-delete-auto-save' tests (bug#59028)
@@ -15254,14 +17583,14 @@
of the old `test-kill-buffer-auto-save-delete'.
(test-kill-buffer-auto-save-delete-yes): Ditto for the "no" half.
-2023-04-15 Nicolas Graner <nicolas@graner.name>
+2022-11-10 Nicolas Graner <nicolas@graner.name>
Better support for 'textarea' and 'select' tags in EWW
* lisp/net/eww.el (eww-tag-textarea, eww-tag-select): Don't miss
'textarea' and 'select' tags. (Bug#58973)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-10 Po Lu <luangruo@yahoo.com>
Be a little more paranoid about XI 2.0 implementations
@@ -15269,7 +17598,7 @@
(xi_disable_devices): Do not restore valuator values if the
valuator info has a mode of Relative and a value of 0.0.
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-09 Juanma Barranquero <lekktu@gmail.com>
Make 't' in bs-mode be more defensive
@@ -15280,11 +17609,11 @@
by Eli Zaretskii in commit 794fbd1c07 of 2022-02-24.
Thanks to Bob Rogers <rogers@rgrjr.com> for noticing.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-09 Yuan Fu <casouri@gmail.com>
* configure.ac: Change required tree-sitter version to 0.20.2.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-09 Yuan Fu <casouri@gmail.com>
Make tree-sitter node type match case-sensitive
@@ -15295,7 +17624,7 @@
(Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Update docstring.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-09 Yuan Fu <casouri@gmail.com>
New function fast_c_string_match and fast_c_string_match_internal
@@ -15308,14 +17637,14 @@
(fast_c_string_match_ignore_case): Change to thin wrapper.
* src/search.c (fast_c_string_match_internal): New function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-09 Yuan Fu <casouri@gmail.com>
Add tree-sitter shortdoc
* lisp/treesit.el (treesit--generate-shortdoc-examples): New function.
(treesit): New shortdoc group.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-09 Yuan Fu <casouri@gmail.com>
Mimic existing python-mode beg/end-of-defun behavior better
@@ -15324,18 +17653,18 @@
* lisp/progmodes/python.el (python-mode): Use custom beg/end-of-defun
functions.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-09 Alan Mackenzie <acm@muc.de>
Optimize c-bs-interval, changing its value from 5000 to 2000
* lisp/progmodes/cc-engine.el (c-bs-interval): This optimization speeds
forward scrolling in a C Mode buffer by ~2.4%, backward scrolling by ~1.8%.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-09 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-auto-width): Add selected-frame to the cache key.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-09 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in matrix_row
@@ -15343,18 +17672,18 @@
violations when the cursor's VPOS winds up being invalid for the
window. (Bug#59147)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-09 Stefan Kangas <stefankangas@gmail.com>
* lisp/thread.el (thread-list-mode-map): Prefer defvar-keymap.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-11-09 Stephen Leake <stephen_leake@stephe-leake.org>
Delete emacs < 26.2 workaround in eglot--apply-text-edits
* lisp/progmodes/eglot.el (eglot--apply-text-edits): Delete emacs <
26.2 workaround; fixes bug in ada-mode test.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-09 F. Jason Park <jp@neverwas.me>
Teach thing-at-point to recognize bracketed IPv6 URLs
@@ -15364,14 +17693,14 @@
* test/lisp/thingatpt-tests.el (thing-at-point-test-data): Add cases
for IPv6 URLs. Bug#56514.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-09 Po Lu <luangruo@yahoo.com>
Make the PGTK port display a loud warning when run under X
* src/pgtkterm.c (pgtk_display_x_warning): New function.
(pgtk_term_init): Call it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-09 Po Lu <luangruo@yahoo.com>
"Fix" iconification handling on PGTK
@@ -15382,31 +17711,31 @@
visibility as correctly as possible under Wayland while
iconified. (bug#55836)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-09 Po Lu <luangruo@yahoo.com>
Avoid use of `uint' type in XKB code
* src/xterm.c (x_find_modifier_meanings, handle_one_xevent): Use
`unsigned int' instead of `uint'.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-11-09 Mattias Engdegård <mattiase@acm.org>
* src/lread.c (syms_of_lread): Drop unused capture group.
-2023-04-15 Nicholas Vollmer <iarchivedmywholelife@gmail.com>
+2022-11-09 Nicholas Vollmer <iarchivedmywholelife@gmail.com>
bytecomp.el (byte-recompile-directory): Fix negated ignore logic
Previous logic would only compile files which matched the
byte-compile-ignore-files regular expression. (Bug#59115)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-09 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-auto-width): Use 'frame-inner-width'.
* lisp/tab-bar.el (tab-bar-get-buffer-tab): Add optional arg 'all-tabs'.
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-11-08 Alexander Adolf <alexander.adolf@condition-alpha.com>
EUDC: Add ecomplete and mailabbrev backends
@@ -15432,18 +17761,18 @@
(eudc-test-make-address, eudcb-ecomplete, eudcb-mailabbrev): New
test cases.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-08 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Deprecate eudc-server variable
* lisp/net/eudc-vars.el (eudc-server): Deprecate variable for
Emacs 29.1.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-11-08 Stephen Leake <stephen_leake@stephe-leake.org>
* lisp/progmodes/eglot.el (eglot--pos-to-lsp-position): Improve comment
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-08 Alan Mackenzie <acm@muc.de>
CC Mode: Improve accuracy of recognition of bitfields
@@ -15452,7 +17781,7 @@
identifier) followed by a semicolon or comma before concluding we have a
bitfield.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-11-08 Robert Pluim <rpluim@gmail.com>
Don't use @w around @xref in ede.texi
@@ -15473,7 +17802,7 @@
ede-compilation-program, ede-compiler, ede-object-compiler,
ede-linker): Remove @w around @xref.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-08 Po Lu <luangruo@yahoo.com>
Clean up some duplicate event group conversion code
@@ -15481,7 +17810,7 @@
Move keyboard event state over.
(handle_one_xevent): Use it where necessary.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-08 Alan Mackenzie <acm@muc.de>
CC Mode: Stabilize the fontification in the presence of "register" keywords
@@ -15493,7 +17822,7 @@
c-promote-possible-types to 'just-one rather than t around the call to
c-forward-type.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-11-07 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Add eudc-ignore-options-file customization
@@ -15508,14 +17837,14 @@
(eudc-bookmark-server): Likewise.
(eudc-save-options): Likewise. (Bug#56154)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-07 Po Lu <luangruo@yahoo.com>
Add missing SAFE_FREE on XI 2.0 servers
* src/xterm.c (xi_populate_device_from_info): Add missing
SAFE_FREE.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-11-07 Alan Mackenzie <acm@muc.de>
CC Mode: Fix infinite loop in c-brace-stack-at.
@@ -15526,14 +17855,14 @@
c-beginning-of-current-token unless the previous c-syntactic-re-search-forward
has succeeded at least once.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-07 Po Lu <luangruo@yahoo.com>
Avoid invalid values showing up in scroll valuators
* src/xterm.c (xi_populate_device_from_info): Reset emacs_value
when invalid_p is cleared.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-07 Yuan Fu <casouri@gmail.com>
Add tree-sitter indent preset "point-min"
@@ -15541,7 +17870,7 @@
* lisp/treesit.el (treesit-simple-indent-presets): Add preset. Update
docstring.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-07 Yuan Fu <casouri@gmail.com>
Add treesit--indent-rules-optimize
@@ -15549,13 +17878,13 @@
(treesit-major-mode-setup): Optimize indent rules when setting up for
major mode.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-07 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-minor-mode): Ensure margins are either 0 or 1.
This check is necessary to make it idempotent to multiple calls.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-07 Stefan Monnier <monnier@iro.umontreal.ca>
(itree_insert_gap, itree_delete_gap): Minor optimization
@@ -15571,7 +17900,7 @@
* src/itree.c (itree_insert_gap, itree_delete_gap): Check `limit` for
all nodes, rather than only when following a `left` pointer.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-06 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -15579,48 +17908,48 @@
5779df0c5b ; * doc/lispref/searching.texi: Remove reference to Posix....
46929f6b73 ; Improve documentation of character classes in regexps
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-06 Philip Kaludercic <philipk@posteo.net>
Revert "* lisp/vc/vc-git.el (vc-git--rev-parse): Allow abbreviating commits"
This reverts commit 307ad210040251ea0de2e7f453350c4497bda874.
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2022-11-06 Ingo Lohmar <ingo.lohmar@posteo.net>
Fix sql-{beginning,end}-of-statement counting
* lisp/progmodes/sql.el (sql-beginning-of-statement, sql-end-of-statement):
Do not count statement separators if inside a string.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-06 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in octave.el
* lisp/progmodes/octave.el (octave-mode-map): Prefer
defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-06 Stefan Kangas <stefankangas@gmail.com>
Fix failing eshell alias tests
* test/lisp/eshell/esh-var-tests.el (esh-var-test/alias/function)
(esh-var-test/alias/symbol-pair): Fix tests. (Bug#59062)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-06 Eli Zaretskii <eliz@gnu.org>
Revert "Pacify -Wnull-dereference"
This reverts commit dad452552bebf832e737ebb946b5eea6cd57f63f.
Please don't assume I write such code by omission.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-06 Po Lu <luangruo@yahoo.com>
Fix splash screen display on NS and Haiku with native image APIs
* src/image.c (syms_of_image): Add Qsvg image type if SVG is
also supported by native image APIs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-06 Po Lu <luangruo@yahoo.com>
Pacify -Wnull-dereference
@@ -15628,7 +17957,7 @@
not FACE_FROM_ID_OR_NULL, when the next line proceeds to
immediately dereference the face.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-06 Po Lu <luangruo@yahoo.com>
Write more commentary on XI2 device management
@@ -15640,21 +17969,21 @@
(x_term_init): Set dpyinfo->xi2_version before calling
x_cache_xi_devices.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-06 Eli Zaretskii <eliz@gnu.org>
Fix face extension when Org narrows the buffer
* src/xdisp.c (extend_face_to_end_of_line): Make sure glyph rows
at ZV use the default face for extension. (Bug#59065)
-2023-04-15 Davide Masserut <dm@mssdvd.com>
+2022-11-06 Davide Masserut <dm@mssdvd.com>
Bind "DEL" in dictionary-mode
* lisp/net/dictionary.el (dictionary-mode-map): Bind DEL to
'scroll-down-command'. (Bug#58986)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-06 Eli Zaretskii <eliz@gnu.org>
Improve documentation of Edebug overwriting buffer point
@@ -15662,7 +17991,7 @@
(Edebug Options): More details about Edebug changing buffer point
position. Reported by Alan Mackenzie <acm@muc.de>.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-06 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-fixed-width-max): Change :type from cons to list.
@@ -15671,7 +18000,7 @@
(tab-bar-fixed-width-min): Change :type from cons to list.
(tab-bar-fixed-width): Use the list instead of cons.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-06 Matt Armstrong <matt@rfc20.org>
itree.c and buffer-tests.el: Incorporate code review feedback
@@ -15681,7 +18010,7 @@
(test-overlay-insert-before-markers-at-end): ditto.
(test-overlay-insert-before-markers-empty): ditto.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-05 Yuan Fu <casouri@gmail.com>
Fix incorrect tree-sitter fontification
@@ -15689,7 +18018,7 @@
node is outside of the region between START and END, don't fontify it.
Wrap fontification code in a when form.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-05 Yuan Fu <casouri@gmail.com>
Allow tree-sitter indent offset to be a variable
@@ -15702,20 +18031,20 @@
* lisp/treesit.el (treesit-simple-indent-rules): Change docstring.
(treesit-simple-indent): Allow offset to be a variable.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-05 Yuan Fu <casouri@gmail.com>
Don't indent empty lines in treesit-indent-region
* lisp/treesit.el (treesit-indent-region): Wrap the old code in an if
form that checks whether we are at an empty line. Add comments.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-05 Yuan Fu <casouri@gmail.com>
Make treesit-language-at work in more situations
even if treesit-language-at-point-function is nil.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
buffer.c: evaporate overlays in all indirect buffers
@@ -15736,7 +18065,7 @@
* test/src/buffer-tests.el (buffer-tests--overlays-indirect-evaporate):
Remove the `:expected-result :failed` attribute.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-05 Matt Armstrong <matt@rfc20.org>
Add a test for overlay evaporation across indirect buffers
@@ -15744,7 +18073,7 @@
Test evaporation of overlays triggered by deleting text in base
and in indirect buffers. Test doesn't pass at the moment.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-05 Matt Armstrong <matt@rfc20.org>
Minor tweaks to the fix for `insert-before-markers' overlay fix
@@ -15754,7 +18083,7 @@
chars.
* src/itree.c: document BEFORE_MARKERS.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-05 Matt Armstrong <matt@rfc20.org>
Tweak the overlay related `insert-before-markers' tests
@@ -15771,11 +18100,11 @@
(test-overlay-insert-before-markers-non-empty): Delete, replaced by
the two tests above.
-2023-04-15 Brian Cully <bjc@kublai.com>
+2022-11-05 Brian Cully <bjc@kublai.com>
lisp/eshell/em-tramp.el: Rename 'TRAMP' to 'Tramp'.
-2023-04-15 Brian Cully <bjc@kublai.com>
+2022-11-05 Brian Cully <bjc@kublai.com>
Add the "doas" alias to eshell.
@@ -15790,7 +18119,7 @@
* etc/NEWS: mention new 'doas' eshell command.
* doc/misc/eshell.texi: add 'doas' command documentation.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-05 Juri Linkov <juri@linkov.net>
* etc/NEWS: Remove remark implemented by 'vc-default-checkin-patch'.
@@ -15798,25 +18127,25 @@
* lisp/tab-bar.el (tab-bar-fixed-width): Improve width calculations.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-05 Philip Kaludercic <philipk@posteo.net>
Rephrase 'package-vc-ensure-packages' docstring
* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Make it
easier to read.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-05 Michael Albinus <michael.albinus@gmx.de>
* lisp/jka-compr.el (jka-compr-load): Add MUST-SUFFIX argument.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-05 Eli Zaretskii <eliz@gnu.org>
Fix the unexec build
* src/itree.c (forget_itree): New function.
* src/emacs.c (Fdump_emacs): Call 'forget_itree'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-05 Eli Zaretskii <eliz@gnu.org>
Fix warnings in sqlite.c in the MS-Windows build
@@ -15825,21 +18154,21 @@
(sqlite_prepare_errdata) [SQLITE_VERSION_NUMBER >= 3007015]: Use
the original code if sqlite3_errstr is available.
-2023-04-15 Nicolas Graner <nicolas@graner.name>
+2022-11-05 Nicolas Graner <nicolas@graner.name>
Avoid error when forwarding messages from Rmail
* lisp/gnus/message.el (message-mail): Verify that In-Reply-To has
a string value before matching it with a regexp. (Bug#59007)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-05 Po Lu <luangruo@yahoo.com>
Make sqlite.c build with SQlite in Fedora 9
* src/sqlite.c (sqlite_prepare_errdata): Use sqlite3_errmsg
instead of sqlite3_errstr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-05 Po Lu <luangruo@yahoo.com>
Simplify XI scroll class reporting code
@@ -15850,11 +18179,11 @@
(xi_handle_device_changed): Move class parsing logic there to
avoid duplicating code.
-2023-04-15 Payas Relekar <relekarpayas@gmail.com>
+2022-11-05 Payas Relekar <relekarpayas@gmail.com>
Bump version to 2.4.4
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2022-11-04 dickmao <dick.r.chiang@gmail.com>
Move ERC's core dependencies to separate file
@@ -15958,7 +18287,7 @@
* test/lisp/erc/erc-tests.el (erc--meta--backend-dependencies):
Remove obsolete test. Don't require `erc-networks'. Bug#56340.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-04 F. Jason Park <jp@neverwas.me>
Offer completions for GET subcommand flags in erc-dcc
@@ -15970,41 +18299,41 @@
pcomplete/erc-mode/DCC--get-2flags-reverse): Add helper and tests for
completing /DCC GET switches.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-11-04 F. Jason Park <jp@neverwas.me>
* lisp/erc/erc.el (erc-cmd-RECONNECT): Fix macro arg.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-04 Dmitry Gutov <dgutov@yandex.ru>
project-kill-buffer-conditions: Tweak
* lisp/progmodes/project.el (project-kill-buffer-conditions): Tweak.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-11-04 Matt Armstrong <matt@rfc20.org>
Configure clang-format to use tabs
* .clang-format (UseTab): Set to "Always", to match
the (indent-tabs-mode . t) in .dir-locals.el. (Bug#59027)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-04 Philip Kaludercic <philipk@posteo.net>
Print "decrypted" rot13 text is buffer is read-only
* lisp/rot13.el (rot13-region): Add fallback if buffer is read-only
* doc/emacs/rmail.texi (Rmail Rot13): Document new behaviour.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-04 Philip Kaludercic <philipk@posteo.net>
* lisp/net/rcirc.el (rcirc-print): Replace misjudged assertion
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-04 Stefan Kangas <stefankangas@gmail.com>
* lisp/textmodes/css-mode.el (css-mode-map): Prefer defvar-keymap.
* lisp/dired-aux.el (dired-check-process): Use progress reporter.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-04 Stefan Kangas <stefankangas@gmail.com>
Use progress reporter in cpp.el
@@ -16014,11 +18343,11 @@
of 'make-progress-reporter'.
(cpp-message-min-time-interval): Doc fix.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-04 Stefan Kangas <stefankangas@gmail.com>
* lisp/progmodes/cpp.el (cpp-edit-mode-map): Prefer defvar-keymap.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-11-04 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -Wanalyzer-null-dereference
@@ -16027,20 +18356,20 @@
* src/buffer.c (Fmove_overlay): Prefer BASE_EQ to EQ in a place
where they’re equivalent because the only symbol allowed here is nil.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-04 Philip Kaludercic <philipk@posteo.net>
Merge branch 'feature/package+vc'
* lisp/emacs-lisp/package-vc.el: Expand commentary
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-04 Philip Kaludercic <philipk@posteo.net>
Link to Manual from the package-vc group
* lisp/emacs-lisp/package-vc.el (package-vc): Add 'custom-manual'
link.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-04 Philip Kaludercic <philipk@posteo.net>
Document 'package-vc-selected-packages'
@@ -16053,14 +18382,14 @@
(package-vc-selected-packages): Call 'package-vc-ensure-packages' from
custom setter.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-04 Yuan Fu <casouri@gmail.com>
Add treesit-indent-error
* lisp/treesit.el (treesit-indent-error): New error.
(treesit--simple-indent-eval): Signal treesit-indent-error.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-04 Yuan Fu <casouri@gmail.com>
Revise tree-sitter facility for multi-language buffers
@@ -16077,11 +18406,11 @@
(treesit-indent-region): Only update ranges in a region.
* test/src/treesit-tests.el (treesit-range): New test.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-04 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/simple.el (function-documentation): Fix bug#59014
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-04 Michael Albinus <michael.albinus@gmx.de>
Fix calling file name handler for `load'.
@@ -16093,7 +18422,7 @@
* test/lisp/net/tramp-tests.el (tramp-test27-load): Extend test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-04 Stefan Kangas <stefankangas@gmail.com>
Normalize some syntax table definitions
@@ -16103,13 +18432,13 @@
* lisp/progmodes/dcl-mode.el (dcl-mode-syntax-table): Normalize
definitions to better follow modern ELisp conventions.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-04 Stefan Kangas <stefankangas@gmail.com>
* lisp/progmodes/dcl-mode.el (dcl-mode-map): Prefer defvar-keymap.
* admin/authors.el: Don't recommend deprecated fgrep.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-11-04 Basil L. Contovounesios <contovob@tcd.ie>
Fix manual noverlay tests
@@ -16168,7 +18497,7 @@
(main): Run suite as CK_ENV to allow specifying desired verbosity in
the environment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-04 Po Lu <luangruo@yahoo.com>
Avoid using too up-to-date values when restoring valuators
@@ -16176,7 +18505,7 @@
(xi_handle_device_changed): If the device changed event provides
scroll valuators, then use the values in there. (bug#58980)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-04 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-fixed-width): New user option.
@@ -16188,14 +18517,14 @@
https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg02067.html
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-04 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
8cae9d8bd8 ; * doc/emacs/search.texi (Lax Search): Improve wording. ...
e01e8a8f84 ; * lisp/dired-aux.el (dired-show-file-type): Doc fix.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-04 Yuan Fu <casouri@gmail.com>
Fix treesit-parser-set-included-ranges
@@ -16207,7 +18536,7 @@
(Ftreesit_parser_included_ranges): Check has_range.
* src/treesit.h (Lisp_TS_Parser): Add has_range.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-03 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Minor tightening
@@ -16215,7 +18544,7 @@
(init_itree): Make sure it's not allocated before we overwrite it.
(itree_insert_gap): Tweak the end-loop.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-03 Stefan Monnier <monnier@iro.umontreal.ca>
itree: Reproduce markers's behavior more faithfully (bug#58928)
@@ -16238,39 +18567,39 @@
* test/src/buffer-tests.el (test-overlay-insert-before-markers-empty)
(test-overlay-insert-before-markers-non-empty): New tests.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-03 Dmitry Gutov <dgutov@yandex.ru>
project-buffers: Describe the default implementation
* lisp/progmodes/project.el (project-buffers):
Describe what the default implementation is doing (bug#58784).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-03 Dmitry Gutov <dgutov@yandex.ru>
project-kill-buffer-conditions: Skip Gnus modes as well
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Skip Gnus modes as well (bug#58839).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-03 Dmitry Gutov <dgutov@yandex.ru>
project-kill-buffer-conditions: Skip hidden ones
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Make exception for "hidden" buffers (bug#58839).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-03 Po Lu <luangruo@yahoo.com>
Fix initialization of scroll valuator emacs_value
* src/xterm.c (xi_handle_device_changed): Initialize emacs_value
to 0, not DBL_MIN. (bug#58980)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-03 Philip Kaludercic <philipk@posteo.net>
Autoload all entry functions
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-03 Yuan Fu <casouri@gmail.com>
Add contextual tree-sitter font-lock to ts-mode and js-mode
@@ -16278,7 +18607,7 @@
* lisp/progmodes/ts-mode.el (ts-mode--font-lock-settings): Capture
commend and strings. Add empty lines.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-11-03 Jim Porter <jporterbugs@gmail.com>
Only strip newlines when stringifying a value for Eshell
@@ -16288,7 +18617,7 @@
* test/lisp/eshell/esh-util-tests.el: New file.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-03 Yuan Fu <casouri@gmail.com>
Minor change to tree-sitter imenu function of js-mode
@@ -16297,11 +18626,11 @@
* lisp/progmodes/js.el (js--treesit-imenu-type-alist): Add space.
(js--treesit-imenu-label): Remove space.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-03 Philip Kaludercic <philipk@posteo.net>
* lisp/emacs-lisp/package-vc.el (package-vc-version): Use main file
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-03 Philip Kaludercic <philipk@posteo.net>
Add command 'package-vc-checkout'
@@ -16312,7 +18641,7 @@
(package-vc-unpack): Extract functionality out to 'package-vc-clone'.
(package-vc-checkout): Add command.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-11-03 Paul Eggert <eggert@cs.ucla.edu>
Improve suppression of bogus macOS warnings
@@ -16320,7 +18649,7 @@
as the false alarms appear even if --disable-gcc-warnings is given
(Bug#58966).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-03 Juri Linkov <juri@linkov.net>
Fix overlays order in Flyspell (bug#58970)
@@ -16332,7 +18661,7 @@
* lisp/textmodes/flyspell.el (flyspell-auto-correct-previous-word):
Sort overlays returned from 'overlays-in' descending by 'overlay-start'.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-11-03 Basil L. Contovounesios <contovob@tcd.ie>
Port interval trees to --enable-checking=structs
@@ -16379,18 +18708,18 @@
and #error message.
(dump_overlay, dump_buffer): Update HASH (bug#58975).
-2023-04-15 Juanma Barranquero <lekktu@gmail.com>
+2022-11-03 Juanma Barranquero <lekktu@gmail.com>
* src/gnutls.c (Fgnutls_available_p): Avoid duplicating capabilities.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-03 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in profiler.el
* lisp/profiler.el (profiler-report-mode-map): Prefer
defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-03 Po Lu <luangruo@yahoo.com>
Further simplify valuator reset code
@@ -16399,14 +18728,14 @@
(handle_one_xevent): Don't check frames; reset on all XI_Enter
and XI_Leave events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-03 Po Lu <luangruo@yahoo.com>
More style fixes to tree-sitter code
* src/treesit.c (treesit_node_uptodate_p):
* src/treesit.h: Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-03 Po Lu <luangruo@yahoo.com>
Minor fixes to last tree-sitter change
@@ -16414,7 +18743,7 @@
variable.
(Ftreesit_query_expand): Revert change to behavior.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-03 Po Lu <luangruo@yahoo.com>
Stylistic changes to tree-sitter code
@@ -16457,14 +18786,14 @@
* src/treesit.h: Make declaration coding style consistent.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-11-03 Gerd Möllmann <gerd@gnu.org>
Suppress deprecation warnings on macOS (bug#58966)
* configure.ac (CHECK_LISP_OBJECT_TYPE): Add
-Wno-deprecated-declarations for darwin.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-11-03 Eli Zaretskii <eliz@gnu.org>
Fix 'text-property-search-backward' with 1-char long properties
@@ -16473,7 +18802,7 @@
text-property value at point. This fixes searches backward when
the property is on a single character position. (Bug#58937)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-02 Yuan Fu <casouri@gmail.com>
Check for outdated tree-sitter node when printing
@@ -16482,7 +18811,7 @@
(treesit_node_uptodate_p): New function.
* src/treesit.h: Declare new function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-02 Yuan Fu <casouri@gmail.com>
Pass region start and end to tree-sitter fontification functions
@@ -16494,7 +18823,7 @@
(treesit-font-lock-fontify-region): Pass START and END to
fontification functions.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-02 Yuan Fu <casouri@gmail.com>
Add handling of contextual entities in tree-sitter font-lock
@@ -16507,7 +18836,7 @@
"contextual".
* doc/lispref/modes.texi (Parser-based Font Lock): Update manual.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-11-02 Paul Eggert <eggert@cs.ucla.edu>
Initialize child signal handling before posix_spawn too.
@@ -16518,7 +18847,7 @@
outside the critical section.
* src/process.c (child_signal_init): Now extern.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-02 Yuan Fu <casouri@gmail.com>
Change signature of tree-sitter font-lock functions
@@ -16542,7 +18871,7 @@
* lisp/treesit.el (treesit-font-lock-rules): Update docstring.
(treesit-font-lock-fontify-region): Remove START and END arguments.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-11-02 Juri Linkov <juri@linkov.net>
Add the parameter :noquery to open-network-stream (bug#58948)
@@ -16555,11 +18884,11 @@
eglot--inferior-bootstrap to use in open-network-stream call, like
`:noquery t' is passed to make-process in other places.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-02 Stefan Kangas <stefankangas@gmail.com>
* lisp/man.el (Man-mode-map): Prefer defvar-keymap.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-02 Philip Kaludercic <philipk@posteo.net>
Track file name in 'package--downloads-in-progress'
@@ -16569,7 +18898,7 @@
(package--download-one-archive): Cons the file name onto the archive.
(package--download-and-read-archives): Remove 'cl-pushnew' call.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-02 Po Lu <luangruo@yahoo.com>
Improve commentary in some parts of xterm.c
@@ -16578,13 +18907,13 @@
selection tracking as well. All callers changed.
(x_focus_changed): Document where this code is used.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-11-02 Paul Eggert <eggert@cs.ucla.edu>
Remove unused local in simple_search
* src/search.c (simple_search): Remove unused local.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
src/buffer.c: Fix interaction between overlays & indirect buffers (bug#58928)
@@ -16596,7 +18925,7 @@
* test/src/buffer-tests.el (buffer-tests--overlays-indirect-bug58928):
New test.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-01 Dmitry Gutov <dgutov@yandex.ru>
project-switch-project: Avoid altering default-directory in cb
@@ -16604,14 +18933,14 @@
Avoid altering default-directory in the current buffer, even
temporarily (bug#58784).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-11-01 Dmitry Gutov <dgutov@yandex.ru>
vc-svn-ignore-completion-table: Ignore empty lines
* lisp/vc/vc-svn.el (vc-svn-ignore-completion-table):
Make sure to ignore empty lines (bug#58889).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-01 Yuan Fu <casouri@gmail.com>
Fix string fontification for tree-sitter python-mode
@@ -16624,7 +18953,7 @@
(python--treesit-settings): Capture both leading and ending quote in a
string.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-01 Yuan Fu <casouri@gmail.com>
Don't print buffer when printing tree-sitter node and parser
@@ -16635,14 +18964,14 @@
* src/print.c (print_vectorlike): Remove printing of buffer, add
printing of node position.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-01 Yuan Fu <casouri@gmail.com>
Allow user to add/remove tree-sitter font-lock features
* lisp/treesit.el (treesit-font-lock-recompute-features): Add
ADD-LIST, REMOVE-LIST argument.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-11-01 Yuan Fu <casouri@gmail.com>
Query on the root node in tree-sitter font-lock
@@ -16656,7 +18985,7 @@
* lisp/treesit.el (treesit-font-lock-fontify-region): Query the root
node rather than the smallest node.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-11-01 Gregory Heytings <gregory@heytings.org>
Add a script to ease bisecting.
@@ -16666,28 +18995,28 @@
* admin/emake: Add a Copyright blurb.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-11-01 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/dbus.el (dbus-debug): Declare. (Bug#58865)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-11-01 Philip Kaludercic <philipk@posteo.net>
Ensure 'package-vc-update' runs 'package-vc-unpack-1' only once
* lisp/emacs-lisp/package-vc.el (package-vc-update): Use
'vc-sourced-packages-list' and other hacks.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-01 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_term_init): Fix last change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-01 Po Lu <luangruo@yahoo.com>
Fix leak on Lucid build
* src/xterm.c (x_term_init): Rectify wrong fix for bug#18403.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-01 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -16698,13 +19027,13 @@
# Conflicts:
# src/search.c
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-11-01 Gerd Möllmann <gerd@gnu.org>
Preven a buffer-overflow (bug#58850)
* src/print.c (print_vectorlike): Don't use sprintf.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-11-01 Stefan Kangas <stefankangas@gmail.com>
Update publicsuffix.txt from upstream
@@ -16712,7 +19041,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-10-29 17:48:52 UTC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-11-01 Po Lu <luangruo@yahoo.com>
Fix leaks of XImage structures in image.c
@@ -16722,11 +19051,11 @@
XDestroyImage, since otherwise only the image data is freed.
(image_from_emacs_colors): Rename variables to make more sense.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-10-31 Stephen Leake <stephen_leake@stephe-leake.org>
Fix eglot-shutdown-all: Match current eglot-shutdown signature
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-31 Yuan Fu <casouri@gmail.com>
Use treesit-fontify-with-override in tree-sitter functions
@@ -16734,7 +19063,7 @@
* lisp/progmodes/python.el (python--treesit-fontify-string): Use
treesit-fontify-with-override.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-31 Yuan Fu <casouri@gmail.com>
Add an argument OVERRIDE to tree-sitter font-lock functions
@@ -16749,27 +19078,27 @@
(treesit-font-lock-fontify-region): Extract out into
treesit-fontify-with-override.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-31 Michael Albinus <michael.albinus@gmx.de>
Fix tramp-handle-file-newer-than-file-p
* lisp/net/tramp.el (tramp-handle-file-newer-than-file-p): Don't use
fractions of seconds. (Bug#58842)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-31 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in cus-edit.el
* lisp/cus-edit.el (custom-mode-map, custom-mode-link-map): Prefer
defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-31 Stefan Kangas <stefankangas@gmail.com>
* lisp/emacs-lisp/multisession.el: Add Commentary. (Bug#58845)
* lisp/vcursor.el (vcursor-map): Prefer defvar-keymap.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-31 Philip Kaludercic <philipk@posteo.net>
Allow specifying and pinning source packages to be installed
@@ -16777,7 +19106,7 @@
custom setter for 'package-vc-selected-packages'.
(package-vc-selected-packages): Add user option.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-31 Yuan Fu <casouri@gmail.com>
Use tree-sitter for font-lock's syntactic function (optionally)
@@ -16808,7 +19137,7 @@
font-lock-fontify-syntactically-function. And we can let font-lock do
it's thing.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-31 Yuan Fu <casouri@gmail.com>
Improve python tree-sitter's string fontification
@@ -16818,7 +19147,7 @@
(python--treesit-settings): Use python--treesit-fontify-string for
every occasion.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-30 Yuan Fu <casouri@gmail.com>
Add tresit--font-lock-verbose
@@ -16826,13 +19155,13 @@
(treesit-font-lock-fontify-region): Take tresit--font-lock-verbose
into account. Return jit-lock-bounds.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-30 Yuan Fu <casouri@gmail.com>
Set jit-lock-contextually in treesit-major-mode-setup
* lisp/treesit.el (treesit-major-mode-setup): Set jit-lock-contextually.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-10-30 Dmitry Gutov <dgutov@yandex.ru>
Fix semantic-symref-perform-search when dir contains a space
@@ -16842,25 +19171,25 @@
expanding the template to substitute for the current dir.
(semantic-symref-parse-tool-output-one-line): Use it (bug#55016)
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-10-30 Dmitry Gutov <dgutov@yandex.ru>
Speed up vc-default-checkin-patch a little
* lisp/vc/vc.el (vc-default-checkin-patch): Drop some
'revert-buffer' calls to speed up the process a little (bug#52349).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-30 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in simula.el
* lisp/progmodes/simula.el (simula-mode-map): Prefer
defvar-keymap.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-30 Philip Kaludercic <philipk@posteo.net>
Merge remote-tracking branch 'origin/master' into feature/package+vc
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-30 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el: Allow user-defined cache-key function (bug#57848)
@@ -16868,18 +19197,18 @@
(tab-line-cache-key-function): New variable.
(tab-line-format): Funcall tab-line-cache-key-function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-30 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el: Escape %-constructs in tab names (bug#57848)
(tab-line-tab-name-format-default): Replace % with %% in tab name
to escape %-constructs from processing by mode-line-format.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-10-30 Gregory Heytings <gregory@heytings.org>
Merge master into feature/improved-locked-narrowing.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-30 Philip Kaludercic <philipk@posteo.net>
Have 'last-change' accept a line number instead of a range
@@ -16889,25 +19218,25 @@
* lisp/vc/vc.el (vc-default-last-change): Update signature and use
'annotate-command'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-30 Philip Kaludercic <philipk@posteo.net>
Display a message after installing source packages
* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Print message
and return t.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-30 Philip Kaludercic <philipk@posteo.net>
Prefer "Package-Version" over "Version" if available
* lisp/emacs-lisp/package-vc.el (package-vc-release-rev): Search for
both in sequence.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-30 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/url/url-util.el (url-insert-entities-in-string): Simplify
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-30 Stefan Monnier <monnier@iro.umontreal.ca>
dom-print: Fix missing entities quoting
@@ -16920,7 +19249,7 @@
(dom-set-attribute): Add at beginning rather than at end (slightly
more efficient and less destructive).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-30 Stefan Kangas <stefankangas@gmail.com>
elide-head: Make trailing "/" in URL optional
@@ -16929,7 +19258,7 @@
* test/lisp/elide-head-tests.el
(elide-head--test-headers-to-hide/gpl3-5): New test.
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-10-30 Damien Cassou <damien@cassou.me>
Make previous-buffer and next-buffer repeatable
@@ -16937,7 +19266,7 @@
* lisp/bindings.el (previous-buffer, next-buffer): Mark as
repeatable. (Bug#58800)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-30 Philip Kaludercic <philipk@posteo.net>
Extract last source package release from local VCS data
@@ -16960,7 +19289,7 @@
This attempts to replicate the behaviour of elpa-admin.el's
"elpaa--get-last-release-commit".
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-10-30 Damien Cassou <damien@cassou.me>
Make winner key sequences repeatable in repeat-mode
@@ -16968,14 +19297,14 @@
(winner-undo, winner-redo): Put 'repeat-map' property with
'winner-repeat-map'. (Bug#58799)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-30 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in etags.el
* lisp/progmodes/etags.el (select-tags-table-mode-map): Prefer
defvar-keymap.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-10-30 Visuwesh <visuweshm@gmail.com>
Fix set-language-info-alist when multiple PARENTS are given
@@ -16984,7 +19313,7 @@
(set-language-info-alist): ...here. Do not mess up the keymaps when
multiple parents are given in PARENTS. (Bug#58376)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-30 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Minibuffer follows selected tabs (bug#58728)
@@ -16994,7 +19323,7 @@
(tab-bar-history-back, tab-bar-history-forward): Set set-window-configuration
arg DONT-SET-MINIWINDOW to t.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-30 Po Lu <luangruo@yahoo.com>
Plug big leaks upon display IO error
@@ -17004,7 +19333,7 @@
* src/xterm.c (x_delete_terminal): Always free xkb desc and
modmap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Separate python tree-sitter fontification into features
@@ -17015,7 +19344,7 @@
* lisp/progmodes/python.el (python--treesit-settings): Separate.
(python-mode): Set features.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Fix byte-compile warning in treesit.el
@@ -17041,14 +19370,14 @@
* lisp/treesit.el (treesit-simple-indent-presets): Change byte-compile
to plain evaluation.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Not return noindent in treesit-indent
* lisp/treesit.el (treesit-indent): Don't return noindent.
(treesit-defun-type-regexp): Return (nil . nil) rather than nil.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Add treesit-node-top-level
@@ -17065,7 +19394,7 @@
(treesit-end-of-defun): Replace treesit--find-top-level-match with
treesit-node-top-level.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Reflect recent change in tree-sitter manual sections
@@ -17076,27 +19405,27 @@
* doc/lispref/parsing.texi (Tree-sitter major modes): Remove
treesit-mode and global-treesit-mode, explain setup guideline.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Fix parent-bol preset for tree-sitter indent
* lisp/treesit.el (treesit-simple-indent-presets): Return point rather
than column.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Keep cursor position in treesit-indent
* lisp/treesit.el (treesit-indent): Create a marker and jump back to
that marker after indentation.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-10-29 John Wiegley <johnw@newartisans.com>
Merge pull request from andreyorst/face-spec-set-third-argument
GitHub-reference: https://github.com/jwiegley/use-package/issues/1009
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Remove hack in js-mode's tree-sitter indentation rules
@@ -17104,7 +19433,7 @@
function.
(js--treesit-indent-rules): Replace with new rule.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Refine handling of node at point in treesit-indent
@@ -17116,7 +19445,7 @@
always the smallest node above NODE that spans BOL.
(treesit-indent): Don't use save-excurtion, no one else does.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-29 Yuan Fu <casouri@gmail.com>
Fix treesit-indent-region
@@ -17129,7 +19458,7 @@
gives wrong indentation when the ANHOR line doesn't have correct
indent yet.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-29 Eli Zaretskii <eliz@gnu.org>
Set 'native-comp-debug' to zero on MS-Windows
@@ -17142,14 +19471,14 @@
reset the value back to zero, and gain smaller *.eln files on
MS-Windows.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-29 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in ps-mode.el
* lisp/progmodes/ps-mode.el (ps-mode-map, ps-run-mode-map): Prefer
defvar-keymap.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-29 Alan Mackenzie <acm@muc.de>
Fix the subr-arity returned by native compiled functions with lots of args
@@ -17166,7 +19495,7 @@
* src/lisp.h (DEFUN): Amend the comment about MANY.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-29 Eli Zaretskii <eliz@gnu.org>
Make Dired header clickable on non-Posix systems as well
@@ -17174,27 +19503,27 @@
MS-Windows and MS-DOS absolute directory names with drive letters
and UNCs. (Bug#21973)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-29 Eli Zaretskii <eliz@gnu.org>
Display the Dired buffer as unmodified initially
* lisp/dired.el (dired-readin): Make sure a newly-created Dired
buffer is shown as unmodified. (Bug#58863)
-2023-04-15 Andrey Listopadov <andreyorst@gmail.com> (tiny change)
+2022-10-29 Andrey Listopadov <andreyorst@gmail.com> (tiny change)
Allow passing the SPEC-TYPE argument via :custom-face
GitHub-reference: https://github.com/jwiegley/use-package/issues/1008
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-29 Po Lu <luangruo@yahoo.com>
Fix another GCC warning
* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground): Fix
another compiler warning.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-29 Po Lu <luangruo@yahoo.com>
Fix crash destroying NS frame tool bar
@@ -17203,7 +19532,7 @@
([EmacsWindow dealloc]): Detach tool bar before dealloc'ing
window. (bug#58857)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-29 Alan Mackenzie <acm@muc.de>
c-get-fontification-context: Refine the last non-default arm of the cond
@@ -17215,14 +19544,14 @@
accuracy. Set a c-type text property value c-decl-arg-start to speed up
future calls. Reindent the entire function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-29 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in help.el
* lisp/help.el (help-key): New function.
(help-map): Prefer defvar-keymap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Remove test of treesit-language-at
@@ -17232,28 +19561,28 @@
* test/src/treesit-tests.el (treesit-parser-supplemental): Remove the
test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in page-ext.el
* lisp/textmodes/page-ext.el (pages--ctl-x-ctl-p-map)
(pages-directory-mode-map): Prefer defvar-keymap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Byte-compile treesit-simple-indent-presets
* lisp/treesit.el (treesit-simple-indent-presets): Byte-compile these
functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Fix last change
* src/itree.c (struct itree_iterator):
(itree_iterator_next): Fix some fields and const confusion.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Add treesit-indent-region
@@ -17264,13 +19593,13 @@
(treesit-indent-region): New functions.
(treesit-major-mode-setup): Setup indent-region-function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Fix function declarations in itree headers
* src/itree.h: Make all declarations `extern'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Fix coding style of latest feature branch merge
@@ -17289,21 +19618,21 @@
(itree_iterator_next, itree_iterator_narrow): Tabify. Fix
comment and code coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Include Cairo FreeType header when available
* src/xsettings.c: Include cairo-ft.h if CAIRO_HAS_FT_FONT.
(bug#58830)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Make Emacs compile without tree-sitter library
* lisp/treesit.el: Add function declaration forms.
* src/emacs.c: Always include syms_of_treesit.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-28 Theodor Thornhill <theo@thornhill.no>
Add in new font lock features in js/ts-mode
@@ -17330,35 +19659,35 @@
(ts-mode--font-lock-settings, ts-mode): Add in the new features.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
* configure.ac (emacs_config_features): Change to TREE_SITTER
Last commit on this line has a wrong changelog, the subject should be
emacs_config_features, not WINDOW_SYSTEM_OBJ.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Fix warning in xsettings.c
* src/xsettings.c [USE_CAIRO]: Include cairo-ft.h.
Thanks to Vincent Bernat <bernat@luffy.cx>.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Remove redundant requires from make-mode.el
* lisp/progmodes/make-mode.el (imenu, dabbrev, add-log): Remove
redundant requires.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Use new sit-for calling convention in zone.el
* lisp/play/zone.el (zone-exploding-remove): Don't use obsolete
calling convention for 'sit-for'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Minor doc fixes in make-mode.el
@@ -17367,14 +19696,14 @@
(makefile-backslash-region): Minor doc fixes.
(makefile-browse): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in make-mode.el
* lisp/progmodes/make-mode.el (makefile-mode-map)
(makefile-browser-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Prefer make-temp-name in make-mode.el
@@ -17383,14 +19712,14 @@
'make-temp-name'. Simplify.
(makefile-save-temporary): Don't use above obsolete function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Ensure temp file is deleted in makefile overview
* lisp/progmodes/make-mode.el (makefile-create-up-to-date-overview):
Ensure temp file is always deleted.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -17399,13 +19728,13 @@
# Conflicts:
# lisp/whitespace.el
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-10-28 John Wiegley <johnw@newartisans.com>
Merge pull request from bhankas/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/1007
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-28 Philip Kaludercic <philipk@posteo.net>
Explicitly handle :vc-backend in a package specification
@@ -17414,7 +19743,7 @@
(package-vc-unpack): Check for :vc-backend in both PKG-SPEC and the
archive specification data.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-28 Philip Kaludercic <philipk@posteo.net>
Ensure that package specifications are always fetched
@@ -17423,13 +19752,13 @@
(package-vc-install): Use new function.
(package-vc-link-directory): Use new function.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-28 Philip Kaludercic <philipk@posteo.net>
Allow specifying the VC backend used by 'package-vc-install'
* lisp/emacs-lisp/package-vc.el (package-vc-install): Add argument BACKEND.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-28 Philip Kaludercic <philipk@posteo.net>
Update handling for new elpa-packages.eld format
@@ -17440,7 +19769,7 @@
metadata.
(package-vc-unpack): Check archive metadata.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-28 Alan Mackenzie <acm@muc.de>
CC Mode: Fontify cast types without adding them to c-found-types
@@ -17463,7 +19792,7 @@
(c-per-++---match, c-per-&*+--match, c-per-\(-match): New
c-lang-defconsts/vars extracted from `c-primary-expr-regexp-details'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
cconv.el: Fix regression in cconv-tests-interactive-closure-bug51695
@@ -17490,25 +19819,25 @@
(cconv-tests-interactive-closure-bug51695): Test specifically the
interpreted case.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-10-28 Jonas Bernoulli <jonas@bernoul.li>
* lisp/transient.el: Update to package version v0.3.7-173-g81b29ca
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Improve Drag and Drop preamble in the Lisp reference manual
* doc/lispref/frames.texi (Drag and Drop): Reword contents and
clear up some ambiguities and redundancies.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-28 Stefan Kangas <stefankangas@gmail.com>
Minor doc fixes in treesit.el
* lisp/treesit.el (treesit-font-lock-rules)
(treesit-font-lock-settings): Minor doc fixes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/re-builder.el: Cosmetic changes
@@ -17522,7 +19851,7 @@
(reb-update-regexp): Always update `reb-regexp-src` (it's harmless),
rather than only when it's necessary (reduces the need for advice in pcre.el).
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-10-28 Jonas Bernoulli <jonas@bernoul.li>
Include more information in error data for sqlite errors
@@ -17541,7 +19870,7 @@
(sqlite-execute, sqlite-select): Use new function.
(sqlite-locked-error): Derive from 'sqlite-error'.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-28 Alan Mackenzie <acm@muc.de>
CC Mode: Fix wrong fontification of enum foo bar; in Objective C Mode
@@ -17550,11 +19879,11 @@
* lisp/progmodes/cc-langs.el (c-type-prefix-kwds): Add the missing entry for
objc.
-2023-04-15 Payas Relekar <relekarpayas@gmail.com>
+2022-10-28 Payas Relekar <relekarpayas@gmail.com>
Bump version to 2.4.3
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Simplify scroll valuator reset handling
@@ -17566,7 +19895,7 @@
hitting server bugs. Now, valuators are reset upon all crossing
events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Clean up some xwidgets code
@@ -17574,28 +19903,28 @@
style and remove extra ifdefs. Also avoid redundant frame
lookups in some cases.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Fix Haiku subprocess support
* src/callproc.c: Disable posix_spawn on Haiku until some things
are fixed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-28 Po Lu <luangruo@yahoo.com>
Fix build without Cairo FreeType and fontconfig support
* src/xsettings.c (apply_xft_settings): Don't enable Xft code
unless Cairo FreeType support is present. (bug#58830)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Reflect tree-sitter indent rule presets change in manual
* doc/lispref/modes.texi (Parser-based Indentation): String
equivalence checks are changed to regexp matching.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-28 Theodor Thornhill <theo@thornhill.no>
Improve tree-sitter indent rules in ts-mode and js-mode
@@ -17603,14 +19932,14 @@
* lisp/progmodes/ts-mode.el (ts-mode--indent-rules): Add more rules.
(ts-mode): Create parser.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Add some js-mode tree-sitter indent rules
* lisp/progmodes/js.el (js--treesit-indent-rules): Add rules and a let
form.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
Remove tree-sitter-indent's integration with cc-mode
@@ -17626,11 +19955,11 @@
(treesit-simple-indent): Remove cc-mode integration. Display error
message when no rules matches.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-28 Yuan Fu <casouri@gmail.com>
* configure.ac (WINDOW_SYSTEM_OBJ): Move tree-sitter placement.
-2023-04-15 Wamm K. D <jaft.r@outlook.com>
+2022-10-28 Wamm K. D <jaft.r@outlook.com>
Fix failing test for package Hierarchy
@@ -17639,18 +19968,18 @@
* test/lisp/emacs-lisp/hierarchy-tests.el (hierarchy-delayed-add-trees):
Fix typo.
-2023-04-15 Vincent Bernat <bernat@luffy.cx> (tiny change)
+2022-10-28 Vincent Bernat <bernat@luffy.cx> (tiny change)
Fix detection of DPI changes in builds without Xft
* src/xsettings.c (apply_xft_settings) [!HAVE_XFT]: Support
XSETTINGS changes in non-XFT builds. (Bug#43128)
-2023-04-15 Payas Relekar <relekarpayas@gmail.com>
+2022-10-28 Payas Relekar <relekarpayas@gmail.com>
bind-key.el: Bump version for ELPA
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-10-28 Protesilaos Stavrou <info@protesilaos.com>
Update to modus-themes version 3.0.0
@@ -17704,13 +20033,13 @@
Complete release notes: <https://protesilaos.com/codelog/2022-10-28-modus-themes-3-0-0/>.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-10-27 John Wiegley <johnw@newartisans.com>
Merge pull request from andreyorst/face-spec-set
GitHub-reference: https://github.com/jwiegley/use-package/issues/1004
-2023-04-15 Wamm K. D <jaft.r@outlook.com>
+2022-10-27 Wamm K. D <jaft.r@outlook.com>
Allow Hierarchy to delay computation of children
@@ -17728,7 +20057,7 @@
* test/lisp/emacs-lisp/hierarchy-tests.el: Add tests for
delayed-children functionality.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-10-27 kobarity <kobarity@gmail.com>
Disable completion/ElDoc/FFAP when Python program is running
@@ -17745,7 +20074,7 @@
(python-eldoc--get-doc-at-point-while-running-1): New tests.
(Bug#58713)
-2023-04-15 Andrea Monaco <andrea.monaco@autistici.org>
+2022-10-27 Andrea Monaco <andrea.monaco@autistici.org>
Allow applying Rmail summary filters consecutively
@@ -17762,13 +20091,13 @@
* etc/NEWS: Announce the change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-27 Eli Zaretskii <eliz@gnu.org>
Revert "Allow applying filters to summary consecutively"
This reverts commit c8b9ba5fa1bf3a20b9b08a553ad088ca33f3d1ba.
-2023-04-15 Andrea Monaco <andrea.monaco@autistici.org>
+2022-10-27 Andrea Monaco <andrea.monaco@autistici.org>
Allow applying filters to summary consecutively
@@ -17783,7 +20112,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-27 Eli Zaretskii <eliz@gnu.org>
Avoid recentering when point enters invisible text at BOL
@@ -17791,36 +20120,36 @@
point is inside invisible text at beginning of a glyph row.
(Bug#58793)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-27 Stefan Kangas <stefankangas@gmail.com>
Minor copy-edits in tree-sitter docs
* doc/lispref/parsing.texi (Parsing Program Source): Improve wording.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-27 Po Lu <luangruo@yahoo.com>
Fix reporting of iconic state on old window managers
* src/xterm.c (x_handle_wm_state): Handle IconicState if the
window manager does not support _NET_WM_STATE_HIDDEN.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-10-27 Stephen Leake <stephen_leake@stephe-leake.org>
Fix auto-insert-alist ada-mode entry to match current ELPA ada-mode
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-10-27 John Wiegley <johnw@newartisans.com>
Merge pull request from bhankas/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/1006
-2023-04-15 Payas Relekar <relekarpayas@gmail.com>
+2022-10-26 Payas Relekar <relekarpayas@gmail.com>
Update version to 2.4.2
In preparation for inclusion to GNU ELPA.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
Plug tree-sitter-simple-indent into c-offset-alist
@@ -17836,11 +20165,11 @@
first-sibling now returns the actual first sibling rather than the
first named sibling.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-node-top-level-p): New argument TYPE.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
Generalize js--treesit-imenu-top-level-p
@@ -17848,14 +20177,14 @@
(js--treesit-font-lock-settings): Fix usage.
* lisp/treesit.el (treesit-node-top-level-p): Move to here.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
Add tree-sitter navigation support to python-mode
* lisp/progmodes/python.el (python-mode): Set
treesit-defun-type-regexp.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
Add tree-sitter imenu support for js-mode and ts-mode
@@ -17868,7 +20197,7 @@
(js--treesit-imenu-1)
(js--treesit-imenu): New functions.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
Fix tree-sitter navigation
@@ -17877,7 +20206,7 @@
condition forms.
(treesit-beginning-of-defun): Fix traverse direction.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-26 Stefan Kangas <stefankangas@gmail.com>
Fix typo in textsec-restriction-level
@@ -17885,27 +20214,27 @@
* test/lisp/international/textsec-tests.el (test-restriction-level):
Fix typo in symbol name `moderately-restrictive'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-26 Stefan Kangas <stefankangas@gmail.com>
Declare variable Info-minibuf-history
* lisp/info.el (Info-minibuf-history): Declare variable.
(Bug#58786)
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-10-26 John Wiegley <johnw@newartisans.com>
Merge pull request from bhankas/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/1005
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-10-26 Filipp Gunbin <fgunbin@fastmail.fm>
Compare addresses case-insensitively in message-update-smtp-method-header
* lisp/gnus/message.el (message-update-smtp-method-header): Compare
addresses case-insensitively.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-26 Alan Mackenzie <acm@muc.de>
c-find-decl-spots: Replace an arbitrary search limit by a parameter
@@ -17915,7 +20244,7 @@
* lisp/progmodes/cc-engine.el (c-find-decl-spots): Replace the limit argument
to two calls of c-forward-syntactic-ws by the parameter `cfd-limit'.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-10-26 Mauro Aranda <maurooaranda@gmail.com>
Make completion-category-overrides choices dynamic
@@ -17926,7 +20255,7 @@
(completion--styles-type): Use it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-26 Eli Zaretskii <eliz@gnu.org>
Fix rare problems with current-column when text is invisible
@@ -17934,7 +20263,7 @@
compositions when the position to check for composition happens to
be inside invisible text. (Bug#58791)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-26 Po Lu <luangruo@yahoo.com>
Prevent gui_consider_frame_title from restoring dead top frames
@@ -17946,7 +20275,7 @@
(gui_consider_frame_title): Rearrange code to be more
understandable.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-10-26 Basil L. Contovounesios <contovob@tcd.ie>
Pacify recent unused/ignored lexvar warnings
@@ -17972,21 +20301,21 @@
constant.
* lisp/files.el (hack-local-variables-filter): Remove unused lexvar.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-26 Po Lu <luangruo@yahoo.com>
Clean up some event handling code
* src/xterm.c (handle_one_xevent): Use dpyinfo where
FRAME_DISPLAY_INFO could be substituted for it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-26 Michael Albinus <michael.albinus@gmx.de>
Modernize `auto-revert-notify-exclude-dir-regexp'
* lisp/autorevert.el (auto-revert-notify-exclude-dir-regexp): Use `rx'
and `mounted-file-systems'.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-26 Mattias Engdegård <mattiase@acm.org>
Dynamic validation of styles in completion-category-overrides
@@ -18001,7 +20330,7 @@
Add an "Other" case that accepts any symbol which is then validated
dynamically against completion-styles-alist.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-26 Philip Kaludercic <philipk@posteo.net>
Add support for :release-rev in 'package-vc-archive-spec-alist'
@@ -18009,7 +20338,7 @@
Update docstring.
(package-vc-install): Use :release-rev if invoked with a prefix argument.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-26 Philip Kaludercic <philipk@posteo.net>
Allow nil as a valid value for 'ecomplete-filter-regexp'
@@ -18017,7 +20346,7 @@
Reported by Mattias Engdegård.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-26 Po Lu <luangruo@yahoo.com>
Fix Haiku build for recent changes to system headers
@@ -18025,7 +20354,7 @@
posix_spawn_file_actions_addchdir on Haiku; it links but does
not work.
-2023-04-15 Andrea Corallo <andrea.corallo@arm.com>
+2022-10-26 Andrea Corallo <andrea.corallo@arm.com>
Set `comp-no-spawn' earlier using -no-comp-spawn
@@ -18035,25 +20364,25 @@
* lisp/emacs-lisp/comp.el (comp-run-async-workers, comp-final):
Use '-no-comp-spawn'.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-26 Yuan Fu <casouri@gmail.com>
* src/treesit.c (treesit_search_dfs): Fix traverse algorithm.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-25 Yuan Fu <casouri@gmail.com>
* src/treesit.c (treesit_search_forward): Fix traverses algorithm.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-25 Yuan Fu <casouri@gmail.com>
Don't disable parse cache in tree-sitter activated js-mode
* lisp/progmodes/js.el (js-mode): Move parse cache setup back.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-25 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-simple-indent-rules): Make buffer-local.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-25 Yuan Fu <casouri@gmail.com>
Fix treesit-language-at
@@ -18064,7 +20393,7 @@
one-by-one.
* doc/lispref/parsing.texi (Multiple Languages): Update manual.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-10-25 Dmitry Gutov <dgutov@yandex.ru>
vc-hg-checkin-patch: Add implementation for Hg
@@ -18073,7 +20402,7 @@
https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg01533.html.
(vc-hg--extract-headers): Extract from vc-hg-checkin.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-25 Yuan Fu <casouri@gmail.com>
New tree-sitter toggle scheme
@@ -18109,7 +20438,7 @@
* lisp/progmodes/ts-mode.el: Move tree-sitter setup into the
conditional branch.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-10-25 Andreas Schwab <schwab@linux-m68k.org>
Ignore non-base64 junk when decoding MIME
@@ -18121,11 +20450,11 @@
* lisp/gnus/mm-bodies.el (mm-decode-content-transfer-encoding):
Ignore any junk when decoding base64.
-2023-04-15 João Guerra <joca.bt@gmail.com> (tiny change)
+2022-10-25 João Guerra <joca.bt@gmail.com> (tiny change)
* lisp/tab-line.el (tab-line-auto-hscroll): Set word-wrap to nil (bug#58740).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
(Ffunction): Make interpreted closures safe for space
@@ -18183,7 +20512,7 @@
(eval_sub, Ffuncall): Improve error info for `excessive_lisp_nesting`.
(internal-filter-closure-env-function): New defvar.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-10-25 Filipp Gunbin <fgunbin@fastmail.fm>
Move required options out of ldap-ldapsearch-args
@@ -18191,14 +20520,14 @@
"-LLL" and "-tt" options as they're required for the code to work
properly.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-25 Stefan Kangas <stefankangas@gmail.com>
eglot: Prefer ensure-list on Emacs 28 or later
* lisp/progmodes/eglot.el (eglot--ensure-list): Make into alias
for 'ensure-list' on Emacs 28 or later.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-25 Michael Albinus <michael.albinus@gmx.de>
Handle context changes in Tramp kubernetes method
@@ -18221,14 +20550,14 @@
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
-2023-04-15 Payas Relekar <relekarpayas@gmail.com>
+2022-10-25 Payas Relekar <relekarpayas@gmail.com>
Update copyright for submission to ELPA
- Update year to 2022
- Set copyright to Free Software Foundation, Inc.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-10-25 Robert Pluim <rpluim@gmail.com>
Fix eglot defcustom types
@@ -18237,7 +20566,7 @@
(eglot-sync-connect): Split boolean into 'nil' and 't' and add descriptions.
(eglot-confirm-server-initiated-edits): Change 'symbol' type to 'const'.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-25 Alan Mackenzie <acm@muc.de>
Test face name variables are bound before using them in cc-fonts.el
@@ -18252,11 +20581,11 @@
(c-reference-face-name): Use font-lock-constant face in preference to
c-label-face-name.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-10-25 Robert Pluim <rpluim@gmail.com>
* lisp/progmodes/eglot.el: Remove not very funny joke.
-2023-04-15 Lin Sun <sunlin7@hotmail.com>
+2022-10-25 Lin Sun <sunlin7@hotmail.com>
lisp.h: Remove unnecessary preprocessor conditions
@@ -18264,7 +20593,7 @@
of gflags.will_dump_, which gets in the way when Emacs
is built without any dumping method. (Bug#58708)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-25 Po Lu <luangruo@yahoo.com>
Fix drag-and-drop bugs on Lucid build
@@ -18283,7 +20612,7 @@
(handle_one_xevent): Fix coding style.
* src/xterm.h: Update prototypes.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-10-25 Brian Leung <leungbk@posteo.net>
eglot-server-programs: Account for new ts-mode
@@ -18293,7 +20622,7 @@
* lisp/progmodes/eglot.el (eglot-server-programs): Add new major mode
to be used with the typescript-language-server. (Bug#58769)
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-10-25 Brian Leung <leungbk@posteo.net>
eglot-server-programs: Account for new js-json-mode
@@ -18308,7 +20637,7 @@
json-language-server info before the entry for js-mode, and add on
js-json-mode. (Bug#58769)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-10-25 Robert Pluim <rpluim@gmail.com>
Improve the eglot info documentation
@@ -18318,27 +20647,27 @@
(Customizing Eglot): Grammar fixes.
(Troubleshooting Eglot): Improve text.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-25 João Távora <joaotavora@gmail.com>
Fix M-x eglot breakage due to typo
* lisp/progmodes/eglot.el (eglot): Fix bug.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2022-10-25 Stephen Leake <stephen_leake@stephe-leake.org>
* lisp/progmodes/eglot.el (eglot): Ensure managed-major-mode is a list
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-24 Yuan Fu <casouri@gmail.com>
* lisp/progmodes/ts-mode.el (ts-mode): Fix font-lock setup.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-24 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/compile.el (compilation-mode-line-errors): Use `defvar`
This is not really a constant, e.g. it's modified in `grep.el`.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-24 Eli Zaretskii <eliz@gnu.org>
Unbreak the build broken by tab-bar.el changes
@@ -18355,13 +20684,13 @@
tab-bar.el:174:18: Warning: reference to free variable `tab-bar-close'
* lisp/tab-bar.el (eval-when-compile): Require 'icons.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-24 Mattias Engdegård <mattiase@acm.org>
* doc/lispref/searching.texi (Rx Constructs): Elaborate intent.
Suggested by Michael Heerdegen (bug#58727).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-24 Po Lu <luangruo@yahoo.com>
Fix focus stealing in the Emacs server for old window managers
@@ -18369,7 +20698,7 @@
to non-EWMH focus as well. Otherwise frames get raised but not
focused.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-24 Mattias Engdegård <mattiase@acm.org>
Clarify RX... semantics in manual (bug#58727)
@@ -18378,7 +20707,7 @@
* doc/lispref/searching.texi (Rx Constructs): Explain implicit
concatenation of `RX...`.
-2023-04-15 Martin Jerabek <om@mailservice.ms> (tiny change)
+2022-10-24 Martin Jerabek <om@mailservice.ms> (tiny change)
Repair nXML handling of URIs with hex escapes (bug#58718)
@@ -18387,7 +20716,7 @@
(rng-uri-unescape-unibyte, rng-uri-unescape-unibyte-match):
Convert hex-encoded character to string.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-24 Mattias Engdegård <mattiase@acm.org>
Fix regexp matching with atomic strings and optimised backtracking
@@ -18405,7 +20734,7 @@
(re_match_2_internal): Use it for proper atomic pattern treatment.
* test/src/regex-emacs-tests.el (regexp-atomic-failure): New test.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-10-24 Robert Pluim <rpluim@gmail.com>
Remove erroneous @w in yank-media cross ref
@@ -18414,7 +20743,7 @@
* doc/emacs/killing.texi (Clipboard): Remove @w around @pxref.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-24 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Use customizable button icons (bug#51309, bug#51648)
@@ -18430,22 +20759,22 @@
* lisp/emacs-lisp/icons.el (icons--create)<image>: Allow to easy
add new image props by using 'apply' on them. Add :margin.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-24 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (completions-group-separator): Update :version.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-node-at): Remove argument LARGEST.
LARGEST returns the root node at BOB, finding the smallest node at
point and search upward is a better practice.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-parser-range-on): New function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
Fix treesit-beginning/end-of-defun
@@ -18455,7 +20784,7 @@
(treesit-beginning-of-defun): Goes to the top-level match.
(treesit-end-of-defun): Simply move to the end of current match.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
Make treesit-search-forward-goto accept a NODE argument
@@ -18471,7 +20800,7 @@
* lisp/treesit.el (treesit-search-forward-goto): Accept a NODE
argument.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
Make treesit-node-at return the last leaf node at EOB
@@ -18479,7 +20808,7 @@
* lisp/treesit.el (treesit-node-at): Add a (when node) form just to be
explicit, return the last leaf node if there is no node after POS.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
Make treesit-node-child and fiends accept negative index
@@ -18488,11 +20817,11 @@
(Ftreesit_node_field_name_for_child): Accept and process negative
index.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-node-at): Add LARGEST argument.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
Change function signiture of treesit search functions
@@ -18518,11 +20847,11 @@
* src/treesit.c (Ftreesit_search_subtree)
(Ftreesit_search_forward): Swap BACKWARD and ALL.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
* doc/emacs/package.texi (Package from Source): Clarify prose
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-23 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Pre-compute some frequent data for button icons (bug#57813)
@@ -18540,11 +20869,11 @@
* lisp/minibuffer.el (completions-group-separator): Change face
attribute :strike-through to :underline.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
;Fix typo "pacakge" -> "package"
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
Extract separate function 'package-vc-guess-backend'
@@ -18554,18 +20883,18 @@
(package-vc-sourced-packages-list): Use it.
(package-vc-install): Use it.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
;Fix typo "heusitic" -> "heuristic"
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
Use user option 'package-vc-default-backend' when cloning
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Respect
'package-vc-default-backend'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
Immediately check out the right branch or revision
@@ -18577,21 +20906,21 @@
* lisp/vc/vc-svn.el: Handle REV.
* lisp/vc/vc.el: Make BACKEND optional and add REV.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-23 Matt Armstrong <matt@rfc20.org>
Fix compiler warning about possible null pointer dereference
* src/itree.c (interval_tree_remove_fix): Use 'eassert' to both check
for non-null and suppress a compiler warning.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-23 Philip Kaludercic <philipk@posteo.net>
Add auxiliary function to query package specifications
* lisp/emacs-lisp/package-vc.el (package-vc-query-spec): Add
inline function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-23 Po Lu <luangruo@yahoo.com>
Reduce duplicate code for creating "special windows"
@@ -18601,7 +20930,7 @@
Also write a comment explaining what user time windows are.
* src/xterm.h: Fix style of `x_parse_color' prototype.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-23 Yuan Fu <casouri@gmail.com>
Fix infinite loop in treesit-search-forward-goto
@@ -18613,19 +20942,19 @@
to loop.
(Ftreesit_search_forward): Change docstring, remove UP argument.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-23 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
f1f4a0c9d2 ; * doc/lispref/display.texi (Progress): Correct typo. (B...
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-23 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
626525c29f ; Remove reference to non-existent Flymake function from m...
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-22 Matt Armstrong <matt@rfc20.org>
Fix `get-pos-property' for the new overlay implementation.
@@ -18640,7 +20969,7 @@
(Fget_pos_property): Deal with 'overlays_around' returning out of
range overlays.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-22 Matt Armstrong <matt@rfc20.org>
Add `get-pos-property' tests covering bug#58706
@@ -18649,7 +20978,7 @@
(get-pos-property-overlay-past-rear-advance): ditto.
(get-pos-property-overlay-at-narrowed-end): ditto.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-22 Yuan Fu <casouri@gmail.com>
Resolve FIXME's in tree-sitter manual sections
@@ -18660,7 +20989,7 @@
* doc/lispref/modes.texi (Parser-based Font Lock):
* doc/lispref/parsing.texi (Language Definitions): Resolve FIXME's.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-10-22 Basil L. Contovounesios <contovob@tcd.ie>
Improve error reporting of EUDC plist functions
@@ -18671,7 +21000,7 @@
(eudc-plist-member, eudc-plist-get, eudc-lax-plist-get):
Update tests accordingly.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-22 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Use 'outline-cycle' on buttons for 'RET' like 'TAB' uses.
@@ -18681,7 +21010,7 @@
Move overlay keymap to outline--make-button-overlay and replace
bindings outline-hide-subtree/outline-show-subtree with outline-cycle.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-22 Juri Linkov <juri@linkov.net>
Unify outline-minor-mode-use-buttons with in-margins/insert values (bug#57813)
@@ -18709,11 +21038,11 @@
Handle values of outline-minor-mode-use-buttons instead of using
many variables.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-22 Juri Linkov <juri@linkov.net>
* lisp/info.el (Info-toc-build): Remove message not needed anymore (bug#58634)
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-10-22 Basil L. Contovounesios <contovob@tcd.ie>
Audit some plist uses with new predicate argument
@@ -18786,7 +21115,7 @@
(test-plist): Move to plist section. Also test with a predicate
argument.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-22 Eli Zaretskii <eliz@gnu.org>
Clean up tree-sitter sections of the ELisp manual
@@ -18798,7 +21127,7 @@
* lisp/treesit.el (treesit-node-at, treesit-language-at): Rename
argument POINT to POS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-22 Po Lu <luangruo@yahoo.com>
Further fixes to menu event processing on no-toolkit builds
@@ -18808,11 +21137,11 @@
not on MS-DOS.
(x_menu_show): Set popup_activated_flag under X.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-22 Stefan Kangas <stefankangas@gmail.com>
* admin/notes/repo: Document feature and scratch branches.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-21 Matt Armstrong <matt@rfc20.org>
Fix a narrow-to-region vs. overlays-at bug
@@ -18832,11 +21161,11 @@
* test/src/buffer-tests.el (sorted-overlays): Add a spot test for
this.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-21 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-font-lock-enable): Add function back.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-21 Matt Armstrong <matt@rfc20.org>
Fix handling of overlays that begin at END in 'overlays_in'
@@ -18855,13 +21184,13 @@
edge conditions.
(test-overlays-in-empty-range-bug58672): Simple test for one case.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-21 Philip Kaludercic <philipk@posteo.net>
Rephrase initial paragraph in "Package from Source" section
* doc/emacs/package.texi (Package from Source): Clarify motivation.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-21 Philip Kaludercic <philipk@posteo.net>
Request "elpa-packages.eld" instead of "elpa-packages"
@@ -18869,13 +21198,13 @@
(package-vc--read-archive-data): Apply change.
(package-vc--download-and-read-archives): Apply change.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-21 Philip Kaludercic <philipk@posteo.net>
Remove 'package-vc-install' alias 'package-checkout'
* lisp/emacs-lisp/package-vc.el (package-checkout): Remove it.
-2023-04-15 Nacho Barrientos <nacho.barrientos@cern.ch> (tiny change)
+2022-10-21 Nacho Barrientos <nacho.barrientos@cern.ch> (tiny change)
Bindat (src, strz): Operate on vectors too
@@ -18886,7 +21215,7 @@
(bindat-test--str-simple-array-unpack,bindat-test--str-combined-array-unpack):
New tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-21 Po Lu <luangruo@yahoo.com>
Fix various menu problems
@@ -18899,7 +21228,7 @@
can be generated by menu grabs.
(x_wm_set_size_hint): Fix Motif build warning.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-21 Eli Zaretskii <eliz@gnu.org>
Improve and extend documentation of ElDoc
@@ -18922,7 +21251,7 @@
more commands and variables.
* doc/emacs/maintaining.texi (Maintaining): Improve indexing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-21 Po Lu <luangruo@yahoo.com>
Fix delivery of window manager ping events during menu
@@ -18934,14 +21263,14 @@
(x_menu_dispatch_event): New function.
(x_menu_show): Set it as the XMenu event handler.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-10-21 Mauro Aranda <maurooaranda@gmail.com>
Fix last change in perl-mode
* lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): Escape
$. Reported by Mattias Engdegård.
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-10-21 Brian Leung <leungbk@posteo.net>
Add the "nil" language server to eglot-server-programs
@@ -18950,7 +21279,7 @@
and more actively updated. (Bug#58676)
Ref: https://github.com/oxalica/nil
-2023-04-15 Brian Leung <leungbk@posteo.net>
+2022-10-21 Brian Leung <leungbk@posteo.net>
Add lua-language-server to eglot-server-programs
@@ -18959,14 +21288,14 @@
developed and more popular than the lua-lsp server, so prioritize
that. (Bug#58676)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-20 Philip Kaludercic <philipk@posteo.net>
Have 'package-vc-link-directory' use name if given
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Use the
NAME argument.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-20 Philip Kaludercic <philipk@posteo.net>
Build documentation like elpa-admin.el
@@ -18974,36 +21303,36 @@
function to build a documentation file.
(package-vc-unpack-1): Use 'package-vc-build-documentation'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-20 Philip Kaludercic <philipk@posteo.net>
Merge remote-tracking branch 'origin/master' into feature/package+vc
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-10-20 Filipp Gunbin <fgunbin@fastmail.fm>
Fix ldapsearch output parsing in ldap-search-internal
* lisp/net/ldap.el (ldap-search-internal): When parsing output, make
sure that file:// matched before opening the file. (bug#58605)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-20 Eli Zaretskii <eliz@gnu.org>
Add Eglot to the menu bar
* lisp/progmodes/eglot.el (eglot): Improve the doc string.
* lisp/menu-bar.el (menu-bar-tools-menu): Add Eglot to the menu.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-20 Eli Zaretskii <eliz@gnu.org>
Mention Eglot in the Emacs user manual
* doc/emacs/maintaining.texi (Xref):
* doc/emacs/programs.texi (Symbol Completion, Imenu): Mention Eglot.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Merge branch 'feature/eglot2emacs'
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Minor fixes to doc/misc/eglot.texi
@@ -19011,11 +21340,11 @@
markup of eglot-{}
(Quick Start): Fix section cross reference.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
* lisp/info-look.el (mapc): Add Eglot manual's index.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-20 Po Lu <luangruo@yahoo.com>
Work around problems setting input focus when a frame is in the background
@@ -19025,15 +21354,15 @@
various workarounds for window manager "focus stealing
prevention". (bug#57012)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-20 Po Lu <luangruo@yahoo.com>
* etc/PROBLEMS: Document window manager focus problems.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Merge branch 'feature/eglot-texi-manual' into feature/eglot2emacs
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Revert "eglot.texi: Make example more realistic"
@@ -19044,7 +21373,7 @@
This reverts commit 16986a9cc42ef4de580456f4acc5feba682ac8b1.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Fix Eglot manual's description of eglot-workspace-configuration
@@ -19053,7 +21382,7 @@
arbitrarily complex and correctly identify nil as the Elisp
equivalent to JSON null.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-10-20 Mauro Aranda <maurooaranda@gmail.com>
Improve HERE document detection in perl-mode
@@ -19066,7 +21395,7 @@
* test/lisp/progmodes/cperl-mode-resources/here-docs.pl: Add more tests.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Expose eglot-{} to be used in eglot-workspace-configuration
@@ -19074,13 +21403,13 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1084
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Rework header of eglot.el
* eglot.el (Commentary): Rework.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-20 João Távora <joaotavora@gmail.com>
Do use eglot-connect-timeout if eglot-sync-connect is t
@@ -19089,51 +21418,51 @@
* eglot.el (eglot--connect): Use eglot-connect-timeout in the case
eglot-sync-connect is t.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-20 Stefan Kangas <stefankangas@gmail.com>
eglot.texi: Explain where to find third-party packages
* doc/misc/eglot.texi (Eglot Features): Improve description on
third-party packages.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-20 Stefan Kangas <stefankangas@gmail.com>
eglot.texi: Make example more realistic
* doc/misc/eglot.texi (Eglot and Buffers): Prefer more realistic
*.c instead of *.foo in example.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-20 Stefan Kangas <stefankangas@gmail.com>
eglot.texi: Move sentence on LSP Servers earlier
* doc/misc/eglot.texi (Setting Up LSP Servers): Move explanation
on the (lack of) need for customizing servers earlier.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-20 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/Makefile.in (INFO_COMMON): Add eglot.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-20 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in modula2.el
* lisp/progmodes/modula2.el (m2-mode-map): Prefer defvar-keymap.
-2023-04-15 Rudolf AdamkoviÄ <salutis@me.com>
+2022-10-20 Rudolf AdamkoviÄ <salutis@me.com>
Add 'slovak-querty' input method (bug#58642)
* lisp/leim/quail/slovak.el ("slovak-querty"): New input method.
* etc/NEWS: Mention the new 'slovak-querty' input method.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-20 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
4b2c83eeaf ; * doc/lispref/modes.texi (Defining Minor Modes): Explain...
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-19 Matt Armstrong <matt@rfc20.org>
Rename all exported itree.h functions with the itree_ prefix
@@ -19147,7 +21476,7 @@
* src/itree.c: ditto.
* src/itree.h: ditto.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-19 Matt Armstrong <matt@rfc20.org>
Prefix all itree.h type names with itree_
@@ -19163,7 +21492,7 @@
* src/textprop.c: ditto.
* src/xdisp.c: ditto.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-19 Matt Armstrong <matt@rfc20.org>
Revert "mark_overlays: Use the normal ITREE_FOREACH"
@@ -19177,7 +21506,7 @@
isn't that GC itself is risky, it is that GC can call ELisp by way of
a hook, and running ELisp during iteration is risks nested iteration.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-19 Matt Armstrong <matt@rfc20.org>
Remove the ITREE_NULL macro and use NULL everywhere.
@@ -19185,7 +21514,7 @@
* src/itree.c (check_subtree): Use NULL everywhere.
* src/pdumper.c (dump_buffer): ditto.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-19 Yuan Fu <casouri@gmail.com>
Revise the toggle scheme of tree-sitter (again)
@@ -19245,14 +21574,14 @@
(ts-mode): Setup tree-sitter variables and then turn on treesit-mode
or move to js-mode.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-10-19 Andrea Corallo <akrl@sdf.org>
* Fix async native compilation (bug#58637)
* lisp/emacs-lisp/comp.el (comp--native-compile): Fix gate condition.
(comp-run-async-workers): Add assetion.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-19 Alan Mackenzie <acm@muc.de>
CC Mode: Cease adding types to found-types too eagerly
@@ -19274,7 +21603,7 @@
unconditionally to nil to prevent a second identifier being wrongly marked as
a type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-19 Po Lu <luangruo@yahoo.com>
Fix various builds
@@ -19284,20 +21613,20 @@
on Release 6 XIM.
(x_get_keyboard_modifiers): Adjust for build without XCB.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-19 Po Lu <luangruo@yahoo.com>
Fix build warning without XKB, Xmb, and XInput 2
* src/xterm.c (handle_one_xevent): Avoid defining
USE_SAFE_ALLOCA when SAFE_ALLOCA is not actually used.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-19 João Távora <joaotavora@gmail.com>
Remove spurious trailing ':' in doc/misc/eglot.texi
* doc/misc/eglot.texi (Customizing Eglot): Remove spurious ':'.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-19 João Távora <joaotavora@gmail.com>
Tweak some node names in doc/misc/eglot.texi
@@ -19306,7 +21635,7 @@
* doc/misc/eglot.texi: Rework node names.
-2023-04-15 Arun Isaac <arunisaac@systemreboot.net>
+2022-10-19 Arun Isaac <arunisaac@systemreboot.net>
Add tamil99 input method (bug#58070)
@@ -19314,7 +21643,7 @@
("tamil99"): New input method.
* etc/NEWS: Mention new tamil99 input method.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-19 Stefan Kangas <stefankangas@gmail.com>
Add admin/emacs-shell-lib for shared bash code
@@ -19326,17 +21655,17 @@
* admin/update_autogen:
* admin/upload-manuals: Simplify and improve using above new library.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-19 Stefan Kangas <stefankangas@gmail.com>
* lib-src/rcs2log: Add fallback for $TMPDIR.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-19 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
efd3ef3ceb ; * src/window.c: Fix some comments. (Bug#58550)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
(sit-for): Add compiler-macro to warn about obsolete calling convention
@@ -19345,21 +21674,21 @@
* lisp/play/zone.el (zone, zone-pgm-jitter, zone-pgm-whack-chars):
(zone-remove-text): Avoid obsolete calling convention.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-18 Yuan Fu <casouri@gmail.com>
Add a new section to tree-sitter's manual node
* doc/lispref/parsing.texi (Parsing Program Source): New section
Tree-sitter major modes.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-18 Philip Kaludercic <philipk@posteo.net>
Remove modifications to the list of ignored files in source packages
* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Remove
'vc-ignore' calls.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-18 Theodor Thornhill <theo@thornhill.no>
Add more granular features in font-locking
@@ -19376,7 +21705,7 @@
* lisp/progmodes/ts-mode.el (ts-mode--font-lock-settings): New defvar
renamed from 'ts-mode--settings'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-18 Philip Kaludercic <philipk@posteo.net>
Use 'elpa-packages' files for VC metadata
@@ -19402,7 +21731,7 @@
'package-refresh-contents' using a hook.
(package-refresh-contents): Use 'package-refresh-contents-hook'.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-18 Yuan Fu <casouri@gmail.com>
Rename tree-sitter group to treesit
@@ -19410,18 +21739,18 @@
(treesit-mode)
(global-treesit-mode): Use treesit group.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-18 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el: Add commentary.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix functions.texi syntax error
* doc/lispref/functions.texi (Function Documentation): Fix syntax
error.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-18 Yuan Fu <casouri@gmail.com>
Install new toggle scheme for tree-sitter
@@ -19460,18 +21789,18 @@
* lisp/progmodes/ts-mode.el (ts-mode): Use treesit-ready-p.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
functions.texi: Fix bug#58602
* doc/lispref/functions.texi (Function Documentation): Document
`:documentation` and `function-documentation`.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-18 Philip Kaludercic <philipk@posteo.net>
Merge remote-tracking branch 'origin/master' into feature/package+vc
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-18 Philip Kaludercic <philipk@posteo.net>
Have 'vc-clone' return a directory
@@ -19481,7 +21810,7 @@
* lisp/vc/vc-svn.el (vc-svn-clone): Return directory.
* lisp/vc/vc.el (vc-clone): Ensure the backend returns directory.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-18 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-minor-mode-insert-buttons): New defvar-local.
@@ -19498,7 +21827,7 @@
outline-regexp for leading spaces because now spaces are not added
in the NEWS buffer.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-18 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Use one character wide strings for margins (bug#57813)
@@ -19507,24 +21836,24 @@
for margins that are 1-column wide.
(outline-minor-mode): Force display of margins only for the selected buffer.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-18 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp.el (tramp-file-name-equal-p): Fix docstring.
* etc/NEWS: Adapt connection-local variables entries.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-18 Matt Armstrong <matt@rfc20.org>
* .gitignore: Unignore the tests/manual directory. (Bug#58611)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
(byte-compile--first-symbol-with-pos): Fix bug#58601
* lisp/emacs-lisp/bytecomp.el: Require `subr-x`.
(byte-compile--first-symbol-with-pos): Avoid inf-loops on circular data.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-18 João Távora <joaotavora@gmail.com>
More minor fixes to doc/misc/eglot.texi
@@ -19546,7 +21875,7 @@
each other. Clarify semantics of
eglot-confirm-server-initiated-edits.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-18 João Távora <joaotavora@gmail.com>
Minor stylistic fixes to introduction of doc/misc/eglot.texi
@@ -19554,34 +21883,34 @@
(Top): Fix sentence structure in top-level
introduction.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
Fix previous loaddefs-gen fix
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-18 Eli Zaretskii <eliz@gnu.org>
Add new Texinfo manual for the Eglot LSP client
* doc/misc/eglot.texi: New file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix faulty loaddefs detection
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--emacs-batch): Fix faulty loaddefs detection.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-18 Alan Mackenzie <acm@muc.de>
* lisp/progmodes/cc-defs.el Remove setting of inhibit-point-motion-hooks
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-10-18 Andrea Corallo <akrl@sdf.org>
* Prevent potential native compilation infinite recursions
@@ -19589,14 +21918,14 @@
(comp-subr-trampoline-install, comp-final, comp-run-async-workers)
(comp--native-compile): Update.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-10-17 Jim Porter <jporterbugs@gmail.com>
Print the correct $PATH when Eshell's 'which' fails to find a command
* lisp/eshell/esh-cmd.el (eshell/which): Use 'eshell-get-path'
(bug#20008).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-10-17 Jim Porter <jporterbugs@gmail.com>
Improve handling of $PATH in Eshell for remote directories
@@ -19639,7 +21968,7 @@
* etc/NEWS: Announce this change (bug#57556).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-10-17 Jim Porter <jporterbugs@gmail.com>
Allow setting the values of variable aliases in Eshell
@@ -19674,7 +22003,7 @@
documentation.
(Variables): Expand documentation of how to get/set variables.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-10-17 Jim Porter <jporterbugs@gmail.com>
Add helpers to dynamically assign connection-local values
@@ -19702,7 +22031,7 @@
* etc/NEWS: Announce 'setq-connection-local'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-17 Paul Eggert <eggert@cs.ucla.edu>
Improve ‘random’ doc re nonces
@@ -19710,7 +22039,7 @@
random seed, entropy pools, and why one shouldn’t use ‘random’ for
nonces. See Bug#58472.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-17 Po Lu <luangruo@yahoo.com>
Fix bug#58584
@@ -19719,7 +22048,7 @@
(handle_one_xevent): In that case, drop the event and don't let
it reach GTK.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Change free to xfree in treesit.el
@@ -19728,14 +22057,14 @@
* src/treesit.c (Ftreesit_parser_set_included_ranges): Change free to
xfree.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Change malloc to xmalloc in treesit.c
* src/treesit.c (Ftreesit_parser_set_included_ranges): Change malloc
to xmalloc.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Fix casts to uint32_t in treesit.c
@@ -19750,7 +22079,7 @@
(Ftreesit_parser_included_ranges): Add check for buffer size.
(Ftreesit_query_capture): Add assertion.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-10-17 Dmitry Gutov <dgutov@yandex.ru>
Follow-up fixes for vc-default-checkin-patch
@@ -19760,7 +22089,7 @@
files back, not just the first one. Bug#52349,
https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg01446.html.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Simplify error reported by loading tree-sitter language definition
@@ -19786,7 +22115,7 @@
* src/treesit.c (treesit_load_language): Add base_candidates, remove
error_list, report base_candidates rather than error_list.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Skip tree-sitter tests unless language definition is available
@@ -19798,14 +22127,14 @@
(treesit-multi-lang)
(treesit-node-supplemental): Add skip-unless form.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Fix memory leak in ts_load_language
* src/treesit.c (ts_load_language): Move initialization of c_name down
and free it right after use.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-17 Alan Mackenzie <acm@muc.de>
CC Mode: Don't fontify as types variables with the same names as struct tags
@@ -19818,14 +22147,14 @@
* lisp/progmodes/cc-langs.el (c-self-contained-typename-kwds
(c-self-contained-typename-key): New language consts and variable.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-17 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in fortran.el
* lisp/progmodes/fortran.el (fortran-mode-map): Prefer
defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-17 Stefan Kangas <stefankangas@gmail.com>
Update version information in Gnus manual
@@ -19834,7 +22163,7 @@
(Ma Gnus): Explain that Gnus is now developed together with
Emacs. (Bug#58161)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
* src/itree.c: Eliminate all prototypes for static functions
@@ -19843,7 +22172,7 @@
redundant prototypes.
While at it, fix a few places where the used more than 80 column.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-10-17 Basil L. Contovounesios <contovob@tcd.ie>
Silence recent comp-tests.el lexvar warnings
@@ -19855,7 +22184,7 @@
(test-native-compile-prune-cache/dont-delete-in-parent-of-cache):
Simplify file name expansion.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-17 Eli Zaretskii <eliz@gnu.org>
Make sure the treesit path variables are lists
@@ -19863,7 +22192,7 @@
(treesit_find_override_name): Make sure the lists we use are
really lists.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-17 Matt Armstrong <matt@rfc20.org>
Rename itree iterators with itree_iterator prefix
@@ -19876,7 +22205,7 @@
* src/itree.c: Use new names everywhere.
* src/eval.c: ditto.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-17 Matt Armstrong <matt@rfc20.org>
Delete the itree_null sentinel node, use NULL everywhere.
@@ -19908,14 +22237,14 @@
(interval_tree_transplant): New function that something I think is
more like a full transplantation. (names are hard)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-17 Stefan Kangas <stefankangas@gmail.com>
Improve native-compile-prune-cache messages
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Quote name of
pruned directory.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-17 Stefan Kangas <stefankangas@gmail.com>
Don't prune *.eln files in parent of eln-load-path
@@ -19925,13 +22254,13 @@
(test-native-compile-prune-cache/dont-delete-in-parent-of-cache):
New test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-17 Stefan Kangas <stefankangas@gmail.com>
Add tests for native-compile-prune-cache
* test/lisp/comp-tests.el: New file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-17 Po Lu <luangruo@yahoo.com>
Fix pieces of code being too expensive over slow network connections
@@ -19966,7 +22295,7 @@
(struct x_display_info): New fields for selection monitoring.
Also, record the fixes extension base.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix spurious "Compilation finished" native-comp messages
@@ -19976,7 +22305,7 @@
turned out that all the files we considered nativecomping were
skipped.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
Fix js/ts tree-sitter template_string font-lock
@@ -19987,11 +22316,11 @@
* lisp/progmodes/ts-mode.el (ts-mode--settings): Fontify
template_strings with js--fontify-template-string.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-17 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-font-lock-rules): Warn about :feature.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Avoid having the async compile log saying it's compiling loaddefs
@@ -20006,20 +22335,20 @@
* lisp/emacs-lisp/comp.el (native-compile-async-skip-p): Use the data.
-2023-04-15 Andrey Listopadov <andreyorst@gmail.com> (tiny change)
+2022-10-17 Andrey Listopadov <andreyorst@gmail.com> (tiny change)
Use face-spec-set instead of custom-set-faces
GitHub-reference: https://github.com/jwiegley/use-package/issues/934
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-17 Stefan Kangas <stefankangas@gmail.com>
Make `message-canlock-generate' faster
* lisp/gnus/message.el (message-canlock-generate): Improve performance
by several orders of magnitude.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-10-16 Dmitry Gutov <dgutov@yandex.ru>
Add default implementation for 'checkin-patch'
@@ -20028,18 +22357,18 @@
The first attempt was here:
https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg01464.html
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-16 Philip Kaludercic <philipk@posteo.net>
* src/keyboard.c (echo_add_key): Mention quick-help
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-16 Philip Kaludercic <philipk@posteo.net>
Only clone packages if necessary
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if
directory exists before cloning.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic: Fix `advertised-calling-convention` declarations
@@ -20056,14 +22385,14 @@
* test/lisp/emacs-lisp/cl-generic-tests.el (cl-generic-tests--acc): New fun.
(cl-generic-tests--advertised-calling-convention-bug58563): New test.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-16 Philip Kaludercic <philipk@posteo.net>
Attempt to infer the package subject if missing
* lisp/emacs-lisp/package-vc.el (package-vc-main-file): Add function.
(package-vc-generate-description-file): Infer the subject.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-10-16 kobarity <kobarity@gmail.com>
Move and rename Python completion ERTs
@@ -20078,7 +22407,7 @@
(python-completion-at-point-native-with-eldoc-1): Renamed tests
(bug#58565).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-16 Eli Zaretskii <eliz@gnu.org>
Support MinGW build on MS-Windows
@@ -20120,20 +22449,20 @@
* configure.ac (TREE_SITTER): Support the MinGW build.
(TREE_SITTER_OBJ): Remove.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-16 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in ansi-osc.el
* lisp/ansi-osc.el (ansi-osc-hyperlink-map): Prefer defvar-keymap.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-16 Philip Kaludercic <philipk@posteo.net>
Mark source packages as always updatable
* lisp/emacs-lisp/package.el (package--updateable-packages): Add check
for source packages.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-16 Philip Kaludercic <philipk@posteo.net>
Delete 'package-contact-maintainer'
@@ -20141,33 +22470,33 @@
* etc/NEWS: Remove mention.
* lisp/emacs-lisp/package.el: Remove the command.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-16 Stefan Kangas <stefankangas@gmail.com>
Make help-for-help echo key on failure
* lisp/help-macro.el (make-help-screen): Echo key on failure.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-16 Stefan Kangas <stefankangas@gmail.com>
Bind "home"/"end" in help-for-help
* lisp/help-macro.el (make-help-screen): Bind "home"/"end" keys to
scrolling up/down.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-16 Stefan Kangas <stefankangas@gmail.com>
Don't ding when exiting help-for-help with C-g
* lisp/help-macro.el (make-help-screen): Don't ding on "C-g".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-16 Lars Ingebrigtsen <larsi@gnus.org>
Clear misleading message in help-quit-or-quick
* lisp/help.el (help-quit-or-quick): Clear misleading message
(bug#58542).
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-10-16 kobarity <kobarity@gmail.com>
Fix invalid search bound error in python-shell-completion-at-point
@@ -20177,14 +22506,14 @@
(python-shell-completion-shell-buffer-native-1): New tests
(bug#58548).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-10-16 Daniel Martín <mardani29@yahoo.es>
Signal an error in dictionary lookup if there's no word at point
* lisp/net/dictionary.el (dictionary-lookup-definition): Signal an
error when there is no word at point (bug#58552).
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-10-16 kobarity <kobarity@gmail.com>
Disable completion when PDB is active in Python Shell buffer
@@ -20193,7 +22522,7 @@
* test/lisp/progmodes/python-tests.el (python-shell-completion-pdb-1):
New test (bug#58562).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-16 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -20206,14 +22535,14 @@
# Conflicts:
# doc/emacs/custom.texi
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-16 Stefan Kangas <stefankangas@gmail.com>
Expand 'random' testsuite
* test/src/fns-tests.el (ert): Require.
(fns-tests-random): Expand test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-16 Po Lu <luangruo@yahoo.com>
Adapt last change to Haiku port
@@ -20226,7 +22555,7 @@
* src/haikuterm.h (struct haiku_output):
(FRAME_COMPLETE_P): Synchronize logic with X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-16 Po Lu <luangruo@yahoo.com>
Fix multiple sources of flicker under X
@@ -20252,21 +22581,21 @@
* src/xterm.h (struct x_output): New flag `complete'.
(FRAME_X_COMPLETE_P): New macro.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-15 Yuan Fu <casouri@gmail.com>
Update ts-mode font-lock to work with tree-sitter's :feature
* lisp/progmodes/ts-mode.el (ts-mode--settings): Add :feature flag.
(ts-mode): Set treesit-font-lock-feature-list.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-15 Paul Eggert <eggert@cs.ucla.edu>
Fix ‘make bootstrap’ when the *.m4 files change
This should help avoid problems like Bug#58535.
* Makefile.in (bootstrap-clean): Also remove autom4te.cache.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-15 Michael Albinus <michael.albinus@gmx.de>
Minor Tramp fixes
@@ -20275,26 +22604,26 @@
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
Check, that there's really a Tramp file name.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-15 Philip Kaludercic <philipk@posteo.net>
Merge branch 'master' into feature/package+vc
* lisp/vc/vc-git.el (vc-git-symbolic-commit): Use --no-undefined
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-15 Philip Kaludercic <philipk@posteo.net>
* lisp/vc/vc-git.el (vc-git-symbolic-commit): Add argument FORCE
(Bug#57400)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-15 Philip Kaludercic <philipk@posteo.net>
* lisp/vc/vc-git.el (vc-git--rev-parse): Allow abbreviating commits
* lisp/vc/vc-git.el (vc-git-working-revision): Use abbreviated comment
references. (Bug#57400)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-15 Philip Kaludercic <philipk@posteo.net>
Handle ;;;###theme-autoload comments in etc/themes
@@ -20302,7 +22631,7 @@
Extract the autoloads and have them loaded along with loaddefs.el.
* etc/NEWS: Mention the new feature. (Bug#57639)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-15 Philip Kaludercic <philipk@posteo.net>
Tag themes with properties
@@ -20337,14 +22666,14 @@
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload):
Handle 'defcustom's by extracting the properties. (Bug#57639)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-15 Stefan Kangas <stefankangas@gmail.com>
Add no-byte-compile to the ".dir-locals.el" auto-insert template
* lisp/autoinsert.el (auto-insert-alist): Add the no-byte-compile
cookie to the ".dir-locals.el" template.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-15 Stefan Kangas <stefankangas@gmail.com>
Delete broken link to Network Theory Ltd.
@@ -20353,7 +22682,7 @@
published anything new for over a decade.
* doc/misc/org.org (Summary): Remove broken link to Network Theory Ltd.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-15 Eli Zaretskii <eliz@gnu.org>
Fix encoding and decoding of process I/O in Eshell on Windows
@@ -20361,7 +22690,7 @@
encoding and decoding of text to/from the subprocess for
MS-Windows. (Bug#58281)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-15 Po Lu <luangruo@yahoo.com>
Remove redundant call to expensive function XOpenDisplay
@@ -20369,21 +22698,21 @@
network connection by an order of magnitude on no toolkit builds
by avoiding a redundant call to XOpenDisplay.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-15 Po Lu <luangruo@yahoo.com>
Fix XDS file name expansion
* lisp/x-dnd.el (x-dnd-handle-xds-drop): Expand file names
again. That code was mistakenly removed.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-14 Stefan Kangas <stefankangas@gmail.com>
Use file-size-human-readable in memory-report--format
* lisp/emacs-lisp/memory-report.el (memory-report--format): Use
file-size-human-readable.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-10-14 Basil L. Contovounesios <contovob@tcd.ie>
Update image-circular-tests.el
@@ -20395,7 +22724,7 @@
(image-test-circular-specs): Ditto. Wrap overly wide docstring.
Mark as failing since shortly after its introduction (bug#36403#63).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
src/textprop.c (get_char_property_and_overlay): Fix bug#58479
@@ -20406,7 +22735,7 @@
* test/src/buffer-tests.el (buffer-tests--overlay-bug58479): New test.
* src/buffer.h (buffer_has_overlays): Avoid `interval_tree_size`.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-14 Michael Albinus <michael.albinus@gmx.de>
Rename `file-attribute-file-number' to `file-attribute-file-identifier'
@@ -20420,7 +22749,7 @@
* src/dired.c (Ffile_attributes):
Rename `file-attribute-file-number' to `file-attribute-file-identifier'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-14 Eli Zaretskii <eliz@gnu.org>
Document how to control where the *.eln files are written
@@ -20430,7 +22759,7 @@
'native-comp-eln-load-path' in determining where *.eln files are
written.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-14 Alan Mackenzie <acm@muc.de>
Correctly fontify C++'s operator"" _tag (...)
@@ -20451,7 +22780,7 @@
* lisp/progmodes/cc-langs.el (c-overloadable-operators): Add "" to this list.
(c-sub-colon-type-list-re): New lang-const and lang-var.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
Add a quick-help menu
@@ -20463,11 +22792,11 @@
lisp/help.el (help-for-help): Mention 'help-quit-or-quick'.
* etc/NEWS (https): Mention 'help-quit'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
* lisp/net/rcirc.el (rcirc-bridged-nick): Inherit from highlight
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
Allow filtering what items are added to Ecomplete
@@ -20475,7 +22804,7 @@
* lisp/ecomplete.el (ecomplete-filter-regexp): Add new option.
(ecomplete-add-item): Respect new option. (bug#58487)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
Prevent .dir-locals.el from being byte-compiled
@@ -20484,33 +22813,33 @@
file.
* .dir-locals.el: Add 'no-byte-compile'. (Bug#58486)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
* lisp/net/rcirc.el (rcirc-generate-log-filename): Append ".log"
(Bug#54718)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
Prepare all inline patches at once
* lisp/vc/vc.el (vc-prepare-patch): Remove the usage of
'recursive-edit' when 'vc-prepare-patches-separately' is non-nil.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
Allow reordering commits in 'vc-prepare-patch' prompt
* lisp/vc/vc.el (vc-prepare-patch): Use marked log-view commits as
initial input.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-14 Philip Kaludercic <philipk@posteo.net>
Mention that vc-prepare-patch can interact with a log-view
* lisp/play/zone.el (zone): Allow selecting a program
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-10-14 Robert Pluim <rpluim@gmail.com>
Add cross-reference to alternative syntaxes for Unicode
@@ -20520,14 +22849,14 @@
* doc/emacs/custom.texi (Init Non-ASCII): Add cross reference to
"General Escape Syntax" in the Emacs Lisp Reference Manual.
-2023-04-15 Reuben Thomas <rrt@sc3d.org>
+2022-10-14 Reuben Thomas <rrt@sc3d.org>
Do perl documentation lookups case-insensitively, like man
* lisp/progmodes/cperl-mode.el (cperl-perldoc): add -i to the perldoc
command.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-14 Po Lu <luangruo@yahoo.com>
Fix bug#56153
@@ -20540,7 +22869,7 @@
([EmacsView windowDidChangeBackingProperties:]): Fix new Mac
OS deprecation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-14 Po Lu <luangruo@yahoo.com>
Avoid redundant creation of XRender pictures
@@ -20549,13 +22878,13 @@
(x_draw_image_foreground, x_draw_image_foreground_1): Pass
destination where appropriate.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-14 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
85e47d9a9e ; Continued cleanup of "-hooks"
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-13 Yuan Fu <casouri@gmail.com>
Update tree-sitter manual to reflect the previous commit
@@ -20565,7 +22894,7 @@
* doc/lispref/parsing.texi: Add the missing closing bracket in
@code{(t . nil)}.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-13 Yuan Fu <casouri@gmail.com>
Rework tree-sitter font-lock
@@ -20585,13 +22914,13 @@
treesit-font-lock-recompute-features. And improve the font-lock-mode
workaround.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-13 Yuan Fu <casouri@gmail.com>
* doc/lispref/parsing.texi: Add manual for treesit-query-language.
* src/treesit.c (Ftreesit_query_language): New function.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-13 Michael Albinus <michael.albinus@gmx.de>
Clarify structure of file-attribute's device number
@@ -20613,33 +22942,33 @@
* src/dired.c (Ffile_attributes): Fix docstring.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-13 Paul Eggert <eggert@cs.ucla.edu>
Improve checks for recent "File exists" fixup
* src/fileio.c (Finsert_file_contents): Add an assertion (bug#42431).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-13 Stefan Kangas <stefankangas@gmail.com>
Make `info' treat "\n" in node names as "\s"
* lisp/info.el (info): Treat "\n" in node name as "\s". (Bug#57936)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-13 Po Lu <luangruo@yahoo.com>
Shrink client list window structure
* src/xterm.c (struct x_client_list_window): Rearrange members
for better alignment.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-13 Paul Eggert <eggert@cs.ucla.edu>
Simplify recent "File exists" fix
* src/fileio.c (Finsert_file_contents):
Simplify previous change that fixed bug#42431.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix hl-line-mode/global-hl-line-mode logic again
@@ -20647,14 +22976,14 @@
(hl-line-mode 1) work again when global-hl-line-mode is on
(bug#58478).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix browse-url-emacs for file: URLs on Windows
* lisp/net/browse-url.el (browse-url-emacs): Fix up
file:///c:/foo/bar URLs on windows (bug#58464).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-13 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Rearrange button/margin functions.
@@ -20662,14 +22991,14 @@
(outline--insert-open-button, outline--insert-close-button)
(outline--fix-up-all-buttons): Move to the section "Button/margin indicators".
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-13 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline--fix-buttons-after-change): New function.
(outline-minor-mode): Use it.
(outline--make-margin-overlay): Remove inhibit-read-only.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix misleading "File exists, but cannot be read" in browse-url-emacs
@@ -20678,13 +23007,13 @@
via handlers -- in that case, modtime isn't necessarily set, and
if there's a handler, it should take care of this (bug#42431).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-13 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
4b4b093ab3 ; * admin/make-tarball.txt: Fix typo.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
src/frame.c (do_switch_frame): Fix bug#58343
@@ -20694,46 +23023,46 @@
Use it instead of `selected_frame`. Adjust all callers.
* src/lisp.h (move_minibuffers_onto_frame): Adjust declaration.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
* etc/NEWS: Mention package-vc additions
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
Document package-vc
* doc/emacs/package.texi (Package Files): Add new node.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
Allow specifying a package name for 'package-vc-link-directory'
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Add argument NAME
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
* lisp/emacs-lisp/package-vc.el (package-vc-refresh): Add function.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
Rename 'package-vc-link-project' to 'package-vc-link-directory'
* lisp/emacs-lisp/package-vc.el (package-vc-link-project): Rename it.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
Run 'package-vc-unpack-1' after updating source packages
* lisp/emacs-lisp/package-vc.el (package-vc-update): Call
'package-vc-unpack-1'.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-10-12 John Wiegley <johnw@newartisans.com>
Merge pull request from conao3/add-commands-keyword
GitHub-reference: https://github.com/jwiegley/use-package/issues/917
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-12 Yuan Fu <casouri@gmail.com>
Better signal data for treesit-load-language-error
@@ -20742,7 +23071,7 @@
language not available.
* doc/lispref/parsing.texi: Document the signal data in detail.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
Add new command to install a package via symbolic linking
@@ -20750,14 +23079,14 @@
(package-vc-unpack): Use 'package-vc-unpack-1'.
(package-vc-link-project): Add new command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-12 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Native-Compilation Variables slightly
* doc/lispref/compile.texi (Native-Compilation Variables): Clarify
trampoline bit (bug#58429).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-12 Philip Kaludercic <philipk@posteo.net>
Only use 'package-vc-repository-store' if necessary
@@ -20766,7 +23095,7 @@
* lisp/emacs-lisp/package.el (package--delete-directory): Adapt
accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-12 Po Lu <luangruo@yahoo.com>
Improve makefile-imake-mode
@@ -20775,14 +23104,14 @@
CPP keywords, and don't require comments to start at BOL.
(makefile-imake-mode): Set comment-start to some sensible value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix thinko in read-string-from-buffer
* lisp/textmodes/string-edit.el (string-edit-done): Return an empty
string when the user has entered no text.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-10-12 kobarity <kobarity@gmail.com>
Fix Python completion when point in shell buffer is before prompt
@@ -20791,7 +23120,7 @@
* test/lisp/progmodes/python-tests.el (python-shell-completion-2):
(python-shell-completion-native-2): New tests (bug#58441).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-12 Po Lu <luangruo@yahoo.com>
Stop relying on Xt hack to set window manager hints
@@ -20803,7 +23132,7 @@
* src/xterm.c (x_wm_set_size_hint): Set size hints the usual way
if Xt did not set them. (bug#58412)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-12 Theodor Thornhill <theo@thornhill.no>
Add TypeScript support with tree-sitter
@@ -20812,13 +23141,13 @@
support for TSX as well as TypeScript. If we cannot find tree-sitter,
we default to using js-mode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-12 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
3787d0b11a ; * doc/lispref/windows.texi (Window Hooks): Fix markup (b...
-2023-04-15 Andrea Corallo <andrea.corallo@arm.com>
+2022-10-11 Andrea Corallo <andrea.corallo@arm.com>
Add trampoline AOT compilation target (bug#58318)
@@ -20827,14 +23156,14 @@
* lisp/emacs-lisp/comp.el (comp-compile-all-trampolines): New
function.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-11 Theodor Thornhill <theo@thornhill.no>
Fix byte-compile warning for js--treesit-defun-type-regexp
* lisp/progmodes/js.el (js--treesit-defun-type-regexp): Move before
js--treesit-beginning-of-defun.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-11 Yuan Fu <casouri@gmail.com>
Lazily compile tree-sitter query
@@ -20870,7 +23199,7 @@
a lisp query requires the language symbol, but in this function we
only have TSLanguage.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c (check_tree): Simplify
@@ -20885,25 +23214,25 @@
before `interval_tree_remove_fix`. Move update of `size`
field accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-11 Po Lu <luangruo@yahoo.com>
Also avoid setting _NET_WM_USER_TIME on crossing
* src/xterm.c (handle_one_xevent): Stop setting user time prop
on crossing events.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-11 João Távora <joaotavora@gmail.com>
* eglot.el (version): actually bump to 1.9
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-11 Lars Ingebrigtsen <larsi@gnus.org>
Make read-string-from-buffer and string-edit mention each other
* lisp/textmodes/string-edit.el (read-string-from-buffer)
(string-edit): Mention each other in the doc strings.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-11 Eli Zaretskii <eliz@gnu.org>
Speed up scrolling when lines are very long and truncated
@@ -20916,7 +23245,7 @@
method, if lines in the buffer are very long and truncated on
display.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-11 Po Lu <luangruo@yahoo.com>
Remove some more unnecessary calls to block_input
@@ -20925,7 +23254,7 @@
(x_after_update_window_line): Remove and add calls to
block_input as required.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-10 Matt Armstrong <matt@rfc20.org>
Stop reading and writing the itree_null.parent field entirely.
@@ -20948,7 +23277,7 @@
(interval_tree_transplant): Avoid an assignment to itree_null.parent
through source->parent.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-10 Matt Armstrong <matt@rfc20.org>
Simplify itree_null initialization
@@ -20959,7 +23288,7 @@
(itree_init): remove initialization code, call eassert(null_is_sane())
(check_tree_common): call eassert (null_is_sane())
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-10 Matt Armstrong <matt@rfc20.org>
Check red-black invariants in most places
@@ -20973,7 +23302,7 @@
(interval_tree_insert): check_tree -> check_tree_common with
allow_red_red=true.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-10 Matt Armstrong <matt@rfc20.org>
Improve check_subtree
@@ -20985,7 +23314,7 @@
limiting to interval_tree_max_height(tree) levels is enough to
traverses the complete tree.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-10-10 F. Jason Park <jp@neverwas.me>
Accommodate missing spec values in erc-format-message
@@ -20996,14 +23325,14 @@
been relying on the old behavior to gracefully handle malformed server
messages. This commit tries to regain that functionality.
-2023-04-15 Philipp Stephani <p.stephani2@gmail.com>
+2022-10-10 Philipp Stephani <p.stephani2@gmail.com>
Add gettid to seccomp-filter
* lib-src/seccomp-filter.c (main): gettid is necessary on RHEL 9.0
(bug#56359).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-10 Lars Ingebrigtsen <larsi@gnus.org>
Remove the view-remove-frame-by-deleting variable
@@ -21011,7 +23340,7 @@
that hasn't been used since 2011 -- 357f93d245344 reworked the
code and stopped using it (bug#58413).
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-10-10 kobarity <kobarity@gmail.com>
Fix Python completion failure under certain conditions
@@ -21024,7 +23353,7 @@
(python-shell-completion-native-with-ffap-1)
(python-shell-completion-native-with-eldoc-1): New tests (bug#58389).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-10 Lars Ingebrigtsen <larsi@gnus.org>
Improve error message from sqlite-execute
@@ -21033,20 +23362,20 @@
execute and select.
(Fsqlite_select): Factored out from here.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-10-10 Jim Porter <jporterbugs@gmail.com>
Don't prompt when killing an Emacs client if it's the last client
* lisp/server.el (server-kill-emacs-query-function): Ignore the
current client (if any) when checking for live clients (bug#58404).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-10-10 Daniel Martín <mardani29@yahoo.es>
Fix typo in Makefile.in
* src/Makefile.in (TREE_SITTER_CFLAGS): Set the correct C flags.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-10 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp completion on MS Windows
@@ -21055,7 +23384,7 @@
(tramp-build-completion-file-name-regexp):
Use `tramp-prefix-format' instead of `tramp-prefix-regexp'. (Bug#558133)
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-10 Paul Eggert <eggert@cs.ucla.edu>
Port bwrap/allows-stdout test to Ubuntu 22.04.1
@@ -21085,7 +23414,7 @@
causes the test to pass. Perhaps a fancier, more accurate patch
could be written by someone who has the time.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-10 Yuan Fu <casouri@gmail.com>
Make treesit-node-at faster
@@ -21093,7 +23422,7 @@
treesit-node-first-child-for-pos. This is both faster for large
buffers and simpler. Also remove the TODO comment.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-10 Theodor Thornhill <theo@thornhill.no>
Fix typo in treesit--check-manual-covarage
@@ -21101,17 +23430,17 @@
function name and also lookup the correct library in
`find-library-name'
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-10 Yuan Fu <casouri@gmail.com>
Improve treesit-search-forward-goto so it doens't stuck at EOF
* lisp/treesit.el (treesit-search-forward-goto): Handle the edge case.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-10 Yuan Fu <casouri@gmail.com>
* admin/notes/tree-sitter/starter-guide (Navigation): Improve demo.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-10 Yuan Fu <casouri@gmail.com>
Fix js--treesit-beginning/end-of-defun
@@ -21122,7 +23451,7 @@
(js-treesit--defun-query): Remove variable.
(js--treesit-defun-type-regexp): Add variable.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-10-10 Theodor Thornhill <theo@thornhill.no>
Add tree-sitter functionality to js-mode
@@ -21155,7 +23484,7 @@
(js-mode, js-json-mode, js-jsx-mode): Add support for tree-sitter
functionalities.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-10 Yuan Fu <casouri@gmail.com>
Fix tree-sitter build script in admin/notes
@@ -21163,21 +23492,21 @@
* admin/notes/tree-sitter/build-module/build.sh: change
typescript to tsx.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-10 Lars Ingebrigtsen <larsi@gnus.org>
Add a test for sqlite "insert ... returning"
* test/src/sqlite-tests.el (sqlite-returning): Add a test for
"insert ... returning".
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-10-10 Robert Pluim <rpluim@gmail.com>
Fix `vc-prepare-patch' docstring
* lisp/vc/vc.el (vc-prepare-patch): Correct description of
`vc-prepare-patches-separately'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-10 Lars Ingebrigtsen <larsi@gnus.org>
Support "insert into ... returning ..." in sqlite-execute
@@ -21185,19 +23514,19 @@
* src/sqlite.c (Fsqlite_execute): Support syntax like "insert into
... returning ..." (bug#58390).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix some indentation in Fsqlite_execute
* src/sqlite.c (Fsqlite_execute): Fix indentation.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-09 Yuan Fu <casouri@gmail.com>
Rename custom group treesit to tree-sitter
* lisp/treesit.el (treesit): Rename.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-09 Yuan Fu <casouri@gmail.com>
Add :version tag for new tree-sitter custom options
@@ -21205,14 +23534,14 @@
* lisp/treesit.el (treesit):
(treesit-max-buffer-size): Add version tag.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-09 Yuan Fu <casouri@gmail.com>
Make python tree-sitter font-lock support decoration levels
* lisp/progmodes/python.el (python--treesit-settings): Stratify into
three levels.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-09 Yuan Fu <casouri@gmail.com>
Make tree-sitter font-lock support decoration levels
@@ -21225,14 +23554,14 @@
(treesit-font-lock-rules): Support :level. Relayout the let form.
(treesit-font-lock-fontify-region): Support :level.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-09 Yuan Fu <casouri@gmail.com>
Add note on tree-sitter's naming convention
* admin/notes/tree-sitter/starter-guide: Add note.
* doc/lispref/parsing.texi: Add note.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
Tighten up handling of `otick`
@@ -21280,7 +23609,7 @@
(interval_tree_insert): Remove declaration.
(itree_insert_node): New declaration.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-09 Philip Kaludercic <philipk@posteo.net>
Rename 'package-vc-fetch' to 'package-vc-install'
@@ -21288,7 +23617,7 @@
symmetry with 'package-install'.
(package-checkout): Follow the previous rename.
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-10-09 Michael Heerdegen <michael_heerdegen@web.de>
Try to speed up extended command shorthand computation
@@ -21299,7 +23628,7 @@
up complicated cases while the slowdown of simple cases is still
accetable.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-10-09 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Set the PARENTS argument for language environments
@@ -21308,20 +23637,20 @@
* lisp/language/misc-lang.el
(set-language-info-alist): Add PARENTS argument. (Bug#58376)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-09 Lars Ingebrigtsen <larsi@gnus.org>
Make Fsqlite_select error data better
* src/sqlite.c (Fsqlite_select): Add more the more specific error
text to the error data (bug#58363).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-09 Lars Ingebrigtsen <larsi@gnus.org>
Clean up Fsqlite_select slightly
* src/sqlite.c (Fsqlite_select): Clean up code slightly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-09 Po Lu <luangruo@yahoo.com>
Fix user time handling bug on GNOME Shell and Metacity
@@ -21333,7 +23662,7 @@
(handle_one_xevent): Avoid setting the user time property on
LeaveNotify and XI_Leave events.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Use `interval_tree_inherit_offset`
@@ -21347,13 +23676,13 @@
(recurse_check_tree): Don't check RB invariants.
(itree_limits_are_stable): Delete function (subsumed by `check_tree`).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-09 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
32ef7550ed ; Improve documentation of 'file-in-directory-p'
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-08 Matt Armstrong <matt@rfc20.org>
Debug check overlay tree invariants
@@ -21363,13 +23692,13 @@
(interval_tree_remove): ditto.
(interval_tree_insert_fix): ditto.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-08 Matt Armstrong <matt@rfc20.org>
Comment change: explain inheriting "dirty" offsets
handles inheriting offsets from dirty nodes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/url/url-file.el (url-file): Don't bind `coding-system-for-read`
@@ -21378,7 +23707,7 @@
the code (in `url-file-asynch-callback`) is already careful to
use `insert-file-contents-literally`.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-08 Mattias Engdegård <mattiase@acm.org>
Restrict string-lessp vectorisation to safe architectures
@@ -21386,25 +23715,25 @@
(Fstring_lessp): Only use word operations where safe, because string
data from purespace may be unaligned.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-08 Mattias Engdegård <mattiase@acm.org>
Better Lisp_String comments
* src/lisp.h (struct Lisp_String): Comments improved.
* src/pdumper.c (dump_string): Update hash (comment change only).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-08 Mattias Engdegård <mattiase@acm.org>
Improved format string error message (bug#58168)
* src/editfns.c (styled_format): Better message when the conversion
char is non-ASCII from a unibyte format string.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
* lisp/emacs-lisp/package-vc.el: Autoload 'package-vc-prepare-patch'
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
package.el: Understand a few more variations in tarball formats
@@ -21416,7 +23745,7 @@
* test/lisp/emacs-lisp/package-resources/ustar-withsub-0.1.tar:
* test/lisp/emacs-lisp/package-resources/v7-withsub-0.1.tar: New files.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-08 Lars Ingebrigtsen <larsi@gnus.org>
Make sqlite-select signal errors when there's an error
@@ -21424,7 +23753,7 @@
(Fsqlite_select): Signal an error when there's an error preparing
the statement.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-08 Lars Ingebrigtsen <larsi@gnus.org>
Fix vtable-insert-object line insertion
@@ -21432,35 +23761,35 @@
correct ellipsis values (bug#58370).
(vtable--insert-line): Don't bug out on missing optional arguments.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-10-08 Visuwesh <visuweshm@gmail.com>
Fix misleading prompt in vc-git-create-tag
* lisp/vc/vc-git.el (vc-git-create-tag): Actually pass the DEFAULT
argument to vc-read-revision (bug#58378).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-08 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in etc/TODO
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-08 Michael Albinus <michael.albinus@gmx.de>
* etc/TODO (Wishlist items): Add libarchive(3) integration.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-08 Lars Ingebrigtsen <larsi@gnus.org>
Mention seq-keep in shortdoc
* lisp/emacs-lisp/shortdoc.el (sequence): Mention seq-keep.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-08 João Távora <joaotavora@gmail.com>
Fix docstring of eglot-list-connections-mode
* eglot.el (eglot-list-connections-mode): Fix mistaken reference
to similar non-Eglot code.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Clone packages into a separate directory
@@ -21472,11 +23801,11 @@
(package-delete): Invoke 'package--delete-directory' with an
additional argument.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
* lisp/emacs-lisp/package.el (package-report-bug): Use 'file-in-directory-p'
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Extend package-vc heuristics to multiple source forges
@@ -21485,14 +23814,14 @@
(package-vc-heusitic-alist): Add support for multiple VC backends.
(package-vc-sourced-packages-list): Use 'package-vc-heusitic-alist'
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Use 'package-vc-p' in package-vc.el
* package-vc.el (package-vc-commit): Use it instead of 'eq'.
(package-vc-version): Use it instead of 'eq'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Add a package-vc command for submitting ptches
@@ -21502,7 +23831,7 @@
* lisp/emacs-lisp/package.el (package-maintainers): Add an optional
NO-ERROR argument.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Extract package maintainer guessing code into a separate function
@@ -21510,7 +23839,7 @@
(package-contact-maintainer): Use it.
(package-report-bug): Use it.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Add an inline procedure for checking for source packages
@@ -21525,11 +23854,11 @@
(package--remove-hidden): Use it.
(package-menu--print-info-simple): Use it.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Merge branch 'master' into feature/package+vc
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-08 Philip Kaludercic <philipk@posteo.net>
Add a VC command to prepare patches
@@ -21549,7 +23878,7 @@
(vc-default-prepare-patch): Add a default implementation.
(vc-prepare-patch): Add command. (Bug#57400)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-08 Po Lu <luangruo@yahoo.com>
Stop passing CurrentTime to SetInputFocus
@@ -21558,7 +23887,7 @@
correctly.
(x_focus_frame): Do not perform actions prohibited by the ICCCM.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-10-08 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Coptic script (bug#58330)
@@ -21571,13 +23900,13 @@
* etc/HELLO: Add a Coptic greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-08 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
cfb1e21844 Update name of hs-mouse-toggle-hiding in Emacs manual
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
itree: Try and detect non-local exits during itree iterations
@@ -21585,13 +23914,13 @@
* src/eval.c (signal_or_quit): Use it.
* src/itree.h (itree_busy_p): Declare it.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-07 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in bibtex.el
* lisp/textmodes/bibtex.el (bibtex-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-07 Stefan Kangas <stefankangas@gmail.com>
Fix setting the wallpaper with "swaybg" and "wbg"
@@ -21611,7 +23940,7 @@
(wallpaper-set/calls-init-action)
(wallpaper-set/calls-wallpaper-set-function): New tests.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
subr.el (inhibit-point-motion-hooks): Mark it as obsolete
@@ -21628,7 +23957,7 @@
obsolete in the docstring any more.
* lisp/simple.el (line-move-1, line-move-finish): Silence warnings.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/isearch.el (isearch-search): Don't bind `inhibit-point-motion-hooks`
@@ -21636,7 +23965,7 @@
"because we might have to search inside invisible and intangible text".
So it's been redundant since Emacs-25 changed the default to t.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
verilog-mode.el: Don't bind `inhibit-point-motion-hooks`
@@ -21649,7 +23978,7 @@
binding `before/after-change-functions` as well while we're at it,
since `inhibit-modification-hooks` already covers it in Emacs≥25.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
(nxml-with-invisible-motion): Delete macro.
@@ -21661,11 +23990,11 @@
* lisp/nxml/rng-valid.el (rng-do-some-validation):
* lisp/nxml/rng-nxml.el (rng-set-state-after): Don't use it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/pcomplete.el (pcomplete-arg): Simplify
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
(line-move-1): Obey `inhibit-point-motion-hooks`
@@ -21686,14 +24015,14 @@
* lisp/simple.el (line-move-1): Obey `inhibit-point-motion-hooks`
(line-move-finish): New optional arg `not-ipmh`.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-07 Matt Armstrong <matt@rfc20.org>
Use a bool instead of a bitfield
* src/itree.c (struct interval_generator): use a bool instead of a
bitfield, since space is not an issue.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
org.el: Improve bindings of `inhibit-*` vars
@@ -21706,7 +24035,7 @@
`inhibit-modification-hooks` around code which doesn't modify the
buffer anyway.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
Remove aliases of `with-silent-modifications`
@@ -21737,7 +24066,7 @@
* lisp/progmodes/hideshow.el (hs-life-goes-on): Don't
let-bind `inhibit-point-motion-hooks`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
Remove redundant let-bindings of `inhibit-point-motion-hooks`
@@ -21795,21 +24124,21 @@
* lisp/textmodes/table.el (table--point-entered/left-cell-function):
Remove let-binding of `inhibit-point-motion-hooks`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Update name of hs-mouse-toggle-hiding in Emacs manual
* doc/emacs/programs.texi (Hideshow): Update the name of
hs-mouse-toggle-hiding (bug#58331).
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-07 Matt Armstrong <matt@rfc20.org>
Handle successive mime sections in decoding.
rmailsum.el (rmail-epa-decode):Handle blank lines at start.
Handle both ending delim and another starting delim.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-07 Mattias Engdegård <mattiase@acm.org>
Speed up string-lessp for multibyte strings
@@ -21822,14 +24151,14 @@
* src/fns.c (Fstring_lessp): Quickly skip the common prefix by
comparing words.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-07 Mattias Engdegård <mattiase@acm.org>
Clearer byte-compiler arity warnings (bug#58319)
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature-string):
Replace '3+' and '3-4' with '3 or more' and '3 or 4', respectively.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-10-07 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
comint-fontify-input: Don't fontify output as input, different approach
@@ -21837,31 +24166,31 @@
with field=output before inserting it into buffer to prevent
comint-fontify-input from fontifying it (bug#58169).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-10-07 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Revert "comint-fl: Prevent fontification of output as input"
This reverts commit 90744ff0be581b69cedea1194b7e78265bdb67a4.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-07 Michael Albinus <michael.albinus@gmx.de>
* lisp/dired.el (dired-make-relative): Make change less aggressive.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-07 Po Lu <luangruo@yahoo.com>
Handle IM server disconnects during preedit
* src/xterm.c (x_maybe_clear_preedit): New function.
(xim_destroy_callback): Call that function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-07 Stefan Kangas <stefankangas@gmail.com>
Improve package-check-signature docstring
* lisp/emacs-lisp/package.el (package-check-signature): Improve
docstring.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-07 Yuan Fu <casouri@gmail.com>
Add a :toggle option for tree-sitter font-lock
@@ -21877,25 +24206,25 @@
easier to understand.
(treesit-font-lock-fontify-region): Handle :toggle.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-07 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
5f8849425c Fix typo in `(emacs) Lisp Doc'
f0a06364fb Fix references to 'default-indent-new-line'
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-06 Yuan Fu <casouri@gmail.com>
* src/treesit.c (syms_of_treesit): Add Streesit_language_version.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-06 Michael Albinus <michael.albinus@gmx.de>
Better support for remote file names in dired
* lisp/dired.el (dired-make-relative): Expand DIR anyway, because
it could also be an abbreviated remote file name. (Bug#58300)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-06 Philip Kaludercic <philipk@posteo.net>
Add a generic bug reporting command for packages
@@ -21903,7 +24232,7 @@
'package-report-bug'.
(package-report-bug): Add new command.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-10-06 Philip Kaludercic <philipk@posteo.net>
* lisp/vc/vc-svn.el (vc-svn-clone): Add 'clone' implementation
@@ -21913,11 +24242,11 @@
* lisp/vc/vc-hg.el (vc-hg-clone): Add 'clone' implementation
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-06 Yuan Fu <casouri@gmail.com>
Merge branch 'master' into feature/tree-sitter
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-10-06 Arash Esbati <arash@gnu.org>
Pass correct environment name to `reftex-label'
@@ -21925,11 +24254,11 @@
"figure" to `reftex-label' when inserting a figure float.
(bug#58329)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-06 Lars Ingebrigtsen <larsi@gnus.org>
etc/NEWS: Fix typo in seq-keep entry.
-2023-04-15 Justus Winter <justus@sequoia-pgp.org>
+2022-10-06 Justus Winter <justus@sequoia-pgp.org>
Replace aging OpenPGP artifacts in gnus' mml-sec tests.
@@ -21940,7 +24269,7 @@
problem once the old algorithms are rejected by contemporary
implementations (bug#58301).
-2023-04-15 Justus Winter <justus@sequoia-pgp.org>
+2022-10-06 Justus Winter <justus@sequoia-pgp.org>
Replace aging OpenPGP artifacts in the package-resources tests.
@@ -21953,7 +24282,7 @@
problem once the old algorithms are rejected by contemporary
implementations.
-2023-04-15 Justus Winter <justus@sequoia-pgp.org>
+2022-10-06 Justus Winter <justus@sequoia-pgp.org>
Replace aging OpenPGP artifacts in the epg tests.
@@ -21966,7 +24295,7 @@
problem once the old algorithms are rejected by contemporary
implementations.
-2023-04-15 Justus Winter <justus@sequoia-pgp.org>
+2022-10-06 Justus Winter <justus@sequoia-pgp.org>
Fix epg's reliance on an implicit GnuPG command.
@@ -21974,7 +24303,7 @@
signatures. Make that operation explicit. Happily, this aligns how
gpg and gpgsm is invoked, so it actually makes the code simpler.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-10-06 Manuel Giraud <manuel@ledu-giraud.fr>
Fix BSD battery mode over TRAMP (bug#58307)
@@ -21983,7 +24312,7 @@
(battery-bsd-apm): Use it instead of `shell-command-to-string'
(bug#58307).
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-10-06 Matt Armstrong <matt@rfc20.org>
Fix calling `package-reinstall' just after quick initialization.
@@ -21993,20 +24322,20 @@
`package-reinstall' as the first thing done after package "quick
init" (Bug#53527).
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-10-06 Gerd Möllmann <gerd@gnu.org>
Add missing staticpro (bug#58327)
* src/window.c (init_window_once): staticpro old_selected_window.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-06 Stefan Kangas <stefankangas@gmail.com>
Fix typo in `(emacs) Lisp Doc'
* doc/emacs/programs.texi (Lisp Doc): Fix reference to
'eldoc-echo-area-display-truncation-message'. (Bug#58324)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-06 Stefan Kangas <stefankangas@gmail.com>
Fix references to 'default-indent-new-line'
@@ -22014,15 +24343,15 @@
(Multi-Line Comments): Fix references to
'default-indent-new-line'. (Bug#58325)
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-10-06 Gerd Möllmann <gerd@gnu.org>
Inhibit GC in probably_quit (bug#58042)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-06 Stefan Kangas <stefankangas@gmail.com>
* etc/NEWS: Document how to continue using 'linum'. (Bug#58220)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Get rid of the trick using null->parent
@@ -22033,11 +24362,11 @@
(interval_tree_remove): Manually keep track of the `broken` node's
parent to pass it to `interval_tree_remove_fix`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
* src/itree.c (interval_tree_remove_fix): Move before first use
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-05 Po Lu <luangruo@yahoo.com>
Minor fixes to IM locale handling
@@ -22045,7 +24374,7 @@
* src/xterm.c (x_term_init): If the X library doesn't support
the current locale, don't set up input methods.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Fix corner case errors in offsets
@@ -22073,7 +24402,7 @@
`otick` is uptodate. Skip the unneeded increments when the offset is 0.
(interval_tree_insert_fix): Add sanity check that we indeed have 2 reds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-05 Po Lu <luangruo@yahoo.com>
Fix nsmenu crash when exiting popup dialog
@@ -22081,15 +24410,15 @@
(ns_popup_dialog): Call discard_menu_items after
unuse_menu_items. (bug#58296)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-05 Stefan Kangas <stefankangas@gmail.com>
* etc/NEWS: Add instructions for replacing 'linum'. (Bug#58220)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-05 Yuan Fu <casouri@gmail.com>
Merge branch 'master' into feature/tree-sitter
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-05 Yuan Fu <casouri@gmail.com>
Add tree-sitter admin notes
@@ -22118,7 +24447,7 @@
* admin/notes/tree-sitter/html-manual/build-manual.sh: New file.
* admin/notes/tree-sitter/html-manual/manual.css: New file.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Fix incomplete update of `limit`s in corner cases
@@ -22145,7 +24474,7 @@
* src/itree.h (interval_tree_contains): Remove declaration.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-05 João Távora <joaotavora@gmail.com>
Make eglot-code-actions usable non-interactively
@@ -22154,7 +24483,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1070
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-05 João Távora <joaotavora@gmail.com>
Add half-baked m-x eglot-list-connections
@@ -22165,13 +24494,13 @@
* eglot.el (eglot-list-connections-mode, eglot-list-connections):
New mode and function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-05 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (repeat-exit): Add autoload cookie.
* etc/tutorials/TUTORIAL.uk: Fix typos.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Clarify how the sentinel is used
@@ -22183,21 +24512,21 @@
(interval_tree_remove): Do it explicitly before the call in those two
places where it can happen.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-05 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp manual
* doc/misc/tramp.texi (Inline methods): Method "kubernetes" does
not support user names.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-05 Stefan Kangas <stefankangas@gmail.com>
New command 'world-clock-copy-time-as-kill'
* lisp/time.el (world-clock-copy-time-as-kill): New command.
(world-clock-mode-map): Bind above new command to "w".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-05 Stefan Kangas <stefankangas@gmail.com>
Add face help-key-binding in help-char echo
@@ -22205,7 +24534,7 @@
"?" key in 'help-char' echo. (Bug#57906)
(syms_of_keyboard) <Qhelp_key_binding>: New DEFSYM.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-04 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Remove some unnecessary `tree` arguments
@@ -22214,7 +24543,7 @@
(interval_node_set_region, interval_tree_remove)
(interval_tree_insert_gap, interval_tree_delete_gap): Adjust callers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-04 Po Lu <luangruo@yahoo.com>
Fix bug in "macintization" of x_draw_glyph_string
@@ -22222,7 +24551,7 @@
drawing code ommitted during "macintization" to convert the X function
into NS code. Reported by Qiantan Hong <qthong@stanford.edu>.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-10-04 Filipp Gunbin <fgunbin@fastmail.fm>
Add tramp-kubernetes integration
@@ -22236,17 +24565,17 @@
(tramp-kubernetes-method): New defconst.
(tramp-kubernetes--completion-function): New function.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-10-04 Filipp Gunbin <fgunbin@fastmail.fm>
Rename lisp/net/tramp-docker.el to lisp/net/tramp-container.el
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Add :override flag for python tree-sitter font-lock settings
* lisp/progmodes/python.el (python--treesit-settings): Add :override.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Add :override flag for tree-sitter font-lock
@@ -22256,7 +24585,7 @@
(treesit-font-lock-fontify-region): Handle :override. Also set
inhibit-point-motion-hooks to t.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Fix python tree-sitter font-lock
@@ -22265,14 +24594,14 @@
* lisp/progmodes/python.el (python--treesit-keywords): Add operators.
(python--treesit-settings): Add lhs attribute.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Add treesit-language-version
* doc/lispref/parsing.texi (Language Definitions): Update manual.
* src/treesit.c (Ftreesit_language_version): New function
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Improve documentation of tree-sitter search functions
@@ -22282,7 +24611,7 @@
(treesit-induce-sparse-tree): Mention case-insensitivity.
* lisp/treesit.el (treesit-simple-indent): Mention case-insensitivity.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Ignore some capture name in treesit-font-lock-fontify-region
@@ -22291,7 +24620,7 @@
that are not face nor function.
(treesit-font-lock-rules): Update docstring.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-10-04 Yuan Fu <casouri@gmail.com>
Remove treesit-query-in
@@ -22302,7 +24631,7 @@
* src/treesit.c (Ftreesit_query_capture): Accept parser and language
symbol as NODE.
-2023-04-15 Vibhav Pant <vibhavp@gmail.com>
+2022-10-04 Vibhav Pant <vibhavp@gmail.com>
Add comment explaining gcc_jit_context_new_bitcast usage.
@@ -22310,7 +24639,7 @@
comp.c: Add declaration for gcc_jit_type_is_pointer.
-2023-04-15 Vibhav Pant <vibhavp@gmail.com>
+2022-10-04 Vibhav Pant <vibhavp@gmail.com>
src/comp.c: Use libgccjit's bitcast API for type coercion, when available.
@@ -22321,25 +24650,25 @@
* (emit_coerce): Use gcc_jit_context_new_bitcast to coerce types, when
available.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Put all seq.el news into one section
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Add 'seq-keep'
* doc/lispref/sequences.texi (Sequence Functions): Document it.
* lisp/emacs-lisp/seq.el (seq-keep): New function (bug#58278).
-2023-04-15 Brian Cully <bjc@kublai.com>
+2022-10-04 Brian Cully <bjc@kublai.com>
Add method description for podman in Tramp
* doc/misc/tramp.texi (Inline methods): Adapt docker method.
Describe podman method.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-10-04 João Távora <joaotavora@gmail.com>
Rename "eglot -> eglot" in docstrings
@@ -22350,7 +24679,7 @@
(eglot--mode-line-format, eglot-xref-backend)
(eglot-imenu): Rename "EGLOT" -> "Eglot"
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-04 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -22359,13 +24688,13 @@
# Conflicts:
# src/emacs.c
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-04 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
78c262e1c2 ; * lisp/progmodes/glasses.el (glasses-face): Expand the d...
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-04 Alan Mackenzie <acm@muc.de>
CC Mode: A new operator and some new keywords for C++20
@@ -22374,11 +24703,11 @@
(c-primitive-type-kwds): Add char8_t for C++.
(c-decl-hangon-kwds, c-paren-nontype-kwds): Add alignas for C++.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-04 Michael Albinus <michael.albinus@gmx.de>
* etc/NEWS: Mention new Tramp method "podman". Fix typos.
-2023-04-15 Brian Cully <bjc@kublai.com>
+2022-10-04 Brian Cully <bjc@kublai.com>
Provide Podman containers on their own method in Tramp
@@ -22388,12 +24717,12 @@
(top): Update comments to refer to Docker-alike where necessary.
Add description for how to use the podman method.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-10-04 Andreas Schwab <schwab@linux-m68k.org>
* src/emacs.c (load_pdump): Propery handle case when executable
wasn't found.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-04 Alan Mackenzie <acm@muc.de>
CC Mode: Optimize c-fontify-new-found-type and amend a debug spec
@@ -22404,7 +24733,7 @@
* lisp/progmodes/cc-defs.el (cc-eval-when-compile): Amend the debug spec from
t to (&rest body), in line with the fix to bug #16184.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-04 Eli Zaretskii <eliz@gnu.org>
Revert "Improve manual display tests of undisplayable chars (bug#58168)"
@@ -22412,11 +24741,11 @@
Please don't rush installing changes that are still being
discussed.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-04 Stefan Kangas <stefankangas@gmail.com>
* lisp/subr.el (y-or-n-p): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-04 Stefan Kangas <stefankangas@gmail.com>
image-dired: Shorten several long names
@@ -22434,7 +24763,7 @@
* doc/emacs/dired.texi (Image-Dired): Update documentation for the
above changes, and improve indexing.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-10-04 Mattias Engdegård <mattiase@acm.org>
Improve manual display tests of undisplayable chars (bug#58168)
@@ -22449,14 +24778,14 @@
(test-redisplay-5): Fix likely typo (#x3fffc) of raw byte value.
(test-redisplay-6): New.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-04 Stefan Kangas <stefankangas@gmail.com>
image-dired: Fix arrow keys in thumbs buffer
* lisp/image/image-dired.el (image-dired-thumbnail-mode-map): Also
remap 'left-char' and 'right-char'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-04 Eli Zaretskii <eliz@gnu.org>
Fix recent changes for Ukrainian language
@@ -22464,7 +24793,7 @@
* lisp/language/cyrillic.el ("Ukrainian"): Fix greetings and
remove redundant Ukrainian entry in cyrillic.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Make cropping of images work in message-mode
@@ -22473,7 +24802,7 @@
(message--image-part-string): ... here for reuse.
(message--update-image-crop): Update the cropped data.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-04 Alan Mackenzie <acm@muc.de>
CC Mode: Make c-forward-declarator move over a suffix after parens, e.g. const
@@ -22489,7 +24818,7 @@
* lisp/progmodes/cc-mode.el (c-fl-decl-end): Handle being in a multi-line
string. Move forward over token after declarator.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Move image commands to the 'i' sub map
@@ -22500,14 +24829,14 @@
repeatable.
(image--delayed-change-size): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix the arguments in tags--compat-initialize
* lisp/progmodes/etags.el (tags--compat-initialize): Fix argument
order -- swap the last two arguments (bug#58272).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-04 Po Lu <luangruo@yahoo.com>
Update Ukrainian language info alist
@@ -22515,7 +24844,7 @@
Ukraine" with "hello". See
www.gnu.org/prep/maintain/html_node/Other-Politics.html.
-2023-04-15 Denys Nykula <vegan@libre.net.ua>
+2022-10-04 Denys Nykula <vegan@libre.net.ua>
Add Ukrainian tutorial
@@ -22526,25 +24855,25 @@
* etc/NEWS:
* etc/tutorials/TUTORIAL.translators: Attribute my work (bug#55250).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix NEWS item about obsoleting the `eq' gv
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Make `eq' obsolete as a generalized variable
* lisp/emacs-lisp/gv.el (eq): Make obsolete as a generalized
variable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Mention cond/if as generalized variables in the manual
* doc/lispref/variables.texi (Setting Generalized Variables):
Mention cond and if (bug#52290).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-04 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in STRING_CHAR
@@ -22553,7 +24882,7 @@
unibyte strings. This avoids assertion violation in
'string_char_and_length'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Make loaddefs-generate more resilient
@@ -22561,25 +24890,25 @@
out when there's an existing loaddefs file that's not formatted
properly (bug#58280).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Don't bug out in advice--make-docstring when there's not doc string
* lisp/emacs-lisp/nadvice.el (advice--make-docstring): Don't bug
out on functions with no documentation (bug#58284).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-04 Eli Zaretskii <eliz@gnu.org>
Avoid errors in interactive calls of 'calendar-goto-day-of-year'
* lisp/calendar/cal-move.el (calendar-goto-day-of-year): Fix the
default value of DAY; doc fix. (Bug#58283)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-04 Stefan Kangas <stefankangas@gmail.com>
* etc/NEWS: Clarify confusing Image-Dired entry. (Bug#58279)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-03 Po Lu <luangruo@yahoo.com>
Fix deiconification handling on FVWM and possibly other window managers
@@ -22590,7 +24919,7 @@
messages, and use them for signalling deiconification.
(bug#58164)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-03 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -22602,14 +24931,14 @@
# Conflicts:
# src/emacs.c
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-03 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (repeat-exit-key): Replace type 'key-sequence' with 'key'.
(repeat-post-hook, repeat-echo-message-string): Add backward-compatibility
code for repeat-exit-key to keep support for 'key-sequence' type (bug#55986).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-03 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (repeat-exit): New command.
@@ -22619,24 +24948,24 @@
Also use repeat--exit.
(repeat--exit): New internal function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Fix last change
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Improve messaging in ecomplete-remove
* lisp/ecomplete.el (ecomplete-remove): Make messaging better.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in last help-fns--insert-menu-bindings change
* lisp/help-fns.el (help-fns--insert-menu-bindings): Fix typo in
last change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Improve help-fns--insert-menu-bindings formatting
@@ -22644,7 +24973,7 @@
work better for menus that turn out to not be reachable after all
-- i.e., don't insert " and " before the heading in certain cases.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Add commands to edit/remove ecomplete entries
@@ -22653,7 +24982,7 @@
(ecomplete--prompt-type): New functions.
(ecomplete-edit, ecomplete-remove): New commands.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Rename to inhibit-automatic-native-compilation
@@ -22668,7 +24997,7 @@
* doc/lispref/compile.texi (Native-Compilation Variables): Rename
inhibit-native-compilation to inhibit-automatic-native-compilation.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
files.el (major-mode-remap-alist): New custom var (bug#58075)
@@ -22684,7 +25013,7 @@
* lisp/textmodes/tex-mode.el (tex--guess-mode): Simplify.
(tex--redirect-to-submode): Obey `major-mode-remap-alist`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Add new variable 'inhibit-native-compilation'
@@ -22706,7 +25035,7 @@
inhibit-native-compilation.
(maybe_defer_native_compilation): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-03 Po Lu <luangruo@yahoo.com>
Fix coding systems used for X input methods
@@ -22732,7 +25061,7 @@
* src/xterm.h (struct x_display_info): New field `xim_coding'.
(FRAME_X_XIM_CODING): New macro.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Add --with-native-compilation=aot configuration option
@@ -22741,7 +25070,7 @@
* lisp/Makefile.in: Use the setting from configure.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Revert "keymap.el: Ease up support for non-`kbd` formats."
@@ -22752,7 +25081,7 @@
interface with easy-to-understand semantics that
give good feedback on valid/invalid key sequences.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Improve auto-insert-mode documentation
@@ -22760,21 +25089,21 @@
(auto-insert-directory): Doc fix; the directory does not have to end
in slash.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Fix documentation of 'TAB' in cc-mode
* doc/emacs/programs.texi (C Indent): Fix documentation of 'TAB'
in cc-mode. (Bug#58258)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Fix 'org-export-dispatch' command name in manual
* doc/emacs/text.texi (Org Authoring): Fix 'org-export-dispatch'
command name. (Bug#58260)
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-02 Paul Eggert <eggert@cs.ucla.edu>
Port TZ settings to POSIX
@@ -22784,28 +25113,28 @@
Use the POSIX standard TZ=UTC0 rather than the GNU extension
TZ=UTC to set the time zone to UTC.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Actually delete markers in dired-do-flagged-delete
* lisp/dired.el (dired-do-flagged-delete): Actually delete
markers. (Bug#58256)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Fix more overly long docstrings in eieio
* lisp/emacs-lisp/eieio.el (defclass): Fix more overly long
docstrings. (Bug#58252)
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-02 Paul Eggert <eggert@cs.ucla.edu>
Don’t truncate seccomp-filter diagnostic
* lib-src/seccomp-filter.c (fail): Do not truncate diagnostic
arbitrarily to 1000 bytes when ERROR is nonzero.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-02 Paul Eggert <eggert@cs.ucla.edu>
Prefer static_assert to verify in seccomp-filter
@@ -22816,7 +25145,7 @@
* lib-src/seccomp-filter.c: Do not include verify.h.
Prefer static_assert to verify.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-10-02 Alan Mackenzie <acm@muc.de>
Suppress irritating/misleading message in make bootstrap about old .elc files
@@ -22831,18 +25160,18 @@
match, don't output the message about the source file being newer than the
file being loaded.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-10-02 Paul Eggert <eggert@cs.ucla.edu>
* .gitignore: Add lib/assert.h (Bug#58254).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-02 Juri Linkov <juri@linkov.net>
* lisp/vc/vc-git.el (vc-git-checkin): Add more checks for vc-git-patch-string
Check that vc-git-patch-string contains the same changes that already exists
in the staged area when files were added/removed by vc commands (bug#52349).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-02 Juri Linkov <juri@linkov.net>
In vc-git-log-incoming use the repository in the command "fetch" (bug#50340)
@@ -22856,14 +25185,14 @@
vc-log-incoming and vc-log-outgoing, use the term "remote location"
instead of "repository".
-2023-04-15 Peter Münster <pm@a16n.net>
+2022-10-02 Peter Münster <pm@a16n.net>
Delete thumbs in image-dired-do-flagged-delete after confirmation
* lisp/image/image-dired.el (image-dired-do-flagged-delete): Remove
thumbnails only after confirming deletion of the files. (Bug#58255)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-10-02 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (repeat<defgroup>): New customization group.
@@ -22872,7 +25201,7 @@
(repeat-check-key, repeat-echo-function, repeat-mode):
Change group to 'repeat'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
keymap.el: Ease up support for non-`kbd` formats.
@@ -22888,7 +25217,7 @@
* lisp/outline.el (outline-minor-mode): Use it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
itree: Use a single iterator object
@@ -22915,7 +25244,7 @@
(interval_tree_iter_start): Use the global `iter`.
(interval_generator_create): Make it work with a NULL argument.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
mark_overlays: Use the normal ITREE_FOREACH
@@ -22927,11 +25256,11 @@
* src/alloc.c (mark_overlays): Delete function.
(mark_buffer): Use ITREE_FOREACH.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
* lisp/files.el (after-find-file): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Fix overly wide docstrings generated by eieio
@@ -22939,7 +25268,7 @@
(eieio-make-child-predicate, eieio-defclass-internal): Don't generate
overly wide docstrings. (Bug#58252)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Remove `tree` field from iterator
@@ -22955,14 +25284,14 @@
(interval_tree_inherit_offset): Prefer parent==NULL rather than
node==root to avoid accessing the tree object.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-02 Lars Ingebrigtsen <larsi@gnus.org>
Kill URL buffer in url-insert-file-contents-literally
* lisp/url/url-handlers.el (url-insert-file-contents-literally):
Kill the URL buffer after use.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix coding system problems in gnus-read-ephemeral-bug-group
@@ -22973,7 +25302,7 @@
* lisp/url/url-handlers.el (url-insert-file-literally): New function.
(url-insert): Allow forcing no-decode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-02 Stefan Kangas <stefankangas@gmail.com>
Decrease use of the word "Emacsen" in Tramp docs
@@ -22983,31 +25312,31 @@
* lisp/net/tramp.el: Don't say "Emacsen" when a different wording
would be clearer.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-02 Lars Ingebrigtsen <larsi@gnus.org>
perform-replace doc string fix
* lisp/replace.el (perform-replace): Fix doc string (bug#58177).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix point movement when indenting in sieve-mode
* lisp/net/sieve-mode.el (sieve-mode-indent-function): Fix point
movement when point is at the start of the line (bug#58202).
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-10-02 Andreas Schwab <schwab@linux-m68k.org>
* src/emacs.c (load_pdump): Fix use of xpalloc.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-02 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violation in 'xpalloc'
* src/emacs.c (load_pdump): Ensure the 3rd argument of xpalloc is
always positive. (Bug#58232)
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-10-02 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Gothic script (bug#58194)
@@ -23020,11 +25349,11 @@
* etc/HELLO: Add Gothic greetings.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
Merge remote-tracking branch 'origin/feature/noverlay' into noverlay
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
New ITREE_FOREACH macro
@@ -23052,7 +25381,7 @@
(buffer_overlay_iter_finish, buffer_overlay_iter_narrow):
Delete declarations.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-10-01 Po Lu <luangruo@yahoo.com>
Only rely on EWMH window activation if possible
@@ -23062,7 +25391,7 @@
_NET_ACTIVE_WINDOW, just use it; anything else may confuse the
window manager.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-01 Stefan Kangas <stefankangas@gmail.com>
Revert "Decrease use of the word "Emacsen" in docs"
@@ -23070,7 +25399,7 @@
Ref. https://lists.gnu.org/r/emacs-devel/2022-10/msg00016.html
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-01 Michael Albinus <michael.albinus@gmx.de>
Tramp cleanup
@@ -23083,7 +25412,7 @@
(tramp-get-remote-tmpdir): Revert previous patch, it isn't needed
anymore.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-01 Stefan Kangas <stefankangas@gmail.com>
Update publicsuffix.txt from upstream
@@ -23091,7 +25420,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-09-27 20:39:13 UTC.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-10-01 Michael Albinus <michael.albinus@gmx.de>
Use a version for the Tramp cache
@@ -23102,7 +25431,7 @@
* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
Re-initialize the cache version.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-01 Stefan Kangas <stefankangas@gmail.com>
Decrease use of the word "Emacsen" in docs
@@ -23130,7 +25459,7 @@
* lisp/shadowfile.el:
* lisp/winner.el: Don't use the word "Emacsen".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-10-01 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -23140,28 +25469,28 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Make mailcap--regexp-quote-type more resilient
* lisp/net/mailcap.el (mailcap--regexp-quote-type): Make more
resilient in the presence of junk.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Make "git pull" output slightly prettier
* lisp/vc/vc-git.el (vc-git--pushpull): Translate ^M in output
(bug#58199).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-01 Eli Zaretskii <eliz@gnu.org>
Fix vertical motion in some rare bidi situations
* src/xdisp.c (move_it_by_lines): Handle the case where we
didn't move vertically at all.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Make mailcap consistent about regexp-quoting minors
@@ -23173,7 +25502,7 @@
application/vnd\.ms-excel and application/vnd.ms-excel (etc),
making prompting confusing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix url-retrieve-synchronously on very short timeouts
@@ -23181,14 +25510,14 @@
process buffer unless we made one (bug#58218). This makes HTTP
free connection marking work on premature timeouts.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-10-01 Matthias Meulien <orontee@gmail.com>
Define ansi-osc customization group
* lisp/ansi-osc.el (ansi-osc): Define ansi-osc customization group
(ansi-osc-for-compilation-buffer): Fix wrong group
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-10-01 Matthias Meulien <orontee@gmail.com>
Rename osc.el to ansi-osc.el (bug#58200)
@@ -23197,7 +25526,7 @@
* test/lisp/osc-tests.el: Move from here...
* test/lisp/ansi-osc-tests.el: ...to here.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-10-01 Protesilaos Stavrou <info@protesilaos.com>
Update to Modus themes stable version 2.7.0
@@ -23220,25 +25549,25 @@
Release notes: <https://protesilaos.com/codelog/2022-10-01-modus-themes-2-7-0/>.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-10-01 Gerd Möllmann <gerd@gnu.org>
Make it compile with ITREE_DEBUG defined
* src/buffer.c (make_lispy_interval_node): Use make_fixnum.
(overlay_tree): Use ITREE_NULL.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-10-01 Eli Zaretskii <eliz@gnu.org>
Fix 'C-a' and 'C-e' under 'visual-line-mode'
* src/xdisp.c (move_it_vertically_backward): Fix last change.
(Bug#58210)
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-30 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
itree.c: Improve division between tree and iterator
@@ -23266,7 +25595,7 @@
`file`, and `line`, moved to `interval_generator`.
(interval_generator_narrow): Replace `interval_tree_iter_narrow`.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-30 Yuan Fu <casouri@gmail.com>
Change tree-sitter indent anchor preset 'prev-line'
@@ -23274,21 +25603,21 @@
* lisp/treesit.el (treesit-simple-indent-presets): Change prev-line to
mean bol of prev-line.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-30 Yuan Fu <casouri@gmail.com>
Fix tree-sitter manuals
* doc/lispref/modes.texi: Fix typos, reword, etc.
* doc/lispref/parsing.texi: Fix typos, reword, etc.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-30 Michael Albinus <michael.albinus@gmx.de>
Fix connection property incompatibility in Tramp
* lisp/net/tramp.el (tramp-get-remote-tmpdir): Remove obsolete
connection property "tmpdir". (Bug#57800)
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-30 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Rename comint-fl-* to comint-fontify-input-* and mention it in NEWS
@@ -23313,7 +25642,7 @@
* etc/NEWS: Mention the new modes and how to disable or enable
them (bug#58169).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-30 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
comint-fl: Prevent fontification of output as input
@@ -23321,7 +25650,7 @@
fontification of inserted process output before marking it with the
'output' filed property (bug#58169).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Further with-locale-environment refresh fixes
@@ -23330,7 +25659,7 @@
refresh.
(set-locale-environment): Inhibit refresh in more paths (bug#58193).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-30 Sean Whitton <spwhitton@spwhitton.name>
Add vc-edit-next-command
@@ -23342,21 +25671,21 @@
* etc/NEWS:
* doc/emacs/vc1-xtra.texi (Editing Shell Commands): Document it.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-30 Mattias Engdegård <mattiase@acm.org>
Rectify string= documentation
* doc/lispref/strings.texi (Text Comparison): Describe the current
behaviour since about 20 years back.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-30 Mattias Engdegård <mattiase@acm.org>
Strengthen string-lessp tests
* test/src/fns-tests.el (fns-tests--string-lessp-cases)
(fns-tests-string-lessp): Check more cases, and in a more robust way.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-30 Mattias Engdegård <mattiase@acm.org>
Speed up string-lessp further
@@ -23364,7 +25693,7 @@
multibyte strings as well. Specialise loops on argument
multibyteness.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Don't refresh the frame in with-locale-environment
@@ -23373,14 +25702,14 @@
(set-locale-environment): Allow inhibiting the refresh.
* lisp/international/mule.el (set-terminal-coding-system): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Make gnus-user-agent less verbose
* lisp/gnus/gnus.el (gnus-user-agent): Don't include the Emacs/OS
version for privacy reasons (bug#58171).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix the `dictionary' parent defgroup
@@ -23388,7 +25717,7 @@
doesn't exist, so put it in the same parent group that `ispell'
uses (bug#58178).
-2023-04-15 Jose A. Ortega Ruiz <jao@gnu.org>
+2022-09-30 Jose A. Ortega Ruiz <jao@gnu.org>
docview: fixes for imenu generation
@@ -23400,14 +25729,14 @@
(doc-view--imenu-subtree): Fix for nested imenus (bug introduced in
commit fe002cc8ce) (bug#58180).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix rename-visited-file when renaming to a directory name
* lisp/files.el (rename-visited-file): Allow renaming to a
directory file name (bug#58182).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Improve message-sendmail-f-is-evil documentation
@@ -23417,7 +25746,7 @@
* lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out):
Refer to message-sendmail-f-is-evil (bug#58185).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-30 Eli Zaretskii <eliz@gnu.org>
Fix some issues with vertical-motion in bidi-reordered text
@@ -23427,7 +25756,7 @@
* src/xdisp.c (move_it_vertically_backward): Adjust NLINES to
compensate for its increasing when DY == 0.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-30 Gerd Möllmann <gerd@gnu.org>
Remove the per-tree null node
@@ -23440,7 +25769,7 @@
* src/itree.c: Use ITREE_NULL insteads of a tree's null.
* src/pdumper.c (dump_buffer): Use ITREE_NULL.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-30 Po Lu <luangruo@yahoo.com>
Fix calculation of frame times when X server time overflows
@@ -23449,7 +25778,7 @@
the monotonic time is not the server time due to the latter
overflowing.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-09-30 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Toto script (bug#58181)
@@ -23461,14 +25790,14 @@
* etc/NEWS: Announce the new language environment.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-30 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
64e8cc14b5 ; * lisp/image.el (create-image): Fix last change in doc s...
f3e3632394 Update some Gnus documentation in the Emacs manual
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
itree: Remove the `visited` flag from the tree nodes
@@ -23488,7 +25817,7 @@
* src/itree.h (struct interval_node): Remove `visited` field.
* src/pdumper.c (dump_interval_node): Adjust accordingly.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
free_buffer_overlays: Move nearer to its sole caller
@@ -23498,11 +25827,11 @@
* src/itree.c (interval_tree_iter_narrow, interval_tree_iter_finish)
(interval_tree_iter_next): Prefer `eassert`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
* src/itree.c (interval_tree_iter_start): Improve error message
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-29 Stefan Kangas <stefankangas@gmail.com>
Fix loading wallpaper.el on MS-Windows
@@ -23511,7 +25840,7 @@
'wallpaper--find-setter' returns nil, e.g. on MS-Windows.
(Bug#58167)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-29 Alan Mackenzie <acm@muc.de>
CC Mode: Refactor c-forward-delarator and callers
@@ -23541,7 +25870,7 @@
c-forward-declarator which now moves over arglists. Amend better to handle
certain syntactically invalid constructs in C++.
-2023-04-15 Peter Münster <pm@a16n.net>
+2022-09-29 Peter Münster <pm@a16n.net>
New command image-dired-do-flagged-delete
@@ -23552,7 +25881,7 @@
(image-dired-thumbnail-mode-map): Bind "x" to
'image-dired-do-flagged-delete'.
-2023-04-15 Peter Münster <pm@a16n.net>
+2022-09-29 Peter Münster <pm@a16n.net>
image-dired-delete-char: Don't disturb formatting
@@ -23560,7 +25889,7 @@
the expected formatting of the thumbnail buffer (always one
space/newline after a thumbnail).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-29 Stefan Kangas <stefankangas@gmail.com>
wallpaper-set: Get monitor name on non-graphical display
@@ -23571,14 +25900,14 @@
(wallpaper-default-set-function): Improve debugging output.
Ref. https://lists.gnu.org/r/emacs-devel/2022-09/msg01910.html
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-29 Stefan Kangas <stefankangas@gmail.com>
Prompt for wallpaper width/height only when needed
* lisp/image/wallpaper.el (wallpaper--format-arg): Don't prompt for
width and height unless the values are actually used.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-29 Stefan Kangas <stefankangas@gmail.com>
Make format-spec accept function substitutions
@@ -23589,7 +25918,7 @@
* test/lisp/format-spec-tests.el (format-spec/function): New test.
Ref. https://lists.gnu.org/r/emacs-devel/2022-09/msg01875.html
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-09-29 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Wancho script (bug#58159)
@@ -23602,35 +25931,35 @@
* etc/HELLO: Add a Wancho greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
alloc.c: Avoid nested overlay iterations (bug#58158)
* src/alloc.c (mark_overlays): New function.
(mark_buffer): Use it instead of using the overlay iterator.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-29 Stefan Kangas <stefankangas@gmail.com>
Remove Emacs 21 compat code for gnus-user-agent
* lisp/gnus/gnus.el (gnus-user-agent): No longer convert old
(< 2005-01-10) symbol type values.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-29 Lars Ingebrigtsen <larsi@gnus.org>
Update some Gnus documentation in the Emacs manual
* doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
Update documentation (bug#58145).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-29 Lars Ingebrigtsen <larsi@gnus.org>
Tweak while-let definition
* lisp/subr.el (while-let): Use if-let* since we don't need/want
the backwards compat of if-let.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-09-29 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Mende Kikakui script (bug#58151)
@@ -23644,27 +25973,27 @@
* etc/HELLO: Add Mende Kikakui greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Jacob First <jacob.first@member.fsf.org>
+2022-09-29 Jacob First <jacob.first@member.fsf.org>
bind-keys supports passing a list of keymaps as :map argument
Fix bind-chords docs: :map argument may be a list of keymaps
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-29 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
cf38e1c393 Clarify image file search
fc212364ce ; Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-28 Po Lu <luangruo@yahoo.com>
Pacify compiler warning in xterm.c
* src/xterm.c (handle_one_xevent): Mark gen_help_time UNINIT.
Reported by Lars Ingebrigtsen <larsi@gnus.org>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-28 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS build
@@ -23676,7 +26005,7 @@
(assert.h): Edit command group into individual commands appending
to assert.h-t.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
itree.[ch]: Add sanity checks, comments, and minor tweaks
@@ -23701,7 +26030,7 @@
* src/pdumper.c (dump_interval_node): Adjust to the
`color` -> `red` change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-28 Eli Zaretskii <eliz@gnu.org>
Clarify image file search
@@ -23709,39 +26038,39 @@
* lisp/image.el (create-image): Clarify that non-absolute image
files are searched along 'image-load-path'. (Bug#52931)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/lispref/functions.texi (Declare Form) <compiler-macro>: Re-rephrase
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/lispref/functions.texi (Declare Form) <compiler-macro>: Rephrase
See bug#57397.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
Merge remote-tracking branch 'origin/scratch/noverlay-wip' into noverlay
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
* .mailmap: Fixes for Emacs 29.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
8033947fe2 .mailcap: Some additional fixes.
b1e92c59ed Avoid assertion violations in 'pop_it'
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-28 Gerd Möllmann <gerd@gnu.org>
Avoid nested iteration over intervals (bug#58144)
* src/xdisp.c (strings_with_newlines): Call
buffer_overlay_iter_finish.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-28 Gregory Heytings <gregory@heytings.org>
Remove hard-coded path to pwd in Makefiles.
@@ -23751,7 +26080,7 @@
* nt/Makefile.in: Replace hard-coded calls to /bin/pwd by calls
to 'pwd -P'. Fixes bug#58080.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-28 Gerd Möllmann <gerd@gnu.org>
Add debugging help for nested iterators (nug#58144)
@@ -23766,18 +26095,18 @@
interval_tree_insert_gap): Pass __FILE__ and __LINE__ to iter_start.
(interval_tree_iter_start): Record file and line info in tree.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
.mailcap: Some additional fixes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-28 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in 'pop_it'
* src/xdisp.c (pop_it): Avoid assertion violations when handling
lists or vectors of display properties. (Bug#58122)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -23790,7 +26119,7 @@
# Conflicts:
# src/font.c
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
Add .mailmap for proper git log output
@@ -23802,7 +26131,7 @@
* .mailmap: New file.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-09-28 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Adlam script (bug#58111)
@@ -23815,7 +26144,7 @@
* etc/HELLO: Add Adlam greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-09-28 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Improve Gurmukhi composition rules (Bug#58098)
@@ -23824,7 +26153,7 @@
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Chess Symbols.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-28 Po Lu <luangruo@yahoo.com>
Apply root window coordinate optimizations to crossing events as well
@@ -23836,17 +26165,17 @@
apply them to crossing events as well as recommended by the
ICCCM.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
* lisp/files.el (auto-mode-alist): Add entry for ".mailmap".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-28 Lars Ingebrigtsen <larsi@gnus.org>
Simplify eww--rescale-images code
* lisp/net/eww.el (eww--rescale-images): Simplify code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-28 Lars Ingebrigtsen <larsi@gnus.org>
Add new macro 'while-let'
@@ -23854,7 +26183,7 @@
when-let/if-let/while-let.
* lisp/subr.el (while-let): New macro.
-2023-04-15 Jose A. Ortega Ruiz <jao@gnu.org>
+2022-09-28 Jose A. Ortega Ruiz <jao@gnu.org>
docview: new customization options for imenu
@@ -23865,7 +26194,7 @@
* lisp/doc-view.el (doc-view--pdf-outline): clean up whitespace
markers '\r' and '\t' in imenu item titles (bug#58131).
-2023-04-15 Lin Sun <sunlin7@hotmail.com>
+2022-09-28 Lin Sun <sunlin7@hotmail.com>
package-update would always re-install package
@@ -23873,7 +26202,7 @@
version comparison between available packages and archived
packages (bug#58129).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-09-28 Visuwesh <visuweshm@gmail.com>
Follow #target links in eww without re-rendering
@@ -23881,7 +26210,7 @@
of re-rendering to follow #target links in the same page. (bug#58118)
(eww-link-keymap): Bind <mouse-2> to eww-follow-link as well.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
image-dired: End thumbnail file names with ".jpg"
@@ -23893,7 +26222,7 @@
change.
* etc/NEWS: Announce the above change.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-28 Stefan Kangas <stefankangas@gmail.com>
Standardize XPM files
@@ -23906,11 +26235,11 @@
* etc/images/mh-logo.xpm:
* etc/images/unchecked.xpm: Normalize file headers.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-28 Gerd Möllmann <gerd@gnu.org>
Fix last change
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-28 Paul Eggert <eggert@cs.ucla.edu>
Port better to C23 bool+true+false keywords
@@ -23932,18 +26261,18 @@
Don’t include <stdbool.h> if C23 or later, or if
it has already been included.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-28 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-27 Sean Whitton <spwhitton@spwhitton.name>
Maintaining ChangeLog history: add more details
* admin/notes/repo (Maintaining ChangeLog history): Add more details.
See <https://debbugs.gnu.org/58092#37>.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-27 Stefan Kangas <stefankangas@gmail.com>
Make image-dired-dired-toggle-marked-thumbs faster
@@ -23951,14 +26280,14 @@
(image-dired-dired-toggle-marked-thumbs): Don't show progress, since
it makes things slower.
-2023-04-15 Lin Sun <sunlin7@hotmail.com>
+2022-09-27 Lin Sun <sunlin7@hotmail.com>
Load compiled "calc-loaddefs", if any
* lisp/calc/calc.el ("calc-loaddefs"): Load the .elc file (if it
exists) (bug#58127).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-27 Stefan Kangas <stefankangas@gmail.com>
image-dired: Fix header line when file is missing
@@ -23966,11 +26295,11 @@
(image-dired-format-properties-string): Don't error when file has
been deleted.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/files.el (file-backup-file-names): Don't burp if dir doesn't exist
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-27 Stefan Kangas <stefankangas@gmail.com>
Add back useful information from gnus-coding.texi
@@ -23978,15 +26307,15 @@
* lisp/net/pop3.el: Improve Commentary by adding back text from
deleted file gnus-coding.texi.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-27 Stefan Kangas <stefankangas@gmail.com>
* doc/emacs/ack.texi (Acknowledgments): Update maintainers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-27 Lars Ingebrigtsen <larsi@gnus.org>
Remove gnus-coding.text (bug#58119)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-27 Michael Albinus <michael.albinus@gmx.de>
Some tramp-docker.el adaptions
@@ -23994,11 +26323,11 @@
Add ;;;###tramp-autoload cookie. Make implementation more robust.
(tramp-methods) Use `tramp-default-remote-shell'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-27 Stefan Kangas <stefankangas@gmail.com>
* etc/NEWS.23: Belatedly announce 'format-spec'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-27 Stefan Kangas <stefankangas@gmail.com>
Document the new "XRandR 1.5" value
@@ -24007,7 +26336,7 @@
* doc/lispref/frames.texi (Multiple Terminals): Document the new
"XRandR 1.5" value.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-27 Po Lu <luangruo@yahoo.com>
Improve doc of `x-window-property'
@@ -24015,7 +26344,7 @@
document where to obtain documentation for standardized window
properties.
-2023-04-15 Jose A. Ortega Ruiz <jao@gnu.org>
+2022-09-27 Jose A. Ortega Ruiz <jao@gnu.org>
docview: imenu access to table of contents
@@ -24032,7 +26361,7 @@
* doc/emacs/misc.texi: documentation for the new functionality
(bug#58103).
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-09-27 Richard Hansen <rhansen@rhansen.org>
ert-x: Improve realism of `ert-with-test-buffer-selected'
@@ -24040,7 +26369,7 @@
`inhibit-read-only' and `buffer-read-only' to nil when executing the
body to provide a more realistic test environment.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-27 Gerd Möllmann <gerd@gnu.org>
Fix macOS build (bug#58108)
@@ -24050,11 +26379,11 @@
* src/itree.c: Fix copyright.
* src/itree.h: Fix copyright.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-27 Alan Mackenzie <acm@muc.de>
* lisp/progmodes/cc-defs.el (c-let*-maybe-max-specpdl-size): Fix glitches
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-27 Alan Mackenzie <acm@muc.de>
CC Mode: Don't bind max-specpdl-size when it doesn't exist or is obsolete
@@ -24063,14 +26392,14 @@
* lisp/progmodes/cc-defs.el (c-let*-maybe-max-specpdl-size): New macro.
(c-get-lang-constant): Use the new macro in place of let*.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-09-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Avoid uninitialized variable warning
* src/composite.c (composition_gstring_adjust_zero_width): Simplify
last change with respect to an exit condition.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-26 Po Lu <luangruo@yahoo.com>
Optimize coordinate translation during event handling
@@ -24091,7 +26420,7 @@
* src/xterm.h (struct x_output): New fields for keeping track of
the root window offset of the edit window.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-09-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Adjust zero-width grapheme clusters so they are displayed (Bug#50951)
@@ -24099,28 +26428,28 @@
* src/composite.h: Declare it.
* src/font.c (Ffont_shape_gstring): Use it before putting gstring to cache.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Fix OBOE in image-dired--with-marked
* lisp/image/image-dired.el (image-dired--with-marked): Fix off-by-one
error.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-26 Sean Whitton <spwhitton@spwhitton.name>
vc-filter-command-function: Abbreviate default value
* lisp/vc/vc-dispatcher.el (vc-filter-command-function): Abbreviate
`(lambda (&rest args) args)' as just `list'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Get rid of default wallpaper-setter constructor
* lisp/image/wallpaper.el (wallpaper-setter): Actually get rid of
the default constructor.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Set XFCE wallpaper also in single-workspace-mode
@@ -24135,7 +26464,7 @@
(wallpaper-xfce-command-args): New function.
(wallpaper--default-setters): Use above new function for XFCE.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-26 Alan Mackenzie <acm@muc.de>
CC Mode: Handle C++20 concepts
@@ -24167,21 +26496,21 @@
* lisp/progmodes/cc-mode.el (c-fl-decl-start): Fix an off by one error. Use
equal rather than eq to compare two syntax contexts.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Don't auto-resize image if echo area is non-empty
* lisp/image-mode.el (image-fit-to-window): Don't auto-resize
image if there's a message in the echo area.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Display a message when wallpaper was set
* lisp/image/wallpaper.el (wallpaper-default-set-function): Display a
message when the wallpaper was successfully set.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Fix setting the wallpaper in XFCE
@@ -24198,7 +26527,7 @@
(wallpaper--format-arg/monitor, wallpaper--format-arg/workspace):
New tests.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Rewrite wallpaper.el to use a cl-defstruct
@@ -24218,7 +26547,7 @@
(wallpaper--find-command-args/return-list)
(wallpaper--image-file-regexp/return-string): New tests.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-09-26 Protesilaos Stavrou <info@protesilaos.com>
Add log-edit-summary-separator face (bug#58092)
@@ -24227,14 +26556,14 @@
named face.
* etc/NEWS: Announce the new face.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-26 Stefan Kangas <stefankangas@gmail.com>
Autoload image-dired-thumbnail-storage :safe property
* lisp/image/image-dired.el (image-dired-thumbnail-storage):
Autoload :safe property.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-26 Lars Ingebrigtsen <larsi@gnus.org>
Fix (thing-at-point 'url) in eww forms
@@ -24245,7 +26574,7 @@
shr-tab-stop instead of shr-url so that we can be more general.
(shr-urlify): Mark all links as tabbable-to.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-26 João Távora <joaotavora@gmail.com>
Make clojure-lsp handle more major modes at once
@@ -24255,35 +26584,35 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/682
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-26 Lars Ingebrigtsen <larsi@gnus.org>
Rescale images along with text in eww with `C-x C-+'
* lisp/net/eww.el (eww--rescale-images): Also rescale images when
using `C-x C-+' etc (bug#58047).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-26 Lars Ingebrigtsen <larsi@gnus.org>
Fix percentage width computation in vtable
* lisp/emacs-lisp/vtable.el (vtable--compute-width): Fix
percentage computation (bug#58067).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-26 Lars Ingebrigtsen <larsi@gnus.org>
Keep point in eww after hitting `g'
* lisp/net/eww.el (eww-retrieve): Keep point after hitting `g'
(bug#58076).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-26 Lars Ingebrigtsen <larsi@gnus.org>
Fix whitespace-mode in read-only buffers
* lisp/whitespace.el (whitespace--update-bob-eob): Don't bug out
in read-only buffers (bug#58082).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-26 João Távora <joaotavora@gmail.com>
Add support for "single server, multiple modes"
@@ -24325,7 +26654,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/681
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-26 João Távora <joaotavora@gmail.com>
Shoosh byte-compilation warnings about line numbering functions
@@ -24337,24 +26666,24 @@
(eglot--xref-make-match): Use line-beginning-position,
line-end-position, line-number-at-pos
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-25 Stefan Monnier <monnier@iro.umontreal.ca>
* src/buffer.c (overlays_in): Fix confusion Z-vs-ZV
This fixes test failures in `test-overlays-in-2` and `test-remove-overlays`.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-09-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Make average width computation on ftcr more permissive (Bug#43058)
* src/ftcrfont.c (ftcrfont_open): Use only non-zero width glyphs for
computing average width.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-25 Stefan Monnier <monnier@iro.umontreal.ca>
Merge 'master' into noverlay
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-25 Stefan Monnier <monnier@iro.umontreal.ca>
tex-mode.el: Don't override AUCTeX modes
@@ -24362,7 +26691,7 @@
Only define them as aliases in `lisp/loaddefs.el` so we don't
override AUCTeX's own definitions when we load `tex-mode.el`.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-25 Mattias Engdegård <mattiase@acm.org>
Boolean constant detection additions
@@ -24370,7 +26699,7 @@
`set` is boolean identity in its second argument.
(byte-compile-trueconstp): `set-marker` is always true.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Refactor system specific code in wallpaper.el
@@ -24388,14 +26717,14 @@
(wallpaper--find-command, wallpaper--find-command-arguments):
Do nothing on MS-Windows and Haiku.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-25 Mattias Engdegård <mattiase@acm.org>
Don't crash in copy-alist with non-list argument
* src/fns.c (Fcopy_alist): Check argument type.
* test/src/fns-tests.el (fns--copy-alist): New test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Add reasonable default to wallpaper-set
@@ -24405,7 +26734,7 @@
(wallpaper-set): Use above new function to set a default.
* test/lisp/image/wallpaper-tests.el: New file.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Add :buffer argument to ert-with-temp-file
@@ -24413,7 +26742,7 @@
argument :buffer SYMBOL to visit the file with `find-file-literally'
before running the body, and cleaning up after.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-25 Po Lu <luangruo@yahoo.com>
Implement font-use-system-font on Haiku
@@ -24450,7 +26779,7 @@
(syms_of_xsettings): Replace calls to intern with a static
string.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
wallpaper: URI-encode gsettings argument
@@ -24458,7 +26787,7 @@
(wallpaper-command-args, wallpaper-set): URI-encode gsettings
argument.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Improve shortdoc documentation
@@ -24469,7 +26798,7 @@
(shortdoc-next, shortdoc-previous)
(shortdoc-next-section, shortdoc-previous-section): Doc fixes.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Make image-dired-thumb-name more portable
@@ -24480,14 +26809,14 @@
(image-dired-thumb-name/image-dired)
(image-dired-thumb-name/per-directory): Expand tests.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Fix shortdoc movement commands
* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Don't skip
over current function or section when searching.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Add new command 'shortdoc-copy-function-as-kill'
@@ -24495,22 +26824,22 @@
(shortdoc-copy-function-as-kill): New command.
(shortdoc-mode-map): Bind above new command to "w".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
* etc/NEWS.22: Belatedly announce 'dired-copy-filename-as-kill'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Bind "N"/"P" to next/prev section in shortdoc
* lisp/emacs-lisp/shortdoc.el (shortdoc-mode-map): Bind "N" and
"P" to 'shortdoc-next-section' and 'shortdoc-previous-section'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
* lisp/bookmark.el (bookmark-rename): Improve prompt.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-25 Stefan Kangas <stefankangas@gmail.com>
Add new command image-dired-copy-filename-as-kill
@@ -24518,13 +26847,13 @@
(image-dired-copy-filename-as-kill): New command.
(image-dired-thumbnail-mode-map): Bind above new command to "w".
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-25 Philip Kaludercic <philipk@posteo.net>
* lisp/net/rcirc.el (rcirc-print): Remove 'fill-region' call
See Bug#57376.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-25 Philip Kaludercic <philipk@posteo.net>
Add formatting commands to rcirc
@@ -24539,7 +26868,7 @@
(rcirc-mode-map): Bind formatting commands.
(rcirc-multiline-minor-mode-map): Bind formatting commands.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Fix treesit-induce-sparse-tree
@@ -24550,7 +26879,7 @@
children list.
(ts_build_sparse_tree): Add comment.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Improve treesit-search-forward-goto
@@ -24558,13 +26887,13 @@
* lisp/treesit.el (treesit-search-forward-goto): Instead of taking a
node, use the node at point, and make sure we make progress.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Fix treesit-search-forward
* src/treesit.c (ts_search_forward): Fix return value.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Update and enable treesit-imenu function in python.el
@@ -24577,7 +26906,7 @@
(python-mode): Enable treesit-imenu. Also fix indentation for
which-func code.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Add the treesit-search functions that supplant the removed ones
@@ -24603,7 +26932,7 @@
(Ftreesit_induce_sparse_tree): Add functions.
* test/src/treesit-tests.el (treesit-node-supplemental): Add comments.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Remove treesit-traverse functions
@@ -24623,14 +26952,14 @@
(treesit-end-of-defun): Remove functions.
* test/src/treesit-tests.el: Remove comments.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Accept nil as NODE in treesit-node-text
* lisp/treesit.el (treesit-node-text): Just wrap function body
in (when ...).
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Change make_string to build_string in treesit.c
@@ -24638,14 +26967,14 @@
(Ftreesit_node_field_name_for_child): Change make_string to
build_string.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Improve printing treesit nodes
* src/print.c (print_vectorlike): Instead of position, print the type
of the node.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-25 Yuan Fu <casouri@gmail.com>
Rename treesit-expand-query/pattern
@@ -24655,7 +26984,7 @@
(make_ts_query): Use new name.
* test/src/treesit-tests.el (treesit-query-api): Fix name.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Tweak window handling in vc-pull-and-push
@@ -24667,7 +26996,7 @@
window asynchronously on the "pull" because that gets in the way
of doing other things.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Add faces for header line
@@ -24679,7 +27008,7 @@
(image-dired-thumb-mark, image-dired-thumb-flagged): Move
definition further down.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Add new %-format specifiers for header line
@@ -24698,7 +27027,7 @@
(image-dired-dired-display-properties): Support above new format
specifiers.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-24 Sean Whitton <spwhitton@spwhitton.name>
Generalize & simplify implementation of user edits to VC commands
@@ -24711,11 +27040,11 @@
* lisp/vc/vc.el (vc-print-branch-log): Use vc-filter-command-function
in place of vc-pre-command-functions and vc-want-edit-command-p.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-24 Juri Linkov <juri@linkov.net>
* lisp/emacs-lisp/icons.el (icons--create): Use default rotation 0 (bug#57813)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-24 Michael Albinus <michael.albinus@gmx.de>
Adapt tramp-docker integration
@@ -24738,7 +27067,7 @@
`tramp--with-startup'.
(tramp-unload-hook): Unload `tramp-docker'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Move menu definitions to keymaps
@@ -24749,13 +27078,13 @@
* lisp/image/image-dired-dired.el(image-dired-minor-mode-map):
...here.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-09-24 Manuel Giraud <manuel@ledu-giraud.fr>
Ensure no memory leaks of glyph_matrix
each glyph_matrix only when it's NULL. (Bug#58028)
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-09-24 kobarity <kobarity@gmail.com>
hideshow.el: Improve hs-toggle-hiding behavior
@@ -24774,11 +27103,11 @@
(hideshow-toggle-hiding-1): New test.
(hideshow-mouse-toggle-hiding-1): New test (bug#52092).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Remove "manual" package--builtin-versions updates
@@ -24787,11 +27116,11 @@
package--builtin-versions "manually", because loaddefs-gen does
this correctly now.
-2023-04-15 Brian Cully <bjc@kublai.com>
+2022-09-24 Brian Cully <bjc@kublai.com>
* lisp/net/tramp-docker.el: New file.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
(event-start/end): Fix part of bug#52092
@@ -24801,25 +27130,25 @@
* lisp/subr.el (event--posn-at-point): New function.
(event-start, event-end): Use it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
Merge branch 'emacs-28'
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/hideshow.el (hs-toggle-hiding): Fix `interactive` form
This fixes the first part of bug#52092, which is a regression
introduced by commit d0e9113de97.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Make dired-do-rename refuse to rename . and ..
* lisp/dired-aux.el (dired-do-rename): Refuse to rename . and ..
(bug#52004). This used to error out after renaming.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Add a new command vc-pull-and-push
@@ -24845,14 +27174,14 @@
* lisp/vc/vc.el (vc-pull-and-push): New command (bug#51964).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Tweak binding of `+' in vc-dir
* lisp/vc/vc-dir.el (vc-dir-mode-map): Point to the actual
function instead of the alias. This makes *Help* more helpful.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-24 Alan Mackenzie <acm@muc.de>
CC Mode. Make AWK Mode work with electric-pair-mode
@@ -24870,7 +27199,7 @@
* lisp/progmodes/cc-awk.el (c-awk-syntax-tablify-string): Set
c-open-string-opener when an unbalanced string is detected.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-09-24 Visuwesh <visuweshm@gmail.com>
docview: Use svg images when using mupdf for conversion
@@ -24881,14 +27210,14 @@
(doc-view-set-up-single-converter): Produce svg images when using
mupdf (bug#58041).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Prefer command remapping
* lisp/image/image-dired.el (image-dired-thumbnail-mode-map):
Prefer command remapping to binding keys directly.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Fix C-a/C-e in thumbnail buffer
@@ -24903,14 +27232,14 @@
(image-dired-thumbnail-mode-map): Remap 'move-beginning-of-line'
and 'move-beginning-of-line' to above new commands.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
Make thumbs.el obsolete
* lisp/obsolete/thumbs.el: Add Obsolete-since.
* etc/NEWS: Announce obsoletion of thumbs.el. (Bug#57779)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
Move thumbs.el to lisp/obsolete
@@ -24919,7 +27248,7 @@
* lisp/obsolete/thumbs.el:
* test/lisp/obsolete/thumbs-tests.el: ...to here. (Bug#57779)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Regenerate old thumbnails when needed
@@ -24930,7 +27259,7 @@
(image-dired-display-thumbs): Use above function to simplify and
regenerate the thumbnail if it's outdated.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Improve performance of marking commands
@@ -24942,14 +27271,14 @@
'image-dired-thumb-update-marks'. Update all callers and make the
old name into an obsolete alias.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Mark 'per-directory' as :safe
* lisp/image/image-dired.el (image-dired-thumbnail-storage): Mark
'per-directory' value as :safe.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
Add new macro image-dired--with-dired-buffer
@@ -24966,7 +27295,7 @@
(image-dired-thumb-update-marks): Avoid triggering above new error
handling.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how :override advice is formatted in *Help*
@@ -24974,7 +27303,7 @@
:overrides specially (bug#57974).
(advice--make-docstring): Put overrides at the front.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Rename file-name-directory
@@ -24983,7 +27312,7 @@
* lisp/files.el (file-name-parent-directory): Rename from
`file-name-directory' (bug#58039).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that cus-load doesn't add things twice
@@ -24991,20 +27320,20 @@
* lisp/custom.el (custom--add-custom-loads): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
`append' doc string clarification
* src/fns.c (Fappend): Clarify whether arguments are copied.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-24 Lars Ingebrigtsen <larsi@gnus.org>
Clarify message-newline-and-reformat doc string
* lisp/gnus/message.el (message-newline-and-reformat): Clarify the
DWIM-ness in the doc string (bug#57986).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
Improve image-dired-thumbnail-display-external
@@ -25013,18 +27342,18 @@
(image-dired-thumbnail-display-external): Correctly handle
external viewers with spaces or flags.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
* lisp/emacs-lisp/shortdoc.el (file-name): Improve examples.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Use command substitution for tags bindings
* lisp/image/image-dired-tags.el
(image-dired-dired-edit-comment-and-tags): Use substitute-command-keys
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-24 Stefan Kangas <stefankangas@gmail.com>
image-dired: Various code clean ups
@@ -25038,7 +27367,7 @@
docstring.
(image-dired-comment-thumbnail): Fix interactive declaration.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-24 João Távora <joaotavora@gmail.com>
Fix blunder in eglot--guess-contact
@@ -25047,7 +27376,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/940
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-24 Po Lu <luangruo@yahoo.com>
Reduce complexity of scroll bar window protection code
@@ -25069,7 +27398,7 @@
* src/xterm.h (struct x_display_info): Likewise.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-24 Augusto Stoffel <arstoffel@gmail.com>
New Flymake backend using the shellcheck program
@@ -25084,7 +27413,7 @@
backend.
(sh-mode): Add it to 'flymake-diagnostic-functions'.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-23 Sean Whitton <spwhitton@spwhitton.name>
vc-git--pushpull: Restore handling of vc-git-program
@@ -25093,14 +27422,14 @@
vc-git-program, and don't ignore user edits to the git program name
when PROMPT.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-23 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/eieio.el (defclass): Fix bug#51068
Accept (defclass <class> <superclasses> (.. <slotname> ..)) without
having to wrap the slot name within parentheses.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
image-dired: Rewrite and extend slideshow feature
@@ -25115,7 +27444,7 @@
* lisp/image/image-dired.el (image-dired--slideshow-stop): Add support
for pausing, and going backwards and forwards during slideshow.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
image-dired: Mark two slideshow defuns as internal
@@ -25124,7 +27453,7 @@
'image-dired--slideshow-step' and 'image-dired--slideshow-stop'.
Update callers and make old names into obsolete aliases.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-23 Stefan Monnier <monnier@iro.umontreal.ca>
cconv.el: Fix interactive closure bug#51695
@@ -25146,7 +27475,7 @@
* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-interactive-closure-bug51695): New test.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-09-23 Visuwesh <visuweshm@gmail.com>
Make Gnus respect mode-line-buffer-identification-keymap
@@ -25159,7 +27488,7 @@
* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Add missing
'gnus-modeline-buffer-identification' call (bug#57977).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-09-23 Visuwesh <visuweshm@gmail.com>
Make bounding box of 'image-crop' more noticeable
@@ -25167,14 +27496,14 @@
selected region to make the bounding-box more noticable in images
which are mostly white (bug#58004).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-23 Lars Ingebrigtsen <larsi@gnus.org>
Don't overwrite cus-load dependencies
* lisp/cus-dep.el (custom-make-dependencies): Don't overwrite
elements added by packages (bug#58015).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-23 Lars Ingebrigtsen <larsi@gnus.org>
Make loaddefs-gen register parent :groups from defcustom
@@ -25182,7 +27511,7 @@
(loaddefs-generate--make-autoload): Also register parent :groups from
`defgroup' entries (bug#58015).
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-09-23 kobarity <kobarity@gmail.com>
Fix syntax check in python-info-looking-at-beginning-of-defun
@@ -25193,21 +27522,21 @@
(python-end-of-defun-1, python-info-looking-at-beginning-of-defun-3):
New tests (bug#58023).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-23 Lars Ingebrigtsen <larsi@gnus.org>
Inhibit image-crop when there's overlays
* lisp/image/image-crop.el (image-crop): Don't mess with overlays,
because they're a pain to reconstruct (bug#58027).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-23 Lars Ingebrigtsen <larsi@gnus.org>
Delete the correct region after cropping an image
* lisp/image/image-crop.el (image-crop): Delete the correct region
after editing (bug#58027).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
image-dired: Disable 'image-map' in thumbnail buffer
@@ -25217,18 +27546,18 @@
* lisp/image/image-dired.el (image-dired-insert-thumbnail): Disable
`image-map' in thumbnail buffer.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
Update manual for recent image-dired changes
* doc/emacs/dired.texi (Image-Dired): Update to reflect recent
changes.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-23 Mattias Engdegård <mattiase@acm.org>
* lisp/files.el (risky-local-variable): Remove max-specpdl-size.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-23 Mattias Engdegård <mattiase@acm.org>
Remove max-specpdl-size overrun test
@@ -25239,18 +27568,18 @@
hitting the max-lisp-eval-depth limit instead.)
This silences an obsoletion warning.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-23 Michael Albinus <michael.albinus@gmx.de>
* lisp/bookmark.el (bookmark-make-record): Fix thinko.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
Improve prompt of 'image-dired' command
* lisp/image/image-dired.el (image-dired-show-all-from-dir):
Improve prompt.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
Rename 'image-dired-db-file' to 'image-dired-tags-db-file'
@@ -25258,14 +27587,14 @@
from 'image-dired-db-file'. Update all uses and make old name
into an obsolete variable alias.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
60ac12d21f Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#...
9f65e52362 ; Minor copyedits of elisp.texi
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-23 Po Lu <luangruo@yahoo.com>
Fix more toolkit scroll bar window protection issues
@@ -25276,7 +27605,7 @@
* src/xterm.h (struct x_display_info): New field
`first_valid_scroll_bar_req'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-23 Stefan Kangas <stefankangas@gmail.com>
Autoload wallpaper-set
@@ -25285,7 +27614,7 @@
* lisp/image/image-dired.el (wallpaper):
* lisp/thumbs.el (wallpaper): Don't require.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-23 Eli Zaretskii <eliz@gnu.org>
Support Noto Emoji font as fallback
@@ -25296,14 +27625,14 @@
* lisp/international/fontset.el (setup-default-fontset): Support
black-and-white Noto Emoji font as fallback for Emoji display.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-09-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#57976)
* src/ftcrfont.c (ftcrhbfont_begin_hb_font): Undo last change for
HarfBuzz 5.2.0.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-22 Stefan Kangas <stefankangas@gmail.com>
Support several new DEs in wallpaper.el
@@ -25312,7 +27641,7 @@
Pantheon, Budgie, LXQt, and LXDE. Also add support for Lubuntu,
Xubuntu, and Pop!_OS.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-22 Stefan Kangas <stefankangas@gmail.com>
image-dired: Obsolete two unused functions
@@ -25320,7 +27649,7 @@
(image-dired-associated-dired-buffer-window): Make obsolete; they are
currently unused.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-22 Yuan Fu <casouri@gmail.com>
Utilize tree-sitter in python.el
@@ -25335,7 +27664,7 @@
(python-info-treesit-current-defun): New functions.
(python-mode): Enable tree-sitter font-lock and which-func.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-22 Mattias Engdegård <mattiase@acm.org>
Don't rewrite `set` to `setq` of lexical variables
@@ -25352,21 +27681,21 @@
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el:
Remove obsolete test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-22 Stefan Kangas <stefankangas@gmail.com>
image-dired: Improve minor mode docstring
* lisp/image/image-dired-dired.el (image-dired-minor-mode):
Improve docstring.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-22 Stefan Kangas <stefankangas@gmail.com>
image-dired: Remove redundant keybindings
* lisp/image/image-dired-dired.el (image-dired-minor-mode-map):
Don't redundantly bind keys that are already bound in dired.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-22 Stefan Kangas <stefankangas@gmail.com>
Fix failing image-dired test
@@ -25376,14 +27705,14 @@
(image-dired-thumb-name/image-dired)
(image-dired-thumb-name/per-directory): New tests.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-22 Stefan Kangas <stefankangas@gmail.com>
Add X-Hashcash to the end of mail headers
* lisp/mail/hashcash.el (mail-add-payment): Move headers to the end of
the headers.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-22 Michael Albinus <michael.albinus@gmx.de>
Improve don't save bookmark context from encrypted files
@@ -25401,14 +27730,14 @@
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-p): Add them to
`bookmark-inhibit-context-functions'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-22 Po Lu <luangruo@yahoo.com>
Work around rare crash when turning scroll wheel
* src/xterm.c (handle_one_xevent): Don't allow devices to be
added twice handling hierarcy events.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-21 Sean Whitton <spwhitton@spwhitton.name>
Add support for user edits to VC command arguments
@@ -25424,7 +27753,7 @@
* lisp/vc/vc.el (vc-print-branch-log): A non-nil prefix argument now
means vc-want-edit-command-p is bound to a non-nil value (bug#57807).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
Prefer command remapping in image-dired-minor-mode
@@ -25432,37 +27761,37 @@
Prefer command remapping.
(image-dired-minor-mode): Improve docstring.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
Obsolete image-mode--images-in-directory
* lisp/image-mode.el (image-mode--images-in-directory): Make
unused function obsolete.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-21 Robert Pluim <rpluim@gmail.com>
Update version tag of rmail-retry-ignored-headers
* lisp/mail/rmail.el (rmail-retry-ignored-headers): Set :version to "29.1".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
* test/lisp/image/image-dired-util-tests.el: New file.
-2023-04-15 Richard Stallman <rms@gnu.org>
+2022-09-21 Richard Stallman <rms@gnu.org>
Add more headers to default value of rmail-retry-ignored-headers.
* rmail.el (rmail-retry-ignored-headers): Add more headers to default.
Don't bother with `purecopy'. Split value readably.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
Add new function xdg-session-type to xdg.el
* lisp/xdg.el (xdg-session-type): New function.
-2023-04-15 Thuna <thuna.cing@gmail.com> (tiny change)
+2022-09-21 Thuna <thuna.cing@gmail.com> (tiny change)
Correct the usage of `image-file-name-regexps'
@@ -25470,7 +27799,7 @@
`image-file-name-regexps' as a list of regexps (as documented) in
addition to a regexp string (bug#57971).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-21 Po Lu <luangruo@yahoo.com>
Fix handling of nil device names
@@ -25479,7 +27808,7 @@
* lisp/term/x-win.el (x-device-class): Handle `nil'
correctly. (bug#57969)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-21 Po Lu <luangruo@yahoo.com>
Small adjustments to precision pixel scrolling
@@ -25491,7 +27820,7 @@
(pixel-scroll-interpolate-down, pixel-scroll-interpolate-up):
Fix usage of function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-21 Po Lu <luangruo@yahoo.com>
Improve scroll interpolation in pixel-s-precision-mode
@@ -25503,7 +27832,7 @@
(pixel-scroll-interpolate-down, pixel-scroll-interpolate-up):
Pass factor of 0 to scroll exactly 1 page.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-21 Lars Ingebrigtsen <larsi@gnus.org>
Make emacs-build-description into a command
@@ -25512,7 +27841,7 @@
(emacs-build-description): Rename from
`emacs-bug--system-description' and make into a command.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -25526,18 +27855,18 @@
c2595b8dcc ; * src/font.h (struct font_driver): Comment fix.
97b928ce09 MacOS ld warning from native compilation (bug#57849)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
* admin/gitmerge.el (gitmerge): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
Bind 'n'/'p' in gitmerge-mode to line scroll
* admin/gitmerge.el (gitmerge-mode-map): Bind 'n' and 'p' to
'next-line' and 'previous-line'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-21 Robert Pluim <rpluim@gmail.com>
Fix substitute-command-keys for global binding lookup
@@ -25550,7 +27879,7 @@
test/lisp/help-tests.el (help-tests-substitute-command-keys/keymap-change):
Add testcase for specific map overriding advertised-binding.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-21 Juri Linkov <juri@linkov.net>
* lisp/outline.el: More improvements for buttons/margins (bug#57813)
@@ -25562,28 +27891,28 @@
and move such overlay removal after the call of 'outline-show-all'
that might trigger overlay addition.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-21 Stefan Kangas <stefankangas@gmail.com>
image-dired: Support the customize-mode command
* lisp/image/image-dired.el (image-dired-thumbnail-mode)
(image-dired-display-image-mode): Add custom group 'image-dired'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-21 Po Lu <luangruo@yahoo.com>
Fix minor thinko in focus tracking logic
* src/xterm.c (xi_handle_focus_change): Prefer explicit focus to
implicit focus.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-20 Yuan Fu <casouri@gmail.com>
Improve treesit-query-capture
* src/treesit.c (Ftreesit_query_capture): Add a suggestion in the
signal message.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-20 Yuan Fu <casouri@gmail.com>
Fix treesit-query-validate
@@ -25591,7 +27920,7 @@
treesit-query-expand so this function works on both sexp and string
query, as expected.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-20 Yuan Fu <casouri@gmail.com>
Rename treesit-expand-query/pattern
@@ -25600,7 +27929,7 @@
(treesit-expand-query): Rename to treesit-query-expand.
(make_ts_query): Use new name.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-09-20 Mauro Aranda <maurooaranda@gmail.com>
Recognize the backslash operator in perl-mode
@@ -25613,7 +27942,7 @@
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-11996.pl: New
file.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-20 Stefan Kangas <stefankangas@gmail.com>
Make linum.el obsolete
@@ -25624,18 +27953,18 @@
* etc/TODO:
* lisp/faces.el: Don't mention linum.el.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-20 Stefan Kangas <stefankangas@gmail.com>
Move linum.el to lisp/obsolete
* lisp/linum.el: Move from here...
* lisp/obsolete/linum.el: ...to here. (Bug#57412)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-20 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/ede.texi (Extending EDE): Fix reference.
-2023-04-15 Philip Kaludercic <philip@icterid>
+2022-09-20 Philip Kaludercic <philip@icterid>
Have rcirc handle bridge bots
@@ -25648,7 +27977,7 @@
(rcirc-bridged-nick): Add new face.
(rcirc-markup-bridge-bots): Add new function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-20 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Bind margin mouse event to cycle outlines (bug#57813)
@@ -25665,7 +27994,7 @@
(outline--insert-open-button, outline--insert-close-button):
Remove temporary attempts to bind margin-local mouse events.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-20 Robert Pluim <rpluim@gmail.com>
Allow keymap to override advertised-binding in docstrings
@@ -25681,7 +28010,7 @@
* lisp/help.el (substitute-command-keys): Restrict the initial key
lookup to the specified keymap (if there is one). (Bug#51384)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-20 Robert Pluim <rpluim@gmail.com>
Specify keymap in gnus-custom-mode docstring
@@ -25689,27 +28018,27 @@
otherwise the bindings are looked up in the global map (where they
don't exist).
-2023-04-15 Drew Adams <drew.adams@oracle.com>
+2022-09-20 Drew Adams <drew.adams@oracle.com>
Tweak how use-region-p works with `use-empty-active-region'
* lisp/simple.el (use-region-p): Don't report non-nil if the user
has just clicked mouse-1 without extending the region (bug#51874).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-20 Lars Ingebrigtsen <larsi@gnus.org>
Attempt to clarify Input Focus documentation
* doc/lispref/frames.texi (Input Focus): Try to clarify the
documentation (bug#51862).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-20 Gregory Heytings <gregory@heytings.org>
Improve display of advices on build failures.
* Makefile.in: Use three leading '*' characters, and redirect to stderr.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/textmodes/tex-mode.el (tex-mode): Fix AUCTeX regression
@@ -25718,7 +28047,7 @@
AUCTeX installs its own advice to redefine `tex-mode`, and that
advice used to take precedence before commit 6075a7c5ae3fa456cd.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-20 Michael Albinus <michael.albinus@gmx.de>
Wrap max-specpdl-size with with-no-warnings in Tramp
@@ -25726,28 +28055,28 @@
* lisp/net/tramp-gvfs.el (max-specpdl-size): Wrap with
`with-no-warnings'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-20 Robert Pluim <rpluim@gmail.com>
Add vc-annotate-switches to manual
* doc/emacs/maintaining.texi (Old Revisions): Add description of
`vc-annotate-switches' and `vc-BACKEND-annotate-switches'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-20 Lars Ingebrigtsen <larsi@gnus.org>
Mention compilation in the Package Installation node
* doc/emacs/package.texi (Package Installation): Mention that
packages are compiled (bug#51660).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-20 Lars Ingebrigtsen <larsi@gnus.org>
Allow hl-line-mode so work when global-hl-line-mode is active
* lisp/hl-line.el (hl-line-mode): Allow switching off the global
mode in the current buffer (bug#51580).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-20 Lars Ingebrigtsen <larsi@gnus.org>
Get fewer false positives for :keyword and &options
@@ -25756,21 +28085,21 @@
&options (bug#51574).
(lisp-fdefs): Use it.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-20 Stefan Kangas <stefankangas@gmail.com>
Obsolete unused variable in debug.el
* lisp/emacs-lisp/debug.el (debugger-previous-backtrace): Make
unused variable obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-20 Lars Ingebrigtsen <larsi@gnus.org>
Further ffap-read-file-or-url tweaks
* lisp/ffap.el (ffap-read-file-or-url): Make this work for URLs
again if you're using `ido-everywhere' (bug#57943).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-20 Robert Pluim <rpluim@gmail.com>
Remove mention of non-existent `annotate-switches'
@@ -25778,14 +28107,14 @@
`annotate-switches'. As far as I can tell this has never existed in
Emacs.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-20 Robert Pluim <rpluim@gmail.com>
Mention that src/macuvs.h sometimes needs committing
* admin/notes/unicode: src/macuvs.h is generated, but needs to be
committed sometimes.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-20 Stefan Kangas <stefankangas@gmail.com>
Use "set -o nounset" in bash scripts
@@ -25795,13 +28124,13 @@
* admin/update_autogen:
* admin/upload-manuals: Use "set -o nounset".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-20 Stefan Kangas <stefankangas@gmail.com>
Revert "Allow nil value for filter-buffer-substring-function"
This reverts commit a7c65fc6660878e244432a5b25fb3a4ff20e8604.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-19 Po Lu <luangruo@yahoo.com>
Remove intern calls with a static string from haiku*.c
@@ -25811,7 +28140,7 @@
* src/haikuterm.c (haiku_term_init, syms_of_haikuterm): Replace
intern with real predefined symbols.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-09-19 F. Jason Park <jp@neverwas.me>
Bury new ERC buffers by default
@@ -25828,7 +28157,7 @@
* etc/ERC-NEWS: Update existing display-buffers section for 5.5.
(Bug#51753)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-09-19 F. Jason Park <jp@neverwas.me>
Offer to regexp-quote new items in erc-match commands
@@ -25849,13 +28178,13 @@
* test/lisp/erc/erc-match-tests.el: New file. (Bug#56450)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-09-19 F. Jason Park <jp@neverwas.me>
Don't record undo history in erc-protocol buffers
* lisp/erc/erc.el (erc-log-irc-protocol): Disable undo history.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-09-19 F. Jason Park <jp@neverwas.me>
Stabilize channels variant of erc-reuse-buffers test
@@ -25871,13 +28200,13 @@
* test/lisp/erc-tests.el (erc-ring-previous-command): Remove
unnecessary `goto-char'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix bug#57903
Fall back to old slower calling convention in dynbound code (bug#56596).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-19 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-open): Revert 'text' back to " open ".
@@ -25885,14 +28214,14 @@
(outline-close-rtl): Remove 'text' since it's inherited from the parent
'outline-close'.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-19 Gregory Heytings <gregory@heytings.org>
Improve advices on build failures.
* Makefile.in: Mention "make extraclean; make". Mention mailing the
bugtracker among the possible choices. Fix typo.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-19 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-minor-mode-use-margins): New user option.
@@ -25924,7 +28253,7 @@
* doc/emacs/text.texi (Outline Mode): Mention outline-minor-mode-use-margins.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-09-19 Matthias Meulien <orontee@gmail.com>
Minor touch-ups of some recent OSC stuff
@@ -25933,7 +28262,7 @@
* lisp/osc.el: Fix some comments.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-09-19 Mauro Aranda <maurooaranda@gmail.com>
perl-mode: / is a regexp match if there's nothing before it
@@ -25942,7 +28271,7 @@
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-997): New
test.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-19 Mattias Engdegård <mattiase@acm.org>
Abolish max-specpdl-size (bug#57911)
@@ -25989,7 +28318,7 @@
* src/fileio.c (Fdo_auto_save):
Remove references to and modifications of max-specpdl-size.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-19 João Távora <joaotavora@gmail.com>
Revert "fix jdtls support"
@@ -25997,7 +28326,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1008
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-19 João Távora <joaotavora@gmail.com>
Don't use three-argument plist-get
@@ -26006,7 +28335,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1024
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-19 Stefan Kangas <stefankangas@gmail.com>
Allow nil value for filter-buffer-substring-function
@@ -26015,7 +28344,7 @@
(filter-buffer-substring-function): Doc fix; improve and update for
above change.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-19 Stefan Kangas <stefankangas@gmail.com>
Support imenu in emacs-news-mode
@@ -26025,7 +28354,7 @@
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Use
above new variable to add imenu support.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-19 Eli Zaretskii <eliz@gnu.org>
Fix 'posn-at-point' around several 'display' properties
@@ -26033,13 +28362,13 @@
by a display property, and its neighbors are also hidden.
(Bug#45915)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/misc/eieio.texi (Introduction, Generics): Remove outdated limits
Reported by Hokomo <hokomo@airmail.cc>.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-09-19 Philipp Stephani <phst@google.com>
Improve check for misleading 'cl-case' cases (Bug#57915).
@@ -26047,7 +28376,7 @@
form (quote FOO), not just (quote).
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-case-no-warning): New unit test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-19 Michael Albinus <michael.albinus@gmx.de>
Revert change in Tramp inotifywait
@@ -26056,7 +28385,7 @@
* test/lisp/filenotify-tests.el: Deactivate instrumentation.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-19 Stefan Kangas <stefankangas@gmail.com>
Prefer DE specific commands to set wallpaper
@@ -26064,13 +28393,13 @@
order to prioritize desktop environment specific commands before
general Wayland commands like "wbg" or even "swaybg". (Bug#57781)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-19 Stefan Kangas <stefankangas@gmail.com>
Avoid an unnecessary call to intern
* src/doc.c (Fdocumentation): Prefer DEFSYM to using intern directly.
-2023-04-15 Daniel Pettersson <daniel@dpettersson.net> (tiny change)
+2022-09-19 Daniel Pettersson <daniel@dpettersson.net> (tiny change)
Fix eshell directory and executable completion on action t
@@ -26078,7 +28407,7 @@
function (bug#57905).
(eshell--complete-commands-list): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-19 Lars Ingebrigtsen <larsi@gnus.org>
Don't save bookmark context from encrypted files
@@ -26088,28 +28417,28 @@
* lisp/epa-hook.el (epa-file-name-p): New function.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-19 Gregory Heytings <gregory@heytings.org>
Revert 60de98f6f0 and b2d419ed5b.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-19 Po Lu <luangruo@yahoo.com>
* Makefile.in: Readd warnings about "git clean -fdx"
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-19 Po Lu <luangruo@yahoo.com>
Revert "; * Makefile.in: Partly revert 5b3c4004a9."
This reverts commit e54da280ff4bf458c437f87dd64e848cdc75479c.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-19 Lars Ingebrigtsen <larsi@gnus.org>
make gen-clean remove some newly-added generated files
* admin/unidata/Makefile.in (gen-clean): Remove some newly-added
generated files.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-19 Gerd Möllmann <gerd@gnu.org>
MacOS ld warning from native compilation (bug#57849)
@@ -26117,7 +28446,7 @@
on Darwin systems.
* etc/NEWS: Describe change.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-19 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -26125,7 +28454,7 @@
c200098dde ; * src/intervals.c (get_local_map): Fix commentary.
69cc3d38bc Fix Tramp error with eshell integration
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-18 Po Lu <luangruo@yahoo.com>
Remove calls to intern with a static string from code that runs on X
@@ -26141,7 +28470,7 @@
* src/xsmfns.c (Fhandle_save_session, syms_of_xsmfns): Remove
calls to intern with a static string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-18 Po Lu <luangruo@yahoo.com>
Get rid of intern calls to static strings in xterm.c
@@ -26149,7 +28478,7 @@
interning concat.
(syms_of_xterm): New defsym Qconcat.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-18 Po Lu <luangruo@yahoo.com>
Fix GC protection of scroll bar windows
@@ -26160,7 +28489,7 @@
event to be put on the keyboard buffer. Reported by martin
rudalics <rudalics@gmx.at>.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-18 Gregory Heytings <gregory@heytings.org>
Display a help message when building Emacs failed.
@@ -26176,7 +28505,7 @@
* GNUmakefile (bootstrap): Use the new 'bootstrap-all' target.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-18 Stefan Kangas <stefankangas@gmail.com>
Prefer using DEFSYMs to intern with wrong_type_argument
@@ -26188,7 +28517,7 @@
* src/font.c (Ffontp): Prefer using above new DEFSYMs to using intern
directly.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-18 Michael Albinus <michael.albinus@gmx.de>
Minor Tramp cleanups
@@ -26197,7 +28526,7 @@
* lisp/net/tramp-integration.el (info-lookup-maybe-add-help):
Fix `rx' call.
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-09-18 Michael Heerdegen <michael_heerdegen@web.de>
Turn gv-synthetic-place into a function
@@ -26206,17 +28535,17 @@
* lisp/emacs-lisp/gv.el (gv-synthetic-place): Make a function and add
trivial compiler macro to avoid decreasing efficiency.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-09-18 Matthias Meulien <orontee@gmail.com>
Add NEWS entry for osc.el (bug#57821)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix osc.el compilation warning
* lisp/osc.el (compilation-filter-start): Avoid compilation warning.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-09-18 Matthias Meulien <orontee@gmail.com>
OSC escape sequences filter for compilation buffer
@@ -26227,7 +28556,7 @@
(osc-compilation-filter): Implement OSC escape sequence handling for
compilation output (bug#57821).
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-09-18 Matthias Meulien <orontee@gmail.com>
Handle OSC command to set window title
@@ -26238,7 +28567,7 @@
(osc-window-title-handler): Copy text from OSC command 2 to
osc-window-title (bug#57821).
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-09-18 Matthias Meulien <orontee@gmail.com>
Extract support of OSC escape sequences from comint
@@ -26259,48 +28588,48 @@
(osc-hyperlink-handler): Clone from comint-osc-hyperlink-handler.
* test/lisp/osc-tests.el (osc): Test osc-apply-region (bug#57821).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-18 Lars Ingebrigtsen <larsi@gnus.org>
Improve the initial-frame-alist doc string
* lisp/frame.el (initial-frame-alist): Clarify how to set this
variable (bug#57890).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-18 Lars Ingebrigtsen <larsi@gnus.org>
Restore the point after aborting an image crop
* lisp/image/image-crop.el (image-crop): Restore point after
aborted cropping (bug#57874).
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-18 Augusto Stoffel <arstoffel@gmail.com>
pulse-momentary-highlight-one-line: Act on visual line
* lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Act on
entire visual line, ignoring fields etc (bug#57876).
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-18 Augusto Stoffel <arstoffel@gmail.com>
Remap 'up-list' in python-mode-map
* lisp/progmodes/python.el (python-mode-map): Remap 'up-list' to
'python-nav-up-list' (bug#57885).
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-18 Augusto Stoffel <arstoffel@gmail.com>
Add new command python-shell-restart
* lisp/progmodes/python.el (python-shell-restart): New command (bug#57885).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-18 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp error with eshell integration
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Respect local `default-directory'. (Bug#57556)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-18 Stefan Kangas <stefankangas@gmail.com>
image-dired: Don't require subr-x
@@ -26308,7 +28637,7 @@
* lisp/image/image-dired.el (subr-x): Don't require, since string-join
is now autoloaded.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-18 João Távora <joaotavora@gmail.com>
Don't return hash tables from e-w-configuration-plist
@@ -26318,7 +28647,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1033
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-18 João Távora <joaotavora@gmail.com>
Allow eglot-workspace-configuration to be a plist
@@ -26339,7 +28668,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/790
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1033
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-18 João Távora <joaotavora@gmail.com>
Don't exceed max-specdl-size in big go projects
@@ -26360,7 +28689,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/633
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/1067
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-18 Po Lu <luangruo@yahoo.com>
Remove what should be unnecessary calls to block_input
@@ -26368,41 +28697,41 @@
This function is not reentrant and is always called with input
blocked.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-18 Gerd Möllmann <gerd@gnu.org>
Fix possible null pointer access
* src/term.c (Ftty__output_buffer_size): Handle case of
decode_tty_terminal returning NULL.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-18 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
50bb9ec84c ; * admin/admin.el (make-news-html-file): Fix typo.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-17 Sean Whitton <spwhitton@spwhitton.name>
vc-do-command: Actually include "torsocks" in the command
* lisp/vc/vc-dispatcher.el (vc-do-command): When vc-tor is non-nil,
actually include "torsocks" in the command to be run (bug#57870).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
image-dired: Display image on double click
* lisp/image/image-dired.el (image-dired-thumbnail-mode-map):
Display image on 'double-mouse-1'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
image-dired: Remove spurious message on C-<mouse-1>
* lisp/image/image-dired.el (image-dired-thumbnail-mode-map): Fix
spurious message about C-<down-mouse-1> being undefined.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-17 João Távora <joaotavora@gmail.com>
Allow :initializationoptions in eglot-server-programs
@@ -26432,14 +28761,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/940
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
Increase image-dired-thumb-size to 128
* lisp/image/image-dired.el (image-dired-thumb-size): Increase default
to 128.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
image-dired: Change some custom types to natnum
@@ -26448,7 +28777,7 @@
(image-dired-thumbs-per-row, image-dired-thumb-width)
(image-dired-thumb-height): Change :type to natnum.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
Make `image-dired-thumb-(height|width)' obsolete
@@ -26464,7 +28793,7 @@
'image-dired-thumb-size' and make old name into an obsolete alias.
Update all callers.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
Simplify image-dired-thumbnail-storage customization
@@ -26474,18 +28803,18 @@
* lisp/image/image-dired-util.el (image-dired-thumb-name): Handle
above new default value.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
* lisp/image/image-dired.el: Bump version for Emacs 29.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-09-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fix rare shaping problems with Urdu and Arabic
* src/composite.c (fill_gstring_body): Clear unused slots of the
gstring. (Bug#50951)
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-17 Gerd Möllmann <gerd@gnu.org>
Optimize tty display updates (bug#57727)
@@ -26501,7 +28830,7 @@
output_buffer_size.
* etc/NEWS: Describe the change.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-17 Michael Albinus <michael.albinus@gmx.de>
Fix recent filenotify-tests changes
@@ -26511,21 +28840,21 @@
* test/lisp/filenotify-tests.el (file-notify-test11-symlinks):
Adapt test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-17 Lars Ingebrigtsen <larsi@gnus.org>
Autoload string-join
* lisp/emacs-lisp/subr-x.el (string-join): Autoload since it's
being used more now.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-17 Gregory Heytings <gregory@heytings.org>
Further improvements to admin/emake.
* admin/emake: Better parsing of script options. Add a --quieter option,
which removes everything except errors.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-17 João Távora <joaotavora@gmail.com>
Adjust last commit about workspace configuration
@@ -26537,14 +28866,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/790
GitHub-reference: per https://github.com/joaotavora/eglot/issues/590
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-17 Po Lu <luangruo@yahoo.com>
Fix MPX focus tracking upon frame deletion
* src/xterm.c (x_free_frame_resources): Consider focus change
after.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-17 Eli Zaretskii <eliz@gnu.org>
Fix running spell-checking in remote buffers
@@ -26552,7 +28881,7 @@
Don't use remote 'default-directory' when running the speller.
(Bug#57649)
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-09-17 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Update Unicode support to Unicode version 15.0.0 (bug#57846)
@@ -26596,7 +28925,7 @@
* etc/NEWS: Announce support for Unicode 15.0.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-17 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -26609,7 +28938,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-16 João Távora <joaotavora@gmail.com>
Rework readme.md about workspace configuration again
@@ -26622,7 +28951,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/590
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com>
+2022-09-16 Fredrik Bergroth <fbergroth@gmail.com>
Add eglot-show-configuration to debug workspace configurations
@@ -26630,14 +28959,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/590
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Simplify regexp in make-news-html-file
* admin/admin.el (make-news-html-file): Simplify regexp.
Suggested by Mattias Engdegård <mattiase@acm.org>.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-16 Gregory Heytings <gregory@heytings.org>
Various improvements to admin/emake.
@@ -26646,7 +28975,7 @@
(useful for emake check for example), --no-check (useful for quicker
builds during development) and --no-fast.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Support XFCE in wallpaper.el
@@ -26654,7 +28983,7 @@
(wallpaper-command): Support XFCE. (Bug#57781)
Thanks to Thierry Volpiatto <thievol@posteo.net>.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Accept more wide function signatures in docstrings
@@ -26665,7 +28994,7 @@
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-function-signature.el:
New file.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
image-dired: Add support for PDF files (Bug#26432)
@@ -26679,7 +29008,7 @@
(image-dired-show-all-from-dir): Use above new function instead of
'image-file-name-regexp'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
image-dired: Print command when debugging
@@ -26688,14 +29017,14 @@
* lisp/image/image-dired-util.el (image-dired-debug): Rename from
'image-dired-debug-message'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Delete mystery code from cperl-mode.el
* lisp/progmodes/cperl-mode.el: Delete commented out code referring to
some 'edit-var-mode-alist' that we don't think is used for anything.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Delete some commented out code in cperl-mode.el
@@ -26708,7 +29037,7 @@
* lisp/progmodes/cperl-mode.el: Delete code commented out since 1999:
a slightly different, duplicate definition of `cperl-ps-print-init'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
Fix last occurrence of `font-lock-reference-face`
@@ -26718,11 +29047,11 @@
Redirect reference to obsolete `font-lock-reference-face` to
`font-lock-constant-face`.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
* admin/admin.el (make-news-html-file): Set id on correct tag.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Add version headlines to HTML NEWS export
@@ -26731,11 +29060,11 @@
* admin/admin.el (admin--org-export-headers-format)
(make-news-html-file): Add XX.Y version headlines with an HTML anchor.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-16 Mattias Engdegård <mattiase@acm.org>
* lisp/subr.el (list-of-strings-p): Declare pure and error-free
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-16 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Optimize performance of S-TAB (bug#57813)
@@ -26745,7 +29074,7 @@
(outline--fix-up-all-buttons): Check invisible outlines explicitly instead of
using slow outline--cycle-state.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-16 Michael Albinus <michael.albinus@gmx.de>
Enable `dont-follow' for inotify file notifications
@@ -26760,14 +29089,14 @@
* test/lisp/filenotify-tests.el (file-notify-test11-symlinks)
(file-notify-test11-symlinks-remote): New tests.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Use substitute-command-keys in some vc messages
* lisp/vc/vc-dispatcher.el (vc-start-logentry):
* lisp/vc/vc.el (vc-steal-lock): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -26781,7 +29110,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Improve HTML export of NEWS file
@@ -26790,7 +29119,7 @@
(admin--require-external-package): New function.
(make-news-html-file): Improve HTML export.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Add command to delete temporary markers in NEWS
@@ -26798,14 +29127,14 @@
(emacs-news-delete-temporary-markers): New command.
* admin/make-tarball.txt: Update instructions.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-16 Alan Mackenzie <acm@muc.de>
cc-fonts.el: Eliminate an Emacs compiler warning introduced yesterday.
* lisp/progmodes/cc-fonts.el (top level): Introduce a cc-bytecomp-defvar for
font-lock-reference-face.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-16 Mattias Engdegård <mattiase@acm.org>
Faster and more robust list-of-strings-p
@@ -26813,7 +29142,7 @@
and don't crash on dotted lists.
* test/lisp/subr-tests.el (test-list-of-strings-p): Extend test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Delete "etc/NEWS*.html" from .gitignore
@@ -26821,14 +29150,14 @@
don't include it in a tarball by mistake.
* .gitignore: Don't ignore "etc/NEWS*.html".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Recommend NonGNU ELPA over MELPA
* doc/misc/org.org (Using CDLaTeX to enter math, Footnotes): Recommend
NonGNU ELPA over MELPA.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix *Help* output for native-comp functions from IELM
@@ -26837,31 +29166,31 @@
instance, created by calling `native-compile' in IELM) are in C
source (bug#57819).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Inhibit image-mode resizing in the minibuffer
* lisp/image-mode.el (image-fit-to-window): Don't resize when in
the minibuffer (bug#57823).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix cperl list indentation problem
* lisp/progmodes/cperl-mode.el (cperl-calculate-indent): Indent
foo:bar() in lists correctly (bug#57829).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in picture.el
* lisp/textmodes/picture.el (picture-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
Minor doc fixes in picture.el
@@ -26874,7 +29203,7 @@
(picture-yank-rectangle-from-register, picture-insert-rectangle)
(picture-draw-rectangle): Minor doc fixes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Don't use autoloaded functions for safe-local-variable
@@ -26888,17 +29217,17 @@
* lisp/vc/vc-git.el (vc-git-annotate-switches): Remove.
(vc-git-annotate-switches): Open-code the check.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new predicate list-of-strings-p
* lisp/subr.el (list-of-strings-p): New function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-16 Stefan Kangas <stefankangas@gmail.com>
* lisp/textmodes/page-ext.el: Improve Commentary.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix sorting of backends in vc-responsible-backend
@@ -26906,7 +29235,7 @@
names, expand them first so that we get consistent sorting of ~/
etc (bug#57777).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-16 Po Lu <luangruo@yahoo.com>
Fix icon spec for outline icons
@@ -26914,7 +29243,7 @@
(outline-close): Fix listing of multiple images. Reported by
Lars Ingebrigtsen <larsi@gnus.org>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-16 Lars Ingebrigtsen <larsi@gnus.org>
Rename `image-elide' to `image-cut' and add more bindings
@@ -26928,7 +29257,7 @@
(image-crop--crop-image-update): Add commands to switch to
move/square modes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-16 Po Lu <luangruo@yahoo.com>
Fix wrong source window being generated for XDND leave events
@@ -26936,7 +29265,7 @@
x_dnd_last_seen_toplevel remain at its old value until any
XdndLeave event was definitely sent.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-16 Po Lu <luangruo@yahoo.com>
Avoid asserting for fontset validity before it is used
@@ -26944,7 +29273,7 @@
fontset is really used. Suggested by Eli Zaretskii
<eliz@gnu.org>
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-16 Po Lu <luangruo@yahoo.com>
Add portable versions of the outline SVGs
@@ -26955,7 +29284,7 @@
* etc/images/outline-close.pbm: New images used on systems
without librsvg.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-16 Juri Linkov <juri@linkov.net>
Add outline open/close images (bug#57813)
@@ -26967,13 +29296,13 @@
* lisp/emacs-lisp/icons.el (icons--create): Add :ascent 'center'.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-16 Gerd Möllmann <gerd@gnu.org>
Fix crash in GC on macOS (bug#57751)
* src/nsterm.m ([EmacsView windowDidMove:]): Initialize input_event.
-2023-04-15 Peter Münster <pm@a16n.net>
+2022-09-15 Peter Münster <pm@a16n.net>
image-dired: Fix thumbnail options for gm
@@ -26981,7 +29310,7 @@
(image-dired-cmd-create-standard-thumbnail-options): Fix options for
"gm" (GraphicsMagick). (Bug#52200)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Improve image-dired-display-properties-format
@@ -26989,21 +29318,21 @@
(image-dired-display-properties-format): Change default format,
improve docstring and add :safe property
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
image-dired: Show header line on start
* lisp/image/image-dired.el (image-dired-show-all-from-dir): Update
header line, to ensure that it is immediately visible on start.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
combine-change-calls-1: Fix case where `body` also changes other bufs
* lisp/subr.el (combine-change-calls-1): Only set the current buffer's part
of the `*-change-functions` hooks.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
image-dired: Fix performance bug with mouse click
@@ -27015,7 +29344,7 @@
(image-dired-mouse-toggle-mark-1): Fix performance bug by setting
above new optional argument to nil. (Bug#53599)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Make image-dired-toggle-mark-thumb-original-file obsolete
@@ -27024,7 +29353,7 @@
(image-dired-mouse-toggle-mark-1): Don't use above obsolete
function.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-15 Mattias Engdegård <mattiase@acm.org>
Include nil as valid wallpaper-commmand
@@ -27032,7 +29361,7 @@
Include nil in the type since that is a valid value for the variable,
and may be the default value. This should fix test-custom-opts.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-09-15 Alan Mackenzie <acm@muc.de>
CC Mode: Handle C++20 modules
@@ -27056,7 +29385,7 @@
(c-import-<>-kwds, c-module-kwds): New c-lang-consts.
(c-module-key): New c-lang-const/var.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Document MS-Windows support in wallpaper.el
@@ -27064,14 +29393,14 @@
(wallpaper-command, wallpaper-command-args, wallpaper-set):
Document MS-Windows support.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Improve error when wallpaper-command is nil
* lisp/image/wallpaper.el (wallpaper-set): Improve the error message
when 'wallpaper-command' is nil.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Support macOS in wallpaper.el
@@ -27079,7 +29408,7 @@
(wallpaper-command): Support macOS using "osascript".
(wallpaper-set): Display image name when wallpaper-debug is t.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-15 Juri Linkov <juri@linkov.net>
Fix outline image icon display (bug#57813)
@@ -27087,7 +29416,7 @@
image display with string display when image exists.
(outline--fix-up-all-buttons): Optimize.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-15 Eli Zaretskii <eliz@gnu.org>
Implement support for 'wallpaper-set' on MS-Windows
@@ -27102,7 +29431,7 @@
* etc/NEWS: Update and simplify wording of the 'wallpaper-set'
entry.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Add rudimentary font-locking to edit-abbrevs-mode
@@ -27110,7 +29439,7 @@
(edit-abbrevs-mode-font-lock-keywords): New defvar.
(edit-abbrevs-mode): Support font-locking.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-15 Mattias Engdegård <mattiase@acm.org>
Use `eql` or `eq` instead of `=` in some places
@@ -27129,7 +29458,7 @@
affect the resulting code. We compare numbers with `eql` and
characters with `eq` as a matter of style.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-15 Mattias Engdegård <mattiase@acm.org>
Simplify and shrink reader buffers
@@ -27145,7 +29474,7 @@
(read0): Reduce buffer to something suitable for most identifiers and
numbers.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-15 Mattias Engdegård <mattiase@acm.org>
mapconcat fast path with `identity` function argument
@@ -27156,35 +29485,35 @@
* src/fns.c (Fmapconcat): Speed up execution when the function
argument is `identity`.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-15 Po Lu <luangruo@yahoo.com>
More fixes for XDND proxy support
* src/xterm.c (handle_one_xevent): Check replies against
toplevel, not proxy.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Use substitute-command-keys in proced-help
* lisp/proced.el (proced-help-string, proced-help): Use
substitute-command-keys.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-15 Eli Zaretskii <eliz@gnu.org>
Revert "; Fix doc string of 'loaddefs-generate'"
This reverts commit 5fe9a1a85ae6d54196031157a735352f6ab655ff.
It included unrelated changes.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-15 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
5543aea1b2 Automate exporting etc/NEWS to HTML
23a91163ed * Makefile.in (uninstall): Remove the *.eln files. (Bug#5...
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-14 Jim Porter <jporterbugs@gmail.com>
Allow using a symbol as an index into an alist in Eshell
@@ -27195,7 +29524,7 @@
(esh-var-test/quoted-interp-var-assoc): Add checks for indexing via
symbol (bug#57787).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-14 Sean Whitton <spwhitton@spwhitton.name>
Use '^' key for detach command bindings
@@ -27203,7 +29532,7 @@
Bind tab-window-detach to C-x w ^ t.
* lisp/window.el (window-prefix-map): Bind tab-detach to C-x t ^ f.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Add image-transform-reset-to-original to manual
@@ -27211,14 +29540,14 @@
Add 'image-transform-reset-to-original'.
Suggested by Juri Linkov <juri@linkov.net>.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Support fbsetbg in wallpaper.el
* lisp/image/wallpaper.el (wallpaper--default-commands)
(wallpaper-command): Add "fbsetbg".
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-14 Augusto Stoffel <arstoffel@gmail.com>
pcomplete: Generate completions from --help messages
@@ -27240,7 +29569,7 @@
* test/lisp/pcomplete-tests.el (pcomplete-test-parse-gpg-help,
pcomplete-test-parse-git-help): Tests for the new functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Allow specifying the color to use in image-elide
@@ -27249,14 +29578,14 @@
(image-elide): Prompt for a color.
(image-crop--crop-image-update): Pass the color along.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Automate exporting etc/NEWS to HTML
* admin/admin.el (make-news-html-file): New function.
* .gitignore: Ignore generated "etc/NEWS*.html" file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Make image-crop variables into user options
@@ -27265,38 +29594,38 @@
(image-crop-elide-command, image-crop-crop-command): Make into
defcustoms.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Support hsetroot in wallpaper.el
* lisp/image/wallpaper.el (wallpaper--default-commands)
(wallpaper-command): Add "hsetroot".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Speed up Emacs build by autoloading vc-git-annotate-switches-safe-p
* lisp/vc/vc-git.el (vc-git-annotate-switches-safe-p): Put the
definition into the loaddefs file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix image-mode.el compilation
* lisp/image/image-crop.el (text-property-search): Require.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Make image cropping work in image-mode buffers
* lisp/image-mode.el (image-mode): Update the buffer text after
cropping (bug#57793).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Don't alter the buffer contents in image-crop by default
@@ -27309,7 +29638,7 @@
(image-crop--default-buffer-text): New default action -- don't
alter the buffer contents (bug#57793).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-14 Mattias Engdegård <mattiase@acm.org>
Raise default max-specpdl-size and max-lisp-eval-depth
@@ -27325,7 +29654,7 @@
* doc/lispref/eval.texi (Eval):
* doc/lispref/variables.texi (Local Variables): Document new values.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Rename image transform commands to be less confusing
@@ -27339,7 +29668,7 @@
(Bug#51451)
* doc/emacs/files.texi (Image Mode): Update for above change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Remove the save-match-data from shell-command
@@ -27347,14 +29676,14 @@
we're (in many cases) altering the match data earlier in the
function anyway (bug#57795).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix textsec-suspicious foreground color
* lisp/international/textsec-check.el (textsec-suspicious): Set
the foreground, too (bug#57796).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-14 Lars Ingebrigtsen <larsi@gnus.org>
Also use eww URL transformers in the actual links
@@ -27364,7 +29693,7 @@
* lisp/net/shr.el (shr-url-transformer): New variable.
(shr-tag-a): Use it.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Add new command image-mode-wallpaper-set
@@ -27372,25 +29701,25 @@
(image-mode-wallpaper-set): New command.
(image-mode-map): Bind above new command to "W".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Add :type to wallpaper-command
* lisp/image/wallpaper.el (wallpaper-command): Make it easier to
customize by adding a :type declaration covering all supported values.
-2023-04-15 Evan Klitzke <evan@eklitzke.org> (tiny change)
+2022-09-14 Evan Klitzke <evan@eklitzke.org> (tiny change)
Add consteval and constinit keywords to cc-mode
* lisp/progmodes/cc-langs.el (c-modifier-kwds): Add consteval and
constinit keywords (introduced in C++20) (bug#51092).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-14 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (uninstall): Remove the *.eln files. (Bug#57771)
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-09-14 Basil L. Contovounesios <contovob@tcd.ie>
Fix more misleading cl-case quoting in tests
@@ -27399,7 +29728,7 @@
(so-long-tests-assert-active, so-long-tests-assert-reverted): Remove
misleading quoting in cl-case clauses (bug#51368).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Make it easier to customize wallpaper command
@@ -27416,7 +29745,7 @@
(wallpaper-set): Use above new defcustoms to set the wallpaper.
Suggested by Eli Zaretskii <eliz@gnu.org>.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Improve wallpaper.el docs for recent changes
@@ -27424,7 +29753,7 @@
external command is needed on Haiku.
* etc/NEWS: Update entry on wallpaper.el.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Allow setting wallpaper from TTY
@@ -27434,11 +29763,11 @@
New variables.
(wallpaper--get-height-or-width): New helper function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
* lisp/image/wallpaper.el (wallpaper-commands): Add xwallpaper.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Support recent KDE Plasma in wallpaper.el
@@ -27446,7 +29775,7 @@
Plasma.
(wallpaper--check-command): New cl-defmethod.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Fix desktop environment check on Ubuntu
@@ -27455,14 +29784,14 @@
XDG_CURRENT_DESKTOP directly. This fixes things on e.g. Ubuntu, where
XDG_CURRENT_DESKTOP might contain a string like "ubuntu:GNOME".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Add new function xdg-current-desktop to xdg.el
* lisp/xdg.el (xdg-current-desktop): New function.
* test/lisp/xdg-tests.el (xdg-current-desktop): New test.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Improve messages in image-crop.el
@@ -27470,7 +29799,7 @@
(image-crop--crop-image-1): Improve messages and include the name
of the current operation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-14 Po Lu <luangruo@yahoo.com>
Implement wallpaper.el support for Haiku
@@ -27488,35 +29817,35 @@
(Fhaiku_send_message): New functions.
(syms_of_haikuselect): Add defsubrs.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-14 Stefan Kangas <stefankangas@gmail.com>
Support wbg in wallpaper.el (Bug#57781)
* lisp/image/wallpaper.el (wallpaper-commands): Add "wbg".
(wallpaper--check-command): New cl-defmethod for "wbg".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix recently-added cl-macs tests
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-case-error)
(cl-case-warning): Fix warning matches.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Make help-fns--generalized-variable more resilient
* lisp/help-fns.el (help-fns--generalized-variable): Don't bug out
when a key binding isn't a symbol.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-13 Juri Linkov <juri@linkov.net>
Prefer defvar-keymap for repeat-map in outline.el
* lisp/outline.el (outline-navigation-repeat-map)
(outline-editing-repeat-map): Prefer defvar-keymap.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-13 Paul Eggert <eggert@cs.ucla.edu>
Port alignas definition to C23
@@ -27524,13 +29853,13 @@
macro, so do not rely on it. Instead, do not define alignas if C23
or later, or if C++11 or later.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix wallpaper.el build warning
* lisp/image/wallpaper.el (require): Fix build warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix help--analyze-key problem when not called from menu"
@@ -27539,7 +29868,7 @@
This should not be needed -- perhaps it was triggered by
an ephemeral code change in my running Emacs.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Use wallpaper-set in thumbs.el
@@ -27553,7 +29882,7 @@
(thumbs-before-setroot-hook, thumbs-after-setroot-hook): Make
obsolete.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Add new command image-dired-set-wallpaper
@@ -27561,20 +29890,20 @@
(image-dired-set-wallpaper): New command.
(image-dired-thumbnail-mode-map): Bind above new command to "W".
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Add new library wallpaper.el
* lisp/image/wallpaper.el: New file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Remove a nil cl-case case
* lisp/emacs-lisp/testcover.el (testcover-coverage-combine):
Remove the nil case, which will never match (bug#51368).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix some misleading quoting in cl-case
@@ -27587,11 +29916,11 @@
(dnd-begin-file-drag):
(dnd-begin-drag-files): Fix misleading quoting in cl-case (bug#51368).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-09-13 Philipp Stephani <phst@google.com>
Have 'cl-case' warn about suspicious cases
@@ -27602,7 +29931,7 @@
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-case-warning): New unit
test (bug#51368).
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-09-13 Philipp Stephani <phst@google.com>
Signal an error if a fallback cl-case is misplaced
@@ -27613,21 +29942,21 @@
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-case-warning): New unit
test (bug#51368).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Move imagep in image.c from the debugging section
* lisp/simple.el (imagep): Remove.
* src/image.c (Fimagep): Always define.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix help--analyze-key problem when not called from menu
* lisp/help.el (help--analyze-key): Don't bug out when not called
from the menu.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Add new commands 'image-crop' and 'image-elide'
@@ -27637,13 +29966,13 @@
* lisp/image/image-crop.el: New file (bug#51331).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Add new function imagep
* lisp/simple.el (imagep): New function.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-09-13 Gerd Möllmann <gerd@gnu.org>
Fix whitespace-tests on macOS
@@ -27651,7 +29980,7 @@
(whitespace-tests--empty-eob): Use C-a/C-e instead of
<home>/<end> (bug#57763).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
comp-tests.el: Enable compilation again
@@ -27663,7 +29992,7 @@
Don't quote the type expressions.
(comp-tests-type-spec-tests): Quote them here instead.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-13 Eli Zaretskii <eliz@gnu.org>
Fix last change in image.c
@@ -27673,7 +30002,7 @@
reason if librsvg happens to return an empty message text.
(syms_of_image): Don't DEFSYM string-trim-right. (Bug#57755)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in several cases
@@ -27705,7 +30034,7 @@
* lisp/wid-edit.el (widget-key-sequence-map): Prefer defvar-keymap in
some easy-to-convert cases.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Enable undo in eww buffers
@@ -27715,7 +30044,7 @@
* lisp/net/shr.el (shr-image-fetched): Inhibit undo tracking.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-13 Lars Ingebrigtsen <larsi@gnus.org>
Indirect Buffers manual improvement
@@ -27724,7 +30053,7 @@
clone-indirect-buffer-other-window here since they do the pretty
much the same (bug#57753).
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2022-09-13 dickmao <dick.r.chiang@gmail.com>
Avoid double svg error reporting and segfaults
@@ -27735,14 +30064,14 @@
* test/manual/image-tests.el (image-tests-load-image/svg-too-big)
(image-tests-load-image/svg-invalid): Test it (bug#57755).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in pixel-scroll-precision-mode-map
* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map): Prefer
defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in tab-line.el
@@ -27750,7 +30079,7 @@
(tab-line-tab-close-map, tab-line-left-map, tab-line-right-map):
Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in lisp/epa*.el
@@ -27758,38 +30087,38 @@
* lisp/epa.el (epa-key-list-mode-map, epa-key-mode-map): Prefer
defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-13 Po Lu <luangruo@yahoo.com>
Fix frames with explicit parent being unmapped after parent shuts down
* src/xterm.c (handle_one_xevent): Delete leftover _XEMBED_INFO
property after parent shuts down.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
86f0601392 ; * admin/notes/www: Fix typos.
2cdb9d03fd ; * admin/make-tarball.txt: Minor clarifications.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-13 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
739b5d0e52 Update HISTORY for Emacs 28.2
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-12 Stefan Kangas <stefankangas@gmail.com>
* Version 28.2 released.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-12 Paul Eggert <eggert@cs.ucla.edu>
Fix comp-tests.el problem after reconfiguring
* test/src/comp-tests.el: Do not byte-compile, as the .elc
file would be machine-dependent (bug#51104).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-12 Juri Linkov <juri@linkov.net>
Document the recently added branch commands (bug#50344)
@@ -27803,14 +30132,14 @@
"c" from vc-create-tag to vc-create-branch, and "s" from
vc-retrieve-tag to vc-switch-branch.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-12 Juri Linkov <juri@linkov.net>
* lisp/vc/vc.el (vc-print-branch-log): Fix interactive spec.
For reading vc-read-revision in the interactive spec use the same 'backend'
and 'rootdir' as in the body of the same function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-12 Juri Linkov <juri@linkov.net>
'C-x v b' prefix key is used for branch commands to create/switch/print branch
@@ -27828,7 +30157,7 @@
* lisp/vc/vc-git.el (vc-git-create-tag): For a new branch read
its start-point. Ask a confirmation if modified files exist.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-12 Sean Whitton <spwhitton@spwhitton.name>
Add new C-x w prefix map
@@ -27836,7 +30165,7 @@
(ctl-x-map): Unbind split-root-window-below and
split-root-window-right. Bind window-prefix-map to C-x w.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-12 Stefan Kangas <stefankangas@gmail.com>
Skip manual GIF metadata test on MS-Windows
@@ -27845,7 +30174,7 @@
(image-tests-image-metadata/gif): Skip test on MS-Windows when
using native image API. (Bug#57691)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-12 Lars Ingebrigtsen <larsi@gnus.org>
Don't overwrite error message in `x' in package.el
@@ -27854,14 +30183,14 @@
(package-menu-execute): Don't overwrite the error message(s) with
a success message (bug#51201).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-12 Lars Ingebrigtsen <larsi@gnus.org>
Remove some XEmacs references in speedbar.el
* lisp/speedbar.el (speedbar-toggle-etags): Remove some references
to etags support being XEmacs specific (bug#51102).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-12 Lars Ingebrigtsen <larsi@gnus.org>
Document :vert-only tool bar property
@@ -27870,7 +30199,7 @@
what it intended to do didn't really make that much sense either,
so perhaps the prop should just be renamed :image-only?
-2023-04-15 Arthur Miller <arthur.miller@live.com>
+2022-09-12 Arthur Miller <arthur.miller@live.com>
Remove edebug props in edebug-remove-instrumentation
@@ -27879,14 +30208,14 @@
(edebug-remove-instrumentation): Use it to remove pros added while
running edebug.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix length issues in gnus-cloud-make-chunk
* lisp/gnus/gnus-cloud.el (gnus-cloud-make-chunk): Make buffer
unibyte (bug#50988).
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-09-12 Arash Esbati <arash@gnu.org>
Consider key=val labels when renumbering
@@ -27897,31 +30226,31 @@
* test/lisp/textmodes/reftex-tests.el
(reftex-renumber-simple-labels): New Test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-12 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp test
* lisp/net/tramp-compat.el (tramp-compat-rx):
Add `tramp-autoload' function property.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-12 Po Lu <luangruo@yahoo.com>
Fix focus restoration upon x_mouse_leave again
* src/xterm.c (x_mouse_leave): Call xi_handle_focus_change after
changing the implicit focus.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-11 Stefan Kangas <stefankangas@gmail.com>
Update HISTORY for Emacs 28.2
* etc/HISTORY: Update for the Emacs 28.2 release.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-09-11 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el: Bump the version.
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2022-09-11 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Restrict replace-*-in-region to the bounds defined by caller
@@ -27931,7 +30260,7 @@
* test/lisp/subr-tests.el (test-replace-string-in-region): Add
regression tests (bug#57733).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-11 Michael Albinus <michael.albinus@gmx.de>
Disable Tramp cache for relative file names
@@ -27945,7 +30274,7 @@
`tramp-cache-undefined'.
(tramp-flush-file-function): Revert last change.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-09-11 Richard Hansen <rhansen@rhansen.org>
whitespace: Redo BoB/EoB empty line highlighting
@@ -27964,7 +30293,7 @@
whitespace--fu, whitespace-tests--empty-bob,
whitespace-tests--empty-eob): Add tests.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-09-11 Richard Hansen <rhansen@rhansen.org>
whitespace: Include empty final line in BoB empty match
@@ -27972,14 +30301,14 @@
last line trailing whitespace in the BoB empty line match to ensure
that those characters get highlighted.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-09-11 Richard Hansen <rhansen@rhansen.org>
whitespace: Reset `whitespace-buffer-changed' when refontifying
* lisp/whitespace.el (whitespace-post-command-hook): Add missing reset
of `whitespace-buffer-changed' back to nil between commands.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-09-11 Richard Hansen <rhansen@rhansen.org>
ert-x: New `ert-with-test-buffer-selected' convenience macro
@@ -27990,19 +30319,19 @@
* test/lisp/emacs-lisp/ert-x-tests.el
(ert-test-test-buffer-selected/*): Add tests.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-11 Philip Kaludercic <philipk@posteo.net>
Revert "Add new command 'toggle-theme'"
This reverts commit f31b9d86a67f1b3fd70339f277dff52478890351.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-11 Philip Kaludercic <philipk@posteo.net>
Revert "Add new user option 'custom-ensure-single-theme'"
This reverts commit b4dbf7184cd68ecd8d1a27fbc1407be0eae7e64c.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-11 Philip Kaludercic <philipk@posteo.net>
Add new user option 'custom-ensure-single-theme'
@@ -28010,7 +30339,7 @@
* lisp/custom.el (custom-ensure-single-active-theme): Add it.
(load-theme): Use it.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-11 Philip Kaludercic <philipk@posteo.net>
Add new command 'toggle-theme'
@@ -28024,7 +30353,7 @@
* lisp/cus-theme.el (describe-theme-1): Say if a theme has a dual.
* lisp/custom.el (toggle-theme): Add new command.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-11 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Improve some shell highlight doc strings
@@ -28034,7 +30363,7 @@
* lisp/ielm.el (ielm-comint-fl-enable):
* lisp/comint.el: (comint--fl-fontify-region): Improve doc strings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-11 Po Lu <luangruo@yahoo.com>
Make it easier to clear the Motif drag window for debugging
@@ -28045,21 +30374,21 @@
communicate via the Motif protocol after a defective/old client
sets the drag window without setting the disconnect mode.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-11 Juri Linkov <juri@linkov.net>
* lisp/vc/vc.el (vc-diff-patch-string): Fix arg in revert-buffer-function.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-11 Sean Whitton <spwhitton@spwhitton.name>
* lisp/vc/vc.el (vc-deduce-backend): Handle eshell-mode.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-09-10 John Wiegley <johnw@newartisans.com>
Merge pull request from sdwolfz/native-compiler-warning
GitHub-reference: https://github.com/jwiegley/use-package/issues/998
-2023-04-15 Codruț Constantin Gușoi <mail+git@codrut.pro>
+2022-09-10 Codruț Constantin Gușoi <mail+git@codrut.pro>
Fix emacs native compilation warning for bind-key
@@ -28073,14 +30402,14 @@
usage of unescaped single quotes (use \= or different quoting)
```
-2023-04-15 ookami <mail@ookami.one> (tiny change)
+2022-09-10 ookami <mail@ookami.one> (tiny change)
Fix project-remember-projects-under when recursing
* lisp/progmodes/project.el (project-remember-projects-under):
Actually recurse into directories (bug#57714).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-10 Michael Albinus <michael.albinus@gmx.de>
Ensure, that Tramp cache works over absolute file names
@@ -28132,7 +30461,7 @@
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Do not check remoteness of TARGET anymore.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-10 Po Lu <luangruo@yahoo.com>
Fix compliance with the XDND specification when dropping on a proxy
@@ -28145,14 +30474,14 @@
(x_connection_closed): Give the right toplevel to the client
message sending functions.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-10 Paul Eggert <eggert@cs.ucla.edu>
Make wdired match dired with symlink permissions
* lisp/wdired.el (wdired-do-perm-changes): Do not follow symlinks,
to be consistent with plain dired (bug#50189).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-10 Lars Ingebrigtsen <larsi@gnus.org>
Make `format-prompt' use `substitute-command-keys'
@@ -28160,14 +30489,14 @@
* lisp/minibuffer.el (format-prompt): Run through
`substitute-command-keys' (bug#51040).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix diff-mode.el compilation warnings
* lisp/vc/diff-mode.el (diff-auto-refine-mode): Suppress
byte-compile warnings.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-09-10 Stefan Kangas <stefan@marxist.se>
New function substitute-quotes
@@ -28188,7 +30517,7 @@
* lisp/progmodes/octave.el (octave-help): Use the new function
instead of 'substitute-command-keys'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-09-10 Stefan Kangas <stefan@marxist.se>
Doc fixes for 'text-quoting-style'
@@ -28200,25 +30529,25 @@
not read the value of this variable directly; use Ftext_quoting_style
instead (bug#51040).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-10 Lars Ingebrigtsen <larsi@gnus.org>
Make a flymake.texi code example more resilient
* doc/misc/flymake.texi (An annotated example backend): Make the
example code resilient wrt. narrowed buffers (bug#51437).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
* src/w32image.c (w32_can_use_native_image_api): Fix comment.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
Support outline-minor-mode in emacs-authors-mode
* lisp/textmodes/emacs-authors-mode.el (emacs-authors-mode):
Support and enable outline-minor-mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-09 Po Lu <luangruo@yahoo.com>
Fix several printfs for 32 bit systems
@@ -28227,24 +30556,24 @@
* src/alloc.c (check_pure_size): Use right length modifier when
printing ptrdiff_t.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-09-09 John Wiegley <johnw@newartisans.com>
Merge pull request from CeleritasCelery/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/743
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
* lisp/subr.el (string-split): New alias for split-string.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
Set vc-git-annotate-switches to "-w" in .dir-locals.el
* .dir-locals.el: Set vc-git-annotate-switches to "-w".
Ref: https://lists.gnu.org/r/emacs-devel/2022-09/msg00453.html
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
Accept "-w" as safe value for vc-git-annotate-switches
@@ -28253,7 +30582,7 @@
(vc-git-annotate-switches): Use above new predicate function to
check if it's :safe.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-09-09 Theodor Thornhill <theo@thornhill.no>
Prefer documentchanges to changes in server-initiated edits
@@ -28268,7 +30597,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/704
-2023-04-15 jgart <47760695+jgarte@users.noreply.github.com> (tiny change)
+2022-09-09 jgart <47760695+jgarte@users.noreply.github.com> (tiny change)
Add support for jedi-language-server (again)
@@ -28280,7 +30609,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/961
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-09-09 Paul Eggert <eggert@cs.ucla.edu>
Fix problem with Glib 2.73.2+ and SIGCHLD handler
@@ -28288,13 +30617,13 @@
* src/process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
Adjust to Glib 2.73.2 behavior change on Linux kernel 5.3+.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-09-09 John Wiegley <johnw@newartisans.com>
Merge pull request from sdwolfz/native-compiler-warning
GitHub-reference: https://github.com/jwiegley/use-package/issues/997
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-09 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Input indentation for M-x shell
@@ -28308,7 +30637,7 @@
* lisp/shell.el (shell-mode): Set up input indentation according to
sh-mode (bug#51940).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-09 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Highlight non-existent commands in M-x shell
@@ -28332,7 +30661,7 @@
(shell-highlight-undef-reset-mode): New functions and buffer local
variables (bug#51940).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-09 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Input fontification for M-x ielm
@@ -28341,7 +30670,7 @@
(ielm-indirect-setup-hook): New hook.
(inferior-emacs-lisp-mode): Set up and enable input fontification.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-09 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Input fontification for M-x shell
@@ -28364,7 +30693,7 @@
* lisp/shell.el (shell-mode): Set up input indentation according to
sh-mode (bug#51940).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-09-09 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Implement a general input fontification mechanism for comint modes
@@ -28378,14 +30707,14 @@
* lisp/shell.el (shell-mode): Set up input indentation according to
sh-mode (bug#51940).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix "warn-lambda-malformed-interactive-spec.el" even more
* test/lisp/emacs-lisp/bytecomp-tests.el
("warn-lambda-malformed-interactive-spec.el"): Adjust test further.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Don't bind `s' in the normal backtrace map
@@ -28396,7 +30725,7 @@
* lisp/emacs-lisp/edebug.el (edebug-pop-to-backtrace): Use it.
(edebug-backtrace-mode-map, edebug-backtrace-mode): New mode.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Update a bytecomp test
@@ -28404,14 +30733,14 @@
("warn-lambda-malformed-interactive-spec.el"): Update test to code
change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in byte-compile-lambda warning
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix typo in
message (bug#57690).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix --without-x compilation warnings
@@ -28419,7 +30748,7 @@
* lisp/image/image-dired-external.el (clear-image-cache): Fix
compilation warning (bug#57695).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix tramp-loaddefs compilation"
@@ -28427,14 +30756,14 @@
The cookie seemed to go to lisp/loaddefs.el for a reason, but a bootstrap is needed.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix tramp-loaddefs compilation
* lisp/net/tramp-compat.el: Fix build by putting tramp-compat-rx
in the right loaddefs file.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-09 Michael Albinus <michael.albinus@gmx.de>
Make use of rx in Tramp backward compatoble
@@ -28460,14 +30789,14 @@
* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `tramp-compat-rx' where indicated.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
Fix SVG loading test for old librsvg 2.40.1
* test/manual/image-tests.el (image-tests-load-image/svg-invalid): Fix
test for old librsvg 2.40.1. (Bug#57691)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
Don't warn about some deleted variables in rst.el
@@ -28478,7 +30807,7 @@
(rst-level-4-face, rst-level-5-face, rst-level-6-face): Don't issue
obsoletion warnings for variables deleted in 24.3.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-09-09 Stefan Kangas <stefan@marxist.se>
Delete variable window-system-version obsolete since 24.3
@@ -28497,7 +30826,7 @@
* lisp/textmodes/artist.el (artist-submit-bug-report): Don't use
above deleted variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-09-09 Stefan Kangas <stefan@marxist.se>
Delete many items obsolete since 24.3
@@ -28605,14 +30934,14 @@
* admin/cus-test.el (cus-test-get-options):
* lisp/pcomplete.el: Doc fixes; don't mention removed items.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-09 Stefan Kangas <stefankangas@gmail.com>
Display error in emacsclient if setsockopt failed
* lib-src/emacsclient.c (set_tcp_socket, set_socket_timeout): Display
an error message if setsockopt failed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-09 Po Lu <luangruo@yahoo.com>
Remove some redundant calls to x_ignore_errors_for_next_request
@@ -28620,7 +30949,7 @@
Wrap some requests in x_ignore_errors_for_next_request instead
of calling it each time.
-2023-04-15 Codruț Constantin Gușoi <mail+git@codrut.pro>
+2022-09-09 Codruț Constantin Gușoi <mail+git@codrut.pro>
Fix emacs native compilation warning
@@ -28636,7 +30965,7 @@
emacs-lisp-native-compile-and-load` before and after the changes to see the
warning is removed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-08 Po Lu <luangruo@yahoo.com>
Remove long-broken TESTRM interface
@@ -28644,20 +30973,20 @@
(fatal, main): Delete functions and code block. They don't work
and rely on XLIB_ILLEGAL_ACCESS.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-08 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in proced.el
* lisp/proced.el (proced-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-08 Stefan Kangas <stefankangas@gmail.com>
Set indent-tabs-mode for lisp-data-mode in .dir-locals.el
* .dir-locals.el (lisp-data-mode): Enforce existing indent-tabs-mode
policy.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-08 Stefan Kangas <stefankangas@gmail.com>
Display librsvg error when loading bad SVG
@@ -28666,7 +30995,7 @@
* test/manual/image-tests.el
(image-tests-load-image/svg-invalid): New test.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-09-08 João Távora <joaotavora@gmail.com>
Don't return poorly supported "special elements" in eglot-imenu
@@ -28697,14 +31026,14 @@
* NEWS.md: Mention change
-2023-04-15 Richard Stallman <rms@gnu.org>
+2022-09-08 Richard Stallman <rms@gnu.org>
Decode base64 attachments revealed by decryption.
* lisp/mail/rmail.el (rmail-epa-decode): New function.
(rmail-epa-decrypt): Call rmail-epa-decode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-08 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -28717,11 +31046,11 @@
# doc/emacs/misc.texi
# etc/NEWS
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-08 Stefan Monnier <monnier@iro.umontreal.ca>
* src/keyboard.c (safe_run_hook_funcall): Fix thinko
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-08 Stefan Monnier <monnier@iro.umontreal.ca>
* src/keyboard.c (safe_run_hook_funcall): Fix recent regression
@@ -28729,7 +31058,7 @@
later reused (and assumed unchanged) by the caller.
https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg00329.html
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-08 Stefan Monnier <monnier@iro.umontreal.ca>
test: Remove redundant "" arg to `mapconcat`
@@ -28750,7 +31079,7 @@
* test/lisp/ansi-color-tests.el (ansi-color-incomplete-sequences-test):
Remove redundant "" arg to `mapconcat`.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-08 Yuan Fu <casouri@gmail.com>
Add node-only parameter to treesit-query-capture
@@ -28759,11 +31088,11 @@
* lisp/treesit.el (treesit-query-in): Add node-only.
* src/treesit.c (Ftreesit_query_capture): Add node-only.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-08 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-can-enable-p): Minor fix.
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2022-09-08 Phil Sainty <psainty@orcon.net.nz>
Add new user option ecomplete-auto-select
@@ -28771,7 +31100,7 @@
(bug#53935).
(ecomplete-display-matches): Use it.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-08 Augusto Stoffel <arstoffel@gmail.com>
Add prefix argument to outline-cycle-buffer
@@ -28779,18 +31108,18 @@
headings up to a given level. Handle the case where the top
heading level is not 1.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-08 Lars Ingebrigtsen <larsi@gnus.org>
Fix diff-add-log-use-relative-names prompting
* lisp/vc/diff-mode.el (diff-add-log-use-relative-names): Autoload
to avoid prompting when set via dir-locals.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-08 Stefan Kangas <stefankangas@gmail.com>
* src/xrdb.c (main) [TESTRM]: Replace gets with fgets.
-2023-04-15 Manuel Uberti <manuel.uberti@inventati.org>
+2022-09-08 Manuel Uberti <manuel.uberti@inventati.org>
Fix jdtls support
@@ -28800,7 +31129,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1008
-2023-04-15 Artem Pyanykh <arr@fb.com> (tiny change)
+2022-09-08 Artem Pyanykh <arr@fb.com> (tiny change)
Add marksman server for markdown
@@ -28810,7 +31139,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/1013
-2023-04-15 Sam James <sam@gentoo.org> (tiny change)
+2022-09-08 Sam James <sam@gentoo.org> (tiny change)
Recognize zstandard (.zst) compressed Info files
@@ -28818,7 +31147,7 @@
from the zstd compression tool. This allows reading Info pages
compressed with 'zstd'. (Bug#57636)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-08 Michael Albinus <michael.albinus@gmx.de>
Make call of remote `id' more performant in Tramp
@@ -28859,7 +31188,7 @@
* test/lisp/net/tramp-tests.el (tramp--test-deftest-with-perl):
Suppress also remote `id'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-08 Philip Kaludercic <philipk@posteo.net>
Add new user option 'diff-add-log-use-relative-names'
@@ -28869,7 +31198,7 @@
(diff-add-log-current-defuns): Use new option.
* doc/emacs/maintaining.texi (Log Buffer): Mention new option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-08 Po Lu <luangruo@yahoo.com>
Avoid selecting for excessive output configuration events
@@ -28878,7 +31207,7 @@
itself, and output property changes will otherwise lead to 2
second freezes over connections with high network latency.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-07 Stefan Kangas <stefankangas@gmail.com>
Bump Emacs version to 28.2
@@ -28887,14 +31216,14 @@
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.2.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-07 Stefan Kangas <stefankangas@gmail.com>
dired-guess: Support zstandard archives
* lisp/dired-aux.el (dired-guess-shell-alist-default): Support
zstandard archives.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-07 Stefan Kangas <stefankangas@gmail.com>
Move some tests to test/manual/image-tests.el
@@ -28902,7 +31231,7 @@
* test/manual/image-tests.el: ...to here.
Suggested by Eli Zaretskii <eliz@gnu.org>.
-2023-04-15 Morgan Smith <Morgan.J.Smith@outlook.com>
+2022-09-07 Morgan Smith <Morgan.J.Smith@outlook.com>
image-dired: Fix moving forward when marking files
@@ -28910,7 +31239,7 @@
movement consistent regardless of the value of
image-dired-marking-shows-next. (Bug#57651)
-2023-04-15 Morgan Smith <Morgan.J.Smith@outlook.com>
+2022-09-07 Morgan Smith <Morgan.J.Smith@outlook.com>
Make image-dired-rotate-original-{left,right} respect marks
@@ -28918,14 +31247,14 @@
(image-dired-rotate-original-right): Rotate all marked
files. (Bug#57651)
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-07 Yuan Fu <casouri@gmail.com>
Fix tree-sitter manual entry for treesit-should-enable-p
* doc/lispref/parsing.texi: Move two entries in the front to "Using
Parser" section, replacing the old entry.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-07 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in icomplete.el
@@ -28933,7 +31262,7 @@
(icomplete-fido-mode-map)
(icomplete-vertical-mode-minibuffer-map): Prefer defvar-keymap.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-07 Yuan Fu <casouri@gmail.com>
Remove treesit-disabled-modes and change treesit-should-enable-p
@@ -28950,7 +31279,7 @@
(treesit-should-enable-p): Change to treesit-can-enable-p and remove
checks of treesit-disabled-modes.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-07 Yuan Fu <casouri@gmail.com>
Add manual entry for tree-sitter search functions
@@ -28961,7 +31290,7 @@
* lisp/treesit.el (treesit-search-forward, treesit-search-beginning)
(treesit-search-end): Minor docstring fix-up.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-09-07 Yuan Fu <casouri@gmail.com>
Add tree-sitter font-lock settings helper function/macro
@@ -28982,14 +31311,14 @@
treesit-font-lock-settings, treesit-font-lock-rules,
treesit-font-lock-defaults.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-07 Mattias Engdegård <mattiase@acm.org>
Improve save-match-data hygiene
* lisp/subr.el (save-match-data): Use uninterned variable symbol.
Remove outdated comments.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-07 Eli Zaretskii <eliz@gnu.org>
Add instructions to 'standard-display-by-replacement-char'
@@ -28997,7 +31326,7 @@
preamble to the generated code with instructions. Suggested by
Richard Stallman <rms@gnu.org>.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-07 Eli Zaretskii <eliz@gnu.org>
Don't follow symlinks in w32notify file watches
@@ -29006,7 +31335,7 @@
* src/w32.c (symlinks_supported): New function.
* src/w32.h (symlinks_supported): Add prototype.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-07 Mattias Engdegård <mattiase@acm.org>
Simplify dolist and dotimes
@@ -29020,11 +31349,11 @@
bindings generated by the macros, and discard the alternative code
versions for non-lexbind code. Use sensible variable names.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-07 Philip Kaludercic <philipk@posteo.net>
Untabify rcirc.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-06 Po Lu <luangruo@yahoo.com>
Fix nsfont breakage since 6b1ed2f2c99a1c2da56c5f434570c438cad6576d
@@ -29033,7 +31362,7 @@
(ns_descriptor_to_entity): Fix reporting of spacing on fonts.
(ns_findfonts): Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-06 Po Lu <luangruo@yahoo.com>
Reenable reporting of frame movement on NS
@@ -29041,14 +31370,14 @@
generate MOVE_FRAME_EVENTS, and use kbd_buffer_store_event
instead.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Improve image-tests.el Commentary
* test/src/image-tests.el: Doc fix; explain how to run from
command line.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Update ChangeLog and AUTHORS for Emacs 28.2
@@ -29056,37 +31385,37 @@
* etc/AUTHORS:
* etc/NEWS: Update for Emacs 28.2.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/jit-lock.el (jit-lock-function): Update comment
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacsen".
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/jit-lock.el (jit-lock-function): Don't fontify invisible text
See bug#57447. This can speed up fontification significantly when using
things like outline-mode.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* etc/NEWS.28: Mention `make-closure`
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/mh-e.texi (Getting MH-E): Update.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Don't mention ancient Gnus versions in MH-E manual
* doc/misc/mh-e.texi (Preface, Reading PGP, Procmail): Don't mention
pre-2000 versions of Gnus.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-06 Eli Zaretskii <eliz@gnu.org>
Fix the MS-Windows build
@@ -29095,7 +31424,7 @@
(set_socket_timeout) [WINDOWSNT]: Protect against too-large values
of timeout.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Don't mention very old Emacs versions in docs
@@ -29104,11 +31433,11 @@
* doc/misc/viper.texi (Loading Viper): Delete references to
very old versions of Emacs.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/semantic.texi: Delete unused macro.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-06 Po Lu <luangruo@yahoo.com>
Correctly handle frame synchronization on fullscreen KWin
@@ -29119,7 +31448,7 @@
`_NET_WM_BYPASS_COMPOSITOR'.
* src/xterm.h (struct x_display_info): Likewise.
-2023-04-15 Kai Tetzlaff <emacs@tetzco.de>
+2022-09-06 Kai Tetzlaff <emacs@tetzco.de>
Fix (mostly multibyte) issues in sieve-manage.el (Bug#54154)
@@ -29169,14 +31498,14 @@
(sieve-manage-open):
(sieve-manage-send): Improve logging.
-2023-04-15 Kai Tetzlaff <emacs@tetzco.de>
+2022-09-06 Kai Tetzlaff <emacs@tetzco.de>
Improve robustnes of `sieve-manage-quit' in case of errors
* lisp/net/sieve.el (sieve-manage-quit): Avoid killing buffers it's
not supposed to touch (bug#54154).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Add tests for opening different image formats
@@ -29192,14 +31521,14 @@
(image-tests-load-image/xbm)
(image-tests-load-image/xpm): New tests.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Fix interactive image.c tests
* test/src/image-tests.el (image-tests-image-metadata/gif)
(image-tests-image-metadata/webp): Fix tests.
-2023-04-15 Drew Adams <drew.adams@oracle.com>
+2022-09-06 Drew Adams <drew.adams@oracle.com>
Add some new find-lisp commands
@@ -29211,7 +31540,7 @@
the new command.
(find-lisp-format): Make symlink output more regular.
-2023-04-15 Laurence Warne <laurencewarne@gmail.com>
+2022-09-06 Laurence Warne <laurencewarne@gmail.com>
Apply syntax highlighting for all python f-strings
@@ -29219,7 +31548,7 @@
(python--font-lock-f-strings): Edit functions to use a regular
expression matching all f-strings (bug#56757).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-06 Michael Albinus <michael.albinus@gmx.de>
Use secondary groups when checking permissions in Tramp (Bug#57044)
@@ -29258,7 +31587,7 @@
* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `blank' in `rx' forms.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-06 Lars Ingebrigtsen <larsi@gnus.org>
Make ffap-file-finder work again
@@ -29268,14 +31597,14 @@
* lisp/ido.el (ido-everywhere): Add an interstitial to fulfil
ffap-file-handler semantics.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
ecbdb3b0ad * lisp/server.el: Improve Commentary.
ee5c591249 Explain how the font appearance can be fine-tuned in fbterm.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
cl-symbol-macrolet: Fix recent regression
@@ -29307,7 +31636,7 @@
* test/lisp/emacs-lisp/cl-macs-tests.el
(cl-macs-test--symbol-macrolet): Add a test case.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-05 Stefan Kangas <stefankangas@gmail.com>
Add new --timeout flag to emacsclient
@@ -29323,14 +31652,14 @@
* doc/man/emacsclient.1: Document the above new option.
* etc/NEWS: Announce it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-05 Lars Ingebrigtsen <larsi@gnus.org>
Disable failing cl-lib-symbol-macrolet-hide test for now
* test/lisp/emacs-lisp/cl-lib-tests.el
(cl-lib-symbol-macrolet-hide): Disable until code is fixed.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-05 Gregory Heytings <gregory@heytings.org>
Simplify describe-function.
@@ -29339,14 +31668,14 @@
(help-fns--key-bindings): but use it directly there instead.
This simplifies 1d1158397b.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-05 Juri Linkov <juri@linkov.net>
Fit the re-builder window to the buffer
* lisp/emacs-lisp/re-builder.el (re-builder): Fit the height to
the buffer (bug#56772).
-2023-04-15 Hugo Heagren <hugo@heagren.com>
+2022-09-05 Hugo Heagren <hugo@heagren.com>
Add new functions for splitting the root window
@@ -29375,7 +31704,7 @@
* doc/lispref/windows.texi (Splitting Windows): Add documentation for
`split-root-window-below' (bug#56791).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-09-05 Sean Whitton <spwhitton@spwhitton.name>
Font lock long Git commit summary lines
@@ -29390,11 +31719,11 @@
* etc/NEWS (VC): Document the change.
* .dir-locals.el: Set vc-git-log-edit-summary-target-len.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-05 Stefan Kangas <stefankangas@gmail.com>
* lisp/server.el: Improve Commentary.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-05 Gregory Heytings <gregory@heytings.org>
Explain how the font appearance can be fine-tuned in fbterm.
@@ -29402,14 +31731,14 @@
Xft font specifications with which the font appearance can be
fine-tuned.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-05 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
5713c730f2 Update to Org 9.5.5
aad38d6010 * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail m...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-04 Po Lu <luangruo@yahoo.com>
Fix crash while converting empty vector to X data
@@ -29417,7 +31746,7 @@
vector represents INTEGER data, instead of blindly trying to
aref it's first element.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-04 Jim Porter <jporterbugs@gmail.com>
Let external Eshell processes send stdout and stderr to different places
@@ -29432,7 +31761,7 @@
(esh-proc-test/output/stderr-to-buffer)
(esh-proc-test/exit-status/with-stderr-pipe): New tests (bug#21605).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-04 Jim Porter <jporterbugs@gmail.com>
Put Eshell's bookkeeping data for external processes on the process object
@@ -29461,7 +31790,7 @@
(esh-proc-test/kill-process/background-prompt): ... this, and use
'eshell-wait-for-subprocess' instead of 'sit-for'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-04 Jim Porter <jporterbugs@gmail.com>
Add support for more kinds of redirect operators in Eshell
@@ -29493,7 +31822,7 @@
* etc/NEWS: Announce this change.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-04 Jim Porter <jporterbugs@gmail.com>
Allow checking specific Eshell handles for interactive output
@@ -29506,7 +31835,7 @@
* lisp/eshell/em-term.el (eshell-visual-command-p): Check for
interactivity of both stdout and stderr.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-04 Jim Porter <jporterbugs@gmail.com>
Simplify Eshell handle functions and add tests/documentation
@@ -29534,7 +31863,7 @@
argument types.
(Input/Output): Expand documentation for redirection and pipelines.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-09-04 Matt Armstrong <matt@rfc20.org>
Add basic test coverage for overlay modification hooks
@@ -29544,14 +31873,14 @@
(overlay-tests-get-recorded-modification-hooks): New function
(bug#57150).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-04 Lars Ingebrigtsen <larsi@gnus.org>
Clarify that the region is in the Emacs manual
* doc/emacs/mark.texi (Mark): Try to clarify what's so special
about Emacs' regions (bug#50950).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-04 Lars Ingebrigtsen <larsi@gnus.org>
Mark some filenotify tests unstable on EMBA
@@ -29559,18 +31888,18 @@
(file-notify-test09-watched-file-in-watched-dir): Mark as unstable
on EMBA, because they seem to fail regularly.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-04 Michael Albinus <michael.albinus@gmx.de>
Fix comment in tramp.el
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-04 Juri Linkov <juri@linkov.net>
Don't replace the first character with an arrow in outline-minor-mode
* lisp/outline.el (outline--make-button-overlay): Add the first character
to the displayed outline button (bug#56820).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-09-04 Juri Linkov <juri@linkov.net>
Use use-region-beginning/end in replacement commands (bug#45607)
@@ -29586,7 +31915,7 @@
* lisp/simple.el (use-region-noncontiguous-p): New function.
(region-noncontiguous-p): Return more meaningful value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-04 Lars Ingebrigtsen <larsi@gnus.org>
Add a basic widget type for buffer predicates
@@ -29594,7 +31923,7 @@
* lisp/outline.el (outline-minor-mode-use-buttons): Use it.
* lisp/wid-edit.el (buffer-predicate): New widget type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-04 Po Lu <luangruo@yahoo.com>
Fix earlier change to xterm.c
@@ -29602,7 +31931,7 @@
the call to x_new_focus_frame does with the core focus, and do
the equivalent with the XInput 2 focus.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-09-04 Michael Albinus <michael.albinus@gmx.de>
Fix rx forms in Tramp
@@ -29645,7 +31974,7 @@
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp--test-share-p): Simplify rx forms.
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-09-04 Damien Cassou <damien@cassou.me>
Add new function `seq-positions'
@@ -29658,7 +31987,7 @@
* test/lisp/emacs-lisp/seq-tests.el (test-seq-positions): Test it
(bug#57548).
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-04 Augusto Stoffel <arstoffel@gmail.com>
Add Python import management commands
@@ -29670,7 +31999,7 @@
(python-remove-import, python-sort-imports, python-fix-imports): New
interactive commands (bug#57574).
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-09-04 Augusto Stoffel <arstoffel@gmail.com>
Python shells dedicated to a project
@@ -29683,7 +32012,7 @@
(python-shell-get-buffer): Adapt to project-dedicated shells
(bug#56997).
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-09-04 Damien Cassou <damien@cassou.me>
Add new function `seq-remove-at-position'
@@ -29696,7 +32025,7 @@
* test/lisp/emacs-lisp/seq-tests.el (test-seq-remove-at-position):
Test it.
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-09-04 Damien Cassou <damien@cassou.me>
Improve documentation of several functions in seq.el
@@ -29710,21 +32039,21 @@
(seq-difference): Use more standard wording in the docstrings
(bug#57561).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-04 Lars Ingebrigtsen <larsi@gnus.org>
Rename the Mice node in the Emacs manual
* doc/emacs/commands.texi (User Input, Keys): Rename "Mice" to
Mouse Input.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix some help-fns test failures
* lisp/help-fns.el (help-fns--key-bindings): Fix test failures
from recent change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-04 Eli Zaretskii <eliz@gnu.org>
New command to facilitate text-mode display of unsupported chars
@@ -29733,18 +32062,18 @@
* etc/NEWS: Announce it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-04 Eli Zaretskii <eliz@gnu.org>
Fix update of Dired display when it was called on a cons cell
* lisp/dired.el (dired-internal-do-deletions): Make sure that FN's
directory entry is updated on display. (Bug#57565)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/term/linux.el (gpm-mouse-enable): Remove left-over declaration
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
gv.el and cl-macs.el: Fix bug#57397
@@ -29755,11 +32084,11 @@
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet):
Add new testcase.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-09-03 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.5
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-03 Gregory Heytings <gregory@heytings.org>
Look up keybindings in correct buffer in describe-function.
@@ -29769,7 +32098,7 @@
was invoked as argument to 'help-fns--key-bindings'.
Fixes bug#57568.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail more gracefully
@@ -29777,7 +32106,7 @@
`~/.emacs.d/eln-cache` directory.
Fixes bug#57562. See also Debian's bug #1017739.
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2022-09-03 Jeff Walsh <fejfighter@gmail.com>
Update error message to reflect variable rename
@@ -29786,14 +32115,14 @@
[ According to the Git metadata, this commit 8436e0bee9cf7a was already
merged from `emacs-28`, yet the code says it was not. :-( ]
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-03 Eli Zaretskii <eliz@gnu.org>
Fix indexing of mouse-wheel events
* doc/emacs/frames.texi (Mouse Commands): Add index entries for
wheel events.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-03 Eli Zaretskii <eliz@gnu.org>
Revert "* doc/emacs/commands.texi (Mice): Improve indexing."
@@ -29802,7 +32131,7 @@
The index entries it added don't belong to the place where they were
added.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-03 Mattias Engdegård <mattiase@acm.org>
lisp/emacs-lisp/seq.el: remove unnecessary compatibility code
@@ -29810,21 +32139,21 @@
Simplify unnecessarily guarded code, as this file will only ever be
used with the same version of Emacs.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
* doc/emacs/commands.texi (Mice): Improve indexing.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro): Soften message
Clarify that the error is "harmless".
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-macs.el: Use `define-symbol-prop` (bug#50869)
@@ -29832,17 +32161,17 @@
`define-symbol-prop` over `put` so `unload-feature` can undo
those definitions.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/loadhist.el (loadhist-unload-element): Remove auxiliary function info
See bug#50869.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/help-fns.el (find-lisp-object-file-name): Revert last change
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-03 Po Lu <luangruo@yahoo.com>
Improve documentation of scroll wheel event types in new Mice node
@@ -29850,7 +32179,7 @@
scroll wheel event types; fix doc for Emacs 29 and describe
horizontal wheel movement.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-03 Po Lu <luangruo@yahoo.com>
Work around another X server bug in crossing event dispatch
@@ -29859,7 +32188,7 @@
(x_mouse_leave): Avoid invalid reads of
dpyinfo->x_focus_event_frame on input extension builds.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-03 Lars Ingebrigtsen <larsi@gnus.org>
Add a Mice node in the Emacs manual
@@ -29867,18 +32196,18 @@
document mouse buttons.
(Mice): New node (bug#50948).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-09-03 Philip Kaludercic <philipk@posteo.net>
* subr.el (buffer-match-p): Use 'pcase' (bug#57502)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-03 Lars Ingebrigtsen <larsi@gnus.org>
Mention M-x list-packages in the Help node in the Emacs manual
* doc/emacs/help.texi (Help): Mention listing packages
(bug#50936).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-03 Lars Ingebrigtsen <larsi@gnus.org>
Inhibit nativecomp of loaddefs files
@@ -29888,7 +32217,7 @@
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric):
Inhibit native-comp, because it's not very useful for loaddefs files.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-03 Po Lu <luangruo@yahoo.com>
Work around potential X server bug
@@ -29897,7 +32226,7 @@
supposed to deliver them to us, and it messes up MPX focus
tracking. (bug#57468)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-03 Eli Zaretskii <eliz@gnu.org>
Teach 'max-char' about the Unicode code range
@@ -29912,20 +32241,20 @@
* doc/lispref/nonascii.texi (Character Codes): Update the
documentation of 'max-char'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Increase image-dired-show-all-from-dir-max-files to 1000
* lisp/image/image-dired.el
(image-dired-show-all-from-dir-max-files): Increase to 1000.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix image-dired-util.el compile warning
* lisp/image/image-dired-util.el (require): Require for cl-case.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Add new defgroup image-dired-dired
@@ -29936,7 +32265,7 @@
(image-dired-dired-append-when-browsing)
(image-dired-dired-disp-props): Use above new defgroup.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
image-dired: Minor cleanups
@@ -29956,7 +32285,7 @@
* lisp/image/image-dired.el (image-dired-line-up-dynamic)
(image-dired-display-window-width): Don't use above obsolete function.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
image-dired: Prefer defvar-keymap
@@ -29967,7 +32296,7 @@
(image-dired-thumbnail-mode-map)
(image-dired-display-image-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Add new defgroup image-dired-external
@@ -29988,7 +32317,7 @@
(image-dired-cmd-write-exif-data-program)
(image-dired-cmd-write-exif-data-options): Use above new defgroup.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
image-dired: Make HTML gallery generation obsolete
@@ -30002,7 +32331,7 @@
(image-dired--create-gallery-lists, image-dired--hidden-p)
(image-dired-gallery-generate): Make obsolete.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
image-dired: Do more interactive mode tagging
@@ -30043,7 +32372,7 @@
* lisp/image/image-dired.el (image-dired-delete-marked): Signal error
if not in image-dired-thumbnail-mode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Split image-dired.el into several files (part 2/2)
@@ -30064,7 +32393,7 @@
* lisp/image/image-dired.el: Trim files down to keep only one copy of
each definition.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Split image-dired.el into several files (part 1/2)
@@ -30087,7 +32416,7 @@
* test/lisp/image-dired-tests.el: Move from here...
* test/lisp/image/image-dired-tests.el: ...to here.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Make "rlogin" method obsolete in url*.el
@@ -30111,13 +32440,13 @@
(Gateways in general, Customization): Don't mention "rlogin"
method.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
d89e65c638 Update acknowledgments
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-02 Stefan Kangas <stefankangas@gmail.com>
Update acknowledgments
@@ -30125,7 +32454,7 @@
* doc/emacs/emacs.texi (Acknowledgments): Add several names from
Author: headers.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-02 Stefan Kangas <stefankangas@gmail.com>
Make some versions in docs match package version
@@ -30135,14 +32464,14 @@
* doc/misc/viper.texi: Fix version to match package.
* lisp/emulation/viper.el: Make version match variable.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-02 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
917da2641e Minor doc fix; improve sorting of VC backends
89695bce3e Clarify the doc string of 'set-face-attribute'
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-09-02 Gregory Heytings <gregory@heytings.org>
Display a warning for some uses of nil in face attributes.
@@ -30151,7 +32480,7 @@
(Finternal_set_lisp_face_attribute): Use the macro for the attributes
:foreground, :distant-foreground and :background.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/help-fns.el: Minor fixes
@@ -30161,20 +32490,20 @@
(help-fns--describe-function-or-command-prompt): Allow the user to
insist on choosing a function even if it appears not to exist.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-02 Robert Pluim <rpluim@gmail.com>
Use `format-prompt' in `describe-char-fold-equivalences'
* lisp/char-fold.el (describe-char-fold-equivalences): Use `format-prompt'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix define-minor-mode :keymap obsoletion warning
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix some
warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-09-02 Stefan Kangas <stefan@marxist.se>
Make minibuffer-eldef-shorten-default obsolete
@@ -30183,7 +32512,7 @@
* doc/emacs/mini.texi (Basic Minibuffer): Delete above obsolete
variable (bug#50935).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-02 Lars Ingebrigtsen <larsi@gnus.org>
Default show-paren-mode to off in special-mode buffers
@@ -30196,7 +32525,7 @@
(show-paren-mode): Mention it.
(show-paren-function): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-02 Lars Ingebrigtsen <larsi@gnus.org>
Clean up ispell "look"-related variables
@@ -30208,28 +32537,28 @@
that had a "-r" (regexp interface) never took off -- it's not
present in GNU/Linux or Macos, at least, as far as we can tell.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix quotes in mailcap-add-mailcap-entry doc string
* lisp/net/mailcap.el (mailcap-add-mailcap-entry): Fix usage of
quotes.
-2023-04-15 Felix Dietrich <felix.dietrich@sperrhaken.name>
+2022-09-02 Felix Dietrich <felix.dietrich@sperrhaken.name>
Restructure ‘mailcap-add-mailcap-entry’
* lisp/net/mailcap.el (mailcap-add-mailcap-entry):
Restructure mailcap-add-mailcap-entry to improve readability.
-2023-04-15 Felix Dietrich <felix.dietrich@sperrhaken.name>
+2022-09-02 Felix Dietrich <felix.dietrich@sperrhaken.name>
Add tests for ‘mailcap-add-mailcap-entry’
* test/lisp/net/mailcap-tests.el:
Add tests for ‘mailcap-add-mailcap-entry’
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-02 Robert Pluim <rpluim@gmail.com>
Use frame-monitor-attributes in gamegrid
@@ -30237,7 +32566,7 @@
`frame-monitor-attributes' to get the frame attributes directly
instead of iterating over `display-monitor-attributes-list'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-02 Po Lu <luangruo@yahoo.com>
Prevent crashes when embedding Emacs in a nonexistent parent
@@ -30251,7 +32580,7 @@
(x_embed_frame): New function.
* src/xterm.h (FRAME_X_EMBEDDED_P): Fix coding style.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-02 Robert Pluim <rpluim@gmail.com>
Make single char entry easier for `describe-char-fold-equivalences'
@@ -30259,34 +32588,34 @@
docstring. Pass t for 'allow-single' arg in call to
`read-char-by-name' so that single characters can be entered directly.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-09-02 Robert Pluim <rpluim@gmail.com>
Allow easy entry of single chars in `read-char-by-name'
* lisp/international/mule-cmds.el (read-char-by-name): Add optional
'allow-single' argument, meaning to accept single chars as themselves.
-2023-04-15 Fabrice Bauzac-Stehly <noon@mykolab.com>
+2022-09-02 Fabrice Bauzac-Stehly <noon@mykolab.com>
ldap-host-parameters-alist: Add auth-source option
* lisp/net/ldap.el (ldap-host-parameters-alist): Add auth-source
to checklist.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-09-01 Jim Porter <jporterbugs@gmail.com>
Under no-X builds, allow any value for 'fringe-bitmap' options
* lisp/cus-edit.el (fringe-bitmap): Always match under no-X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-09-01 Po Lu <luangruo@yahoo.com>
Fix bug#57476 for Xt builds
* src/xterm.c (handle_one_xevent): Add similar event mode check
to code under USE_X_TOOLKIT conditional. (bug#57476)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-01 Lars Ingebrigtsen <larsi@gnus.org>
Make easy-mmode-define-keymap obsolete
@@ -30294,14 +32623,14 @@
obsolete.
(define-minor-mode): Add comment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-01 Lars Ingebrigtsen <larsi@gnus.org>
Make easy-mmode-defmap obsolete and adjust only caller
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Make obsolete.
* lisp/progmodes/gud.el (gud-menu-map): Use easy-menu-define.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-09-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix outline-minor-mode-map
@@ -30309,7 +32638,7 @@
easy-mmode-define-keymap, since it doesn't handle :inherit
correctly (bug#57512).
-2023-04-15 Daanturo <daanturo@gmail.com>
+2022-09-01 Daanturo <daanturo@gmail.com>
Make file-parent-directory more efficient
@@ -30317,14 +32646,14 @@
file-equal-p to compare the found parent and the child
(bug#56355). This is much faster.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-01 Stefan Kangas <stefankangas@gmail.com>
Minor doc fix; improve sorting of VC backends
* doc/emacs/maintaining.texi (Version Control Systems): Minor doc fix;
rearrange list to put git, cvs and subversion at the top.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-09-01 Eli Zaretskii <eliz@gnu.org>
Clarify the doc string of 'set-face-attribute'
@@ -30332,7 +32661,7 @@
resetting attribute values to 'unspecified' for future frames.
(Bug#57499)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-09-01 Mattias Engdegård <mattiase@acm.org>
Better `take` and `ntake` bignum argument handling
@@ -30340,7 +32669,7 @@
as most-positive-fixnum which results in better error checking
of improper lists.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-01 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -30360,7 +32689,7 @@
# lisp/international/characters.el
# src/xdisp.c
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-09-01 Stefan Kangas <stefankangas@gmail.com>
Update publicsuffix.txt from upstream
@@ -30368,7 +32697,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-08-25 13:54:14 UTC.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-31 Jim Porter <jporterbugs@gmail.com>
Don't fail Eshell ERT tests when an internal signal gets raised
@@ -30379,7 +32708,7 @@
Ref: https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg01452.html
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-31 Alan Mackenzie <acm@muc.de>
C++ Mode: Fontify functions correctly with commas in template expressions
@@ -30403,7 +32732,7 @@
c-<>-c-types-set text property, along with c-type, from the region being
fontified.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-31 Robert Pluim <rpluim@gmail.com>
Fix describe-char-fold-equivalences for composed characters
@@ -30411,14 +32740,14 @@
`get-char-code-property' across all the component codepoints of the
equivalent character rather than just the first one.
-2023-04-15 ookami <mail@ookami.one> (tiny change)
+2022-08-31 ookami <mail@ookami.one> (tiny change)
Fix semantic-find-file-noselect binding of recentf-exclude
* lisp/cedet/semantic/fw.el (semantic-find-file-noselect):
recentf-exclude should be a list (bug#57489).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-30 Po Lu <luangruo@yahoo.com>
Gently nudge Xt into always setting size hints
@@ -30429,14 +32758,14 @@
* src/xterm.c (x_wm_set_size_hint): Don't change flags if flags
is 0.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-30 Po Lu <luangruo@yahoo.com>
Fix bug#57476
* src/xterm.c (handle_one_xevent): Don't reset valuators on certain
crossing events, for the benefit of xfwm4. (bug#57476)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-30 Stefan Monnier <monnier@iro.umontreal.ca>
t-mouse.el: Make sure we apply the setting to new terminals
@@ -30445,7 +32774,7 @@
* lisp/term/linux.el (terminal-init-linux): Remove gpm-specific code,
not neded any more.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-30 Gregory Heytings <gregory@heytings.org>
Enable 256 colors in fbterm.
@@ -30454,7 +32783,7 @@
* doc/misc/efaq.texi (Emacs in a Linux console): Document the TERM
environment variable with which the new file is used.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-30 Juri Linkov <juri@linkov.net>
Fix 744ed0ceeed7472a160fea7154939cf641205577 from bug#57082 (bug#57176)
@@ -30463,7 +32792,7 @@
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Fix regexp.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-30 Eli Zaretskii <eliz@gnu.org>
One more fix for find-file.el
@@ -30471,7 +32800,7 @@
instead of 'concat', which doesn't DTRT with absolute file names.
(ff-other-file-alist): Yet another doc fix. (Bug#57325)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-30 Mattias Engdegård <mattiase@acm.org>
Accept bignum arguments in `take` and `ntake`
@@ -30479,7 +32808,7 @@
completeness.
* test/src/fns-tests.el (fns--take-ntake): Add test cases.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-30 Po Lu <luangruo@yahoo.com>
Fix junk data being returned with incremental selection transfers
@@ -30489,7 +32818,7 @@
(x_get_window_property_as_lisp_data): Adjust call to
receive_incremental_selection.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-30 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (package-vc-unpack): Fix 'vc-ignore' call
@@ -30497,13 +32826,13 @@
default-directory is set to the package root, otherwise the file is
ignored in some other repository, that probably doesn't exist.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix char-fold compilation warning
* lisp/char-fold.el (require): Get string-join definition.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-30 Juri Linkov <juri@linkov.net>
* lisp/char-fold.el (describe-char-fold-equivalences): New command.
@@ -30512,7 +32841,7 @@
Suggested by Robert Pluim <rpluim@gmail.com>.
https://lists.gnu.org/archive/html/emacs-devel/2022-07/msg00864.html
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-29 Jim Porter <jporterbugs@gmail.com>
Handle 'eshell-pipe-broken' when evaluating Lisp forms in Eshell
@@ -30528,7 +32857,7 @@
Ref: https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg00524.html
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-29 Gregory Heytings <gregory@heytings.org>
Recommend using fbterm in the Linux console.
@@ -30537,18 +32866,18 @@
* etc/PROBLEMS (Linux console problems...): Mention the new FAQ node.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-08-29 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Merge remote-tracking branch 'origin/master' into feature/tree-sitter
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-29 Stefan Kangas <stefankangas@gmail.com>
Improve point-at-{bol,eol} obsoletion message
* lisp/subr.el (point-at-eol, point-at-bol): Mention 'pos-eol' and
'pos-bol' in obsoletion message.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-29 Mattias Engdegård <mattiase@acm.org>
Fix reader memory leak upon error (bug#56623)
@@ -30557,14 +32886,14 @@
* src/lread.c (read_stack_reset): New.
(read0): Reset read stack when unwinding from an error.
-2023-04-15 Jake Moss <jake.moss@uq.net.au> (tiny change)
+2022-08-29 Jake Moss <jake.moss@uq.net.au> (tiny change)
Show gdb-mi disassembly over tramp
* lisp/progmodes/gdb-mi.el (gdb-invalidate-disassembly): Show
gdb-mi disassembly over tramp (bug#57464).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-29 Lars Ingebrigtsen <larsi@gnus.org>
Work around `&' dired command when using the fish shell
@@ -30572,11 +32901,11 @@
&wait; this apparently makes the `&' command work with the fish
shell (bug#57472).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-29 Eli Zaretskii <eliz@gnu.org>
* lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#57325)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-29 Eli Zaretskii <eliz@gnu.org>
Fix point adjustment in recreated *Messages* buffers
@@ -30587,7 +32916,7 @@
it's killed, will have the same type of the window-point marker.
(Bug#57466)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
* src/keyboard.c (safe_run_hooks*): Simplify and generalize
@@ -30595,14 +32924,14 @@
arbitrary `nargs`.
(safe_run_hooks_error): Remove unneeded assertion.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-29 Michael Albinus <michael.albinus@gmx.de>
Do not connect unreachable remote hosts in recentf
* lisp/recentf.el (recentf-expand-file-name): Protect against
stalled remote hosts. (Bug#57336)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-29 Po Lu <luangruo@yahoo.com>
Unify floating point handling when reading XI motion events
@@ -30610,7 +32939,7 @@
recommended, instead of just truncating them. Also fixes
weird "jitter" during drag-and-drop on some clients.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-28 Juri Linkov <juri@linkov.net>
'C-c C-d' on vc-log buffer shows the diff from 'vc-log-fileset' (bug#52349)
@@ -30622,7 +32951,7 @@
* lisp/vc/vc.el (vc-diff): New optional arg ‘fileset’.
If non-nil, use instead of vc-deduce-fileset.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-28 Juri Linkov <juri@linkov.net>
'C-x v v' on a diff buffer commits it as a patch (bug#52349)
@@ -30650,7 +32979,7 @@
Call vc-start-logentry with 'patch-string'.
(vc-diff-patch-string): New function.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-28 Juri Linkov <juri@linkov.net>
Revert parts of 3f076a8e44 that caused test failures
@@ -30660,18 +32989,18 @@
truncated-partial-width-window-p. This change caused test failures
in lisp/ls-lisp-tests.log and lisp/emacs-lisp/edebug-tests.log.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2022-08-28 Ken Brown <kbrown@cornell.edu>
Fix data for files-tests-bug-21454 on Cygwin
* test/lisp/files-tests.el (files-tests-bug-21454): Fix test data
to reflect the fact that Cygwin supports UNC paths.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-28 Eli Zaretskii <eliz@gnu.org>
* lisp/info.el (Info-mode): Support the Linux console better.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-28 Eli Zaretskii <eliz@gnu.org>
Improve the documentation of glyphless-character display
@@ -30682,7 +33011,7 @@
* doc/lispref/display.texi (Glyphless Chars): Index
'glyphless-char' face.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-28 Po Lu <luangruo@yahoo.com>
Fix two issues in xterm.c
@@ -30690,7 +33019,7 @@
have a vendor-specific prefix.
(x_query_pointer_1): Fix leak of button mask.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-27 Juri Linkov <juri@linkov.net>
Use truncated-partial-width-window-p in more places (bug#56815)
@@ -30705,7 +33034,7 @@
* src/indent.c (scan_for_column): Bring the logic of using
truncated-partial-width-window-p closer to what the display engine does.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-27 Juri Linkov <juri@linkov.net>
Use a list of text properties to search in symlink filenames in Wdired
@@ -30718,28 +33047,28 @@
* lisp/isearch.el (isearch-search-fun-in-text-property):
Support a list of text properties (bug#57293).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-27 Lars Ingebrigtsen <larsi@gnus.org>
Make dynamic info-lookup more backwards-compatible
* lisp/info-look.el (info-lookup--expand-info): Don't try to
expand elements that aren't functions (bug#57446).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-08-27 Daniel Martín <mardani29@yahoo.es>
Fix webp detection on some Macos systems
* configure.ac (HAVE_RSVG): Make webp detection work with Macos
10.3/Homebrew (bug#57420).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-27 Eli Zaretskii <eliz@gnu.org>
Fix regression with cursor motion in Magit buffers
* lisp/simple.el (line-move): Condition movement optimizations on
presence of very long lines. (Bug#57433)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-27 Eli Zaretskii <eliz@gnu.org>
Fix antialias face attribute when text is scaled
@@ -30766,7 +33095,7 @@
text is scaled. This reverts part of the changes installed in
commit bf0d3f7. (Bug#37473)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-27 Alan Mackenzie <acm@muc.de>
CC Mode: Remove double evaluation of self-quoting function in cc-langs.el
@@ -30775,7 +33104,7 @@
* lisp/progmodes/cc-langs.el (c-init-language-vars): Add a #' after the
funcall.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-27 Eli Zaretskii <eliz@gnu.org>
Support "replacement characters" on TTY frames
@@ -30795,7 +33124,7 @@
* lisp/faces.el (glyphless-char): Make the face stand out on TTY
frames that don't support the underline attribute.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-27 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'glyphless-char-display'
@@ -30803,7 +33132,7 @@
(gui_produce_glyphs, lookup_glyphless_char_display): Fix
indentation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-26 Po Lu <luangruo@yahoo.com>
Fix crash when handling "swallowed" generic events
@@ -30812,14 +33141,14 @@
* src/xterm.c (handle_one_xevent): Don't abort if must_free_data
and xi_event is NULL; this is an Xlib bug.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-08-26 Dmitry Gutov <dgutov@yandex.ru>
xref-matches-in-files: Use with-connection-local-variables
* lisp/progmodes/xref.el (xref-matches-in-files):
Use with-connection-local-variables (bug#57385).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-26 Stefan Kangas <stefankangas@gmail.com>
Use shr as default for mm-text-html-renderer
@@ -30827,14 +33156,14 @@
default to avoid a nil value.
Problem reported by Mattias Engdegård <mattiase@acm.org>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-26 Lars Ingebrigtsen <larsi@gnus.org>
Clarify the :box attributes in Face Attributes lispref node
* doc/lispref/display.texi (Face Attributes): Mention that the
elements are optional (bug#50699).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-26 Alan Mackenzie <acm@muc.de>
CC Mode: Fontify correctly a brace list element followed only
by syntactic WS
@@ -30847,7 +33176,7 @@
than rejecting it as an invalid declarator. Also reindent
a section of this function.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-26 Michael Albinus <michael.albinus@gmx.de>
Use `rx' in Tramp where possible
@@ -30909,7 +33238,7 @@
* test/lisp/net/tramp-tests.el: Use `rx' where possible.
(tramp-test01-file-name-syntax): Adapt test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-26 Lars Ingebrigtsen <larsi@gnus.org>
Make the *Ido COmpletions* buffer fit the window to the buffer
@@ -30918,7 +33247,7 @@
buffer is displayed (bug#50671). This means that we're defaulting
to fit-window-to-buffer.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-08-26 Augusto Stoffel <arstoffel@gmail.com>
New option 'thrifty' for Man-notify-method
@@ -30926,14 +33255,14 @@
method.
(Man-notify-method): Explain what 'thrifty' does (bug#57408).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-26 Lars Ingebrigtsen <larsi@gnus.org>
Delete blank lines at the start of the cited text in message-indent-citation
* lisp/gnus/message.el (message-indent-citation): Fix thinko in
the fix for the previous thinko.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-08-26 Basil L. Contovounesios <contovob@tcd.ie>
Fix recent gamegrid.el change for nox build
@@ -30941,7 +33270,7 @@
image-scaling-factor as special before dynamically binding it, for
the sake of --without-x builds which do not preload lisp/image.el.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-08-26 Basil L. Contovounesios <contovob@tcd.ie>
Pacify obsolete gv warnings in xt-mouse-tests.el
@@ -30949,7 +33278,7 @@
deprecated generalized variables frame-width and frame-height with
direct calls to set-frame-width and set-frame-height, respectively.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-26 Jim Porter <jporterbugs@gmail.com>
Kill the buffer for the temp file after using '$<command>' in Eshell
@@ -30958,13 +33287,13 @@
Ref: https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01444.html
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-26 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
e3b8577525 ; * etc/DEBUG: Fix wording of "X protocol errors" section.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-26 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -30972,7 +33301,7 @@
92e90297f9 * lisp/wdired.el: Doc fix; don't mention obsolete variable.
2ccefef4c7 * lisp/progmodes/etags.el (next-file): Minor doc fix.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-25 Po Lu <luangruo@yahoo.com>
Restore old code in x_sync_trigger_fence
@@ -30982,11 +33311,11 @@
asynchronously), and is much more recognizable for people coming from
other programs.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-25 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-25 Paul Eggert <eggert@cs.ucla.edu>
Fix overflows in HAVE_XSYNC timestamp handling
@@ -31011,14 +33340,14 @@
(x_display_set_last_user_time):
Use 0 more consistently to represent missing timestamps.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-25 Paul Eggert <eggert@cs.ucla.edu>
Fix unlikely core dump with Xaw
* lwlib/lwlib-Xaw.c (make_dialog): Don’t dump core if calloc fails.
Caught with --enable-gcc-warnings.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/cc-langs.el (c-make-no-parens-syntax-table): Fix bug#57065
@@ -31027,7 +33356,7 @@
function is not self-evaluating, such as when it's a symbol or
a value of the form (closure ...).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-25 Stefan Kangas <stefankangas@gmail.com>
Improve explanation of init file in FAQ
@@ -31038,7 +33367,7 @@
also updating the FAQ.
Ref: https://lists.gnu.org/r/emacs-devel/2022-08/msg01056.html
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-25 Stefan Kangas <stefankangas@gmail.com>
Don't refer to Emacs 24.3 or older in FAQ
@@ -31052,7 +33381,7 @@
price; it is currently incorrect and is likely to be incorrect again
in the future.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-25 Robert Pluim <rpluim@gmail.com>
Treat smtp-auth method from auth-info as a symbol
@@ -31066,7 +33395,7 @@
Do not merge to master
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-25 Stefan Kangas <stefankangas@gmail.com>
* lisp/wdired.el: Improve "Commentary" section.
@@ -31074,7 +33403,7 @@
* lisp/progmodes/etags.el (next-file): Minor doc fix.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Add a new user option grep-command-position
@@ -31082,32 +33411,32 @@
(grep-command-position): New user option.
(grep): Use it (bug#50502).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Document how :map and :scale interacts in image maps
* doc/lispref/display.texi (Image Descriptors): Mention problems
with scaling (bug#50487).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-25 Stefan Kangas <stefankangas@gmail.com>
Fix generalized variable documentation for recent change
* doc/lispref/variables.texi (Setting Generalized Variables): Delete
obsolete generalized variable 'frame-width'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Make a prefix go to the previous error
* lisp/textmodes/flyspell.el (flyspell-goto-next-error): Make a
prefix find the previous error (bug#50443).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Mention C-x C-q + revert change in NEWS
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-25 Robert Pluim <rpluim@gmail.com>
Treat smtp-auth method from auth-info as a symbol
@@ -31119,7 +33448,7 @@
* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Call
`intern-soft' on the smtp-auth key's value. (Bug#57373)
-2023-04-15 Kien Nguyen <kien.n.quang@gmail.com>
+2022-08-25 Kien Nguyen <kien.n.quang@gmail.com>
Allow symlink creation on MS-Windows without Administrator privileges
@@ -31127,7 +33456,7 @@
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag when available.
(Bug#57386)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix warning about obsoleted generalized variables
@@ -31135,14 +33464,14 @@
Autoload so that the call here from gv.el (about obsolete
generalized variables) doesn't bug out (bug#57394).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Make frame-width obsolete as a generalized variable
* lisp/emacs-lisp/gv.el (frame-width): Make obsolete as
generalized variable.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-08-25 Daniel Martín <mardani29@yahoo.es>
Fix instrumented eval-defun not printing "Edebug:" to the echo area
@@ -31153,11 +33482,11 @@
* test/lisp/progmodes/elisp-mode-tests.el
(eval-defun-prints-edebug-when-instrumented): Add a new test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Add hideshow-test.el file (bug#56635)
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-25 kobarity <kobarity@gmail.com>
Add Python blocks support for hideshow
@@ -31179,7 +33508,7 @@
(python-hideshow-hide-all-3, python-hideshow-hide-block-1): New
tests (bug#56635).
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-25 kobarity <kobarity@gmail.com>
Extend `hs-special-modes-alist' for languages such as Python
@@ -31199,7 +33528,7 @@
* test/lisp/progmodes/hideshow-tests.el: New test file (bug#56635).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-25 Lars Ingebrigtsen <larsi@gnus.org>
Allow not deleting the config.cache file with "make FAST=true bootstrap"
@@ -31211,7 +33540,7 @@
* admin/emake (cores): Adjust.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-25 Michael Albinus <michael.albinus@gmx.de>
Minor fixes in tramp-tests.el
@@ -31221,11 +33550,11 @@
or lasted too long.
(tramp--test-shell-file-name): Do not depend on `tramp--test-adb-p'.
-2023-04-15 Andreas Schwab <schwab@suse.de>
+2022-08-25 Andreas Schwab <schwab@suse.de>
* configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHECK. (Bug#57380)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-25 Po Lu <luangruo@yahoo.com>
Fix various problems with mouse highlight on XI2 builds
@@ -31237,14 +33566,14 @@
* src/xterm.h (struct xi_device_t): New fields
`last_motion_window', `last_motion_x' and `last_motion_y'.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-08-24 Dmitry Gutov <dgutov@yandex.ru>
vc-merge: Look for 'merge-file' instead of 'merge'
* lisp/vc/vc.el (vc-merge):
Look for 'merge-file' in second clause (bug#50258).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-24 Alan Mackenzie <acm@muc.de>
C++ Mode - Fontify "class Foo {\n ~Foo() noexcept;" correctly
@@ -31258,7 +33587,7 @@
`c-not-decl' to the values of c-type which are erased at the start of a
fontification.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-24 Eli Zaretskii <eliz@gnu.org>
Fix handling of UNCs in 'parse-colon-path
@@ -31269,7 +33598,7 @@
expected results.
(files-colon-path): Add a new test pattern.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-24 Alan Mackenzie <acm@muc.de>
CC Mode: Fontify args correctly when arglist closing ) is not on the same line
@@ -31284,7 +33613,7 @@
starting inside a [ or (. Tidy up the handling of syntactic whitespace at the
end of the buffer.
-2023-04-15 Santiago Calandrino <san@disroot.org> (tiny change)
+2022-08-24 Santiago Calandrino <san@disroot.org> (tiny change)
Fix string padding in gdb-mi
@@ -31293,14 +33622,14 @@
(gdb-pad-string): Unobsolete.
(gdb-table-string): Re-fix string padding.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't lose read-only marking when reverting a view-mode buffer
* lisp/view.el (view--enable): Don't lose read-only-ness when
reverting (bug#35166).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-24 Lars Ingebrigtsen <larsi@gnus.org>
When reverting, preserve the readedness state set by `C-x C-q'
@@ -31309,7 +33638,7 @@
* lisp/simple.el (read-only-mode): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-24 Po Lu <luangruo@yahoo.com>
Fix input extension focus tracking with some window managers
@@ -31318,21 +33647,21 @@
detect focus changes when XInput 2 is enabled. The X server
will tell us the actual truth if the focus really did change.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-24 Stefan Kangas <stefankangas@gmail.com>
Make mh-colors-available-p obsolete
* lisp/mh-e/mh-utils.el (mh-colors-available-p): Redefine as
obsolete function alias for 'display-color-p'.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-24 Stefan Kangas <stefankangas@gmail.com>
Prefer saying "init file" to ".emacs" in FAQ
* doc/misc/efaq.texi: Prefer saying "init file" to
".emacs". (Bug#49424)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-23 Stefan Kangas <stefan@marxist.se>
Use substitute-command-keys in a few more places
@@ -31341,7 +33670,7 @@
* lisp/progmodes/cperl-mode.el (cperl-narrow-to-here-doc): Use
substitute-command-keys.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-23 Stefan Kangas <stefankangas@gmail.com>
Move generalized variable `substring' doc to elisp manual
@@ -31350,7 +33679,7 @@
* doc/lispref/variables.texi (Setting Generalized Variables):
...to here.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-23 Stefan Kangas <stefankangas@gmail.com>
Move generalized variable docs to elisp manual
@@ -31360,7 +33689,7 @@
* doc/lispref/variables.texi (Setting Generalized Variables):
...to here. These variables have already been moved to gv.el.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-23 Stefan Kangas <stefankangas@gmail.com>
Update documentation for obsolete generalized variables
@@ -31368,11 +33697,11 @@
variables from list.
* etc/NEWS: Fix sorting of obsolete generalized variables.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-23 Gregory Heytings <gregory@heytings.org>
Merge master into feature/improved-locked-narrowing.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-23 Gregory Heytings <gregory@heytings.org>
Improve detection of long lines.
@@ -31388,11 +33717,11 @@
* src/pdumper.c (dump_buffer): Dump the new field.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-23 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entry about obsoleted generalized variables
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-23 Stefan Kangas <stefankangas@gmail.com>
Make XEmacs compat alias face-background-pixmap obsolete
@@ -31406,20 +33735,20 @@
* doc/misc/cl.texi (Setf Extensions): Refer to above new generalized
variable instead of the obsolete one.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/elisp-mode.el (elisp--local-variables-1): Fix bug#50034
Don't burp if the arg list of a function is not actually a list.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-23 Stefan Kangas <stefankangas@gmail.com>
Make Emacs 20 compat alias obsolete in eudcb-ldap.el
* lisp/net/eudcb-ldap.el (eudc-ldap-get-host-parameter): Make
Emacs 20 compat alias obsolete.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-08-23 Gerd Möllmann <gerd@gnu.org>
Fix pixel-scroll-precision in a corner case
@@ -31428,7 +33757,7 @@
(pixel-scroll-precision-scroll-up): Handle case that window is one line high
(bug#57349)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-23 Po Lu <luangruo@yahoo.com>
Make frame synchronization conditional on clock_gettime
@@ -31439,7 +33768,7 @@
* src/xterm.h (struct x_output): Define out vsync code when
!HAVE_CLOCK_GETTIME. (bug#57346)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-23 Po Lu <luangruo@yahoo.com>
Make frame synchronization conditional on clock_gettime
@@ -31450,14 +33779,14 @@
* src/xterm.h (struct x_output): Define out vsync code when
!HAVE_CLOCK_GETTIME.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-23 Lars Ingebrigtsen <larsi@gnus.org>
Disable a lisp-mode test that now fails
* test/lisp/emacs-lisp/lisp-mode-tests.el
(test-lisp-current-defun-name): Comment-out now-failing tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-23 Lars Ingebrigtsen <larsi@gnus.org>
Revert the changes to lisp-current-defun-name
@@ -31467,14 +33796,14 @@
that, say, `make-obsolete-variable' is about the second symbol and
not the first.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-23 Lars Ingebrigtsen <larsi@gnus.org>
Don't mention obsolete generalized variables in *Help*
* lisp/help-fns.el (help-fns--generalized-variable): Don't mention
obsolete ones.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-23 Lars Ingebrigtsen <larsi@gnus.org>
Make buffer-local-value obsolete as a generalized variable
@@ -31486,20 +33815,20 @@
(buffer-local-value): Make obsolete as a generalized variable
since the semantics are unclear (bug#26624).
-2023-04-15 Thierry Volpiatto <thievol@posteo.net>
+2022-08-23 Thierry Volpiatto <thievol@posteo.net>
Fix wdired with (dired '(dir f1 f2 ...))
* lisp/wdired.el (wdired-finish-edit): Fix wdired with (dired
'(dir f1 f2 ...)) (bug#57334).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-23 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
1dd0a5c5db ; * doc/misc/htmlfontify.texi: Fix version.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-08-22 Augusto Stoffel <arstoffel@gmail.com>
Fix completion-predicate of Python shell commands
@@ -31507,7 +33836,7 @@
(python-shell--completion-predicate): New completion predicate
function. (Bug#57184)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-22 Stefan Kangas <stefankangas@gmail.com>
Make point-at-eol and point-at-bol obsolete
@@ -31516,7 +33845,7 @@
'pos-eol'/'line-end-position'. Update callers.
Ref: https://lists.gnu.org/r/emacs-devel/2022-08/msg00853.html
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-22 Po Lu <luangruo@yahoo.com>
Allow disabling the input extension at runtime on GTK 3
@@ -31524,7 +33853,7 @@
(x_term_init): Do not enable the input extension should that
fail.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix some no-X build warnings
@@ -31540,7 +33869,7 @@
* lisp/emacs-lisp/icons.el (icons--create): Avoid warnings on no-X
builds.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-22 Michael Albinus <michael.albinus@gmx.de>
auth-source: Fix wrong-type-argument when searching secret services
@@ -31553,14 +33882,14 @@
* lisp/auth-source.el (auth-source-secrets-search):
Ensure attributes are string. (Bug#55199)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Link the "f" interactive spec to `read-file-name' in the manual
* doc/lispref/commands.texi (Interactive Codes): Link to the
Reading File Names node.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-22 Robert Pluim <rpluim@gmail.com>
Use the attributes of frame's monitor for gamegrid
@@ -31568,7 +33897,7 @@
monitor where the current frame is displayed rather than the primary
monitor.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-22 Stefan Kangas <stefankangas@gmail.com>
Prefer pos-bol and pos-eol in tabulated-list.el
@@ -31577,21 +33906,21 @@
(tabulated-list-set-col, tabulated-list-previous-column): Prefer
pos-bol and pos-eol.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Make ispell-find-hunspell-dictionaries more resilient
* lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
Try harder to find the dictionary (bug#49982).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix indent-tabs-mode globality
* lisp/simple.el (indent-tabs-mode): This is not a global mode, so
don't claim it is (bug#49971).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Make the size of elements the same in pgtk and X in tetris
@@ -31601,7 +33930,7 @@
both X and pgtk (bug#49937).
(gamegrid-make-glyph): Inhibit image scaling.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Remove probably debugging code in reb-fontify-string-re
@@ -31609,7 +33938,7 @@
code that looks like left-over debugging code. This fixes a
compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Make start/end in libxml-parse-html-region optional
@@ -31619,25 +33948,25 @@
(Flibxml_parse_html_region, Flibxml_parse_xml_region): Make
start/end optional.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix defcustom type of auto-save-file-name-transforms
* lisp/files.el (auto-save-file-name-transforms): Fix the
defcustom type (bug#57321).
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-08-22 Gerd Möllmann <gerd@gnu.org>
LLDB support: handle unsorted enum member lists
* etc/emacs_lldb.py (enumerator_name): Handle the case that enum
member list is not sorted by value.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-22 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix some type spec
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-22 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -31646,14 +33975,14 @@
c3087b59f0 ; * lisp/find-file.el (ff-other-file-alist): Another doc f...
1e1263b00b * lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-21 Po Lu <luangruo@yahoo.com>
Fix child frame focus for MPX environments
* src/xterm.c (handle_one_xevent): Set child frame click-to
focus on the pointer device's attachment.
-2023-04-15 Gonzalo Larumbe <gonzalomlarumbe@gmail.com>
+2022-08-21 Gonzalo Larumbe <gonzalomlarumbe@gmail.com>
Fix more lexical-binding fallout in vhdl-speedbar-insert-hierarchy
@@ -31661,14 +33990,14 @@
Check the input arguments, not the dynamically bound `end-arglist'
(bug#57327).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Make *Help* display info about generalized variables
* lisp/help-fns.el (help-fns--generalized-variable): New function
to document generalized variables.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Make the generalized buffer-local-variable obsolete"
@@ -31676,11 +34005,11 @@
This led to the local modes not working.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Make the generalized buffer-local-variable obsolete
@@ -31697,11 +34026,11 @@
* lisp/emacs-lisp/gv.el (make-obsolete-generalized-variable): Move
to allow usage.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-08-21 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.4-19-g4dff42
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-21 Gregory Heytings <gregory@heytings.org>
Minor improvements to locked narrowing.
@@ -31710,14 +34039,14 @@
* src/editfns.c (Fwiden, Fnarrowing_lock): Docstring improvements.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Adjust autorevert tests to recent change
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert):
Adjust test to code change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Make many seldom-used generalized variables obsolete
@@ -31737,7 +34066,7 @@
* lisp/org/oc-basic.el (org-cite-basic--set-keymap): Adjust
buffer-substring generalized variable usage.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Make it possible to mark generalized variables as obsolete
@@ -31754,7 +34083,7 @@
variables (bug#49730).
(make-obsolete-generalized-variable): New function.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-21 Gregory Heytings <gregory@heytings.org>
Better way to protect redisplay routines from locked narrowings.
@@ -31767,27 +34096,27 @@
Update docstring.
(Fnarrowing_lock): Update docstring.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-21 Gregory Heytings <gregory@heytings.org>
Revert 4f19e1a5d1
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-21 Eli Zaretskii <eliz@gnu.org>
* lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#57325)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Mention delete-line in shortdoc
* lisp/emacs-lisp/shortdoc.el (buffer): Mention delete-line.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Simplify `delete-line'
* lisp/subr.el (delete-line): Simplify.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-21 Stefan Kangas <stefankangas@gmail.com>
Prefer pos-bol and pos-eol in bookmark.el
@@ -31795,21 +34124,21 @@
(bookmark--remove-fringe-mark, bookmark-kill-line)
(bookmark--jump-via): Prefer pos-bol and pos-eol.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Remove a newline from the end of an error message
* src/pdumper.c (dump_native_comp_unit): Remove newline from end
of error message.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-21 Mattias Engdegård <mattiase@acm.org>
Fix eshell-pipe-broken signalling
* lisp/eshell/esh-io.el (eshell-output-object-to-target):
Second argument to `signal` should be a list.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-21 Stefan Kangas <stefankangas@gmail.com>
Mark another esh-proc test as unstable
@@ -31817,7 +34146,7 @@
(esh-proc-test/pipeline-connection-type/middle): Mark test as unstable
as it fails quite a lot.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-21 Stefan Kangas <stefankangas@gmail.com>
Prefer pos-bol and pos-eol in tests
@@ -31872,21 +34201,21 @@
* test/src/undo-tests.el (undo-test-skip-invalidated-markers): Prefer
pos-bol and pos-eol.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-21 Stefan Kangas <stefankangas@gmail.com>
Don't end autorevert message with a period
* lisp/autorevert.el (auto-revert-handler): Don't end message with
a period.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Tweak emacs-bug--system-description
* lisp/mail/emacsbug.el (emacs-bug--system-description): Fill the
commonly-overlong Emacs version bit.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-21 Mattias Engdegård <mattiase@acm.org>
Update function properties and optimisations
@@ -31898,21 +34227,21 @@
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
Mark pos-bol and pos-eol as side-effect-free.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-21 Mattias Engdegård <mattiase@acm.org>
* lisp/emacs-lisp/shortdoc.el (buffer): Add missing functions
Add preceding-char and char-before because following-char and
char-after were already there.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-08-21 Gerd Möllmann <gerd@gnu.org>
Fix src-depending-on-lisp target
* Makefile.in (src-depending-on-lisp): Pass BIN_DESTDIR and
ELN_DESTDIR to make -C src (bug#57309).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Mark esh-proc test as unstable
@@ -31920,7 +34249,7 @@
(esh-proc-test/pipeline-connection-type/last): Mark test as
unstable as it fails quite a lot.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-21 Lars Ingebrigtsen <larsi@gnus.org>
Rename newly-added eol/bol functions to pos-eol/pos-bol
@@ -31929,21 +34258,21 @@
* src/editfns.c (Fpos_bol): Rename from Fpos.
(Fpos_eol): Rename from Feol.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-21 Gregory Heytings <gregory@heytings.org>
Fix mode line redisplay bug when locked narrowing is in effect.
* src/xdisp.c (decode_mode_spec): Use the actual narrowing bounds when
redisplay is called while a locked narrowing is in effect.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-21 Po Lu <luangruo@yahoo.com>
Minor optimization to x_query_pointer_1
* src/xterm.c (x_query_pointer_1): Clear client pointer if it
disappeared.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-20 Gregory Heytings <gregory@heytings.org>
Fix user narrowing handling.
@@ -31952,7 +34281,7 @@
(Fwiden, Fnarrow_to_region): Set and reset the variable.
(Fnarrowing_lock): Use it.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-20 Gregory Heytings <gregory@heytings.org>
Improved locked narrowing.
@@ -31973,11 +34302,11 @@
* lisp/subr.el (with-locked-narrowing): New macro.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-20 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (package-vc-unpack): Ignore dir files
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-20 Lars Ingebrigtsen <larsi@gnus.org>
Don't use the system-file-manager icon in the toolbar
@@ -31986,7 +34315,7 @@
n:system-file-manager, because it's larger than the other Gtk
icons in some themes (bug#56627).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-20 Lars Ingebrigtsen <larsi@gnus.org>
Make conf-javaprop-mode only claim that # lines are comments
@@ -31996,18 +34325,18 @@
(conf-javaprop-mode): Adjust doc string to just mention #
comments.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-20 Lars Ingebrigtsen <larsi@gnus.org>
Tweak admin/emacs output
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-20 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp's manual
* doc/misc/tramp.texi (Frequently Asked Questions):
Improve recommendations for speeding up.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-08-20 Protesilaos Stavrou <info@protesilaos.com>
Fix typos in modus-themes.org
@@ -32017,25 +34346,25 @@
(Custom Org emphasis faces, Note on git-gutter in Doom Emacs): Fix
typographic errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-19 Po Lu <luangruo@yahoo.com>
Fix crash when the keymap changes
* src/xterm.c (handle_one_xevent): Call
XkbRefreshKeyboardMapping first before trying to update the map.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-19 Mattias Engdegård <mattiase@acm.org>
Move `while` syntax check from optimiser to macroexpand
* lisp/emacs-lisp/byte-opt.el (byte-optimize-while): Move check...
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): ...here.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-19 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (package-vc-unpack): Mark packages as selected
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Fix return value of help--key-description-fontified
@@ -32049,7 +34378,7 @@
* test/lisp/help-tests.el (help--key-description-fontified): New test.
(with-substitute-command-keys-test): Fix indentation.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Display new keybinding in obsolete command warning
@@ -32057,25 +34386,25 @@
* lisp/simple.el (command-execute): When warning about an obsolete
command, display the keybinding for the new command.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
* lisp/bookmark.el (bookmark-menu-heading): Delete face.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Ignore variable Info-fontify, deleted in 22.1
* lisp/info.el (Info-mode-hook): Don't obey variable Info-fontify,
deleted in Emacs 22.1.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Make two compat aliases obsolete in cc-defs.el
* lisp/progmodes/cc-defs.el (c-regexp-opt, c-regexp-opt-depth):
Make compat alias obsolete.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Delete two functions obsolete since Emacs 23
@@ -32092,7 +34421,7 @@
(set-process-filter-multibyte): Delete obsoletion.
* lisp/erc/erc-dcc.el (erc-dcc-server): Don't use obsolete functions.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -32103,7 +34432,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Resurrect obsoletion warning for two functions
@@ -32114,39 +34443,39 @@
(set-process-filter-multibyte): Resurrect obsoletion warning.
* etc/NEWS: Don't announce their deletion.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-19 Alan Mackenzie <acm@muc.de>
* src/window.c (select_window): Fix assert for buffer = non-active minibuffer
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in doc-view.el
* lisp/doc-view.el (doc-view-mode-map, doc-view-minor-mode-map)
(doc-view-presentation-mode-map): Prefer defvar-keymap.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-19 Robert Pluim <rpluim@gmail.com>
Improve 'ns-read-file-name' docstring
* src/nsfns.m (Fns_read_file_name): Use '-' instead of '_' when naming
args.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-19 Robert Pluim <rpluim@gmail.com>
Mark only VS-16 as emoji
* admin/unidata/blocks.awk: Only mark U+FE0F as belonging to the
'emoji' script. (Bug#57072)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix underscores in argument names in ns-win
* lisp/term/ns-win.el (x-file-dialog): Don't use underscores in
argument names.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-08-19 Augusto Stoffel <arstoffel@gmail.com>
python.el: Add completion-predicate symbol property to commands
@@ -32157,7 +34486,7 @@
appropriate completion-predicate properties.
(python--completion-predicate): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-19 Lars Ingebrigtsen <larsi@gnus.org>
Add new functions eol and bol
@@ -32172,7 +34501,7 @@
(Feol): New defun.
(Fline_end_position): Use `eol'.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-08-19 Augusto Stoffel <arstoffel@gmail.com>
python-mode: Remove special outline-heading-end-regexp
@@ -32182,7 +34511,7 @@
* lisp/progmodes/python.el (python-mode): Remove buffer-local setting
of outline-heading-end-regexp. (Bug#53913)
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-08-19 Augusto Stoffel <arstoffel@gmail.com>
python.el: Adjustments to Flymake backend
@@ -32191,7 +34520,7 @@
(python-flymake-command-output-pattern): Make compatible with recent
versions of pyflakes. (Bug#53913)
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-08-19 Augusto Stoffel <arstoffel@gmail.com>
python-check-command: Don't use absolute file names
@@ -32201,14 +34530,14 @@
* lisp/progmodes/python.el (python-check-command): Don't use absolute
file names. (Bug#53913)
-2023-04-15 Paul A. Patience <paul@apatience.com> (tiny change)
+2022-08-19 Paul A. Patience <paul@apatience.com> (tiny change)
Fix mis-spelling of c-awk-old-ByLL and really make it buffer-local
* lisp/progmodes/cc-awk.el (c-awk-old-ByLL): Make the
correct variable buffer-local (bug#57294).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-19 Mattias Engdegård <mattiase@acm.org>
* lisp/edmacro.el (edmacro-sanitize-for-string): Fix condition.
@@ -32216,21 +34545,21 @@
vector of keys representing a prefix, where bit 7 isn't likely to be
set when higher bits are set, but it silences a (justified) warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix region-extract-function compilation warning
* lisp/simple.el (region-extract-function): Clean up the logic
slightly to avoid a warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix ns-win.el (x-file-dialog) declaration
* lisp/term/ns-win.el (x-file-dialog): Give the function the same
signature here as other definitions.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-08-19 Protesilaos Stavrou <info@protesilaos.com>
Update the modus-themes to their 2.6.0 version
@@ -32259,14 +34588,14 @@
Detailed release notes:
<https://protesilaos.com/codelog/2022-08-19-modus-themes-2-6-0/>.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-08-19 Gerd Möllmann <gerd@gnu.org>
Find libgccjit on macOS with Homebrew differently
* configure.ac (MAC_LIBS): Find libgccjit's directory slightly
differently for brew installations.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-19 Andrea Corallo <akrl@sdf.org>
* src/pdumper.c (dump_native_comp_unit): Error if CU is not fixed-up
@@ -32274,33 +34603,33 @@
* src/pdumper.c (Fdump_emacs_portable): Check and warn for pure space overflow
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-08-19 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Remove treesit manual entries for deleted functions
* doc/lispref/parsing.texi: Remove documentation for
treesit-get-parser-create and treesit-get-parser.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-19 John Wiegley <johnw@newartisans.com>
Revert "Remove use-package-font-lock-keywords"
This reverts commit 4938167bfffcf08279445827d2eaae78c9557675.
-2023-04-15 Morgan Smith <Morgan.J.Smith@outlook.com>
+2022-08-19 Morgan Smith <Morgan.J.Smith@outlook.com>
Speed up image-dired-display-image
* lisp/image-dired.el (image-dired-display-image): Open file literally
so we don't run image-mode twice. (Bug#57281)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
e64d811b51 Improve image-mode-as-hex docstring
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-18 Po Lu <luangruo@yahoo.com>
Fix more calls to XQueryPointer for MPX
@@ -32313,13 +34642,13 @@
x_query_pointer_1 with the right device instead of
XQueryPointer.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-18 John Wiegley <johnw@newartisans.com>
Merge pull request from belak/remove-extra-font-lock-keywords
GitHub-reference: https://github.com/jwiegley/use-package/issues/859
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Improve obsoletion of image-transform-fit-to-{height,width}
@@ -32327,32 +34656,32 @@
(image-transform-fit-to-width): Change obsoletion to refer to new
command 'image-transform-fit-to-window'.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-18 Andrea Corallo <akrl@sdf.org>
* Rename `comp--typeof-builtin-types'
* lisp/emacs-lisp/comp-cstr.el (comp--typeof-builtin-types): Rename.
(comp-normalize-valset, comp-common-supertype-2): Update.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-18 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp-cstr.el (comp--all-builtin-types): Remove
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-08-18 Arash Esbati <arash@gnu.org>
Adjust the environment name for the minted package
* lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Fix
the name of the environment which can contain a \label macro.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Improve image-mode-as-hex docstring
* lisp/image-mode.el: Fix typos.
(image-mode-as-hex): Doc fix; say that it uses 'hexl-mode' and reflow.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Do interactive mode tagging in image-mode.el
@@ -32370,7 +34699,7 @@
(image-transform-original, image-transform-reset): Add interactive tag
for image-mode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Make toggling between image, hex and text more consistent
@@ -32380,7 +34709,7 @@
(image-mode-as-hex, image-mode-as-text): Enable image-minor-mode also
in hexl-mode, which adds the "C-c C-x" keybinding for easier toggling.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-18 Stefan Kangas <stefan@marxist.se>
New command image-transform-set-percent
@@ -32388,14 +34717,14 @@
(image-mode-map): Bind above new command to "s p".
* doc/emacs/files.texi (Image Mode): Document it.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Prefer defvar-keymap in image-mode.el
* lisp/image-mode.el (image-mode-map, image-minor-mode-map):
Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -32404,39 +34733,39 @@
254ba1d3e5 * lisp/image-mode.el: Improve commentary.
ac43ac1af9 cl-reduce doc string improvement
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
* lisp/image-mode.el (image-mode-as-hex): Fix toggle instructions.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-18 Michael Albinus <michael.albinus@gmx.de>
Fix encoding problem in tramp-sh.el
* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
Compute inline coding only if needed.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-18 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/misc/cl.texi (Macro Bindings): Fix bug#57263
Update `cl-symbol-macrolet` according to the change in response to bug#26073.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
* lisp/image-mode.el: Improve commentary.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-18 Mattias Engdegård <mattiase@acm.org>
Fix string-to-syntax signature in comp-known-type-specifiers
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers):
`string-to-syntax` can return nil.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-18 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix some type
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-18 Mattias Engdegård <mattiase@acm.org>
More non-nil-returning functions in source optimisation
@@ -32447,7 +34776,7 @@
* lisp/emacs-lisp/byte-opt.el (byte-compile-trueconstp):
Extend list of functions and fix a typo (logxor).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-18 Mattias Engdegård <mattiase@acm.org>
Copy-edit doc strings and comments wrt bignum and fixnum
@@ -32465,7 +34794,7 @@
* src/pgtkselect.c:
* src/xselect.c: Edit comments.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-18 kobarity <kobarity@gmail.com>
Fix Python indentation of block continuation
@@ -32475,7 +34804,7 @@
* test/lisp/progmodes/python-tests.el
(python-indent-after-backslash-6): New test (bug#57262).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-18 Lars Ingebrigtsen <larsi@gnus.org>
Make GEN message from loaddefs-generate nicer
@@ -32483,14 +34812,14 @@
informational GEN file relative to the stated directory
(bug#57265). This makes the message nicer for ELPA packages.
-2023-04-15 Colin Woodbury <colin@fosskers.ca>
+2022-08-18 Colin Woodbury <colin@fosskers.ca>
cl-reduce doc string improvement
* lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what happens when
using :from-end (bug#57273).
-2023-04-15 Gerd Möllmann <gerd.moellmann@gmail.com>
+2022-08-18 Gerd Möllmann <gerd.moellmann@gmail.com>
Rebuild the Emacs executable if loaddefs.el has changed
@@ -32498,14 +34827,14 @@
whether we need to rebuild the Emacs executable if loaddefs.el has
been updated.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Improve update-directory-autoloads deprecation message
* lisp/obsolete/autoload.el (update-directory-autoloads): Improve
deprecation message. (Bug#57276)
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
Improve cryptic syntax switch message in re-builder
@@ -32514,11 +34843,11 @@
* lisp/emacs-lisp/re-builder.el (reb-change-syntax): ...to here.
Change it to be less cryptic.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-18 Andrea Corallo <akrl@sdf.org>
* lisp/loadup.el: Always fix-up all loaded compilation units
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-18 Andrea Corallo <akrl@sdf.org>
* Expose `comp-loaded-comp-units-h'
@@ -32526,7 +34855,7 @@
(syms_of_comp): Define `comp-loaded-comp-units-h'.
(register_native_comp_unit, Fnative_elisp_load): Use it.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-08-18 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Add treesit-parser-delete
@@ -32545,11 +34874,11 @@
(Qtreesit_parser_deleted): New error.
* src/treesit.h (Lisp_TS_Parser): New field 'deleted'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-18 Philip Kaludercic <philipk@posteo.net>
Merge remote-tracking branch 'origin/master' into feature/package+vc
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-18 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS build
@@ -32557,7 +34886,7 @@
* msdos/sedlibmk.inp (STDCKDINT_H)
(GL_GENERATE_STDCKDINT_H_CONDITION): Update these variables too.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-18 Paul Eggert <eggert@cs.ucla.edu>
Fix broken build on Solaris 10 emacs_spawn
@@ -32565,19 +34894,19 @@
pty_flag no longer exists. Use pty_in && std_in >= 0,
which at least compiles.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-17 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-08-17 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/bytecomp.el (byte-compile-log-1): Create buffer if necessary
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-17 Alan Mackenzie <acm@muc.de>
* lisp/progmodes/cc-defs.el (c-safe-scan-lists): Evaluate LIMIT just once
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-08-17 Basil L. Contovounesios <contovob@tcd.ie>
Fix Linux APM BIOS flag testing in battery.el
@@ -32587,14 +34916,14 @@
* lisp/battery.el (battery-linux-proc-apm): Treat result of logand
as a number, not boolean.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Shorten new manual section "Shell Command Guessing"
* doc/emacs/dired.texi (Shell Command Guessing): Don't document
unimportant details, and improve wording to be shorter.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Assume dired-guess is now always available
@@ -32604,7 +34933,7 @@
(dired-do-shell-command): Doc fix; dired-guess is always available.
* lisp/dired.el (dired-do-man): Don't require dired-x.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Move dired-guess commands from dired-x to dired
@@ -32637,25 +34966,25 @@
above changes.
* etc/NEWS: Announce the above change.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Make compat function cperl-putback-char obsolete
* lisp/progmodes/cperl-mode.el (cperl-putback-char): Make
obsolete. Update callers.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
* lisp/progmodes/cperl-mode.el: Improve commentary.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Don't check if autoloaded functions are fboundp
* lisp/progmodes/cperl-mode.el (cperl-menu, cperl-init-faces):
Assume some autoloaded ps-print.el functions are always there.
-2023-04-15 Brendan O'Dea <bod@debian.org>
+2022-08-17 Brendan O'Dea <bod@debian.org>
em-unix.el: only pass -H option to grep
@@ -32663,7 +34992,7 @@
breaks agrep/glimpse etc (bug#57247).
(eshell/grep, eshell/egrep, eshell/fgrep): Instead add it here.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-17 kobarity <kobarity@gmail.com>
Enhance Python font-lock to support multilines
@@ -32681,7 +35010,7 @@
(python-mode): Set `python-font-lock-extend-region' to
`font-lock-extend-after-change-region-function'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-17 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Add Python blocks support for hideshow"
@@ -32689,7 +35018,7 @@
This led to test failures.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Fix some recently introduced byte-compiler warnings
@@ -32698,7 +35027,7 @@
* lisp/net/eudc-export.el (eudc-batch-export-records-to-bbdb):
Fix buglet.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-17 kobarity <kobarity@gmail.com>
Add Python blocks support for hideshow
@@ -32720,7 +35049,7 @@
(python-hideshow-hide-all-3, python-hideshow-hide-block-1): New
tests (bug#56635).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-17 Stefan Kangas <stefankangas@gmail.com>
Merge from origin/emacs-28
@@ -32728,7 +35057,7 @@
dd077ebded Revert "; * doc/lispintro/emacs-lisp-intro.texi: Fix typo."
362c9ab879 * doc/misc/gnus.texi (Article Washing): Fix Links URL.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-16 Po Lu <luangruo@yahoo.com>
Avoid disabling device multiple times while handling XI attachment events
@@ -32736,15 +35065,15 @@
notice it has been disabled while handling XISlaveDetached or
XISlaveAttached.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-16 Stefan Monnier <monnier@iro.umontreal.ca>
* src/buffer.c (Frename_buffer): Fix bug#56693
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-16 Mattias Engdegård <mattiase@acm.org>
* lisp/dired.el (dired-mark-if): Evaluate MSG once to avoid warning.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-16 Mattias Engdegård <mattiase@acm.org>
Improved `null` (alias `not`) optimisation
@@ -32752,7 +35081,7 @@
* lisp/emacs-lisp/byte-opt.el (byte-optimize-not): New.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-16 Mattias Engdegård <mattiase@acm.org>
Improved `and` and `or` optimisation
@@ -32760,7 +35089,7 @@
Rewrite. Avoid branching on arguments statically known to be true or
false, and hoist code out to an unconditional prefix when possible.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-16 Mattias Engdegård <mattiase@acm.org>
Improved `if` and `while` optimisation
@@ -32775,7 +35104,7 @@
(byte-optimize-if): Add transformations above and refactor.
(byte-optimize-while): Better static nil-detection.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-16 Mattias Engdegård <mattiase@acm.org>
Improved static detection of nil and non-nil expressions
@@ -32784,11 +35113,11 @@
nil or non-nil result in more cases. These functions have grown and
are no longer defsubst.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-16 Michael Albinus <michael.albinus@gmx.de>
Fix autoload in tramp.el
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-16 Michael Albinus <michael.albinus@gmx.de>
Handle root permissions on remote files
@@ -32807,14 +35136,14 @@
(ramp-default-user-alist, tramp-find-shell):
* lisp/net/tramp-sudoedit.el (tramp-default-user-alist): Use them.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-16 Lars Ingebrigtsen <larsi@gnus.org>
dired-do-shell-command doc string clarification
* lisp/dired-aux.el (dired-do-shell-command): Clarify doc string
(bug#57228).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
Advertise obsolete library pgg.el less
@@ -32831,7 +35160,7 @@
from 'mh-identity-gpg-default-user-id', and make the old name into
obsolete variable alias. Update all uses.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-16 Po Lu <luangruo@yahoo.com>
Fix XInput hierarchy events not being delivered in daemon mode
@@ -32841,7 +35170,7 @@
* src/xterm.c (xi_select_hierarchy_events, x_term_init): Select
those here instead, on the default root window.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-16 Lars Ingebrigtsen <larsi@gnus.org>
Make message-delete-line obsolete
@@ -32851,20 +35180,20 @@
(message-send-mail-with-mh, message-generate-headers)
(message-fill-field-general): Adjust callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix buffer-start cleanup in message-indent-citation
* lisp/gnus/message.el (message-indent-citation): Fix thinko in loop.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-16 Eli Zaretskii <eliz@gnu.org>
Don't look for long lines beyond the narrowed region
* src/xdisp.c (redisplay_window): Don't scan for newlines outside
the current buffer's restriction.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
Revert "; * doc/lispintro/emacs-lisp-intro.texi: Fix typo."
@@ -32872,7 +35201,7 @@
This was not a typo, but incorrectly matching parens in Info-mode.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
Modernize spam section in Gnus manual slightly
@@ -32885,11 +35214,11 @@
(The problem of spam): Use example.org in example.
(SpamAssassin, Hashcash): Improve wording.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/gnus.texi (Article Washing): Fix Links URL.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
Delete implicit XEmacs references from Gnus manual
@@ -32897,7 +35226,7 @@
Delete some implicit references to XEmacs.
(RSS): Fix default value.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-16 Jim Porter <jporterbugs@gmail.com>
Make the bookmark fringe icon look like a bookmark
@@ -32928,7 +35257,7 @@
* etc/NEWS: Announce this change (bug#56896).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-15 Jim Porter <jporterbugs@gmail.com>
Fix non-interactive use of conditionals in Eshell
@@ -32948,7 +35277,7 @@
(esh-cmd-test/unless-else-statement-ext-cmd): Use
'eshell-command-result-equal'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-15 Jim Porter <jporterbugs@gmail.com>
Add 'eshell-command-result-equal' with an ERT explainer
@@ -32963,7 +35292,7 @@
* test/lisp/eshell/esh-var-tests.el
* test/lisp/eshell/eshell-tests.el: Use 'eshell-command-result-equal'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-15 Jim Porter <jporterbugs@gmail.com>
Provide ERT explainer for 'eshell-match-command-output'
@@ -32990,7 +35319,7 @@
* test/lisp/eshell/eshell-tests-helpers.el
* test/lisp/eshell/eshell-tests.el: Use 'eshell-match-command-output'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-15 Po Lu <luangruo@yahoo.com>
Avoid lowering child frames below scroll bars on X
@@ -32998,21 +35327,21 @@
(x_lower_frame): Avoid calling XLowerFrame when there is a
parent with scroll bars.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-08-15 Stefan Kangas <stefankangas@gmail.com>
* doc/misc/gnus.texi (Troubleshooting): Update section.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/lispref/functions.texi (What Is a Function): Improve further
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-15 John Wiegley <johnw@newartisans.com>
Merge pull request from realcomplex/override-global-mode-fix
GitHub-reference: https://github.com/jwiegley/use-package/issues/993
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-15 Eli Zaretskii <eliz@gnu.org>
Produce TAGS in 'lib' as well and include them in src/TAGS
@@ -33020,7 +35349,7 @@
($(lib)/TAGS): New target.
(tags): Depend on $(lib)/TAGS.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-15 Michael Albinus <michael.albinus@gmx.de>
Fix tmpdir handling in Tramp for Android sshd
@@ -33029,28 +35358,28 @@
* lisp/net/tramp.el (tramp-get-remote-tmpdir): Cache result in
temporary connection property.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Clean up message-sort-headers code slightly
* lisp/gnus/message.el (message-sort-headers): Simplify code by
removing always-true `if' statement.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-15 kobarity <kobarity@gmail.com>
Fix `python-nav-forward-block' moving backward under certain conditions
* lisp/progmodes/python.el (python-nav-forward-block): Add check
for not moving backward (bug#57223).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix fix_command for non-symbol functions
* src/callint.c (fix_command): Don't bug out on commands that
aren't symbols (like lambdas, for instance).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-15 Alan Mackenzie <acm@muc.de>
Enhance safe_run_hooks_1 and safe_run_hook_funcall to handle more arguments
@@ -33060,7 +35389,7 @@
functions so that nargs == 3 or 4 is handled as well as nargs == 2. This
allows them to be used to call hooks with 1 or 2 arguments.
-2023-04-15 Yury Kholodkov <yurykholodkov@gmail.com> (tiny change)
+2022-08-15 Yury Kholodkov <yurykholodkov@gmail.com> (tiny change)
Fix variable types in warnings-suppress
@@ -33068,14 +35397,14 @@
these user options is a list of lists of symbols, not a list of
symbols (bug#57183).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Make eshell-mode more resilient towards `mode-line-format'
* lisp/eshell/esh-mode.el (eshell-mode): `mode-line-format' can be
a string (bug#57185). In that case, don't alter anything.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-08-15 Matt Armstrong <matt@rfc20.org>
Pacify warnings from gcc 12 in encode_coding_object
@@ -33084,14 +35413,14 @@
done in decode_coding_object. The fix is correct because saved_pt is
used as a sentinel before saved_pt_byte is used (bug#57219).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix up the exclusion logic in loaddefs-generate
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Allow
excluding files completely (bug#57144).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Tweak autoloads of defsubsts containing spaces/control chars
@@ -33100,18 +35429,18 @@
trailing spaces if we're autoloading a defsubst containing
"\\`[ \t\n\r]*\\'".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Remove Gnus Compatibility manual section
* doc/misc/gnus.texi (Compatibility): Remove outdated section
(bug#57178).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Further lisp-current-defun-name tweaks
@@ -33119,7 +35448,7 @@
tweaks to make (autoload 'foo) work again. Perhaps this should
all be reverted to the original version and then given a new rething.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-15 Lars Ingebrigtsen <larsi@gnus.org>
Make update-directory-autoloads available by default again
@@ -33131,14 +35460,14 @@
obsoletion form.
(batch-update-autoloads): Fix warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
9d0dba44da ; * doc/lispintro/emacs-lisp-intro.texi: Fix typo.
0e336fa51f ; Improve documentation of minibuffer history wrt completion
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-14 Po Lu <luangruo@yahoo.com>
Fix uninitialized variable false-positives
@@ -33146,14 +35475,14 @@
(x_dnd_free_toplevels): Mark dpy and recs UNINIT, since GCC
thinks they can be used uninitialized. (bug#57208)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
Make message-mark-active-p obsolete in favor of mark-active
* lisp/gnus/message.el (message-mark-active-p): Make obsolete in
favor of 'mark-active'. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
Make gnus-uu-view-with-metamail obsolete
@@ -33164,7 +35493,7 @@
* doc/misc/gnus.texi (Other Decode Variables): Don't document
above obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
Don't use obsolete library as example in Elisp Intro
@@ -33172,7 +35501,7 @@
(Sorting, Files List): Don't use obsolete library makesum.el as
example.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
Make gnus-iswitchb-completing-read obsolete
@@ -33181,7 +35510,7 @@
(gnus-completing-read-function): Don't advertise above obsolete
function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
Don't advertise obsolete library html2text.el
@@ -33192,7 +35521,7 @@
* lisp/gnus/mm-decode.el (mm-text-html-renderer): Don't advertise
obsolete library html2text.el.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-14 Paul Eggert <eggert@cs.ucla.edu>
Improve timefns speed on integers
@@ -33200,24 +35529,24 @@
Speed up when SPECIFIED_TIME is an integer.
(time_cmp) [FASTER_TIMEFNS]: Speed up when comparing integers.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-14 Paul Eggert <eggert@cs.ucla.edu>
Decode time conses before floats
* src/timefns.c (decode_lisp_time): Test for conses before floats,
as conses are more common.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-14 Paul Eggert <eggert@cs.ucla.edu>
Work around Bug#57211
* src/buffer.c (Fgenerate_new_buffer_name): Allocate a bigger buffer.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-14 Paul Eggert <eggert@cs.ucla.edu>
* doc/lispref/functions.texi: Fix capitalization.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-14 Paul Eggert <eggert@cs.ucla.edu>
Fix selection preservation bug when USE_XCB
@@ -33225,11 +35554,11 @@
wrong ‘tem’ value. Found by GCC -Wanalyzer-use-of-uninitialized-value.
Move decl of local to make the (former) bug more obvious.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/ring.el (ring): Define as a type
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
(compiled-function-p): New function (bug#56648)
@@ -33255,7 +35584,7 @@
* lisp/help-fns.el (help-fns-function-description-header): Use `functionp`.
(help-fns--var-safe-local): Use `compiled-function-p`.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-14 Michael Albinus <michael.albinus@gmx.de>
Tramp code cleanup
@@ -33276,17 +35605,17 @@
(tramp-get-ls-command): Check, that argument "--color=never" has
the intended effect.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/cedet/ede/emacs.el (ede-emacs-load): Delete obsolete name arg
* lisp/calendar/time-date.el (seconds-to-time): Use the original arg list
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
* src/Makefile.in (elnlisp): Delete autoload.eln from list.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-14 Stefan Kangas <stefan@marxist.se>
Make Gnus FAQ more contemporary
@@ -33301,14 +35630,14 @@
risks causing confusion; our docs never mean anything but "GNU Emacs"
when we say "Emacs".
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-14 Mattias Engdegård <mattiase@acm.org>
Strength-reduce apply with (list ...) as tail argument
* lisp/emacs-lisp/byte-opt.el (byte-optimize-apply):
Transform (apply F ... (list X ...)) -> (funcall F ... X ...)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-14 Mattias Engdegård <mattiase@acm.org>
Simplify code using take, ntake and butlast
@@ -33317,7 +35646,7 @@
* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
Simplify.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-14 Eli Zaretskii <eliz@gnu.org>
Further speedups of redisplay of long and truncated lines
@@ -33341,7 +35670,7 @@
* etc/NEWS: Announce 'long-line-optimizations-p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-13 Po Lu <luangruo@yahoo.com>
More fixes to MPX drag-and-drop interaction
@@ -33350,7 +35679,7 @@
(handle_one_xevent): Verify deviceid in more places; also test
keyboard device before swallowing F1.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-08-13 Basil L. Contovounesios <contovob@tcd.ie>
Document time-convert FORM argument as mandatory
@@ -33361,14 +35690,14 @@
* src/timefns.c (Ftime_convert): Describe FORM argument as required
as per the advertised calling convention.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Improve time-convert docstring formatting for readability
* src/timefns.c (Ftime_convert): Doc fix; improve formatting for
readability.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
nadvice.el: Avoid exponential blow up in interactive-form recursion
@@ -33380,7 +35709,7 @@
(oclosure-interactive-form): Use `advice--interactive-form` rather than
`commandp` since we'd call `advice--interactive-form` afterwards anyway.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Update Gnus Installation FAQ
@@ -33388,7 +35717,7 @@
(FAQ 1-5): Update to reflect that Gnus is no longer released
separately from Emacs. Delete FAQ on Gnus 5.10, released in May 2003.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Make many gnus version variables obsolete
@@ -33413,14 +35742,14 @@
* lisp/gnus/nnvirtual.el (nnvirtual-version): Make obsolete in
favor of emacs-version.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
js.el: Tweak last change
* lisp/progmodes/js.el (js-json-mode): Use a function as value of
`syntax-propertize-function`.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-13 Eli Zaretskii <eliz@gnu.org>
Speed up display of long lines under 'truncate-lines'
@@ -33438,7 +35767,7 @@
* etc/NEWS: Announce 'large-hscroll-threshold'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-13 Po Lu <luangruo@yahoo.com>
Add new value `dont-save' to `deactivate-mark'
@@ -33450,25 +35779,25 @@
* src/keyboard.c (syms_of_keyboard): Update doc string of
`deactivate-mark'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-13 Lars Ingebrigtsen <larsi@gnus.org>
Tweak outline symbol icons
* lisp/outline.el (outline-close, outline-open): Use icons of the
same size in Symbola.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow EXCLUDED-FILES in loaddefs-generate to be relative
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Allow the
excluded files to be relative (bug#57144).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-13 Lars Ingebrigtsen <larsi@gnus.org>
Don't hide final dump in admin/emake
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Make ps-mode-version variable obsolete
@@ -33476,14 +35805,14 @@
(ps-mode-show-version, ps-mode-submit-bug-report): Don't use above
obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Make htmlfontify-version variable obsolete
* lisp/htmlfontify.el (htmlfontify-version): Make obolete.
(hfy-meta-tags): Don't use above obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Delete many references to Emacs 23 or older from docs
@@ -33504,7 +35833,7 @@
* doc/misc/viper.texi (Viper Specials): Delete references to Emacs 23
or older.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-13 Po Lu <luangruo@yahoo.com>
Prevent selection converter from signalling if buffer is narrowed
@@ -33512,7 +35841,7 @@
outside the accessible portion of the buffer, don't return
anything.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-13 Eli Zaretskii <eliz@gnu.org>
Fix a recently-added Eshell test on MS-Windows
@@ -33521,7 +35850,7 @@
MS-Windows by making sure the internal 'format' command
is invoked. (Bug#57129)
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-13 Jim Porter <jporterbugs@gmail.com>
Make '$?' and '$$' variables more consistent in Eshell
@@ -33558,7 +35887,7 @@
* etc/NEWS: Announce this change (bug#57129).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-13 Jim Porter <jporterbugs@gmail.com>
Allow using dollar expansions in Eshell conditionals
@@ -33577,7 +35906,7 @@
* doc/misc/eshell.texi (Control Flow): Update documentation for
conditionals (bug#57129).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-13 Jim Porter <jporterbugs@gmail.com>
Only set Eshell execution result metavariables when non-nil
@@ -33619,7 +35948,7 @@
(Control Flow): ... to here, and add documentation for other control
flow forms.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -33627,7 +35956,7 @@
e746fc2e7b Delete stale comments from Lisp Intro manual
77613b9217 ; Delete redundant installation instructions from ebnf2ps.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-12 Po Lu <luangruo@yahoo.com>
Improve MPX interaction with drag-and-drop
@@ -33644,7 +35973,7 @@
(frame_set_mouse_pixel_position): Use internal client pointer
record.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Hide local variable section in emacs-news-modes
@@ -33660,14 +35989,14 @@
(emacs-news--mode-common): Call 'emacs-etc--hide-local-variables'
to hide local variables section.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Don't update loaddefs.el timestamps uselessly in loaddefs-generate
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't
re-write the loaddefs.el file when there's no reason to.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Support imenu in emacs-authors-mode
@@ -33675,7 +36004,7 @@
(emacs-authors-imenu-generic-expression): New variable.
(emacs-authors-mode): Add imenu support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Rename etc-authors-mode to emacs-authors-mode
@@ -33684,14 +36013,14 @@
* admin/authors.el: (Bug#57105)
* etc/AUTHORS: Use 'emacs-authors' instead of 'etc-authors'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Rename etc-authors-mode.el to emacs-authors-mode.el
* lisp/textmodes/etc-authors-mode.el: Move from here...
* lisp/textmodes/emacs-authors-mode.el: ...to here. (Bug#57105)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Delete references to deleted library hilit19.el
@@ -33700,21 +36029,21 @@
* lisp/ps-print.el:
* lisp/vc/ediff.el: Delete references to hilit19.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix emacs-news-view-mode-map inheritance
* lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode-map):
Fix inheritance from `special-mode-map' (bug#57100).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Clarify bookmark-set prompt
* lisp/bookmark.el (bookmark-set): Clarify prompt further
(bug#57128).
-2023-04-15 Harald Jörg <haj@posteo.de>
+2022-08-12 Harald Jörg <haj@posteo.de>
gud.el: invoke 'perldb' with '-E' instead of '-e'
@@ -33723,29 +36052,29 @@
* etc/NEWS ('perldb' now recognizes '-E') New entry in section 'Gud'
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Remove some more outdated Gnus manual stuff
* doc/misc/gnus.texi (Mail Source Customization): Remove more
outdated text (bug#57156).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Remove (gnus) Gnus Development manual section
* doc/misc/gnus.texi (Gnus Development): Remove outdated section
(bug#57156).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-12 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (package-vc-fetch): Autoload it
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
* doc/misc/gnus.texi (Emacsen): Delete section.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Make some more cedet version variables obsolete
@@ -33755,11 +36084,11 @@
* lisp/cedet/semantic/db-file.el (semanticdb-file-version): Don't
use above obsolete variable semantic-version.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-12 Philip Kaludercic <philipk@posteo.net>
Merge remote-tracking branch 'origin/master' into feature/package+vc
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Delete stale comments from Lisp Intro manual
@@ -33767,7 +36096,7 @@
(print-elements-of-list, Miscellaneous): Delete some references to
Emacs 22.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Clarify face-at-point doc string and add (thing-at-point 'face)
@@ -33778,39 +36107,39 @@
(thing-at-point-provider-alist, thing-at-point): Mention it in the
doc strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Further seq-uniq speed-ups for lists
* lisp/emacs-lisp/seq.el (seq-uniq): Speed up more for long lists
(bug#57079).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Make finder-mode inherit special-mode
* lisp/finder.el (finder-mode): Inherit special-mode.
(finder-mode-map): Inherit special-mode-map.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
* lisp/finder.el (finder-summary): Improve formatting.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Use help-key-binding face in package list help
* lisp/emacs-lisp/package.el (package--prettify-quick-help-key):
Use help-key-binding face.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Make cedet version variables obsolete
* lisp/cedet/cedet.el (cedet-version, cedet-packages): Make
obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-12 Lars Ingebrigtsen <larsi@gnus.org>
Default outline-minor-mode-use-buttons to only happen in *Help*
@@ -33820,14 +36149,14 @@
changed again to have some other mechanism to opt in in certain
modes, but it's not clear what that mechanism should look like.
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2022-08-12 Stephen Berman <stephen.berman@gmx.net>
Reverse the outline arrows
* lisp/outline.el (outline-open): Reverse the arrows to match
arrows in Customize (bug#57082).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-12 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -33835,14 +36164,14 @@
31af0f4eb7 Don't list Emacs as requirement for built-in package
ae348b719e Fix wrong metrics for bitmap-only fonts with HarfBuzz 5
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-11 Po Lu <luangruo@yahoo.com>
Prevent SelectionNotify etc from reaching GTK 3
* src/xterm.c (handle_one_xevent): Prevent selection events from
reaching GTK if they are destined for an Emacs window.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-11 Alan Mackenzie <acm@muc.de>
New debugging facility: backtraces from errors in Lisp called from redisplay
@@ -33876,7 +36205,7 @@
* src/xdisp.c (run_window_scroll_functions): Replace a call to
run_hook_with_args_2 with one to safe_run_hooks_2.
-2023-04-15 Axel Svensson <mail@axelsvensson.com> (tiny change)
+2022-08-11 Axel Svensson <mail@axelsvensson.com> (tiny change)
Support the full range of variation selectors
@@ -33889,14 +36218,14 @@
* doc/lispref/display.texi (Glyphless Chars): Document more
variation selectors.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Make ad-version variable obsolete
* lisp/emacs-lisp/advice.el (ad-version): Make obsolete in favor
of emacs-version. It has not been bumped since 1994.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Make ebnf-version variable obsolete
@@ -33904,7 +36233,7 @@
(ebnf-setup, ebnf-begin-file, ebnf-eps-finish-and-write): Don't
use above obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Make ps-print-version variable obsolete
@@ -33915,7 +36244,7 @@
(pr-help-message, pr-interface-help-message)
(pr-create-interface): Don't use above obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Make pr-version variable obsolete
@@ -33923,21 +36252,21 @@
(pr-help-message, pr-interface-help-message, pr-setup)
(pr-create-interface): Don't use above obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Don't list Emacs as requirement for built-in package
* doc/misc/htmlfontify.texi (Requirements): Don't list Emacs as
requirement for built-in package.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Don't show status message in Helper-describe-bindings
* lisp/emacs-lisp/helper.el (Helper-describe-bindings): Don't show
status message.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-11 Philip Kaludercic <philipk@posteo.net>
Add "send patches" note to package-vc TODO section
@@ -33945,7 +36274,7 @@
* package.el (package--get-activatable-pkg): Prefer source packages
-2023-04-15 Ulf Jasper <ulf.jasper@web.de>
+2022-08-11 Ulf Jasper <ulf.jasper@web.de>
newsticker: fix bug#57045
@@ -33953,25 +36282,25 @@
(newsticker--treeview-list-items-with-age) (newsticker-treeview-update):
Fix issues with changing sort order in virtual feed 'all' (Bug#57045).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-11 Philip Kaludercic <philipk@posteo.net>
Allow updating source packages
* lisp/emacs-lisp/package-vc.el (package-vc-update): Add new function.
* lisp/emacs-lisp/package.el (package-update): Use 'package-vc-update'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
* lisp/vc/emerge.el (emerge-show-file-name): Make obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Make emerge-define-key-if-possible obsolete
* lisp/vc/emerge.el (emerge-define-key-if-possible): Make unused
function obsolete.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-11 Philip Kaludercic <philipk@posteo.net>
Ignore files in .elpaignore during byte compilation
@@ -33979,22 +36308,22 @@
(package--compile): Bind 'byte-compile-ignore-files' to the result of
'package--parse-elpaignore'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-11 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (package-vc-unpack): Detect TeXinfo manuals
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-11 Michael Albinus <michael.albinus@gmx.de>
* test/lisp/net/tramp-tests.el (tramp--test-utf8): Adapt test.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-11 Philip Kaludercic <philipk@posteo.net>
Allow ignoring files during byte compilation
* bytecomp.el (byte-compile-ignore-files): Add new variable.
(byte-recompile-directory): Respect 'byte-compile-ignore-files'.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fix wrong metrics for bitmap-only fonts with HarfBuzz 5
@@ -34002,7 +36331,7 @@
position unit value on HarfBuzz 5 and later regardless of whether the
font is bitmap-only or not. (Bug#57066)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-11 Philip Kaludercic <philipk@posteo.net>
Guess Git repositories from the URL header
@@ -34011,17 +36340,17 @@
'package-vc-probable-repository-regexp'.
(package-vc-fetch): Use 'package-vc-sourced-packages-list'.
-2023-04-15 realcomplex <koenvg@posteo.net> (tiny change)
+2022-08-11 realcomplex <koenvg@posteo.net> (tiny change)
Go back to making `override-global-mode` non-global
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-11 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
648acc8848 ; Fix @setfilename in calc.texi
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-10 Po Lu <luangruo@yahoo.com>
Adjust client pointer upon help event
@@ -34029,14 +36358,14 @@
set do_help and make it the client pointer so that tooltips show
up under the right pointer.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-10 Eli Zaretskii <eliz@gnu.org>
Fix 'describe-char' in "C" locale
* lisp/descr-text.el (describe-char): Avoid assertions if
'buffer-file-coding-system' is nil. (Bug#57066)
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-08-10 Visuwesh <visuweshm@gmail.com>
Improve the bengali-probhat input method
@@ -34045,14 +36374,14 @@
keyboard and also shows more useful help. Reported by Akib Azmain
Turja <akib@disroot.org>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-10 Po Lu <luangruo@yahoo.com>
Fix some undesirable frame focus changes
* src/xterm.c (handle_one_xevent): Only detach upon actual
device tree change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-10 Stefan Kangas <stefan@marxist.se>
Make gdb-pad-string obsolete in favor of string-pad
@@ -34060,7 +36389,7 @@
(gdb-pad-string): Make obsolete in favor of 'string-pad'. Update
callers.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-10 Mattias Engdegård <mattiase@acm.org>
Extend LAP optimisations to more operations
@@ -34079,14 +36408,14 @@
list4 and listN. Stack manipulation is safe because unbind cannot
read or modify stack entries.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warning in wisent/comp.el
* lisp/cedet/semantic/wisent/comp.el (require): string-pad is used
run-time.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-10 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in vc/*.el
@@ -34102,7 +36431,7 @@
(vc-hg-extra-menu-map):
* lisp/vc/vc-hooks.el (vc-prefix-map): Prefer defvar-keymap.
-2023-04-15 Koen van Greevenbroek <koen@localhost.com> (tiny change)
+2022-08-10 Koen van Greevenbroek <koen@localhost.com> (tiny change)
Make sure that bind-key's `override-global-mode` is initially on
@@ -34116,14 +36445,14 @@
With `:init-value t` now missing, the minor mode isn't enabled by
default, and `bind-key*` appears not to work.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-10 Stefan Kangas <stefan@marxist.se>
Delete dead code in checkdoc.el
* lisp/emacs-lisp/checkdoc.el: Delete code commented out since
1997.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-10 Stefan Kangas <stefan@marxist.se>
Fix namespacing issues in array.el
@@ -34132,7 +36461,7 @@
from 'limit-index', 'current-line', 'move-to-column-untabify', and
'untabify-backward'. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -34140,14 +36469,14 @@
628df15da5 ; * doc/misc/viper.texi (Rudimentary Changes): Avoid alias.
85de996bbb * lisp/vc/diff-mode.el: Don't mention XEmacs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-09 Po Lu <luangruo@yahoo.com>
Improve MPX interaction with xwidgets and drag-and-drop
* src/xterm.c (handle_one_xevent): Handle focus interaction in
more places.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-08-09 Dmitry Gutov <dgutov@yandex.ru>
js--font-lock-keywords-2: Remove the 'for each' matcher
@@ -34157,7 +36486,7 @@
Mozilla's dialect of JavaScript (added in version 1.5), and has
been deprecated for a decade now.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make wisent-pad-string obsolete in favor of string-pad
@@ -34165,25 +36494,25 @@
obsolete in favor of 'string-pad'. Update callers.
(subr-x): Require when compiling.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make unused function filesets-ormap obsolete
* lisp/filesets.el (filesets-ormap): Simplify and make obsolete in
favor of 'seq-drop-while'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make filesets-filter-list obsolete in favor of seq-filter
* lisp/filesets.el (filesets-filter-list): Make obsolete in favor
of 'seq-filter'. Update callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-09 Lars Ingebrigtsen <larsi@gnus.org>
Avoid having language environments interpreted as sections
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make rng-collapse-space obsolete
@@ -34191,14 +36520,14 @@
of 'string-clean-whitespace'. Update callers.
Suggested by Lars Ingebrigtsen <larsi@gnus.org>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Improve wording when documenting other TRAMP syntaxes
* doc/misc/tramp.texi (Change file name syntax): Improve wording.
(Bug#57061)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Avoid using aliases for color functions
@@ -34212,27 +36541,27 @@
* lisp/woman.el (woman-fontify): Avoid using aliases for
color-defined-p, display-color-p, and color-values.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Remove some compat code from ps-print.el
* lisp/ps-print.el (ps-print-color-p): Assume color-values is
fboundp; it always is.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
* lisp/vc/pcvs-util.el (cvs-partition): Simplify.
* lisp/nxml/rng-util.el (rng-collapse-space): Simplify.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make rng-blank-p obsolete in favor of string-blank-p
* lisp/nxml/rng-util.el (rng-blank-p): Make obsolete in favor of
string-blank-p. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Autoload string-blank-p
@@ -34240,31 +36569,31 @@
* lisp/net/eudc.el (subr-x): Don't require.
* lisp/emacs-lisp/subr-x.el (string-blank-p): Autoload.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
* lisp/ibuf-ext.el (ibuffer-remove-alist): Simplify.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-09 Lars Ingebrigtsen <larsi@gnus.org>
Use new convenience functions in replace-string
* lisp/replace.el (replace-string): Use new convenience functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-09 Lars Ingebrigtsen <larsi@gnus.org>
Add use-region-beginning and use-region-end
* lisp/simple.el (use-region-beginning, use-region-end): New functions.
(use-region-p): Mention them in the doc strings (bug#45607).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-09 Juri Linkov <juri@linkov.net>
* lisp/replace.el (replace-highlight): Optimize for large buffers (bug#56815)
Let-bind isearch-lazy-count and lazy-highlight-buffer to nil to avoid
revisiting all matches in the whole buffer after every replacement.
-2023-04-15 Andrea Greselin <greselin.andrea@gmail.com>
+2022-08-09 Andrea Greselin <greselin.andrea@gmail.com>
Add new user option electric-quote-replace-consecutive
@@ -34272,7 +36601,7 @@
option (bug#57057).
(electric-quote-post-self-insert-function): Use it.
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2022-08-09 Stephen Berman <stephen.berman@gmx.net>
Make outline buttons work in NEWS
@@ -34286,7 +36615,7 @@
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Adjust outline regexp.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-09 Eli Zaretskii <eliz@gnu.org>
Revert "Make compat alias check-ispell-version obsolete"
@@ -34295,21 +36624,21 @@
That alias is in no way obsolete, and was added for a different
reason.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-09 Lars Ingebrigtsen <larsi@gnus.org>
Further lisp-current-defun-name tweaks
* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Tweak so
that cl-defmethod and friends work again.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-09 Lars Ingebrigtsen <larsi@gnus.org>
Add a faster seq-uniq for lists
* lisp/emacs-lisp/seq.el (seq-uniq): Add a faster method for lists
(bug#57079).
-2023-04-15 Laurence Warne <laurencewarne@gmail.com>
+2022-08-09 Laurence Warne <laurencewarne@gmail.com>
Fix python escape code fontification for multi-line literals
@@ -34321,7 +36650,7 @@
(python-rx): Accept one to three octal digits in octal escape codes
instead of always three
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make ibuffer-aif obsolete in favor of if-let
@@ -34332,7 +36661,7 @@
(ibuffer-toggle-marks, ibuffer-map-lines): Prefer 'when-let'
to above obsolete macro.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-09 Michael Albinus <michael.albinus@gmx.de>
Further Tramp fixes for Android 12
@@ -34344,7 +36673,7 @@
* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Adapt test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Improve message regarding missing LEIM
@@ -34353,14 +36682,14 @@
* lisp/international/quail.el (quail-use-package): Explain that LEIM
is installed together with Emacs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Improve readability of list-input-methods
* lisp/international/mule-diag.el: Make screen more readable by
improving the formatting.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Replace utility functions with seq-uniq
@@ -34368,7 +36697,7 @@
* lisp/ibuf-ext.el (ibuffer-remove-duplicates): Redefine as
obsolete function alias for 'seq-uniq'. Update callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-09 Lars Ingebrigtsen <larsi@gnus.org>
Make the loaddefs.el file slightly shorter
@@ -34378,14 +36707,14 @@
values from the `autoloads' forms. This makes the loaddefs.el
file about 12K shorter.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make ibuffer-awhen obsolete in favor of when-let
* lisp/ibuf-macs.el (ibuffer-awhen): Make obsolete in favor of
'when-let'. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make ibuffer-split-list obsolete in favor of seq-group-by
@@ -34394,25 +36723,25 @@
(ibuffer-generate-filter-groups): Don't use above obsolete
function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make compat alias check-ispell-version obsolete
* lisp/textmodes/ispell.el (check-ispell-version): Make compat
alias obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
* lisp/ibuffer.el (ibuffer): Use substitute-command-keys for help.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make compat alias image-refresh obsolete
* lisp/image.el (image-refresh): Make compat alias obsolete.
Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Make compat aliases obsolete in fortran.el
@@ -34420,11 +36749,11 @@
(fortran-auto-fill-mode): Make compat aliases obsolete; update
callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
* lisp/isearch.el (isearch-mode-help): Make compat alias obsolete.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-09 Alan Mackenzie <acm@muc.de>
CC Mode: Allow the insertion of long strings of letters in reasonable time
@@ -34435,7 +36764,7 @@
* lisp/progmodes/cc-langs.el (c-symbol-key): Replace a "*" by "\\{,1000\\}" in
a regexp.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-09 Po Lu <luangruo@yahoo.com>
Factor out some duplicate code from handle_one_xevent
@@ -34444,13 +36773,13 @@
instead of copypasting the same block of code over and over
again.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
d91ffdbec2 Don't mention XEmacs toolbar in ediff manual
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-08 Po Lu <luangruo@yahoo.com>
Fix handling of XI_DeviceChanged events
@@ -34460,14 +36789,14 @@
to that function, and make it specifically query for the device
information. (bug#57020)
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-08-08 Michael Heerdegen <michael_heerdegen@web.de>
Another lisp-current-defun-name tweak
* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Avoid error
when edebug spec is the symbol t.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-08-08 Dmitry Gutov <dgutov@yandex.ru>
Add separate tiny major mode for JSON
@@ -34478,13 +36807,13 @@
* lisp/progmodes/js.el (js--class-decl-matcher):
Skip work if there are no frameworks enabled.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-08 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsiiformes/quote-quote
GitHub-reference: https://github.com/jwiegley/use-package/issues/990
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-08-08 Jonas Bernoulli <jonas@bernoul.li>
Quote single quotes in docstrings or use different quoting
@@ -34492,11 +36821,11 @@
Warning: docstring has wrong usage of unescaped single
quotes (use \= or different quoting)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
* lisp/vc/diff-mode.el: Don't mention XEmacs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Don't mention XEmacs toolbar in ediff manual
@@ -34504,24 +36833,24 @@
specific toolbar support for now. This can be changed back once the
toolbar is ported to Emacs.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-08 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsiiformes/cleanup-manual
GitHub-reference: https://github.com/jwiegley/use-package/issues/968
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
* lisp/progmodes/antlr-mode.el: Remove remnants of XEmacs support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Remove XEmacs specific symbol from gnus-user-agent
* lisp/gnus/gnus.el (gnus-user-agent): Remove XEmacs specific
'codename' symbol.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from mh-alias.el
@@ -34529,28 +36858,28 @@
function.
(multi-prompt): Don't require XEmacs specific library.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Clean up fix_command code slightly
* src/callint.c (fix_command): Remove superfluous check.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
select-active-regions doc string improvement
* src/keyboard.c (syms_of_keyboard): Mention
post-select-region-hook.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Do some NEWS tagging
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
* lisp/obsolete/makesum.el: Add "Obsolete-since" header.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Make makesum.el obsolete
@@ -34560,21 +36889,21 @@
* test/lisp/makesum-tests.el: Move from here...
* test/lisp/obsolete/makesum-tests.el: ...to here.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-08 Mattias Engdegård <mattiase@acm.org>
* src/print.c (struct print_buffer): Revert gratuitous format change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS note about interactive-args
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Update TODO about fix_command
* etc/TODO: Remove bit about fix_command, which has now been fixed.
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-08-08 Arash Esbati <arash@gnu.org>
Improve collecting of citation keys
@@ -34587,21 +36916,21 @@
* test/lisp/textmodes/reftex-tests.el
(reftex-all-used-citation-keys): New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Clean up fix_command slightly
* src/callint.c (fix_command): Remove now-unused parameter.
(Fcall_interactively): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Further lisp-current-defun-name tweaks
* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Further
tweaks to finding the symbol being defined (defalias).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Allow specifying how args are to be stored in `command-history'
@@ -34618,7 +36947,7 @@
longer works since interactive specs are byte-compiled) and
instead rely on `interactive-args'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-08 Lars Ingebrigtsen <larsi@gnus.org>
Make which-func-mode output less junk
@@ -34627,11 +36956,11 @@
returning the top-level symbol if there isn't a define-like form
(bug#49592).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
* test/lisp/emacs-lisp/nadvice-tests.el: Re-add no-byte-compile.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Remove redundant local variables in tests
@@ -34641,17 +36970,17 @@
* test/src/coding-tests.el: Pacify byte-compiler without using local
variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Revert "Don't autoload obsolete library tpu-extras.el"
This reverts commit 77bf50cb330807039cc84138fb84870bd6d532e2.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-08-08 Jonas Bernoulli <jonas@bernoul.li>
manual: Regenerate texi file
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-08 Mattias Engdegård <mattiase@acm.org>
Group print buffer state in a struct
@@ -34661,7 +36990,7 @@
* src/print.c: (print_free_buffer, print_unwind)
(print_prepare, print_finish, printchar, strout): Adapt users.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-08 Mattias Engdegård <mattiase@acm.org>
Turn large macros in print.c to functions
@@ -34674,7 +37003,7 @@
(Fwrite_char, write_string, Fterpri, Fprin1, Fprin1_to_string)
(Fprinc, Fprint): Adapt callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Remove no-byte-compile cookie from some libraries
@@ -34687,7 +37016,7 @@
* test/src/font-tests.el: Remove no-byte-compile cookie.
* test/src/font-tests.el (font-parse-explain): Fix warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Don't autoload obsolete library tpu-extras.el
@@ -34696,7 +37025,7 @@
* lisp/obsolete/tpu-extras.el: Don't set generated-autoload-file
to tpu-edt.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-08 Stefan Kangas <stefan@marxist.se>
Clean up some local variable sections
@@ -34708,13 +37037,13 @@
* lisp/gnus/nnmaildir.el: Remove local variables that conflicts with
Emacs defaults.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-07 Po Lu <luangruo@yahoo.com>
Fix warnings outside XI2 builds
* src/xterm.c (x_query_pointer): Juggle some definitions around.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-07 Po Lu <luangruo@yahoo.com>
Improve handling of pointer focus under the input extension
@@ -34734,7 +37063,7 @@
* src/xterm.h (struct xi_device_t): New field `attachment'.
(struct x_display_info): New field `client_pointer_device'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Minor cleanups in ediff-*.el
@@ -34754,104 +37083,104 @@
* lisp/vc/ediff-util.el:
* lisp/vc/ediff-wind.el: Remove superfluous defvars.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from conao3/fix-declare-style
GitHub-reference: https://github.com/jwiegley/use-package/issues/760
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/ensure-system-packages-use-package-as-one
GitHub-reference: https://github.com/jwiegley/use-package/issues/774
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/use-package-hook-handler-flatten-mode-symbols
GitHub-reference: https://github.com/jwiegley/use-package/issues/775
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/use-package-chords-autoloading-and-mapping-improvements
GitHub-reference: https://github.com/jwiegley/use-package/issues/778
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from matzebond/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/787
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from wcy123/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/822
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Make ediff-window-display-p obsolete
* lisp/vc/ediff-init.el (ediff-window-display-p): Redefine as
obsolete function alias for 'display-graphic-p'.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from phst/lex
GitHub-reference: https://github.com/jwiegley/use-package/issues/848
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from phst/flet
GitHub-reference: https://github.com/jwiegley/use-package/issues/849
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from conao3/add-custom-face-description
GitHub-reference: https://github.com/jwiegley/use-package/issues/863
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from iaeerfung/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/912
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from wyuenho/set-default-use-package-enable-imenu-support
GitHub-reference: https://github.com/jwiegley/use-package/issues/920
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from wyuenho/statistics-sorting
GitHub-reference: https://github.com/jwiegley/use-package/issues/921
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from Hugo-Heagren/bind-keys-repeat-map
GitHub-reference: https://github.com/jwiegley/use-package/issues/974
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from danielpza/add-update-custom-package
GitHub-reference: https://github.com/jwiegley/use-package/issues/930
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsiiformes/silencio
GitHub-reference: https://github.com/jwiegley/use-package/issues/936
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-07 Lars Ingebrigtsen <larsi@gnus.org>
Pacify a gcc warning in xi_handle_focus_change
@@ -34864,33 +37193,33 @@
12564 | ie.device = source->name;
| ~~~~~~^~~~~~
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from DamienCassou/update-texi
GitHub-reference: https://github.com/jwiegley/use-package/issues/979
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2022-08-07 John Wiegley <johnw@newartisans.com>
Merge pull request from skangas/fix-typo
GitHub-reference: https://github.com/jwiegley/use-package/issues/987
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-07 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp error message
* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
Simplify for empty files. Better error message. (Bug#56879)
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-08-07 kobarity <kobarity@gmail.com>
Fix blank/comment line handling in python-nav-beginning-of-block
* lisp/progmodes/python.el (python-nav-beginning-of-block): Fix
handling of blank/comment line right after block start (bug#57038).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-07 Eli Zaretskii <eliz@gnu.org>
Fix 'vertical-motion' in bidi-reordered text
@@ -34900,14 +37229,14 @@
(move_it_by_lines): Fix logic of detection when going by lines
overshoots.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Make ediff-file-remote-p obsolete in favor of file-remote-p
* lisp/vc/ediff-init.el (ediff-file-remote-p): Make into obsolete
function alias for file-remote-p. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Declare unused function ediff-user-grabbed-mouse obsolete
@@ -34926,31 +37255,31 @@
* lisp/vc/ediff-util.el (ediff-setup): Don't add above obsolete
function to pre-command-hook.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Make compat function custom-reset-variables obsolete
* lisp/custom.el (custom-reset-variables): Make unused XEmacs compat
function obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Remove workaround for XEmacs bug in ediff-util.el
* lisp/vc/ediff-util.el (ediff-make-empty-tmp-file): Remove
workaround for XEmacs bug.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
* lib-src/etags.c: Remove XEmacs support.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-07 Lars Ingebrigtsen <larsi@gnus.org>
Clarify lisp/Makefile.in comment
* lisp/Makefile.in: Clarify comment.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-07 Alan Mackenzie <acm@muc.de>
CC Mode: Fix looping in patch from yesterday
@@ -34958,14 +37287,14 @@
(c-after-change-mark-abnormal-strings): Check (eobp) in loops advancing over
escaped newlines.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-07 Lars Ingebrigtsen <larsi@gnus.org>
Tweak autoloads lisp/Makefile.in dependencies
* lisp/Makefile.in (autoloads): Adjust the dependencies to what
they were before, and update the comments.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Improve how url-http displays status messages
@@ -34980,7 +37309,7 @@
(url-http-chunked-encoding-after-change-function):
Remove ineffectual calls to 'url-display-percentage'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-07 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -34991,7 +37320,7 @@
7ff60c62a9 ; * admin/make-tarball.txt: Fix last change.
2fd5590d0c ; * lisp/play/fortune.el (fortune-ask-file): Doc fix.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-07 Mattias Engdegård <mattiase@acm.org>
Cease emitting negative file offsets for user variables
@@ -35003,7 +37332,7 @@
Don't emit negative position when doc string starts with `*`.
* src/lread.c (get_lazy_string): Explain.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-07 Mattias Engdegård <mattiase@acm.org>
Use struct for saved strings in the reader
@@ -35016,7 +37345,7 @@
* src/lread.c (Fload, skip_lazy_string, get_lazy_string):
Adapt code.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-08-07 Mattias Engdegård <mattiase@acm.org>
Make force-load-doc-strings work again
@@ -35033,7 +37362,7 @@
* test/src/lread-tests.el (lread-force-load-doc-strings):
New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-06 Po Lu <luangruo@yahoo.com>
Revert "Improve X event timestamp tracking"
@@ -35042,7 +37371,7 @@
This change was installed without answering several important
questions.
-2023-04-15 Daniel Colascione <dancol@dancol.org>
+2022-08-06 Daniel Colascione <dancol@dancol.org>
Improve X event timestamp tracking
@@ -35082,18 +37411,18 @@
(server-switch-buffer): Call frame-note-oob-interaction when user
requests frame be raised.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-06 Po Lu <luangruo@yahoo.com>
Correctly set user time on GTK+ for key press events
* src/xterm.c (x_set_gtk_user_time): New function.
(handle_one_xevent): Call that after key press event on GTK+.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-08-06 Jonas Bernoulli <jonas@bernoul.li>
* lisp/transient.el: Update to package version v0.3.7-158-gc09b34e
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-08-06 Alan Mackenzie <acm@muc.de>
CC Mode: Optimize font-locking stanzas for long raw strings.
@@ -35110,7 +37439,7 @@
(c-after-change-mark-abnormal-strings): Replace complicated regexp searches
for end of logical line with basic Lisp functions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Finish up obsoletion of mh-compat.el
@@ -35118,7 +37447,7 @@
* lisp/mh-e/mh-e.el (mh-compat): Don't require.
* lisp/mh-e/mh-utils.el (mailabbrev): Require.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make mh-compat.el obsolete
@@ -35128,25 +37457,25 @@
* lisp/mh-e/mh-compat.el: Move from here...
* lisp/obsolete/mh-compat.el: ...to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Move mh-flet macro to mh-acros.el
* lisp/mh-e/mh-compat.el (mh-flet): Move from here...
* lisp/mh-e/mh-acros.el (mh-flet): ...to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make compat macro mh-display-completion-list obsolete
* lisp/mh-e/mh-compat.el (mh-display-completion-list): Make compat
macro obsolete. Update callers.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-06 Eli Zaretskii <eliz@gnu.org>
* etc/PROBLEMS: Problems with Alacritty and Emoji. (Bug#56952)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-06 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp for Android 12
@@ -35162,7 +37491,7 @@
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp-test22-file-times): Adapt tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Fix namespacing problem in allout.el
@@ -35172,7 +37501,7 @@
'allout-outlinify-sticky'.
(allout-mode): Doc fix.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Fix defvar-keymap example in elisp manual
@@ -35181,7 +37510,7 @@
* doc/lispref/modes.texi (Example Major Modes): Fix example to
match code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make indented-text-mode alias obsolete
@@ -35194,14 +37523,14 @@
* lisp/vc/ediff-util.el (ediff-choose-syntax-table): Don't mention or
use above obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make {close,replace}-rectangle compat aliases obsolete
* lisp/rect.el (close-rectangle, replace-rectangle): Make compat
aliases obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Don't mention test failures on Ubuntu 16.04 in PROBLEMS
@@ -35210,14 +37539,14 @@
entry. It's rather cosmetic.
* etc/PROBLEMS: Delete entry on test failures on Ubuntu 16.04.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-06 Eli Zaretskii <eliz@gnu.org>
New function 'composition-sort-rules'
* src/composite.c (Fcomposition_sort_rules)
(compare_composition_rules): New functions.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-08-06 Jonas Bernoulli <jonas@bernoul.li>
* doc/misc/transient.texi: Update to transient v0.3.7-156-ga5562cb
@@ -35266,7 +37595,7 @@
one-of markup issue in the texinfo file; those are relatively simple
to backport in comparison.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-06 Eli Zaretskii <eliz@gnu.org>
Speed up display of Arabic
@@ -35274,7 +37603,7 @@
some of the Arabic composition rules to ZWJ and ZWNJ cells. This
speeds up display of Arabic by a factor of 2. (Bug#56682)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-06 Eli Zaretskii <eliz@gnu.org>
Fix C-n/C-p inside bidirectional text
@@ -35286,13 +37615,13 @@
row occupied by point, take into account the bidi iteration
direction.
-2023-04-15 YugaEgo <yet@ego.team>
+2022-08-06 YugaEgo <yet@ego.team>
Link from (emacs)Init Syntax to (elisp)Introduction
* doc/emacs/custom.texi (Init Syntax): Link to the ELisp manual (Bug#56870)
-2023-04-15 lWarne <laurencewarne@gmail.com>
+2022-08-06 lWarne <laurencewarne@gmail.com>
Fontify python escape sequences in literals
@@ -35304,54 +37633,54 @@
* test/lisp/progmodes/python-tests.el: Add tests for new
fontification (bug#57004).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix mh-e.texi syntax (from previous change)
* doc/misc/mh-e.texi (Viewing): Add closing brace to @footnote.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
* etc/PROBLEMS: Delete entry on 20+ years old version of X-Symbol.
* admin/check-doc-strings: Remove XEmacs support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Don't mention removed XEmacs support in reftex manual
* doc/misc/reftex.texi (Installation, Imprint): Don't mention
removed XEmacs support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Don't mention removed XEmacs support in mh-e manual
* doc/misc/mh-e.texi (Preface, Incorporating Mail, Viewing)
(Tool Bar, Tool Bar): Remove any reference to XEmacs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make alias widget-visibility-value-create obsolete
* lisp/wid-edit.el (widget-visibility-value-create): Make compat
alias obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make an rmail compat alias obsolete
* lisp/mail/rmailsum.el (rmail-summary-output-to-rmail-file): Make
compat alias obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make compat alias ede-toplevel-project-or-nil obsolete
* lisp/cedet/ede/files.el (ede-toplevel-project-or-nil): Make
compat alias obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Drop support for XEmacs package func-menu from idlwave
@@ -35360,24 +37689,24 @@
* doc/misc/idlwave.texi (Introduction, Motion Commands): Remove
any mention of func-menu.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Make face-doc-string aliases obsolete
* lisp/faces.el (face-doc-string, set-face-doc-string): Make
aliases obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
* admin/update_autogen: Fix generating ldefs-boot.el.
* admin/update_autogen: Fix refreshing grammar-wy.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-06 Lars Ingebrigtsen <larsi@gnus.org>
Put no-byte-compile cookie back in ldefs-boot.el
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Don't mention removed XEmacs support in idlwave manual
@@ -35385,49 +37714,49 @@
(Syntax Highlighting, Windows and macOS, Troubleshooting): Delete
most references to XEmacs. Support for it was deleted in 28.1.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-06 Po Lu <luangruo@yahoo.com>
Correctly initialize values after a new device is enabled
* src/xterm.c (handle_one_xevent): Initialize new device to
zero. (bug#57011)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-06 Eli Zaretskii <eliz@gnu.org>
* src/puresize.h (BASE_PURESIZE): Bump the value. (Bug#57007)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-06 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f3b9bccb45 * lisp/play/fortune.el: Doc fixes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
Improve XI focus handling for entry and exit events
* src/xterm.c (handle_one_xevent): Skip useless
x_detect_focus_change calls in more cases.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
* src/callproc.c (emacs_spawn): Fix Mac OS X build.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
Fix signature of `seconds-to-time'
* lisp/calendar/time-date.el (seconds-to-time): Fix after change
to time-convert.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
Improve XI focus handling
* src/xterm.c (handle_one_xevent): Skip useless
x_detect_focus_change calls in some cases.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-05 Jim Porter <jporterbugs@gmail.com>
Add STREAM argument to 'process-tty-name'
@@ -35444,7 +37773,7 @@
* etc/NEWS: Announce this change.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-08-05 Jim Porter <jporterbugs@gmail.com>
Allow creating processes where only one of stdin or stdout is a PTY
@@ -35502,7 +37831,7 @@
* etc/NEWS: Announce this change (bug#56025).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
time-convert): Deprecate calls without an explicit FORM arg
@@ -35515,13 +37844,13 @@
* lisp/gnus/nnrss.el (nnrss-normalize-date):
* lisp/epa-ks.el (epa-ks--parse-buffer): Silence corresponding warnings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-05 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that leim-list.el is built
* lisp/Makefile.in: Ensure that leim-list.el is built (bug#56998).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Allow newline after def*-form for definition-prefix
@@ -35530,18 +37859,18 @@
(loaddefs-generate--compute-prefixes): Allow newline after the "(def*"
form. (Bug#57000)
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-08-05 Filipp Gunbin <fgunbin@fastmail.fm>
Add variable end-of-defun-moves-to-eol
* lisp/emacs-lisp/lisp.el (end-of-defun-moves-to-eol): New variable.
(end-of-defun): Use it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
* src/keyboard.c (timer_check_2): Replace redundant test with assertion
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
timer.el: Avoid repeated timers
@@ -35552,11 +37881,11 @@
* lisp/emacs-lisp/timer.el (timer--activate): Signal an error if we try
to re-add a timer that's already on the timer-list.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
bytecomp.el: Update comments referring to `make-docfile`
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-05 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in 'back_to_previous_visible_line_start'
@@ -35566,7 +37895,7 @@
(back_to_previous_visible_line_start): When long-line
optimizations are in effect, we may end up not on a newline.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
bytecomp.el: Further simplifications enabled by commit 59732a83c8875c
@@ -35574,21 +37903,21 @@
insert a \n before the #@ docstrings since make-docfile doesn't scan
.elc files any more.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix lisp/Makefile.in autoloads dependency
* lisp/Makefile.in (autoloads): Ensure that loaddefs-gen.elc
exists before making autoloads.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Make ange-ftp-re-read-dir compat alias obsolete
* lisp/net/ange-ftp.el (ange-ftp-re-read-dir): Make alias obsolete.
Update callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-05 Lars Ingebrigtsen <larsi@gnus.org>
Make loaddefs.el dependencies more explicit in src/Makefile.in
@@ -35596,14 +37925,14 @@
since that file may be deleted, but the loaddefs.elc file still
exists. This causes problems in nativecomp builds.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Rename object-sort-list to srecode-object-sort-list
* lisp/cedet/srecode/table.el (srecode-object-sort-list): Rename
from 'object-sort-list'. Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Fix namespace problems in viper.el
@@ -35615,7 +37944,7 @@
'set-viper-state-in-major-mode'. Retain old name as an obsolete
alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Fix namespace problems in xscheme.el
@@ -35625,7 +37954,7 @@
(xscheme-verify-buffer): Rename from 'verify-xscheme-buffer'.
Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Fix namespace problem in saveplace.el
@@ -35633,34 +37962,34 @@
'load-save-place-alist-from-file'. Retain old name as an obsolete
alias. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Make two perl-mode aliases obsolete
* lisp/progmodes/perl-mode.el (indent-perl-exp)
(mark-perl-function): Make obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Fix namespace problem in ede/custom.el
* lisp/cedet/ede/custom.el (ede-eieio-old-variables): Rename from
'ede-eieio-old-variables'. Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
* test/lisp/env-tests.el: New file.
* lisp/play/fortune.el: Doc fixes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
Fix oldXMenu grab handling
* src/xmenu.c (x_menu_translate_generic_event, pop_down_menu):
Clear grab correctly on individual XI2 devices.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
Improve C-x C-q in emacs-news-mode
@@ -35670,7 +37999,7 @@
(emacs-news-mode): Disable button-mode and make buffer
read-write.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-05 Po Lu <luangruo@yahoo.com>
Improve multi-pointer X support
@@ -35678,13 +38007,13 @@
* src/xterm.c (xi_handle_interaction): New function.
(handle_one_xevent): Call it in the appropriate places.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-05 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f484da5fcb * doc/lispref/loading.texi (Autoload by Prefix): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-04 Po Lu <luangruo@yahoo.com>
Improve input extension focus handling with multiple master devices
@@ -35700,7 +38029,7 @@
* src/xterm.h (struct xi_device_t): New fields for focus
tracking. Add comments describing fields.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in mail/*.el
@@ -35711,7 +38040,7 @@
(sc-electric-mode-map, sc-minibuffer-local-completion-map)
(sc-minibuffer-local-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Whitespace fix in gdb-mi.el
@@ -35719,7 +38048,7 @@
(gdb-memory-prev-page): Change tab after "defvar" to space, to avoid
potential bugs in tooling.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Be more lax when picking up prefixes for loaddefs
@@ -35729,22 +38058,22 @@
Before this change, such a definition would be wrongly picked up as
the symbol "nil".
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-08-04 Andreas Schwab <schwab@linux-m68k.org>
* lisp/Makefile.in (distclean): Also remove loaddefs.elc.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-04 Gregory Heytings <gregory@heytings.org>
Merge branch 'feature/long-lines-improvements'
-2023-04-15 Peder O. Klingenberg <peder@klingenberg.no>
+2022-08-04 Peder O. Klingenberg <peder@klingenberg.no>
* lisp/org/org.el: Fix load of compiled or compressed org-loaddefs
* lisp/org/org.el (eq): Fix load of compiled or compressed
org-loaddefs (bug#56982).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-04 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp for backward compatibility
@@ -35753,14 +38082,14 @@
* lisp/net/tramp.el (tramp-parse-netrc): Use it. (Bug#56976)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that updated loaddefs files are byte-compiled
* lisp/Makefile.in: Add autoloads as an ordering-only dependency
to compile-main so that newly updated loaddefs files are byte-compiled.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-04 Michael Albinus <michael.albinus@gmx.de>
Fix last Tramp change, especially for bug#56963
@@ -35772,42 +38101,42 @@
* lisp/net/tramp.el (tramp-file-name-unify): Unquote file name in time.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Suppress compilation warnings in netrc.el
* lisp/obsolete/netrc.el (netrc-machine-user-or-password)
(netrc-credentials): Suppress some warnings.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Document obsoletion of netrc-parse better
* lisp/obsolete/netrc.el (netrc-parse): Add 'obsolete' declaration
pointing to 'auth-source-netrc-parse-all' for documentation purposes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Clean up output of make-command-summary slightly
* lisp/makesum.el (make-command-summary): Don't print today's date
or status messages.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Move netrc tests to auth-source-tests.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Add obsolete-since header to netrc.el
* lisp/obsolete/netrc.el: Add obsolete-since header (bug#56976).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Move netrc.el to lisp/obsolete/
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Use auth-source in tramp-parse-netrc
@@ -35816,30 +38145,30 @@
* lisp/net/tramp.el (tramp-parse-netrc): Don't use netrc-parse,
because it's going to be made obsolete (bug#56976).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Add obsolete-since line to autoload.el and adjust comments
* lisp/obsolete/autoload.el: Add obsolete-since line.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Move autoload.el to lisp/obsolete/
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Adjust autoload require in cus-dep.el
* lisp/cus-dep.el (loaddefs-gen): Don't require autoload, because
none of the functions are used.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Don't require netrc in nnimap.el
* lisp/gnus/nnimap.el (netrc): Don't require, since it's not used.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Add new function auth-source-netrc-parse-all
@@ -35848,7 +38177,7 @@
(auth-source-netrc-parse): Partially revert behaviour in previous
change -- require :allow-null to match.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Minor cleanups in autoload.el/loaddefs-gen.el
@@ -35863,27 +38192,27 @@
(package-autoload-ensure-default-file): Don't warn about
soon-to-be obsolete functon.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Minor checkdoc.el clean up
* lisp/emacs-lisp/checkdoc.el (generate-autoload-cookie): This is
no longer used, so remove reference.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Adjust admin/emacs for new autoloads
* admin/emake: Adjust for new autoloads.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Allow auth-source-netrc-parse to return all lines
* lisp/auth-source.el (auth-source-netrc-parse): If host/user/port
is nil, don't require those to match.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Clean up nntp-send-authinfo after removing obsolete variable
@@ -35893,25 +38222,25 @@
don't parse the .authinfo file twice, but just rely on the
auth-source functions (bug#56972).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Add define-keymap to autoload-ignored-definitions
* lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions):
Ignore `define-keymap', too (bug#56973).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Add define-key-after to autoload-ignored-definitions
* lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions):
Add define-key-after and define-ibuffer-sorter.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
* doc/lispref/loading.texi (Autoload by Prefix): Fix typo.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Fix namespace problem in meta-mode.el
@@ -35920,33 +38249,33 @@
from 'font-lock-match-meta-declaration-item-and-skip-to-next'.
Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Add more autoload-ignored-definitions
* lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions):
Add define-ibuffer-column.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-04 Philip Kaludercic <philipk@posteo.net>
* eww.el (eww-browse): Raise error if there are no arguments
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
* lisp/find-dired.el (lookfor-dired): Make obsolete.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-04 Gregory Heytings <gregory@heytings.org>
Merge branch 'master' into feature/long-lines-improvements
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename recently added macro to follow conventions
* lisp/eshell/em-extpipe.el (eshell-extpipe--or-with-catch):
Rename from 'em-extpipe--or-with-catch'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Fix namespace problem in dired-aux.el
@@ -35954,7 +38283,7 @@
Rename from 'minibuffer-default-add-dired-shell-commands'. Retain
old name as an obsolete alias.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-04 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp test
@@ -35962,46 +38291,46 @@
Ignore autoload functions in `tramp-file-name' structure tests,
since `tramp-file-name-handler' is also autoloaded.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename timep to type-break-timep
* lisp/type-break.el (type-break-timep): Rename from 'timep'.
Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Fix namespace problem in mpc.el
* lisp/mpc.el (mpc-tag-browser-tagtypes): Rename from
'tag-browser-tagtypes'. Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename set-woman-file-regexp to woman-set-file-regexp
* lisp/woman.el (woman-set-file-regexp): Rename from
'set-woman-file-regexp'. Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename alphabetp to hangul-alphabetp
* lisp/leim/quail/hangul.el (hangul-alphabetp): Rename from
'alphabetp'. Retain old name as an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Make trivial convenience defsubst notzerop obsolete
* lisp/leim/quail/hangul.el (notzerop): Make obsolete. Adjust
callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Add more autoload-ignored-definitions defs
@@ -36009,17 +38338,17 @@
Add more definition forms that shouldn't trigger prefix
registration (bug#56970).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
url-about.el: Add obsolete-since
* lisp/obsolete/url-about.el: Add obsolete-since.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Make url-about.el obsolete (bug#56885)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix about:protocols in EWW"
@@ -36027,7 +38356,7 @@
We're making this obsolete instead.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-04 Gregory Heytings <gregory@heytings.org>
Improve Bidi with long lines.
@@ -36042,7 +38371,7 @@
* src/xdisp.c (init_iterator): Set it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix eww--download-directory naming
@@ -36050,7 +38379,7 @@
(eww-download-directory): Rename function that was mistakenly
named "erc--" (bug#56969).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix up some prefix registration problems in doc strings
@@ -36060,7 +38389,7 @@
* lisp/battery.el (battery-update-functions): Avoid triggering the
`register-definition-prefixes' in doc strings (bug#56968).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix double-encoding attachment headers in single-part rfc2047
@@ -36068,7 +38397,7 @@
double-encode Content-Disposition in mails with no other body
(bug#56906).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename make-doctor-variables to doctor-make-variables
@@ -36076,14 +38405,14 @@
'make-doctor-variables'. Retain old name as an obsolete function
alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename nil-blank-string to eshell-nil-blank-string
* lisp/eshell/em-unix.el (eshell-nil-blank-string): Rename from
'nil-blank-string'. Retain old name as an obsolete function alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-04 Stefan Kangas <stefan@marxist.se>
Rename pod2man-program to cperl-pod2man-program
@@ -36091,7 +38420,7 @@
from 'pod2man-program'. Retain old name as an obsolete
variable alias.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-04 Po Lu <luangruo@yahoo.com>
Fix about:protocols in EWW
@@ -36102,7 +38431,7 @@
* lisp/url/url-http.el (url-http--get-referer): Refrain from
looking for a referrer if the lastloc had no host.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-04 Po Lu <luangruo@yahoo.com>
Correctly implement refresh synchronization fences
@@ -36118,21 +38447,21 @@
`_NET_WM_SYNC_FENCES'.
(struct x_output): New field `sync_fences'.
-2023-04-15 Kira Bruneau <kira.bruneau@gmail.com>
+2022-08-04 Kira Bruneau <kira.bruneau@gmail.com>
Fix ignored-local-variable-values for non-primitive values
* lisp/files.el (hack-local-variables-filter): Fix
`ignored-local-variable-values' for non-primitive values (bug#56957).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Make flyspell-check-word-p work better with delete-selection-mode
* lisp/textmodes/flyspell.el (flyspell-check-word-p): Deactivate
the region immediately (bug#53773).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Adjust documentation for make-docfile
@@ -36141,20 +38470,20 @@
Adjust the documentation.
* lisp/loadup.el: Adjust commentary.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Remove outdated TODO item about make-docfile and .el files
* etc/TODO: Remove outdated item about make-docfile and .el files.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Adjust src/Makefile.in comments about make-docfile
* src/Makefile.in ($(etc)/DOC): Remove comment aboout make-docfile
being run twice (because it no longer is).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-04 Po Lu <luangruo@yahoo.com>
Reduce code duplication in XI scroll bar code
@@ -36163,7 +38492,7 @@
(x_create_horizontal_toolkit_scroll_bar, x_scroll_bar_create):
Factor out input extension code there.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Adjust loaddefs-generate--print-form comments
@@ -36171,7 +38500,7 @@
Adjust doc string and comments now that make-docfile doesn't scan
this.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Remove read_string_literal purify doc string hack
@@ -36180,7 +38509,7 @@
.elc files), remove the hack that make this return 0 when the
string starts with "\\n".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Remove VCSWITNESS dependency, since we're always rescanning now
@@ -36189,18 +38518,18 @@
* src/Makefile.in ($(lispsource)/loaddefs.el): Remove VCSWITNESS
dependency.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-04 Lars Ingebrigtsen <larsi@gnus.org>
Still mark ldefs-boot.el as non-byte-compilable
* lisp/Makefile.in (ldefs-boot.el): Mark ldefs-boot.el as
non-byte-compiled.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-03 Po Lu <luangruo@yahoo.com>
Avoid redundant calls to XFlush in x_make_frame_visible
@@ -36208,7 +38537,7 @@
not the output buffer was implictly flushed before issuing
XFlush.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
Revert "Revert part of 59732a83c8 to fix bug#52969"
@@ -36221,18 +38550,18 @@
(scan_lisp_file, skip_white, read_lisp_symbol, search_lisp_doc_at_eol):
Delete functions.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-03 Philip Kaludercic <philipk@posteo.net>
Only suggest packages with VC metadata
* package-vc.el (package-vc-fetch): Filter out packages without :vc
information in the interactive specification.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
* lisp/help.el (describe-map-tree, describe-map): Simplify.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-08-03 Michael Albinus <michael.albinus@gmx.de>
Reorganize Tramp
@@ -36354,7 +38683,7 @@
* test/lisp/net/tramp-tests.el (tramp-test10-write-region)
(tramp-test20-file-modes, tramp-test22-file-times): Extend tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Mark keys in apropos.el for substitute-command-keys
@@ -36364,7 +38693,7 @@
(apropos-widget, apropos-plist, apropos-library): Mark keys for
'substitute-command-keys'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Add face to mouse buttons in command substitutions
@@ -36374,7 +38703,7 @@
(help-tests-substitute-command-keys/literal-key-sequence): Expand
test for above change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-03 Eli Zaretskii <eliz@gnu.org>
Teach 'symbol-file' about .eln natively-compiled files
@@ -36387,25 +38716,25 @@
* doc/lispref/loading.texi (Where Defined): Document the new
optional argument of 'symbol-file'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Do interactive mode tagging in apropos.el
* lisp/apropos.el (apropos-follow, apropos-next-symbol)
(apropos-previous-symbol): Tag for 'apropos-mode'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Remove superfluous autoloads from url-util.el
* lisp/url/url-util.el (timezone-parse-date)
(timezone-make-date-arpa-standard): Remove superfluous autoloads.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-03 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (package-vc-unpack): Delete using package--delete-directory
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-03 Lars Ingebrigtsen <larsi@gnus.org>
Byte-compile the in-tree loaddefs.el files
@@ -36424,7 +38753,7 @@
($(etc)/DOC): Don't scan loaddefs.el for doc strings, since they
are now picked up from the .elc file (bug#53024).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-03 Po Lu <luangruo@yahoo.com>
Fix crash on setting frame background color
@@ -36432,11 +38761,11 @@
window background, since this is now taken care of
automatically.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-03 Philip Kaludercic <philipk@posteo.net>
Add TODO section for package-vc
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-08-03 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to their version 2.5.0
@@ -36486,20 +38815,20 @@
Release notes: <https://protesilaos.com/codelog/2022-08-03-modus-themes-2-5-0/>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix #' quoting in uniquify-buffer-name-style doc string
* lisp/uniquify.el (uniquify-buffer-name-style): Fix wrong quoting.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-03 Lars Ingebrigtsen <larsi@gnus.org>
Check for mis-quoted #' in doc strings during byte-compile
* lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-style-warn):
Check for mis-quoted #' in doc strings, too.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix quoting of #' in some doc strings
@@ -36508,11 +38837,11 @@
* lisp/emacs-lisp/edebug.el (edebug-read-special):
* lisp/dired-aux.el (dired-split): Fix quoting of #' in doc strings.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-08-03 Jonas Bernoulli <jonas@bernoul.li>
* lisp/transient.el: Update to package version v0.3.7-143-g1b0a8a7
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Improve obsoletion of trimming functions in url-util.el
@@ -36521,14 +38850,14 @@
(url-strip-leading-spaces): Redefine as obsolete function alias
for 'string-trim-left'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Use string-trim in newsticker--remove-whitespace
* lisp/net/newst-backend.el (newsticker--remove-whitespace): Use
string-trim.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Remove some spurious references to XEmacs
@@ -36536,14 +38865,14 @@
* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-lisp-words): Don't
mention XEmacs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Remove XEmacs compat code from reftex-ref.el
* lisp/textmodes/reftex-ref.el (reftex-latin1-to-ascii): Remove
XEmacs compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Remove more XEmacs compat code from viper-util.el
@@ -36552,20 +38881,20 @@
(viper-get-visible-buffer-window): Make obsolete. Update caller.
(viper-key-press-events-to-chars): Make obsolete.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
CEDET: Try and (re)fix bug#56902, in a better way
* lisp/cedet/semantic/complete.el (semantic-displayer-abstract):
Move definition before first use (in `semantic-displayer-focus-abstract`).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
Revert "; Fix last change (bug#56902)"
This reverts commit 99bbc1fa23c3a54f1cbd2c56c57773dd471b3ef3.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from url-util.el
@@ -36573,7 +38902,7 @@
* lisp/url/url-util.el (url-display-percentage): Remove XEmacs
compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Make url-util space trimming functions obsolete
@@ -36581,14 +38910,14 @@
(url-strip-leading-spaces): Make obsolete in favor of
'string-trim'. Update caller.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-03 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f23d456039 * lisp/term.el: Doc fix; don't mention rlogin.
f522d2d90b ; * admin/make-tarball.txt: Minor tweaks.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-03 Po Lu <luangruo@yahoo.com>
Improve X server time computation
@@ -36599,14 +38928,14 @@
* src/xterm.h (struct x_display_info): New field
`server_time_offset'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-02 Po Lu <luangruo@yahoo.com>
Prevent GC threshold from exceeding fixnum limit during precision scrolling
* lisp/pixel-scroll.el (pixel-scroll-start-momentum): Prevent GC
threshold from exceeding most-positive-fixnum.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-02 Po Lu <luangruo@yahoo.com>
Add preparations for animation frame timing support
@@ -36621,7 +38950,7 @@
* src/xterm.h (struct x_display_info, struct x_output): New
fields and flags for clock handling and frame times.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-02 Po Lu <luangruo@yahoo.com>
Fix window iconification, raising and lowering frames, etc
@@ -36630,7 +38959,7 @@
(x_free_frame_resources): Remove calls to XFlush where it is not
really necessary. Leave the calls that actually are intact.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Avoid cl-cXXXr compat aliases
@@ -36640,36 +38969,36 @@
(cl--do-proclaim, cl-defstruct): Prefer using cXXXr functions
directly, instead of cl-cXXXr prefixed compat aliases.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
* doc/misc/vtable.texi (Commands): Fix typo. (Bug#56899)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in footnote.el
* lisp/mail/footnote.el (footnote-mode-map)
(footnote-minor-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Obsolete unused variable footnote-use-message-mode
* lisp/mail/footnote.el (footnote-use-message-mode): Make
obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-02 Lars Ingebrigtsen <larsi@gnus.org>
Improve sendmail-program doc string
* lisp/mail/sendmail.el (sendmail-program): Document that the
program shouldn't output text (bug#56855).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
* src/xdisp.c (redisplay_window): Use BEG rather than hard coding 1
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
CEDET: Remove left-over uses of obsolete <class>-child-p predicates
@@ -36709,38 +39038,38 @@
* lisp/cedet/srecode/insert.el (srecord-compile-inserter-newline-p):
New method.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-02 Philip Kaludercic <philipk@posteo.net>
Have VC ignore auto generated files
* package-vc.el (package-vc-unpack): Generate autoloads and ignore
have the VCS ignore them (along with package description file).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Delete obsolete variable nntp-authinfo-file
* lisp/gnus/nntp.el (nntp-authinfo-file): Delete variable obsolete
since 24.1.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
* lisp/textmodes/sgml-mode.el (html-tag-alist): Add https.
* lisp/term.el: Doc fix; don't mention rlogin.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-02 Philip Kaludercic <philipk@posteo.net>
Assume VC data is directly usable in 'package-archive-contents'
* package-vc.el (package-vc-fetch): Remove string parsing and
translation code.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-08-02 Philip Kaludercic <philipk@posteo.net>
* package-vc.el (vc-clone): Remove superfluous declaration
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-02 Robert Pluim <rpluim@gmail.com>
Signal error on duplicate key definitions
@@ -36753,7 +39082,7 @@
* test/src/keymap-tests.el (keymap-test-duplicate-definitions): Test
duplicate definition detection.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-08-02 Robert Pluim <rpluim@gmail.com>
Remove duplicate key definitions from keymaps
@@ -36769,14 +39098,14 @@
* etc/NEWS: Announce 'gnus-summary-up-thread' change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
url-about: Ignore missing directories in load-path
* lisp/url/url-about.el (url-probe-protocols): Ignore missing
directories in load-path.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix find-dired over tramp
@@ -36786,25 +39115,25 @@
(find-dired-sort-by-filename): Don't bug out on error messages
from find.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Delete function alias x-selection obsolete since 23.3
* lisp/select.el (x-selection): Delete function alias obsolete since
23.3.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
* lisp/mail/binhex.el: Improve commentary.
-2023-04-15 Matt Armstrong <matt@rfc20.org>
+2022-08-02 Matt Armstrong <matt@rfc20.org>
Consider built-in packages to be installed
* lisp/emacs-lisp/package.el (package-installed-p): Check for built-in
packages before initialization. (bug#56877).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-02 Lars Ingebrigtsen <larsi@gnus.org>
Don't disable eldoc when doing edebug
@@ -36814,14 +39143,14 @@
that case, because edebug messaging is done after stepping, and
eldoc messaging is done after other movements.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix url-dired obsoletion warning
* lisp/url/url-file.el (url-file): Don't use obsolete url-dired
function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Make url-dired.el obsolete (part 2/2)
@@ -36830,7 +39159,7 @@
* lisp/url/url-file.el (url-dired): Don't require.
* etc/NEWS: Announce its obsoletion.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Make url-dired.el obsolete (part 1/2)
@@ -36840,41 +39169,41 @@
* lisp/url/url-dired.el: Move from here...
* lisp/obsolete/url-dired.el: ...to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Make gnus-url-unhex into alias for url-unhex
* lisp/gnus/gnus-util.el (gnus-url-unhex): Make into obsolete function
alias for url-unhex; they are identical. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Add tests for url-{hexify,unhex}-string
* test/lisp/url/url-util-tests.el (url-unhex-string-tests)
(url-hexify-string-tests): New tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Remove extraneous defvars from edmacro.el
* lisp/edmacro.el (edmacro-fix-menu-commands): Remove extraneous
defvars; they are already declared above.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-02 Po Lu <luangruo@yahoo.com>
Further reduce monitor change event duplication
* src/xterm.c (handle_one_xevent): Also don't store duplicate
events for ConfigureNotify events bound for the root window.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
e6af4968f9 ; Update ChangeLog and AUTHORS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-01 Po Lu <luangruo@yahoo.com>
Avoid extra consing on monitor configuration change
@@ -36882,14 +39211,14 @@
(x_monitors_changed_cb, handle_one_xevent): Look through the
entire event queue to skip delivering monitor change events.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warning in spam.el
* lisp/gnus/spam.el (spam-check-blackholes): Adjust now that
query-dig is obsolete.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-08-01 Juri Linkov <juri@linkov.net>
Wrap around the search on typing a letter (bug#56535)
@@ -36898,7 +39227,7 @@
* lisp/isearch.el (isearch-search-and-update): Try to repeat the search
on an error when isearch-wrap-pause is no/no-ding.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-01 Gregory Heytings <gregory@heytings.org>
Fix the bytecode incompatibility due to the change to 'narrow-to-region'.
@@ -36925,18 +39254,18 @@
* doc/lispref/positions.texi (Narrowing): Update the documentation.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-01 Stefan Kangas <stefan@marxist.se>
Don't bind non-existent command in picture-mode-map
* lisp/textmodes/picture.el (picture-mode-map): Remove ineffectual
binding of non-existent command.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-01 Eli Zaretskii <eliz@gnu.org>
* src/eval.c (Fdefvaralias): Clarify error messages. (Bug#56863)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-01 Stefan Kangas <stefan@marxist.se>
Prefer command remapping to substitute-key-definition
@@ -36945,11 +39274,11 @@
* lisp/textmodes/reftex-toc.el (reftex-toc-mode-map): Prefer command
remapping to 'substitute-key-definition'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-08-01 Eli Zaretskii <eliz@gnu.org>
* src/xdisp.c (get_visually_first_element): Fix a typo.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-01 Gregory Heytings <gregory@heytings.org>
Various improvements to long lines handling.
@@ -36962,7 +39291,7 @@
* src/composite.c (find_automatic_composition): Ditto.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-08-01 Gregory Heytings <gregory@heytings.org>
Fix forgotten initialization for long line optimizations.
@@ -36971,7 +39300,7 @@
* src/buffer.c (syms_of_buffer): Docstring clarification.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-08-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix loaddefs quirk w.r.t. pinyin-convert
@@ -36980,25 +39309,25 @@
by loaddefs-gen, which will trigger re-compilation of Emacs since
pinyin.el is generated after Emacs is built.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-01 Stefan Kangas <stefan@marxist.se>
* lisp/net/dig.el: Improve Commentary.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-01 Stefan Kangas <stefan@marxist.se>
Doc fix in eudc-hotlist.el
* lisp/net/eudc-hotlist.el (eudc-hotlist-mode): Doc fix; use command
substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-01 Stefan Kangas <stefan@marxist.se>
Fix namespacing issue in dig.el
* lisp/net/dig.el (dig-query): Rename from 'query-dig'.
(query-dig): Make into obsolete function alias for 'dig-query'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-01 Po Lu <luangruo@yahoo.com>
Improve handling of xsettings events
@@ -37007,7 +39336,7 @@
* src/xterm.c (handle_one_xevent): If it was, don't handle the
event any further.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Improve GCC pacification in xterm.c
@@ -37018,7 +39347,7 @@
2022-07-31 Paul Eggert <eggert@cs.ucla.edu>
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Fix time comparison in primitive-undo
@@ -37026,7 +39355,7 @@
The old code was a circa-2013 mistranslation of what used to be in
src/undo.c’s Fprimitive_undo.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Use list-form timestamps in .nnmh-articles
@@ -37034,7 +39363,7 @@
timestamps into .nnmh-articles, even if current-time-list is nil.
That way, older Emacs versions can read them.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Prefer ‘time-equal-p’ to ‘equal’ on timestamps
@@ -37065,7 +39394,7 @@
Prefer ‘time-equal-p’ to ‘equal’ when comparing
timestamps for equality.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Simplify a few timestamps
@@ -37081,7 +39410,7 @@
Prefer an integer like 0 to a timestamp list like (0 0)
where either will do.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Omit some (current-time) calls
@@ -37093,11 +39422,11 @@
Prefer nil or omitted arg to (current-time) where this is better
or more-efficient.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
* lisp/vc/vc.el: Remove stray comment hyphen.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Fix "cons up a storm" issue in type-break
@@ -37106,7 +39435,7 @@
(type-break-time-sum, type-break-keystroke-reset):
Use integer timestamps; that’s good enough for this module.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Fix year-285428751 bug in hanoi-unix-64
@@ -37114,11 +39443,11 @@
(hanoi-unix-64): Use integers, not floating point, to avoid
rounding errors for timestamps greater than 2**53.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
* src/timefns.c (Ffloat_time): Fix doc string.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Improve time-equal-p etc. performance
@@ -37126,7 +39455,7 @@
change callers. Compare (X . Z) to (Y . Z) quickly if X and Y are
fixnums.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Improve float-time etc. performance
@@ -37139,7 +39468,7 @@
(Ffloat_time): If the specified time is a float,
simply return it.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Make time arithmetic more like comparison
@@ -37152,7 +39481,7 @@
nil; the caller now handles this.
(Ftime_subtract): Handle subtracting X from X specially.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Fix get-internal-runtime precision
@@ -37160,19 +39489,19 @@
(Fget_internal_run_time): Don’t generate more precision than the
underlying primitives.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
(time-equal-p nil X) returns nil
* src/timefns.c (Ftime_equal_p): nil compares unequal to non-nil.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-08-01 Paul Eggert <eggert@cs.ucla.edu>
Tune blv_found
* src/lisp.h (blv_found): Prefer BASE_EQ to EQ where either will do.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-01 Po Lu <luangruo@yahoo.com>
Improve frame synchronization support on Haiku
@@ -37214,7 +39543,7 @@
* src/haikuterm.h (MAKE_FRAME_DIRTY):
(FRAME_CR_CONTEXT): Don't dirty frames if not necessary.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-01 Po Lu <luangruo@yahoo.com>
Implement primitive frame synchronization on Haiku
@@ -37235,11 +39564,11 @@
(haiku_set_use_frame_synchronization)
(haiku_frame_parm_handlers): New param handler.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-08-01 Po Lu <luangruo@yahoo.com>
* lisp/cedet/ede/base.el (ede-project): Fix warning when loading EDE.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-08-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -37247,7 +39576,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-07-28 15:23:34 UTC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-31 Po Lu <luangruo@yahoo.com>
Make frame synchronization a frame parameter
@@ -37270,14 +39599,14 @@
* src/xterm.c (x_sync_wait_for_frame_drawn_event): Clear
parameter if sync fails.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-31 Gregory Heytings <gregory@heytings.org>
Move the computation of narrowing bounds for long line optimizations.
* src/xdisp.c (init_iterator): Move the computation from here...
(reseat): ... to here. Also recompute the position in certain cases.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-31 Gregory Heytings <gregory@heytings.org>
Add locked narrowing around pre- and post-command-hook
@@ -37288,7 +39617,7 @@
* src/lisp.h: Prototype of the new function.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-07-31 Philip Kaludercic <philipk@posteo.net>
Extract package-fetch and related functionality
@@ -37317,11 +39646,11 @@
(package--remove-hidden): Use "vc" instead of "source"
(package-menu--print-info-simple): Refactor according to other changes
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Allow specifying that loaddefs files shouldn't not be compiled
@@ -37329,7 +39658,7 @@
Allow specifying that we shouldn't include a no-compile cookie
(bug#53024).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-31 Mattias Engdegård <mattiase@acm.org>
Declare `key-valid-p` and `readablep` as error-free
@@ -37338,14 +39667,14 @@
them correspondingly. Note that readablep is not pure since its
return value depends on ambient state.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Make ps-def.el obsolete (part 2/2)
* lisp/obsolete/ps-def.el: Add "Obsolete-since".
* lisp/ps-print.el (ps-def): Don't require.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Make ps-def.el obsolete (part 1/2)
@@ -37356,14 +39685,14 @@
* lisp/ps-def.el: Move from here...
* lisp/obsolete/ps-def.el: ...to here.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Don't make a custom-save-icons section if there's nothing to save
* lisp/cus-edit.el (custom-save-icons): Only make an entry when
there's something to save (bug#56860). Also autoload.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Move some definitions from ps-def.el to ps-print.el
@@ -37376,7 +39705,7 @@
(ps-color-format, ps-float-format)
(ps-generate-postscript-with-faces1): ...to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Remove some leftover compat code from ps-print
@@ -37389,18 +39718,18 @@
(ps-color-device): Make into obsolete function alias for
'display-color-p'. Update callers.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-31 Michael Albinus <michael.albinus@gmx.de>
Declare Tramp function for backward compatibility
* lisp/net/tramp.el (tramp-archive-file-name-handler):
* lisp/net/tramp-ftp.el (tramp-archive-file-name-handler): Declare.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-07-31 Philip Kaludercic <philipk@posteo.net>
Merge remote-tracking branch 'origin/master' into feature/package+vc
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-31 Mattias Engdegård <mattiase@acm.org>
Reduce internal rx autoloads
@@ -37409,18 +39738,18 @@
(rx--pcase-macroexpander): Extract body into...
(rx--pcase-expand): ...a separate function, which is autoloaded.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-07-31 Philip Kaludercic <philipk@posteo.net>
Fix electric paring in rcirc buffers
* rcirc.el (rcirc--electric-pair-inhibit): Add new predicate function.
(rcirc-mode): Use rcirc--electric-pair-inhibit.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-read): Simplify.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warnings in tramp-loaddefs.el
@@ -37439,14 +39768,14 @@
(tramp-set-completion-function)
(tramp-register-foreign-file-name-handler): Autoload.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix org.el byte-compile warning in org-loaddefs.el
* lisp/org/org.el (org-dynamic-block-define): Autoload because
it's referred to in org-loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix ede byte-compile warnings in loaddefs.el
@@ -37454,14 +39783,14 @@
* lisp/cedet/ede/auto.el (ede-add-project-autoload): Autoload
functions referred to by ede/loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Remove loaddefs debug code
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric):
Remove code inadvertantly checked in.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix cl byte-compile warning in cl-loaddefs.el
@@ -37469,7 +39798,7 @@
(cl-struct-sequence-type, cl-struct-slot-offset): Autoload since
they are referred to by code in cl-loaddefs.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Delete additional items obsolete since 20, 21 and 22
@@ -37482,7 +39811,7 @@
(replace-count, replace-re-search-function): Doc fixes; adjust for
above deleted function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix remaining byte-compile warnings in loaddefs.el
@@ -37491,21 +39820,21 @@
* lisp/emacs-lisp/package.el (package--activate-all): Autoload to
avoid byte-compilation warnings when byte-compiling loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix rx.el byte-compile warning in loaddefs.el
* lisp/emacs-lisp/rx.el (rx--to-expr, rx--pcase-transform):
Autoload to avoid warning when byte-compiling loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix sendmail.el byte-compile warning in loaddefs.el
* lisp/mail/sendmail.el (mail-send-and-exit): Autoload since it's
referred to by autoloaded code in loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
tramp fixes for byte-compiling loaddefs.el
@@ -37515,7 +39844,7 @@
* lisp/net/tramp.el (tramp-file-name-handler): Autoload to avoid
warning when byte-compiling loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix further package.el loaddefs byte-compile warnings
@@ -37525,7 +39854,7 @@
(package-activated-list): Autoload since we're assigning the
variable from a function completely autoloaded.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix loaddefs byte-compile warnings from grep.el
@@ -37533,21 +39862,21 @@
(grep-match-face): Autoload to avoid byte-compile warnings from
loaddefs.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix loaddefs byte-compile warning from package.el
* lisp/emacs-lisp/package.el (package-user-dir): :group has to be
explicit for autoloaded defcustoms.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-31 Lars Ingebrigtsen <larsi@gnus.org>
Reformulate compile-command condition
* lisp/progmodes/compile.el: Reformulate to avoid a byte-compile
warning when compiling loaddefs.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Delete aliases obsolete since 21.1 and 22.1
@@ -37555,7 +39884,7 @@
* lisp/files.el (find-file-not-found-hooks): Delete variable aliases,
obsolete since 21.1 and 22.1 respectively.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-31 Eli Zaretskii <eliz@gnu.org>
Support keyboard input and display of U+1E9E
@@ -37563,7 +39892,7 @@
* lisp/international/iso-transl.el (iso-transl-char-map)
(iso-transl-language-alist): Add U+1E9E capital sharp S.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-31 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -37571,7 +39900,7 @@
c95a34c960 * src/macfont.m (macfont_open): Initialize font->space_wid...
31a6a37d45 Improve indexing of keymap variables
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-30 Po Lu <luangruo@yahoo.com>
Fix NS unexec build
@@ -37582,7 +39911,7 @@
static heap exhausted: avail 67108864 used 67101824 failed
request 20480
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-30 Po Lu <luangruo@yahoo.com>
Fix frame synchronization with scroll bar movement
@@ -37604,7 +39933,7 @@
* src/xterm.h (struct scroll_bar): Remove `x_drawable' field.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Delete redisplay-end-trigger-functions and related defuns
@@ -37633,7 +39962,7 @@
above deleted variable.
* admin/coccinelle/window.cocci: Adjust for above changes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-30 Eli Zaretskii <eliz@gnu.org>
Improve documentation of column-related functions
@@ -37641,14 +39970,14 @@
* src/indent.c (Fcurrent_indentation, Fmove_to_column): Document
that column counting ignores invisible text. (Bug#56837)
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-07-30 Gerd Möllmann <gerd@gnu.org>
Fix native compiler handling of narrow-to-region
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Use auto for
byte-narrow-to-region.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
Tweak icons.el emoji detection
@@ -37656,21 +39985,21 @@
character that's unlikely to appear in non-Emoji fonts. (Comment
left in place since this should be fixed in a less breakable way.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
Make the symbol icons in outline.el more logical
* lisp/outline.el (outline-open, outline-close): Use symbols from
the same series so that it's more likely that they match up (bug#56823).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-30 Eli Zaretskii <eliz@gnu.org>
Make sure to preserve point across locked narrowing
* src/editfns.c (Fnarrow_to_region): Save the position of point
when locking the restriction, since this function can move point.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-30 Gregory Heytings <gregory@heytings.org>
Handle the optional argument of 'narrow-to-region' in byte-compiled code.
@@ -37678,7 +40007,7 @@
* src/bytecode.c (exec_byte_code): Get the optional argument.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
Clarify mail-header address parsing doc strings
@@ -37686,35 +40015,35 @@
* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Clarify what
these functions do (bug#56824).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix outline-minor-mode-use-buttons defcustom type
* lisp/outline.el (outline-minor-mode-use-buttons): Fix wrong type.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
buffer-match-p doc string clarification
* lisp/subr.el (buffer-match-p): Actually say that nil is a valid
value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
Adjust outline--use-buttons-p to buffer-match-p change
* lisp/outline.el (outline-minor-mode-use-buttons): Adjust doc string.
(outline--use-buttons-p): No longer any need to special-case t/nil.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-30 Lars Ingebrigtsen <larsi@gnus.org>
Move a test from subr-tests to print-tests
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
* lisp/apropos.el (apropos-documentation): Simplify.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Avoid leaving temp buffers in bib-mode and refbib
@@ -37722,19 +40051,19 @@
* lisp/textmodes/refbib.el (r2b-capitalize-title): Use
with-temp-buffer.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in dns-mode-map
* lisp/textmodes/dns-mode.el (dns-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in nroff-mode-map
* lisp/textmodes/nroff-mode.el (nroff-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Fix namespace use in bib-mode.el
@@ -37745,18 +40074,18 @@
update uses.
(bib-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Make ffap-newfile-prompt obsolete
* lisp/ffap.el (ffap-newfile-prompt): Obsolete in favor of
'find-file-not-found-functions'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
* lisp/ffap.el (ffap-url-regexp): Add gemini.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Make outline-view-change-hook obsolete
@@ -37764,11 +40093,11 @@
I.e. obsolete." But lazy-lock has been deleted.
* lisp/outline.el (outline-view-change-hook): Make obsolete.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2022-07-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* src/macfont.m (macfont_open): Initialize font->space_width. (Bug#56808)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-30 Eli Zaretskii <eliz@gnu.org>
Improve indexing of keymap variables
@@ -37778,14 +40107,14 @@
* doc/lispref/keymaps.texi (Translation Keymaps): Improve indexing
of keymaps. (Bug#56816)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-30 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
e0f54c62ec CC Mode: fontify variables/functions after line comments e...
2c6a94c5b8 ; Correct the meaning of "cf." in tips.texi
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Minor improvements to precision scroll interpolation
@@ -37793,14 +40122,14 @@
cons threshold temporarily. This leads to a very noticable
improvement to animation speed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Fix failure caused by misreading the frame synchronization spec
* src/xterm.c (x_sync_update_begin): Ensure value % 4 is 1.
(x_sync_update_finish): Then, add 3.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Don't freeze if the compositing manager crashes
@@ -37809,14 +40138,14 @@
(x_sync_wait_for_frame_drawn_event): Disable frame
synchronization if x_if_event times out after 1 second.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-07-29 Alan Mackenzie <acm@muc.de>
CC Mode: fontify variables/functions after line comments ending in spaces
* lisp/progmodes/cc-engine.el (c-forward-comment-minus-1): Take account of
spaces preceding a linefeed when scanning a putative line comment end.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-29 Gregory Heytings <gregory@heytings.org>
Improve narrowing when iterator has moved outside of narrowing bounds.
@@ -37833,25 +40162,25 @@
* src/composite.c (find_automatic_composition): Add argument
to 'get_narrowed_begv'.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-07-29 Philip Kaludercic <philipk@posteo.net>
* subr.el (buffer-match-p): Add t as trivial a condition
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-29 Gregory Heytings <gregory@heytings.org>
Improvement for long line optimizations.
* src/xdisp.c (handle_fontified_prop): Also apply the forced
narrowing at BOB.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-07-29 Gerd Möllmann <gerd@gnu.org>
Adapt native compiler to change in narrow-to-region
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Add third
argument nil for narrow-to-region.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Fix handling of extended frame resize synchronization
@@ -37866,14 +40195,14 @@
* src/xterm.h (struct x_output): New field
`resize_counter_value'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-29 Lars Ingebrigtsen <larsi@gnus.org>
Fix outline byte compilation warning from previous change
* lisp/outline.el (outline--use-buttons-p): Move around to fix
byte compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-29 Lars Ingebrigtsen <larsi@gnus.org>
Fix up the outline minor mode button logic
@@ -37883,7 +40212,7 @@
(outline-hide-subtree, outline--fix-up-all-buttons)
(outline-show-subtree): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Minor additions to last change
@@ -37896,7 +40225,7 @@
(XTframe_up_to_date, handle_one_xevent): Minor redesign of frame
synchronization feature. Fix crash with overflow and checking.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Implement monitor refresh rate synchronization on X
@@ -37918,18 +40247,18 @@
* src/xterm.h (struct x_output): New fields for frame dirtyness
and vsync.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-29 Gregory Heytings <gregory@heytings.org>
Merge branch 'feature/long-lines-and-font-locking'
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-29 Gregory Heytings <gregory@heytings.org>
Further minor improvements of documentation
* src/xdisp.c (syms_of_xdisp) <fontification-functions>:
* etc/NEWS: Further minor wording improvements.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-29 Eli Zaretskii <eliz@gnu.org>
Minor improvements of recent documentation changes
@@ -37938,13 +40267,13 @@
* src/xdisp.c (syms_of_xdisp) <fontification-functions>:
* etc/NEWS: Clarify and improve wording of documentation changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-29 Po Lu <luangruo@yahoo.com>
Also update after buffer flip caused by flush_frame
* src/xterm.c (x_flip_and_flush): Mark the end of a sync frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-28 Po Lu <luangruo@yahoo.com>
Implement extended frame synchronization
@@ -37958,7 +40287,7 @@
* src/xterm.h (struct x_display_info): New atom.
(FRAME_X_COUNTER_VALUE): New macro.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-28 Po Lu <luangruo@yahoo.com>
Don't offer meaningless selection targets during drag-and-drop
@@ -37966,7 +40295,7 @@
(selection-converter-alist): Register it as the availability
function for DND specific targets.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-28 Gregory Heytings <gregory@heytings.org>
Final documentation tweaks.
@@ -37975,7 +40304,7 @@
* src/xdisp.c (syms_of_xdisp): Mention the fact that restrictions
may be locked around 'fontification-functions'.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-28 Gregory Heytings <gregory@heytings.org>
Add an optional 'lock' parameter to 'narrow-to-region'
@@ -38004,11 +40333,11 @@
* doc/lispref/positions.texi (Narrowing): Document it.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-28 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-prefix-map): Fix key broken by conversion.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-07-28 Sam Steingold <sds@gnu.org>
Cleanup `string-equal-ignore-case' declarations.
@@ -38024,11 +40353,11 @@
`pure' and `side-effect-free' declarations.
(string-equal-ignore-case): Make inline.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-07-28 Sam Steingold <sds@gnu.org>
a couple more `string-equal-ignore-case' test cases
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
Comment fixes for recent icon code
@@ -38036,7 +40365,7 @@
* lisp/emacs-lisp/icons.el: Remove comment.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Delete fast-lock.el and lazy-lock.el
@@ -38062,7 +40391,7 @@
* lisp/mail/rmail.el (rmail-variables): Don't inhibit obsolete
lazy-lock-mode and fast-lock-mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-28 Po Lu <luangruo@yahoo.com>
Fix grab view persisting on Haiku after popup menu closes
@@ -38072,28 +40401,28 @@
* src/haiku_support.h: Update prototypes.
* src/haikumenu.c (haiku_menu_show): Call it here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Convert ffap comments to tests
* test/lisp/ffap-tests.el (ffap-file-remote-p, ffap-machine-p):
New tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
ba54f7e39c ; * doc/lispref/windows.texi (Window Sizes): Another typo....
7990d0c36a ; * doc/lispref/windows.texi (Window Sizes): Fix a typo. ...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
92e77873ad Update ChangeLog and AUTHORS for 28.1.91 pretest
093214402b ; * admin/authors.el (authors-aliases): Update.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -38104,7 +40433,7 @@
# Conflicts:
# doc/lispref/tips.texi
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
Use icons in warnings buffers
@@ -38114,7 +40443,7 @@
(warnings-suppress): New helper function.
(display-warning): Use it (bug#46025).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
Use icons in outline
@@ -38134,7 +40463,7 @@
(outline--insert-open-button, outline--insert-close-button): Make
point movement better in *Help* buffers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
Add support for user-customizable icons
@@ -38164,7 +40493,7 @@
* test/lisp/emacs-lisp/icons-tests.el: Add some tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-28 Po Lu <luangruo@yahoo.com>
Correctly set marker position after specpdl is unwound during printing
@@ -38172,7 +40501,7 @@
wrong current_buffer. Reported by Lars Ingebrigtsen
<larsi@gnus.org>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Make quickurl.el obsolete (part 2/2)
@@ -38180,21 +40509,21 @@
* lisp/info.el (Info-file-list-for-emacs): Delete quickurl entry.
* doc/misc/autotype.texi (QuickURL): Delete section.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Make net/quickurl.el obsolete (part 1/2)
* lisp/net/quickurl.el: Move from here...
* lisp/obsolete/quickurl.el: ...to here.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
Don't export print--unreadable-callback-buffer to lisp
* src/print.c (syms_of_print): Don't export
`print--unreadable-callback-buffer' to lisp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that we don't call print-unreadable-function from " prin1"
@@ -38204,7 +40533,7 @@
(syms_of_print): New internal `print--unreadable-callback-buffer'
variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Bump Emacs version to 28.1.91
@@ -38213,14 +40542,14 @@
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.1.91.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Update ChangeLog and AUTHORS for 28.1.91 pretest
* ChangeLog.3:
* etc/AUTHORS: Update.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Doc fixes: don't mention EFS
@@ -38232,20 +40561,20 @@
* lisp/url/url-file.el (url-file-find-possibly-compressed-file):
Doc fixes; don't mention XEmacs specific library EFS.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-28 Eli Zaretskii <eliz@gnu.org>
Minor update of truncate-line optimization
* src/xdisp.c (forward_to_next_line_start): Look into display and
overlay strings only when lines are truncated on display.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
New test ffap-replace-file-component
* test/lisp/ffap-tests.el (ffap-replace-file-component): New test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-28 Stefan Kangas <stefan@marxist.se>
Minor doc fixes in ffap.el
@@ -38253,7 +40582,7 @@
(ffap-url-fetcher): Minor doc fixes. Adapt to new default; don't
mention defunct/missing library ffap-url.el.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-28 Po Lu <luangruo@yahoo.com>
Fix minor problem with scroll bar grabs on Haiku
@@ -38261,7 +40590,7 @@
(MouseDown, MouseUp): Keep a counter of the mouse down events
received.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-28 Po Lu <luangruo@yahoo.com>
Fix race conditions in mouse button handling on Haiku
@@ -38272,7 +40601,7 @@
(MouseDown, MouseUp): Pass the current message to BasicMouseUp
and BasicMouseDown.
-2023-04-15 Paul Pogonyshev <pogonyshev@gmail.com>
+2022-07-28 Paul Pogonyshev <pogonyshev@gmail.com>
Release the desktop lock in 'kill-emacs-hook'
@@ -38280,18 +40609,18 @@
(desktop--on-kill): New function, refactored from 'desktop-kill'.
(desktop-kill): Call 'desktop--on-kill'. (Bug#56800)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-27 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_set_offset): Respect x-no-window-manager.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-27 Po Lu <luangruo@yahoo.com>
Remove excessive synchronization from x_sync_with_move
* src/xterm.c (x_sync_with_move): Remove redundant XSync. The X
server always handles requests in order.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-07-27 Stefan Kangas <stefankangas@gmail.com>
Drop support for obsolete "Lisp Code Directory" from ffap
@@ -38301,7 +40630,7 @@
Directory".
(ffap-lcd): Make obsolete.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-07-27 Stefan Kangas <stefankangas@gmail.com>
Drop support for XEmacs package EFS
@@ -38315,20 +40644,20 @@
* lisp/speedbar.el (speedbar-check-vc): Drop support for XEmacs
package EFS.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-07-27 Stefan Kangas <stefankangas@gmail.com>
Make ffap-file-suffix obsolete
* lisp/ffap.el (ffap-file-suffix): Make obsolete in favor of
file-name-extension. Update callers.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-27 Michael Albinus <michael.albinus@gmx.de>
Remove Tramp instrumentation
* lisp/net/tramp.el (tramp-handle-shell-command): Modify sentinel handling.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-27 Eli Zaretskii <eliz@gnu.org>
Speed up Isearch in very long lines under line truncation
@@ -38337,11 +40666,11 @@
buffers with very long lines, to avoid falling back on slow
iteration. (Bug#56682)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-27 Michael Albinus <michael.albinus@gmx.de>
Further Tramp instrumentation
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-07-27 F. Jason Park <jp@neverwas.me>
Add compat from GNU ELPA as a soft dependency in ERC
@@ -38366,7 +40695,7 @@
(erc-update-mode-line-buffer): Remove `string-replace' compat code.
(erc-message-english-PART): Remove `string-replace' compat code.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-07-27 F. Jason Park <jp@neverwas.me>
Avoid mutating default value of erc-server-last-peers
@@ -38380,7 +40709,7 @@
(erc-server-PRIVMSG): Create a new `erc-server-last-peers' for easier
testing. (Bug#56449)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-07-27 F. Jason Park <jp@neverwas.me>
Ensure erc-dcc-chat-setup runs in the right buffer
@@ -38389,7 +40718,7 @@
(erc-dcc--send-final-turbo-ack, erc-dcc-get-filter): Rename internal
variable formerly known as `erc-dcc--X-send-final-turbo-ack'.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-07-27 F. Jason Park <jp@neverwas.me>
Fix CTCP regression in erc-server-PRIVMSG
@@ -38402,7 +40731,7 @@
* test/lisp/erc/resources/dcc/chat/accept-dcc.eld: New file.
* test/lisp/erc/resources/dcc/chat/accept.eld: New file.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-07-27 F. Jason Park <jp@neverwas.me>
Allow non-IRC line delimiters with ERC test server
@@ -38417,7 +40746,7 @@
* test/lisp/erc/resources/erc-d/resources/foreign.eld: New file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-27 Po Lu <luangruo@yahoo.com>
Fix thinko in last change
@@ -38425,7 +40754,7 @@
Record unwind protect instead.
(PRINTFINISH): Stop freeing the print buffer. (bug#56773)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-27 Michael Albinus <michael.albinus@gmx.de>
In Tramp, use `string-empty-p' and `string-equal-ignore-case' consequently
@@ -38438,14 +40767,14 @@
New defalias.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-27 Lars Ingebrigtsen <larsi@gnus.org>
Update test-print-unreadable-function after fix
* test/lisp/subr-tests.el (test-print-unreadable-function): Update
test after fix.
-2023-04-15 YugaEgo <yet@ego.team>
+2022-07-27 YugaEgo <yet@ego.team>
Improve 'diff-whitespace-style' user option declaration
@@ -38457,7 +40786,7 @@
* etc/NEWS: Extend 'diff-whitespace-style' introduction.
(Bug#56679) (bug#56679).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-27 Po Lu <luangruo@yahoo.com>
Fix invalid current buffer after print-unreadable-function signals
@@ -38465,13 +40794,13 @@
record_unwind_current_buffer instead.
(PRINTFINISH): Stop restoring `old'. (bug#56773)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-27 Lars Ingebrigtsen <larsi@gnus.org>
Add a test for python-mode comment/else problem
Based on a patch from kobarity <kobarity@gmail.com>
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2022-07-27 Stephen Berman <stephen.berman@gmx.net>
Fix comment/else indentation problem in python-mode
@@ -38479,14 +40808,14 @@
(python-info-dedenter-opening-block-positions): Fix indentation of
"else" after a comment (bug#56742).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-27 Po Lu <luangruo@yahoo.com>
Fix frame determination for XI touch events
* src/xterm.c (handle_one_xevent): Find touchscreen event
windows using x_window_to_frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-27 Po Lu <luangruo@yahoo.com>
Remove workaround for some input method problems
@@ -38494,7 +40823,7 @@
workaround for some input method problems, since they cause more
problems than they fix. (bug#56782)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-26 Po Lu <luangruo@yahoo.com>
Fix NS stretch glyph display
@@ -38504,7 +40833,7 @@
(ns_draw_glyph_string): New function. Port code from X and use
it instead. (bug#56787)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-07-26 Alan Mackenzie <acm@muc.de>
CC Mode: correct the calculation and handling of c-use-category.
@@ -38521,27 +40850,27 @@
(c-sc-parse-partial-sexp): Wrap c-use-category in (eval-when-compile ...) as
an optimization, preventing the XEmacs code also being generated.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-26 Lars Ingebrigtsen <larsi@gnus.org>
Add missing @end defun to strings.texi
* doc/lispref/strings.texi (Text Comparison): Add missing @end defun.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-07-26 Sam Steingold <sds@gnu.org>
restore and obsolete `gnus-string-equal' and `bibtex-string='
* lisp/gnus/gnus-util.el (gnus-string-equal): Restore and declare obsolete.
* lisp/textmodes/bibtex.el (bibtex-string=): Likewise.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-07-26 Sam Steingold <sds@gnu.org>
avoid error when message-fetch-field returns nil
* gnus-art.el (article-hide-boring-headers): Use "" when
`message-fetch-field' returns `nil'
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-07-26 Sam Steingold <sds@gnu.org>
string-equal-ignore-case: new function
@@ -38595,7 +40924,7 @@
* test/lisp/subr-tests.el (string-comparison-test):
Add tests for `string-equal-ignore-case'.
-2023-04-15 Christian Garbs <mitch@cgarbs.de>
+2022-07-26 Christian Garbs <mitch@cgarbs.de>
João Távora <joaotavora@gmail.com>
Add out-of-box support for perl lsp server
@@ -38606,7 +40935,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/952
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-26 Lars Ingebrigtsen <larsi@gnus.org>
Don't bind `M-X' when doing general completion
@@ -38619,14 +40948,14 @@
read-extended-command.
(read-extended-command-1): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-26 Lars Ingebrigtsen <larsi@gnus.org>
Add a test for print-unreadable-function
* test/lisp/subr-tests.el (test-print-unreadable-function): Add
failing test (bug#56773).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-26 Mattias Engdegård <mattiase@acm.org>
Add duplicate-dwim (bug#56418)
@@ -38640,7 +40969,7 @@
* test/lisp/misc-tests.el (misc--duplicate-dwim): New test.
* etc/NEWS: Announce.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-26 Robert Pluim <rpluim@gmail.com>
Teach 'network-lookup-address-info' to validate numeric addresses
@@ -38653,14 +40982,14 @@
(lookup-hints-values): Test new functionality.
* etc/NEWS: Announce change.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-26 Michael Albinus <michael.albinus@gmx.de>
Fix regression in last Tramp change
* lisp/net/tramp-sh.el (tramp-readlink-file-truename): Remove.
(tramp-sh-handle-file-truename): Revert implementation. (Bug#56774)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-26 Po Lu <luangruo@yahoo.com>
Fix flicker when moving tooltips between frames during mouse drag-and-drop
@@ -38670,7 +40999,7 @@
* src/xfns.c (Fx_show_tip): Allow that but only between frames
on the same X display.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-26 Po Lu <luangruo@yahoo.com>
Handle modifiers during Haiku DND wheel movement
@@ -38682,21 +41011,21 @@
wheel function.
(syms_of_haikuselect): Update doc strings.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-26 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
970190b844 Avoid infloop in 'recenter'
a866674b2a Fix inaccuracies in "lax search" documentation
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-25 Po Lu <luangruo@yahoo.com>
Remove some redundant checks in the DND code
* src/xterm.c (handle_one_xevent): Don't check tab_bar_p or
tool_bar_p before clearing last items during drag-and-drop.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-25 Gregory Heytings <gregory@heytings.org>
Improvement for long lines in buffers with font locking.
@@ -38711,7 +41040,7 @@
* src/dispextern.h: Prototype of 'get_closer_narrowed_begv'.
Fix the prototypes of 'get_narrowed_begv' and 'get_narrowed_zv'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-07-25 Paul Eggert <eggert@cs.ucla.edu>
Note guideline for doc string expressions
@@ -38719,21 +41048,21 @@
Mention \\=' and \\=` and say that expressions like
(NAME TYPE RANGE) should not be quoted.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-25 Eli Zaretskii <eliz@gnu.org>
Avoid infloop in 'recenter'
* src/window.c (Frecenter): Avoid infinite loop in the minibuffer
under 'fido-vertical-mode'. (Bug#56765)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-25 Michael Albinus <michael.albinus@gmx.de>
Fix regexp in tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp--test-enabled): Fix regexp
for Tramp test files.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-25 Robert Pluim <rpluim@gmail.com>
Make package-archives URL treatment slighty laxer
@@ -38743,41 +41072,41 @@
* lisp/emacs-lisp/package.el (package--with-response-buffer-1): Use
'url-expand-file-name' instead of 'concat'.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-25 João Távora <joaotavora@gmail.com>
Clean up more robustly in compile.el
* lisp/progmodes/compile.el (compilation-sentinel): Use
unwind-protect.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-25 Eli Zaretskii <eliz@gnu.org>
Fix inaccuracies in "lax search" documentation
* doc/emacs/search.texi (Lax Search): Update the examples of
character folding in search. (Bug#56747)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-25 Po Lu <luangruo@yahoo.com>
Fix mouse face handling during frame reentry on Haiku
* src/haikuterm.c (haiku_read_socket): Clear
last_mouse_glyph_frame like on X.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-25 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
ba70d0f77c Update to Org 9.5.4-17-g6e991f
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-24 Po Lu <luangruo@yahoo.com>
Fix typo in x-dnd-tests.el
* test/lisp/x-dnd-tests.el (x-begin-drag): Avoid extra leading /
in file names. (bug#56712)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-24 Po Lu <luangruo@yahoo.com>
Fix mouse face handling with tooltips
@@ -38787,26 +41116,26 @@
be restored if an EnterNotify is later sent on top of the same
glyph.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-07-24 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.4-17-g6e991f
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-24 João Távora <joaotavora@gmail.com>
Merge commit '7738854e09' to fix fallout of force-push in gnu elpa
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2022-07-24 Mike Kupfer <mkupfer@alum.berkeley.edu>
Fix the prompt for mh-mime-save-parts (SF#500)
* mh-mime.el (mh-mime-save-parts): Use the default argument to
read-directory-name; don't use format-prompt.
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2022-07-24 Mike Kupfer <mkupfer@alum.berkeley.edu>
* mh-mime.el (mh-mime-save-parts): Restore default-directory (SF#498)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-24 Michael Albinus <michael.albinus@gmx.de>
Refactor Tramp
@@ -38921,7 +41250,7 @@
Remove superfluous test files.
(tramp-test21-file-links): Protect file name deletion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-24 Po Lu <luangruo@yahoo.com>
Throw errors in XDS handler directly
@@ -38932,14 +41261,14 @@
(x-dnd-tests-do-direct-save-internal): Bind it to t around
x-begin-drag. (bug#56712)
-2023-04-15 Paul Pogonyshev <pogonyshev@gmail.com>
+2022-07-24 Paul Pogonyshev <pogonyshev@gmail.com>
Don't exclude current dir in `package--reload-previously-loaded'
* lisp/emacs-lisp/package.el (package--reload-previously-loaded):
Don't exclude the current directory (bug#56614).
-2023-04-15 YugaEgo <yet@ego.team>
+2022-07-24 YugaEgo <yet@ego.team>
Add new user option 'diff-whitespace-style'
@@ -38948,7 +41277,7 @@
(top level): require 'whitespace.
(whitespace-style, whitespace-trailing-regexp): Remove defvars.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-24 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -38960,7 +41289,7 @@
# Conflicts:
# lisp/help.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-23 Po Lu <luangruo@yahoo.com>
Prevent exposing tooltip frames to Lisp code during drag-and-drop
@@ -38969,18 +41298,18 @@
NULL.
(handle_one_xevent): Ignore DND events to tooltip frames.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-07-23 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el: Bump the version.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-23 Michael Albinus <michael.albinus@gmx.de>
Set `default-directory' of Tramp archive connection buffer
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
Set `default-directory' of Tramp connection buffer. (Bug#56628)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-23 Mattias Engdegård <mattiase@acm.org>
Fix `lsh` warning shortcomings (bug#56641)
@@ -38995,14 +41324,14 @@
* test/src/data-tests.el (data-tests-ash-lsh):
Suppress warning in tests of `lsh` itself.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
Improve display of columns on mode-line
* src/xdisp.c (decode_mode_spec): A better representation for
"unknown column number".
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
Optimize 'set_vertical_scroll_bar' for long lines
@@ -39010,7 +41339,7 @@
being accurate about window_end_pos if long-line shortcuts
are in effect in the current buffer.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
Avoid calling 'current_column' in buffers with long lines.
@@ -39020,7 +41349,7 @@
optimizations enabled, avoid calling 'current_column', which is
very slow in that case.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-07-23 Basil L. Contovounesios <contovob@tcd.ie>
Update pdumper.c after recent long lines changes
@@ -39033,7 +41362,7 @@
(dump_buffer) [CHECK_STRUCTS]: Update hash accordingly
for --enable-checking=structs.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
Speed up redisplay of long truncated lines
@@ -39044,7 +41373,7 @@
iteration when none is needed. This speeds up redisplay of very
long lines under 'truncate-lines'.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-23 Mattias Engdegård <mattiase@acm.org>
Correct symbol in error for failed CHECK_INTEGER (bug#56723)
@@ -39052,7 +41381,7 @@
* src/lisp.h (CHECK_INTEGER): Use integerp, not numberp.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-07-23 Dmitry Gutov <dgutov@yandex.ru>
Support new "binary file matches" format in Ripgrep 13
@@ -39060,7 +41389,7 @@
Support new "binary file matches" format in Ripgrep 13
(bug#56624).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-23 Po Lu <luangruo@yahoo.com>
Remove macOS region color code
@@ -39068,7 +41397,7 @@
Equivalent functionality is no longer available on free
operating systems.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-23 Mattias Engdegård <mattiase@acm.org>
Use `ash` instead of `lsh` in verilog-mode (bug#56641)
@@ -39076,14 +41405,14 @@
Use `ash`; the result will be the same because the first argument is
nonnegative.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-23 Mattias Engdegård <mattiase@acm.org>
Warn about calls to `lsh` (bug#56641)
* lisp/subr.el (lsh): Warn when compiled; recommend `ash`.
* etc/NEWS: Add note.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
Update the documentation of 'declare' forms
@@ -39092,14 +41421,14 @@
* doc/lispref/functions.texi (Declare Form): Document 'declare'
forms that were previously undocumented.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-23 Po Lu <luangruo@yahoo.com>
Undo C parts of "Don't use the Gtk region face"
This reverts commit a24f710395f9777cb9f8b000300e5e9c892d7794, apart
from the change to faces.el and NEWS.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-23 Lars Ingebrigtsen <larsi@gnus.org>
Don't use the Gtk region face
@@ -39111,14 +41440,14 @@
* src/xfns.c (x_defined_color):
* src/pgtkterm.c (pgtk_defined_color): Don't call.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-07-23 kobarity <kobarity@gmail.com>
Fix Python navigation problem with a line continuation using backslash
* lisp/progmodes/python.el (python-nav--beginning-of-defun): Fix
line continuation using backslash in nested defun (bug#56615).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
Fix bookmark support for Help functions in native-compilation builds
@@ -39130,14 +41459,14 @@
'describe-function--helper' instead of a lambda-function.
(Bug#56643)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-23 Lars Ingebrigtsen <larsi@gnus.org>
Fix wdired entry when there are hidden subdirs
* lisp/dired.el (dired--unhide): Allow `C-c C-q' to work when
there are hidden inserted subdirs (bug#56698).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-23 Visuwesh <visuweshm@gmail.com>
New user option to disable deleting current input in comint mouse-2
@@ -39146,7 +41475,7 @@
deleting current input when insert an old input using mouse-2.
(comint-insert-input): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-23 Lars Ingebrigtsen <larsi@gnus.org>
Use special-mode in eldoc--doc-buffer
@@ -39154,7 +41483,7 @@
`special-mode' to allow normal customizations of the buffer
(bug#56659).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-23 Po Lu <luangruo@yahoo.com>
Fix PGTK DND after a source leaves without dropping anything
@@ -39162,35 +41491,35 @@
(pgtk-dnd-handle-gdk): Set flag upon drag-leave. Clear state
upon drag-motion if it is set.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-23 Lars Ingebrigtsen <larsi@gnus.org>
Fix off-by-one error in string-truncate-left
* lisp/emacs-lisp/subr-x.el (string-truncate-left): Fix off-by-one
error (bug#56685).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-23 Po Lu <luangruo@yahoo.com>
Handle text scale and global text scale during DND wheel movement
* lisp/x-dnd.el (x-dnd-mwheel-scroll): Handle `text-scale' and
`global-text-scale' mwheel actions.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-07-23 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Fix mode line mouse-1 binding when showing only column numbers
* lisp/bindings.el (mode-line-position): Fix the mouse-1 binding
when showing only column numbers (bug#56694).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-23 Lars Ingebrigtsen <larsi@gnus.org>
Don't bug out in src when there's no srcset
* lisp/net/shr.el (shr--preferred-image): Don't bug out when
there's no srcset.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-23 Lars Ingebrigtsen <larsi@gnus.org>
Fix srcset parsing in shr
@@ -39198,7 +41527,7 @@
parsing for easier testing.
(shr--parse-srcset): Don't misparse URLs with commas in them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-22 Po Lu <luangruo@yahoo.com>
Improve efficiency of DND tooltip movement
@@ -39206,7 +41535,7 @@
(x_dnd_update_tooltip_position): Save last tooltip X and Y
somewhere, so we don't move it upon client lists being updated.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-22 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -39219,42 +41548,42 @@
25bc330a6d Make 'describe-function' say "byte-compiled" when appropriate
2b31e667be ;Improve documentation of locale-specific string comparison
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-22 Stefan Kangas <stefan@marxist.se>
Adjust help-fns.el tests for recent change
* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun)
(help-fns-test-lisp-defsubst): Adjust tests for recent change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in error message in native-compile-prune-cache
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Fix typo
(bug#56713).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix spacing in *Help* buttons
* lisp/help-mode.el (help-xref--navigation-buttons): Fix spacing
before single [forward] button.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-22 Lars Ingebrigtsen <larsi@gnus.org>
Give a better error message in native-compile-prune-cache
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Give a
better error message in non-nativecomp builds.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-22 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in 'handle_fontified_prop'
* src/xdisp.c (handle_fontified_prop): Avoid assertion violations
due to automatic narrowing. (Bug#56682)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-22 Eli Zaretskii <eliz@gnu.org>
Fix display of scroll-bar in mini-windows
@@ -39262,25 +41591,25 @@
set correctly when displaying scroll bar of a mini-window.
(Bug#56692)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-22 Robert Pluim <rpluim@gmail.com>
* src/terminal.c (Fframe_terminal): Use active voice
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-22 Robert Pluim <rpluim@gmail.com>
Improve 'terminal-live-p' docstring some more
* terminal.c (Fterminal_live_p): Improve description of arguments and
return value.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-22 Po Lu <luangruo@yahoo.com>
Fix bug#56692 questionably
* src/xdisp.c (set_vertical_scroll_bar): Don't recompute window
end of a mini window. (bug#56692)
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-22 Gregory Heytings <gregory@heytings.org>
Improve font locking in buffers with long lines (bug#56682).
@@ -39297,25 +41626,25 @@
* src/editfns.c (syms_of_editfns): New variable and symbol 'inhibit-widen'.
(Fwiden): Do nothing when 'inhibit-widen' is non-nil.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-22 Robert Pluim <rpluim@gmail.com>
Explain how to override Author with VC
* CONTRIBUTE: Describe how to use Author header line and
'log-edit-setup-add-author'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-22 Robert Pluim <rpluim@gmail.com>
Improve terminal-live-p docstring
* src/terminal.c (Fterminal_live_p): Explain what happens when the
argument is nil.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-07-22 Robert Pluim <rpluim@gmail.com>
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector): Fix grammar
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-22 Po Lu <luangruo@yahoo.com>
Fix handling hscroll during drag-and-drop
@@ -39325,7 +41654,7 @@
* src/window.c (set_window_hscroll): Mark window as needing
redisplay if the hscroll really changed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-21 Po Lu <luangruo@yahoo.com>
Fix posn-timestamp of scroll bar events on GTK
@@ -39336,7 +41665,7 @@
(xg_scroll_callback, xg_end_scroll_callback): Set last user time
if possible.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-21 João Távora <joaotavora@gmail.com>
Always default eglot-strict-mode to nil
@@ -39347,7 +41676,7 @@
* eglot.el (eglot-strict-mode): default to nil.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-21 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/help-mode.el (help-news): Use `view-file`
@@ -39355,7 +41684,7 @@
* lisp/progmodes/verilog-mode.el (verilog-surelint-off): Silence warning
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-21 Stefan Monnier <monnier@iro.umontreal.ca>
(compilation-parse-errors-function): Remove obsolete var
@@ -39374,7 +41703,7 @@
(compilation-parse-errors-function): Remove declaration, not used any more.
(prolog-parse-sicstus-compilation-errors): Remove function, not used any more.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
image-dired: Don't end messages with "."
@@ -39386,18 +41715,18 @@
(image-dired-modify-mark-on-thumb-original-file): Don't end messages
with "." to better comply with '(elisp) Programming Tips'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
Fix reference to 'x-max-tooltip-size' in complete.el
* lisp/cedet/semantic/complete.el: Don't assume that
x-max-tooltip-size is a cons cell.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-21 Gregory Heytings <gregory@heytings.org>
Merge branch 'feature/fix-the-long-lines-display-bug'
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
Update buffer's chars-modified tick when inserting from gap
@@ -39407,11 +41736,11 @@
* test/src/buffer-tests.el (test-buffer-chars-modified-ticks): New
test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
* lisp/progmodes/cperl-mode.el: Don't mention obsolete archive.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-21 Po Lu <luangruo@yahoo.com>
Apply tooltip assertions to all instances of x-show-tip
@@ -39424,70 +41753,70 @@
* src/xfns.c (Fx_show_tip):
(syms_of_xfns): Add assertion and adjust default values.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Minor doc fix in search-forward-help-for-help
* lisp/help.el (search-forward-help-for-help): Use command
substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Make bs-help obsolete in favor of describe-mode
* lisp/bs.el (bs-help): Make obsolete in favor of describe-mode.
Update uses.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Make dictionary-help obsolete in favor of describe-mode
* lisp/net/dictionary.el (dictionary-help): Make obsolete in favor
of describe-mode. Update uses.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Don't list obsolete in "other commands" help section
* lisp/help-fns.el (help-fns--list-local-commands): Don't list
obsolete commands.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
Make 'describe-function' say "byte-compiled" when appropriate
* lisp/help-fns.el (help-fns-function-description-header): Say
"byte-compiled" when describing byte-compiled functions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
Make sure we don't unknowingly truncate tooltip text
* src/w32fns.c (Fx_show_tip): Add assertion when the default
tooltip dimension limits are insufficient. (Bug#56561)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-21 Po Lu <luangruo@yahoo.com>
Avoid wasting bandwidth to set user time
* src/xterm.c (x_display_set_last_user_time): Don't change the
user time property if nothing actually changed.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
;Improve documentation of locale-specific string comparison
* doc/lispref/strings.texi (Text Comparison): Mention the Unicode
collation rules and buffer-local case-tables.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Make bubbles-quit obsolete in favor of quit-window
* lisp/play/bubbles.el (bubbles-quit): Make obsolete in favor of
quit-window. Update uses.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Remove superfluous installation instructions
@@ -39497,37 +41826,37 @@
* lisp/textmodes/remember.el:
* lisp/woman.el: Remove superfluous installation instructions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-21 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
ea44d7ddfc ; * lisp/mail/smtpmail.el (smtpmail-via-smtp): Explain wit...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-20 Po Lu <luangruo@yahoo.com>
Improve handling screen resizes when built without RandR
* src/xterm.c (handle_one_xevent): Update DND tooltip position
upon ConfigureNotify for root window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-20 Po Lu <luangruo@yahoo.com>
Revert "Prefer defvar-keymap in xwidget.el"
This reverts commit daf2c3e23a45bff14f9d444d2d07455376d4b6da.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-20 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in xwidget.el
* lisp/xwidget.el (xwidget-webkit-mode-map)
(xwidget-webkit-edit-mode-map): Prefer defvar-keymap.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-20 Gregory Heytings <gregory@heytings.org>
* src/xdisp.c (redisplay_window): Small optimization.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-20 Gregory Heytings <gregory@heytings.org>
Further tweaks to long lines handling.
@@ -39546,21 +41875,21 @@
* etc/NEWS: Small improvement.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-20 Po Lu <luangruo@yahoo.com>
Fix mouse wheel DND scroll direction on Haiku
* lisp/term/haiku-win.el (haiku-handle-drag-wheel): Record the
last wheel direction. If it differs, clear the click counter.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-20 Eli Zaretskii <eliz@gnu.org>
Fix error during startup in -nw sessions
* lisp/startup.el (normal-top-level, command-line-1): Don't mess
with fonts in a text-mode session. (Bug#56660)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-20 Mattias Engdegård <mattiase@acm.org>
Gently discourage use of `lsh` (bug#56641)
@@ -39570,7 +41899,7 @@
Shortdoc is very helpful for finding the right function to use,
and `lsh` is just for compatibility at this point.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-20 Po Lu <luangruo@yahoo.com>
Fix calculation of default highlightForeground in the lucid menu bar
@@ -39581,7 +41910,7 @@
when creating GCs. Reported by Colin Baxter
<m43cap@yandex.com>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-20 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -39590,7 +41919,7 @@
# Conflicts:
# test/lisp/net/tramp-tests.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-20 Po Lu <luangruo@yahoo.com>
Implement wheel movement during DND on Haiku
@@ -39612,7 +41941,7 @@
`haiku_note_drag_wheel' when appropriate.
* src/haikuterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-20 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in some trivial cases
@@ -39648,14 +41977,14 @@
* lisp/xwidget.el (xwidget-webkit-isearch-mode-map)
(xwidget-webkit-edit-mode-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-19 Po Lu <luangruo@yahoo.com>
Fix setting user time upon scrolling self during DND
* src/xterm.c (handle_one_xevent): Set user time for emulated
scroll wheel events if Emacs ends up scrolled during DND.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-19 João Távora <joaotavora@gmail.com>
Make eldoc-echo-area-prefer-doc-buffer consider all frames
@@ -39669,7 +41998,7 @@
* lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p):
Consider all frames.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-19 João Távora <joaotavora@gmail.com>
Ensure Eldoc buffer displays on interactive M-x eldoc
@@ -39677,7 +42006,7 @@
eldoc-doc-buffer with interactive set to t.
(Version): Bump to 1.13.0.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-19 Gregory Heytings <gregory@heytings.org>
Simplified and improved heuristic for long lines detection.
@@ -39698,31 +42027,31 @@
* src/xdisp.c (redisplay_window): Use the improved version of 'MODIFF'
for the heuristic.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-19 Gregory Heytings <gregory@heytings.org>
Revert commits 1ff69cc744 and 9a894206f6.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-19 João Távora <joaotavora@gmail.com>
Fix embarrassing paren-matching blunder in eglot.el
* eglot.el (eglot-handle-request workspace/applyEdit): Fix parens.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-19 João Távora <joaotavora@gmail.com>
Reply more reasonably to server's workspace/applyedit
* eglot.el (eglot-handle-request): Return non-nil
(eglot--apply-workspace-edit): Signal jsonrpc-error, not error.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-19 João Távora <joaotavora@gmail.com>
Appease byte-compiler warnings about wrong use of quotes
* eglot.el (eglot-stay-out-of, eglot--code-action): Just give it
what it wants.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-19 João Távora <joaotavora@gmail.com>
Eglot-workspace-configuration can be a function
@@ -39737,17 +42066,17 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/967
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-07-19 Philip Kaludercic <philipk@posteo.net>
* eudc.texi: Unquote setopt option names
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-19 Gregory Heytings <gregory@heytings.org>
Improve the heuristic for long lines detection again.
* src/xdisp.c (redisplay_window): Improve the heuristic again.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-19 Mattias Engdegård <mattiase@acm.org>
Use `ash` instead of `lsh`
@@ -39757,7 +42086,7 @@
* lisp/x-dnd.el (x-dnd-handle-xdnd, x-dnd-handle-motif):
`lsh` is slower and has confusing semantics; avoid.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-19 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in bindings.el
@@ -39767,7 +42096,7 @@
defvar-keymap.
(mode-specific-map): Minor doc fix.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-19 Mattias Engdegård <mattiase@acm.org>
Speed up `butlast`
@@ -39775,7 +42104,7 @@
* test/lisp/subr-tests.el (subr-tests--butlast-ref, subr-butlast):
Add test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-19 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -39785,14 +42114,14 @@
8f9993bb3f ; * src/buffer.c (syms_of_buffer) <mode-line-format>: Doc ...
fec4bb89f9 ; Fix typos (Bug#56550)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-18 Po Lu <luangruo@yahoo.com>
Document workaround for bug#56627
* etc/PROBLEMS: Document problems with GTK tool bar icons on
some icon themes. (bug#56627)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
(help-fns--first-release): Try and avoid false positives
@@ -39812,14 +42141,14 @@
least 2 spaces. Add previously missing '...' quotes around many of
the variables and functions described.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-18 Po Lu <luangruo@yahoo.com>
Fix timestamp specified in wheel movement XDND events
* src/xterm.c (handle_one_xevent): Use the time of the wheel
event in XDND events sent in response to wheel movement.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-18 Po Lu <luangruo@yahoo.com>
Make drag-and-drop wheel movement work locally too on X
@@ -39835,29 +42164,29 @@
set new wheel movement flags
(syms_of_xterm): New variable `x-dnd-wheel-function'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-18 Eli Zaretskii <eliz@gnu.org>
* src/xdisp.c (set_vertical_scroll_bar): Remove stale comment.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-18 Eli Zaretskii <eliz@gnu.org>
Fix calculation of the vertical scroll bar's thumb
* src/xdisp.c (set_vertical_scroll_bar): Compute window's end
position "by hand" if w->window_end_pos cannot be relied upon.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-18 Gregory Heytings <gregory@heytings.org>
* etc/PROBLEMS: Remove the entry which is no longer relevant.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-18 Michael Albinus <michael.albinus@gmx.de>
Use ntake also in tramp-adb.el
* lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes):
Use `tramp-compat-ntake'.
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-07-18 Alexander Adolf <alexander.adolf@condition-alpha.com>
Additional query and results attributes in eudcb-macos-contacts.el
@@ -39870,7 +42199,7 @@
* etc/NEWS: announce wider query/result attribute set
* doc/misc/eudc.texi: more details on eudcb-mab.el's limitations
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-18 Gregory Heytings <gregory@heytings.org>
Improve the heuristic for long lines detection.
@@ -39883,14 +42212,14 @@
* src/xdisp.c (mark_window_display_accurate_1): Set the field.
(redisplay_window): Use the field for long lines detection.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-18 Gregory Heytings <gregory@heytings.org>
Shorter and safer fix for the segfault.
* src/xdisp.c (get_visually_first_element): Shorter and safer fix for
the segfault. Improves the fix introduced in cc7f37b2a4.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-18 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp new test macros
@@ -39898,7 +42227,7 @@
(tramp--test-deftest-with-perl, tramp--test-deftest-with-ls):
Skip for all methods but those from tramp-sh.el.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-18 Michael Albinus <michael.albinus@gmx.de>
Use ntake in Tramp
@@ -39909,22 +42238,22 @@
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-18 Stefan Kangas <stefan@marxist.se>
* lisp/rect.el (rectangle-mark-mode-map): Prefer defvar-keymap.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-18 Gregory Heytings <gregory@heytings.org>
Fix typo in NEWS title.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-18 Mattias Engdegård <mattiase@acm.org>
Clarify `take` and `ntake` documentation (bug#56521)
* doc/lispref/lists.texi (List Elements): Describe `ntake` better.
* src/fns.c (Ftake, Fntake): Rephrase doc strings.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-18 Mattias Engdegård <mattiase@acm.org>
Speed up `seq-subseq` for lists (bug#56521)
@@ -39934,7 +42263,7 @@
* test/lisp/emacs-lisp/seq-tests.el (seq-tests--list-subseq-ref)
(test-seq-subseq): Test `seq-subseq` for lists more thoroughly.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-18 Mattias Engdegård <mattiase@acm.org>
Use `take` where clearly safe to do so (bug#56521)
@@ -39949,14 +42278,14 @@
We have the equivalence
(take N LIST) = (butlast LIST (- (length LIST) N)).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-18 Gregory Heytings <gregory@heytings.org>
Further improvements to long lines handling.
* src/xdisp.c (get_visually_first_element): Fix segfault.
(get_narrowed_begv): Specific improvement for character-only terminals.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-18 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (minibuffer-complete-history): Define sorting by metadata
@@ -39964,7 +42293,7 @@
Use completion metadata to disable sorting of the completion table
(bug#56613)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-18 Po Lu <luangruo@yahoo.com>
Implement last change on Haiku as well
@@ -39973,7 +42302,7 @@
* src/haikuselect.c (haiku_note_drag_motion): Use
redisplay_preserve_echo_area.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-18 Po Lu <luangruo@yahoo.com>
Preserve echo area message when running DND mouse movement function
@@ -39981,7 +42310,7 @@
* src/xterm.c (x_dnd_begin_drag_and_drop): Redisplay with the
echo area preserved.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-07-17 Richard Hansen <rhansen@rhansen.org>
Derive `Info-mode' from `special-mode'
@@ -39990,7 +42319,7 @@
don't apply to special modes (such as `global-whitespace-mode' and
`global-display-fill-column-indicator-mode').
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-07-17 Richard Hansen <rhansen@rhansen.org>
info-edit: Delay `ibuffer' var change until after `ibuffer' loads
@@ -39999,7 +42328,7 @@
loaded. This fixes a "(void-variable ibuffer-help-buffer-modes)"
error when `info-edit' is loaded before `ibuffer'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-17 Po Lu <luangruo@yahoo.com>
Handle virtual modifiers in the DND scrolling code
@@ -40009,21 +42338,21 @@
* src/xterm.c (x_get_keyboard_modifiers): New function.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/minibuffer.el (minibuffer-complete-history): Ensure a list of strings
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-17 Juri Linkov <juri@linkov.net>
* lisp/subr.el (read-char-from-minibuffer, y-or-n-p): Simplify to use HIST=t.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-17 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (minibuffer-complete-history): Check for history=t.
Signal a user error when the history is not a list (bug#56613).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-17 Mattias Engdegård <mattiase@acm.org>
Add `take` and `ntake` (bug#56521)
@@ -40039,7 +42368,7 @@
New test.
* etc/NEWS: Announce.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-17 Eli Zaretskii <eliz@gnu.org>
Fix leaking of file descriptors due to pipe processes on MS-Windows
@@ -40050,28 +42379,28 @@
already exited, so that it would be possible to close descriptors
open by pipe processes for reading from the pipe. (Bug#56606)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-17 Po Lu <luangruo@yahoo.com>
Improve handling of tilt scroll and flip options during DND
* lisp/x-dnd.el (x-dnd-mwheel-scroll): New function.
(x-dnd-handle-xdnd): Use that instead of abusing mwheel.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-17 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in mpc.el
* lisp/mpc.el (mpc-mode-map, mpc-tagbrowser-dir-mode-map)
(mpc-volume-map, mpc-songs-mode-map): Prefer defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-17 Lars Ingebrigtsen <larsi@gnus.org>
Make `C' in over tramp work in archive mode
* lisp/arc-mode.el (archive-copy-file): Make `C' in over tramp
work (bug#56574).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-17 Eli Zaretskii <eliz@gnu.org>
Fix tab-bar resizing under 'auto-resize-tab-bars' = 'grow-only'
@@ -40082,14 +42411,14 @@
* lisp/tab-bar.el (tab-bar--update-tab-bar-lines): Support
'auto-resize-tab-bars' set to 'grow-only'.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-17 Visuwesh <visuweshm@gmail.com>
Ensure that directories exist when copying files from archive
* lisp/arc-mode.el (archive-copy-file): If the directory the file is
being extracted to does not exist, then create it (bug#56603).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-17 Lars Ingebrigtsen <larsi@gnus.org>
Improve error messaging when parent archive buffers are missing
@@ -40097,14 +42426,14 @@
* lisp/tar-mode.el (tar-subfile-save-buffer): Give a better error
message when the parent buffer is dead (bug#56605).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-17 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f5218385c0 Fix obsoletion of nntp-authinfo-file
10b6919870 ; Fix typos
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-16 Po Lu <luangruo@yahoo.com>
Handle scrolling during XDND drag-and-drop
@@ -40118,7 +42447,7 @@
* src/xterm.c (x_dnd_send_position): Fix handling of mouse
rects.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-16 Po Lu <luangruo@yahoo.com>
Fix drag-and-drop button button flags
@@ -40126,11 +42455,11 @@
regardless of version. Fix bit indices.
(handle_one_xevent): Likewise.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-16 Gregory Heytings <gregory@heytings.org>
Fix typo in e7b5912b23.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-16 Gregory Heytings <gregory@heytings.org>
Improvements to long lines handling.
@@ -40158,14 +42487,14 @@
* etc/NEWS: Mention the 'long-line-threshold' variable.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-07-16 kobarity <kobarity@gmail.com>
Fix python navigation problem with an empty line in nested defun
* lisp/progmodes/python.el (python-nav--beginning-of-defun): Fix
bug when point is on an empty line (bug#56600).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix xref links in `C-h o'
@@ -40178,18 +42507,18 @@
here...
(help-xref--navigation-buttons): To here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-16 Stefan Kangas <stefan@marxist.se>
New test for make_symbol_constant
* test/src/data-tests.el (data-tests-make_symbol_constant): New
test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-16 Eli Zaretskii <eliz@gnu.org>
* src/composite.c (find_automatic_composition): Fix off-by-one error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-16 Po Lu <luangruo@yahoo.com>
Improve documentation of `posn-timestamp'
@@ -40197,14 +42526,14 @@
documentation of `posn-timestamp' by actually describing the
timestamp it returns.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-16 Mattias Engdegård <mattiase@acm.org>
Update `eshell-variable-aliases-list` defcustom type
* lisp/eshell/esh-var.el (eshell-variable-aliases-list):
Add type for SIMPLE-FUNCTION value.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-16 Michael Albinus <michael.albinus@gmx.de>
Comment docstrings in tramp-test macros
@@ -40213,14 +42542,14 @@
(tramp--test-deftest-direct-async-process): Comment docstring,
it doesn't work this way. Use `tramp-test-vec' if appropriate.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-16 Lars Ingebrigtsen <larsi@gnus.org>
Weed out some false positives in help-fns--mention-first-release
* lisp/help-fns.el (help-fns--mention-first-release): Weed out
things that give too many false positives (bug#49062).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-07-16 Manuel Giraud <manuel@ledu-giraud.fr>
Colored menu highlight in Lucid backend
@@ -40230,7 +42559,7 @@
of menu entries.
* doc/emacs/xresources.texi (Lucid Resources): Documentation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-16 Po Lu <luangruo@yahoo.com>
Decrease network traffic with some XDND programs
@@ -40243,7 +42572,7 @@
(x-dnd-handle-xdnd): Generate mouse rectangles consisting of the
object (glyph) under point.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-16 Lars Ingebrigtsen <larsi@gnus.org>
Allow ;;;###autoloading transient-define-prefix
@@ -40253,7 +42582,7 @@
* lisp/transient.el (transient-define-prefix): Autoload.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-16 Mattias Engdegård <mattiase@acm.org>
Optimise `append` calls
@@ -40276,7 +42605,7 @@
* lisp/emacs-lisp/byte-opt.el: New.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-16 Mattias Engdegård <mattiase@acm.org>
Improved cons optimisation
@@ -40285,7 +42614,7 @@
(cons X (list Y...)) -> (list X Y...)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-16 Mattias Engdegård <mattiase@acm.org>
Transform (list) -> nil in source optimiser
@@ -40295,7 +42624,7 @@
* lisp/emacs-lisp/byte-opt.el (byte-optimize-list): New.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-16 Stefan Kangas <stefan@marxist.se>
Delete obsolete variable gnus-secondary-servers
@@ -40305,19 +42634,19 @@
* lisp/gnus/gnus-int.el (gnus-start-news-server): Don't use above
deleted variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-16 Stefan Kangas <stefan@marxist.se>
Fix obsoletion of nntp-authinfo-file
* lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsoletion.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
db259d8fd3 Build Seccomp filter only if we have a 64-bit userspace (B...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-15 Po Lu <luangruo@yahoo.com>
Handle XDND mouse rects synchronously
@@ -40328,11 +42657,11 @@
(handle_one_xevent): When handling XdndStatus, check if the
pending event is contained in the new mouse rect.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/url/url-vars.el (url-mime-separator-chars): Fix last cosmetic change
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-15 Michael Albinus <michael.albinus@gmx.de>
Extend tramp-tests
@@ -40360,32 +42689,32 @@
(tramp-test42-utf8-with-perl)
(tramp-test42-utf8-with-ls): Rewrite, using the new macros.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-15 Stefan Kangas <stefan@marxist.se>
* lisp/tar-mode.el (tar-mode-map): Prefer defvar-keymap.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-07-15 Philipp Stephani <phst@google.com>
Build Seccomp filter only if we have a 64-bit userspace (Bug#56549)
* configure.ac (SIZEOF_LONG): New variable.
* lib-src/Makefile.in (SIZEOF_LONG): New variable; added conditional.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-07-15 Andreas Schwab <schwab@linux-m68k.org>
Fix ASAN error with fringe bitmap on NS
* src/nsterm.m (ns_define_fringe_bitmap): Correctly access fringe
bitmap data. (Bug#56553)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-15 Po Lu <luangruo@yahoo.com>
Fix double unfocus during NS cursor display
* src/nsterm.m (ns_draw_window_cursor): Unfocus around calls to
draw_phys_cursor_glyph, then focus again later. (bug#56559)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-15 Po Lu <luangruo@yahoo.com>
Only preserve PRIMARY and CLIPBOARD selection ownership by default
@@ -40397,7 +42726,7 @@
(syms_of_xterm): Update doc string of
`x-auto-preserve-selections'.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-15 João Távora <joaotavora@gmail.com>
Be more conservative with the lsp identifier guess
@@ -40415,7 +42744,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/131
GitHub-reference: per https://github.com/joaotavora/eglot/issues/314
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-15 João Távora <joaotavora@gmail.com>
Guess the "lsp identifier at point"
@@ -40426,7 +42755,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/131
GitHub-reference: per https://github.com/joaotavora/eglot/issues/314
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-15 Eli Zaretskii <eliz@gnu.org>
Avoid infloop in redisplay when displaying a tooltip
@@ -40434,32 +42763,32 @@
indicates that the dimensions of the glyph matrix are
insufficient. (Bug#56561)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-15 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how dired-copy-filename-as-kill handles file names with spaces
* lisp/dired.el (dired-copy-filename-as-kill): Quote files
containing spaces (bug#48657).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-15 Lars Ingebrigtsen <larsi@gnus.org>
Adjust whitespace tests
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix whitespace-mode display table restoration logic
* lisp/whitespace.el (whitespace-display-char-on): Fix the saving
logic -- `whitespace-mode' is on by this point (bug#48583).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-15 Visuwesh <visuweshm@gmail.com>
Fix mailcap-user-mime-data doc string
* lisp/net/mailcap.el (mailcap-user-mime-data): Make the doc
string reflect the actual structure (bug#56568).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-15 João Távora <joaotavora@gmail.com>
Tweak some details, fix some bugs
@@ -40476,7 +42805,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/131
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-15 Po Lu <luangruo@yahoo.com>
Fix generated drag-and-drop mouse rectangles
@@ -40491,7 +42820,7 @@
* src/xfns.c (Fx_translate_coordinates): New function.
(syms_of_xfns): New defsym.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-07-15 Gerd Möllmann <gerd@gnu.org>
Extend support for debugging Emacs with LLDB
@@ -40499,21 +42828,21 @@
struct (--enable-lisp-type-checking). Enable Emacs type category by
default. Expand children in type summary for Lisp_Object.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
6a05715552 Update the Samaritan's contact details in M-x doctor
d19834dfda ; Fix typos
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-14 Po Lu <luangruo@yahoo.com>
Fix sending button presses if the drop target specified a mouse rectangle
* src/xterm.c (x_dnd_send_position): Handle button presses
specially, ignoring mouse rectangles.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-07-14 Sean Whitton <spwhitton@spwhitton.name>
Use notmuch thread:{} operator instead of performing two searches
@@ -40524,13 +42853,13 @@
searching for threads, wrap whole query in thread:{} operator, and
always use --output=files, never --output=threads (bug#56442).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix --without-x build after previous image cache changes
* src/alloc.c (garbage_collect): Fix --without-all --without-x build.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Restore how (read-from-minibuffer ... read-expression-map) worked
@@ -40540,7 +42869,7 @@
(read--expression-map): New map.
(read--expression): Use it.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-14 Visuwesh <visuweshm@gmail.com>
Make gnus display webp images inline
@@ -40548,7 +42877,7 @@
* lisp/net/mailcap.el (mailcap-mime-extensions): Add webp mimetype
(bug#56552).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Make image-map commands work with inline image attachments in mm
@@ -40556,28 +42885,28 @@
point movement is more pleasant and so that image-map commands
work (bug#56554).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-14 Visuwesh <visuweshm@gmail.com>
* lisp/image.el (put-image): Fix typo.
* lisp/image.el (put-image): Actually use the image-map keymap
(bug#56554).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-14 Visuwesh <visuweshm@gmail.com>
Use compose-mail in submit-emacs-patch
* lisp/mail/emacsbug.el (submit-emacs-patch): Prefer
compose-mail-other-window over message-mail-other-window (bug#56555).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Make ps-print-ensure-fontified obsolete
* lisp/ps-print.el (ps-print-ensure-fontified): Redefine as
obsolete function alias for font-lock-ensure. Update callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Prune animation cache when images are no longer reachable
@@ -40590,7 +42919,7 @@
the identity of the list itself is apparently changed by some
callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Make image-cache-size also include the animation cache
@@ -40599,25 +42928,25 @@
(gif_load, webp_load): Ditto.
(Fimage_cache_size): Also report animation cache size (bug#56546).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Prune the animation cache from gc
* src/alloc.c (garbage_collect): Prune animation cache
(bug#56546).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-14 Eli Zaretskii <eliz@gnu.org>
* src/gtkutil.c (xg_free_frame_widgets): Avoid compiler warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Update the Samaritan's contact details in M-x doctor
* lisp/play/doctor.el (doctor-death): Update the Samaritans's contact
details; anon.twwells.com is no longer valid. Add link to Wikipedia.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-14 João Távora <joaotavora@gmail.com>
Cosmetic decisions guaranteed to tick off someone somewhere (tm)
@@ -40640,7 +42969,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/131
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-14 João Távora <joaotavora@gmail.com>
Experiment with grouping in xref-backend-identifier-completion-table
@@ -40650,7 +42979,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/131
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-14 João Távora <joaotavora@gmail.com>
Make c-u m-. work half decently
@@ -40669,27 +42998,27 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/131
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Silence unused variable warning in a build --without-all
* src/xfns.c (Fx_double_buffered_p): Silence unused variable warning
in a build --without-all.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Compress hashcash headers by default
* lisp/mail/hashcash.el (hashcash-extra-generate-parameters):
Use compression by default.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Pacify -Wunused-macros in --without-all builds
* src/image.c (IMAGE_TYPE_INIT): Make conditional on image support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Update the 'etags' test suite
@@ -40700,20 +43029,20 @@
* ETAGS_good_5:
* ETAGS_good_6: Adapt to recent changes in test sources.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-14 Po Lu <luangruo@yahoo.com>
Try to restore the initial "daemon" frame when a display goes down
* src/xterm.c (x_try_restore_frame): New function.
(x_connection_closed): Call it if selected_frame is nil.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
76878ce6a0 * etc/PROBLEMS: Describe problems with remote files. (Bug...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -40724,7 +43053,7 @@
# test/src/comp-resources/comp-test-45603.el
# test/src/comp-tests.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-14 Lars Ingebrigtsen <larsi@gnus.org>
Make clear-image-cache clear the animation cache
@@ -40738,7 +43067,7 @@
(imagemagick_get_animation_cache): Ditto.
(image_prune_animation_caches): New function (bug#56546).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -40752,17 +43081,17 @@
# lisp/emacs-lisp/byte-opt.el
# test/lisp/so-long-tests/spelling-tests.el
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-07-14 Gerd Möllmann <gerd@gnu.org>
Improve support for debugging Emacs with LLDB
* etc/emacs_lldb.py: Refactor and support more Lisp types.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-14 Eli Zaretskii <eliz@gnu.org>
* etc/PROBLEMS: Describe problems with remote files. (Bug#56499)
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-14 Visuwesh <visuweshm@gmail.com>
Add new customizable phonetic Tamil input method
@@ -40794,7 +43123,7 @@
* etc/NEWS: Announce the new input method.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-13 Po Lu <luangruo@yahoo.com>
Fix killing Emacs upon display disconnect
@@ -40802,7 +43131,7 @@
be left alive without any frames on them, so take that into
account. (bug#56528)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-13 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in tab-bar.el
@@ -40811,14 +43140,14 @@
(tab-bar-switch-repeat-map, tab-bar-move-repeat-map): Prefer
defvar-keymap.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-07-13 Andrea Corallo <akrl@sdf.org>
Remove uneffective test
* test/src/comp-tests.el (45603-1): Remove test.
* test/src/comp-resources/comp-test-45603.el: Delete.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-07-13 Andrea Corallo <akrl@sdf.org>
Mark async worker tmp file as utf-8-emacs-unix (bug#48029)
@@ -40828,18 +43157,18 @@
* test/src/comp-resources/comp-test-funcs.el
(comp-test-48029-nonascii-žžž-f): New function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-13 Stefan Kangas <stefan@marxist.se>
* lisp/vc/vc-bzr.el (vc-bzr-program): Support breezy.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-13 Lars Ingebrigtsen <larsi@gnus.org>
Make smtpmail try all auth methods
* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Try all valid
methods, even if one fails (bug#48562).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-13 Po Lu <luangruo@yahoo.com>
Fix recursive calls of x_connection_closed leading to dead terminal
@@ -40847,14 +43176,14 @@
the current display.
(x_io_error_quitter): Fix attributes. (bug#56528)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-13 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp version integrated in Emacs 28.2
* lisp/net/trampver.el (customize-package-emacs-version-alist):
Adapt Tramp version integrated in Emacs 28.2.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-13 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Make mouse-2 respect delete-selection mode"
@@ -40862,14 +43191,14 @@
This leads to unintended consequences for cua-mode, among others (bug#56530).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-13 Lars Ingebrigtsen <larsi@gnus.org>
Make bibtex-mode not signal errors when used programmatically
* lisp/textmodes/bibtex.el (bibtex-mode): Ensure that the font
lock machinery is set up (bug#48447).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-13 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp doc
@@ -40878,7 +43207,7 @@
* lisp/net/tramp.el (tramp-verbose): Fix docstring.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-13 Stefan Kangas <stefan@marxist.se>
Make the rsh command obsolete
@@ -40886,7 +43215,7 @@
(telnet-connect-command, telnet-mode): Adjust documentation for
above change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-13 Po Lu <luangruo@yahoo.com>
Implement TIMESTAMP target for Haiku selections
@@ -40898,20 +43227,20 @@
(syms_of_haikuselect): Add new defsubr.
* src/haikuselect.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
a3dab1e621 Don't mention cl-cXXXr aliases in cl-lib manual
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-13 Po Lu <luangruo@yahoo.com>
New user option 'webjump-use-internal-browser'
* lisp/net/webjump.el (webjump-use-internal-browser): New defcustom.
(webjump): Respect it. Reported by Youmu <condy0919@gmail.com>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-12 Po Lu <luangruo@yahoo.com>
Fix closing displays when preserving selections is enabled
@@ -40924,7 +43253,7 @@
(syms_of_xterm): New defsym `x-auto-preserve-selections'.
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-12 Lars Ingebrigtsen <larsi@gnus.org>
Tweak image-converter-add-handler interface
@@ -40932,14 +43261,14 @@
* lisp/image/image-converter.el (image-convert): Let the converter
know whether it's a file or not.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-12 Lars Ingebrigtsen <larsi@gnus.org>
Autoload image-converter-add-handler
* lisp/image/image-converter.el (image-converter-add-handler):
Autoload.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-12 Lars Ingebrigtsen <larsi@gnus.org>
Add support for viewing "images" such as Krita (.kra) files
@@ -40949,14 +43278,14 @@
function (bug#48415).
(image-convert): Use it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Drop obsolete rsh/rlogin from two user options
* lisp/net/ange-ftp.el (ange-ftp-gateway-program):
* lisp/net/imap.el (imap-shell-program): Drop obsolete "rsh"/"rlogin".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Make pcomplete/{rsh,rlogin} into alias for pcomplete/ssh
@@ -40964,14 +43293,14 @@
aliases for 'pcomplete/ssh', as "rsh" and "rlogin" is more often than
not aliases for "ssh" on modern machines.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-12 Michael Albinus <michael.albinus@gmx.de>
Remove rsh from Tramp manual, Overview section
* doc/misc/tramp.texi (Overview, Frequently Asked Questions):
Don't mention obsolete rsh and rcp.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-07-12 Jim Porter <jporterbugs@gmail.com>
Ensure Eshell variable aliases properly handle indexing
@@ -40996,7 +43325,7 @@
(esh-var-test/last-arg-var-split-indices): Expand test to check
conversion behavior inside double quotes (bug#56509).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-07-12 Jim Porter <jporterbugs@gmail.com>
Allow Eshell variable aliases to point to other aliases
@@ -41012,7 +43341,7 @@
(em-dirs-test/short-pwd-var): Adapt tests to check this case
(bug#56509).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-07-12 Jim Porter <jporterbugs@gmail.com>
Improve tests/organization for built-in variables
@@ -41040,7 +43369,7 @@
(Variables): ... to here, and add documentation for missing built-in
variables.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix buffer-stale-function fix
@@ -41049,14 +43378,14 @@
buffer-locally to the default value. This should have the same
effect, but is less confusing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-12 Po Lu <luangruo@yahoo.com>
Reduce syncing when fetching selection names during frame deletion
* src/xterm.c (x_preserve_selections): Use XCB to asynchronously
fetch the selection owner.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Don't mention cl-cXXXr aliases in cl-lib manual
@@ -41064,7 +43393,7 @@
mention 'cl-cXXXr' compatibility aliases for built-in 'cXXXr'
functions. They shouldn't be used in new code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Make some rst.el compat aliases obsolete
@@ -41075,7 +43404,7 @@
(rst-toc-mode-mouse-goto-kill, rst-toc-quit-window): Make
compatibility aliases obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Make remote-shell-program default to ssh only
@@ -41084,13 +43413,13 @@
easy enough for users to customize them manually if they want to.
See also the discussion in: https://debbugs.gnu.org/56461
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Recognize gemini in thing-at-point
* lisp/thingatpt.el (thing-at-point-uri-schemes): Recognize gemini.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-12 Mattias Engdegård <mattiase@acm.org>
Better gomoku X colour with bright background
@@ -41098,7 +43427,7 @@
crosses on bright background for better legibility.
(Red for naughts could be adjusted but seems just about bearable.)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-07-12 Alan Mackenzie <acm@muc.de>
Expunge unused recompute-lucid-menubar, lucid-menu-bar-dirty-flag
@@ -41118,14 +43447,14 @@
* src/xmenu.c (set_frame_menubar): Remove calls to Qrecompute_lucid_menubar
contitional on Vlucid_menu_bar_dirty_flag.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-12 Po Lu <luangruo@yahoo.com>
Fix preserving selections if `x-lost-selection-functions' signals
* src/xterm.c (x_preserve_selections): Get selection owner and
run lost selection hook separately.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-12 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -41135,7 +43464,7 @@
0461021893 ; * lisp/emacs-lisp/comp.el (native-comp-speed): Explain t...
876317271b * lisp/find-dired.el (find-dired): Doc fix; add crossrefer...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-11 Po Lu <luangruo@yahoo.com>
Try to save selections from being disowned during frame deletion
@@ -41147,22 +43476,22 @@
(syms_of_xterm): New variable `x-auto-preserve-selections'.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
* lisp/mail/mail-utils.el (mail-string-delete): Make obsolete.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2022-07-11 Ken Brown <kbrown@cornell.edu>
etc/PROBLEMS: Describe issues with native compilation on Cygwin
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in thumbs.el
* lisp/thumbs.el (thumbs-mode-map, thumbs-view-image-mode-map):
Prefer defvar-keymap.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-11 Mattias Engdegård <mattiase@acm.org>
Remove obsolete uses of obsolete functions
@@ -41173,7 +43502,7 @@
We don't try to equate unibyte and multibyte raw bytes in symbol
lookups elsewhere and there is no reason to do it here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Remove dead branch from substitute-command-keys
@@ -41181,28 +43510,28 @@
where-is-internal will follow any remaps for us. Note also that the
test case for remapping still pass.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Make `g' in `vc-annotate' not bug out
* lisp/vc/vc-annotate.el (vc-annotate): Don't bug out on `g'
(bug#48359).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Only reset buffer-local buffer-stale-function in make-indirect-buffer
* src/buffer.c (Fmake_indirect_buffer): Don't set the global
buffer-stale-function (bug#48348).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Document the recent add-global-abbrev change
* doc/emacs/abbrevs.texi (Defining Abbrevs): Document that you can
use the active region.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Make add-mode-abbrev use the active region
@@ -41210,22 +43539,22 @@
(add-abbrev): If there's an active region, use that as the
expansion (bug#56496).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
* lisp/obsolete/rlogin.el: Add "Obsolete-since" line.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Make net/rlogin.el obsolete
* lisp/net/rlogin.el: Move from here...
* lisp/obsolete/rlogin.el: ...to here. (Bug#56461)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
* src/.lldbinit: Fix copyright year.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Allow commands that call `yes-or-no-p' to be repeatable again
@@ -41234,7 +43563,7 @@
function started using read-from-minibuffer.
* src/fns.c (Fyes_or_no_p): Ditto.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Move EIEIO autoloads to the common loaddefs.el
@@ -41244,21 +43573,21 @@
* lisp/obsolete/eieio-compat.el: Remove generated-autoload-file
setting and don't require eieio-loaddefs.el.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-07-11 Gerd Möllmann <gerd@gnu.org>
Support for debugging Emacs with LLDB
* (src/.lldbinit): New file.
* (etc/emacs_lldb.py): Module loaded from .lldbinit.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Don't create unused file rmail-loaddefs.el
* lisp/mail/undigest.el: Remove 'generated-autoload-file' local
variable. (Bug#56491)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-11 Mattias Engdegård <mattiase@acm.org>
Simplify str_to_multibyte and related code
@@ -41271,7 +43600,7 @@
(string_to_multibyte):
* src/print.c (print_string): Adapt calls.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Doc fix; don't mention rlogin
@@ -41279,7 +43608,7 @@
* doc/misc/eshell.texi (Bugs and ideas): Don't mention
rlogin. (Bug#56461)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-11 Po Lu <luangruo@yahoo.com>
Improve behavior of `lost-selection-mode' with multiple buffers
@@ -41295,14 +43624,14 @@
appropriate.
(syms_of_keyboard): New hook `post-select-region-hook'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix crm.el compilation warning
* lisp/emacs-lisp/crm.el (crm-default-separator): Move to avoid
compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Don't call home from test/src/process-tests.el
@@ -41310,25 +43639,25 @@
here...
* test/manual/process-callout-tests.el: ... to here (bug#55858).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-11 Visuwesh <visuweshm@gmail.com>
Make mouse-2 respect delete-selection mode
* lisp/delsel.el: Make the mouse yank commands delete-selection-mode
aware (bug#56421).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
* lisp/emacs-lisp/package.el (define-package): Make obsolete.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-11 Po Lu <luangruo@yahoo.com>
Prevent setting user time if the WM doesn't support it
* src/xterm.c (x_update_frame_user_time_window): Don't set
_NET_WM_USER_TIME if it's not supported by the window manager.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-11 Mattias Engdegård <mattiase@acm.org>
Add test for the gradle-android compilation message pattern
@@ -41336,7 +43665,7 @@
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
(compile-test-error-regexps): Add test case (bug#56249).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-07-11 Daniel Martín <mardani29@yahoo.es>
Fix memory leak in ns_draw_relief
@@ -41348,14 +43677,14 @@
nil caused a memory leak of NSColor instances (bug#56462). Call
ns_setup_relief_colors instead.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Autoload named-let
* lisp/emacs-lisp/subr-x.el (named-let): Autoload `named-let' for
easier use (bug#56473).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix `M-x lisp-fill-paragraph'
@@ -41363,7 +43692,7 @@
when called directly with `M-x lisp-fill-paragraph' instead of via
`M-q' (bug#56476).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Make crm-default-separator obsolete as per FIXME
@@ -41371,11 +43700,11 @@
obsolete variable alias for crm-separator.
(crm-separator): Update docstring for above change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
* lisp/find-dired.el (find-dired): Doc fix; add crossreference.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Re-add comment on autoloading cookies in preloaded files
@@ -41388,7 +43717,7 @@
* lisp/font-core.el (font-lock-defaults): Re-add autoload cookie,
despite the fact that this file is preloaded.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-11 Stefan Kangas <stefan@marxist.se>
Prefer :risky defcustom keyword
@@ -41415,7 +43744,7 @@
:risky keyword argument to directly setting the 'risky-local-variable'
symbol property.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-11 Mattias Engdegård <mattiase@acm.org>
Simplify and speed up string-to-multibyte
@@ -41429,7 +43758,7 @@
(fns--string-to-unibyte-multibyte): ... this and strengthen, so that
the test covers string-to-multibyte reasonably well.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-07-11 Manuel Giraud <manuel@ledu-giraud.fr>
Rename 'longlines-breakpoint-chars' to 'longlines-break-chars'
@@ -41438,7 +43767,7 @@
'longlines-breakpoint-chars' to 'longlines-break-chars'
(bug#56335).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-10 Po Lu <luangruo@yahoo.com>
Handle errors sending selection decline events asynchronously
@@ -41448,15 +43777,15 @@
(x_stop_ignoring_errors): Export functions.
* src/xterm.h: Update prototypes.
-2023-04-15 Matthias Schmitt <male.schmitt@posteo.de>
+2022-07-10 Matthias Schmitt <male.schmitt@posteo.de>
Add: 'local' keyword
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-07-10 Philip Kaludercic <philipk@posteo.net>
* time-date.el (decoded-time-period): Rename TIME in docstring
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
Remove some ineffectual calls to purecopy
@@ -41482,7 +43811,7 @@
(mail-extr-x400-encoded-address-full-name-pattern): Remove
ineffectual calls to purecopy.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
Rename new option to browse-url-default-scheme
@@ -41490,7 +43819,7 @@
'browse-url-guess-default-scheme'. Update caller.
Suggested by Eli Zaretskii <eliz@gnu.org>.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-10 Mattias Engdegård <mattiase@acm.org>
Speed up string-to-unibyte
@@ -41500,7 +43829,7 @@
the unnecessary heap allocation. Write new, faster code.
* test/src/fns-tests.el (fns--string-to-unibyte): New test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-10 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp test environment on hydra.nixos.org
@@ -41513,7 +43842,7 @@
* test/lisp/shadowfile-tests.el:
* test/lisp/net/tramp-tests.el: Do not adapt `tramp-remote-path'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
Don't use purecopy in dictionary.el
@@ -41523,17 +43852,17 @@
(dictionary-display-match-lines): Don't use purecopy; it has no
effect here.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
* src/dired.c (directory_files_internal): Update comment
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
* src/dired.c (directory_files_internal): Fix bug#56469
Avoid concatenating encoded and decoded file names.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
New user option browse-url-guess-default-scheme
@@ -41541,18 +43870,18 @@
user option.
(browse-url-url-at-point): Use above new user option.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-10 Michael Albinus <michael.albinus@gmx.de>
* doc/misc/tramp.texi (Frequently Asked Questions): Fix formatting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-10 Po Lu <luangruo@yahoo.com>
Minor fixes to WM_DELETE_WINDOW handling
* src/xterm.c (handle_one_xevent): Only handle WM_DELETE_WINDOW
to toplevel windows, and set event timestamp.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
Make browse-url.el support for plain "mozilla" obsolete
@@ -41564,11 +43893,11 @@
(browse-url--browser-defcustom-type, browse-url-default-browser):
Don't refer to above obsolete function 'browse-url-mozilla'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
* lisp/net/browse-url.el: Improve commentary.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-10 Eli Zaretskii <eliz@gnu.org>
Fix the startup.el behavior when 'face-font-rescale-alist' is non-nil
@@ -41579,34 +43908,34 @@
Make the 'inhibit-startup-screen' and non-inhibit branches behave
the same in that case.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-10 Po Lu <luangruo@yahoo.com>
Fix build with old sqlite libraries
* src/sqlite.c (Fsqlite_open): Don't use SQLITE_OPEN_FULLMUTEX
if not defined.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-10 Eli Zaretskii <eliz@gnu.org>
Speed up 'find_automatic_composition'
* src/composite.c (find_automatic_composition): Limit search
backward in buffers to the first newline. Fix commentary.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-10 Po Lu <luangruo@yahoo.com>
Don't sync for errors setting up DND targets and toplevels
* src/xterm.c (xm_setup_dnd_targets, x_dnd_free_toplevels)
(x_dnd_compute_toplevels): Avoid catching errors synchronously.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
115261b323 ; Improve wording of recently-changed doc strings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-09 Po Lu <luangruo@yahoo.com>
Make `x-no-window-manager' cover user time as well
@@ -41614,11 +43943,11 @@
(x_wm_supports_1): Respect `x-no-window-manager'. This makes
testing some features easier.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-07-09 Glenn Morris <rgm@gnu.org>
* test/Makefile.in (WRITE_LOG): Always be verbose on hydra.nixos.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
Make STRING_SET_MULTIBYTE an inline function
@@ -41627,25 +43956,25 @@
* src/composite.c (Fcomposition_get_gstring):
Prefer `make_multibyte_string` over Fconcat+STRING_SET_MULTIBYTE.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Exclude platform specific browsers from custom type
* lisp/net/browse-url.el (browse-url--browser-defcustom-type):
Don't include platform specific browsers on other platforms.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
* lisp/net/eww.el (eww): Improve docstring.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Make browse-url-default-browser fall back to EWW
* lisp/net/browse-url.el (browse-url-default-browser): Fall back
to EWW.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Drop support for the dead third-party w3 package
@@ -41675,7 +44004,7 @@
* lisp/msb.el (msb--few-menus, msb--very-many-menus): Check for
eww-mode instead of w3-mode.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Improve introductory section of TRAMP manual
@@ -41683,7 +44012,7 @@
without contrasting to Ange FTP. (Bug#56440)
(Frequently Asked Questions): Move information on Ange FTP here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in net/*.el
@@ -41705,14 +44034,14 @@
* lisp/net/snmp-mode.el (snmp-mode-map):
* lisp/net/telnet.el (telnet-mode-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-09 Po Lu <luangruo@yahoo.com>
Avoid extra sync and atom name query on ending Motif DND
* src/xterm.c (handle_one_xevent): Use `x_dnd_action_symbol' to
set the Motif action instead.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Delete obsolete variable tooltip-use-echo-area
@@ -41722,13 +44051,13 @@
* lisp/progmodes/gud.el (gud-tooltip-process-output)
(gud-tooltip-tips): Don't use above deleted variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
* lisp/woman.el (woman-fill-column): Increase default to 70.
* lisp/mh-e/mh-mime.el (mh-small-show-buffer-p): Double value.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Delete obsolete variable font-lock-maximum-size
@@ -41742,14 +44071,14 @@
* lisp/font-lock.el:
* lisp/info.el: Don't mention above deleted variable.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-09 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in 'back_to_previous_visible_line_start'
* src/xdisp.c (back_to_previous_visible_line_start): Avoid
assertion violations when narrowed_begv is in effect.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-09 Eli Zaretskii <eliz@gnu.org>
Fix segfault in composite.c
@@ -41757,7 +44086,7 @@
narrowed_begv if it's zero. This avoids segfault in
BACKWARD_CHAR, since zero is not a valid buffer position.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
New command emacs-news-toggle-tag
@@ -41767,14 +44096,14 @@
* test/lisp/textmodes/emacs-news-mode-resources/toggle-tag.erts:
* test/lisp/textmodes/emacs-news-mode-tests.el: New files.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Improve ert-test-erts-file documentation
* lisp/emacs-lisp/ert.el (ert-test-erts-file): Improve docstring.
* doc/misc/ert.texi (erts files): Fix typo.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Bind M-G unconditionally in Dired
@@ -41785,7 +44114,7 @@
documentation of above command from here...
* doc/emacs/dired.texi (Subdirectory Motion): ...to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Move dired-buffer-more-recently-used-p to dired.el
@@ -41793,7 +44122,7 @@
here...
* lisp/dired.el (dired-buffer-more-recently-used-p): ...to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Delete obsolete variable buffer-substring-filters
@@ -41803,7 +44132,7 @@
* doc/lispref/text.texi (Buffer Contents): Adjust documentation
for deleted variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-09 Po Lu <luangruo@yahoo.com>
Improve drag-and-drop emulation time handling
@@ -41817,7 +44146,7 @@
display-specific to avoid interference when there are multiple
displays.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-09 Po Lu <luangruo@yahoo.com>
Fix race conditions handling selection clear events on Haiku
@@ -41831,21 +44160,21 @@
* src/haikuselect.h: Update prototypes.
* src/systime.h: Define `Time' to an appropriate value on Haiku.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
3442de2edd Doc fix; don't mention obsolete variable
c4e251103b ; * lisp/textmodes/rst.el: Update URLs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Fix redisplay after running selection hook on Haiku
* src/haikuselect.c (haiku_handle_selection_clear): Call
redisplay_preserve_echo_area.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Add new minor mode to deactivate the region once PRIMARY is lost
@@ -41855,7 +44184,7 @@
* lisp/select.el (lost-selection-function): New function.
(lost-selection-mode): New global minor mode.
-2023-04-15 jgart <47760695+jgarte@users.noreply.github.com> (tiny change)
+2022-07-08 jgart <47760695+jgarte@users.noreply.github.com> (tiny change)
Add support for jedi-language-server
@@ -41867,7 +44196,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/961
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Speed up querying for window manager support
@@ -41877,11 +44206,11 @@
(x_wm_supports_1): First try net_supported_window. If it still
exists, don't ask for _NET_SUPPORTING_WM_CHECK.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-08 Gregory Heytings <gregory@heytings.org>
Fix typo in 1792cbaddc.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-08 Gregory Heytings <gregory@heytings.org>
Actually fix the long lines display bug (bug#56393).
@@ -41913,13 +44242,13 @@
* doc/emacs/emacs.texi (Top): Remove the entry for the Long Lines section.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-08 Gregory Heytings <gregory@heytings.org>
Revert commit 38b3780f6e.
Revert commits 9ea9533f17, c0c4600ece, 7b19ce51fc, 051d2a1e36 and eb6d2fb58d.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-07-08 Alan Mackenzie <acm@muc.de>
Remove now unused parameter TRACK from do_switch_frame.
@@ -41930,14 +44259,14 @@
* src/minibuf.c (read_minibuf_unwind (twice))
* src/window.c (Fset_window_configuration): Remove argument TRACK.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Doc fix; don't mention obsolete variable
* src/window.c (Fset_window_hscroll): Doc fix; don't mention obsolete
variable.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-08 Juri Linkov <juri@linkov.net>
* lisp/isearch.el (isearch-search-fun-in-noncontiguous-region): New function.
@@ -41951,7 +44280,7 @@
(isearch--test-search-fun-in-text-property)
(isearch--test-search-fun-in-noncontiguous-region): New tests.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-08 Juri Linkov <juri@linkov.net>
Display the number of invisible matches for isearch-lazy-count (bug#40808)
@@ -41973,21 +44302,21 @@
* lisp/info.el (Info-isearch-filter): Check if search-invisible is t.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Don't mention moved variable in dired-x manual
* doc/misc/dired-x.texi (Technical Details): Remove mention of
'dired-clean-up-buffers-too'; it has been moved to dired.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Delete redundant defgroup dired-keys
* lisp/dired-x.el (dired-keys): Delete defgroup.
(dired-bind-vm): Move to :group dired-x.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Move dired-do-relsymlink from dired-x.el to dired.el
@@ -42009,30 +44338,30 @@
* doc/emacs/dired.texi (Operating on Files)
(Transforming File Names): ...to here.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-08 Juri Linkov <juri@linkov.net>
* lisp/progmodes/ruby-mode.el (ruby-mode): Set outline-regexp, outline-level.
Suggested by Yilkal Argaw <yilkalargawworkneh@gmail.com>.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-08 Mattias Engdegård <mattiase@acm.org>
Remove unused member of internal struct
* src/fns.c (struct textprop_rec, concat_to_string): Remove `from`.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
* lisp/dired.el (dired-jump-map): Bind also "j" to dired-jump.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Ensure correct position is returned after child frame movement
* src/xterm.c (x_set_offset): Synchronize child frame movement
correctly.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-08 Mattias Engdegård <mattiase@acm.org>
Fix file-name-case-insensitive-p in ffap (bug#56443)
@@ -42045,7 +44374,7 @@
* test/src/fileio-tests.el (fileio-tests--identity-expand-handler)
(fileio--file-name-case-insensitive-p): New test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Remove many items obsolete since 24.1
@@ -42168,14 +44497,14 @@
* lisp/mail/mailalias.el (mail-complete-alist): Doc fixes; don't refer
to above removed items.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Put safe-local-variable property on auto-insert
* lisp/autoinsert.el (auto-insert): Put safe-local-variable
property to allow disabling auto-inserting without a warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Stop ffap-machine-at-point from pinging random hosts
@@ -42188,7 +44517,7 @@
* lisp/ffap.el (ffap-machine-p-known): Change default to 'accept'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Add :safe property to ffap-machine-p-* variables
@@ -42197,13 +44526,13 @@
(ffap-machine-p-unknown): Add :safe property using above new
predicate.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Add tests for mail-extr.el
* test/lisp/mail/mail-extr-tests.el: New file.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Avoid obsolete initial-input argument in net-utils.el
@@ -42212,7 +44541,7 @@
(network-connection-to-service): Don't use obsolete initial-input
argument. Use 'format-prompt'. (Bug#56436)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Improve behavior of sticky tooltips on Haiku
@@ -42225,7 +44554,7 @@
* src/haiku_support.h: Update prototypes.
* src/haikufns.c (Fx_show_tip): Update for renamed function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Fix flickering system tooltips on Haiku
@@ -42234,18 +44563,18 @@
(BView_set_and_show_sticky_tooltip):
* src/haikufns.c (haiku_hide_tip): Fix coding style.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-08 Eli Zaretskii <eliz@gnu.org>
* src/xdisp.c (set_vertical_scroll_bar): Remove stale comment.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-08 Eli Zaretskii <eliz@gnu.org>
Fix calculation of the vertical scroll bar's thumb
* src/xdisp.c (set_vertical_scroll_bar): Compute window's end
position "by hand" if w->window_end_pos cannot be relied upon.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-08 Po Lu <luangruo@yahoo.com>
Reduce synchronization setting frame alpha
@@ -42254,13 +44583,13 @@
the opacity property, which is much more expensive than changing
it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-08 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
2ac0ddc4ac ; * lisp/net/net-utils.el: Minor doc fixes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-07 Po Lu <luangruo@yahoo.com>
Fix returned action symbol upon "xterm" drop
@@ -42268,32 +44597,32 @@
x_dnd_action_symbol.
(x_dnd_begin_drag_and_drop): Don't clear it afterwards.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
* lisp/emacs-lisp/ert.el (Commentary): Refer to the Info manual.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
Prefer keymap inheritance in shr-image-map
* lisp/net/shr.el (shr-image-map): Replace copy-keymap with
inheritance.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-07 Lars Ingebrigtsen <larsi@gnus.org>
Make imenu--create-keymap more resilient
* lisp/imenu.el (imenu--create-keymap): Ignore nil items in the
alist (bug#56430).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-07 Eli Zaretskii <eliz@gnu.org>
Fix buffer-tests
* test/src/buffer-tests.el (test-restore-buffer-modified-p): Don't
assume turning on auto-save-mode cannot auto-save immediately.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-07 Mattias Engdegård <mattiase@acm.org>
Faster append and vconcat
@@ -42307,7 +44636,7 @@
streamlined from earlier combined code.
(concat2, concat3, Fappend, Fconcat, Fvconcat): Adjust calls.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-07-07 Alan Mackenzie <acm@muc.de>
Remove obscure, obsolete code from do_switch_frame
@@ -42319,11 +44648,11 @@
* src/frame.c (do_switch_frame): Remove 53 lines of code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
* lisp/net/dig.el (dig): Provide default.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
Make net-utils-url at point funs obsolete in favor of ffap
@@ -42332,20 +44661,20 @@
'ffap-machine-at-point' and 'ffap-url-at-point'. Update callers.
* lisp/ffap.el (ffap-machine-at-point, ffap-url-at-point): Autoload.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-07 Po Lu <luangruo@yahoo.com>
Fix selection disowning upon frame deletion on Wayland
* src/pgtkselect.c (pgtk_clear_frame_selections): Manually
disown cleared selections. (bug#56434)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
* lisp/net/eww.el (eww-browse-url): Add 'browser-kind' property.
* lisp/woman.el (woman): Fix comment; don't mention gnudoit.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
Make two XEmacs related variables obsolete
@@ -42353,7 +44682,7 @@
(browse-url-gnudoit-args): Make obsolete. The corresponding command
'browse-url-w3-gnudoit' is already obsolete since 25.1.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-07 Po Lu <luangruo@yahoo.com>
Fix GTK build
@@ -42361,7 +44690,7 @@
code for last change too. Reported by Norbert Koch
<viteno@netic.de>.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-07 João Távora <joaotavora@gmail.com>
Prevent desktop.el from saving/restoring eglot--managed-mode
@@ -42376,7 +44705,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/990
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-07-07 João Távora <joaotavora@gmail.com>
Apply any additionaltextedits unconditionally
@@ -42385,7 +44714,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/981
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-07 Po Lu <luangruo@yahoo.com>
Fix quitting out of selection converters during drag and drop
@@ -42394,7 +44723,7 @@
quit-flag is true immediately after a selection converter is
run.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
Mark comint modes in net-utils.el as non-interactive
@@ -42402,7 +44731,7 @@
(smbclient-mode, network-connection-mode): Mark as non-interactive.
(nslookup-mode-map, ftp-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
Make 'run-dig' command obsolete in favor of 'dig'
@@ -42414,7 +44743,7 @@
(dig-invoke): Respect 'dig-program-options'.
(dig): Prompt for DNS server when given double prefix argument.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-07 Eli Zaretskii <eliz@gnu.org>
Fix undo of changes in cloned indirect buffers
@@ -42434,11 +44763,11 @@
* src/lisp.h: Add prototype for 'buffer_visited_file_modtime'.
(Bug#56397)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-07 Stefan Kangas <stefan@marxist.se>
* lisp/net/dig.el (dig-exit): Mark for 'dig-mode'.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-07 Visuwesh <visuweshm@gmail.com>
Make the Indian itrans methods more phonetic
@@ -42450,7 +44779,7 @@
translation rules to make the input method more phonetic.
(indian-tml-base-table, indian-tml-base-digits-table): Fix typo.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-07 Juri Linkov <juri@linkov.net>
Don't accumulate trailing newlines on every save of .dir-locals.el
@@ -42459,28 +44788,28 @@
(dir-locals-to-string): Remove newline to not add more newlines
on every save.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-07 Po Lu <luangruo@yahoo.com>
Fix `trace-function' default buffer
* lisp/emacs-lisp/trace.el (trace--read-args): Don't use
format-prompt; instead, use DEF arg to read-buffer.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-07-06 Sean Whitton <spwhitton@spwhitton.name>
gnus-advanced-body: Fix return value
* gnus-logic.el (gnus-advanced-body): Return whether the search
succeeded, not the value of one of the cleanup forms.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Fix NS build
* src/keyboard.c (process_special_events): Don't define copy and
moved events on the wrong toolkit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Port `x-lost-selection-functions' to Haiku
@@ -42509,14 +44838,14 @@
* src/keyboard.c (kbd_buffer_get_event, process_special_events)
(mark_kboards): Handle SELECTON_CLEAR_EVENTs correctly on Haiku.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Avoid excessive synchronization performing "xterm" drops
* src/xterm.c (x_dnd_do_unsupported_drop): Asynchronously catch
errors around XSendEvent.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-06 Stefan Kangas <stefan@marxist.se>
End new .dir-locals.el files with a newline
@@ -42524,14 +44853,14 @@
newly created .dir-locals.el files. This avoids git complaining about
"No newline at end of file".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-06 Stefan Kangas <stefan@marxist.se>
Autoload safe local property for plstore-encrypt-to
* lisp/plstore.el (plstore-encrypt-to): Autoload 'safe-local-variable'
property for improved security.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-06 Stefan Kangas <stefan@marxist.se>
Prefer defcustom :safe to putting 'safe-local-variable'
@@ -42555,11 +44884,11 @@
* lisp/vc/vc-hooks.el (vc-follow-symlinks): Prefer defcustom :safe to
putting 'safe-local-variable'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-06 Juri Linkov <juri@linkov.net>
* lisp/repeat.el (describe-repeat-maps): Handle non-symbol keymap (bug#21634).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-06 Juri Linkov <juri@linkov.net>
Add new args MESSAGE and TIMEOUT to set-transient-map (bug#21634)
@@ -42574,7 +44903,7 @@
* doc/lispref/keymaps.texi (Controlling Active Maps): Mention new args
MESSAGE and TIMEOUT of set-transient-map.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-06 Stefan Kangas <stefan@marxist.se>
Make some additional defcustom types more restrictive
@@ -42619,7 +44948,7 @@
* lisp/gnus/spam-stat.el (spam-stat-process-directory-age):
Use defcustom :type integer.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-06 Gregory Heytings <gregory@heytings.org>
Fix improvement of isearch in auto-narrow-mode.
@@ -42628,7 +44957,7 @@
(auto-narrow-pre-command-function, auto-narrow-post-command-function): Use the
new internal function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-06 Stefan Kangas <stefan@marxist.se>
Fix missing :value with defcustom const :type
@@ -42644,7 +44973,7 @@
* lisp/progmodes/sh-script.el (sh-indent-after-continuation):
Fix missing :value with defcustom const :type.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-06 Gregory Heytings <gregory@heytings.org>
Improve isearch in auto-narrow-mode.
@@ -42654,7 +44983,7 @@
* lisp/files.el (auto-narrow--isearch-lazy-highlight): New internal variable.
(auto-narrow-pre-command-function, auto-narrow-post-command-function): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Fix infinite looping around Haiku menus
@@ -42663,14 +44992,14 @@
* src/haikuterm.c (haiku_read_socket): Flush tooltip frames
after resize.
-2023-04-15 Davide Masserut <dm@mssdvd.com>
+2022-07-06 Davide Masserut <dm@mssdvd.com>
Send region to the subshell specified by the current file interpreter
* sh-script.el (sh-execute-region): Send region to the subshell
specified by the current file interpreter (bug#56406).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-07-06 Manuel Giraud <manuel@ledu-giraud.fr>
Remove soft newlines in longlines-mode
@@ -42678,7 +45007,7 @@
from `buffer-substring-filters' to `filter-buffer-substring-function'.
Remove soft newlines in substring (bug#56335).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-06 Gregory Heytings <gregory@heytings.org>
Various improvements to auto-narrow mode.
@@ -42705,25 +45034,25 @@
* doc/emacs/display.texi (Auto-Narrowing): Improvement.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-07-06 F. Jason Park <jp@neverwas.me>
* lisp/erc/erc-track.el (erc-track-minor-mode-map): Doc fix.
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2022-07-06 dickmao <dick.r.chiang@gmail.com>
Use compatibility macro for ISUPPORT caching in ERC
* lisp/erc/erc-backend.el (erc--with-memoization): Defalias was a
kung-fu I've never seen before. (Bug#56340)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Stop synchronizing after sending XEmbed events
* src/xterm.c (xembed_send_message): Don't sync and handle
errors, which is actually why the XSync call in the spec exists.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2022-07-06 Martin Rudalics <rudalics@gmx.at>
Fix 'fit-frame-to-buffer' (Bug#56102)
@@ -42736,7 +45065,7 @@
* doc/lispref/windows.texi (Resizing Windows): Fix descriptions of
'fit-frame-to-buffer' and 'fit-frame-to-buffer-sizes'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS build
@@ -42744,7 +45073,7 @@
* src/process.c (Fsignal_names): Disable on MS-DOS and use
SIGNUM_BOUND, which is always provided by gnulib.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-06 Po Lu <luangruo@yahoo.com>
Speed up interning XDS atoms
@@ -42754,20 +45083,20 @@
* src/xterm.h (struct x_display_info): New atoms
`XdndDirectSave0', `XdndActionDirectSave' and `text/plain'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-07-06 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (AVOIDED_MODULES): Add chmod.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-06 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
6b5d829d9d Add index entry for "ignore case"
29e1459965 ; * lisp/files.el (remote-file-name-inhibit-cache): Minor ...
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-07-06 Paul Eggert <eggert@cs.ucla.edu>
Adjust better to Autoconf quoting style change
@@ -42783,7 +45112,7 @@
Use better Autoconf quoting.
* make-dist (version): Simplify.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-05 Po Lu <luangruo@yahoo.com>
Reduce duplicate code cleaning up DND processes
@@ -42791,14 +45120,14 @@
(x_dnd_cleanup_drag_and_drop, x_dnd_begin_drag_and_drop): Use
that instead of manually cleaning up properties and events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-05 Po Lu <luangruo@yahoo.com>
Don't select for unnecessary properties during DND
* src/xterm.c (x_dnd_begin_drag_and_drop): Don't select for
property changes when not using toplevels.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-05 Po Lu <luangruo@yahoo.com>
Fix announcements of XDND mouse rectangles
@@ -42807,7 +45136,7 @@
* src/xterm.c (handle_one_xevent): Likewise. Also fix unpacking
of mouse rects.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-05 Gregory Heytings <gregory@heytings.org>
Actually fix the long lines display bug (bug#56393).
@@ -42861,39 +45190,39 @@
* doc/emacs/emacs.texi (Top): Remove the entry for the Long Lines section.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-07-05 Glenn Morris <rgm@gnu.org>
* make-dist: Fix after recent configure.ac quoting changes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix custom-initialize-reset bootstrap error
* lisp/custom.el (custom-initialize-reset): Fix bootstrap problem
by avoiding when-let.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix rcirc buffer name collisions
* lisp/net/rcirc.el (rcirc-handler-NICK): Avoid naming collisions
when renaming buffers (bug#45872).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-05 Michael Albinus <michael.albinus@gmx.de>
Mention remote-file-name-inhibit-auto-save-visited in Tramp manual
* doc/misc/tramp.texi (Auto-save File Lock and Backup):
Explain remote-file-name-inhibit-auto-save-visited.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
Add index entry for "ignore case"
* doc/emacs/glossary.texi (Glossary): Add index entry for "ignore
case" pointing to "Case Folding".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
Rename new option to remote-file-name-inhibit-auto-save-visited
@@ -42902,11 +45231,11 @@
(auto-save-visited-mode): Adjust accordingly. (Bug#41333)
Suggested by Michael Albinus <michael.albinus@gmx.de>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Give a warning if setopt has been used with an invalid value
@@ -42917,14 +45246,14 @@
* lisp/wid-edit.el (widget-convert): Autoload.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
Re-fix narrowing problem in tramp-debug-buffer-command-completion-p
* lisp/net/tramp.el (tramp-debug-buffer-command-completion-p):
Respect narrowing also for end of substring. (Bug#56225)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
Make some defcustom types more restrictive
@@ -42987,7 +45316,7 @@
* lisp/savehist.el (savehist-file-modes): Fix setting to nil value and
use :type natnum.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Don't hard-code `M-c' in `read-regexp'
@@ -42995,21 +45324,21 @@
(read-regexp--case-fold, read-regexp-toggle-case-folding)
(read-regexp): Factor out to avoid hard-coding `M-c'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Documnt left/right mwheel events
* doc/lispref/commands.texi (Misc Events): Document left/right
mwheel events (bug#41722).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Mention byte order marks in string-limit doc string
* lisp/emacs-lisp/subr-x.el (string-limit): Mention byte order
marks (bug#48324).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
New user option auto-save-visited-remote-files
@@ -43017,7 +45346,7 @@
(auto-save-visited-mode): Use above new variable to decide whether
or not to save remote files. (Bug#41333)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
New user option auto-save-visited-mode-predicate
@@ -43025,14 +45354,14 @@
(auto-save-visited-mode): Use above new variable as a predicate to
decide whether or not to save a buffer.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
Shorten name of recently added command to emacs-news-open-line
* lisp/textmodes/emacs-news-mode.el (emacs-news-open-line): Rename
from 'emacs-news-mode-open-line'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-05 Po Lu <luangruo@yahoo.com>
Fix manually disowning Emacs drag atoms
@@ -43040,7 +45369,7 @@
eventp->time is CurrentTime as well. This can happen with some
synthetic events.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-05 Lars Ingebrigtsen <larsi@gnus.org>
Remove the interactive prefix from emoji-insert
@@ -43049,7 +45378,7 @@
`C-x 8 e s', and we're considering using the prefix to copy to the
kill ring.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-05 Po Lu <luangruo@yahoo.com>
Allow immediately saving XDS drops
@@ -43063,7 +45392,7 @@
(x-dnd-save-direct-immediately): New function.
(x-dnd-handle-xds-drop): Fix nil values of selected file name.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-07-05 Paul Eggert <eggert@cs.ucla.edu>
Quote configure.ac arguments more consistently
@@ -43074,20 +45403,20 @@
* configure.ac: Quote arguments more consistently,
as per the Autoconf manual.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-07-05 Paul Eggert <eggert@cs.ucla.edu>
Don’t mishandle preset emacs_cv_lesstif
* configure.ac: Restore CFLAGS etc. correctly even when
emacs_cv_lesstif is already set on the command line.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-05 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
d5e1424174 Expand docstrings related to auto-saving
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Don't take XCB socket every time we want the no of the next request
@@ -43096,7 +45425,7 @@
redundantly. Use NextRequest if it was immediately preceded by
XNextRequest, which updates dpy->request.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
New command emacs-news-mode-open-line
@@ -43104,7 +45433,7 @@
(emacs-news-mode-open-line): New command.
(emacs-news-mode-map): Remap 'open-line' to above new command.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Improve support for remote files in XDS
@@ -43113,7 +45442,7 @@
(x-dnd-save-direct): Handle remote file names normally.
(x-dnd-handle-xds-drop): Handle remote file names in URI.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Don't overestimate supported input extension version on GTK 3
@@ -43121,7 +45450,7 @@
maximum version supported by libXi), set it back to
original_minor.
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-07-04 Alexander Adolf <alexander.adolf@condition-alpha.com>
Add reverse mapping for EUDC attribute names
@@ -43130,21 +45459,21 @@
(eudc-translate-attribute-list): new optional parameter to
reverse the mapping direction
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
(gnus-inverse-list-range-intersection): Update alias
* lisp/gnus/gnus-range.el (gnus-inverse-list-range-intersection):
Don't alias to an obsolete alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Expand docstrings related to auto-saving
* lisp/files.el (auto-save-visited-mode):
* lisp/simple.el (auto-save-mode): Expand docstring.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-07-04 Paul Eggert <eggert@cs.ucla.edu>
Fix core dump with x-get-local-selection
@@ -43153,14 +45482,14 @@
This pacifies gcc -Wanalyzer-null-dereference, which found the
problem.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Add quit-window entry to list-timers menu
* lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Add
quit-window entry to menu.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in emacs-lisp/*.el
@@ -43181,7 +45510,7 @@
(tabulated-list-sort-button-map):
* lisp/emacs-lisp/timer-list.el (timer-list-mode-map):
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Document using make-composed-keymap with defvar-keymap
@@ -43191,25 +45520,25 @@
* lisp/help-mode.el (help-mode-map): Use defvar-keymap to make this
code match the above documentation change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Doc fix; quote keys in face-remap.el
* lisp/face-remap.el (text-scale-adjust, global-text-scale-adjust):
Doc fix; quote keys.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Inherit instead of copying keymap in bookmark.el
* lisp/bookmark.el (bookmark-rename): Inherit instead of copying
keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
* src/keymap.c (Fcopy_keymap): Document using defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Use substitute-command-keys in Helper-help
@@ -43217,7 +45546,7 @@
(Helper-help-options, Helper-help): Use substitute-command-keys.
(Helper-help-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Avoid code duplication converting XI event state in toolkit menu code
@@ -43227,14 +45556,14 @@
builds.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Fix scrolling backwards in Helper-help
* lisp/emacs-lisp/helper.el (Helper-help-scroller): Fix scrolling
backwards.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-04 Mattias Engdegård <mattiase@acm.org>
Remove some useless `eval-when-compile`
@@ -43255,7 +45584,7 @@
Eliminate `eval-when-compile` when the argument would be evaluated by
the compiler anyway.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-07-04 Mattias Engdegård <mattiase@acm.org>
Replace lisp-mode-symbol-regexp with (rx lisp-mode-symbol)
@@ -43270,11 +45599,11 @@
* lisp/emacs-lisp/shorthands.el (shorthands-font-lock-shorthands):
Use lisp-mode-symbol instead of lisp-mode-symbol-regexp.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
* lisp/progmodes/ebrowse.el (ebrowse-tree-mode): Fix typo.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Remove remaining Helper-help support from view-mode
@@ -43282,7 +45611,7 @@
(view--enable, view--disable): Delete remaining Helper-help support
code; view-mode stopped using it in 1995.
-2023-04-15 Daanturo <daanturo@gmail.com>
+2022-07-04 Daanturo <daanturo@gmail.com>
Add file-parent-directory function
@@ -43291,7 +45620,7 @@
* lisp/emacs-lisp/shortdoc.el: Add it to 'file-name' group.
* lisp/files.el: implementation (bug#56355).
-2023-04-15 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
+2022-07-04 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
lisp/thumbs.el: Fix calling the "convert" command
@@ -43304,28 +45633,28 @@
passing the parameters directly, but the fallout was not handled
correctly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-04 Lars Ingebrigtsen <larsi@gnus.org>
Preserve <title> in the Emacs manuals
* admin/admin.el (manual-html-fix-headers): Preserve the <title>
element (bug#48334).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-04 Lars Ingebrigtsen <larsi@gnus.org>
Don't bug out in manual-html-fix-index-2 on newer makeinfo versions
* admin/admin.el (manual-html-fix-index-2): Don't bug out if the
makeinfo version doesn't include <ul>.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-04 Visuwesh <visuweshm@gmail.com>
Exclude radio buttons when suggesting URI in eww
* lisp/net/eww.el (eww-links-at-point): Exclude radio links.
(bug#56366).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
New command help-fns-edit-mode-cancel
@@ -43333,7 +45662,7 @@
(help-fns--edit-value-mode-map): Bind it to 'C-c C-k'.
(help-fns-edit-variable): Advertise it in help text.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Handle errors caused by ignoring errors with GDK's trap installed
@@ -43341,7 +45670,7 @@
(x_stop_ignoring_errors): Also tell GDK to ignore errors from
the following requests. (bug#56372)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Always wait for XdndStatus before sending XdndDrop
@@ -43351,20 +45680,20 @@
of pending XdndStatus, to avoid race conditions where we don't
yet know the selected action.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-04 Po Lu <luangruo@yahoo.com>
Fix accessing dpyinfo after it is deallocated
* src/xterm.c (x_connection_closed): Print disconnect error for
the last terminal before freeing it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-04 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
41472f3b6c Document 'jit-lock-debug-mode'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-03 Po Lu <luangruo@yahoo.com>
Display list of traps and handlers when crashing due to an X error
@@ -43372,7 +45701,7 @@
error handlers if not crashing due to an IO error.
(NO_INLINE): Include error serial in error message.
-2023-04-15 Florian Rommel <mail@florommel.de>
+2022-07-03 Florian Rommel <mail@florommel.de>
Add support for fullscreen values fullheight and fullwidth on PGTK
@@ -43383,21 +45712,21 @@
* configure.ac: Bump GTK version for PGTK
* etc/NEWS: Change GTK version in PGTK announcement
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-03 Po Lu <luangruo@yahoo.com>
Add some more error checking code to `x_stop_ignoring_errors'
* src/xterm.c (x_stop_ignoring_errors): Abort if no request was
actually made, making the state inconsistent.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Simplify lisp-el-font-lock-keywords-2 definition slightly
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Simplify slightly.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Quote some literal keys to get help-key-binding face
@@ -43446,7 +45775,7 @@
* lisp/comint.el (comint-insert-previous-argument): Use regular
quotes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Use command substitutions instead of literal keys in some places
@@ -43459,41 +45788,41 @@
* lisp/textmodes/reftex-toc.el: Use command substitutions instead of
literal keys.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Normalize definition of erc-track-minor-mode-map
* lisp/erc/erc-track.el (erc-track-minor-mode-map): Normalize keymap
definition.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Use substitute-command-keys in reftex-toc-show-help
* lisp/textmodes/reftex-toc.el (reftex-toc-help)
(reftex-toc-show-help): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Font lock \\<> and \\{} command substitutions in docstrings
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Support \\<> and \\{} command substitutions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Fix warning in last commit
* lisp/calc/calc-misc.el (calc-dispatch-help): Fix warning.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-03 Juri Linkov <juri@linkov.net>
Use more help-key-binding faces in repeat-mode message
* lisp/repeat.el (repeat-echo-message-string): Use
substitute-command-keys for repeat-exit-key as well.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-07-03 Juri Linkov <juri@linkov.net>
* lisp/mwheel.el: More fixes for global-text-scale (bug#48307)
@@ -43504,14 +45833,14 @@
Add mouse-wheel-down-alternate-event and mouse-wheel-up-alternate-event.
Allow a list of modifiers for 'text-scale'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Improve calc-dispatch-help docstring
* lisp/calc/calc-misc.el (calc-dispatch-help): Use command
substitutions.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-03 Michael Albinus <michael.albinus@gmx.de>
Tramp code cleanup
@@ -43535,14 +45864,14 @@
* test/lisp/net/tramp-tests.el (tramp--test-sh-no-ls--dired-p)
(tramp--test-with-proper-process-name-and-buffer): Code cleanup.
-2023-04-15 Florian Rommel <mail@florommel.de>
+2022-07-03 Florian Rommel <mail@florommel.de>
abort-redisplay: Add missing unbind_to in 'recenter'
* src/window.c (recenter): Add ubind_to before early return.
(Bug#56369)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-03 Stefan Monnier <monnier@iro.umontreal.ca>
lisp/elec-pair.el: Simplify last change
@@ -43554,20 +45883,20 @@
(electric-pair-syntax-info, electric-pair--balance-info):
Adjust calls accordingly.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Fix dired-goto-subdir prompt
* lisp/dired-aux.el (dired-goto-subdir): Fix prompt and improve
docstring. Add interactive mode tag for dired-mode.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Fix warnings in my last commit
* lisp/textmodes/emacs-news-mode.el (outline): Require.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Improve navigation keybindings in emacs-news-mode
@@ -43578,7 +45907,7 @@
(emacs-news-view-mode-map): New defvar-keymap; inherit from
'emacs-news-common-map'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-03 Eli Zaretskii <eliz@gnu.org>
Fix implementation of 'reset' face values
@@ -43587,7 +45916,7 @@
attributes when replacing 'reset' pseudo-values with real values.
(Bug#38771)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Move dired-clean-up-buffers-too to dired.el
@@ -43599,7 +45928,7 @@
(dired-clean-up-after-deletion): Adjust documentation.
* etc/NEWS: Announce the change.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-07-03 kobarity <kobarity@gmail.com>
Fix `python-nav-beginning-of-defun' line continuation using backslash
@@ -43608,11 +45937,11 @@
(python-info-looking-at-beginning-of-defun): Add CHECK-STATEMENT
argument.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
* lisp/dired-x.el (dired-omit-size-limit): Increase value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-03 Lars Ingebrigtsen <larsi@gnus.org>
Make string-limit with encoding return complete glyphs
@@ -43621,14 +45950,14 @@
charset designations (bug#48324). Also amend the algorithm to
return complete glyphs, not just complete code points.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-03 Po Lu <luangruo@yahoo.com>
Improve performance when rejecting XI touch event
* src/xterm.c (handle_one_xevent): Avoid sync handling simple
error.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix streaming problems in nnimap-retrieve-headers
@@ -43636,7 +45965,7 @@
UID FETCH commands, since the server may return the results
out-of-order (bug#56332).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-03 Lars Ingebrigtsen <larsi@gnus.org>
Add new function `seq-split'
@@ -43646,7 +45975,7 @@
* lisp/emacs-lisp/shortdoc.el (sequence): Mention it.
-2023-04-15 Allen Li <darkfeline@felesatra.moe>
+2022-07-03 Allen Li <darkfeline@felesatra.moe>
elec-pair: Fix bug incorrectly hiding syntax-propertize-function
@@ -43667,18 +45996,18 @@
`electric-pair-text-syntax-table', to prevent cached syntax for the
original table from affecting things.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-03 Po Lu <luangruo@yahoo.com>
Improve efficiency of `x_frame_highlight' and `x_frame_unhighlight'
* src/xterm.c (x_frame_highlight, x_frame_unhighlight): Don't
sync catching errors.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
* lisp/dired.el (dired-do-eww): New command.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Improve dired-do-{info,man} error handling
@@ -43686,7 +46015,7 @@
'dired-get-file-for-visit' to get better error handling.
Interactive mode tagging.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-03 Eli Zaretskii <eliz@gnu.org>
Implement pseudo-value 'reset' of face attrributes
@@ -43703,11 +46032,11 @@
'reset' as a value of any attribute except ':inherit'.
(Bug#38771)
-2023-04-15 James Thomas <jimjoe@gmx.net>
+2022-07-03 James Thomas <jimjoe@gmx.net>
* lisp/leim/quail/indian.el ("malayalam-mozhi"): Set DETERMINISTIC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-03 Po Lu <luangruo@yahoo.com>
Fix deadlocks with very old versions of libXi
@@ -43717,14 +46046,14 @@
* src/xterm.c (x_destroy_window): Free `xi_mask' with xfree in
that case.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-03 Eli Zaretskii <eliz@gnu.org>
Document 'jit-lock-debug-mode'
* doc/lispref/modes.texi (Other Font Lock Variables): Document
'jit-lock-debug-mode'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-03 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -43733,7 +46062,7 @@
c85f7c2e8a Don't refer to obsolete alias for insert-char
60ad45c5d2 Don't use obsolete face name in manoj-dark-theme
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-02 Po Lu <luangruo@yahoo.com>
Speed up receiving drops over slow connections
@@ -43752,7 +46081,7 @@
(syms_of_xterm): New variable `x-fast-protocol-requests'.
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
REQUIRE-MATCH doc string clarification
@@ -43760,18 +46089,18 @@
* lisp/minibuffer.el (read-file-name): Clarify what the return
value is in the REQUIRE-MATCH function case.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix some typos in NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Add sanity check for Emacsen distributed without .el files
* src/lread.c (maybe_swap_for_eln): Add sanity check for Emacsen
distributed without .el files (bug#48342).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-07-02 Alan Mackenzie <acm@muc.de>
CC Mode: Fix a c-backward-token-2 call wrongly jumping back over macros.
@@ -43781,14 +46110,14 @@
c-backward-token-2, which could jump back too far leading to an infinite
loop, with a save-excursion to remember the point we've got to go back to.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Filter out nul bytes when killing from a *grep* buffer
* lisp/progmodes/grep.el (grep-mode): Filter out the nul bytes
(bug#48321).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-07-02 Manuel Giraud <manuel@ledu-giraud.fr>
Add more separators to longlines-mode
@@ -43806,32 +46135,32 @@
space, just remove it.
* etc/NEWS: New user option 'longlines-breakpoint-chars'
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Unobsolete longlines-mode (bug#18589)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Use help-key-binding face in text scale adjust messages
* lisp/face-remap.el (text-scale-adjust)
(global-text-scale-adjust): Use substitute-command-keys.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Use help-key-binding face in repeat-mode message
* lisp/repeat.el (repeat-echo-message-string): Use
substitute-command-keys.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Make dired-jump repeatable in repeat-mode
* lisp/dired.el (dired-jump-map): New variable.
(dired-jump): Put 'repeat-map' property with 'dired-jump-map'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Move dired-info and dired-man from dired-x to dired
@@ -43851,7 +46180,7 @@
'dired-do-man'.
* etc/NEWS: Announce the above changes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in nxml/*.el
@@ -43860,7 +46189,7 @@
(nxml-outline-show-map, nxml-outline-hiding-tag-map)
(nxml-outline-showing-tag-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-02 Po Lu <luangruo@yahoo.com>
Fix error handling for XCB Xlib
@@ -43881,14 +46210,14 @@
(struct x_display_info): Make failable request variables the
right type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-02 Po Lu <luangruo@yahoo.com>
Fix display disconnect when tooltip frame is alive
* src/xterm.c (x_connection_closed): Don't dereference nil when
loop finds a tooltip frame.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-07-02 Gregory Heytings <gregory@heytings.org>
Command for global adjustments to the default face
@@ -43907,21 +46236,21 @@
* etc/NEWS: Mention the new command and its bindings, and the new
user option.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Add a comment about buffer_local_value/find_symbol_value
* src/data.c: Note that buffer_local_value is very similar
(bug#48281).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Allow NUL characters in JSON input
* src/json.c (Fjson_parse_string, Fjson_parse_buffer): Allow NUL
characters in JSON (bug#48274).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Make comint-watch-for-password-prompt more resilient
@@ -43929,27 +46258,27 @@
send commands to the process after it's exited (bug#56336). (This
commonly happens when invoked via `M-&'.)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-07-02 Michael Albinus <michael.albinus@gmx.de>
Preserve connection-local settings in dired
* lisp/dired-aux.el (dired-shell-command):
Preserve connection-local settings. (Bug#56333)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
Add native-compile-prune-cache command
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): New
command (bug#48108).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-02 Lars Ingebrigtsen <larsi@gnus.org>
native-comp-eln-load-path doc string fix
* src/comp.c (syms_of_comp): Fix grammar in doc string.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Doc fixes; don't use obsolete names
@@ -43957,36 +46286,36 @@
* lisp/mh-e/mh-funcs.el (mh-kill-folder): Don't use obsolete
names.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Don't refer to obsolete alias for insert-char
* lisp/leim/quail/persian.el: Don't refer to obsolete alias for
insert-char.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Don't use obsolete face name in manoj-dark-theme
* etc/themes/manoj-dark-theme.el (change-log-acknowledgment): Don't
use obsolete/non-existent face name.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-02 Eli Zaretskii <eliz@gnu.org>
* src/sheap.h (STATIC_HEAP_SIZE): Double the size of static heap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-02 Po Lu <luangruo@yahoo.com>
Completely get rid of races during Motif drag window creation
* src/xterm.c (x_special_window_exists_p): New function.
(xm_get_drag_window_1): Rework workflow and display grabbing.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
* src/xfns.c (Fx_server_input_extension_version): Fix typo.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -44003,7 +46332,7 @@
# lisp/emacs-lisp/nadvice.el
# lisp/image/image-converter.el
-2023-04-15 Lele Gaifax <lele@metapensiero.it> (tiny change)
+2022-07-02 Lele Gaifax <lele@metapensiero.it> (tiny change)
Fix repeated "the"
@@ -44014,7 +46343,7 @@
(Fx_display_backing_store, Fx_display_visual_class):
* src/xterm.c: Fix repeated "the". (Bug#56341)
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-07-02 Visuwesh <visuweshm@gmail.com>
Fix fallout from bug#50143
@@ -44022,14 +46351,14 @@
(indian-tml-base-digits-table): Add TAMIL OM sign and more Sanskrit
consonants to the table (bug#50143) (bug#56323).
-2023-04-15 Omar Polo <op@omarpolo.com>
+2022-07-02 Omar Polo <op@omarpolo.com>
Improve rcirc's CertFP documentation
* doc/misc/rcirc.texi: Clarify meaning of key and password
* lisp/net/rcirc.el (rcirc-authinfo): Add example
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-02 Po Lu <luangruo@yahoo.com>
Fix drag-and-drop from Chromium family browsers
@@ -44038,30 +46367,30 @@
`copy'.
(x-dnd-do-direct-save): Offer application/octet-stream as well.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-02 Stefan Kangas <stefan@marxist.se>
* lisp/ruler-mode.el (ruler-mode-map): Use defvar-keymap.
* lisp/epa-mail.el (epa-mail-mode-map): Use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-01 Stefan Kangas <stefan@marxist.se>
Font lock \\`' command substitutions in docstrings
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Support \\`' command substitutions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-01 Po Lu <luangruo@yahoo.com>
Add interactive XDS test
* test/lisp/dnd-tests.el (dnd-tests-direct-save): New test.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
* editfns.c (Fbyte_to_string): Use `make_unibyte_string`
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-01 Po Lu <luangruo@yahoo.com>
Return the correct action from the Lisp side of drag-and-drop
@@ -44083,39 +46412,39 @@
* src/xterm.h: Update declarations.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-01 Stefan Kangas <stefan@marxist.se>
Use command substitution in kmacro.el
* lisp/kmacro.el (kmacro-bind-to-key, kmacro-view-macro-repeat):
Use command substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-01 Stefan Kangas <stefan@marxist.se>
* doc/misc/erc.texi (Connecting): Fix typo.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-01 Eli Zaretskii <eliz@gnu.org>
Fix "C-u C-x =" for SPC
* lisp/descr-text.el (describe-char): Don't report 'nobreak-space'
face for SPC. (Bug#56337)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-07-01 Eli Zaretskii <eliz@gnu.org>
Fix quoting of file names in 'ctags'
* lib-src/etags.c (main) [WINDOWSNT || MSDOS]: Quote file names
according to the rules of the system shells.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-01 Lars Ingebrigtsen <larsi@gnus.org>
Add support for <mark> in shr
* lisp/net/shr.el (shr-mark): New face (bug#48211).
(shr-tag-mark): New function
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix elisp-byte-compile-buffer requirements
@@ -44124,13 +46453,13 @@
defined. (The byte compiler didn't catch this, because it's
defined in bytecomp.)
-2023-04-15 dick r. chiang <dick.r.chiang@gmail.com>
+2022-07-01 dick r. chiang <dick.r.chiang@gmail.com>
Fix typo in Property Search manual entry
* doc/lispref/text.texi (Property Search): Fix typo (bug#56329).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-01 Lars Ingebrigtsen <larsi@gnus.org>
Make time-stamp-tests.el work in a Norwegian language enviroment
@@ -44146,7 +46475,7 @@
(time-stamp-string "%#3a" time)
=> "FRE"
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-01 Po Lu <luangruo@yahoo.com>
Document XDS stuff
@@ -44155,7 +46484,7 @@
about XDS features.
* etc/NEWS: Tag entry.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-01 Lars Ingebrigtsen <larsi@gnus.org>
Make it easier to debug nnimap-retrieve-headers
@@ -44163,21 +46492,21 @@
to ease debugging.
(nnimap-retrieve-headers): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-07-01 Lars Ingebrigtsen <larsi@gnus.org>
Make the emoji-zoom commands use a transient map for repetition
* lisp/international/emoji.el (emoji-zoom-increase)
(emoji-zoom-decrease): Use a transient map for convenience.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-01 Po Lu <luangruo@yahoo.com>
Expand file names read from XDS functions
* lisp/x-dnd.el (x-dnd-handle-xds-drop): Expand file names
before use. Some GUI dialogs read un-expanded file names.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-01 Po Lu <luangruo@yahoo.com>
Prevent XdndPosition messages from rarely being sent out of band
@@ -44185,7 +46514,7 @@
`x_dnd_waiting_for_status_window' if a pending position message
was sent in reply to an XdndStatus event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-07-01 Po Lu <luangruo@yahoo.com>
Support receiving XDS drops correctly
@@ -44201,7 +46530,7 @@
(x-dnd-handle-octet-stream-for-drop):
(x-dnd-handle-xds-drop): New functions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-07-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -44209,7 +46538,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-06-29 19:13:08 UTC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-30 Po Lu <luangruo@yahoo.com>
Add tests for XDS protocol support
@@ -44224,7 +46553,7 @@
(x-dnd-tests-do-direct-save-internal): New function.
(x-dnd-tests-do-direct-save): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-30 Po Lu <luangruo@yahoo.com>
Fix `clipboard-yank' inserting off the kill ring instead of CLIPBOARD
@@ -44235,7 +46564,7 @@
return nil if the last cut did not own the chosen
selection. (bug#56325)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-30 Po Lu <luangruo@yahoo.com>
Disable middle click selection emulation during XDS
@@ -44252,7 +46581,7 @@
(x_dnd_begin_drag_and_drop): Handle recorded value.
(syms_of_xterm): New variable `x-dnd-use-unsupported-drop'.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Update ERC's Info doc with network-ID related changes
@@ -44264,7 +46593,7 @@
* etc/ERC-NEWS: Add new section for future 5.5 release.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Optionally prevent sending multiline input in ERC
@@ -44279,7 +46608,7 @@
(erc--check-prompt-input-for-excess-lines): Add test.
(Bug#54536)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Improve ERC's handling of multiline prompt input
@@ -44320,7 +46649,7 @@
erc-send-whitespace-lines): Add tests.
(Bug#54536)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Fix regression in erc-send-input-line
@@ -44333,7 +46662,7 @@
newline to more correctly simulate how it's actually called by
`erc-send-input'. (Bug#50008)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Standardize auth-source queries in ERC
@@ -44409,7 +46738,7 @@
* test/lisp/erc/resources/join/auth-source/foonet.eld: New file.
(Bug#48598)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Favor network identities in erc-join
@@ -44440,7 +46769,7 @@
* test/lisp/erc/resources/join/reconnect/foonet-again.eld: New file.
* test/lisp/erc/resources/join/reconnect/foonet.eld: New file.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Don't call erc-auto-query twice on PRIVMSG
@@ -44465,7 +46794,7 @@
(erc-scenarios-base-mask-target-routing): Add test for server masks.
* test/lisp/erc/resources/base/mask-target-routing/foonet.eld: New file.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Register erc-kill-buffer-function locally
@@ -44473,7 +46802,7 @@
loading file. Move to major-mode setup and make buffer-local instead.
Depends on tests in bug#48598.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Add user-oriented test scenarios for ERC
@@ -44555,7 +46884,7 @@
file named test/lisp/erc/erc-scenarios-48598.el introduced by the
patch "Add user-oriented test scenarios for ERC".
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Address long-standing ERC buffer-naming issues
@@ -44703,7 +47032,7 @@
See bug#48598 for background on all of the above.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Add ERC test server and related resources
@@ -44716,7 +47045,7 @@
* test/lisp/erc/erc-scenarios-internal.el: New file to serve as
discoverable proxy for erc-d-tests.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Discourage ill-defined use of buffer targets in ERC
@@ -44752,7 +47081,7 @@
whether a buffer needs joining. Prefer this to server liveliness, as
explained above.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Add eventual replacement for erc-default-recipients
@@ -44768,7 +47097,7 @@
* lisp/erc/erc-backend.el (erc-server-NICK): Recreate `erc--target'
when necessary.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Add helper to determine local channels in ERC
@@ -44779,7 +47108,7 @@
* test/lisp/erc/erc-tests.el (erc--valid-local-channel-p): Add test
for this helper.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Make ERC respect spaces in server passwords
@@ -44788,7 +47117,7 @@
often overloaded with other semantics imposed by various entities to
convey things like bouncer or services creds.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Recognize ASCII and strict CASEMAPPINGs in ERC
@@ -44798,7 +47127,7 @@
* test/lisp/erc/erc-tests.el: Add test for `erc-downcase'.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Update ISUPPORT handling in ERC
@@ -44834,7 +47163,7 @@
* test/lisp/erc/erc-tests.el: Add tests for the above mentioned
changes in erc-backend.el.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Require erc-networks in erc.el
@@ -44857,7 +47186,7 @@
guarded by `fboundp'. It now relies on the fact that its namesake
variable is set in target buffers as well.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Don't set erc-server-announced-name unless known
@@ -44874,7 +47203,7 @@
`erc-server-connected', which is always nil when connecting and
vice-versa.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Allow exemption from flood penalty in erc-backend
@@ -44887,7 +47216,7 @@
affected. See update #5 in the bug's email thread under the section
entitled "Riders" for an explanation.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Customize displaying of ERC buffers on reconnect
@@ -44903,7 +47232,7 @@
before resetting.
(Bug#51753)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Remove duplicate ERC prompt on reconnect
@@ -44937,7 +47266,7 @@
buffer-prep boilerplate involving user input and the server process.
Shared with bug#54536.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Accept user keyword arg in ERC entry-point commands
@@ -44960,7 +47289,7 @@
explicit argument or user options.
(Bug#54824)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Initialize erc-server-filter-data in erc-backend
@@ -44972,7 +47301,7 @@
invocations merely set up a target buffer and have no business
touching this variable.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-06-30 F. Jason Park <jp@neverwas.me>
Rework mutual dependency between erc and erc-backend
@@ -44986,7 +47315,7 @@
utility test to scrape for unused vars that may accumulate over time.
(Bug#54825)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-30 Stefan Kangas <stefan@marxist.se>
Doc fixes: don't refer to some obsolete items
@@ -44996,18 +47325,18 @@
* lisp/vc/diff-mode.el: Doc fix; don't refer to obsolete variables and
functions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-30 Stefan Kangas <stefan@marxist.se>
Remove obsolete cust-print from elisp index
* doc/lispref/edebug.texi (Printing in Edebug): Remove obsolete
library "cust-print" from index.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix define-obsolete-function-alias formatting in loaddefs-gen.el
@@ -45015,7 +47344,7 @@
Fix formatting of define-obsolete-function-alias statements
(bug#56292).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
(syntax-wholeline-max): New var
@@ -45032,11 +47361,11 @@
* lisp/font-lock.el (font-lock-extend-region-wholelines): Rewrite,
using `syntax-propertize-wholelines`.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-30 Stefan Kangas <stefan@marxist.se>
* admin/make-tarball.txt: Minor clarifications.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-30 Mattias Engdegård <mattiase@acm.org>
Don't say that macro-expansion error is a warning
@@ -45044,18 +47373,18 @@
* lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load): Since
eager macro-expansion errors are no longer warnings, don't say so.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-30 Stefan Kangas <stefan@marxist.se>
* lisp/eshell/em-term.el (eshell-visual-commands): Add vim.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Also add elisp-eval/byte-compile-buffer to lisp-interaction-mode
* lisp/progmodes/elisp-mode.el (lisp-interaction-mode-map): Also
add elisp-eval-buffer and elisp-byte-compile-buffer to this map.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-30 Mattias Engdegård <mattiase@acm.org>
Don't change indentation rules for `>=` and `=`
@@ -45064,21 +47393,21 @@
no way to tell them apart.
Suggested by Michael Herdeegen.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous elisp-byte-compile-buffer change
* lisp/progmodes/elisp-mode.el (elisp-byte-compile-buffer): Make
warnings point to the correct place.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix up warning links in elisp-byte-compile-buffer
* lisp/progmodes/elisp-mode.el (elisp-byte-compile-buffer): Make
warnings point to the correct place.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-30 Stefan Kangas <stefan@marxist.se>
New hook save-place-after-find-file-hook
@@ -45086,7 +47415,7 @@
* lisp/saveplace.el (save-place-after-find-file-hook): New hook.
(save-place-find-file-hook): Run new hook.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Make "eager macro-expansion" warning into an error
@@ -45098,11 +47427,11 @@
macro expansion for many years, so finally change that into an
error (bug#18154).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Do NEWS tagging
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-30 Eli Zaretskii <eliz@gnu.org>
Fix external image conversion on MS-Windows
@@ -45111,27 +47440,27 @@
text or EOL conversions, since we are reading/writing binary
data. (Bug#56317)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Add find-function-setup-keys bindings for find-library commands
* lisp/emacs-lisp/find-func.el (find-function-setup-keys): Add `L'
bindings for the find-library family of commands (bug#51240).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Restore temp-buffer-resize-mode behaviour wrt. [back] buttons
* lisp/help.el (help--window-setup): If temp-buffer-resize-mode, do
the window setup after adding [back] buttons (bug#56306).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous server.el change
* lisp/server.el (server-process-filter): Fix typo in previous change.
-2023-04-15 Michael Shields <shields@msrl.com>
+2022-06-30 Michael Shields <shields@msrl.com>
Don't ignore emacsclient's --frame-parameters option when -t
@@ -45139,7 +47468,7 @@
was mistakenly missed when the patch was applied (bug#24147).
This also fixes bug#56309.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Add new commands to elisp mode for eval/compilation
@@ -45148,14 +47477,14 @@
(elisp-eval-buffer, elisp-byte-compile-file)
(elisp-byte-compile-buffer): New commands.
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2022-06-30 Mike Kupfer <mkupfer@alum.berkeley.edu>
Clarify `version-control' in the Emacs manual
* doc/emacs/files.texi (Backup Names): Rephrase for greater
clarity (bug#56291).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Recognize Gradle error messages in compile-mode
@@ -45163,17 +47492,17 @@
(compilation-error-regexp-alist-alist): Recognize Gradle errors
(bug#56249).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Add provide to testcover
* lisp/emacs-lisp/testcover.el (testcover): Provide (bug#55388).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-30 Lars Ingebrigtsen <larsi@gnus.org>
Add new commands to zoom emojis
@@ -45182,7 +47511,7 @@
* lisp/international/mule-cmds.el (ctl-x-map): Bind them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-30 Po Lu <luangruo@yahoo.com>
Disable unrelated drag-and-drop protocols during XDS drop
@@ -45196,7 +47525,7 @@
(handle_one_xevent): Respect new variable.
(syms_of_xterm): New variable `x-dnd-disable-motif-protocol'.
-2023-04-15 jicksaw <jicksaw@pm.me> (tiny change)
+2022-06-30 jicksaw <jicksaw@pm.me> (tiny change)
Reduce eldoc noise from hover messages
@@ -45216,7 +47545,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/514
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-30 Po Lu <luangruo@yahoo.com>
Improve compliance with the XDS and XDND protocols
@@ -45230,7 +47559,7 @@
(x-dnd-do-direct-save): Handle application/octet-stream, check
results.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-06-29 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Use "Surname" instead of "Name" in prompts
@@ -45239,7 +47568,7 @@
* lisp/net/eudc.el (eudc-get-email): Prompt for surname.
* lisp/net/eudc.el (eudc-get-phone): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Fix preservation of the original value of PRIMARY after dropping on xterm
@@ -45257,7 +47586,7 @@
* src/xterm.h: Update prototypes.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-06-29 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Prevent field overlap when query form is reset
@@ -45265,11 +47594,11 @@
erasing buffer. Remove widget-after-change from
after-change-functions.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/emacs/buffers.texi (Indirect Buffers): Mention modification hook quirk
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-29 Eli Zaretskii <eliz@gnu.org>
Fix hscrolling of :align-to when display-line-numbers is in effect
@@ -45284,11 +47613,11 @@
line number was not yet produced for the current glyph row.
(Bug#56176)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix `diff-buffers` case
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-29 Mattias Engdegård <mattiase@acm.org>
More robust `gnu` pattern (bug#56249)
@@ -45296,7 +47625,7 @@
Don't allow spaces in the file names, to avoid false matches.
Don't allow ad-hoc spaces preceding the program name either.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-29 Mattias Engdegård <mattiase@acm.org>
Complete transition to rx for compilation `gnu` pattern
@@ -45304,14 +47633,14 @@
Change from a mixture of traditional regexp syntax and rx,
to make intentions clearer.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-29 Mattias Engdegård <mattiase@acm.org>
* lisp/emacs-lisp/rx.el: Indent some rx constructs correctly.
This includes group-n, submatch-n, =, >=, ** and repeat, whose first 1
or 2 arguments are special.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -45321,20 +47650,20 @@
# ChangeLog.3
# etc/AUTHORS
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
bf137fdbd2 ; * admin/make-tarball.txt: Small clarification.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Fix handling invalidated selection requests
* src/xselect.c (x_handle_selection_request): Correctly punt
when !dpyinfo.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Bump Emacs version to 28.1.90
@@ -45343,14 +47672,14 @@
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.1.90.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Update ChangeLog and AUTHORS for 28.1.90 pretest
* ChangeLog.3:
* etc/AUTHORS: Update.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Fix some bugs found while testing drag-and-drop
@@ -45360,7 +47689,7 @@
`dnd-indicate-insertion-point'. Bug found testing with "JX
Application Framework".
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
(cl--generic-compiler): Revert last change
@@ -45380,14 +47709,14 @@
`cl-generic--oclosure-generalizer` for consistency with all
other generalizers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Update dnd-tests.el to make sure remote files are removed when Emacs quits
* test/lisp/dnd-tests.el (dnd-tests-begin-drag-files)
(dnd-tests-begin-file-drag): Test value of `kill-emacs-hook'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Implement starting X Direct Save (XDS) drops
@@ -45415,7 +47744,7 @@
is set.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Make two text-property-search tests easier to read
@@ -45424,14 +47753,14 @@
(text-property-search-backward/point-at-end): Rewrite to make tests
easier to read.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Minor cleanup in dired-x-bind-find-file
* lisp/dired-x.el (dired-x-bind-find-file): Use 'format-message'
and 'keymap-set'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-29 Lars Ingebrigtsen <larsi@gnus.org>
Improve the eval-defun doc string
@@ -45439,7 +47768,7 @@
command actually does w.r.t. finding a form to evaluate
(bug#47747).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-29 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that In-Reply-To is saved in drafts in Message
@@ -45448,13 +47777,13 @@
(message-setup-1): Pre-generate In-Reply-To so that it'll be saved
in drafts (bug#47639).
-2023-04-15 Tom Gillespie <tgbugs@gmail.com>
+2022-06-29 Tom Gillespie <tgbugs@gmail.com>
test/lisp/progmodes/python-tests.el: add test for nav end of block
Add test for python-nav-end-of-block to prevent regression of bug#56271.
-2023-04-15 Tom Gillespie <tgbugs@gmail.com>
+2022-06-29 Tom Gillespie <tgbugs@gmail.com>
lisp/progmodes/python.el (python-nav-end-of-block): prevent infinite loop
@@ -45464,7 +47793,7 @@
then it is possible for python-nav-end-of-block to enter an infinite
loop. (bug#56271)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-29 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation-mode parsing of file names in Gradle errors
@@ -45472,11 +47801,11 @@
(compilation-error-regexp-alist-alist): Fix parsing of file names
in Gradle output (bug#56249).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
* lisp/pgtk-dnd.el (pgtk-dnd-use-offix-drop): Remove extra variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Clean up failable requests in more places
@@ -45488,7 +47817,7 @@
(x_check_errors, x_had_errors_p): Clean up failable requests
here.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-29 Po Lu <luangruo@yahoo.com>
Handle be:actions field in Haiku DND messages
@@ -45500,14 +47829,14 @@
(haiku-drag-and-drop): Use action returned by that function.
(x-begin-drag): Replace hard-coded enumerator.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-06-29 Gerd Möllmann <gerd@gnu.org>
Ensure correct toggle menu item display
* lisp/menu-bar.el (menu-bar-make-toggle-command): Call
force-mode-line-update. (Bug#56155)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-29 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -45518,7 +47847,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-28 Po Lu <luangruo@yahoo.com>
Fix reported problem with drag-and-drop inside VirtualBox
@@ -45548,13 +47877,13 @@
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Set new
variable to nil during tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-28 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous maintaining.texi change
* doc/emacs/maintaining.texi (Looking Up Identifiers): Fix typo.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-28 Juri Linkov <juri@linkov.net>
* lisp/isearch.el (isearch-delete-char): Improve fix for bug#52248.
@@ -45562,13 +47891,13 @@
still close unnecessary overlays for the previous position.
(isearch-close-unnecessary-overlays): Rename arg BEG for consistency.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-28 Visuwesh <visuweshm@gmail.com>
trouble.texi (Long Lines): Fix typo.
* doc/emacs/trouble.texi (Long Lines): Fix typo (bug#56283).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-28 Lars Ingebrigtsen <larsi@gnus.org>
Put the obsoletion earlier in the *Help* buffer
@@ -45578,7 +47907,7 @@
vital information.
(describe-variable): Ditto (bug#56251).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-28 Lars Ingebrigtsen <larsi@gnus.org>
Improve sxhash-equal documentation
@@ -45586,14 +47915,14 @@
sxhash-equal is for and what the caveats are.
* src/fns.c (Fsxhash_eql, Fsxhash_equal): Clarify doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-28 Lars Ingebrigtsen <larsi@gnus.org>
Allow using define-short-documentation-group without loading shortdoc
* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group):
Allow using without loading shortdoc.el (bug#56260).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-28 Michael Albinus <michael.albinus@gmx.de>
Tramp shall not trap unrelated D-Bus errors
@@ -45602,14 +47931,14 @@
(tramp-gvfs-dbus-event-vector): Fix docstring.
(tramp-gvfs-maybe-open-connection): Do not set it globally. (Bug#56162)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-28 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Looking Up Identifiers in the manual
* doc/emacs/maintaining.texi (Looking Up Identifiers): Clarify the
text about C-M-, (bug#56261).
-2023-04-15 Zachary Kanfer <zkanfer@gmail.com>
+2022-06-28 Zachary Kanfer <zkanfer@gmail.com>
Add new command `rename-visited-file'
@@ -45617,7 +47946,7 @@
* lisp/files.el (rename-visited-file): New command (bug#56229).
-2023-04-15 Jim Meyering <meyering@fb.com> (tiny change)
+2022-06-28 Jim Meyering <meyering@fb.com> (tiny change)
Fix configure.ac quoting of AC_CHECK_LIB's 2nd arg
@@ -45629,28 +47958,28 @@
* configure.ac: Quote the second arg of each AC_CHECK_LIB invocation.
(Bug#56272)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-28 Po Lu <luangruo@yahoo.com>
Adjust x-clipboard-yank for recent selection ownership changes
* lisp/term/x-win.el (x-clipboard-yank): Don't own CLIPBOARD
inside kill-new.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-28 Po Lu <luangruo@yahoo.com>
Clean up Fx_begin_drag
* src/xfns.c (Fx_begin_drag): Use FOR_EACH_TAIL instead of
iterating manually.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-28 Po Lu <luangruo@yahoo.com>
Automatically detect cyclic lists in some Haiku functions
* src/haikuselect.c (haiku_lisp_to_message): Use FOR_EACH_TAIL
to iterate over message data.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-06-28 Basil L. Contovounesios <contovob@tcd.ie>
Fix hash table function return values in manual
@@ -45658,7 +47987,7 @@
values of puthash and clrhash with their respective
docstrings (bug#55562).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -45667,29 +47996,29 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-27 Po Lu <luangruo@yahoo.com>
Fix handling "C-S-u" and such when using XKB
* src/xterm.c (handle_one_xevent): Don't rely on XKB for
consumed modifiers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-27 Po Lu <luangruo@yahoo.com>
Always use XKB to translate keysyms when no input method is available
* src/xterm.c (handle_one_xevent) [HAVE_XKB]: Also use XKB to
handle core KeyPress events.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-06-27 Basil L. Contovounesios <contovob@tcd.ie>
* lisp/subr.el (plistp): Simplify (bug#47427).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-27 Paul Eggert <eggert@cs.ucla.edu>
"make clean" etc. problem now fixed on Solaris.
-2023-04-15 Gerd Möllmann <gerd@gnu.org>
+2022-06-27 Gerd Möllmann <gerd@gnu.org>
Prevent regexp cache entries from being GC'ed in more cases
@@ -45697,7 +48026,7 @@
(fast_c_string_match_ignore_case): Use freeze_pattern.
(Bug#56108)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-27 Eli Zaretskii <eliz@gnu.org>
Fix deletion of composed text
@@ -45706,13 +48035,13 @@
'lgstring-glyph-boundary' to find where to end the deletion inside
an automatic composition. (Bug#56237)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-27 Lars Ingebrigtsen <larsi@gnus.org>
Fix some missed Fplist_put adjustments in src/w32.c
* src/w32.c (serial_configure): Adjust some missed Fplist_put renames.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-27 Lars Ingebrigtsen <larsi@gnus.org>
Add new type predicate plistp
@@ -45720,14 +48049,14 @@
referred to in the error message from plist-put: "Debugger
entered--Lisp error: (wrong-type-argument plistp (a b c))".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-27 Lars Ingebrigtsen <larsi@gnus.org>
Adjust plist calls in .m files
* src/nsterm.m (mod_of_kind):
* src/nsimage.m (ns_load_image): Adjust plist calls in .m files.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-27 Lars Ingebrigtsen <larsi@gnus.org>
Allow plist-get/plist-put/plist-member to take a comparison function
@@ -45806,18 +48135,18 @@
(test-plist): Remove lax-plist tests, since semantics have changed
(they no longer error out on cycles).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-27 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entry about C-h v font locking
-2023-04-15 hokomo <hokomo@airmail.cc> (tiny change)
+2022-06-27 hokomo <hokomo@airmail.cc> (tiny change)
Fix detecting dotted pairs in icalendar-export-region
* lisp/calendar/icalendar.el (icalendar-export-region): Fix detecting
dotted pairs (bug#56241).
-2023-04-15 Allen Li <darkfeline@felesatra.moe>
+2022-06-27 Allen Li <darkfeline@felesatra.moe>
find-dired: Add find-dired-with-command
@@ -45833,7 +48162,7 @@
(find-dired-with-command): New command.
(find-dired): Rewritten with new command.
-2023-04-15 Allen Li <darkfeline@felesatra.moe>
+2022-06-27 Allen Li <darkfeline@felesatra.moe>
find-dired: Factor out find-dired--escaped-ls-option
@@ -45842,20 +48171,20 @@
* lisp/find-dired.el (find-dired--escaped-ls-option): New function.
(find-dired): Use find-dired--escaped-ls-option.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-27 Lars Ingebrigtsen <larsi@gnus.org>
Fix off-by-one error in Fsignal_names
* src/process.c (Fsignal_names): Fix off-by-one error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-27 Po Lu <luangruo@yahoo.com>
Use correct background for image mask color on Haiku
* src/haikuterm.c (haiku_draw_image_glyph_string): Use adjusted
background for image mask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-27 Po Lu <luangruo@yahoo.com>
Implement stipples for images on Haiku
@@ -45868,7 +48197,7 @@
(haiku_draw_glyph_string): Fix conditions under which
row->stipple_p is set.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -45876,36 +48205,36 @@
c66b90a534 Mention Solaris 10 'make clean' and 'make check'
ade34cf821 Mention further crashes on Solaris 10
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
a9d338818a ; elec-pair: Fix docstring typo (bug#56233)
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-06-26 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.4-3-g6dc785
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-26 Po Lu <luangruo@yahoo.com>
Correctly convert event state in more places
* src/xterm.c (handle_one_xevent): Use `xi_convert_event_state'
to handle synthetic and xwidget button events.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-26 Paul Eggert <eggert@cs.ucla.edu>
Mention Solaris 10 'make clean' and 'make check'
Mention further crashes on Solaris 10
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-26 Lars Ingebrigtsen <larsi@gnus.org>
Minor clean up of previous Fsignal_names patch
* src/process.c (Fsignal_names): Clean up code slightly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-26 Lars Ingebrigtsen <larsi@gnus.org>
Make `signal-process' allow completing over signal names
@@ -45914,14 +48243,14 @@
the signal names (bug#56239).
(Fsignal_names): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-26 Lars Ingebrigtsen <larsi@gnus.org>
Font-lock variable values in *Help*
* lisp/help-fns.el (describe-variable): Font-lock the variable
value (bug#47363).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-26 Mattias Engdegård <mattiase@acm.org>
Optimise away functions in for-effect context
@@ -45933,25 +48262,25 @@
point. In particular, their unwind function argument should be
not optimised for effect since it's a function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
(oclosure-test-limits): Fix test failure when interpreted
* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test-limits):
Make sure we bind `byte-compile-debug` dynamically.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-26 Eli Zaretskii <eliz@gnu.org>
Fix re-composition under 'composition-break-at-point'
* src/xdisp.c (try_window_id): Disable this optimization if
'composition-break-at-point' is non-nil.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-26 Eli Zaretskii <eliz@gnu.org>
* lisp/simple.el (delete-forward-char): Fix bug #56237.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-26 Jim Porter <jporterbugs@gmail.com>
When closing an Eshell process target, send EOF three times
@@ -45963,7 +48292,7 @@
This patch is adapted by one from Ken Brown, who uncovered the reason
for this bug (bug#56025).
-2023-04-15 Kjartan Óli Ãgústsson <kjartanoli@outlook.com>
+2022-06-26 Kjartan Óli Ãgústsson <kjartanoli@outlook.com>
Reconvert EPUB buffers when user CSS is changed
@@ -45974,7 +48303,7 @@
(doc-view--epub-stylesheet-watcher): Add defvar
(doc-view-custom-set-epub-user-stylesheet): Add defun (bug#55825).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-26 Visuwesh <visuweshm@gmail.com>
Make <mouse-2> in mode line more careful as well
@@ -45982,7 +48311,7 @@
windows if the user didn't move the cursor off the
mode-line (bug#56198).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-26 Visuwesh <visuweshm@gmail.com>
Make <mouse-3> in the mode line more careful
@@ -45990,7 +48319,7 @@
the user hasn't moved point out of the mode line before releasing
the button (bug#56198).
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2022-06-26 Jonas Bernoulli <jonas@bernoul.li>
Avoid positional arguments to define-minor-mode
@@ -45998,7 +48327,7 @@
replace its old positional arguments. Starting with Emacs-28.1
a warning will be omitted if positional arguments are still used.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-26 Jim Porter <jporterbugs@gmail.com>
Make Eshell globs ending in "/" match directories only
@@ -46014,7 +48343,7 @@
* etc/NEWS: Announce this change (bug#56227).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-26 Jim Porter <jporterbugs@gmail.com>
Convert Eshell globs ahead of time instead of doing it repeatedly
@@ -46026,7 +48355,7 @@
* test/lisp/eshell-em-glob-tests.el (em-glob-test/match-dot-files):
New test.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-26 Jim Porter <jporterbugs@gmail.com>
Optionally signal an error if an Eshell predicate fails to match anything
@@ -46042,7 +48371,7 @@
* doc/misc/eshell.texi (Bugs and ideas): Remove todo entry about this
change.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-06-26 Daniel Martín <mardani29@yahoo.es>
Fix typo in signal-process-functions
@@ -46050,31 +48379,31 @@
to correct default variable in the ELisp manual.
* etc/NEWS: The same for the NEWS entry (bug#56234).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-26 Lars Ingebrigtsen <larsi@gnus.org>
Update term-char-mode doc string
* lisp/term.el (term-char-mode): Update doc string.
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-06-26 Michael Heerdegen <michael_heerdegen@web.de>
Fix Bug#56110 (switching from line-mode to char-mode)
* lisp/term.el (term-char-mode): Make `add-function' override the
correct place (the buffer local variable `term-input-sender').
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-26 Lars Ingebrigtsen <larsi@gnus.org>
Fix a recent Lisp mode filling test failure
* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Restore the
"fill first line separately" logic.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-26 Stefan Kangas <stefan@marxist.se>
Fix typo in use-package docstring
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/syntax.el: Rework the handling of nested calls.
@@ -46096,7 +48425,7 @@
Don't bind `syntax-propertize--inhibit-flush` any more.
(syntax-ppss): Set `syntax-ppss--updated-cache` when applicable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-26 Lars Ingebrigtsen <larsi@gnus.org>
Don't create HOME if it doesn't exist
@@ -46104,21 +48433,21 @@
doesn't exist (bug#47298). This returns us to Emacs 26.3
behaviour here.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-26 Michael Albinus <michael.albinus@gmx.de>
Fix narrowing problem in tramp-debug-buffer-command-completion-p
* lisp/net/tramp.el (tramp-debug-buffer-command-completion-p):
Respect narrowing. (Bug#56225)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-26 Po Lu <luangruo@yahoo.com>
Add some more common predefined atoms
* src/xterm.c (x_intern_cached_atom, x_get_atom_name): Add
DRAWABLE, BITMAP, COLORMAP, CURSOR and FONT.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-26 Eli Zaretskii <eliz@gnu.org>
Fix ispell-word on colorless TTY frames
@@ -46126,7 +48455,7 @@
(ispell-highlight-spelling-error-generic): Keep marker position of
END intact, deletion of text notwithstanding. (Bug#56219)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-26 Po Lu <luangruo@yahoo.com>
Stop catching errors for some requests
@@ -46135,7 +48464,7 @@
`x_ignore_errors_for_next_request'. This results in a healthy
~30% speedup for the involved requests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-25 Po Lu <luangruo@yahoo.com>
Handle errors while sending client events asynchronously
@@ -46155,14 +48484,14 @@
(struct x_display_info): New field `failable_requests' and
associated next pointer.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-25 Paul Eggert <eggert@cs.ucla.edu>
Port ‘make clean’ to Solaris 10
* test/Makefile.in (CLEAN_XML_FILES): New macro.
(clean): Use it.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-25 Paul Eggert <eggert@cs.ucla.edu>
Port distribution tarball to Solaris 10
@@ -46175,14 +48504,14 @@
many diagnostics like “tar: ././@LongLink: typeflag 'L' not
recognized, converting to regular fileâ€.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-25 Paul Eggert <eggert@cs.ucla.edu>
Port test SUBDIRS to Solaris 10
* test/Makefile.in (SUBDIRS): Port to traditional ‘find’, which
lacks -path.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-25 Paul Eggert <eggert@cs.ucla.edu>
Pacify Oracle Studio re xterm.c
@@ -46207,7 +48536,7 @@
to struct _XIM {}, pointer to char, pointer to char) returning
voidâ€.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-25 Paul Eggert <eggert@cs.ucla.edu>
Pacify Oracle Studio re print_vectorlike
@@ -46217,7 +48546,7 @@
function(pointer to void) returning voidâ€. Admittedly this is
not strictly conforming C code even with the cast.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-25 Paul Eggert <eggert@cs.ucla.edu>
Pacify Oracle Studio re Time_to_position
@@ -46225,14 +48554,14 @@
pacify Oracle Studio 12.6’s “warning: initializer will be
sign-extendedâ€.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-25 Lars Ingebrigtsen <larsi@gnus.org>
Make `M-q' work on the first line of a multi-line string again
* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Exclude the
quote marks from the region so that filling works (bug#56197).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-25 Po Lu <luangruo@yahoo.com>
Update input_pending after deferring selection requests
@@ -46240,7 +48569,7 @@
moved, update input_pending. Bug found calling
`input-pending-p' inside the DND movement function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-25 Stefan Kangas <stefan@marxist.se>
New command recentf-open
@@ -46253,13 +48582,13 @@
* doc/emacs/files.texi (File Conveniences): Update documentation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix subr-x fix that was missed when re-reverting
* lisp/replace.el (require): Fix subr-x build warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-25 Stefan Kangas <stefan@marxist.se>
Don't error out on invalid literal key substitutions
@@ -46281,7 +48610,7 @@
(help-tests-substitute-command-keys/literal-key-sequence-ignore-invalid):
New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-25 Lars Ingebrigtsen <larsi@gnus.org>
Re-fix build warnings about subr-x defsubsts
@@ -46295,7 +48624,7 @@
with a build problem where files.el is using the defsubst, but
requiring subr-x.el at compile time leads to load errors.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-06-25 Manuel Giraud <manuel@ledu-giraud.fr>
Avoid recording passwords' chars
@@ -46305,7 +48634,7 @@
* lisp/subr.el (read-passwd): Use `inhibit--record-char' to
inhibit passwords recording.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-25 Eli Zaretskii <eliz@gnu.org>
Minor optimization of the "abort redisplay" feature
@@ -46318,7 +48647,7 @@
'update_redisplay_ticks' if aborting too-long redisplay is
disabled. (Bug#45898)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-25 Po Lu <luangruo@yahoo.com>
Implement image transform smoothing on Haiku
@@ -46329,14 +48658,14 @@
* src/haikuterm.c (haiku_draw_image_glyph_string):
* src/image.c (image_set_transform): Set it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-25 Eli Zaretskii <eliz@gnu.org>
Fix false positive due to 'max-redisplay-ticks' feature
* src/xdisp.c (redisplay_internal): Reset the tick count at end of
redisplay cycle. (Bug#45898)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-25 Po Lu <luangruo@yahoo.com>
Fix non-XI2 build
@@ -46344,7 +48673,7 @@
passing it to RandR functions. Also, update out of date
comment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-25 Po Lu <luangruo@yahoo.com>
Implement "flip" image transforms on Haiku
@@ -46366,13 +48695,13 @@
* src/image.c (image_set_transform): Implement using affine
transforms on Haiku too.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-25 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1f6750b53a Avoid treating number as an enum in the org manual
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix some byte-compilation warnings about subr-x"
@@ -46380,7 +48709,7 @@
This led to build failures when doing bootstraps.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow toggling completion modes for `M-x' with `M-X'
@@ -46399,35 +48728,35 @@
This code is based on a patch by Felician Nemeth
<felician.nemeth@gmail.com>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Make ido sorting respect ido-case-fold
* lisp/ido.el (ido-file-lessp):
(ido-file-extension-lessp): Respect ido-case-fold (bug#47127).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-24 Stefan Kangas <stefan@marxist.se>
Avoid treating number as an enum in the org manual
* doc/misc/org.org (The Agenda Dispatcher): Avoid treating number as
enum.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-24 Michael Albinus <michael.albinus@gmx.de>
Make url-tramp-convert-tramp-to-url more robust
* lisp/url/url-tramp.el (url-tramp-convert-tramp-to-url):
Prevent errors from not existing Tramp methods.
-2023-04-15 Platon Pronko <platon7pronko@gmail.com> (tiny change)
+2022-06-24 Platon Pronko <platon7pronko@gmail.com> (tiny change)
Fix logic error in Tramp, setting file ownership
* lisp/net/tramp.el (tramp-skeleton-write-region): Fix logic in
changing file ownership. (Bug#56180)
-2023-04-15 Timo Taipalus <timo@taipalus.cc>
+2022-06-24 Timo Taipalus <timo@taipalus.cc>
Add support for image flipping
@@ -46443,7 +48772,7 @@
* doc/lispref/display.texi (Image Descriptors): Document :flip
(bug#47095).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix some byte-compilation warnings about subr-x
@@ -46453,14 +48782,14 @@
* lisp/isearch.el (require):
* lisp/files.el (require): Require subr-x when compiling.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix imenu popup syntax
* lisp/imenu.el (imenu--create-keymap): Fix menu syntax
(bug#56185).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-24 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -46469,7 +48798,7 @@
# Conflicts:
# doc/misc/modus-themes.org
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-24 Eli Zaretskii <eliz@gnu.org>
Fix assertion violation when 'max-redisplay-ticks' is set too low
@@ -46477,11 +48806,11 @@
optimization in 'update_window' when redisplay of a window is
aborted. (Bug#56184)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entry about kill-buffer change
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-24 Mattias Engdegård <mattiase@acm.org>
Bytecode opcode comments update
@@ -46494,7 +48823,7 @@
Bsave_current_buffer_OBSOLETE and Bsave_current_buffer_1 to
Bsave_current_buffer, reflecting the state since 1996.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-06-24 Basil L. Contovounesios <contovob@tcd.ie>
Reduce memory footprint of eglot--{}
@@ -46505,13 +48834,13 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/978
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Update seq.el comment
* lisp/emacs-lisp/seq.el: Update comment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow `kill-buffer' query to save the buffer first
@@ -46524,7 +48853,7 @@
user.
(syms_of_buffer): Define symbol.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Preload seq
@@ -46533,7 +48862,7 @@
seq being loaded -- for instance, visiting a .txt file or an .el
file, so this will speed up Emacs usage for basically everybody.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow read-multiple-choice to do long-form answers
@@ -46545,7 +48874,7 @@
(read-multiple-choice--short-answers): Refactored out from the
main function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix cl-generic bootstrap problems
@@ -46568,7 +48897,7 @@
`cl-defmethod' in pre-loaded files, and this change fixes that (but
possibly not in the most self-evidently correct way).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Make warning about require/autoload while bootstrapping not error out
@@ -46577,14 +48906,14 @@
outputting the error about not being able to autoload/require
while bootstrapping.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Make debug-early-backtrace more resilient
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Allow
outputting backtraces during bootstrap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-24 Po Lu <luangruo@yahoo.com>
Fix handling of mouse motion across screens during drag-and-drop
@@ -46592,14 +48921,14 @@
(handle_one_xevent): Fill empty target if the event didn't come
from the same screen.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous nnimap header fetching change
* lisp/gnus/nnimap.el (nnimap-retrieve-headers): Ensure that the
splitting works.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-24 Eli Zaretskii <eliz@gnu.org>
Merge branch 'abort-redisplay'
@@ -46647,7 +48976,7 @@
* etc/NEWS: Announce 'max-redisplay-ticks'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-23 Po Lu <luangruo@yahoo.com>
Improve grabbing detection with multiple master devices (MPX)
@@ -46656,7 +48985,7 @@
* src/xterm.c (x_have_any_grab): New function.
(x_create_terminal): Define hook on XI2 builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-23 Po Lu <luangruo@yahoo.com>
Simplify XI event state conversion
@@ -46665,66 +48994,66 @@
(handle_one_xevent): Reduce duplicate code for converting XI
state and button state into X state.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
* lisp/net/browse-url.el: Doc fix; recommend keymap-* functions.
* lisp/recentf.el (recentf-auto-cleanup): Clarify docstring.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-23 Mattias Engdegård <mattiase@acm.org>
Remove unused function in bytecomp.el
* lisp/emacs-lisp/bytecomp.el (byte-compile-delete-first): Remove.
-2023-04-15 Gerd Moellmann <gerd.moellmann@gmail.com>
+2022-06-23 Gerd Moellmann <gerd.moellmann@gmail.com>
Save desktop-save-mode when changed from menu
* lisp/menu-bar.el (menu-bar-options-save): Save desktop-save-mode
(bug#56156).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
Tag shortcut commands for recentf-dialog-mode
* lisp/recentf.el (recentf--shortcuts-keymap): Add interactive mode
tags for 'recentf-dialog-mode' specific commands.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap and keymap-set in recentf.el
* lisp/recentf.el (recentf-mode-map): Prefer defvar-keymap.
(recentf--shortcuts-keymap): Prefer keymap-set.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
Use shortened filenames in recentf-mode
* lisp/recentf.el (recentf-filename-handlers): Set to
'abbreviate-file-name' to get shortened names by default. (Bug#56123)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
Revert "Allow shortening filenames in recentf-mode menu"
This reverts commit 32906819addde1aa952d4718699d332d3a58b004.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
Revert "Use short file names by default in recentf menu"
This reverts commit ec9228eb81c0a89b18480dfff18cc9afdc3d0884.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-23 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that nnimap doesn't send too long lines to the server
* lisp/gnus/nnimap.el (nnimap-retrieve-headers): Don't send
too-long lines to the server (bug#56138).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-23 Po Lu <luangruo@yahoo.com>
Minor fixes to last change
@@ -46732,14 +49061,14 @@
when it is GdkAtom.
* src/pgtkterm.c (drag_leave): Initialize inev.ie.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-23 Po Lu <luangruo@yahoo.com>
Make DND from other GTK programs work on Wayland
* lisp/pgtk-dnd.el (pgtk-dnd-handle-gdk): Try to keep the
selection contents in extra-data during a motion event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-23 Po Lu <luangruo@yahoo.com>
Allow dropping more data types on PGTK
@@ -46782,13 +49111,13 @@
* src/pgtkterm.h: Update prototypes, fix prototype coding style.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-23 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
a3f294b37f Improve last change in autotype.texi
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-22 Po Lu <luangruo@yahoo.com>
Don't send XdndPosition before XdndStatus arrives
@@ -46798,7 +49127,7 @@
(x_dnd_begin_drag_and_drop): Clear new flags.
(handle_one_xevent): Respect those flags.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-22 Po Lu <luangruo@yahoo.com>
Update device-specific grab during drag-and-drop
@@ -46806,14 +49135,14 @@
(handle_one_xevent): Set device if DND is in progress and update
device->grab.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
Make recentf-elements obsolete
* lisp/recentf.el (recentf-elements): Make obsolete. Update
callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
Convert several defsubst to defun in recentf.el
@@ -46830,7 +49159,7 @@
(recentf-show-basenames-descending): Change from defsubst to
defun.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
Bind C-c C-c and C-c C-k in recentf-dialog-mode
@@ -46841,14 +49170,14 @@
(recentf-dialog-mode): Mark as non-interactive.
(recentf-edit-list): Display key binding.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-22 Michael Albinus <michael.albinus@gmx.de>
Fix dnd-tests-open-remote-url on EMBA
* test/lisp/dnd-tests.el (dnd-tests-open-remote-url): Check for
ftp client.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-22 Mattias Engdegård <mattiase@acm.org>
duplicate-line: fix optional argument and add test (bug#46621)
@@ -46859,7 +49188,7 @@
* lisp/misc.el (duplicate-line): Don't crash if called with no argument.
* test/lisp/misc-tests.el (misc--duplicate-line): New test.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-22 Richard Hansen <rhansen@rhansen.org>
bindat (strz): Null terminate fixed-length strings if there is room
@@ -46870,7 +49199,7 @@
* test/lisp/emacs-lisp/bindat-tests.el (bindat-test--str-strz-prealloc):
Update tests.
-2023-04-15 Gerd Moellmann <gerd.moellmann@gmail.com>
+2022-06-22 Gerd Moellmann <gerd.moellmann@gmail.com>
Prevent GC of window referenced from EmacsScroller
@@ -46879,14 +49208,14 @@
* src/alloc.c (garbage_collect) [MAVE_NS]: Call mark_nsterm.
(Bug#56095)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-22 Eli Zaretskii <eliz@gnu.org>
Improve last change in autotype.texi
* doc/misc/autotype.texi (Autoinserting): Fix wording. Suggested
by Richard Stallman <rms@gnu.org>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
Prefer Emacs mouse button event names to XEmacs names
@@ -46895,47 +49224,47 @@
(ediff-draw-dir-diffs, ediff-redraw-registry-buffer): Prefer Emacs
mouse button event names to XEmacs names.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
* lisp/bs.el (bs-mode-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-22 Po Lu <luangruo@yahoo.com>
Fix non-system-malloc build
* src/xterm.c (x_gc_free_ext_data_private): New function.
(x_gc_get_ext_data): Set it as the private data free function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
Do interactive mode tagging in edmacro.el
* lisp/edmacro.el (edmacro-finish-edit, edmacro-insert-key):
Add interactive mode tag for edmacro-mode.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-22 Stefan Kangas <stefan@marxist.se>
Use short file names by default in recentf menu
* lisp/recentf.el (recentf-menu-filter): Set the default to
'recentf-show-abbreviated' to get short file names. (Bug#56123)
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-06-22 Sean Whitton <spwhitton@spwhitton.name>
Don't drop existing escape char in eshell
* lisp/eshell/em-term.el (eshell-exec-visual): Don't drop existing
escape char.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-22 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_scroll_bar_note_movement): Fix no-toolkit build.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Mention the new Tetris user option
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-21 Po Lu <luangruo@yahoo.com>
Port x-selection-timeout to PGTK
@@ -46944,7 +49273,7 @@
selection timeout.
(syms_of_pgtkselect): New variable `pgtk-selection-timeout'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-21 Po Lu <luangruo@yahoo.com>
Fix setting user time for mouse movement events
@@ -46956,14 +49285,14 @@
* src/xterm.h (struct x_display_info): New field
`last_mouse_movement_time_send_event'.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-06-21 Sam Steingold <sds@gnu.org>
A trivial optimization and a formatting fix
* lisp/subr.el (internal--compiler-macro-cXXr): Re-use `head' for `n'.
Fix indentation and line length.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-06-21 Tassilo Horn <tsdh@gnu.org>
Merge from origin/emacs-28
@@ -46972,14 +49301,14 @@
3f66e2a903 * lisp/repeat.el (repeat-mode): Fix message format.
137539c125 Clarify autotype.texi text slightly
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix logic in previous Tetris change
* lisp/play/tetris.el (tetris-new-shape): Fix logic in previous
change.
-2023-04-15 Timothee Denizou <timothee.denizou@epita.fr> (tiny change)
+2022-06-21 Timothee Denizou <timothee.denizou@epita.fr> (tiny change)
Allow different randomization of shapes in Tetris
@@ -46991,14 +49320,14 @@
A piece is selected from the bag and removed each time we want a piece
When the bag is empty, refill the bag with the seven piece and shuffle it
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix shr--set-target-ids test for empty buffer
* lisp/net/shr.el (shr--set-target-ids): Fix the check for an
empty buffer (which may be narrowed).
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-06-21 Michael Heerdegen <michael_heerdegen@web.de>
Fix autoload generation of iter-defun forms
@@ -47008,7 +49337,7 @@
Add `iter-defun' and `cl-iter-defun' to the list of "complex cases"
that are macro-expanded and recursed on.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-06-21 Philipp Stephani <phst@google.com>
Document and test 'no-byte-compile' behavior.
@@ -47019,7 +49348,7 @@
* test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el: New test
file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix too-long ediff defface doc strings
@@ -47027,7 +49356,7 @@
(ediff-even-diff-Ancestor):
(ediff-odd-diff-Ancestor): Fix too-long doc strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Check defface doc strings
@@ -47039,7 +49368,7 @@
(byte-compile-file-form-custom-declare-face): Add doc string
checking for defface.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Untabify doc strings before displaying in Customize
@@ -47047,11 +49376,11 @@
doc string since we'll be indenting it when displaying it (which
makes the tabs not align properly).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-06-21 Manuel Giraud <manuel@ledu-giraud.fr>
Two typos captured on OpenBSD/clang
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-21 Po Lu <luangruo@yahoo.com>
Fix recent change to xlwmenu.c
@@ -47062,7 +49391,7 @@
(XlwMenuDestroy):
(pop_up_menu): Record if the keyboard was grabbed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-21 Po Lu <luangruo@yahoo.com>
Rewrite PGTK selection code from scratch
@@ -47101,14 +49430,14 @@
(enum selection_input_event): New struct. New macros for
accessing its fields.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous -batch change for gc-cons-percentage
* src/emacs.c (main): Reset the default for gc-cons-percentage in
interactive Emacs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Increase gc-cons-percentage in -batch Emacs
@@ -47117,7 +49446,7 @@
* src/emacs.c (main): Use a gc-cons-percentage of 1.0 in
noninteractive Emacsen.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-21 Michael Albinus <michael.albinus@gmx.de>
Tramp code cleanup
@@ -47126,7 +49455,7 @@
Improve handling of "process-name" and "process-buffer" connection
properties.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-21 Stefan Kangas <stefan@marxist.se>
Allow shortening filenames in recentf-mode menu
@@ -47136,39 +49465,39 @@
(recentf-menu-filter): Allow setting user option to new value
'recentf-show-abbreviated'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-21 Stefan Kangas <stefan@marxist.se>
* lisp/repeat.el (repeat-mode): Fix message format.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-06-21 kobarity <kobarity@gmail.com>
Fix nested defuns handling in `python-nav-beginning-of-defun'
* lisp/progmodes/python.el (python-nav--beginning-of-defun): Fix
handling of nested defuns (bug#56105).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous describe-key change
* lisp/help.el (describe-function-orig-buffer): Ensure we bind
dynamically.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Make describe-key do doc string command key substitution again
* lisp/help.el (describe-key): Do doc string command key
substitution (bug#56106).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix fontification in describe-key
* lisp/help.el (describe-key): Use insert instead of princ so that
text properties on the key descriptions survive.
-2023-04-15 Kevin Brubeck Unhammer <unhammer@fsfe.org>
+2022-06-21 Kevin Brubeck Unhammer <unhammer@fsfe.org>
Speed up mail-extr in some configurations
@@ -47176,21 +49505,21 @@
(mail-extract-address-components): The buffer is already in
fundamental-mode, so don't re-enable it (bug#56113).
-2023-04-15 Earl Hyatt <okamsn@protonmail.com>
+2022-06-21 Earl Hyatt <okamsn@protonmail.com>
Clarify autotype.texi text slightly
* doc/misc/autotype.texi (Autoinserting): Make text slightly
clearer (bug#56118).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Rename recently-introduced dired-omit-line-regexp user option
* lisp/dired-x.el (dired-omit-lines, dired-omit-mode): Rename
dired-omit-line-regexp to dired-omit-lines for consistency.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-21 Lars Ingebrigtsen <larsi@gnus.org>
Make Lucid menus work from the keyboard also when uninstalled
@@ -47198,7 +49527,7 @@
* src/keyboard.c (syms_of_keyboard): New variable (bug#46990).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-21 Po Lu <luangruo@yahoo.com>
Allow toggling antialiasing inside the Haiku font dialog
@@ -47221,20 +49550,20 @@
FSPEC_ANTIALIAS.
(Fx_select_font): Update accordingly.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-21 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
2eb738f2b8 Support builds configured with a separate --bindir
cf4c204df8 * doc/misc/eww.texi (Overview, Basics): Fix typos.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Add test for bug#56078 fix
* test/lisp/dnd-tests.el (dnd-tests-open-remote-url): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Remove selection requests on the keyboard buffer when closing display
@@ -47246,7 +49575,7 @@
while the clipboard manager was sending an unreasonably high
number of requests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Move selection delayed message to a better location
@@ -47257,18 +49586,18 @@
(x_get_foreign_selection): Add an atimer that displays the
message after a while.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-06-20 Sean Whitton <spwhitton@spwhitton.name>
* lisp/edmacro.el: Add missing (require 'seq).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-06-20 Sean Whitton <spwhitton@spwhitton.name>
term-set-escape-char: Remove old binding from term-raw-escape-map
* lisp/term.el (term-set-escape-char): When replacing the escape char,
remove the binding of the old escape char in term-raw-escape-map.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-06-20 Alan Mackenzie <acm@muc.de>
Fix potential (goto-char nil) in byte-compile-warning-prefix
@@ -47276,7 +49605,7 @@
'or' form involving OFFSET with simply OFFSET. This prevents OFFSET from
possibly being nil in the first branch of the containing `if' form.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-20 Eli Zaretskii <eliz@gnu.org>
Support builds configured with a separate --bindir
@@ -47286,7 +49615,7 @@
This is needed to support builds with a separate --bindir
configure-time option and native-compilation. (Bug#55741)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-20 Lars Ingebrigtsen <larsi@gnus.org>
Issue a message if getting a selection takes a long time
@@ -47294,14 +49623,14 @@
selection takes a long time, issue a message after one second
(bug#46935).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-20 Michael Albinus <michael.albinus@gmx.de>
Adapt url-tramp-tests
* test/lisp/url/url-tramp-tests.el (url-tramp-test-convert-url-to-tramp)
(url-tramp-test-convert-tramp-to-url): Adapt tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Fix x-selection-timeout if some keyboard input arrives while waiting
@@ -47312,26 +49641,26 @@
* src/xselect.c (x_get_foreign_selection): Add more debugging
code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-20 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in hi-lock.el
* lisp/hi-lock.el: Prefer keymap-set in documentation.
(hi-lock-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Fix ns-reg-to-script definition
* src/nsfont.m (syms_of_nsfont): Fix definition.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Fix running temacs on Haiku
* src/emacs.c (main): Run init_haiku_select at the right place.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Fix initialization of Haiku font driver
@@ -47343,7 +49672,7 @@
(syms_of_haikufont_for_pdumper): Register font driver globally.
(syms_of_haikufont): Call it in a pdumper hook.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-20 Michael Albinus <michael.albinus@gmx.de>
Fix problems with Tramp FTP and URL handler mode
@@ -47356,21 +49685,21 @@
* lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
(url-tramp-convert-tramp-to-url): Make them more robust.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-20 Po Lu <luangruo@yahoo.com>
Ignore pinch events from the wrong window
* src/xterm.c (handle_one_xevent): Use x_window_to_frame to find
frames for pinch events.
-2023-04-15 David Ponce <da_vid@orange.fr>
+2022-06-20 David Ponce <da_vid@orange.fr>
Make images found through `find-image' be handled like `create-image'
* lisp/image.el (find-image): Use `create-image' so that we get
auto-scaling of images (bug#40978).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-20 Lars Ingebrigtsen <larsi@gnus.org>
Allow using :width/:height as normal with xbm images
@@ -47381,11 +49710,11 @@
(xbm_image_p): Allow passing in :width/:height for display.
(xbm_load): Use :data-width/:data-height.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-20 Stefan Kangas <stefan@marxist.se>
* doc/misc/eww.texi (Overview, Basics): Fix typos.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-20 Richard Hansen <rhansen@rhansen.org>
whitespace: Redraw if indentation or line length changes
@@ -47399,7 +49728,7 @@
(whitespace--watched-vars): List of variables to watch.
(whitespace-unload-function): Un-watch the variables. (bug#56103).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Respect `:antialias' on Haiku
@@ -47416,32 +49745,32 @@
antialiasing.
(syms_of_haikufont): New defsym `:indices'.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-19 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
* src/treesit.c (make_ts_parser): Initialize timestamp field.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Don't generate superfluous wheel events during drag and drop
* src/xterm.c (handle_one_xevent): Only set user time and don't
create wheel events if DND is in progress.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Fix earlier change in xfaces.c for antialiasing in the mode line
* src/xfaces.c (realize_gui_face): Don't put QCantialias in
empty spec if it doesn't exist in the original.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-06-19 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
xref-goto-xref: Set input focus in addition to selecting window
* lisp/progmodes/xref.el (xref--show-location): Set input focus in
addition to selecting displayed window (Bug#55983).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Allow removing quotes around links in *Help* buffers
@@ -47449,21 +49778,21 @@
* lisp/help-mode.el (help-clean-buttons): New user option
(help-xref-button): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Tweak quoting in help-fns--compiler-macro
* lisp/help-fns.el (help-fns--compiler-macro): Fix quotes in help
text.
-2023-04-15 Pip Cet <pipcet@gmail.com>
+2022-06-19 Pip Cet <pipcet@gmail.com>
Fix bytecompiler infloop compiling infloops
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Don't apply
optimization if we can't change anything (bug#46906).
-2023-04-15 Drew Adams <drew.adams@oracle.com>
+2022-06-19 Drew Adams <drew.adams@oracle.com>
Let `dired-omit-mode' match lines, as well as file names
@@ -47473,7 +49802,7 @@
(bug#46882).
(dired-omit-mode, dired-omit-expunge): Use the new user option.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-19 Stefan Kangas <stefan@marxist.se>
Update font scaling documentation to not talk about "face height"
@@ -47489,7 +49818,7 @@
* doc/emacs/display.texi (Text Scale): Talk about font sized instead
of "face height" (bug#46853).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Allow appending to the kill ring with mouse selections
@@ -47500,35 +49829,35 @@
(mouse-drag-track): Allow appending to kill ring with mouse
selections (bug#32747).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-19 Michael Albinus <michael.albinus@gmx.de>
Fix last change in tramp-adb-handle-make-process
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Fix process buffer management.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-19 Stefan Kangas <stefan@marxist.se>
Fix starting eshell with missing/invalid modules defined
* lisp/eshell/esh-mode.el (eshell-mode): Warn instead of failing to
start when 'eshell-modules-list' has invalid entries. (Bug#54976)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Make describe-repeat-maps fontify key bindings
* lisp/repeat.el (describe-repeat-maps): Fontify key bindings as
key bindings.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-19 Eli Zaretskii <eliz@gnu.org>
Show warnings about aborted redisplay
* src/xdisp.c (redisplay_window_error): Show messages about
aborted redisplay of a window as delayed-warnings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
More conservative fix for bug#37473
@@ -47536,7 +49865,7 @@
since the last change makes C-x C-+ lead to weight weirdness on
my machine.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Make M-S-x output better in mode that have bindings for `undefined'
@@ -47545,21 +49874,21 @@
(execute-extended-command-for-buffer): Make M-S-x output better
(bug#46665).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Recognize \' as a quoted quote in MySQL
* lisp/progmodes/sql.el (sql-mode): Recognize \' as a quoted quote
in MySQL (bug#38302).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Don't handle reverseVideo X resource specially
* lisp/term/x-win.el (window-system-initialization): Don't handle
reverseVideo specially (bug#32921).
-2023-04-15 Sébastien Miquel <sebastien.miquel@posteo.eu>
+2022-06-19 Sébastien Miquel <sebastien.miquel@posteo.eu>
Small fix in font-lock-extend-region-multiline
@@ -47567,14 +49896,14 @@
extend the region if `font-lock-multiline' starts at
`font-lock-end' (bug#46558).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Don't lose antialiasing info when hitting `C-x C-+'
* src/xfaces.c (realize_gui_face): Don't lose antialiasing info
when hitting `C-x C-+' (bug#37473).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Fix setting last user time during drag-and-drop
@@ -47583,7 +49912,7 @@
were other seen with sending selections to a clipboard
immediately afterwards on Irix 6.5.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-19 Stefan Kangas <stefan@marxist.se>
Add rudimentary font-locking to edmacro-mode
@@ -47592,25 +49921,25 @@
(edit-kbd-macro): Use font-lock in 'edmacro-mode'. Minor
improvement to command substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-19 Stefan Kangas <stefan@marxist.se>
* lisp/obsolete/eieio-compat.el: Add missing Obsolete-since line.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-19 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in kmacro.el
* lisp/kmacro.el (kmacro-keymap, kmacro-step-edit-map): Prefer
defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix edebug parsing of .,
* lisp/emacs-lisp/edebug.el (edebug-next-token-class): Parse .,
correctly (bug#37653).
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-06-19 Michael Heerdegen <michael_heerdegen@web.de>
Tune when to show "Quick Help" in Ediff mode-line
@@ -47619,14 +49948,14 @@
`ediff-use-long-help-message' instead of checking
`ediff-window-setup-function' (Bug#12840).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Make checkdoc-defun-info parsing slightly less wrong
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): Disregard
`interactive' in nested parts of the defun (bug#56052).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-19 Eli Zaretskii <eliz@gnu.org>
Update redisplay ticks for more operations, and misc modifications
@@ -47643,7 +49972,7 @@
* src/xdisp.c (syms_of_xdisp) <max_redisplay_ticks>: Update
recommended non-zero values.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-19 Lars Ingebrigtsen <larsi@gnus.org>
Add mechanism for gradually phasing in new byte compilation warnings
@@ -47657,7 +49986,7 @@
(byte-compile-docstring-style-warn): Reinstate the Unicode quote
warning.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Ignore emulated mouse clicks during drag-and-drop
@@ -47665,20 +49994,20 @@
last mouse frame for emulated mouse events during a
drag-and-drop operation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Fix crashes when the _EMACS_DRAG_ATOM is the wrong type
* src/xterm.c (xm_get_drag_atom_1): Don't use PropModeAppend if
rc != Success.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-19 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
422f958030 Fix invalid defcustom :group when :predicate is used
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-19 Po Lu <luangruo@yahoo.com>
Fix XDND from Firefox again
@@ -47687,7 +50016,7 @@
(x-dnd-handle-motif): Send reply if the user quit out of the
drop handler as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-18 Po Lu <luangruo@yahoo.com>
Cache the Motif drag window to avoid fetching it every time
@@ -47700,7 +50029,7 @@
* src/xterm.h (struct x_display_info): New field
`motif_drag_window'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-18 Po Lu <luangruo@yahoo.com>
Fix timestamps recorded in Motif DND top level leave messages
@@ -47709,13 +50038,13 @@
(handle_one_xevent): Use correct time for lmsg.timestamp sent in
response to entering the return-frame.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-18 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in edmacro.el
* lisp/edmacro.el (edmacro-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-18 Stefan Kangas <stefan@marxist.se>
Respect no-face argument in literal key substitutions
@@ -47726,7 +50055,7 @@
from help-tests-substitute-key-bindings/face-help-key-binding.
(help-tests-substitute-key-bindings/help-key-binding-no-face): New test.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-06-18 Basil L. Contovounesios <contovob@tcd.ie>
Fix last tty-select-active-regions change
@@ -47737,7 +50066,7 @@
occurrences of xterm-select-active-regions to
tty-select-active-regions (bug#55883).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-06-18 Alan Mackenzie <acm@muc.de>
CC Mode: Add accurate handling for backslash in C line and block comments
@@ -47754,7 +50083,7 @@
(c-before-font-lock-functions): Add c-after-change-fix-comment-escapes to the
C/Objc and C++ values.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-18 Eli Zaretskii <eliz@gnu.org>
Fix test failures due to 'xterm-select-active-regions'
@@ -47762,7 +50091,7 @@
xterm-select-active-regions and move here from xterm.c.
(display-selections-p): Adjust to the above. (Bug#55883)
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-18 Mattias Engdegård <mattiase@acm.org>
More aggressive bytecode split between top-level forms (bug#55972)
@@ -47772,14 +50101,14 @@
too large. In particular this helps compilation of
package-quickstart.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix checkdoc--fix-y-or-n-p query
* lisp/emacs-lisp/checkdoc.el (checkdoc--fix-y-or-n-p): Fix the
query to match what's done (bug#56053).
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-18 Richard Hansen <rhansen@rhansen.org>
Fix invalid defcustom :group when :predicate is used
@@ -47787,7 +50116,7 @@
invalid `:group' argument for the `-modes' defcustom that is created
when `:predicate' is used (bug#56049).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-18 Lars Ingebrigtsen <larsi@gnus.org>
Filter out NS non-key events from `where-is-internal'
@@ -47800,13 +50129,13 @@
* src/keymap.c (Fwhere_is_internal): Filter out key sequences that
are marked as being non-keys.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-18 Po Lu <luangruo@yahoo.com>
Remove unnecessary clearing of internal border on Haiku
* src/haikuterm.c (haiku_new_font): Don't clear internal border.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-18 Lars Ingebrigtsen <larsi@gnus.org>
Allow pretty-printing results from `C-x C-e' in edebug
@@ -47815,7 +50144,7 @@
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Allow
displaying the full value in a different buffer.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-06-18 Alan Mackenzie <acm@muc.de>
CC Mode: Fix infinite loop in noise macro near end of buffer
@@ -47826,7 +50155,7 @@
* lisp/progmodes/cc-engine.el (c-forward-noise-clause): Check the return
value of c-forward-token-2 and act upon it when not zero.
-2023-04-15 Duncan Findlay <duncf@google.com>
+2022-06-18 Duncan Findlay <duncf@google.com>
Support `select-active-regions' with xterm
@@ -47843,7 +50172,7 @@
* lisp/term/xterm.el (xterm-select-active-regions): New
defcustom.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-18 Eli Zaretskii <eliz@gnu.org>
Update documentation
@@ -47855,14 +50184,14 @@
* etc/NEWS: Announce 'max-redisplay-ticks'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-18 Eli Zaretskii <eliz@gnu.org>
Don't count ticks too eagerly in syntax.c
* src/syntax.c (scan_sexps_forward): Don't increment redisplay
tick count of the loop didn't advance at all.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-18 Eli Zaretskii <eliz@gnu.org>
Allow aborting redisplay stuck in 'parse-partial-sexp'
@@ -47876,7 +50205,7 @@
* src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks'
after finishing the loop.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-18 Mattias Engdegård <mattiase@acm.org>
Avoid "control-control-KEY" (bug#55738)
@@ -47892,7 +50221,7 @@
Use \0 and \r instead of ^@ and \C-m to represent NUL and RET
when combined with other modifiers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-18 Stefan Kangas <stefan@marxist.se>
Prefer URL commentary header in two files
@@ -47900,14 +50229,14 @@
* test/lisp/progmodes/cperl-mode-tests.el: Prefer URL commentary
header.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-18 Stefan Kangas <stefan@marxist.se>
Define docstring element for more forms in scheme-mode
* lisp/progmodes/scheme.el: Define docstring element for more
forms. (Bug#33117)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-18 Po Lu <luangruo@yahoo.com>
Remove unused Haiku code
@@ -47919,20 +50248,20 @@
* src/haikuselect.c (init_haiku_select): New function.
* src/haikuselect.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-18 Po Lu <luangruo@yahoo.com>
Fix type mixup in haikuselect.c
* src/haikuselect.c (haiku_lisp_to_message): Fix variable mixup.
Found with --enable-check-lisp-object-type.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-18 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
024bbcb35e Prune the Gnus FAQ of some outdated data
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-18 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -47941,7 +50270,7 @@
e0bac17bbc Mention face quirks after the final line in the lispref ma...
ad74677cf3 Delete reference to obsolete library complete.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Prevent Lisp code or synthetic events from ruining the user time
@@ -47952,7 +50281,7 @@
(XTmouse_position):
(handle_one_xevent): Pass `send_event' whenever appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Fix specifying named action lists in `x-begin-drag'
@@ -47963,13 +50292,13 @@
(x_dnd_begin_drag_and_drop): Bind it if there are multiple
actions.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-17 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Fix double-free in treesit.c
* src/treesit.c (Ftreesit_query_capture): Remove free at the end.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Extend 'e' in edebug to pretty-print the values
@@ -47978,14 +50307,14 @@
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Allow
displaying the full value in a different buffer.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Prune the Gnus FAQ of some outdated data
* doc/misc/gnus-faq.texi (FAQ 9-2): Remove some outdated advice
(bug#56042).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Delete another library obsolete since 24.1
@@ -47994,28 +50323,28 @@
* lisp/obsolete/pc-mode.el: Delete file. This library has been
obsolete since Emacs 24.1. (Bug#50999)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Add hacek variations to `C-x 8'
* lisp/international/iso-transl.el (iso-transl-char-map): Add
hacek characters on `C-x 8 ^ ^'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
image-dired: Use full name for bookmark handler type
* lisp/image-dired.el (image-dired-bookmark-jump): Use full mode name
for bookmark handler type.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Set bookmark handler type for Eshell
* lisp/eshell/esh-mode.el (eshell-bookmark-jump): Set bookmark handler
type.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Update bookmark tests for recent change
@@ -48025,20 +50354,20 @@
(bookmark-test-bmenu-send-edited-annotation/restore-focus): Update for
recent change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix copy-from-above-command doc string type
* lisp/misc.el (copy-from-above-command): Fix doc string typo.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Add new command `duplicate-line'
* lisp/misc.el (copy-from-above-command): Mention it.
(duplicate-line): New command (bug#46621).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-17 Mattias Engdegård <mattiase@acm.org>
Slightly faster hash-table-keys and hash-table-values
@@ -48047,18 +50376,18 @@
* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x--hash-table-keys-and-values): New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Don't quote numbers in byte-run--set-*
* lisp/emacs-lisp/byte-run.el (byte-run--set-doc-string)
(byte-run--set-indent): Don't quote numbers (bug#48145).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-17 Michael Albinus <michael.albinus@gmx.de>
Fix handling of "process-*" properties in Tramp
@@ -48073,7 +50402,7 @@
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process): Use it. (Bug#55832)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix some declare-after-interactive functions
@@ -48085,11 +50414,11 @@
* lisp/ldefs-boot.el (view-return-to-alist-update): Fix warnings
about declare after interactive.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Don't quote the `when' form in obsoletions
@@ -48098,7 +50427,7 @@
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--print-form):
Adjust folding.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-17 Mattias Engdegård <mattiase@acm.org>
Warn about misplaced or duplicated function/macro declarations
@@ -48114,7 +50443,7 @@
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-fun-attr-warn):
New test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-17 Eli Zaretskii <eliz@gnu.org>
Handle too long syntactic fontifications
@@ -48126,25 +50455,25 @@
was aborted due to slowness. This avoids assertion violations in
'scrolling_window' due to the wrong hash value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix efaq-w32.texi build warning
* doc/misc/efaq-w32.texi (Other useful ports): Fix ordering to
match nodes (or should the nodes be moved instead?).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Update cl-struct-sequence-type doc string
* lisp/emacs-lisp/cl-macs.el (cl-struct-sequence-type): Fix doc
string to reflect what it does (bug#46523).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Fix some command substitutions
@@ -48153,7 +50482,7 @@
(reftex-index-phrase-selection-or-word):
* lisp/textmodes/remember.el (remember): Fix command substitutions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Rename command to bookmark-edit-annotation-confirm
@@ -48162,7 +50491,7 @@
'bookmark-edit-annotation-cancel'. Make the old name into an
obsolete function alias.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Improve help-enable-variable-value-editing help
@@ -48170,7 +50499,7 @@
docstring to better explain what effect it has.
(help-fns-edit-variable): Use command substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Fix command substitution in emacsbug.el
@@ -48178,14 +50507,14 @@
(submit-emacs-patch, report-emacs-bug): Fix command substitution.
Prefer keymap-set to define-key.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Allow editing all symbols in help-fns--editable-variable
* lisp/help-fns.el (help-fns--editable-variable): Allow editing
all symbols (bug#56038).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Improve time parsing documentation
@@ -48193,18 +50522,18 @@
take/return timestamps and which ones take decoded time structures.
* src/timefns.c (Fdecode_time): Clarify TIME argument (bug#46505).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Make uce.el obsolete (bug#46472)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix wdired marking of unsuccessfully renamed files
* lisp/wdired.el (wdired-finish-edit): Don't mark non-renamed
files as renamed (bug#46438).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-06-17 Dmitry Gutov <dgutov@yandex.ru>
buffer-match-p: Resolve backward compat concerns
@@ -48218,28 +50547,28 @@
(project--buffer-check): Revert the latest change.
(project--buffer-check): Add support for lambda predicates.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix a tagging problem in tramp.texi
* doc/misc/tramp.texi (Frequently Asked Questions): Restore an
@end lisp removed by accident.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Reduce code duplication when setting user time window
* src/xterm.c (x_make_frame_visible): Use
`x_update_frame_user_time_window'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Mention face quirks after the final line in the lispref manual
* doc/lispref/display.texi (Face Attributes): Mention the quirks
about point after the final line (bug#56011).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
Speed up shr-string-pixel-width
@@ -48248,7 +50577,7 @@
* lisp/net/shr.el (shr-string-pixel-width): Use
`string-pixel-width', which should be faster.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Cancel editing bookmark annotations with C-c C-k
@@ -48260,7 +50589,7 @@
(bookmark-edit-annotation--maybe-display-list): New macro.
(bookmark-send-edited-annotation): Use above new macro.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Use command substitution in bookmark-edit-annotation
@@ -48269,11 +50598,11 @@
(bookmark-edit-annotation): Enter mode before inserting annotation
to get the correct command substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
* lisp/edmacro.el (edit-kbd-macro): Use command substitution.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Delete most libraries obsolete since 24.1 and 24.3
@@ -48296,25 +50625,25 @@
* lisp/textmodes/rst.el: Remove references to above obsolete
libraries.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Clarify doc of `x-display-set-last-user-time'
* src/xfns.c (Fx_display_last_user_time): Explain in more detail
the meaning of TERMINAL.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Delete reference to obsolete library complete.el
* doc/misc/tramp.texi (Frequently Asked Questions): Delete reference
to obsolete library complete.el.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-17 Mattias Engdegård <mattiase@acm.org>
* src/fns.c (Fmapconcat): Better empty-string-or-nil detection.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Fix misplaced interactive spec
@@ -48326,7 +50655,7 @@
misplaced interactive spec.
(cedet-files-utest-list): Minor doc fix; improve formatting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Improve compatibility when receiving drops from early XDND programs
@@ -48335,21 +50664,21 @@
XdndFinished events. If less than 2, always use `copy' as
the selected action.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Fix computation of screen width and height on Haiku
* src/haiku_support.cc (be_get_screen_dimensions): Use correct
macros to extract width and height.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-17 Po Lu <luangruo@yahoo.com>
Fix instances of not using a usable Motif drag atom
* src/xterm.c (xm_get_drag_atom_1): If another frame owns an
atom, use it anyway.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-17 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -48357,7 +50686,7 @@
5ddd0f1a35 * lisp/net/tramp.el (tramp-methods): Fix quoting in docstr...
b0c5accb99 Update MS Windows FAQ for MinGW64-w64/MSYS2
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Improve window manager user time reporting mode switching
@@ -48370,7 +50699,7 @@
* src/xterm.h (struct x_display_info): Remove
`last_user_check_time'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Update last event time during DND operations
@@ -48382,7 +50711,7 @@
* src/xterm.c (x_set_last_user_time_from_lisp): New function.
* src/xterm.h: Update prototypes.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-16 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Change treesit-parser-list from variable to function
@@ -48407,21 +50736,21 @@
* test/src/treesit-tests.el (treesit-basic-parsing): Use the new
function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-16 Stefan Kangas <stefan@marxist.se>
* lisp/textmodes/artist.el: Minor doc fixes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
* src/fns.c (Fmapconcat): Optimize the case where separator==""
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-16 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Add treesit test for previous change
* test/src/treesit-tests.el (treesit-cross-boundary): New test.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-16 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Consolidate treesit parser create functions
@@ -48439,7 +50768,7 @@
(treesit-font-lock-fontify-region, treesit-search-forward)
(treesit-query-validate): Change to use treesit-parser-create.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-16 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Fix treesit function ts_record_change and friends
@@ -48479,14 +50808,14 @@
(Ftreesit_parser_set_included_ranges): Ensure parsed before setting ranges.
(Ftreesit_parser_included_ranges): Add assertion.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-16 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp test
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
Remove superfluous checks.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-16 Eli Zaretskii <eliz@gnu.org>
Fix disruption of windows' display by shr.el
@@ -48500,18 +50829,18 @@
resetting hscroll of windows we use temporarily for shr's
rendering job. (Bug#56008)
-2023-04-15 Michael Heerdegen <michael_heerdegen@web.de>
+2022-06-16 Michael Heerdegen <michael_heerdegen@web.de>
Allow number register insertion in Calc (Bug#55943)
* lisp/calc/calc-yank.el (calc-get-register): Convert number values to
strings.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-16 Mattias Engdegård <mattiase@acm.org>
* src/fns.c (mapcar1): Test types in rough order of likelyhood.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-16 Mattias Engdegård <mattiase@acm.org>
Use BASE_EQ instead of EQ where obviously safe
@@ -48561,14 +50890,14 @@
can be a symbol with properties or at least one argument is a
non-symbol.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-16 Lars Ingebrigtsen <larsi@gnus.org>
Make package-recompile delete all .elc files first
* lisp/emacs-lisp/package.el (package-recompile): Delete all .elc
files under the package directory.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new package.el commands for recompilation
@@ -48577,11 +50906,11 @@
* lisp/emacs-lisp/package.el (package-recompile):
(package-recompile-all): New commands (bug#27253).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-16 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp.el (tramp-methods): Fix quoting in docstring.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-16 Eli Zaretskii <eliz@gnu.org>
Speed up Org to Texinfo generation
@@ -48589,7 +50918,7 @@
threshold, to speed up .org=.texi conversion. Patch by Ihor
Radchenko <yantar92@gmail.com>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-16 Stefan Kangas <stefan@marxist.se>
Make artist-version variable obsolete
@@ -48597,14 +50926,14 @@
not been updated in nearly two decades; use the Emacs version instead.
(artist-submit-bug-report): Don't use above obsolete variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-16 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap for artist-mode-map
* lisp/textmodes/artist.el (artist-mode-map): Prefer
defvar-keymap.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-cite-list-citations: Cache footnote-definition searches
@@ -48613,14 +50942,14 @@
label search hits. Do not make `org-element-map' accumulate unused
result.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-element-map: Avoid repetitive `plist-get' call
* lisp/org/org-element.el (org-element-map): Do not call `(plist-get info
:ignore-list)' on every iteration.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-export-data: Concatenate strings in temporary buffer for performance
@@ -48628,7 +50957,7 @@
data instead of `mapconcat'. Using buffer puts less load on garbage
collector.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-export-as: Do not update buffer settings when not modified
@@ -48638,21 +50967,21 @@
Also, disable folding checks. Folding is irrelevant inside export
buffer.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-export-resolve-id-link: Pre-cache all the ids in the parse tree
* lisp/org/ox.el (org-export-resolve-id-link): Pre-cache all the ids in
the parse tree for faster lookup.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Fix Motif drag-and-drop timestamps
* lisp/x-dnd.el (x-dnd-handle-motif): Pass timestamp when
retrieving DND selection value. Bug found on Solaris 2.6.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-export-resolve-fuzyy-link: Pre-cache all possible search cells
@@ -48661,7 +50990,7 @@
When matching, use the pre-processed info. Fix the :test function for
the cache hash table.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2022-06-16 Ihor Radchenko <yantar92@gmail.com>
org-export-get-footnote-definition: Pre-cache references in parse tree
@@ -48669,21 +50998,21 @@
tree once to filter out all non-footnote elements. This speeds up
subsequent footnote definition searches.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-06-16 Robert Pluim <rpluim@gmail.com>
Fix check for window system with toolkit scrollbars
* configure.ac (USE_TOOLKIT_SCROLL_BARS): Add missing 'test' to
condition. (Bug#55970)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Fix byte-swapping of Motif DND tables
* src/xterm.c (xm_read_targets_table_rec): Swap nitems first
before checking the length.
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-06-16 Arash Esbati <arash@gnu.org>
Update MS Windows FAQ for MinGW64-w64/MSYS2
@@ -48698,7 +51027,7 @@
Fix link for MinGW homepage.
Remove entry for defunct UWIN project. (Bug#55930)
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-16 Richard Hansen <rhansen@rhansen.org>
bindat (strz): Write null terminator after variable length string
@@ -48709,13 +51038,13 @@
* test/lisp/emacs-lisp/bindat-tests.el (bindat-test--str-strz-prealloc):
Update tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Fix defcustom in last change
* lisp/x-dnd.el (x-dnd-use-offix-drop): Fix defcustom.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Improve handling of fallback drop protocols
@@ -48727,7 +51056,7 @@
(x-dnd-offix-id-to-name): Fix typo in doc string.
(x-dnd-handle-unsupported-drop): Implement new value.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Fix Motif DND after atom ownership is lost due to frame destruction
@@ -48736,14 +51065,14 @@
* src/xterm.h (struct x_display_info): New field
`motif_drag_atom_owner'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
4d7a936ac2 ; * src/fileio.c (Fset_file_modes): Improve previous change
32cff740e2 Describe 'set-file-modes' argument prompting
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-16 Po Lu <luangruo@yahoo.com>
Improve drag atom computation
@@ -48760,7 +51089,7 @@
* src/xterm.h (struct x_display_info): New field
`motif_drag_atom_time'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-16 Paul Eggert <eggert@cs.ucla.edu>
Streamline time decoding and conversion
@@ -48768,7 +51097,7 @@
* src/timefns.c (tzlookup, Fdecode_time): Use them.
(Ftime_convert): Convert to symbol once, instead of many times.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-16 Paul Eggert <eggert@cs.ucla.edu>
Don’t test time functions for NaNs, INF
@@ -48777,7 +51106,7 @@
Don’t test time functions with infinities and NaNs,
which are not Lisp time values.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-16 Paul Eggert <eggert@cs.ucla.edu>
Prefer BASE_EQ in time-sensitive ops
@@ -48786,7 +51115,7 @@
(time_arith, time_cmp, Fdecode_time, Fencode_time)
(Ftime_convert): Prefer BASE_EQ to EQ where either will do.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-16 Paul Eggert <eggert@cs.ucla.edu>
icalendar-tests no longer assumes TZ = wall
@@ -48800,7 +51129,7 @@
function, you typically want something else†for a reason.
Instead, pass the zone arg to icalendar-test--format.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-15 Po Lu <luangruo@yahoo.com>
Handle OffiX drop of multiple files
@@ -48809,7 +51138,7 @@
(x-dnd-handle-offix-files): New function.
(x-dnd-convert-to-offix): Fix conversion to DndTypeFiles.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-15 Po Lu <luangruo@yahoo.com>
Comply with the Motif requirement for unique drag atoms
@@ -48829,29 +51158,29 @@
* src/xterm.h (struct x_display_info): New fields for new atoms
and their names.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-06-15 Sean Whitton <spwhitton@spwhitton.name>
* .dir-locals.el: Set emacs-lisp-docstring-fill-column.
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
* src/treesit.c (ts_check_range_argument): Check for point-min/max.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-15 Lars Ingebrigtsen <larsi@gnus.org>
Adjust ibuffer test
* test/lisp/ibuffer-tests.el (ibuffer-format-qualifier): Adjust
test after recent formatting changes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-15 Lars Ingebrigtsen <larsi@gnus.org>
Allow completing tags, parameters and values in html-mode
* lisp/textmodes/sgml-mode.el (html-mode--complete-at-point):
Allow completing tags, parameters and values (bug#29057).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-06-15 Manuel Giraud <manuel@ledu-giraud.fr>
Do not display 'nil for 0-ary filter qualifier in ibuf
@@ -48859,7 +51188,7 @@
nil in header for 0-ary filter qualifier.
* lisp/ibuf-macs.el (define-ibuffer-filter): Also fix the message.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-15 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in ibuffer.el
@@ -48869,7 +51198,7 @@
(ibuffer-mode-header-map, ibuffer-mode-filter-group-map): Prefer
defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-15 Po Lu <luangruo@yahoo.com>
Implement using the OffiX protocol for dropping
@@ -48882,14 +51211,14 @@
* src/xterm.c: Update commentary.
(x_term_init): Extend number of DND atoms allocated by default.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-06-15 Robert Pluim <rpluim@gmail.com>
Describe 'set-file-modes' argument prompting
* src/fileio.c (Fset_file_modes): Document that FILENAME is prompted
for. (Bug#55984)
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-06-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
whitespace.el: New whitespace style `lines-char'
@@ -48905,7 +51234,7 @@
highlights only the first character over the whitespace-line-column
limit (bug#55980).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-15 Po Lu <luangruo@yahoo.com>
Handle receiving new OffiX protocol during drag-and-drop
@@ -48917,14 +51246,14 @@
(x-dnd-offix-id-to-name): New list.
(x-dnd-handle-offix-file, x-dnd-handle-offix): New functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix ;;;###autoload scanning from (some) packages
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file):
Fix autoloads scanning from packages.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-15 Michael Albinus <michael.albinus@gmx.de>
Fix file name quoting in tramp-smb.el
@@ -48944,7 +51273,7 @@
(tramp-smb-get-stat-capability): Use it.
(tramp-smb-get-localname): Remove superfluous test. (Bug#55855)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-15 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp debugging
@@ -48952,21 +51281,21 @@
* lisp/net/tramp.el (tramp-backtrace): New optional arg FORCE.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-15 Juri Linkov <juri@linkov.net>
Update args of isearch-search-fun-in-text-property (bug#14013)
* lisp/isearch.el (isearch-search-fun-in-text-property): Swap signature args.
* lisp/dired-aux.el (dired-isearch-search-filenames): Update the call.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-15 Visuwesh <visuweshm@gmail.com>
repeat-mode: Don't echo unset keys in help message
* repeat.el (repeat-echo-message-string): Check if the key is set.
(bug#55977)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-15 Po Lu <luangruo@yahoo.com>
Handle coordinates for the old KDE drop protocol
@@ -48974,13 +51303,13 @@
(x_coords_from_dnd_message): Handle the old KDE protocol.
* src/xterm.h (struct x_display_info): New atoms.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
850050ca5c Revert "Clarify what a Calc registeri in in calc-insert-re...
-2023-04-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
+2022-06-15 Yuan Fu <yuan@debian-BULLSEYE-live-builder-AMD64>
Fix compile warnings and errors in treesit.c
@@ -48988,7 +51317,7 @@
(Ftreesit_parser_set_included_ranges): Fix.
(Ftreesit_query_compile): Fix.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-14 Po Lu <luangruo@yahoo.com>
Fix link action handling with Motif DND
@@ -48997,7 +51326,7 @@
(XM_DRAG_OPERATION_IS_LINK): New macro.
(handle_one_xevent): Use it instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-14 Po Lu <luangruo@yahoo.com>
Handle coordinates from XM_DRAG_REASON_DRAG_MOTION replies
@@ -49005,13 +51334,13 @@
(xm_read_drag_motion_reply): New function.
(x_coords_from_dnd_message): Handle those messages as well.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Merge remote-tracking branch 'savannah/master' into feature/tree-sitter
Merge branch 'feature/tree-sitter-depth-control' into feature/tree-sitter
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Add manual for treesit-traverse-forward and friends
@@ -49020,7 +51349,7 @@
treesit-traverse-forward.
* lisp/treesit.el (treesit-traverse-forward): Fix docstring.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Change treesit-check-query and mention it in documentation
@@ -49030,27 +51359,27 @@
* src/treesit.c (Ftreesit_query_capture, Ftreesit_query_compile):
Mention it.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Add treesit-query-compile to manual
* doc/lispref/parsing.texi: Add treesit-query-compile.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Add test for treesit-query-compile
* test/src/treesit-tests.el (treesit-query-api): Rename pattern to
query, and add treesit-query-compile into the mix.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-06-14 Sean Whitton <spwhitton@spwhitton.name>
Add abbrev tables for minibuffer-mode and minibuffer-inactive-mode
* lisp/minibuffer.el (minibuffer-mode, minibuffer-inactive-mode): Add
an abbrev table for each of these modes (bug#55946).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-14 Eli Zaretskii <eliz@gnu.org>
Support callers which sometimes run unrelated to display code
@@ -49058,7 +51387,7 @@
with w == NULL if we are called outside of display engine code,
and don't update the tick count in that case.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Support compiled queries in treesit-query-capture
@@ -49074,11 +51403,11 @@
the query object conditonally.
(syms_of_treesit): New symbol.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
* src/treesit.c (Ftreesit_query_p): New function.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-14 Yuan Fu <casouri@gmail.com>
Add new type treesit-compiled-query
@@ -49096,7 +51425,7 @@
New macros.
* src/print.c (print_vectorlike): Add printing for the new type.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-14 Mattias Engdegård <mattiase@acm.org>
Simplify byte-compiler assuming cconv normalisations
@@ -49106,7 +51435,7 @@
Simplify source optimisation and codegen code that can now rely on
normalised let/let* and unwind-protect forms.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-14 Mattias Engdegård <mattiase@acm.org>
Run cconv for dynbound code as well
@@ -49120,7 +51449,7 @@
(cconv-analyze-form): In dynbound code, treat all variable bindings
as dynamic (lambda, let, let* and condition-case).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-14 Mattias Engdegård <mattiase@acm.org>
Normalise setq during macro-expansion
@@ -49140,18 +51469,18 @@
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-odd.el:
New files.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-14 Eli Zaretskii <eliz@gnu.org>
Handle W = NULL in 'update_redisplay_ticks'
* src/xdisp.c (update_redisplay_ticks): If W == NULL, assume we
are iterating the current buffer.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-14 Juri Linkov <juri@linkov.net>
* lisp/replace.el (read-regexp): Use minibuffer-message in the minibuffer.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-14 Eli Zaretskii <eliz@gnu.org>
Restart tick counting every command
@@ -49162,7 +51491,7 @@
'windows_or_buffers_changed' to avoid trusting stale window data
like w->window_end_valid.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-06-14 Robert Pluim <rpluim@gmail.com>
Add more characters with macron in C-x 8 map and latin input methods
@@ -49175,14 +51504,14 @@
(Bug#55668)
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2022-06-14 Stephen Berman <stephen.berman@gmx.net>
Fix errors when aligning text in find-dired
* lisp/find-dired.el (find-dired-filter): Don't error out while
trying to align the text (by just removing that code) (bug#46218).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Make flymake-proc--delete-temp-directory slightly safer
@@ -49190,7 +51519,7 @@
(flymake-proc--delete-temp-directory): Temp dir name may be
abbreviatated, so expand it first (bug#46203).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix .dir-local.el caching for symlinks
@@ -49198,21 +51527,21 @@
of the actual file, not the time stamp of the symlink (if
.dir-locals.el is a symlink) (bug#46122).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Leave the contents on the *Backtrace* buffer on `q'
* lisp/emacs-lisp/debug.el (debug): Don't clear the contents of
the buffer on `q' (bug#55863).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix gud parsing of empty jdb classpaths
* lisp/progmodes/gud.el (gud-jdb-marker-filter): Parse empty
classpaths (like classpath: []) correctly (bug#55957).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-06-14 Daniel Martín <mardani29@yahoo.es>
Bind Cmd-t to menu-set-font on macOS
@@ -49222,14 +51551,14 @@
bind it to menu-set-font, which is also called by Options, Set Default
Font (bug#55967).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Allow using alists in ido completion and hitting TAB
* lisp/ido.el (ido-completion-help): Allow using an alist
COMPLETIONS (bug#46091).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Clarify what a Calc registeri in in calc-insert-register"
@@ -49237,14 +51566,14 @@
This has been fixed in Emacs 29 by making it possible to use regular registers in calc.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
Mention how to only get syntactic font locking in the manual
* doc/lispref/modes.texi (Syntactic Font Lock): Note how to only
get syntactic font locking (bug#46039).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-14 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp problem with non-essential
@@ -49254,28 +51583,28 @@
(tramp-get-home-directory, tramp-get-remote-uid)
(tramp-get-remote-gid): VEC can also be nil.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-14 Po Lu <luangruo@yahoo.com>
Fix mishandling of dnd-scroll-margin with scroll bar motion
* lisp/dnd.el (dnd-handle-movement): Ignore posns inside scroll
bars for now.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-14 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (minibuffer-complete-history): New command.
(minibuffer-complete-defaults): New command.
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00498.html
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-14 Juri Linkov <juri@linkov.net>
* lisp/simple.el (completion-auto-wrap): Rename from completion-wrap-movement.
(next-completion): Use completion-auto-wrap.
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00139.html
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-14 Po Lu <luangruo@yahoo.com>
Fix out of date parts in NS doc and keyboard bindings
@@ -49284,7 +51613,7 @@
concept index and document `ns-show-prefs'. (bug#55940)
* lisp/term/ns-win.el (global-map): Remove ns-popup-font-panel.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-14 Po Lu <luangruo@yahoo.com>
Handle coordinates of Motif drop start messages
@@ -49293,20 +51622,20 @@
correct.
(x_coords_from_dnd_message): Read drop start messages as well.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
73400e4002 Clarify what a Calc registeri in in calc-insert-register
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-13 Po Lu <luangruo@yahoo.com>
Handle coordinate extraction for more event types
* src/xterm.c (xm_read_drag_motion_message): New function.
(x_coords_from_dnd_message): Handle XM_DRAG_REASON_DRAG_MOTION.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-13 Po Lu <luangruo@yahoo.com>
Use coordinates provided by DND messages if available
@@ -49320,28 +51649,28 @@
x_handle_dnd_message.
* src/xterm.h: Update prototypes.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-06-13 Dmitry Gutov <dgutov@yandex.ru>
project--git-submodules: Parse more strictly
* lisp/progmodes/project.el (project--git-submodules):
Don't mistake 'load-path' for 'path' (bug#55396).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-13 Paul Eggert <eggert@cs.ucla.edu>
Default decoded-time dst slot to -1
* lisp/simple.el (decoded-time): Default dst slot to -1.
Improve related doc strings.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-13 Yuan Fu <casouri@gmail.com>
Use the up-only parameter in treesit navigation functions
* lisp/treesit.el(treesit-inspect-node-at-point,
treesit-end-of-defun): Set up-only to t.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-13 Yuan Fu <casouri@gmail.com>
Add depth control for treesit traverse functions
@@ -49350,7 +51679,7 @@
(treesit-search-forward, treesit-search-beginning,
treesit-search-end): Add up-only parameter.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-13 Yuan Fu <casouri@gmail.com>
Fix treesit-search-forward
@@ -49379,7 +51708,7 @@
* lisp/treesit.el (treesit-search-forward): Move the check.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-13 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12.1.1 -Wanalyzer-use-of-uninitialized-value
@@ -49387,14 +51716,14 @@
Although I’m not sure this is needed, it doesn’t change
behavior (except possibly to make undefined behavior defined).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-06-13 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12.1.1 in default developer build
* src/pdumper.c (pdumper_load): Use explicit memset to work around
GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105961>.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-13 Juri Linkov <juri@linkov.net>
* lisp/progmodes/grep.el (grep-read-files): Combine files with aliases.
@@ -49402,35 +51731,35 @@
read-file-name-internal with a list of defaults from grep-files-aliases
(bug#55800).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Mention \`M-x ...' in the lispref manual
* doc/lispref/help.texi (Keys in Documentation): Note \`M-x ...'
syntax.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Clarify what a Calc registeri in in calc-insert-register
* lisp/calc/calc-yank.el (calc-insert-register): Note that these
aren't normal registers (bug#55943).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow saying \\=`M-x ...' in a doc string
* lisp/help.el (substitute-command-keys): Allow saying \\=`M-x
foo' in doc strings (and have it be fontified as a key binding).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Massage In-Reply-To data in message-mail
* lisp/gnus/message.el (message-mail): Fix up Message-IDs from
Firefox (bug#55926).
-2023-04-15 Lassi Kortela <lassi@lassi.io> (tiny change)
+2022-06-13 Lassi Kortela <lassi@lassi.io> (tiny change)
Match complete words in dns-mode
@@ -49438,7 +51767,7 @@
complete words like SOA and not all words that contain the string
SOA (bug#55944).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow `query-replace' to do exact replacement of the current item
@@ -49449,14 +51778,14 @@
(perform-replace): Allow editing a replacement with exact case
(bug#8504).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Add to mode cedilla characters to iso-transl-char-map
* lisp/international/iso-transl.el (iso-transl-char-map): Add some
more cedilla characters.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-06-13 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Meetei Mayek script
@@ -49469,7 +51798,7 @@
* etc/HELLO: Add a Meetei Mayek greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Make the ediff control panel mode line prettier
@@ -49478,14 +51807,14 @@
(ediff-make-wide-control-buffer-id): Make the informative part of
the mode line bold. (Code from Michael Heerdegen.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow rgrep users to indicate case folding easier
* lisp/progmodes/grep.el (rgrep): Allow the user to toggle case
sensitivity interactively (bug#16913).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Add a `M-c' command to `read-regexp'
@@ -49494,7 +51823,7 @@
* lisp/replace.el (read-regexp): Add a `M-c' command to indicate
case folding (bug#16913).
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-13 Richard Hansen <rhansen@rhansen.org>
bindat (strz): Error on null byte if packing variable-length string
@@ -49502,11 +51831,11 @@
encountered while packing a string to a variable-length strz field.
* test/lisp/emacs-lisp/bindat-tests.el (strz): Add tests (bug#55938).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
* files.el (auto-mode-alist): Add entry to `.eld` files
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
Make `/ a' in *Package* filter by name
@@ -49514,14 +51843,14 @@
Filter by package name instead of by regexp, so that if the user
types "gnu", they won't get "nongnu", too (bug#55919).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-13 Visuwesh <visuweshm@gmail.com>
* lisp/find-dired.el (find-dired): Make directory clickable.
* lisp/find-dired.el (find-dired): Make the directory line
clickable (bug#55906).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-13 Po Lu <luangruo@yahoo.com>
Respect test function when performing local drag-and-drop
@@ -49539,13 +51868,13 @@
(syms_of_xterm): New defvar `x-dnd-native-test-function'.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
d6f080d3de ; * doc/man/etags.1: Bump man page date.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-13 Po Lu <luangruo@yahoo.com>
Improve DND tooltip updating
@@ -49554,7 +51883,7 @@
(x_monitors_changed_cb, handle_one_xevent): Only update if a
change in monitor configuration really happened.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-12 Po Lu <luangruo@yahoo.com>
Keep tooltip position in sync with monitor changes
@@ -49562,7 +51891,7 @@
(x_monitors_changed_cb):
(handle_one_xevent): Call that function on monitor change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-12 Po Lu <luangruo@yahoo.com>
Fix special DND event coordinates
@@ -49573,32 +51902,32 @@
(handle_one_xevent): Fix order of arguments to
x_dnd_note_self_drop.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-12 Juri Linkov <juri@linkov.net>
* lisp/icomplete.el: Consider a list in minibuffer-default (bug#55800)
* lisp/icomplete.el (icomplete--sorted-completions): Handle a string value
in the first element of the list of default values in minibuffer-default.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-12 Eli Zaretskii <eliz@gnu.org>
Change the API of 'update_redisplay_ticks'
* src/xdisp.c (update_redisplay_ticks): Change the 2nd argument
to be 'struct window'; all callers changed.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-12 Juri Linkov <juri@linkov.net>
* lisp/isearch.el (isearch-search-fun-in-text-property): Handle ^/$ specially.
When the regexp contains ^ or $ then use a temporary buffer to find matches
at the beginning/end of the region with the given text property (bug#14013).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-12 Eli Zaretskii <eliz@gnu.org>
Fix a typo in a doc string.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-12 Eli Zaretskii <eliz@gnu.org>
Initial implementation of "abort-redisplay" feature
@@ -49611,7 +51940,7 @@
void-variable error, and it gets in the way of aborting
redisplay via 'redisplay_window_error'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-12 Po Lu <luangruo@yahoo.com>
Fix encoding of multibyte ToolTalk filenames
@@ -49621,7 +51950,7 @@
* test/lisp/dnd-tests.el (dnd-tests-begin-file-drag): Add test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-12 Po Lu <luangruo@yahoo.com>
Fix handling of scroll bar clicks on Haiku
@@ -49642,7 +51971,7 @@
(haiku_read_socket): Handle button events on scroll bars as
scroll bar click events.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-12 Mattias Engdegård <mattiase@acm.org>
Use BASE_EQ when comparing with Qunbound
@@ -49693,14 +52022,14 @@
* src/xterm.c (x_draw_glyph_string, x_term_init):
Use BASE_EQ instead of EQ when comparing with Qunbound.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-12 Lars Ingebrigtsen <larsi@gnus.org>
Make find-sibling-file-search non-private
* lisp/files.el (find-sibling-file-search): Rename to be non-private.
(find-sibling-file): Adjust call.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-12 Yuan Fu <casouri@gmail.com>
Update docstring of eglot-events-buffer-size
@@ -49710,7 +52039,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/974
GitHub-reference: close https://github.com/joaotavora/eglot/issues/776
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-12 Eli Zaretskii <eliz@gnu.org>
Fix "C-x C-d" with wildcard arguments
@@ -49718,7 +52047,7 @@
set to a valid value if the argument DIRNAME included wildcards.
(Bug#55877)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-12 Po Lu <luangruo@yahoo.com>
Fix phantom drag-and-drop targets showing up in some programs
@@ -49728,7 +52057,7 @@
think its presence on the drag source means there are more than
3 targets.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-12 Richard Hansen <rhansen@rhansen.org>
bindat (str, strz): Reject non-ASCII, non-`eight-bit' characters
@@ -49738,29 +52067,29 @@
* doc/lispref/processes.texi (Bindat Types): Update documentation.
* test/lisp/emacs-lisp/bindat-tests.el (str) (strz): Add tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-12 Po Lu <luangruo@yahoo.com>
Don't repetitively initialize type lists during DND
* src/xterm.c (x_dnd_send_enter): Only set XdndTypeList once.
(x_dnd_begin_drag_and_drop): Clear type list flag.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-12 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
cbd2c87a5d ; Fix last change in whitespace.el.
52ad2b53cb Fix doc strings in whitespace.el
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/find-func.el (find-function-advised-original): Simplify
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-11 Yuan Fu <casouri@gmail.com>
* configure.ac (HAVE_TREE_SITTER): Not set TREE_SITTER_LIBS.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-06-11 Yuan Fu <casouri@gmail.com>
Rename treesit-traverse-forward-depth-first
@@ -49769,18 +52098,18 @@
(treesit-traverse-forward, treesit-search-forward): Use
the new name.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
Use cached monitor info during DND if available
* src/xterm.c (x_dnd_begin_drag_and_drop): Use previously cached
monitor attributes if they exist.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
* src/nsfns.m (ns_move_tooltip_to_mouse_location): Handle invisible frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
Don't rely on XdndAware on frames for dropping to work
@@ -49795,11 +52124,11 @@
(handle_one_xevent): Handle our own frames using those functions
instead.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-11 Mattias Engdegård <mattiase@acm.org>
* src/fns.c (internal_equal): Use BASE_EQ where possible.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-06-11 Basil L. Contovounesios <contovob@tcd.ie>
Recognize processes as a CL type again
@@ -49809,21 +52138,21 @@
* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Include process
as a type, to avoid cl-typep complaining about process objects.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-11 Lars Ingebrigtsen <larsi@gnus.org>
Make new fileio test more reliable
* test/src/fileio-tests.el: Use a unibyte buffer to avoid length
confusion.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-11 Lars Ingebrigtsen <larsi@gnus.org>
Bump sh-imenu-generic-expression defcustom version
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Bump
the :version since we changed the value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix loaddefs installation of packages with no autoloads
@@ -49831,7 +52160,7 @@
generate an output file if we have EXTRA-DATA. This fixes package
installation of packages with no ;;;###autoload forms.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
fileio-tests.el (test-non-regular-insert): Fix thinko
@@ -49839,7 +52168,7 @@
from `test-non-regular-insert` and make it into a test rather than
a broken function. Oh, and make it work while at it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
Bindat: Document `sint`; add `le` arg to `uint`; deprecate `uintr`
@@ -49856,7 +52185,7 @@
* test/lisp/emacs-lisp/bindat-tests.el (data-bindat-spec): Use the new
`le` arg of `uint` instead of `uintr`.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-06-11 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Improve Lepcha composition rules and rename its native name
@@ -49865,14 +52194,14 @@
* etc/HELLO: Rename Lepcha script native name.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
Fix timestamp of special drop events
* src/xterm.c (x_dnd_send_drop): Set special event timestamp
to the timestamp of the drop instead of CurrentTime.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-11 Lars Ingebrigtsen <larsi@gnus.org>
Allow inserting parts of /dev/urandom with insert-file-contents
@@ -49880,7 +52209,7 @@
* src/fileio.c (Finsert_file_contents): Allow specifying END for
special files (bug#18370).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
Fix some drag-and-drop handling on Haiku
@@ -49892,14 +52221,14 @@
(Fhaiku_drag_message): Only clear grab and hide tooltip if the
drag was successful.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
Fix initializers for Haiku scroll bars
* src/haiku_support.cc (class Emacs):
(class EmacsScrollBar): Fix initializers.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-11 Visuwesh <visuweshm@gmail.com>
Support mksh-specific function names in imenu
@@ -49907,7 +52236,7 @@
mksh-specific function names to imenu-generic-expression
(bug#55889).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-11 Lars Ingebrigtsen <larsi@gnus.org>
Further tweaks to how remapped commands are described
@@ -49923,14 +52252,14 @@
C-x x i ido-insert-buffer
(Remapped via <remap> <insert-buffer>)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-11 Eli Zaretskii <eliz@gnu.org>
Fix doc strings in whitespace.el
* lisp/whitespace.el (whitespace-style, whitespace-action):
Untabify the doc strings. (Bug#55904)
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-06-11 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Lepcha script (bug#55869)
@@ -49944,14 +52273,14 @@
* etc/HELLO: Add a Lepcha greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-11 Po Lu <luangruo@yahoo.com>
Fix queuing already-present selection requests
* src/xterm.c (x_defer_selection_requests): Move kbd_fetch_ptr
if possible and fix counter increment order.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-11 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -49960,21 +52289,21 @@
22a832ad82 Mention the #f syntax from cl-prin1
3fd0854378 Fix file name quoting in tramp-smb.el (do not merge)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Handle allocation errors when interning large amounts of atoms
* src/xfns.c (Fx_begin_drag): Catch BadAlloc errors around
XInternAtoms.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Prevent crash handling keyboard input from non-frame windows
* src/xterm.c (handle_one_xevent): Use `dpyinfo' to access xkb
desc. (bug#55890)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Fix cancelling DND upon a regular X error
@@ -49982,14 +52311,14 @@
a non-IO error, so don't avoid sending messages to clean stuff
up.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-06-10 Dmitry Gutov <dgutov@yandex.ru>
elisp-completion-at-point: Replace last usage of 'read'
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Replace the last remaining usage of 'read' (bug#55491).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-10 Juri Linkov <juri@linkov.net>
New function isearch-search-fun-in-text-property (bug#14013).
@@ -49999,7 +52328,7 @@
* lisp/isearch.el (isearch-search-fun-in-text-property):
New function refactored from dired-isearch-search-filenames.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-10 Jim Porter <jporterbugs@gmail.com>
Don't use 'list' command in Eshell command forms
@@ -50012,7 +52341,7 @@
(esh-var-test/quoted-interp-cmd-indices): Use 'listify' instead of
'list'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Remove extra call to XTranslateCoordinates when performing "xterm" drop
@@ -50020,7 +52349,7 @@
XdndSelection is lost, set subwindow, and simplify
XTranslateCoordinates loop.
-2023-04-15 Taiju HIGASHI <higashi@taiju.info>
+2022-06-10 Taiju HIGASHI <higashi@taiju.info>
Don't reduce vocabulary in ja-dic.el by default
@@ -50034,7 +52363,7 @@
(skkdic-convert): Add the "no-reduction" optional argument.
(batch-skkdic-convert): Add the "--no-reduction" command line argument.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-10 Richard Hansen <rhansen@rhansen.org>
bindat (strz): Fix documentation for strz with pre-allocated string
@@ -50042,21 +52371,21 @@
terminator is not written if `bindat-pack' is given a pre-allocated
string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Link find-sibling-file to ff-find-related-file in manual
* doc/emacs/files.texi (Visiting): Link to ff-find-related-file
documentation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix find-sibling-file doc string
* lisp/files.el (find-sibling-file): Remove incorrect statement
from doc string (bug#55879).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Make describe-prefix-bindings say when there are no matches
@@ -50064,7 +52393,7 @@
bindings under a prefix (bug#55875), for instance in `C-c C-h' in
a buffer with no `C-c' commands.
-2023-04-15 Ignacio Casso <ignaciocasso@hotmail.com>
+2022-06-10 Ignacio Casso <ignaciocasso@hotmail.com>
Fix issues with loading autoloaded defcustoms while bound
@@ -50079,14 +52408,14 @@
* src/data.c (Fdefault_boundp): Update doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Don't put trailing optional nil values into `command-history'
* src/callint.c (fix_command): Don't put trailing optional nil
values into `command-history' (bug#45333).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-10 Mattias Engdegård <mattiase@acm.org>
Fix macOS parallel bootstrap error (bug#55846)
@@ -50094,18 +52423,18 @@
Change to a single-target rule to avoid the same actions being
executed in parallel.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Mention the REQUIRE-MATCH extension in NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Allow specifying a wildcard argument to list-directory again
* lisp/files.el (list-directory): Allow specifying a wildcard
argument interactively again (bug#55877).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-10 Lars Ingebrigtsen <larsi@gnus.org>
Allow REQUIRE-MATCH to be a function
@@ -50117,7 +52446,7 @@
* src/minibuf.c (Fcompleting_read): Mention it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Fix receiving drops from drop-only Motif programs
@@ -50125,7 +52454,7 @@
(x-dnd-handle-motif): Recompute types and state on XmDROP_START
if no state already exists.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-10 Eli Zaretskii <eliz@gnu.org>
Improve documentation of "etags -I"
@@ -50133,20 +52462,20 @@
* doc/emacs/maintaining.texi (Create Tags Table): Elaborate on the
importance of the '-I' option to 'etags'. (Bug#45246)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Eliminate extra call to XTranslateCoordinates looking for drop target
* src/xterm.c (x_dnd_get_target_window): Translate coordinates
starting from the root window and avoid extra sync.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
22a832ad82 Mention the #f syntax from cl-prin1
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -50160,13 +52489,13 @@
# Conflicts:
# lisp/files.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-10 Po Lu <luangruo@yahoo.com>
Add tests for x-dnd Motif value parsing logic
* test/lisp/x-dnd-tests.el: New file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Don't rely on TARGETS to read selection targets for Motif DND
@@ -50179,25 +52508,25 @@
(x-dnd-handle-motif): Read targets from the targets table
of the drag window instead of the selection's TARGET target.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Fix crashes in x_tooltip_window_to_frame on GTK
* src/xterm.c (x_tooltip_window_to_frame): Ignore all non-X
frames instead of trying to get their tooltip window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
* src/haikuselect.c (haiku_note_drag_motion): Only handle visible tip_f.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Fix DND tooltip handling with tooltip-reuse-hidden-frame
* src/xterm.c (x_dnd_update_tooltip_position): Don't move window
if tip_f is not visible.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-09 Eli Zaretskii <eliz@gnu.org>
Update the 'etags' test suite
@@ -50211,18 +52540,18 @@
* lib-src/etags.c (C_entries): Add commentary for resetting
bracelev. (Bug#45246)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
Adjust browse-url test after previous browse-url change
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
Make browse-url-encode-url encode even less
* lisp/net/browse-url.el (browse-url-encode-url): Don't encode
dollar signs, because that's out of spec (bug#55873).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
Improve `C-h b' output for remapped commands.
@@ -50247,7 +52576,7 @@
<remap> <switch-to-buffer-other-window> ido-switch-buffer-other-window
C-x 4 b switch-to-buffer-other-window
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
New setting for mouse-drag-copy-region to not put "" onto kill ring
@@ -50256,7 +52585,7 @@
for not putting "" strings onto the kill ring.
(mouse-set-region, mouse-save-then-kill): Use the new value.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Fix recalculation of `icon-title-format' after a frame is iconified
@@ -50271,14 +52600,14 @@
* src/xdisp.c (gui_consider_frame_title): Export (also in
dispextern.h). (bug#55850)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
Mention the #f syntax from cl-prin1
* doc/lispref/objects.texi (Special Read Syntax): Mention #f,
which is in cl-prin1 output (bug#55853).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
Make `line-number-at-pos' work more like in earlier Emacs versions
@@ -50287,7 +52616,7 @@
This isn't announced in the doc string, but makes function
compatible with the version in earlier Emacs versions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Never return tooltip frames from ns-begin-drag
@@ -50295,14 +52624,14 @@
([EmacsWindow beginDrag:forPasteboard...]): Don't return frame
if tooltip.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Handle monitor attribute updates during drag-and-drop
* src/xterm.c (x_monitors_changed_cb):
(handle_one_xevent): Set x_dnd_monitors during monitor changes.
-2023-04-15 Stefan Baums <baums@stefanbaums.com>
+2022-06-09 Stefan Baums <baums@stefanbaums.com>
Add support for the Kharoshthi script
@@ -50314,21 +52643,21 @@
environment. Set up composition rules for Kharoshthi.
(Bug#55539)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Satisfy GCC warnings on the GNUstep build
* src/nsfns.m (ns_move_tooltip_to_mouse_location):
* src/nsterm.m ([EmacsWindow draggedImage:movedTo:]): Pacify GCC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Disable tooltip timeouts for drag-and-drop tooltips
* lisp/mouse.el (mouse-drag-and-drop-region-display-tooltip):
Don't time out the created tooltip.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Implement `follow-tooltip' on NS as well
@@ -50347,7 +52676,7 @@
([EmacsWindow beginDrag:forPasteboard...]): New parameter
`followTooltip'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Note caveats of `follow-tooltip' with system tooltips
@@ -50356,7 +52685,7 @@
* src/xfns.c (Fx_begin_drag): Say that follow-tooltip doesn't
work with system tooltips.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-09 Richard Hansen <rhansen@rhansen.org>
bindat: Improve str, strz documentation
@@ -50364,7 +52693,7 @@
for the `str' and `strz' types to clarify expectations and explain
edge case behavior.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Implement `follow-tooltip' for DND on Haiku
@@ -50383,7 +52712,7 @@
if mouse moves onto a tooltip during DND.
* src/haikuterm.h: Update prototypes.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-09 Jim Porter <jporterbugs@gmail.com>
Account for remapped faces in $COLUMNS and $LINES in Eshell
@@ -50417,14 +52746,14 @@
* etc/NEWS: Announce this change (bug#55696).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-09 Eli Zaretskii <eliz@gnu.org>
Revert "* src/comp.c (Fcomp_el_to_eln_filename): Update error message."
This reverts commit ec987e3e1786d06ffd306e5717b4d7fd118f05ac.
This change was installed on the emacs-28 branch instead.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-09 Juri Linkov <juri@linkov.net>
Allow C-x 4 4, C-x 5 5, C-x t t to handle commands that use switch-to-buffer
@@ -50436,17 +52765,17 @@
commands that use switch-to-buffer.
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00483.html
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2022-06-09 Jeff Walsh <fejfighter@gmail.com>
* src/comp.c (Fcomp_el_to_eln_filename): Update error message.
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2022-06-09 Jeff Walsh <fejfighter@gmail.com>
Update error message to reflect variable rename
* src/comp.c (Fcomp_el_to_eln_filename): Update error message. (Bug#55861)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-09 Po Lu <luangruo@yahoo.com>
Also show mouse DND tooltip contents during interprogram drag-and-drop
@@ -50470,21 +52799,21 @@
(syms_of_xterm): Update staticpros.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Fix dnd-tests on builds without X
* test/lisp/dnd-tests.el (x-get-selection-internal): New
function declaration.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Ignore tooltip frames when looking for DND target
* src/xterm.c (x_dnd_get_target_window): When not using client
lists, look beneath any tooltip frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Make use of faster atom intern functions in xselect.c
@@ -50492,7 +52821,7 @@
(x_atom_to_symbol): Use x_get_atom_name and
x_intern_cached_atom.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2022-06-08 Ken Brown <kbrown@cornell.edu>
Fix error reporting in process-async-https-with-delay
@@ -50500,7 +52829,7 @@
'plist-get' instead of 'assq' in testing for a connection error.
The 'status' variable is a plist, not an alist. (Bug#55849)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-08 Juri Linkov <juri@linkov.net>
* lisp/rect.el: Return correct positions of region-beginning/end (bug#55234)
@@ -50509,20 +52838,20 @@
(rectangle--extract-region): Let-bind rectangle-mark-mode around
region-beginning and region-end to use the original functions.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-06-08 Robert Pluim <rpluim@gmail.com>
Add more super and subscript characters to latin input methods
* lisp/leim/quail/latin-post.el ("latin-postfix", "latin-prefix"): Add
mssing super and subscript characters. (Bug#55722)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-06-08 Robert Pluim <rpluim@gmail.com>
Add fractions to latin-post input method
* lisp/leim/quail/latin-post.el ("latin-postfix"): Add fractions.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-06-08 Robert Pluim <rpluim@gmail.com>
Add more ways to enter trade mark and registered sign
@@ -50532,7 +52861,7 @@
and TRADE MARK.
* lisp/leim/quail/latin-pre.el ("latin-prefix"): Add TRADE MARK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Allow running some DND tests interactively
@@ -50549,7 +52878,7 @@
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files):
Temporarily skip these tests under X.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-08 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Give ,@ a prefix syntax in elisp-mode"
@@ -50557,7 +52886,7 @@
This leads to hangs in edebug-tests.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-06-08 Jim Porter <jporterbugs@gmail.com>
Don't split Eshell expansions by line when using split-subscript operator
@@ -50568,13 +52897,13 @@
(esh-var-test/interp-convert-var-split-indices): Expand test
(bug#55838).
-2023-04-15 Nicholas Vollmer <iarchivedmywholelife@gmail.com>
+2022-06-08 Nicholas Vollmer <iarchivedmywholelife@gmail.com>
* doc/man/emacs.1.in: Add --init-directory.
* doc/man/emacs.1.in: Document --init-directory (bug#55839).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Simplify XDND toplevel freeing code
@@ -50583,7 +52912,7 @@
an unwind function to free DND toplevels instead of doing that
manually everywhere.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-06-08 Manuel Giraud <manuel@ledu-giraud.fr>
Fix last-modified meaning in bookmark.el
@@ -50593,25 +52922,25 @@
(bookmark-rename): Use `bookmark-update-last-modified' in
annotations editing, relocation and renaming.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-08 Lars Ingebrigtsen <larsi@gnus.org>
icomplete-in-buffer doc fix
* lisp/icomplete.el (icomplete-in-buffer): dabbrev now uses
icomplete-in-buffer (bug#45764).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-08 Stefan Kangas <stefan@marxist.se>
* doc/misc/org.org: Remove spurious markup.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-08 Michael Albinus <michael.albinus@gmx.de>
Make Tramp version check more robust
* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Check for "git" executable.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-08 Michael Albinus <michael.albinus@gmx.de>
Factor out test configuration for remote files
@@ -50642,7 +52971,7 @@
(tramp-test-temporary-file-directory): Remove. Replace all uses
by `ert-remote-temporary-file-directory'.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-08 Mattias Engdegård <mattiase@acm.org>
Preserve doc string in `byte-compile` (bug#55830)
@@ -50652,7 +52981,7 @@
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-function-attributes): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Make responding to selection requests work inside popups
@@ -50673,7 +53002,7 @@
* src/xterm.h (DEFER_SELECTIONS): New slug of code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-08 Po Lu <luangruo@yahoo.com>
Fix quitting in one go out of `mouse-drag-and-drop-region'
@@ -50681,14 +53010,14 @@
handle_interrupt is called inside the nested event loop upon a
quit event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Fix crash with outdated selection requests
* src/xselect.c (x_handle_selection_request): Don't store into
stack if it wasn't previously pushed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Improve drag-and-drop tests
@@ -50703,7 +53032,7 @@
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Verify
validity of file selection data.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
More fixes to mouse event reporting during drag-and-drop
@@ -50712,7 +53041,7 @@
(handle_one_xevent): Keep track of dpyinfo->grabbed as well
inside the drag-and-drop event loop.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-06-07 Dmitry Gutov <dgutov@yandex.ru>
pcomplete-parse-arguments: Fix last change
@@ -50720,11 +53049,11 @@
Throw the previous value of 'pcomplete-stub' (a list) rather than
the newly constructed one (bug#50470).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-07 Juri Linkov <juri@linkov.net>
* doc/emacs/vc1-xtra.texi (Customizing VC): Remove deprecated Mtn.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Give ,@ a prefix syntax in elisp-mode
@@ -50732,27 +53061,27 @@
Give ,@ a prefix syntax so that we can properly identify symbols
that follow it, i.e., ,@foo (bug#44418).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Demote extended attribute errors in basic-save-buffer-2
* lisp/files.el (basic-save-buffer-2): Give demoted errors when
reading extended attributes that fail (bug#43723).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
This is the first check-in after the loaddefs-gen.el rewrite.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Remove Mtn from vc-handled-backends
* lisp/vc/vc-hooks.el (vc-handled-backends): Remove the deprecate
vc-mtn backend.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Fix loaddefs-generate--rubric recorded name
@@ -50760,7 +53089,7 @@
the name that's recorded in the file -- this is only used by
loaddefs-gen now, I think.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Make artist-mode work in zoomed buffers
@@ -50772,14 +53101,14 @@
(artist-mouse-draw-2points): Work better when the window is zoomed
(bug#46035).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Allow posn-col-row to return data on a per-window basis
* doc/lispref/commands.texi (Accessing Mouse): Document it.
* lisp/subr.el (posn-col-row): Extend to use window data.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Allow hooks to alter the process in prolog-ensure-process
@@ -50787,7 +53116,7 @@
after starting the process, so that the mode hook can talk to the
process (bug#46003).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
find-func.el: Fix bug#41104
@@ -50798,7 +53127,7 @@
* test/lisp/emacs-lisp/find-func-tests.el
(find-func-tests--find-library-verbose): Add test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Add selection stuff to DND tests
@@ -50810,7 +53139,7 @@
(dnd-tests-begin-text-drag): Add tests for the contents of
various selections.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-07 Eli Zaretskii <eliz@gnu.org>
Fix debugging with GDB when a breakpoint has multiple locations
@@ -50822,7 +53151,7 @@
also any locations in multiple-location breakpoints, which are
supported since GDB 6.8.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Fix coding style of some Haiku files
@@ -50834,14 +53163,14 @@
confusingly named fields.
* src/haikuterm.c (haiku_read_socket): Update accordingly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Simplify mode line for vc-print-root-log
* lisp/vc/vc.el (vc-print-root-log): Don't display "from <file>"
(bug#45007).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Fix more bugs with DND selection handling
@@ -50852,14 +53181,14 @@
XdndSelection is lost.
(handle_one_xevent): Likewise.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-07 Lars Ingebrigtsen <larsi@gnus.org>
Clarify highlight-changes-rotate-faces doc string
* lisp/hilit-chg.el (highlight-changes-rotate-faces): Doc string
clarification (bug#44150).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Remove mentions of GNOME MediaKeys from dbus documentation examples
@@ -50867,7 +53196,7 @@
* lisp/net/dbus.el (dbus-get-all-managed-objects): Remove
mentions of obsolete GNOME APIs from example text.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Improve compatibility with some clients of the Motif drop protocol
@@ -50888,21 +53217,21 @@
(syms_of_xterm): New defvar and associated defsym.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Add new drag-and-drop test
* test/lisp/dnd-tests.el (dnd-tests-get-local-file-uri): New
test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-07 Po Lu <luangruo@yahoo.com>
Fix leak of event data on GTK+ 2.x
* src/xterm.c (handle_one_xevent): Fix goto XI_OTHER for
valuator motion events generated on scroll bars.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Update Haiku drag-and-drop code
@@ -50910,7 +53239,7 @@
dropping on places other than the text area (it doesn't work).
Also respect mouse-yank-at-point.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Don't allow dropping on invalid drop sites
@@ -50919,21 +53248,21 @@
(x-dnd-handle-xdnd, x-dnd-handle-motif): Don't pretend dropping
on the mode line is ok.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Don't display mouse face during mouse drag-and-drop
* lisp/mouse.el (mouse-drag-and-drop-region): Don't display
mouse face, since it leads to a lot of flicker.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Prevent crashes with very large Motif targets tables
* src/xterm.c (xm_setup_dnd_targets): Catch errors around
xm_write_targets_table lest we get a BadAlloc error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Fix two crashes when a display connection is lost
@@ -50962,14 +53291,14 @@
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix execute-extended-command help text for remapped commands
* lisp/simple.el (execute-extended-command): Don't provide
misleading help text for remapped commands (bug#23543).
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2022-06-06 Stephen Berman <stephen.berman@gmx.net>
Allow using xref buttons in non-*Help* buffers
@@ -50977,7 +53306,7 @@
non-*Help* buffers (bug#8147) (but display the result in a *Help*
buffer).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-06 Lars Ingebrigtsen <larsi@gnus.org>
Make find-file-noselect not pick buffers with broken symlinks
@@ -50985,20 +53314,20 @@
(find-file-noselect): Don't pick buffers with broken symlinks,
because that's too confusing (bug#41414).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-06 Lars Ingebrigtsen <larsi@gnus.org>
Improve scheme-mode syntax-rules indentation
* lisp/progmodes/scheme.el (syntax-rules): Indent syntax-rules
with a parameter better (bug#40869).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-06 Lars Ingebrigtsen <larsi@gnus.org>
Improve find-sibling-file error reporting
* lisp/files.el (find-sibling-file): Improve error reporting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Update comments in X error handling code
@@ -51011,7 +53340,7 @@
used to find an applicable error handler and to call
x_uncatch_errors_after_check.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Add drag-and-drop API tests
@@ -51020,14 +53349,14 @@
(dnd-tests-begin-file-drag):
(dnd-tests-begin-drag-files): New tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Improve handling of remote files during drag-and-drop
* lisp/dnd.el (dnd-begin-drag-files): Don't fail if one remote
file couldn't be downloaded.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-06 Mattias Engdegård <mattiase@acm.org>
Test warning suppressions with lexical binding
@@ -51038,7 +53367,7 @@
for suppressing warnings when attempting to let-bind `nil`,
as that (1) doesn't work and (2) is a silly thing to do anyway.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Fix several more issues with running Lisp during drag-and-drop
@@ -51046,14 +53375,14 @@
and set mouse_moved flags during drag-and-drop so reading mouse
events from Lisp continues to work.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Signal an error XdndSelection was lost during drag-and-drop
* src/xselect.c (x_handle_selection_clear): Signal an error if
ownership of XdndSelection was lost during drag-and-drop.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-06 Po Lu <luangruo@yahoo.com>
Make mouse input work properly inside the debugger during DND
@@ -51062,7 +53391,7 @@
(handle_one_xevent): If the recursive edit level is higher than
when DND started, handle mouse events normally.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-06 Stefan Monnier <monnier@iro.umontreal.ca>
cl-typep: Emit warning when using a type not known to be a type
@@ -51097,7 +53426,7 @@
there's an(other) error between loading `files.el` and loading
`minibuffer.el`.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-05 Po Lu <luangruo@yahoo.com>
Rework X selections to make it safe to run the debugger inside converters
@@ -51136,7 +53465,7 @@
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
pcomplete.el: Fix part of bug#50470
@@ -51149,20 +53478,20 @@
of completions as is. Also, use `try-completions` to simplify the
previous code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Add nohandle-guide images for tree-widget
These are copies of the guide.* files
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Re-re-fix previous describe-function change
* lisp/help-fns.el (describe-function): Put back binding removed
by mistake in previous change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix key binding buffer issue in describe-function better
@@ -51171,19 +53500,19 @@
instead of the key-buffer binding -- this will also make the
rendering results correct when hitting `g' and `l'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Clarify syntax-ppss doc string
* lisp/emacs-lisp/syntax.el (syntax-ppss): Clarify doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Simplify set-goal-column
* lisp/simple.el (set-goal-column): Simplify the code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-h f' look up key bindings in the current buffer again
@@ -51191,7 +53520,7 @@
to look up key bindings in.
(describe-function-1): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Make the goal column work for the scrolling commands, too
@@ -51201,7 +53530,7 @@
* lisp/window.el (scroll-up-command, scroll-down-command): Make
the goal column take effect for these commands, too (bug#17346).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Move two more variables from autoload.el to loaddefs-gen.el
@@ -51209,7 +53538,7 @@
(generated-autoload-load-name): Move the remaining two autoload.el
variables used by loaddefs-gen.el from autoload.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Make finder/cus-dep scraping use generate-lisp-file functions
@@ -51218,7 +53547,7 @@
generate-lisp-file functions directly instead of piggy-backing on
the autoload.el functions. (This is part of making autoload.el obsolete.)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-05 Stefan Kangas <stefan@marxist.se>
Don't generate separate autoload file for htmlfontify
@@ -51228,7 +53557,7 @@
* test/lisp/htmlfontify-tests.el (htmlfontify-autoload): Delete
test (bug#52400).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Rename generate-file to generate-lisp-file
@@ -51245,7 +53574,7 @@
generate-file.el. Also rename some keyword parameters and require
a generator function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Add convenience functions for generating Emacs Lisp files
@@ -51265,14 +53594,14 @@
of the headers/trailers are usually forgotten when hand-coding
these.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-06-05 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add a fallback font for Tamil Supplement characters
* lisp/international/fontset.el (setup-default-fontset): Add
and entry for "Noto Sans Tamil Supplement". (Bug#55807)
-2023-04-15 JD Smith <jdtsmith@gmail.com> (tiny change)
+2022-06-05 JD Smith <jdtsmith@gmail.com> (tiny change)
Make the Unicode tree widget prettier
@@ -51286,7 +53615,7 @@
(tree-widget):
(tree-widget-value-create): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Add new command find-sibling-file
@@ -51295,7 +53624,7 @@
(find-sibling-rules, find-sibling-file): New user option and command.
(find-sibling-file--search): New helper function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-05 Po Lu <luangruo@yahoo.com>
Fix file name encoding of Motif drop protocol file selections
@@ -51303,7 +53632,7 @@
(xselect-convert-to-dt-netfile): Encode in the file name coding
system instead of `raw-text-unix'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-05 Lars Ingebrigtsen <larsi@gnus.org>
Extend file-expand-wildcards to allow regexps
@@ -51313,7 +53642,7 @@
* lisp/emacs-lisp/shortdoc.el (file): Expand the
file-expand-wildcards example.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-05 Eli Zaretskii <eliz@gnu.org>
Update documentation of 'aset' and 'store-substring'
@@ -51322,7 +53651,7 @@
have fewer or more bytes than the original. Add recommendations
regarding unibyte vs multibyte strings and characters. (Bug#55801)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-05 Po Lu <luangruo@yahoo.com>
Fix drag-and-drop of files with multibyte filenames
@@ -51343,7 +53672,7 @@
(handle_one_xevent): Handle cases where hold_quit is nil inside
a selection event handler during DND.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-05 Eli Zaretskii <eliz@gnu.org>
Fix sorting in ls-lisp.el under -v
@@ -51354,14 +53683,14 @@
* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug55787): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-05 Po Lu <luangruo@yahoo.com>
Fix bug#55779
* src/xterm.c (x_update_opaque_region): Don't make GTK reset the
opaque region if F is a child frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-05 Po Lu <luangruo@yahoo.com>
Better respect window manager stacking order
@@ -51373,7 +53702,7 @@
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-05 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -51387,7 +53716,7 @@
5c74c25123 Remove from FAQ the MS-Windows info about BDF fonts
edb48646f2 Fix Display Property manual example
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Fix positioning of non-system tooltips on GTK builds
@@ -51395,13 +53724,13 @@
* src/xterm.c (handle_one_xevent): Set tooltip size immediately
on GTK builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Adjust last change for GTK+ 2.x
* src/xterm.c (x_tooltip_window_to_frame): Fix build on GTK 2.x.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Make `mouse-position' work correctly with GTK tooltips
@@ -51410,11 +53739,11 @@
(XTmouse_position): Pass that, and if it turns out to be true,
look beneath the tooltip window.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-06-04 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.4
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Make loaddefs-generate--parse-file more robust
@@ -51422,7 +53751,7 @@
Ensure that we don't have an autoload cookie on the first column
inside a string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Make skkdic-convert replacements literal
@@ -51432,13 +53761,13 @@
modification hooks", so this is mainly a stab in the dark at
fixing that, but it's also generally correct.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Make vc-mtn obsolete
* lisp/obsolete/vc-mtn.el: Make obsolete (bug#6513).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix failing shortdoc test
@@ -51446,7 +53775,7 @@
supposed to contain only examples of using the function in
question (as policed by the FAILED shortdoc-examples test).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Fix error during DND from both Emacs and GTK at the same time
@@ -51455,42 +53784,42 @@
MPX (multi-pointer X) is in use and the user tries to drag
from both GTK and Emacs at the same time using multiple seats.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Further raise-sexp doc string improvement
* lisp/emacs-lisp/lisp.el (raise-sexp): Fix the key binding syntax
in the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Improve the raise-sexp doc string
* lisp/emacs-lisp/lisp.el (raise-sexp): Try to explain what the
command does (bug#55788).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix warnings introduced by the lisp-mode-autoload-regexp change
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): The package name bit
in ###;;;foo-autoload may be missing, so do a lax match (bug#55784).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Add a face to \\= doc string escapes
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Add a face to \\= doc
string escapes (bug#55783).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-04 Lars Ingebrigtsen <larsi@gnus.org>
Further notes about quotation marks in the manual
* doc/lispref/tips.texi (Documentation Tips): Note that we
previously recommended using single quotation marks (bug#55780).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Allow keyboard modifiers to control the action taken during dired DND
@@ -51503,11 +53832,11 @@
(dired-mouse-drag-files-map): Add C-down-mouse-1, M-down-mouse-1
and S-down-mouse-1.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-04 Michael Albinus <michael.albinus@gmx.de>
* lisp/emacs-lisp/shortdoc.el (string): Add `string-collate-lessp'.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-06-04 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Grantha script (bug#55782)
@@ -51520,7 +53849,7 @@
* etc/HELLO: Add two Grantha greetings.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Fix file drag-and-drop on GNUstep
@@ -51529,7 +53858,7 @@
* src/nsterm.m: ([EmacsView performDragOperation:]): Handle
cases where plist is a string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Support dragging multiple files on NS
@@ -51541,21 +53870,21 @@
* src/nsselect.m (ns_decode_data_to_pasteboard):
(Fns_begin_drag): Allow files to be a list of filenames as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Fix splurious drag-mouse-1 events after NS drag-and-drop
* src/nsterm.m ([EmacsWindow beginDrag:...]): Clear
dpyinfo->grabbed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Clear mouse face during drag-and-drop
* src/xterm.c (handle_one_xevent): Clear mouse face during drag
and drop, since note_mouse_highlight isn't called.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-04 Eli Zaretskii <eliz@gnu.org>
Clarify documentation of 'string-to-unibyte'
@@ -51563,14 +53892,14 @@
what 'string-to-unibyte' does. Reported by Richard Hansen
<rhansen@rhansen.org>. (Bug#55777)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-04 Eli Zaretskii <eliz@gnu.org>
Another attempt to void compiler warnings on macOS (bug#55595)
* configure.ac (WERROR_CFLAGS): Use "-Wno-unknown-pragmas" with
Clang.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Improve doc of `mouse-drag-mode-line-buffer'
@@ -51579,7 +53908,7 @@
* etc/NEWS: Explain where that option is supported.
* lisp/mouse.el (mouse-drag-mode-line-buffer): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-04 Po Lu <luangruo@yahoo.com>
Make XTmouse_position faster during dragging with lots of frames
@@ -51587,14 +53916,14 @@
(XTmouse_position): Use that to find tooltip frames underneath
the pointer instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Fix leak of toplevel data
* src/xterm.c (x_dnd_compute_toplevels): Make sure to free
`data'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Fix leak of DND toplevels when return-frame is non-nil
@@ -51603,7 +53932,7 @@
(x_dnd_begin_drag_and_drop): Make this function reentrant from
the IO error handler.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-06-03 Dmitry Gutov <dgutov@yandex.ru>
Post-review additions
@@ -51611,28 +53940,28 @@
Add :version.
(project--vc-list-files): Use 'and' instead of 'when'.
-2023-04-15 Jan SynáÄek <jan.synacek@gmail.com>
+2022-06-03 Jan SynáÄek <jan.synacek@gmail.com>
Add new user option project-vc-include-untracked
* doc/emacs/maintaining.texi (Projects): Document it.
* lisp/progmodes/project.el (project--vc-list-files): Use it.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-06-03 Dmitry Gutov <dgutov@yandex.ru>
project-query-replace-regexp: Filter out non-regular files
* lisp/progmodes/project.el (project-query-replace-regexp):
Filter out non-regular files (bug#55382).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-03 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp test
* test/lisp/net/tramp-tests.el (tramp-test31-signal-process):
Skip on MS Windows.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-03 Michael Albinus <michael.albinus@gmx.de>
Add remote file functions to shortdoc
@@ -51641,14 +53970,14 @@
(shortdoc): Configure shortdoc.el to recognize file name functions
for remote access.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Fix dired drag and drop actions
* lisp/dired.el (dired-mouse-drag): Make `link' values work
again.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Handle dragging multiple files on Haiku
@@ -51656,7 +53985,7 @@
(haiku-dnd-convert-file-name, x-begin-drag): Handle vector
values of selection data.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Allow dragging multiple files from a Dired buffer
@@ -51677,14 +54006,14 @@
files
(a vector of file names):.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-03 Lars Ingebrigtsen <larsi@gnus.org>
Don't issue warnings for Unicode quotes for now
* lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-style-warn):
Remove warning for "Unicode quotes" for now (bug#55780).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-03 Lars Ingebrigtsen <larsi@gnus.org>
Revert the `...' documentation back to actual usage
@@ -51692,7 +54021,7 @@
is really used now (bug#55780). ‘...’ is not really used in the
Emacs sources.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-03 Mattias Engdegård <mattiase@acm.org>
Let ?\LF signal an error (bug#55738)
@@ -51703,7 +54032,7 @@
* test/src/lread-tests.el (lread-escaped-lf): Update test.
* etc/NEWS: Announce.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-03 Mattias Engdegård <mattiase@acm.org>
Fix wrong value in idlwave-comment-indent-char
@@ -51713,7 +54042,7 @@
-1 most of the time, but will soon raise an error (bug#55738).
This doesn't matter much becaue this variable is unused.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Add new user option `mouse-drag-mode-line-buffer'
@@ -51722,7 +54051,7 @@
* lisp/mouse.el (mouse-drag-mode-line-buffer): New user option.
(mouse-drag-mode-line): Implement that option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-03 Po Lu <luangruo@yahoo.com>
Add easier-to-use interfaces for initiating drag-and-drop
@@ -51741,7 +54070,7 @@
(dnd-begin-text-drag, dnd-begin-file-drag): New functions.
* src/xterm.c (x_dnd_begin_drag_and_drop): Add porting note.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Add a new user option battery-update-functions
@@ -51750,7 +54079,7 @@
(bug#55770).
(battery-update): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Remove window-max-characters-per-line
@@ -51765,14 +54094,14 @@
* src/window.c (Fwindow_body_width): Adjust doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix GTK build
* src/xterm.c (x_dnd_begin_drag_and_drop) [USE_GTK]: Adjust call
to x_dnd_free_toplevels as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Don't call XSelectInput on a dying display when cancelling drag-and-drop
@@ -51782,7 +54111,7 @@
(handle_one_xevent): Change calls to `x_dnd_free_toplevels'.
(x_connection_closed, x_delete_terminal): Set it to false.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Make checkdoc-file-comments-engine match more ;;;### forms
@@ -51790,7 +54119,7 @@
the more general lisp-mode-autoload-regexp instead of
generate-autoload-cookie (i.e., also match ;;;###tramp-autoload).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Make `M-x grep' work better with "git grep"
@@ -51798,7 +54127,7 @@
to avoid errors in output from "git grep" and similar commands
(bug#4359).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-02 Mattias Engdegård <mattiase@acm.org>
Make ?\LF generate 10, not -1 (bug#55738)
@@ -51810,15 +54139,15 @@
and simplify.
* test/src/lread-tests.el (lread-escaped-lf): New test.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-02 Mattias Engdegård <mattiase@acm.org>
* src/lread.c (skip_lazy_string): Fix uninitialised variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-02 Stefan Kangas <stefan@marxist.se>
* lisp/play/morse.el: Doc fixes.
-2023-04-15 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
+2022-06-02 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
Improve keystrokes in doc strings in some find-file functions
@@ -51827,7 +54156,7 @@
(find-file-other-frame): Include the correct keymap so that
keystrokes are displayed better (bug#55761).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
More gracefully handle errors during Motif drag window creation
@@ -51837,7 +54166,7 @@
XChangeProperty without leaking anything.
(x_error_handler): Fix coding style.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix out-of-tree build problems with loaddefs.el
@@ -51851,7 +54180,7 @@
loaddefs-generate-batch can be used in general for packages etc.
(loaddefs-generate-batch): Remove the special code for Emacs builds.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-02 Eli Zaretskii <eliz@gnu.org>
Fix segfaults when starting on 80x26 TTY frames
@@ -51861,14 +54190,14 @@
(adjust_frame_glyphs): Add assertions for when we fail to allocate
valid frame glyph matrices for a TTY frame.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Reinstate the Qload file name handler
* src/lread.c (Fload): Reinstate the Qload file name handler
(bug#12598). This makes loading non-ASCII elc.gz files work.
-2023-04-15 Frédéric Giquel <frederic.giquel@laposte.net> (tiny change)
+2022-06-02 Frédéric Giquel <frederic.giquel@laposte.net> (tiny change)
Use `read-process-output-max' when creating pipes on GNU/Linux
@@ -51876,41 +54205,41 @@
(create_process): Set the pipe size from `read-process-output-max'
(bug#55737).
-2023-04-15 yilkalargaw <yilkalargawworkneh@gmail.com>
+2022-06-02 yilkalargaw <yilkalargawworkneh@gmail.com>
Fix usage of absolute :height in manoj-dark-theme
* etc/themes/manoj-dark-theme.el (manoj-dark): Avoid using
absolute heights (bug#55759).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-02 Lars Ingebrigtsen <larsi@gnus.org>
Speed up loaddefs-generate on slow disks
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Make file
update comparisons faster.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix rare crash when async input happens while creating xm drag window
* src/xterm.c (xm_get_drag_window): Work around XCloseDisplay
freezing upon being interrupted by a signal.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix macOS build
* src/nsterm.m (ns_mouse_position): Fix typos.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix potential NULL pointer dereference on NS
* src/nsterm.m (ns_mouse_position): Don't test f's tooltip-ness
if it's NULL.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix flickering tooltips with mouse DND without interprogram drag
@@ -51920,7 +54249,7 @@
special tooltip treatment to `dropping' as well as
`drag-source'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix tooltip frames leaking into mouse position on NS
@@ -51930,7 +54259,7 @@
([EmacsView mouseDown:]):
([EmacsView mouseMoved:]): Ignore events from tip frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Handle dropping text/uri-list on Haiku
@@ -51938,7 +54267,7 @@
extra whitespace.
(haiku-drag-and-drop): Handle "text/uri-list".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix help-echo tooltips interfering with mouse drag-and-drop
@@ -51946,7 +54275,7 @@
tooltip-mode while mouse drag-and-drop is in progress. Also
restore state correctly in some more cases.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix flicker during mouse DND on Haiku as well
@@ -51954,13 +54283,13 @@
crossing if track-mouse is drag-source and the display is
grabbed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix typos in last change
* src/xterm.c (handle_one_xevent): Fix typos.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-02 Po Lu <luangruo@yahoo.com>
Fix tooltips flickering on X during `mouse-drag-and-drop-region'
@@ -51971,7 +54300,7 @@
LeaveNotify if the display is grabbed and track-mouse is
drag-source.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-01 Richard Hansen <rhansen@rhansen.org>
bindat (strz): Fix wrong-type-argument error when unpacking
@@ -51980,7 +54309,7 @@
unspecified (variable) length.
* test/lisp/emacs-lisp/bindat-tests.el (strz): Mark test as passing.
-2023-04-15 Richard Hansen <rhansen@rhansen.org>
+2022-06-01 Richard Hansen <rhansen@rhansen.org>
bindat (strz): Fix off-by-one bug in computed length
@@ -51988,7 +54317,7 @@
computing packed string length.
* test/lisp/emacs-lisp/bindat-tests.el (strz): Mark tests as passing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Clean up Motif drag-and-drop code
@@ -51997,14 +54326,14 @@
(enum xm_drop_site_status): Turn macros into enums.
(x_next_event_from_any_display): Fix initial value of rc.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Fix decoding of XdndStatus rectangles on 64-bit systems
* src/xterm.c (handle_one_xevent): Make data.l[2] and data.l[3]
unsigned.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-01 Mattias Engdegård <mattiase@acm.org>
Revert "Fix reader char escape bugs (bug#55738)"
@@ -52012,7 +54341,7 @@
It may have caused bootstrap problems. Sorry about that.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-06-01 Juri Linkov <juri@linkov.net>
* lisp/simple.el (completion-setup-function): Use file-name-directory.
@@ -52021,7 +54350,7 @@
e.g. "/dir/prefix/" when completing "/dir/prefix".
OTOH, file-name-directory returns "/dir/" in such cases (bug#55743).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-06-01 Eli Zaretskii <eliz@gnu.org>
Avoid segfaults on MS-Windows when invoked with --version
@@ -52029,7 +54358,7 @@
'init_bignum' before calling 'format-time-string', as that is
needed for safe manipulation of bignums in timefns.c.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-06-01 Mattias Engdegård <mattiase@acm.org>
Fix reader char escape bugs (bug#55738)
@@ -52048,7 +54377,7 @@
and simplify.
* test/src/lread-tests.el (lread-misc-2): New test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-06-01 Michael Albinus <michael.albinus@gmx.de>
Make files-tests.el more robust
@@ -52056,7 +54385,7 @@
(files-tests--with-temp-non-special-and-file-name-handler): Make
it more robust wrt parallel test jobs. (Bug#55706)
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-06-01 Visuwesh <visuweshm@gmail.com>
delete-selection-mode: Add user option to delete temporary regions only
@@ -52066,7 +54395,7 @@
* doc/emacs/mark.texi (Using Region): Document the new user option.
* etc/NEWS: Announce the new user option. (bug#55692)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Make it explicit that a couple of _s in lispref are underscores
@@ -52074,13 +54403,13 @@
* doc/lispref/control.texi (pcase Macro): Make it explicit that
it's an underscore (bug#55742).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Add a comment to lisp/Makefile.in
* lisp/Makefile.in: Add FIXME comment.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-06-01 Manuel Giraud <manuel@ledu-giraud.fr>
Place bookmarks without last-modified at the end
@@ -52088,7 +54417,7 @@
(bookmark-maybe-sort-alist): Fix sorting when there's no last
modified.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Improve documentation of Lisp-level drag-and-drop features
@@ -52097,7 +54426,7 @@
drag-and-drop functionality, document what `dnd-protocol-alist'
actually means, and improve documentation on DND data types.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-01 Stefan Kangas <stefan@marxist.se>
Make XEmacs compat code in gamegrid.el obsolete
@@ -52105,14 +54434,14 @@
XEmacs style glyph. (This is currently unused in the Emacs tree.)
(gamegrid-make-image-from-vector): Make obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that loaddefs-gen.elc is build before loaddefs.el is generated
* lisp/Makefile.in ($(lisp)/loaddefs.el): Make loaddefs.el depend
on loaddefs-gen.elc to ensure that it's built.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Minor fixes to x_next_event_from_any_display
@@ -52120,14 +54449,14 @@
XPending unless there is input to be read on the connection, and
don't call ConnectionNumber twice.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix up the loaddefs-gen updating logic
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Only do the
updating logic if we're really updating.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix loaddefs generation"
@@ -52135,7 +54464,7 @@
This has been fixed in a different way.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-06-01 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Hanifi Rohingya script (bug#55745)
@@ -52151,7 +54480,7 @@
* etc/HELLO: Add a Hanifi Rohingya greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Start the org -> texi conversion while doing byte compilation
@@ -52162,7 +54491,7 @@
compilation to make things more parallel. This shaves off about
ten seconds of a "make -j8" build.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-06-01 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to their latest version
@@ -52218,7 +54547,7 @@
Release notes: <https://protesilaos.com/codelog/2022-06-01-modus-themes-2-4-0/>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how loaddefs-gen decides whether to do a full update
@@ -52226,21 +54555,21 @@
complete build more often to avoid problems with going from old
loaddefs.el files to new ones.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Fix Motif DND return value upon transfer failure
* src/xterm.c (handle_one_xevent): Make XmTRANSFER_FAILURE clear
DND action.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Fix loaddefs generation
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Prevent
one kind of string match error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Adjust last change to Haiku as well
@@ -52250,7 +54579,7 @@
(x-begin-drag): Handle alternative data specified in selection
local values.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Clean up text/uri-list mess inside the Dired drag-and-drop code
@@ -52267,7 +54596,7 @@
properties (if it is a string) for a local value before using
tem itself.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Fix hangs when explicitly moving frames with input blocked
@@ -52275,7 +54604,7 @@
(x_sync_with_move): Use pselect to wait the 0.5 seconds instead
of wait_reading_process_output if input is blocked.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Implement `allow-same-frame' for NS drag-and-drop
@@ -52290,21 +54619,21 @@
([EmacsWindow beginDrag:forPasteboard:withMode:returnFrameTo:]):
Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Fix creation of menu items without help text on Haiku
* src/haiku_support.cc (EmacsMenuItem): Don't mistakenly assume
help is non-NULL.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Tweak MAIN_FIRST/ja-dic compilation
* lisp/Makefile.in (MAIN_FIRST): ja-dic-utl isn't used in the
conversion process, to don't compile it early.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-06-01 Po Lu <luangruo@yahoo.com>
Fix pselect usage mistakes
@@ -52312,21 +54641,21 @@
(x_wait_for_cell_change): Fix calls to pselect and tests against
return value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Don't do OKURI-NASI until the conversion files have been compiled
* lisp/Makefile.in (generate-ja-dic): Byte-compile the ja-dic.el
file, too.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
Compile ja-dic files to speed OKURI-NASI up
* lisp/Makefile.in (MAIN_FIRST): Also compile ja-dic utils to
speed generation up.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-06-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -52334,14 +54663,14 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-05-18 19:45:52 UTC.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Ensure byte compilation of the ja-dic.el file
* lisp/Makefile.in (generate-ja-dic): Byte-compile the ja-dic.el
file, too.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Reshuffle the generation of the OKURO-NASI entries to speed up build
@@ -52355,39 +54684,39 @@
compiled. On a AMD Ryzen 9 5950X 16-Core Processor this brings
compilation time on a "make -j32 bootstrap" down from 1m52s to 1m34s.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Fix the GTK build
* src/xterm.c (x_wait_for_cell_change): Don't initialize rfds
on GTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Improve x_wait_for_cell_change
* src/xterm.c (x_wait_for_cell_change): Keep processing events
while still XPending.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Note changes in ;;;### parsing
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix the loaddefs updating logic
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Fix the
logic of updating -- we update per loaddefs file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix yank-in-context--transform after recent reversion
* lisp/simple.el (yank-in-context--transform): Fix call to
comment-region-default-1 after recent reverted patch.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-05-31 Manuel Giraud <manuel@ledu-giraud.fr>
Add a last-modified field when a bookmark is set
@@ -52402,7 +54731,7 @@
(bookmark-maybe-sort-alist): sort in last-modified first order.
(bookmark-completing-read): use `bookmark-maybe-sort-alist'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Allow commenting out white space lines in latex-mode"
@@ -52410,7 +54739,7 @@
This was the wrong way to try to fix this -- see bug#55716.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Make partial loaddefs updates work again
@@ -52418,7 +54747,7 @@
the loaddefs section for the files that have changed. This makes
"git pull" (when few/no Lisp files have changed much faster).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-31 Juri Linkov <juri@linkov.net>
Fix handling of windows/buffers for non-nil completion-auto-select (bug#55712)
@@ -52434,14 +54763,14 @@
(next-completion): Add check for the minibuffer to support in-buffer
inline completions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-31 Eli Zaretskii <eliz@gnu.org>
Remove unused w32-* variables
* src/w32fns.c (syms_of_w32fns) <w32-bdf-filename-alist>
<w32-strict-fontnames>: Remove unused variables.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-31 Eli Zaretskii <eliz@gnu.org>
Remove from FAQ the MS-Windows info about BDF fonts
@@ -52449,7 +54778,7 @@
specific steps, as BDF fonts are no longer supported on
MS-Windows. (Bug#55740)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-31 Lars Ingebrigtsen <larsi@gnus.org>
Speed up generation of loaddefs files
@@ -52496,7 +54825,7 @@
* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
Use loaddefs instead of autoloads.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Convert FILE_NAME to refs on Haiku instead of text/uri-list
@@ -52506,14 +54835,14 @@
(haiku-dnd-convert-file-name): New function. Also handle remote
file names.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Add missing part of recent changes to NS DND support
* lisp/term/ns-win.el (x-begin-drag): Implement `return-frame'
argument.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-31 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Makasar and Lontara scripts (bug#55734)
@@ -52528,39 +54857,39 @@
* etc/HELLO: Add Makasar and Buginese greetings.
* etc/NEWS: Announce the new language environments.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Slightly optimize x_check_errors as well
* src/xterm.c (x_check_errors): Don't sync if no requests were
made since the error trap was installed.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-31 Stefan Kangas <stefan@marxist.se>
* lisp/play/handwrite.el: Minor doc fixes.
-2023-04-15 Antonio Ruiz <antonioruiz.math@gmail.com> (tiny change)
+2022-05-31 Antonio Ruiz <antonioruiz.math@gmail.com> (tiny change)
Make handwrite.el printing use more of the ps-print setup
* lisp/play/handwrite.el (handwrite): Allow ps-lpr-printer to be
computed at runtime (bug#55733).
-2023-04-15 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
+2022-05-31 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
Fix Display Property manual example
* doc/lispref/display.texi (Display Property): Fix syntax of
example (bug#55736).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Fix replying to _NET_WM_PING during drag-and-drop
* src/xterm.c (handle_one_xevent): Test client window against
root window instead of using nonstandard event mask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Implement `return-frame' for DND on NS
@@ -52575,7 +54904,7 @@
([EmacsWindow beginDrag:forPasteboard:]): Update for
return-frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Fix autorelease pool "straddling" during DND on NS
@@ -52586,7 +54915,7 @@
([EmacsWindow beginDrag:forPasteboard:]): Block input around
dragImage.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 in x_get_current_wm_state
@@ -52594,49 +54923,49 @@
initialize reply_data to a non-null dummy value instead of to a
null one. This pacifies GCC 12 -Wanalyzer-null-dereference.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 in dump_queue_enqueue
* src/pdumper.c (dump_queue_enqueue): Use BASE_EQ, not EQ.
This pacifies GCC 12 -Wanalyzer-null-dereference.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Be more robust if doc file is corrupted
* src/doc.c (Fsnarf_documentation): Don’t dump core on a corrupted
doc file. Problem found by GCC 12 -Wanalyzer-null-argument.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 in Fmove_overlay
* src/buffer.c (Fmove_overlay): Use BASE_EQ, not EQ.
This pacifies GCC 12 -Wanalyzer-null-dereference.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 in Fx_show_tip
* src/xfns.c (Fx_show_tip): Use BASE_EQ, not EQ.
This pacifies GCC 12 -Wanalyzer-null-dereference.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 in xrdb.c
* src/xrdb.c (x_get_resource): Simply assign the return value.
This pacifies GCC 12 -Wanalyzer-use-of-uninitialized-value.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 false positive in ccl.c
* src/ccl.c: Suppress -Wanalyzer-use-of-uninitialized-value
in GCC 12 or later.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Simplify CHAR_TABLE_REF_ASCII
@@ -52644,7 +54973,7 @@
for-loop. Redo an if-then-else to be an (!if)-else-then as this
is a bit cleaner, and it also works around GCC bug 105755.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Avoid undefined behavior in detect_coding routines
@@ -52656,14 +54985,14 @@
(detect_coding_system): Use consistent style with detect_coding
initialization.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 -fanalyzer in x_popup_menu_1
* src/menu.c (x_popup_menu_1): Rework to avoid unnecessary
initialization and test. This also pacifies GCC 12.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-31 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 -Wanalyzer-use-of-uninitialized-value
@@ -52674,53 +55003,53 @@
the last slash was. This is a bit faster, and pacifies a GCC
false alarm.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Fix crashes displaying menu help text on NS
* src/nsterm.m (ns_flush_display): Run event loop manually,
avoiding a double free of an autorelease pool.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-31 Po Lu <luangruo@yahoo.com>
Fix processing of DND events on GTK
* src/xterm.c (x_dnd_begin_drag_and_drop): Clear `current_count'
and `current_hold_quit' after calling gtk_main_iteration.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Fix unused variables on GTK
* src/xterm.c (x_wait_for_cell_change): Fix unused variables
on GTK builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Fix initialization of `hold_quit' during DND
* src/xterm.c (x_dnd_begin_drag_and_drop): Use `EVENT_INIT'
instead of just setting type to NO_EVENT.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Prevent events from being lost waiting for selections on GTK
* src/xterm.c (x_wait_for_cell_change): Use GTK to iterate the
main loop so events reach the toolkit.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-30 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-30 Eli Zaretskii <eliz@gnu.org>
Fix 'debug-timer-check' on MS-Windows
* src/w32proc.c (w32_raise): New function.
* src/atimer.c (raise) [WINDOWSNT]: Redirect to 'w32_raise'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-30 Juri Linkov <juri@linkov.net>
* lisp/progmodes/project.el: Improve file-reading history and default values.
@@ -52728,7 +55057,7 @@
currently visited file as an alternative default value.
(project-find-file-in, project-find-dir): Use 'file-name-history' (bug#55267).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-30 Mattias Engdegård <mattiase@acm.org>
Nonrecursive Lisp reader (bug#55676)
@@ -52760,7 +55089,7 @@
(read0): Rewrite to be nonrecursive.
* test/src/lread-tests.el (lread-deeply-nested, lread-misc): New tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-30 Mattias Engdegård <mattiase@acm.org>
Fix atimer setting and overdue expiration (bug#55628)
@@ -52777,14 +55106,14 @@
debug-timer-check to fail, but that test is only run when Emacs is
built with enable-checking).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-30 Eli Zaretskii <eliz@gnu.org>
Add more subscript and superscript characters to "C-x 8"
* lisp/international/iso-transl.el (iso-transl-char-map): Add more
numerical superscript and subscript characters. (Bug#55722)
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-30 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Rejang script (bug#55718)
@@ -52798,7 +55127,7 @@
* etc/HELLO: Add a Rejang greeting.
* etc/NEWS: Announce the new language environment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Get rid of `defvar-keymap' in flymake.el
@@ -52806,7 +55135,7 @@
(flymake-diagnostics-buffer-mode-map): Stop using
`defvar-keymap', since Flymake only requires Emacs 26.1.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Fix `dnd-indicate-insertion-point' on Mac OS
@@ -52816,7 +55145,7 @@
* src/nsterm.m ([EmacsView draggingUpdated:]): Redisplay here
instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Update frame positions on Haiku after changing Z group
@@ -52824,7 +55153,7 @@
* src/haikufns.c (haiku_set_z_group): Ask for a position update,
since changing the Z group might change the feel of the window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Fix cursor flushing inside minibuffers on NS
@@ -52832,7 +55161,7 @@
(ns_flush_display): New function.
(ns_redisplay_interface): Register `flush_display'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-30 Po Lu <luangruo@yahoo.com>
Fix hangs when x-get-selection is called inside a popup menu
@@ -52842,13 +55171,13 @@
* src/xterm.c (x_wait_for_cell_change): New function.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-30 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1b7b69e764 Some Tramp cleanup on MS Windows
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
Try to implement `dnd-indicate-insertion-point' on macOS
@@ -52858,7 +55187,7 @@
(syms_of_nsterm): Clean up old style defvars and add new
defvar for the DND drag function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
Further clean up DND target handling
@@ -52871,28 +55200,28 @@
(x_connection_closed, x_delete_terminal): Stop calling
`x_set_dnd_targets' manually to free the targets list.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
Fix crash when loading Postscript images
* src/xterm.c (handle_one_xevent): Catch errors around
`x_kill_gs_process'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
Use XDrawPoint to clear relief rect corners
* xterm.c (x_clear_point): New function.
(x_draw_relief_rect): Use that instead.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-29 Paul Eggert <eggert@cs.ucla.edu>
Document decoded-time-string issue on 6-elt args
* lisp/simple.el: Document problematic use of decoded-time-dst on
6-element args.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-29 Paul Eggert <eggert@cs.ucla.edu>
ISO 8601 strings sans "Z" don’t specify DST flag
@@ -52902,13 +55231,13 @@
* test/lisp/calendar/iso8601-tests.el (test-iso8601-combined)
(standard-test-time-of-day-zone): Adjust to new behavior.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-29 Paul Eggert <eggert@cs.ucla.edu>
Doc fix for dst flag
* doc/lispref/os.texi (Time Conversion): Note Common Lisp dst differs.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/shell.el (shell): Fix last change
@@ -52917,7 +55246,7 @@
While at it, make sure we set the `default-directory` of
the actual shell buffer after querying the user.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-29 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Batak script (bug #55694)
@@ -52934,14 +55263,14 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-29 Lars Ingebrigtsen <larsi@gnus.org>
Fix hfy-etags-cmd type
* lisp/htmlfontify.el (hfy-etags-cmd): Fix the type -- this
variable usually ends up being nil.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-05-29 Daniel Martín <mardani29@yahoo.es>
Fix reference to help-enable-variable-value-editing
@@ -52949,12 +55278,12 @@
correct variable name.
* lisp/ldefs-boot.el (help-mode): Ditto (bug#55705).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
* etc/tutorials/TUTORIAL.cn (INSTALLING PACKAGES): Translate
from English.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-29 Michael Albinus <michael.albinus@gmx.de>
Some Tramp cleanup on MS Windows
@@ -52964,7 +55293,7 @@
* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
Skip on MS Windows.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-29 Mattias Engdegård <mattiase@acm.org>
Traverse record literals in byte-compile--first-symbol-with-pos
@@ -52972,11 +55301,11 @@
Traverse record literals as well as vectors. Either is rather
pointless but there were some strong feelings about it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
* admin/alloc-colors.c: Fix missing declaration.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-05-29 Manuel Giraud <manuel@ledu-giraud.fr>
Make `count-words' count sentences.
@@ -52990,7 +55319,7 @@
* doc/emacs/basic.texi (Position Info): Update documentation for
sentence counting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
Keep display mm width and height up to date after changes
@@ -53001,7 +55330,7 @@
* src/xterm.h (struct x_display_info): New fields
`screen_mm_width', `screen_mm_height'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-29 Po Lu <luangruo@yahoo.com>
Make DND target list lifecycle a little clearer
@@ -53012,7 +55341,7 @@
(x_dnd_begin_drag_and_drop): Adjust to set targets here instead.
* src/xterm.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-29 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -53021,7 +55350,7 @@
fff770fb97 Fix a bad cross-reference in elisp.pdf
ebea3415b0 Fix documentation of 'string-pad'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-28 Po Lu <luangruo@yahoo.com>
Fix pending window changes in haiku_set_window_size
@@ -53029,14 +55358,14 @@
FRAME_RESIZED events, then call `do_pending_window_change'.
(haiku_read_socket): Allow waiting for FRAME_RESIZED events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-28 Po Lu <luangruo@yahoo.com>
Improve error trapping on X
* xterm.c (x_uncatch_errors, x_had_errors_p): Don't sync if no
request was made since the error trap was installed.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-05-28 kobarity <kobarity@gmail.com>
Fix Python Hideshow problem with backslash escaped newlines
@@ -53045,14 +55374,14 @@
python-nav-*-defun to handle backslash escaped newlines
(bug#55690).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-05-28 Visuwesh <visuweshm@gmail.com>
pp--insert-lisp: Don't bug out on certain forms at beginning of buffer
* pp.el (pp--insert): Check if point is in beginning of buffer before
calling `looking-back' (bug#55677).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
with-connection-local-variables: Avoid code duplication
@@ -53068,7 +55397,7 @@
extracted from `with-connection-local-variables`.
(with-connection-local-variables): Use it.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-28 Alan Mackenzie <acm@muc.de>
do_switch_frame: before leaving mini-window, check other (mru) window is live
@@ -53082,7 +55411,7 @@
this ostensible window is an actual live window. Otherwise leave the
mini-window selected.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-28 Eli Zaretskii <eliz@gnu.org>
Fix commands used to produce on-line HTML docs
@@ -53095,20 +55424,20 @@
Reported by "Facundo Lander via RT" <webmasters-comment@gnu.org>,
see gnu.org ticket #1840138.
-2023-04-15 Valenoern <valenoern@distributary.network> (tiny change)
+2022-05-28 Valenoern <valenoern@distributary.network> (tiny change)
Support html template tag in shr
* lisp/net/shr.el: Add shr-tag-template as a dummy tag.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-28 Lars Ingebrigtsen <larsi@gnus.org>
Fix native-comp of trampolines after previous change
* lisp/emacs-lisp/comp.el (comp--native-compile): Don't delete the
explicitly specified output file, just temp files.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-28 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Sundanese script (bug#55686)
@@ -53124,14 +55453,14 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-28 Eli Zaretskii <eliz@gnu.org>
Fix a bad cross-reference in elisp.pdf
* doc/lispref/control.texi (pcase Macro): Fix a conditional
cross-reference (bug#55689).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-28 Po Lu <luangruo@yahoo.com>
Fix dired drag-and-drop for certain Motif programs
@@ -53146,27 +55475,27 @@
(xselect-convert-to-dt-netfile): New functions.
(selection-converter-alist): New selection converter.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-28 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'string-pad'
* doc/lispref/strings.texi (Creating Strings): Fix description of
'string-pad'. (Bug#55688)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
d3cde28b03 Fix more occurrences of renamed kmacro-keymap command
bd5c95a90d Mention "unspecified-fg" and "unspecified-bg" in some doc ...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-28 Po Lu <luangruo@yahoo.com>
Add more cursor bitmaps on Haiku
* src/haikufns.c (cursor_bitmaps_for_id): Add hourglass cursor.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Improve documentation on what callers of `x-begin-drag' should do
@@ -53174,13 +55503,13 @@
* src/xfns.c (Fx_begin_drag): Improve documentation of how the
chosen action should be performed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Improve documentation of `x-begin-drag'
* src/xfns.c (Fx_begin_drag): Fix typos and improve wording.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Improve safety of various DND callbacks
@@ -53188,7 +55517,7 @@
events if DND is no longer in progress and don't call
x-dnd-movement-function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Fix frame destruction issues and misuse of x_get_atom_name
@@ -53202,14 +55531,14 @@
* src/xterm.h: Update declarations.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Fix build on earlier versions of Mac OS X
* src/nsselect.m (ns_decode_data_to_pasteboard): Respect
NS_USE_NSPasteboardTypeFileUrl.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Add file dragging support to NS port
@@ -53221,7 +55550,7 @@
type.
(ns_lisp_to_pasteboard, Fns_begin_drag): Handle new type `file'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Improve DND documentation
@@ -53229,34 +55558,34 @@
* src/xfns.c (Fx_begin_drag): Document that x-begin-drag may
return immediately if no mouse buttons are held down.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Fix x_dnd_movement_frame detection on GTK builds
* src/xterm.c (x_dnd_begin_drag_and_drop): Make sure movement
frame is on the correct display.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-27 Paul Eggert <eggert@cs.ucla.edu>
Remove stray decl of nonexistent var
* src/lisp.h (symbols_with_pos_enabled): Remove decl.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-27 Paul Eggert <eggert@cs.ucla.edu>
decoded-time-set-defaults now leaves DST alone
* lisp/calendar/time-date.el (decoded-time-set-defaults):
Don’t mess with decoded-time-dst (Bug#55635).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-27 Paul Eggert <eggert@cs.ucla.edu>
Fix unlikely null pointer dereference
* src/xselect.c (Fx_get_atom_name): Fix unlikely core dump when
build_string is called on a null pointer. Found by GCC -fanalyzer.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-27 Paul Eggert <eggert@cs.ucla.edu>
Add ATTRIBUTE_DEALLOC to extern functions
@@ -53267,13 +55596,13 @@
Include stdlib.h so that ‘free’ is declared.
* src/xterm.h (x_get_atom_name): Add ATTRIBUTE_DEALLOC_FREE.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-27 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -Wsuggest-attribute-malloc
* src/xterm.h (x_get_atom_name): Add ATTRIBUTE_MALLOC.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-27 Juri Linkov <juri@linkov.net>
Fix navigation in the *Completions* buffer and enable more tests (bug#54374)
@@ -53294,14 +55623,14 @@
(completion-auto-wrap-test, completions-header-format-test)
(completions-affixation-navigation-test): Uncomment fixed lines.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-27 Eli Zaretskii <eliz@gnu.org>
Extend 'C-x 8 =' to produce characters with macron
* lisp/international/iso-transl.el (iso-transl-char-map): Add
several new sequences for characters with macron. (Bug#55668)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/shell.el (shell): Query shell file name from `interactive`
@@ -53309,7 +55638,7 @@
and makes it easier to start a shell buffer running another shell than
your usual one.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-27 Eli Zaretskii <eliz@gnu.org>
Improve font selection on MS-Windows
@@ -53323,27 +55652,27 @@
* src/w32font.c (add_font_entity_to_list): Fix USB values of Arial
Unicode MS font according to its actual coverage of scripts.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-27 Lars Ingebrigtsen <larsi@gnus.org>
Make make-decoded-time use -1 for dst unless given
* lisp/calendar/time-date.el (make-decoded-time): DST -1 is the
value for "doesn't know", not nil (bug#55635).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-27 Lars Ingebrigtsen <larsi@gnus.org>
Make package-update-all also refresh the list
* lisp/emacs-lisp/package.el (package-update-all): Also refresh
package list.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Fix GNUstep build
* src/nsterm.h (NSPasteboardNameGeneral): Fix definition.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Fix NS drag and drop on macOS
@@ -53351,11 +55680,11 @@
* src/nsselect.m (Fns_begin_drag): Fix deprecation warnings and
selection/value mixup.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into x-window-xwidget
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Implement some drag and drop functions on NS
@@ -53377,11 +55706,11 @@
([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Clear that event.
([EmacsWindow dealloc]): Free last mouse event.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-27 Stefan Kangas <stefan@marxist.se>
* lisp/progmodes/asm-mode.el: Minor doc fixes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-27 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in some progmodes
@@ -53396,21 +55725,21 @@
* lisp/progmodes/mixal-mode.el (mixal-mode-map):
* lisp/progmodes/scheme.el (scheme-mode-map): Prefer defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-27 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler warning about x-pointer-invisible
* lisp/avoid.el (x-pointer-invisible): Declare to silence
byte-compiler.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-27 Juri Linkov <juri@linkov.net>
Fix more occurrences of renamed kmacro-keymap command
* doc/emacs/kmacro.texi (Basic Keyboard Macro): Fix documentation
after recent kmacro-redisplay command name change.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-27 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Javanese script (bug#55667)
@@ -53424,18 +55753,18 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
* etc/PROBLEMS: Document problems with PGTK input methods.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-27 Po Lu <luangruo@yahoo.com>
Update comments in some X code
* src/xterm.c (x_parse_color): Update comment.
(syms_of_xterm): Add new debugging option too.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-27 Eli Zaretskii <eliz@gnu.org>
Mention "unspecified-fg" and "unspecified-bg" in some doc strings
@@ -53444,21 +55773,21 @@
* lisp/color.el (color-name-to-rgb): Mention "unspecified-fg" and
"unspecified-bg" pseudo-colors on TTY frames. (Bug#55623)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
9283508fb2 Fix format specifiers in tramp-adb.el
a9f17ccce3 ; Fix some doc typos and minor language issues
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Fix XI scroll valuator reset on X Toolkit builds
* src/xterm.c (handle_one_xevent): Reset valuators on XI_Leave
if leave->event is an edit widget as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Improve lookup efficiency of color cache and prevent leaking
@@ -53469,14 +55798,14 @@
* src/xterm.h (struct x_display_info): New field
`color_names_length'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Handle allocation errors when creating menu items on Haiku
* src/haiku_support.cc (class EmacsMenuItem): Don't abort on
failed strdup.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Fix longjmp/siglongjmp mixup
@@ -53484,18 +55813,18 @@
(x_dnd_io_error_handler): Use `siglongjmp'. Reported by Ken
Brown <kbrown@cornell.edu>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-26 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-26 Stefan Monnier <monnier@iro.umontreal.ca>
package-activate-all: Use the quickstart more conservatively
* lisp/emacs-lisp/package.el (package-activate-all): Don't use the
quickstart file if some packages have already been activated.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-05-26 Sam Steingold <sds@gnu.org>
Avoid duplicates in `package-activated-list'
@@ -53503,7 +55832,7 @@
`package-activate-all' twice leads to duplicates in
`package-activated-list' - avoid that.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-26 Juri Linkov <juri@linkov.net>
Test suite for Completions UI (bug#54374)
@@ -53513,7 +55842,7 @@
(completion-auto-wrap-test, completions-header-format-test)
(completions-affixation-navigation-test): New tests.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-26 Stefan Monnier <monnier@iro.umontreal.ca>
eval.c: New functions `defvar-1` and `defconst-1` (bug#55156)
@@ -53543,20 +55872,20 @@
* doc/lispref/variables.texi (Defining Variables): Adjust the doc of
`defvar` to reflect the actual semantics implemented.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-26 Stefan Monnier <monnier@iro.umontreal.ca>
* test/lisp/files-resources/compile-utf8.el: Use lexical-binding
* etc/themes/leuven-dark-theme.el: Use lexical-binding
-2023-04-15 Hayden Shenk <hayden.shenk@zetier.com> (tiny change)
+2022-05-26 Hayden Shenk <hayden.shenk@zetier.com> (tiny change)
Fix format specifiers in tramp-adb.el
* lisp/net/tramp-adb.el (tramp-adb-get-device): Fix format
specifiers for port. (Bug#55651)
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-26 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Balinese script (bug#55648)
@@ -53572,7 +55901,7 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-26 Mattias Engdegård <mattiase@acm.org>
Faster and less recursive byte-compile--first-symbol-with-pos
@@ -53580,7 +55909,7 @@
(byte-compile--warning-source-offset):
Remove recursion for cdr-traversal of lists, and optimise (bug#55414).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Handle alternate actions for Motif drop targets
@@ -53593,39 +55922,39 @@
(x_dnd_begin_drag_and_drop): Keep track of the set of
alternative drag-and-drop actions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-26 Lars Ingebrigtsen <larsi@gnus.org>
Make comp--native-compile delete the temp file it creates
* lisp/emacs-lisp/comp.el (comp--native-compile): Delete the
temporary files we create (bug#55611).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-26 Lars Ingebrigtsen <larsi@gnus.org>
Make memory-report not bug out with symbols with positions
* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
Don't bug out when there are symbols with positions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Fix the `x_trace_wire' option
* src/xterm.c (x_trace_wire):
(x_term_init): Fix debugging code for modern C and Xlib.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-26 Po Lu <luangruo@yahoo.com>
Use x_get_atom_name for some more things
* src/xterm.c (x_dnd_send_unsupported_drop, x_dnd_send_drop):
Use x_get_atom_name instead of XGetAtomName.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
* src/xselect.c (Fx_register_dnd_atom): Use x_intern_cached_atom.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
Make X error checking more asynchronous
@@ -53645,20 +55974,20 @@
the X server and look for the error handler matching the display
and request serial when processing errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
Improve x_get_atom_name for some predefined atoms
* src/xterm.c (x_get_atom_name): Handle XSETTINGS and cm atoms.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
Fix 32-bit warnings again
* src/print.c (struct print_stack_entry): Make
u.list.tortoise_idx intmax_t.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-25 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Limbu script (bug#55621)
@@ -53673,7 +56002,7 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-25 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -53696,11 +56025,11 @@
# etc/NEWS
# lisp/abbrev.el
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-25 Juri Linkov <juri@linkov.net>
* lisp/subr.el (insert-for-yank): Add nil to run-hook-wrapped to keep looping.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
Lower the roundtrip overhead of x-get-atom-name by 50% for common atoms
@@ -53711,7 +56040,7 @@
(x_get_atom_name): New function.
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-25 Lars Ingebrigtsen <larsi@gnus.org>
Make yank-transform-functions into defvar
@@ -53719,7 +56048,7 @@
* lisp/simple.el (yank-transform-functions): Make into defvar
because it's not that useful as a user option.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-25 Jim Porter <jporterbugs@gmail.com>
Reset 'eshell-in-pipeline-p' when interpolating commands
@@ -53730,7 +56059,7 @@
(eshell-test/subcommand-reset-in-pipeline)
(eshell-test/lisp-reset-in-pipeline): New tests (bug#55620).
-2023-04-15 Paul W. Rankin <pwr@bydasein.com>
+2022-05-25 Paul W. Rankin <pwr@bydasein.com>
Change variable which-func-unknown to "n/a"
@@ -53739,14 +56068,14 @@
indicate an error whereas the latter is more indicative that the
current function is not known.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
Add more predefined atoms for the benefit of DND code
* src/xterm.c (x_intern_cached_atom): Handle `CARDINAL' and
`WINDOW' as well.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-25 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap in url/*.el
@@ -53754,7 +56083,7 @@
* lisp/url/url-dired.el (url-dired-minor-mode-map): Prefer
defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-25 Stefan Kangas <stefan@marxist.se>
Remove some ancient Emacs compat code
@@ -53768,7 +56097,7 @@
* lisp/progmodes/cfengine.el (cfengine-fill-paragraph): Remove Emacs
21 compat code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-25 Po Lu <luangruo@yahoo.com>
Improve atom interning in `x-change-window-property'
@@ -53778,73 +56107,73 @@
`predefined_only'. All callers changed.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Fix cursor color adjustment on Haiku
* src/haikufns.c (haiku_set_foreground_color): Maybe set cursor
color correctly if it was equal to the old foreground color.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't have edebug bug out if C-x is rebound
* lisp/emacs-lisp/edebug.el (edebug-global-prefix): Don't bug out
if C-x has been rebound (bug#55607).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Add more atoms that don't need a roundtrip to intern
* src/xterm.c (x_intern_cached_atom): Handle dpyinfo atoms that
depend on the screen number and common selection atoms.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Update edebug comments
* lisp/emacs-lisp/edebug.el: Update function name in comments
(bug#55607).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix ert-run-tests-batch-and-exit doc string typo
* lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit): Fix doc
string typo.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Autoload package-update-all
* lisp/emacs-lisp/package.el (package-update-all): Autoload and
tweak querying so that -f works.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Fix compilation on GTK when Xrandr is not present
* src/xterm.c (x_term_init): Make term always present on GTK.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix comp-mvar doc string quoting
* lisp/emacs-lisp/comp.el (comp-mvar): Fix quoting of symbol in
doc string.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-24 Mattias Engdegård <mattiase@acm.org>
Remove f90-mode regexp ambiguity (bug#17222)
* lisp/progmodes/f90.el (f90-font-lock-keywords-2):
Modify regexp to be better-behaved.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't use `format-message' to make doc strings in erc-backend
@@ -53853,13 +56182,13 @@
the doc string later when the user asks for help about the symbols
defined.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix a byte compilation warning in electric.el
* lisp/electric.el (electric-quote-mode): Quote a naked ‘ character.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Make byte compilation warn about wrong quoting in doc strings
@@ -53871,7 +56200,7 @@
(byte-compile-file-form-defvar-function, byte-compile-lambda)
(byte-compile-defvar, byte-compile-file-form-defalias): Adjust callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix the final divergent single quote usages in doc strings
@@ -53884,7 +56213,7 @@
(semantic-orphaned-member-metaparent-type): Audit usages of single
quotes in doc strings.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-24 Alan Mackenzie <acm@muc.de>
CC Mode: Fix interplay between string fences and electric-pair-mode.
@@ -53900,7 +56229,7 @@
(c-electric-brace, c-electric-lt-gt, c-electric-paren): Put the calls to
electric-pair-post-self-insert-function outside of c-with-string-fences.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-24 Stefan Monnier <monnier@iro.umontreal.ca>
Make `yank-transform-functions` a proper hook
@@ -53908,14 +56237,14 @@
`yank-transform-functions`.
* lisp/simple.el (yank-transform-functions): Adjust accordingly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix issue with nativecomp tests leaving files behind in /tmp
* test/src/comp-tests.el (comp-deftest): Ensure that no files are left
behind (bug#55611).
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-24 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Buhid and Tagbanwa scripts (bug#55610)
@@ -53932,14 +56261,14 @@
* etc/NEWS: Announce the new language environments and their
input methods.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Clean up a test file in /tmp
* test/src/buffer-tests.el (test-restore-buffer-modified-p): Clean
up autosave file in /tmp.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Add more error checking to some X functions
@@ -53956,21 +56285,21 @@
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Prevent errors when Lisp code asks for props of invalid windows
* src/xfns.c (Fx_window_property):
(Fx_window_property_attributes): Catch X errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Handle invalid NEWS files during describe-function
* src/help-fns.el (help-fns--first-release): Don't error if
searching for a heading fails.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-24 Jim Porter <jporterbugs@gmail.com>
Keep subcommands in pipelines from clobbering the head/tail processes
@@ -53985,21 +56314,21 @@
* doc/misc/eshell.texi (Bugs and ideas): Remove item about piping to
process from loop; this commit fixes it (bug#55590).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Tweak remapping fix for set-transient-map
* lisp/subr.el (set-transient-map): The remapping doesn't have to
be in this map.
-2023-04-15 Štěpán Němec <stepnem@gmail.com>
+2022-05-24 Štěpán Němec <stepnem@gmail.com>
Add elisp-eldoc-var-docstring-with-value function
* lisp/progmodes/elisp-mode.el
(elisp-eldoc-var-docstring-with-value): New function (bug#55096).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Make the nativecomp test eln directory more reliably be removed
@@ -54011,11 +56340,11 @@
* lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit): Create
the nativecomp directory.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Further audits of single quotes in Lisp doc strings
@@ -54048,7 +56377,7 @@
(ansi-color-names-vector): Audit use of various single quotes in
Lisp doc strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Audit symbol quoting in Lisp doc strings
@@ -54062,14 +56391,14 @@
* lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias):
Audit symbol quoting in Lisp doc strings.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-24 Michael Albinus <michael.albinus@gmx.de>
Add ".epub" to Tramp archive file suffixes.
* doc/misc/tramp.texi (Archive file names):
* lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".epub".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-24 Lars Ingebrigtsen <larsi@gnus.org>
Audit quoting symbols in C doc strings
@@ -54085,7 +56414,7 @@
* lib-src/make-docfile.c (scan_c_stream): Audit quoting symbols in C
doc strings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Allow the user to fix `x-mouse-click-focus-ignore-position' on some systems
@@ -54093,18 +56422,18 @@
(syms_of_xterm): Update doc string and add new option to adjust
the focus click timeout.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-24 Po Lu <luangruo@yahoo.com>
Fix use of wrong event structure handling XI_Enter events
* src/xterm.c (handle_one_xevent): Use `enter' instead of `xev'
to set the mouse click timeout.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
* src/nsmenu.m (ns_menu_show): Use SAFE_ALLOCA.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Minor fixes to cursor color handling on Haiku
@@ -54117,7 +56446,7 @@
* src/haikuterm.c (haiku_merge_cursor_foreground): Fix color
equality test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Only send fallback MONITORS_CHANGED_EVENT when dimensions really changed
@@ -54125,7 +56454,7 @@
configure width and height are not the same as the previously
recorded ones.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-23 Eli Zaretskii <eliz@gnu.org>
Avoid compiler warnings on macOS (bug#55595)
@@ -54133,7 +56462,7 @@
* src/comp.c (load_comp_unit): Avoid Clang compilation warning.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-23 Mattias Engdegård <mattiase@acm.org>
Less wrong printed circular list tail index (bug#55395)
@@ -54152,11 +56481,11 @@
* test/src/print-tests.el (print-test-rho, print-circular):
New test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-23 Eli Zaretskii <eliz@gnu.org>
* src/w32menu.c (w32_menu_show): Use SAFE_ALLOCA. (Bug#55068)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-23 Eli Zaretskii <eliz@gnu.org>
Fix saveplace.el when desktop.el restores non-ASCII buffers
@@ -54164,34 +56493,34 @@
'coding-system-for-read' to nil, so that the 'coding:' cookie in
the save-place file takes effect. (Bug#55592)
-2023-04-15 Tino Calancha <tino.calancha@gmail.com>
+2022-05-23 Tino Calancha <tino.calancha@gmail.com>
zap-to-char: Fix interactive specification
* lisp/simple.el (zap-to-char): Include t in the list.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Adapt last change to Haiku as well
* src/haikumenu.c (digest_menu_items, haiku_menu_show): Use
SAFE_ALLOCA for various temporary buffers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Fix stack overflows with large popup menus
* src/xmenu.c (x_menu_show): Allocate various stacks with
SAFE_ALLOCA.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Fix default child-frame-border-width on PGTK
* src/pgtkfns.c (Fx_create_frame): Make default
`child-frame-border-width' nil. (bug#55588)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Improve command-error-function discoverability
@@ -54199,7 +56528,7 @@
* src/keyboard.c (syms_of_keyboard): Add an example (bug#40750).
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-23 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Hanunoo script (bug#55581)
@@ -54214,21 +56543,21 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Make remapped keys work in set-transient-map
* lisp/subr.el (set-transient-map): Make remapped keys work in
transient maps (bug#40096).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Fix coding style of recent change
* src/emacs.c (main): Fix coding style by putting the = operator
on the right row.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Implement monitor change functions on Haiku
@@ -54246,7 +56575,7 @@
* src/haikuterm.c (haiku_read_socket): Handle new event.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Make `d' in Dired skip dot files
@@ -54254,21 +56583,21 @@
makes `C-u 10 d' (etc) consistent with marking the next ten lines
with the mouse and then hitting `d'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Include development data in --version output
* src/emacs.c (main): Include development into in --version output
(bug#38657).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-23 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (switch-to-buffer-other-tab): Use pop-to-buffer (bug#55582).
Replace display-buffer with pop-to-buffer that sets the current buffer
explicitly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Allow extending 'save-some-buffers'
@@ -54281,19 +56610,19 @@
(save-buffers-kill-emacs): Also use it to see if we have something
to save (bug#55579).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Make bootstrap remove more generated files
* Makefile.in (bootstrap-clean): Remove lisp/leim/ja-dic/.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-23 Lars Ingebrigtsen <larsi@gnus.org>
Make bootstrap remove the native-lisp/ directory
* Makefile.in (bootstrap-clean): Remove the native-lisp/ directory.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-23 Po Lu <luangruo@yahoo.com>
Minor fixes to PGTK child frames
@@ -54305,7 +56634,7 @@
child frames. There are no problems here.
* src/pgtkterm.c (pgtk_mouse_position): Clean up coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Implement monitor change functions on GNUstep
@@ -54321,14 +56650,14 @@
([EmacsApp updateMonitors:]): New method.
(syms_of_nsterm): New staticpro.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Handle screen size changes if the RandR library isn't available
* src/xterm.c (handle_one_xevent): [!HAVE_XRANDR]: Store
MONITORS_CHANGED_EVENT upon root window reconfiguration.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Fix `gui-backend-selection-owner-p' on Haiku
@@ -54343,7 +56672,7 @@
(Fhaiku_selection_owner_p): Update selection counts as well.
* src/haikuselect.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Use GDK for handling monitor changes when built with GTK
@@ -54356,7 +56685,7 @@
* src/xterm.h (struct x_display_info): Enable
`last_monitor_attributes_list' on GTK builds as well.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-05-22 F. Jason Park <jp@neverwas.me>
Recognize DCC SSEND when receiving files in erc-dcc
@@ -54370,7 +56699,7 @@
(erc-dcc-handle-ctcp-send): Set secure flag when a leading "S" appears
in the command type.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-05-22 F. Jason Park <jp@neverwas.me>
Accommodate nonstandard turbo file senders in erc-dcc
@@ -54397,7 +56726,7 @@
* test/lisp/erc/erc-dcc-tests.el: Add new file.
(Bug#54458)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-05-22 F. Jason Park <jp@neverwas.me>
Allow matching against string values in erc-dcc-member
@@ -54406,7 +56735,7 @@
(erc-dcc-do-GET-command): Pass file name when querying
`erc-dcc-member'. (Bug#54458)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-05-22 F. Jason Park <jp@neverwas.me>
Don't send reports in erc-dcc-get-filter when nested
@@ -54414,7 +56743,7 @@
"received so far" receipt if another attempt is still ongoing.
(Bug#54458)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-05-22 F. Jason Park <jp@neverwas.me>
Summarize failed transfers in erc-dcc
@@ -54425,11 +56754,11 @@
(erc-dcc-get-file): Tweak initialization of `erc-dcc-entry-data'.
(Bug#54458)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/cedet/semantic/fw.el: Fix typo
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
mode-local: Revert the deprecation of buffer-local overrides
@@ -54443,7 +56772,7 @@
d2e0d1452b976a51579cf044257326850804c562, and
3294ad44ebcd024b4ada68d00bedca33acc52de6.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix bytecomp-test--with-suppressed-warnings test
@@ -54451,7 +56780,7 @@
(bytecomp-test--with-suppressed-warnings): Adjust test to change
in warning message.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous warning suppression change
@@ -54461,14 +56790,14 @@
* lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
The `wrong-args' warning is really called `callargs'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warning in semantic-install-function-overrides
* lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
Suppress message about wrong number of arguments.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-22 Lars Ingebrigtsen <larsi@gnus.org>
Allow suppressing messages about the wrong number of arguments
@@ -54478,7 +56807,7 @@
(byte-compile-subr-wrong-args): Allow suppressing wrong number of
arguments.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-22 Juri Linkov <juri@linkov.net>
Enable keys M-down, M-up, M-RET for in-buffer completion
@@ -54497,7 +56826,7 @@
https://lists.gnu.org/archive/html/emacs-devel/2022-05/msg00916.html
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-22 Alan Mackenzie <acm@muc.de>
CC Mode: Restore string fence properties at each relevant external entry point
@@ -54529,28 +56858,28 @@
* lisp/progmodes/cc-guess.el (c-guess-region-no-install): These are all
"boundary" functions to CC Mode. Surround each by c-with-string-fences.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-05-22 kobarity <kobarity@gmail.com>
Don't font-lock invalid invalid class/function names
* lisp/progmodes/python.el (python-font-lock-keywords-level-1):
Don't font-lock invalid invalid class/function names (bug#55573).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
mode-local: Deprecate buffer-local overrides
* lisp/cedet/mode-local.el (mode-local-bind): Make all args mandatory.
Deprecate the use of a nil `mode` argument.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
semantic-install-function-overrides: Declare obsolete
* lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
Declare obsolete.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
wisent.el: Prefer `define-mode-local-override`
@@ -54565,7 +56894,7 @@
* lisp/cedet/semantic/grm-wy-boot.el: Refresh.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
wisent/grammar.el: Prefer `define-mode-local-override`
@@ -54575,7 +56904,7 @@
(wisent-grammar-mode): Don't override them with
`semantic-install-function-overrides`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
cedet/html.el: Prefer `define-mode-local-override`
@@ -54584,7 +56913,7 @@
(semantic-default-html-setup): Don't override via
`semantic-install-function-overrides`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
bovine/grammar.el: Prefer `define-mode-local-override`
@@ -54594,7 +56923,7 @@
(bovine-grammar-mode): Don't override them with
`semantic-install-function-overrides`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
cedet/texi.el: prefer `define-mode-local-override`
@@ -54603,7 +56932,7 @@
(semantic-default-texi-setup): Don't override them with
`semantic-install-function-overrides`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
comp.el: Cosmetic changes
@@ -54611,7 +56940,7 @@
(comp-run-async-workers): Don't set `buffer-read-only` directly.
(native--compile-async): Fix misuse of "path".
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
Run `minibuffer-exit-hook` in the right buffer
@@ -54619,11 +56948,11 @@
and run the hook in that buffer.
(read_minibuf): Adjust accordingly.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-22 Michael Albinus <michael.albinus@gmx.de>
* lisp/window.el (display-buffer-avoid-small-windows): Fix :type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Clean up Haiku code
@@ -54637,7 +56966,7 @@
* src/haikuterm.c (haiku_read_socket): Update comment.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-05-22 kobarity <kobarity@gmail.com>
Fix two typos in comments in python.el
@@ -54645,7 +56974,7 @@
(python-font-lock-keywords-maximum-decoration): Fix typos in
comments (bug#55557).
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-05-22 Damien Cassou <damien@cassou.me>
Fix submit-emacs-patch
@@ -54658,7 +56987,7 @@
* lisp/mail/emacsbug.el (submit-emacs-patch): Make sure point is in
the body before inserting new lines (bug#55571).
-2023-04-15 Lele Gaifax <lele@metapensiero.it>
+2022-05-22 Lele Gaifax <lele@metapensiero.it>
Properly indent Python PEP634 match/case blocks
@@ -54673,14 +57002,14 @@
python-indent-after-case-block): New tests to verify indentation of
"match" and "case" blocks (bug#55572).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Implement `display-monitors-changed-functions' on MS Windows
* src/w32term.c (w32_read_socket): Handle WM_DISPLAYCHANGE by
sending monitor change events.
-2023-04-15 Damien Cassou <damien@cassou.me>
+2022-05-22 Damien Cassou <damien@cassou.me>
Improve documentation of mail-user-agent.
@@ -54688,7 +57017,7 @@
* lisp/simple.el (mail-user-agent): Mention additional options
of non-bundled MUA. (Bug#5569)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Fix uninitialized use of xm drag receiver data
@@ -54696,14 +57025,14 @@
protocol is invalid. Reported by Jashank Jeremy
<jashank@rulingia.com.au>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Fix build with --enable-check-lisp-object-type
* src/xterm.c (handle_one_xevent): Fix use of Fequal. Reported
by Jashank Jeremy <jashank@rulingia.com.au>.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-22 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Tagalog script
@@ -54720,28 +57049,28 @@
input method.
(Bug#55529)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Fix use-after-free in x_destroy_window
* src/xterm.c (x_destroy_window): Fix use after free of the
dpyinfo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-22 Po Lu <luangruo@yahoo.com>
Fix focus redirection to/from surrogate minibuffer frames on Haiku
* src/haikuterm.c (haiku_get_focus_frame): New function.
(haiku_create_terminal): Register new hook.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Fix GNUstep build
* src/nsfns.m (ns_implicitly_set_icon_type): Don't use UTType if
GNUstep.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Fix compiler warnings on Mac OS X 10.12
@@ -54755,14 +57084,14 @@
initWithFrame:configuration:xwidget:]): Fix uses of obsolete
things.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Set display size upon RRScreenChangeNotify
* src/xterm.c (handle_one_xevent): Handle RRScreenChangeNotify
correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Don't unnecessarily call monitor change functions
@@ -54772,14 +57101,14 @@
* src/xterm.h (struct x_display_info): New field
`last_monitor_attributes_list'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-21 Eli Zaretskii <eliz@gnu.org>
More fixes in abbrev.el doc strings
* lisp/abbrev.el (inverse-add-global-abbrev, inverse-add-mode-abbrev):
Document the effect of negative ARG. (Bug#55527)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-21 Michael Albinus <michael.albinus@gmx.de>
Some cleanups in tramp-tests.el
@@ -54790,20 +57119,20 @@
(tramp--test-check-files): Delete directory recursively.
(tramp-test43-file-system-info): Make test more robust.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-05-21 kobarity <kobarity@gmail.com>
Fix recently introduced Python font lock breakage of chained assignments
* lisp/progmodes/python.el (python-font-lock-assignment-matcher):
Fix fontification of chained assignments (bug#54992).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-21 Michael Albinus <michael.albinus@gmx.de>
Merge from origin/emacs-28
f836ed098f Some minor Tramp fixes
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-21 Lars Ingebrigtsen <larsi@gnus.org>
Add new hooks when enabling and disabling themes
@@ -54811,21 +57140,21 @@
hooks (bug#37802).
(enable-theme, disable-theme): Call them.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-21 Lars Ingebrigtsen <larsi@gnus.org>
Add note about Tramp completion to completion-styles doc string
* lisp/minibuffer.el (completion-styles): Add note about Tramp
completion (bug#37954).
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-05-21 Arash Esbati <arash@gnu.org>
Remove mention of removed nnimap-nov-is-evil variable
* doc/misc/gnus.texi (Slow/Expensive Connection): Remove mention
of removed nnimap-nov-is-evil variable (bug#55556).
-2023-04-15 Tino Calancha <tino.calancha@gmail.com>
+2022-05-21 Tino Calancha <tino.calancha@gmail.com>
zap-to-char: case sensitive for upper-case characters
@@ -54844,7 +57173,7 @@
* test/lisp/simple-tests.el (with-zap-to-char-test): Add helper macro.
(simple-tests-zap-to-char): Add a test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Improve doc for `display-monitors-changed-functions'
@@ -54852,7 +57181,7 @@
retrieve the new monitor configuration inside
`display-monitor-attributes-list'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-21 Eli Zaretskii <eliz@gnu.org>
Improve documentation strings and prompts in abbrev.el
@@ -54878,7 +57207,7 @@
(add-abbrev, inverse-add-abbrev): Improve the prompt text.
(Bug#55527)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Fix compiler warnings in printer code on 32-bit systems
@@ -54888,7 +57217,7 @@
like it was before the nonrecursive printing was installed.
Also clarify what "Brent cycle detection" means in the comments.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-21 Po Lu <luangruo@yahoo.com>
Compute frame workareas on Haiku
@@ -54904,7 +57233,7 @@
function.
(syms_of_haikufns): Register new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Implement monitor change hooks on NS
@@ -54914,7 +57243,7 @@
* nsterm.m (ns_displays_reconfigured): New function.
(ns_term_init): Register display reconfiguration callbacks.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Call XRRUpdateConfiguration when the root window geometry changes
@@ -54922,7 +57251,7 @@
on RRScreenChangeNotify and upon ConfigureNotify events for the
root window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Implement `display-monitors-changed-hook' on PGTK
@@ -54931,7 +57260,7 @@
(pgtk_monitors_changed_cb): New function.
(pgtk_term_init): Attach new signal handler.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Add a hook run upon monitor configuration changes
@@ -54952,7 +57281,7 @@
* src/xterm.h (struct x_display_info): Improve RandR version
detection.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-20 Alan Mackenzie <acm@muc.de>
Restore the Fselect_window call in gui_consider_frame_title.
@@ -54975,7 +57304,7 @@
* src/xdisp.c (gui_consider_frame_title): Replace the Fselect_window call and
associated ancillary settings.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-20 Stefan Kangas <stefan@marxist.se>
Remove compat code; assume imenu.el exists
@@ -54986,28 +57315,28 @@
* lisp/speedbar.el (speedbar-use-imenu-flag): Remove compat code;
assume imenu.el exists.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-20 Eli Zaretskii <eliz@gnu.org>
Advise against settings in the MS-Windows system registry
* doc/emacs/cmdargs.texi (MS-Windows Registry): Advise against
setting environment variables in the system registry. (Bug#16429)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Check for allocation errors when setting XdndActionDescription
* src/xterm.c (x_dnd_begin_drag_and_drop): Check for BadAlloc
when setting action descriptions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-20 Eli Zaretskii <eliz@gnu.org>
Document 'enriched-toggle-markup'
* etc/enriched.txt: Document the new 'enriched-toggle-markup'
command. (Bug#33855)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-20 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option display-buffer-avoid-small-windows
@@ -55016,13 +57345,13 @@
option (bug#10186).
(get-lru-window): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-20 Lars Ingebrigtsen <larsi@gnus.org>
Clarify select-active-regions doc string
* src/keyboard.c (syms_of_keyboard): Clarify doc string (bug#29889).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Fix race conditions processing zoom events on Haiku
@@ -55033,14 +57362,14 @@
* src/haikuterm.c (haiku_read_socket): Use that instead of the
current frame's fullscreen mode.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-20 Lars Ingebrigtsen <larsi@gnus.org>
Re-fix previous `&' dired change
* lisp/dired-aux.el (dired-shell-stuff-it): Re-fix the previous
change -- the &wait was in the wrong place (bug#36331).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-05-20 Philip Kaludercic <philipk@posteo.net>
Add option to kill a shell buffer when the process ends
@@ -55048,14 +57377,14 @@
(shell): Respect 'shell-kill-buffer-on-quit'.
* NEWS: Mention 'shell-kill-buffer-on-quit'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Fix NS port warnings with GCC 12
* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground):
Clear s->char2b after function returns.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-20 Po Lu <luangruo@yahoo.com>
Remove flickering when toggling between different fullscreen states on Haiku
@@ -55066,7 +57395,7 @@
NONE.
(SetFullscreen): Use rect provided by ClearFullscreen instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Minor cleanups to X drag-and-drop code
@@ -55077,7 +57406,7 @@
(x_dnd_compute_toplevels): Don't hard-code the supported Motif
protocol version.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Implement `cross-disabled-images' on Haiku
@@ -55089,7 +57418,7 @@
* src/image.c (image_pixmap_draw_cross, image_disable_image):
Implement drawing cross on Haiku.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Rename compare-window-configurations and update doc
@@ -55103,14 +57432,14 @@
* src/window.c (Fwindow_configuration_equal_p): Rename (bug#14964).
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-05-19 Theodor Thornhill <theo@thornhill.no>
Fix typo and argument in treesit-beginning-of-defun, etc
* lisp/treesit.el (treesit-beginning-of-defun, treesit-end-of-defun):
Fix typo, add shield for argument.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Don't have the tutorial ask to save if we haven't moved
@@ -55118,7 +57447,7 @@
hasn't moved point (bug#37326).
(help-with-tutorial): Set the start point.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Implement more data type conversions for Haiku selections
@@ -55128,7 +57457,7 @@
(Fhaiku_drag_message): Recognize `double' and `float' types.
(syms_of_haikuselect): New defsyms.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix font-locking of (defun foo (function ...))
@@ -55136,7 +57465,7 @@
Don't colorize the `function' in (defun foo (function ...)) as a
special form (bug#37074).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Make diff--font-lock-prettify do less if we don't have a left fringe
@@ -55144,7 +57473,7 @@
insert/deletions from the buffer if we don't have a left fringe
(bug#37019).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Add a new command 'yank-in-context'
@@ -55156,21 +57485,21 @@
escaped-string-quote function.
* lisp/progmodes/sql.el (sql-mode): Define escaped-string-quote.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Fix session management detection of the first X display
* src/xterm.c (x_term_init): Check that there is no other
display in the chain instead of testing the terminal ID.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Clarify yank-transform-functions doc string
* lisp/simple.el (yank-transform-functions): Clarify calling
convention.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Make completion in emacs-lisp-mode intern fewer symbols
@@ -55178,21 +57507,21 @@
intern the string before point just to check whether we're looking
at `ignore-error' (bug#55491).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Make `&' in dired be more consistent wrt. user input
* lisp/dired-aux.el (dired-do-async-shell-command): Mention that
commands here don't accept input.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Add new command 'enriched-toggle-markup'
* lisp/textmodes/enriched.el (enriched-toggle-markup): New command
(bug#33855).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-19 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option 'yank-transform-functions'
@@ -55204,14 +57533,14 @@
* lisp/subr.el (insert-for-yank): Use it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-19 Eli Zaretskii <eliz@gnu.org>
Provide Oriya language-environment alongside Odia
* lisp/language/indian.el ("Oriya"): Add another name for the Odia
language-environment. (Bug#55493)
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-19 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Rename Oriya to Odia, and more
@@ -55230,7 +57559,7 @@
Add a Hindi greeting separate from the Devanagari one.
(Bug#55493)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Whitelist some incorrectly labeled "color" fonts under Xft
@@ -55243,21 +57572,21 @@
* src/xftfont.c (syms_of_xftfont): New variable
`xft-color-font-whitelist'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Fix tooltip buffer flipping inside popup menus
* src/xterm.c (x_flip_and_flush): Don't ignore if
`inhibit-redisplay' but F is a tooltip frame. (bug#55519)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Fix error handling when allowing touch events
* src/xterm.c (handle_one_xevent): Catch errors correctly when
linking touch points.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-05-19 João Távora <joaotavora@gmail.com>
Don't ignore flymake-no-changes-timeout
@@ -55284,7 +57613,7 @@
Suggested-by: Jim Davis <jim.jd.davis@gmail.com>
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/508
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-19 Eli Zaretskii <eliz@gnu.org>
Fix Flymake diagnostics reporting in non-UTF-8 locales
@@ -55294,14 +57623,14 @@
needed because ELisp files use UTF-8 by default, but Flymake
doesn't know about that, since it isn't specific to ELisp.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Fix specifying terminal names to some functions on Haiku
* src/haikufns.c (haiku_display_info_for_name): Implement
correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-19 Po Lu <luangruo@yahoo.com>
Satisfy Valgrind when iconifying frames
@@ -55309,7 +57638,7 @@
WM_CHANGE_STATE message to 0 instead of leaving it
uninitialized.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-18 Po Lu <luangruo@yahoo.com>
Fix race conditions processing frame fullscreen state on Haiku
@@ -55340,7 +57669,7 @@
* src/haikuterm.h (struct haiku_output): Remove flag `zoomed_p'
and add field `fullscreen_mode'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-18 Po Lu <luangruo@yahoo.com>
Respond to changes to the size of the root window
@@ -55354,7 +57683,7 @@
(x_display_pixel_height, x_display_pixel_width): Make
prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-18 Stefan Kangas <stefan@marxist.se>
Delete entry on SPC completes file names from FAQ
@@ -55362,14 +57691,14 @@
node: this is about a change that took place over 15 years ago and is
not likely to be a FAQ these days.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-18 Stefan Kangas <stefan@marxist.se>
Don't refer to obsolete Ultrix support in FAQ
* doc/misc/efaq.texi (Meta key does not work in xterm): Delete
reference to Ultrix; that platform support was removed in Emacs 23.1.
-2023-04-15 Paul Eggert <eggert@day>
+2022-05-18 Paul Eggert <eggert@day>
Avoid formatting twice in flymake
@@ -55377,14 +57706,14 @@
message twice, as that can translate quotes we don't want
translated.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-05-18 Augusto Stoffel <arstoffel@gmail.com>
Fix last change in minibuffer-lazy-highlight-setup
* lisp/isearch.el (minibuffer-lazy-highlight-setup): Apply advices
buffer-locally.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-18 Lars Ingebrigtsen <larsi@gnus.org>
Add a new display-buffer-full-frame display action
@@ -55396,14 +57725,14 @@
(display-buffer--action-function-custom-type): Add.
(display-buffer): Mention it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-18 Lars Ingebrigtsen <larsi@gnus.org>
Mention next-error-function in flymake-mode doc string
* lisp/progmodes/flymake.el (flymake-mode): Note that you can set
next-error-function (bug#32322).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-18 Po Lu <luangruo@yahoo.com>
Implement gamma-correction on Haiku
@@ -55413,7 +57742,7 @@
* src/haikuterm.c (haiku_defined_color): Gamma-correct colors if
their pixels are being allocated.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-18 Lars Ingebrigtsen <larsi@gnus.org>
Improve previous apropos-documentation-check-elc-file change
@@ -55421,7 +57750,7 @@
comment to explain what's going on and expand to lisp-directory
(bug#55492).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-18 Alan Mackenzie <acm@muc.de>
Fix M-x compile-defun when an interactive form is (list ...)
@@ -55436,7 +57765,7 @@
(byte-compile-make-closure): (Twice) strip symbols from positions in the doc
string expression. Add comments.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2022-05-18 Martin Rudalics <rudalics@gmx.at>
Clean up and simplify 'quit-restore-window' code
@@ -55445,7 +57774,7 @@
(quit-restore-window): Use 'window--quit-restore-select-window'
instead of 'quit-restore-select-window'. Simplify code.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-18 Mattias Engdegård <mattiase@acm.org>
Make printing mostly non-recursive (bug#55481)
@@ -55475,14 +57804,14 @@
* test/src/print-tests.el (print-deeply-nested):
New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-18 Po Lu <luangruo@yahoo.com>
Avoid dismissing GTK+ popup menus upon wheel movement
* src/xterm.c (handle_one_xevent): Don't forward XI button
events for wheel buttons to GTK+ when a popup menu is active.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-18 Po Lu <luangruo@yahoo.com>
Fix race conditions when calculating Haiku frame geometry
@@ -55493,7 +57822,7 @@
* src/haikufns.c (frame_geometry): Lock window before asking for
its dimensions and frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-17 Po Lu <luangruo@yahoo.com>
Don't allow moving fullscreen frames on Haiku
@@ -55501,14 +57830,14 @@
(haiku_set_offset): Prevent offset from changing in fullboth
frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-17 Po Lu <luangruo@yahoo.com>
Fix a crash when an X connection is dropped in some situations
* src/xterm.c (x_flip_and_flush): Don't try to flush if
`inhibit-redisplay' is t.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix apropos-documentation with universal argument
@@ -55516,14 +57845,14 @@
.elc files in the load path (and don't bug out on deleted .elc
files) (bug#55492).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-17 Stefan Kangas <stefan@marxist.se>
Recommend Wikipedia over Usenet in FAQ
* doc/misc/efaq.texi (Origin of the term Emacs): Recommend
Wikipedia over Usenet to find out more about TECO.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-17 Stefan Kangas <stefan@marxist.se>
Remove some ancient Emacs compat code
@@ -55534,27 +57863,27 @@
* lisp/textmodes/reftex.el (reftex-mode-menu):
* lisp/woman.el (woman-menu): Remove some ancient Emacs compat code.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-05-17 Matthias Meulien <orontee@gmail.com>
Update comment about comint-osc-handlers
* lisp/comint.el: Update comment about comint-osc-handlers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Allow running several commands in compilation-start
* lisp/progmodes/compile.el (compilation-start): Allow not erasing
the contents of the buffer (bug#28892).
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-05-17 Protesilaos Stavrou <info@protesilaos.com>
Use better word for "buffer" in Greek TUTORIAL (bug#55332)
* TUTORIAL.el_GR: Replace all instances of "αποσβεστήÏας" with the
more accurate "ενταμιευτής".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix bogus future history entries for `M-x grep'
@@ -55566,48 +57895,48 @@
(mailcap-file-default-commands '("grep --color=auto -nH --null '' "))
=> ("/usr/bin/emacs -nw")
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix kmacro-keymap binding after previous change
* lisp/kmacro.el (kmacro-keymap): Fix binding after
kmacro-redisplay command name change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Explain more about jit-lock-mode calling conventions
* lisp/jit-lock.el (jit-lock-mode): Explicitly explain ARG
(bug#55451).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Add glossary entries for "interactively"
* doc/emacs/glossary.texi (Glossary): Mention "interactively" and
how it relates to the "command" concept (bug#55461).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix pp-emacs-lisp-code printing of cons cells
* lisp/emacs-lisp/pp.el (pp--insert-lisp): Fix printing of cons
cells (bug#55478).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-05-17 Robert Pluim <rpluim@gmail.com>
Correct cycle-spacing-actions type
* lisp/simple.el (cycle-spacing-actions): Fix type for predefined
action with fixed numeric arg case.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-05-17 Robert Pluim <rpluim@gmail.com>
Clarify 'cycle-spacing-actions' docstring
* lisp/simple.el (cycle-spacing-actions): Clarify docstring.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-17 Po Lu <luangruo@yahoo.com>
Avoid race conditions when computing real frame positions on Haiku
@@ -55625,7 +57954,7 @@
* src/haikuterm.c (haiku_read_socket): Adjust accordingly.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-17 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Modi script
@@ -55646,7 +57975,7 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-17 Eli Zaretskii <eliz@gnu.org>
Fix the name of a kmacro command.
@@ -55655,7 +57984,7 @@
* etc/NEWS: Announce the change. (Bug#55471)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-17 Alan Mackenzie <acm@muc.de>
CC Mode: Correct a rare error in the state cache
@@ -55664,7 +57993,7 @@
c-state-brace-pair-desert. Instead record the position at the beginning of
that macro.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-17 Alan Mackenzie <acm@muc.de>
Correct indentation of opening brace in xdisp.c, which isn't at start of defun
@@ -55672,21 +58001,21 @@
substatement correctly. It's previous position, in column 0, caused
indentation errors in C Mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-17 Po Lu <luangruo@yahoo.com>
Fix unused function warning on X
* src/xsettings.c (xg_settings_key_valid_p): Surround with
HAVE_PGTK and HAVE_GSETTINGS.
-2023-04-15 Pieter van Prooijen <pieter.van.prooijen@teloden.nl>
+2022-05-17 Pieter van Prooijen <pieter.van.prooijen@teloden.nl>
Fix font options compilation with gsettings disabled
* src/xsettings.c (xsettings_get_font_options): Return a font_options
even if gsettings is not enabled.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-17 Po Lu <luangruo@yahoo.com>
Rewrite Haiku frame geometry code to handle decorator frames
@@ -55715,7 +58044,7 @@
* src/haikuterm.h (struct haiku_output): New field `frame_x' and
`frame_y'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix package-quickstart breakage
@@ -55723,21 +58052,21 @@
around syntax-ppss now clobbering match data (but it's not clear
whether that's supposed to be allowed) (bug#55447).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Improve Finternal__define_uninitialized_variable erroring
* src/eval.c (Finternal__define_uninitialized_variable): Say what
symbol we're bugging out on for easier debugging.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix edebug-tests test failure after prin1 change
* lisp/emacs-lisp/ert-x.el (ert--make-print-advice): Fix test
failures in edebug-tests.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-17 Michael Albinus <michael.albinus@gmx.de>
Some minor Tramp fixes
@@ -55750,7 +58079,7 @@
* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askquestion):
Keep regression tests running.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Remove extra EmacsPopUpMenu class
@@ -55759,42 +58088,42 @@
(BPopUpMenu_new): Use BPopUpMenu directly.
(BMenu_add_title): Clean up coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Add more cursor bitmaps on Haiku
* src/haikufns.c (cursor_bitmaps_for_id): Add vertd, horizd and
hand bitmaps.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Let XTread_socket read events for all non-DND displays
* src/xterm.c (XTread_socket): Allow reading events from
displays other than the DND display during drag-and-drop.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Fix byte swapping of some drag-and-drop messages
* src/xterm.c (SWAPCARD16, SWAPCARD32): Actually swap the data
instead of just calling bswap_32/bswap_16.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Fix detection of wheel movement during drag-and-drop
* src/xterm.c (x_dnd_send_position): Don't treat Button8 as the
mouse wheel.
-2023-04-15 kobarity <kobarity@gmail.com>
+2022-05-16 kobarity <kobarity@gmail.com>
Fix Python highlighting of some assignment statements
* lisp/progmodes/python.el (python-rx): Limit not-simple-operator
to a single line (bug#51362).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option compilation-hidden-output
@@ -55804,7 +58133,7 @@
(compilation-filter): Use it.
(compilation--hide-output): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-16 Lars Ingebrigtsen <larsi@gnus.org>
Don't expose Vprint_variable_mapping to Lisp
@@ -55815,7 +58144,7 @@
(print_bind_overrides): Call it.
(syms_of_print): Protect the mapping variable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-16 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Make TAB work in makefile mode when transient mark mode is on"
@@ -55824,7 +58153,7 @@
This change made hitting RET after an assignment insert a TAB character
(bug#55446).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-16 Lars Ingebrigtsen <larsi@gnus.org>
Improve newsticker file name handling and printing
@@ -55840,7 +58169,7 @@
rewritten by me, and has some contributions from Xavier Capaldi (which
doesn't need copyright assignment).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Document recent tooltip changes on NS
@@ -55848,14 +58177,14 @@
* etc/NEWS: Announce that non-system tooltips are now available
on Nextstep.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-16 Po Lu <luangruo@yahoo.com>
Improve error checking in `haiku-roster-launch'
* src/haikuselect.c (Fhaiku_roster_launch): Signal error if
FILE-OR-TYPE doesn't exist or ARGS does not apply.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-05-16 Tassilo Horn <tsdh@gnu.org>
Improve cycle-spacing and bind it to M-SPC by default
@@ -55876,7 +58205,7 @@
* etc/NEWS: Document that M-SPC is now cycle-spacing instead of
just-one-space.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -55884,13 +58213,13 @@
007bf9a34c Hide temporary FUSE files in Tramp
5dbaddc729 ; Fix some typos
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
48201ce8de ; * lisp/electric.el (electric-indent-mode): Fix a typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Improve safety of handling unsupported drop events on X
@@ -55898,7 +58227,7 @@
* src/xterm.c (handle_one_xevent): Check that the event frame is
still live after calling arbitrary Lisp code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Clean up Haiku code after file panel changes
@@ -55908,7 +58237,7 @@
* src/haikumenu.c (run_menu_bar_help_event): Ignore invalid help
events instead of aborting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Handle pointer axes changing along with scroll valuators
@@ -55918,18 +58247,18 @@
scroll valuator was found but valuators were set when handling
motion events.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-05-15 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.3-6-gef41f3
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-15 Stefan Kangas <stefan@marxist.se>
Minor clarification of package-update-all docstring
* lisp/emacs-lisp/package.el (package-update-all): Clarify
docstring slightly. (Bug#55408)
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-05-15 Augusto Stoffel <arstoffel@gmail.com>
Make minibuffer lazy highlight setup buffer-local where appropriate
@@ -55939,7 +58268,7 @@
'isearch-filter-predicate' buffer-local, so that isearch in the
minibuffer is not affected by the region filter (bug#55110).
-2023-04-15 Simen Heggestøyl <simenheg@runbox.com>
+2022-05-15 Simen Heggestøyl <simenheg@runbox.com>
Recognize some more SCSS selectors
@@ -55949,21 +58278,21 @@
* test/lisp/textmodes/css-mode-resources/scss-selectors.txt: Add tests
for them.
-2023-04-15 Simen Heggestøyl <simenheg@runbox.com>
+2022-05-15 Simen Heggestøyl <simenheg@runbox.com>
Fix warning suppression in (S)CSS mode tests
* test/lisp/textmodes/css-mode-tests.el (css-mode-test-selectors)
(scss-mode-test-selectors): Fix warning suppression.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix native-comp type of prin1-to-string
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix type
of prin1-to-string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-15 Lars Ingebrigtsen <larsi@gnus.org>
Adjust more prin1-to-string callers
@@ -55975,7 +58304,7 @@
(emit_limple_insn):
(emit_static_object): Adjust prin1-to-string callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-15 Lars Ingebrigtsen <larsi@gnus.org>
Add OVERRIDES argument to prin1/prin1-to-string
@@ -55994,7 +58323,7 @@
(print_bind_overrides, print_bind_all_defaults): New functions.
(Fprin1_to_string): Take an OVERRIDES parameter.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-15 Michael Albinus <michael.albinus@gmx.de>
Hide temporary FUSE files in Tramp
@@ -56002,14 +58331,14 @@
(tramp-fuse-handle-directory-files)
(tramp-fuse-handle-file-name-all-completions): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Make Haiku stipple display slightly faster
* src/haikuterm.c (haiku_draw_stipple_background): Draw tiled
bitmap to end of stipple instead of the end of the frame.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-15 Lars Ingebrigtsen <larsi@gnus.org>
Don't freeze Emacs on colour codes in sccs-mode
@@ -56017,27 +58346,27 @@
freeze Emacs on #ffffff #ffffff, and be more strict in parsing
selectors (bug#53203).
-2023-04-15 Simen Heggestøyl <simenheg@runbox.com>
+2022-05-15 Simen Heggestøyl <simenheg@runbox.com>
Update CSS Multi-column Layout Module properties
* lisp/textmodes/css-mode.el (css-property-alist): Update CSS
Multi-column Layout Module properties.
-2023-04-15 Simen Heggestøyl <simenheg@runbox.com>
+2022-05-15 Simen Heggestøyl <simenheg@runbox.com>
Update CSS Box Alignment Module properties
* lisp/textmodes/css-mode.el (css-property-alist): Update properties.
-2023-04-15 Simen Heggestøyl <simenheg@runbox.com>
+2022-05-15 Simen Heggestøyl <simenheg@runbox.com>
Add `all` to CSS property list
* lisp/textmodes/css-mode.el (css-property-alist): Add new property
`all` from the CSS Cascading and Inheritance Level 3 module.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Fix use of more invalid keys in PGTK GSettings code
@@ -56045,7 +58374,7 @@
(apply_gsettings_font_rgba_order): Test for key existence before
using it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Improve return value of `haiku-roster-launch'
@@ -56054,7 +58383,7 @@
application is already running.
(syms_of_haikuselect): New defsym.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-15 Po Lu <luangruo@yahoo.com>
Simplify Haiku cursor management code
@@ -56069,7 +58398,7 @@
(haiku_set_mouse_color):
* src/haikuterm.c (haiku_term_init): Adjust accordingly.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-15 Eli Zaretskii <eliz@gnu.org>
Fix database related to some scripts
@@ -56080,7 +58409,7 @@
* src/w32font.c (syms_of_w32font): Fix typos in some script symbol
names.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Syloti Nagri script
@@ -56096,7 +58425,7 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-05-15 Visuwesh <visuweshm@gmail.com>
describe-keymap: Suggest symbol at point
@@ -56104,13 +58433,13 @@
if it is a keymap. (Bug#55393)
* etc/NEWS: Announce change in behavior of 'describe-keymap'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
8370caa835 ; * lisp/electric.el (electric-indent-mode): Clarify doc (...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Allocate some buffers used during event handling safely
@@ -56118,7 +58447,7 @@
device disable data safely since they can potentially become
very large.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Prevent crashes trying to access nonexistent key
@@ -56126,14 +58455,14 @@
(apply_gsettings_font_antialias): Test that `font-aliasing' is
actually available. (bug#55416)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Fix scroll event translation for legacy button events
* src/xterm.c (handle_one_xevent): Don't treat emulated Button8
as a wheel event.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-14 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code for display-graphic-p
@@ -56145,7 +58474,7 @@
* lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove XEmacs
compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-14 Stefan Kangas <stefan@marxist.se>
Delete some compat code for very old Emacs versions
@@ -56158,11 +58487,11 @@
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Avoid using
obsolete name.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
src/lisp.h (FOR_EACH_TAIL_SAFE): Typo
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-14 Eli Zaretskii <eliz@gnu.org>
Make 'check-declare-directory' more portable
@@ -56170,7 +58499,7 @@
'directory-files-recursively' instead of running Find and Grep in
a subprocess. (Bug#55386)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-14 Stefan Kangas <stefan@marxist.se>
Drop ancient OEmacs support from vcursor.el
@@ -56179,21 +58508,21 @@
version of GNU Emacs V19.19" that worked "under plain MSDOS,
Windows, or DESQview/X".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-14 Stefan Kangas <stefan@marxist.se>
Remove Emacs 22 compat code from htmlfontify.el
* lisp/htmlfontify.el (hfy-prop-invisible-p): Redefine as obsolete
function alias for invisible-p. Update all callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-14 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from org-mode
* lisp/org/org-clock.el (org-clock-select-task): Remove XEmacs
compat code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Minor fixes for popup dialogs on macOS
@@ -56201,7 +58530,7 @@
([EmacsDialogPanel initWithTitle:isQuestion:]): Set command
title correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Fix processing of dialog box items on NS
@@ -56223,7 +58552,7 @@
* src/nsterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Avoid unsafe alloca when looking up toplevels
@@ -56231,7 +58560,7 @@
alloca isn't safe when there are lots of toplevels or the window
manager is broken.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-14 Eli Zaretskii <eliz@gnu.org>
Fix undigest-tests on MS-Windows
@@ -56247,7 +58576,7 @@
(rmail-undigest-test-multipart-mixed-digest): Force the temporary
mbox files to have Unix-style EOL format.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2022-05-14 Martin Rudalics <rudalics@gmx.at>
2022-05-14 Martin Rudalics <rudalics@gmx.at>
@@ -56255,7 +58584,7 @@
(quit-restore-window): Call 'quit-restore-select-window' to avoid
selecting inactive minibuffer window (Bug#55403).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Try to restore valuator values when a device is enabled
@@ -56263,7 +58592,7 @@
(xi_populate_device_from_info): Figure out all the values of the
valuators and set the scroll valuators's current_value to it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Better fix for disappearing menu items on NS
@@ -56273,7 +58602,7 @@
(ns_update_menubar): Note the last frame to have updated the
menu bar.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Add more cursor bitmaps on Haiku
@@ -56283,20 +58612,20 @@
(vertd_ptrmask_bits, hourglass_bits, hourglass_mask_bits): New
cursor bitmaps.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
a769cbfcfb Fix lexical-binding fallout in vhdl-mode.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-14 Po Lu <luangruo@yahoo.com>
Work around deleting tooltip frames clearing menubars on NS
* src/frame.c (delete_frame): Update menu bars if a tooltip
frame was deleted on NS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Implement non-system tooltips on NS
@@ -56315,7 +58644,7 @@
([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Handle
tooltip frames.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Put help-fns--compiler-macro last in the *Help* buffer
@@ -56323,7 +58652,7 @@
help-fns--compiler-macro the last entry (because it's not the most
interesting information).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Fix display class of tooltip frames on Haiku
@@ -56331,13 +58660,13 @@
class.
(syms_of_haikufns): New symbols `mono', `grayscale' and `color'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Restore `with-help-window' return code
* lisp/help.el (help--window-setup): Return the correct thing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Improve the *Help* output for compiler macros and the like
@@ -56346,7 +58675,7 @@
* lisp/help-fns.el (help-fns--compiler-macro): Also output data on
other byte compilation things, and link to the manual (bug#23264).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Reenable frame sync for child frames after they're unparented
@@ -56355,14 +58684,14 @@
* src/xterm.c (handle_one_xevent): Enable frame synchronization
upon receiving a sync request event.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Tweak querying in package-update-all
* lisp/emacs-lisp/package.el (package-update-all): Reverse the
QUERY logic to make calling more regular.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-13 Yuan Fu <casouri@gmail.com>
Extract out treesit-search-forward
@@ -56373,11 +58702,11 @@
'treesit-traverse-defun' with 'treesit-search-forward' and fiends.
* test/src/treesit-tests.el: Add reminder for tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-13 Yuan Fu <casouri@gmail.com>
* lisp/treesit.el (treesit-node-at): Add check for nil node.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-13 Yuan Fu <casouri@gmail.com>
Add defun navigation
@@ -56386,7 +58715,7 @@
treesit-end-of-defun): New functions.
* test/src/treesit-tests.el: Add reminders for tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-13 Yuan Fu <casouri@gmail.com>
New node traversal functions
@@ -56397,7 +58726,7 @@
* test/src/treesit-tests.el (treesit-node-supplemental): Add reminders
for tests.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-13 Yuan Fu <casouri@gmail.com>
Redefine treesit-node-at
@@ -56420,7 +58749,7 @@
treesit-indent): Use the new '-at' function.
* test/src/treesit-tests.el (treesit-node-supplemental): Update tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Use ert-with-temp-file in undigest-tests.el
@@ -56432,21 +58761,21 @@
(rmail-undigest-test-rfc1521-mime-digest)
(rmail-undigest-test-multipart-mixed-digest): Use ert-with-temp-file.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Don't use obsolete yow library
* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy):
Don't use obsolete yow library.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from flyspell.el
* lisp/textmodes/flyspell.el (flyspell-display-next-corrections):
Remove XEmacs compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from org-mode
@@ -56456,7 +58785,7 @@
* lisp/org/org.el (org-change-tag-in-region): Remove XEmacs compat
code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from eudc-bob.el
@@ -56464,11 +58793,11 @@
into obsolete alias for display-graphic-p. Update all callers.
(eudc-bob-display-jpeg): Remove XEmacs compat code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Add new minor mode `header-line-indent-mode'
@@ -56494,21 +58823,21 @@
* src/buffer.c (syms_of_buffer): Mention header-line-indent-mode.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Revert mistaken change in help-mode-setup
* lisp/help-mode.el (help-mode-setup): Revert mistakenly applied
change from cd87a5c7a.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Don't overwrite variables set by callback in help--window-setup
* lisp/help.el (help--window-setup): Initialize the buffer in the
correct order to avoid resetting variables set by the callback.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Don't clear out local variables in `with-help-window'
@@ -56522,11 +58851,11 @@
`with-temp-buffer-window'. Also don't clear out local variables,
because that makes things like `text-scale-mode' not work (bug#25979).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/lispref/help.texi (Keys in Documentation): Typo in last change
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow substitute-command-keys to include menus in \{...} output
@@ -56534,7 +58863,7 @@
* lisp/help.el (substitute-command-keys): Add an argument to
include menus in the \{...-map} output (bug#24236).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Include the number of dependencies in the install prompt
@@ -56542,14 +58871,14 @@
the info to the prompt (bug#23346).
(package--dependencies): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow calling package-update-all from the command line
* lisp/emacs-lisp/package.el (package-update-all): Allow calling from
the command line with -f package-update-all without any queries.
-2023-04-15 Pieter van Prooijen <pieter.van.prooijen@teloden.nl>
+2022-05-13 Pieter van Prooijen <pieter.van.prooijen@teloden.nl>
Use gsettings font rendering entries for pgtk builds
@@ -56574,24 +58903,24 @@
(xsetting_get_font_options)
* src/xsettings.h (xsettings_get_font_options): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Add a provide in epa-ks
* lisp/epa-ks.el (epa-ks): Add a provide (bug#55388).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from pascal.el
* lisp/progmodes/pascal.el (pascal-outline-map): Remove XEmacs compat
code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
* lisp/language/thai-util.el (thai-word-mode-map): Prefer defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix dabbrev expansion after recent file-name buffer addition
@@ -56599,7 +58928,7 @@
file name buffer from dabbrev--friend-buffer-list, so that we
don't trip over the killed buffer later (bug introduced in 2d0085f756).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-13 Lars Ingebrigtsen <larsi@gnus.org>
Make imenu-flush-cache into a function
@@ -56608,7 +58937,7 @@
* lisp/imenu.el (imenu-flush-cache): Make into a function, since
this isn't supposed to be used interactively.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-13 Eli Zaretskii <eliz@gnu.org>
Fix lexical-binding fallout in vhdl-mode.el
@@ -56618,7 +58947,7 @@
(vhdl-speedbar-insert-hierarchy): Rename the PACK-ALIST argument
to PACKAGE-ALIST, to avoid shadowing the global variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Allow changing the face used for text and frame colors in tooltips
@@ -56628,7 +58957,7 @@
determine the foreground, background and border colors of the
tooltip frame respectively.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Rely solely on device scaling for fonts on PGTK
@@ -56637,7 +58966,7 @@
(pgtk_term_init): Stop multiplying dpi by text scale.
(bug#55394)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Fix display of image reliefs for tab bars on NS
@@ -56645,7 +58974,7 @@
Synchronize code with X.
(ns_dumpglyphs_image): Use that function instead, as on X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Minor cleanups to PGTK code
@@ -56655,21 +58984,21 @@
(pgtk_term_init): Clean up coding style and fix scroll
increments.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Improve test for empty help-echo on NS menu bar items
* src/nsmenu.m ([EmacsMenu menu:willHighlightItem:]): Also check
if idx is valid.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Display help-echo for popup menus on NS
* src/nsmenu.m ([EmacsMenu menu:willHighlightItem:]): Display
help echo for ordinary popup menus as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Fix extraneous quit events processing GTK native input inside popups
@@ -56678,7 +59007,7 @@
* src/xterm.c (x_filter_event): Clear `xg_pending_quit_event' if
a popup is active.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Add more cursor bitmaps on Haiku
@@ -56688,13 +59017,13 @@
* src/haikugui.h (cross_ptr_bits, cross_ptrmask_bits)
(ibeam_ptr_bits, ibeam_ptrmask_bits): New cursor bitmaps.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f03c5d81bd Fix ControlPath quoting in Tramp
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Fix disabling frame synchronization on child frames
@@ -56702,7 +59031,7 @@
synchronization on child frames, since the CM doesn't send
synchronization events to them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-13 Po Lu <luangruo@yahoo.com>
Allow setting cursor colors for custom cursors on Haiku
@@ -56712,7 +59041,7 @@
(haiku_set_mouse_color): If a color was specified, consult
`cursor_bitmaps_for_id' for user-specified cursors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Allow actually setting cursor colors on Haiku
@@ -56733,18 +59062,18 @@
* src/haikuterm.c (haiku_defined_color): Clean up coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Fix quitting during drag-and-drop when GTK native input is on
* src/xterm.c (x_dnd_begin_drag_and_drop): Also look in
`xg_pending_quit_event' when GTK native input is on.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-12 Paul Eggert <eggert@cs.ucla.edu>
Update from gnulib
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-12 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 12 in default developer build
@@ -56782,7 +59111,7 @@
(x_term_init): Use fixed-size auto array rather than alloca,
as the array is small; this also pacifies GCC 12.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-12 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option 'sh-indent-statement-after-and'
@@ -56790,7 +59119,7 @@
user option (bug#22645).
(sh-smie-sh-rules): Use it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-12 Michael Albinus <michael.albinus@gmx.de>
Fix ControlPath quoting in Tramp
@@ -56798,14 +59127,14 @@
Adapt docstring. Do not quote ControlPath. Reported by Daniel
Kessler <kesslerd@umich.edu>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Remove unused RIF method
* src/haikuterm.c (haiku_update_window_end): Delete function.
(haiku_redisplay_interface): Remove RIF method.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-12 Lars Ingebrigtsen <larsi@gnus.org>
Make prompt read-only in inferior-scheme-mode
@@ -56813,7 +59142,7 @@
read-only to be more consistent with other inferior modes
(bug#21118).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix retrieving images that contain ) characters in shr
@@ -56821,7 +59150,7 @@
(shr-encode-url): Make obsolete. (This function makes no sense.)
(shr-tag-img): Don't call.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-12 Lars Ingebrigtsen <larsi@gnus.org>
Improve url-http debugging
@@ -56829,24 +59158,24 @@
headers we receive in the debug output.
* lisp/url/url-vars.el (url-extensions-header): Remove useless header.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Fix build on Mac OS X 10.11
* src/nsterm.h (NSButtonTypeMomentaryPushIn): New define.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-12 Stefan Kangas <stefan@marxist.se>
* lisp/array.el (array-mode-map): Prefer defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Fix searching the bitmap file path on Haiku
* src/image.c (image_create_bitmap_from_file): [HAVE_HAIKU]:
Look for the bitmap inside `x-bitmap-file-path' as well.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-12 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp's write-region
@@ -56857,7 +59186,7 @@
* lisp/net/tramp.el (tramp-skeleton-write-region):
Set extended attributes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Fix merging of anonymous faces with an `:extend' property on unexec
@@ -56867,7 +59196,7 @@
pdumper-specific section leaving the initialization of
`face_attr_sym' intact.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Improve mouse dragging
@@ -56875,7 +59204,7 @@
Respect foreground and background parameters.
(mouse-drag-and-drop-region): Enable fine grained tracking.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-12 Po Lu <luangruo@yahoo.com>
Make cursor display on Haiku consistent with X
@@ -56886,13 +59215,13 @@
(haiku_draw_window_cursor): Port code from X so bar cursors on
top of images are treated right.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix cperl-file-style defcustom type
* lisp/progmodes/cperl-mode.el (cperl-file-style): Fix the type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Clean up Haiku display opening code
@@ -56900,13 +59229,13 @@
(Fhaiku_frame_list_z_order): Improve error messages and fix
coding style.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Add new command 'imenu-flush-cache'
* lisp/imenu.el (imenu-flush-cache): New command (bug#20589).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
New command 'package-update-all'
@@ -56915,14 +59244,14 @@
(package--updateable-packages): Factored out...
(package-update): ... from here.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Port some stuff to XCB to avoid confusing Xlib behavior
* src/xterm.c (x_set_frame_alpha, handle_one_xevent): Port
retrieving the opacity property to XCB.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option switch-to-prev-buffer-skip-regexp
@@ -56931,7 +59260,7 @@
(switch-to-prev-buffer-skip-regexp): New user option (bug#19070).
(switch-to-prev-buffer-skip-p): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Bind TAB in indent-rigidly-map as a convenience
@@ -56939,28 +59268,28 @@
(indent-rigidly-map): Bind TAB so that `C-x TAB TAB...' does the
logical thing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Only handle SelectionRequest events from the DND display during DND
* src/xterm.c (handle_one_xevent): Handle only SelectionRequest
events from the DND frame's display via hold_quit.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Make message load eudc-capf more lazily
* lisp/gnus/message.el (eudc-capf): Remove require, because all
the relevant eudc-capf functions are autoloaded, apparently.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Make anchored regexps work in image-dired-mark-tagged-files
* lisp/image-dired.el (image-dired-mark-tagged-files): Make
anchored regexps work (bug#55375).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix non-variable widgets in the 'H' command in Cus-mode
@@ -56969,7 +59298,7 @@
(custom-toggle-hide-all-widgets): Rename and work for all widget
types, not just variables.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Adjust restore-buffer-modified-p autosaved logic
@@ -56980,7 +59309,7 @@
around `autosaved': It means "the buffer is modified, and also
autosaved".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Make C-u M-x apropos-user-option include buttons
@@ -56989,21 +59318,21 @@
(apropos-print-doc): Don't insert three spaces in the
non-apropos-multi-type case.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-11 Stefan Monnier <monnier@iro.umontreal.ca>
(byte-compile-eval): Avoid some false positive "noruntime" warnings
* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Loosen the check
before refraining from adding a function to noruntime.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix regression in edmacro-finish-edit when parsing "none"
* lisp/edmacro.el (edmacro-finish-edit): Use `kbd' here because
we're comparing the result to a string (bug#55372).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-11 Paul Eggert <eggert@cs.ucla.edu>
functionp doc improvement
@@ -57011,7 +59340,7 @@
Document functionp a bit more carefully. It can return t
on non-functions.
-2023-04-15 Tino Calancha <tino.calancha@gmail.com>
+2022-05-11 Tino Calancha <tino.calancha@gmail.com>
char-uppercase-p: New predicate
@@ -57024,7 +59353,7 @@
* doc/lispref/display.texi (Size of Displayed Text): Document it.
* test/lisp/subr-tests.el (test-char-uppercase-p): Add a test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-11 Michael Albinus <michael.albinus@gmx.de>
Improve handling of `tramp-set-file-uid-gid'
@@ -57034,21 +59363,21 @@
* test/lisp/net/tramp-tests.el (tramp-test27-load): Adapt test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Clarify precedence rules in Active Display Table manual node
* doc/lispref/display.texi (Active Display Table): Say what "takes
precedence" means here (bug#18546).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Allow giving switches to the program in `M-x term'
* lisp/term.el (term, ansi-term): Allow giving switches to the
program (bug#18105).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous cperl-file-style change
@@ -57056,11 +59385,11 @@
(cperl-mode): Add it to hack-local-variables-hook to really set
the cperl style.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option 'cperl-file-style'
@@ -57069,14 +59398,14 @@
(cperl-mode): Mention it.
(cperl-style-alist): Mention it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix fontification of multi-line declarations in f90-mode
* lisp/progmodes/f90.el (f90-font-lock-keywords-2): Fontify
multi-line declarations (bug#17222).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-11 Stefan Kangas <stefan@marxist.se>
* etc/NEWS: Improve some entries.
@@ -57088,21 +59417,21 @@
* lisp/calendar/diary-lib.el (diary-mode-map): Prefer defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Add grep-files-aliases entry for .am files
* lisp/progmodes/grep.el (grep-files-aliases): Add an alias for
.am files (bug#16921).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Make recent nicknames erc change more backwards-compatible
* lisp/erc/erc-button.el (erc-button-add-buttons): Make the
nicknames change more backwards-compatible (bug#16271).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Add new command 'vc-dir-mark-by-regexp'
@@ -57110,7 +59439,7 @@
* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind it to `%'.
(vc-dir-mark-by-regexp): New command (bug#16460).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Add support for changing pointer types on Haiku
@@ -57145,21 +59474,21 @@
* src/haikuterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warning in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gud-go): Fix compilation warning
introduced by previous change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Bind gud-go and allow the prefix to enter arguments
* lisp/progmodes/gdb-mi.el (gdb): Bind gud-go to `C-c C-v' and
allow a prefix to enter arguments (bug#10106).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Don't signal errors in check-declare-directory
@@ -57167,14 +59496,14 @@
bug out if we don't find any files with declare-function:(bug#55354)
because this is a predicate function, and that's inconvenient.
-2023-04-15 Yoav Marco <yoavm448@gmail.com> (tiny change)
+2022-05-11 Yoav Marco <yoavm448@gmail.com> (tiny change)
(sqlite-mode--column-names): Suppport nested parens
* lisp/sqlite-mode.el (sqlite-mode--column-names): Make parsing
more resilient (bug#55363).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Add meta navigation keys to outline-minor-mode-cycle-map"
@@ -57182,14 +59511,14 @@
These key bindings are too intrusive.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Don't try to toggle untogglable widgets in custom-toggle-hide-all-variables
* lisp/cus-edit.el (custom-toggle-hide-all-variables): Only toggle
the widgets that can be toggled.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Warn about quoted symbols in defcustom choice/other forms
@@ -57198,7 +59527,7 @@
(byte-compile-nogroup-warn): Use it to warn about forms like
(choice (const :tag "foo" 'bar)).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Use `nicknames' instead if `'nicknames' in erc-button-alist
@@ -57207,11 +59536,11 @@
(bug#16271).
(erc-button-add-buttons): Adjust usage.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix more defcustom :type errors
@@ -57219,7 +59548,7 @@
* lisp/vc/vc-rcs.el (vc-rcs-master-templates): Remove quote
characters inserted by mistake.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-11 Mattias Engdegård <mattiase@acm.org>
Remedy ineffective backslashes and fix regexps
@@ -57230,11 +59559,11 @@
* lisp/simple.el (scratch-buffer, get-scratch-buffer-create):
Remove ineffective backslashes.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-05-11 Mattias Engdegård <mattiase@acm.org>
* src/lisp.h (FOR_EACH_TAIL_INTERNAL): Faster node comparison.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Fix mouse pointer avoidance in some configurations
@@ -57250,7 +59579,7 @@
invisible cursors.
* src/xterm.h: Update prototypes.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-11 Juri Linkov <juri@linkov.net>
* lisp/textmodes/string-edit.el: Improvements for pop-to-buffer (bug#33007)
@@ -57258,21 +59587,21 @@
with fit-window-to-buffer after the buffer is filled with text.
(string-edit-done, string-edit-abort): Use (quit-window 'kill).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Make Haiku event buffer non-static
* src/haikuterm.c (haiku_read_socket): Don't make `buf' static
in case thread yielding happens inside.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-11 Po Lu <luangruo@yahoo.com>
Fix event memory leak on Haiku
* src/haikuterm.c (haiku_read_socket): Allocate event buffer on
the stack.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Fix frame invalidation on Haiku
@@ -57283,7 +59612,7 @@
(haiku_draw_window_cursor, haiku_draw_fringe_bitmap): Fix region
invalidation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Try to preserve font styles in the Haiku font dialog
@@ -57292,34 +59621,34 @@
exists in the new family as well, select it after adding the new
items.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Make reliefs on Haiku more like X
* src/haikuterm.c (haiku_draw_relief_rect): Use frame background
(normal GC) for corners.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Clean up some MAYBE_UNUSED functions
* src/xterm.c (x_clear_area1): Wrap in the conditions where it
will actually be used.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-10 Paul Eggert <eggert@cs.ucla.edu>
* src/eval.c (Ffunctionp): Clarify "function" in doc string.
* src/floatfns.c: Update comment.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-10 Paul Eggert <eggert@cs.ucla.edu>
Port libm configure-time test to Solaris 11.4
* configure.ac (LIB_MATH): Check all the math.h functions
that Emacs uses, not just sqrt (Bug#55294).
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-05-10 Alexander Adolf <alexander.adolf@condition-alpha.com>
EUDC: Add completion-at-point support
@@ -57331,7 +59660,7 @@
describing the new `completion-at-point' mechanism in `message-mode'.
* etc/NEWS (EUDC): Describe the new `completion-at-point' method.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-10 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Siddham script
@@ -57346,7 +59675,7 @@
* etc/NEWS: Announce the new language environment and its
input method. (Bug#55350)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix some quoting problems in defcustom :type
@@ -57356,14 +59685,14 @@
* lisp/eshell/em-hist.el (eshell-hist-ignoredups): Fix invalid
quoting in :type.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Add new command to toggle hiding all widgets in a Customize buffer
* lisp/cus-edit.el (custom-commands): Add menu entry.
(custom-toggle-hide-all-variables): New command (bug#15748).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Use fields on log-edit headers (which changes `C-a' behaviour)
@@ -57371,7 +59700,7 @@
headers so that `C-a' takes us to the start of the string, not the
line (bug#15645).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Make ispell-region/buffer push the mark of the final word
@@ -57380,13 +59709,13 @@
(ispell-process-line): Change the return value to include the
position of the final word.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix markup in read-number doc string
* lisp/subr.el (read-number): Fix markup for the letter.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Allow packages to alter menu entries in the Buffers menu
@@ -57394,34 +59723,34 @@
(menu-bar-buffers-menu-command-entries): Put the entries into the
defvar so that packages can modify it (bug#14244).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Improve display of relief rectangles on NS
* src/nsterm.m (ns_draw_relief): Respect cursor color and draw
corners like X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Respect `alpha-background' drawing relief corners
* src/xterm.c (x_draw_relief_rect): Respect background alpha for
corner rects.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Make `apropos-variable' include values in output
* lisp/apropos.el (apropos-print): Include variable values in the
output (bug#13842).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Fix display of depressed buttons
* src/xterm.c (x_draw_relief_rect): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Improve relief rect handling on Haiku
@@ -57431,7 +59760,7 @@
(haiku_draw_string_box, haiku_draw_image_relief): Adjust
accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Fix X11 relief background clearning when hwidth is larger than vwidth
@@ -57440,7 +59769,7 @@
(x_draw_relief_rect): Complete rewrite. Use more sensible
primitives.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Improve display of reliefs on NS
@@ -57449,21 +59778,21 @@
* src/nsterm.m (ns_draw_relief): Draw outer edges of box like on
X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Handle deletion of opacity property too
* src/xterm.c (handle_one_xevent): Clear `alpha' frame parameter
when opacity prop is gone or invalid.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Work around some broken programs when reading opacity prop
* src/xterm.c (handle_one_xevent): Accept some other types that
property is set to by thoughtless programs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix bibtex-map-entries regression at bobp
@@ -57471,7 +59800,7 @@
introduced by c32e8b33f (bug#55342) -- don't fail when the first
entry is at bobp.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -57480,7 +59809,7 @@
177718bc6d Update string-to-number documentation to bignum Emacs
74cc3b525f Fix doc string references to tags-loop-continue
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-10 Po Lu <luangruo@yahoo.com>
Simplify Haiku selection code
@@ -57507,7 +59836,7 @@
* src/haikuselect.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Add more compilation-auto-jump-to-first-error options
@@ -57520,28 +59849,28 @@
(compilation-find-file-1): Factored out into own function.
(compilation-find-file): Factored out from here.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Make dabbrev use the buffer's file name as a source for completions
* lisp/dabbrev.el (dabbrev--find-expansion): Include the buffer's
file name in the completions (bug#8163).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Make imenu find defalias entries
* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
Also find defalias (bug#7855).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Simplify XDND code
* src/xfns.c (Fx_begin_drag): Use SAFE_ALLOCA_STRING and encode
strings in the right coding system.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-05-09 Sean Whitton <spwhitton@spwhitton.name>
Factor out *scratch* initialization
@@ -57559,14 +59888,14 @@
* doc/lispref/os.texi (Summary: Sequence of Actions at Startup):
* NEWS (Incompatible changes in Emacs 29.1): Document the change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entries for recent autosaved buffer modification status
* doc/lispref/buffers.texi (Buffer Modification): Note 'autosaved'
value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Reimplement recent with-silent-modifications auto-save changes
@@ -57584,7 +59913,7 @@
* src/fileio.c (Fdo_auto_save): Refill the doc string.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-05-09 Andrea Corallo <akrl@sdf.org>
Fix syntax descriptor comparison in python-indent-region
@@ -57592,7 +59921,7 @@
syntax descriptors with equal (bug#45328) (because comparing them with
eq will always be false).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Update alpha frame parameter when the window manager changes it
@@ -57606,14 +59935,14 @@
changes.
* src/xterm.h (struct x_output): New flag `alpha_identical_p'.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-09 Yuan Fu <casouri@gmail.com>
Fix compilation warnings
* src/treesit.c: Add static keywords, remove unused variables, add
const qualifier.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-09 Yuan Fu <casouri@gmail.com>
Remove call to nconc to improve performance
@@ -57623,7 +59952,7 @@
capture_range.
(Ftreesit_query_capture): Remove call to nconc.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-05-09 Theodor Thornhill <theo@thornhill.no>
Use format string instead of concat
@@ -57633,7 +59962,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/948
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-09 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Sharada script
@@ -57648,7 +59977,7 @@
* etc/NEWS: Announce the new language environment and its
input method. (Bug#55328)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-09 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp tests
@@ -57674,29 +60003,29 @@
(tramp-test39-make-lock-file-name)
(tramp-test39-detect-external-change): Extend tests.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-09 Eli Zaretskii <eliz@gnu.org>
Remove the AUCTeX subsection from MS-Windows FAQ
* doc/misc/efaq-w32.texi (AUCTeX): Remove the subsection, it is no
longer useful. (Bug#55330)
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-05-09 Protesilaos Stavrou <info@protesilaos.com>
Shorten note about didactic space in TUTORIAL.el_GR (bug#55332)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
* src/haikuterm.c (haiku_draw_fringe_bitmap): Set stipple flag.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Fix reading faces with a default value that is a symbol
* lisp/faces.el (read-face-name): Don't try to intern face if it
is already a symbol.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Fix scroll optimizations being enabled for some rows with stipples
@@ -57708,14 +60037,14 @@
* src/xterm.c (x_draw_fringe_bitmap): Set row->stipple.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Make ediff-show-diff-output work better on unsaved buffers
* lisp/vc/ediff-util.el (ediff-show-diff-output): Make the `D'
command work on unsaved buffers without a prefix (bug#45016).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-05-09 João Távora <joaotavora@gmail.com>
Allow non-interactive use of eldoc-doc-buffer
@@ -57723,7 +60052,7 @@
non-interactive use.
(Version): Bump minor.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Copy edits for the regexp sections in the manuals
@@ -57731,28 +60060,28 @@
* doc/emacs/search.texi (Regexps, Regexp Backslash): Copy edits
from Jay Bingham (bug#41970).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Respect display scale factor drawing underwaves on Haiku
* src/haikuterm.c (haiku_get_scale_factor): New function.
(haiku_draw_underwave): Apply said factor.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Add meta navigation keys to outline-minor-mode-cycle-map
* lisp/outline.el (outline-minor-mode-cycle-map): Add meta
navigate keys (bug#41129).
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-05-09 Arash Esbati <arash@gnu.org>
Update AUCTeX FAQ entry
* doc/misc/efaq-w32.texi (AUCTeX): AUCTeX project isn't providing
pre-compiled versions for Windows anymore (bug#55330).
-2023-04-15 Vladimir Nikishkin <for.emacs-table.el-environment-patch_2022-05-09@lockywolf.net>
+2022-05-09 Vladimir Nikishkin <for.emacs-table.el-environment-patch_2022-05-09@lockywolf.net>
Add new user option table-latex-environment
@@ -57760,28 +60089,28 @@
option (bug#55333).
(table--generate-source-prologue): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Update string-to-number documentation to bignum Emacs
* doc/lispref/strings.texi (String Conversion): string-to-number
no longer converts integers to floating point numbers (bug#55334).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix doc string references to tags-loop-continue
* lisp/vc/vc-dir.el (vc-dir-search, vc-dir-query-replace-regexp):
Fix reference to obsolete tags-loop-continue (bug#55311).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Fix file-based launching on Haiku
* src/haikuselect.c (Fhaiku_roster_launch): Canonicalize file
names before using them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-09 Po Lu <luangruo@yahoo.com>
Use default external browser by default on Haiku
@@ -57796,20 +60125,20 @@
(Fhaiku_roster_launch): New function.
(syms_of_haikuselect): Update defsubrs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1d012e0a62 Linux console: don't translate ESC TAB to `backtab' in inp...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix stipple bitmap caching on Haiku
* src/image.c (image_create_bitmap_from_file): Set file name on
the bitmap rec on Haiku.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Allow disabling Motif drag protocol
@@ -57818,7 +60147,7 @@
new variable.
(syms_of_xterm): New variable `x-dnd-disable-motif-drag'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Allow precision-scrolling nonselected windows when the minibuffer is resized
@@ -57837,7 +60166,7 @@
* src/xdisp.c (redisplay_window): Preserve the vscroll inside
force_start on frozen windows with that flag set. (bug#55312)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix race conditions in handling of unsupported drops on X
@@ -57862,7 +60191,7 @@
* src/xterm.h: Update prototypes.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-05-08 João Távora <joaotavora@gmail.com>
Fix egregious thinko in eglot--uri-to-path
@@ -57877,7 +60206,7 @@
* eglot.el (eglot--uri-to-path): Fix thinko.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-05-08 João Távora <joaotavora@gmail.com>
Consider diagnostic.code when generating flymake diagnostics
@@ -57890,7 +60219,7 @@
* eglot.el (eglot-handle-notification): Consider Diagnostic.code.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-05-08 Sean Whitton <spwhitton@spwhitton.name>
remember-notes: Use pop-to-buffer-same-window not switch-to-buffer
@@ -57898,7 +60227,7 @@
pop-to-buffer-same-window rather than switch-to-buffer, to allow
customization via display-buffer-alist.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-08 Juri Linkov <juri@linkov.net>
Minor documentation improvements for completions commands and options
@@ -57907,7 +60236,7 @@
(Completion Options): Improve documentation of completions-format
and completions-sort.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-05-08 Protesilaos Stavrou <info@protesilaos.com>
Add Greek translation of the tutorial
@@ -57920,7 +60249,7 @@
* lisp/language/greek.el (set-language-info-alist): Link to the
tutorial and include sample text.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-08 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Tirhuta script
@@ -57935,18 +60264,18 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/oclosure.el (oclosure-define): Fix empty case
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-08 Lars Ingebrigtsen <larsi@gnus.org>
Don't hang on trying to rename FIFOs between file systems
* src/fileio.c (Frename_file): Don't hang on trying to move FIFOs
(bug#34069).
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-05-08 Visuwesh <visuweshm@gmail.com>
dired-do-query-replace-regexp doc string fix
@@ -57956,14 +60285,14 @@
(cherry picked from commit 4c505203f9171886f47638779326e257a95a1d79)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix display of fringes with stipples on X
* src/xterm.c (x_draw_fringe_bitmap): Set fill style and use
fill function correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix display of fringes with stipples on Haiku
@@ -57972,7 +60301,7 @@
(haiku_draw_fringe_bitmap): Handle display of stipples if
present.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-08 Alan Mackenzie <acm@muc.de>
CC Mode: Fix bug in c-parse-state. Fixes bug #55181.
@@ -57980,7 +60309,7 @@
literal, return the start of that literal as a "good pos", not the parameter
POS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Set stipple flag on PGTK as well
@@ -57989,7 +60318,7 @@
(pgtk_draw_fringe_bitmap):
(pgtk_defined_color): Fix coding style.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-08 Lars Ingebrigtsen <larsi@gnus.org>
Allow term-mode to send function keys to the underlying shell
@@ -57998,14 +60327,14 @@
(term-send-function-key): Send the function key to the underlying
shell (bug#29920).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Set stipple flags on Haiku as well
* src/haikuterm.c (haiku_draw_glyph_string): Set stipple flag
where stipples are actually drawn. (This is different from X.)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Disable scrolling optimizations when a stipple is present
@@ -58022,7 +60351,7 @@
(x_draw_stretch_glyph_string, x_draw_glyph_string): Set
`stipple_p' if a stipple pattern was drawn.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-05-08 Alan Mackenzie <acm@muc.de>
Linux console: don't translate ESC TAB to `backtab' in input-decode-map.
@@ -58036,7 +60365,7 @@
wrongly doing the same thing as M-TAB, giving tips about amending the Linux
keyboard layout.
-2023-04-15 Visuwesh <visuweshm@gmail.com>
+2022-05-08 Visuwesh <visuweshm@gmail.com>
dired-do-query-replace-regexp doc string fix
@@ -58044,7 +60373,7 @@
'fileloop-continue' instead of the obsolete command
'tags-loop-continue'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix crashes on ordinary menus on macOS
@@ -58053,14 +60382,14 @@
([EmacsMenu menu:willHighlightItem:]): Ignore if this is a
context menu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix bug in `pixel-scroll-precision-mode' on nonselected windows
* src/window.c (Fset_window_vscroll): Mark window for redisplay.
(bug#55299)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-08 Michael Albinus <michael.albinus@gmx.de>
Handle changed scp protocol in Tramp
@@ -58071,7 +60400,7 @@
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Improve handling of invisible cursor alloc failures
@@ -58079,14 +60408,14 @@
allocation really fails. This happens when the X server has a
limit on the number of cursors that can be created.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix file-based stipple on NS
* src/image.c (image_create_bitmap_from_file) [HAVE_NS]: Fix
loading XBM data from file.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-08 Eli Zaretskii <eliz@gnu.org>
Fix selection dialog display on MS-Windows
@@ -58096,21 +60425,21 @@
(w32_dialog_in_progress): Indicate to 'w32_wnd_proc' that a
selection dialog is open. (Bug#55208)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix display of hollow box cursor on NS
* src/nsterm.m (ns_draw_window_cursor): Fix verbatim
translations from X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fix setting stipple via `set-face-stipple'
* lisp/faces.el (face-valid-attribute-values): Return results
for `:stipple' in correct format.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Implement stipples for stretch glyphs
@@ -58121,7 +60450,7 @@
(haiku_draw_glyph_string): Handle stipple correctly when drawing
neighbors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-08 Po Lu <luangruo@yahoo.com>
Fully implement stipples for text on Haiku
@@ -58145,7 +60474,7 @@
(image_create_bitmap_from_file, free_bitmap_record): Free and
set them accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Implement bitmap loading for faces on Haiku
@@ -58173,18 +60502,18 @@
* src/image.c (image_create_bitmap_from_data)
(image_create_bitmap_from_file): Implement on Haiku.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Use correct event structures to fetch time on XI2
* src/xterm.c (handle_one_xevent): Don't use generic `xi_event'
to access the event time.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-07 Paul Eggert <eggert@cs.ucla.edu>
* src/fns.c: Fix IDs in comments to match code.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-07 Eli Zaretskii <eliz@gnu.org>
Fix Bengali composition rules
@@ -58192,7 +60521,7 @@
composition rules for U+09F0 and U+09FE. Patch from
समीर सिंह Sameer Singh <lumarzeli30@gmail.com>. (Bug#55303)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Make 'delete-process' into a command
@@ -58201,14 +60530,14 @@
* src/process.c (Fdelete_process): Allow calling interactively
(bug#10107).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-07 Eli Zaretskii <eliz@gnu.org>
Improve Devanagari character composition rules
* lisp/language/indian.el (devanagari-composable-pattern): Add
rules for Vedic accents. Suggested by Madhu <enometh@meer.net>.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
(dabbrev-completion): Fix bug#45768
@@ -58221,7 +60550,7 @@
extracted from `dabbrev-completion`.
(dabbrev-completion): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Clean up some variables in the Haiku code
@@ -58230,7 +60559,7 @@
* src/haikuterm.h (haiku_frame_param_handlers): Move here
instead.
-2023-04-15 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
+2022-05-07 समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Add support for the Kaithi script
@@ -58245,7 +60574,7 @@
* etc/NEWS: Announce the new language environment and its
input method.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Explain better what the interactive prefix does in scroll-down/up
@@ -58253,21 +60582,21 @@
* lisp/image-mode.el (image-scroll-up, image-scroll-down):
Actually explain what the interactive prefix does (bug#44503).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Document the `x' DWIM action in the manual
* doc/emacs/package.texi (Package Menu): Mention the DWIM action
of the `x' command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Remove tar-mode dabbrev-ignored-buffer-modes
* lisp/dabbrev.el (dabbrev-ignored-buffer-modes): Remove tar-mode
from the default, because it isn't really a binary mode.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Make `x' in package-menu-mode more DWIM
@@ -58275,7 +60604,7 @@
string more helpful.
(package-menu-execute): Make `x' when no files are installed DWIM.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Improve inferior-python-mode scroll behaviour
@@ -58283,14 +60612,14 @@
scroll-convervatively instead of trying to do this with a comint
filter (which produces flickering) (bug#31115).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warnings in newer subr tests
* test/lisp/subr-tests.el (test-local-set-state): Fix compilation
warnings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Allow dabbrev to ignore binary buffers
@@ -58301,14 +60630,14 @@
(dabbrev--filter-buffer-modes): New function.
(dabbrev--select-buffers, dabbrev--make-friend-buffer-list): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Fix mouse face dismissal in some widget popups
* src/xterm.c (handle_one_xevent): Accept XINotifyUngrab as
well.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Allow inhibiting linkification in *Help* buffers
@@ -58316,14 +60645,14 @@
lisp/help-mode.el (help-make-xrefs): Implement a new \+ syntax to
inhibit buttonification.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Make the icomplete-in-buffer doc string document more
* lisp/icomplete.el (icomplete-in-buffer): Note what this variable
does and doesn't do (bug#45768).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-07 Lars Ingebrigtsen <larsi@gnus.org>
Avoid having font locking triggering unnecessary auto-saving
@@ -58332,7 +60661,7 @@
* src/buffer.c (Finternal__set_buffer_modified_tick): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Cache color lookup failures as well
@@ -58340,7 +60669,7 @@
* src/xterm.h (struct color_name_cache_entry): New field
`valid'.
-2023-04-15 Yuan Fu <casouri@gmail.com>
+2022-05-07 Yuan Fu <casouri@gmail.com>
Add tree-sitter intergration
@@ -58380,14 +60709,14 @@
* src/treesit.h: New file.
* test/src/treesit-tests.el: New file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Fix 32-bit Haiku build
* src/haiku_support.cc (MessageReceived): Fix type of
`old_what'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-07 Po Lu <luangruo@yahoo.com>
Implement `sticky' frame parameter on Haiku
@@ -58396,14 +60725,14 @@
* src/haikufns.c (haiku_set_sticky, haiku_frame_parm_handlers):
New frame param handler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-07 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
afdf72eeb2 Fix bug#55274
5bfac7c774 Provide reference for OTF tags in the ELisp manual
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-06 Po Lu <luangruo@yahoo.com>
Fix race conditions in the Haiku file dialog
@@ -58415,7 +60744,7 @@
(be_popup_file_dialog): Use a separate looper to handle file
panel events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-06 Po Lu <luangruo@yahoo.com>
Fix freezes with some oddball menus
@@ -58424,7 +60753,7 @@
* src/xterm.c (handle_one_xevent): Check for sensitive
CascadeButton instead of row column type.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
(icomplete-exhibit): Fix use in-buffer
@@ -58433,21 +60762,21 @@
* lisp/icomplete.el (icomplete-exhibit): Don't presume the completion
field ends at `point-max`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Make elisp-mode-syntax-propertize tighter to reflect syntax
* lisp/progmodes/elisp-mode.el (elisp-mode-syntax-propertize): ?\N
and #s are case sensitive, so don't case-fold. (And adjust regexps.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Make down-list signal an error if called inside a string
* lisp/emacs-lisp/lisp.el (down-list): Signal an error inside a
string (bug#5588).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-06 Juri Linkov <juri@linkov.net>
Add char-folding of double quotes in isearch-fold-quotes-mode (bug#24510)
@@ -58457,7 +60786,7 @@
* test/lisp/subr-tests.el (test-local-set-state): Test values
after setting state.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-05-06 Eric Abrahamsen <eric@ericabrahamsen.net>
Fix handling of IMAP search strings
@@ -58465,7 +60794,7 @@
a misunderstanding of what `multibyte-string-p' means. The check was
actually supposed to be whether the string was non-ascii or not.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Further log-view-file-next fix-ups
@@ -58474,7 +60803,7 @@
* lisp/vc/log-view.el (log-view-mode-menu): Disable menu entries
(bug#14531).
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-05-06 Eric Abrahamsen <eric@ericabrahamsen.net>
Don't force Gnus cache usage in nnvirtual
@@ -58483,32 +60812,32 @@
`gnus-retrieve-headers' directly will use the cache if the user has
configured it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix forward-sexp for Unicode names in Emacs Lisp mode
* lisp/progmodes/elisp-mode.el (elisp-mode-syntax-propertize):
Make forward-sexp work for Unicode character names (bug#23354).
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2022-05-06 Noam Postavsky <npostavs@gmail.com>
Handle elisp #-syntax better in Emacs Lisp mode
* elisp-mode.el (elisp-mode-syntax-propertize): New function.
(emacs-lisp-mode): Set it as syntax-propertize-function (bug#15998).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-06 Michael Albinus <michael.albinus@gmx.de>
Fix bug#55274
* lisp/dired-aux.el (dired-do-compress-to): Use `file-local-name'
for shell out-file. (Bug#55274)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/smie.el (smie-auto-fill): Fix bug#19342
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Respect help-window-keep-selected in shortdoc buttons
@@ -58518,7 +60847,7 @@
* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow
reusing the window.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Move buffer-local-set-state to subr because it's used at runtime
@@ -58526,7 +60855,7 @@
(buffer-local-set-state--get, buffer-local-restore-state): Moved
from easy-mmode.el because they have to be available run-time.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Make compilation-parse-errors more resilient
@@ -58534,21 +60863,21 @@
resilient in the presence of regexp alist not being completely set
up (bug#55282).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-06 Po Lu <luangruo@yahoo.com>
Improve font specs generated by the Haiku font dialog
* src/haikufont.c (Fx_select_font): Use `nil' instead of
`unspecified' to be consistent with other font dialogs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix inhibiting reading the user init file with "emacs -x"
* lisp/startup.el (command-line): Really inhibit loading the user
init file with "emacs -x".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Remove the P/N/M-p/M-n bindings from the general log-view map
@@ -58559,7 +60888,7 @@
* lisp/vc/vc-cvs.el (vc-cvs-log-view-mode): New modes that bind
the P/N/M-p/M-n commands (bug#14531).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Don't override search-default-mode set by user in info/help
@@ -58567,7 +60896,7 @@
* lisp/help-mode.el (help-mode): Don't override isearch mode set
by the user.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Char-fold quotation characters in *info* and *Help*
@@ -58576,11 +60905,11 @@
* lisp/isearch.el (isearch-fold-quotes-mode): New minor mode
(bug#24510).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Autoload the buffer-local-set* things
@@ -58588,7 +60917,7 @@
(buffer-local-restore-state): Autoload. Perhaps it would be
better to move these functions to subr.el or something...
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-06 Lars Ingebrigtsen <larsi@gnus.org>
Add new helper macros for minor modes to restore variables
@@ -58601,7 +60930,7 @@
* lisp/textmodes/word-wrap-mode.el (word-wrap-whitespace-mode):
Use it to simplify code.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-06 Michael Albinus <michael.albinus@gmx.de>
Fix thinko in tramp-skeleton-write-region
@@ -58609,7 +60938,7 @@
Flush cache in time. (Bug#55247)
(tramp-handle-lock-file): Suppress messages in `write-region'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-06 Po Lu <luangruo@yahoo.com>
Fix calculation of display resolution on Haiku
@@ -58625,21 +60954,21 @@
* src/haikuterm.c (haiku_term_init): Likewise.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-06 Eli Zaretskii <eliz@gnu.org>
Provide reference for OTF tags in the ELisp manual
* doc/lispref/display.texi (Low-Level Font): Provide the canonical
reference URL for OTF tags.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-06 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
69c56cbe6e ; * src/w32notify.c: Fix a typo in a comment.
3b9e60ba2f ; * src/window.c (Fset_window_start): Mention the effect o...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-06 Po Lu <luangruo@yahoo.com>
Fix more problems with display of composite glyph strings on Haiku
@@ -58647,7 +60976,7 @@
(haiku_draw_composite_glyph_string_foreground): Fix pen size of
placeholder rectangle.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Fix mouse face persisting inside Lucid menus on XI2
@@ -58657,11 +60986,11 @@
* src/xterm.c (x_mouse_leave): Enable on Lucid XI2 builds.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
* lwlib/lwlib.c (lw_separator_p): Fix empty strings being separators.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Fix menu dismissal problems on Xt builds with XI2
@@ -58670,25 +60999,25 @@
(create_and_show_popup_menu): Replace some of the grab logic
with resetting the XI event mask instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Fix more issues with DND state on multiple displays
* src/xterm.c (handle_one_xevent): Don't update DND state on the
wrong display.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Improve safety of DND when Emacs is connected to multiple displays
* src/xterm.c (x_dnd_begin_drag_and_drop): Don't check movement
frame unless we know it comes from the right display.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-05 Paul Eggert <eggert@cs.ucla.edu>
Gnulib update via admin/merge-gnulib
-2023-04-15 James N. V. Cash <james.nvc@gmail.com>
+2022-05-05 James N. V. Cash <james.nvc@gmail.com>
* lisp/emacs-lisp/crm.el: Set completion-list-insert-choice-function.
@@ -58696,14 +61025,14 @@
completion-list-insert-choice-function that handles string values of args.
https://lists.gnu.org/archive/html/emacs-devel/2022-05/msg00017.html
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-05 Juri Linkov <juri@linkov.net>
* lisp/desktop.el: Enable tab-bar-mode after restoring frames with a tab bar.
(desktop-restore-frameset): Enable tab-bar-mode when a restored frame
contains the frame parameter tab-bar-lines (bug#55070).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-05-05 Paul Eggert <eggert@cs.ucla.edu>
timestamp doc minor improvements
@@ -58714,11 +61043,11 @@
IEEE-754 rules for them and whatever the code does, doesn’t matter
for timestamps anyway.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-05-05 Glenn Morris <rgm@gnu.org>
* doc/emacs/misc.texi (Interactive Shell): Fix paren typo.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix a mistaken test case in test-undo-region
@@ -58726,7 +61055,7 @@
(bug#21523) -- the crossing-region case shouldn't be included,
either.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-05 Lars Ingebrigtsen <larsi@gnus.org>
Advertise OSC directory tracking more
@@ -58735,7 +61064,7 @@
* lisp/shell.el (shell-dirtrack-mode): Link to the OSC directory
tracking function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Set GC line width on more GCs
@@ -58743,7 +61072,7 @@
(x_draw_bar_cursor): Make created scratch GCs have a line-width
of 1.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-05 Lars Ingebrigtsen <larsi@gnus.org>
Sort completions in Info references/menu correctly
@@ -58751,28 +61080,28 @@
order they appear in the buffer (bug#54175).
(Info-menu-update): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-05 Lars Ingebrigtsen <larsi@gnus.org>
Be more resilient towards errors during error handling
* src/print.c (print_error_message): Avoid infinite recursion if
`substitute-command-keys' bugs out (bug#55269).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-05-05 Philip Kaludercic <philipk@posteo.net>
Avoid resizing mini buffer when displaying page numbers
* doc-view.el (doc-view-goto-page): Do not insert a newline at the end
of the "current info" if not necessary.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-05 Lars Ingebrigtsen <larsi@gnus.org>
Describe kmacro registers better
* lisp/kmacro.el (register-val-describe): Allow describing macros
that contain mouse events (bug#55266).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Speed up opening fonts on Haiku
@@ -58789,7 +61118,7 @@
* src/haikufont.c (haikufont_pattern_to_entity, haikufont_open):
Use indices to open fonts if available in the extra data.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Fix font weight reporting on macOS
@@ -58799,7 +61128,7 @@
* src/nsterm.m (ns_font_desc_to_font_spec): Adjust accordingly.
(ns_create_font_panel_buttons): Try to fix button width.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Improve appearance of macOS font panel buttons
@@ -58807,7 +61136,7 @@
([EmacsView noteUserCancelledSelection]): New functions.
([EmacsView showFontPanel]): Use those buttons instead.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-05 Michael Albinus <michael.albinus@gmx.de>
Add Tramp test
@@ -58818,21 +61147,21 @@
* test/lisp/net/tramp-resources/foo.tar.gz: New resource file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Fix min size reporting of style pane in Haiku font dialogs
* src/haiku_support.cc (class DualLayoutView):
(MinSize): Implement correctly with both views.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Use bswap_32 and bswap_16 in Motif DND code
* src/xterm.c (SWAPCARD32, SAPCARD16): Use glibc/gnulib
byte-swapping functions if checking is disabled.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-05 Po Lu <luangruo@yahoo.com>
Take size into account when previewing fonts on Haiku
@@ -58842,7 +61171,7 @@
(EmacsFontSelectionDialog): Assign correct modification messages
to the size entry.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Allow displaying font preview on Haiku
@@ -58854,7 +61183,7 @@
(EmacsFontSelectionDialog): New constructor.
(FrameResized): Resize the layout view instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Fix device reporting from scroll bar events on X
@@ -58862,7 +61191,7 @@
`device'.
(handle_one_xevent): Set it appropriately as long as required.
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2022-05-04 dickmao <dick.r.chiang@gmail.com>
Transcription error
@@ -58870,7 +61199,7 @@
Indent.
(gnus-topic-update-topic-line): Insert missing fourth argument.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-05-04 Sean Whitton <spwhitton@spwhitton.name>
Revert "server-execute: Initialize the *scratch* buffer"
@@ -58878,14 +61207,14 @@
To be replaced with factoring out *scratch* buffer initialization.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-05-04 Glenn Morris <rgm@gnu.org>
Stop esh-var-tests leaving temp files behind
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/quoted-interp-temp-cmd): Don't leave temporary files.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-05-04 Eric Abrahamsen <eric@ericabrahamsen.net>
Remove bogus mode check from gnus topic update functions
@@ -58896,7 +61225,7 @@
major mode. Revert to checking for 'gnus-group-mode, and use
`derived-mode-p' while we're at it.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-05-04 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Use pixel-based alignment (bug#55207)
@@ -58904,7 +61233,7 @@
on the string with tab-bar face to get the width in pixels to align.
(tab-bar-format-global): Remove string-trim-right to keep padding-right.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-05-04 Basil L. Contovounesios <contovob@tcd.ie>
Remove unused lexvar in subr-x-tests.el
@@ -58912,15 +61241,15 @@
(test-with-buffer-unmodified-if-unchanged): Pacify unused lexvar
byte-compiler warning. Simplify slightly and reindent.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-05-04 Glenn Morris <rgm@gnu.org>
* src/xterm.c (handle_one_xevent): Fix int/Lisp_Object mix-up.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-05-04 Robert Pluim <rpluim@gmail.com>
* etc/NEWS: Improve some NEWS entries
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-05-04 Robert Pluim <rpluim@gmail.com>
* doc/emacs/killing.texi: Fix typos
@@ -58928,7 +61257,7 @@
'save-interprogram-paste-before-kill'. Ensure the reference to
"Yanking Media" is not split over two lines.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-04 Eli Zaretskii <eliz@gnu.org>
Fix restoring desktop from TTY-saved sessions
@@ -58936,7 +61265,7 @@
of the restored frames for which we have geometry information
saved by a past GUI session. (Bug#55070)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Turn on XInput 2 support by default
@@ -58951,21 +61280,21 @@
* configure.ac:
* etc/NEWS: Enable XInput 2 support by default.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-04 Eli Zaretskii <eliz@gnu.org>
Clarify the doc string of 'with-buffer-unmodified-if-unchanged'
* lisp/emacs-lisp/subr-x.el (with-buffer-unmodified-if-unchanged):
Describe better what is meant by "buffer changes". (Bug#4587)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Remove unused variable in Haiku selection code
* src/haiku_select.cc (selection_state_flag):
* src/haikuselect.h: Remove variable.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-04 Eli Zaretskii <eliz@gnu.org>
Fix 'bidi-class' property of unassigned codepoints
@@ -58979,28 +61308,28 @@
* lisp/international/characters.el (#xfb50, #xfdf0): Fix the
Arabic block characters. (Bug#55256)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-04 Lars Ingebrigtsen <larsi@gnus.org>
Flush the tool bar cache on all terminals when adding new entries
* lisp/tool-bar.el (tool-bar--flush-cache): Flush the cache for
the current tool bar on all terminals.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Correctly encode and decode filenames on NS
* src/nsfns.m (Fns_read_file_name): Run dir through ENCODE_FILE
and fname through DECODE_FILE.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Fix file name encoding on Haiku file dialogs
* src/haikufns.c (Fhaiku_read_file_name): Use ENCODE_FILE and
DECODE_FILE correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-04 Po Lu <luangruo@yahoo.com>
Set initial size in the Haiku font dialog
@@ -59011,14 +61340,14 @@
* src/haikufont.c (Fx_select_font): Set font dialog size to the
pixel size of the current font.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Encode and decode filenames correctly on Haiku
* src/haikufns.c (Fhaiku_read_file_name): Decode file names
correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Clean up Haiku file panel code
@@ -59043,11 +61372,11 @@
* src/haikuterm.c (struct unhandled_event): Delete struct.
(haiku_read_socket): Remove "unhandled events".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (haiku_create_frame): Improve default border width.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-05-03 Sean Whitton <spwhitton@spwhitton.name>
server-execute: Initialize the *scratch* buffer
@@ -59055,7 +61384,7 @@
(server-execute): Initialize the *scratch* buffer in the same way that
the scratch-buffer command does, for consistency.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Fix display of placeholder composite string on Haiku
@@ -59063,7 +61392,7 @@
(haiku_draw_composite_glyph_string_foreground): Correct
translation of XDrawRectangle.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Fix event mask and source indication of _NET_WM_STATE messages
@@ -59072,25 +61401,25 @@
source indication set.
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make some recently added tests actually run
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make with-buffer-unmodified-if-unchanged more efficient
* lisp/emacs-lisp/subr-x.el (with-buffer-unmodified-if-unchanged):
Make more efficient.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make with-buffer-unmodified-if-unchanged more resilient
* lisp/emacs-lisp/subr-x.el (with-buffer-unmodified-if-unchanged):
Make more resilient.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
with-buffer-unmodified-if-unchanged: Tweak the implementation
@@ -59099,18 +61428,18 @@
Use `restore-buffer-modified-p`.
Also mention that it's imperative that the current buffer is preserved.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entry about incompatible sorting command behaviors
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make sorting not change buffer modification status always
* lisp/sort.el (sort-subr): Don't mark buffer modified if the
sorting didn't change anything (bug#4587).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Add new macro with-buffer-unmodified-if-unchanged
@@ -59119,14 +61448,14 @@
* lisp/textmodes/fill.el (fill-paragraph): Macro code copied from
here. Adjust and use the macro.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix thinko in recent tool bar caching logic
* lisp/tool-bar.el (tool-bar--cache-key): New function.
(tool-bar--flush-cache, tool-bar-make-keymap): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make tool bar caching more sensible
@@ -59138,7 +61467,7 @@
(tool-bar-local-item, tool-bar-local-item-from-menu): Flush the
cache after altering the tool bar.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-03 Eli Zaretskii <eliz@gnu.org>
Allow desktop to restore frames and windows on TTY frames
@@ -59163,7 +61492,7 @@
sessions, but disallow that when the selected frame is the
daemon's initial frame. (Bug#55070)
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-03 Jim Porter <jporterbugs@gmail.com>
Improve the behavior of concatenating parts of Eshell arguments
@@ -59188,7 +61517,7 @@
* etc/NEWS: Announce the change (bug#55236).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-03 Jim Porter <jporterbugs@gmail.com>
Return a list of numbers if all lines of an Eshell subcommand are numeric
@@ -59204,7 +61533,7 @@
* etc/NEWS: Announce the change (bug#55236).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-03 Jim Porter <jporterbugs@gmail.com>
Eshell variable expansion should always return strings inside quotes
@@ -59243,14 +61572,14 @@
* etc/NEWS (Eshell): Announce this change (bug#55236).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make adding things to the tool bar show up on next redisplay
* lisp/tool-bar.el (tool-bar--flush-cache): New function.
(tool-bar-add-item): Flush the cache (bug#43397).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Add new command 'package-update'
@@ -59258,7 +61587,7 @@
* lisp/emacs-lisp/package.el (package-update): New command
(bug#18790).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix key-parse problem with C-x ( ... sequences
@@ -59268,14 +61597,14 @@
This allows `key-parse' to have a less puzzling result while
maintaining backwards compatibility (bug#38775).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make TAB work in makefile mode when transient mark mode is on
* lisp/progmodes/make-mode.el (makefile-mode): Insert a tab
instead of removing it (bug#37087).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-05-03 Michael Albinus <michael.albinus@gmx.de>
Handle file name handler in write-region's VISIT arg
@@ -59288,7 +61617,7 @@
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): Use it.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-05-03 Filipp Gunbin <fgunbin@fastmail.fm>
Rewrite sql-interactive-remove-continuation-prompt
@@ -59299,7 +61628,7 @@
string. Streamline logic, describe it in docstring.
* test/lisp/progmodes/sql-tests.el: Add tests
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Make more buttons in *Help* respect `help-window-keep-selected'
@@ -59307,7 +61636,7 @@
(help-face-def): Also respect `help-window-keep-selected' like the
other commands.
-2023-04-15 rbrtb <104695105+rbrtb@users.noreply.github.com> (tiny change)
+2022-05-03 rbrtb <104695105+rbrtb@users.noreply.github.com> (tiny change)
Ensure exit-function of eglot-c-at-point runs on exact match
@@ -59322,25 +61651,25 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/941
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Further mm-base64-line-p bug fixes
* lisp/gnus/mm-bodies.el (mm-base64-line-p): Fix parsing error
introduced by d90f54d.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix mm-base64-line-p logic
* lisp/gnus/mm-bodies.el (mm-base64-line-p): Don't claim that an
empty line is base64.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
* src/haiku_support.cc (DrawContent): Use right UI color.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Make menu bar help text work on macOS as well
@@ -59351,21 +61680,21 @@
`show_help_echo' instead of storing an event into the keyboard
buffer.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Fix default font in macOS font dialogs
* src/nsterm.m ([EmacsView noteUserSelectedFont]): Use current
font if none was selected.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Fix some font parsing problems on NS
* src/nsterm.m (ns_font_desc_to_font_spec): Fix processing of
condensed width.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-03 Po Lu <luangruo@yahoo.com>
Handle GraphicsExpose events on scroll bars
@@ -59373,7 +61702,7 @@
events.
(handle_one_xevent): Give graphics exposures to scroll bars.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Make sure rectangles are drawn correctly on X
@@ -59382,7 +61711,7 @@
* src/xfns.c (x_make_gc): Likewise.
* src/xterm.c (x_scroll_bar_expose): Comment out obsolete code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Fix glyphless glyph display on Haiku
@@ -59390,7 +61719,7 @@
(haiku_draw_glyphless_glyph_string_foreground): Fix rectangle
width.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Fix font matching of "Fira Code Retina" and "Fira Code Regular" on Haiku
@@ -59398,7 +61727,7 @@
allow matches on fonts with an adstyle if none was specified in
the input pattern.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-05-02 Glenn Morris <rgm@gnu.org>
Don't leave temp files behind from undigest-tests
@@ -59411,7 +61740,7 @@
(rmail-undigest-test-multipart-mixed-digest):
Delete temporary files at end.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Clean up X11 double buffering code
@@ -59445,14 +61774,14 @@
* src/xterm.h (FRAME_X_DRAWABLE): Fix coding style.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-02 Eli Zaretskii <eliz@gnu.org>
Fix punctuation in the Eshell manual
* doc/misc/eshell.texi (Argument Predication and Modification):
Fix whitespace.
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-05-02 Arash Esbati <arash@gnu.org>
Load multiple bibliographies with multibib package
@@ -59462,28 +61791,28 @@
(reftex-locate-bibliography-files): Prevent possible duplications
in bibliography database files.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Wait for events from all displays in Xm dialogs even on XI2
* src/xfns.c (Fx_file_dialog): Always process events from all
displays.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Make the eval-in-debug error message prettier in non-recursive errors
* lisp/emacs-lisp/debug.el (debugger-eval-expression): Make the
error message (when recursive debugging is off) prettier.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Make non-recursive error messages in edebug prettier
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Make the
error message (when recursive debugging is off) prettier.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix eldoc interaction with `when' and `unless'
@@ -59492,14 +61821,14 @@
the way it is (bug#27229). This also makes eldoc highlight the
arguments correctly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Add a command to recreate the *scratch* buffer
* doc/emacs/building.texi (Lisp Interaction): Mention it.
* lisp/simple.el (scratch-buffer): New command.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-05-02 Stefan Kangas <stefankangas@gmail.com>
Fix handling double-click-time nil or t
@@ -59515,14 +61844,14 @@
* test/lisp/mouse-tests.el (mouse-test-mouse-double-click-time):
New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Re-fix Gcc header tokenization in Gnus
* lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Split the Gcc header
on commas, but allow group names to contain spaces (bug#55217).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Allow reusing the *Help* window with `i'/`s/ commands
@@ -59537,7 +61866,7 @@
* lisp/info-look.el (info-lookup-symbol):
(info-lookup): Allow keeping the same window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Fix inconsistencies in Haiku font selection dialog
@@ -59546,14 +61875,14 @@
* src/haikufont.c (haikufont_pattern_from_object): Set slant and
width using correct object.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Allow show-paren to show matching parentheses inside comments
* lisp/paren.el (show-paren--default): Improve blinking when
inside a comment (bug#5410).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Fix handling of some weights in the Haiku font driver
@@ -59563,7 +61892,7 @@
(haikufont_lisp_to_weight): Make `ultralight' and `extralight'
mean the same thing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Use xref-goto-xref as the xref mouse binding
@@ -59571,14 +61900,14 @@
xref-goto-xref binding instead of select-and-show to be more
similar to grep buffers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix the OMIT-NULLS + "" case in string-lines
* lisp/subr.el (string-lines): Respect OMIT-NULLS when given an
empty string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Improve font dialog on macOS
@@ -59587,7 +61916,7 @@
([EmacsView noteUserSelectedFont]): New function.
([EmacsView showFontPanel]): Add explicit "OK" button on macOS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-02 Po Lu <luangruo@yahoo.com>
Default to currently selected font in Haiku font dialogs
@@ -59609,11 +61938,11 @@
font.
(syms_of_haikufont): New defsyms.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/gnus/gnus-util.el (gnus-byte-compile): Use `lexical-binding`
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Fix race conditions with async input in some Haiku dialogs
@@ -59621,14 +61950,14 @@
* src/haikufont.c (Fx_select_font): Block sigio around system
calls.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Fix the macOS build
* src/nsterm.m (ns_font_desc_to_font_spec, syms_of_nsterm):
Define missing symbols that are only on GNUstep.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Make the NS font dialog return more correct values
@@ -59638,28 +61967,28 @@
([EmacsView showFontPanel]): Return selected font as a
font spec instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Fix devices staying disabled in some cases
* src/xterm.c (handle_one_xevent): Process queued disables
before handling an XIDeviceEnabled situation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix string-lines return for ""
* lisp/subr.el (string-lines): Return the correct result on ""
(bug#55213).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Change string-lines semantics slightly
* lisp/subr.el (string-lines): Change the semantics slightly --
don't return an empty string for a trailing newline.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-01 Jim Porter <jporterbugs@gmail.com>
Handle escaped characters in Eshell special references (e.g. buffers)
@@ -59672,7 +62001,7 @@
* test/lisp/eshell/eshell-tests.el (eshell-test/redirect-buffer)
(eshell-test/redirect-buffer-escaped): New tests (bug#55204).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-01 Jim Porter <jporterbugs@gmail.com>
Handle escaped characters in Eshell argument predicates/modifiers
@@ -59682,7 +62011,7 @@
* test/lisp/eshell/em-pred-tests.el (em-pred-test/predicate-escaping):
New test (bug#55204).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-05-01 Jim Porter <jporterbugs@gmail.com>
Use a common set of string delimiters for all Eshell predicates/modifiers
@@ -59716,11 +62045,11 @@
* etc/NEWS: Announce this change, and move the
'eshell-eval-using-options' entry to the Eshell section.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/minibuffer.el (completion--replace): Fix bug#55205
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Replace NS code that implemented font panels in a different way
@@ -59744,7 +62073,7 @@
([EmacsView changeFont:]): Exit nested event loop
([EmacsView showFontPanel:]): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Don't enter the debugger from *Backtrace* or edebug on eval errors
@@ -59759,14 +62088,14 @@
This patch is based on a patch by Noam Postavsky.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Correct Using Debugger lispref node
* doc/lispref/debugging.texi (Using Debugger): Make documentation
reflect reality (bug#36145).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Make scroll-other-window respect target window remappings
@@ -59774,7 +62103,7 @@
Moved from window.c and change implementation so that they respect
command remappings in the target window (bug#20236).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-01 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'malloc-trim'
@@ -59782,7 +62111,7 @@
* etc/NEWS: Document which systems support 'malloc-trim'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Add new function `malloc-trim'
@@ -59790,14 +62119,14 @@
* src/alloc.c (Fmalloc_trim): Add new function (bug#45200).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Fix specifying zero as a size for fonts on Haiku
* src/haiku_support.cc (MessageReceived): Set `size_specified'
correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Improve display of Haiku font dialog
@@ -59810,7 +62139,7 @@
* src/haikuterm.c (haiku_update_size_hints): Stop setting min
size, since that doesn't work correctly on Haiku.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-05-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix the mm-decode-content-transfer-encoding overflow better
@@ -59818,11 +62147,11 @@
Use it.
(mm-base64-line-p): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
* lisp/menu-bar.el (menu-bar-search-menu): Remove extra separator.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-05-01 Eli Zaretskii <eliz@gnu.org>
Document 'help-window-select'
@@ -59830,7 +62159,7 @@
* doc/emacs/help.texi (Apropos, Help): Document
'help-window-select'; improve indexing. (Bug#46034)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-05-01 Po Lu <luangruo@yahoo.com>
Allow specifying font size in the Haiku font selection dialog
@@ -59845,7 +62174,7 @@
* src/haikufont.c (Fx_select_font): Populate font spec with
size.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-05-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -59853,7 +62182,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-04-30 19:52:14 UTC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Allow quitting inside font selection dialogs on Haiku
@@ -59864,14 +62193,14 @@
* src/haikufont.c (haikufont_should_quit_popup): New function.
(Fx_select_font): Give said function to `be_select_font'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Allow invoking fonts in the Haiku font dialog
* src/haiku_support.cc (MessageReceived): Handle invocations.
(EmacsFontSelectionDialog): Set style panel invocation message.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Improvements to the Haiku font dialog
@@ -59883,25 +62212,25 @@
* src/haikufont.c (Fx_select_font): Respect
`exclude-proportional'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Also fix some compiler warnings in xterm.c that didn't show up
* src/xterm.c (x_dnd_begin_drag_and_drop): Don't define unused
variable on GTK builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Fix the GTK build
* src/xterm.c (x_dnd_begin_drag_and_drop): Let GTK handle events
again.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_dnd_begin_drag_and_drop): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Fix processing events from multiple displays during DND
@@ -59910,7 +62239,7 @@
(x_dnd_begin_drag_and_drop): Compute correct dpyinfo for
handle_one_xevent.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Clean up X Windows tooltip code
@@ -59919,7 +62248,7 @@
instead. The code is unlikely to be hit as well, since tooltip
frames are typically deleted, not just hidden.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Implement font selection dialog on Haiku
@@ -59936,56 +62265,56 @@
* src/haikufont.c (Fx_select_font): New function.
(syms_of_haikufont): Define new subr.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-04-30 Basil L. Contovounesios <contovob@tcd.ie>
Fix failing image test on nox builds
* test/lisp/image-tests.el (image-supported-file-p/built-in): Skip
test in --without-x builds.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Make `M-x apropos' respect help-window-select
* lisp/apropos.el (apropos-print): Respect help-window-select.
(apropos): Mention it (bug#46034).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Make load-path-shadows-mode a special mode
* lisp/emacs-lisp/shadow.el (load-path-shadows-mode): Make the
mode inherit from special-mode so that the `q' command works.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation-max-output-line-length type
* lisp/progmodes/compile.el (compilation-max-output-line-length):
Fix the type.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Avoid regexp overflow in mm-decode-content-transfer-encoding
* lisp/gnus/mm-bodies.el (mm-decode-content-transfer-encoding):
The base64 may be huge, so avoid backtracking (bug#55195).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix Vx_show_tooltip_timeout in ns build, too
* src/nsfns.m (Fx_show_tip): Respect Vx_show_tooltip_timeout here,
too.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation after recent x-show-tooltip-timeout changes
* src/dispnew.c (syms_of_display): Move x-show-tooltip-timeout to
a common file to avoid breaking other systems.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Remove the "retro" Gnus/Message tool bars
@@ -60007,11 +62336,11 @@
(message-tool-bar-gnome, message-tool-bar-retro)
(message-tool-bar-zap-list): Obsolete.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-04-30 Andreas Schwab <schwab@linux-m68k.org>
* lisp/gnus/deuglify.el (gnus-article-outlook-rearrange-citation): Add autoload cookie.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Use x-show-tooltip-timeout in all the implementations
@@ -60022,7 +62351,7 @@
* src/xfns.c (Fx_show_tip): Doc fix.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Don't hard code the default x-show-tip timeout
@@ -60030,7 +62359,7 @@
(syms_of_xfns): Add a new x-show-tooltip-timeout variable
(bug#23341).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Move the when-let family of macros to subr.el
@@ -60042,35 +62371,35 @@
uses these macros in functions that end up being called during
bootstrap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Avoid using if-let in subr.el
* lisp/subr.el (string-lines): Avoid using if-let (from subr-x) in
subr (bug#55194).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Make the xref--button-map more regular
* lisp/progmodes/xref.el (xref--button-map): Remove the mouse-1
binding (bug#35353).
-2023-04-15 Jin Choi <jsc@alum.mit.edu> (tiny change)
+2022-04-30 Jin Choi <jsc@alum.mit.edu> (tiny change)
Make Python evaluation work more reliably
* lisp/progmodes/python.el (python-shell-buffer-substring): Make
more regions valid Python code (bug#55174).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Fix some cases of flicker on MS Windows
* src/w32term.c (w32_read_socket): Fix typo in check before
flipping buffers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Truncate output from grep
@@ -60080,7 +62409,7 @@
(compilation-filter): Use it.
(compilation--insert-abbreviated-line): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Make grep-mode-font-lock-keywords more efficient
@@ -60088,7 +62417,7 @@
regexp less greedy so that long lines don't take forever to
font-lock (bug#44983).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-30 Lars Ingebrigtsen <larsi@gnus.org>
Add a KEEP-NEWLINES argument to string-lines
@@ -60096,7 +62425,7 @@
* lisp/subr.el (string-lines): Add a KEEP-NEWLINES argument.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Fix display updating inside the minibuffer on MS Windows
@@ -60107,25 +62436,25 @@
* src/w32term.c (w32_flip_buffers_if_dirty): New function.
* src/w32term.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Avoid server roundtrip on wheel events from scroll bars on XI2
* src/xterm.c (handle_one_xevent): Translate coordinates for
scroll bars correctly when handling XI2 wheel events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
* admin/CPP-DEFINES: Update for new features.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Process editres events not for frames correctly
* src/xterm.c (handle_one_xevent): Dispatch Editres events to
interested widgets.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Adjustments to double buffering on MS Windows
@@ -60147,7 +62476,7 @@
* src/w32xfns.c (get_frame_dc): Respect
`w32-disable-double-buffering'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-30 Eli Zaretskii <eliz@gnu.org>
Fix use of kp-decimal in 'vhdl-stutter-mode'
@@ -60155,7 +62484,7 @@
signaling an error when the user presses the kp-decimal key on the
numeric pad in 'vhdl-stutter-mode'. (Bug#55079)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Handle exposure in the widget's expose proc on X
@@ -60173,7 +62502,7 @@
* src/xterm.c (handle_one_xevent): Handle exposure through the
widget instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-30 Po Lu <luangruo@yahoo.com>
Fix releasing the mouse on top of the tool bar on MS Windows
@@ -60181,14 +62510,14 @@
specially for button up events if no tool bar item was
previously pressed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Fix palette freeing on MS Windows with double buffering
* src/w32term.c (w32_release_paint_buffer): Also release target
DC palette.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Implement double buffering on MS Windows
@@ -60218,7 +62547,7 @@
(get_frame_dc, release_frame_dc): Return back buffer when
appropriate and set dirty flag.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Prevent cursors from being set on tooltip frames on Haiku
@@ -60227,7 +62556,7 @@
Ignore tooltip frames. Otherwise, the cursor changes every time
a tooltip is mapped.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
debug-early: Print bytecode in a more manageable way
@@ -60235,32 +62564,32 @@
Escape newlines to and bytecodes to make backtraces slightly more
readable. Use `cl-prin1` when available.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add `symbol-with-pos`
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Fix focus reversion of Motif menus on XI2
* src/xmenu.c (create_and_show_popup_menu): Stop setting input
focus on the menu window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Fix mouse face bugs on Motif
* src/xterm.c (handle_one_xevent): Fix handling LeaveNotify
events from Motif menus.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Check display when handling XdndFinished events
* src/xterm.c (handle_one_xevent): Check that the display is
actually the one we want before finishing DND.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
CL types: Accept both `byte-code-function` and `compiled-function`
@@ -60274,7 +62603,7 @@
* lisp/emacs-lisp/cl-macs.el (byte-code-function, compiled-function, subr):
New types.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-29 Juri Linkov <juri@linkov.net>
* test/lisp/replace-tests.el (query-replace-tests): Add more tests (bug#54733)
@@ -60282,21 +62611,21 @@
(perform-replace--run-tests): New function.
(perform-replace-tests): New test function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-29 Lars Ingebrigtsen <larsi@gnus.org>
Simplify window-char-pixel-* code slightly
* lisp/window.el (window-char-pixel-width)
(window-char-pixel-height): Simplify code slightly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-29 Lars Ingebrigtsen <larsi@gnus.org>
Explain effects of setting a zero-width fringe
* lisp/fringe.el (fringe-mode): Not non-obvious effects of setting
a fringe to zero width.
-2023-04-15 Titus von der Malsburg <malsburg@posteo.de>
+2022-04-29 Titus von der Malsburg <malsburg@posteo.de>
Add new functions for computing character metrics for windows
@@ -60309,7 +62638,7 @@
(window-char-pixel-height)
(window-max-characters-per-line): New functions (bug#19395).
-2023-04-15 Pip Cet <pipcet@gmail.com>
+2022-04-29 Pip Cet <pipcet@gmail.com>
Make timer_check even more resilient
@@ -60317,14 +62646,14 @@
copy of the timer list (bug#21380). This prevents an extremely
unlikely segfault.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-29 Lars Ingebrigtsen <larsi@gnus.org>
Avoid binding mouse-1 in xref when mouse-1 doesn't follow links
* lisp/progmodes/xref.el (xref--button-map): Avoid binding mouse-1
when `mouse-1-click-follows-link' is nil (bug#35353).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Fix colorspace calculations on Haiku
@@ -60344,7 +62673,7 @@
(Fx_display_visual_class): Handle grayscale colorspaces.
(syms_of_haikufns): New defsyms.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-29 Lars Ingebrigtsen <larsi@gnus.org>
Add helper function to remove title bar when maximizing frames
@@ -60354,7 +62683,7 @@
* src/window.c (syms_of_window): Mention it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Handle IO errors when creating Motif drag window
@@ -60362,7 +62691,7 @@
(xm_get_drag_window): Use that as the IO error handler when the
temporary display is open.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-29 Po Lu <luangruo@yahoo.com>
Fix file name selection conversion on Haiku
@@ -60370,7 +62699,7 @@
Register new encoder.
(haiku-select-encode-file-name): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-28 Po Lu <luangruo@yahoo.com>
Remove some unneeded tests from the X double buffering code
@@ -60378,7 +62707,7 @@
(flush_dirty_back_buffer_on): Avoid testing for impossible
situations.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-28 Po Lu <luangruo@yahoo.com>
Cancel DND correctly during display disconnect on a different display
@@ -60386,17 +62715,17 @@
(x_connection_closed): Send the messages to cancel DND if a
different display was disconnected.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-28 Po Lu <luangruo@yahoo.com>
* src/xterm.c (XTflash): Check return value of pselect.
-2023-04-15 Eugene Ha <eha@posteo.de> (tiny change)
+2022-04-28 Eugene Ha <eha@posteo.de> (tiny change)
Find libgccjit.dylib on Homebrew Macos
* configure.ac: Also find libggcjit on Homebrew (bug#55173).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-28 Paul Eggert <eggert@cs.ucla.edu>
Pacify byte compiler etc. on org-compat, org-macs
@@ -60409,7 +62738,7 @@
pacify check-declare-file when run on org-macs.
* lisp/org/org-macs.el (org-time-convert-to-integer): Declare.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-28 Paul Eggert <eggert@cs.ucla.edu>
Change current-time back to list form
@@ -60422,14 +62751,14 @@
CURRENT_TIME_LIST. All uses of CURRENT_TIME_LIST changed to
use current_time_list, and all documentation changed.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-28 Paul Eggert <eggert@cs.ucla.edu>
Document \807 etc. in raw byte display
* doc/emacs/display.texi (Display Custom): Mention potential
confusion in raw byte display.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Kill off more Gnus buffers on Gnus exit
@@ -60439,21 +62768,21 @@
* lisp/gnus/nntp.el (nntp-make-process-buffer): Ensure that we
kill these buffers on Gnus exit (bug#55167).
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-04-28 Sam Steingold <sds@gnu.org>
Add Sefirot to Omer counting
* lisp/calendar/cal-hebrew.el (diary-hebrew-omer-sefirot): New variable.
(diary-hebrew-omer): Use it to show the sefirot.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-28 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
# Conflicts:
# lisp/progmodes/xref.el
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-04-28 Stefan Kangas <stefan@marxist.se>
Add tests for image-supported-file-p
@@ -60463,11 +62792,11 @@
(image-supported-file-p/optional)
(image-supported-file-p/unsupported-returns-nil): New tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-04-28 Stefan Kangas <stefan@marxist.se>
* lisp/finder.el (finder-mode-map): Use defvar-keymap.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-28 Eli Zaretskii <eliz@gnu.org>
Improve documentation of font- and face-related attribute functions
@@ -60482,11 +62811,11 @@
(Attribute Functions): Add cross-reference to the description of
face attributes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/nadvice.el: Fix bug#55149
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Allow inserting and selecting binary blobs from sqlite
@@ -60494,7 +62823,7 @@
data.
* src/sqlite.c (bind_values): Bind BLOB columns correctly (bug#54591).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-28 Po Lu <luangruo@yahoo.com>
Simplify buffer flipping code on Haiku
@@ -60503,21 +62832,21 @@
(haiku_read_socket): Use that instead of looping over each frame
at the end.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Document dired-keep-marker-copy more
* doc/emacs/dired.texi (Operating on Files): Mention
dired-keep-marker-copy.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Improve dired-do-copy doc string
* lisp/dired-aux.el (dired-do-copy): Mention the
`dired-keep-marker-copy' variable in the doc string (bug#21746).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Document the non-effect of narrowing on get-text-property
@@ -60527,38 +62856,38 @@
* src/textprop.c (Ftext_properties_at, Fget_text_property):
Mention narrowing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Add comment to linum-mode about being old
* lisp/linum.el (linum-mode): Link to display-line-numbers-mode
(bug#34639).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Fix `g' in *grep* after `A' in Dired
* lisp/dired-aux.el (dired-do-find-regexp): Allow `g' to work in
the resulting grep buffer by not being destructive (bug#55157).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-28 Lars Ingebrigtsen <larsi@gnus.org>
Fix another help-fns--insert-menu-bindings parsing problem
* lisp/help-fns.el (help-fns--insert-menu-bindings): Fix keymap
traversal when elements are symbols.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-28 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_term_init): Fix the non-GTK3 XI2 build.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-28 Michael Albinus <michael.albinus@gmx.de>
Revert previous change in test/Makefile.in
* test/Makefile.in (test_template): Revert previous change, it isn't needed.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-28 Eli Zaretskii <eliz@gnu.org>
Fix handling of proportional fonts on MS-Windows
@@ -60569,13 +62898,13 @@
* lisp/textmodes/artist.el (artist-mode): Fix test for monospaced
fonts.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-28 Po Lu <luangruo@yahoo.com>
Fix GTK build
* src/xrdb.c (x_load_resources): Fix definitions of `helv'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Stop overriding default Motif colors with our own
@@ -60583,7 +62912,7 @@
defaults manually, let Motif set them itself. This makes
palettes provided by color servers work again.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Handle display disconnects during DND
@@ -60592,7 +62921,7 @@
(x_connection_closed, x_delete_terminal): Handle display
disconnects during DND correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Fix target display checks during Motif DND
@@ -60600,7 +62929,7 @@
completion message is actually from the right display before
proceeding.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
src/xdisp.c: Use same test in `redisplay_window` and `prepare_menu_bars`
@@ -60617,7 +62946,7 @@
(Fwindow_point): Use it.
* src/window.h (window_point): Declare it.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-27 Sean Whitton <spwhitton@spwhitton.name>
New user option 'calc-kill-line-numbering'
@@ -60627,28 +62956,28 @@
* etc/NEWS:
* doc/misc/calc.texi (Killing from the Stack): Document the change.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-27 Alan Mackenzie <acm@muc.de>
CC Mode: "linux" style: set indent-tabs-mode to t
* lisp/progmodes/cc-styles.el (c-style-alist): Add the setting of
indent-tabs-mode to "linux" style.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-27 Michael Albinus <michael.albinus@gmx.de>
Improve tramp-test46-read-password
* test/lisp/net/tramp-tests.el (tramp-test46-read-password): Add a
further check.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-27 Eli Zaretskii <eliz@gnu.org>
Emulate 'clock' for MS-Windows
* src/w32.c (sys_clock): New function. (Bug#44674)
* nt/inc/ms-w32.h (clock): Redirect to sys_clock.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-M-x' use the original value of print-length while evalling
@@ -60656,7 +62985,7 @@
with the original values of print-level and print-length
(bug#135).
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2022-04-27 Ken Brown <kbrown@cornell.edu>
Implement system_process_attributes on Cygwin
@@ -60666,18 +62995,18 @@
* etc/NEWS: Mention the change.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
Add new function current-cpu-time
* doc/lispref/os.texi (Time of Day): Document it.
* src/timefns.c (Fcurrent_cpu_time): New function (bug#44674).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Change parameter order for string-edit functions
@@ -60686,35 +63015,35 @@
they're more similar to `read-string'. Rename symbols throughout
the file from help-text to prompt.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Add autoload cookies to string-edit
* lisp/textmodes/string-edit.el (string-edit)
(read-string-from-buffer): Autoload.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Fix some typos in the recent holidays change
* lisp/calendar/holidays.el (holiday-available-holiday-lists): Fix
typos.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Give better error message in dired-toggle-read-only on nonexisting dirs
* lisp/dired.el (dired-toggle-read-only): Refuse to edit
non-existent directories (bug#23276).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Rename holiday-lists to holiday-available-holyday-lists
* lisp/calendar/holidays.el (holiday-available-holyday-lists):
Give holiday-lists a better name.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Separate out the holiday lists into its own function
@@ -60722,21 +63051,21 @@
its own function so that it can be altered (bug#55140).
(list-holidays): Use it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-27 Michael Albinus <michael.albinus@gmx.de>
Make test/Makefile more robust
* test/Makefile.in (test_template): Do not fails if corresponding
source file doesn't exist.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Add an instruction header line to string-edit
* lisp/textmodes/string-edit.el (string-edit): Add a header line
with instructions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-27 Lars Ingebrigtsen <larsi@gnus.org>
Make isearch respond to 'mouse-yank-at-point'
@@ -60746,7 +63075,7 @@
* lisp/mouse.el (mouse-yank-at-point): Mention it.
-2023-04-15 Tomasz Hołubowicz <45176912+alternateved@users.noreply.github.com> (tiny change)
+2022-04-27 Tomasz Hołubowicz <45176912+alternateved@users.noreply.github.com> (tiny change)
Add out-of-box support for purescript lsp server
@@ -60756,7 +63085,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/905
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Cleanups to PGTK code
@@ -60795,7 +63124,7 @@
* src/pgtkterm.h (struct pgtk_output): New field for tracking
relief color status, update prototypes.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-04-27 João Távora <joaotavora@gmail.com>
Ensure non-null :settings param in didchangeconfiguration notif
@@ -60803,7 +63132,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/936
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Remove some unnecessary code
@@ -60811,11 +63140,11 @@
(SetUpDoubleBuffering): Remove `cspace' field since it's always
RGBA32.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-27 Juri Linkov <juri@linkov.net>
* lisp/help-fns.el (help-fns--insert-menu-bindings): Don't highlight heading.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-27 Paul Eggert <eggert@cs.ucla.edu>
Use org-time-convert-to-integer instead of by hand
@@ -60823,14 +63152,14 @@
Don’t assume list-format timestamps, by using
org-time-convert-to-integer instead of doing it by hand.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Fix quitting application from the Deskbar on Haiku
* lisp/term/haiku-win.el (handle-save-session): Kill Emacs
afterwards.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-27 Po Lu <luangruo@yahoo.com>
Add simple session management support to Haiku
@@ -60854,21 +63183,21 @@
events.
(haiku_term_init): Check new port.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-27 Paul Eggert <eggert@cs.ucla.edu>
Avoid change to desktop file format
* lisp/desktop.el (desktop--get-file-modtime): New function.
(desktop-save, desktop-read): Use it.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-26 Paul Eggert <eggert@cs.ucla.edu>
Be more compatible with older desktops
* lisp/desktop.el (desktop-save): When comparing timestamps use
time-equal-p instead of ‘equal’.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-26 Po Lu <luangruo@yahoo.com>
Clean up pointer blanking code
@@ -60886,7 +63215,7 @@
* src/xterm.h (struct x_display_info): New field
`fixes_pointer_blanking'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
nadvice.el: Auto-generate the doc describing the "how" arg
@@ -60896,7 +63225,7 @@
(add-function, advice-add): Use it to auto-generate the table
describing the accepted values for `how`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
nadvice.el: Use OClosures
@@ -60916,7 +63245,7 @@
* test/lisp/emacs-lisp/nadvice-tests.el (advice-test-print): New test.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
nadvice.el: Rename "where" to "how"
@@ -60926,7 +63255,7 @@
(add-function, advice-add): Rename `where` arg to `how`.
* lisp/emacs-lisp/cl-print.el (cl-print-object): Use `advice--how` name.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
Use `advice--cd*r` where applicable
@@ -60934,7 +63263,7 @@
* lisp/emacs-lisp/advice.el (ad-get-orig-definition):
* lisp/help.el (help-function-arglist): Use `advice--cd*r`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
Pretty print OClosure slot accessors
@@ -60943,14 +63272,14 @@
* test/lisp/emacs-lisp/nadvice-tests.el (advice-test-call-interactively):
Avoid `defun` within a function.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-26 Paul Eggert <eggert@cs.ucla.edu>
Fix gnus-html-image-cache-ttl FIXME
* lisp/gnus/gnus-html.el (gnus-html-image-cache-ttl):
Make it a seconds count.
-2023-04-15 Alex Schroeder <alex@gnu.org>
+2022-04-26 Alex Schroeder <alex@gnu.org>
Fix error in rcirc for IRC tags without values
@@ -60960,7 +63289,7 @@
nil, the STRING argument for the replace-regexp-in-string is nil,
which results in an error.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
New generic function `oclosure-interactive-form`
@@ -60991,35 +63320,35 @@
* doc/lispref/commands.texi (Using Interactive):
Document `oclosure-interactive-form`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-26 Lars Ingebrigtsen <larsi@gnus.org>
Mention caveats in the map-delete doc string
* lisp/emacs-lisp/map.el (map-delete): Mention how this has to be
used for lists (bug#25929).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-26 Po Lu <luangruo@yahoo.com>
Fix EWMH window activation
* src/xterm.c (x_ewmh_activate_frame): Add missing fields of
message. (bug#55122)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-26 Lars Ingebrigtsen <larsi@gnus.org>
Tweak interactive use of delete-windows-on
* lisp/window.el (delete-windows-on): Make prompting better, and
allow specifying only the current frame interactively (bug#34749).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-26 Lars Ingebrigtsen <larsi@gnus.org>
Make `C RET' work in archive-mode
* lisp/arc-mode.el (archive-copy-file): Fix the default value
(when the user hits RET) (bug#55123).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-26 Lars Ingebrigtsen <larsi@gnus.org>
Make new menu *Help* output be more resilient
@@ -61027,7 +63356,7 @@
the heading if it turns out that we actually find the menu.
(help-fns--insert-bindings): Tweak calling convention.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-26 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option flymake-mode-line-lighter
@@ -61037,14 +63366,14 @@
option (bug#55115).
(flymake--mode-line-title): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-26 Lars Ingebrigtsen <larsi@gnus.org>
Improve documentation for t value for reusable-frames
* doc/lispref/windows.texi (Buffer Display Action Alists): Note
that the t value is rarely a good one (bug#55103).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-26 Po Lu <luangruo@yahoo.com>
Fix event mask of activation client message
@@ -61053,11 +63382,11 @@
(x_ewmh_activate_frame): Fix event mask used to send message to
the root window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-25 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_scroll_run): Only flush GC if really necessary.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-04-25 Dmitry Gutov <dgutov@yandex.ru>
Fix Ruby indentation with double splat as first block param
@@ -61065,7 +63394,7 @@
(ruby-smie--backward-token): Tokenize "**" separately from "|".
Problem reported at https://github.com/dgutov/robe/issues/136.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-25 Po Lu <luangruo@yahoo.com>
Cache relief colors on Haiku since their computation is expensive
@@ -61076,14 +63405,14 @@
* src/haikuterm.h (struct haiku_output): New fields for caching
the last relief color.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-25 Paul Eggert <eggert@cs.ucla.edu>
Pacify misc/test-custom-opts
* lisp/gnus/gnus-html.el (gnus-html-image-cache-ttl):
Also allow it to be a cons of integers.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic.el: Upcase formal args in `C-h o`
@@ -61095,14 +63424,14 @@
(cl--generic-upcase-formal-args): New function.
(cl--generic-describe): Use it.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-25 Paul Eggert <eggert@cs.ucla.edu>
Use (TICKS . HZ) for current-time etc.
* src/timefns.c (CURRENT_TIME_LIST): Change default to false.
All documentation changed.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-25 Paul Eggert <eggert@cs.ucla.edu>
Support (encode-time (list s m h D M Y))
@@ -61110,7 +63439,7 @@
Requested by Max Nikulin for Org (bug#54764).
* test/src/timefns-tests.el (encode-time-alternate-apis): New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-25 Lars Ingebrigtsen <larsi@gnus.org>
Change the display of menu bindings in *Help*
@@ -61118,14 +63447,14 @@
to describe menu entries more fully (bug#52870).
(help-fns--key-bindings): Use it.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-04-25 Glenn Morris <rgm@gnu.org>
Fix type of word-wrap-whitespace-characters
* lisp/textmodes/word-wrap-mode.el (word-wrap-whitespace-characters):
Fix type.
-2023-04-15 Alan Third <alan@idiocy.org>
+2022-04-25 Alan Third <alan@idiocy.org>
Po Lu <luangruo@yahoo.com>
Fix nsmenu compilation under macOS 10.6
@@ -61145,21 +63474,21 @@
(ns_frame_scale_factor):
([EmacsWindow setParentChildRelationships]): Fix macOS version stuff.
-2023-04-15 Karl Fogel <kfogel@red-bean.com>
+2022-04-25 Karl Fogel <kfogel@red-bean.com>
Update bookmark sort indicator at proper time
This follows up to my commit 8b071c77b0d7 of 2022-04-24. Thanks to
Manuel Giraud <manuel@ledu-giraud.fr> for reporting the buglet.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-25 Po Lu <luangruo@yahoo.com>
Make default Haiku tool bar color match system preferences
* lisp/faces.el (tool-bar): Use system bar color as the default
tool-bar background color on Haiku.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-25 Lars Ingebrigtsen <larsi@gnus.org>
Move the Incremental Search menu one menu up
@@ -61167,7 +63496,7 @@
Search from the Search menu...
(menu-bar-edit-menu): ... one step up (bug#43308).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-25 Lars Ingebrigtsen <larsi@gnus.org>
Protect against the host name containing an alpha character
@@ -61175,7 +63504,7 @@
against the unlikely case that the host name contains an alpha
character (bug#14250).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-25 Michael Albinus <michael.albinus@gmx.de>
Add test for Tramp password handling
@@ -61191,7 +63520,7 @@
* test/lisp/net/tramp-archive-tests.el (tramp-archive-test47-auto-load)
(tramp-archive-test47-delay-load): Rename.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-25 Lars Ingebrigtsen <larsi@gnus.org>
Make flymake-show-buffer-diagnostics error out in non-Flymake buffers
@@ -61199,7 +63528,7 @@
Signal an error if run outside of a buffer with Flymake enabled
(bug#55097).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix up some string-edit.el strings
@@ -61208,7 +63537,7 @@
bindings.
(string-edit): Fix message at the end.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-25 Po Lu <luangruo@yahoo.com>
Delete some unused functions on Haiku
@@ -61216,7 +63545,7 @@
(BWindow_workspaces):
* src/haiku_support.h: Remove unused functions and prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-25 Po Lu <luangruo@yahoo.com>
Get rid of autorelease warnings during building on GNUstep
@@ -61225,35 +63554,35 @@
* src/nsterm.m (ns_term_shutdown): Setup autorelease when
objects might be autoreleased during building.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-25 Po Lu <luangruo@yahoo.com>
* src/nsfns.m (Fns_list_colors): Fix autoreleasing.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-04-24 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.3-3-gd54104
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-24 Po Lu <luangruo@yahoo.com>
Set last user time during drag-and-drop
* src/xterm.c (XTmouse_position): Set last user time if
track-mouse is drag-source or dropping.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-24 Po Lu <luangruo@yahoo.com>
Fix 32-bit Haiku build
* src/haiku_support.h (be_get_ui_color): Fix prototype.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-24 Eli Zaretskii <eliz@gnu.org>
Improve indexing in "Programmed Completion"
* doc/lispref/minibuf.texi (Programmed Completion): Improve
indexing. (Bug#55095)
-2023-04-15 Karl Fogel <kfogel@red-bean.com>
+2022-04-24 Karl Fogel <kfogel@red-bean.com>
Improve sorting in the bookmark list buffer
@@ -61271,27 +63600,27 @@
(bookmark-bmenu-mode): Document the new behavior. Rename the
"Bookmark" column to "Bookmark Name" for clarity & documentabilty.
-2023-04-15 Aleksandr Vityazev <avityazev@posteo.org>
+2022-04-24 Aleksandr Vityazev <avityazev@posteo.org>
Fix typo in cl.texi example
* doc/misc/cl.texi (Argument Lists): Fix typo (bug#55092).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-24 Lars Ingebrigtsen <larsi@gnus.org>
Use `C-c C-k' instead of `C-c C-d' to abort in string-edit
* lisp/textmodes/string-edit.el (string-edit-mode-map): Use `C-c
C-k' to abort.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-24 Lars Ingebrigtsen <larsi@gnus.org>
Further help-fns--editable-variable fixes
* lisp/help-fns.el (help-fns--editable-variable): Don't bug out on
non-symbols.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-24 Lars Ingebrigtsen <larsi@gnus.org>
Provide help when doing (shell-command "... &") on buffer collisions
@@ -61299,14 +63628,14 @@
function (bug#13649).
(shell-command): Use it to provide fuller help.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-24 Lars Ingebrigtsen <larsi@gnus.org>
Add new function `read-string-from-buffer'.
* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.
* lisp/textmodes/string-edit.el: New file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow 'C-u C-h .' to describe button/widgets
@@ -61314,14 +63643,14 @@
* lisp/help-at-pt.el (display-local-help): Display button/widget
help (bug#54963).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-24 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that the global sql-buffer variable is set
* lisp/progmodes/sql.el (sql-product-interactive): Set the
expected global value of sql-buffer (bug#55088).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-24 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'set-fontset-font'
@@ -61330,11 +63659,11 @@
documentation of 'set-fontset-font'. Rename the arguments to be
more self-explanatory. (Bug#55086)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-24 Po Lu <luangruo@yahoo.com>
* lisp/term/haiku-win.el (x-colors): Also update with system colors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-24 Po Lu <luangruo@yahoo.com>
Allow looking up window system colors on Haiku
@@ -61348,7 +63677,7 @@
(syms_of_haikufns): New defvar `haiku-allowed-ui-colors'.
* src/haikuterm.c (haiku_term_init): Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-23 Po Lu <luangruo@yahoo.com>
Fix disabling double buffering on Haiku
@@ -61358,7 +63687,7 @@
(haiku_draw_relief_rect, haiku_draw_underwave): Clean up coding
style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-23 Po Lu <luangruo@yahoo.com>
Speed up color cache lookup on X
@@ -61369,7 +63698,7 @@
* src/xterm.h (struct x_display_info): Turn color cache into a
hash table and add appropriate fields.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-23 Alan Mackenzie <acm@muc.de>
CC Mode: New alignment function c-lineup-argcont-+
@@ -61383,19 +63712,19 @@
* doc/misc/cc-mode.texi (Operator Line-Up): Add a new piece for
c-lineup-argcont-+.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
NEWS copy editing
Fix elc.gz loading test some more
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Add a failing test case for bug#12598
Author:
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-23 Juri Linkov <juri@linkov.net>
Allow not clearing the echo area
@@ -61405,28 +63734,28 @@
* src/xdisp.c (clear_message): Respect the dont-clear-message
value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Don't have help-fns--editable-variable override link buttons
* lisp/help-fns.el (help-fns--editable-variable): Don't override
link buttons (bug#40774).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Mention the case of the result in the try-completion doc string
* src/minibuf.c (Ftry_completion): Mention the case of the results
(bug#39484).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Make elisp-flymake-byte-compile clean up on failures
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Clean
up no matter what the exit status of the process is (bug#55056).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Don't make a header if the user hasn't specified columns in vtable
@@ -61435,7 +63764,7 @@
(vtable-insert): Don't insert a header line or a header if the
user hasn't specified the columns (bug#55075).
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-04-23 Filipp Gunbin <fgunbin@fastmail.fm>
Fix prompts in sql-get-login again
@@ -61443,18 +63772,18 @@
everywhere.
(sql-get-login): Revert previous fix (bug#52546).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-23 Lars Ingebrigtsen <larsi@gnus.org>
Add new minor mode word-wrap-whitespace-mode
* doc/emacs/display.texi (Visual Line Mode): Document it.
* lisp/textmodes/word-wrap-mode.el: New minor mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-23 Po Lu <luangruo@yahoo.com>
Fix key navigation of Lucid menus on XI2
@@ -61464,28 +63793,28 @@
* src/xterm.c (handle_one_xevent): Dispatch XI2 key events via
Xt when popup is active.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-23 Michael Albinus <michael.albinus@gmx.de>
Fix problem with Solaris ls in Tramp
* lisp/net/tramp-sh.el (tramp-sunos-unames): Move up.
(tramp-sh--quoting-style-options): Handle erroneous Solaris ls.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-22 Po Lu <luangruo@yahoo.com>
Avoid unnecessary calculations when handling button events during DND
* src/xterm.c (handle_one_xevent): Only calculate DND grab for
button release events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-22 Po Lu <luangruo@yahoo.com>
Avoid clearing splash screen message during DND on Haiku
* src/haikuterm.c (haiku_read_socket): Respect any_help_event_p
when sending help events for DND.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-22 Alan Mackenzie <acm@muc.de>
Byte compiler: Prevent special forms' symbols being replaced by bare symbols
@@ -61505,7 +63834,7 @@
a special form, rather than replacing the symbol with a bare symbol, e.g.
'cond.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-22 Alan Mackenzie <acm@muc.de>
Byte compiler: correct output warning message positions (part 2)
@@ -61516,7 +63845,7 @@
* lisp/emacs-lisp/byte-run.el (byte-run--ssp-seen): Correct the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-22 Lars Ingebrigtsen <larsi@gnus.org>
Further doc string quoting fixes
@@ -61533,7 +63862,7 @@
* lisp/emacs-lisp/pcase.el (pcase-setq): Further quoting fixes in
doc strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-22 Lars Ingebrigtsen <larsi@gnus.org>
Audit quoting the quote character in doc strings
@@ -61634,48 +63963,48 @@
quoted with \\=, and regularize 'foo to `foo', and quote strings
like "foo" instead of 'foo'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix map-into doc string example
* lisp/emacs-lisp/map.el (map-into): Fix quote quoting in example.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-22 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-u C-x =' be more verbose about invisible characters
* lisp/descr-text.el (describe-text-properties-1): Note confusing
bits about invisible characters (bug#3400).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-22 Lars Ingebrigtsen <larsi@gnus.org>
Allow completion-ignore-case to be buffer-local
* lisp/minibuffer.el (completing-read-default): Use the value of
completion-ignore-case from the current buffer (bug#12615).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix problem with (narrow-to-page 1) with point at point-max
* lisp/textmodes/page.el (forward-page): Make this work more
consistently if point is on bol (bug#20663).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-22 Po Lu <luangruo@yahoo.com>
Don't transfer window attributes trying to find the XM drag window
* src/xterm.c (xm_get_drag_window): Select for impossible event
mask instead of asking for the window attributes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-22 Eli Zaretskii <eliz@gnu.org>
Another fix for non-ASCII 'overlay-arrow-string'
* src/xdisp.c (get_overlay_arrow_glyph_row): Fix yet another place
that assumed each character is a single byte.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-22 Po Lu <luangruo@yahoo.com>
Fix default frame name on Haiku
@@ -61696,7 +64025,7 @@
* src/haikuterm.h (struct haiku_display_info): New field
`default_name'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-21 Po Lu <luangruo@yahoo.com>
Add an option to disable XI2 for debugging purposes
@@ -61704,14 +64033,14 @@
`disableInputExtension', which means to skip setting up the X
input extension.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-04-21 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Handle nil BOB button label
* lisp/net/eudc-bob.el (eudc-bob-make-button): Do not throw error
when label is nil.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-21 Eli Zaretskii <eliz@gnu.org>
Avoid a redisplay loop when 'overlay-arrow-string' is non-ASCII
@@ -61719,7 +64048,7 @@
character in 'overlay-arrow-string' is one byte long. Reported by
Yuri D'Elia <wavexx@thregr.org>.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-21 Sean Whitton <spwhitton@spwhitton.name>
New electric forward slash Eshell module
@@ -61729,7 +64058,7 @@
(Make / electric): Retitle to "Make / more electric", update, add
"@noindent", and standardize terminology.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-21 Sean Whitton <spwhitton@spwhitton.name>
Bind 'imenu' to 'M-g i' globally
@@ -61742,7 +64071,7 @@
* doc/emacs/programs.texi (Imenu):
* lisp/progmodes/cperl-mode.el: Replace 'M-x imenu' with 'M-g i'.
-2023-04-15 Tino Calancha <tino.calancha@gmail.com>
+2022-04-21 Tino Calancha <tino.calancha@gmail.com>
Respect user-emacs-directory-warning in startup
@@ -61750,7 +64079,7 @@
accessible, delay to show a warning until all command line args
are processed (bug#25163).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-21 Lars Ingebrigtsen <larsi@gnus.org>
Allow searching for regexps with a prefix
@@ -61760,24 +64089,24 @@
(Info-apropos-matches): Allow taking a regexp.
(info-apropos): Prefix now means looking for a regexp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix indentation in copy-region-as-kill
* lisp/simple.el (copy-region-as-kill): Fix indendation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-21 Lars Ingebrigtsen <larsi@gnus.org>
Clarify cl-incf/decf doc strings
* lisp/emacs-lisp/cl-lib.el (cl-incf):
(cl-decf): Clarify that nil isn't a valid value for X (bug#31715).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-21 Po Lu <luangruo@yahoo.com>
* src/haiku_support.cc (gui_abort): Get rid of extern "C" declarations.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-21 Eli Zaretskii <eliz@gnu.org>
Add minimum instructions to 'query-replace' commands
@@ -61796,14 +64125,14 @@
instructions for dealing with matches, with a link to the command
that shows the full instructions. (Bug#55050)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-21 Lars Ingebrigtsen <larsi@gnus.org>
Link dired-do-find-regexp-and-replace to query-replace
* lisp/dired-aux.el (dired-do-find-regexp-and-replace): Link to
`query-replace' (bug#55050).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-21 Eli Zaretskii <eliz@gnu.org>
Unbreak build with MinGW64.
@@ -61811,14 +64140,14 @@
less than _WIN32_WINNT_WINXP, i.e. for building with mingw.org's
MinGW.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-04-21 Andreas Schwab <schwab@linux-m68k.org>
gnus: fix %a in topic line
* lisp/gnus/gnus-topic.el (gnus-topic-insert-topic-line): Also
bind `entries'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-21 Po Lu <luangruo@yahoo.com>
Clean up PGTK code some more
@@ -61853,7 +64182,7 @@
functions copied over from X and modified, and remove duplicate
definition of at least one function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-21 Po Lu <luangruo@yahoo.com>
Don't leave xm drag initiator info around
@@ -61861,13 +64190,13 @@
(x_begin_drag_and_drop): Don't confuse GTK+ 2.x by leaving drag
initiator info around after DND completes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-04-21 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
dbb2dd6939 ; Fix wording of "File Notifications" in the ELisp manual
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-20 Po Lu <luangruo@yahoo.com>
Use a cache on Haiku to avoid constantly reading fonts during font lookup
@@ -61889,7 +64218,7 @@
* src/haikuterm.c (haiku_frame_up_to_date): Clear font lookup
cache every 50 updates.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-20 Po Lu <luangruo@yahoo.com>
Make some frame params work on Haiku tooltip frames
@@ -61897,21 +64226,21 @@
(BWindow_set_tooltip_decoration): Use RecomputeFeel instead of
setting window feel by hand.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-20 Paul Eggert <eggert@cs.ucla.edu>
More encode-time pitfall doc fixes
* doc/lispref/os.texi (Time Conversion): Improve discussion of
encode-time pitfalls based on comments by Max Nikulin (Bug#54764#63).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-20 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'scheme-indent-function' property
* lisp/progmodes/scheme.el: Extend and clarify the commentary
regarding the 'scheme-indent-function' property of special forms.
-2023-04-15 Jean Abou Samra <jean@abou-samra.fr> (tiny change)
+2022-04-20 Jean Abou Samra <jean@abou-samra.fr> (tiny change)
Define indentation behavior for a few more special Scheme forms
@@ -61919,42 +64248,42 @@
property for 'and-let*', 'with-syntax', 'eval-when;, and
pattern matching macros. (Bug#55033)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-20 Po Lu <luangruo@yahoo.com>
Implement `below' z-group on Haiku
* src/haiku_support.cc (BWindow_set_z_group): Handle
Z_GROUP_BELOW by setting the B_AVOID_FRONT flag.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-20 Lars Ingebrigtsen <larsi@gnus.org>
Ensure forward progress in bibtex-map-entries
* lisp/textmodes/bibtex.el (bibtex-map-entries): Ensure forward
progress (bug#55036).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix the outline level in the Emacs NEWS modes
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Fix
the outline level (bug#54993).
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2022-04-20 Basil L. Contovounesios <contovob@tcd.ie>
Fix build for --enable-checking=structs
* src/pdumper.c (dump_subr): Update Lisp_Subr hash after last change
of 2022-04-18 "Port struct Lisp_Subr to C99".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-20 Po Lu <luangruo@yahoo.com>
Reset Motif DND protocol numbers when writing targets table
* src/xterm.c (xm_setup_dnd_targets): Set header.protocol to 0
when writing table.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-20 Po Lu <luangruo@yahoo.com>
Implement `above' z-group on Haiku
@@ -61972,7 +64301,7 @@
like on X.
(haiku_frame_parm_handlers): Add `haiku_set_z_group'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-19 Po Lu <luangruo@yahoo.com>
Fix enabling menu bar multiple times on Haiku
@@ -61985,11 +64314,11 @@
* src/haikuterm.c (haiku_read_socket): Don't adjust height here
anymore.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-19 Paul Eggert <eggert@cs.ucla.edu>
Update from gnulib
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-19 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -std=c99 with printf %p
@@ -61997,7 +64326,7 @@
to void * before printing it with %p, as the C standard
doesn’t bless printing function pointers with %p.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-19 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -std=c99
@@ -62005,28 +64334,28 @@
%Lu for sscanf, as %llu is standard and %Lu is not, and the latter
can provoke warnings if gcc is used pedantically.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-19 Po Lu <luangruo@yahoo.com>
Check for integer overflow when writing Motif targets tables
* src/xterm.c (xm_setup_dnd_targets): Check for integer overflow
when adding list to target table.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous description of fallback order
* doc/emacs/custom.texi (Specifying File Variables): Document
fallback mode order.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
Document how to specify fallback modes
* doc/emacs/custom.texi (Specifying File Variables): Document
fallback mode order.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix regression with multiple mode: entries in the prop line
@@ -62034,7 +64363,7 @@
final mode: line (which is the same as having several mode: bits
in the header line.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
Allow several mode: elements in the local variable section
@@ -62043,7 +64372,7 @@
final mode: line (which is the same as having several mode: bits
in the header line.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
Fix GCC warnings when CHECK_LISP_OBJECT_TYPE
@@ -62053,7 +64382,7 @@
* src/bytecode.c (Fbyte_code): Fix Lisp_Object/int mixup.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
Revert prompting changes in viper-cmd
@@ -62062,14 +64391,14 @@
prompting changes done in 50512e3 -- the way viper prompts in
command mode is special (bug#55007).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
Be more resilient against invalid headers in mml-generate-mime
* lisp/gnus/mml.el (mml-generate-mime): Don't bug out when called
with invalid headers (bug#55014).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-19 Philip Kaludercic <philipk@posteo.net>
Fix handling of intspecs as string by rcirc-define-command
@@ -62078,7 +64407,7 @@
list so that the result of its interpretation is passed as the first
argument of the command resulting from the macro expansion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-19 Po Lu <luangruo@yahoo.com>
Fix `x-mouse-click-focus-ignore-position' for odd coincidences across displays
@@ -62087,7 +64416,7 @@
(x_delete_display): Clear that display here if applicable.
(x_initialize): Likewise.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-19 Eli Zaretskii <eliz@gnu.org>
Fix dimensions of console window of restarted Emacs on MS-Windows
@@ -62096,7 +64425,7 @@
dimensions of the restarted Emacs's console window to the same
values as that of the original Emacs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-19 Po Lu <luangruo@yahoo.com>
Deal with Motif drag window related races
@@ -62104,7 +64433,7 @@
(xm_get_drag_window): If a drag window was created and we have
the temp display grabbed, use that instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-19 Po Lu <luangruo@yahoo.com>
Minor cleanups to Haiku menu code
@@ -62119,14 +64448,14 @@
* src/haikufont.c (haikufont_open, haikufont_close): Fix coding
style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Fix last change for GTK 2
* src/xfns.c (x_set_alpha_background):
* src/xterm.c (x_update_opaque_region): Move some ifdefs around.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Fix opaque region treatment on GTK 3
@@ -62134,7 +64463,7 @@
* src/xterm.c (x_update_opaque_region): Update opaque region for
tooltip frames the correct way on GTK.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-18 Paul Eggert <eggert@cs.ucla.edu>
Port struct Lisp_Subr to C99
@@ -62142,7 +64471,7 @@
a feature missing from C99 and not supported by older OS X.
All uses changed.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-18 Paul Eggert <eggert@cs.ucla.edu>
Port module_bignum_count_max to strict C
@@ -62150,14 +64479,14 @@
this a macro, not an enum, since it might not fit into
int as C99 requires.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-18 Sean Whitton <spwhitton@spwhitton.name>
Tell those using exclusively X not to use the PGTK port
* INSTALL (Alternative window systems): Tell those using exclusively X
not to use the PGTK port.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Fix display of glyphless characters on Haiku
@@ -62166,17 +64495,17 @@
(haiku_draw_glyphless_glyph_string_foreground): Correctly
display glyphless character rectangle.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-18 Paul Eggert <eggert@cs.ucla.edu>
Use "@code{nil}" in documentation
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-18 Paul Eggert <eggert@cs.ucla.edu>
Remove obsolete footnote
Emacs no longer warns about timestamps like (1 . 1000).
-2023-04-15 Alan Third <alan@idiocy.org>
+2022-04-18 Alan Third <alan@idiocy.org>
Fix glyphless glyph display on NS (bug#54970)
@@ -62187,7 +64516,7 @@
and also which glyphs are drawn.
(ns_glyph_metrics): Reverse ascent and descent.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-18 Eli Zaretskii <eliz@gnu.org>
Minor improvements in 'restart-emacs' on MS-Windows
@@ -62197,7 +64526,7 @@
* src/w32console.c (initialize_w32_display): Check errors in call
to GetConsoleCursorInfo.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-18 Alan Mackenzie <acm@muc.de>
Byte compiler: correct output warning message positions
@@ -62209,14 +64538,14 @@
(byte-compile--warning-source-offset): Call the new function above rather than
the old one.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Make isearch-lax-whitespace a user option
* lisp/isearch.el (isearch-lax-whitespace): Make into a defcustom
(bug#20351).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Avoid hangs in python-mode with debug-on-error set
@@ -62225,7 +64554,7 @@
machinery, and if debug-on-error is set here, we'll hang Emacs
(bug#54996).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Make it easier to use Emacs as a script interpreter
@@ -62236,7 +64565,7 @@
* src/emacs.c (main): Transform -x to -scripteval.
(standard_args): Add -x (bug#20682).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Add missing Motif atoms
@@ -62245,7 +64574,7 @@
(syms_of_xselect): Optimize for XmTRANSFER_SUCCESS and
XmTRANSFER_FAILURE as well.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-18 Alan Mackenzie <acm@muc.de>
Byte compiler: remove symbol positions from byte-switch tables
@@ -62255,14 +64584,14 @@
symbols with positions in byte-switch tables, by temporarily removing the
entries from the table, and reinserting them amended.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Clean up view-emacs-news code
* lisp/help.el (view-emacs-news): Remove workaround after fixing
mode: cookie error.
-2023-04-15 Nacho Barrientos <nacho.barrientos@cern.ch> (tiny change)
+2022-04-18 Nacho Barrientos <nacho.barrientos@cern.ch> (tiny change)
Unify local variable initialisation in url-http
@@ -62271,7 +64600,7 @@
declaring and initialising it the same way as the other related
ones (bug#54989).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Make `restart-emacs' work when Emacs is started with --chdir
@@ -62283,13 +64612,13 @@
with relative executable names, and so that we attempt to restart
the same executable and not some other Emacs from PATH.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Improve `restart-emacs' error reporting
* src/emacs.c (Fkill_emacs): Do better error reporting on restarting.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Make "restart" erroring slightly more reliable
@@ -62297,21 +64626,21 @@
errors -- we've already shut down Emacs at this point, so the
normal erroring machinery isn't reliable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix major-mode setting regression when there's a mode: cookie
* lisp/files.el (hack-local-variables): Fix regression in setting
the major mode when there are mode: cookies in the file (bug#54993).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Stop skipping ShapeNotify events during DND on GTK+
* src/xterm.c (handle_one_xevent): Don't skip ShapeNotify events
because we can't send these events back to GDK manually.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Clarify computation of header line vpos
@@ -62319,7 +64648,7 @@
only if is both a tab and header line. Reported by Eli
Zaretskii <eliz@gnu.org>.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-18 Eli Zaretskii <eliz@gnu.org>
Fix 'restart-emacs' in -nw mode on MS-Windows
@@ -62327,14 +64656,14 @@
(w32_reexec_emacs): Kludgey solution for restarting Emacs in the
"-nw" mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-18 Po Lu <luangruo@yahoo.com>
Fix glyph skipping optimization when a tab line is enabled
* src/dispnew.c (update_text_area): Compute vpos of header line
correctly when window has tab line.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Minor cleanups to PGTK code
@@ -62358,7 +64687,7 @@
(pgtk_create_terminal): Clean up coding style.
* src/pgtkterm.h: Update prototypes.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
Port sqlite.c to OS X 10.6.8 with Xcode 3.2.6
@@ -62367,7 +64696,7 @@
* src/sqlite.c (Fsqlite_open): Don’t assume SQLITE_OPEN_MEMORY
is defined.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Fix Haiku menu bars when redisplay happens immediately after activation
@@ -62379,7 +64708,7 @@
* src/haikumenu.c (haiku_activate_menubar): Immediately activate
menu bar after replaying event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Some minor fixes to Motif DND support
@@ -62387,37 +64716,37 @@
values if wrong byteorder.
(xm_setup_dnd_targets): Read LONG_MAX amount of drag targets.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
Merge from origin/emacs-28
65c04e7115 Update to Org 9.5.2-38-g682ccd
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
Merge from origin/emacs-28
3cccf0a910 Don’t assume openat
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-04-17 Jim Porter <jporterbugs@gmail.com>
Fix Eshell predicate tests when running from 'make check'
* test/lisp/eshell/em-pred-tests.el (eshell-partial-let-func): Get
original function after macro-expansion.
-2023-04-15 Kyle Meyer <kyle@kyleam.com>
+2022-04-17 Kyle Meyer <kyle@kyleam.com>
Update to Org 9.5.2-38-g682ccd
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Make desktop.el use local-minor-modes when saving
* lisp/desktop.el (desktop-buffer-info): Use a more reliable way
to get minor modes (bug#29972).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
Don’t assume openat
@@ -62433,7 +64762,7 @@
(emacs_open_noquit): Reimplement as per the old emacs_openat_noquit,
but use plain 'open'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-17 Eli Zaretskii <eliz@gnu.org>
Improve the support for the Brahmi script
@@ -62444,7 +64773,7 @@
* etc/NEWS: Mention the brahmi input method.
* etc/HELLO: Add a Brahmi greeting.
-2023-04-15 kobarity <kobarity@gmail.com> (tiny change)
+2022-04-17 kobarity <kobarity@gmail.com> (tiny change)
Fix fontifying type hints in python-mode
@@ -62452,7 +64781,7 @@
(python-font-lock-keywords-maximum-decoration): Avoid fontifying
type hints as variable names (bug#54992).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Allow editing variable values in *Help* buffers
@@ -62464,7 +64793,7 @@
(help-fns--edit-value-mode-map, help-fns--edit-value-mode)
(help-fns-edit-mode-done): New mode and commands.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Make :filters run in the correct buffer in describe-buffer-bindings
@@ -62476,7 +64805,7 @@
* src/keymap.c (Fdescribe_buffer_bindings): Pass in BUFFER to
describe-map-tree.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-17 Eli Zaretskii <eliz@gnu.org>
Fix 'restart-emacs' on MS-Windows
@@ -62488,33 +64817,33 @@
(Fkill_emacs) [WINDOWSNT]: Call 'w32_reexec_emacs' instead of
'execvp'. (Bug#17036)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Add a `restart-emacs' sanity check
* src/emacs.c (Fkill_emacs): Add a sanity check for argv.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Handle bad actual actions during DND
* src/xterm.c (x_dnd_begin_drag_and_drop): Behave correctly when
the target gives us a bad atom.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Check whether we can restart in Fkill_emacs
* src/emacs.c (Fkill_emacs): Report an error if we can't restart.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Explain what "pending" means in isearch
* doc/emacs/search.texi (Regexp Search): Explain what "Pending"
usually means (bug#10148).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-17 Philip Kaludercic <philipk@posteo.net>
Handle connection errors in rcirc-keepalive
@@ -62526,14 +64855,14 @@
(rcirc-send-string): Throw rcirc-closed-connection instead of a
generic error.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Add new function `flush-standard-output'.
* doc/lispref/streams.texi (Output Functions): Document it.
* src/print.c (Fflush_standard_output): New function (bug#15180).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-17 Philip Kaludercic <philipk@posteo.net>
Further improve buffer-match-p related documentation
@@ -62543,7 +64872,7 @@
* lisp/window.el (display-buffer-assq-regexp): Mention what happens
when no entry in the alist satisfies a condition.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Add a new command `restart-emacs'
@@ -62564,7 +64893,7 @@
(read_key_sequence, quit_throw_to_read_char):
* src/eval.c (process_quit_flag): Adjust Fkill_emacs callers.
-2023-04-15 Nacho Barrientos <nacho.barrientos@cern.ch> (tiny change)
+2022-04-17 Nacho Barrientos <nacho.barrientos@cern.ch> (tiny change)
Fix chunked encoding connections in url-http
@@ -62625,57 +64954,57 @@
[0] https://datatracker.ietf.org/doc/html/rfc7230#section-4.1
[1] https://github.com/magit/ghub/issues/81
-2023-04-15 Oleh Krehel <ohwoeowho@gmail.com>
+2022-04-17 Oleh Krehel <ohwoeowho@gmail.com>
Remove duplicates from Info-read-node-name-2
* lisp/info.el (Info-read-node-name-2): Remove duplicates from
completions (bug#20365).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix instructions on how to enable password-store
* doc/misc/auth.texi (Help for users): Give the correct
instructions on how to enable password store (bug#30900).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Clarify setopt NEWS entry
Do some NEWS tagging
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Add a doc string to xref-current-item
* lisp/progmodes/xref.el (xref-after-jump-hook): Link to it.
(xref-current-item): Add a doc string to the now-public variable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Clarify emacs-news--heading-p logic
* lisp/textmodes/emacs-news-mode.el (emacs-news--heading-p):
Clarify the logic.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-17 Lars Ingebrigtsen <larsi@gnus.org>
Move some entries around in the NEWS file
Fix up the NEWS entry for emacs-news*-mode
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
* src/filelock.c (Fcreate_lockfiles): Doc string fix.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
Merge from origin/emacs-28
4641bc1c55 Fix GC bug in filelock.c
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Fix race conditions waiting for menu bar resize events on Haiku
@@ -62688,7 +65017,7 @@
* src/haikuterm.h (struct haiku_output): New field
`wait_for_event_type'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Fix race conditions waiting for menu bar resize events on Haiku
@@ -62701,7 +65030,7 @@
* src/haikuterm.h (struct haiku_output): New field
`wait_for_event_type'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Get rid of unused flags on Haiku
@@ -62712,11 +65041,11 @@
* src/haikuterm.h (struct haiku_output): Delete
`menu_up_to_date_p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (haiku_free_frame_resources): Free saved menu event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Fix hangs when clicking on Haiku menu bar to activate frame
@@ -62741,7 +65070,7 @@
* src/haikuterm.h (struct haiku_output): New field
`saved_menu_event'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
Fix GC bug in filelock.c
@@ -62757,7 +65086,7 @@
(make_lock_file_name): Return the encoded name, not the original.
All callers changed.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-04-17 Jim Porter <jporterbugs@gmail.com>
Add 'G' argument predicate in Eshell
@@ -62769,7 +65098,7 @@
* doc/misc/eshell.texi (Argument Predication): Document 'G' predicate.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-04-17 Jim Porter <jporterbugs@gmail.com>
Add unit tests and documentation for Eshell predicates/modifiers
@@ -62792,7 +65121,7 @@
* doc/misc/eshell.texi (Argument Predication): New section.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-04-17 Jim Porter <jporterbugs@gmail.com>
Add unit tests and documentation for Eshell pattern-based globs
@@ -62804,14 +65133,14 @@
* doc/misc/eshell.texi (Globbing): Document pattern-based globs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-17 Po Lu <luangruo@yahoo.com>
Make sure the ftcr font driver is used on Haiku when Cairo is enabled
* src/haikufont.c (syms_of_haikufont): [USE_BE_CAIRO]: Make sure
`ftcr' superseeds `haiku'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-16 Paul Eggert <eggert@cs.ucla.edu>
Document encode-time caveats
@@ -62829,7 +65158,7 @@
* src/timefns.c (Fencode_time): In doc string, mention date
arithmetic and tighten up the wording a bit.
-2023-04-15 Max Nikulin <manikulin@gmail.com>
+2022-04-16 Max Nikulin <manikulin@gmail.com>
Stress difference of new and old ways to call `encode-time'
@@ -62846,14 +65175,14 @@
purpose and limitations of the DST field are added after discussion with
Paul Eggert in (bug#54764).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-16 Po Lu <luangruo@yahoo.com>
Restore pending_signals at a point in the DND event loop
* src/xterm.c (x_dnd_begin_drag_and_drop): Restore
pending_signals after unblock_input.
-2023-04-15 Earl Hyatt <okamsn@protonmail.com>
+2022-04-16 Earl Hyatt <okamsn@protonmail.com>
Add basic Texinfo support for Flymake.
@@ -62863,7 +65192,7 @@
texinfo--flymake-proc. Modify texinfo-mode to automatically add this
function to the hook flymake-diagnostic-functions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -62880,7 +65209,7 @@
# lisp/outline.el
# src/sysdep.c
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -62889,7 +65218,7 @@
5ee959aa87 Add a comment about cl-concatenate
ab2b822b9b Revert "Make cl-concatenate an alias of seq-concatenate"
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -62903,7 +65232,7 @@
# Conflicts:
# doc/misc/eww.texi
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -62914,7 +65243,7 @@
ff997ad786 Ensure local `default-directory' in Tramp when needed
4f27588a16 Clarify "idleness" in the ELisp manual
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -62922,17 +65251,17 @@
11a1f7817e Merge branch 'emacs-28' of git.sv.gnu.org:/srv/git/emacs i...
93974198b6 Commit missing file from previous commit
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
8c71ac606e Fix fallout from lexical-binding in vhdl-mode.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Don't leave `C-h N' in a text-mode derived mode
@@ -62940,21 +65269,21 @@
* lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Split
into own mode to avoid confusion.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix button-buffer-map binding error
* lisp/button.el (button-buffer-map): Fix error in map rewriting
in previous commit.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new commands to go to headings/sections in the NEWS file
* lisp/textmodes/emacs-news-mode.el (emacs-news-find-heading)
(emacs-news-goto-section): New commands.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Add emacs-news-previous-untagged-entry command
@@ -62962,7 +65291,7 @@
(emacs-news-next-untagged-entry): Allow searching backward.
(emacs-news-previous-untagged-entry): New command and keystroke.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Fold some too-long NEWS lines
@@ -62970,18 +65299,18 @@
Do some NEWS tagging
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Improve exif-field discoverability
* lisp/image/exif.el (exif-parse-file, exif-parse-buffer): Link to
`exif-field'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Do some NEWS tagging
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Document project-kill-buffers-display-buffer-list
@@ -62991,54 +65320,54 @@
* lisp/progmodes/project.el (project-kill-buffers): Link to
project-kill-buffers-display-buffer-list.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Document prefix to project-find-file
* doc/emacs/maintaining.texi (Project File Commands): Mention the
prefix in the project-find-file command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix glyphless-display-mode indexing
* doc/lispref/display.texi (Glyphless Chars): Fix indexing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Document completions-sort
* doc/emacs/mini.texi (Completion Options): Document completions-sort.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Mention completion-wrap-movement in relevant commands
* lisp/simple.el (previous-completion, next-completion): Mention
`completion-wrap-movement'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Document minibuffer-completion-auto-choose/M-up/M-down
* doc/emacs/mini.texi (Completion Commands): Document
minibuffer-completion-auto-choose/M-up/M-down.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Further IDNA/proxy url fixes
* lisp/url/url-http.el (url-http-create-request): Puny-encode
domains (bug#54921).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Crosslink some buttonize function doc strings
* lisp/button.el (buttonize-region, buttonize): Crosslink doc
strings for discoverability.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Improve completion in `C-h R'
@@ -63046,13 +65375,13 @@
(info--filter-manual-names): Filter away duplicates and irrelevant
files.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Clarify when mode tagging is used
* etc/NEWS: Clarify when mode tagging is used (bug#54964).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Further vcs-cvs/rcs-responsible-p updates from master
@@ -63068,7 +65397,7 @@
* lisp/vc/vc.el: Update comments.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Make emacs-news-next-untagged-entry push the mark
@@ -63076,7 +65405,7 @@
(emacs-news-next-untagged-entry): Push the mark for easier
navigation back to where we were.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix NEWS tag commands
@@ -63084,24 +65413,24 @@
(emacs-news-next-untagged-entry): Fix logic.
(emacs-news-count-untagged-entries): Add new command and keystroke.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Clean up emacs-news--buttonize
* lisp/textmodes/emacs-news-mode.el (emacs-news--buttonize):
Remove unnecessary check left over from previous version.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Bind TAB and <backtab> on buttons
* lisp/button.el (button-map): Inherit from 'button-buffer-map'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Add a new mode for editing and viewing the Emacs NEWS file
@@ -63111,7 +65440,7 @@
* lisp/textmodes/emacs-news-mode.el: New mode for editing and
viewing the Emacs NEWS file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new function buttonize-region
@@ -63119,7 +65448,7 @@
(button--properties): Factored out.
(buttonize): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-16 Po Lu <luangruo@yahoo.com>
Prevent race conditions with async input during drag-and-drop
@@ -63127,7 +65456,7 @@
drag-and-drop, otherwise the right hold_quit might not be used
for selection events.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-16 Mattias Engdegård <mattiase@acm.org>
Fix builds on older versions of macOS
@@ -63141,7 +65470,7 @@
(cherry picked from commit 855e15dbf10a6aac42b860fdb28711f979e2bf22)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Improve support for the Brahmi script
@@ -63152,7 +65481,7 @@
* etc/NEWS: Announce the new language environment.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-16 Mattias Engdegård <mattiase@acm.org>
Fix builds on older versions of macOS
@@ -63164,7 +65493,7 @@
(system_process_attributes): Use alternative code or exclude features
when building on older macOS versions.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-16 Mattias Engdegård <mattiase@acm.org>
Disable annoying Clang warnings
@@ -63172,20 +65501,20 @@
-Wimplicit-const-int-float-conversion and -Wint-in-bool-context, which
currently only have false positives.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix ODF file detection in doc-view-mode
* lisp/doc-view.el (doc-view-set-doc-type): Fix ODF file detection
(bug#54947).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-16 Po Lu <luangruo@yahoo.com>
Fix build with toolkit scroll bars without XI2
* src/xterm.c (mark_xterm): Fix up ifdefs slightly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-16 Po Lu <luangruo@yahoo.com>
Protect windows from garbage collection when a ClientMessage is pending
@@ -63201,7 +65530,7 @@
* src/xterm.h (struct x_display_info): New fields for recording
a list of protected windows.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
Fix documentation of Outline minor mode options
@@ -63209,21 +65538,21 @@
(outline-minor-mode-cycle, outline-minor-mode-highlight)
(outline-cycle, outline-cycle-buffer): Doc fixes. (Bug#54967)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-16 Po Lu <luangruo@yahoo.com>
Add some missing multilingual keys to Haiku
* src/haiku_support.cc (keysym_from_raw_char): Support keys
found on some East Asian keyboards.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Handle errors getting selection ownership when starting DND
* src/xterm.c (x_clear_dnd_targets): New function.
(x_dnd_begin_drag_and_drop): Handle errors in `x_own_selection'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-15 Eli Zaretskii <eliz@gnu.org>
Improve discoverability of 'insert-directory-program'
@@ -63232,7 +65561,7 @@
* lisp/dired.el (dired): Mention 'insert-directory-program' in the
doc string. (Bug#54962)
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-15 Philip Kaludercic <philipk@posteo.net>
Improve buffer-match-p documentation
@@ -63245,7 +65574,7 @@
(display-buffer): Pass the buffer directly to
display-buffer-assq-regexp,.
-2023-04-15 Troels Henriksen <athas@sigkill.dk> (tiny change)
+2022-04-15 Troels Henriksen <athas@sigkill.dk> (tiny change)
Add out-of-box support for futhark lsp server
@@ -63255,7 +65584,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/922
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-15 Philip Kaludercic <philipk@posteo.net>
Add rcirc-cycle-completion-flag
@@ -63263,7 +65592,7 @@
* lisp/net/rcirc.el (rcirc-cycle-completion-flag): Add new option.
(rcirc-mode): Respect new option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Fix default registry of Haiku font backend
@@ -63276,7 +65605,7 @@
`iso10646-1' as the default registry instead of `utf8', which is
not a registry.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Enable dragging resizing final column in vtable
@@ -63284,7 +65613,7 @@
divider after the final column, too, so that the size can be
dragged.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Clean up keysyms from Haiku headers
@@ -63292,28 +65621,28 @@
numbers here and use those instead.
* src/haiku_support.h: Delete all the X11 keysym definitions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Add some mouse-face bits to vtable
* lisp/emacs-lisp/vtable.el (make-vtable)
(vtable--insert-header-line): Put mouse-face on draggable bits.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Tweak sorting indicator placement in vtable
* lisp/emacs-lisp/vtable.el (vtable--insert-header-line): Tweak
sorting indicator position.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Make the sorting indicator prettier in vtable
* lisp/emacs-lisp/vtable.el (vtable--insert-header-line): Place
the sorting indicator flush right in the heading.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Fix dismissal of tooltips on Haiku
@@ -63321,7 +65650,7 @@
`accept_tooltip'.
(haiku_read_socket): Use it when handling MOUSE_MOTION events.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Allow using faces for colors in vtable
@@ -63331,7 +65660,7 @@
(vtable--make-color-face, vtable--face-blend): New functions.
(vtable--insert-line): Adjust usage.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Allow dragging the divider in vtable
@@ -63342,7 +65671,7 @@
(vtable--drag-resize-column): Adjust to the in-buffer divider
dragging.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix off-by-one error in text-property-search-backward
@@ -63351,7 +65680,7 @@
would result in not finding the previous (non-)match when at the
first character in a field.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-15 Eli Zaretskii <eliz@gnu.org>
Fix cursor motion under truncate-lines with Flymake fringe indicator
@@ -63359,7 +65688,7 @@
as "images" for the purpose of vertical-motion logic dealing with
overshooting buffer positions. (Bug#54946)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
More PGTK related cleanup
@@ -63391,7 +65720,7 @@
`pgtk_' ones. All callers changed.
* src/pgtkterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Clean up some extraneous stuff in pgtkfns.c
@@ -63399,7 +65728,7 @@
version check.
(syms_of_pgtkfns): Delete left over defvar from NS port.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-15 Philip Kaludercic <philipk@posteo.net>
Update project-kill-buffer-conditions to match buffer-match-p
@@ -63408,11 +65737,11 @@
(project--buffer-check): Have `major-mode' behave like `derived-mode'
did previously, and issue a warning of `derived-mode' is used.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-15 Philip Kaludercic <philipk@posteo.net>
* window.el (display-buffer-assq-regexp): Use buffer-match
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-15 Philip Kaludercic <philipk@posteo.net>
Generalise buffer matching from project.el
@@ -63420,14 +65749,14 @@
a condition.
(match-buffers): Returns all buffers that satisfy a condition.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Fix core string lookup with modifiers on XI2
* src/xterm.c (handle_one_xevent): Clean modifiers from
xkey.state before giving it to XLookupString.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Clean up various bits of Haiku code
@@ -63449,14 +65778,14 @@
* src/haikuterm.c (haiku_read_socket): Clean up coding style and
fix a few latent bugs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-15 Po Lu <luangruo@yahoo.com>
Add missing extern declarations to headers
* src/xterm.h (xi_device_from_id, xi_frame_selected_for): Add
`extern' declaration.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-14 Po Lu <luangruo@yahoo.com>
Make Haiku scroll bar behave more like other programs
@@ -63466,7 +65795,7 @@
(MouseDown): Set it to the current time + the system repeater
delay.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-14 Paul Eggert <eggert@cs.ucla.edu>
Port new tests to leap seconds or (TICKS . HZ)
@@ -63474,13 +65803,13 @@
Don’t assume leap seconds are ignored, or that timestamps are in
(HI LO) format.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-14 Paul Eggert <eggert@cs.ucla.edu>
New time-equal-p test
* test/src/timefns-tests.el (time-equal-p-NaN-NaN): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-14 Po Lu <luangruo@yahoo.com>
Properly wait for app thread exit on Haiku
@@ -63494,7 +65823,7 @@
function.
* src/haikuterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-14 Po Lu <luangruo@yahoo.com>
Fix calls to XKB functions without testing for server support
@@ -63502,7 +65831,7 @@
(x_dnd_begin_drag_and_drop): Never call XkbSelectEvents if the
X server doesn't have XKB.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
Allow dragging dividers in vtable
@@ -63510,7 +65839,7 @@
dragging dividers.
(vtable--drag-resize-column): Adjust function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-14 Eli Zaretskii <eliz@gnu.org>
Fix mouse clicks in hscrolled window with variable-height fonts
@@ -63518,7 +65847,7 @@
height of a screen-line that is completely hscrolled out of view.
Reported by Yasushi SHOJI <yasushi.shoji@gmail.com>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
Allow resizing vtable columns by dragging
@@ -63530,28 +65859,28 @@
(vtable-widen-current-column): Rewrite to use
vtable-narrow-current-column.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/gnus/gnus.el (toplevel autoloads): Fix file name
`score-mode` does not define `gnus-score-edit-all-score`, it's defined
in `gnus-score` instead.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-14 Philip Kaludercic <philipk@posteo.net>
Have submit-emacs-patch prompt for patch file before subject
* emacsbug.el (submit-emacs-patch): Prompt for patch file and use that
to guess the subject.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-04-14 Philip Kaludercic <philipk@posteo.net>
Avoid possibly unnecessary lisp_time_struct call
* timefns.c (time_cmp): Defer the calculation of the time struct, in
case A and B are eq to one another.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
Handle non-ASCII domains correctly in url-https-proxy-connect
@@ -63559,7 +65888,7 @@
(url-https-proxy-after-change-function): Handle IDNA domains
correctly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
Make vtable remember user-altered column widths
@@ -63567,7 +65896,7 @@
(vtable-widen-current-column): Store the size to that it's
respected on `g'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that commands like { work on all frames in vtable
@@ -63576,7 +65905,7 @@
(vtable-insert): Use it.
(vtable--widths): Ditto.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-04-14 Filipp Gunbin <fgunbin@fastmail.fm>
ldap-search-internal cleanup
@@ -63585,7 +65914,7 @@
(ldap-search-internal): Remove skipping of version output. Remove
redundand ws skipping.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-04-14 Filipp Gunbin <fgunbin@fastmail.fm>
Fix eudc-get-attribute-list
@@ -63598,14 +65927,14 @@
* lisp/net/ldap.el (ldap-search-internal): Allow "size limit exceeded"
exit code. Allow empty attribute values.
-2023-04-15 Nobuyoshi Nakada <nobu.nakada@gmail.com>
+2022-04-14 Nobuyoshi Nakada <nobu.nakada@gmail.com>
Fix electric-help-map problem when help-char has meta-prefix
* lisp/ehelp.el (electric-help-map): Fix problem when help-char
has meta-prefix (bug#54932).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
Make all vc-*-responsible-p functions return a string
@@ -63620,7 +65949,7 @@
Do not merge to master.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-14 Po Lu <luangruo@yahoo.com>
Fix races with child frame locks on Haiku
@@ -63629,7 +65958,7 @@
(FrameMoved, WorkspacesChanged): Lock child frame data with that
macro instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-14 Po Lu <luangruo@yahoo.com>
Keep track of keyboard state during drag and drop
@@ -63641,7 +65970,7 @@
if it is available.
(x_term_init): Reformat code a little.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-14 Po Lu <luangruo@yahoo.com>
Minor fixes to menus on XI2
@@ -63657,7 +65986,7 @@
* src/xterm.h: Update prototypes.
(struct xi_device_t): Rename `master_p' to `use'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-14 Eli Zaretskii <eliz@gnu.org>
Describe problems with invoking Python on MS-Windows
@@ -63665,14 +65994,14 @@
interpreter due to the MS-Windows "App Execution Aliases" feature.
(Bug#54860)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Ignore XdndPosition events triggered by the wrong mouse button
* src/xterm.c (x_dnd_send_position): Don't send if button is set
but not a scroll wheel button.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Add support for Xdnd features introduced after version 5
@@ -63680,14 +66009,14 @@
(handle_one_xevent): Add support for sending button and keyboard
state during DND.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix describe-mode--minor-modes formatting issue
* lisp/help-fns.el (describe-mode--minor-modes): Fix multi-line
local-minor paragraph.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Make vtable narrow/widen functions take a prefix
@@ -63695,20 +66024,20 @@
(vtable-widen-current-column): Allow using the prefix to say how
much to narrow/widen the columns.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Copy edit make-vtable code
* lisp/emacs-lisp/vtable.el (make-vtable): Clean up code slightly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Edit some vtable doc strings
* lisp/emacs-lisp/vtable.el (make-vtable, vtable): Improve doc
strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Further divider fixes for vtable
@@ -63717,21 +66046,21 @@
(vtable-narrow-current-column, vtable-widen-current-column): Don't
error out when being called on the divider.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Restore vtable.texi lines removed by accident
* doc/misc/vtable.texi (Introduction): Restore lines inadvertently
removed.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix dividers in vtable header lines
* lisp/emacs-lisp/vtable.el (vtable--insert-header-line): Put the
divider in the correct place in the header line.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow having dividers between columns in vtable
@@ -63741,7 +66070,7 @@
(vtable--insert-line, vtable--insert-header-line): Display the
divider.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-13 Sean Whitton <spwhitton@spwhitton.name>
Document additions of cl-with-gensyms and cl-once-only
@@ -63751,7 +66080,7 @@
(Obsolete Setf Customization): Use cl-once-only rather than
macroexp-let2, and fix a quotation bug in one example.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow putting alternating colors on vtable rows
@@ -63762,14 +66091,14 @@
(vtable--insert-line): Take a line number argument and adjust
callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-h m' actually output the documentation for the major mode
* lisp/help-fns.el (describe-mode): Get the documentation for the
correct major mode.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Add a new `vtable' face
@@ -63777,17 +66106,17 @@
* lisp/emacs-lisp/vtable.el (vtable): Add a new face.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-13 Juri Linkov <juri@linkov.net>
* lisp/comint.el (comint-dynamic-list-input-ring): Keep replaced text props.
* lisp/minibuffer.el (completions-header-format): Remove unused text prop.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-13 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp manual
@@ -63796,7 +66125,7 @@
Precise, that list-system-processes and process-attributes are
about system processes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Add support for column background colors in vtable
@@ -63806,18 +66135,18 @@
(make-vtable): Use it.
(vtable--insert-line): Insert the colors here.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-13 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix format-seconds error in previous change
* lisp/calendar/time-date.el (format-seconds): Fix zero elision
when using fractional seconds.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-13 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -63826,7 +66155,7 @@
# lisp/desktop.el
# lisp/dired.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Make list-times not include zero elements
@@ -63837,14 +66166,14 @@
* lisp/emacs-lisp/timer-list.el (list-timers): Don't display
trailing zero bits.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-13 Eli Zaretskii <eliz@gnu.org>
A better fix for bug#54800
* lisp/calc/calc.el (calc-align-stack-window): Improve scrolling
when windows have non-integral dimensions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Move raw event selection on GTK+ 2 to a more appropriate place
@@ -63853,7 +66182,7 @@
* src/xterm.c (x_new_focus_frame): Select here instead, once a
frame becomes focused.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Fix marking upgrades for packages from ELPA or NonGNU ELPA
@@ -63861,14 +66190,14 @@
inside ``external'' packages as well when searching for
upgrades. (bug#54117)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Fix input availability detection during visible-bell
* src/xterm.c (XTflash): Exit pselect loop also if input becomes
available on f's display connection.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Minor cleanups to Haiku windowing
@@ -63879,20 +66208,20 @@
* src/haikuterm.c (haiku_flash): Make input detection actually
work.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-13 Po Lu <luangruo@yahoo.com>
Fix zoom rect computation for some deskbar positions on Haiku
* src/haiku_support.cc (CalculateZoomRect): Fix computation for
left top and right bottom.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Add a comment about cl-concatenate
* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Add a comment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Make cl-concatenate an alias of seq-concatenate"
@@ -63901,13 +66230,13 @@
The commit made calls to cl-concatenate bug out, since
autoloading defalises doesn't work very well (bug#54901).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix last change in configure.ac
* configure.ac: Test window system against "x11", not "x".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Bump minimum GTK for PGTK builds
@@ -63918,7 +66247,7 @@
* src/pgtkterm.c (pgtk_any_window_to_frame): Remove version
check.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how `M-q' in emacs-lisp-mode works
@@ -63927,7 +66256,7 @@
(lisp--fill-line-simple): New function to do simple sexp-based
filling.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Clean up PGTK code more
@@ -63945,7 +66274,7 @@
* src/pgtkterm.h (struct pgtk_display_info): Delete modifier
masks.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Remove unused flag on Haiku
@@ -63953,7 +66282,7 @@
* src/haikuterm.h (struct haiku_output): Delete mentions of
`explicit_parent'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix bit rot in the XEmbed code
@@ -63963,11 +66292,11 @@
correctly.
* src/xterm.h (struct x_display_info): Delete unused atom.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entry for `C-h m' change
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Redo `C-h m' output
@@ -63977,7 +66306,7 @@
then the major mode, and then global minor mode links, and then
all the minor modes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Make `describe-mode' include a link to the major mode function
@@ -63985,7 +66314,7 @@
function so that the user can go to the manual more easily
(bug#575).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix freezes when trying to accelerate menu bar on Haiku
@@ -64000,7 +66329,7 @@
* src/haikumenu.c (Fhaiku_menu_bar_open):
* src/haikuterm.c (haiku_read_socket): Update accordingly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Provide a useful default to smime-CA-file
@@ -64008,7 +66337,7 @@
provide a default so that this will work automatically on many
systems (bug#20960).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Make the SVG error message less verbose
@@ -64016,11 +66345,11 @@
error message, because this is commonly the entire SVG string, and
this will fill up the *Messages* buffer quickly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Mention animated WebP images
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-12 Sean Whitton <spwhitton@spwhitton.name>
Fix eager macroexpansion cycle in cl-once-only
@@ -64028,14 +66357,14 @@
syntax, with no functional change, but such that the loop does not
expand into cl-psetq.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Improve DISPOSE_PREVIOUS in gif_load slightly
* src/image.c (gif_load): Tweak how DISPOSE_PREVIOUS is handled.
It's still not right, but it's less glaringly wrong.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-12 Eli Zaretskii <eliz@gnu.org>
Fix 'window-text-pixel-size' when starting from a display property
@@ -64043,14 +66372,14 @@
there's a display property at START and 'move_it_to' overshoots.
(Bug#54862)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix webp_load data lifetime issues
* src/image.c (webp_load): Take care of lifetime issues of the
image data we're iterating over for animated images.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-12 Eli Zaretskii <eliz@gnu.org>
Fix 'window-text-pixel-width' when starting from display property
@@ -64058,7 +66387,7 @@
there's a display property at START, and move_it_to overshoots.
Do not merge to master. (Bug#54862)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix keyboard event device attribution on GTK+ 2
@@ -64069,62 +66398,62 @@
* src/xterm.h (struct x_display_info): New flag
`pending_keystroke_time_special_p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix detection of Meta key in some cases
* src/xterm.c (x_find_modifier_meanings): Set found_meta_p
correctly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix check for whether frames fit into gif images
* src/image.c (gif_load): Really check all frames that they fit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix some confusing names in xterm.c
* src/xterm.c (enum xm_targets_table_byte_order): Rename to
`xm_byte_order'. All uses changed.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Store less data in the gif animation cache
* src/image.c (gif_load): Only start a cache if we're have an
:index entry (which means that we're trying to animate something).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix clicking on files in Dired when drag is enabled
* lisp/dired.el (dired-mouse-drag): Don't drag if the mouse
didn't move far enough.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Release resources in gif_load on errors
* src/image.c (webp_load): Clean up code slightly.
(gif_load): Really release resources on GIF parsing errors.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Animate GIF images that don't have an explicit delay setting
* src/image.c (gif_load): Use the default delay for GIF images
that don't explicitly state a delay.
-2023-04-15 Olaf Trygve Berglihn <olafb@pvv.org> (tiny change)
+2022-04-12 Olaf Trygve Berglihn <olafb@pvv.org> (tiny change)
Add biblatex alias entry types for compability with bibtex
* lisp/textmodes/bibtex.el (bibtex-biblatex-entry-alist): Add
biblatex alias entry types for compability with bibtex (bug#54877).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix thinko in the anim cache
@@ -64132,7 +66461,7 @@
of sync.
(anim_create_cache): Start from zero, not 1.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Disallow drag and drop inside a menu-entry
@@ -64142,7 +66471,7 @@
signalling error and prevent activating drag-and-drop inside a
menu or popup. (It doesn't work.)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-12 Michael Albinus <michael.albinus@gmx.de>
Adapt macOS defaults in Tramp's process-attributes implementation
@@ -64156,7 +66485,7 @@
* test/lisp/net/tramp-tests.el (tramp-test31-list-system-processes)
(tramp-test31-process-attributes): New tests.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2022-04-12 Filipp Gunbin <fgunbin@fastmail.fm>
process-attributes-ps-args / process-attributes-ps-format for Darwin
@@ -64167,24 +66496,24 @@
them to connection-local variables. Preset default "ps" profile
for Darwin.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-12 Sean Whitton <spwhitton@spwhitton.name>
Add two classic Common Lisp macro-writing macros
* lisp/emacs-lisp/cl-macs.el (cl-with-gensyms, cl-once-only): New macros.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
Fix some DISPLAY variable related bugs on PGTK
* src/callproc.c (getenv_internal, make_environment_block):
Don't set DISPLAY on non-X GDK backends. (bug#54844)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-12 Po Lu <luangruo@yahoo.com>
* src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-11 Po Lu <luangruo@yahoo.com>
Don't use native image APIs for some types on Haiku
@@ -64192,31 +66521,31 @@
types with animations when their respective libraries are
present.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-11 Po Lu <luangruo@yahoo.com>
Fix last tool bar bug on Haiku as well
* src/haikuterm.c (haiku_read_socket): Adapt last change to
Haiku.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-11 Po Lu <luangruo@yahoo.com>
Fix selecting text and releasing the mouse buttons above the toolbar
* src/xterm.c (handle_one_xevent): Don't send ButtonRelease
events to tool bars if there is no selected tool bar item.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/macroexp.el (macroexp-let2*): Allow common shorthand
* lisp/gnus/mm-encode.el (mm-default-file-encoding): Fix "when" arg
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-11 Paul Eggert <eggert@cs.ucla.edu>
Use preferred chars among duplicates as per UTR#25 §25.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-11 Juri Linkov <juri@linkov.net>
* lisp/minibuffer.el (minibuffer-completion-auto-choose): New defcustom.
@@ -64227,7 +66556,7 @@
Use them for minibuffer-next-completion and minibuffer-previous-completion.
* lisp/simple.el (minibuffer-local-shell-command-map): Idem.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Make normal image caching actually work when doing animated images
@@ -64236,14 +66565,14 @@
(lookup_image): Ditto.
(syms_of_image): Define some keywords.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Make more IPV6 domains non-suspicious in textsec
* lisp/international/textsec.el (textsec--ipvx-address-p): Make
more IPV6 domains non-suspicious.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Make gif_load work across architectures again
@@ -64252,7 +66581,7 @@
the entire thing to the ximg with PUT_PIXEL at the end. This
should work across platforms, which the previous version didn't.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Revert "; * src/image.c (gif_load): Fix compilation error on MS-Windows."
@@ -64260,7 +66589,7 @@
This is fixed in a different way in a subsequent commit.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-11 Mattias Engdegård <mattiase@acm.org>
Recognise hybrid IPv6/IPv4 addresses in textsec (bug#54624)
@@ -64271,20 +66600,20 @@
* test/lisp/international/textsec-tests.el (test-suspiction-domain):
Add test cases.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix anim_cache garbage collection
* src/image.c (struct anim_cache): Move earlier.
(mark_image_cache): Mark the Lisp_Object in the anim cache.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation errors when HAVE_GIF and not HAVE_WEBP
* src/image.c: Enable the cache functions when HAVE_GIF, too
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Speed up GIF animations
@@ -64296,7 +66625,7 @@
(webp_destroy): New function.
(webp_load): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Refactor the webp cache code to allow usage by gif_load, too
@@ -64306,7 +66635,7 @@
implementation, too.
(webp_load): Adjust cache usage.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-11 Eli Zaretskii <eliz@gnu.org>
Fix default-directory of buffers visiting files in renamed directories
@@ -64318,34 +66647,34 @@
benefit of files that were renamed/removed, because
file-in-directory-p returns nil in those cases. (Bug#54838)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-11 Po Lu <luangruo@yahoo.com>
Fix event source attribution for GTK input methods
* src/gtkutil.c (xg_im_context_commit): Use pending keystroke
source if it exists.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix a kill-append regression
* lisp/simple.el (kill-append): Fix a regression when
kill-ring-max is zero (bug#54842).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Improve gif_load error messages
* src/image.c (gif_load): Improve error reporting (bug#54848).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
Ensure shell.el loading properly
* lisp/shell.el (subr-x): Require for string-chop-newline
(bug#54834).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-11 Po Lu <luangruo@yahoo.com>
Always cascade from toplevel frames on Haiku
@@ -64354,7 +66683,7 @@
doesn't make sense to cascade from a frame that disappears when
it becomes deactivated.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-11 Po Lu <luangruo@yahoo.com>
Fix IM event source attribution on GTK
@@ -64363,11 +66692,11 @@
* src/gtkutil.c (xg_widget_key_press_event_cb): Respect pending
keystroke time on XI2.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-10 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_event): Make event attribution more accurate.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-04-10 Augusto Stoffel <arstoffel@gmail.com>
Add lazy highlight when reading 'query-replace' arguments
@@ -64378,7 +66707,7 @@
used to be inlined in perform-replace but is useful elsewhere.
(perform-replace): Use 'replace--region-filter'.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-04-10 Augusto Stoffel <arstoffel@gmail.com>
Rewrite the minibuffer lazy highlight feature
@@ -64397,17 +66726,17 @@
highlighting configuration variables as argument, and returns a
closure that is intended to run as part of the minibuffer setup.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-10 Eli Zaretskii <eliz@gnu.org>
* doc/misc/eww.texi (Advanced): Correct outdated info (bug#54839).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix markup in Drag and Drop
* doc/emacs/frames.texi (Drag and Drop): Fix markup.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-10 Eli Zaretskii <eliz@gnu.org>
Fix WebP image support on MS-Windows
@@ -64424,7 +66753,7 @@
* lisp/term/w32-win.el (dynamic-library-alist): Add a member for
'webpdemux'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-10 Eli Zaretskii <eliz@gnu.org>
Clean up the MSDOS port
@@ -64439,21 +66768,21 @@
(GL_GNULIB_SIGDESCR_NP): Define to 1, to get the prototypes from
Gnulib headers.
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2022-04-10 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Fix a ja-dic compilation warning
* leim/Makefile.in (${leimdir}/ja-dic/ja-dic.el): Increase
specpdl-size to avoid a compilation warning (bug#54816).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-04-10 Daniel Martín <mardani29@yahoo.es>
Fix typo in next-error-find-buffer-function
* lisp/simple.el (next-error-find-buffer-function): Fix typo
(bug#54830).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-04-10 Alan Mackenzie <acm@muc.de>
CC Mode: Fix unwanted fontification of function call as function declaration
@@ -64463,14 +66792,14 @@
* lisp/progmodes/cc-engine.el (c-update-brace-stack): Replace "(" by ")" in a
`member' call.
-2023-04-15 Kaushal Modi <kaushal.modi@gmail.com>
+2022-04-10 Kaushal Modi <kaushal.modi@gmail.com>
Update docstrings for shortdoc.el FUNC lisp form API
* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group):
Updated docstrings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-10 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Make shell-resync-dirs handle whitespace in directory names"
@@ -64480,7 +66809,7 @@
Do not merge to master; it has been fixed in a more encompassing way there.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-10 Po Lu <luangruo@yahoo.com>
Attribute filtered events to the right source device
@@ -64490,7 +66819,7 @@
* src/xterm.h (struct x_display_info): New fields
`pending_keystroke_time' and `pending_keystroke_source'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-10 Lars Ingebrigtsen <larsi@gnus.org>
Add support for animated webp images
@@ -64506,28 +66835,28 @@
functions.
(webp_load): Support animated webp images (bug#54242).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-10 Juri Linkov <juri@linkov.net>
Allow non-interactive uses of minibuffer-next-completion
* lisp/minibuffer.el (minibuffer-previous-completion)
(minibuffer-next-completion): Use 1 for n by default.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-10 Po Lu <luangruo@yahoo.com>
Add missing details to filter event on XI2
* src/xterm.c (handle_one_xevent): Pass coordinates when
translating XI2 key events to core key events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-09 Po Lu <luangruo@yahoo.com>
Update XI2 device use on slave attachment and detachment
* src/xterm.c (handle_one_xevent): Update whether device is a
master device when it's detached or attached.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-09 Po Lu <luangruo@yahoo.com>
Try harder to own DND selections
@@ -64536,34 +66865,34 @@
(x_dnd_begin_drag_and_drop): Try to own the selection if we do
have a local value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix mode-line doc string
* lisp/faces.el (mode-line): Fix doc string.
-2023-04-15 Vincent Belaïche <vincentb1@users.sourceforge.net>
+2022-04-09 Vincent Belaïche <vincentb1@users.sourceforge.net>
ses-test Prefix used symbols by ses--
* test/lisp/ses-tests.el: Rename cell symbols of renamed cells so
that they are in the SES namespace, as recommended by Stefan.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-09 Eli Zaretskii <eliz@gnu.org>
Fix scrolling of the stack window in Calc
* lisp/calc/calc.el (calc-align-stack-window): Fix off-by-one
error in computing the window-start point. (Bug#54800)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix sql-mode comment-end parsing
* lisp/progmodes/sql.el (sql-mode): Fix /* ... -*/ parsing
(bug#54769).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-09 Po Lu <luangruo@yahoo.com>
Avoid sync when allowing touch events in handle_one_xevent
@@ -64571,7 +66900,7 @@
XIAllowTouchEvents.
(x_error_handler): Ignore Device errors here instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-09 Po Lu <luangruo@yahoo.com>
Handle hierarchy events for updating scroll valuators correctly
@@ -64584,7 +66913,7 @@
(handle_one_xevent): Handle device enable and disable events in
a more detailed fashion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Fix DND leave events not being sent to toplevel after returning frame
@@ -64592,14 +66921,14 @@
to send leave events to the previous toplevel when cancelling to
return a frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Use right frame when computing mouse movement device
* src/keyboard.c (kbd_buffer_get_event): Use the frame on which
the mouse actually moved to compute the last mouse device.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Minor cleanups in X Windows drag-and-drop code
@@ -64609,14 +66938,14 @@
(x_dnd_send_leave, x_dnd_send_drop, x_send_scroll_bar_event):
Use NoEventMask instead of 0.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Fix source reporting for focus in and focus out events
* src/xterm.c (handle_one_xevent): Report source name for
FocusIn and FocusOut events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Clean up XI2 scroll valuator tracking code
@@ -64624,11 +66953,11 @@
a device instead of the device id.
(handle_one_xevent): Pass the previously found device.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_set_cr_source_with_color): Fix default operator.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Fix subpixel AA with alpha-background on Cairo on X
@@ -64636,11 +66965,11 @@
(x_set_cr_source_with_gc_background): Set operator back to OVER
if alpha-background isn't to be respected.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-08 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-08 Paul Eggert <eggert@cs.ucla.edu>
Pacify clang -Wunused-variable
@@ -64648,7 +66977,7 @@
* src/process.c (Finternal_default_process_filter):
Remove unused local vars.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-08 Paul Eggert <eggert@cs.ucla.edu>
ebrowse dumping need not return int
@@ -64656,7 +66985,7 @@
int, since callers never actually use returned value. All uses
changed.
-2023-04-15 Alan Third <alan@idiocy.org>
+2022-04-08 Alan Third <alan@idiocy.org>
Fix scrollbars on macOS 10.13 and below (bug#54623)
@@ -64674,7 +67003,7 @@
(ns_unfocus): Fix #ifs so that flushWindow is called on old macOS
versions as well as GNUstep.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-08 Eli Zaretskii <eliz@gnu.org>
Update and fix instructions and scripts for updating the Web pages
@@ -64688,14 +67017,14 @@
* etc/refcards/Makefile (pl-refcard.dvi): If mex.fmt cannot be
found, invoke 'mex' instead of 'tex'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-08 Paul Eggert <eggert@cs.ucla.edu>
Fix pacifying gcc -Wanalyzer-null-dereference
* src/xterm.c (handle_one_xevent): Use eassume not eassert.
eassert (X)’s suppress_checking does not let GCC assume X.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-08 Mattias Engdegård <mattiase@acm.org>
Rename mark_stack to mark_c_stack
@@ -64707,7 +67036,7 @@
* src/lisp.h:
* src/thread.c (mark_one_thread): Rename mark_stack to mark_c_stack.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-08 Mattias Engdegård <mattiase@acm.org>
Enable warnings when building as a developer with Clang
@@ -64717,28 +67046,28 @@
* configure.ac: Don't test Clang version as if it were GCC.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-08 Lars Ingebrigtsen <larsi@gnus.org>
Improve package.el error messages on too-old Emacsen
* lisp/emacs-lisp/package.el (package-compute-transaction): Give a
better error message on too-old Emacs versions (bug#54747).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Recommend that the user turn off memory overcommit
* doc/emacs/trouble.texi (Memory Full): Tell the user that Emacs
behaves best with overcommit off, and how to turn it off.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-08 Michael Albinus <michael.albinus@gmx.de>
Extend tramp-archive-test45-auto-load
* test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
Extend test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-08 Michael Albinus <michael.albinus@gmx.de>
Ensure local `default-directory' in Tramp when needed
@@ -64746,7 +67075,7 @@
`default-directory' when calling `list-system-processes' and
`process-attributes'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Interpolate scrolls coming from mice by default
@@ -64756,7 +67085,7 @@
(pixel-scroll-precision): If the class of the last event device
is `mouse', interpolate the next scroll.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-08 Michael Albinus <michael.albinus@gmx.de>
Ensure local `default-directory' when calling `process-attributes'.
@@ -64764,14 +67093,14 @@
* lisp/subr.el (memory-limit): Ensure local `default-directory'
when calling `process-attributes'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Fix GC marking of input events with devices
* src/keyboard.c (mark_kboards):
* src/pgtkterm.c (mark_pgtkterm): Mark `device' as well.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-08 Eli Zaretskii <eliz@gnu.org>
Clarify "idleness" in the ELisp manual
@@ -64779,7 +67108,7 @@
input with timeout doesn't make Emacs idle. Suggested by Ignacio
<ignaciocasso@hotmail.com>. (Bug#54371)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
Implement support for reporting device names on PGTK
@@ -64801,22 +67130,22 @@
(struct pgtk_display_info): New field `devices'. Delete lots of
unused macros and reformat comments.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-08 Po Lu <luangruo@yahoo.com>
* lisp/term/x-win.el (x-device-class): Detect more keyboards.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Ignore input extension errors caused by grabbing
* src/xterm.c (x_error_handler): Ignore GrabDevice and
UngrabDevice errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
* lisp/term/x-win.el (x-device-class): Detect "USB USB Keykoard"s.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Add code for determining the type of an input device
@@ -64827,13 +67156,13 @@
(device-class):
* lisp/term/x-win.el (x-device-class): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Fix reporting of last-event-device for synthetic events
* src/keyboard.c (read_char): Clear `last-event-device' earlier.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Make device reporting work for tool bar clicks
@@ -64844,25 +67173,25 @@
* src/xterm.c (handle_one_xevent): Pass device to tool bar click
logic.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Fix build warning on non-GTK builds.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
lisp/simple.el: Use #' in new code
* lisp/simple.el (minibuffer-local-shell-command-map): Use #' to quote
function names.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-04-07 Matthias Meulien <orontee@gmail.com>
Display file mode information when diff font lock prettify enabled
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Make regexp capture
file mode information.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
OClosure: New function `function-documentation`
@@ -64882,7 +67211,7 @@
* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test):
Add test for accessor's docstrings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Expose the name of an event's input device to Lisp
@@ -64912,7 +67241,7 @@
* src/xterm.h (struct xi_device_t): New field `name'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Fix xwidget smooth scrolling when the default pointer is not a touchpad
@@ -64925,7 +67254,7 @@
(xwidget_motion_or_crossing, synthesize_focus_in_event): Set
parameter accordingly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-07 Lars Ingebrigtsen <larsi@gnus.org>
Clarify read-answer-short/use-short-answers action
@@ -64934,7 +67263,7 @@
* src/fns.c (Fyes_or_no_p): Mention `use-short-answers'.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-04-07 Andrew G Cohen <cohen@andy.bu.edu>
Encrypt some parameters in auth-source plstore backend
@@ -64946,7 +67275,7 @@
* lisp/auth-source.el (auth-source-plstore-create): Allow specifying
both unencrypted and encrypted extra parameters.
-2023-04-15 Jai Flack <jflack@disroot.org>
+2022-04-07 Jai Flack <jflack@disroot.org>
Add a mu backend for gnus-search
@@ -64962,7 +67291,7 @@
(gnus-search-indexed-extract): New method
(gnus-search-indexed-search-command): New method (bug#54662).
-2023-04-15 Jürgen Hötzel <juergen@archlinux.org>
+2022-04-07 Jürgen Hötzel <juergen@archlinux.org>
Use correct signal oldset in posix_spawn implementation
@@ -64980,11 +67309,11 @@
(cherry picked from commit 8103b060d89ac63a12c439087bd46c30da72cd97)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-07 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp-integration.el: Don't require files-x.
-2023-04-15 Felix Dietrich <felix.dietrich@sperrhaken.name> (tiny change)
+2022-04-07 Felix Dietrich <felix.dietrich@sperrhaken.name> (tiny change)
Fix error in tramp-archive-autoload-file-name-handler
@@ -64998,13 +67327,13 @@
does not expect nil. Always returning nil is also false in
general.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-07 Michael Albinus <michael.albinus@gmx.de>
Commit missing file from previous commit (Do not merge with master)
Commit missing file from previous commit
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-07 Michael Albinus <michael.albinus@gmx.de>
Merge with Tramp 2.5.2.3 (Do not merge with master)
@@ -65102,7 +67431,7 @@
(tramp--test-asynchronous-processes-p): New defun.
(tramp--test-hpux-p, tramp--test-macos-p): Protect against errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Fix error when calling DND movement tracking function
@@ -65110,18 +67439,18 @@
x_dnd_movement_x and x_dnd_movement_y are wholenums before
caling posn-at-x-y.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
* src/xterm.c (xm_write_targets_table): Remove extra XGrabServer pair.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-07 Po Lu <luangruo@yahoo.com>
Fix DND bugs on GTK
* src/xterm.c (handle_one_xevent): Don't let some client
messages reach the toolkit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Remove more code mindlessly copied from NS
@@ -65130,32 +67459,32 @@
* src/pgtkselect.h:
* src/pgtkterm.h: Delete `nxatoms_of_pgtkselect'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Fix sending unsupported drops when there is no target but a toplevel
* src/xterm.c (handle_one_xevent): Send unsupported drops to
last seen toplevel if no target was found.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Improve doc of x-begin-drag
* doc/lispref/frames.texi (Drag and Drop): Fix typos and clarify
meaning of XdndActionPrivate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Return an appropriate action when performing unsupported drop
* src/xterm.c (x_dnd_send_unsupported_drop): Set action to
XdndActionPrivate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
* src/xselect.c (x_atom_to_symbol): Add XdndSelection.
-2023-04-15 Vincent Belaïche <vincentb1@users.sourceforge.net>
+2022-04-06 Vincent Belaïche <vincentb1@users.sourceforge.net>
Fix ses-tests.el
@@ -65165,13 +67494,13 @@
do any outer defvar, but set the defvar only under the
with-suppressed-warnings directive to silence the byte-compiler.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-06 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/ses.el: Fix 80-column-docstring warnings
Also remove redundant `:group` args and prefer #' to quote function names.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-06 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic.el: Fix bug#46722
@@ -65182,7 +67511,7 @@
Backport from `master` (cherrypick from commit 61f8f7f68f).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-04-06 João Távora <joaotavora@gmail.com>
Solve flymake diagnostics synchronization problems
@@ -65219,7 +67548,7 @@
(eglot-flymake-backend): Read eglot--diagnostics. Always report.
(eglot--report-to-flymake): Set eglot--diagnostics.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Get rid of extra sync looking up window through XTranslateCoordinates
@@ -65227,7 +67556,7 @@
well.
(x_dnd_get_target_window): Use that proxy.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Move some X11 drag and drop processing to Lisp
@@ -65244,7 +67573,7 @@
(syms_of_xterm): New variable `x-dnd-unsupported-drop-function'.
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix minor-mode doc string quoting
@@ -65252,14 +67581,14 @@
double quoting of things like (default-value 'electric-pair-mode)
(bug#54746).
-2023-04-15 Davide Masserut <dm@mssdvd.com>
+2022-04-06 Davide Masserut <dm@mssdvd.com>
Make the Foot terminal an alias of xterm-256color
* lisp/faces.el (term-file-aliases): Make the foot terminal an alias
of xterm-256color (bug#54739).
-2023-04-15 Kien Nguyen <kien.n.quang@gmail.com>
+2022-04-06 Kien Nguyen <kien.n.quang@gmail.com>
Make file-name-split returns driver name as well in Windows
@@ -65268,14 +67597,14 @@
* lisp/net/browse-url.el (browse-url-file-url): Don't hexify colon
character in file path for Windows (bug#54721).
-2023-04-15 Davide Masserut <dm@mssdvd.com>
+2022-04-06 Davide Masserut <dm@mssdvd.com>
Add .bashrc detection to sh-mode
* lisp/progmodes/sh-script.el (sh-mode): Add .bashrc string-match
(bug#54727).
-2023-04-15 Markus Kopp <markus.kopp@student.uibk.ac.at>
+2022-04-06 Markus Kopp <markus.kopp@student.uibk.ac.at>
Use CUA functions to scroll pages with pixel-scroll-scroll-mode
@@ -65284,28 +67613,28 @@
`cua-scroll-down' to scroll if
`pixel-scroll-precision-interpolate-page' is off. (bug#54696)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Prevent races when trying to set Motif drag window
* src/xterm.c (xm_get_drag_window): Grab temp connection when
setting the drag window.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-06 Michael Albinus <michael.albinus@gmx.de>
Revert unneeded change in tramp-integration.el
* lisp/net/tramp-integration.el:
Apply `connection-local-set-profiles' w/o retrieving old values.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix URL-related typos in comments and messages
* lisp/ffap.el (ffap-next): Fix typo in message.
* lisp/finder.el (finder-commentary): Fix typo in comment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Improve safety of haiku-drag-message
@@ -65324,7 +67653,7 @@
(Fhaiku_drag_message): Set new frame variable.
* src/haikuterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-06 Po Lu <luangruo@yahoo.com>
Clean up more PGTK code
@@ -65377,20 +67706,20 @@
doesn't make sense on PGTK.
(pgtk_delete_terminal): Remove misleading comment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-05 Po Lu <luangruo@yahoo.com>
* src/emacs.c (main): Improve accuracy of daemon warning message on PGTK.
* src/xterm.c (x_dnd_send_unsupported_drop): Also handle TEXT target.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-05 Po Lu <luangruo@yahoo.com>
Preserve contents of PRIMARY when sending unsupported drop
* src/xterm.c (x_dnd_send_unsupported_drop): Set local value of
PRIMARY to the preexisting selection value, if any.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-05 Paul Eggert <eggert@cs.ucla.edu>
Port Org encode-time usage back to Emacs 25
@@ -65408,11 +67737,11 @@
from standalone Org. Problem reported by Max Nikulin (Bug#54731).
This reverts much of 2021-12-16T17:40:21Z!eggert@cs.ucla.edu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-05 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Assert that hold_quit is present instead.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-04-05 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -Wanalyzer-null-dereference
@@ -65420,18 +67749,18 @@
it’s null. Potential problem found with gcc 11.2.1 20220127 (Red
Hat 11.2.1-9), when configured with --enable-gcc-warnings.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-05 Juri Linkov <juri@linkov.net>
Allow completion wrapping in minibuffer completion navigation commands
* lisp/minibuffer.el (minibuffer-previous-completion)
(minibuffer-next-completion): Don't set completion-wrap-movement.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-04-05 Glenn Morris <rgm@gnu.org>
* test/lisp/ses-tests.el: Require ert-x, for ert-simulate-keys.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-05 Juri Linkov <juri@linkov.net>
New commands for navigating completions from the minibuffer.
@@ -65450,7 +67779,7 @@
https://lists.gnu.org/archive/html/emacs-devel/2022-03/msg00335.html
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-05 Juri Linkov <juri@linkov.net>
Use base prefix and suffix instead of completion-base-position (bug#49931)
@@ -65466,21 +67795,21 @@
(completion-setup-function): Sync values of base-affixes and
completion-base-affixes.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-05 Juri Linkov <juri@linkov.net>
Choosing a completion with a prefix argument doesn't exit the minibuffer
* lisp/simple.el (choose-completion): New optional args NO-EXIT and NO-QUIT.
(bug#47417)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-05 Eli Zaretskii <eliz@gnu.org>
Fix fallout from lexical-binding in vhdl-mode.el
* lisp/progmodes/vhdl-mode.el (vhdl-update-sensitivity-list): Fix
production of a list with embedded function calls. (Bug#54730)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-05 Juri Linkov <juri@linkov.net>
* test/lisp/replace-tests.el: New tests for query-replace (bug#54733)
@@ -65488,7 +67817,7 @@
(query-replace--perform-tests): New function.
(query-replace-tests, query-replace-search-function-tests): New ert-deftest.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-04-05 Robert Pluim <rpluim@gmail.com>
Reject invalid time-string in appt-add immediately
@@ -65496,7 +67825,7 @@
validity immediately after reading it rather than after reading all
the parameters. (Bug#54210)
-2023-04-15 Billy.Zheng <vil963@gmail.com> (tiny change)
+2022-04-05 Billy.Zheng <vil963@gmail.com> (tiny change)
João Távora
Update invocation for out-of-box dart ls support
@@ -65507,7 +67836,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/862
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-05 Michael Albinus <michael.albinus@gmx.de>
Handle remote system processes
@@ -65568,7 +67897,7 @@
Support remote system processes.
(Qlist_system_processes, Qprocess_attributes): Declare symbols.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-05 Po Lu <luangruo@yahoo.com>
Mark some data during drag-and-drop
@@ -65583,7 +67912,7 @@
(mark_xterm): Mark those frames.
* src/xterm.h: Update prototypes.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-04-05 Jimmy Aguilar Mena <spacibba@aol.com>
Fix some details in completions
@@ -65596,7 +67925,7 @@
(switch-to-completions) : Simplify condition code and remove comment not
applicable anymore.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-05 Po Lu <luangruo@yahoo.com>
Allow dropping text to the root window
@@ -65605,7 +67934,7 @@
(handle_one_xevent): Send unsupported drops to the last toplevel
instead of the target window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Add support for dragging text onto windows that don't support any DND protocol
@@ -65623,11 +67952,11 @@
and use last seen toplevel instead of target for `return_frame'.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
* configure.ac (HAVE_GIF): Respect --with-gif on PGTK. (bug#54633)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Respect new DND options when dragging to ourselves on Haiku
@@ -65644,18 +67973,18 @@
case.q
* src/haikuterm.h: Update prototypes.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/cc-cmds.el (indent-new-comment-line): Delete advice
This piece of advice was effective only for Emacs<20.1 and old XEmacs
(at least older than Aug 2007).
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2022-04-04 Damien Cassou <damien.cassou@gmail.com>
Update use-package.texi
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
OClosure: add support for `slot-value`
@@ -65675,7 +68004,7 @@
(oclosure-test): Make `name` field mutable.
(oclosure-test-slot-value): New test.
-2023-04-15 Vincent Belaïche <vincentb1@users.sourceforge.net>
+2022-04-04 Vincent Belaïche <vincentb1@users.sourceforge.net>
SES with case insensitive cell names for jumping.
@@ -65692,7 +68021,7 @@
(ses-jump-B2-lowcase, ses-jump-B2-lowcase-keys)
(ses-jump-B2-symbol, ses-jump-B2-renamed): New tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-04 Mattias Engdegård <mattiase@acm.org>
Reduce GC mark-phase recursion by using explicit stack (bug#54698)
@@ -65716,7 +68045,7 @@
(mark_object, mark_objects):
Just push the object(s) and let process_mark_stack do the work.
-2023-04-15 Jürgen Hötzel <juergen@archlinux.org>
+2022-04-04 Jürgen Hötzel <juergen@archlinux.org>
Use correct signal oldset in posix_spawn implementation
@@ -65732,18 +68061,18 @@
(emacs_posix_spawn_init_attributes): Use correct oldset.
(emacs_posix_spawn_init): Remove intermediate function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
test/lisp/edmacro-tests.el: Adjust to recent changes
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
edmacro.el: Silence warnings due to kmacro changes
* lisp/edmacro.el (edit-kbd-macro): Use `kmacro-p` and kmacro accessors.
(edmacro-finish-edit): Use `kmacro-p` and the new `kmacro` constructor.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Handle mouse movement correctly during DND from one of our own frames
@@ -65761,7 +68090,7 @@
(syms_of_xterm): New defvar `x-dnd-movement-function'.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Fix generation of extra DND events while dragging on Haiku
@@ -65771,18 +68100,18 @@
* src/haikuterm.c (haiku_read_socket): Don't store DND motion
events if DND is in progress.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
* src/xterm.c: Explain meaning of drag-and-drop state variables.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-04 Lars Ingebrigtsen <larsi@gnus.org>
Further fixes for cl--generic-describe and (function ...)
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe): Fix the #'
problem for defmethods, too (bug#54628).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-04-04 João Távora <joaotavora@gmail.com>
Check textdocumentsync/willsave cap before sending it
@@ -65791,7 +68120,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/823
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-04-04 João Távora <joaotavora@gmail.com>
Guess language-id if manually entering server program
@@ -65800,7 +68129,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/837
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-04-04 João Távora <joaotavora@gmail.com>
Tweak eglot mode-line menus
@@ -65815,7 +68144,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/792
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2022-04-04 Felicián Németh <felician.nemeth@gmail.com>
Rework eglot's mode-line
@@ -65834,7 +68163,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/792
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-04-04 João Távora <joaotavora@gmail.com>
Make eglot--plist-keys a simple (non-map.el) helper again
@@ -65848,7 +68177,7 @@
* eglot.el (eglot--plist-keys): Define in helpers section.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-04 Mattias Engdegård <mattiase@acm.org>
Inline call0..8
@@ -65858,7 +68187,7 @@
* src/eval.c (call0, ..., call8): Move functions...
* src/lisp.h (call0, ..., call8): ...here and declare them inline.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-04 Mattias Engdegård <mattiase@acm.org>
Speed up comparisons between 2 fixnums
@@ -65871,7 +68200,7 @@
* src/fileio.c (Fcar_less_than_car):
Fast path for calls with 2 fixnum arguments.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-04 Mattias Engdegård <mattiase@acm.org>
Rewrite string-greaterp and string> using string-lessp
@@ -65882,7 +68211,7 @@
* lisp/emacs-lisp/byte-opt.el (byte-optimize-string-greaterp): New.
(string-greaterp, string>): Set byte-optimizer.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-04 Mattias Engdegård <mattiase@acm.org>
Faster `string-lessp` for unibyte arguments
@@ -65894,7 +68223,7 @@
* test/src/fns-tests.el (fns-tests--string-lessp-cases)
(fns-tests-string-lessp): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Respect frame extents during drag and drop
@@ -65905,7 +68234,7 @@
frame extent.
(x_dnd_get_target_window): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Don't baselessly ignore frames after passing through the root window
@@ -65913,7 +68242,7 @@
(handle_one_xevent): Don't rely on target not being None to set
x_dnd_return_frame to 2.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-04 Po Lu <luangruo@yahoo.com>
Improve behavior of dragging text to windows on top of frames
@@ -65929,7 +68258,7 @@
(syms_of_xterm): New defsym `now'.
* src/xterm.h: Update prototypes.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-04-03 Andrew G Cohen <cohen@andy.bu.edu>
Replace list and vector sorting with TIMSORT algorithm
@@ -65942,7 +68271,7 @@
(sort_list, sort_vector): Use tim_sort.
* test/src/fns-tests.el (fns-tests-sort): New sorting unit tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-04-03 Mattias Engdegård <mattiase@acm.org>
Add optional GC marking function to specpdl unwind_ptr record
@@ -65957,22 +68286,22 @@
* src/lisp.h (unwind_ptr): Add a mark function pointer to the
SPECPDL_UNWIND_PTR case.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_dnd_get_target_window): Look at root window proxies too.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-04-03 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-undo-close-tab): Update tab-bar-lines (bug#54684)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Fix various bugs with mouse dragging on Haiku
* src/haikuterm.c (haiku_mouse_position): Rewrite so that
different track-mouse types can be handled more consistently.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-04-03 Eli Zaretskii <eliz@gnu.org>
Update logs and HISTORY for Emacs 28.1
@@ -65980,7 +68309,7 @@
* etc/HISTORY:
* etc/AUTHORS: Update for Emacs 28.1 release.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-04-03 Jim Porter <jporterbugs@gmail.com>
Fix handling of '\\' inside double-quotes in Eshell
@@ -65996,7 +68325,7 @@
* test/lisp/eshell/eshell-tests.el
(eshell-test/escape-special-quoted): Adapt test.
-2023-04-15 James Thomas <jimjoe@gmx.net>
+2022-04-03 James Thomas <jimjoe@gmx.net>
Ensure re-encoding after change in gnus-inews-do-gcc
@@ -66004,7 +68333,7 @@
body if it has been modified by gnus-gcc-pre-body-encode-hook
(bug#54687).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-03 Lars Ingebrigtsen <larsi@gnus.org>
Have global minor modes say so in the doc string
@@ -66013,7 +68342,7 @@
(easy-mmode--mode-docstring): Use it.
(define-minor-mode): Pass in the data.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Implement `drag-source' values of `track-mouse' on PGTK.
@@ -66023,14 +68352,14 @@
* src/pgtkterm.c (pgtk_mouse_position): Behave appropriately.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Implement `drag-source' values of track-mouse on NS
* src/nsterm.m (ns_mouse_position): Don't return frame when
appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Implement (sort of) `drag-source' on Haiku
@@ -66038,7 +68367,7 @@
(haiku_mouse_position): Behave reasonably when track_mouse is
Qdrag_source.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Make dragging stuff to a window above a frame work
@@ -66055,21 +68384,21 @@
* src/xterm.c (XTmouse_position): Implement `drag-source'.
(mouse_or_wdesc_frame): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Don't touch WAYLAND_DISPLAY in browse-url
* lisp/net/browse-url.el (browse-url): Don't touch
WAYLAND_DISPLAY. (bug#53969)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-03 Po Lu <luangruo@yahoo.com>
Look for DND proxies on the root window as well
* src/xterm.c (x_dnd_get_target_window): If nothing was found on
the COW, look at the root window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Implement new DND features on GNUstep
@@ -66078,7 +68407,7 @@
* src/nsterm.m: ([EmacsView wantsPeriodicDraggingUpdates]):
([EmacsView draggingUpdated:]): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Implement new DND options on Haiku
@@ -66090,7 +68419,7 @@
* src/haikuterm.c (haiku_read_socket): Create special DND events
when the mouse moves with a drop message.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Add user options to move point and scroll window during DND
@@ -66107,14 +68436,14 @@
(x-dnd-handle-motif): Call `dnd-handle-movement' when
appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Fix Motif drag-and-drop on servers without XI2
* src/xterm.c (handle_one_xevent): Pass right flags to the
receiver when handling drops for core button events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Fix incorrect usage of XM_DRAG_SIDE_EFFECT
@@ -66122,7 +68451,7 @@
(handle_one_xevent): Pass corret alt side effects and flags to
XM_DRAG_SIDE_EFFECT.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix bootstrap errors after previous easy-mmode change
@@ -66132,14 +68461,14 @@
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
Don't use string-empty-p because of bootstrap issues.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix regression in tex alignment
* lisp/align.el (align-rules-list): Make alignment in tex mode
work better again (bug#54663).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-04-02 Sean Whitton <spwhitton@spwhitton.name>
em-extpipe: Catch eshell-incomplete thrown while parsing
@@ -66153,32 +68482,32 @@
(eshell-test/lisp-command-with-quote): New test for Bug#54603, thanks
to Jim Porter <jporterbugs@gmail.com> (bug#54603).
-2023-04-15 August Feng <au.fengster@gmail.com> (tiny change)
+2022-04-02 August Feng <au.fengster@gmail.com> (tiny change)
Add S-SPC key sequence to bookmark-bmenu-mode-map
* lisp/bookmark.el (bookmark-bmenu-mode-map): Add an S-SPC binding
for symmetry (bug#54672).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-02 Lars Ingebrigtsen <larsi@gnus.org>
Put the define-minor-mode boilerplate at the end of the doc strings
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring): Put
the boilerplate at the end of the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-04-02 Lars Ingebrigtsen <larsi@gnus.org>
Further tweaks to cl--generic-describe
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe): Further
tweak the look of the implementation output.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
* lisp/dired.el (dired-mouse-drag): Offer HOST_NAME as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Fix crash when retrieving window property with invalid atom data
@@ -66188,21 +68517,21 @@
* src/xselect.c (x_atom_to_symbol): Catch errors around
XGetAtomName.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Compute size of structs with flexible arrays correctly in Motif DND code
* src/xterm.c (xm_read_targets_table_rec, xm_setup_dnd_targets):
Use FLEXSIZEOF instead of sizeof on struct xm_targets_table_rec.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Fix error on mouse move over something not a window while dragging text
* lisp/mouse.el (mouse-drag-and-drop-region): Handle non-window
values of `posn-window' correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Add new option `mouse-drag-and-drop-region-scroll-margin'
@@ -66212,7 +68541,7 @@
(mouse-drag-and-drop-region): Implement "scroll margin" like
behavior during mouse movement.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-02 Po Lu <luangruo@yahoo.com>
Implement DELETE selection target for cross program drags
@@ -66221,7 +68550,7 @@
* lisp/select.el (xselect-convert-to-delete): Don't clear
selection contents if it's the XdndSelection.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-01 Po Lu <luangruo@yahoo.com>
Work around dynamic drag bugs in modern Motif
@@ -66231,7 +68560,7 @@
parameters.
(syms_of_xterm): New variable `x-dnd-fix-motif-leave'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-01 Po Lu <luangruo@yahoo.com>
Make Motif drag work on window managers that don't support client lists
@@ -66243,11 +68572,11 @@
(x_dnd_update_state, handle_one_xevent): Send toplevel leave
along with drops.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-04-01 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el (xref-search-program): Fix typo.
-2023-04-15 Manuel Uberti <manuel.uberti@inventati.org>
+2022-04-01 Manuel Uberti <manuel.uberti@inventati.org>
Support ugrep in xref-search-program-alist
@@ -66255,7 +68584,7 @@
(xref-search-program-alist)
(xref-search-program): Add entries for ugrep (bug#54608).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
kmacro: Represent it as an OClosure
@@ -66290,7 +68619,7 @@
(kmacro-tests-name-last-macro-bind-and-rebind): Strengthen the test a bit.
(kmacro-tests--cl-print): New test.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-04-01 Augusto Stoffel <arstoffel@gmail.com>
New user option 'font-lock-ignore'
@@ -66300,7 +68629,7 @@
implement the functionality described in 'font-lock-ignore'.
* doc/lispref/modes.texi: Describe 'font-lock-ignore'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic: Rework obsolescence checks for defmethod
@@ -66311,7 +68640,7 @@
* lisp/emacs-lisp/seq.el (seq-contains): Remove redundant
`with-suppressed-warnings`.
-2023-04-15 Ignacio <ignacio.decasso@imdea.org>
+2022-04-01 Ignacio <ignacio.decasso@imdea.org>
Better check for when clipboard or primary selection have changed
@@ -66327,7 +68656,7 @@
(gui--clipboard-selection-unchanged-p)
(gui--primary-selection-unchanged-p): New functions.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
OClosure: Add support for defmethod dispatch
@@ -66349,7 +68678,7 @@
New generic function.
(oclosure-test): Add test for dispatch on oclosure types.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-01 Po Lu <luangruo@yahoo.com>
Implement the Motif drag protocol
@@ -66370,7 +68699,7 @@
(x_free_frame_resources): Cancel Motif drag protocol operations
correctly.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-04-01 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to their version 2.3.0
@@ -66447,14 +68776,14 @@
(modus-themes-faces, modus-themes-custom-variables): Update supported
faces and relevant variables.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-04-01 Michael Albinus <michael.albinus@gmx.de>
More robust checks for directory buffers in image-mode
* lisp/image-mode.el (image-mode--directory-buffers): Apply more
robust checks for directory buffers. (Bug#54606)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-04-01 Po Lu <luangruo@yahoo.com>
Only read 16 bytes of motif drag receiver info
@@ -66462,7 +68791,7 @@
receiver info.
(handle_one_xevent): Fix default XM drop action.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Simplify Haiku drag-and-drop implementation
@@ -66475,7 +68804,7 @@
* src/xdisp.c (note_mouse_highlight): Delete
`haiku_dnd_in_progress' variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Support Motif DND help
@@ -66485,7 +68814,7 @@
event F1 during the drag-and-drop session, and use help action
when dropping onto a Motif program if it is set.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Make dropping files on Motif programs work
@@ -66496,7 +68825,7 @@
(xselect-convert-to-xm-file): New function.
(selection-converter-alist): Add new converters.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Avoid extra sync if we didn't get the right wmstate
@@ -66504,21 +68833,21 @@
version.
(x_dnd_get_target_window): Optimize accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Fix a build warning on the non-XI2 build
* src/xterm.c (xm_read_drop_start_reply): Take a const XEvent as
msg.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-31 Eli Zaretskii <eliz@gnu.org>
Fix a bug in configure.ac that failed the --without-x build
* configure.ac (USE_TOOLKIT_SCROLL_BARS): Fix test for unsupported
scroll-bars configuration. (Bug#54629)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Fix Motif DND on window managers that don't support client lists
@@ -66528,7 +68857,7 @@
(x_dnd_get_target_window): Also return first toplevel window
found.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Implement missing parts of the Motif drag and drop protocol
@@ -66545,7 +68874,7 @@
(x_term_init): New atoms.
* src/xterm.h (struct x_display_info): New atoms.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-31 João Távora <joaotavora@gmail.com>
Protect against empty firsttriggercharacter strings
@@ -66555,7 +68884,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/906
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-31 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how functions are formatted in Implementation in *Help*
@@ -66564,7 +68893,7 @@
clarifies what we're talking about here, and avoids getting
(function ...) translated into #'...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Minor fixes to treatment of `allow_current_frame'
@@ -66573,7 +68902,7 @@
(x_dnd_send_drop): Fix condition for returning
XdndActionPrivate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-31 Po Lu <luangruo@yahoo.com>
Implement Motif drop protocol
@@ -66605,7 +68934,7 @@
(x_term_init): New atoms for Motif DND support.
* src/xterm.h (struct x_display_info): Add new atoms.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic: Use OClosures for `cl--generic-isnot-nnm-p`
@@ -66633,20 +68962,20 @@
(cl--generic-isnot-nnm-p): Rewrite using `oclosure-type`.
(cl--generic-method-info): Add support for new calling convention.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
EIEIO tests: Fix failure when `eieio-core.el` is interpreted
* lisp/emacs-lisp/eieio-core.el (eieio--validate-slot-value)
(eieio--slot-name-index): Use the `cl--class` accessor functions.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-03-30 Andrea Corallo <akrl@sdf.org>
* src/pdumper.c (dump_get_max_page_size): Rename from 'dump_get_page_size'.
* src/pdumper.c: Remove getpagesize.h dependecy.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-30 Michael Albinus <michael.albinus@gmx.de>
Extend signal-process and proced.el
@@ -66673,7 +69002,7 @@
* test/lisp/net/tramp-tests.el (tramp-test31-signal-process): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-30 Po Lu <luangruo@yahoo.com>
Remove local copies of remote files created for drag-and-drop
@@ -66681,7 +69010,7 @@
file and save a record of any local copy created.
(dired-remove-last-dragged-local-file): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-30 Po Lu <luangruo@yahoo.com>
Ignore mouse movement correctly on Haiku during drag and drop
@@ -66693,7 +69022,7 @@
* src/xdisp.c (note_mouse_highlight): Ignore if said variable is
true.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-30 Po Lu <luangruo@yahoo.com>
Prevent signals when dragging nonexistent files on Haiku
@@ -66705,28 +69034,28 @@
variable.
(syms_of_haikuselect): New variable `haiku-signal-invalid-refs'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-29 Po Lu <luangruo@yahoo.com>
Disallow building with non-toolkit scroll bars on non-X systems
* configure.ac: Prevent building without toolkit scroll bars on
non-X systems, where they're not implemented. (bug#54629)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-29 Po Lu <luangruo@yahoo.com>
Avoid calling XGetAtomName in a loop when fetching monitor attributes
* src/xfns.c (x_get_monitor_attributes_xrandr): Avoid syncing on
each monitor when waiting for XGetAtomName when built with XCB.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-29 Po Lu <luangruo@yahoo.com>
Add some optimizations to ShapeNotify handling
* src/xterm.c (handle_one_xevent): Do bounding rect
optimizations on ShapeNotify events as well.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-29 Michael Albinus <michael.albinus@gmx.de>
Handle process property `remote-command' in Tramp
@@ -66745,7 +69074,7 @@
(tramp--test-async-shell-command): Check process property
`remote-command'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-29 Lars Ingebrigtsen <larsi@gnus.org>
ipv6 addresses aren't suspicious
@@ -66754,7 +69083,7 @@
(textsec-domain-suspicious-p): Use it to say that ipv6 addresses
aren't suspicious (bug#54624).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-29 Jim Porter <jporterbugs@gmail.com>
Don't use 'eshell-convert' when all we want is a number
@@ -66764,7 +69093,7 @@
* lisp/eshell/em-basic.el (eshell/umask): Simplify implementation and
be more careful about parsing numeric umasks to set.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-29 Jim Porter <jporterbugs@gmail.com>
Add tests for Eshell's umask command
@@ -66773,14 +69102,14 @@
test/lisp/eshell/em-basic-tests.el: New file.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-03-29 Thomas Fitzsimmons <fitzsim@fitzsim.org>
Fix eww bookmark writing
* lisp/net/eww.el (eww-write-bookmarks): Ensure that the complete
bookmarks are written (bug#54612).
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-29 João Távora <joaotavora@gmail.com>
Easier initializationoptions in eglot-server-programs
@@ -66796,7 +69125,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/901
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-29 Po Lu <luangruo@yahoo.com>
Rewrite desktop workarea computation to avoid too many calls to XSync
@@ -66804,14 +69133,14 @@
using long_offset and long_length, since the data transfer is
usually negligible compared to the roundtrip delay.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-29 Mattias Engdegård <mattiase@acm.org>
Fix typo in ERC DCC code in verbose mode
* lisp/erc/erc-dcc.el (erc-dcc-send-block): Typo causing incorrect
message when `erc-dcc-verbose` is set.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-29 João Távora <joaotavora@gmail.com>
Tweak on-type-formatting code
@@ -66820,7 +69149,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/899
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2022-03-29 Felicián Németh <felician.nemeth@gmail.com>
Implement on-type-formatting support
@@ -66835,11 +69164,11 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/899
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/oclosure.el (oclosure--define): Autoload
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-29 Po Lu <luangruo@yahoo.com>
Specially decode more selection types on Haiku
@@ -66852,7 +69181,7 @@
(syms_of_haikuselect): New defsyms.
* src/haikuselect.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-29 Po Lu <luangruo@yahoo.com>
Temporarily fix the oclosure bootstrap
@@ -66860,14 +69189,14 @@
from source if `oclosure--define' is not defined during byte
compilation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-28 Po Lu <luangruo@yahoo.com>
Don't loop through useless region when searching for DND toplevel
* src/xterm.c (x_dnd_compute_toplevels): Optimize for the
bounding rect being the window dimensions.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-28 Juri Linkov <juri@linkov.net>
Add search function to search within filenames in Dired and WDired (bug#14013)
@@ -66895,7 +69224,7 @@
in wdired-change-to-wdired-mode. Then replace-highlight can't use
dired-isearch-search-filenames.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
Add OClosures, a cross between functions and structs
@@ -66915,7 +69244,7 @@
captured variables.
(cconv-convert): Add case for `oclosure--fix-type`.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-28 Po Lu <luangruo@yahoo.com>
Fix doc of `gui-get-selection' as to what is really valid as `data'
@@ -66923,7 +69252,7 @@
* lisp/select.el (gui-set-selection): Don't say `data' can be a
cons or list of two integers, since that's not supported.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-28 Po Lu <luangruo@yahoo.com>
Minor fixes to Haiku selection support
@@ -66934,14 +69263,14 @@
(gui-backend-set-selection): Adjust for new airity.
* src/haikuselect.c (Fhaiku_selection_put): Fix arity.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-28 Po Lu <luangruo@yahoo.com>
Improve portability of XCB configure checks
* configure.ac: Look for xcb_aux_sync in -lxcb-aux if it's not
in -lxcb-util.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-28 Michael Albinus <michael.albinus@gmx.de>
Do not register Tramp file name handlers twice
@@ -66949,7 +69278,7 @@
* lisp/net/tramp-archive.el (tramp-register-archive-file-name-handler):
Check, whether the real file name handler is already registered.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-28 Po Lu <luangruo@yahoo.com>
Avoid extra sync when fetching DND proxy window
@@ -66957,7 +69286,7 @@
(x_dnd_get_target_window): Use it on XCB to determine window
proxy and proto for toplevel window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-27 Po Lu <luangruo@yahoo.com>
Clean up some uses of XInternAtom
@@ -66970,7 +69299,7 @@
* src/xterm.h (struct x_display_info): New atoms _MOTIF_WM_HINTS
and _NET_WM_PID.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2022-03-27 Felicián Németh <felician.nemeth@gmail.com>
Map more emacs variables to lsp formattingoptions fields
@@ -66979,7 +69308,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/900
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-27 Po Lu <luangruo@yahoo.com>
Store latin-1 content into the Haiku clipboard as well
@@ -67004,7 +69333,7 @@
* src/haikuselect.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-27 Po Lu <luangruo@yahoo.com>
Clean up PGTK cursor blanking code
@@ -67020,7 +69349,7 @@
* src/pgtkterm.h (struct pgtk_display_info): Remove
`toggle_visible_pointer'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-27 Po Lu <luangruo@yahoo.com>
Don't wait for XdndFinished messages if the target did not send status
@@ -67029,7 +69358,7 @@
(handle_one_xevent): Use that value for
`x_dnd_waiting_for_finish'.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-27 Augusto Stoffel <arstoffel@gmail.com>
Always run 'isearch-lazy-count-update-hook' with point at match
@@ -67037,34 +69366,34 @@
'isearch-lazy-count-update-hook' outside of save-excursion, so point
is at the current match.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-27 Po Lu <luangruo@yahoo.com>
Fix processing of DND grab on non-XI2 builds
* src/xterm.c (handle_one_xevent): Process DND grab flag
correctly.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1bef52ce73 * doc/emacs/anti.texi (Antinews): Unannounce removal of Mo...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Fix no-toolkit build
* src/xterm.c (x_top_window_to_frame): Declare correctly on
no-toolkit builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Avoid excessive synchronization when handling ShapeNotify events
* src/xterm.c (handle_one_xevent): Use XCB to handle ShapeNotify
events when we want both the bounding and input rects.
-2023-04-15 Marcus Swanson <marcus.swanson91@gmail.com> (tiny change)
+2022-03-26 Marcus Swanson <marcus.swanson91@gmail.com> (tiny change)
Add omnisharp support for c#
@@ -67073,7 +69402,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/897
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-26 Mattias Engdegård <mattiase@acm.org>
Fix reader infinite recursion for circular mixed-type values
@@ -67089,14 +69418,14 @@
* test/src/lread-tests.el (lread-test-read-and-print)
(lread-test-circle-cases, lread-circle): Add tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Enable the native display of BMP images on Haiku
* src/image.c (syms_of_image): Also register `bmp' image type on
Haiku when native image APIs are enabled.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Fix crash when timer signals or throws inside a popup menu on Haiku
@@ -67105,7 +69434,7 @@
(haiku_process_pending_signals_for_menu): Catch non local exits
around `timer_check'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Fix processing of emacs:window_id inside DND messages if it already exists
@@ -67113,7 +69442,7 @@
of getting it manually.
(be_drag_message): Replace window_id if it already exists.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-26 Michael Albinus <michael.albinus@gmx.de>
Don't let Tramp block dired (Bug#54542)
@@ -67123,7 +69452,7 @@
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
Extend suppression rules.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Minor fixes to last change
@@ -67133,7 +69462,7 @@
* src/xterm.c (x_dnd_compute_toplevels): Fix build without
HAVE_XCB_SHAPE.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Also fetch shapes via XCB for drag and drop
@@ -67141,7 +69470,7 @@
* src/xterm.c (HAVE_XCB_SHAPE_INPUT_RECTS): New define.
(x_dnd_compute_toplevels): Use XCB for input shapes if possible.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-26 Eli Zaretskii <eliz@gnu.org>
Use native image APIs on MS-Windows by default
@@ -67151,7 +69480,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-26 Eli Zaretskii <eliz@gnu.org>
Support display of BMP images on MS-Windows
@@ -67165,7 +69494,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-26 Eli Zaretskii <eliz@gnu.org>
Improve 'desktop--emacs-pid-running-p'
@@ -67173,20 +69502,20 @@
negatives on MS-Windows and with some symlinks to Emacs
executables. (Bug#1474)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-26 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
4ec9f9edd1 Fix eshell-explicit-command-char doc string typo
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Fix crash when windows are destroyed by faulty clients
* src/xterm.c (x_dnd_compute_toplevels): Make sure
property_reply is non-NULL before testing its format and length.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-26 Po Lu <luangruo@yahoo.com>
Avoid excessive synchronization when initiating drag-and-drop
@@ -67194,14 +69523,14 @@
state, attributes, geometry and to translate coordinates. This
avoids 4 calls to XSync.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Fix compiler warning in x-dnd.el
* lisp/x-dnd.el (x-dnd-xdnd-to-action): Move declaration
earlier.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Avoid ClientMessage overhead when dragging stuff to other frames
@@ -67214,7 +69543,7 @@
frame.
(x_dnd_send_drop): Send special DND event in that case.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Fix minor issues with dired-mouse-drag-files
@@ -67223,14 +69552,14 @@
(dired-insert-set-properties): Don't insert misleading tooltip
if feature is not available.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix (bounds-of-thing-at-point 'number)
* lisp/thingatpt.el (number): Make (bounds-of-thing-at-point
'number) work (bug#54555).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix reporting of read error line/columns in the init file
@@ -67240,7 +69569,7 @@
init file, so the reported line/column was always wrong (1 and 0,
respectively) (bug#54550).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-25 Lars Ingebrigtsen <larsi@gnus.org>
Improve pp-last-sexp ergonomics
@@ -67248,7 +69577,7 @@
before a sexp, because eval-ing that will always lead to an error
(bug#54537).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Implement new drag and drop parameter on Haiku
@@ -67260,7 +69589,7 @@
* src/haikuselect.c (Fhaiku_drag_message): New parameter
`allow-same-frame'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Allow dragging files from dired to windows on the same frame
@@ -67276,7 +69605,7 @@
`allow_current_frame'.
* src/xterm.h: Update prototypes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-25 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'completion-auto-select'
@@ -67284,25 +69613,25 @@
* doc/emacs/mini.texi (Completion Options): Improve documentation
and description of customization options of 'completion-auto-select'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Make it easier to select text inside dired when mouse dragging is on
* lisp/dired.el (dired-insert-set-properties): Only set drag
keymap on the filename itself.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-25 Michael Albinus <michael.albinus@gmx.de>
* admin/notes/emba: Mention workflow rules for branches.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Fix quitting DND while waiting for finish
* src/xterm.c (x_dnd_begin_drag_and_drop): Always clear finish
flag before quitting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-25 Po Lu <luangruo@yahoo.com>
Take window shapes into account when processing drag and drop
@@ -67324,13 +69653,13 @@
extension.
* src/xterm.h (struct x_display_info): New atom `WM_STATE'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-25 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
d3d6f1c9bd Clarify the description of "selected tags table"
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-24 Po Lu <luangruo@yahoo.com>
Use _NET_CLIENT_LIST_STACKING to optimize drag and drop window discovery
@@ -67344,7 +69673,7 @@
window manager supports it.
(handle_one_xevent): Update the toplevel list if prudent.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-03-24 Philip Kaludercic <philipk@posteo.net>
Fix wrapping of 'previous-completion' at the beginning of buffer
@@ -67353,13 +69682,13 @@
Also fix 'previous-completion' to wrap to the last completion.
(bug#54374)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-24 Juri Linkov <juri@linkov.net>
Small fixes for the new feature 'second-tab' of 'completion-auto-select'
* lisp/simple.el (completion-auto-select): Extend the docstring.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-24 João Távora <joaotavora@gmail.com>
Use bounds of thing at point when asking for code actions
@@ -67368,7 +69697,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/895
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-24 Augusto Stoffel <arstoffel@gmail.com>
João Távora <joaotavora@gmail.com>
Handle invisible text in Eldoc when calculating size
@@ -67379,14 +69708,14 @@
when counting lines to crop an echo-area message.
(Version): Bump.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-24 Po Lu <luangruo@yahoo.com>
Allow fetching events from other displays inside DND
* src/xterm.c (x_dnd_begin_drag_and_drop): Get the next event
from the app connection instead on Xt.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-24 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp to dired--insert-disk-space assumptions
@@ -67395,24 +69724,24 @@
Do not modify disk space information when
`dired--insert-disk-space' is available. (Bug#54512)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix autoinsert.el byte compilation warning
* lisp/autoinsert.el (sgml-tag): Fix a byte compilation warning.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-24 Jimmy Aguilar Mena <spacibba@aol.com>
Merge 'completion-auto-select new value secont-tab'
This includes the second-tab value for completion-auto-select and
documentation related.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-24 Jimmy Aguilar Mena <spacibba@aol.com>
Add documentation entries for completion-auto-select user option.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-24 Jimmy Aguilar Mena <spacibba@aol.com>
Add completion-auto-select second-tab value.
@@ -67422,37 +69751,37 @@
(completion-setup-function) : Make a more precise check for when
completion-auto-select is t.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/select.el (xselect-convert-to-targets): Use `delete-dups` and `delq`
* lisp/autoinsert.el (auto-insert-alist): Expose lambdas as code
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
(archive-*-write-file-member): Fix relative file name
* lisp/arc-mode.el (archive-*-write-file-member): Set the pwd
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-24 Lars Ingebrigtsen <larsi@gnus.org>
Do some NEWS tagging
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-24 Po Lu <luangruo@yahoo.com>
Avoid crashes if async input arrives when setting properties for DND
* src/xterm.c (x_dnd_begin_drag_and_drop): Block input around
non-async signal safe functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-24 Lars Ingebrigtsen <larsi@gnus.org>
Mention frame-text-* function in frame-pixel-* doc strings
* src/frame.c (Fframe_native_width, Fframe_native_height): Link to
`frame-text-*' functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix image-mode-fit-frame some more
@@ -67460,7 +69789,7 @@
and fit-frame-to-buffer instead of computing things ourselves
(bug#37630). This makes things work better across platforms.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-24 Po Lu <luangruo@yahoo.com>
Fix some bugs with drag and drop and Mozilla
@@ -67470,7 +69799,7 @@
* src/xterm.c (x_dnd_begin_drag_and_drop): Delete XdndActionList
and XdndActionDescription if they were not specified.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-03-24 Stefan Kangas <stefankangas@gmail.com>
Load desktop without prompting if process is dead
@@ -67488,7 +69817,7 @@
* test/lisp/desktop-tests.el: New file with tests for the above.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-24 Po Lu <luangruo@yahoo.com>
Fix setter for hl-line-sticky-flag when hl-line is not loaded
@@ -67496,7 +69825,7 @@
around (featurep 'hl-line). Reported by Michael Heerdegen
<michael_heerdegen@web.de>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-24 Po Lu <luangruo@yahoo.com>
Allow holding down scroll bar buttons on Haiku when overscrolling
@@ -67508,14 +69837,14 @@
bar is at the end.
(Pulse): New method.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Fix an infinite loop if the window manager pings Emacs during DND
* src/xterm.c (handle_one_xevent): Work around _NET_WM_PING
infinite loop during drag and drop.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Fix copying font names around on Haiku
@@ -67526,7 +69855,7 @@
* src/haikufont.c (haikufont_spec_or_entity_to_pattern): Stop
assuming patterns were allocated by xzalloc.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Allow dragging and dropping multiple actions
@@ -67540,7 +69869,7 @@
`ask_action_list', `ask_action_names' and `n_ask_actions'.
* src/xterm.h: Update prototypes.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-23 Augusto Stoffel <arstoffel@gmail.com>
Fix regression in isearch-yank-char-in-minibuffer
@@ -67548,7 +69877,7 @@
original window in order to restore point. This is needed when
minibuffer lazy highlight is in effect.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-03-23 Mauro Aranda <maurooaranda@gmail.com>
Make undigest work with multipart/mixed messages
@@ -67560,7 +69889,7 @@
(rmail-digest-parse-mixed-mime): New function, to search for a
multipart/digest message inside a multipart/mixed message.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-23 Michael Albinus <michael.albinus@gmx.de>
Make quoting of shell arguments in grep.el more robust
@@ -67570,11 +69899,11 @@
(grep-compute-defaults, grep-default-command)
(grep-expand-keywords, lgrep, rgrep-default-command): Use it.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-03-23 Glenn Morris <rgm@gnu.org>
* doc/misc/eudc.texi (Inline Query Expansion): Unbreak it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-23 Michael Albinus <michael.albinus@gmx.de>
Support changing remoteness of DIR in rgrep and lgrep
@@ -67585,7 +69914,7 @@
(lgrep, rgrep): Recompute grep defaults when the remoteness of DIR
changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Improvements to Haiku selection handling
@@ -67607,7 +69936,7 @@
(syms_of_haikuselect): Update subrs.
* src/haikuselect.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-23 Lars Ingebrigtsen <larsi@gnus.org>
Reinstate `C-M-<delete>'
@@ -67616,18 +69945,18 @@
hasn't been the case in any common GNU/Linux distributions for
decades.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-23 Lars Ingebrigtsen <larsi@gnus.org>
Fix image-mode-fit-frame resizing
* lisp/image-mode.el (image-mode-fit-frame): Use pixel sizes
instead of lines/columns to get more accurate resizing (bug#37630).
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-03-23 Andreas Schwab <schwab@linux-m68k.org>
* lisp/term/pgtk-win.el: Update header comment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Fix hl-line tests
@@ -67636,18 +69965,18 @@
`cl-some' always returning t on success.
(hl-line-tests-sticky-across-frames): Use correct global variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
* lisp/calendar/todo-mode.el: Restore old code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Restore old hl-line code
* lisp/hl-line.el: Restore old code to remove obsoletions.
(hl-line-overlay-priority): Make defcustom.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Allow retrieving some more kinds of clipboard data on Haiku
@@ -67660,25 +69989,25 @@
potentially large or circular lists.
* src/haikuselect.h (enum haiku_clipboard): New enum.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-23 Po Lu <luangruo@yahoo.com>
Fix crash in haiku_message_to_lisp
* src/haikuselect.c (haiku_message_to_lisp): Block input around
`free'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
Handle quitting correctly during interprogram drag-and-drop
* lisp/mouse.el (mouse-drag-and-drop-region): Handle quit
correctly by exiting the cross program drag and drop.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_dnd_begin_drag_and_drop): Fix test against DND frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
Don't allocate duplicate cursors for each frame on Haiku
@@ -67689,7 +70018,7 @@
* src/haikuterm.h (struct haiku_display_info): New fields for
cursors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
Improve DND documentation
@@ -67697,7 +70026,7 @@
* src/xfns.c (Fx_begin_drag): Document meaning of
`XdndActionPrivate'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
Reported taken action correctly when dragging to another frame on X
@@ -67707,7 +70036,7 @@
(x_dnd_begin_drag_and_drop): Return `XdndActionPrivate' if the
drop landed on one of our own frames.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-03-22 Andrew G Cohen <cohen@andy.bu.edu>
Refactor gnus/nnselect artlist saving and getting
@@ -67721,42 +70050,42 @@
* doc/misc/gnus.texi (Selection Groups): Document artlist storage and
retrieval.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
NEWS copy edits
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Mention highlight-confusing-reorderings in doc string
* src/xdisp.c (Fbidi_find_overridden_directionality): Mention
highlight-confusing-reorderings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Mention the other-window-scroll-default user option
* src/window.c (Fscroll_other_window): Link to
other-window-scroll-default in the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Document outline-default-state
* doc/emacs/text.texi (Outline Visibility): Mention
outline-default-state.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Do some NEWS tagging
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Document sqlite-mode-open-file and do some NEWS tagging
* doc/lispref/text.texi (Database): Mention sqlite-mode-open-file.
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-03-22 Alexander Adolf <alexander.adolf@condition-alpha.com>
Enable Better Alignment of EUDC Inline Expansion With RFC5322
@@ -67811,7 +70140,7 @@
When eudc-inline-expansion-format remains set to a list as previously,
the old behaviour is fully retained.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix two no-X compilation warnings
@@ -67821,34 +70150,34 @@
* lisp/term/pgtk-win.el (window-system-initialization): Avoid no-X
compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix a keyboard.c no-X compilation warning
* src/keyboard.c (make_lispy_position): Fix compilation warning in
a --without-x build.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Make mail-header-parse-addresses-lax more lax
* lisp/mail/mail-parse.el (mail-header-parse-addresses-lax): Be
more resilient (bug#54523).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix Completion Options typo
* doc/emacs/mini.texi (Completion Options): Fix typo.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Add a shell-filter-ring-bell function
* lisp/shell.el (shell-mode): Mention it.
(shell-filter-ring-bell): New function (bug#21652).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-22 Eli Zaretskii <eliz@gnu.org>
Fix documentation of the new completion-related features
@@ -67858,7 +70187,7 @@
* doc/emacs/mini.texi (Completion Options): Fix wording of
recently added documentation and customization options.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-22 Jimmy Aguilar Mena <spacibba@aol.com>
Revert "Set cursor-face-highlight-nonselected-window in completions."
@@ -67866,7 +70195,7 @@
This fixes incorrect highlight in Completions.
-2023-04-15 Allen Li <darkfeline@felesatra.moe>
+2022-03-22 Allen Li <darkfeline@felesatra.moe>
Add user option for controlling dired-do-shell-command prompt
@@ -67875,7 +70204,7 @@
(dired-do-shell-command): Check option before prompting
(bug#29465).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Make eshell link faces more distinctive on 8-color displays
@@ -67883,7 +70212,7 @@
(eshell-ls-symlink): Make the faces be distinctive on 8-colour
displays (bug#43615).
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2022-03-22 dickmao <dick.r.chiang@gmail.com>
Restore hl-line--buffer tracking
@@ -67898,7 +70227,7 @@
(hl-line-tests-sticky-across-frames, hl-line-tests-sticky):
Test (bug#54481).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix dependency problem in hl-line-sticky-flag"
@@ -67906,14 +70235,14 @@
This is fixed differently in a subsequent patch.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix dependency problem in hl-line-sticky-flag
* lisp/hl-line.el (hl-line-sticky-flag): Open-code
hl-line-unhighlight to avoid recursive dependencies (bug#54481).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix color-lighten-hsl logic
@@ -67921,11 +70250,11 @@
instead of just adding the specified number to the luminance
element (bug#54514).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Revert todo-mode tests failing after todo-mode reversion
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Add new function image-supported-file-p
@@ -67940,7 +70269,7 @@
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Adjust caller
and logic.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-22 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Allow using image-convert to view .bmp images"
@@ -67949,7 +70278,7 @@
This leads to failures for usages of the function where
Emacs doesn't have support for the formats.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
Simplify fullscreen management on Haiku
@@ -67967,7 +70296,7 @@
* src/haikuterm.h (struct haiku_output): Remove all pending_zoom
fields since they are no longer required.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-22 Michael Albinus <michael.albinus@gmx.de>
Fix grep-like functions when running on a remote host
@@ -67981,7 +70310,7 @@
(rgrep-default-command): Use POSIX argument in
`shell-quote-argument'. (Bug#54487)
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-03-22 Andrea Corallo <akrl@sdf.org>
* src/comp.c: Few improvements following 71b8f1fc635.
@@ -67991,15 +70320,15 @@
* src/comp.c (Fcomp__register_lambda, Fcomp__register_subr):
Remove unnecessary change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-22 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_dnd_get_window_proto): Don't return huge protocols.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-22 Juri Linkov <juri@linkov.net>
Merge branch 'feature/completions-customs'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-21 Po Lu <luangruo@yahoo.com>
Fix starting Emacs with -mm or -fs on Haiku
@@ -68007,27 +70336,27 @@
window size if the frame is fullscreen, like most X window
managers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-21 Po Lu <luangruo@yahoo.com>
Fix leak of saved menu event and output data
* src/xterm.c (x_destroy_window, x_free_frame_resources): Free
output data and saved menu event even if display is closed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-21 Po Lu <luangruo@yahoo.com>
Fix unloading the hl-line library
* lisp/hl-line.el (hl-line-unload-function): Restore function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-21 Po Lu <luangruo@yahoo.com>
Fix incompatible changes in hl-line
* lisp/hl-line.el (hl-line-face): Rename back to hl-line.
(hl-line-face): Restore defcustom.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-21 Juri Linkov <juri@linkov.net>
Small fixes for new completions features
@@ -68036,7 +70365,7 @@
(completions-highlight, completions-highlight-face):
Move up before first use.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option `diff-entire-buffers'
@@ -68044,14 +70373,14 @@
(diff-file-local-copy): Use it.
(diff-buffers): Mention it in the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Don't break autoload generation of `left-margin' isn't zero
* lisp/emacs-lisp/autoload.el (make-directory-autoloads): Fix
autoload generation breakage is left-margin isn't zero (bug#54491).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Make `n' in image-mode work more reliably with external formats
@@ -68062,7 +70391,7 @@
(image-convert-p): Use it.
(image-convert): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Allow specifying the intermediate format
@@ -68071,18 +70400,18 @@
(image-convert, image-converter--convert-magick)
(image-converter--convert): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Allow using image-convert to view .bmp images
* lisp/image.el (image-type-from-file-name): Allow Emacs to fall
back on image-convert to display .bmp images (bug#54492).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Regenerated ldefs-boot.el
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2022-03-21 dickmao <dick.r.chiang@gmail.com>
Rewrite hl-line-mode
@@ -68118,14 +70447,14 @@
todo-test-done-items-separator06-eol,
todo-test-done-items-separator07): Adapt to consolidated face.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-21 Lars Ingebrigtsen <larsi@gnus.org>
Add a new face shr-code
* lisp/net/shr.el (shr-code): New face (bug#54480).
(shr-tag-code): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-21 Po Lu <luangruo@yahoo.com>
Minor fixes to Haiku DND support
@@ -68137,21 +70466,21 @@
* src/haikuselect.c (haiku_should_quit_drag): New function.
(Fhaiku_drag_message): If rc is true, quit.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-21 Jimmy Aguilar Mena <spacibba@aol.com>
Set cursor-face-highlight-nonselected-window in completions.
* lisp/simple.el (completion-setup-function) : Sets
cursor-face-highlight-nonselected-window to t in Completions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-21 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f15922a57c Update to Org 9.5.2-25-gaf6f12
9fcdd5b63f Improve doc strings of read-char-from-minibuffer-insert-* ...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Improve handling of input methods during drag-and-drop
@@ -68162,7 +70491,7 @@
(XTread_socket): Verify GenericEvents are actually input
extension events before ignoring them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Make quitting work while DND is waitng for finish
@@ -68172,7 +70501,7 @@
(x_filter_event): Don't filter if waiting for DND finish as
well.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-03-20 Dmitry Gutov <dgutov@yandex.ru>
Support indentation of Ruby pattern matching expressions
@@ -68182,18 +70511,18 @@
* test/lisp/progmodes/ruby-mode-resources/ruby.rb:
Add indentation example.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-03-20 Andrew G Cohen <cohen@andy.bu.edu>
Fix imap fetching multiple mailboxes (bug#54158)
* lisp/gnus/mail-source.el (mail-source-fetch-imap): Variables
mailbox-source-string and remove should be reset for each mailbox.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-20 Juri Linkov <juri@linkov.net>
* etc/NEWS: Mention new hook 'minibuffer-lazy-highlight-setup'.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-20 Augusto Stoffel <arstoffel@gmail.com>
Add lazy highlight to 'isearch-edit-string'
@@ -68201,7 +70530,7 @@
lazy count, provided 'isearch-lazy-highlight' respectively
'isearch-lazy-count' are non-nil.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-20 Augusto Stoffel <arstoffel@gmail.com>
Allow lazy highlight and match count while reading from minibuffer
@@ -68215,7 +70544,7 @@
implementing the lazy highlight functionality while reading from
minibuffer.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-20 Augusto Stoffel <arstoffel@gmail.com>
New hook, lazy-count-update-hook
@@ -68229,28 +70558,28 @@
* lisp/simple.el (minibuffer-history-isearch-setup): Make sure no lazy
count is displayed.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-20 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-new-tab-to): Don't funcall const values.
Filter out the values 'clone' and 'window' of 'tab-bar-new-tab-choice'
from function call.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-20 Michael Albinus <michael.albinus@gmx.de>
Extend connection-local variables example in Elisp manual
* doc/lispref/variables.texi (Connection Local Variables):
Explain, how to append variable settings to an existing profile.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-20 Paul Eggert <eggert@cs.ucla.edu>
Remove duplicate INLINE_HEADER_BEGIN
* src/thread.h: Remove duplicate INLINE_HEADER_BEGIN.
Problem reportd by Mattias Engdegård.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2022-03-20 Felicián Németh <felician.nemeth@gmail.com>
Add simple support for workspacefolders
@@ -68267,7 +70596,7 @@
(eglot--connect): Add workspaceFolders to initializeParams.
(eglot-handle-request workspace/workspaceFolders): New cl-defmethod.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Fix confusion of wanted action with actual action on X
@@ -68275,21 +70604,21 @@
(x_dnd_update_state, handle_one_xevent): Differentiate between
wanted action and chosen action correctly.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-03-20 Manuel Giraud <manuel@ledu-giraud.fr>
Fix wrong password stored in Tramp
* lisp/net/tramp.el (tramp-process-actions):
Unset `tramp-password-save-function'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Make DND between frames work properly
* src/xterm.c (handle_one_xevent): Don't wait for a finish event
when dropping on top of another Emacs frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Improve compliance with version 5 of the XDND specification
@@ -68299,21 +70628,21 @@
(handle_one_xevent): Wait for XdndFinished events and return the
action chosen there.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Fix some crashes in shut_down_emacs on Haiku
* src/emacs.c (shut_down_emacs): Stop quitting be app, since
it's not always there.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Implement `haiku_delete_terminal'
* src/haikuterm.c (haiku_delete_terminal): Actually delete the
terminal instead of aborting.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-20 Po Lu <luangruo@yahoo.com>
Check list tail properly in x-begin-drag
@@ -68321,14 +70650,14 @@
proper list.
* src/xterm.c (x_dnd_update_state): Remove debugging code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-19 Po Lu <luangruo@yahoo.com>
Fix crash on some compositing managers
* src/xterm.c (x_dnd_get_target_window): Catch errors around
CompositeReleaseOverlayWindow.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-19 Po Lu <luangruo@yahoo.com>
Improve behaviour of drag-n-drop during window manager operations
@@ -68341,7 +70670,7 @@
* src/xterm.h (struct x_display_info): New atom
`_NET_CLIENT_LIST_STACKING'.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Port to gcc -D EMACS_EXTERN_INLINE
@@ -68349,7 +70678,7 @@
INLINE_HEADER_END, since it uses INLINE.
* src/emacs.c: Include these two files.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
valid_sp inline fix
@@ -68357,7 +70686,7 @@
should be used only in headers and between INLINE_HEADER_BEGIN
and INLINE_HEADER_END. No need for ‘inline’ here.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Simplify alloc.c static function decls
@@ -68366,7 +70695,7 @@
order is obsolescent. Anyway, no need for ‘inline’ as compilers
inline without it well enough.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Make native helper functions static
@@ -68376,7 +70705,7 @@
(helper_save_restriction, helper_GET_SYMBOL_WITH_POSITION)
(helper_PSEUDOVECTOR_TYPEP_XUNTAG): Now static.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Remove unused fns/data and make fns static
@@ -68399,7 +70728,7 @@
!defined USE_CAIRO && (RENDER_MAJOR > 0 || RENDER_MINOR >= 2),
since it’s not used otherwise.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Use filenvercmp instead of doing it by hand
@@ -68407,7 +70736,7 @@
not string_version_cmp.
(string_version_cmp): Remove; no longer used.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Omit unnecessary code when !HAVE_NATIVE_COMP
@@ -68418,7 +70747,7 @@
Define only if HAVE_NATIVE_COMP && WINDOWSNT,
as they’re not used otherwise.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Remove internal_condition_case_[345]
@@ -68429,14 +70758,14 @@
(internal_condition_case_4, internal_condition_case_5): Remove.
The first two were never used; the last only in now-removed code.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-19 Paul Eggert <eggert@cs.ucla.edu>
Remove sanitize_window_sizes
* src/window.c (sanitize_window_sizes): Remove; no-longer-used.
A previous refactoring moved this to Lisp without removing the C code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-19 Lars Ingebrigtsen <larsi@gnus.org>
Make `command-modes' work for (native-compiled) subrs, too
@@ -68458,7 +70787,7 @@
* src/pdumper.c (dump_subr): Update hash.
(dump_subr): Dump the command_modes slot.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-19 Po Lu <luangruo@yahoo.com>
Improve protection against faulty clients during DND
@@ -68466,7 +70795,7 @@
(xdnd_send_leave, x_dnd_send_drop): Catch errors around call to
XSendEvent. The target window could be gone.
-2023-04-15 Guy Gastineau <strings.stringsandstrings@gmail.com> (tiny change)
+2022-03-19 Guy Gastineau <strings.stringsandstrings@gmail.com> (tiny change)
Remove redundant checks in erc--switch-to-buffer
@@ -68475,20 +70804,20 @@
`read-buffer' and use it for erc-iswitchb" meant to remove this, but
it was left behind. (Bug#53617)
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2022-03-19 F. Jason Park <jp@neverwas.me>
Add unit test for erc--switch-to-buffer
* test/lisp/erc/erc-tests.el (erc--switch-to-buffer): Add new test.
(Bug#53617)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-19 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
e059d7c Fix region highlight in non-selected windows
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-19 Po Lu <luangruo@yahoo.com>
Ignore drag source frame on Haiku in line with documentation
@@ -68497,13 +70826,13 @@
(MessageReceived): Ignore dropped messages with same window id.
(be_drag_message): Add source frame's window ID to message.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-19 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
c4596c8522 Fix a regression in 'decipher-digram-list'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Document dired-mouse-drag-files
@@ -68513,11 +70842,11 @@
* lisp/dired.el (dired-mouse-drag-files): Fix typo in doc
string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
* src/xterm.c (XTread_socket): Don't filter GenericEvents.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Fix some glitches when dragging files from dired
@@ -68526,7 +70855,7 @@
(dired-mouse-drag): Clear mark if active and only make button
release events unread.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Handle composite overlay window during drag and drop sessions
@@ -68542,7 +70871,7 @@
* src/xterm.h (struct x_display_info): New fields for composite
extension presence.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Fix some XIM servers getting confused during drag-and-drop
@@ -68551,7 +70880,7 @@
(x_filter_event): Return 0 if DND is in progress.
(xim_instantiate_callback): Likewise.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-18 Jimmy Aguilar Mena <spacibba@aol.com>
cursor-face-highlight-nonselected-window default to nil
@@ -68559,11 +70888,11 @@
and not check facep.
(cursor-face-highlight-nonselected-window) : default to nil
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Minor optimization
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
Pcomplete: Better obey `completion-at-point-functions`
@@ -68582,11 +70911,11 @@
(eshell-complete-parse-arguments): Use it and obey
`pcomplete-allow-modifications`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/gnus/mail-source.el (mail-source-set-1): Fix indent and simplify
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-18 Mattias Engdegård <mattiase@acm.org>
Speed up fixnum printing
@@ -68598,7 +70927,7 @@
* src/lisp.h: (fixnum_to_string): External declaration.
* src/print.c (print_object): Use fixnum_to_string instead of sprintf.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-18 Michael Albinus <michael.albinus@gmx.de>
Make application configurable in 'with-connection-local-variables'
@@ -68613,7 +70942,7 @@
* test/lisp/files-x-tests.el
(files-x-test-with-connection-local-variables): Extend test.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-18 João Távora <joaotavora@gmail.com>
Defend against broken move-to-column in recent emacs
@@ -68676,7 +71005,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/860
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-18 Mattias Engdegård <mattiase@acm.org>
Speed up number-to-string for fixnums
@@ -68686,7 +71015,7 @@
* src/data.c (Fnumber_to_string): Don't use sprintf for fixnums.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Implement drag-and-drop of files on Haiku
@@ -68699,14 +71028,14 @@
* src/haikuselect.c (haiku_lisp_to_message): Perform more error
checking.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-18 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
530c3491e8 Improve documentation of bookmark default sorting
11492259b1 ; * doc/lispref/display.texi (Overlay Arrow): More accurat...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Allow dragging messages with file names on Haiku
@@ -68715,7 +71044,7 @@
correctly.
* src/haikuselect.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-18 Po Lu <luangruo@yahoo.com>
Allow dragging files from Dired to other programs
@@ -68737,7 +71066,7 @@
selection converters.
(syms_of_xselect): Update doc strings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
Minor fixes to DND support
@@ -68746,7 +71075,7 @@
(handle_one_xevent): Only calculate dnd_grab if DND is in
progress.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
Remove some early-bootstrap dependencies for `advice`
@@ -68772,7 +71101,7 @@
(cl--generic-get-dispatcher): Use it.
(cl--generic-prefill-dispatchers): Make freshly made dispatchers.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-17 Jimmy Aguilar Mena <spacibba@aol.com>
Add new variable cursor-face-highlight-nonselected-window
@@ -68781,7 +71110,7 @@
(redisplay--update-cursor-face-highlight) : Extend highlight condition
to consider the new variable.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-17 Mattias Engdegård <mattiase@acm.org>
Put bytecode stack frame metadata in a struct
@@ -68801,7 +71130,7 @@
* src/lisp.h (struct handler, get_act_rec, set_act_rec):
Adapt to new struct bc_frame.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-17 Lars Ingebrigtsen <larsi@gnus.org>
Restore HOME after mailcap-parsing-and-mailcap-mime-info
@@ -68809,7 +71138,7 @@
(mailcap-parsing-and-mailcap-mime-info): Restore HOME after the
test (bug#54435).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-17 Michael Albinus <michael.albinus@gmx.de>
Enable Tramp reloading
@@ -68819,18 +71148,18 @@
* test/lisp/net/tramp-tests.el (tramp-test47-unload): Do not skip.
Test reload.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Warn suspicious args
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-17 Lars Ingebrigtsen <larsi@gnus.org>
Avoid repeated prompts in `M-x shell' if using ~/.emacs_bash
* lisp/shell.el (shell): Use `shell-eval-command' to avoid
repeated prompts (bug#9961).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-17 Lars Ingebrigtsen <larsi@gnus.org>
Make shell-resync-dirs work with zsh
@@ -68838,49 +71167,49 @@
avoid getting confused by zsh (bug#54384).
(shell-eval-command): New function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
(seq-contains-p): Refine the non-nil returned value
* lisp/emacs-lisp/seq.el (seq-contains-p): Like `cl-some` return the
value returned by the test function rather than t.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-03-17 Philipp Stephani <phst@google.com>
Fix a use of 'cl-defgeneric'.
* lisp/progmodes/xref.el (xref-match-length): Use 'cl-defmethod'
instead of 'cl-defgeneric'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-17 Lars Ingebrigtsen <larsi@gnus.org>
Make `?' work again in read-multiple-choice
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Make the `?' key
work again to show the help text.
-2023-04-15 Felician Nemeth <felician.nemeth@gmail.com>
+2022-03-17 Felician Nemeth <felician.nemeth@gmail.com>
Format long help texts better in read-multiple-choice
* lisp/emacs-lisp/rmc.el (rmc--show-help): Format long help texts
better (bug#54430).
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-03-17 Andrew G Cohen <cohen@andy.bu.edu>
Improve propagation of gnus/nnselect group info
* lisp/gnus/nnselect.el (nnselect-push-info): Speed up pushing the
nnselect info back to the originating groups.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-03-17 Andrew G Cohen <cohen@andy.bu.edu>
Fix bug in nnselect fetching new articles in a thread
* lisp/gnus/nnselect.el (nnselect-request-thread): Ignore the
Retrieval Status Value in comparing whether articles are the same.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-03-17 Sean Whitton <spwhitton@spwhitton.name>
Don't use the original sender's address as the envelope-from
@@ -68888,14 +71217,14 @@
envelope-from to the original sender's address rather than the
resender's (bug#54429).
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-03-17 Arash Esbati <arash@gnu.org>
Improve LaTeX symbol prettification
* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
Support macros which used to be part of textcomp package.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
Prevent invisible frames from acting as drag sources
@@ -68903,11 +71232,11 @@
invisible. It makes no sense for an invisible frame to be a
drag source, so the function just hangs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
* src/haikuselect.c (Fhaiku_drag_message): Clear display grab after drag ends.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
Fix creating frames with an initial value of `fullscreen' on Haiku
@@ -68918,21 +71247,21 @@
* src/haikuterm.h (struct haiku_output): New field
`configury_done'.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-17 Michael Albinus <michael.albinus@gmx.de>
Do not cache directories with Tramp sshfs
* lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>:
Add "-o dir_cache=no" to `tramp-mount-args'. (Bug#54126)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
Fix mouse movement on Haiku
* src/haiku_support.cc (MouseMoved): Make sure grab view exists
before comparing against it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
Display drag-and-drop messages in echo area on non-graphics displays
@@ -68941,14 +71270,14 @@
(mouse-drag-and-drop-region): Use them instead of calling
`x-hide-tip' and `x-show-tip' directly.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-17 Eli Zaretskii <eliz@gnu.org>
Fix compilation error of xterm.c
* src/xterm.c (x_dnd_begin_drag_and_drop): Use current_count only
if defined. Reported by Tassilo Horn <tsdh@gnu.org>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
Prevent delivery of duplicate events when window is grabbed on Haiku
@@ -68957,29 +71286,29 @@
(MouseMoved, MouseDown, MouseUp): Keep track of the grab and
don't deliver motion events to any other view.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-17 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_dnd_begin_drag_and_drop): Always initialize hold_quit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Restore old PGTK scrolling code
* src/pgtkterm.c (pgtk_copy_bits): Restore old code using
cairo_surface_create_similar. (bug#54040)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Make GTK inspector available on PGTK
* src/pgtkfns.c (Fx_gtk_debug): New function.
(syms_of_pgtkfns): Define new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
* lisp/term/haiku-win.el (x-begin-drag): Fix type code of B_MIME_TYPE.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Implement cross-program drag-and-drop on Haiku
@@ -69007,14 +71336,14 @@
* src/haikuselect.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Improve GTK support for X11 drag-n-drop
* src/xterm.c (x_dnd_begin_drag_and_drop): Run nested GTK event
loop instead, so GTK gets the correct events.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-16 Paul Eggert <eggert@cs.ucla.edu>
Simplify generate-new-buffer-name randomness
@@ -69022,7 +71351,7 @@
Simplify by calling get_random instead of Frandom;
that’s random enough here.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-16 Paul Eggert <eggert@cs.ucla.edu>
Improve random bignum generation
@@ -69035,7 +71364,7 @@
since zero is invalid, Qnatnump is not quite right here.
* src/sysdep.c (get_random_ulong): New function.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-03-16 Alan Mackenzie <acm@muc.de>
Strip positions from symbols before the eval in eval-{when,and}-compile.
@@ -69046,14 +71375,14 @@
entry. Add a call to `byte-run-strip-symbol-positions' in the
eval-and-compile entry.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-03-16 Robert Pluim <rpluim@gmail.com>
Report buffer-name when local mode-line is invalid
* lisp/files.el (hack-local-variables-prop-line): Add '(buffer-name)'
to the message reporting the malformed mode-line.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-03-16 Robert Pluim <rpluim@gmail.com>
Guard against custom entries that can contain NULs
@@ -69067,7 +71396,7 @@
* lisp/startup.el (startup--load-user-init-file): Bind
inhibit-null-byte-detection to t.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-03-16 Robert Pluim <rpluim@gmail.com>
Improve error message for 'not running' processes
@@ -69078,36 +71407,36 @@
* src/process.c (send_process, Fprocess_send_eof): Add the output of
'status_message' to the error string.
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-03-16 Manuel Giraud <manuel@ledu-giraud.fr>
* lisp/net/tramp-sh.el (tramp-find-file-exists-command): Fix comment.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-03-16 Robert Pluim <rpluim@gmail.com>
Link with libdl when using pgtk
* configure.ac: Define LIBMODULES on GNU/Linux when using pgtk, even
when not using modules, since pgtkterm.c uses dlsym. (Bug#54378)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
* doc/lispref/frames.texi (x-begin-drag): Improve wording.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Fix 32-bit Haiku build
* src/haikuselect.h (be_enum_message): Fix declaration for
32-bit types.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Add support for dropping plain text on Haiku
* haiku-win.el (haiku-dnd-handle-drag-n-drop-event): Handle
`text/plain'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Redo Haiku DND support
@@ -69130,14 +71459,14 @@
letting Lisp code do the processing.
* src/haikuterm.h: Update prototypes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-16 Eli Zaretskii <eliz@gnu.org>
Fix last change in frames.texi
* doc/lispref/frames.texi (Drag and Drop): Improve and clarify the
wording.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Pacify compiler warning in handle_one_xevent
@@ -69145,14 +71474,14 @@
it won't be used because target is None. Reported by Lars
Ingebrigtsen <larsi@gnus.org>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Correct last change for return-frame drags
* src/xterm.c (handle_one_xevent): Use `x_any_window_to_frame'
to determine `x_dnd_return_frame_object'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Fix minor bugs with XDND support
@@ -69166,27 +71495,27 @@
first window with XdndAware instead of bottommost window.
(handle_one_xevent): Use new argument `proto_out'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Fix XI 2.0 build
* src/xterm.c (handle_one_xevent): Move declaration of dummy out
of HAVE_XINPUT2_1.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Fix tooltip text properties showing up in dragged text
* lisp/mouse.el (mouse-drag-and-drop-region): Directly call
x-show-tip and x-hide-tip instead of going through tooltip-show.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
62e830c3d9 * doc/misc/transient.texi: Fix @dircategory to "Emacs misc...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-16 Po Lu <luangruo@yahoo.com>
Better handle drag-and-drop from one Emacs frame to another
@@ -69202,11 +71531,11 @@
appropriate.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-15 Po Lu <luangruo@yahoo.com>
* src/xfns.c (Fx_begin_drag): Improve doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-15 Po Lu <luangruo@yahoo.com>
Add support for dragging text from Emacs to other programs
@@ -69256,7 +71585,7 @@
Xatom_XdndPosition, Xatom_XdndStatus, Xatom_XdndLeave,
Xatom_XdndDrop, and Xatom_XdndFinished.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-15 Po Lu <luangruo@yahoo.com>
Fix build with GTK 3.18.0 or earlier
@@ -69264,7 +71593,7 @@
(xg_update_horizontal_scrollbar_pos): Avoid
gtk_widget_queue_allocate on older GTK versions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-15 Eli Zaretskii <eliz@gnu.org>
Clean up implementation of N0 per UAX#9
@@ -69272,7 +71601,7 @@
prev_for_neutral's type to be known, fall back on SOS, per
the UBA.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-03-15 Sam Steingold <sds@gnu.org>
Extract `gnus-collect-urls-from-article' from `gnus-summary-browse-url'
@@ -69280,14 +71609,14 @@
New function, extracted from `gnus-summary-browse-url'.
(gnus-summary-browse-url): Use it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/url/url-vars.el: Cosmetic changes
(url-mime-separator-chars): Simplify.
(url-interactive-p): Tweak docstring.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
doctex-mode: Try and fix bug#35140
@@ -69296,14 +71625,14 @@
closing char for the previous comment.
(doctex-font-lock-^^A): Simplify accordingly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix byte-code button in help--describe-command
* lisp/help.el (help--describe-command): Fix byte-code button
(bug#24235).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-15 Lars Ingebrigtsen <larsi@gnus.org>
Revert "New command `gnus-summary-browse-all-urls' bound to "v""
@@ -69311,7 +71640,7 @@
It was never agreed that this should be added.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-15 João Távora <joaotavora@gmail.com>
Don't advertise didchangewatchedfiles on tramp
@@ -69321,46 +71650,46 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/883
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-15 Po Lu <luangruo@yahoo.com>
Fix some minor glitches with Haiku scroll bars
* src/haiku_support.cc (MouseDown): Don't start overscroll if
dragging started inside a button.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-15 Po Lu <luangruo@yahoo.com>
Fix crashes when trying to pop up a menu on GTK 2
* src/xterm.c (handle_one_xevent): Respect finish when
dispatching copy.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-15 Po Lu <luangruo@yahoo.com>
Fix some issues with input on GTK 2 builds
* src/xfns.c (setup_xi_event_mask): Don't ask for XI key press
on GTK 2.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-14 Po Lu <luangruo@yahoo.com>
Fix extraneous ifdef in xwidgets code
* xterm.c (handle_one_xevent): Pass GesturePinchEnd events to
xwidgets regardless of no-longer-present define.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-14 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Fix use of wrong motion structure.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-14 Po Lu <luangruo@yahoo.com>
Stop relying on dynlib for PGTK interrupt input
* src/pgtkterm.c (pgtk_term_init): Use dlopen and dlsym directly
instead of dynlib functions. (bug#54378)
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-03-14 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Fix a bug and some docstrings
@@ -69371,7 +71700,7 @@
(eudc-menu): Add doc string.
(eudc-install-menu): Likewise.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-14 Paul Eggert <eggert@cs.ucla.edu>
Another fix for the no-toolkit build
@@ -69380,7 +71709,7 @@
eliminating the goto it introduced.
* oldXMenu/XMenuInt.h: Include <attribute.h>, for FALLTHROUGH.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-14 Paul Eggert <eggert@cs.ucla.edu>
Prefer CALLN
@@ -69389,7 +71718,7 @@
Prefer CALLN to doing it by hand.
* src/fns.c (ccall2): Remove. All uses replaced by CALLN.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-03-14 Sam Steingold <sds@gnu.org>
New command `gnus-summary-browse-all-urls' bound to "v"
@@ -69400,41 +71729,41 @@
(gnus-summary-browse-all-urls): New command.
(gnus-summary-mode-map): Bind `gnus-summary-browse-all-urls' to "v".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-14 Po Lu <luangruo@yahoo.com>
Fix the no toolkit build
* Activate.c (XMenuActivate): Stop relying on fallthroughs
inside switch statement. (bug#54382)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix RFC2047 encoding of Disposition-Notification-To
* lisp/mail/rfc2047.el (rfc2047-header-encoding-alist): Encode
Disposition-Notification-To as an address header (bug#54383).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-14 Po Lu <luangruo@yahoo.com>
Handle position specification hints on X toolkit builds
* src/xterm.c (x_wm_set_size_hint): Set PPosition and USPosition
independently of Xt.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-14 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Simplify Edebug spec
* lisp/simple.el (cursor-face-highlight-mode): Fix copy&paste
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-14 Lars Ingebrigtsen <larsi@gnus.org>
Improve the execute-kbd-macro doc string
* src/macros.c (Fexecute_kbd_macro): Improve the doc string
(bug#14206).
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-03-14 Philipp Stephani <phst@google.com>
Make Edebug specification for 'cl-defstruct' more lenient.
@@ -69445,21 +71774,21 @@
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/edebug): New
unit test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-14 Lars Ingebrigtsen <larsi@gnus.org>
Don't always escape "." and "?" in `prin1'
* src/print.c (print_object): Only escape "." and "?" when
appearing as the first character in a symbol (bug#23130).
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2022-03-14 Martin Rudalics <rudalics@gmx.at>
Init 'rest' in 'balance-windows-2' (Bug#54380)
* lisp/window.el (balance-windows-2): Give 'rest' an initial
value (Bug#54380).
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-14 Jimmy Aguilar Mena <spacibba@aol.com>
Add local to remove-hook in cursor-face-highlight-mode
@@ -69467,7 +71796,7 @@
Thanks to Stefan Monnier for this
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-14 Po Lu <luangruo@yahoo.com>
Clean up some Haiku toolkit code
@@ -69478,13 +71807,13 @@
of just one.
* src/haiku_support.h: Update prototypes.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1ec4063017 ; * admin/make-tarball.txt: Minor updates.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix extraneous overscroll activation on Haiku
@@ -69495,7 +71824,7 @@
(MouseMoved): Also test `maybe_overscroll' to ensure that a grab
started inside the scroll bar.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Improve cursor-face-highlight-mode a bit more.
@@ -69509,7 +71838,7 @@
redisplay--update-cursor-face-highlight to pre-redisplay-functions with
buffer local flag.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Improve the cursor-face feature.
@@ -69522,18 +71851,18 @@
(redisplay--highlight-overlay-function) : Make the face parameter
optional and add -- in the name.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix tool-bar highlight persisting after mouse moves onto WM frame
* src/xterm.c (handle_one_xevent): Always report MotionNotify
coordinates in terms of the edit widget.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-03-13 Glenn Morris <rgm@gnu.org>
* src/bytecode.c: Include sysstdio.h, for fprint, stderr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Enable overscroll on Haiku horizontal scroll bars
@@ -69542,18 +71871,18 @@
* src/haikuterm.c (haiku_set_horizontal_scroll_bar_thumb):
Enable overscrolling on scroll bar widget.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix scroll bar movement right before overscroll begins on Haiku
* src/haikuterm.c (haiku_set_scroll_bar_thumb): Make sure value
and size are within bounds even if portion adjustment is off.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Make the completion-header-format info more precise.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Simplify unneeded condition.
@@ -69561,65 +71890,65 @@
completion--insert-string already has a condition for when completions
is nil.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Rename hook
* lisp/simple.el (redisplay--update-cursor-property-highlight) : Renamed
to redisplay--update-cursor-property-highlight
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-13 Lars Ingebrigtsen <larsi@gnus.org>
Really fix find-func for defgeneric
* lisp/emacs-lisp/find-func.el (find-function-regexp): Really add
defgeneric.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-13 Lars Ingebrigtsen <larsi@gnus.org>
Make vtable sorting stable
* lisp/emacs-lisp/vtable.el (vtable--sort): Make the sorting
stable.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Extend completion-auto-help 'always and 'visible.
Make them behave the same also with exact but not single completion.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Use the new cursor-face feature to highlight completions.
* lisp/minibuffer.el (completions-highlight-face) : New custom.
(completions-highlight-mode) : Removed
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-13 Paul Eggert <eggert@cs.ucla.edu>
Clang debug notes
* etc/DEBUG: Don’t imply Clang works as well as GCC when
debugging Emacs. Mention a coverage problem with Clang.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-13 Jim Porter <jporterbugs@gmail.com>
Fix evaluation of negated argument predicates in Eshell
* lisp/eshell/em-pred.el (eshell-add-pred-func): Let-bind 'pred' so
the lambdas see the original value (bug#54369).
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Rename completion-header-string to completion-header-format
And use a propertized default value.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-13 Mattias Engdegård <mattiase@acm.org>
* src/bytecode.c (sf_set_ptr): Cast pointer to type of right size.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Add new special text attribute cursor-face
@@ -69632,7 +71961,7 @@
(redisplay--update-cursor-property-highlight) : New function for
pre-redisplay-functions.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-13 Mattias Engdegård <mattiase@acm.org>
Separate bytecode stack
@@ -69667,7 +71996,7 @@
* src/thread.h (struct bc_thread_state): New.
(struct thread_state): Add bytecode thread state.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-13 Mattias Engdegård <mattiase@acm.org>
Simplify exec_byte_code arguments
@@ -69681,17 +72010,17 @@
* src/eval.c (fetch_and_exec_byte_code):
* src/lisp.h (exec_byte_code): Update signature.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-13 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/ange-ftp.el (ange-ftp-ls): Make a loop when sanitizing LSARGS.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Make minibuffer-hide-completions interactive.
Mainly to find a binding for it.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-13 Jimmy Aguilar Mena <spacibba@aol.com>
Add completion-header-string.
@@ -69699,35 +72028,35 @@
completion-header-text-property-list and completion-lazy-count.
(completion-header-string): Substitutes the removed variable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-13 Lars Ingebrigtsen <larsi@gnus.org>
Add cl-defgeneric to find-func, too
* lisp/emacs-lisp/find-func.el (find-function-regexp): Add
cl-defgeneric, too (bug#54343).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Allow overscrolling on Haiku scroll bars that are full
* src/haiku_support.cc (MouseMoved): Allow overscrolling even if
portion is less than 1.0.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix pointer event tracking on top of Haiku scroll bars
* src/haiku_support.cc (MouseDown): Set correct mouse event mask
in case the scroll bar widget decides to not do that.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix splurious button events being generated on Haiku
* src/haiku_support.cc (MouseDown, MouseUp): Don't process if
the grab is not appropriate for the buttons that were pressed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix setting IM spot after key press events
@@ -69735,7 +72064,7 @@
trying to set its status area and set preedit spot location
after KeyPress events.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-13 Mattias Engdegård <mattiase@acm.org>
Fix esh-proc-tests on macOS
@@ -69743,13 +72072,13 @@
Add pattern matching output when killing a process on macOS (and
possibly other BSDs).
-2023-04-15 Visuwesh <visuweshm@gmail.com> (tiny change)
+2022-03-13 Visuwesh <visuweshm@gmail.com> (tiny change)
* quail.el (quail-define-package): Describe VAR form in DOCSTRING better.
Bug#50143
-2023-04-15 Visuwesh <visuweshm@gmail.com> (tiny change)
+2022-03-13 Visuwesh <visuweshm@gmail.com> (tiny change)
Follow contemporary practices in the Tamil input methods
@@ -69771,7 +72100,7 @@
Fixes bug#50143.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Fix small regression for horizontal scroll bars
@@ -69779,7 +72108,7 @@
horizontal scrollbar code, since the change it was intended for
was never made.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Improve overscrolling support on Haiku
@@ -69789,7 +72118,7 @@
(MouseMoved): Get rid of magic numbers by using real max value
instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-13 Po Lu <luangruo@yahoo.com>
Allow dragging scroll bar for overscroll on Haiku
@@ -69809,14 +72138,14 @@
(haiku_read_socket): Take ceiling of bar position if
horizontal.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
e5b191465d ; * admin/authors.el (authors-canonical-file-name): Remove...
6b0fdf73cf ; Fix data structures in authors.el
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
Flocate_file_internal: Protect from `.eln` remapping
@@ -69828,7 +72157,7 @@
* src/lread.c (Flocate_file_internal): Don't map `.elc` to `.eln`.
* lisp/files.el (locate-file): Simplify accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-12 Po Lu <luangruo@yahoo.com>
Improve reliaibility of scroll bar dimensions adjustment on GTK 3
@@ -69840,14 +72169,14 @@
* src/xterm.c (x_scroll_bar_configure): New function.
* src/xterm.h: Update prototypes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-12 Lars Ingebrigtsen <larsi@gnus.org>
Further locate-file fixes on nativecomp
* lisp/files.el (locate-file): Fix up previous locate-file change
-- don't unconditionally return .elc on nativecomp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-12 Lars Ingebrigtsen <larsi@gnus.org>
Disable esh-proc-test/kill-pipeline on EMBA
@@ -69860,14 +72189,14 @@
:form
(string-match-p "\\(?:\\(?:interrupt\\|killed\\)\n\\)" "")
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix EMBA failure for ert-test-record-backtrace
* test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Make
this work with AOT.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-12 Lars Ingebrigtsen <larsi@gnus.org>
Return the same file from locate-file in nativecomp and non
@@ -69875,14 +72204,14 @@
in nativecomp, too, to mimic the behaviour from non-nativecomp
builds (bug#51308).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-12 Lars Ingebrigtsen <larsi@gnus.org>
Make find-function-regexp also find cl-defun/defmethod
* lisp/emacs-lisp/find-func.el (find-function-regexp): Also find
cl-defun and cl-defmethod (bug#54343).
-2023-04-15 Colin Woodbury <colin@fosskers.ca>
+2022-03-12 Colin Woodbury <colin@fosskers.ca>
* lisp/progmodes/python.el: Account for new keywords.
@@ -69890,7 +72219,7 @@
of Python 3.10, Python has structured pattern matching. This adds
two new keywords which need to be highlighted (bug#54345).
-2023-04-15 Alexander Adolf <alexander.adolf@condition-alpha.com>
+2022-03-12 Alexander Adolf <alexander.adolf@condition-alpha.com>
Facilitate Customisation of Message-Mode Header Completion Behaviour
@@ -69898,14 +72227,14 @@
New user option.
(message-completion-alist): Use it here.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-12 Lars Ingebrigtsen <larsi@gnus.org>
Mark tramp-test30-make-process unstable on EMBA
* test/lisp/net/tramp-tests.el (tramp-test30-make-process): This times
out on EMBA.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-12 Mattias Engdegård <mattiase@acm.org>
Remove never-used relative jump opcodes
@@ -69913,7 +72242,7 @@
Remove relative jump opcodes that seem to have been a short-lived
experiment, never used in a release.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-12 Mattias Engdegård <mattiase@acm.org>
Remove debug code for opcodes long gone
@@ -69921,7 +72250,7 @@
Don't display custom messages in debug mode for Bscan_buffer and
Bset_mark which were removed long ago.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-12 Mattias Engdegård <mattiase@acm.org>
Faster bytecode immediate argument fetching
@@ -69937,7 +72266,7 @@
Clang performs this optimisation for both `+` and `|` from version 10.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-12 Mattias Engdegård <mattiase@acm.org>
Maintain end of specpdl instead of size
@@ -69953,7 +72282,7 @@
Replace specpdl_size with specpdl_end, according to the equation
specpdl_end = specpdl + specpdl_size.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-12 Mattias Engdegård <mattiase@acm.org>
Inline record_in_backtrace
@@ -69964,7 +72293,7 @@
* src/lisp.h (grow_specpdl, record_in_backtrace): ... to here,
and declare inline.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-12 Po Lu <luangruo@yahoo.com>
Fix the PGTK build
@@ -69972,7 +72301,7 @@
preventing x_window from being correctly set.
(xg_get_scroll_id_for_window): Ifdef out unused function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-12 Po Lu <luangruo@yahoo.com>
Try really hard to make GTK 3 scroll bars fit
@@ -69991,7 +72320,7 @@
scroll bar and the dimensions are wrong, resize the X window to
the right ones.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2022-03-12 Felicián Németh <felician.nemeth@gmail.com>
Change capability 'documentchanges' to t
@@ -70004,35 +72333,35 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/853
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-12 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
dbe6a3ecf7 Fix regression in 'custom-prompt-customize-unsaved-options'
a9920473f6 Improve documentation of 'map-charset-chars'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-12 Po Lu <luangruo@yahoo.com>
Fix some issues with input methods that depend on button state
* src/xterm.c (handle_one_xevent): Translate button state before
filtering events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Fix horizontal scroll bar updating on Haiku
* src/haikuterm.c (haiku_set_horizontal_scroll_bar_thumb): Just
take portion and position without adjustments.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Use more reasonable default timeouts in Haiku menu loop
* src/haiku_support.cc (BMenu_run): Set default timeout to 10
seconds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Make C-mouse-3 on scroll bars work on Haiku
@@ -70041,7 +72370,7 @@
(MouseDown, MouseUp): Pass button events with ControlMask to
parent view.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Slightly improve scrollbar position accounting on Haiku
@@ -70050,7 +72379,7 @@
* src/haikuterm.c (haiku_set_scroll_bar_thumb): Take ceiling of
value instead of rounding it.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-11 Jimmy Aguilar Mena <spacibba@aol.com>
Add two new options for completions.
@@ -70059,7 +72388,7 @@
Updated NEWS and manual.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-03-11 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Support querying all servers
@@ -70078,7 +72407,7 @@
Document `eudc-expand-try-all'.
* etc/NEWS (EUDC): Describe new 'eudc-expand-try-all' command.
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-03-11 Thomas Fitzsimmons <fitzsim@fitzsim.org>
EUDC: Update save-query-as-kill name and docstring
@@ -70093,7 +72422,7 @@
* etc/NEWS (EUDC): Document `eudc-expansion-overwrites-query'
rename to `eudc-expansion-save-query-as-kill'.
-2023-04-15 Manuel Uberti <manuel.uberti@inventati.org>
+2022-03-11 Manuel Uberti <manuel.uberti@inventati.org>
Use new jdtls script for eclipse jdt
@@ -70106,14 +72435,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/863
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Fix a crash inside Haiku popup menus
* src/haiku_support.cc (BMenu_run): Handle B_WOULD_BLOCK from
wait_for_objects loop.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Fix initial values of scroll bar foreground and background on GTK 3
@@ -70124,7 +72453,7 @@
(x_set_scroll_bar_background):
(x_set_scroll_bar_foreground): Ignore tooltip frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Implement customization of scroll bar colors on GTK 3
@@ -70138,11 +72467,11 @@
* src/xterm.h (struct x_output): New fields for scroll bar
stylesheet providers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
* src/frame.c (scroll_bar_adjust_thumb_portion_p): Adjust doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Improve scroll bar treatment on Haiku
@@ -70153,7 +72482,7 @@
(haiku_set_scroll_bar_thumb): Round values instead of
truncating them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Fix inconsistent thumb position on Haiku scroll bars
@@ -70161,7 +72490,7 @@
scroll_bar_adjust_thumb_portion is nil, directly calculate thumb
portions without setting page_size.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Handle Wayland displays correctly in browse-url
@@ -70169,14 +72498,14 @@
WAYLAND_DISPLAY as the display environment variable on
PGTK. (bug#54333)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-11 Po Lu <luangruo@yahoo.com>
Allow C-mouse-2 to split windows on XInput 2 builds
* src/xterm.c (handle_one_xevent): Use x_scroll_bar_handle_click
if ControlMask is set.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-10 Po Lu <luangruo@yahoo.com>
Fix scroll bar portion on Haiku scroll bars
@@ -70195,14 +72524,14 @@
(haiku_read_socket): Handle new meanings of scroll bar values.
* src/haikuterm.h (struct scroll_bar):
-2023-04-15 Alan Third <alan@idiocy.org>
+2022-03-10 Alan Third <alan@idiocy.org>
Fix NS toolbar identifier (bug#54326)
* src/nsterm.m ([EmacsWindow createToolbar:]): Set the identifier to
something that will always be unique to that frame.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-03-10 Juri Linkov <juri@linkov.net>
Fix new option completions-max-height and new values for completion-auto-help
@@ -70212,19 +72541,19 @@
* lisp/minibuffer.el (completion-auto-help): Explain new values in docstring.
(completions-max-height): Use choice to allow nil.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-10 Jimmy Aguilar Mena <spacibba@aol.com>
Add new mode completions-highlight-mode.
completions-max-height new custom variable.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-03-10 Jimmy Aguilar Mena <spacibba@aol.com>
completion-auto-help new values.
Added also entries to news and manual
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2022-03-10 Augusto Stoffel <arstoffel@gmail.com>
Don't strip invisible text when formatting hover string
@@ -70240,7 +72569,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/865
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-10 Michael Albinus <michael.albinus@gmx.de>
Support remote home directories via connection property
@@ -70252,14 +72581,14 @@
* lisp/net/tramp.el (tramp-handle-expand-file-name): Check for
remote home directory. (Bug#53847)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-10 Po Lu <luangruo@yahoo.com>
Fix display of minibuffer prompts in some circumstances on Haiku
* src/haikuterm.c (haiku_flush): Always flip buffers as long as
buffer flipping is not blocked.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Fix menu bar activation on PGTK
@@ -70271,14 +72600,14 @@
* src/xdisp.c (redisplay_internal): Return if popup_activated
also on PGTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Fix stray button release events being reported on GTK 2
* src/xterm.c (handle_one_xevent): Drop ButtonRelease events
that are destined for a popup menu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Fix menu bar event detection on XI2 builds using Core Input
@@ -70286,21 +72615,21 @@
(xg_event_is_for_menubar): Fix some ifdefs.
* src/xterm.c (handle_one_xevent): Update a comment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix regression in vtable-goto-object
* lisp/emacs-lisp/vtable.el (vtable-goto-object): Fix moving to
the object.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Fix some issues with GTK native input and modifiers on GTK 2
* src/gtkutil.c (xg_widget_key_press_event_cb): Manually ignore
modifier keys on GTK 2.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Make XInput 2 features work on GTK 2 builds
@@ -70312,28 +72641,28 @@
extension events to GTK manually on versions of GTK+ that don't
understand them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Fix GTK widgets not appearing inside child frames
* src/xfns.c (x_set_parent_frame): Disable GTK's own frame
synchronization in child frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Fix error when creating frames on NS with no main window
* nsfns.m (Fx_create_frame): If main window is not present,
center frame window instead of cascading it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-09 Po Lu <luangruo@yahoo.com>
Don't update Haiku menu bar if nothing changed
* haikumenu.c (set_frame_menubar): If Lisp-level contents didn't
change, refrain from actually updating the menu bar.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Fix flicker during frame resize on Haiku
@@ -70341,13 +72670,13 @@
(haiku_set_vertical_scroll_bar): Stop calling flush_frame.
(haiku_flush): Only flip buffer of tooltip frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS build
* sed1v2.inp: Update for recent changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Improve handling of tooltips inside menus on Haiku
@@ -70358,7 +72687,7 @@
Return result of `timer_run'.
* src/haikuterm.c (haiku_flush): Flip buffers if frame is dirty.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-08 Paul Eggert <eggert@cs.ucla.edu>
Decouple mod-test.c from Gnulib
@@ -70399,7 +72728,7 @@
(mod-test-nanoseconds, mod-test-double):
Skip test if the corresponding functione is not defined.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-08 Paul Eggert <eggert@cs.ucla.edu>
Do not include <attribute.h> from <config.h>
@@ -70413,11 +72742,11 @@
* src/conf_post.h: Do not include <attribute.h>.
All uses of attribute.h macros replaced with their _GL_ equivalents.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Add more dead keys.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-08 Lars Ingebrigtsen <larsi@gnus.org>
Mark tramp test unstable on EMBA
@@ -70425,14 +72754,14 @@
(tramp-test44-asynchronous-requests): Mark timed-out EMBA test as
unstable.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-08 Michael Albinus <michael.albinus@gmx.de>
Implement abbreviate-file-name in Tramp for Google drive
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-get-home-directory):
Implement for Google drive.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-08 Jim Porter <jporterbugs@gmail.com>
Support applying indices to more Eshell dollar expansions
@@ -70448,7 +72777,7 @@
(esh-var-test/quoted-interp-lisp-indices)
(esh-var-test/quoted-interp-cmd-indices): New tests.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-08 Jim Porter <jporterbugs@gmail.com>
Improve wording of Eshell variable interpolation code/documentation
@@ -70466,34 +72795,34 @@
* doc/misc/eshell.texi (Dollars Expansion): Improve wording of
subscript notation.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-08 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
d184773 Avoid assertion violations in 'bidi_resolve_brackets'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Handle XI focus change events that specify implicit focus correctly
* src/xterm.c (x_detect_focus_change): If detail is
XINotifyPointer, set focus type to implicit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Fix detection of modifier keys on XInput 2
* src/xterm.c (handle_one_xevent): Fix iteration over sets of
modifiers.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-08 Michael Albinus <michael.albinus@gmx.de>
Handle bug#54294 in Tramp
* lisp/net/tramp.el (tramp-handle-file-locked-p, tramp-handle-lock-file):
Use `tramp-system-name'. (Bug#54294)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Fix more uses of opaque Visual structure
@@ -70507,7 +72836,7 @@
* src/xterm.h (x_mutable_colormap): Stop using private fields of
Visual.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-08 Po Lu <luangruo@yahoo.com>
Return actual color cell count in x-display-color-cells
@@ -70515,14 +72844,14 @@
of color cells, or the amount of individual combinations of
components.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-08 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
80736aef90 Fix which-func-update doc string
d9e5ae5e20 Improve wording of 'dired-jump's description
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-07 Stefan Monnier <monnier@iro.umontreal.ca>
(cl-macro-list): Simplify by unifying the variants
@@ -70532,32 +72861,32 @@
(cl-destructuring-bind, cl-define-compiler-macro): Use `cl-macro-list`
instead, now that it covers all the cases we need.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Avoid color leaks while better ensuring a close color is found
* src/xterm.c (x_alloc_nearest_color_1): Verify nearest can be
allocated, and use that color value.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Fix choice of visuals for XPM icon
* src/xterm.c (x_bitmap_icon): Allow using XPM icon on
StaticColor and StaticGray as well.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-07 Lars Ingebrigtsen <larsi@gnus.org>
Remove lock file in --no-build-details, too
* src/filelock.c (current_lock_owner): Make file writes work when
using --no-build-details (bug#54294).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-07 Lars Ingebrigtsen <larsi@gnus.org>
Mark ert-test-run-tests-batch-expensive unstable on EMBA
-2023-04-15 Kjartan Oli Agustsson <kjartanoli@outlook.com> (tiny change)
+2022-03-07 Kjartan Oli Agustsson <kjartanoli@outlook.com> (tiny change)
Add user stylesheet option for doc-view EPUB support
@@ -70566,11 +72895,11 @@
* lisp/doc-view.el (doc-view-mutool-user-stylesheet): New user option.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-07 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/seq.el (seq-concatenate): Accept non-`sequencep` sequences
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Correctly handle exposure in oldXMenu
@@ -70584,7 +72913,7 @@
* src/xterm.c (x_dispatch_event): Make `static' only on GTK.
* src/xterm.h: Expose `x_dispatch_event' on no-toolkit builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Improve color handling on colormapped displays
@@ -70599,14 +72928,14 @@
* src/xterm.h (struct x_display_info, FRAME_X_VISUAL_INFO): Stop
accessing private fields of Visual.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Handle color allocation failures caused by colormap changes
* src/xterm.c (x_alloc_nearest_color_1): Recompute color cells
if allocation of cached value failed.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-03-07 Michael Albinus <michael.albinus@gmx.de>
Rework `abbreviate-file-name' in Tramp
@@ -70653,14 +72982,14 @@
(tramp-test07-abbreviate-file-name):
(tramp--test-ange-ftp-p): Adapt tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Fix color leak
* src/xterm.c (x_alloc_nearest_color_1): Don't allocate colors
multiple times when searching for a closest match.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-07 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -70668,7 +72997,7 @@
9b74e84857 Restore documented Emacs 27.2 behaviour of browse-url-of-d...
cd77fd3b85 Update to Org 9.5.2-24-g668205
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2022-03-07 Manuel Giraud <manuel@ledu-giraud.fr>
Fix bookmark-bmenu-list sorting.
@@ -70678,41 +73007,41 @@
Also, make the default order of bookmark-bmenu-list be the LIFO order
defined in `bookmark-sort-flag's documentation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-07 Po Lu <luangruo@yahoo.com>
Fix maximum selection size reporting
* src/xselect.c (selection_quantum): Take into account extended
request size.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous browse-url-file-url change
* lisp/net/browse-url.el (browse-url-file-url): Fix typo in
previous change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix esh-proc-test/kill-pipeline-head loop syntax
* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/kill-pipeline-head): Fix syntax of loop.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Inhibit extpipe tests on EMBA, because they apparently time out?
https://emba.gnu.org/emacs/emacs/-/pipelines/16387
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-06 Po Lu <luangruo@yahoo.com>
Fix clearing of scroll bars on builds with disabled double buffers
* src/xterm.c (x_scroll_bar_clear): Use XClearArea if the scroll
bar is not double-buffered.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how bibtex-mark-entry places point
@@ -70720,7 +73049,7 @@
behave like in other modes (with point at the beginning of the
region) (bug#4717).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Show SVN status on "." directories, too
@@ -70728,7 +73057,7 @@
state of the "." directory, too, since they may have modified
properties (bug#7861).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix `W' in Dired with non-ASCII file names
@@ -70739,7 +73068,7 @@
(browse-url-emacs): Make `W' in Dired work with non-ASCII file
names (bug#54271).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-06 Po Lu <luangruo@yahoo.com>
Get rid of a loop through all frames when processing events
@@ -70748,7 +73077,7 @@
(flush_dirty_back_buffer_on): New function.
(flush_dirty_back_buffers): Delete function.
-2023-04-15 Gustaf Waldemarson <gustaf.waldemarson@gmail.com>
+2022-03-06 Gustaf Waldemarson <gustaf.waldemarson@gmail.com>
Display complex data types in gdb-mi
@@ -70777,20 +73106,20 @@
Patch amended by William Xu <william.xwl@gmail.com>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix syntax error in obsolete message function
* lisp/gnus/message.el (message-send-mail-function): Fix syntax error.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix url-interactive-p type
* lisp/url/url-vars.el (url-interactive-pw): Fix typo in previous
checkin (bug#54275).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix problem with fetching images via Cloudflare
@@ -70806,7 +73135,7 @@
* lisp/url/url-vars.el (url-interactive-p): New utility function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-06 Stefan Monnier <monnier@iro.umontreal.ca>
(ecomplete-add-item): Preserve the more complete text
@@ -70814,7 +73143,7 @@
* lisp/ecomplete.el (ecomplete-add-item): Keep the longest text
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-03-06 Alan Mackenzie <acm@muc.de>
Restore call to byte-run-strip-symbol-positions in byte-compile-out
@@ -70826,7 +73155,7 @@
* lisp/emacs-lisp/bytecomp.el (byte-compile-out): call
byte-run-strip-symbol-positions on operands which are one-element lists.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-03-06 Mattias Engdegård <mattiase@acm.org>
Don't accept whitespace or hex floats in rgbi: colour specs
@@ -70840,7 +73169,7 @@
* test/src/xfaces-tests.el
(xfaces-internal-color-values-from-color-spec): Add test cases.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-06 Po Lu <luangruo@yahoo.com>
Respect inhibit-double-buffering on non-toolkit scroll bars
@@ -70850,7 +73179,7 @@
* src/xterm.c (x_scroll_bar_create): Don't initialize back
buffer if double buffering is disabled for the frame.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2022-03-06 João Távora <joaotavora@gmail.com>
Have a couple of lsp faces inherit from basic "shadow"
@@ -70859,14 +73188,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/858
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-06 Po Lu <luangruo@yahoo.com>
Slightly fix mouse-highlight processing on Haiku
* src/haikuterm.c (haiku_read_socket): If no corresponding frame
was found for a keyboard event, clear mouse highlight.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-06 Po Lu <luangruo@yahoo.com>
Implement frame cascading on Haiku
@@ -70874,21 +73203,21 @@
the focused frame if position is not user or programmer
specified.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-06 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
0090318c61 * lib-src/seccomp-filter.c (main): Use faccessat2 only if ...
3bb01a499b Fix regression in derived-mode-init-mode-variables
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-05 Po Lu <luangruo@yahoo.com>
Implement "window cascading" on NS
* src/nsfns.m (Fx_create_frame): Cascade new frame position if
size hint flags are not USPosition or PPosition.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-05 Po Lu <luangruo@yahoo.com>
Reduce non-toolkit scroll bar flicker
@@ -70902,7 +73231,7 @@
instead when double buffered.
* src/xterm.h (struct scroll_bar): New field `x_drawable'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-05 Po Lu <luangruo@yahoo.com>
Fix reporting of menu bar wheel events on no toolkit builds
@@ -70910,7 +73239,7 @@
on no-toolkit builds.
(x_create_terminal): Always add `toolkit_position_hook'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-03-05 Robert Pluim <rpluim@gmail.com>
Use pselect instead of select in nsterm.m
@@ -70918,7 +73247,7 @@
the single remaining use of select (because we try to avoid using
select directly) (bug#54245).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix emacs-module-test after recent changes
@@ -70926,7 +73255,7 @@
module test (because the module uses functions from gnulib)
(bug#32452).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-05 Po Lu <luangruo@yahoo.com>
Obey decorator-specified width and height of tooltip frames on Haiku
@@ -70938,14 +73267,14 @@
* src/haikuterm.c (haiku_update_size_hints): Ignore tooltip
frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-05 Po Lu <luangruo@yahoo.com>
Garbage Haiku tooltip frames on size change
* haikuterm.c (haiku_read_socket): If tooltip frame dimensions
actually changed, garbage the frame.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-04 Paul Eggert <eggert@cs.ucla.edu>
Fix process-attributes time precision on BSD
@@ -70960,7 +73289,7 @@
problems where timestamps promised more precision than was
actually available.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-04 Paul Eggert <eggert@cs.ucla.edu>
Fix process-attributes time precision on GNU/Linux
@@ -70977,7 +73306,7 @@
available (e.g., sysconf fails) do not place it into the alist.
* src/timefns.c (float_time): Now extern.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-04 Paul Eggert <eggert@cs.ucla.edu>
%CPU can exceed 100 on GNU/Linux
@@ -70985,28 +73314,28 @@
CPU usage can exceed 100% on a multicore platform when Emacs is
not entirely single-threaded.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-04 Paul Eggert <eggert@cs.ucla.edu>
Avoid unnecessary make_float in time arithmetic
* src/timefns.c (float_time): New function.
(time_arith, Ffloat_time): Use it.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-04 Paul Eggert <eggert@cs.ucla.edu>
Fix FreeBSD typo in process-attributes cstime
* src/sysdep.c (system_process_attributes) [__FreeBSD__]:
Fix typo that caused cstime to always equal cutime.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Flush default GC before using it in functions that accept a GContext
* src/xterm.c (x_scroll_run): Flush normal_gc, since some of the
following code depends on it being up-to-date.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Remove render code in x_scroll_run and drop NoExpose events instead
@@ -71015,7 +73344,7 @@
(handle_one_xevent): Drop NoExpose events to placate some code
in Athena widgets.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-03-04 Dmitry Gutov <dgutov@yandex.ru>
project-shell: Ensure the resulting buffer is live
@@ -71023,14 +73352,14 @@
Make sure to recreate the shell if the buffer exists but not live
(https://lists.gnu.org/archive/html/emacs-devel/2022-03/msg00017.html).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Prevent some NoExpose events from being generated
* src/xterm.c (x_scroll_run): Use the rendering extension if
available to avoid NoExpose events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Implement `pre_activate' callbacks for Motif menus
@@ -71038,13 +73367,13 @@
xm_pop_up_callback as the popup callback.
(xm_pop_up_callback): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS build
* msdos/sedlibmk.inp: Update for gnulib merge.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
trace.el: Preserve the line structure
@@ -71055,7 +73384,7 @@
* lisp/emacs-lisp/trace.el (trace-entry-message)
(trace-exit-message, trace--read-args): Quote newlines
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-04 Lars Ingebrigtsen <larsi@gnus.org>
Avoid statting directories on startup for Info
@@ -71071,7 +73400,7 @@
(Info-default-dirs): Append value of Info-default-directory-list
to the value returned from Info--default-directory-list.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-04 Lars Ingebrigtsen <larsi@gnus.org>
Improve scroll-bar-mode/default-frame-alist interaction docs
@@ -71081,7 +73410,7 @@
* src/frame.c (syms_of_frame): Clarify further that setting this
variable may have unintended consequences.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-04 Lars Ingebrigtsen <larsi@gnus.org>
Add some sleeps to gnutls_try_handshake
@@ -71099,7 +73428,7 @@
* src/gnutls.c (gnutls_try_handshake): Add some sleeping to the
busy-wait loop so that we don't use 100% CPU here (bug#32452).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Add a few warnings about special event structures on X
@@ -71107,14 +73436,14 @@
(x_note_mouse_movement): Add comments explaining the nature of
some special event structures.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Fix some errors in stretch glyphs code on PGTK
* src/pgtkterm.c (x_draw_stretch_glyph_string): Remove
unnecessary code. Reported by Eli Zaretskii <eliz@gnu.org>.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-03-04 Eli Zaretskii <eliz@gnu.org>
Fix wording and punctuation in recent Gnus documentation changes
@@ -71124,14 +73453,14 @@
* doc/misc/gnus.texi (Creating Search Groups): Fix space between
sentences.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Initialize time inside motion and button events converted from XI events
* src/xterm.c (handle_one_xevent): Make sure time is initialized
in artificial events passed to functions that use it.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-03-04 Andrew G Cohen <cohen@andy.bu.edu>
Turn expiry on for nnselect groups
@@ -71146,14 +73475,14 @@
* doc/misc/gnus.texi (Creating Search Groups): Document
nnselect-allow-ephemeral-expiry.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-04 Po Lu <luangruo@yahoo.com>
Correctly process legacy XI wheel events on top of scroll bars
* src/xterm.c (handle_one_xevent): Handle XI button events
generated by scroll wheels on top of scroll bars.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-03 Po Lu <luangruo@yahoo.com>
Pass core scroll wheel events outside the edit widget to Emacs on GTK
@@ -71162,25 +73491,25 @@
(handle_one_xevent): Treat core scroll wheel events specially,
if mouse_or_wdesc_frame did not find the frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-03 Po Lu <luangruo@yahoo.com>
Fix display of stretch glyphs when hscrolled on PGTK
* pgtkterm.c (x_draw_stretch_glyph_string): Use correct box
dimensions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-03 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_draw_fringe_bitmap): Synchronize logic with X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-03 Po Lu <luangruo@yahoo.com>
Synchronize NS fringe bitmap code with X
* nsterm.m (ns_draw_fringe_bitmap): Redefine bitmap if it does
not already exist.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-03 Po Lu <luangruo@yahoo.com>
Synchronize Haiku fringe bitmap code with X
@@ -71188,7 +73517,7 @@
(haiku_define_fringe_bitmap):
(haiku_destroy_fringe_bitmap): Synchronize logic with X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-03 Po Lu <luangruo@yahoo.com>
Merge from origin/emacs-28
@@ -71196,7 +73525,7 @@
92e2d19fe7 One more fix of the BPA implementation
cd51d9c7ab Fix handling of brackets in BPA
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-03-03 Philipp Stephani <phst@google.com>
Teach Edebug about the special '&whole' syntax for compiler macros.
@@ -71207,14 +73536,14 @@
* test/lisp/emacs-lisp/cl-macs-tests.el
(cl-define-compiler-macro/edebug): New unit test.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-03-03 Stefan Monnier <monnier@iro.umontreal.ca>
(with-demoted-errors): Fix bug#54225
* lisp/subr.el (with-demoted-errors): Adjust to argument order of
`macroexp-warn-and-return` changed in f262a6af3694b41828ff.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-03-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix clobbering of match data in executable-set-magic
@@ -71222,7 +73551,7 @@
buffers may clobber match data, so save the match data first
(bug#54218).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-03 Jim Porter <jporterbugs@gmail.com>
Allow splitting strings in Eshell expansions with "plain" strings
@@ -71238,7 +73567,7 @@
* doc/misc/eshell.texi (Dollars expansion): Update documentation.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-03 Jim Porter <jporterbugs@gmail.com>
Fix parsing of indices in Eshell expansions
@@ -71272,7 +73601,7 @@
* doc/misc/eshell.texi (Dollars Expansion): Expand and reword
documentation for indexing and length expansions.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-03 Jim Porter <jporterbugs@gmail.com>
Fix Eshell dollar interpolation inside of double-quotes
@@ -71297,7 +73626,7 @@
(esh-var-test/quoted-interp-lisp, esh-var-test/quoted-interp-cmd)
(esh-var-test/quoted-interp-temp-cmd): New tests.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-03 Jim Porter <jporterbugs@gmail.com>
Add a new macro to simplify parsing temporary Eshell command strings
@@ -71308,7 +73637,7 @@
* lisp/eshell/esh-cmd.el (eshell-with-temp-command): New macro.
(eshell-parse-command): Use it.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-03-03 Jim Porter <jporterbugs@gmail.com>
Move Eshell variable interpolation tests to their own file
@@ -71332,7 +73661,7 @@
(esh-var-test/last-result-var2, esh-var-test/last-arg-var):
... to here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-03 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -71341,7 +73670,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-03-02 Dmitry Gutov <dgutov@yandex.ru>
Cache the backend value together with the project root
@@ -71350,42 +73679,42 @@
(project-root, project-files, project-ignores):
Update to access the new data structure.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
* src/xterm.c: Fix commentary on GTK client side windows.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
Fix Motif build without toolkit scroll bars
* src/xterm.c: Always include Xm.h on Motif.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-03-02 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el: Bump the version.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
Don't calculate any frame for extension events
* src/xterm.c (handle_one_xevent): If event is not a core event,
don't try to calculate any from event.xany.window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
Implement `toolkit_position_hook' on PGTK
* src/pgtkterm.c (pgtk_toolkit_position): New function.
(pgtk_create_terminal): Set it as the toolkit position hook.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
Fix menu bar position reporting on Haiku as well
* src/haikuterm.c (haiku_toolkit_position): New function.
(haiku_create_terminal): Register new hook.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
Fix reporting of imaginary key prefixes on toolkit tool and menu bars
@@ -71396,7 +73725,7 @@
* src/xterm.c (x_toolkit_position): New function.
(x_create_terminal): Register hook.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-03-02 Brian Leung <bkleung89@gmail.com>
João Távora <joaotavora@gmail.com>
Prevent empty diagnostic tags vector hiding main fontification
@@ -71411,7 +73740,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/851
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -71419,46 +73748,46 @@
2c3d1b6bf4 Improve/correct documentation about Eshell variable expansion
9e257aecc9 Partially revert b03f74e0f2a578b1580e8b1c368665850ee7f808
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-02 Po Lu <luangruo@yahoo.com>
Fix some bugs with multiple terminals on Haiku
* src/haikuterm.c (haiku_mouse_position): Only clear
`mouse_moved' for Haiku frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Fix persistent help text on disabled menu items
* oldXMenu/Activate.c (XMenuActivate): Always deactivate help
echo upon leaving a menu item.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
* src/msdos.c (dos_rawgetc): Handle tab bar clicks correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Dismiss help text when item becomes unactivated on oldXMenu
* oldXMenu/Activate.c (XMenuActivate): Dismiss help text when
leaving an item.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Fix odd scrolling bugs on LessTif
* src/xterm.c (handle_one_xevent): Give emulated button events
to Motif.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Improve behavior of Motif popup menus on XI2
* src/xmenu.c (create_and_show_popup_menu): Set input focus to
menu window.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-03-01 Paul Eggert <eggert@cs.ucla.edu>
Revert previous merge-gnulib change
@@ -71466,14 +73795,14 @@
It shouldn’t be needed now that Gnulib has the change
2022-03-01T18:01:59Z!eggert@cs.ucla.edu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Add PropertyChangeMask to the standard event set
* src/xfns.c (x_window): Remove special Motif code.
* src/xterm.h (STANDARD_EVENT_SET): Add PropertyChangeMask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Fix crashes and other bugs on LessTif
@@ -71482,7 +73811,7 @@
* src/xfns.c (x_window): Add PropertyChangeMask which LessTif
doesn't do itself.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Fix reporting of wheel events on top of GTK scroll bars
@@ -71495,11 +73824,11 @@
* src/xterm.c (handle_one_xevent): Drop all valuator change
events destined for scroll bars.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
* src/xwidget.h: Fix build with XI 2.4.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Make precision scrolling on top of the tool bar work
@@ -71510,7 +73839,7 @@
(pixel-scroll-start-momentum): If window is a frame, use its
selected window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Avoid duplicate wheel and button events on non-toolkit scroll bars
@@ -71519,7 +73848,7 @@
(handle_one_xevent): Move some ifdefs around and handle input
extension button events on scroll bars.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Fix old X menu on builds with XI2
@@ -71532,7 +73861,7 @@
function.
(x_menu_show): Set translate function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Disable some code that interferes with menus on Lucid
@@ -71540,13 +73869,13 @@
(server_timestamp_predicate): Disable timestamp code on builds
using the Lucid menu bar widget.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-01 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
6dbc3da205 Fix :tag for eol in tab-first-completion
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-03-01 Po Lu <luangruo@yahoo.com>
Fix C-g inside toolkit file dialogs with XI2
@@ -71555,7 +73884,7 @@
* src/xmenu.c (x_menu_wait_for_event): If data is non-nil, use
XPending.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-03-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -71563,7 +73892,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-02-28 02:58:30 UTC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
Intern server time property during terminal initialization
@@ -71573,7 +73902,7 @@
* src/xterm.h (struct x_display_info): New field
`Xatom_EMACS_SERVER_TIME_PROP'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
Fix Motif menu help text in submenus
@@ -71584,18 +73913,18 @@
(do_call): Pass instance to arm callback and use wv as user data
instead of call data.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
* src/xterm.c: Explain frame resize synchronization.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-28 Paul Eggert <eggert@cs.ucla.edu>
Work around merge-gnulib glitch from fresh checkout
* admin/merge-gnulib: In a fresh checkout, run gnulib-tool
twice, instead of merely running autogen.sh twice.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
ecomplete: Try and avoid losing data
@@ -71603,39 +73932,39 @@
setup, so we don't risk overwriting it with a (mostly) empty one.
(ecomplete-save): Don't save an empty database.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
Clean up input extension event handling code
* src/xterm.c (handle_one_xevent): Fix usages of event
structures of the wrong type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Add some missing dead keys.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-28 Mattias Engdegård <mattiase@acm.org>
Clean up byte-compile-arglist-warn
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Remove unnecessary sort (only need min and max). Reduce mutation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-28 Lars Ingebrigtsen <larsi@gnus.org>
Fix :color specification in flat-button boxes
* src/xfaces.c (realize_gui_face): Allow reliably specifying
:color in flat-button boxes (bug#54196).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-28 Lars Ingebrigtsen <larsi@gnus.org>
Don't throw errors while propertizing in sgml-mode
* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize): Don't
throw an error when propertizing (bug#54195).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
Better fix for bug#13476
@@ -71645,7 +73974,7 @@
default colors are used for toolkit scroll bars, instead of
black and white.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-28 Po Lu <luangruo@yahoo.com>
Improve treatment of toolkit scroll bars with the input extension
@@ -71654,7 +73983,7 @@
(handle_one_xevent): Make sure coordinates are correct for the
frame's window when handling wheel events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -71662,14 +73991,14 @@
9bce4b67f1 ; * lisp/help.el (with-help-window): Doc fix. (Bug#54170)
558b03a958 Add explicit '--no-heading' for ripgrep
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-27 Po Lu <luangruo@yahoo.com>
Don't save menu bar events that land on the menu bar itself
* src/xterm.c (handle_one_xevent): Ignore menu bar events which
land on the menu bar itself instead of a button.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-27 Po Lu <luangruo@yahoo.com>
Treat scroll bar information consistently on Haiku
@@ -71677,7 +74006,7 @@
(EmacsScrollBar): Obtain scroll bar info on initialization.
(ButtonRegionFor): Use that information instead.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-27 Lars Ingebrigtsen <larsi@gnus.org>
Merge from gnulib
@@ -71686,18 +74015,18 @@
* lib/cdefs.h: Updated with admin/merge-gnulib. (This is in
preparation to adding the nanosleep module later.)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-27 Po Lu <luangruo@yahoo.com>
Don't send help-echo on menu button arming not caused by motion events
* lwlib/lwlib-Xm.c (xm_arm_callback): Ignore arming if the arm
was not caused by an EnterNotify or MotionNotify event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-27 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Translate motion events on Motif.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-27 Po Lu <luangruo@yahoo.com>
Work around some problems with Motif and the input extension
@@ -71705,25 +74034,25 @@
to the frame's outer window if there was an input extension
grab.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-27 Po Lu <luangruo@yahoo.com>
Translate some more input extension events needed by Motif
* src/xterm.c (handle_one_xevent): Translate XI_Enter and
XI_Leave events when built with Motif.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
a50f8dec09 Follow OpenSSH changes in Tramp
e86eae21a9 Document better how to reset attributes of faces for new f...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
* commands.texi (Misc Events): Update description of wheel events.
-2023-04-15 Manuel Uberti <manuel.uberti@inventati.org>
+2022-02-26 Manuel Uberti <manuel.uberti@inventati.org>
Add project-ignore-buffer-conditions
@@ -71732,11 +74061,11 @@
(project--read-project-buffer):
Use it (bug#54100).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Fix translation of button events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
Fix Motif menu and menu bar dismissal on XI2
@@ -71749,14 +74078,14 @@
* src/xterm.c (handle_one_xevent): Translate XI_ButtonRelease
events into core events before dispatching them to Xt.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
Ignore irrelevant button events on Haiku scroll bars
* src/haiku_support.cc (MouseDown): Ignore if there are too many
buttons pressed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
Prevent crashes on event for removed scroll bar on Haiku
@@ -71773,14 +74102,14 @@
(haiku_read_socket): Adjust for changes in scroll bar event
structures.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
Fix reporting of horizontal scroll bar buttons on Haiku
* haikuterm.c (haiku_read_socket): Use correct values for scroll
bar buttons when the scroll bar is horizontal.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-26 Po Lu <luangruo@yahoo.com>
Improve scroll bar button handling on Haiku
@@ -71802,17 +74131,17 @@
* src/haikuterm.c (haiku_read_socket): Handle
SCROLL_BAR_PART_EVENTs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-26 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
ded89ed3fa * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): ...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-25 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Set user time for xwidgets as well.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-02-25 Dmitry Gutov <dgutov@yandex.ru>
Drop the visited file modtime check for remote xref hits
@@ -71820,14 +74149,14 @@
(xref--convert-hits, xref--collect-matches)
(xref--find-file-buffer): Use it (bug#54025).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-25 Paul Eggert <eggert@cs.ucla.edu>
Robustify merge-gnulib a bit
* admin/merge-gnulib: Fail if autogen.sh fails.
Remove autom4te.cache before running gnulib-tool.
-2023-04-15 Bob Rogers <rogers@rgrjr.com>
+2022-02-25 Bob Rogers <rogers@rgrjr.com>
Add new file ietf-drums-date.el
@@ -71838,7 +74167,7 @@
* lisp/mail/ietf-drums.el (ietf-drums-parse-date): Use
ietf-drums-parse-date-string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-25 Po Lu <luangruo@yahoo.com>
Improve treatment of dropping mouse track state on Haiku
@@ -71846,7 +74175,7 @@
(haiku_read_socket): Use it to find the appropriate frame when
handling motion or button events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-25 Po Lu <luangruo@yahoo.com>
Improve tracking of modified regions on Haiku
@@ -71876,14 +74205,14 @@
(haiku_clear_under_internal_border): Mark appropriate region as
invalid before buffer flip.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-25 Po Lu <luangruo@yahoo.com>
Fix calculation of scroll deltas when coalescing wheel events
* src/xterm.c (handle_one_xevent): Use accumulated values
instead of raw delta to determine scroll amounts.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-25 Po Lu <luangruo@yahoo.com>
Make interpolated scrolling work above non-selected windows
@@ -71892,20 +74221,20 @@
(pixel-scroll-precision): Pass originally selected window to the
interpolation function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-25 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
5c77aed2d6 Mention flyspell-prog-mode in flyspell-mode doc string
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-24 Jim Porter <jporterbugs@gmail.com>
Fix Eshell process tests to (hopefully) work on all platforms
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline):
Fix test (bug#54136).
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-02-24 Dmitry Gutov <dgutov@yandex.ru>
xref--find-file-buffer: Check modified-p and modtime
@@ -71913,21 +74242,21 @@
Check whether the buffer contents match what's on disk
(bug#54025).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-24 Po Lu <luangruo@yahoo.com>
Set user time when receiving any wheel events
* src/xterm.c (handle_one_xevent): Set user time if the mouse
wheel moved.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-24 Eli Zaretskii <eliz@gnu.org>
Fix esh-proc-tests on MS-Windows
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline)
(esh-proc-test/kill-background-process): Fix tests on MS-Windows.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-24 Eli Zaretskii <eliz@gnu.org>
Make 't' in Buffer-menu be more defensive
@@ -71935,11 +74264,11 @@
the buffer holds a tags-table file before using it as such.
(Bug#54133)
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-24 Paul Eggert <eggert@cs.ucla.edu>
* admin/merge-gnulib: fix bare checkout (Bug#32452#65)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-02-24 Alan Mackenzie <acm@muc.de>
Amend byte-run-strip-symbol-positions so that an unexec build builds
@@ -71956,7 +74285,7 @@
"stripping" of putative symbol positions from OPERAND, which is nil or a
number.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-24 Michael Albinus <michael.albinus@gmx.de>
Fix symlinks in tramp-sshfs.el (Bug#54130)
@@ -71969,7 +74298,7 @@
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test20-file-modes): Adapt tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-24 Po Lu <luangruo@yahoo.com>
Check if WM support for NET_WM_USER_TIME_WINDOW changed during updates
@@ -71979,7 +74308,7 @@
* src/xterm.h (struct x_display_info): New field
`last_user_check_time'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-24 Jim Porter <jporterbugs@gmail.com>
Don't superfluously emit prompts when terminating processes in Eshell
@@ -71992,20 +74321,20 @@
(esh-proc-test/kill-pipeline-head)
(esh-proc-test/kill-background-process): New tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-24 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
5942504391 Reword face-remap-add-relative manual entry
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Set border colors through the toolkit
* src/xfns.c (x_set_border_pixel): Set colors through Xt to
avoid some problems.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Fix auto-lower when the mouse moves onto a scrollbar on Haiku
@@ -72015,7 +74344,7 @@
* src/haikuterm.c (haiku_read_socket): Don't auto-lower if the
pointer left the view for a scroll bar.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Add support for _NET_WM_STATE_SHADED
@@ -72036,7 +74365,7 @@
(x_term_init): Intern new atom `shaded'.
* src/xterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Condition out things specific to some versions of the input extension
@@ -72049,21 +74378,21 @@
(struct xi_device_t): Make individual fields conditional on the
appropriate client-side input extension version.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Fix the MS-DOS port
* msdos/sedlibmk.inp:
* src/conf_post.h [MSDOS]: Update for recent gnulib.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-23 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -Wanalyzer-null-dereference
* src/xdisp.c (normal_char_ascent_descent): Pacify GCC 11.2.1
20220127 (Red Hat 11.2.1-9) x86-64 -Wanalyzer-null-dereference.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-02-23 Mauro Aranda <maurooaranda@gmail.com>
Fix auth-sources defcustom
@@ -72071,25 +74400,25 @@
in a plist, so inline both :host and :port. Also, give a valid
default value for the choice (bug#54127).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-23 Paul Eggert <eggert@cs.ucla.edu>
Port pre-commit hook to Git 2.35.0
* build-aux/git-hooks/pre-commit: Use LC_ALL=C grep -E instead of
sane_egrep (removed in Git 2.35.0).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-23 Paul Eggert <eggert@cs.ucla.edu>
Port to current Gnulib some more
* admin/merge-gnulib: Remove lib/stdio-read.c and lib/stdio-write.c,
as Emacs doesn’t need these new Gnulib files.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-23 Paul Eggert <eggert@cs.ucla.edu>
Update from Gnulib by running admin/merge-gnulib
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-02-23 Paul Eggert <eggert@cs.ucla.edu>
Port to current Gnulib
@@ -72097,7 +74426,7 @@
normally assumes Automake and now uses this Automake macro.
Problem reported by Lars Ingebrigtsen (Bug#32452#47).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-23 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Create new unique windows with 'C-x t n' (bug#54038).
@@ -72112,14 +74441,14 @@
(tab-bar-duplicate-tab): Replace the value 'nil' with 'clone' for
'tab-bar-new-tab-choice'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Expand commentary in xterm.c
* src/xterm.c: Expand commentary to include sections on optional
features and toolkit support.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-02-23 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to version 2.2.0
@@ -72157,7 +74486,7 @@
For a detailed change log, read:
<https://protesilaos.com/codelog/2022-02-23-modus-themes-2-2-0/>.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-23 Jim Porter <jporterbugs@gmail.com>
Ignore 'eshell-broken-pipe' error in 'eshell-sentinel'
@@ -72167,25 +74496,25 @@
* lisp/eshell/esh-proc.el (eshell-sentinel): Use 'ignore-error'
instead of 'unwind-protect'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-23 Lars Ingebrigtsen <larsi@gnus.org>
Make face-remap-set-base work with a single face again
* lisp/face-remap.el (face-remap-set-base): Fix regression
introduced by cece37cf09de9 (bug#46973).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_term_init): Catch some errors from defective X servers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Improve input extension version checks on GTK 3
* src/xterm.c (x_term_init): If newer versions of XInput 2 don't
work, then look for an older one.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-23 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -72194,14 +74523,14 @@
3b5e29eaa3 tramp.texi texinfo 4.13 compatibility
5edb9572ec Explain "Tramp" spelling in its manual
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-23 Po Lu <luangruo@yahoo.com>
Fix display corruption with background alpha set on unsupported display
* src/xfns.c (x_set_alpha_background): Make opaque if display
doesn't support the required features.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
(add-hook): Fix regression
@@ -72210,11 +74539,11 @@
(remove-hook): Don't modify the depth alist by side-effect since I'm
not completely sure it's safe.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
* src/xterm.c: Expand commentary.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-02-22 Dmitry Gutov <dgutov@yandex.ru>
Unbreak project switcher when inside *xref* buffer
@@ -72223,11 +74552,11 @@
(xref--show-xref-buffer, xref-show-definitions-buffer-at-bottom):
Use it (bug#53626).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_term_init): Don't catch errors too many times.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
Fix X errors caused by GTK using newer versions of XI2 than Emacs
@@ -72235,14 +74564,14 @@
caused by Emacs requesting versions of XI2 older than 2.2 and
what GTK requested.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-22 Lars Ingebrigtsen <larsi@gnus.org>
Enable "Revert Buffer" if file has different writability
* lisp/menu-bar.el (menu-bar-file-menu): Enable "Revert Buffer" if
the file has different writability than the buffer (bug#17148).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
(add-hook, remove-hook): Fix leaks (bug#48666)
@@ -72250,7 +74579,7 @@
management so we only keep the info relevant to functions present on
the hook.
-2023-04-15 Andrea Rossetti <andrea.rossetti@gmail.com> (tiny change)
+2022-02-22 Andrea Rossetti <andrea.rossetti@gmail.com> (tiny change)
Improve ruler-mode dragging
@@ -72261,21 +74590,21 @@
* lisp/ruler-mode.el (ruler-mode-window-col): Fix dragging when
stepping outside the header line (bug#17788).
-2023-04-15 Jeff Norden <jeff@jnorden.com> (tiny change)
+2022-02-22 Jeff Norden <jeff@jnorden.com> (tiny change)
Make outline-blank-line into defcustom
* lisp/outline.el (outline-blank-line): Make into defcustom
(bug#54095).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-22 Lars Ingebrigtsen <larsi@gnus.org>
Don't signal an error on re-builder startup with rx syntax
* lisp/emacs-lisp/re-builder.el (reb-initialize-buffer): Make
startup with rx syntax not signal an error (bug#54107).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
Fix build on glibc <2.10
@@ -72283,7 +74612,7 @@
malloc_info.
(syms_of_alloc): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
Fix GTK build with GLib <2.44
@@ -72293,7 +74622,7 @@
* src/gtkutil.c: Remove declaration of EmacsMenuBar class.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
Improve XInput2 version checking
@@ -72309,25 +74638,25 @@
* src/xterm.h (HAVE_XINPUT2_1, HAVE_XINPUT2_2, HAVE_XINPUT2_3)
(HAVE_XINPUT2_4): New definitions.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-22 Michael Albinus <michael.albinus@gmx.de>
* test/lisp/net/tramp-tests.el (tramp--test-check-files): Adapt test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
Fix duplicate wheel events on XI2
* src/xterm.c (handle_one_xevent): Don't generate wheel events
on XI_ButtonPress.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-22 Po Lu <luangruo@yahoo.com>
Always send wheel events on XI2
* src/xterm.c (handle_one_xevent): Send emulated button events
as wheel events when handling XI2 button events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-22 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -72337,7 +74666,7 @@
b7a651ba37 Update to Org 9.5.2-17-gea6b74
3a8c3f7abd ; Don't reference obsolete variables in edebug.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-21 Po Lu <luangruo@yahoo.com>
Improve momentum pixel scrolling on a non-selected window
@@ -72346,21 +74675,21 @@
(pixel-scroll-start-momentum): Don't select the window under
the event when calculating velocity or redisplaying.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-21 Po Lu <luangruo@yahoo.com>
Don't generate multibyte keystroke events if there is no actual text
* src/xterm.c (handle_one_xevent): Don't generate
MULTIBYTE_CHAR_KEYSTROKE_EVENTs if nbytes is zero.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Add links to the vtable manual
* doc/lispref/modes.texi (Tabulated List Mode): Mention vtables.
* lisp/info-look.el (lambda): Link to vtables.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Remove the ELPA dependencies from test/Makefile.in
@@ -72374,32 +74703,32 @@
here, which keeps it contained to one test file. This also fixes
bug#53586, since the obsoletion of `body' came from web-server.el.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-21 Po Lu <luangruo@yahoo.com>
Don't pass invalid keyboard modifiers to the event loop on Haiku
* src/haikuterm.c (haiku_read_socket): Ensure validity of extra
keyboard modifiers.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Recognize mode changes
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/vc/diff-mode.el (diff--font-lock-prettify): bug#54034
Handle Git's output when deleting and creating empty files, as well as
when the diff is not shown because the file is considered as binary.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Improve vtable :keymap handling
* lisp/emacs-lisp/vtable.el (vtable-map, vtable--make-keymap):
Don't alter keymaps passed in, and respect parent keymaps.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-21 Jim Porter <jporterbugs@gmail.com>
Send SIGPIPE to external Eshell processes if their output target closes
@@ -72412,7 +74741,7 @@
* test/lisp/eshell/esh-proc-tests.el: New test.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-21 Jim Porter <jporterbugs@gmail.com>
Ensure 'eshell-output-object' always returns nil for consistency
@@ -72424,7 +74753,7 @@
* lisp/eshell/esh-io.el (eshell-output-object): Always return nil.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-21 Jim Porter <jporterbugs@gmail.com>
Improve docstrings for 'eshell-exec-lisp' and functions that call it
@@ -72433,7 +74762,7 @@
(eshell-funcall, eshell-applyn, eshell-funcalln, eshell-evaln):
Improve docstrings.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-21 Eli Zaretskii <eliz@gnu.org>
Revert "Remove PROBLEMS section on double-buffering"
@@ -72444,7 +74773,7 @@
tell whether any of the versions where that problem happened
are still out in the wild.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Special Isearch slightly
@@ -72453,14 +74782,14 @@
during isearch, but that information is quite a ways away at this
point, so it doesn't hurt to repeat that info.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Remove PROBLEMS section on double-buffering
* etc/PROBLEMS: Remove section on problems with double-buffering,
as apparently it's now no longer an issue (bug#30088).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Make 'ispell-change-dictionary' completion work better
@@ -72471,28 +74800,28 @@
(ispell-valid-dictionary-list): Use it to filter out non-installed
dictionaries.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-21 Lars Ingebrigtsen <larsi@gnus.org>
Make `next-buffer' order reflect command line file order
* lisp/startup.el (command-line-1): Make `next-buffer' order
reflect the command line file order (bug#21505).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-21 Po Lu <luangruo@yahoo.com>
Try to fix bug#54051
* src/xterm.c (handle_one_xevent): Don't give obviously bogus
configure events to Xt.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-21 Po Lu <luangruo@yahoo.com>
Prevent Haiku display from being opened multiple times
* src/haikufns.c (Fx_open_connection): Return if display
connection already exists.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-21 Po Lu <luangruo@yahoo.com>
Prevent GTK from setting unreasonable size hints with large menu bars
@@ -72504,7 +74833,7 @@
(xg_update_menu_item): Use our own menu bar class on GTK 3.
* src/gtkutil.h (EmacsMenuBar): New class.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-20 Po Lu <luangruo@yahoo.com>
Implement left-right separators for dialog boxes on Haiku
@@ -72517,34 +74846,34 @@
was seen and make sure the user can always quit a dialog if no
enabled items exist.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-02-20 Dmitry Gutov <dgutov@yandex.ru>
Bump xref.el version.
* lisp/progmodes/xref.el: Bump version to 1.4.0.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-02-20 Dmitry Gutov <dgutov@yandex.ru>
Public-ize xref-show-xrefs
* lisp/progmodes/xref.el (xref-show-xrefs):
New function (wrapper for an older, private one, bug#42967).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-20 Po Lu <luangruo@yahoo.com>
Respect `extra-keyboard-modifiers' when handling XI2 keyboard input
* src/xterm.c (handle_one_xevent): Add extra modifiers to
XI2 keyboard state.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-02-20 Dmitry Gutov <dgutov@yandex.ru>
Public-ize xref-current-item
* lisp/progmodes/xref.el (xref--current-item):
Rename to 'xref-current-item' (bug#53956). Update all references.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Further fixes for eww-open-url on Tramp files
@@ -72553,24 +74882,24 @@
* lisp/url/url-queue.el (url-queue-start-retrieve): Allow
non-local files here, too.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-20 Juri Linkov <juri@linkov.net>
* lisp/mouse.el (context-menu-entry): Remove help-buffer-under-preparation.
(bug#53910)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix a compilation warning in cus-edit-tests.el
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
(loadhist_initialize): Fix regression test failure
* src/lread.c (loadhist_initialize): Adjust assertion for the nil case.
(readevalloop): Signal an error for non-string `sourcename`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Adjust doc-tests-documentation/autoloaded-macro
@@ -72578,27 +74907,27 @@
(doc-tests-documentation/autoloaded-macro): Adjust test -- rx is
loaded in nativecomp Emacsen when the tests are run, apparently.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Simplify Minibuffer Edit example
* doc/emacs/mini.texi (Minibuffer Edit): Say how to disable SPC
and ? completion (bug#36745).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Add instructions on disabling SPC completion to Minibuffer Edit
* doc/emacs/mini.texi (Minibuffer Edit): Say how to disable SPC
and ? completion (bug#36745).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warning introduced by previous shr.el change
* lisp/net/shr.el (url-file): Fix compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Make eww work better on Tramp HTML
@@ -72611,7 +74940,7 @@
* lisp/url/url-file.el (url-allow-non-local-files): New user option
(bug#40425).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Make `g' work in eww buffers displaying Tramp files
@@ -72619,41 +74948,41 @@
(eww-open-file): From here.
(eww-reload): Make reloading work in Tramp files.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Make string-pixel-width about 40% faster
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Speed up.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-20 Michael Albinus <michael.albinus@gmx.de>
* doc/misc/tramp.texi (Customizing Methods): Add tramp-nspawn.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Quote files that start with - in dired
* lisp/dired-aux.el (dired-shell-stuff-it): Add ./ to file names
that start with - (bug#10458).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-20 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp.el (tramp-read-passwd): Adapt for empty user names.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation warning in previous sendmail.el change
* lisp/mail/sendmail.el (mm-long-lines-p): Fix compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-20 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that `mail-send' breaks too-long lines
* lisp/mail/sendmail.el (mail-send): Ensure that we fold too-long
lines when using `sendmail-user-agent' (bug#53412).
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-02-20 Matthias Meulien <orontee@gmail.com>
Add more bookmark types
@@ -72661,20 +74990,20 @@
* lisp/man.el (Man-bookmark-jump): Mark the bookmark type
(bug#54030).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-20 Po Lu <luangruo@yahoo.com>
Fix font panel on NS
* src/nsterm.m ([EmacsView changeFont:]): Don't use emacs_event,
instead placing events directly into the keyboard buffer.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-20 Po Lu <luangruo@yahoo.com>
* src/haikumenu.c (haiku_dialog_show): Set `popup_activated_p'.
Author:
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-20 Po Lu <luangruo@yahoo.com>
Handle GUI input while inside popup dialog on Haiku
@@ -72688,14 +75017,14 @@
* src/haikuterm.c (haiku_term_init): Set interrupt input mode to
t.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Fix typo in last change
* src/xterm.c (handle_one_xevent): Use `xi_done_keysym' label
when ignoring modifier keys from XI2 input.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Ignore modifier keys early when handling X key press events
@@ -72706,7 +75035,7 @@
* src/xterm.h (struct x_display_info): New field `modmap'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Free XI2 devices in x_delete_display instead
@@ -72715,11 +75044,11 @@
more.
(x_delete_terminal): Stop freeing XI2 device data.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-02-19 Philip Kaludercic <philipk@posteo.net>
Revert "; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for"
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
(specpdl_unrewind): Fix corner case
@@ -72730,7 +75059,7 @@
(default_toplevel_binding, lexbound_p, Fbacktrace__locals): Simplify.
(do_one_unbind, mark_specpdl): Handle SPECPDL_NOP.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
(macroexp-warn-and-return): Fix bug#53618
@@ -72748,7 +75077,7 @@
* lisp/emacs-lisp/byte-run.el (defmacro, defun):
* lisp/emacs-lisp/bindat.el (bindat--type): Adjust accordingly.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
(loadhist_initialize): Minor refactoring
@@ -72757,7 +75086,7 @@
* src/lread.c (loadhist_initialize): New function.
(Fload, readevalloop): Use it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix mishaps
@@ -72768,7 +75097,7 @@
re-font-locked all at once, and to still recognize it after
`diff-reverse-direction`.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-19 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp password prompts for sudo-like methods
@@ -72790,32 +75119,32 @@
(tramp-null-hop): New defconst.
(tramp-get-remote-null-device): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Some vtable.texi copy edits
* doc/misc/vtable.texi (Making A Table): Mention the accessors.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Mention vtable accessor functions
* doc/misc/vtable.texi (Making A Table): Mention the accessors.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Improve the vtable documentation on argument types
* doc/misc/vtable.texi (Making A Table): Say what the argument
types are.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix a vtable example
* doc/misc/vtable.texi (Introduction): Fix example.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-19 Eli Zaretskii <eliz@gnu.org>
Improve vtable documentation
@@ -72828,7 +75157,7 @@
* doc/misc/Makefile.in (INFO_COMMON): Add 'vtable'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Add column sorting order indicators to vtable
@@ -72836,14 +75165,14 @@
(vtable--insert-header-line): Use it to display sorting order
indicators.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Make string-pixel-width slightly speedier
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Speed up
string-pixel-width in the zero-length string case.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Avoid consing extra string when processing GTK native input
@@ -72856,7 +75185,7 @@
* src/termhooks.h (enum event_kind): Document meaning of Qt as
coding system in a multibyte keystroke event's string argument.
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-02-19 Mauro Aranda <maurooaranda@gmail.com>
Fix types of some align.el defcustoms
@@ -72867,7 +75196,7 @@
should be functions, but the default value was t. Change it to
#'always (bug#54048).
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-02-19 Mauro Aranda <maurooaranda@gmail.com>
Fix :match function for the key widget
@@ -72875,7 +75204,7 @@
because the :match function is called with the widget and the value as
arguments (bug#54049).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Fix some more hangs when parenting child frames around on Haiku
@@ -72883,7 +75212,7 @@
(FrameMoved): Don't sync when a recursive lock might be able to
be held.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-19 Lars Ingebrigtsen <larsi@gnus.org>
Add a new library to format variable-pitch tables
@@ -72891,7 +75220,7 @@
* lisp/emacs-lisp/vtable.el: New library.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Improve portability of alpha channel visual detection
@@ -72903,7 +75232,7 @@
* src/xterm.c (x_term_init): Initialize Xrender before
calling select_visual.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-02-19 Alan Mackenzie <acm@muc.de>
Fix symbols with position appearing in the output of `compile-defun'
@@ -72930,7 +75259,7 @@
(sxhash_obj): Add handling for symbols with position, substituting their bare
symbols when symbols with position are enabled.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-19 Eli Zaretskii <eliz@gnu.org>
Fix character compositions on the mode line
@@ -72939,7 +75268,7 @@
determine whether to compose them from that string's multibyteness,
not from that of the current buffer. (Bug#53729)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Don't ignore events from XI2 slave devices anymore
@@ -72951,32 +75280,32 @@
(handle_one_xevent): Don't ignore XI devices that are not master
pointers or keyboards.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-19 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
57c112cfe5 ; * doc/emacs/files.texi (Comparing Files): Fix a reference.
bdeac2d5af ; Fix a typo in filesets.el's doc string
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-19 Po Lu <luangruo@yahoo.com>
Always decode GTK input method text as utf-8-unix
* src/gtkutil.c (xg_im_context_commit): Use `utf-8-unix' as
coding system for text.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
Be less strict about which emulated motion events to ignore
* src/xterm.c (handle_one_xevent): Don't test XI2 version before
dropping PointerEmulated motion events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (haiku_create_frame): Error if font wasn't found.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
Utilize new string decoding feature in GTK native input
@@ -72984,7 +75313,7 @@
manually using g_utf8_to_ucs4 but pass unibyte string as the
keystroke event arg instead.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-02-18 Eric Abrahamsen <eric@ericabrahamsen.net>
Handle multiple directory separators in gnus-search results
@@ -72996,21 +75325,21 @@
the name. Use `file-name-split' and joining instead of regexp
munging.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
Fix background stipple with `alpha_background'
* src/xterm.c (x_fill_rectangle): Fix treatment of foreground
and background colors when there is a stipple.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
Fix a crash on some versions of GTK
* src/emacsgtkfixed.c (XSetWMNormalHints): Fix potential
arithmetic fault.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-18 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -73018,7 +75347,7 @@
9fd396e * lisp/progmodes/subword.el (superword-mode): Doc fix. (Bug#...
e303cb1 Fix indexing of module functions that return complex types.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-18 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -73028,21 +75357,21 @@
38f6ea1 Import texi source file for transient manual
df34929 Update to Org 9.5.2-15-gc5ceb6
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-18 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
# Conflicts:
# lisp/startup.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
Fix blurry text on multiple scale monitor setups
* src/pgtkterm.c (pgtk_copy_bits): Preserve window scale factor
on temporary surface. (bug#54040)
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-02-18 Andrew G Cohen <cohen@andy.bu.edu>
Make sure nnselect search query is properly parsed
@@ -73050,7 +75379,7 @@
should not be interpreted as raw, but whatever the underlying search
engine expects.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-02-18 Andrew G Cohen <cohen@andy.bu.edu>
Fix gnus searching of native servers
@@ -73058,7 +75387,7 @@
(gnus-group-read-ephemeral-search-group): Find the real server even
when the group is native.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-18 Po Lu <luangruo@yahoo.com>
Make treatment of `alpha-background' more consistent
@@ -73066,7 +75395,7 @@
(x_draw_glyph_string_background): Ignore alpha_background on all
cursors.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-02-18 Eric Abrahamsen <eric@ericabrahamsen.net>
Fix gnus-search-run-search methods
@@ -73074,28 +75403,28 @@
implementations were setting the current buffer and then not setting
it back.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Make stipple backgrounds respect `alpha-background'
* src/xterm.c (x_fill_rectangle): Respect `alpha-background'
when drawing stipple.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Fix mis-parsing of certain malformed XBM files
* src/image.c (xbm_scan): Return error on a character literal
that doesn't start with "\x".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Parse XBM images which use character escapes for hex literals
* src/image.c (xbm_scan): Implement parsing of hex escapes in
character literals.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-02-17 Eric Abrahamsen <eric@ericabrahamsen.net>
Fix gnus-search notmuch thread searches
@@ -73105,7 +75434,7 @@
(gnus-search-indexed-search-command): Use list appending rather than
backtick construction, that was more confusing than it was helpful.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-17 Juri Linkov <juri@linkov.net>
* lisp/mouse.el (context-menu-entry): Don't create menu for Help commands.
@@ -73116,14 +75445,14 @@
So `help-buffer-under-preparation' is added to filter out such calls.
(bug#53910)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-17 Eli Zaretskii <eliz@gnu.org>
Resurrect innocent joke in byte-opt.el
* lisp/emacs-lisp/byte-opt.el: Resurrect innocent joke in a
comment.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-17 Eli Zaretskii <eliz@gnu.org>
Fix files-tests on MS-Windows
@@ -73135,7 +75464,7 @@
(files-tests-revert-buffer-with-fine-grain): No need to disable
file locking anymore.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-17 Mattias Engdegård <mattiase@acm.org>
Fix or remove outdated comments
@@ -73145,14 +75474,14 @@
* lisp/emacs-lisp/byte-opt.el: Remove car. Keep pig.
(byte-compile-log-lap-1): Remove obsolete and irrelevant comment.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-17 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/face-remap.el: Fix bug#53294
* lisp/face-remap.el (face-remap--copy-face): New function.
(face-attrs--make-indirect-safe): Use it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-17 Eli Zaretskii <eliz@gnu.org>
Speed up exiting "emacs -Q"
@@ -73161,14 +75490,14 @@
of slowing down "C-x C-c" from "emacs -Q" due to the need to load
seq.el.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Fix crash when displaying XBM images on a 32-bit visual
* src/image.c (Create_Pixmap_From_Bitmap_Data): Fix use of wrong
(default) depth.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Implement XBM images on Haiku
@@ -73176,20 +75505,20 @@
failures on Haiku.
(Create_Pixmap_From_Bitmap_Data): Implement for Haiku.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-17 Lars Ingebrigtsen <larsi@gnus.org>
Add a NEWS entry for the bookmark changes (bug#54030)
* lisp/bookmark.el (bookmark-bmenu-mode): Make the type shorter.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-02-17 Matthias Meulien <orontee@gmail.com>
Don't prefix bookmark name with VC backend name
* lisp/vc/vc-dir.el (vc-dir-bookmark-make-record): Remove prefix from
bookmark name.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-02-17 Matthias Meulien <orontee@gmail.com>
Extend bookmark menu with with handler type column
@@ -73204,7 +75533,7 @@
* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Set bookmark handler type.
* lisp/woman.el (woman-bookmark-jump): Set bookmark handler type.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-02-17 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to version 2.1.0
@@ -73297,7 +75626,7 @@
For a detailed change log, read:
<https://protesilaos.com/codelog/2022-02-17-modus-themes-2-1-0/>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-17 Lars Ingebrigtsen <larsi@gnus.org>
Have setopt check types
@@ -73306,50 +75635,50 @@
Customize saving values, too.
(setopt): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Fix warning during dumping on MS-DOS
* lisp/cus-start.el (standard): Filter out
`process-error-pause-time' on MS-DOS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Prevent menu items leak if x-pre-popup-menu-hook signals
* src/menu.c (x_popup_menu_1): Make sure menu items are
discarded if the pre popup menu hook signals.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-17 Michael Albinus <michael.albinus@gmx.de>
Fix problem with "~" in Tramp
* lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
Remove special handling of "~" in localname. (Bug#53053)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_init_master_valuators): Clear `pending_enter_reset'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-17 Po Lu <luangruo@yahoo.com>
Improve handling of XI2 wheel movement
* src/xterm.c (handle_one_xevent): Process movement in all
directions and send it as a single event.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
Fix SIGFPE on some fonts when calculating their average width on Haiku
* src/haiku_font_support.cc (estimate_font_ascii): Avoid divison
by zero.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
* src/emacsgtkfixed.c (XSetWMSizeHints): Improve fix for bug#8919.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
Don't auto-lower when moving onto a menu bar on Haiku
@@ -73362,14 +75691,14 @@
mouse exits the frame view onto the menu bar and handle
MENU_BAR_LEFT events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
Handle `unspecified' values of symbolic font values on Haiku
* src/haikufont.c (haikufont_spec_or_entity_to_pattern): Handle
`unspecified' values of symbolic values.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-16 Michael Albinus <michael.albinus@gmx.de>
Fix problem with file-modification-time in tramp-sshfs.el
@@ -73388,7 +75717,7 @@
(tramp--test-hpux-p, tramp--test-macos-p): Protect against errors.
(tramp--test-check-files): Discriminate also tramp-sshfs.el.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-02-16 Matthias Meulien <orontee@gmail.com>
Fix computation of outline heading level for non-git diff
@@ -73396,7 +75725,7 @@
using diff-hunk-header-re (bug#51809).
(diff--font-lock-prettify): Disable prettify in non-git diff.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-16 Eli Zaretskii <eliz@gnu.org>
Add support for Tai Tham script
@@ -73411,14 +75740,14 @@
* etc/HELLO: Add Northern Thai greeting.
* etc/NEWS: Announce addition of Northern Thai language environment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
Fix recent change in xwidget.c
* src/xwidget.c (xwidget_init_view): Don't assume ttip_widget
is NULL if tooltips have not been initialized.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-16 Mattias Engdegård <mattiase@acm.org>
Speed up count_size_as_multibyte
@@ -73429,7 +75758,7 @@
outside the loop, which makes it much faster. Standard compilers
will even vectorise it if asked to (-O2 in Clang, -O3 in GCC).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-16 Mattias Engdegård <mattiase@acm.org>
Avoid emacs-module-tests failure on macOS
@@ -73438,7 +75767,7 @@
the macOS dynamic library suffix (.dylib) is longer than on other
platforms.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
Fix frame focus handling with native input
@@ -73447,7 +75776,7 @@
* src/xfns.c (Fx_internal_focus_input_context): Focus all focus
frames from all displays.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-16 Po Lu <luangruo@yahoo.com>
Resolve xwidget scrolling mysteries
@@ -73455,11 +75784,11 @@
(handle_one_xevent): Always increment values array when handling
motion events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-15 Po Lu <luangruo@yahoo.com>
* etc/NEWS: Improve the PGTK entry.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-15 Po Lu <luangruo@yahoo.com>
Decode keyboard input as latin-1 whenever appropriate
@@ -73472,7 +75801,7 @@
* src/xterm.c (handle_one_xevent): Set coding property on text
to latin-1 if it was obtained with XLookupString.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-15 Po Lu <luangruo@yahoo.com>
Don't decode text within XIM callbacks or handle_one_xevent
@@ -73495,7 +75824,7 @@
* src/xterm.c (handle_one_xevent): Utilize new meaning of
MULTIBYTE_CHAR_KEYSTROKE_EVENT.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-15 Michael Albinus <michael.albinus@gmx.de>
Some Tramp cleanup
@@ -73508,33 +75837,33 @@
(tramp-handle-abbreviate-file-name): Use it.
(tramp-read-passwd): Show literal passphrase prompt.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-15 Jim Porter <jporterbugs@gmail.com>
Don't attempt to connect to a remote server during 'abbreviate-file-name'
* lisp/net/tramp.el (tramp-handle-abbreviate-file-name): Only use the
"home-directory" when a connection has been established.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-15 Lars Ingebrigtsen <larsi@gnus.org>
Allow savehist-additional-variables to truncate lists
* lisp/savehist.el (savehist-save): Allow truncating values (bug#30943).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-15 Lars Ingebrigtsen <larsi@gnus.org>
Adjust files-test-file-size-human-readable test
* test/lisp/files-tests.el (files-test-file-size-human-readable):
Fix test after recent change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-15 Lars Ingebrigtsen <larsi@gnus.org>
Make autoarg obsolete
* lisp/obsolete/autoarg.el: Make obsolete.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-15 Po Lu <luangruo@yahoo.com>
Fix parsing of some semibold font styles on Haiku
@@ -73542,14 +75871,14 @@
"Semibold" to mean SemiBold as well. Reported by
augiedoggie <augiedoggie@users.noreply.github.com>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-15 Po Lu <luangruo@yahoo.com>
Disable auto-lowering and raising on Haiku when a popup is active
* src/haikuterm.c (haiku_new_focus_frame):
(haiku_read_socket): Don't raise or lower if popup is activated.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-15 Po Lu <luangruo@yahoo.com>
Replace use of `DefaultRootWindow' with our recorded root window
@@ -73560,17 +75889,17 @@
* src/xterm.c (x_iconify_frame): Use dpyinfo->root_window
instead of DefaultRootWindow.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
Improve the help message for the pgtk configure option
* configure.ac: Describe the purpose of PGTK better.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
* src/xterm.c (init_xterm): Use more reliable method to disable XI2.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
Better handle devices being enabled on XI2
@@ -73578,7 +75907,7 @@
if the device couldn't be found, instead regenerating the device
hierarchy to see if it was enabled.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-02-14 Eric Abrahamsen <eric@ericabrahamsen.net>
Fix docstring and init of Gnus search -remove-prefix options
@@ -73587,7 +75916,7 @@
use `expand-file-name' to get the correct default value, not `concat'
and (getenv "HOME").
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-02-14 Eric Abrahamsen <eric@ericabrahamsen.net>
Fix manual documentation of Gnus tool bars
@@ -73596,14 +75925,14 @@
exist. Other options in this section have been renamed from "toolbar"
to "tool-bar".
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-02-14 Eric Abrahamsen <eric@ericabrahamsen.net>
Be more explicit about the meaning of "remove prefix" in Gnus search
* doc/misc/gnus.texi (Search Engines): It's easy to get confused about
what we're removing and why.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-14 Eli Zaretskii <eliz@gnu.org>
Improve recent addition to documentation of face remapping
@@ -73612,7 +75941,7 @@
(Face Remapping): Improve wording of a recent addition; add
cross-reference to "Basic Faces".
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-14 Eli Zaretskii <eliz@gnu.org>
Improve format of values returned by 'file-size-human-readable'
@@ -73620,13 +75949,13 @@
fractional part of the size only if there's just one digit before
the decimal point.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in Face Remapping
* doc/lispref/display.texi (Face Remapping): Fix typo.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-02-14 Philip Kaludercic <philipk@posteo.net>
Add command to contact maintainer
@@ -73635,7 +75964,7 @@
(package-browse-url): Use package--query-desc.
(package-contact-maintainer): Add command.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-02-14 Philip Kaludercic <philipk@posteo.net>
Allow for packages to be installed directly from VCS
@@ -73669,19 +75998,19 @@
dependencies but before unsigned packages.
(package-menu-filter-by-status): Allow filtering by source packages.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-02-14 Philip Kaludercic <philipk@posteo.net>
Implement vc-clone for git
* vc-git.el (vc-git-clone): Add Git implementation
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-02-14 Philip Kaludercic <philipk@posteo.net>
Add new command to clone a repository
* vc.el (vc-clone): Add command
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-14 Lars Ingebrigtsen <larsi@gnus.org>
Don't signal errors in abbrev-table-p
@@ -73689,34 +76018,34 @@
* src/lread.c (oblookup): Signal `wrong-type-argument' instead of
`error' if it turns out that we're not really in an obarray (bug#53988).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-02-14 Philip Kaludercic <philipk@posteo.net>
Improve stability of message-hide-headers
* message.el (message-hide-headers): Use a pointer instead of tracking
the "end-of-headers" point manually (bug#53991).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
Premultiply background color by alpha for images
* src/xterm.c (x_query_frame_background_color): Premultiply
colors as X wants them when built without Cairo.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous Face Remapping doc change
* doc/lispref/display.texi (Face Remapping): Fix typo.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-14 Lars Ingebrigtsen <larsi@gnus.org>
Note caveat about remapping basic faces
* doc/lispref/display.texi (Face Remapping): Note caveat about
basic faces (bug#53636).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
Improve Haiku selection handling
@@ -73730,7 +76059,7 @@
(Fhaiku_selection_put): Remove a great deal of ad hoc code now
handled by the regular selection machinery.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-14 Lars Ingebrigtsen <larsi@gnus.org>
Add a mechanism for querying before executing a command
@@ -73743,14 +76072,14 @@
(command-execute--query): New function.
(command-query): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
Handle allocation failures of fringe bitmaps on Haiku
* src/haikuterm.c (haiku_define_fringe_bitmap): Handle
allocation failures.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
* etc/TODO: Update some entires related to macOS and NS.
@@ -73759,7 +76088,7 @@
platforms, and some mouse gestures have been implemented on NS
and X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-14 Po Lu <luangruo@yahoo.com>
Ensure bad values don't leak into scroll valuators after DeviceChange
@@ -73771,7 +76100,7 @@
* src/xterm.h (struct xi_scroll_valuator_t): New field
`pending_enter_reset'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Restore valuator values after receiving a DeviceChanged event
@@ -73780,7 +76109,7 @@
(handle_one_xevent): Find current valuator info and use that to
populate scroll valuators after a device changed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Improve efficency of handling DeviceChanged events
@@ -73788,7 +76117,7 @@
was changed on DeviceChanged and only do hierarchy recalculation
upon HierarchyChanged events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Try to reduce empty areas on GTK when a frame is being resized
@@ -73796,7 +76125,7 @@
(x_clear_rectangle, x_draw_image_glyph_string):
(x_clear_area): Don't use picture if frame background is opaque.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Fix wide fringe bitmap processing on Haiku
@@ -73809,7 +76138,7 @@
* src/haikuterm.c (haiku_define_fringe_bitmap): Pass entire
short array to BBitmap_import_fringe_bitmap instead.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-13 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp's process-file implementations
@@ -73822,13 +76151,13 @@
* test/lisp/net/tramp-tests.el (tramp-test28-process-file)
(tramp--test-check-files, tramp-test47-unload): Extend tests.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-13 Juri Linkov <juri@linkov.net>
* lisp/faces.el (read-face-name-sample-text): Add defconst (bug#53960).
(read-face-name): Use it instead of hard-coded string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-13 Lars Ingebrigtsen <larsi@gnus.org>
Add a new macro `setopt'
@@ -73845,25 +76174,25 @@
* lisp/cus-edit.el (setopt): New macro.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
* src/haikuterm.c (haiku_read_socket): Implement auto-lower.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Only get rid of IC focus if focus is really gone
* src/xterm.c (x_focus_changed): Only unset IC focus if the
focus state is empty.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-13 Lars Ingebrigtsen <larsi@gnus.org>
Remove the 'C-k' binding in ido-mode
* lisp/ido.el (ido-file-completion-map): Remove the `C-k' binding,
because it's too dangerous and probably not very useful (bug#44556).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Prevent crashes from illegal locale coding systems
@@ -73871,7 +76200,7 @@
* src/xterm.c (handle_one_xevent): Don't pass invalid coding
systems to `setup_coding_system'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-13 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-u M-x count-words' also give totals
@@ -73880,21 +76209,21 @@
(count-words--buffer-format, count-words--format): Rename and
don't message, but return the string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-13 Lars Ingebrigtsen <larsi@gnus.org>
Note meaning on nil HIST in Fread_from_minibuffer
* src/minibuf.c (Fread_from_minibuffer): Note the meaning of a nil
HIST parameter (bug#20063).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix mouse clicking in read-face-name
* lisp/faces.el (read-face-name): Put the data in the right
position so that clicking on completions work (bug#53960).
-2023-04-15 Bob Rogers <rogers@rgrjr.com>
+2022-02-13 Bob Rogers <rogers@rgrjr.com>
Fix ietf-drums-remove-whitespace unmatched " and (
@@ -73907,24 +76236,24 @@
+ Test unterminated quote and comment for
ietf-drums-remove-whitespace and ietf-drums-remove-comments (bug#53965).
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-02-13 Andreas Schwab <schwab@linux-m68k.org>
* src/eval.c (specpdl_unrewind): Remove empty statement.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-13 Lars Ingebrigtsen <larsi@gnus.org>
Avoid a compilation warning in eval.c
* src/eval.c (specpdl_unrewind): Avoid a compilation warning.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-13 Po Lu <luangruo@yahoo.com>
Fix integer overflow with 32-bit visual
* src/xfns.c (x_set_border_pixel):
(x_set_border_color): Use `unsigned long' for border color.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
Work around tooltip bug on new versions of WebKitGTK
@@ -73933,7 +76262,7 @@
disable tooltips on WebKitGTK 2.34 or later.
(syms_of_xwidget): Make dummy string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
Stop quering for Xinerama inside x_get_monitor_attributes
@@ -73943,25 +76272,25 @@
* src/xterm.h (struct x_display_info): New field
`xinerama_supported_p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
* src/pgtkfns.c (Fx_create_frame): Set `was_invisible' flag.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
Use better GC for visible bell on colormapped visuals
* src/xterm.c (XTflash): Use normal_gc if the visual is not
TrueColor.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
Fix the Haiku port
* src/haiku_support.h [__cplusplus]: Define `specpdl_ref' type
on C++ since that code cannot include lisp.h.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
Fix last change in xterm.c
@@ -73970,11 +76299,11 @@
(handle_one_xevent): If f is NULL and the configure event is for
any's edit widget, use that instead.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
* src/xterm.c (x_update_opaque_region): Avoid crash at startup in Lucid build
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
Rewrite thread context switch code (bug#48990)
@@ -74004,7 +76333,7 @@
* test/Makefile.in (test_template): Add a + as suggested by make:
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule".
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-12 Mattias Engdegård <mattiase@acm.org>
Speed up `=` on fixnums in bytecode
@@ -74012,7 +76341,7 @@
* src/bytecode.c (exec_byte_code): Use cheaper operation for Beqlsign.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-12 Eli Zaretskii <eliz@gnu.org>
Optionally allow point to enter composed character sequences
@@ -74034,7 +76363,7 @@
* etc/NEWS: Announce the new feature.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-12 Mattias Engdegård <mattiase@acm.org>
Count bytes, not records, in specpdl_ref
@@ -74048,7 +76377,7 @@
(specpdl_ref_add, specpdl_ref_to_ptr, SPECPDL_INDEX):
Count offset in bytes rather than in records.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-12 Mattias Engdegård <mattiase@acm.org>
Turn specpdl_ref into a type of its own
@@ -74066,7 +76395,7 @@
(specpdl_ref_eq, specpdl_ref_lt)
(specpdl_ref_valid_p, make_invalid_specpdl_ref): Use new wrappers.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-12 Mattias Engdegård <mattiase@acm.org>
Replace ptrdiff_t with new specpdl_ref type for specpdl references
@@ -74205,7 +76534,7 @@
Replace ptrdiff_t with specpdl_ref for referencing specpdl and use the
corresponding functions instead of direct arithmetic.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-12 Po Lu <luangruo@yahoo.com>
Fix entry and exit events with XI2 grabs on X toolkit menus
@@ -74217,28 +76546,28 @@
* src/xterm.c (handle_one_xevent): Use x_any_window_to_frame to
find exit event frame if a popup menu is active.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-12 Eli Zaretskii <eliz@gnu.org>
Clean up mode-line-* faces handling
* src/xfaces.c (realize_basic_faces):
* src/dispextern.h (enum face_id): Remove MODE_LINE_ID.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-12 Lars Ingebrigtsen <larsi@gnus.org>
Add documentation on how to delete files from Trash
* doc/emacs/files.texi (Misc File Ops): Note trick to make `D'
work in Trash directories (bug#44059).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-12 Lars Ingebrigtsen <larsi@gnus.org>
Improve interaction between track-mouse and edebug
* lisp/emacs-lisp/edebug.el (edebug--display-1): Work around
`track-mouse' oddity (bug#675).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix off-by-one file size formatting in ls-lisp
@@ -74246,14 +76575,14 @@
human-readable file sizes can be 7 characters wide (e.g.,
"1016.1k") (bug#53937).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-12 Lars Ingebrigtsen <larsi@gnus.org>
Cross-link message-expand-name-standard-ui-relevant doc strings
* lisp/gnus/message.el (message-expand-name-standard-ui): Mention
the other relevant variables in the doc string (bug#50667).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Implement visual bell on Haiku like on X
@@ -74270,28 +76599,28 @@
`BView_InvertRect'.
(haiku_beep): Use `haiku_flash' instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Fix compatibility with ancient versions of libXi
* src/xmenu.c (popup_get_selection): Don't rely on xev->display
being non-NULL.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Be less strict about which PointerEmulated button events to ignore
* src/xterm.c (handle_one_xevent): Ignore all PointerEmulated
button events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Never set opaque region without an alpha channel
* src/xfns.c (x_set_alpha_background): Don't modify opaque
region if the visual has no alpha channel.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-11 Mattias Engdegård <mattiase@acm.org>
Modernise byte-compilation chapters in manual
@@ -74300,7 +76629,7 @@
(Compilation Functions, Disassembly): Example output for lexbind
bytecode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Fix the DJGPP port
@@ -74312,7 +76641,7 @@
to not confuse sed*.inp.
* src/conf_post.h [MSDOS]: Define some things gnulib wants.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-11 Michael Albinus <michael.albinus@gmx.de>
Tolerate tilde in remote file names when needed
@@ -74326,7 +76655,7 @@
Advice `shell-mode' with them.
(tramp-methods) <sshfs>: Add "-t -t" to `tramp-login-args'.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-02-11 Andrew G Cohen <cohen@andy.bu.edu>
Allow searching of nnselect (search) groups
@@ -74338,11 +76667,11 @@
(gnus-search-make-spec): Queries from nnselect should always be raw.
* lisp/gnus/nnselect.el (gnus-search): Silence the byte-compiler.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
* etc/PROBLEMS: Document some limitations of Xwayland and PGTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Don't make cursors affected by background alpha on PGTK
@@ -74350,7 +76679,7 @@
* src/pgtkterm.c (x_clear_glyph_string_rect): Make behavior on
PGTK consistent with X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Set _NET_WM_OPAQUE_REGION on non-GTK3 toolkits when using 32 bit visual
@@ -74362,7 +76691,7 @@
(handle_one_xevent): Call `x_update_opaque_region' on configure
events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-11 Po Lu <luangruo@yahoo.com>
Fix fallout from switch to 32-bit visuals
@@ -74370,7 +76699,7 @@
hold any pixel value.
* src/xterm.h (x_make_truecolor_pixel): Simplify.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-10 Po Lu <luangruo@yahoo.com>
Improve reliability of selection ownership on Haiku
@@ -74383,14 +76712,14 @@
(BClipboard_owns_clipboard, BClipboard_owns_primary)
(BClipboard_owns_secondary): Adjust tests accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-10 Po Lu <luangruo@yahoo.com>
Disable nearest-color allocation on DirectColor visuals
* src/xterm.c (x_alloc_nearest_color_1): Disable such allocation
on DirectColor. The method we use can't possibly work there.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-10 Mattias Engdegård <mattiase@acm.org>
Silence macOS vfork deprecation warnings
@@ -74403,11 +76732,11 @@
* src/callproc.c (emacs_spawn):
* src/sysdep.c (sys_subshell): Use it.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-10 Juri Linkov <juri@linkov.net>
* lisp/mouse.el (context-menu-map): Select only unselected window (bug#53910)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-10 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el (tab-line-format): Use mode-line-window-selected-p.
@@ -74415,21 +76744,21 @@
'tab-line-tab-name-format-default'. Now add the same to another
place that handles the face 'tab-line-tab-current' (bug#53629).
-2023-04-15 Corwin Brust <corwin@bru.st> (tiny change)
+2022-02-10 Corwin Brust <corwin@bru.st> (tiny change)
Autoload package-installed-p
* lisp/emacs-lisp/package.el (package-installed-p): Add autoload
cookie. (Bug#53885)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-10 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
# Conflicts:
# lisp/startup.el
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-02-10 Alan Mackenzie <acm@muc.de>
Note current buffer and restore it in c-force-redisplay.
@@ -74440,14 +76769,14 @@
(c-fontify-new-found-type): Give the current buffer as argument to
run-with-timer.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-10 Lars Ingebrigtsen <larsi@gnus.org>
Restore command-line--load-script messaging
* lisp/startup.el (command-line--load-script): Restore previous
non-messaging behaviour.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-10 Michael Albinus <michael.albinus@gmx.de>
Improve handling of file modes in Tramp
@@ -74461,7 +76790,7 @@
* lisp/net/tramp.el (tramp-check-cached-permissions): Check also
for ?s access type. Check whether remote uid/gid are unknown.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-10 Lars Ingebrigtsen <larsi@gnus.org>
Don't signal a backtrace on empty --script files
@@ -74473,7 +76802,7 @@
* lisp/international/mule.el (load-with-code-conversion): Accept
an eval function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-10 Po Lu <luangruo@yahoo.com>
Enable TrueColor allocation optimizations on all visuals
@@ -74481,14 +76810,14 @@
32-bit TrueColor visuals that legitimately don't have an alpha
mask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-10 Po Lu <luangruo@yahoo.com>
Correctly premultiply background color of fringe bitmaps
* src/xterm.c (x_draw_fringe_bitmap): Premultiply alphas by
alpha_background.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-10 Po Lu <luangruo@yahoo.com>
Correctly allocate colors in xftfont
@@ -74500,7 +76829,7 @@
(xftfont_done_face):
(xftfont_draw): Free colors that were allocated.
-2023-04-15 Dima Kogan <dima@secretsauce.net>
+2022-02-10 Dima Kogan <dima@secretsauce.net>
Make comint-word actually check comint-file-name-quote-list
@@ -74509,7 +76838,7 @@
to the characters in that list. This patch actually checks the
contents of comint-file-name-quote-list (bug#53911).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-10 Eli Zaretskii <eliz@gnu.org>
Allow customization of the user's eln-cache directory
@@ -74526,14 +76855,14 @@
* etc/NEWS: Announce 'startup-redirect-eln-cache'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
69e82968d7 Fix integer arithmetic miss-compilation (bug#53451)
31af9bca99 Mark flymake as compatible with emacs-26.1
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-10 Po Lu <luangruo@yahoo.com>
Fix disconnect errors on some X servers
@@ -74542,21 +76871,21 @@
style if the operation being performed is not a stiple
operation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Fill in missing pixel after PolyLine on scroll bars
* src/xterm.c (x_scroll_bar_expose): Draw bottom right corner of
scroll bar manually.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
* src/haikugui.h [_cplusplus]: Remove extern "C" declarations.
These were left over from an old implementation strategy
abandoned long before the port was installed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Improve reliability of hotplugging window managers
@@ -74564,28 +76893,28 @@
window if the window manager supports something different from
what it did the first time the frame was made visible.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Ignore tooltip frames when setting PGTK scrollbar foreground
* src/pgtkfns.c (pgtk_set_scroll_bar_foreground): Ignore tip
frames. (bug#53900)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-09 Michael Albinus <michael.albinus@gmx.de>
Tilde expansion is not possible for Tramp sshfs method
* lisp/net/tramp.el (tramp-handle-expand-file-name):
Tilde expansion is not possible. (Bug#53847)
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-02-09 Tassilo Horn <tsdh@gnu.org>
show-paren: Don't show context again after C-g-ing it away.
* lisp/paren.el (show-paren--last-pos): New variable.
(show-paren-function): Don't show context again after C-g-ing it away.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Get rid of `register' declarations in X11 related files
@@ -74593,14 +76922,14 @@
* src/xterm.c (x_set_offset): Remove `register' from `xoff' and
`yoff'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Fix compiler warning on GTK
* src/xterm.c (x_make_frame_visible): Make some fields that are
set but never used conditioned out on GTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Add support for _NET_WM_USER_TIME_WINDOW
@@ -74613,20 +76942,20 @@
`_NET_WM_USER_TIME_WINDOW'.
(struct x_output): New field `user_time_window'.
-2023-04-15 Antoine Levitt <antoine.levitt@gmail.com>
+2022-02-09 Antoine Levitt <antoine.levitt@gmail.com>
Improve the set-fill-column prompt
* lisp/simple.el (set-fill-column): Improve the prompt (bug#53874).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-09 Lars Ingebrigtsen <larsi@gnus.org>
Make calendar-exit actually respect the KILL parameter
* lisp/calendar/calendar.el (calendar-exit): Really kill off all
the buffers (if requested) (bug#53870).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Implement _NET_WM_USER_TIME protocol
@@ -74640,7 +76969,7 @@
`Xatom_net_wm_user_time'.
(x_display_set_last_user_time): Implement in xterm.c instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Explictly specify whether or not to respect alpha-background on Cairo
@@ -74651,27 +76980,27 @@
`respect_alpha_background'. All callers changed.
* src/xterm.h: Update protoypes.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-02-09 Tassilo Horn <tsdh@gnu.org>
Mention `overlay' show-paren-context-when-offscreen value in NEWS
* etc/NEWS: Mention `overlay' value of
show-paren-context-when-offscreen.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
82e74e4559 flymake: Ensure compatibility with older Emacsen
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-09 Po Lu <luangruo@yahoo.com>
Make haikufont_list_family actually work
* haikufont.c (haikufont_list_family): Intern returned font
families.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Implement `list_family' for the haikufont driver
@@ -74681,7 +77010,7 @@
* src/haikufont.c (haikufont_list_family): New function.
(haikufont_driver): Add `haikufont_list_family'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Improve selection of fonts available from `mouse-set-font'
@@ -74696,21 +77025,21 @@
available on the system.
(mouse-set-font): Use `mouse-select-font' to display font menu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Make sure the cursor can't move on top of a tooltip on Haiku
* src/haikuterm.c (haiku_read_socket): Work around leave
notification events not being sent on tooltip frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Fix creation of tooltip frames with a stippled background
* src/xfns.c (x_create_tip_frame): Init faces after creating the
drawable, since that's needed for loading stipple files.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-02-08 Tassilo Horn <tsdh@gnu.org>
Allow showing show-paren context in an overlay
@@ -74724,14 +77053,14 @@
There's no interference if `show-paren-context-when-offscreen' is
overlay or child-frame.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-08 Juri Linkov <juri@linkov.net>
* lisp/replace.el (perform-replace): Allow using isearch in recursive-edit.
Let-bind isearch-filter-predicate to the default value before calling
recursive-edit to allow using isearch in a recursive edit (bug#53758).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-02-08 Robert Pluim <rpluim@gmail.com>
Improve make-frame-on-display initial values
@@ -74742,14 +77071,14 @@
* lisp/menu-bar.el (menu-bar-file-menu): Use 'display server' rather
than 'display' to avoid monitor<->display confusion.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-02-08 Robert Pluim <rpluim@gmail.com>
Improve thing-at-point-url-at-point docstring
* lisp/thingatpt.el (thing-at-point-url-at-point): Correct description
of BOUNDS argument.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-08 Michael Albinus <michael.albinus@gmx.de>
Respect customization nature of `connection-local-*' user options
@@ -74757,7 +77086,7 @@
(connection-local-set-profile-variables): Set user options via
`customize-set-variable'.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-08 Michael Albinus <michael.albinus@gmx.de>
Fix processes on remote default-directory with special characters
@@ -74766,18 +77095,18 @@
* test/lisp/net/tramp-tests.el (tramp--test-check-files):
Test also remote `default-directory' for processes. (Bug#53846)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (map_event): Fix last change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Document some problems found during testing on various X servers
* etc/PROBLEMS (General X problems): Document some problems
found during testing on various X servers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Improve robustness of override-redirect on Haiku
@@ -74787,14 +77116,14 @@
and restore from the saved pre-override redirect state fields if
appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Fix frame offset reporting on PGTK
* src/pgtkterm.c (configure_event): Handle changes in window
position. (bug#52697)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Implement frame resize synchronization on GTK 3
@@ -74805,56 +77134,56 @@
* src/xterm.h (struct x_output): New variable
`xg_sync_end_pending_p'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-08 Lars Ingebrigtsen <larsi@gnus.org>
Extend find-lisp-object-file-name
* lisp/help-fns.el (find-lisp-object-file-name): Add optional
parameter to always look in the DOC file (bug#17685).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-08 Lars Ingebrigtsen <larsi@gnus.org>
Document pcase-lambda
* doc/lispref/control.texi (Destructuring with pcase Patterns):
Document pcase-lambda (bug#20268).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-08 Lars Ingebrigtsen <larsi@gnus.org>
Fix some standard-output/help-buffer confusion in describe-function-1
* lisp/help-fns.el (describe-function-1): We're outputting to
standard-output, so deconfuse slightly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-08 Lars Ingebrigtsen <larsi@gnus.org>
Fix describe-function-1 test failure from previous change
* lisp/help-fns.el (describe-function-1): Fix test failure from
previous patch.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-08 Lars Ingebrigtsen <larsi@gnus.org>
Minor fix to how describe-function-1 displays symbols with spaces
* lisp/help-fns.el (describe-function-1): Ensure that symbols like
`bar\ ' aren't rendered incorrectly (bug#23130).
-2023-04-15 martin rudalics <rudalics@gmx.at>
+2022-02-08 martin rudalics <rudalics@gmx.at>
Improve handling of frame-inherited-parameters
* lisp/frame.el (make-frame): Improve handling of
frame-inherited-parameters (bug#24651).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-08 Lars Ingebrigtsen <larsi@gnus.org>
Make exit from text-scale-adjust less confusing
* lisp/face-remap.el (text-scale-adjust): Clear the prompt after
exiting (bug#25978).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Clear mouse highlight when mouse moves outside edit widget
@@ -74862,7 +77191,7 @@
leaving the edit widget. Otherwise, it stays around on the
toolbar after the mouse is moved onto the menu bar.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-02-08 Andrew G Cohen <cohen@andy.bu.edu>
nnselect.el: Speed up group info updating
@@ -74870,7 +77199,7 @@
other tricks to speed things up.
(nnselect-request-group-scan): Make sure the artlist is uncompressed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-08 Po Lu <luangruo@yahoo.com>
Try harder to preserve cursor when mapping tooltip frames on Haiku
@@ -74878,18 +77207,18 @@
`error'.
(Fx_show_tip): Define cursors on both views.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Fix menu bar not opening after popup menu is dismissed on Lucid
* lwlib/xlwmenu.c (XlwMenuDestroy): Only set submenu_destroyed
if menu bar widget.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
* src/pgtkfns.c (Fx_create_frame): Realize frame widgets. (bug#53861)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Don't allow tooltips to be transient for override redirect windows
@@ -74900,7 +77229,7 @@
* src/xterm.h (struct x_display_info): New atom
`Xatom_wm_transient_for'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Make sure `update_wm_hints' finds the WMShell
@@ -74915,18 +77244,18 @@
(ApplicationShell) and the edit widget (EmacsFrame) to
`widget_update_wm_size_hints'. (bug#53839)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
minibuffer.el: Try and fix bug#53053
* lisp/minibuffer.el (completion--sifn-requote): Special case for when
`upos` is at the very end.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/xref.el (xref--marker-ring): Fix typo
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-07 Michael Albinus <michael.albinus@gmx.de>
Make connection-local variables user options
@@ -74936,7 +77265,7 @@
* doc/lispref/variables.texi (Connection Local Variables):
* etc/NEWS: Document this.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
lisp-mnt, checkdoc: Reduce run-time dependencies
@@ -74946,7 +77275,7 @@
* lisp/emacs-lisp/checkdoc.el (dired): Don't load at run-time.
(checkdoc-dired): Add corresponding `declare-function`.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-07 Mattias Engdegård <mattiase@acm.org>
Pin lazily read bytecode (bug#53809)
@@ -74955,18 +77284,18 @@
Bug reported by Gregor Zattler.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Improve contrast of `custom-button' in the leuven-dark theme
* etc/themes/leuven-dark-theme.el (custom-button): Improve
contrast of custom-button foreground.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
* lwlib/xlwmenu.c (pop_up_menu): Fix cast.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Correct off-by-one errors with frame resizing on Haiku
@@ -74975,7 +77304,7 @@
(BWindow_resize): Fix off-by-one errors in calls to
`BWindow::ResizeTo'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Make menus work better on X toolkit builds with XInput 2
@@ -74987,28 +77316,28 @@
* src/xterm.c (xi_device_from_id): Export function.
* src/xterm.h: Update prototypes.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-07 Michael Albinus <michael.albinus@gmx.de>
Sanitize ls switches in ange-ftp (bug#53360)
* lisp/net/ange-ftp.el (ls-lisp--sanitize-switches): Declare.
(ange-ftp-ls): Sanitize LSARGS. (Bug#53360)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-07 Lars Ingebrigtsen <larsi@gnus.org>
Improve indentation of some shell script forms
* lisp/progmodes/sh-script.el (sh-smie--default-backward-token):
Don't skip past things like "true;then" (bug#53817).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-07 Po Lu <luangruo@yahoo.com>
Really fix extended frame synchronization
* src/xterm.c (XTframe_up_to_date): Make sure the extended
counter ends up even.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix the Scroll key binding on Windows
@@ -75018,7 +77347,7 @@
* lisp/scroll-lock.el (scroll-lock-mode): The event is `scroll' on
Windows, not `Scroll_Lock'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-06 Lars Ingebrigtsen <larsi@gnus.org>
Make the eintr.html target match what's on the web
@@ -75026,14 +77355,14 @@
name match the URL at
https://www.gnu.org/software/emacs/manual/eintr.html (bug#38817).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-06 Lars Ingebrigtsen <larsi@gnus.org>
Give a better error in locate-default-make-command-line
* lisp/locate.el (locate-default-make-command-line): Error out
more nicely.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-06 Lars Ingebrigtsen <larsi@gnus.org>
Improve the ediff-diff-options documentation
@@ -75041,7 +77370,7 @@
* doc/misc/ediff.texi (Patch and Diff Programs): Note that setting
this variable directly is probably the wrong thing to do (bug#6512).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Respect `x-cursor-fore-pixel' on Haiku
@@ -75049,7 +77378,7 @@
`x-cursor-fore-pixel'.
(syms_of_haikufns): Declare variable `x-cursor-fore-pixel'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Clean up more code from PGTK port
@@ -75074,18 +77403,18 @@
(syms_of_pgtkterm): Clean up doc strings and remove meaningless
variables.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
* doc/emacs/xresources.texi (Table of Resources): Improve wording.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Correct implementation of extended frame synchronization
* src/xterm.c (handle_one_xevent): Use value provided in the
extended synchronization message as the current counter value.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-06 Lars Ingebrigtsen <larsi@gnus.org>
Make dired-directory and dired-subdir-alist buffer-local
@@ -75098,14 +77427,14 @@
* lisp/find-lisp.el (find-lisp-find-dired-internal):
* lisp/find-dired.el (find-dired): Adjust usage.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
Fix eval-tests/backtrace-in-batch-mode test
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Fix the
zero-arg case.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-06 Lars Ingebrigtsen <larsi@gnus.org>
Make async connect_network_socket failures use Qfailed
@@ -75113,13 +77442,13 @@
Qfailed instead of using the error symbol (since this is what's
defined for the status) (bug#53814).
-2023-04-15 Bob Rogers <rogers-emacs@rgrjr.homedns.org>
+2022-02-06 Bob Rogers <rogers-emacs@rgrjr.homedns.org>
Remove outdated comments from ietf-drums.el
* lisp/mail/ietf-drums.el: Remove outdated comments (bug#53811).
-2023-04-15 Ioannis Kappas <ioannis.kappas@gmail.com> (tiny change)
+2022-02-06 Ioannis Kappas <ioannis.kappas@gmail.com> (tiny change)
ansi-color: don't get stuck on \e
@@ -75133,21 +77462,21 @@
Code amended (and test code written) by <miha@kamnitnik.top>. Code by
Ioannis Kappas is small enough to be
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
(debug-early-backtrace): Tweak the non-evald output
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Make the
non-evald output more like what is used in `debug.el`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
(debug-early-backtrace): Tweak the non-evald output
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Make the
non-evald output more like what is used in `debug.el`.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-06 Juri Linkov <juri@linkov.net>
Use mode-line-window-selected-p in tab-line-tab-name-format-default.
@@ -75155,7 +77484,7 @@
Use the recently added function 'mode-line-window-selected-p'
for the face 'tab-line-tab-current' (bug#53629).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-06 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-new-tab-choice): Add const 'window'. Update doc.
@@ -75163,7 +77492,7 @@
'window-atom' from the old window. Move split-window/delete-window
inside ignore-window-parameters (bug#53662).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-06 Michael Albinus <michael.albinus@gmx.de>
Adapt em-tramp-tests.el
@@ -75172,7 +77501,7 @@
(em-tramp-test/su-login, em-tramp-test/sudo-basic)
(em-tramp-test/sudo-user): Adapt tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-06 Mattias Engdegård <mattiase@acm.org>
Avoid deprecation warning in NS-specific code
@@ -75180,7 +77509,7 @@
CTGetCoreTextVersion is obsolete and its use elicits a warning
in macOS 11.6; use NSProcessInfo instead.
-2023-04-15 Wang Chunye <chunywan@xilinx.com> (tiny change)
+2022-02-06 Wang Chunye <chunywan@xilinx.com> (tiny change)
optimization: constand folding for read-kbd-macro
@@ -75189,14 +77518,14 @@
it takes ~20ms to load cl-lib
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Ensure bar cursors are always visible on Haiku
* src/haikuterm.c (haiku_draw_window_cursor): Adjust bar cursor
colors like X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Fix the GTK 2 build
@@ -75204,7 +77533,7 @@
function without GTK 3.
* src/xfns.c (select_visual): Avoid 32-bit visuals on GTK 2.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Disable extended frame synchronization by default
@@ -75213,7 +77542,7 @@
* src/xfns.c (Fx_create_frame): Set synchronization protocol
according to `synchronizeResize'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
Add support for EWMH extended frame synchronization
@@ -75228,7 +77557,7 @@
(struct x_output): New fields for extended counter tracking.
(FRAME_X_EXTENDED_COUNTER): New macro.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-06 Eli Zaretskii <eliz@gnu.org>
Fix infloop in 'redisplay_window' when buffer is narrowed
@@ -75236,7 +77565,7 @@
the accessible portion of the buffer when passing it to
'window_start_acceptable_p'. (Bug#14582)
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-02-06 Tassilo Horn <tsdh@gnu.org>
Display show-paren-context-when-offscreen in child frame
@@ -75253,25 +77582,25 @@
(show-paren--delete-context-child-frame): New function.
(show-paren--show-context-in-child-frame): New function.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-06 Michael Albinus <michael.albinus@gmx.de>
Make usage of su and sudo consistent in eshell (bug#53783)
* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
Use `tramp-default-host' instead of "localhost".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-06 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
821c240075 Fix ietf-drums-get-comment doc string
638247baa4 Fix typo in display.texi
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-06 Po Lu <luangruo@yahoo.com>
* lwlib/xlwmenu.c (pop_up_menu): Work around motion problems on XI2.
-2023-04-15 Bob Rogers <rogers@rgrjr.com>
+2022-02-05 Bob Rogers <rogers@rgrjr.com>
Add ietf-drums tests, fix parse-address decoding
@@ -75280,7 +77609,7 @@
* lisp/mail/ietf-drums.el: (ietf-drums-parse-address): Bug fix:
Require rfc2047 when needed (bug#53811).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
Allow disabling frame resize synchronization
@@ -75290,7 +77619,7 @@
* src/xterm.c (x_term_init): Don't enable XSync if the
X resource `synchronizeResize' is off or false.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
Clean up lots of #ifdef'd out code in PGTK files
@@ -75311,7 +77640,7 @@
* src/pgtkmenu.c (show_help_event): Remove ifdef'd out code and
reword comment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
Handle window state changes on PGTK
@@ -75319,7 +77648,7 @@
and iconification status according to the new window state.
(bug#53793)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
Minor changes to xsync support
@@ -75331,14 +77660,14 @@
_NET_WM_SYNC_REQUEST unless the display supports that.
(x_free_frame_resources): Test basic counter against None.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Improve the elp-instrument-package doc string
* lisp/emacs-lisp/elp.el (elp-instrument-package): Note the effect
of loading further files (bug#13252).
-2023-04-15 Mauro Aranda <maurooaranda@gmail.com>
+2022-02-05 Mauro Aranda <maurooaranda@gmail.com>
Fix reverting the default face to standard/themed state in GUIs
@@ -75351,7 +77680,7 @@
of the default face, since that doesn't give enough information to
reset all attributes, like foreground, family, etc (bug#14635).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option 'find-library-include-other-files'
@@ -75360,21 +77689,21 @@
(read-library-name): Use it.
(find-library-include-other-files): New user option.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how eshell/cd works when cd-ing to ".." from "/"
* lisp/eshell/em-dirs.el (eshell/cd): Make "cd .." from "/" less
confusing (bug#16861).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Add a :distant-foreground to the lazy-highlight face
* lisp/isearch.el (lazy-highlight): Add a :distant-foreground
colour so that the text is always legible (bug#16969).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Add new function mode-line-window-selected-p
@@ -75382,14 +77711,14 @@
* lisp/bindings.el (mode-line-window-selected-p): New function
from martin rudalics <rudalics@gmx.at>.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-05 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp to changed unload behavior (bug#53632)
* test/lisp/net/tramp-tests.el (tramp-test47-unload): Check also
for autoloaded macros. Respect `tramp-autoload' function property.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
Add support for basic syncing with the window manager on resize
@@ -75418,11 +77747,11 @@
(struct x_output): New fields for counter status.
(FRAME_X_BASIC_COUNTER): New macro.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
* lisp/pixel-scroll.el: Update commentary.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-05 Eli Zaretskii <eliz@gnu.org>
Fix 'current-column' in the presence of display strings
@@ -75431,11 +77760,11 @@
value returned by 'current-column' when display strings are
present between BOL and point. (Bug#53795)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-02-05 Alan Mackenzie <acm@muc.de>
* lisp/emacs-lisp/debug-early.el: Improve the documentation
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-05 Michael Albinus <michael.albinus@gmx.de>
Remove superfluous `font-lock-add-keywords' calls in Tramp
@@ -75446,7 +77775,7 @@
(with-tramp-dbus-get-all-properties): Do not call
`font-lock-add-keywords' for macros, it isn't needed anymore.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-05 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp to changed unload behavior (bug#53632)
@@ -75458,21 +77787,21 @@
(tramp-register-archive-file-name-handler):
Add `tramp-autoload' function property.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix yank-media utf-16 detection
* lisp/yank-media.el (yank-media--utf-16-p): Factor out into its
own function for easier testing and fix the code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Improve the selected-window doc string
* src/window.c (Fselected_window): Add some pointers to other
functions in this area.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-05 Jim Porter <jporterbugs@gmail.com>
Ensure that the CAR of 'eshell-last-async-procs' always points to a process
@@ -75485,28 +77814,28 @@
* test/lisp/eshell/eshell-tests.el (eshell-test/pipe-headproc): New test.
-2023-04-15 Brendan O'Dea <bod@debian.org> (tiny change)
+2022-02-05 Brendan O'Dea <bod@debian.org> (tiny change)
Remove kerning escapes in woman mode
* lisp/woman.el (woman-decode-region): Remove kerning escapes
(bug#53770).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Improve the Archive file names tramp documentation
* doc/misc/tramp.texi (Archive file names): Explicitly say how to
open an archive with Tramp (bug#25076).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix yank-media-types--format decoding
* lisp/yank-media.el (yank-media-types--format): Check that we
really have some nuls.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-05 Po Lu <luangruo@yahoo.com>
Finish up cursor color merging on Haiku
@@ -75515,14 +77844,14 @@
(haiku_draw_stretch_glyph_string):
(haiku_merge_cursor_foreground): Use merged cursor colors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Fix last change to ftcrfont.c
* src/ftcrfont.c (ftcrfont_draw): Remove relic `face' variable
and use s->face instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Implement face cursor color merging on Haiku
@@ -75532,7 +77861,7 @@
* src/haikuterm.c (haiku_merge_cursor_foreground): New function.
* src/haikuterm.h: Update prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Set WM_TRANSIENT_FOR on tooltip frames
@@ -75542,7 +77871,7 @@
* src/xfns.c (Fx_show_tip): Set WM_TRANSIENT_FOR to the window
underneath the tooltip.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Implement _NET_WM_PING protocol
@@ -75554,7 +77883,7 @@
* src/xterm.h (struct x_display_info): New field
`Xatom_net_wm_ping'.
-2023-04-15 Vladimir Panteleev <git@cy.md>
+2022-02-04 Vladimir Panteleev <git@cy.md>
Update the MULTIPLE property with conversion outcomes
@@ -75566,7 +77895,7 @@
* src/xselect.c (x_handle_selection_request): Do it.
-2023-04-15 Vladimir Panteleev <git@cy.md>
+2022-02-04 Vladimir Panteleev <git@cy.md>
Do not delete the MULTIPLE property after reading it
@@ -75585,7 +77914,7 @@
make sense for MULTIPLE).
(x_handle_selection_request): Enable the flag.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
(with-demoted-errors): Warn on missing `format` arg
@@ -75616,7 +77945,7 @@
* lisp/autorevert.el (auto-revert-notify-handler):
Pass `format` arg to `with-demoted-errors`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
python.el: Silence left over warning in last commit
@@ -75624,7 +77953,7 @@
(python-shell-calculate-process-environment): Declare
tramp-remote-process-environment before using it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
python.el: Try and better split the Tramp code
@@ -75663,21 +77992,21 @@
(python-shell-with-environment-2, python-shell-with-environment-3):
Use them.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-04 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp tests backward compatibility
* test/lisp/net/tramp-tests.el (tramp-test39-detect-external-change):
Improve backward compatibility.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-02-04 Andrea Corallo <akrl@sdf.org>
* Have `null' and `not' explicit in LIMPLE so we inline them
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Generate explicit
`eq' call in LIMPLE for LAP opcode 'not'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-04 Eli Zaretskii <eliz@gnu.org>
Fix infloop in redisplay_window due to fix of bug#14582
@@ -75687,7 +78016,7 @@
the window's force_start flag is set -- this fixes infloop in
redisplay_window in that case.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Remove misleading "in current buffer" message from auto-raise-mode
@@ -75696,7 +78025,7 @@
frame-local, but declaring it global doesn't hurt since
`frame-parameter' is a gv.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-04 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in two tests
@@ -75704,18 +78033,18 @@
* test/src/buffer-tests.el (buffer-tests--make-test-name): Silence
byte-compiler by defining defuns also at run time.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Implement auto-raise on Haiku
* src/haikuterm.c (haiku_read_socket): Implement auto-raising
of frames that have that parameter set.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-04 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp-gvfs.el (tramp-gvfs-send-command): Fix problem with locale.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Fix bit rot in the color allocation code
@@ -75723,20 +78052,20 @@
version of the code that would try to allocate a "compromise
delta".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
* src/xwidget.c (xwidget_button): Always let button events through.
Filtering out emulated events is done in handle_one_xevent, so
all this accomplishes is to filter out legitimate button events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-04 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
0591aa6cd3 Revert an erroneous change in tramp-cache.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-04 Po Lu <luangruo@yahoo.com>
Fix toggling `x-gtk-use-native-input'.
@@ -75747,7 +78076,7 @@
* src/xfns.c (Fx_internal_focus_input_context): New parameter
`focus'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Make Emacs build with some other XLib implementations
@@ -75764,11 +78093,11 @@
* src/xterm.c (x_find_modifier_meanings): Handle NULL values of
various fields.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
* src/xfns.c (Fx_internal_focus_input_context): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Make `x-gtk-use-native-input' take effect immediately
@@ -75778,21 +78107,21 @@
* src/xfns.c (Fx_internal_focus_input_context): New function.
(syms_of_xfns): Define new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Try to fix input method flicker on GTK builds
* src/xterm.c (x_focus_changed): Only focus GTK context if
native input is on. (bug#53698)
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2022-02-03 Andrew G Cohen <cohen@andy.bu.edu>
Improve compression of article lists in gnus/nnselect
* lisp/gnus/nnselect.el (nnselect-compress-artlist): Allow compressed list.
nnselect-uncompress-artlist): Properly loop over rsv values.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Improve image depth handling
@@ -75809,25 +78138,25 @@
(gs_load): Use dpyinfo->n_planes instead of
DefaultDepthOfScreen.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-03 Lars Ingebrigtsen <larsi@gnus.org>
Improve the bookmark-default-handler doc string
* lisp/bookmark.el (bookmark-default-handler): Document the
`buffer' property (bug#20845).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-03 Lars Ingebrigtsen <larsi@gnus.org>
Remove tarball instructions from gnus-faq.texi
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-03 Lars Ingebrigtsen <larsi@gnus.org>
Make sort-numeric-fields resilient towards blank lines
* lisp/sort.el (sort-numeric-fields): Don't signal an error on
blank lines (bug#31800).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-03 Jim Porter <jporterbugs@gmail.com>
Use 'require' to load eshell-tests-helpers
@@ -75838,7 +78167,7 @@
* test/lisp/eshell/eshell-tests-helpers.el (eshell-history-file-name):
Define this here so individual test files don't have to.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-03 Jim Porter <jporterbugs@gmail.com>
When executing an Eshell pipeline, send input to the first process
@@ -75887,7 +78216,7 @@
* test/lisp/eshell/eshell-tests.el (eshell-test/pipe-headproc-stdin):
New test.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-02-03 Jim Porter <jporterbugs@gmail.com>
Ensure that tailproc is set for the last process in an Eshell pipeline
@@ -75902,7 +78231,7 @@
* test/lisp/eshell/eshell-tests.el (eshell-test/pipe-tailproc): New
test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-03 Eli Zaretskii <eliz@gnu.org>
Allow ensuring that a window's starting point is never invisible
@@ -75912,14 +78241,14 @@
don't accept window-start position that is in invisible text or is
covered by a "replacing" 'display' property. (Bug#14582)
-2023-04-15 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+2022-02-03 Thomas Fitzsimmons <fitzsim@fitzsim.org>
soap-client: Add minimum supported Emacs version
* lisp/net/soap-client.el: Add Emacs 24.1 to Package-Requires.
Bump version to 3.2.1.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-02-03 Michael Albinus <michael.albinus@gmx.de>
Implement file modification check in Tramp
@@ -75929,14 +78258,14 @@
* test/lisp/net/tramp-tests.el (tramp-test39-detect-external-change):
New test.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-03 Mattias Engdegård <mattiase@acm.org>
Don't use `string-replace` in soap-client (bug#53744)
* lisp/net/soap-client.el (soap-decode-xs-complex-type):
Cease using `string-replace` since it requires Emacs 28.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-03 Mattias Engdegård <mattiase@acm.org>
Don't use `string-search` in soap-client (bug#53744)
@@ -75945,7 +78274,7 @@
Emacs versions older than 28, it cannot use `string-search`;
revert to `string-match`.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-02-03 Eli Zaretskii <eliz@gnu.org>
Fix "Buffers->Frames" submenu in daemon sessions
@@ -75955,11 +78284,11 @@
* src/terminal.c (init_initial_terminal): Add comment about using
the initial-terminal's name in menu-bar.el.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
* src/haikufont.c (haikufont_draw): Allocate string buffer on stack.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Stop creating cairo contexts in haiku_begin_cr_clip
@@ -75977,7 +78306,7 @@
of creating a new one.
* src/haikuterm.h (FRAME_CR_CONTEXT): New macro.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Obtain draw lock outside haiku_start_clip
@@ -75985,17 +78314,17 @@
(haiku_end_clip): Stop obtaining the draw lock.
(haiku_draw_glyph_string): Set draw lock here instead.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-03 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
ab2f275422 Improve documentation of 'emacs-version'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
* src/haikuterm.c (haiku_draw_text_decoration): Don't lock for draws.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-03 Po Lu <luangruo@yahoo.com>
Simplify box display code on Haiku
@@ -76008,43 +78337,43 @@
(haiku_draw_glyph_string): Fix calls to haiku_draw_string_box
for new parameters.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
Fix display of text decorations with defaulted foreground on Haiku
* src/haikuterm.c (haiku_draw_text_decoration): Remove parameter
`dcol' and use face->foreground instead. All callers changed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
Fix background daemon on Haiku
* src/emacs.c (DAEMON_MUST_EXEC): Define when using the Haiku
application kit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
Prevent the initial frame from showing up in the frame menu
* lisp/menu-bar.el (menu-bar-update-buffers): Ignore initial
frame when generating frame list. (bug#53740)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-02 Stefan Kangas <stefan@marxist.se>
New theme leuven-dark (Bug#53032)
* etc/themes/leuven-dark-theme.el: New file, written by
Fabrice Niessen and Thibault Polge.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-02 Stefan Kangas <stefan@marxist.se>
* test/lisp/cedet/semantic/bovine/gcc-tests.el (ert-x): Require.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-02 Lars Ingebrigtsen <larsi@gnus.org>
Adjust test to adjusted code
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-02-02 Alan Mackenzie <acm@muc.de>
New file lisp/emacs-lisp/debug-early.el for backtraces in early bootstrap
@@ -76061,7 +78390,7 @@
(syms_of_eval): New DEFSYM for Qdebug_early. Initialise Vdebugger to
Qdebug_early rather than Qnil.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-02 Juri Linkov <juri@linkov.net>
* lisp/replace.el (query-replace-read-from): Use default for empty input.
@@ -76069,14 +78398,14 @@
Use the default in non-regexp prompt and return it for empty input.
https://lists.gnu.org/archive/html/emacs-devel/2022-02/msg00044.html
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-02 Lars Ingebrigtsen <larsi@gnus.org>
Improve the describe-key doc string
* lisp/help.el (describe-key): Say something about prefix keys
(bug#33320).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-02 Lars Ingebrigtsen <larsi@gnus.org>
Add some indexing for "compiler macro"
@@ -76084,27 +78413,27 @@
where compiler macros are defined.
(Declare Form): Add a concept index.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-02 Lars Ingebrigtsen <larsi@gnus.org>
Mark vt-control and vc100-led obsolete since Emacs 29.1
Move vt-control and vt100-led to obsolete (bug#37562)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-02-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix decoding error in ietf-drums-parse-address
* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't try to
decode the name if there is no name (bug#53716).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-02-02 Alan Mackenzie <acm@muc.de>
Fix bug with M-x compile-defun in a defconst/defvar
* lisp/emacs-lisp/bytecomp.el (compile-defun): Have symbols-with-pos-enabled
bound to non-nil when the eval takes place.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
Improve correctness of generated xwidget events
@@ -76117,25 +78446,25 @@
(xw_notify_virtual_downwards_until): New parameters for crossing
mode. All callers changed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
Send button events before setting xwidget passive grab
* src/xwidget.c (xwidget_button_1): Send button event before
any grab processing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
* src/nsselect.m (ns_get_foreign_selection): Fix GCC warning.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-02 Po Lu <luangruo@yahoo.com>
Make behaviour of `mouse-autoselect-window' consistent with X on NS
* src/nsterm.m ([EmacsView mouseMoved:]): Ignore if
`selected_window' is a minibuffer window.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -76144,7 +78473,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-01 Po Lu <luangruo@yahoo.com>
Improve behaviour of `mouse-autoselect-window' on Haiku
@@ -76152,21 +78481,21 @@
the selected window is a minibuffer window or a popup is
activated.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-01 Po Lu <luangruo@yahoo.com>
Fix display of vertical window dividers on Haiku
* src/haikuterm.c (haiku_draw_window_divider): Make drawing
consistent with X.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-01 Po Lu <luangruo@yahoo.com>
Don't use XRender to fill rectangles unless an alpha channel exists
* src/xterm.c (x_clear_area): Don't use XRender unless
`alpha_bits' is set.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-01 Juri Linkov <juri@linkov.net>
* lisp/replace.el (query-replace-read-from-default): New variable.
@@ -76181,7 +78510,7 @@
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01909.html
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-02-01 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el: Support non-buffer tabs in some tab face functions.
@@ -76190,7 +78519,7 @@
try to get the buffer from the property 'buffer'.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01923.html
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-02-01 Andrea Corallo <akrl@sdf.org>
* Improve 'maybe_defer_native_compilation'
@@ -76198,11 +78527,11 @@
function name in Vcomp_deferred_pending_h if pending for deferred
compilation.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-02-01 Andrea Corallo <akrl@sdf.org>
* lisp/startup.el (startup--require-comp-safely): Fix typo in a92c6191b0
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-02-01 Mattias Engdegård <mattiase@acm.org>
Speed up calls to C primitives
@@ -76210,11 +78539,11 @@
calls to finite-arity or n-adic SUBRs), and the error cases last,
instead of doing it the other way around. Simplify.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-01 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_draw_rectangle): Fix trivial typo. (bug#53677)
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-02-01 Andreas Schwab <schwab@linux-m68k.org>
Remove extra \= from obsoletion message
@@ -76223,7 +78552,7 @@
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal): Likewise.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-02-01 Andrea Corallo <akrl@sdf.org>
Rename `comp--loadable' into `comp--compilable'
@@ -76233,21 +78562,21 @@
* src/comp.c (syms_of_comp): Update.
(maybe_defer_native_compilation): Likewise.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-02-01 Andrea Corallo <akrl@sdf.org>
* Fix `startup--require-comp-safely' (bug#53675)
* lisp/startup.el (startup--require-comp-safely): Remove unnecessary
check.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-01 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
31ef751f94 Clarify documentation of a "face's font"
29bdedf12f Bind Qdebugger to Qdebug in signal_or_quit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-02-01 Po Lu <luangruo@yahoo.com>
Clean up Haiku display structures
@@ -76259,7 +78588,7 @@
(struct haiku_output): Get rid of C_* preprocessor defines,
since these files are no longer included in any way by C++ files.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-02-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -76267,7 +78596,7 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-01-27 20:16:15 UTC.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Display images with a mask correctly when `alpha-background' is set
@@ -76276,14 +78605,14 @@
(x_draw_image_glyph_string): Respect `alpha-background' when
generating background pixmap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Only apply last change to the clipboard
* lisp/select.el (gui--selection-value-internal): Only return
nil if we own the clipboard.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Avoid extraneous selection querying if we own the selection
@@ -76291,7 +78620,7 @@
`gui-backend-selection-owner-p' on window systems where it is
reliable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Make fringe bitmaps respect alpha-background
@@ -76299,14 +78628,14 @@
on non-overlay fringe bitmaps.
* src/xterm.h (struct x_display_info): New field `alpha_mask'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix nnregistry byte compilation warning
* lisp/gnus/nnregistry.el (nnregistry-server-opened)
(nnregistry-open-server): Fix byte compilation warning.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-31 Stefan Monnier <monnier@iro.umontreal.ca>
(byte-compile-eval): Adjust to changes in `load-history`
@@ -76325,14 +78654,14 @@
(wisent-with-context):
* lisp/emacs-lisp/comp.el (comp-op-case): Silence compiler warning.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-31 Alan Mackenzie <acm@muc.de>
Enlarge max-specpdl-size for generation of files in .../admin/grammars
* admin/grammars/Makefile.in: Add a --eval clause to set max-specpdl-size to
5000 (previously 2500) for these targets.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-01-31 Eric Abrahamsen <eric@ericabrahamsen.net>
Don't remove dummy.group from gnus-newsrc-alist on Gnus save
@@ -76342,7 +78671,7 @@
function was removing dummy.group from the global value of
`gnus-newsrc-alist' on save; we only wanted to remove it temporarily.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-01-31 Eric Abrahamsen <eric@ericabrahamsen.net>
Obsolete gnus-registry-enabled in favor of checking gnus-registry-db
@@ -76355,7 +78684,7 @@
`gnus-registry-db' instead of `gnus-registry-enabled'. We no longer
set or clear that variable.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-31 Juri Linkov <juri@linkov.net>
* lisp/vc/vc.el (vc-diff-internal): Assume revert-buffer is in current buffer.
@@ -76364,40 +78693,40 @@
"*vc-diff*" with an assumption that revert-buffer is always performed
in the current buffer (bug#28852).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-31 Alan Mackenzie <acm@muc.de>
* lisp/progmodes/cc-mode.el (c-common-init): Bind case-fold-search to nil
This fixes bug #53605.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-31 Lars Ingebrigtsen <larsi@gnus.org>
Adjust toggle-menu-bar-mode-from-frame doc string
* lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Adjust the
doc string to reflect what it does (bug#43383).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-31 Eli Zaretskii <eliz@gnu.org>
Minor copyedits of 'function-history' documentation
* doc/lispref/loading.texi (Where Defined): Fix indexing and
punctuation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix misplaced braces in loading.texi
* doc/lispref/loading.texi (Where Defined): Fix misplaced braces.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-31 Lars Ingebrigtsen <larsi@gnus.org>
Make more ranges sort properly in describe-keymap
* lisp/subr.el (keymap-canonicalize): Don't consider two-character
ranges as a range (bug#11325).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-31 Stefan Monnier <monnier@iro.umontreal.ca>
(function-history): New symbol property (bug#53632)
@@ -76451,7 +78780,7 @@
* test/lisp/loadhist-tests.el (loadhist-tests-unload-feature-nested)
(loadhist-tests-unload-feature-notnested): New tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-31 Lars Ingebrigtsen <larsi@gnus.org>
Make Gnus address checking more resilient
@@ -76459,11 +78788,11 @@
Check that we have an email address before checking the validity
(bug#53651).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-31 Lars Ingebrigtsen <larsi@gnus.org>
Clarify that INSTALL isn't for Git checkouts (bug#53627)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-31 Michael Albinus <michael.albinus@gmx.de>
Extend filelock-tests.el for bug#53207
@@ -76473,7 +78802,7 @@
Simplify.
(filelock-tests-detect-external-change): New test
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Fix artifacting on PGTK when bits are copied with an alpha channel
@@ -76482,7 +78811,7 @@
(pgtk_copy_bits): Use CAIRO_OPERATOR_SOURCE to draw onto the
destination surface.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-31 Eli Zaretskii <eliz@gnu.org>
Improve 'latin1-display-ucs-per-lynx'
@@ -76491,7 +78820,7 @@
one of them. Instead, install an ASCII equivalent of every
character that the terminal cannot display.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Implement `alpha-background' on PGTK
@@ -76512,7 +78841,7 @@
`respect_alpha_backend'. All callers changed.
* src/pgtkterm.h: Update function prototypes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Fix accesses to GTK structures on tooltip frames
@@ -76523,22 +78852,22 @@
This is now done in a better way inside xg_create_frame_widgets.
(bug#53654)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (Fx_display_visual_class): Return correct values.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Improve portability of GDK visual code
* src/gtkutil.c (xg_create_frame_widgets): Look up the visual
instead of assuming it based on the depth.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_term_init): Avoid freeze with 24-bit visuals.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Improve portability of alpha channel handling on TrueColor visuals
@@ -76556,7 +78885,7 @@
(x_make_truecolor_pixel): Stop hardcoding the value of the alpha
mask.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-31 Stefan Kangas <stefan@marxist.se>
Factor out function to check for clang in tests
@@ -76573,11 +78902,11 @@
* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test-output-parser-this-machine): Use above new function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-31 Stefan Kangas <stefan@marxist.se>
* lisp/image.el (image-map): Use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-31 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -76585,14 +78914,14 @@
6636231b2c ; * lisp/international/latin1-disp.el: Update commentary.
f22e9ba9ac Fix regression in Occur Edit mode
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Fix motion not being reported on GTK when mouse moves over toolbar
* src/gtkutil.c (xg_event_is_for_scrollbar): Make code
consistent between XI2 and Core Input.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-31 Po Lu <luangruo@yahoo.com>
Make cursor alpha consistent with a transparent background
@@ -76601,50 +78930,50 @@
* src/xterm.c (x_clear_glyph_string_rect): Don't respect
background alpha when drawing the cursor.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_xrender_color_from_gc_foreground): Fix omission error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Fix the X toolkit build
* src/xterm.c (x_after_update_window_line): Update calls to
`x_fill_rectangle'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Fix tooltip frame creation with 32-bit visuals
* src/xfns.c (x_create_tip_frame): Define CWColormap and
CWBorderPixel to use a 32-bit visual if available.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
* etc/NEWS: Announce the 'alpha-background' frame parameter.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Fix the no toolkit build.
* src/xfns.c (x_window): Use n_planes instead of CopyFromParent
for depth.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-30 Lars Ingebrigtsen <larsi@gnus.org>
Fix with-suppressed-warnings edebug spec
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Fix
edebug spec.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Fix builds without GTK
* src/xfns.c (x_set_alpha_background): Don't call
gtk_widget_set_app_paintable without GTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Implement `alpha-background' on non-Cairo builds
@@ -76674,14 +79003,14 @@
* src/xterm.h (struct x_display_info): New atom
`Xatom_net_wm_opaque_region'.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-30 Juri Linkov <juri@linkov.net>
* lisp/frame.el (undelete-frame--save-deleted-frame): Handle initial frame.
The function undelete-frame--save-deleted-frame is renamed
from undelete-frame--handle-delete-frame (bug#51883).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-30 Juri Linkov <juri@linkov.net>
* lisp/frame.el: Don't require 'frameset.el' (bug#51883).
@@ -76702,14 +79031,14 @@
* src/frame.c (frame-internal-parameters): New variable.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-30 Alan Mackenzie <acm@muc.de>
Enlarge max-specpdl-size for generation of leim-list.el in bootstrap
* leim/Makefile.in (${leimdir}/leim-list.el): Add a --eval clause to set
max-specpdl-size to 5000 (previously 2500) for this target.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Handle correctly errors during frame creation on Haiku
@@ -76719,7 +79048,7 @@
* src/haiku_support.cc (BCursor_delete): Accept NULL values of
`cursor'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Use XRender to composite fringe bitmaps
@@ -76729,14 +79058,14 @@
* src/xterm.c (x_draw_fringe_bitmap): Composite fringe bitmaps
with XRender if available.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Fix some problems with inconsistent visuals on GDK
* src/xterm.c (x_xr_ensure_picture): Use the visual GDK used
instead of our own.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-30 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -76745,14 +79074,14 @@
ed3bbeb80d Fix rendering of Malayalam script
5ef3a52342 Improve documentation of Occur mode
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-30 Po Lu <luangruo@yahoo.com>
Use consistent font when displaying menu equivalent keys on Haiku
* src/haiku_support.cc (DrawContent): Set plain font when
drawing key text.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Add support for ARGB visuals on non-Xt builds
@@ -76766,7 +79095,7 @@
* src/xterm.h (x_make_truecolor_pixel): Make colors opaque on
32-bit visuals.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Some adjustments to last change
@@ -76774,38 +79103,38 @@
Cairo builds wtihout PGTK.
* src/xfns.c (select_visual): Likewise.
-2023-04-15 HÃ¥kon Flatval <hkon20@hotmail.com>
+2022-01-29 HÃ¥kon Flatval <hkon20@hotmail.com>
Add background transparency support for GTK+Cairo
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-29 Stefan Monnier <monnier@iro.umontreal.ca>
package.el: Fix bug#53529
* lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
Enforce Unix EOLs.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-29 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-menu-bar-button): New variable (bug#51648).
(tab-bar-format-menu-bar): Use it.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-29 Juri Linkov <juri@linkov.net>
* lisp/isearch.el: Put 'isearch-scroll' property on two new symbols.
Put 'isearch-scroll' property on new commands 'recenter-other-window'
and 'context-menu-open'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-29 Lars Ingebrigtsen <larsi@gnus.org>
Modernise the security section in the efaq a bit
* doc/misc/efaq.texi (Security risks with Emacs): Remove the X
bit, and add a bit about browsing the web (bug#24489).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-29 Lars Ingebrigtsen <larsi@gnus.org>
Allow redirecting `message' output to a different buffer
@@ -76814,7 +79143,7 @@
(syms_of_xdisp): Make Vmessages_buffer_name into a defvar
(bug#27170).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-29 Eli Zaretskii <eliz@gnu.org>
Don't require mouse for prompting via dialog boxes
@@ -76826,7 +79155,7 @@
* lisp/menu-bar.el (popup-menu): Bind 'from--tty-menu-p' when
invoking a command from the menu.
-2023-04-15 Charles A. Roelli <charles@aurox.ch>
+2022-01-29 Charles A. Roelli <charles@aurox.ch>
Make revert-buffer ('g') keep point in VC diff buffers
@@ -76836,14 +79165,14 @@
(vc-diff-internal): Pass a clone of the incumbent vc-diff
buffer to 'vc-diff-finish' (bug#28852).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-29 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Fmatch_data doc string
* src/search.c (Fmatch_data): Note quirk about non-matching
optional groups in the doc string (bug#29343).
-2023-04-15 Jae-hyeon Park <jhpark@kias.re.kr> (tiny change)
+2022-01-29 Jae-hyeon Park <jhpark@kias.re.kr> (tiny change)
Make gnus-icalendar-with-decoded-handle more DWIM
@@ -76851,13 +79180,13 @@
(gnus-icalendar-with-decoded-handle): Assume that calendars with
no charset is utf-8.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Fix error after merge
* src/filelock.c (lock_file): Fix test against I_OWN_IT.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Merge from origin/emacs-28
@@ -76867,14 +79196,14 @@
# Conflicts:
# src/filelock.c
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Fix error at startup with recent change
* lisp/startup.el (normal-top-level): Don't access
`native-comp-eln-load-path' if not (featurep 'native-compile).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Fix unrelated help text tooltips if a popup is shown during the delay
@@ -76888,7 +79217,7 @@
popup menu is displayed.
(syms_of_menu): New hook `x-pre-popup-menu-hook'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-29 Eli Zaretskii <eliz@gnu.org>
Allow <Delete> key to delete entire grapheme clusters
@@ -76897,7 +79226,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-29 Eli Zaretskii <eliz@gnu.org>
Fix native-compilation at startup
@@ -76905,7 +79234,7 @@
'native-comp-eln-load-path' early into startup, then amend it
after calling 'command-line'. (Bug#53497)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Write a dummy event on each popup menu event
@@ -76917,34 +79246,34 @@
(struct haiku_dummy_event): New structure.
* src/haikuterm.c (haiku_read_socket): Handle dummy events.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-29 Eli Zaretskii <eliz@gnu.org>
Fix compiler warning due to a recent change
* src/data.c (Ffset): Avoid compiler warning about 'function'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Fix a default value of the `:underline' face attribute
* lisp/cus-face.el (custom-face-attributes): Add `:position' t
default value of "On" for underlines.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Improve menu drag tracking on Haiku
* src/haikuterm.c (haiku_read_socket): Ignore all button events
when popup_activated_p.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Make menus on Haiku work better
* src/haikuterm.c (haiku_read_socket): Don't send up events for
ungrabbed buttons.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-29 Po Lu <luangruo@yahoo.com>
Implement real menu help-echo text on Haiku
@@ -76976,7 +79305,7 @@
(haiku_process_pending_signals_for_menu): New functions.
(haiku_menu_show): Pass new callbacks.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
* src/data.c (Ffset, defalias): Complete last change
@@ -76986,14 +79315,14 @@
* src/data.c (Ffset): Don't set the `autoload` property here...
(defalias): ... set it here instead.
-2023-04-15 Hugo Heagren <hugo@heagren.com>
+2022-01-28 Hugo Heagren <hugo@heagren.com>
bind-keys-form: error for repeat sub-keywords without :repeat-map
Error descriptively if :continue or :exit is specified without
:repeat-map.
-2023-04-15 Hugo Heagren <hugo@heagren.com>
+2022-01-28 Hugo Heagren <hugo@heagren.com>
bind-key-form: allow :continue keyword inside repeat map
@@ -77004,7 +79333,7 @@
recursive uses. This allows for the same repeat map to be used for
:exit and :continue.
-2023-04-15 Hugo Heagren <hugo@heagren.com>
+2022-01-28 Hugo Heagren <hugo@heagren.com>
bind-key-form: allow :exit keyword inside repeat map
@@ -77012,7 +79341,7 @@
but do not have their repeat-map property set (so they run a function,
but 'exit' the map).
-2023-04-15 Hugo Heagren <hugo@heagren.com>
+2022-01-28 Hugo Heagren <hugo@heagren.com>
bind-keys-form: new keyword :repeat-map, for defining repeat maps
@@ -77027,7 +79356,7 @@
Rename `doc' to `prefix-doc' for clarity and consistency with
'repeat-doc'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
Reduce code duplication in parts of (auto)load&defalias
@@ -77047,14 +79376,14 @@
* src/lisp.h (defalias, load_with_autoload_queue): New declarations.
(un_autoload): Remove declaration.
-2023-04-15 Sebastian Urban <mrsebastianurban@gmail.com>
+2022-01-28 Sebastian Urban <mrsebastianurban@gmail.com>
Make where-is correctly identify aliases
* lisp/help.el (where-is): Make aliases correctly say which
function is an alias for what (bug#37325).
-2023-04-15 Sebastian Urban <mrsebastianurban@gmail.com> (tiny change)
+2022-01-28 Sebastian Urban <mrsebastianurban@gmail.com> (tiny change)
Fix manual points about tex-latex-block/latex-insert-block
@@ -77063,14 +79392,14 @@
tex-latex-block/latex-insert-block to what they really point to
(bug#37325).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-28 Lars Ingebrigtsen <larsi@gnus.org>
Improve the read-file-name doc string slightly
* lisp/minibuffer.el (read-file-name): Note that the semantics of
INITIAL are odd (bug#37883).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-28 Michael Albinus <michael.albinus@gmx.de>
Clarify where the shell-command output goes
@@ -77078,7 +79407,7 @@
* doc/emacs/misc.texi (Single Shell): Clarify where the output
goes if the specified buffer isn't the current one (bug#40896).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-28 Lars Ingebrigtsen <larsi@gnus.org>
Allow using dired-hide-details-mode in wdired buffers
@@ -77087,7 +79416,7 @@
* lisp/wdired.el (wdired-mode-map): Add a key binding.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-28 Lars Ingebrigtsen <larsi@gnus.org>
Move native-comp-eln-load-path setting earlier again
@@ -77095,7 +79424,7 @@
`native-comp-eln-load-path' earlier because hooks called may need
the setting (bug#53596).
-2023-04-15 Lele Gaifax <lele@metapensiero.it>
+2022-01-28 Lele Gaifax <lele@metapensiero.it>
Fix copyright-fix-years, use a dash to separate years in a range
@@ -77114,21 +79443,21 @@
(copyright-fix-years-tests--data):
(text-copyright-fix-years): New test cases (bug#53597).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-28 Lars Ingebrigtsen <larsi@gnus.org>
Fix merge error in doc-view-pdf/ps->png
* lisp/doc-view.el (doc-view-pdf/ps->png): Fix merge error from
previous epub patch.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-28 Po Lu <luangruo@yahoo.com>
Prevent duplicate grab setting with xwidgets
* src/xwidget.c (xwidget_show_view): Don't set passive grab if
already set.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-28 Po Lu <luangruo@yahoo.com>
Use the real cursor beneath the pointer on xwidgets
@@ -77145,27 +79474,27 @@
* src/xwidget.h (struct xwidget_view): New field
`last_crossing_cursor_signal'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-28 Po Lu <luangruo@yahoo.com>
Fix xwidget build on PGTK
* src/xwidget.c (xw_forward_event_translate): Adjust calls to
`find_widget_at_pos' for recent changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-28 Po Lu <luangruo@yahoo.com>
Fix duplicate scroll events without XI2
* src/xwidget.c (xwidget_button): Only generate scroll events
when the button was released.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
3dd47bde7a * lisp/frame.el (clone-frame): Filter out 'parent-id' (bug...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
Clear xwidget passive grab whenever a drag begins
@@ -77175,18 +79504,18 @@
* src/xwidget.h (struct xwidget_view): New field
`passive_grab_drag_signal'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Remove obsolete workaround.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
Fix inappropriate use of killed xwidgets
* src/xwidget.c (x_draw_xwidget_webkit_view): Don't record
embedder or synthesize focus events if the widget is killed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
Implement xwidget passive grabs
@@ -77199,7 +79528,7 @@
(xw_maybe_synthesize_crossing): Allow current_window to be NULL
if the mode is XW_CROSSING_LEFT.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-27 Lars Ingebrigtsen <larsi@gnus.org>
Add new switch --init-directory
@@ -77210,13 +79539,13 @@
* src/emacs.c (standard_args): Add.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-27 Glenn Morris <rgm@gnu.org>
* lisp/doc-view.el (doc-view-epub-font-size): Fix type; add version.
Flagged by test-custom-opts.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-27 Andrea Corallo <akrl@sdf.org>
Fix potential native compiler circular dependencies during load
@@ -77227,7 +79556,7 @@
(maybe_defer_native_compilation): Make use of
`startup--require-comp-safetly'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-27 Lars Ingebrigtsen <larsi@gnus.org>
Fix up previous "Quit Emacs" from menu logic
@@ -77237,7 +79566,7 @@
(save-buffers-kill-emacs): Check that we have anything to save
before prompting the user.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-27 Lars Ingebrigtsen <larsi@gnus.org>
Make the save buffers prompt from Quit Emacs menu more understandable
@@ -77249,7 +79578,7 @@
function for reuse...
(y-or-n-p): ... from here.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-27 Eli Zaretskii <eliz@gnu.org>
Improve detection of glyphless characters on TTY frames
@@ -77257,18 +79586,18 @@
which characters it has glyphs, use that to determine whether
a given character should be displayed as glyphless.
-2023-04-15 Arni Magnusson <thisisarni@gmail.com>
+2022-01-27 Arni Magnusson <thisisarni@gmail.com>
Add setx highlighting to bat-mode
* lisp/progmodes/bat-mode.el (bat-font-lock-keywords):
(bat-font-lock-keywords): Highlight setx (bug#53568).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-27 Lars Ingebrigtsen <larsi@gnus.org>
Move some of the doc-view variables around to fix load errors
-2023-04-15 Daniel Nicolai <dalanicolai@gmail.com>
+2022-01-27 Daniel Nicolai <dalanicolai@gmail.com>
Add support for EPUB, CBZ, FB2 and (O)XPS extension to doc view
@@ -77289,14 +79618,14 @@
* lisp/files.el (auto-mode-alist):
Associate new extension types with doc-view.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-27 Lars Ingebrigtsen <larsi@gnus.org>
Tweak href/superscript fix in tex-mode
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Fix
superscripts in href in a better way.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-27 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Don't output spurious prefixes in read-char-exclusive"
@@ -77305,7 +79634,7 @@
This change broke display of `C-q-' when doing the `C-q' command,
so it has to be fixed a different way.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
Improve xwidget window ancestry calculations
@@ -77315,25 +79644,25 @@
(xw_maybe_synthesize_crossing): Synthesize virtual events like
GTK does for non-linear changes.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2022-01-27 Andreas Schwab <schwab@linux-m68k.org>
* src/pdumper.c (dump_vectorlike): Handle PVEC_SYMBOL_WITH_POS.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-27 Andrea Corallo <akrl@sdf.org>
* Fix `startup--honor-delayed-native-compilations' for (bug#53497)
* lisp/startup.el (startup--honor-delayed-native-compilations): Don't
forget to set `comp--loadable' when `comp--delayed-sources' is empty.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-27 Andrea Corallo <akrl@sdf.org>
* Have `benchmark-run-compiled' use the native compiler when available
* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled): Use native
compiler when available.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -77343,11 +79672,11 @@
# Conflicts:
# test/lisp/textmodes/fill-tests.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
* lisp/xwidget.el (xwidget-webkit-edit-mode-map): Pass C-backspace.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-27 Po Lu <luangruo@yahoo.com>
Implement crossing event generation between windows for xwidgets on X
@@ -77363,7 +79692,7 @@
* src/xwidget.h (struct xwidget_view): New field
`last_crossing_window'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-26 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler slightly in tests
@@ -77373,7 +79702,7 @@
(comp-tests-discardn-f, comp-test-42360-f, comp-test-46824-1-f)
(comp-test-silly-frame2): Silence byte-compiler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-26 Stefan Kangas <stefan@marxist.se>
Don't use obsolete second argument to byte-compile-file
@@ -77381,80 +79710,80 @@
(comp-test-big-interactive): Don't use obsolete second argument to
byte-compile-file.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-26 Stefan Kangas <stefan@marxist.se>
Don't discourage auto-mode-alist entries in autoloads
* lisp/files.el (auto-mode-alist, interpreter-mode-alist): Delete
comment discouraging entries in autoload directives. (Bug#8158)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Improve XI2 valuator reset logic
* src/xterm.c (handle_one_xevent): Clear valuators on XI_Leave
instead of XI_Enter.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_focus_frame): Set input focus on outer window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Get rid of unnecessary draw locking in haikumenu.c
* src/haikumenu.c (Fhaiku_menu_bar_open): Stop holding the draw
lock.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Apply fix for bug#52761 to GTK native input as well
* src/xgselect.c (xg_select): Apply said fix on regular GTK
builds when native input is being used.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-26 Glenn Morris <rgm@gnu.org>
* Makefile.in (install-etc): Remove unnecessary chown.
Not needed since this rule was changed to not use tar, 2012-05-11.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-26 Lars Ingebrigtsen <larsi@gnus.org>
Make smerge-refine-ignore-whitespace into defcustom
* lisp/vc/smerge-mode.el (smerge-refine-ignore-whitespace): Make
into defcustom (bug#12585).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-26 Mattias Engdegård <mattiase@acm.org>
Add tests for concat, vconcat and append
* test/src/fns-tests.el (fns-tests-concat)
(fns-concat, fns-vconcat, fns-append): New.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-26 Mattias Engdegård <mattiase@acm.org>
Minor `concat` tweaks
* src/fns.c (concat): Do things in the right order for speed.
(concat_strings): Initialise variable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-26 Lars Ingebrigtsen <larsi@gnus.org>
Fix copyright-find-copyright when searching from the end
* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
the double check also work when searching from the end (bug#7179).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-26 Lars Ingebrigtsen <larsi@gnus.org>
Fix copyright.el comment and add a test
* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Fix
comment (bug#7179).
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-01-26 Sean Whitton <spwhitton@spwhitton.name>
Fix input of sharp-quoted symbols in Eshell with em-extpipe
@@ -77464,28 +79793,28 @@
* test/lisp/eshell/em-extpipe-tests.el (em-extpipe-test-17): New
test (bug#53518).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-26 Michael Albinus <michael.albinus@gmx.de>
Adapt tramp-tests
* test/lisp/net/tramp-tests.el (tramp--test-special-characters):
Adapt test candidates.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-26 Michael Albinus <michael.albinus@gmx.de>
Fix insert-file-contents for tramp-crypt
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
Use `tramp-handle-insert-file-contents'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Add workaround for super modifier misconfiguration to non-XKB code
* src/xterm.c (x_find_modifier_meanings): Don't let a modifier
be both Hyper and Super.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-26 Andrea Corallo <akrl@sdf.org>
Make use of NILP where possible
@@ -77497,34 +79826,34 @@
* src/cygw32.c (Fcygwin_convert_file_name_to_windows)
(Fcygwin_convert_file_name_from_windows): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Simplify Haiku scrolling code
* src/haikuterm.c (haiku_scroll_run): Remove code that can never
be reached since Cairo frames are always double buffered.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Fix GTK menu bar height reporting when scaled
* src/gtkutil.c (xg_update_frame_menubar): Multiply requisition
height by GDK scale.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-26 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
7eca80b204 ; * src/composite.c (syms_of_composite) <auto-composition-...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-26 Po Lu <luangruo@yahoo.com>
Simplify Haiku underline code
* src/haikuterm.c (haiku_draw_text_decoration): Remove code left
over from when mouse face had to be set manually.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-25 Po Lu <luangruo@yahoo.com>
Make `haiku-menu-bar-open' faster
@@ -77533,11 +79862,11 @@
* src/haikuterm.c (haiku_read_socket): Don't update menu bar if
b->no_lock.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-25 Stefan Kangas <stefan@marxist.se>
* src/image.c (parse_image_spec): Use NILP.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-25 Lars Ingebrigtsen <larsi@gnus.org>
Improve how change-log-mode fills all-file-name lines
@@ -77545,35 +79874,35 @@
improve how we fill all-file-name ChangeLog lines (bug#19341).
(change-log-indent): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix up Gnus FAQ entry
* doc/misc/gnus-faq.texi (FAQ 3-9): Remove mention of
nnimap-list-pattern, which was removed some years ago (bug#53522).
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-25 Andrea Corallo <akrl@sdf.org>
* src/comp.c (emit_lisp_obj_rval): Make use of NILP.
;* src/fns.c (concat_strings): Add missing space.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
* src/comp.c (emit_limple_insn): Fix another int/Lisp_Object mixup
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-25 Glenn Morris <rgm@gnu.org>
Tag an mml-sec test
* test/lisp/gnus/mml-sec-tests.el (mml-secure-en-decrypt-3):
Tag unstable on hydra.nixos.org due to repeated intermittent failures.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-25 Andrea Corallo <akrl@sdf.org>
* src/fns.c (concat_strings): Clean-up unused variable.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-25 Andrea Corallo <akrl@sdf.org>
* `batch-byte+native-compile' produce .eln younger than .elc (bug#52912)
@@ -77582,15 +79911,15 @@
(batch-byte+native-compile): Touch the produced .eln after the
corresponding .elc is produced.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-25 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/comp.el (batch-byte+native-compile): Fix unwind form
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
* src/lisp.h (lisp_h_EQ, lisp_h_NILP): Fix length and indent
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-25 Mattias Engdegård <mattiase@acm.org>
Faster concat, append, vconcat, copy-sequence, etc
@@ -77612,7 +79941,7 @@
(concat): Strip code for string target, simplify, optimise.
(Fcopy_alist): Use Fcopy_sequence.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-25 Lars Ingebrigtsen <larsi@gnus.org>
Don't mutate literals in tabulated-list-widen-current-column
@@ -77620,7 +79949,7 @@
(tabulated-list-widen-current-column): Avoid mutating constants
(bug#53501).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-25 Lars Ingebrigtsen <larsi@gnus.org>
Fix widening some columns in tabulated-list-widen-current-column
@@ -77628,7 +79957,7 @@
(tabulated-list-widen-current-column): Don't bug out on list-based
columns (bug#53498).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-25 Jim Porter <jporterbugs@gmail.com>
Treat "-" as a positional arg in 'eshell-eval-using-options'
@@ -77640,7 +79969,7 @@
* test/lisp/eshell/esh-opt-tests.el
(esh-opt-test/eval-using-options-stdin): New test.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-25 Jim Porter <jporterbugs@gmail.com>
Don't manipulate args in-place for 'eshell-eval-using-options'
@@ -77677,14 +80006,14 @@
* test/lisp/eshell/em-tramp-tests.el: New tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-25 Lars Ingebrigtsen <larsi@gnus.org>
Improve the term-clear-full-screen-programs doc string
* lisp/term.el (term-clear-full-screen-programs): Improve the doc
string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-25 Po Lu <luangruo@yahoo.com>
Improve reliability of menu bar updates on Haiku
@@ -77701,32 +80030,32 @@
* src/haikuterm.c (haiku_read_socket): Always update menu bar
and signal the window thread after update completion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-25 Po Lu <luangruo@yahoo.com>
* src/haiku_support.cc (Highlight): Send events if !highlight_p.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-25 Po Lu <luangruo@yahoo.com>
Don't send menu help events on Haiku if the pointer isn't in the menu
* src/haiku_support.cc (Highlight): Only send help events
if the mouse cursor is actually in the menu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-25 Po Lu <luangruo@yahoo.com>
Fix tool bar size reporting on GTK when the display is scaled
* src/gtkutil.c (xg_update_tool_bar_sizes): Multiply sizes to
turn them into device pixels.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-25 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
c34d06e3d7 * configure.ac (LIBSECCOMP): Bump minimum version for facc...
335a5a9e0f Make the `f' command work in image-mode again
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-24 Po Lu <luangruo@yahoo.com>
Improve portability of X11 IM code
@@ -77734,7 +80063,7 @@
* src/xfns.c (Xxic_preedit_start_callback): Use XICCallback if
present.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-24 Stefan Monnier <monnier@iro.umontreal.ca>
Remove some dubious uses of `interactive-form`
@@ -77743,7 +80072,7 @@
* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
Prefer `commandp` over `interactive-form`.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-24 Po Lu <luangruo@yahoo.com>
Fix invalid picture after toggling the tool bar or menu bar on GTK
@@ -77751,14 +80080,14 @@
(handle_one_xevent): Call x_drop_xrender_surfaces instead of
just font_drop_xrender_surfaces.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-24 Po Lu <luangruo@yahoo.com>
Fix GTK native input on scaled displays
* src/xfns.c (xic_set_preeditarea): Scale preedit spot rectangle
before giving it to GTK.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-01-24 Sean Whitton <spwhitton@spwhitton.name>
Add Eshell syntax to more easily bypass Eshell's own pipelining
@@ -77768,7 +80097,7 @@
* test/lisp/eshell/em-extpipe-tests.el: New tests.
* lisp/eshell/esh-module.el (eshell-modules-list): Add `eshell-extpipe'.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-01-24 Sean Whitton <spwhitton@spwhitton.name>
Rework eshell-match-result for testing asynchronous commands
@@ -77784,31 +80113,31 @@
* test/lisp/eshell/eshell-tests.el (eshell-test/flush-output): Update
and simplify test given how eshell-match-result no longer moves point.
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-01-24 Sean Whitton <spwhitton@spwhitton.name>
Move Eshell test helpers to their own file
* test/lisp/eshell/eshell-tests.el:
* test/lisp/eshell/eshell-tests-helpers.el: Move helpers to own file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Make hi-lock-face-defaults into a defcustom
* lisp/hi-lock.el (hi-lock-face-defaults): Make into defcustom.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-24 Juri Linkov <juri@linkov.net>
* lisp/hi-lock.el (hi-lock-use-overlays): New variable.
(hi-lock-set-pattern): Use it. Set overlay priority to 1.
(bug#53155)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS entry for term-clear-full-screen-programs
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-01-24 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Implement alternative sub-buffer support in term.el
@@ -77824,7 +80153,7 @@
function to enter or leave an alternative sub-buffer.
bug#53485
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-24 Juri Linkov <juri@linkov.net>
* lisp/info.el (Info-link-keymap): Fix repetitive clicks on the header line.
@@ -77833,25 +80162,25 @@
but also allows repetitively clicking on the Next button
on the Info header line (bug#53170).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't list the default hi-lock faces twice in the future history
* lisp/hi-lock.el (hi-lock-read-face-name): Don't include faces
twice in the defaults (bug#19877).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix gnus-article-truncate-lines doc string
* lisp/gnus/gnus-art.el (gnus-article-truncate-lines): Fix doc
string.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-24 Juri Linkov <juri@linkov.net>
* etc/NEWS: Mention 'replace-regexp-function' (bug#52558).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-24 Juri Linkov <juri@linkov.net>
* lisp/faces.el (read-face-name): Support a list of defaults for M-n.
@@ -77859,13 +80188,13 @@
in the "future history" of the minibuffer retrieved by `M-n M-n ...'.
(bug#53255)
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-24 Glenn Morris <rgm@gnu.org>
* lisp/minibuffer.el (completions-sort): Fix type.
Flagged by test-custom-opts.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't output spurious prefixes in read-char-exclusive
@@ -77875,20 +80204,20 @@
to avoid outputting prefixes we're not going to act on anyway
(bug#19718).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow sorting in electric-buffer-list with `S'
* lisp/ebuff-menu.el (electric-buffer-menu-mode-map): Add the `S'
sorting command here, too (bug#20178).
-2023-04-15 Amin Bandali <bandali@gnu.org>
+2022-01-24 Amin Bandali <bandali@gnu.org>
ERC: Add new comaintainer, F. Jason Park
* lisp/erc/erc*.el: Add J.P. as my comaintainer to headers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix \href{a_b} in tex-mode
@@ -77896,7 +80225,7 @@
href parameters like constants so that _ aren't fontified like
subscripts.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix tex-mode handling of _ chars in href{} commands"
@@ -77904,25 +80233,25 @@
This will be fixed a different way.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Add derived-mode test for bug#24176
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Make anonymous functions work in auto-mode-alist
* lisp/files.el (set-auto-mode--apply-alist): Don't infloop on
anonymous functions in auto-mode-alist (bug#20709).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't loop so much in gud-query-cmdline on remote systems
* lisp/progmodes/gud.el (gud-query-cmdline): Avoid looping over
large numbers of files on remote systems (bug#21528).
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-01-24 Protesilaos Stavrou <info@protesilaos.com>
Make Completions sorting a user option
@@ -77931,7 +80260,7 @@
(minibuffer-completion-help): Implement it for the Completions
buffer. (Bug#53362)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow jumping to ert failure definitions
@@ -77946,15 +80275,15 @@
Based on code by Phillip Lord <phillip.lord@russet.org.uk>.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2022-01-24 Yuuki Harano <masm+github@masm11.me>
* configure.ac: Remove forgotten GLIB_GSETTINGS call
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Add NEWS item for `I' command
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Add a *Help* command that'll take you to the lispref manual
@@ -77964,7 +80293,7 @@
* lisp/info-look.el (:mode): Add an entry for the lispref manual.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix tex-mode handling of _ chars in href{} commands
@@ -77972,21 +80301,21 @@
(bug#23102).
(tex-font-lock-suscript): Don't subscript _ chars in href.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Make `font-lock-add-keywords' work in derived modes
* lisp/font-lock.el (font-lock-set-defaults): Make
`font-lock-add-keywords' work in derived modes (bug#24176).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-24 Po Lu <luangruo@yahoo.com>
Remove redundant declarations from keyboard.h that are now in lisp.h
* src/keyboard.h (process_pending_signals)
(pending_signals): Remove declarations.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Inline maybe_quit
@@ -77996,7 +80325,7 @@
* src/eval.c (maybe_quit): Rename to `probably_quit`.
* src/lisp.h (maybe_quit): New simplified inline function.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Bump specpdl inline, move reallocation out of line
@@ -78006,7 +80335,7 @@
* src/eval.c (grow_specpdl): Now inline, most code moved...
(grow_specpdl_allocation): ...here.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Implement Ffuncall in terms of funcall_general
@@ -78015,7 +80344,7 @@
This slows down some less used function call paths by a small amount
but the code duplication was just silly.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Open-code aref and aset in bytecode interpreter
@@ -78023,7 +80352,7 @@
vectors and records, since this is important for code that makes heavy
use of arrays and/or objects.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Remove the unused unbind-all bytecode
@@ -78038,7 +80367,7 @@
Remove definition and implementation of unbind-all, freeing up the opcode
for other purposes.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Move a runtime interpreter check to debug mode
@@ -78047,7 +80376,7 @@
enabled, or BYTE_CODE_SAFE enabled). This improves speed in several
ways.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Remove nil check in exec_byte_code
@@ -78061,13 +80390,13 @@
always a small integer, in exec_byte_code and
fetch_and_exec_byte_code, all callers adjusted.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Byte code arity check micro-optimisation
* src/bytecode.c (exec_byte_code): Slight simplification.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Pin bytecode strings to avoid copy at call time
@@ -78093,7 +80422,7 @@
* src/lisp.h (Lisp_String): Explain special size_byte values.
(string_immovable_p): New.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Inline setcar and setcdr in byte-code interpreter
@@ -78103,7 +80432,7 @@
* src/bytecode.c (exec_byte_code):
Inline code from Fsetcar and Fsetcdr.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Inline fixnum operations in bytecode interpreter
@@ -78114,7 +80443,7 @@
operations with fixnum results: =, >, <, <=, >=, -, +, -, *, /, %, max
and min.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-24 Mattias Engdegård <mattiase@acm.org>
Short-circuit the recursive bytecode funcall chain
@@ -78131,21 +80460,21 @@
(funcall_general): New function, essentially the meat of Ffuncall.
* src/lisp.h (backtrace_debug_on_exit): Moved here from eval.c.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Add "then" to sh--completion-keywords
* lisp/progmodes/sh-script.el (sh--completion-keywords): Allow
completing over "then" (bug#53490).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix Gnus registry key bindings
* lisp/gnus/gnus-registry.el (gnus-registry-install-shortcuts):
Don't overwrite all other M M commands (bug#53492).
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2022-01-24 Martin Rudalics <rudalics@gmx.at>
Orderly inhibit frame resizing when activating tool or tab bar (Bug#52986)
@@ -78156,29 +80485,29 @@
activation resizes the frame despite of the fact that
'frame-inhibit-implied-resize' should prevent it (Bug#52986).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-24 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_composite_image): Use the display's picture format.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-24 Po Lu <luangruo@yahoo.com>
Scale coordinates when checking if a touch event falls inside menu bar
* src/xterm.c (handle_one_xevent): Apply scale to touch event
coordinates before intersecting them with the menu bar.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-24 Paul Eggert <eggert@cs.ucla.edu>
Avoid glitches in ELC lines in build output
* src/verbose.mk.in (AM_V_ELC, AM_V_ELN): Use ifneq not ifdef, as
we want have_working_info’s value expanded (Bug#53358).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-23 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Drop frame picture on configure.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-23 Po Lu <luangruo@yahoo.com>
Add some code for transparent frame backgrounds without Cairo
@@ -78217,14 +80546,14 @@
add new field `pict_format'.
(struct x_output): New field `picture'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-23 Po Lu <luangruo@yahoo.com>
Get rid of compose status on XI2
* src/xterm.c (handle_one_xevent): Stop assuming compose
processing will occur on XI2.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-23 Alan Mackenzie <acm@muc.de>
Expunge read-with-symbol-position and read-symbol-positions-list
@@ -78238,21 +80567,21 @@
* lisp/emacs-lisp/bytecomp.el (compile-defun, byte-compile-from-buffer):
Remove bindings of the variables.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-23 Po Lu <luangruo@yahoo.com>
Set IC preedit area on ConfigureNotify
* src/xterm.c (handle_one_xevent): Set the preedit spot when a
ConfigureNotify event is received.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-23 Alan Mackenzie <acm@muc.de>
Bind print-symbols-bare to t in byte-compile-from-buffer
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Bind
print-symbols-bare to t here for the benefit of non-defining forms in buffers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Make message in hack-local-variables-confirm clearer
@@ -78260,14 +80589,14 @@
.dir-locals.el file in the message to be slightly less confusing
(bug#27066).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-x M-x insert-kbd-macro RET RET' work better
* lisp/macros.el (insert-kbd-macro): Don't give bogus output on
names that have no function definition (bug#30309).
-2023-04-15 Thuna <thuna.cing@gmail.com> (tiny change)
+2022-01-23 Thuna <thuna.cing@gmail.com> (tiny change)
Fix tabulated-list-widen-current-column widening wrong column
@@ -78275,7 +80604,7 @@
comparison operation when checking if point is within the column
bounds (bug#53375).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Allow using outline minor mode in `M-x apropos-value'
@@ -78286,14 +80615,14 @@
(apropos-value-internal): Escape newlines so that no values can be
confused for headings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Make apropos-print-doc more resilient
* lisp/apropos.el (apropos-print-doc): Don't bug out on doc
strings that have invalid command key syntaxes.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-23 Brian Leung <bkleung89@gmail.com>
Properly check the completionitem.deprecated property
@@ -78301,7 +80630,7 @@
is `t'. We do this so that a :deprecated property of :json-false does
not cause a completion candidate to be incorrectly marked as deprecated.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-23 Alan Mackenzie <acm@muc.de>
Fix position argument to macroexp--warn-wrap in cconv--convert-funcbody
@@ -78309,7 +80638,7 @@
argument to macroexp--warn-wrap from BODY to ARG, to give correct positions in
warning messages.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Improve `M-x speedbar' under emacs -nw very slightly
@@ -78317,52 +80646,52 @@
seem to do anything visible under -nw, so issue a message in that
case to tell the user how to proceed (bug#32597).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Make kill-process into a command
* doc/lispref/processes.texi (Signals to Processes): Document it.
* src/process.c (Fkill_process): Make into a command (bug#32640).
-2023-04-15 Phil Sainty <psainty@orcon.net.nz>
+2022-01-23 Phil Sainty <psainty@orcon.net.nz>
Add new function to prompt a user for a process name
* lisp/emacs-lisp/subr-x.el (read-process-name): New function
(bug#32640).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-23 Po Lu <luangruo@yahoo.com>
Make sure cursors are drawn correctly after haiku_clear_frame
* src/haikuterm.c (haiku_clear_frame): Mark all cursors as off.
-2023-04-15 Alex Kost <alezost@gmail.com>
+2022-01-23 Alex Kost <alezost@gmail.com>
Improve scheme-imenu-generic-expression
* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
Improve so that we match `define-public' etc (bug#33117).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Make occur edit mode more resilient
* lisp/replace.el (occur-engine): Make the prefix read-only so
that it's preserved in edit mode (bug#53419).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-23 Lars Ingebrigtsen <larsi@gnus.org>
Revert the other bits related to `load-read-file'
* src/lread.c (syms_of_lread): Revert the other bits related to
reverting `byte-compile-from-buffer'/`load-read-file'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-23 Po Lu <luangruo@yahoo.com>
Fix menus on the no-toolkit build when using XI2
@@ -78371,25 +80700,25 @@
actually grabbed.
(x_menu_show): Release XI2 passive grab.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-23 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
6d3608be88 Seccomp: improve support for newer versions of glibc (Bug#...
e58ecd01d5 EUDC: Fix a quoting bug in the BBDB backend
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Fix documentation formatting error
* doc/lispref/streams.texi (Input Functions): Remove extraneous
@end defun.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
* src/haikumenu.c (run_menu_bar_help_event): Fix bounds sanity check.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Clean up some of the X extension related code
@@ -78400,22 +80729,22 @@
* src/xterm.h (struct x_display_info): New fields for xfixes
support.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_flash): Fix input blocking.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-22 Eli Zaretskii <eliz@gnu.org>
Minor copyedits in "Symbols with Position"
* doc/lispref/symbols.texi (Symbols with Position): Fix wording
and improve indexing.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-22 Alan Mackenzie <acm@muc.de>
Merge branch 'master' of /home/acm/emacs/emacs.git/master
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-22 Alan Mackenzie <acm@muc.de>
Don't use 'load-read-function' in byte-compile-from-buffer
@@ -78424,18 +80753,18 @@
it. This is so that a lower level use of load-read-function will not return a
form containing symbols with position.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-22 Alan Mackenzie <acm@muc.de>
Merge branch 'scratch/correct-warning-pos'
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix print-unreadable-function documentation
* doc/lispref/streams.texi (Output Variables): Fix description of
non-string values.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-22 Michael Albinus <michael.albinus@gmx.de>
Add direct remote copying in Tramp's scp support
@@ -78462,14 +80791,14 @@
(tramp-read-passwd-without-cache): New defun.
(tramp-action-password): Call it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Mark nil vc-follow-symlinks as safe
* lisp/vc/vc-hooks.el (vc-follow-symlinks): A nil value should be
safe for file-local (bug#33264).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Use load-read-function in byte-compile-from-buffer
@@ -78478,14 +80807,14 @@
* src/lread.c (syms_of_lread): Adjust doc string (bug#33723).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Vprint_unreadable_function doc string
* src/print.c (syms_of_print): Clarify Vprint_unreadable_function
doc string
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-22 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'unprintable' stuff
@@ -78494,7 +80823,7 @@
Improve the documentation of 'print-unreadable-function' and
'readablep'. Add indexing and cross-references.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Improve dired-do-create-files slightly
@@ -78502,21 +80831,21 @@
the doc string (bug#35367). Suggested by Mike Kupfer
<mkupfer@alum.berkeley.edu>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Speed up multisession--set-value-sqlite slightly
* lisp/emacs-lisp/multisession.el
(multisession--set-value-sqlite): Use `readablep'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Add new function 'readablep'
* doc/lispref/streams.texi (Input Functions): Document it.
* lisp/subr.el (readablep): New function (bug#52566).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Add new variable print-unreadable-function
@@ -78526,21 +80855,21 @@
(syms_of_print): New variable print-unreadable-function
(bug#52566).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Add some menu bar help code on GNUstep
* src/nsmenu.m ([EmacsMenu menu:willHighlightItem:]): Implement
help event generation for GNUstep.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Fix PGTK build with xwidgets
* src/xwidget.c: Swap some preprocessor definitions around.
Reported by Iñigo Serna <inigoserna@gmail.com>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Fix GNUstep build warnings
@@ -78549,7 +80878,7 @@
([EmacsMenu menuHasKeyEquivalent:forEvent:target:action:])
([EmacsMenu numberOfItemsInMenu:]): New methods.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix HTML target marking in shr
@@ -78558,7 +80887,7 @@
the end of the tag (bug#53409).
(shr-tag-a): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Put the old label into the future history in reftex-change-label
@@ -78566,32 +80895,32 @@
old label into the future history so that it can be edited easily
(bug#53417).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Fix the prompt in hi-lock-read-face-name
* lisp/hi-lock.el (hi-lock-read-face-name): Fix the prompt after
recent changes (bug#53255).
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-01-22 Matthias Meulien <orontee@gmail.com>
Fix some doc strings in outline.el
* lisp/outline.el (outline-default-state): Fix doc string.
(outline-default-rules): Fix doc string.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-22 Alan Mackenzie <acm@muc.de>
Merge branch 'master' into scratch/correct-warning-pos
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-22 Lars Ingebrigtsen <larsi@gnus.org>
Make the test for existing multisession variables more sensible
* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Unconfuse the code.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-22 Alan Mackenzie <acm@muc.de>
Miscellaneous amendments to the scratch/correct-warning-pos branch
@@ -78619,7 +80948,7 @@
* doc/lispref/symbols.texi (Symbols): Add new menu entry.
(Symbols with Position): New @section.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-22 Eli Zaretskii <eliz@gnu.org>
Improve detection of suspicious uses of bidi controls
@@ -78631,38 +80960,38 @@
Enable the test that was previously failing with
'bidi-find-overridden-directionality'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Prevent raw bytes from being displayed as help text on Haiku
* src/haikumenu.c (digest_menu_items): Don't set encoded text
into the menu item vector.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Use locale coding system to decode XIM preedit text
* src/xfns.c (x_xim_text_to_utf8_unix): XIMs typically return
text in the locale coding system, so use that instead.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-22 Eli Zaretskii <eliz@gnu.org>
Change visibility of "Undelete Frame"
* lisp/menu-bar.el (menu-bar-file-menu): Make "Undelete Frame"
always visible. Suggested by Gregory Heytings <gregory@heytings.org>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-22 Po Lu <luangruo@yahoo.com>
Get rid of some unnecessary code in handle_one_xevent
* src/xterm.c (handle_one_xevent): Stop mutating event->xkey.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-21 Stefan Kangas <stefankangas@gmail.com>
* eglot.el (eglot-handle-notification): silence byte-compiler.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-21 Brian Leung <bkleung89@gmail.com>
Add support for optional completionitem.tags
@@ -78677,7 +81006,7 @@
* Makefile (ELPA_DEPS): Require latest seq.el.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-21 Stefan Kangas <stefankangas@gmail.com>
Don't use :exclusive no
@@ -78689,7 +81018,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/812
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Fix recent changes to visible bell code
@@ -78700,7 +81029,7 @@
(xg_update_horizontal_scrollbar_pos): Ensure such a window here
instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Clean up visible bell code on X
@@ -78710,7 +81039,7 @@
* src/xterm.c (XTflash): Remove use of GDK functions for
drawing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Fix crash when the visible bell is rung but there is no cairo surface
@@ -78718,7 +81047,7 @@
not present. (bug#53420)
(pgtk_cr_update_surface_desired_size): Reformat comment.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-21 Paul Eggert <eggert@cs.ucla.edu>
Avoid glitches in ELC lines in build output
@@ -78726,46 +81055,46 @@
(AM_V_ELC, AM_V_ELN): Use 'echo' rather than $(info ...)
on buggy versions of GNU Make.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-21 Paul Eggert <eggert@cs.ucla.edu>
Simplify AM_V_ELC setup
* src/verbose.mk.in (AM_V_ELC, AM_V_ELN): Use simpler Make ‘if’s.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-21 Glenn Morris <rgm@gnu.org>
* lisp/cus-start.el (polling-period): Update type.
Flagged by test-custom-opts.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-21 Glenn Morris <rgm@gnu.org>
* src/keyboard.c (start_polling): Fix type mixup.
Flagged by --enable-check-lisp-object-type.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Disable background image fetching from asking for passwords
* lisp/url/url-queue.el (url-queue-start-retrieve): Inhibit
prompting for passwords from these background requests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Further emake tweaks
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous emake change
* admin/emake (cores): Fix typo in previous change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
* src/keyboard.c (syms_of_keyboard): Fix build without input polling.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Improve the completion-category-overrides doc string
@@ -78773,21 +81102,21 @@
this variable does (bug#22324).
(completion-category-defaults): Mention the overrides variable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Remove text mistakenly added to the diff--iterate-hunks doc string
* lisp/vc/diff-mode.el (diff--iterate-hunks): Remove text added by
mistake to the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Followup fix to previous message-update-smtp-method-header change
* lisp/gnus/message.el (message-update-smtp-method-header): Narrow
to the headers first.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Allow From to be part of message-hidden-headers
@@ -78795,7 +81124,7 @@
bug out if the From header is part of `message-hidden-headers'
(bug#52871).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-21 Jim Porter <jporterbugs@gmail.com>
Don't use 'eshell-eval-using-options' for 'eshell/source' or 'eshell/.'
@@ -78808,7 +81137,7 @@
* etc/NEWS: Announce the change (bug#53293)
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-21 Jim Porter <jporterbugs@gmail.com>
Raise an error from 'eval-eval-using-options' for unknown options
@@ -78820,21 +81149,21 @@
* test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test)
(test-eshell-eval-using-options): Add test cases for this.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-01-21 Theodor Thornhill <theo@thornhill.no>
Fix indentation in NEWS of cl-flet item
* etc/NEWS: Correct description of indentation of 'cl-flet' and
'cl-labels (bug#53410).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Splitting Mail in the Gnus manual
* doc/misc/gnus.texi (Splitting Mail): Clarify what happens when
crossposting or not (bug#53307).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Interpret a "" value of EMACS_TEST_VERBOSE as "off"
@@ -78842,7 +81171,7 @@
* lisp/emacs-lisp/ert.el (ert-run-tests-batch): Allow overriding
the EMACS_TEST_VERBOSE variable by setting it to "" (bug#53313).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Make the edebug-all-defs user option work more reliably
@@ -78850,7 +81179,7 @@
has no effect unless edebug is loaded (because that loads the
advice needed for the commands in question) (bug#53331).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Make xwidgets work on builds that don't use Cairo drawing
@@ -78861,35 +81190,35 @@
* src/xwidget.c: Always include cairo-xlib headers when xwidgets
are enabled.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Clean up mm-display-inline-fontify slightly
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove some
left-over compat code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Make diff--iterate-hunks more resilient
* lisp/vc/diff-mode.el (diff--iterate-hunks): Ignore malformed
hunks instead of signalling errors (bug#53343).
-2023-04-15 Shuguang Sun <shuguang79@qq.com>
+2022-01-21 Shuguang Sun <shuguang79@qq.com>
Use the correct converter for odf files in doc-view
* lisp/doc-view.el (doc-view-pdf/ps->png): Use the correct
converter for odf files (bug#53354).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Update multisession variables when editing the values
* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Update multisession variables when editing the values (bug#53361).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-21 Jim Porter <jporterbugs@gmail.com>
Further improve determination of when commands can be invoked directly
@@ -78903,18 +81232,18 @@
* test/lisp/eshell/eshell-tests.el
(eshell-test/interp-cmd-external-concat): New test (bug#30725).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-21 Lars Ingebrigtsen <larsi@gnus.org>
Adjust emake after recent changes
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Synchronize XI2 code with Core Input code
* src/xterm.c (handle_one_xevent): Apply recent changes for XI2
events as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Merge from origin/emacs-28
@@ -78922,7 +81251,7 @@
ba57b78064 Fix execute-extended-command-for-buffer in fundamental-mode
ef0c1d4c2c Add workaround to handle a problem with Enlightenment WM (...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-21 Po Lu <luangruo@yahoo.com>
Work around GTK changing window backgrounds on colormapped displays
@@ -78930,13 +81259,13 @@
(x_clear_area): Fill the contents with the reverse GC instead of
using XClearArea and XClearWindow when not double buffered.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Fix BadValue crash when looking up empty color names on some X servers
* src/xterm.c (x_parse_color): Avoid parsing empty color names.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-01-20 Dmitry Gutov <dgutov@yandex.ru>
ruby-toggle-block-space-before-parameters: New user option
@@ -78947,7 +81276,7 @@
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-toggle-block-to-brace-no-space): New test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Update menu bars when `use-system-tooltips' changes on Haiku
@@ -78955,7 +81284,7 @@
for `use-system-tooltips'.
(haiku-use-system-tooltips-watcher): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Allow fractional values of `polling-period'
@@ -78969,7 +81298,7 @@
(syms_of_keyboard): Make `polling-period' a Lisp variable
instead of an int variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Avoid FOCUS_IN_EVENTS not being sent on NS
@@ -78977,7 +81306,7 @@
emacs_event being NULL by storing focus in events directly
into the keyboard buffer. (bug#52376)
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-01-20 Theodor Thornhill <theo@thornhill.no>
Enable lsp project-wide diagnostics via flymake
@@ -78997,7 +81326,7 @@
* NEWS.md: Mention the new functionality
* README.md: Mention the new functionality
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-20 Alan Mackenzie <acm@muc.de>
In early bootstrap, use byte-compiled compiler to native compile first files
@@ -79015,7 +81344,7 @@
* src/verbose.mk.in: When ANCIENT is yes, output ELC, not ELC+ELN for
AM_V_ELC.
-2023-04-15 Arash Esbati <arash@gnu.org>
+2022-01-20 Arash Esbati <arash@gnu.org>
Remove matching of whitespaces in LaTeX environment names
@@ -79023,7 +81352,7 @@
arbitrary number of whitespaces in LaTeX environment names.
(bug#53390)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-20 Eli Zaretskii <eliz@gnu.org>
Update documentation of 'clone-indirect-buffer-hook'
@@ -79035,7 +81364,7 @@
* lisp/face-remap.el (face-attrs--make-indirect-safe): Doc fix.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Make textsec-link-suspicious-p less mistrustful
@@ -79043,7 +81372,7 @@
back the suspicion -- only warn about texts that contain a full
explicit link.
-2023-04-15 Thuna <thuna.cing@gmail.com> (tiny change)
+2022-01-20 Thuna <thuna.cing@gmail.com> (tiny change)
Fix tabulated-list-widen-current-column widening wrong column
@@ -79051,21 +81380,21 @@
for the padding and the content width when calculating column
width (bug#53375).
-2023-04-15 Peter Münster <pm@a16n.net>
+2022-01-20 Peter Münster <pm@a16n.net>
Make image-dired-delete-marked more resilient
* lisp/image-dired.el (image-dired-delete-marked): Don't bug out
on empty buffers (bug#53385).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix thinko in previous hi-lock-read-face-name change
* lisp/hi-lock.el (hi-lock-read-face-name): Fix the string/symbol
logic.
-2023-04-15 Andrew Hyatt <ahyatt@gmail.com>
+2022-01-20 Andrew Hyatt <ahyatt@gmail.com>
Fix indirect font changes incorrectly affecting original buffer
@@ -79080,7 +81409,7 @@
place where the clone-indirect-buffer-hook variable is defined, so
that we can call it from C.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-20 Jim Porter <jporterbugs@gmail.com>
Consider subcommands when deciding to invoke Eshell command directly
@@ -79099,7 +81428,7 @@
(eshell-command-result-p): Use 'eshell-wait-for-subprocess'.
(eshell-test/interp-cmd-external): New test (bug#30725).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Rename the textsec-check function to textsec-suspicious-p
@@ -79112,7 +81441,7 @@
(Suspicious Text): Rename the textsec-check function to
textsec-suspicious-p.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Make the read-face-name completion buffer display samples
@@ -79121,28 +81450,28 @@
* lisp/hi-lock.el (hi-lock-read-face-name): Use read-face-name.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Improve the textsec-domain-suspicious-p warning message
* lisp/international/textsec.el (textsec-domain-suspicious-p):
Improve warning message.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Fix error when describing menu items that don't have equivalent keys
* lisp/help-fns.el (help-fns--key-bindings): Never pass nil to
insert.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Make textsec-link-suspicious-p have fewer false positives
* lisp/international/textsec.el (textsec-link-suspicious-p):
Attempt to improve the domain-guessing logic.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Improve how menus are described in *Help*
@@ -79150,7 +81479,7 @@
(help-fns--key-bindings): Split menu/key handling and output menu
bindings separately (bug#52870).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Make system tooltips display in the menu bar on Haiku
@@ -79161,7 +81490,7 @@
if `tooltip-mode' is t and system tooltips are used.
(syms_of_haikumenu): New symbol `tooltip-mode'.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-20 Mattias Engdegård <mattiase@acm.org>
Fix Fchar_syntax for non-ASCII in unibyte buffers
@@ -79176,11 +81505,11 @@
multibyte.
* test/src/syntax-tests.el (syntax-char-syntax): New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Re-enable some textsec-tests after recent bidi.c fix
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-20 Jim Porter <jporterbugs@gmail.com>
In Eshell, allow "-n" to suppress the trailing newline for "plain" echo
@@ -79193,14 +81522,14 @@
(eshell/printnl): Simplify; 'eshell-stringify' is equivalent to
calling 'eshell-echo' here.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-20 Eli Zaretskii <eliz@gnu.org>
Fix 'bidi-find-overridden-directionality' for Lisp strings
* src/bidi.c (bidi_find_first_overridden): Don't use ZV for Lisp
strings. Reported by Lars Ingebrigtsen <larsi@gnus.org>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Make the undelete-frame-mode menu item a toggle
@@ -79209,25 +81538,25 @@
Also enable some options that were disabled on NS, but should no
longer be since NS now supports the tab bar.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Make key-valid-p work in Turkey
* lisp/keymap.el (key-valid-p): Inhibit case folding, otherwise
(key-valid-p "I") would return nil in tr_TR environments.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Tweak textsec-link-suspicious-p
* lisp/international/textsec.el (textsec-link-suspicious-p): Don't
mark dates as suspicious.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Add test for bug#51733
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-20 Eli Zaretskii <eliz@gnu.org>
Improve documentation of textsec
@@ -79236,28 +81565,28 @@
* doc/lispref/text.texi (Suspicious Text): Improve wording and
indexing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Allow suspicious names with some forms of bidi controls
* lisp/international/textsec.el (textsec-name-suspicious-p): Allow
names with bidi-find-overridden-directionality.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Improve textsec-domain-suspicious-p message
* lisp/international/textsec.el (textsec-domain-suspicious-p):
Improve warning message.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-20 Eli Zaretskii <eliz@gnu.org>
Allow disabling 'undelete-frame-mode' from the menu bar
* lisp/menu-bar.el (menu-bar-file-menu): Add
'disable-undelete-frame-mode' menu item. (Bug#53382)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Document textsec
@@ -79268,21 +81597,21 @@
* lisp/international/textsec-check.el (textsec-check): Adjust doc
string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Check link text domain suspiciousness
* lisp/international/textsec.el (textsec-link-suspicious-p): Check
whether the domain in the link text is suspicious.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Expand textsec-link-suspicious-p checking
* lisp/international/textsec.el (textsec-link-suspicious-p): Check
the text more thoroughly for link-like things.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Improve textsec-domain-suspicious-p message
@@ -79290,14 +81619,14 @@
Ensure that we're not confusing the user if there's a directional
override in the string we're checking.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Add new bidi-string-strip-control-characters function
* lisp/international/characters.el
(bidi-string-strip-control-characters): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-20 Lars Ingebrigtsen <larsi@gnus.org>
Make article--check-suspicious-addresses more resilient
@@ -79305,14 +81634,14 @@
more resilient to junk in headers. (But all this should be rewritten
eventually, because the entire process is way too convoluted.)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-20 Po Lu <luangruo@yahoo.com>
Make `nil' values of the `:position' underline property work correctly
* src/xfaces.c (Finternal_set_lisp_face_attribute): Handle cases
where the underline property `:position' is nil.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Port hourglass display to XCB
@@ -79320,7 +81649,7 @@
(x_hide_hourglass): Use straightforward translations to XCB if
available.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Get rid of calls to XRenderQueryExtension after terminal initialization
@@ -79333,7 +81662,7 @@
* src/xterm.h (struct x_display_info): New fields
`xrender_supported_p', `xrender_major' and `xrender_minor'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Implement selection ownership on Haiku
@@ -79357,14 +81686,14 @@
(syms_of_haikuselect): Define new subr.
* src/haikuselect.h: New prototypes.
-2023-04-15 Derek Passen <dpassen1@gmail.com> (tiny change)
+2022-01-19 Derek Passen <dpassen1@gmail.com> (tiny change)
Add clojure-lsp support for clojure
* eglot.el (eglot-server-programs): Add clojure-lsp for Clojure.
* README.md: Document the above change.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-19 Andrea Corallo <akrl@sdf.org>
Suspend temp .elc production when native compiling till when necessary
@@ -79379,42 +81708,42 @@
renaming the temporary .elc make use of `byte-write-target-file' to
write it down and kill the temporary buffer.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2022-01-19 Andrea Corallo <akrl@sdf.org>
* Move some code in in `byte-write-target-file'.
* lisp/emacs-lisp/bytecomp.el (byte-write-target-file): New function
spilling code from `byte-compile-file'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Make article--check-suspicious-addresses more resilient
* lisp/gnus/gnus-art.el (article--check-suspicious-addresses):
Don't bug out on mbox-less addresses.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Tweak the previous suspicious Message change
* lisp/gnus/message.el (message-check-recipients)
(message-send-mail): Move the check to after encoding.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Make Message check for invalid recipients before sending
* lisp/gnus/message.el (message-check-recipients): Check for
suspicious addresses before sending (bug#51733).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Make textsec-mixed-numbers-p actually work
* lisp/international/textsec.el (textsec-mixed-numbers-p): Fix the
test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Make Gnus check for suspicious headers
@@ -79425,7 +81754,7 @@
headers.
(article--check-suspicious-addresses): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Add text for suspicious links
@@ -79437,21 +81766,21 @@
* lisp/net/shr.el (shr-tag-a): Check for sus links.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Don't overwrite the link text in shr-tag-a for suspicious URLs
* lisp/net/shr.el (shr-tag-a): Tweak how the suspiciousness
warning is handled.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix thinko in textsec-url-suspicious-p
* lisp/international/textsec.el (textsec-url-suspicious-p): Don't
bug out on non-HTTP URLs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Make shr mark links with suspicious URLs
@@ -79464,7 +81793,7 @@
* lisp/net/shr.el (shr-tag-a): Mark suspicious links.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Add new file textsec-check.el
@@ -79472,7 +81801,7 @@
* lisp/international/textsec.el
(textsec-email-address-header-suspicious-p): Rename.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Mark whole-script confusables as suspicious domains
@@ -79481,7 +81810,7 @@
to be suspicious. (I think this is what the Unicode standard is
recommending, but I'm not 100% sure.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Split textsec-email-address-suspicious-p into two functions
@@ -79489,7 +81818,7 @@
(textsec-email-address-suspicious-p): Made into its own function.
(textsec-email-suspicious-p): Use it and adjust doc strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Make textsec-suspicious-nonspacing-p work on marks
@@ -79497,18 +81826,18 @@
We're only interested in nonspacing marks, not control characters
in this test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Fix recent change for big endian systems where `Atom' is 64 bits
* src/xfns.c (x_create_tip_frame): Cast atoms to xcb_atom_t
and pass a reference to that to xcb_change_property instead.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/cus-face.el (custom-face-attributes): Expose the lambdas
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Port some X11 tooltip code to XCB
@@ -79518,7 +81847,7 @@
(x_create_tip_frame):
(Fx_show_tip): Port window related code to XCB.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-19 Lars Ingebrigtsen <larsi@gnus.org>
Deconfuse textsec doc strings slightly
@@ -79530,7 +81859,7 @@
(textsec-email-suspicious-p): Suspiciosness isn't only about
homoglyphs, so don't claim so in the doc strings.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-19 Robert Pluim <rpluim@gmail.com>
Improve textsec doc strings
@@ -79538,7 +81867,7 @@
(textsec-local-address-suspicious-p, textsec-name-suspicious-p)
(textsec-suspicious-nonspacing-p): Improve doc strings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Use Cairo XCB surfaces when XCB is available
@@ -79555,7 +81884,7 @@
* src/xwidget.c (x_draw_xwidget_glyph_string): Fix integer
overflow.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-19 Eli Zaretskii <eliz@gnu.org>
Minor improvement in textsec diagnostics
@@ -79563,18 +81892,18 @@
Clarify wording of the strings returned to explain the suspicious
use of nonspacing characters.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-19 Michael Albinus <michael.albinus@gmx.de>
Respect structure of Tramp archive file names
* lisp/net/tramp.el (tramp-make-tramp-file-name):
Respect structure of archive file names.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (Fx_display_mm_width): Fix copy-paste error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-19 Po Lu <luangruo@yahoo.com>
Rename system tooltip variables to `use-system-tooltips'
@@ -79604,7 +81933,7 @@
(syms_of_xfns): Use `use-system-tooltips' instead of the old
platform dependent options.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
Use more reliable timestamps for some kinds of events on Haiku
@@ -79619,21 +81948,21 @@
* src/haikuterm.c (haiku_read_socket): Use input server time
if provided.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
Fix event timestamp generation on Haiku
* src/haikuterm.c (haiku_read_socket): Use miliseconds for event
time.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-18 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic-tests.el: Fix warning
* test/lisp/emacs-lisp/cl-generic-tests.el (ert): Require at run-time
for `ert--get-explainer`.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-18 Stefan Monnier <monnier@iro.umontreal.ca>
VC: Fix tests for SCCS and Mtn
@@ -79642,7 +81971,7 @@
* lisp/vc/vc.el (vc-responsible-backend): Fix vc-test--register on SCCS.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-18 Stefan Monnier <monnier@iro.umontreal.ca>
autoload.el: Fix corner case and avoid encoding issues
@@ -79650,7 +81979,7 @@
autoloading a `cl-defmethod`.
(autoload-rubric): Support non-UTF-8 chars and enforce Unix EOLs.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-18 Eli Zaretskii <eliz@gnu.org>
Improve doc strings in textsec.el
@@ -79662,7 +81991,7 @@
(textsec-local-address-suspicious-p, textsec-name-suspicious-p)
(textsec-suspicious-nonspacing-p): Doc fix.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-18 Eli Zaretskii <eliz@gnu.org>
Remove 'cuneiform-numbers-and-punctuation' from w32font.c
@@ -79670,14 +81999,14 @@
'cuneiform-numbers-and-punctuation'. Reported by Kévin Le Gouguec
<kevin.legouguec@gmail.com>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-18 Lars Ingebrigtsen <larsi@gnus.org>
The name in textsec-email-suspicious-p is optional
* lisp/international/textsec.el (textsec-email-suspicious-p): The
name is optional.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-18 Lars Ingebrigtsen <larsi@gnus.org>
Add textsec functions for verifying email addresses
@@ -79690,7 +82019,7 @@
(textsec-name-suspicious-p, textsec-suspicious-nonspacing-p)
(textsec-email-suspicious-p): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
Intern virtual modifier atoms the smart way on X
@@ -79702,7 +82031,7 @@
* src/xterm.h (struct x_display_info): New fields for virtual
modifier atoms.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-18 Lars Ingebrigtsen <larsi@gnus.org>
Add textsec-domain-suspicious-p
@@ -79718,7 +82047,7 @@
* lisp/international/textsec.el (textsec-domain-suspicious-p): New
function.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-18 Michael Albinus <michael.albinus@gmx.de>
Morka handling of multi-hops in Tramp more consistent
@@ -79749,7 +82078,7 @@
(tramp-test02-file-name-dissect-separate)
(tramp-test07-abbreviate-file-name): Adapt tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
* src/haikuterm.c (haiku_read_socket): Add work for frame size bug.
@@ -79759,7 +82088,7 @@
garbaging tooltip frames when FrameResized reports different
dimensions from what they were set to.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-18 Lars Ingebrigtsen <larsi@gnus.org>
Add textsec predicates for different types of confusability
@@ -79768,7 +82097,7 @@
(textsec-mixed-script-confusable-p)
(textsec-whole-script-confusable-p): New functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-18 Lars Ingebrigtsen <larsi@gnus.org>
Add textsec support for confusable characters
@@ -79786,25 +82115,25 @@
* lisp/international/textsec.el (textsec-ascii-confusable-p)
(textsec-unconfuse-string): New functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-18 Lars Ingebrigtsen <larsi@gnus.org>
Improve textsec-restriction-level doc string
* lisp/international/textsec.el (textsec-restriction-level):
Improve doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (Fx_show_tip): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
Fix default value of `no-special-glyphs' frame parameter on Haiku
* src/haikufns.c (haiku_create_frame): Make `no-special-glyphs'
nil by default.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
Improve tooltip implementation on Haiku
@@ -79832,15 +82161,15 @@
(haiku_clear_under_internal_border): Handle cases where the face
cache is NULL.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-18 Po Lu <luangruo@yahoo.com>
* lisp/tooltip.el (tooltip-show-help): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
* lisp/tooltip.el: Fix warning when built on a non-Haiku system.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
Fix system tooltips above menus
@@ -79848,7 +82177,7 @@
menu.
(syms_of_haikufns): New symbol `tooltip-reuse-hidden-frame'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
Allow non-system tooltips to display above menus on Haiku
@@ -79864,14 +82193,14 @@
* src/haikuterm.c (haiku_read_socket): Ignore resize events on
tooltips.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-17 Stefan Monnier <monnier@iro.umontreal.ca>
(hack-local-variables--find-variables): Use `user-error`
* lisp/files.el (hack-local-variables--find-variables):
Incorrect formatting are not coding errors.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-17 Stefan Kangas <stefankangas@gmail.com>
Change rust language server to rust-analyzer
@@ -79895,7 +82224,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/803
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-17 Eli Zaretskii <eliz@gnu.org>
Fix minor inconsistencies in 'char-script-table'
@@ -79907,42 +82236,42 @@
* lisp/international/fontset.el (script-representative-chars):
Remove scripts no longer used.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-17 Eli Zaretskii <eliz@gnu.org>
Doc fixes in textsec.el
* lisp/international/textsec.el (textsec-scripts)
(textsec-single-script-p, textsec-covering-scripts): Clarify "script".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Change textsec-mixed-numbers-p to use recommended algorithm
* lisp/international/textsec.el (textsec-mixed-numbers-p): New
function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Add new function textsec-mixed-numbers-p
* lisp/international/textsec.el (textsec-mixed-numbers-p): New
function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Add some textsec-restriction-level comments
* lisp/international/textsec.el (textsec-restriction-level): Add
comment about source of the list of languages.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Add textsec-restriction-level function
* lisp/international/textsec.el (textsec-restriction-level): New
function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix some doc strings in textsec.el
@@ -79950,14 +82279,14 @@
typo in doc string.
(textsec-covering-scripts): Improve doc string and sort the results.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Avoid loading the possibly stale unidata-gen.elc file
* admin/unidata/Makefile.in (${unidir}/uni-scripts.el): Fix .elc
staleness. (Should probably be fixed in a different way.)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Add support for functions that deal with Unicode scripts
@@ -79978,7 +82307,7 @@
* lisp/international/textsec.el: Implement some functions that
work on scripts.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-17 Lars Ingebrigtsen <larsi@gnus.org>
Move the Gnus range functions to a new range.el file
@@ -80077,13 +82406,13 @@
(nnselect-request-update-info):
(nnselect-push-info):
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
Merge from origin/emacs-28
f393d0d441 Fix regression leading to flickering tooltips when the mou...
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-17 Eli Zaretskii <eliz@gnu.org>
Revert "Add undelete-frame-max instead of undelete-frame-mode (bug#51883)"
@@ -80091,7 +82420,7 @@
That commit was unilateral and disregarded past discussions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-17 Eli Zaretskii <eliz@gnu.org>
Revert "* etc/NEWS: Improve wording of 'undelete-frame-max' (bug#51883)."
@@ -80100,7 +82429,7 @@
The original commit was unilateral and disregarded past
discussions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
Fix Emacs icon not appearing on Haiku
@@ -80109,14 +82438,14 @@
* src/Makefile.in (Emacs): Add dependency on
`lib-src/be-resources'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
Use BControlLook to determine scroll bar size on Haiku
* src/haiku_support.cc (BScrollBar_default_size): Use
BControlLook instead of legacy constants.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
Display override redirect frames in all workspaces on Haiku
@@ -80125,7 +82454,7 @@
(BWindow_set_override_redirect): Set window to display on all
workspaces.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-17 Michael Albinus <michael.albinus@gmx.de>
Improve handling of INFILE in tramp*-process-file (Bug#53284)
@@ -80142,15 +82471,15 @@
* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Extend test.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-17 Juri Linkov <juri@linkov.net>
* etc/NEWS: Improve wording of 'undelete-frame-max' (bug#51883).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-17 Po Lu <luangruo@yahoo.com>
* src/haikufns.c (Fx_show_tip): Sync after making window visible.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Really eliminate tooltip flicker on Haiku
@@ -80159,7 +82488,7 @@
didn't actually move when a tip frame is visible.
* src/haikuterm.h (tip_frame): Declare.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Translate timestamps when using GTK native input
@@ -80167,14 +82496,14 @@
specified in key event.
(xg_filter_key): Translate timestamps.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Exercise wire right after event is filtered for native input
* src/xterm.c (handle_one_xevent): Run a no-op immediately after
an event was filtered by GDK.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-16 Juri Linkov <juri@linkov.net>
Add undelete-frame-max instead of undelete-frame-mode (bug#51883)
@@ -80196,7 +82525,7 @@
* src/frame.c (Fdelete_frame): Replace `undelete-frame-mode' with
`undelete-frame-max' in the docstring.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2022-01-16 Matthias Meulien <orontee@gmail.com>
Extend Outline mode with default visibility state
@@ -80209,32 +82538,32 @@
(outline-apply-default-state, outline-show-only-headings)
(outline--show-headings-up-to-level): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Fix XI2 event filtering for very old versions of libXi
* src/xterm.c (handle_one_xevent): Handle cases where
xev->display is NULL.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-16 Stefan Kangas <stefankangas@gmail.com>
* eglot.el (eglot--server-capable): don't use obsolete name.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-16 Stefan Kangas <stefankangas@gmail.com>
Obsolete eglot--plist-keys in favor of map-keys
* eglot.el (eglot--plist-keys): Make into obsolete function alias
for map-keys.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Fix the xft build
* src/xsettings.h [!HAVE_PGTK]: Include dispextern.h and remove
duplicate definition of Display_Info.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Use kMenuWindowFeel on Haiku toolkip windows
@@ -80243,14 +82572,14 @@
* src/haikufns.c (Fx_show_tip): Don't set_avoid_focus manually
since setting tooltip decorations already does that.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Make help event generation on Haiku behave closer to X
* src/haikuterm.c (haiku_read_socket): Generate help events more
like how X does it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Reduce poll time for Haiku file dialogs
@@ -80258,15 +82587,15 @@
processor load by increasing timeout. The timeout is still too
low to be noticable by the user.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
* src/gtkutil.c (xg_widget_key_press_event_cb): Also raise input signal.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2022-01-16 Yuuki Harano <masm+github@masm11.me>
* src/pgtkterm.c (evq_flush): Shift events one by one
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Avoid focus and allow monospace text in tooltip frames on Haiku
@@ -80277,31 +82606,31 @@
case the default font on tooltip frames, since the bug that was
supposed to work around has already been fixed.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
e488601849 Update to Org 9.5.2-9-g7ba24c
95640360f0 * lisp/net/dictionary.el (dictionary-context-menu): Use pa...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
7f36aca99d * lisp/indent.el (tab-first-completion): Fix incorrect cho...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-16 Po Lu <luangruo@yahoo.com>
Update modifier meanings even if an xkb_desc was not available
* src/xterm.c (handle_one_event): Always update modifiers after
the keyboard mapping is refreshed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
* src/xwidget.c (webkit_js_to_lisp): Use correct constant to check size.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
Fix a minor snafu when resizing frames on Haiku
@@ -80309,7 +82638,7 @@
where BWindow::ResizeTo uses BRect-style width and height
instead of actual width and height.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-01-15 Tassilo Horn <tsdh@gnu.org>
Add some more mailcap tests.
@@ -80322,18 +82651,18 @@
(mailcap--test-viewer): New function.
(mailcap-view-file): New test for mailcap-view-file.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-15 Stefan Kangas <stefankangas@gmail.com>
Remove unnecessary compatibility code
* eglot.el (eglot-mode-map): Remove unnecessary compatibility
code. We already depend on eldoc 0.11.0.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-15 Juri Linkov <juri@linkov.net>
* lisp/mouse.el (context-menu-map): Select clicked window (bug#53249).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-15 Juri Linkov <juri@linkov.net>
More fixes for recently committed context-menu additions from bug#52973
@@ -80346,20 +82675,20 @@
* lisp/mouse.el (context-menu-functions): Remove context-menu-online-search.
Add occur-context-menu and dictionary-context-menu (bug#50552).
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-15 Stefan Kangas <stefankangas@gmail.com>
Improve backwards-compatibility of eglot-mode-map
* eglot.el (eglot-mode-map): Only bind to eldoc-doc-buffer in Emacs
28.1 or later.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-15 Juri Linkov <juri@linkov.net>
* doc/emacs/search.texi (Special Isearch): Move isearch-char-by-name item back
Put it at the end of the list and still closer to isearch-emoji-by-name.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-15 Alan Mackenzie <acm@muc.de>
Remove the remnants of old position mechanism from scratch/correct-warning-pos
@@ -80390,22 +82719,22 @@
* lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Correct
the position argument given to macroexp-warn-and-return.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-15 Stefan Kangas <stefankangas@gmail.com>
* eglot.el (eglot-strict-mode): very minor docfix.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
* pcvs-info.el (cvs-mode-toggle-mark): Typo
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-15 Eli Zaretskii <eliz@gnu.org>
Fix setting cursor in pixel-scrolling modes
* src/xdisp.c (redisplay_window): Don't set cursor to any glyph
row past the one that contains EOB. (Bug#53275)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-15 Lars Ingebrigtsen <larsi@gnus.org>
Don't strip properties in show-paren-function
@@ -80413,11 +82742,11 @@
(bug#51606) because that makes the offscreen context less
informative.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-15 Stefan Kangas <stefankangas@gmail.com>
* eglot.el (eglot--connect): display seconds on timeout.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
Use preferred XIM style without trying to detect if it's supported
@@ -80428,7 +82757,7 @@
* src/xfns.c (best_xim_style): Stop checking if the preferred
input style is supported.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-15 Stefan Kangas <stefankangas@gmail.com>
Print server command to events buffer
@@ -80437,7 +82766,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/476
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-15 Lars Ingebrigtsen <larsi@gnus.org>
Add emoji-alternate-names variable
@@ -80446,7 +82775,7 @@
(emoji-search): Note usage.
(emoji--choose-emoji): Use it.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2022-01-15 Tassilo Horn <tsdh@gnu.org>
mailcap: Docfix & handle function-viewer case in mailcap-view-file
@@ -80456,7 +82785,7 @@
(mailcap-view-file): Implement the case where the chosen viewer is a
function and not a shell command.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
Prevent pre-edit overlay text from being displayed after a command
@@ -80467,18 +82796,18 @@
(x-preedit-text): Add said function to pre-command-hook. It
will remove itself when triggered.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
* src/emacsgtkfixed.c (XSetWMSizeHints): Remove some useless code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-15 Lars Ingebrigtsen <larsi@gnus.org>
Don't bug out on improper lists in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--format-list): Don't bug out on
improper lists (bug#52917).
-2023-04-15 Tom Tromey <tom@tromey.com>
+2022-01-15 Tom Tromey <tom@tromey.com>
Use "server complete" instead of "complete" in gud-gdb-completions
@@ -80487,7 +82816,7 @@
would be better to send "server complete". This is what Emacs does
for other behind-the-scenes commands it sends (bug#52922).
-2023-04-15 Alex Bochannek <alex@bochannek.com>
+2022-01-15 Alex Bochannek <alex@bochannek.com>
(gnus-summary-hide-thread): Fix thread hiding for dummy roots.
@@ -80495,14 +82824,14 @@
hiding work when using dummy `gnus-summary-make-false-root'
(bug#52923).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-15 Lars Ingebrigtsen <larsi@gnus.org>
Improve the with-output-to-temp-buffer doc string
* lisp/subr.el (with-output-to-temp-buffer): Clarify the point of
the macro (bug#53265).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-15 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Add command to invoke a search engine"
@@ -80510,7 +82839,7 @@
Similar functionality has been added to webjump, so this commit duplicated that.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -80518,7 +82847,7 @@
ac2cdb8a46 * lisp/progmodes/xref.el (xref-file-name-display): Fix doc...
c05864dd25 Avoid another segfault in 'face_at_buffer_position'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
Find a way to make lowering frames work on Haiku
@@ -80527,14 +82856,14 @@
* src/haikuterm.c (haiku_frame_raise_lower): Implement a hack to
lower frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-15 Po Lu <luangruo@yahoo.com>
Filter key release events when using native input without having XIM
* src/xterm.c (handle_one_xevent): Also check for XI key
release events when using native input on a build without XIM.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-14 Po Lu <luangruo@yahoo.com>
Fix native input when using core input events
@@ -80543,7 +82872,7 @@
* src/xterm.c (handle_one_xevent): Also check for KeyRelease
events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-14 Po Lu <luangruo@yahoo.com>
Remove non-functional configure test
@@ -80558,32 +82887,32 @@
(xim_close_dpy): Just cast client data to void * and hope that
the compiler keeps quiet.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
pcvs-info.el: Prefer `declare-function` over `autoload`
* lisp/vc/pcvs-info.el (cvs-mode-toggle-mark): Use `declare-function`
to silence the byte-compiler warning.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-01-14 Philipp Stephani <phst@google.com>
* lisp/indent.el (indent-for-tab-command): Use 'eq' for symbols.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-01-14 Philipp Stephani <phst@google.com>
indent-for-tab-command: Deal with large point or modiff values.
* lisp/indent.el (indent-for-tab-command): Don't use 'eq' to compare
integers that aren't guaranteed to be fixnums.
-2023-04-15 Philipp Stephani <phst@google.com>
+2022-01-14 Philipp Stephani <phst@google.com>
Simplify code for 'indent-for-tab-command' slightly.
* lisp/indent.el (indent-for-tab-command): Don't use a one-element
list for SYN.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-14 Alan Mackenzie <acm@muc.de>
Merge branch 'master' into scratch/correct-warning-pos
@@ -80595,7 +82924,7 @@
(macroexp--expand-all): Fix bug#53227 and bug#46636
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-14 Alan Mackenzie <acm@muc.de>
Commit fixes and enhancements to the scratch/correct-warning-pos branch
@@ -80644,68 +82973,68 @@
* src/fns.c (Fput): No longer strip symbol positions from any of the
arguments.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
(macroexp--expand-all): Fix bug#53227 and bug#46636
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Don't mis-expand
invalid funcalls.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-14 Stefan Kangas <stefan@marxist.se>
image-dired: Use MD5 for thumb filename generation
* lisp/image-dired.el (image-dired-thumb-name): Revert back to MD5 for
file name generation to preserve backwards-compatibility. (Bug#53229)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-14 Po Lu <luangruo@yahoo.com>
* src/xterm.c: Add a small writeup on input handling on X.
Hopefully I will extend this section with details about more
aspects of X11 support in the future.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
Skip ffap test on some systems
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Make function-alias-p use a better error symbol
* lisp/subr.el (function-alias-p): Use the same error symbol as
`indirect-function'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Don't have ffap interpret ":/bin" as the current directory
* lisp/ffap.el (ffap-file-at-point): Don't interpret :/bin as the
current directory (bug#52441).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Add a `shortdoc' convenience alias
* lisp/emacs-lisp/shortdoc.el (shortdoc): Add a convenience alias
(bug#52968).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-14 Po Lu <luangruo@yahoo.com>
Fix leak when refs are sent to a frame during destruction on Haiku
* src/haikuterm.c (haiku_read_socket): Free b->ref if it was
sent from a frame that was destroyed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-14 Po Lu <luangruo@yahoo.com>
Make sure the X mouse position hook always looks at an X frame
* src/xterm.c (XTmouse_position): Check that f1 is an X frame.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-14 Robert Pluim <rpluim@gmail.com>
spelling-tests.el: use ert-with-temp-directory
@@ -80714,7 +83043,7 @@
'ert-with-temp-file', and restore the prefix/suffix values used
originally with 'make-temp-file'.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-14 Robert Pluim <rpluim@gmail.com>
spelling-tests.el: ignore errors when checking for ispell
@@ -80726,14 +83055,14 @@
ispell check in ignore-errors, as ispell-valid-dictionary-list can
signal an error.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Add new context menu functions to the context-menu-functions type
* lisp/mouse.el (context-menu-functions): Add new menu functions
to the defcustom type list (bug#52973).
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-01-14 Philip Kaludercic <philipk@posteo.net>
Add command to invoke a search engine
@@ -80741,21 +83070,21 @@
(eww-search-prefix): Declare variable from eww.el
(mouse-online-search-at-point): Add new command
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-01-14 Philip Kaludercic <philipk@posteo.net>
Implement context-menu-mode support for hi-lock
* hi-lock.el (hi-lock-symbol-at-mouse): Add new command
(hi-lock-context-menu): Add new function
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-01-14 Philip Kaludercic <philipk@posteo.net>
Implement context-menu-mode support for man pages
* man.el (Man-at-mouse): Add new command
(Man-context-menu): Add new function
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-14 Juri Linkov <juri@linkov.net>
Fix @item in the Emacs manual
@@ -80763,7 +83092,7 @@
* doc/emacs/search.texi (Special Isearch): Remove @item.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix mailcap setup when no mailcap files exist
@@ -80771,7 +83100,7 @@
populate mailcap--computed-mime-data even if none of the files
exist (bug#53009).
-2023-04-15 Lucien Cartier-Tilet <lucien@phundrak.com> (tiny change)
+2022-01-14 Lucien Cartier-Tilet <lucien@phundrak.com> (tiny change)
(battery-status-function) Fix errors in Termux
@@ -80780,7 +83109,7 @@
patch makes Emacs verify if they are readable before it attemps
reading them (bug#53026).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-14 Robert Pluim <rpluim@gmail.com>
Improve some nntp/nnimap error messages
@@ -80791,26 +83120,26 @@
* lisp/gnus/nnimap.el (nnimap-retrieve-headers): Improve error
messages (bug#53070).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-14 Juri Linkov <juri@linkov.net>
* lisp/progmodes/xref.el (xref-query-replace-in-results): Fix prefix-arg.
Use current-prefix-arg.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-14 Juri Linkov <juri@linkov.net>
* doc/emacs/search.texi (Special Isearch): Put related items together.
Move isearch-char-by-name closer to isearch-emoji-by-name.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-14 Eli Zaretskii <eliz@gnu.org>
Update docs of 'xref-query-replace-in-results'
* doc/emacs/maintaining.texi (Identifier Search): Update the
documentation of 'xref-query-replace-in-results'.
-2023-04-15 Sergey Vinokurov <serg.foo@gmail.com>
+2022-01-14 Sergey Vinokurov <serg.foo@gmail.com>
Use assq_no_quit on all local_var_alist accesses
@@ -80821,7 +83150,7 @@
* src/data.c (Flocal_variable_p): Use assq_no_quit instead of
open-coding the search on local_var_alist.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-14 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'xref-find-references-and-replace'
@@ -80830,7 +83159,7 @@
* doc/emacs/maintaining.texi (Identifier Search): Document
'xref-find-references-and-replace'.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2022-01-14 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Fix python-eldoc affecting unrelated comint processes
@@ -80839,13 +83168,13 @@
processes. Modify the behaviour of only the current python
process (bug#53219).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-14 Robert Pluim <rpluim@gmail.com>
Improve function-alias-p documentation
* doc/lispref/functions.texi (Defining Functions): Improve the text.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-14 Po Lu <luangruo@yahoo.com>
Try to make sure an XKB desc is always available
@@ -80853,32 +83182,32 @@
unavailable for some reason upon handling an XKB map or keyboard
notify event.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix byte-compilation warning in pcvs-info
* lisp/vc/pcvs-info.el (cvs-mode-toggle-mark): Fix
byte-compilation warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
34ca4ff9a5 Fix Edebug specification for inline functions (Bug#53068).
3c06c37a8b Remove mention of removed `gnus-treat-play-sounds' variabl...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-13 Po Lu <luangruo@yahoo.com>
* INSTALL: Document using Emacs on alternative window systems.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-01-13 Dmitry Gutov <dgutov@yandex.ru>
xref-find-references-and-replace: New command
* lisp/progmodes/xref.el (xref-find-references-and-replace):
New command.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2022-01-13 Dmitry Gutov <dgutov@yandex.ru>
Steamline xref-query-replace-in-results
@@ -80886,21 +83215,21 @@
Steamline the most common scenario
(https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00864.html).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-13 Po Lu <luangruo@yahoo.com>
Fix out of bounds bitmap access on Haiku
* src/haiku_draw_support.cc (BView_DrawBitmapWithEraseOp): Fix
out of bounds access to bitmap data.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-13 Po Lu <luangruo@yahoo.com>
Refresh keyboard mapping upon receiving new XKB map
* src/xterm.c (handle_one_xevent): Call
XkbRefreshKeyboardMapping where required.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-13 Stefan Kangas <stefan@marxist.se>
Prefer defvar-keymap to easy-mmode-defmap
@@ -80910,7 +83239,7 @@
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Document as
deprecated.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2022-01-13 Theodor Thornhill <theo@thornhill.no>
João Távora <joaotavora@gmail.com>
Change from symbol-at-point to thing-at-point
@@ -80921,7 +83250,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/385
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-13 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'isearch-emoji-by-name'
@@ -80934,7 +83263,7 @@
documentation of 'isearch-emoji-by-name'; move it out of the
enumeration that deals with non-ASCII characters in general.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-13 Eli Zaretskii <eliz@gnu.org>
Fix frame-undeletion menu items
@@ -80942,18 +83271,18 @@
menu items and their help-echo. Don't show "Undelete Frame"
in the menu unless there is a frame to undelete.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-13 Eli Zaretskii <eliz@gnu.org>
Avoid scrolling display when point moves into invisible text
* src/xdisp.c (try_cursor_movement): Handle point moving into
invisible text. (Bug#53215)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-13 Michael Albinus <michael.albinus@gmx.de>
* doc/lispref/functions.texi (Defining Functions): Fix thinko.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-13 Brian Leung <bkleung89@gmail.com>
Support optional diagnostic.tags
@@ -80975,29 +83304,29 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/794
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-13 Eli Zaretskii <eliz@gnu.org>
Improve preserving X coordinate during scroll commands
* src/window.c (window_scroll_pixel_based): Don't unnecessarily
move the iterator. (Bug#53220)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-13 Stefan Kangas <stefan@marxist.se>
* lisp/jsonrpc.el (Version): Bump to 1.0.15.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-13 Po Lu <luangruo@yahoo.com>
Fix passive input focus when the pointer moves over inferiors
* src/xterm.c (handle_one_xevent): Don't detect focus on entry
and exit events if we're not on the top window.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-13 Stefan Kangas <stefankangas@gmail.com>
* eglot.el: improve commentary section.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-13 Stefan Kangas <stefankangas@gmail.com>
Support racket-langserver
@@ -81007,7 +83336,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/694
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-13 Robert Pluim <rpluim@gmail.com>
spelling-tests.el: actually create a temp directory
@@ -81018,7 +83347,7 @@
Pass the :directory arg to ert-with-temp-file so we actually
create a directory.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-13 Po Lu <luangruo@yahoo.com>
Filter key release events through GTK when using native input
@@ -81026,28 +83355,28 @@
release events.
* src/xterm.c (x_filter_event): Also filter release events.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-13 Lars Ingebrigtsen <larsi@gnus.org>
Make ert explainers work on function aliases
* lisp/emacs-lisp/ert.el: New function.
(ert--expand-should-1): Use it (bug#53178).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-13 Lars Ingebrigtsen <larsi@gnus.org>
Avoid infloops in help-fns--analyze-function with aliases
* lisp/help-fns.el (help-fns--analyze-function): Use
function-alias-p to avoid infloops.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-13 Lars Ingebrigtsen <larsi@gnus.org>
Add new function function-alias-p
* doc/lispref/functions.texi (Defining Functions): Document it.
* lisp/subr.el (function-alias-p): New function (bug#53178).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2022-01-13 Gregory Heytings <gregory@heytings.org>
Undelete deleted frames.
@@ -81070,7 +83399,7 @@
See bug#51883.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-12 Po Lu <luangruo@yahoo.com>
Fix GTK native input methods randomly freezing input
@@ -81078,13 +83407,13 @@
connection causing pselect to return immediately from input.
(bug#53160)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-12 Po Lu <luangruo@yahoo.com>
Block input when drawing fringe bitmaps on Haiku
* src/haikuterm.c (haiku_draw_fringe_bitmap): Block input.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-12 Po Lu <luangruo@yahoo.com>
Use XI2 focus events on X toolkit builds
@@ -81093,11 +83422,11 @@
* src/xterm.c (x_detect_focus_change): Enable XI2 focus code on
Xt.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-12 Stefan Kangas <stefan@marxist.se>
* lisp/jsonrpc.el (jsonrpc--debug): Use apply on format args list.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2022-01-12 Eric Abrahamsen <eric@ericabrahamsen.net>
Rework setting/unsetting of gnus-registry-enabled
@@ -81120,26 +83449,26 @@
`gnus-registry-clear', as that will do all the necessary
work (including calling `gnus-registry-unload-hook')
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-12 Stefan Monnier <monnier@iro.umontreal.ca>
Merge remote-tracking branch 'origin/emacs-28' into trunk
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-12 Juri Linkov <juri@linkov.net>
* lisp/subr.el (remove-hook): Use set-variable-value-history for value history
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-12 Stefan Kangas <stefankangas@gmail.com>
Bump eglot version to 1.8
* eglot.el (Version): Bump to 1.8.
* NEWS.md (1.8): Rename header from "(upcoming)".
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-12 Juri Linkov <juri@linkov.net>
* lisp/leim/quail/emoji.el: New file (bug#52605).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2022-01-12 Daniel Martín <mardani29@yahoo.es>
Add isearch-emoji-by-name
@@ -81151,7 +83480,7 @@
mention the new command.
* etc/NEWS: And advertise it.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-12 Glenn Morris <rgm@gnu.org>
Prefer unexport in Makefiles
@@ -81159,7 +83488,7 @@
* lisp/Makefile.in, test/Makefile.in:
Use unexport for EMACSLOADPATH.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2022-01-12 Glenn Morris <rgm@gnu.org>
Avoid user environment interfering with bootstrap
@@ -81168,7 +83497,7 @@
Don't export user environment variables that can affect running
emacs. (Bug#53038)
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-12 Jim Porter <jporterbugs@gmail.com>
Follow POSIX/GNU argument conventions for 'eshell-eval-using-options'
@@ -81190,7 +83519,7 @@
* etc/NEWS: Announce the change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-12 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations with variable-weight fonts
@@ -81201,7 +83530,7 @@
with Fontconfig < v2.11.91, for which the fix in
'ftfont_pattern_entity' cannot work. (Bug#52888)
-2023-04-15 Sean Whitton <spwhitton@spwhitton.name>
+2022-01-12 Sean Whitton <spwhitton@spwhitton.name>
Skip virtual FcPattern entries for variable weight fonts
@@ -81209,14 +83538,14 @@
* src/ftfont.c (ftfont_pattern_entity): Skip meta/virtual FcPattern
entries for variable weight fonts (Bug#52888).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-12 Po Lu <luangruo@yahoo.com>
Use correct coordinates when translating XI2 crossing events
* src/xwidget.c (xwidget_motion_or_crossing): Use displaced
position instead of event position.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-12 Po Lu <luangruo@yahoo.com>
Ignore scroll lock key on Haiku
@@ -81224,7 +83553,7 @@
value for keys that shouldn't be sent to Emacs.
(DispatchMessage): Respect said value.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-12 Brian Leung <bkleung89@gmail.com>
Don't error out on unsupported diagnostic.codedescription
@@ -81242,14 +83571,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/768
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-12 Po Lu <luangruo@yahoo.com>
Translate more keys on Haiku
* src/haiku_support.cc (keysym_from_raw_char): Translate print,
scroll lock, and pause/break.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-12 Lars Ingebrigtsen <larsi@gnus.org>
Don't do Gnus article emphasis in text/html parts
@@ -81258,14 +83587,14 @@
(especially with *...* that's boldified, which typically becomes
much wider).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Fix arity error when trying to add a file to an automake project
* lisp/cedet/ede/project-am.el (project-add-file): Add ignored
_FILE parameter like the other `project-add-file' methods.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Fix display of text decorations in the mode line
@@ -81275,7 +83604,7 @@
* src/xterm.c (x_draw_glyph_string): Don't constrain decorations
if the row is a tab or modeline.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Avoid unnecessary lookup of min and max keycodes when XKB is present
@@ -81283,32 +83612,32 @@
XDisplayKeycodes when that information is available in the xkb
desc and is not needed anyway.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Ignore resetting devices upon some events we don't have to handle
* src/xterm.c (handle_one_xevent): Ignore SlaveSwitch
DeviceChanged events.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-11 Alan Mackenzie <acm@muc.de>
Merge branch 'master' into scratch/correct-warning-pos
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2022-01-11 Alan Mackenzie <acm@muc.de>
Remove the filename argument from the command line after an ELC+ELN build
This fixes bug #53164. Without this fix, bootstrap-emacs loads the source
file uselessly into a buffer after completing the compilation.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-11 Juri Linkov <juri@linkov.net>
* lisp/window.el (display-comint-buffer-action): Move to the end of file.
Move closer to pop-to-buffer-same-window after its default value
display-buffer--same-window-action is defined.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-11 Juri Linkov <juri@linkov.net>
* lisp/vc/vc.el (vc-shrink-buffer-window): New function (bug#51062).
@@ -81317,13 +83646,13 @@
(vc-log-finish-functions): New variable.
(vc-log-internal-common): Use it.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-11 Juri Linkov <juri@linkov.net>
* src/window.c (other-window-scroll-default): New variable (bug#51210).
(Fother_window_for_scrolling): Use it.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-11 Juri Linkov <juri@linkov.net>
More fixes for display-comint-buffer-action
@@ -81338,13 +83667,13 @@
https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02964.html
-2023-04-15 Morgan Smith <Morgan.J.Smith@outlook.com>
+2022-01-11 Morgan Smith <Morgan.J.Smith@outlook.com>
Fix display-comint-buffer-action default behavior (closes bug#52878)
* lisp/window.el (display-comint-buffer-action): Make it an alist.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-11 Paul Eggert <eggert@cs.ucla.edu>
Clean up filelock code related to errno
@@ -81359,14 +83688,14 @@
(Ffile_locked_p): Use them, without assuming anything about errno
value sign.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-11 Paul Eggert <eggert@cs.ucla.edu>
Fix userlock diagnostic
* lisp/userlock.el (ask-user-about-lock):
Fix typo (missing paren) in diagnostic.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Stop ungrabbing when freeing XI devices
@@ -81378,21 +83707,21 @@
* src/xterm.c (x_init_master_valuators): Stop calling
XIUngrabDevice on all devices.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Make native input work on GTK 2
* src/gtkutil.c (xg_create_frame_widgets): Allow focusing fixed
widget.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Stop decoding GTK event strings when using native input
* src/gtkutil.c (xg_widget_key_press_event_cb): Stop decoding
event strings.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-11 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-minor-mode-cycle--bind): Fix outline-on-heading-p.
@@ -81403,20 +83732,20 @@
the recent change that moved cycling keys from font-lock text properties
to outline-minor-mode keymap with :filter.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-11 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
8db5f82d45 ; Fix tabulated-list-mode tests after revert
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-11 Po Lu <luangruo@yahoo.com>
Fix creating GUI frames in an automatically started server on Haiku
* lisp/term/haiku-win.el: Correct specification of
`display-format-alist'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
(files-tests--with-buffer-offer-save): Turn it into a function
@@ -81425,18 +83754,18 @@
(files-tests-save-buffers-kill-emacs--asks-to-save-buffers)
(files-tests-buffer-offer-save): Adjust calls accordingly
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
(hack-one-local-variable-constantp): Mark as obsolete
* lisp/files.el (hack-one-local-variable-constantp): Mark as obsolete.
(hack-one-local-variable-eval-safep): Use `macroexp-const-p` instead.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
Merge remote-tracking branch 'origin/emacs-28' into trunk
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com>
+2022-01-10 Fredrik Bergroth <fbergroth@gmail.com>
Support autoimporttext from pyright language server
@@ -81444,7 +83773,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/769
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-01-10 Sam Steingold <sds@gnu.org>
Use 'auth-info-password' in tests
@@ -81453,7 +83782,7 @@
(auth-source-test-netrc-create-secret, auth-source-delete):
Use 'auth-info-password' instead of ad hoc code.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-01-10 Sam Steingold <sds@gnu.org>
Update for the recent change
@@ -81461,24 +83790,24 @@
'auth-source-pick-first-password' and 'auth-info-password'.
Update the 'auth-source-search' example.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Use window beneath mouse for determining scroll deltas on Haiku
* src/haikuterm.c (haiku_read_socket): Use window underneath
wheel for calculating scroll deltas.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
* src/filelock.c (lock_if_free): Fix Haiku positive errno check.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-10 Paul Eggert <eggert@cs.ucla.edu>
Assume C99 when defining pD
* src/lisp.h (pD): Assume C99 or later, to simplify the ifdefs.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2022-01-10 Felicián Németh <felician.nemeth@gmail.com>
Add tooltip describing pending requests
@@ -81486,7 +83815,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/784
-2023-04-15 Karl Fogel <kfogel@red-bean.com>
+2022-01-10 Karl Fogel <kfogel@red-bean.com>
Document external maintenance of some packages
@@ -81502,7 +83831,7 @@
Date: Sat, 04 Dec 2021 15:14:59 -0600
Message-ID: <87zgpgax7w.fsf@red-bean.com>
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-10 Juri Linkov <juri@linkov.net>
Add diff-mode-read-only to enable shorter keys in diff-mode
@@ -81524,7 +83853,7 @@
* lisp/vc/vc.el (vc-diff-internal): Set buffer-read-only to t
before calling diff-mode that will set diff-mode-read-only.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-10 Juri Linkov <juri@linkov.net>
* lisp/outline.el: Don't set outline-minor font-lock text property 'keymap'.
@@ -81545,21 +83874,21 @@
(outline--insert-open-button, outline--insert-close-button):
Remove :parent outline-minor-mode-cycle-map.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-10 Eli Zaretskii <eliz@gnu.org>
Fix 'exchange-point-and-mark' in 'transient-mark-mode'
* lisp/simple.el (exchange-point-and-mark): Don't deactivate mark
when 'transient-mark-mode' is ON. (Bug#53150)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Implement recent improvements to underline display on PGTK
* src/pgtkterm.c (pgtk_draw_glyph_string): Respect new underline
face fields.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Prevent text decorations from overwriting surrounding areas on X
@@ -81568,7 +83897,7 @@
(x_draw_glyph_string): Constrain decoration width to current
text area.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Allow controlling the underline position of faces
@@ -81589,11 +83918,11 @@
keyword.
(syms_of_xfaces): New symbol `:position'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
* doc/emacs/xresources.texi (GTK resources): Fix dead links.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Load X resources from a settings file like other programs on Haiku
@@ -81605,39 +83934,39 @@
* src/haikuterm.c (get_string_resource): Look in the settings
file if there's nothing in the in-memory resource database.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-10 Michael Albinus <michael.albinus@gmx.de>
* admin/MAINTAINERS: Add Tramp compatibility note
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Use phys cursor height instead of font base to set spot Y
* src/xfns.c (xic_set_xfontset): Use `phys_cursor_height' to
avoid the spot potentially appearing at an incorrect position.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-10 Po Lu <luangruo@yahoo.com>
Don't set callbacks on XIC when adjusting spot if callbacks are off
* src/xfns.c (xic_set_preeditarea): Don't set callbacks if the
XIC style is not XIMPreeditCallbacks. (bug#53146)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Make toggling native input methods via shift work again
* src/xterm.c (handle_one_xevent): Start filtering XI key
release events again, but drop the event if the IM asked.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-09 Stefan Kangas <stefan@marxist.se>
Make old elide-head commands wrappers for mode
* lisp/elide-head.el (elide-head, elide-head-show): Make into
wrappers around elide-head-mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Don't hard code key codes on Haiku
@@ -81649,7 +83978,7 @@
* src/haikuterm.c (haiku_read_socket): Don't call be_map_key,
and use keysym field if provided instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Map some more keypad keys on Haiku
@@ -81658,7 +83987,7 @@
* src/haiku_support.h (BMapKey, be_map_key): Adjust accordingly.
* src/haikuterm.c (haiku_read_socket): Likewise.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Fix build without X11 I18N
@@ -81667,7 +83996,7 @@
(x_draw_window_cursor):
(x_term_init): Fix build without HAVE_X_I18N.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Fix off-by-one errors in caret position application
@@ -81676,11 +84005,11 @@
(xic_preedit_draw_callback): Constrain caret position to
SCHARS (arg) - 1.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-09 Stefan Kangas <stefan@marxist.se>
* lisp/abbrev.el (edit-abbrevs-mode-map): Use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-09 Stefan Kangas <stefan@marxist.se>
Do interactive mode tagging for edit-abbrevs-mode
@@ -81689,7 +84018,7 @@
tagging for edit-abbrevs-mode.
(edit-abbrevs-mode): Make non-interactive.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-09 Brian Leung <bkleung89@gmail.com>
Properly print error message of eglot-alternatives
@@ -81699,7 +84028,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/786
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-09 Brian Leung <bkleung89@gmail.com>
Add up-to-date server executables for html/css/json
@@ -81719,11 +84048,11 @@
prefer to direct users to the corresponding repo, which contains
appropriate installation instructions, in the README.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-09 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/gnus/nnnil.el (nnnil-close-server): Add new `defs` arg
-2023-04-15 Ivan Sokolov <ivan-p-sokolov@ya.ru>
+2022-01-09 Ivan Sokolov <ivan-p-sokolov@ya.ru>
Add doc-string indices to easy-mmode-{defmap,defsyntax}
@@ -81731,7 +84060,7 @@
(easy-mmode-defsyntax): Declare third argument as doc-string.
(Bug#52978)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Fix filelock.c for Haiku
@@ -81742,7 +84071,7 @@
or -2, and reverse sign of system errors on Haiku. (No Haiku
error occupies -1 or -2.)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Add an option to display the cursor at the beginning of any preedit text
@@ -81753,7 +84082,7 @@
(x-display-cursor-at-start-of-preedit-string): New user option.
(x-preedit-text): Respect new option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Pass through caret position from native GTK input methods
@@ -81764,7 +84093,7 @@
(xic_preedit_caret_callback, xic_preedit_draw_callback):
Constrain caret position to the string length as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Fix specification of caret position
@@ -81774,13 +84103,13 @@
* src/xterm.c (handle_one_xevent): Stop filtering XI release
events. This caused more problems than it fixed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Add missing part of last commit
* src/xterm.h (struct x_output): Add field `preedit_caret'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Display caret in preedit text where the input method asked
@@ -81790,7 +84119,7 @@
(xic_preedit_done_callback): Clear caret position.
(xic_preedit_draw_callback): Set caret position appropriately.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Fix native GTK input for cyrillic input methods
@@ -81799,7 +84128,7 @@
* src/xterm.c (handle_one_xevent): Fix build without
HAVE_X_I18N.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-09 Stefan Kangas <stefan@marxist.se>
New minor mode elide-head-mode
@@ -81820,50 +84149,50 @@
(elide-head-tests-elide-head-with-prefix-arg)
(elide-head-tests-show): Make obsolete.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
* lisp/term/x-win.el (x-preedit-text): Make edit overlay window local.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-09 Brian Leung <bkleung89@gmail.com>
Add vim-language-server for vimrc-mode
* README.md: Advertise.
* eglot.el (eglot-server-programs): Add vim-language-server.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-09 Brian Leung <bkleung89@gmail.com>
Add cmake-language-server for cmake-mode
* README.md: Advertise.
* eglot.el (eglot-server-programs): Add cmake-language-server.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
Reduce flicker on Haiku Emacs tooltips
* src/haikuterm.c (haiku_read_socket): Ignore motion events from
tooltip frames.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
30f1bdb41f Clarify docstring of package-native-compile
c54fda643d Fix Subject "simplification" in Rmail
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-09 Po Lu <luangruo@yahoo.com>
* src/image.c (syms_of_image): Declare support for webp on Haiku.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Add support for native webp images on Haiku
* src/haikuimage.c (haiku_can_use_native_image_api): Add support
for `webp' images.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Make caps lock work on Haiku
@@ -81872,7 +84201,7 @@
(DispatchMessage): Map keys with the appropriate map if caps
lock is on.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Fix some problems with Haiku font display
@@ -81880,7 +84209,7 @@
errors.
(BFont_open_pattern): Set size before setting family and style.
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-08 Stefan Kangas <stefankangas@gmail.com>
Un-reverse references in xref buffer
@@ -81888,7 +84217,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/763
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Implement override redirect on Haiku
@@ -81901,7 +84230,7 @@
(haiku_set_override_redirect): New function.
(haiku_frame_parm_handlers): Add `haiku_set_override_redirect'
-2023-04-15 Martin Carlson <spearalot@gmail.com> (tiny change)
+2022-01-08 Martin Carlson <spearalot@gmail.com> (tiny change)
Add variable to withhold the init req process id
@@ -81911,14 +84240,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/722
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Fix some portability bugs in gtkutil.c
* src/gtkutil.c (xg_widget_key_press_event_cb): Surround raising
SIGIO with USABLE_SIGIO.
-2023-04-15 NA <na@aisrntairetnraoitn.com> (tiny change)
+2022-01-08 NA <na@aisrntairetnraoitn.com> (tiny change)
Support language server for html, css, json and docker
@@ -81928,7 +84257,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/204
-2023-04-15 Stefan Kangas <stefankangas@gmail.com>
+2022-01-08 Stefan Kangas <stefankangas@gmail.com>
Minor checkdoc fixes
@@ -81948,21 +84277,21 @@
* eglot.el (xref-backend-identifier-completion-table): Fix error
format.
-2023-04-15 Omar Polo <op@omarpolo.com>
+2022-01-08 Omar Polo <op@omarpolo.com>
Add lua-lsp support for lua-mode
* eglot.el (eglot-server-programs): Add support for the lua-lsp server for lua.
* README.md: Document the above change.
-2023-04-15 jgart <47760695+jgarte@users.noreply.github.com> (tiny change)
+2022-01-08 jgart <47760695+jgarte@users.noreply.github.com> (tiny change)
Add support for the mint language server
* eglot.el (eglot-server-programs): Add support for the mint language server.
* README.md: Document the above change.
-2023-04-15 Illia Danko <illia@aigent.com> (tiny change)
+2022-01-08 Illia Danko <illia@aigent.com> (tiny change)
Add pyright language server support for python-mode
@@ -81970,26 +84299,26 @@
python-mode.
* README.md: Document the above change.
-2023-04-15 Philipp Edelmann <edelmann@fs.tum.de> (tiny change)
+2022-01-08 Philipp Edelmann <edelmann@fs.tum.de> (tiny change)
Use fortls also for fortran-mode
* eglot.el (eglot-server-programs): Use fortls also for fortran-mode.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2022-01-08 Brian Leung <bkleung89@gmail.com>
Add yaml-language-server for yaml-mode
* eglot.el (eglot-server-programs): Add yaml-language-server.
* README.md: Mention yaml-language-server.
-2023-04-15 lorniu/sz <lorniu@gmail.com> (tiny change)
+2022-01-08 lorniu/sz <lorniu@gmail.com> (tiny change)
Use `locate-user-emacs-file` instead of `concat`
* eglot.el (eglot--eclipse-jdt-contact): Use locate-user-emacs-file.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-08 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -81998,28 +84327,28 @@
# Conflicts:
# lisp/ldefs-boot.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Make sure native keypresses are received immediately on GTK
* src/gtkutil.c (xg_widget_key_press_event_cb): Send input
available signal.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Fix pinch-to-scale on real X servers and NS
* lisp/face-remap.el (text-scale-pinch): Stop waiting for
more events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Correctly translate GDK virtual modifiers when using native input
* src/gtkutil.c (xg_virtual_mods_to_x): New function.
(xg_widget_key_press_event_cb): Translate modifiers to X first.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-08 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp for `auth-info-password'
@@ -82028,11 +84357,11 @@
* lisp/net/tramp.el (tramp-read-passwd): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
* src/haikuterm.c (haiku_clear_frame): Fix clipping.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Add an option to rely on passive touch grabs on X
@@ -82045,7 +84374,7 @@
`x-input-grab-touch-events'.
(syms_of_xterm): New option `x-input-grab-touch-events.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-08 Eli Zaretskii <eliz@gnu.org>
Improve documentation of native input methods
@@ -82053,18 +84382,18 @@
(Unibyte Mode): Document user-level features of native input
methods.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
* lisp/cus-start.el (standard): Fix standard customizables for PGTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Fix build on PGTK
* src/gtkutil.c (xg_mark_data):
* src/gtkutil.h (xg_filter_key): Ifdef out definitions on PGTK.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-08 Po Lu <luangruo@yahoo.com>
Allow using GTK+ to handle input methods on X
@@ -82096,18 +84425,18 @@
`prefer_native_input'.
(struct x_output): New field `im_context'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_enqueue_string): Free return of g_utf8_to_ucs4.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Call EVENT_INIT in some places
* src/xfns.c (xic_preedit_done_callback):
(xic_preedit_draw_callback): Call EVENT_INIT.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2022-01-07 Sam Steingold <sds@gnu.org>
Add `auth-info-password' and use it instead of ad hoc code
@@ -82128,14 +84457,14 @@
* lisp/net/rcirc.el (rcirc): Likewise (fixes a bug: the possibility
that password might be a function was not handled).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-07 Eli Zaretskii <eliz@gnu.org>
Fix "C-SPC C-SPC" after "C-x C-x"
* lisp/simple.el (exchange-point-and-mark): Fix what the command
does when 'transient-mark-mode' is OFF. (Bug#52896)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-07 Eli Zaretskii <eliz@gnu.org>
Minor improvements for 'pgtk' documentation
@@ -82147,20 +84476,20 @@
* doc/lispref/commands.texi (Misc Events): Fix @example and
markup.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2022-01-07 Yuuki Harano <masm+github@masm11.me>
Handle internal events specially on PGTK
* src/xgselect.c (xg_select): If there are pending events already,
don't sleep.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2022-01-07 Yuuki Harano <masm+github@masm11.me>
Write documentation about ARG of the preedit-text event on PGTK
* doc/lispref/commands.texi (Misc Events):
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Fix special-cased cursor foreground and background correctly on PGTK
@@ -82168,35 +84497,35 @@
(x_set_background_color): Set cursor color as well if
appropriate. (bug#53073)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Add documentation for the `none' input style
* doc/emacs/xresources.texi (Table of Resources): Document
missing value of `inputStyle'.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2022-01-07 Protesilaos Stavrou <info@protesilaos.com>
* admin/MAINTAINERS: Describe Modus themes as externally maintained package
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
* doc/lispref/display.texi (Face Attributes): Update doc for new values.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Improve documentation of the preedit-text event
* doc/lispref/commands.texi (Misc Events): Document how
`preedit-text' events are used.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Disable new input method behaviour by default on X
* src/xfns.c (supported_xim_styles): Default to STYLE_NONE.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Allow controlling the X input method style
@@ -82218,11 +84547,11 @@
(STYLE_OFFTHESPOT, STYLE_OVERTHESPOT, STYLE_ROOT):
(STYLE_CALLBACK, STYLE_NONE): New macros.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
* src/haikuselect.c: Fix implicit declaration of free.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-07 Po Lu <luangruo@yahoo.com>
Display pre-edit information from X input methods
@@ -82272,11 +84601,11 @@
* src/xterm.h (struct x_output): New fields `preedit_size',
`preedit_chars' and `preedit_active'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
* admin/MAINTAINERS: Add myself for some things.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2022-01-06 Philip Kaludercic <philipk@posteo.net>
Add rcirc-when command
@@ -82284,18 +84613,18 @@
* etc/NEWS: Document rcirc-when.
* lisp/net/rcirc.el (rcirc-when): Add command.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-06 Eli Zaretskii <eliz@gnu.org>
Improve documentation of font-related face attributes
* lisp/faces.el (set-face-attribute): Mention aliases of face
attributes. (Bug#53050)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2022-01-06 Michael Albinus <michael.albinus@gmx.de>
* admin/MAINTAINERS: Describe Tramp as externally maintained package
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-06 Eli Zaretskii <eliz@gnu.org>
Revert "Fix selection of fonts that don't have regular weight"
@@ -82307,7 +84636,7 @@
for the details.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
Remove some more useless clipping stack calls on Haiku
@@ -82316,7 +84645,7 @@
(haiku_draw_text_decoration): Get rid of calls to
BView_StartClip and BView_EndClip.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
Generate TOUCH_END_EVENTs on NS when mwheel momentum is disabled
@@ -82324,7 +84653,7 @@
TOUCH_END_EVENTs on the first event whose momentum phase is not
NSEventPhaseNone.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
Make sure touch end events aren't sent too many times
@@ -82332,7 +84661,7 @@
twice if two valuators have their masks set without a change in
value.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
Add group to xkey state before filtering it on XI_KeyRelease
@@ -82340,7 +84669,7 @@
before filtering an XI2 key release event. This fixes fcitx on
some systems.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
Fix GNUstep compilation warnings
@@ -82354,7 +84683,7 @@
(ns_run_loop_break): Fix old-style definition.
([EmacsView toggleFullScreen:]): Remove unused variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-06 Po Lu <luangruo@yahoo.com>
Fix duplicate overhang display on GNUstep
@@ -82363,11 +84692,11 @@
* src/nsterm.m (ns_draw_glyph_string): Clip to glyph string rect
when displaying overhangs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-05 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Check for errors when kbd map.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
cl-generic.el: Fix bug#46722
@@ -82376,7 +84705,7 @@
* lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher):
Copy the `dispatch` arg before storing it into the hash-table.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2022-01-05 Juri Linkov <juri@linkov.net>
* lisp/textmodes/paragraphs.el (repunctuate-sentences): Use filter variable.
@@ -82387,14 +84716,14 @@
Remove regexp group from spaces as was before.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00395.html
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in cvs-status-mode-map keymap
* lisp/vc/cvs-status.el (cvs-status-mode-map): Fix typo in keymap
definition.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-05 Eli Zaretskii <eliz@gnu.org>
Fix info-lookup docs and "C-h S" in major-modes with no manuals
@@ -82405,7 +84734,7 @@
(info-lookup-change-mode): Topic values can have their `:mode' as
a cons cell, not just a mode's symbol; support that.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-05 Po Lu <luangruo@yahoo.com>
Enable subpixel antialiasing on the Cairo font driver on Haiku
@@ -82418,11 +84747,11 @@
* src/haiku_support.h (be_use_subpixel_antialising): New
functions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-05 Stefan Kangas <stefan@marxist.se>
* lisp/buff-menu.el (Buffer-menu-mode-map): Use defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-05 Po Lu <luangruo@yahoo.com>
Resolve clipping related mysteries on Haiku
@@ -82435,7 +84764,7 @@
(haiku_draw_glyph_string): Stop saving face when drawing
overhangs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-05 Po Lu <luangruo@yahoo.com>
Make sure mouse face doesn't stay on the cursor after it is cleared
@@ -82459,14 +84788,14 @@
(set_glyph_string_background_width): Only adjust width if the
row holding the cursor is also mouse_face_p.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-05 Po Lu <luangruo@yahoo.com>
Simply conditions for mouse face display when drawing cursor on Haiku
* src/haikuterm.c (haiku_draw_stretch_glyph_string): Simplify
conditions for mouse face display.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-05 Po Lu <luangruo@yahoo.com>
Remove some unnecessary graphics state saves on Haiku
@@ -82483,7 +84812,7 @@
(haiku_draw_image_glyph_string): Remove unnecessary calls to
BView_StartClip and BView_EndClip.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-05 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -82493,7 +84822,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Fix xwidgets setting their own signal handlers
@@ -82504,7 +84833,7 @@
* src/xwidget.c (kill_xwidget):
(kill_buffer_xwidgets): Call `catch_child_signal'. (bug#53013)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Fix display of internal border in child frames on pgtk
@@ -82513,7 +84842,7 @@
* src/pgtkterm.c (pgtk_clear_under_internal_border): Fix test
for child frames. (bug#53018)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Correctly set up XI key input mask on X Toolkit builds
@@ -82521,7 +84850,7 @@
on the outer window, which might also have the input focus.
(x_window) [USE_X_TOOLKIT]: Set up XI event mask a bit later.
-2023-04-15 Daniel Mendler <mail@daniel-mendler.de>
+2022-01-04 Daniel Mendler <mail@daniel-mendler.de>
completion--nth-completion: Throw meaningful error
@@ -82532,25 +84861,25 @@
* lisp/minibuffer.el (completion-styles-alist): Make it a defvar.
(completion--nth-completion): Give a more meaningful error.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2022-01-04 Paul Eggert <eggert@cs.ucla.edu>
Update from gnulib
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2022-01-04 Robert Pluim <rpluim@gmail.com>
Remove ambiguity from key-valid-p docstring
* lisp/keymap.el (key-valid-p): Be explicit about the separator
being one and only one space.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2022-01-04 Lars Ingebrigtsen <larsi@gnus.org>
Improve pp-emacs-lisp-code for #'
* lisp/emacs-lisp/pp.el (pp--insert-lisp): Format (function ...)
as #'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-04 Eli Zaretskii <eliz@gnu.org>
A cleaner fix for display bug#52947
@@ -82559,18 +84888,18 @@
(display_tab_bar_line): ...call it here, even if we exit the loop
because we encounter a newline.
-2023-04-15 Jimmy Aguilar Mena <spacibba@aol.com>
+2022-01-04 Jimmy Aguilar Mena <spacibba@aol.com>
Autoload decorator for windmove-mode
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Translate more modifiers to GDK ones in xwidgets
* src/xwidget.c (xw_translate_x_modifiers): Also handle Control
and ShiftMask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Stop assuming X kbd state works with GDK when forwarding events to xwidgets
@@ -82578,27 +84907,27 @@
(Fxwidget_perform_lispy_event): Translate X modifiers to GDK
modifiers before sending them to the xwidget.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Make `x-file-dialog' arity match documentation on Haiku
* lisp/term/haiku-win.el (x-file-dialog): Fix arity.
-2023-04-15 Alan Third <alan@idiocy.org>
+2022-01-04 Alan Third <alan@idiocy.org>
Remove macOS drop-shadows on some frames (bug#28512)
* src/nsterm.m ([EmacsWindow setParentChildRelationships]): Remove
shadows on undecorated child frames.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-04 Stefan Kangas <stefan@marxist.se>
Remove unnecessary autoload cookie in font-core.el
* lisp/font-core.el (font-lock-defaults): Remove autoload of
risky-local-variable property; this file is preloaded.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2022-01-04 Yuuki Harano <masm+github@masm11.me>
Remove gsettings.m4 and write directly into Makefile.in
@@ -82614,7 +84943,7 @@
($(gsettings_SCHEMAS:.xml=.valid)): Implement instead of gsettings.m4
* m4/gsettings.m4: Remove
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2022-01-04 Jim Porter <jporterbugs@gmail.com>
Prevent further cases of duplicated separators in context menus
@@ -82629,14 +84958,14 @@
(context-menu-map-remove-consecutive-separators)
(context-menu-map-remove-separators-at-beginning-or-end): New tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Fix unused variable warning in last change
* src/haiku_draw_support.c (BBitmap_transform_bitmap): Fix
unused variable warning.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Rationalize Haiku rectangle handling
@@ -82656,7 +84985,7 @@
* src/haiku_support.h (BE_RECT_WIDTH, BE_RECT_HEIGHT): New
macros.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Make menu bar key navigation work on Haiku
@@ -82671,7 +85000,7 @@
after checking that F is a window system frame.
* src/haikumenu.c (Fhaiku_menu_bar_open): Update doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Improve Haiku frame restacking logic
@@ -82681,7 +85010,7 @@
* src/haikufns.c (Fhaiku_frame_restack): Prevent the newly
raised frame from being sent to the back of the display.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-04 Po Lu <luangruo@yahoo.com>
Find a way to make restacking frames work on Haiku
@@ -82696,46 +85025,46 @@
* src/haikufns.c (Fhaiku_frame_restack): New functions.
(syms_of_haikufns): New subr `haiku-frame-restack'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-03 Stefan Kangas <stefan@marxist.se>
* test/src/doc-tests.el: New file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Add effective group to xkey events when handling XI key press events
* src/xterm.c (handle_one_xevent): Add effective group to
xkey.state when translating XI key events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-03 Stefan Kangas <stefan@marxist.se>
Fix two unused variable warnings in make-docfile.c
* lib-src/make-docfile.c (scan_lisp_file): Fix unused variable
warnings.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-03 Stefan Kangas <stefan@marxist.se>
Test that buffer exists in shortdoc-all-groups-work
* test/lisp/emacs-lisp/shortdoc-tests.el
(shortdoc-all-groups-work): Test that the shortdoc buffer was created.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Fix Haiku bitmap sanity checks
* src/haikufns.c (haiku_get_pixel, haiku_put_pixel): Fix sanity
checking of coordinate values.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Fix fringe bitmap display on haiku again
* src/haiku_draw_support.cc (BView_DrawBitmapWithEraseOp): Fix
off-by-one errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Fix duplicate file panel display on Haiku
@@ -82745,14 +85074,14 @@
* src/haiku_support.cc (be_popup_file_dialog): Remove duplicate
call to `Show'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-03 Stefan Kangas <stefan@marxist.se>
New test shortdoc-all-groups-work
* test/lisp/emacs-lisp/shortdoc-tests.el
(shortdoc-all-groups-work): New test. See Bug#52969.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
Revert part of 59732a83c8 to fix bug#52969
@@ -82767,11 +85096,11 @@
(scan_file): Use it.
(skip_white, read_lisp_symbol, search_lisp_doc_at_eol): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
* src/haiku_font_support.cc (BFont_char_bounds): Fix bearings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Synchronize at a better place when making a frame visible on Haiku
@@ -82781,7 +85110,7 @@
* src/haikufns.c (haiku_visualize_frame):
(haiku_unvisualize_frame): Sychronize after visibility changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Implement AC line status for the Haiku battery function
@@ -82789,7 +85118,7 @@
`fully-charged' instead of `normal'.
(battery-haiku-acpi-battery): Implement %L for AC line status.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-03 Stefan Kangas <stefan@marxist.se>
elide-head: Make GPL regexp more forgiving
@@ -82802,14 +85131,14 @@
(elide-head--test-headers-to-hide/gpl3-3)
(elide-head--test-headers-to-hide/gpl3-4): New tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Fix battery load calculation on Haiku
* lisp/battery.el (battery-haiku-acpi-battery): Fix load
calculation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-03 Po Lu <luangruo@yahoo.com>
Add support for the Haiku ACPI battery driver
@@ -82819,11 +85148,11 @@
(battery--search-haiku-acpi-status):
(battery-haiku-acpi-battery): New functions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-03 Stefan Kangas <stefan@marxist.se>
* lisp/elide-head.el (elide-head-headers-to-hide): Simplify.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-02 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in eieio tests
@@ -82833,20 +85162,20 @@
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (eieio-compat):
Silence byte-compiler by wrapping require in with-no-warnings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-02 Po Lu <luangruo@yahoo.com>
Don't try to guess a delta if a scroll valuator's state is unknown
* src/xterm.c (x_get_scroll_valuator_delta): Return DBL_MAX if
the scroll valuator's value is unknown.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-02 Po Lu <luangruo@yahoo.com>
Revert "Stop sending touch-end events if coalescing scroll events"
This reverts commit a6952f78f3962ac2d9a5add580a130f0abd31429.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-02 Po Lu <luangruo@yahoo.com>
Use XKB to find modifiers on x
@@ -82859,11 +85188,11 @@
* src/xterm.h (struct x_display_info): New field
`xkb_event_type', and change modifier masks to `unsigned int'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-02 Po Lu <luangruo@yahoo.com>
* src/haikumenu.c (haiku_menu_show): Fix input blocking.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-02 Stefan Kangas <stefan@marxist.se>
Move define-keymap and defvar-keymap to keymap.el
@@ -82874,18 +85203,18 @@
* lisp/keymap.el (define-keymap--compile, define-keymap)
(defvar-keymap): ... to here.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2022-01-02 Stefan Monnier <monnier@iro.umontreal.ca>
Merge remote-tracking branch 'origin/emacs-28' into trunk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-02 Stefan Kangas <stefan@marxist.se>
elide-head: Add support for modified BSD license
* lisp/elide-head.el (elide-head-headers-to-hide): Add support for
the modified BSD license (3-clause BSD).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-02 Stefan Kangas <stefan@marxist.se>
New :type key for defcustom
@@ -82898,7 +85227,7 @@
(key-sequence): Doc fix.
* doc/lispref/customize.texi (Simple Types): Document above new type.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2022-01-02 Mattias Engdegård <mattiase@acm.org>
Don't fail flymake-tests if `gcc` actually is Clang
@@ -82906,21 +85235,21 @@
(different-diagnostic-types, included-c-header-files): Skip tests that
depend on the `gcc` command really being GCC and not Clang.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-02 Po Lu <luangruo@yahoo.com>
Add column width to tooltip frame width on pgtk
* src/pgtkfns.c (Fx_show_tip): Add column width to width to
avoid an odd problem in the GTK allocation code. (bug#52705)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-02 Po Lu <luangruo@yahoo.com>
Fix mouse wheel scroll direction on pgtk
* src/pgtkterm.c (scroll_event): Fix scroll modifiers when
`mwheel-coalesce-scroll-events' is nil.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -82929,20 +85258,20 @@
2684def348 ; Run set-copyright from admin.el
2558b37b5e ; * admin/notes/years: Mention known problems with 'update...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Fix XRegisterIMInstantiateCallback function argument configure test
* configure.ac: Use XIDProc where XIMProc was mistakenly used.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Stop sending touch-end events if coalescing scroll events
* src/xterm.c (handle_one_xevent): Don't generate touch-end
events if mwheel_coalesce_scroll_events is non-nil.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Fix mouse face problems when moving between two frames on Haiku
@@ -82955,7 +85284,7 @@
a motion event is received for a frame other than the one
that is currently displaying the mouse face.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Make quitting actually work in Haiku file dialogs
@@ -82965,13 +85294,13 @@
* src/haikufns.c (Fhaiku_read_file_name): Pass `maybe_quit' as
the maybe_quit_function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-01 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
58b0ada20b Update more copyright years
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-01 Stefan Kangas <stefan@marxist.se>
elide-head: Support more licenses
@@ -82981,7 +85310,7 @@
Add old FSF address. This fixes a bug reported in 2003:
https://lists.gnu.org/r/bug-gnu-emacs/2003-01/msg00142.html
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2022-01-01 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -83011,7 +85340,7 @@
# m4/stdint.m4
# m4/sys_socket_h.m4
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Increase size of precision scrolling momentum ring
@@ -83025,7 +85354,7 @@
(pixel-scroll-calculate-velocity): Increase default ring size
to 30.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Make last change compile
@@ -83034,7 +85363,7 @@
(Draw): Draw normally if not double buffered even if shown_flag
is true.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Fix expose events in non-double-buffered child frames on Haiku
@@ -83042,7 +85371,7 @@
this view is double buffered.
(TearDownDoubleBuffering): Clear shown_flag.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Fix some more off-by-one errors in Haiku image code
@@ -83054,7 +85383,7 @@
(start - end) instead of the actual width and height of the
rectangle.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Fix deadlocks with invisible frames and threads in Haiku
@@ -83063,28 +85392,28 @@
(EmacsShow): Lock looper if the window wasn't ever visible.
(BWindow_new): Unlock window looper after creating it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Set display last user time when handling pinch events
* src/xterm.c (handle_one_xevent): Set last user time for XI
pinch events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Fix child frame synchronization order on Haiku
* src/haiku_support.cc (DoMove):
(FrameMoved): Fix locking and sync order semantics.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Implement numeric values of `mouse-highlight' on Haiku
* src/haikuterm.c (haiku_read_socket): Clear mouse face on
keyboard input if `mouse-highlight' is a fixnum.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -83092,21 +85421,21 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2021-12-31 02:56:06 UTC.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-01 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
67400da412 Improve doc strings of fringe indicator variables
a6adfe21e4 * lisp/tab-line.el (tab-line--get-tab-property): New funct...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2022-01-01 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
f2031d0ddb Minor improvement in user documentation of completion style
1e3076e2db Fix bug where bookmark-jump used (point), not (point-at-bol)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2022-01-01 Po Lu <luangruo@yahoo.com>
Flush frames after mouse face is cleared on a child frame in Haiku
@@ -83118,14 +85447,14 @@
after clearing mouse face because the pointer was moved out of a
frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
Print dead xwidgets specially
* src/print.c (print_vectorlike) <PVEC_XWIDGET>: Print "killed
xwidget" for dead xwidgets.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-12-31 Alan Mackenzie <acm@muc.de>
Try to make scratch/correct-warning-pos build on Windows and not segfault
@@ -83134,7 +85463,7 @@
(Fcomp__init_ctxt): Remove the register_emitter call for Qsymbol_with_pos_p,
which was causing a segfault.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-12-31 Alan Mackenzie <acm@muc.de>
Miscellaneous enhancements to scratch/correct-warning-pos.
@@ -83174,7 +85503,7 @@
* src/lread.c (read1): When reading a compiled function, read the components
of the vector without giving its symbols a position.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-31 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in play/*.el
@@ -83189,11 +85518,11 @@
* lisp/play/pong.el (pong-mode-map):
* lisp/play/solitaire.el (solitaire-mode-map): Use defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-31 Lars Ingebrigtsen <larsi@gnus.org>
`make-finalizer' now has to be called with a function, so adjust test
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-31 Michael Albinus <michael.albinus@gmx.de>
Documentation update for Secret Service
@@ -83203,7 +85532,7 @@
* lisp/net/secrets.el: Adjust comments.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
Fix copyright dates in some files belonging to the pgtk port
@@ -83215,7 +85544,7 @@
* src/pgtkterm.c:
* src/pgtkterm.h: Fix copyright dates to say '2021'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
On Haiku, sync a frames's connection to the app sever after raising
@@ -83225,14 +85554,14 @@
after raising it to avoid situations where raising windows is
done out-of-order, such as when ediff raises a frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
Fix child frame unlinking on Haiku
* src/haiku_support.cc (UnlinkChild): Fix obvious mistake.
(DoMove): Lock child frame window before moving it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
Use a single global lock for the child frame state on Haiku
@@ -83256,7 +85585,7 @@
(SetUpDoubleBuffering): Use a single lock for controlling access
to child frame state.
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2021-12-31 Stephen Berman <stephen.berman@gmx.net>
Fix handling of webkit xwidget bookmarks
@@ -83277,7 +85606,7 @@
extracted from `xwidget-webkit-new-session'.
(xwidget-webkit-new-session): Use it.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-31 Eli Zaretskii <eliz@gnu.org>
Minor improvements of 'lisp-directory' docs
@@ -83286,7 +85615,7 @@
* doc/lispref/loading.texi (Library Search): Improve wording of
documentation of 'lisp-directory' and related features.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
Prevent double buffering from being disabled on USE_BE_CAIRO builds
@@ -83313,25 +85642,25 @@
* src/haikufns.c (haiku_set_inhibit_double_buffering): Always
enable double buffering on Cairo builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-31 Po Lu <luangruo@yahoo.com>
Don't select for gesture events on xwidgets if the server is too old
* src/xwidget.c (x_draw_xwidget_glyph_string): Only select for
XI gesture events if the server supports XI 2.4 or later.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-31 Stefan Monnier <monnier@iro.umontreal.ca>
(Fmake_finalizer): Check the arg is a function
* src/eval.c (syms_of_eval): Add `Qfunctionp`.
* src/alloc.c (Fmake_finalizer): Check the arg is a function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-31 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/package.el (package-get-version): Add fallback
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-30 Stefan Monnier <monnier@iro.umontreal.ca>
Don't store docstrings of preloaded .el files in etc/DOC
@@ -83367,7 +85696,7 @@
* doc/lispref/loading.texi (Library Search): Mention `lisp-directory`.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-30 Po Lu <luangruo@yahoo.com>
Add pinch event support to xwidgets
@@ -83380,7 +85709,7 @@
* src/xwidget.h (xwidget_motion_notify): Update prototype.
(xwidget_pinch): New function prototype.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-30 Po Lu <luangruo@yahoo.com>
Restore original xwidget embedder after performing a lispy event
@@ -83389,21 +85718,21 @@
(Fdelete_xwidget_view): Block input around non-reentrant
section.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-30 Po Lu <luangruo@yahoo.com>
* src/xwidget.c (Fxwidget_perform_lispy_event): Use FRAME_WINDOW_P.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-12-30 Glenn Morris <rgm@gnu.org>
* lisp/window.el (display-comint-buffer-action): Fix type.
-2023-04-15 Philipp Stephani <phst@google.com>
+2021-12-30 Philipp Stephani <phst@google.com>
* lisp/emacs-lisp/ert.el (ert-select-tests): Document new error.
* lisp/emacs-lisp/ert.el (ert-select-tests): Simplify nested switch
-2023-04-15 Philipp Stephani <phst@google.com>
+2021-12-30 Philipp Stephani <phst@google.com>
Properly report errors about unbound ERT test symbols.
@@ -83419,7 +85748,7 @@
* etc/NEWS: Document new behavior.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-30 Eli Zaretskii <eliz@gnu.org>
Fix multisession-tests on MS-Windows
@@ -83428,14 +85757,14 @@
invoking the Emacs sub-process, not after, to ensure the later
update is detected with 1-sec file time resolution.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-30 Po Lu <luangruo@yahoo.com>
Make sure widget buttons always have a left box line
* lisp/wid-edit.el (widget-specify-button): Add an invisible
before-string to the button overlay. (bug#51550)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-12-30 Alan Mackenzie <acm@muc.de>
CC Mode: Prevent rapid alternation of fontification of "found types"
@@ -83446,14 +85775,14 @@
fontification of that type throughout the buffer) until the end of the
function, when we're sure that the "type" found actually is a type.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-30 Eli Zaretskii <eliz@gnu.org>
Fix previous change in 'pop_it'
* src/xdisp.c (restore_face_box_flags): New function.
(pop_it): Use 'restore_face_box_flags'. (Bug#51550)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-30 Eli Zaretskii <eliz@gnu.org>
Fix start-of-box-face display after display and overlay strings
@@ -83461,7 +85790,7 @@
like we do in 'handle_fontified_prop', when faces change while
iterating over a buffer or string. (Bug#51550)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-12-30 Alan Mackenzie <acm@muc.de>
Make symbols with positions work with native compilation
@@ -83525,13 +85854,13 @@
* src/fns.c (Fput): Strip positions from symbols in PROPNAME and VALUE.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-30 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el (tab-line-tab-name-format-default): Add help-echo.
(bug#52889)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-30 Po Lu <luangruo@yahoo.com>
Make xwidget motion commands hscroll the window of wide widgets
@@ -83543,7 +85872,7 @@
* src/xwidget.c (xwidget_scroll, xwidget_motion_notify): Apply
clip offsets to coordinates.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-30 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -83553,14 +85882,14 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Work around xwidgets releasing the passive grab on an entry event
* src/xterm.c (handle_one_xevent): Don't send XI_Enter events to
xwidgets if button 1 is pressed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Use XRandR 1.5 to generate monitor attributes if available
@@ -83572,7 +85901,7 @@
`x_get_monitor_attributes_xrandr' to retrieve the workarea
instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Translate crossing event mode when sending them to xwidgets
@@ -83580,14 +85909,14 @@
instead.
(xwidget_motion_or_crossing): Translate XI entry event mode.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-29 Juri Linkov <juri@linkov.net>
* lisp/textmodes/paragraphs.el (repunctuate-sentences-filter): New function.
(repunctuate-sentences): Use it on isearch-filter-predicate
to skip unnecessary matches. (bug#52769)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-29 Juri Linkov <juri@linkov.net>
* lisp/textmodes/sgml-mode.el (sgml-mode): Set skeleton-end-newline to nil.
@@ -83595,33 +85924,33 @@
skeleton. Those which do want a newline do that explicitly in
their define-skeleton form. This is what texinfo-mode does (bug#52864).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-29 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'define-keymap'
* doc/lispref/keymaps.texi (Creating Keymaps)
(Changing Key Bindings): Fix typos, improve wording.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-29 Eli Zaretskii <eliz@gnu.org>
Fix recent changes in 'keymap-lookup' documentation
* doc/lispref/keymaps.texi (Functions for Key Lookup): Improve
wording, correct typos.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2021-12-29 Tassilo Horn <tsdh@gnu.org>
Revert "Revert "Fix fontification in diff--font-lock-prettify""
This reverts commit 3cadd72673d8095df7eeb8e847db87ae42b5e2f6.
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2021-12-29 Tassilo Horn <tsdh@gnu.org>
Revert "Fix fontification in diff--font-lock-prettify"
This reverts commit 1da392d62d1ae743151f7fda83d0725ec6053686.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2021-12-29 Matthias Meulien <orontee@gmail.com>
Fix fontification in diff--font-lock-prettify
@@ -83629,21 +85958,21 @@
diff--font-lock-prettify on created or deleted files
(bug#52810).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-29 Lars Ingebrigtsen <larsi@gnus.org>
Document keymap-set-after in Modifying Menus in lispref
* doc/lispref/keymaps.texi (Modifying Menus): Document
keymap-set-after (bug#52819).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-29 Lars Ingebrigtsen <larsi@gnus.org>
Document `keymap-lookup' in the lipsref manual
* doc/lispref/keymaps.texi (Functions for Key Lookup): Document
`keymap-lookup' instead of `lookup-key' (bug#52820).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-29 Lars Ingebrigtsen <larsi@gnus.org>
Move define-keymap manual entry to Creating Keymaps
@@ -83651,20 +85980,20 @@
(Changing Key Bindings): Move `define-keymap'/`defvar-keymap' to
the Creating Keymaps node.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-29 Lars Ingebrigtsen <larsi@gnus.org>
Allow the user to specify shr-width in mm-shr
* lisp/gnus/mm-decode.el (mm-shr): Allow the user to specify the
width by setting `shr-width' (bug#52825).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-29 Lars Ingebrigtsen <larsi@gnus.org>
Make multi-test-files-busy shorter
Ignore manual/ directory made by admin/make-manuals
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-29 Lars Ingebrigtsen <larsi@gnus.org>
Adjust multi-test-files-simple test for Windows
@@ -83672,14 +86001,14 @@
(multi-test-files-simple): Adjust test to Emacs timestamp
resolution on Windows.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Fix a hang on servers that don't support the X Keyboard Extension
* src/xfns.c (Fx_backspace_delete_keys_p): Don't block input
before checking for Xkb.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Translate state of XI2 entry events when sending them to xwidgets
@@ -83687,7 +86016,7 @@
(xwidget_motion_or_crossing): Translate detail and state of
GenericEvents before sending them to the widget.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Get rid of obsolete xwidget-related code on PGTK
@@ -83700,7 +86029,7 @@
* src/xwidget.c (x_draw_xwidget_glyph_string): Work around
mysterious bug.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Test for Xkb support when opening a display
@@ -83713,7 +86042,7 @@
* src/xterm.h (struct x_display_info): New field `supports_xkb'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Queue xwidget views for allocation in more places
@@ -83721,7 +86050,7 @@
(Fxwidget_resize) [HAVE_PGTK]: Queue xwidgets and views for
allocation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Improve xwidget event handling on XI2
@@ -83736,20 +86065,20 @@
(x_draw_xwidget_glyph_string): Add crossing events to the XI2
event mask.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-29 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
06dcd2be5d Improve rectangle-mark-mode documentation regarding mark a...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Translate buttons when sending XI2 motion events to xwidgets
* src/xterm.c (handle_one_xevent): Translate all three buttons
when passing XI2 motion events to xwidgets.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-29 Po Lu <luangruo@yahoo.com>
Use XI2 to handle xwidget button events
@@ -83758,7 +86087,7 @@
* src/xwidget.c (x_draw_xwidget_glyph_string): Add appropriate
values to the XI2 event mask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
Fix embedder calculation for xwidgets on PGTK
@@ -83769,18 +86098,18 @@
(to_embedder):
(from_embedder): Rectify accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
Fix NS xwidget build
* src/xwidget.c (kill_frame_xwidget_views):
* src/xwidget.h (kill_frame_xwidget_views): Disable on NS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
* src/xwidget.c (syms_of_xwidget): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
Add support for xwidgets to the PGTK port
@@ -83822,7 +86151,7 @@
builds.
(kill_frame_xwidget_views): Enable on PGTK.
-2023-04-15 Sam Steingold <sdsg@amazon.com>
+2021-12-28 Sam Steingold <sdsg@amazon.com>
Fix bug#52467 by adding a new custom variable 'display-comint-buffer-action'
@@ -83840,7 +86169,7 @@
(tex-recenter-output-buffer): Pass 'display-comint-buffer-action'
to 'pop-to-buffer'.
-2023-04-15 Philipp Stephani <phst@google.com>
+2021-12-28 Philipp Stephani <phst@google.com>
Fix test lisp/cedet/semantic/bovine/gcc-tests on macOS (Bug#52431)
@@ -83848,27 +86177,27 @@
(semantic-gcc-test-output-parser-this-machine): Also detect Apple
clang on macOS Monterey.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-28 Juri Linkov <juri@linkov.net>
* lisp/textmodes/paragraphs.el (repunctuate-sentences): Region for NO-QUERY.
Use region boundaries also for the case when NO-QUERY arg is non-nil
(bug#52769).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-28 Juri Linkov <juri@linkov.net>
* lisp/textmodes/paragraphs.el (repunctuate-sentences): Support region.
Add optional args 'start' and 'end', and pass them as region boundaries
to query-replace-regexp (bug#52769).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-28 Juri Linkov <juri@linkov.net>
* lisp/replace.el (replace-regexp-function): New function (bug#52558).
(replace-search, replace-highlight): Use it.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-12-28 Andrea Corallo <akrl@sdf.org>
* Fix native comp for non trivial function names (bug#52833)
@@ -83876,25 +86205,25 @@
for functions with function names containing non trivial
characters (bug#52833).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-28 Stefan Monnier <monnier@iro.umontreal.ca>
* etc/NEWS (eieio-compat): Rewrite
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
* lwlib/xlwmenu.c (fit_to_screen): Adjust correctly for child menus.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-28 Juri Linkov <juri@linkov.net>
* lisp/vc/vc.el (vc-revert): Use generate-new-buffer, not just new buffer name
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
Document a problem with IBus and the C-. key
* etc/PROBLEMS: Document an IBus emoji panel problem.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-28 Po Lu <luangruo@yahoo.com>
Add support for pinch events to NS
@@ -83904,14 +86233,14 @@
* src/nsterm.c (- magnifyWithEvent): New function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
c0815aca18 Fix typos in in 'reset-language-environment'
ea65de7577 eshell-complete-parse-arguments: don't use string-match on...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-27 Po Lu <luangruo@yahoo.com>
Fix menu placement on multiple-display setups when using lwlib
@@ -83928,7 +86257,7 @@
connecting to a display.
* src/xterm.h (xlw_monitor_dimensions_at_pos): New prototype.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
Replace uniquify.el's advice with direct calls
@@ -83942,14 +86271,14 @@
(uniquify--create-file-buffer-advice): Don't add them as advice any more.
Adjust their calling convention accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-27 Po Lu <luangruo@yahoo.com>
Only rely on passive device grabs on XI2
* src/xterm.c (xi_grab_or_ungrab_device): Remove function.
(handle_one_xevent): Stop setting non-passive grabs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-27 Stefan Kangas <stefan@marxist.se>
Fix read-multiple-choice tests
@@ -83959,7 +86288,7 @@
(test-rmc--add-key-description/with-attributes)
(test-rmc--add-key-description/non-graphical-display): Fix tests.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
Fix EIEIO tests to account for eieio-compat move
@@ -83972,7 +86301,7 @@
* doc/misc/ede.texi (ede-generic-project): Update sample code to use
cl-generic syntax.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-27 Stefan Kangas <stefan@marxist.se>
admin.el: Move etc/NEWS to etc/NEWS.NN in one commit
@@ -83981,14 +86310,14 @@
(set-version): Move etc/NEWS to etc/NEWS.NN and prompt to commit
it immediately. (Bug#52420)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-27 Stefan Kangas <stefan@marxist.se>
disabled-command: Explain what SPC means again
* lisp/novice.el (disabled-command-function): Explain what SPC means
again, an explanation that was lost in a recent change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-27 Stefan Kangas <stefan@marxist.se>
read-multiple-choice: Improve key formatting
@@ -83996,7 +86325,7 @@
formatting of key missing in the description. Use face help-key-name
on terminals that can't display underline.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-27 Juri Linkov <juri@linkov.net>
* etc/NEWS: Mention completion-wrap-movement.
@@ -84004,7 +86333,7 @@
* lisp/tab-bar.el (tab-bar-history-mode-map): New defvar-keymap.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-27 Michael Albinus <michael.albinus@gmx.de>
The temprary "session" collection might not exist in Secret Service
@@ -84018,7 +86347,7 @@
Remove compatibility hack.
(secrets-create-item): Adapt accordingly.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-27 Michael Albinus <michael.albinus@gmx.de>
Use `permission-denied' in Tramp tests, and more
@@ -84033,35 +86362,35 @@
(tramp-test24-file-acl, tramp-test26-file-name-completion):
Simplify code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-27 Stefan Kangas <stefan@marxist.se>
Doc fix; fix terminology in key binding functions
* lisp/keymap.el (keymap-set, key-valid-p):
* lisp/subr.el (define-keymap): Doc fix; improve terminology.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-27 Po Lu <luangruo@yahoo.com>
Fix precision scrolling inside terminal buffers
* lisp/term.el (term-goto-process-mark-maybe): Don't move point
to process mark if the event is a vertical wheel event.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-list/eieio-compat.el: Really move to obsolete
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-27 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
d4e2850b32 Update to Org 9.5.2-3-geb9f34
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_handle_event): Add pinch event support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
perl-mode: Recognize "when"/"given" keywords
@@ -84071,7 +86400,7 @@
* test/manual/indent/perl.perl: Add test for "when"/"given".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Fix menu window persistence and entry/leave events on Lucid on XI2
@@ -84081,7 +86410,7 @@
events coming from the shell widget and use `x_window_to_frame'
to find the frame when handling XI_Leave events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Fix Lucid popup menu being stuck on XI2 builds
@@ -84092,7 +86421,7 @@
* src/xterm.c (xi_grab_or_ungrab_device): Don't grab device
if popup is activated on Lucid.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Store sign separately when accumulating precision scroll momentum
@@ -84100,7 +86429,7 @@
vector in new format.
(pixel-scroll-accumulate-velocity): Use new sign field.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in tests
@@ -84114,7 +86443,7 @@
* test/src/keymap-tests.el (keymap-tests-minor-mode-map)
(keymap-tests-major-mode-map): Use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
Prefer the defcustom :risky property in gnus
@@ -84127,14 +86456,14 @@
defcustom :risky property to setting 'risky-local-variable
manually.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
Rewrite disabled-command to use read-multiple-choice
* lisp/novice.el (disabled-command-function): Rewrite to use
read-multiple-choice. Use command substitutions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
read-multiple-choice: Display "SPC" instead of " "
@@ -84146,7 +86475,7 @@
(test-rmc--add-key-description/with-attributes): Update tests for the
above change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
read-multiple-choice: Add optional argument show-help
@@ -84156,7 +86485,7 @@
* doc/lispref/commands.texi (Reading One Event): Document above new
optional argument.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
read-multiple-choice: Add face when key not in name string
@@ -84166,7 +86495,7 @@
(test-rmc--add-key-description/with-attributes)
(test-rmc--add-key-description/non-graphical-display): Update tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
Factor out new function rmc--add-key-description
@@ -84178,46 +86507,46 @@
(test-rmc--add-key-description/with-attributes)
(test-rmc--add-key-description/non-graphical-display): New tests.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
* INSTALL: Document `--with-xinput2'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Accumulate deltas in pinch events that were skipped
* src/keyboard.c (kbd_buffer_get_event): Accumulate relative deltas
inside skipped events when coalescing them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Clarify situations where pinch events can be sent.
* doc/lispref/commands.texi (Misc Events): Clarify the
conditions under which pinch events will be sent.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Coalesce pinch gestures in the keyboard buffer
* src/keyboard.c (kbd_buffer_get_event): Coalesce consecutive
pinch gesture events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Document the representation of DX and DY in pinch events
* doc/lispref/commands.texi (Misc Events): Document
the precise meaning of DX and DY in pinch events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Document some missing commands related to text scaling
* doc/emacs/display.texi (Text Scale): Document
`text-scale-pinch' and `mouse-wheel-text-scale'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Fix some issues with a recent change
@@ -84228,7 +86557,7 @@
* lisp/face-remap.el (text-scale-pinch): Prevent pinch events
from being received in too quick succession.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-26 Eli Zaretskii <eliz@gnu.org>
Minor improvements in multisession.el
@@ -84237,7 +86566,7 @@
(multisession--backend-values, multisession--backend-set-value)
(multisession--read-file-value): Use 'utf-8-emacs' encoding.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Change `x-server-input-version' to `x-server-input-extension-version'
@@ -84246,7 +86575,7 @@
`x-server-input-extension-version'.
(syms_of_xfns): Update defsubr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Add configure tests for faulty XI2 installations
@@ -84255,21 +86584,21 @@
* src/xterm.c (handle_one_xevent): Don't use structures that
might not exist unless configure found them.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Only focus frame implicitly if focus flag is set
* src/xterm.c (x_detect_focus_change): Test for focus flag on
XI entry events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
Add test for text-char-description
* test/src/keymap-tests.el (keymap-text-char-description): New
test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-26 Po Lu <luangruo@yahoo.com>
Add support for pinch gestures to the XI2 build
@@ -84288,14 +86617,14 @@
mask if available.
* src/xterm.c (handle_one_xevent): Handle pinch events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-26 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
89a82182cb Improve documentation of read-multiple-choice
5fccd1e371 Explain why we remove stuff from 'user-full-name'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-25 Po Lu <luangruo@yahoo.com>
Allow interpolating scrolls via the Page Down and Page Up keys
@@ -84305,27 +86634,27 @@
(pixel-scroll-interpolate-down):
(pixel-scroll-interpolate-up): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-25 Po Lu <luangruo@yahoo.com>
Don't clear internal border if frame isn't realized
* src/pgtkterm.c (pgtk_clear_under_internal_border): Don't clear
border if frame isn't realized. (bug#52705)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-25 Stefan Kangas <stefan@marxist.se>
Make read-multiple-choice-face inherit help-key-binding
* lisp/faces.el (read-multiple-choice-face): Inherit
help-key-binding in addition to underline.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2021-12-25 Sam Steingold <sds@gnu.org>
Use the standard `quit-window' binding from `special-mode' for "q"
* epa.el (epa-info-mode-map): Remove `defvar'.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2021-12-25 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to version 2.0.0
@@ -84409,18 +86738,18 @@
The change log entry for this release is available here:
<https://protesilaos.com/codelog/2021-12-24-modus-themes-2-0-0/>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-25 Stefan Kangas <stefan@marxist.se>
Fix unused variable warning in xfns.c
* src/xfns.c (Fx_server_input_version): Fix unused variable
warning.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-25 Stefan Kangas <stefan@marxist.se>
* lisp/net/webjump.el: Add TODO section. (Bug#14624)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-25 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in ido.el
@@ -84428,7 +86757,7 @@
(ido-file-dir-completion-map, ido-file-completion-map)
(ido-buffer-completion-map): Use defvar-keymap.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-25 Michael Albinus <michael.albinus@gmx.de>
* lisp/url/url-handlers.el (directory-files): Adapt ARGS list.
@@ -84436,27 +86765,27 @@
* lisp/simple.el (completion-auto-select): Fix docstring.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-25 Po Lu <luangruo@yahoo.com>
Add a utility function to query the XI2 version on a display
* src/xfns.c (Fx_server_input_version): New function.
(syms_of_xfns): Define new subr.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-25 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
c09ad0cabd Fix the bug with duplicate entries in xref output
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
Move mouse key bindings to gametree-mode-map
* lisp/play/gametree.el (gametree-mode-map): Move mouse key
bindings here.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-24 Po Lu <luangruo@yahoo.com>
Add support for XI 2.4
@@ -84467,7 +86796,7 @@
* src/xterm.c (x_term_init): Declare support for XI 2.4 if
present.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-24 Po Lu <luangruo@yahoo.com>
Fix Emacs tooltips on PGTK
@@ -84475,14 +86804,14 @@
show window.
(Fx_show_tip): Set cursor and show window.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
Simplify command remapping in play/blackbox.el
* lisp/play/blackbox.el (blackbox-redefine-key): Make obsolete.
(blackbox-mode-map): Simplify.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
Prefer the defcustom :risky property in eshell
@@ -84495,11 +86824,11 @@
* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Prefer
defcustom :risky property to setting 'risky-local-variable manually.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
* lisp/eshell/em-hist.el (eshell-hist-match-partial): Minor doc fix.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in eshell
@@ -84513,7 +86842,7 @@
* lisp/eshell/esh-proc.el (eshell-proc-mode-map):
* lisp/eshell/esh-var.el (eshell-var-mode-map): Use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
Respect changes in eshell-hist-match-partial
@@ -84523,11 +86852,11 @@
(eshell-hist-mode-map): Update for eshell-hist-match-partial using
eshell-hist--update-keymap.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-12-24 Yuuki Harano <masm+github@masm11.me>
* etc/PROBLEMS: Add a problem when PGTK started in systemd unit file
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-24 Michael Albinus <michael.albinus@gmx.de>
Add tag :tramp-asynchronous-processes to tramp-tests.el
@@ -84543,7 +86872,7 @@
(tramp--test-expensive-test-p): Rename from
`tramp--test-expensive-test'. Make it a defun. Adapt all callees.
-2023-04-15 Sebastian Fieber <sebastian.fieber@web.de>
+2021-12-24 Sebastian Fieber <sebastian.fieber@web.de>
verify signed content in smime encrypted and signed message
@@ -84585,27 +86914,27 @@
- adjust gnus-mime-security-verify-or-decrypt to handle pkcs7-mime
right with the done changes
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-24 Lars Ingebrigtsen <larsi@gnus.org>
Simplify whitespace stripping in shr-expand-url
* lisp/net/shr.el (shr-expand-url): Simplify whitespace stripping.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-24 Po Lu <luangruo@yahoo.com>
Fix text decoration display on stretch glyphs with no box on NS
* src/nsterm.m (ns_dumpglyphs_stretch): Draw decorations if
there is no box.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-24 Po Lu <luangruo@yahoo.com>
Make precision scrolling work on margins and fringes
* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map): Add
missing key definitions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-24 Po Lu <luangruo@yahoo.com>
Remove useless functions from PGTK port that were breaking emacsbug
@@ -84613,7 +86942,7 @@
useless functions that returned invalid values.
(syms_of_pgtkfns): Stop defining removed subrs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-24 Po Lu <luangruo@yahoo.com>
Grab the server when warping the client pointer
@@ -84622,20 +86951,20 @@
where the client pointer is destroyed between when it is
obtained and when XIWarpPointer is called.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-24 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
04be23f19f Improve Xref documentation
edb1d491d9 * lisp/net/shr.el (shr-expand-url): Also strip trailing wh...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Acquire draw lock when updating menubar on Haiku
* src/haikumenu.c (digest_menu_items): Acquire draw lock.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Fix menu grabs on XI2 Motif builds
@@ -84643,32 +86972,32 @@
* src/xterm.c (xi_grab_or_ungrab_device) [USE_MOTIF]: Always
ungrab if a popup is active.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Fix some more incorrect valuator clearing
* src/xterm.c (handle_one_xevent): Improve detection of stray
ungrab events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Drop scrollbar motion events when valuators are found
* src/xterm.c (handle_one_xevent): Drop XI_Motion if it's on
top of a scroll bar and a valuator is found.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-12-23 Glenn Morris <rgm@gnu.org>
* doc/misc/Makefile.in (need_emacsver): Add missing members.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Make precision scrolling also work on various bars
* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map):
Define keys for various kinds of bars.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Fix precision scrolling down for multi-line display strings
@@ -84676,7 +87005,7 @@
(pixel-scroll-precision-scroll-down-page): Make sure Y delta
is appropriate before deciding on next-pos.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Set start to desired start when pixel scrolling to end of buffer
@@ -84684,7 +87013,7 @@
(pixel-scroll-precision-scroll-down-page): Set start to desired
start when point cannot be moved further down.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-23 Po Lu <luangruo@yahoo.com>
Allow window-text-pixel-size to measure pixels around a position
@@ -84701,7 +87030,7 @@
(Fwindow_text_pixel_size): Update doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-23 Lars Ingebrigtsen <larsi@gnus.org>
Revert back to using monospaced fonts in the mode line
@@ -84710,7 +87039,7 @@
main remaining usability problem is clicking on the very small "-"
characters in "U:--".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-23 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -84721,14 +87050,14 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-12-22 Philip Kaludercic <philipk@posteo.net>
Fix wrong-type-argument
* message.el (message-update-smtp-method-header): Only Use address
part of mail-extract-address-component.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-12-22 Philip Kaludercic <philipk@posteo.net>
Allow automatic X-Message-SMTP-Method header insertion
@@ -84739,13 +87068,13 @@
message-server-alist
* etc/NEWS: Add news entry
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-22 Stefan Kangas <stefan@marxist.se>
Fix compile time error in a pcase test
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Fix test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-22 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in minibuffer.el
@@ -84756,7 +87085,7 @@
(minibuffer-local-ns-map, minibuffer-inactive-mode-map): Use
defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-22 Stefan Kangas <stefan@marxist.se>
Make substitute-command-keys test less brittle
@@ -84765,7 +87094,7 @@
(help-tests-substitute-command-keys/keymaps): Make test less
brittle by using above new keymap.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Add native HEIC support on macOS (bug#51381)
@@ -84776,7 +87105,7 @@
* src/nsimage.m (ns_can_use_native_image_api): Add heic to list of
possible image types in the native image support lookup.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Allow resizing undecorated frames on macOS (bug#28512, bug#31795)
@@ -84787,7 +87116,7 @@
inline and add NSWindowStyleMaskResizable for undecorated frames on
Cocoa.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Make NS toolbar item ID more unique (bug#50160)
@@ -84796,7 +87125,7 @@
Add the label to the identifier to avoid collisions between toolbar
items that use the same image.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Make NS toolbar use NSString instead of C strings
@@ -84807,7 +87136,7 @@
([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]):
No need to convert to NSString here anymore.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Fix macfont backend color handling
@@ -84817,7 +87146,7 @@
(CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Fix call to get_cgcolor
and fix all callers.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Further cleanup of NS color code
@@ -84839,7 +87168,7 @@
thing
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-22 Alan Third <alan@idiocy.org>
Simplify NS color handling
@@ -84873,7 +87202,7 @@
(ns_initialize_display_info):
(ns_delete_display): Initialize and release the NSMutableArray lookup table.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2021-12-22 Jonas Bernoulli <jonas@bernoul.li>
Help outline-minor-mode avoid some false matches
@@ -84881,7 +87210,7 @@
'outline-minor-mode' avoid false matches by quoting certain
characters when they appear at bol in a multi-line string.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2021-12-22 Jonas Bernoulli <jonas@bernoul.li>
Hide transient prefix/suffix commands from execute-extended-command
@@ -84890,7 +87219,7 @@
by declaring that they should only be listed in the non-existent
'not-a-mode' mode.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-22 Michael Albinus <michael.albinus@gmx.de>
Fix some Tramp tests
@@ -84898,7 +87227,7 @@
(tramp-test14-delete-directory, tramp-test29-start-file-process)
(tramp-test30-make-process): Adapt tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-22 Mattias Engdegård <mattiase@acm.org>
Use unibyte strings in ntlm auth requests and responses
@@ -84907,24 +87236,24 @@
greater than 127, or base64 encoding will fail.
This should fix failures in ntlm-tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-22 Lars Ingebrigtsen <larsi@gnus.org>
Adjust test after recent help.el change
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-22 Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (scroll_event): Fix scroll delta scale.
* src/pgtkterm.c (scroll_event): Fix sign of delta_y.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-22 Po Lu <luangruo@yahoo.com>
Disable by default and add NEWS entry to the new completion behavior
* etc/NEWS: Announce 'completion-auto-select'.
* lisp/simple.el (completion-auto-select): Default to nil.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-22 Lars Ingebrigtsen <larsi@gnus.org>
Simplify disabled-command-function prompting
@@ -84932,21 +87261,21 @@
`read-event' instead of messaging it, so that people using
Emacspeak get the prompt read to them.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-22 Lars Ingebrigtsen <larsi@gnus.org>
Use pop-to-buffer-same-window in `M-x term'
* lisp/term.el (term): Allow `display-buffer*' customization to
take effect (bug#52688).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-22 Po Lu <luangruo@yahoo.com>
Fix horizontal scrolling on PGTK
* src/pgtkterm.c (scroll_event): Fix for when
`mwheel-coalesce-scroll-events' is nil.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-21 Po Lu <luangruo@yahoo.com>
Use XI2 calls to warp the client pointer
@@ -84957,25 +87286,25 @@
odd situation where the client pointer of the root window
is not the client pointer of the frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-21 Po Lu <luangruo@yahoo.com>
Fix GTK crash when clicking on xwidgets on XI2
* src/xterm.c (handle_one_xevent): Drop button events destined
for an xwidget.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-21 Paul Eggert <eggert@cs.ucla.edu>
Update from gnulib
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-12-21 Philip Kaludercic <philipk@posteo.net>
Delete completion window on quitting
* lisp/simple.el (completion-list-mode-map): Rebind
delete-completion-window over keyboard-quit.
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-12-21 Philip Kaludercic <philipk@posteo.net>
Allow for next-completion to wrap around the completion buffer
@@ -84988,14 +87317,14 @@
minibuffer-complete to backtab
(completion--in-region-1): Handle backtab to scroll backwards
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-12-21 Philip Kaludercic <philipk@posteo.net>
Allow for the completion buffer to be automatically selected
* lisp/simple.el (completion-auto-select): Add new option.
(completion-setup-function): Respect completion-auto-select.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-21 Stefan Kangas <stefan@marxist.se>
Declare functions to silence byte-compiler
@@ -85016,7 +87345,7 @@
* test/src/xml-tests.el (libxml-parse-xml-region): Declare
functions to silence byte-compiler in --without-all builds.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-21 Stefan Kangas <stefan@marxist.se>
Fix some tests in --without-all builds
@@ -85025,14 +87354,14 @@
* test/src/thread-tests.el (threads-test-bug33073): Fix tests in
--without-all builds.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-21 Stefan Kangas <stefan@marxist.se>
Silence additional byte-compiler warning in test
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
Silence byte-compiler.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-21 Michael Albinus <michael.albinus@gmx.de>
Add `permission-denied' error to Tramp
@@ -85042,14 +87371,14 @@
* lisp/net/tramp.el (tramp-handle-access-file):
* lisp/net/tramp-archive.el (tramp-archive-handle-copy-file): Use it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-21 Po Lu <luangruo@yahoo.com>
Fix xg_event_is_scrollbar for grab-related events on XI2
* src/gtkutil.c (xg_event_is_for_scrollbar): Don't return true
if event coordinates are outside the frame on XInput 2.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-21 Mattias Engdegård <mattiase@acm.org>
Don't produce multibyte strings by accident in sasl-scram-rfc
@@ -85058,21 +87387,21 @@
This code previously worked by accident because of an overly tolerant
base64 encoder (bug#52670), but now causes a test failure.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-21 Po Lu <luangruo@yahoo.com>
Ignore XI_TouchBegin events on the GTK tool bar
* src/xterm.c (handle_one_xevent): Ignore TouchBegin events
that target the tool bar.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2021-12-21 Andrew G Cohen <cohen@andy.bu.edu>
Fix gnus subject matching when subject is empty
* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Don't try
to limit to a matching subject when the simplified subject is empty.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-20 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Speed up find_field when called from outside a field"
@@ -85080,7 +87409,7 @@
This leads to lisp-mode-tests failures
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-20 Lars Ingebrigtsen <larsi@gnus.org>
Remove the `mode-line-percent-position' min width hack
@@ -85089,21 +87418,21 @@
* src/xdisp.c (display_string): Respect min-width in the non-Lisp
string case (bug#52332).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-20 Lars Ingebrigtsen <larsi@gnus.org>
Allow @ characters in heredoc in shell-script-mode
* lisp/progmodes/sh-script.el (defconst): Also allow @ in heredoc
(bug#52496).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-20 Lars Ingebrigtsen <larsi@gnus.org>
Use the new `permission-denied' error to catch multisession errors
* lisp/emacs-lisp/multisession.el (multisession--read-file-value):
Use the new `permission-denied' error to catch file errors on Windows.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-20 Lars Ingebrigtsen <larsi@gnus.org>
Speed up find_field when called from outside a field
@@ -85111,7 +87440,7 @@
called from outside a field (bug#52593). (In some cursory tests,
this makes the called-from-outside-a-field case about 3x faster.)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-20 Stefan Monnier <monnier@iro.umontreal.ca>
Fix bug#28557
@@ -85128,21 +87457,21 @@
* lisp/emacs-lisp/cconv.el (cconv--convert-funcbody):
Use `macroexp-parse-body`.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-20 Po Lu <luangruo@yahoo.com>
Don't drop touch events we're not interested in on GTK3
* src/xterm.c (handle_one_xevent): Allow GTK to handle
unwanted TouchBegin events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-20 Po Lu <luangruo@yahoo.com>
Fix touch event menu bar detection
* src/xterm.c (handle_one_event): Don't drop menu bar touch
events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-20 Po Lu <luangruo@yahoo.com>
Fix xg_event_is_for_menubar for XI2 events
@@ -85151,7 +87480,7 @@
* src/xterm.c (handle_one_event): Drop TouchBegin events we
know about.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-20 Stefan Monnier <monnier@iro.umontreal.ca>
eieio-tests.el: Silence last warnings
@@ -85159,18 +87488,18 @@
New class.
(eieio-test-22-init-forms-dont-match-runnable): Tweak to silence warning.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-20 Po Lu <luangruo@yahoo.com>
* src/xterm.c (handle_one_xevent): Set user time on touch events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-20 Po Lu <luangruo@yahoo.com>
Ignore all emulated button events (i.e. those from touchscreens)
* src/xterm.c (handle_one_xevent): Ignore all XIPointerEmulated
events if the display supports XI 2.2 or later.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-20 Paul Eggert <eggert@cs.ucla.edu>
Put AM_V_GEN etc. first
@@ -85189,7 +87518,7 @@
* test/Makefile.in (%.log, $(test_module)):
Put AM_V_GEN and similar macros first.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Make some variable aliases obsolete
@@ -85203,7 +87532,7 @@
* lisp/vc/add-log.el (change-log-time-zone-rule): Make variable
aliases obsolete.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-20 Paul Eggert <eggert@cs.ucla.edu>
Prefer $(info) to @echo
@@ -85223,7 +87552,7 @@
Prefer $(warning) to @echo >&2.
* src/verbose.mk.in (AM_V_ELN): Output target, like the others.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-20 Mattias Engdegård <mattiase@acm.org>
Fix sloppy base64 acceptance of some multibyte characters
@@ -85237,27 +87566,27 @@
* doc/lispref/text.texi (Base 64): Rephrase outdated manual text.
* etc/NEWS: Add a notice.
-2023-04-15 Sam Steingold <sds@gnu.org>
+2021-12-20 Sam Steingold <sds@gnu.org>
Fix build in a separate directory (bug#52669)
* src/lisp.h: Include <globals.h> instead of "globals.h"
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in wdired.el
* lisp/wdired.el (wdired-mode-map, wdired-perm-mode-map): Use
defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Use declare-function instead of defun in eieio-tests.el
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Prefer
declare-function to defun.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-20 Mattias Engdegård <mattiase@acm.org>
Silence byte-compiler warnings from absent optional features
@@ -85267,7 +87596,7 @@
Add declarations to prevent byte-compilation warnings when features
are absent.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-20 Mattias Engdegård <mattiase@acm.org>
Body of dynamic let-bindings is not in tail position
@@ -85277,7 +87606,7 @@
dynamic variable bindings.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add test.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-20 Mattias Engdegård <mattiase@acm.org>
Add `macroexp--dynamic-variable-p`
@@ -85304,7 +87633,7 @@
(macroexp-tests--byte-compile-in-subprocess)
(macroexp--tests-dynamic-variable-p): Add tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-20 Mattias Engdegård <mattiase@acm.org>
Treat base64 string encode/decode as pure functions
@@ -85312,7 +87641,7 @@
Mark base64-decode-string, base64-encode-string and
base64url-encode-string as pure and side-effect-free.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler using with-no-warnings in tests
@@ -85327,7 +87656,7 @@
* test/lisp/progmodes/elisp-mode-tests.el
(xref-elisp-generic-co-located-default): Silence byte-compiler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Silence undefined function warnings in eieio-tests.el
@@ -85335,7 +87664,7 @@
byte-compiler with some function definitions. These are overridden by
class definitions further down.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Prefer skip-unless in one eieio test
@@ -85343,7 +87672,7 @@
(eieio-test-01-mix-alloc-initarg): Use skip-unless to correctly mark
the test as skipped.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in cconv-tests.el
@@ -85351,18 +87680,18 @@
(cconv-tests-iter-lambda-:documentation)
(cconv-tests-cl-function-:documentation): Silence byte-compiler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-20 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
16ed9fad2c ; * doc/lispref/frames.texi (Child Frames): Improve wording.
f11b996a3c Clarify description of two mouse dragging parameters (Bug#...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-19 Stefan Kangas <stefan@marxist.se>
* lisp/progmodes/sh-script.el (sh-mode-map): Use defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Further tweaks to emoji person groups
@@ -85370,7 +87699,7 @@
after the colon into consideration, like in "kiss: person, person,
light skin tone, medium-light skin tone".
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Further tweaks to the emoji segmentation
@@ -85378,14 +87707,14 @@
that we key off of the "person" variants, even if they come after
the gendered variations (which is the case for a handful of glyphs).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Further fixes for emojis in the "people" categories
* lisp/international/emoji.el (emoji--base-name): Get more derived
categories right.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-19 Juri Linkov <juri@linkov.net>
* lisp/isearch.el: Don't display "Pending" for lax and toggle commands.
@@ -85396,7 +87725,7 @@
(isearch-search-fun-default):
Set isearch-adjusted to 'lax' instead of 't'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-19 Eli Zaretskii <eliz@gnu.org>
Move Rmail autoloads to the common loaddefs.el
@@ -85409,11 +87738,11 @@
* lisp/mail/rmail.el: Remove generated-autoload-file setting and
don't require rmail-loaddefs.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Add some very rudimentary field-beginning/end tests
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-19 Eli Zaretskii <eliz@gnu.org>
New error symbol 'permission-denied'
@@ -85429,14 +87758,14 @@
* doc/lispref/errors.texi (Standard Errors):
* etc/NEWS: Document 'permission-denied' error.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-19 Stefan Kangas <stefan@marxist.se>
Make bad-packages-alist obsolete
* lisp/simple.el (bad-packages-alist, bad-package-check): Make
obsolete. (Bug#52351)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-12-19 Alan Mackenzie <acm@muc.de>
CC Mode: Remove annoying background fontification. Should fix bug #52298
@@ -85462,7 +87791,7 @@
* doc/misc/cc-mode.texi (Found Types): Remove. Amend some menu entries.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-19 Stefan Kangas <stefan@marxist.se>
Silence "initform needs quoting" warning in tests
@@ -85473,54 +87802,54 @@
(slotattr-class-base, slotattr-class-ok, IT): Silence byte-compiler
warnings about "ambiguous initform needs quoting".
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-19 Michael Albinus <michael.albinus@gmx.de>
Fix timeout problem in autorevert-tests.el
* test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
Remove debug message. Increase timeout.
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2021-12-19 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Enable webp support in PGTK builds, too
* configure.ac (HAVE_WEBP): Enable webp in PGTK builds, too.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-19 Eli Zaretskii <eliz@gnu.org>
Fix last change in 'handle_display_prop'
* src/xdisp.c (handle_display_prop): Pass the window's buffer to
'display_min_width' and to 'handle_display_spec'. (Bug#52385)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-19 Stefan Kangas <stefan@marxist.se>
Silence "Unknown slot" warnings in tests
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
* test/lisp/net/ntlm-tests.el: Silence byte-compiler.
-2023-04-15 Daniel Mendler <mail@daniel-mendler.de>
+2021-12-19 Daniel Mendler <mail@daniel-mendler.de>
Add a new elp-restore-package command
* lisp/emacs-lisp/elp.el (elp-restore-package): New command
(bug#52457).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix elp-*-list interactive specs
* lisp/emacs-lisp/elp.el (elp-reset-list):
(elp-restore-list): Fix the interactive specs (bug#52457).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-19 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
5f25852e91 Update to Org 9.5.1-31-ga18849
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Rework how shr sets <span id='foo'> targets to make it more reliable
@@ -85533,21 +87862,21 @@
(shr-tag-a): Save targets for later.
(shr-render-td-1): Bind and set targets (bug#52512).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix prompt in `sql-sqlite'
* lisp/progmodes/sql.el (sql-get-login): Fix the Database: prompt
(bug#52546).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Fix indexing gendered emoji forms that have "person" base forms
* lisp/international/emoji.el (emoji--base-name): Index man/woman
on the generic form we have read already (bug#52580).
-2023-04-15 LdBeth <andpuke@foxmail.com> (tiny change)
+2021-12-19 LdBeth <andpuke@foxmail.com> (tiny change)
Add a shr-allowed-images user option
@@ -85556,14 +87885,14 @@
(shr-tag-img): Use it.
* doc/misc/eww.texi (Advanced): Document it.
-2023-04-15 miha <miha@kamnitnik.top>
+2021-12-19 miha <miha@kamnitnik.top>
Fix prompt colors in comint-snapshot-last-prompt
* lisp/comint.el (comint-snapshot-last-prompt): Fix colorization
of the prompt (bug#11883).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-19 Lars Ingebrigtsen <larsi@gnus.org>
Move rmail-related functions from gnus-util.el to gnus-rmail.el
@@ -85574,27 +87903,27 @@
own file. This avoids loading rmail.el when something requires
gnus-util.el.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Add missing implementation of `pgtk-menu-bar-open'
* lisp/term/pgtk-win.el (pgtk-menu-bar-open): New function.
(bug#52604)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
* src/gtkutil.c: Remove obsolete fixme.
* etc/NEWS: Add news entry for pgtk.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-18 Paul Eggert <eggert@cs.ucla.edu>
Update from gnulib
Make the following changes by hand, and run ‘admin/merge-gnulib’.
* configure.ac (AM_CONDITIONAL): Adjust to new Gnulib convention.
-2023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
+2021-12-18 Andrew G Cohen <cohen@andy.bu.edu>
Fix gnus search by message-id
@@ -85604,7 +87933,7 @@
* lisp/gnus/nnselect.el (nnselect-request-article): Use new
gnus-search query format.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-18 Eli Zaretskii <eliz@gnu.org>
Improve doc strings in emoji.el
@@ -85612,7 +87941,7 @@
(emoji-search, emoji-list, emoji-describe, emoji-list-help):
Improve and clarify the doc strings.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-18 Mattias Engdegård <mattiase@acm.org>
Remove incorrect byte-hunk-handler for `eval`
@@ -85622,7 +87951,7 @@
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval): Remove.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-18 Michael Albinus <michael.albinus@gmx.de>
Make generation of JUnit test reports more robust.
@@ -85641,11 +87970,11 @@
* test/lisp/progmodes/perl-mode-tests.el (top):
Set `ert-load-file-name'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-18 Stefan Kangas <stefan@marxist.se>
* lisp/dired.el (dired-mode-map): Use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-18 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in multisession-tests.el
@@ -85654,7 +87983,7 @@
(multi-test-files-simple, multi-test-files-busy)
(multi-test-files-some-values): Silence byte-compiler.
-2023-04-15 YugaEgo <yet@ego.team>
+2021-12-18 YugaEgo <yet@ego.team>
Cleanup append-to-buffer section in ELisp Intro
@@ -85664,7 +87993,7 @@
to the 'append-to-buffer' section. Improve wording, fix
typos, remove redundant comments (Bug#8275).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-18 Eli Zaretskii <eliz@gnu.org>
Clean up some of PGTK code
@@ -85674,20 +88003,20 @@
(pgtk_get_string_resource): Reformat comments.
* src/gtkutil.c (xg_show_tooltip): Add comments to large #ifdef's.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Fix cairo build on haiku
* configure.ac: Move pgtk cairo detection to the correct
location.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
* src/pgtkfns.c (Fx_show_tip): Adjust call for new signature.
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Work around some mysterious touch ownership race on GNOME Shell
@@ -85696,7 +88025,7 @@
(handle_one_xevent): Catch and ignore errors during touch
sequence grabbing.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Add new argument `ignore-line-at-end' to `window-text-pixel-size'
@@ -85709,7 +88038,7 @@
(Fwindow_text_pixel_size): New argument `ignore-line-at-end'.
All callers changed.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-18 Eli Zaretskii <eliz@gnu.org>
Fix display of window-specific overlays with 'display' property
@@ -85720,31 +88049,31 @@
reasons, as part of installing the support for the
'min-width' space spec.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-18 Lars Ingebrigtsen <larsi@gnus.org>
Make multisession file reading more resilient on Windows
* lisp/emacs-lisp/multisession.el (multisession--read-file-value):
Rename and try harder on file errors on Windows.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Coding style fixes
* src/gtkutil.c (xg_frame_set_char_size): Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-18 Po Lu <luangruo@yahoo.com>
Document a bug that exists with some versions of GNOME and GTK
* etc/PROBLEMS (Window-manager and toolkit-related problems):
Document GNOME shell bug.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Flip buffers if display were modified in haiku_read_socket
@@ -85752,7 +88081,7 @@
(haiku_read_socket): Flip buffers if the display could have
been modified.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Don't abort upon untracked TouchUpdate events
@@ -85763,14 +88092,14 @@
* src/xterm.c (handle_one_xevent): Don't abort when receiving
a TouchUpdate that isn't part of a touch sequence.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-17 Michael Albinus <michael.albinus@gmx.de>
Handle missing JUnit test reports
* lisp/emacs-lisp/ert.el (ert-write-junit-test-report)
(ert-write-junit-test-summary-report): Handle missing JUnit test reports.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-17 Stefan Monnier <monnier@iro.umontreal.ca>
multisession.el: Avoid old specializer syntax
@@ -85783,7 +88112,7 @@
multisession--backend-set-value, multisession--backend-values)
multisession--backend-delete): Quote the symbol passed to `eql` specializer.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-17 Eli Zaretskii <eliz@gnu.org>
Improve multisession test results on MS-Windows
@@ -85791,14 +88120,14 @@
(multisession--backend-set-value): Force 'fsync'ing the temporary
file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Fix touchscreen support on Xt builds
* src/xterm.c (handle_one_xevent): Make menu bar touch event
code conditional on GTK3.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Update menu bar when processing touch sequences on it
@@ -85806,7 +88135,7 @@
becoming outdated when handling XI_TouchBegin events that may
cause it to be opened.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Ignore motion events sent by an emulated pointer
@@ -85814,7 +88143,7 @@
have PointerEmulated set when the display supports XInput 2.2
or later.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-17 Paul Eggert <eggert@cs.ucla.edu>
Port tramp-adb.el back to Emacs 26
@@ -85824,7 +88153,7 @@
Problem reported by Michael Albinus in:
https://lists.gnu.org/r/emacs-devel/2021-12/msg01623.html
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-17 Eli Zaretskii <eliz@gnu.org>
Fix selection of fonts that don't have regular weight
@@ -85832,7 +88161,7 @@
inexact matches of the font weight is now used for non-NTGUI
platforms as well. (Bug#52493)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix parallel build with multisession.el
@@ -85840,11 +88169,11 @@
in gnus-util, which requires rmail, which depends on
rmail-loaddefs being generated, which our Makefiles doesn't guarantee.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-17 Po Lu <luangruo@yahoo.com>
Add support for touchscreen events generated by XInput 2
@@ -85877,18 +88206,18 @@
* src/xterm.h (struct xi_touch_point_t): New structure.
(struct xi_device_t): Add touchpoints field.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-12-16 Dmitry Gutov <dgutov@yandex.ru>
Kill eshell-mode project buffers too
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Add 'eshell-mode' too (bug#49465).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
* src/timefns.c: Minor comment fix.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Simplify epa-ks--parse-buffer timestamp handling
@@ -85896,7 +88225,7 @@
seconds-to-time, and prefer the unaliased name time-convert when
calls are necessary.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Omit temporary warning re obsolete timestamps
@@ -85911,14 +88240,14 @@
(decode_lisp_time): Simplify by taking a bool instead of an
integer bitmask. All uses changed.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Assume current-time-zone exists
* lisp/timezone.el (timezone-time-zone-from-absolute): Simplify by
assuming current-time-zone exists (true since Emacs 19.7 in 1993).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Prefer format-time-string to current-time-zone
@@ -85928,14 +88257,14 @@
* lisp/time.el (display-time-update):
Prefer (format-time-string "%Z") to (cadr (current-time-zone)).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Minor nndiary simplificatiuon with time zone
* lisp/gnus/nndiary.el (nndiary-last-occurrence)
(nndiary-next-occurrence): Simplify (and X (car X)) to (car X).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Prefer format-time-string to current-time-string
@@ -85944,7 +88273,7 @@
* lisp/tar-mode.el (tar-clip-time-string):
Prefer format-time-string to reassembling current-time-string output.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
encode-time simplifications
@@ -85965,7 +88294,7 @@
* lisp/org/org-clock.el (org-clocktable-steps):
Prefer (encode-time S M ...) to (apply #'encode-time (list S M ...)).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Fix icalendar time zone parsing glitch
@@ -85976,7 +88305,7 @@
icalendar--decode-isodatetime tests fail. This fixes a bug
introduced in 2021-11-21T08:18:57Z!dick.r.chiang@gmail.com.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-16 Paul Eggert <eggert@cs.ucla.edu>
Fix encode-time doc string
@@ -85984,25 +88313,25 @@
that talks about FORM (which doesn’t exist) by copying
wording from the manual instead.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-16 Juri Linkov <juri@linkov.net>
* lisp/vc/vc-dispatcher.el (vc-command-messages): Add choice 'log'.
(vc-do-command): Don't display messages but only write them to the *Messages*
buffer when vc-command-messages is 'log' (bug#52518).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-16 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-16 Eli Zaretskii <eliz@gnu.org>
Improve documentation of multisession variables
* doc/lispref/variables.texi (Multisession Variables): Improve
wording and markup, add indexing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-16 Lars Ingebrigtsen <larsi@gnus.org>
Update files times in multisesssion properly
@@ -86010,18 +88339,18 @@
(multisession--backend-set-value): Make cached/external files
times match up.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-16 Lars Ingebrigtsen <larsi@gnus.org>
Make the multisession files value read more resilient
* lisp/emacs-lisp/multisession.el
(multisession--update-file-value): Make more resilient towards errors.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-16 Lars Ingebrigtsen <larsi@gnus.org>
Skip extension tests on hosts without the function
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-16 Lars Ingebrigtsen <larsi@gnus.org>
Make emoji--recent use multisession variables
@@ -86030,13 +88359,13 @@
(emoji-recent, emoji--recent-transient): Use it.
(emoji--add-recent): Update it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-16 Lars Ingebrigtsen <larsi@gnus.org>
Declare a couple more functions in multisession.el
* lisp/emacs-lisp/multisession.el: New file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-16 Lars Ingebrigtsen <larsi@gnus.org>
Add support for multisession variables
@@ -86047,26 +88376,26 @@
* lisp/emacs-lisp/multisession.el: New file.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-16 Po Lu <luangruo@yahoo.com>
Require xwidget.el in `make-xwidget'
* src/xwidget.c (Fmake_xwidget): Require `xwidget'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1e578267fb Fix control buffer window height in 'ediff-setup-control-b...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-15 Stefan Kangas <stefan@marxist.se>
Prefer command remapping in ses.el
* lisp/ses.el (ses-mode-print-map): Use command remapping instead of
substitute-key-definition.
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com>
+2021-12-15 Fredrik Bergroth <fbergroth@gmail.com>
Add missing entries from completionitemkind
@@ -86074,7 +88403,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/772
-2023-04-15 Garret Buell <gmbuell@gmail.com> (tiny change)
+2021-12-15 Garret Buell <gmbuell@gmail.com> (tiny change)
Mark eglot-completion-at-point capf "non-exclusive"
@@ -86086,7 +88415,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/770
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-15 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in hideif.el
@@ -86094,21 +88423,21 @@
defvar-keymap. Use command remapping instead of
substitute-key-definition.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-15 Michael Albinus <michael.albinus@gmx.de>
Add errors in ert JUnit test reports
* lisp/emacs-lisp/ert.el (ert-write-junit-test-report)
(ert-write-junit-test-summary-report): Handle errors.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-15 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-minor-mode-use-buttons): Add :safe #'booleanp.
(outline-minor-mode-cycle, outline-minor-mode-highlight):
Replace `put safe-local-variable' with :safe tag.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-12-15 Andrea Corallo <akrl@sdf.org>
Have 'dlopen' use RTLD_GLOBAL in 'dynlib_open'
@@ -86120,18 +88449,18 @@
* src/comp.c (Fnative_elisp_load): Use 'dynlib_open_for_eln' in place
of 'dynlib_open'.
-2023-04-15 Arash Esbati <arash@gnu.org>
+2021-12-15 Arash Esbati <arash@gnu.org>
Recognize starred environments
* lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Add
missing starred environments from sidecap and rotating packages.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-15 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86142,13 +88471,13 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-14 Po Lu <luangruo@yahoo.com>
Prevent GDK from handling emulated button events
* src/xterm.c (handle_one_xevent): Drop emulated button events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-14 Po Lu <luangruo@yahoo.com>
Work around pixel scrolling issues when line numbers are displayed
@@ -86156,21 +88485,21 @@
Compare start position against line number display width
instead.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-12-14 Dmitry Gutov <dgutov@yandex.ru>
project-kill-buffers-display-buffer-list: Fix :package-version value
* lisp/progmodes/project.el (project-kill-buffers-display-buffer-list):
Fix :package-version value.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-12-14 Dmitry Gutov <dgutov@yandex.ru>
Add 'comint-mode' and 'change-log-mode' to project-kill-buffer-conditions
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Add 'comint-mode' and 'change-log-mode' to the list (bug#52465).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-14 Stefan Monnier <monnier@iro.umontreal.ca>
eieio-compat.el: Move to lisp/obsolete
@@ -86183,24 +88512,24 @@
* lisp/emacs-lisp/eieio-compat.el: Move to ...
* lisp/obsolete/eieio-compat.el: ... here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-14 Stefan Kangas <stefan@marxist.se>
Prefer command remapping in allout.el
* lisp/allout.el (allout-compose-and-institute-keymap): Use command
remapping instead of substitute-key-definition.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix ert.texi error from previous change
* doc/misc/ert.texi (Running Tests in Batch Mode): Fix @r command.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-14 Stefan Kangas <stefan@marxist.se>
* lisp/net/eudc.el (custom-menu-create): Remove unnecessary autoload.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-14 Stefan Kangas <stefan@marxist.se>
Remove Emacs 21 compat code for command-remapping
@@ -86208,21 +88537,21 @@
* lisp/obsolete/iswitchb.el (iswitchb-global-map): Remove Emacs 21
compat code.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-14 Michael Albinus <michael.albinus@gmx.de>
Minor Tramp cleanup
* lisp/net/tramp.el (tramp-get-buffer-string): Simplify.
(tramp-lock-pid): Fix docstring.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-14 Michael Albinus <michael.albinus@gmx.de>
Explain JUnit test reports in ert doc
* doc/misc/ert.texi (Running Tests in Batch Mode): Explain
generation of JUnit test reports.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-14 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap in elisp-mode.el
@@ -86230,25 +88559,25 @@
(elisp--dynlex-modeline-map, lisp-interaction-mode-map): Use
defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-14 Stefan Kangas <stefan@marxist.se>
Prefer command remapping in cperl-mode.el
* lisp/progmodes/cperl-mode.el (cperl-mode-map): Use command remapping
instead of substitute-key-definition.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-14 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-14 Lars Ingebrigtsen <larsi@gnus.org>
Only allow SQLite extensions from an allowlist
* src/sqlite.c (Fsqlite_load_extension): Only allow extensions
from an allowlist.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-14 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86260,14 +88589,14 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-13 Stefan Kangas <stefan@marxist.se>
completion.el: Make two compat aliases obsolete
* lisp/completion.el (cmpl-syntax-table, initialize-completions):
Make compat aliases obsolete.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-13 Michael Albinus <michael.albinus@gmx.de>
ERT can generate JUnit test reports
@@ -86297,25 +88626,25 @@
* test/infra/test-jobs.yml: Regenerate.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-13 Stefan Kangas <stefan@marxist.se>
Make alias obsolete in xscheme.el
* lisp/progmodes/xscheme.el (xscheme-yank-previous-send): Make
obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-13 Stefan Kangas <stefan@marxist.se>
Make two aliases obsolete in lisp/international/robin.el
* lisp/international/robin.el (robin-transliterate-region)
(robin-transliterate-buffer): Make obsolete.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-13 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/generator.el (iter-yield): Simplify
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-13 Stefan Monnier <monnier@iro.umontreal.ca>
lisp/pcomplete.el: Mark obsolete some unused functions
@@ -86323,21 +88652,21 @@
Mark as obsolete.
(pcomplete-opt, pcomplete--here, pcomplete--help): Use lexical-binding.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-13 Eli Zaretskii <eliz@gnu.org>
* src/sqlite.c (Fsqlite_open, Fsqlite_load_extension): Use ENCODE_FILE.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-13 Stefan Kangas <stefan@marxist.se>
* lisp/ielm.el (ielm-map): Use defvar-keymap.
* lisp/ielm.el (ielm-header): Show key binding for describe-mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-13 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86347,7 +88676,7 @@
b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Refer...
64ea1a178c Fix eshell for systems that do not have subprocesses
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-13 Lars Ingebrigtsen <larsi@gnus.org>
Add a new `sqlite-pragma' command
@@ -86356,7 +88685,7 @@
pragmas. These can be done via sqlite-execute, but it's less
confusing to have them in a separate command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-12 Lars Ingebrigtsen <larsi@gnus.org>
Introduce a new sqlite-locked-error
@@ -86364,7 +88693,7 @@
(syms_of_sqlite): Introduce a new error for locked databases so
that we can catch that condition on higher levels.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Work around pixel scrolling issues when org-indent-mode is on
@@ -86372,7 +88701,7 @@
Subtract line height of window start when it doesn't appear
at the 0th pixel of the line.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Stop using XI focus events on non-GTK builds
@@ -86381,11 +88710,11 @@
* src/xterm.c (x_detect_focus_change) <GenericEvent>: Don't
handle XI_FocusIn and XI_FocusOut events when not on GTK.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-12 Eli Zaretskii <eliz@gnu.org>
* lisp/char-fold.el (char-fold-override): Doc fix.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-12 Juri Linkov <juri@linkov.net>
* lisp/char-fold.el (char-fold-override): New defcustom (bug#52394).
@@ -86395,7 +88724,7 @@
when char-fold-override or char-fold--default-override is non-nil.
(char-fold-update-table): Add char-fold--default-override.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-12 Juri Linkov <juri@linkov.net>
* lisp/startup.el: Let-bind browse-url-browser-function instead of setq-local
@@ -86406,18 +88735,18 @@
browse-url-browser-function.
https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg00939.html
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Fix overline display when there is a box on PGTK
* src/pgtkterm.c (pgtk_draw_glyph_string): Draw box before any
text decorations.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Fix overline display over stretch glyphs with box on NS
@@ -86426,7 +88755,7 @@
(ns_draw_glyph_string): Draw text decorations after the box
in stretch glyph that have one.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Fix overline display when there is a box
@@ -86434,14 +88763,14 @@
* src/xterm.c (x_draw_glyph_string): Draw box before any text
decorations.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-12 Lars Ingebrigtsen <larsi@gnus.org>
Really fix the etags TEX parsing
* lib-src/etags.c (TEX_decode_env): Re-fix off-by-one parsing of
TEXTAGS environment variable (bug#52438).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix an off-by-one error in TEX parsing in etags
@@ -86450,39 +88779,39 @@
David Fussner <dfussner@googlemail.com> and amended by Andreas
Schwab <schwab@linux-m68k.org>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-12 Lars Ingebrigtsen <larsi@gnus.org>
Check for support in sqlite-mode-open-file
* lisp/sqlite-mode.el (sqlite-mode-open-file): Error out earlier
when we don't have sqlite support.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-12 Stefan Kangas <stefan@marxist.se>
eshell: Prefer octal number for file modes
* lisp/eshell/esh-util.el (eshell-private-file-modes)
(eshell-private-directory-modes): Prefer octal number for file modes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-12 Lars Ingebrigtsen <larsi@gnus.org>
Make with-sqlite-transaction mode code efficient
* lisp/sqlite.el (with-sqlite-transaction): Rewrite to only
include BODY once.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
* src/xterm.c (x_detect_focus_change): Fix XI2 focus on GTK builds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Fix last change
* src/xterm.c (x_detect_focus_change): Test against
FOCUS_EXPLICIT.
-2023-04-15 dick r. chiang <dick.r.chiang@gmail.com>
+2021-12-12 dick r. chiang <dick.r.chiang@gmail.com>
Fix some compilation warnings in sqlite-less builds
@@ -86490,14 +88819,14 @@
* lisp/sqlite-mode.el: Avoid compilation warnings in builds
without libsqlite (bug#52440).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-12 Po Lu <luangruo@yahoo.com>
Fix frame focus on X Toolkit builds with XInput 2
* src/xterm.c (x_detect_focus_change): Allow focus_state to not
be FOCUS_EXPLICIT when handling FocusIn and FocusOut events.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-12 Lars Ingebrigtsen <larsi@gnus.org>
Update bovine/gcc-tests for newer Macos versions
@@ -86505,7 +88834,7 @@
(semantic-gcc-test-output-parser-this-machine): Update gcc->llvm
detection to Macos Monterey.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-12 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86513,14 +88842,14 @@
30dd5c9acc Update to Org 9.5.1-25-g9ca3bc
a374849926 Fix the DJGPP port
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Tweak erroring in sqlite-mode-delete
* lisp/sqlite-mode.el (sqlite-mode-delete): Use user-error instead
of error for user-level stuff.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Make sqlite-mode-list-tables work on older sqlite versions
@@ -86529,7 +88858,7 @@
name and is available in all sqlite3 versions:
https://sqlite.org/schematab.html
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Fix coding style
@@ -86542,25 +88871,25 @@
(dialog_selection_callback):
(create_and_show_dialog): Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Prevent hangs when displaying a context menu on pgtk
* src/pgtkmenu.c (pgtk_menu_wait_for_event, popup_widget_loop):
Remove unnecessary workarounds.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Clear precision scroll interpolation when direction changes
* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate):
Clear scroll interpolation when direction changes.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Fix drawing overlines on top of stretch glyphs when there is a box
@@ -86569,7 +88898,7 @@
(haiku_draw_glyph_string): Only draw text decorations if
the box will not be drawn with clipping.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-11 Mattias Engdegård <mattiase@acm.org>
Constant-propagate access to captured variables
@@ -86581,7 +88910,7 @@
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-11 Mattias Engdegård <mattiase@acm.org>
Reimplement gnus-thread-header in Lisp
@@ -86589,7 +88918,7 @@
Replace lovingly hand-crafted assembler code with plain Lisp.
With lexical binding the difference is unlikely to be detectable.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-11 Eli Zaretskii <eliz@gnu.org>
Fix hang when deleting a pipe process
@@ -86602,7 +88931,7 @@
* src/w32proc.c (reader_thread): When exiting normally, close the
file descriptor used to read from a pipe process. (Bug#52414)
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-12-11 Yuuki Harano <masm+github@masm11.me>
Implement pgtk_frame_raise_lower
@@ -86611,7 +88940,7 @@
(pgtk_frame_raise_lower): New function to call one of those.
(pgtk_create_terminal): Set frame_raise_lower_hook.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-11 Eli Zaretskii <eliz@gnu.org>
Improve documentation of sqlite3 support
@@ -86623,42 +88952,42 @@
* etc/NEWS: Minor wording changes of the sqlite entries.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Coding style fixes
* src/pgtkterm.c (button_event): Fix coding style.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Fix tooltips in PGTK child frames
* src/gtkutil.c (xg_show_tooltip, xg_hide_tooltip): Make
safe for child frames.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Use window height to determine wheel event pixel deltas on XInput 2
* src/xterm.c (handle_one_xevent): Use window height instead of
frame height to determine the height of a scroll unit.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-11 Po Lu <luangruo@yahoo.com>
Prevent hang when exiting Emacs on Haiku
* src/haiku_support.cc (be_app_quit): Don't wait for app
thread to also quit.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-11 Eli Zaretskii <eliz@gnu.org>
* src/sqlite.c (row_to_value): Call 'make_unibyte_string'.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2021-12-11 Basil L. Contovounesios <contovob@tcd.ie>
Pacify unused variable warning in xterm.c
@@ -86666,7 +88995,7 @@
variable any_stop_p is used only when HAVE_XWIDGETS, so guard its
declaration accordingly to pacify GCC's -Wunused-variable warning.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-11 Eli Zaretskii <eliz@gnu.org>
Minor cleanups in sqlite.c
@@ -86676,7 +89005,7 @@
(Fsqlite_load_extension): Doc fixes.
(Fsqlite_load_extension): Encode MODULE using UTF-8.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-11 Eli Zaretskii <eliz@gnu.org>
Minor cleanups of sqlite3 code on MS-Windows
@@ -86688,20 +89017,20 @@
'init_sqlite_functions' if Vlibrary_cache doesn't mention
'sqlite3'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-11 Eli Zaretskii <eliz@gnu.org>
Fix a typo in sqlite.c
* src/sqlite.c (Fsqlite_select): Fix a typo in arguments to
make_sqlite.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Add confirmation to sqlite-mode-delete
* lisp/sqlite-mode.el (sqlite-mode-delete): Add confirmation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Don't leave open cursors when listing sqlite data
@@ -86710,7 +89039,7 @@
block other processes from deleting stuff).
(sqlite-mode-delete): Adjust to new layout.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Add FIXME comment
@@ -86718,7 +89047,7 @@
(sqlite--mode--list-data, sqlite-mode-list-data): Adjust to new
command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Add an sqlite-mode-delete command
@@ -86726,13 +89055,13 @@
(sqlite--mode--list-data, sqlite-mode-list-data): Adjust to new
command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix Fsqlite_finalize book-keeping
* src/sqlite.c (Fsqlite_finalize): Mark the object as dead.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-11 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86740,14 +89069,14 @@
aa2872a127 Make `M-x run-python' select the window again
c8e19b3a84 Don't bug out on certain empty elements with ids
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Improve sqlite-mode--tablify tables
* lisp/sqlite-mode.el (sqlite-mode--tablify): Tweak column widths
and sanitize newlines.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Check whether the sqlite supports sqlite3_load_extension
@@ -86756,33 +89085,33 @@
* src/sqlite.c: Add guards.
(Fsqlite_load_extension): Ifdef out on systems that doesn't have it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix sqlite-mode.el build problems
* lisp/sqlite-mode.el (sqlite-mode-list-tables): Fix function
rename usage.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix some sqlite doc string typos
* src/sqlite.c (Fsqlite_load_extension, Fsqlite_more_p): Fix typos
in doc strings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-11 Lars Ingebrigtsen <larsi@gnus.org>
Add a new mode for examining sqlite files
* lisp/sqlite-mode.el: New file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix comment in heading
Add NEWS entry for sqlite
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-10 Lars Ingebrigtsen <larsi@gnus.org>
Add sqlite3 support to Emacs
@@ -86817,7 +89146,7 @@
* test/src/sqlite-tests.el: Add tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix bibtex-biblatex-entry-alist sorting when using latex
@@ -86825,29 +89154,29 @@
PhdThesis and TechReport correctly when using the latex variant
(bug#52354).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-10 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-10 Stefan Kangas <stefan@marxist.se>
* etc/TODO: Entry about converting to defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-10 Stefan Kangas <stefan@marxist.se>
Use defvar-keymap for package-menu-mode-map
* lisp/emacs-lisp/package.el (package-menu-mode-map): Use
defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-10 Lars Ingebrigtsen <larsi@gnus.org>
Make keymap-lookup work for keymap results, too
* lisp/keymap.el (keymap-lookup): Make this function work for
non-symbol lookups, too (bug#52374).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-10 Lars Ingebrigtsen <larsi@gnus.org>
Make dired-buffers-for-dir expand the DIR argument
@@ -86856,11 +89185,11 @@
(dired-find-buffer-nocreate, dired-clean-up-after-deletion):
Adjust callers.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-10 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-10 Po Lu <luangruo@yahoo.com>
Further reduce image-related stutter during precision scrolling
@@ -86869,14 +89198,14 @@
`scroll-preserve-screen-position' and `auto-window-vscroll'
while scrolling.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-10 Po Lu <luangruo@yahoo.com>
Stop setting `make-cursor-line-fully-visible' in precision scrolling
* lisp/pixel-scroll.el (pixel-scroll-precision-mode): Stop
setting `make-cursor-line-fully-visible'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86885,14 +89214,14 @@
26fb4168b8 ; Prefer HTTPS in more URLs
6b89578524 ; * lisp/progmodes/flymake.el: Update the minimum Emacs ve...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Fix bob detection when pixel scrolling upwards
* lisp/pixel-scroll.el (pixel-point-and-height-at-unseen-line):
Don't go to the beginning-of-visual-line if bobp.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Fix pixel scrolling upwards in Info buffers
@@ -86900,7 +89229,7 @@
Don't blindly trust window start to be the beginning of a
visual line.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Remove unused let-bindings from pixel-scroll.el
@@ -86908,7 +89237,7 @@
(pixel-scroll-precision-scroll-down-page): Remove unused
bindings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Fix precision scrolling for stretch glyphs
@@ -86917,15 +89246,15 @@
(pixel-scroll-precision-interpolate): Block throw-on-input
when actually scrolling.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-09 Stefan Kangas <stefan@marxist.se>
* lisp/time.el (world-clock-mode-map): Convert to defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-09 Eli Zaretskii <eliz@gnu.org>
Fix logic in 'compute_window_start_on_continuation_line'
@@ -86933,14 +89262,14 @@
thinko in logic. Patch by dickmao <dick.r.chiang@gmail.com>.
(Bug#52378)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-09 Michael Albinus <michael.albinus@gmx.de>
Fix thinko in Tramp test
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Fix thinko.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-09 Michael Albinus <michael.albinus@gmx.de>
Improve lock-pid handling in Tramp
@@ -86958,7 +89287,7 @@
(tramp-lock-pid): New defvar.
(tramp-get-lock-pid): Reimplement.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -86973,7 +89302,7 @@
# etc/NEWS
# lisp/help.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Make precision scrolling up work over display strings
@@ -86983,7 +89312,7 @@
(pixel-scroll-precision-scroll-up-page): Use delta as vscroll
directly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-09 Po Lu <luangruo@yahoo.com>
Fix pixel scrolling over lines with different sized glyphs
@@ -86991,7 +89320,7 @@
(pixel-scroll-precision-scroll-down-page): Calculate desired
vscroll with `window-text-pixel-size'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Fix jumping cursor during interpolated scrolls
@@ -86999,7 +89328,7 @@
(pixel-scroll-precision-scroll-down-page): Go to next position
before setting start or vscroll.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Allow customizing step between each interpolated scroll
@@ -87008,11 +89337,11 @@
(pixel-scroll-precision-interpolation-between-scroll): New user
option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
image-dired: Show image info in header line
@@ -87028,7 +89357,7 @@
image-dired-update-header-line instead of
image-dired-display-thumb-properties.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
image-dired: Go to next image when marking
@@ -87042,7 +89371,7 @@
(image-dired-toggle-mark-thumb-original-file)
(image-dired-unmark-all-marks): Use above new macro.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
image-dired: Remove some TODOs
@@ -87050,18 +89379,18 @@
better to add such features to image-mode directly.
* lisp/image-dired.el: Remove some TODOs.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
* test/lisp/emacs-lisp/subr-x-tests.el (subr-x-named-let): New test
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
* test/lisp/emacs-lisp/cl-macs-tests.el: Avoid `with-suppressed-warnings`
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--progv): Use a proper
namespace prefix for the global vars.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
lisp/mouse.el: Fix some lambdas quoted with ` or '
@@ -87073,7 +89402,7 @@
(mouse-drag-line): Remove unused var `draggable`.
(mouse-yank-primary): Make it work for non-mouse events.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-08 Juri Linkov <juri@linkov.net>
* lisp/mouse.el (context-menu-entry): Bind to make-sparse-keymap, not ignore.
@@ -87081,7 +89410,7 @@
and no context menu functions are called by e.g. describe-mode in wrong buffer
(bug#9923)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
Define some more keymaps in one step
@@ -87091,21 +89420,21 @@
* lisp/progmodes/ebrowse.el (ebrowse-global-submap-4)
(ebrowse-global-submap-5): Define in one step and use defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
Define calc-help-map in one step
* lisp/calc/calc-ext.el (calc-help-map): Define in one step and
convert to defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
Convert shortdoc-mode-map to defvar-keymap
* lisp/emacs-lisp/shortdoc.el (shortdoc-mode-map): Convert to
defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-08 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -87118,20 +89447,20 @@
# Conflicts:
# lisp/net/browse-url.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Fix coarse scroll deltas on macOS
* src/nsterm.m (- mouseDown): Multiply deltas as appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Clear scroll interpolation when interpolated scroll completes
* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate): Set
saved interpolation to nil upon completion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Improve precision scroll interpolation
@@ -87143,7 +89472,7 @@
(pixel-scroll-precision-interpolate): Save deltas and run loop
inside `while-no-input' instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Fix last change
@@ -87151,18 +89480,18 @@
(pixel-scroll-precision-interpolation-total-time)
(pixel-scroll-precision-interpolation-factor): Fix declared versions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Make interpolated scrolling work better
* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate):
Stop using `while-no-input'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-08 Po Lu <luangruo@yahoo.com>
Allow customizing precision scroll interpolation
@@ -87175,7 +89504,7 @@
(pixel-scroll-precision-mode): Set
`make-cursor-line-fully-visible' to nil.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-07 Po Lu <luangruo@yahoo.com>
Send scroll stop events to xwidgets correctly
@@ -87184,32 +89513,32 @@
* src/xwidget.h (xwidget_scroll):
* src/xwidget.c (xwidget_scroll): New parameter `stop_p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-07 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
Convert etc-authors-mode-map to defvar-keymap
* lisp/textmodes/etc-authors-mode.el (etc-authors-mode-map):
Convert to defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-07 Lars Ingebrigtsen <larsi@gnus.org>
Pacify svg_load_image compiler warning
* src/image.c (svg_load_image): Fix compiler warning from gcc
(Debian 11.2.0-10).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-07 Lars Ingebrigtsen <larsi@gnus.org>
Check decoding results in webp_load before using it
* src/image.c (webp_load): Check whether we were able to decode
the image before using it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
image-dired: Navigate from image display buffer
@@ -87225,7 +89554,7 @@
(image-dired-display-image-mode-map): Bind above commands.
(image-dired--with-thumbnail-buffer): New macro.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-12-07 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Improve yanking in the middle of comint process output
@@ -87242,7 +89571,7 @@
(comint--mark-as-output): New function.
(comint--mark-yanked-as-output): New function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
browse-url: Refactor code to find executable
@@ -87250,7 +89579,7 @@
(browse-url-firefox-program, browse-url-chrome-program)
(browse-url-chromium-program): ...here.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
browse-url: Remove support for Galeon
@@ -87262,11 +89591,11 @@
defunct Galeon web browser.
* etc/NEWS: Announce its removal.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-07 Eli Zaretskii <eliz@gnu.org>
* etc/tutorials/TUTORIAL.he: Add section about package management.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-07 Eli Zaretskii <eliz@gnu.org>
Improve before-make-frame-hook and after-make-frame-functions docs.
@@ -87276,7 +89605,7 @@
functions will be run for the initial frame only if added to the
hook in early-init file. (Bug#38143)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
browse-url: Remove support for Netscape
@@ -87290,11 +89619,11 @@
defunct Netscape web browser.
* etc/NEWS: Announce its removal.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-12-07 Glenn Morris <rgm@gnu.org>
* doc/misc/eshell.texi (Built-ins): Fix xref.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-07 Michael Albinus <michael.albinus@gmx.de>
Make a more robust check in Tramp using scripts
@@ -87302,7 +89631,7 @@
Check, whether scripts in `tramp-remote-coding-commands' are
expandable.
-2023-04-15 Lele Gaifax <lele@metapensiero.it>
+2021-12-07 Lele Gaifax <lele@metapensiero.it>
Add the new packages section to the Italian tutorial
@@ -87311,7 +89640,7 @@
version. (Bug#52345)
(CONCLUSIONI): Reword paragraph, to better convey the original intent.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
Remove some unnecessary references to Emacs 22
@@ -87322,18 +89651,18 @@
* lisp/mh-e/mh-e.el (mh-inc-spool-list): Remove some unnecessary
references to Emacs 22.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
* etc/tutorials/TUTORIAL: Say that there is usually a delete key.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
image-dired: Fix behavior of slideshow command
* lisp/image-dired.el (image-dired-slideshow-start): Fix behavior
to match documentation. Minor simplification of docstring.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
Remove obsolete values from image-mode-auto-resize
@@ -87344,31 +89673,31 @@
(image-auto-resize-max-scale-percent): Fix defcustom const :tag.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
* lisp/view.el (view-mode-map): Convert to defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
Remove XEmacs compat code from strokes.el
* lisp/strokes.el (strokes-mode): Remove XEmacs compat code;
select-frame-hook does not exist in Emacs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-07 Lars Ingebrigtsen <larsi@gnus.org>
Add vc-git-stash-pop to vc-dir-git-mode
* lisp/vc/vc-git.el (vc-dir-git-mode-map): Add vc-git-stash-pop
(bug#52158).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-07 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
da23e607d3 Select the right buffer for event in context-menu function...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-07 Po Lu <luangruo@yahoo.com>
Cancel xwidget progress timer when buffer is killed
@@ -87376,11 +89705,11 @@
(xwidget-webkit-mode): Add `xwidget-webkit-buffer-kill' to
`kill-buffer-hook'. (bug#52344)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-06 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-12-06 Eric Abrahamsen <eric@ericabrahamsen.net>
When registering Gnus message ids, guard against no registry
@@ -87389,7 +89718,7 @@
startup (eg, debbugs). If the registry doesn't exist, just skip this
process.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-06 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in two tests
@@ -87397,7 +89726,7 @@
* test/lisp/mail/mail-utils-tests.el
(mail-utils-tests-mail-rfc822-time-zone): Silence byte-compiler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-06 Stefan Kangas <stefan@marxist.se>
Remove spurious space in byte-compiler warning
@@ -87407,7 +89736,7 @@
* test/lisp/emacs-lisp/bytecomp-tests.el
("warn-wide-docstring-defun.el"): Update test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-06 Stefan Kangas <stefan@marxist.se>
Assume unfilled byte-compiler warnings in tests
@@ -87415,21 +89744,21 @@
(bytecomp--define-warning-file-test): Remove workaround for filled
byte-compilation warnings. See Bug#52281.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous shr-parse-style change
* lisp/net/shr.el (shr-parse-style): Fix previous clean-up here
(which wasn't well thought through).
-2023-04-15 Tassilo Horn <tsdh@gnu.org>
+2021-12-06 Tassilo Horn <tsdh@gnu.org>
dired.texi: Document dired-create-destination-dirs-on-trailing-dirsep
* doc/emacs/dired.texi (Operating on Files): Document new option
dired-create-destination-dirs-on-trailing-dirsep.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-06 Eli Zaretskii <eliz@gnu.org>
Revert "Avoid small parasitic button on mode line"
@@ -87438,7 +89767,7 @@
Turns out without that "ghost" button min-width doesn't work
on the mode line at all...
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-06 Michael Albinus <michael.albinus@gmx.de>
Tramp code cleanup
@@ -87462,7 +89791,7 @@
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case)
(tramp-test32-shell-command): Use them.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-06 Eli Zaretskii <eliz@gnu.org>
Fix mode-line display on TTY frames
@@ -87471,7 +89800,7 @@
ugly nowadays, since it's preceded by a blank, due to the new
min-width feature.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-06 Eli Zaretskii <eliz@gnu.org>
Avoid small parasitic button on mode line
@@ -87479,11 +89808,11 @@
character, which caused a "ghost" button on the mode line.
(Bug#52332)
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-12-06 Yuuki Harano <masm+github@masm11.me>
* src/pgtkterm.c (x_set_parent_frame): Fix coding style
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-12-06 Yuuki Harano <masm+github@masm11.me>
Fix SEGV crash by unref css provider too much
@@ -87498,15 +89827,15 @@
* src/pgtkterm.c (x_set_parent_frame):
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-06 Stefan Monnier <monnier@iro.umontreal.ca>
Merge remote-tracking branch 'origin/emacs-28' into trunk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-06 Stefan Kangas <stefan@marxist.se>
* etc/tutorials/TUTORIAL.sv: Adjust to latest change in TUTORIAL.
-2023-04-15 Daniel Fleischer <danflscr@gmail.com>
+2021-12-06 Daniel Fleischer <danflscr@gmail.com>
Add package management to tutorial and startup screen
@@ -87517,25 +89846,25 @@
This was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-12/msg00079.html
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-06 Stefan Kangas <stefan@marxist.se>
image.c: Remove some dead code
* src/image.c (gui_put_x_image): Remove dead code, commented out since
2004.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-06 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Update org-compat doc string
* lisp/org/org-compat.el (file-attribute-modification-time):
Update doc string to match that of builtin Emacs.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Fix minor clock skew issues
@@ -87545,14 +89874,14 @@
Don’t assume that getting the current time twice in rapid
succession will yield the same date and time.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Avoid timestamp info loss in mh-alias-tstamp
* lisp/mh-e/mh-alias.el (mh-alias-tstamp):
Don’t lose subsecond info when setting mh-alias-tstamp.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Simplify by using format-time-string
@@ -87560,7 +89889,7 @@
* lisp/net/tramp.el (tramp-debug-message):
Prefer format-time-string to doing time formatting by hand.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Simplify RFC 5322 time zone generation
@@ -87574,7 +89903,7 @@
* lisp/mail/mail-utils.el (mail-rfc822-time-zone):
Mark these should-have-been-internal functions obsolete.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Fix image load timekeeping bug
@@ -87583,7 +89912,7 @@
of the time it actually took to load the image. I think
this bug was introduced in 2013-02-16T03:29:30Z!rgm@gnu.org.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Use time-convert in with-decoded-time-value
@@ -87591,7 +89920,7 @@
Prefer time-convert to current-time on the off chance that code
will use this obsolete macro even after current-time returns pairs.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Simplify message-make-expires
@@ -87599,7 +89928,7 @@
Use time-add instead of doing it by hand. This also calculates the
expiration time more accurately than the old code did.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Simplify message-unique-id etc.
@@ -87610,7 +89939,7 @@
no consing, instead of using (current-time) and then ignoring
the subsecond parts of the generated list.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Prefer nil to (current-time) when either will do
@@ -87634,7 +89963,7 @@
some consing. Similarly, prefer omitting (current-time) arg
when this is equivalent.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Simplify cedet-utest-elapsed-time
@@ -87642,7 +89971,7 @@
Copy newer (circa-2011) implementation from elp.el, so that the
code matches its documentation again.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Use time-equal-p to compare timestamps in tests
@@ -87650,13 +89979,13 @@
(test-time-since): Use time-equal-p to compare timestamps,
since the default form shouldn’t matter.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-06 Paul Eggert <eggert@cs.ucla.edu>
Add time-convert tests
* test/src/timefns-tests.el (time-convert-forms): New test.
-2023-04-15 NightMachinary <rudiwillalwaysloveyou@gmail.com>
+2021-12-06 NightMachinary <rudiwillalwaysloveyou@gmail.com>
Added dired-create-destination-dirs-on-trailing-dirsep
@@ -87667,7 +89996,7 @@
(dired-create-destination-dirs): Mention the new option in the
docstring.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-06 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -87675,14 +90004,14 @@
0bf10d5082 * test/Makefile.in (check-declare): Add missing --batch.
34f5656137 Document the subtleties of the 'cursor' text property
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-06 Po Lu <luangruo@yahoo.com>
Fix child frame crash on pgtk
* src/gtkutil.c (xg_check_special_colors): Use `FRAME_WIDGET'
on PGTK.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-06 Lars Ingebrigtsen <larsi@gnus.org>
Make the Git stash commands available in vc-dir Git buffers
@@ -87691,7 +90020,7 @@
* lisp/vc/vc-git.el (vc-dir-git-mode-map): New map.
(vc-dir-git-mode): New minor mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-06 Po Lu <luangruo@yahoo.com>
Fix coding style
@@ -87705,14 +90034,14 @@
(delete_event):
(enter_notify_event): Fix coding style.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Make gnus-check-backend-function mode `debug-on-signal' friendly
* lisp/gnus/gnus.el (gnus-check-backend-function): Allow running
with `debug-on-signal'.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
EIEIO: Remove redundant type info in help
@@ -87723,21 +90052,21 @@
Remove special case for defclass constructors.
* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Declare it obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
image-dired: Use string-match-p in one case
* lisp/image-dired.el (image-dired-get-thumbnail-image): Use
string-match-p.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
image-dired: Don't disable mouse dragging
* lisp/image-dired.el (image-dired-thumbnail-mode-map): Don't
disable mouse dragging. (Bug#52201)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-05 Po Lu <luangruo@yahoo.com>
Fix jittering when precision scrolling over images
@@ -87747,7 +90076,7 @@
(pixel-scroll-precision-scroll-down-page): Always set window
start.
-2023-04-15 Justin Schell <justinmschell@gmail.com> (tiny change)
+2021-12-05 Justin Schell <justinmschell@gmail.com> (tiny change)
vc-git--program-version to support Git for macOS version string
@@ -87758,7 +90087,7 @@
* lisp/vc/vc-git.el (vc-git--program-version): Ignore text after
the version number when parsing git versions (bug#52172).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Don't fill byte-compilation warnings in batch mode
@@ -87766,11 +90095,11 @@
byte-compilation into several lines when in batch mode, because
that makes it difficult for some tools to parse them (bug#52281).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-05 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Audit `string-match' usage in shr.el
@@ -87785,41 +90114,41 @@
(shr-render-td-1): Prefer string-match-p and string-search over
string-match where possible.
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2021-12-05 dickmao <dick.r.chiang@gmail.com>
Add workaround to compilation warning in gcc 10.x in image.c
* src/image.c (webp_load): Work around a (wrong) compiler warning
in gcc 10.x (bug#52276).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Update comment about `declare-function'
* lisp/subr.el (declare-function): Fix comment --
`byte-compile-declare-function' doesn't exist.
-2023-04-15 YugaEgo <yet@ego.team>
+2021-12-05 YugaEgo <yet@ego.team>
* lisp/info.el (info-menu-star): Improve documentation
* lisp/info.el (info-menu-star): Improve the doc string (bug#52315).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix wording in eieio.texi (Generics)
* doc/misc/eieio.texi (Generics): Fix wording in paragraph
(bug#52317).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix regression introduced by previous context-menu-map change
* lisp/mouse.el (context-menu-map): Make the context mode work
with flyspell again (bug#52237).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Clarify Creating Frames documentation"
@@ -87827,7 +90156,7 @@
The new documentation was incorrect.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Improve before-make-frame-hook and after-make-frame-functions docs"
@@ -87835,20 +90164,20 @@
The new documentation was incorrect.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-05 Lars Ingebrigtsen <larsi@gnus.org>
Fix fancy-about-screen point placement
* lisp/startup.el (fancy-about-screen): Make point placement more
resilient (bug#43636).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
Light copy-edits to recent additions to ERC manual
* doc/misc/erc.texi (Introduction, Getting Started): Light copy-edits.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
Remove no-op calls to decode-char with 'ucs' arg
@@ -87866,7 +90195,7 @@
* lisp/nxml/xmltok.el (xmltok-unicode-to-char): Make into obsolete
function alias for 'identity'. Update single caller.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-12-05 Eric Abrahamsen <eric@ericabrahamsen.net>
Use gnus-error to report mail-source failures
@@ -87880,18 +90209,18 @@
* doc/misc/gnus.texi (Mail Source Customization): Remove mention of
the above option from the manual.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-12-05 Yuuki Harano <masm+github@masm11.me>
* src/frame.c (gui_set_border_width): Revert confused changes
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-05 Eli Zaretskii <eliz@gnu.org>
Fix out-of-bounds access in xdisp.c
* src/xdisp.c (produce_stretch_glyph): Avoid indexing it->stack
with a negative index. Reported by Po Lu <luangruo@yahoo.com>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-05 Po Lu <luangruo@yahoo.com>
Interpolate large pixel scrolls
@@ -87901,14 +90230,14 @@
(pixel-scroll-precision): Interpolate scrolls under some
circumstances.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in generator-tests.el
* test/lisp/emacs-lisp/generator-tests.el (cps-let*-shadow-empty)
(cps-let-shadow-empty, cps-let*-parallel): Silence byte-compiler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
Silence warnings about testing obsolete functions and macros
@@ -87918,7 +90247,7 @@
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Silence
byte-compiler warnings about testing obsolete functions and macros.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
Remove hacks for broken `with-suppressed-warnings'
@@ -87926,7 +90255,7 @@
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
Remove hack for broken `with-suppressed-warnings'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-05 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -87936,11 +90265,11 @@
f3e6a432c5 ; * doc/misc/efaq.texi (New in Emacs 28): Add more news.
00236cc802 Fix the enumeration values returned by 'try_scrolling'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Remove hack from seq-tests.el for broken `with-suppressed-warnings'
@@ -87948,14 +90277,14 @@
now works better in erf-deftests, so remove hack that works around
it (bug#36568).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Improve before-make-frame-hook and after-make-frame-functions docs
* lisp/frame.el (before-make-frame-hook):
(after-make-frame-functions): Note when the functions are run.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Clarify Creating Frames documentation
@@ -87963,7 +90292,7 @@
explanation -- even if the hooks are set, they won't be run
(bug#38143).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Fix tty mouse wheel on window systems other than X
@@ -87973,7 +90302,7 @@
(mouse-wheel-right-alternate-event): Set appropriately for
non-X systems.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Make help--describe-command more robust
@@ -87981,14 +90310,14 @@
are defined in help-mode.el, so it might not exist yet when
calling `documentation' directly (bug#52291).
-2023-04-15 Christer Enfors <christer.enfors@gmail.com> (tiny change)
+2021-12-04 Christer Enfors <christer.enfors@gmail.com> (tiny change)
Add IRC introduction to the ERC manual
* doc/misc/erc.texi (Getting Started): Mention libera.char (bug#52287).
(Introduction): Explain what IRC is.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Make pixel scrolling through images less jumpy
@@ -87996,7 +90325,7 @@
(pixel-scroll-precision-scroll-down-page): Improve detection of
situations where vscroll must directly be set.
-2023-04-15 Earl Hyatt <okamsn@protonmail.com>
+2021-12-04 Earl Hyatt <okamsn@protonmail.com>
Update the Info documentation of Eshell's built-in commands
@@ -88005,32 +90334,32 @@
the descriptions and mention user options affecting command
behavior. Sort these commands in alphabetical order (bug#52289).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Make package-dir-info more resilient
* lisp/emacs-lisp/package.el (package-dir-info): Check that the
file exists before using it (bug#41489).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Tweak fancy-about-text
* lisp/startup.el (fancy-about-text): Mention that Emacs is an
editor, because people don't know that (bug#43636).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Fill Emacs version on about screen
* lisp/startup.el (fancy-about-text): Fill the Emacs version,
since it's too long these days.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Further gnus-inews-insert-gcc fixes
@@ -88038,7 +90367,7 @@
comma to separate groups, since that's what the splitter expects
(bug#52274).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Avoid having gud bug out if `C-x C-a' has been bound
@@ -88047,7 +90376,7 @@
assuming that `C-x C-a' is undefined (bug#6035).
(gud-def): Use the map.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-12-04 Eric Abrahamsen <eric@ericabrahamsen.net>
Don't swallow gnus-search errors when creating nnselect groups
@@ -88057,7 +90386,7 @@
(gnus-search-error): Define a new parent error for all gnus-search
errors.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-12-04 Juri Linkov <juri@linkov.net>
* lisp/isearch.el (isearch-delete-char): Reopen hidden overlays (bug#52248).
@@ -88065,35 +90394,35 @@
to not call isearch-range-invisible on inhibit-isearch text.
Remove min/max since arguments are always in the right order.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix pixel-fill--fill-line infloop for certain unbreakable lines
* lisp/textmodes/pixel-fill.el (pixel-fill--fill-line): Fix
infloops for certain line widths (bug#52271).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Add a comma between groups in gnus-inews-insert-gcc
* lisp/gnus/gnus-msg.el (gnus-inews-insert-gcc): Insert a comma
between group names to get more mail-like syntax (bug#52274).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-04 Lars Ingebrigtsen <larsi@gnus.org>
Improve bookmark-maybe-historicize-string doc string
* lisp/bookmark.el (bookmark-maybe-historicize-string): Clarify
that this isn't about menus (but calls from bmenu) (bug#12504).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-04 Michael Albinus <michael.albinus@gmx.de>
Add ".crate" to Tramp archive file suffixes.
* doc/misc/tramp.texi (Archive file names):
* lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".crate".
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
eieio-core.el: Allow assignment to cl-structs through `slot-value`
@@ -88107,7 +90436,7 @@
(eieio-test-defstruct-slot-value): Test that cl-struct slots can be
assigned via `slot-value`.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-04 Paul Eggert <eggert@cs.ucla.edu>
Fix (date-to-time "2021-12-04")
@@ -88124,7 +90453,7 @@
* test/lisp/calendar/time-date-tests.el (test-date-to-time)
(test-days-between): New tests.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-04 Michael Albinus <michael.albinus@gmx.de>
Further changes on directory summary line in Tramp
@@ -88135,7 +90464,7 @@
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Revert previous change, it doesn't fly.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-04 Stefan Kangas <stefan@marxist.se>
Silence byte-compiler in some tests
@@ -88166,11 +90495,11 @@
* test/src/search-tests.el
(test-replace-match-modification-hooks): Silence byte-compiler.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Fix double buffering on pgtk
@@ -88182,26 +90511,26 @@
(leave_notify_event): Clear mouse face.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Fix coding style of a recent change
* src/pgtkfns.c (update_watched_scale_factor): Fix coding style.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-04 Eli Zaretskii <eliz@gnu.org>
Fix the MinGW build broken by recent changes in image.c
* src/image.c (rsvg_handle_get_intrinsic_size_in_pixels)
[WINDOWSNT]: Fix prototype. (Bug#44655)
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-12-04 Alan Third <alan@idiocy.org>
Make use of Trash on macOS (bug#21340)
* src/nsfns.m (Fsystem_move_file_to_trash): New function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-04 Eli Zaretskii <eliz@gnu.org>
Yet another place inside redisplay_window to prevent quitting
@@ -88209,14 +90538,14 @@
around the call to 'lookup_derived_face' (which can QUIT).
(Bug#44448)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-04 Eli Zaretskii <eliz@gnu.org>
Fix dependencies for files in the 'nt' subdirectory
* Makefile.in ($(NTDIR)): If non-empty, depend on 'lib'. That's
because some files in nt/ include generated Gnulib headers.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-12-04 Yuuki Harano <masm+github@masm11.me>
Keep track of scale factor by atimer and recreate cairo_surface_t
@@ -88237,11 +90566,11 @@
* src/pgtkterm.h (struct pgtk_output): New members.
(FRAME_CR_SURFACE_DESIRED_HEIGHT): Move macros from pgtkterm.c
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-04 Po Lu <luangruo@yahoo.com>
Make precision pixel scrolling work in an hscrolled window
@@ -88252,7 +90581,7 @@
(pixel-scroll-precision): Don't delegate to mwheel-scroll if
window is hscrolled.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-04 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -88265,34 +90594,34 @@
c006c490eb ; * doc/misc/efaq.texi (Latest version of Emacs): Update v...
9fbc4fa0e7 Add Tramp version integrated in Emacs 28.1
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-04 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
5d6f828799 Unbreak build after 9c222b9c1a7f91497a37567b4d7de3a511fff069.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/minibuffer.el: Don't return a boundary outside its arg
* lisp/minibuffer.el (completion-table-subvert): Fix out of string
start boundary for the odd case where `string` is shorter than `s1`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Make the error message in epa-display-error more helpful
* lisp/epa.el (epa-display-error): Output a more helpful error
message when reading a keyring file (bug#12923).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix keymap-lookup implementation
* lisp/keymap.el (keymap-lookup): Make this actually work for
looking up keys.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix highlighting of "Exit*" phrases in f90-mode
@@ -88300,14 +90629,14 @@
highlight phrases that start with "Exit" as an exit statement
(bug#14442).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Make `mouse-1' restart the cua-rect rectangle
* lisp/emulation/cua-rect.el (cua-mouse-set-rectangle-mark):
Restart the rectangle on mouse-1 (bug#51557).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-03 Po Lu <luangruo@yahoo.com>
Make last change work for deltas that are multiples of max-height
@@ -88315,7 +90644,7 @@
(pixel-scroll-precision-scroll-up-page): Use `max-height' that
is slightly less than the text height of the window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-03 Po Lu <luangruo@yahoo.com>
Make it work to pixel scroll by deltas larger than the window
@@ -88327,11 +90656,11 @@
(pixel-scroll-precision-scroll-down): Make it safe to scroll
by deltas larger than the current window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-03 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that MAIN_FIRST have finished compilation before doing the rest
@@ -88340,7 +90669,7 @@
(GREP_OPTIONS): Depend on main-first.
(MAIN_FIRST): Compile cconv.el before c-by.el (bug#8764).
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-03 Paul Eggert <eggert@cs.ucla.edu>
Port to Tiny C on x86-64
@@ -88350,7 +90679,7 @@
Accept __x86_64__ as an alias for __amd64__.
* src/lisp.h (alignas): Provide a no-op substitute.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-03 Eli Zaretskii <eliz@gnu.org>
Revert "emacs-lisp-mode: Use error face for "/d" indicator"
@@ -88360,14 +90689,14 @@
warning face. The warning face is prominent enough. We
never decided to annoy people like that.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-03 Eli Zaretskii <eliz@gnu.org>
Add more dired-x tests
* test/lisp/dired-x-tests.el (dired-x--string-to-number): Add more
tests with various thousands separators.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
Remove some more items obsolete since Emacs 23
@@ -88378,7 +90707,7 @@
* lisp/obsolete/vc-arch.el (vc-arch-command): Remove items
obsolete since Emacs 23.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
Remove two functions obsolete since Emacs 23
@@ -88387,7 +90716,7 @@
Emacs 23.
* lisp/nxml/xsd-regexp.el: Doc fix.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-03 Paul Eggert <eggert@cs.ucla.edu>
Prefer rsvg_handle_get_intrinsic_size_in_pixels
@@ -88398,7 +90727,7 @@
(svg_load_image): Prefer the results of
rsvg_handle_get_intrinsic_size_in_pixels if available.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-03 Paul Eggert <eggert@cs.ucla.edu>
Improve overflow checking in svg_load_image
@@ -88415,13 +90744,13 @@
(compute_image_size): Don’t bother to calculate :max-width if
:width is specified, and likewise for :max-height and :height.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-03 Paul Eggert <eggert@cs.ucla.edu>
Simplify svg_load_image
* src/image.c (svg_load_image): Simplify slightly.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-12-03 Paul Eggert <eggert@cs.ucla.edu>
More-robust svg_load_image fallback
@@ -88433,7 +90762,7 @@
rsvg_handle_get_intrinsic_dimensions did not report image width
and height, or did not report a viewbox.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-12-03 Eric Abrahamsen <eric@ericabrahamsen.net>
Use gnus-message instead of plain message in gnus-search
@@ -88442,35 +90771,35 @@
* lisp/gnus/gnus-search.el: All messaging should be done via
`gnus-message'.
-2023-04-15 Koen van Greevenbroek <koen_devel@posteo.net> (tiny change)
+2021-12-03 Koen van Greevenbroek <koen_devel@posteo.net> (tiny change)
Fix a compilation warning in pgtkterm.c
* src/pgtkterm.c (set_fullscreen_state): Fix a compilation warning
(bug#52260).
-2023-04-15 Tor Kringeland <tor.a.s.kringeland@ntnu.no> (tiny change)
+2021-12-03 Tor Kringeland <tor.a.s.kringeland@ntnu.no> (tiny change)
Add a docstring to `iso-transl-set-language'
* lisp/international/iso-transl.el: Document
`iso-transl-set-language' (bug#52261).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Move 'C-x 8 .' to 'C-x 8 . .'
* lisp/international/iso-transl.el (iso-transl-char-map): Move
'C-x 8 .' to 'C-x 8 . .' and add ż.
-2023-04-15 Tor Kringeland <tor.a.s.kringeland@ntnu.no> (tiny change)
+2021-12-03 Tor Kringeland <tor.a.s.kringeland@ntnu.no> (tiny change)
Add support for some Polish characters with `C-x 8'
* lisp/international/iso-transl.el: Add support for some Polish
characters (bug#52173).
-2023-04-15 Katsumi Yamaoka <yamaoka@jpl.org>
+2021-12-03 Katsumi Yamaoka <yamaoka@jpl.org>
Fix regression introduced by the previous date-to-time change
@@ -88478,7 +90807,7 @@
test if `parse-time-string' returns a valid data as the old
version did it with the help of `encode-time' (bug#52209).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Clarify the run-at-time documentation about "integral multiple"
@@ -88486,21 +90815,21 @@
* doc/lispref/os.texi (Timers): Explain what "integral multiple"
really means.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-12-03 Jim Porter <jporterbugs@gmail.com>
Remove separators at the beginning and end of the context menu
* lisp/mouse.el (context-menu-map): Remove beginning/end
seperators (bug#52237).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Improve how dired-mark-sexp interprets file sizes in non-C locales
* lisp/dired-x.el (dired-x--string-to-number): Try to understand
localised numbers (with "." separators or the like) (bug#23373).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
emacs-lisp-mode: Use error face for "/d" indicator
@@ -88508,7 +90837,7 @@
the dynamic scoping ("/d") indicator in the mode line to make it stand
out more.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
Don't support obsolete sregex syntax in re-builder
@@ -88516,22 +90845,22 @@
(reb-lisp-syntax-p, reb-change-syntax, reb-cook-regexp): Remove final
remaining references to the long obsolete sregex syntax.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-03 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in NEWS about 'write-file'
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-03 Michael Albinus <michael.albinus@gmx.de>
Fix dired--insert-disk-space
* lisp/dired.el (dired--insert-disk-space): Handle case
`get-free-disk-space' returns nil.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
* lisp/image.el (image): Add :prefix and :link.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
image-mode: Advertize viewing as text less eagerly
@@ -88542,13 +90871,13 @@
(image-mode-as-text): Don't mention key binding for editing as hex.
(image-mode-as-hex): Minor cleanup.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-macs.el (natnum): Fix typo
* lisp/emacs-lisp/cl-macs.el (natnum): Define it as a type
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-03 Michael Albinus <michael.albinus@gmx.de>
Adapt directory summary line handling in Tramp
@@ -88556,24 +90885,24 @@
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Do not add or modify summary line when `dired-free-space' is bound.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-03 Eli Zaretskii <eliz@gnu.org>
Revert "Support display of non-ASCII characters with aligned columns"
This reverts commit 608267c71e11da9c757c269a5e22e62ef04d0bfe.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-03 Po Lu <luangruo@yahoo.com>
Send scroll stop events to xwidgets when built with XInput 2
* src/xwidget.c (xwidget_scroll): Set xg_event->scroll.is_stop
when appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-03 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-03 Po Lu <luangruo@yahoo.com>
Improve velocity calculation in momentum scrolling
@@ -88587,7 +90916,7 @@
(pixel-scroll-calculate-velocity): Use current time.
(pixel-scroll-start-momentum): Use better algorithm.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-03 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -88599,17 +90928,17 @@
bbf4140091 * admin/diff-tar-files: Don't assume .tar.gz.
0a50ad11db * lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Generate touch-end events on pgtk
* src/pgtkterm.c (scroll_event): Generate touch end events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Make momentum scrolling much nicer
@@ -88619,17 +90948,17 @@
(pixel-scroll-start-momentum): Improvements to momentum
algorithm.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
* lisp/pixel-scroll.el (pixel-scroll-start-momentum): Fix algorithm.
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-12-02 Michael Albinus <michael.albinus@gmx.de>
* etc/NEWS: Mention change in `insert-directory' derivates. Fix typos.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-02 Eli Zaretskii <eliz@gnu.org>
Support display of non-ASCII characters with aligned columns
@@ -88639,14 +90968,14 @@
"standard" width.
(syms_of_xdisp) <align-columns-display>: New boolean variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-02 Stefan Kangas <stefan@marxist.se>
update_autogen: Improve error handling slightly
* admin/update_autogen: Check exit status of cd. Use single
quoting for trap condition.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-02 Stefan Kangas <stefan@marxist.se>
update_autogen: Remove unused -H flag
@@ -88655,7 +90984,7 @@
helps.
* admin/update_autogen: Remove the -H flag as it is no longer used.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -88667,7 +90996,7 @@
# Conflicts:
# lisp/ldefs-boot.el
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-02 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -88679,7 +91008,7 @@
50b40e1d4f ; * lisp/org/ob-julia.el: Fix Author header for authors.el.
84166ea2e6 CC Mode: Recognise "struct foo {" as introducing a type de...
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix characters.el build issue
@@ -88687,25 +91016,25 @@
(glyphless--bidi-control-characters): Don't use names here,
because it's too early (bug#52240).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous macroexp--warn-wrap change
* lisp/emacs-lisp/macroexp.el (macroexp--warn-wrap): Don't call
byte-compile-warning-enabled-p with zero parameters.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2021-12-02 Filipp Gunbin <fgunbin@fastmail.fm>
* lisp/gnus/gnus-art.el (gnus--variable-pitch-p): Don't error out if face nil
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-c C-w' copy the executable bits to the new file
* lisp/files.el (write-file): When visiting an executable file,
make the new file executable, too (bug#18915).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Add a new variable 'process-error-pause-time'
@@ -88716,7 +91045,7 @@
(exec_sentinel_error_handler): Use it.
(syms_of_process): New variable process-error-pause-time (bug#19457).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Improve momentum scrolling algorithm
@@ -88728,7 +91057,7 @@
(pixel-scroll-start-momentum): Improve algorithm.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-02 Eli Zaretskii <eliz@gnu.org>
Fix display of free disk space in Dired
@@ -88736,7 +91065,7 @@
MS-Windows.
(dired-free-space): Clarify the meaning of 'first'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-02 Eli Zaretskii <eliz@gnu.org>
Fix recent changes related to 'glyphless-display-mode'
@@ -88749,14 +91078,14 @@
* doc/lispref/display.texi (Glyphless Chars): Fix spelling and add
a cross-reference.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Get rid of duplicate pgtk function
* src/pgtkfns.c (Fpgtk_popup_font_panel): Remove function.
(syms_of_pgtkfns): Get rid of removed subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Documentation fixes for pgtk port
@@ -88764,32 +91093,32 @@
* doc/lispref/frames.texi (Multiple Terminals): Add references
to the `pgtk' terminal type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Fix `menu-set-font' on pgtk
* src/pgtkfns.c (Fx_select_font): New function.
(syms_of_pgtkfns): Define new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-02 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Make dired-virtual doc string less confusing
* lisp/dired-x.el (dired-virtual): Make the doc string less
confusing (bug#20992).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Add `cl-constantly' function
* lisp/emacs-lisp/cl-lib.el (cl-constantly): Add Common Lisp
function missing (bug#21584).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-12-02 Jim Porter <jporterbugs@gmail.com>
Ensure there are no duplicate separators when creating a context menu
@@ -88799,7 +91128,7 @@
* lisp/mouse.el (context-menu-map): Ensure no duplicate separators
(bug#52237).
-2023-04-15 Daniel Fleischer <danflscr@gmail.com>
+2021-12-02 Daniel Fleischer <danflscr@gmail.com>
browse-url-button-regexp: Recognize gemini: links
@@ -88811,14 +91140,14 @@
* lisp/net/browse-url.el (browse-url-button-regexp): Add support
for the gemini: URL type.
-2023-04-15 Michael Levine <melevine45@gmail.com>
+2021-12-02 Michael Levine <melevine45@gmail.com>
Fix usage of deprecated syntax in some cedet tests
* test/lisp/cedet/srecode/fields-tests.el
(srecode-field-utest-impl): Fix deprecated syntax.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-02 Lars Ingebrigtsen <larsi@gnus.org>
Add a bidi-control target for `glyphless-char-display-control'
@@ -88834,7 +91163,7 @@
* lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Add a
new type -- bidi-control.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/cedet/semantic/bovine/c.el (semantic-tag-protection): Silence warning
@@ -88847,7 +91176,7 @@
`when` into an `if` and set `prot` instead of throwing away a result.
Use `pcase` while we're at it.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/macroexp.el: Improve last change
@@ -88858,7 +91187,7 @@
to be a list to pass to `byte-compile-warning-enabled-p`.
(macroexp-macroexpand): Simplify accordingly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Add some primitive momentum-based precision scrolling
@@ -88878,7 +91207,7 @@
* src/xterm.c (handle_one_xevent): Fix touch-end event
generation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Add `touch-end' event type
@@ -88898,7 +91227,7 @@
* src/xterm.c (handle_one_xevent): Send touch-end events when
appropriate.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Fix precision scrolling when there is a scroll margin
@@ -88906,18 +91235,18 @@
(pixel-scroll-precision-scroll-up): Take scroll margin into
accout.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Get rid of vmotion loop in `pixel-scroll-precision-scroll-up'
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-up): Use
posn-at-x-y for cursor motion.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Change how Dired displays available space
@@ -88934,14 +91263,14 @@
to dired-tests.
* test/lisp/dired-tests.el (data-dir): Moved here.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix "SEE ALSO" buttons in some man pages
* lisp/man.el (Man-highlight-references0): Don't include "and" in
the links (bug#52229).
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-12-01 Andrea Corallo <akrl@sdf.org>
Make use of `comp-cstr-shallow-copy'
@@ -88953,7 +91282,7 @@
(comp-cstr-intersection-no-mem, comp-cstr-intersection)
(comp-cstr-negation): Use `comp-cstr-shallow-copy'.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-12-01 Andrea Corallo <akrl@sdf.org>
* Redefine `comp-cstr-shallow-copy'
@@ -88962,11 +91291,11 @@
(comp-cstr-shallow-copy): New function.
(comp-cstr-=): Use `copy-sequence'.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-12-01 Andrea Corallo <akrl@sdf.org>
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Decl struct predicates as pure
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-12-01 Alan Mackenzie <acm@muc.de>
Several amendments to scratch/correct-warning-pos.
@@ -89005,39 +91334,39 @@
lisp/emacs-lisp/pcase.el (pcase-compile-patterns, pcase--u1): Add an extra
position argument to each call of macroexp-warn-and-return.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-x C-d' require either an existing directory or a wildcard
* lisp/files.el (list-directory): Require either an existing
directory or a wildcard (bug#25807).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cconv.el (cconv--lifted-arg): Simplify
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix table-fixed-width-mode when typing fast
* lisp/textmodes/table.el (table-with-cache-buffer): Use the value
of table-fixed-width-mode in the correct buffer (bug#26701).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-01 Eli Zaretskii <eliz@gnu.org>
Mention 'glyphless-display-mode' in conjunction with bidi display
* doc/emacs/mule.texi (Bidirectional Editing): Mention
'glyphless-display-mode'. (Bug#27544)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix fencepost error in pixel-fill--fill-line
* lisp/textmodes/pixel-fill.el (pixel-fill--fill-line): Don't add
a newline (and continuation) if we're at the end of the line.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-12-01 Robert Pluim <rpluim@gmail.com>
characters.el: remove repetition in glyphless-char-display-control
@@ -89046,7 +91375,7 @@
characters.
(glyphless-char-display-control): Use 'glyphless-char-display-method'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Add new face `variable-pitch-text'
@@ -89058,7 +91387,7 @@
* lisp/net/shr.el (shr-text): Use it.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-12-01 Mattias Engdegård <mattiase@acm.org>
Fix closure-conversion of shadowed captured lambda-lifted vars
@@ -89075,7 +91404,7 @@
* test/lisp/emacs-lisp/cconv-tests.el (cconv-tests--intern-all)
(cconv-closure-convert-remap-var): Add tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Add a new minor mode `glyphless-display-mode'
@@ -89084,28 +91413,28 @@
* doc/lispref/display.texi (Glyphless Chars): Document it.
* lisp/textmodes/glyphless-mode.el: New minor mode (bug#27544).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix update-glyphless-char-display variable setting
* lisp/international/characters.el
(update-glyphless-char-display): Only set the variable if given.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Make pixel-fill-region handle space regions better
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Preserve the
face on the replacement spaces.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Fix precision pixel scrolling for a recent change
* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map): Use
`mwheel-coalesce-scroll-events' instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Stop relying on `x_coalesce_scroll_events' in pgtk code
@@ -89113,18 +91442,18 @@
`mwheel_coalesce_scroll_events'.
(x_coalesce_scroll_events): Remove variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Enable gnus-treat-fold-headers by default
* lisp/gnus/gnus-art.el (gnus-treat-fold-headers): Change default
to `head'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Use proportional fonts in the Gnus headers by default
@@ -89132,14 +91461,14 @@
(gnus--variable-pitch-p): New helper function.
(gnus-article-treat-fold-headers): Fill using pixel filling.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-12-01 Lars Ingebrigtsen <larsi@gnus.org>
Preserve newlines at the end of pixel-fill-region
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Preserve
newlines at the end.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-12-01 Eli Zaretskii <eliz@gnu.org>
Support precision mouse scrolling on MS-Windows
@@ -89163,7 +91492,7 @@
* doc/lispref/commands.texi (Misc Events): Improve wording of the
description of mouse-wheel events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-01 Stefan Kangas <stefan@marxist.se>
update_autogen: Remove deprecated -I flag
@@ -89171,11 +91500,11 @@
longer used since info/dir is now generated at install time if needed,
and is not in the repository any more.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-12-01 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-01 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -89193,14 +91522,14 @@
354f6c5609 ; * ChangeLog.3: Formatting fixes.
6192525a96 ; make change-history-commit
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-01 Stefan Kangas <stefan@marxist.se>
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
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-12-01 Stefan Kangas <stefan@marxist.se>
Update publicsuffix.txt from upstream
@@ -89208,60 +91537,60 @@
https://publicsuffix.org/list/public_suffix_list.dat
dated 2021-11-26 23:07:15 UTC.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-30 Jim Porter <jporterbugs@gmail.com>
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).
-2023-04-15 Bob Rogers <rogers-emacs@rgrjr.homedns.org>
+2021-11-30 Bob Rogers <rogers-emacs@rgrjr.homedns.org>
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).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
Autoload byte-compile-warning-enabled-p
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-enabled-p):
Autoloads (for easier use in macroexp etc).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
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.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
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.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
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.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Avoid unnecessary call when pixel scrolling
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down):
Avoid unnecessary call to `posn-at-point'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Make pixel scrolling faster
@@ -89270,22 +91599,22 @@
(pixel-scroll-precision-scroll-up): Stop subtracting height of
window lines.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Synchronize pgtk tab bar code with xterm
* src/pgtkterm.c (x_draw_image_relief):
(button_event): Synchronize code with xterm. (Bug#50779)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-11-30 Andrea Corallo <akrl@sdf.org>
* lisp/loadup.el (paren): Preload it (again).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-30 Eli Zaretskii <eliz@gnu.org>
Improve documentation of pixel-fill
@@ -89294,7 +91623,7 @@
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Doc fix.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
Use pixel-fill-width in shr.el
@@ -89302,7 +91631,7 @@
(shr-insert-document): Use it.
(shr-fill-text): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
Document pixel-fill-region
@@ -89311,7 +91640,7 @@
* lisp/textmodes/pixel-fill.el (pixel-fill-width): Add new helper
function.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-11-30 Andrea Corallo <akrl@sdf.org>
Revert "Preload paren.el"
@@ -89319,7 +91648,7 @@
This reverts commit 340e527bed83ff0382446132c871088ad61d1745.
-2023-04-15 Andrea Corallo <akrl@sdf.org>
+2021-11-30 Andrea Corallo <akrl@sdf.org>
Improve native compiler startup circular dependecy prevention mechanism
@@ -89332,7 +91661,7 @@
function.
(normal-top-level): Call it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
Allow storing buffer names in registers
@@ -89341,7 +91670,7 @@
* lisp/register.el (register-val-jump-to, register-val-describe):
Add support for (buffer . ...) registers (bug#33033).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-30 Mattias Engdegård <mattiase@acm.org>
Generalise CPS-conversion let optimisation
@@ -89349,32 +91678,32 @@
Eliminate a temporary for the last of any `let` form, not just for
single-binding ones. Suggested by Stefan Monnier.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-30 Lars Ingebrigtsen <larsi@gnus.org>
Allow inhibiting warnings about obsolete macros again
* lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): Inhibit
warning if requested (bug#50984).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
* src/nsterm.m (Vns_scroll_event_delta_factor): Fix doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Fix pixel scrolling again
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Fix
confusion about absolutivity of `window-edges'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Fix 1-off errors in pixel scrolling code
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Fix
one-off errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Improve upwards pixel scrolling for large images
@@ -89384,7 +91713,7 @@
* lisp/pixel-scroll.el (pixel-scroll-precision-up): Handle
vscrolling large images in the first unseen line.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-30 Mattias Engdegård <mattiase@acm.org>
Better CPS conversion of multi-binding `let`
@@ -89392,14 +91721,14 @@
Don't translate single-binding `let` into `let*` with an extra
temporary variable; it just adds two more useless states.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Calculate pixel deltas correctly
* src/pgtkterm.c (scroll_event): Fix scroll delta
factor. (bug#52195)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
@@ -89407,7 +91736,7 @@
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-30 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -89418,18 +91747,18 @@
# Conflicts:
# doc/misc/modus-themes.org
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Fix annoying bell rings when pixel scrolling to buffer limits
* lisp/pixel-scroll.el (pixel-scroll-precision): Don't ding at
buffer limits.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Enable shallow menu bar updates on PGTK
@@ -89438,7 +91767,7 @@
* src/pgtkmenu.c (set_frame_menubar): Allow shallow updates.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-30 Po Lu <luangruo@yahoo.com>
Add `ns-scroll-event-delta-factor'
@@ -89447,14 +91776,14 @@
* lisp/cus-start.el: Add option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Allow non-float values in x-scroll-event-delta-factor
* src/xterm.c (handle_one_xevent): Use XFLOATINT instead of
XFLOAT_DATA.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Make interrupt input optionally work on PGTK
@@ -89465,13 +91794,13 @@
* src/pgtkterm.h (struct pgtk_display_info): Add `connection'
field.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Stop setting mouse face GC manually, as it is no longer required
* src/pgtkterm.c (x_set_mouse_face_gc): Remove obsolete code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Add new package pixel-fill.el
@@ -89483,14 +91812,14 @@
* lisp/textmodes/pixel-fill.el: New package.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Add missing function declarations to pgtk-win.el
* lisp/term/pgtk-win.el: Add missing IM context related
declarations.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Enable pixel-precision scrolling on pgtk port
@@ -89498,7 +91827,7 @@
events.
(x_coalesce_scroll_events): New variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Get rid of pgtk_select and use xg_select instead
@@ -89509,11 +91838,11 @@
* src/process.c (wait_reading_process_output): Stop
using pgtk_select.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
* lisp/frame.el (display-graphic-p): Fix typo.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Fix build after merge
@@ -89521,13 +91850,13 @@
* src/gtkutil.c (xg_event_is_for_scrollbar):
* src/termhooks.h (enum output_method): Fix trivial typos.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Merge remote-tracking branch 'origin/feature/pgtk' into feature/pgtk
Merge remote-tracking branch 'origin/master' into feature/pgtk
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Audit the Emacs manual for keymap-*-related changes
@@ -89537,7 +91866,7 @@
* doc/emacs/abbrevs.texi (Editing Abbrevs): Change some examples
to use keymap-* functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Fix some of the argument handling in keymap-set and keymap-substitute
@@ -89546,7 +91875,7 @@
(keymap-substitute): Fix confusion in implementation -- the args
are definitions, not keys.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Edit the lispref manual for define-key/keymap-set fallout
@@ -89573,7 +91902,7 @@
(Strings of Events): Prefer `keymap-set' instead of `define-key'
most places, and use `defvar-keymap' in some of the examples.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-11-29 Alan Third <alan@idiocy.org>
Fix build on macOS
@@ -89581,7 +91910,7 @@
(NSPasteboardTypePNG): These are already defined on macOS 10.6 and
above and aren't used at all in GNUstep.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-11-29 Alan Third <alan@idiocy.org>
Fix NS port text decorations (bug#52156)
@@ -89589,22 +91918,22 @@
decorations other than underline.
(ns_draw_glyph_string): Remove superfluous color setting call.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Fix up generation of help text for ldefs-boot.el
* lisp/emacs-lisp/autoload.el (autoload-rubric): Don't put the
help text into cedet/*/loaddefs.el (bug#51744).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-29 Michael Albinus <michael.albinus@gmx.de>
* test/infra/gitlab-ci.yml (.job-template): Modify find scripts.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2021-11-29 Protesilaos Stavrou <info@protesilaos.com>
Remove problematic characters from modus-themes.org (bug#52126)
@@ -89628,28 +91957,28 @@
(Frequently Asked Questions): Remove parentheses from headings as they
can cause problems in the .texi version of the file.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Don't return whitespace for thing-at-point in whitespace-only buffers
* lisp/thingatpt.el (bounds-of-thing-at-point): If the buffer is
empty, return nil for most things (bug#52098).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Make Re: recognition in ispell-message less ambiguous
* lisp/textmodes/ispell.el (ispell-message): Require a "Re" as a
word, not as a word ending (bug#52104).
-2023-04-15 Brahimi Saifullah <brahimi.saifullah@gmail.com> (tiny change)
+2021-11-29 Brahimi Saifullah <brahimi.saifullah@gmail.com> (tiny change)
Make `group' widgets prettier in Customize
* lisp/wid-edit.el (group): Make the ":" invisible so that the
buffer looks prettier (bug#52143).
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2021-11-29 Matthias Meulien <orontee@gmail.com>
project-kill-buffers can display list of buffers to kill
@@ -89660,18 +91989,18 @@
(project-kill-buffers): Handle
project-kill-buffers-display-buffer-list option (bug#52148).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-29 Lars Ingebrigtsen <larsi@gnus.org>
Signal a better error in tabulated-list-sort
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Signal
error earlier on invalid column numbers (bug#52154).
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-29 Yuuki Harano <masm+github@masm11.me>
* src/xdisp.c (mouse_face_from_buffer_pos): Revert whitespace only change
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-29 Yuuki Harano <masm+github@masm11.me>
Remove draw_glyphs_debug
@@ -89680,13 +92009,13 @@
* src/xdisp.c (draw_glyphs_debug):
(draw_glyphs):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-29 Yuuki Harano <masm+github@masm11.me>
Replace XFillRectangle with cairo_rectangle and cairo_fill
* src/pgtkterm.c (pgtk_flash):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-29 Yuuki Harano <masm+github@masm11.me>
Use /* */ comment style instead of //
@@ -89701,21 +92030,21 @@
(key_press_event):
(syms_of_pgtkterm):
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2021-11-29 Daniel Martín <mardani29@yahoo.es>
Use mupdf in doc-view-mode if gs is not installed
* lisp/doc-view.el (doc-view-mode-p): Use mupdf to render PDF and
related formats if gs is not installed (bug#52170).
-2023-04-15 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
+2021-11-29 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
Make fill-region-as-paragraph clear the markers it creates
* lisp/textmodes/fill.el (fill-region-as-paragraph): Clear
temporary markers (bug#52175).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-29 Gregory Heytings <gregory@heytings.org>
Do not buttonize key bindings outside of *Help* buffers
@@ -89749,7 +92078,7 @@
(describe-coding-system, describe-font, describe-fontset)
((list-fontsets): Bind the new variable.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-11-29 Alan Mackenzie <acm@muc.de>
First commit of scratch/correct-warning-pos.
@@ -89877,28 +92206,28 @@
(print_object): Replace EQ with BASE_EQ.
(print_symbols_bare): New boolean variable.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Really make `x-scroll-event-delta-factor' dependent on system
* lisp/cus-start.el: Move X specific builtins that start
with "x-" before the catch-all test.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2021-11-29 Andreas Schwab <schwab@linux-m68k.org>
Avoid undefined behaviour when copying part of structure
* src/dispnew.c (copy_row_except_pointers): Don't use address of
subobject as starting point.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Fix last change for non-X platforms
* lisp/cus-start.el: Don't announce
`scroll-bar-adjust-thumb-portion' on non-X systems.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Allow customizing the pixel delta of wheel events on X
@@ -89907,18 +92236,18 @@
delta factor to wheel events with pixel data.
(Vx_scroll_event_delta_factor): New user option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
Make overhangs in ftcrfont work on Haiku
* src/ftcrfont.c (ftcrfont_draw): Dump left overhang clipping
on Haiku and always set `background_filled_p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-29 Po Lu <luangruo@yahoo.com>
* doc/emacs/haiku.texi (Haiku Basics): Fix a typo.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-29 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -89926,20 +92255,20 @@
bca57086be ; Remove an obsolete comment
455b64c336 * src/coding.c (Fdecode_coding_region, Fencode_coding_regi...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-28 Po Lu <luangruo@yahoo.com>
Update XKB map on MappingNotify
* src/xterm.c (handle_one_xevent): Update XKB map when X
tells us the keyboard map has been updated.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-28 Lars Ingebrigtsen <larsi@gnus.org>
Tweak gnus-art key binding
* lisp/gnus/gnus-art.el (:keymap): Fix mnemonic key binding.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-28 Mattias Engdegård <mattiase@acm.org>
Use compiler macros for the key syntax checks
@@ -89959,7 +92288,7 @@
(define-keymap): Use compiler-macro.
(defvar-keymap): Use define-keymap.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-28 Mattias Engdegård <mattiase@acm.org>
Avoid unused argument warnings in lambda compiler macros
@@ -89968,7 +92297,7 @@
use all the arguments of the function. Nobody expected any warning
since the arguments look like free variables inside the lambda form.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-28 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -89977,7 +92306,7 @@
b8b2dd17c5 Update to Org 9.5.1-11-g96d91b
a937f536b3 * doc/lispref/commands.texi (Click Events): Fix wording (b...
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-28 Michael Albinus <michael.albinus@gmx.de>
Adapt gitlab-ci.yml
@@ -89985,20 +92314,20 @@
(.job-template, .test-template): Another approach to catch test
artifacts on emba.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-28 Po Lu <luangruo@yahoo.com>
Make haiku-win build correctly on non-Haiku systems
* lisp/term/haiku-win.el (haiku-selection-targets): Add
missing declaration.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-28 Po Lu <luangruo@yahoo.com>
Fix xwidget popups on XI2 again
* src/xwidget.c (xwidget_button_1): Release seat grab.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-28 Po Lu <luangruo@yahoo.com>
Fix xwidget popups on XI2
@@ -90008,20 +92337,20 @@
* src/xwidget.c (xwidget_button_1): Release all XI2 grabs on
click.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Fix typos in configure.ac
* configure.ac: Fix typos in wording of XInput 2 options.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Make `pixel-scroll-precision-scroll-up' work better with overlays
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-up):
Just set vscroll when on overlay.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-27 Michael Albinus <michael.albinus@gmx.de>
Simplify use of artifacts in emba files
@@ -90033,7 +92362,7 @@
* test/infra/test-jobs.yml: Regenerate.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-27 Stefan Monnier <monnier@iro.umontreal.ca>
* test/src/comp-tests.el: Rework last patch
@@ -90046,7 +92375,7 @@
(comp-deftest pure): Use `declare-function` after loading `comp-test-pure.el`
to silence the byte-compiler.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-27 Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in --enable-checking builds
@@ -90055,14 +92384,14 @@
descent. This was reporte dto happen with some fonts used by the
xfont backend.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Improve documentation of wheel events
* doc/lispref/commands.texi (Misc Events): Add missing
parameters to `wheel-up' and `wheel-down'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Fix pixel scroll for overlays and text in display properties
@@ -90070,28 +92399,28 @@
Just set vscroll if we're scrolling through an overlay or
something to that effect.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Set motion event time when handling XI2 motion events
* src/xterm.c (handle_one_xevent): Set motion event time when
handling XI_Motion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Remove GC prone call in `pixel-point-and-height-at-unseen-line'
* lisp/pixel-scroll.el (pixel-point-and-height-at-unseen-line):
Remove call to unnecessary call to `beginning-of-visual-line'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Make `pixel-scroll-precision-scroll-up' slightly more robust
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-up):
Subtract from existing vscroll if feasible.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-27 Po Lu <luangruo@yahoo.com>
Make `pixel-scroll-precision-scroll-up' use existing logic
@@ -90101,7 +92430,7 @@
(pixel-scroll-precision-scroll-up): Use existing logic
to determine unseen line position.
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-11-26 Stephen Gildea <stepheng+emacs@gildea.com>
time-stamp-tests.el: Test more formats
@@ -90109,32 +92438,32 @@
Additional testing with illegal formats, including "%".
(time-stamp-format-multiple-conversions): Add a test with "%%%".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Set initial tab bar parameter on NS
* src/nsfns.m (Fx_create_frame): Initialize `tab-bar-lines'
frame parameter during frame creation.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-11-26 Alan Third <alan@idiocy.org>
Silence NS warnings
* src/nsterm.m ([EmacsView mouseDown:]): Move variables into the block
where they're used.
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-11-26 Stephen Gildea <stepheng+emacs@gildea.com>
* test/src/comp-tests.el: Eliminate byte-compiler warnings (Bug#52105).
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-26 Robert Pluim <rpluim@gmail.com>
Specify initial values for glyphless-char-display-control elements
* lisp/international/characters.el (glyphless-char-display-control):
Specify :value for all the elements, since nil is not a valid value.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-26 Michael Albinus <michael.albinus@gmx.de>
Adapt test/infra/gitlab-ci.yml
@@ -90142,7 +92471,7 @@
(test-filenotify-gio, test-gnustep, test-native-comp-speed0):
Add or adapt artifacts.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-26 Lars Ingebrigtsen <larsi@gnus.org>
Add new face `gnus-header'
@@ -90150,7 +92479,7 @@
(gnus-header-from, gnus-header-subject, gnus-header-newsgroups)
(gnus-header-name, gnus-header-content): Inherit from this new face.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-26 Robert Pluim <rpluim@gmail.com>
Adjust custom-face-attributes for 'regular' weight
@@ -90162,7 +92491,7 @@
* lisp/cus-face.el (custom-face-attributes): Recognize 'regular' as a
weight.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-26 Lars Ingebrigtsen <larsi@gnus.org>
Add an intermediary face for mode lines: `mode-line-active'
@@ -90179,7 +92508,7 @@
(CURRENT_MODE_LINE_ACTIVE_FACE_ID, enum face_id): Rename from
*MODE_LINE_FACE_ID to *MODE_LINE_ACTIVE_FACE_ID.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Move the precision pixel scrolling feature to pixel-scroll.el
@@ -90195,7 +92524,7 @@
(pixel-scroll-precision): New functions.
(pixel-scroll-precision-mode): New minor mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Explain confusing aspects of XInput 2 scroll wheel reporting
@@ -90205,21 +92534,21 @@
(handle_one_xevent): Explain why XI2 scroll valuators
are reset after each enter events.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-11-26 Dmitry Gutov <dgutov@yandex.ru>
Remove empty lines from stash read prompt
* lisp/vc/vc-git.el (vc-git-stash-read): Pass OMIT-NULLS (bug#52119).
(vc-git-stash-list): Simplify.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Make XInput 2 builds work without cairo
* src/xterm.c: Move some defines around so XI2 code doesn't
get ifdef'd out if Cairo is disabled.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-26 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -90229,42 +92558,42 @@
d1aa552d11 ; * CONTRIBUTE: No cleanups on release branches, even in d...
588caf0b27 * lisp/repeat.el (repeat-post-hook): Add check symbolp rep...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Fix sign of pixel scroll events on Haiku
* src/haikuterm.c (haiku_read_socket): Fix sign of scroll
events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Make tab bar option visible in the menu bar on NS
* lisp/menu-bar.el (menu-bar-showhide-menu): Make
`showhide-tab-bar' visible on NS as well.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Make pixel scrolling through images at the first line smoother
* lisp/better-pixel-scroll.el (better-pixel-scroll-scroll-up):
Try to reset vscroll if already vscrolled.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-26 Po Lu <luangruo@yahoo.com>
Don't perform pixel scrolling when window is hscrolled
* lisp/better-pixel-scroll.el (better-pixel-scroll): Call
mwheel-scroll instead if window is hscrolled.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-25 Po Lu <luangruo@yahoo.com>
Add `better-pixel-scroll-mode'
* etc/NEWS: Announce `better-pixel-scroll-mode'.
* lisp/better-pixel-scroll.el: New file.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-11-25 Alan Third <alan@idiocy.org>
Fix selection for old GNUstep and GCC
@@ -90273,25 +92602,25 @@
types we use.
* src/nsterm.h: Set up some more #defines for deprecated variables.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-25 Eli Zaretskii <eliz@gnu.org>
Update 'custom-face-attributes'
* lisp/cus-face.el (custom-face-attributes): Synchronize with
tables in font.c.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2021-11-25 Andreas Schwab <schwab@linux-m68k.org>
* src/emacs.c (usage_message): Fix name of --seccomp option.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-25 Eli Zaretskii <eliz@gnu.org>
Fix handling of '--dump-file' command-line option
* lisp/startup.el (command-line-1): Handle "--dump-file" and
"--seccomp" if they are left on the command-line. (Bug#52106)
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-11-25 Stephen Gildea <stepheng+emacs@gildea.com>
MH-E: support Mailutils "folders +/"
@@ -90300,7 +92629,7 @@
* test/lisp/mh-e/mh-utils.el:
Test "folders +/" with GNU Mailutils 3.13.91 and later.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-25 Robert Pluim <rpluim@gmail.com>
Correct the :inherit property on some faces
@@ -90313,25 +92642,25 @@
* lisp/faces.el (mode-line): Don't quote the face we're inheriting
from.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-25 Robert Pluim <rpluim@gmail.com>
* doc/misc/flymake.texi: Correct local variable mode specification
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-25 Robert Pluim <rpluim@gmail.com>
Don't display redundant 'see' in info-mode
* lisp/info.el (Info-fontify-node): Don't show 'see' when displaying
the result of "(See @ref" or "also @ref", but leave "Also @ref" alone.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-25 Michael Albinus <michael.albinus@gmx.de>
Tag a test from process-tests.el as :unstable on emba.
* test/src/process-tests.el (process-tests/multiple-threads-waiting):
Tag it as :unstable on emba.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-25 Lars Ingebrigtsen <larsi@gnus.org>
Add temporary mode-line-position change
@@ -90339,28 +92668,28 @@
make `min-width' work here; this should be fixed for real in the
display_line machinery somewhere.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-25 Lars Ingebrigtsen <larsi@gnus.org>
Indent `closure' forms better
* lisp/emacs-lisp/lisp-mode.el (closure): Indent `closure' forms
better (bug#52063).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-25 Po Lu <luangruo@yahoo.com>
Fix scroll wheel reporting on NS
* src/nsterm.m (- mouseDown): Clear scroll wheel
accumulators.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-25 Lars Ingebrigtsen <larsi@gnus.org>
Define a face for shr text
* lisp/net/shr.el (shr-text): New face.
(shr-insert): Use it instead of hard-coding `variable-pitch'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-25 Po Lu <luangruo@yahoo.com>
Set serial when filtering XI_KeyPress events
@@ -90369,7 +92698,7 @@
* src/xterm.c (handle_one_xevent): Set serial when filtering
XI_KeyPress events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-24 Po Lu <luangruo@yahoo.com>
Add support for pixel wheel deltas on NS
@@ -90377,7 +92706,7 @@
* src/nsterm.c (- mouseDown): Report pixel scroll deltas.
(x_coalesce_scroll_events): New variable
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-11-24 Stephen Gildea <stepheng+emacs@gildea.com>
mh-utils-tests: 'mh-sub-folders-actual' coverage
@@ -90387,7 +92716,7 @@
* lisp/mh-e/mh-utils.el (mh-sub-folders-parse): New function,
refactored out of 'mh-sub-folders-actual' to create a testing seam.
-2023-04-15 Matt Kramer <mkramer@lbl.gov> (tiny change)
+2021-11-24 Matt Kramer <mkramer@lbl.gov> (tiny change)
Fix tab-line cycling when using buffer groups (bug#52050)
@@ -90395,13 +92724,13 @@
Remove tabs that aren't associated with a buffer, such as the `group-tab' that
exists when `tab-line-tabs-function' is `tab-line-tabs-buffer-groups'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-24 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
b4f47d2 Use @pxref when necessary
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-24 Michael Albinus <michael.albinus@gmx.de>
Some optimizations for emba jobs
@@ -90413,7 +92742,7 @@
* test/infra/test-jobs.yml: Regenerate.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Remove APPEND argument from add-display-text-property
@@ -90421,14 +92750,14 @@
* lisp/emacs-lisp/subr-x.el (add-display-text-property): Remove
the append argument -- it's nonsensical.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix min-width problem with "overlapping" regions
* src/xdisp.c (handle_display_prop): Fix problem with overlapping
regions.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-24 Juri Linkov <juri@linkov.net>
* lisp/outline.el (outline-font-lock-keywords): Replace ‘.+’ with ‘.*’.
@@ -90436,38 +92765,38 @@
to have more text after outline-regexp until the end of the heading line
(bug#51016).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Add new function 'add-display-text-property'
* doc/lispref/display.texi (Display Property): Document it.
* lisp/emacs-lisp/subr-x.el (add-display-text-property): New function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Change eshell-mode mode-line-format insinuation
* lisp/eshell/esh-mode.el (eshell-mode): Tweak how the mode line
is altered after recent mode-line-format changes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-24 Eli Zaretskii <eliz@gnu.org>
Fix documentation of 'min-width' display spec.
* doc/lispref/display.texi (Other Display Specs): Clarify
documentation of the 'min-width' display spec.
-2023-04-15 Narendra Joshi <narendraj9@gmail.com> (tiny change)
+2021-11-24 Narendra Joshi <narendraj9@gmail.com> (tiny change)
* lisp/vcursor.el (vcursor-get-char-count): Preserve point
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in display_min_width comment
* src/xdisp.c (display_min_width): Fix typo in comment.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Make min-width of the U:-- wider
@@ -90475,7 +92804,7 @@
bits larger since there's often a big difference between - and %
characters.
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-11-24 Stephen Gildea <stepheng+emacs@gildea.com>
mh-utils-tests: Add new tests of "folders +/"
@@ -90490,7 +92819,7 @@
Use new helper function.
* test/lisp/mh-e/test-all-mh-variants.sh: LD_LIBRARY_PATH unnecessary.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-24 Eli Zaretskii <eliz@gnu.org>
Minor fixes for a recent commit
@@ -90498,21 +92827,21 @@
(Fget_display_property): Doc fix.
(get_display_property): Fix style and whitespace.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-24 Mattias Engdegård <mattiase@acm.org>
Add sample of -fanalyzer output (bug#51882)
* etc/compilation.txt (file): Add fragment of GCC diagnostics from
-fanalyzer (from Philip Kaludercic).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-24 Mattias Engdegård <mattiase@acm.org>
Tighten `gnu` compile regexp further
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
The -fanalyzer ASCII art does not contain tabs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Use a proportional font for the mode line
@@ -90521,18 +92850,18 @@
* lisp/faces.el (mode-line): Inherit from `variable-pitch'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Make display_min_width work from the mode line
* src/xdisp.c (display_min_width): Make this work from mode line
constructs via display_string.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-24 Robert Pluim <rpluim@gmail.com>
* admin/unidata/emoji-zwj.awk: Quote functions properly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-24 Po Lu <luangruo@yahoo.com>
Make `yank-media' work on Haiku
@@ -90568,7 +92897,7 @@
(BClipboard_system_targets, BClipboard_primary_targets)
(BClipboard_secondary_targets): New functions.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-24 Michael Albinus <michael.albinus@gmx.de>
* admin/notes/emba (Emacs jobset): Remove stage slow.
@@ -90585,14 +92914,14 @@
* test/infra/test-jobs.yml: Regenerate.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix min-width end condition handling
* src/xdisp.c (handle_display_prop): Fix check for min-width ends
-- they may be consecutive.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-24 Po Lu <luangruo@yahoo.com>
Correct adjustments to frame widths in events
@@ -90600,7 +92929,7 @@
(EmacsWindow.Zoom): Adjust widths to fit into the correct
coordinate system.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-24 Po Lu <luangruo@yahoo.com>
Remove unused arguments to EmacsView.AfterResize
@@ -90608,7 +92937,7 @@
unused arguments.
(BView_resize_to): Stop passing unused arguments.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Add support for the min-width display property
@@ -90625,7 +92954,7 @@
(handle_display_prop): Handle min-width ends.
(handle_single_display_spec): Handle min-width starts.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-24 Gregory Heytings <gregory@heytings.org>
Re-enable the disabledForeground X resource.
@@ -90636,7 +92965,7 @@
without reason in commit ef93458b2f8 by overwriting its value with the
value of the foreground resource.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-11-24 Alan Third <alan@idiocy.org>
Allow NS to handle non-text clipboard contents
@@ -90645,7 +92974,7 @@
(ns_string_from_pasteboard): Remove EOL conversion.
(syms_of_nsselect): Define QTARGETS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-24 Po Lu <luangruo@yahoo.com>
Clear past end of frame on Haiku
@@ -90655,7 +92984,7 @@
* src/haikuterm.c (haiku_clear_frame): Clear one pixel
past the end of the frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-24 Po Lu <luangruo@yahoo.com>
Fix 1 pixel wide border in frames on Haiku
@@ -90665,14 +92994,14 @@
* src/haikuterm.c (haiku_read_socket): Use `lrint' to round
widths.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix string-glyph-split infloop
* lisp/emacs-lisp/subr-x.el (string-glyph-split): Fix infloop when
applied to (string-glyph-split "✈ï¸ðŸŒ") (bug#52067).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-24 Gregory Heytings <gregory@heytings.org>
Pass options from make to configure through a variable.
@@ -90680,34 +93009,34 @@
* INSTALL.REPO: Document the variable (bug#51965).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-24 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
756b8a5f1b Fix typos in documentation
38fdeaef46 ; * etc/DEBUG: Fix last change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-23 Po Lu <luangruo@yahoo.com>
Fix mouse-wheel-text-scale
* lisp/mwheel.el (mouse-wheel-text-scale): Test for alternative
events correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-23 Po Lu <luangruo@yahoo.com>
Remove extraneous code left over from the ftbe font driver
* src/haikuterm.c (syms_of_haikuterm): Remove dead code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-23 Po Lu <luangruo@yahoo.com>
Use only effective modifiers when handling XI2 button events
* src/xterm.c (handle_one_xevent): Use mods.effective when
constructing button events.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
Remove PGTK_DEBUG stuff
@@ -90805,7 +93134,7 @@
(pgtk_cr_destroy_frame_context):
* src/pgtkterm.h:
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-23 Michael Albinus <michael.albinus@gmx.de>
Adapt artifacts paths in emba testjobs
@@ -90813,60 +93142,60 @@
* test/infra/test-jobs.yml: Regenerate.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
* src/ftcrfont.c (ftcrfont_open): Revert redundant brace change.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
* src/frame.c (syms_of_frame): Revert frame_resize_pixelwise defaults to false
It was just a workaround of mutter's bug, which is already fixed, so
we can revert it.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
* src/frame.c (Fframep): Fix comment
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
* src/font.h: Remove redundant condition
It is redundant because pgtk build always defines HAVE_FREETYPE.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
Enclose pgtk changes within #ifdef
* src/emacsgtkfixed.c:
* src/emacsgtkfixed.h:
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-23 Yuuki Harano <masm+github@masm11.me>
* src/emacs.c (main): Combine two conditions to one
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-23 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
bdb489a ; * etc/DEBUG: Adjust instructions for libgccjit reproducer.
b4fb381 ; * src/xdisp.c (produce_stretch_glyph): Avoid compilation wa...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-23 Stefan Kangas <stefan@marxist.se>
Prefer locate-user-emacs-file in gitmerge.el
* admin/gitmerge.el (gitmerge-status-file): Prefer
'locate-user-emacs-file' to fiddling with 'user-emacs-directory'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-23 Po Lu <luangruo@yahoo.com>
Fix compilation with XInput 2 but without XKB
* src/xterm.c (handle_one_xevent): Remove extraneous
conditional.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-23 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -90876,34 +93205,34 @@
# Conflicts:
# lisp/proced.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Only reset scroll valuators on real enter events
* src/xterm.c (handle_one_xevent): Test event detail and mode
before resetting scroll valuators.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Fix delay between tool bar clicks and visual feedback
* src/haikuterm.c (haiku_read_socket): Redisplay after tool
bar click.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Fix XI2 keysym translation
* src/xterm.c (handle_one_xevent): Handle XI_KeyPress events
that can't be translated into strings.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/subr.el (event-start, event-end): Handle `(menu-bar)` events
* lisp/net/browse-url.el (browse-url-interactive-arg): Simplify accordingly
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-22 Juri Linkov <juri@linkov.net>
* lisp/textmodes/flyspell.el: Pop up the menu under cursor from keyboard.
@@ -90911,18 +93240,18 @@
Use popup-menu-normalize-position with point when no mouse is involved,
instead of the incorrect use of mouse-position (bug#52025).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
src/indent.c, src/xdisp.c: Questions about with_echo_area_buffer_unwind_data
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-22 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: 'C-x t RET' creates a new tab for non-existent tab name.
* lisp/tab-bar.el (tab-bar-switch-to-tab): Create a new tab and
rename it to NAME when can't find the tab with the given NAME (bug#51935).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-22 Mattias Engdegård <mattiase@acm.org>
Simplify `gnu` compilation-mode regexp
@@ -90932,14 +93261,14 @@
performance impact of the pattern added for GCC's -fanalyzer,
now slightly tweaked.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-22 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-history-old-minibuffer-depth): Remove variable.
(tab-bar--history-pre-change, tab-bar--history-change): Use minibuffer-depth
instead of this variable (bug#51370).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-22 Michael Albinus <michael.albinus@gmx.de>
Adapt emba jobs
@@ -90954,7 +93283,7 @@
* test/infra/test-jobs.yml: Regenerate.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-22 Eli Zaretskii <eliz@gnu.org>
Improve recently installed documentation
@@ -90962,13 +93291,13 @@
description of 'buffer-text-pixel-size' to preserve previous text;
mention the importance of WINDOW.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Fix compiler warning in image.c
* src/image.c (webp_load): Initialize `mask_img' to NULL.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-22 Stefan Kangas <stefan@marxist.se>
Use substitute-command-keys for literal key sequences
@@ -91028,7 +93357,7 @@
* lisp/ibuffer.el (ibuffer-unmark-all): Use 'substitute-command-keys'
for command.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-22 Stefan Kangas <stefan@marxist.se>
Avoid false positives about wide docstrings for key sequences
@@ -91039,7 +93368,7 @@
* test/lisp/emacs-lisp/bytecomp-tests.el
("warn-wide-docstring-ignore-substitutions.el"): New test.
-2023-04-15 martin rudalics <rudalics@gmx.at>
+2021-11-22 martin rudalics <rudalics@gmx.at>
Add new function buffer-text-pixel-size
@@ -91052,7 +93381,7 @@
Fwindow_text_pixel_size.
(Fbuffer_text_pixel_size): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Fix mouse movement event generation on Haiku
@@ -91062,20 +93391,20 @@
* src/haikuterm.h (struct haiku_display_info): Add field
`last_mouse_movement_time'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Don't set button event modifiers twice on Haiku
* src/haikuterm.c (haiku_read_socket): Simplify.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Move XI2 event filtering to a more appropriate location
* src/xterm.c (handle_one_xevent): Filter all key press events
even if no frame is found.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-22 Stefan Kangas <stefan@marxist.se>
Add new format for literal key sequences to substitute-command-keys
@@ -91090,14 +93419,14 @@
tests.
(help-tests-substitute-key-bindings/face-help-key-binding): Extend test.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-22 Po Lu <luangruo@yahoo.com>
Use more precise test for emulated wheel events in XI2
* src/xterm.c (handle_one_xevent): Ignore button events
that have XIPointerEmulated set.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Make `xwidget-display-event' a special event as well
@@ -91121,80 +93450,80 @@
(webkit_create_cb_1): Store source if available.
(kill_xwidget): Remove dead widget from internal_xwidget_list.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-11-21 Glenn Morris <rgm@gnu.org>
Fix recent compile-tests addition
* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Bump number of expected errors.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Also filter XI_KeyRelease events
* src/xterm.c (handle_one_xevent): Also filter XI_KeyRelease
events through the X input method.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Use only effective modifiers for XI2 key press events
* src/xterm.c (handle_one_xevent): Use only effective modifiers
in XI_KeyPress events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Remove variable that no longer exists from manual
* doc/emacs/haiku.texi: Remove nonexistent variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-21 Stefan Kangas <stefan@marxist.se>
Adapt isearch help screen for variable-pitch-mode
* lisp/isearch.el (isearch-help-for-help-internal): Adapt for
'variable-pitch-mode', now that 'make-help-screen' uses that.
-2023-04-15 Omar Polo <op@omarpolo.com>
+2021-11-21 Omar Polo <op@omarpolo.com>
implement certfp authentication to rcirc
* lisp/net/rcirc.el (rcirc-connect): Use the provided client certs
* doc/misc/rcirc.texi (Configuration): Document the change
-2023-04-15 Omar Polo <op@omarpolo.com>
+2021-11-21 Omar Polo <op@omarpolo.com>
Move the sasl section after the bitlbee text
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-11-21 Philip Kaludercic <philipk@posteo.net>
Improve error parsing for GCC -fanalyzer output
* compile.el (compilation-error-regexp-alist-alist): Adjust gnu rule
* compile-tests.el (compile-tests--test-regexps-data): Add testcase
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-21 Eli Zaretskii <eliz@gnu.org>
Fix positioning of pop-up menus when there are window-margins
* src/menu.c (x_popup_menu_1): Calculate X and Y correctly for
clicks in the text area. (Bug#51782)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-21 Robert Pluim <rpluim@gmail.com>
Add :version tags to new mwheel defcustoms
* lisp/mwheel.el (mouse-wheel-down-alternate-event):
(mouse-wheel-up-alternate-event): Add :version tag.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-21 Eli Zaretskii <eliz@gnu.org>
Minor cleanup in w32inevt.c
* src/w32inevt.c (w32_console_mouse_position, mouse_moved_to)
(do_mouse_event): Use 'get_frame' to obtain the frame pointer.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-21 Stefan Kangas <stefan@marxist.se>
Use variable-pitch-mode in 'C-h C-h'
@@ -91205,7 +93534,7 @@
This was discussed in
https://lists.gnu.org/r/emacs-devel/2021-11/msg01378.html
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-21 Michael Albinus <michael.albinus@gmx.de>
Reorganize emba control files
@@ -91227,28 +93556,28 @@
(test-jobs-generator, test-jobs-pipeline): Remove jobs.
(top): Include test-jobs.yml.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Fix double and triple click in Haiku.
* src/haikuterm.c (haiku_read_socket): Record timestamp
in events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Report time in XInput 2 button events
* src/xterm.c (handle_one_xevent): Report time in XI button
events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Fix horizontal wheel events on Haiku
* src/haikuterm.c (haiku_read_socket): Fix modifier
calculation for horizontal wheel events.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-21 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -91262,7 +93591,7 @@
# Conflicts:
# lisp/mouse.el
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-21 Lars Ingebrigtsen <larsi@gnus.org>
Fill the Emacs version on the splash page
@@ -91271,7 +93600,7 @@
(normal-no-mouse-startup-screen): Fill the Emacs version data,
since it's usually longer than a single line, anyway.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Implement `pick_embedded_child' for offscreen xwidgets
@@ -91279,13 +93608,13 @@
(Fmake_xwidget): Connect `pick-embedded-child' signal
to offscreen window.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-21 Stefan Kangas <stefan@marxist.se>
Revert "* admin/gitmerge.el (gitmerge-mode-map): Convert to defvar-keymap."
This reverts commit 4c467e4aff12e65fa4fa62d7f4bdcbf4a2bcd92c.
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2021-11-21 dickmao <dick.r.chiang@gmail.com>
Fix icalendar time zone parsing
@@ -91295,14 +93624,14 @@
(icalendar-tests--decode-isodatetime): Fix tests so that they work
in other time zones than Europe/Berlin (bug#51959).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Fix documentation string of x_coalesce_scroll_events
* src/xterm.c (x_coalesce_scroll_events): Update doc string to
reflect that this option is now supported under Haiku.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-21 Eli Zaretskii <eliz@gnu.org>
Improve the fix for bug#51864
@@ -91310,14 +93639,14 @@
FACE_FROM_ID_OR_NULL just once.
(face_at_string_position): Make sure we have a usable base face.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Improve Haiku documentation
* doc/emacs/haiku.texi: Remove duplicate text and
extraneous pxref.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-21 Po Lu <luangruo@yahoo.com>
Add a user command to stop page loading in xwidget-webkit
@@ -91325,14 +93654,14 @@
(xwidget-webkit-stop): New command.
(xwidget-webkit-tool-bar-map): New tool bar item.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Fix compiler warnings
* src/haikuterm.c (haiku_read_socket): Fix compiler
warnings intoduced by last change.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Add pixel delta support for wheel events on Haiku
@@ -91341,13 +93670,13 @@
* src/haikuterm.c (haiku_read_socket): Handle pixel deltas
correctly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Attach download-started signals to correct WebKit context
* src/xwidget.c (Fmake_xwidget): Use correct context.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Allow handling smooth scroll events in xwidgets
@@ -91357,27 +93686,27 @@
events on XInput 2.
(xwidget_motion_notify, xwidget_scroll): New functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Select device notification events correctly
* src/xfns.c (setup_xi_event_mask): Select PropertyEvent,
HierarchyChanged and DeviceChanged for all devices.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Add XInput 2 input method support
* src/xterm.c (handle_one_xevent): Let input methods filter
events first before trying to handle an XI2 key press event.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-20 Michael Albinus <michael.albinus@gmx.de>
* test/infra/test-jobs-generator.sh: Generate also stages entry.
Revert last change on emba files
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Add support for the Haiku operating system and its window system
@@ -91699,7 +94028,7 @@
* src/xterm.c (syms_of_xterm): Add Haiku information to
doc string.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-20 Stefan Kangas <stefan@marxist.se>
Make string-animate smoother
@@ -91708,14 +94037,14 @@
(animate-string): Make the delay depend on the above new defcustom
divided by the number of steps.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Prevent crashes when scrolling in an unknown Window on XI2
* src/xterm.c (handle_one_xevent): Fix XI2 frame lookup to
handle foreign windows.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Fix xwidgets with XInput 2 builds
@@ -91728,7 +94057,7 @@
(x_draw_xwidget_glyph_string): Synthesize focus event here
instead on XI2 builds.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-20 Stefan Kangas <stefan@marxist.se>
Make 'eval' use lexical scoping in most tests
@@ -91759,7 +94088,7 @@
using LEXICAL as both nil and non-nil.
(eval-tests--let-with-circular-defs): Give explicit nil to 'eval'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-20 Stefan Kangas <stefan@marxist.se>
image-dired: Improve some messages
@@ -91767,7 +94096,7 @@
(image-dired-create-thumb-1): Improve messages.
(image-dired-rotate-original): Signal 'user-error' instead of 'error'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-20 Stefan Kangas <stefan@marxist.se>
Convert snake and tetris keymaps to defvar-keymap
@@ -91775,7 +94104,7 @@
* lisp/play/tetris.el (tetris-mode-map, tetris-null-map): Convert
to defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-20 Lars Ingebrigtsen <larsi@gnus.org>
Make shr render text with superscripts prettier
@@ -91784,14 +94113,14 @@
slightly smaller so that we don't get uneven line heights with
text that uses these.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Fix a comment in XInput related code
* src/xterm.c (x_term_init): Fix comment to say "XInput 2.1"
instead of "XInput 1.1".
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Expose pixel-wise wheel events to Lisp
@@ -91807,7 +94136,7 @@
data.
(x_coalesce_scroll_events): New user option.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Add support for event processing via XInput 2
@@ -91851,7 +94180,7 @@
(mouse-wheel--setup-bindings): Set up bindings for alternate
buttons.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Allow terminating page loading operations in webkit xwidgets
@@ -91860,21 +94189,21 @@
* src/xwidget.c (Fxwidget_webkit_stop_loading): New function.
(syms_of_xwidget): Define new subr.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-20 Gregory Heytings <gregory@heytings.org>
Implement the buttonForeground resource
* lwlib/xlwmenu.c (draw_shadow_rectangle, draw_shadow_rhombus):
Use the buttonForeground resource color (bug#51988).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix another narrow-to-defun problem in js-mode
* lisp/progmodes/js.el (js--function-prologue-beginning): Fix typo
in looking-back form (bug#51926).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-20 Michael Albinus <michael.albinus@gmx.de>
Continue adaptions of emba files
@@ -91887,7 +94216,7 @@
* test/infra/test-jobs-generator.sh: Generate also stages entry.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Make xwidget-events special and document xwidget callbacks
@@ -91903,7 +94232,7 @@
* lisp/xwidget.el: Make xwidget events special.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Use `xwidget-live-p' inside `xwidget-at'.
@@ -91915,38 +94244,38 @@
* lisp/xwidget.el (xwidget-at): Use `xwidget-live-p'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Remove nonsensical command in xwidget-webkit-mode-map
* lisp/xwidget.el (xwidget-webkit-mode-map): Remove nonsensical
command binding.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-20 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
c1eea85be1 * test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Rem...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Fix option type of `xwidget-webkit-cookie-file' again
* lisp/xwidget.el (xwidget-webkit-cookie-file): Revert changes
caused by rebase.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-20 Po Lu <luangruo@yahoo.com>
Clarify doc string in xwidget-webkit
* lisp/xwidget.el (xwidget-webkit-buffer-name-format): Update
doc string.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-11-19 Glenn Morris <rgm@gnu.org>
* lisp/xwidget.el (xwidget-webkit-cookie-file): Fix type.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-19 Po Lu <luangruo@yahoo.com>
Make xwidget-webkit default to not storing cookies
@@ -91954,18 +94283,18 @@
* lisp/xwidget.el (xwidget-webkit-cookie-file): Set default
value to nil.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-19 Michael Albinus <michael.albinus@gmx.de>
Fix Tramp test
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Skip Ange FTP test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-19 Michael Albinus <michael.albinus@gmx.de>
Fix stage in gitlab-ci.yml
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-19 Michael Albinus <michael.albinus@gmx.de>
Add more test jobs for emba
@@ -91981,7 +94310,7 @@
* test/infra/test-jobs-generator.sh: New script.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-19 Eli Zaretskii <eliz@gnu.org>
Fix doc strings in ucs-normalize.el
@@ -91993,7 +94322,7 @@
(ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFC-region): Fix
wording and typos.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-19 Eli Zaretskii <eliz@gnu.org>
Fix documentation of last commit
@@ -92008,7 +94337,7 @@
* etc/NEWS: Improve the wording of the entry about
'xwidget-webkit-cookie-file'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-19 Po Lu <luangruo@yahoo.com>
Allow controlling where xwidget-webkit stores cookies
@@ -92025,14 +94354,14 @@
(Fxwidget_webkit_set_cookie_storage_file): New function.
(syms_of_xwidget): Define new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-19 Po Lu <luangruo@yahoo.com>
Use CHECK_LIVE_XWIDGET in xwidget-webkit-estimated-load-progress
* src/xwidget.c (Fxwidget_webkit_estimated_load_progress): Check
for live xwidgets instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-19 Po Lu <luangruo@yahoo.com>
Display page loading progress in xwidget webkit
@@ -92046,14 +94375,14 @@
(xwidget-webkit-mode): Add page load progress to header line
format.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-19 Stefan Kangas <stefan@marxist.se>
Improve doc-view-mode menus
* lisp/doc-view.el (doc-view-menu): Extend menu.
(doc-view-minor-mode-menu): New menu.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-19 Po Lu <luangruo@yahoo.com>
Add `xwidget-webkit-estimated-load-progress'
@@ -92064,18 +94393,18 @@
function.
(syms_of_xwidget): Define new subr.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-19 Lars Ingebrigtsen <larsi@gnus.org>
Make puny-encode-string normalize first
* lisp/net/puny.el (puny-encode-string): Normalize before encoding
(bug#51954).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-19 Lars Ingebrigtsen <larsi@gnus.org>
Regenerate ldefs-boot
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-19 Lars Ingebrigtsen <larsi@gnus.org>
Make UCS compose/decompose functions more understandable
@@ -92086,7 +94415,7 @@
(ucs-normalize-NFKC-region, ucs-normalize-NFKC-string): Make the
doc strings say what they actually do.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-19 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -92097,20 +94426,20 @@
5eeaf85767 Improve documentation of window hooks
7404f4b4e0 Improve doc string of 'highlight-nonselected-windows'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-18 Po Lu <luangruo@yahoo.com>
Fix documentation on xwidgets
* doc/lispref/display.texi (Xwidgets): Refer to correct
function.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/files.el (file-has-changed-p): Index the cache with absolute file names
* lisp/net/mailcap.el (mailcap-parse-mailcaps): Fix $MAILCAPS case
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-18 Mattias Engdegård <mattiase@acm.org>
Turn mistaken functions into tests (bug#51941)
@@ -92121,7 +94450,7 @@
Change `defun` into `ert-deftest` where this seems to have been the
original intention.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-18 Mattias Engdegård <mattiase@acm.org>
String backslash corrections
@@ -92129,7 +94458,7 @@
* test/lisp/emacs-lisp/package-tests.el
(package-test-macro-compilation-gz): Make dot literal as intended.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-18 Michael Albinus <michael.albinus@gmx.de>
Do not exclude emacs-module-tests.el on emba
@@ -92143,7 +94472,7 @@
(module--test-assertions--globref-invalid-free): Tag them as
:unstable on emba. (Bug#50902)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-18 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Optimize data usage for nil tab-bar-history-mode.
@@ -92154,7 +94483,7 @@
(tab-bar-new-tab-to): Reset tab-bar-history-back and
tab-bar-history-forward to nil.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-18 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el: Avoid micro-steps in tab-bar-history-back/forward.
@@ -92165,11 +94494,11 @@
(tab-bar--history-change): Use 'tab-bar-history-done-command' and
'tab-bar-history-pre-command' (bug#51370).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-18 Juri Linkov <juri@linkov.net>
* lisp/vc/diff-mode.el (diff-minor-mode-prefix): Fix typo from 44faf54659
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2021-11-18 Protesilaos Stavrou <info@protesilaos.com>
Update modus-themes to version 1.7.0
@@ -92275,7 +94604,7 @@
A detailed change log entry is available here:
<https://protesilaos.com/codelog/2021-11-18-modus-themes-1-7-0/>.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-18 Michael Albinus <michael.albinus@gmx.de>
Extend abbreviate-file-name for further Tramp methods.
@@ -92288,7 +94617,7 @@
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Extend test.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2021-11-18 Filipp Gunbin <fgunbin@fastmail.fm>
Fixup for bug#51037
@@ -92297,7 +94626,7 @@
(ert-run-tests-batch): Remove redundand let-binding.
(ert-run-tests-interactively): Fix interactive spec.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-18 Mattias Engdegård <mattiase@acm.org>
Eliminate ERT test name clashes (bug#51941)
@@ -92318,7 +94647,7 @@
(data-tests-logcount):
Rename clashing tests.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-18 Mattias Engdegård <mattiase@acm.org>
Signal an error for duplicated ERT tests (bug#51941)
@@ -92329,7 +94658,7 @@
lisp/emacs-lisp/ert.el (ert-set-test, ert-deftest): Add check.
etc/NEWS: Announce.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-18 Mattias Engdegård <mattiase@acm.org>
Avoid adding duplicates to Xref history
@@ -92337,7 +94666,7 @@
New functions.
(xref-push-marker-stack, xref-go-back, xref-go-forward): Use them.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-18 Lars Ingebrigtsen <larsi@gnus.org>
Revert VC-related prefix user options to previous values
@@ -92346,7 +94675,7 @@
* lisp/vc/diff-mode.el (diff-minor-mode-prefix): Revert to
previous values, as external packages rely on those values.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix `narrow-to-defun' in "async function" in js-mode
@@ -92355,7 +94684,7 @@
(js--ensure-cache): Allow "async" before "function" (bug#51926).
This makes `narrow-to-defun' work as expected.
-2023-04-15 Greg Minshall <minshall@umich.edu>
+2021-11-18 Greg Minshall <minshall@umich.edu>
Fix eldoc usage of newly introduced variable
@@ -92363,14 +94692,14 @@
(eldoc-display-message-no-interference-p): Make this function work
in older Emacs versions again (bug#51939).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-18 Lars Ingebrigtsen <larsi@gnus.org>
Make the optional describe-map-tree parameters optional
* lisp/help.el (describe-map-tree): Make the optional parameters
optional. This makes testing easier.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-11-18 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Don't ignore restriction in indent-region-line-by-line
@@ -92391,7 +94720,7 @@
as 'c-indent-region'. This patch makes it respect the current
restriction instead of having it call "(widen)".
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2021-11-17 Mike Kupfer <mkupfer@alum.berkeley.edu>
Fix two failing tests in mh-utils-tests
@@ -92401,7 +94730,7 @@
(mh-folder-completion-function-09-plus-slash-tmp): Skip these tests
with Mailutils, which doesn't handle root folders. (Bug#51902)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Revert "* lisp/image-dired.el: Remove unnecessary 'declare-function'."
@@ -92411,7 +94740,7 @@
Problem pointed out by Glenn Morris <rgm@gnu.org> in:
https://lists.gnu.org/r/emacs-devel/2021-11/msg01278.html
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-17 Eli Zaretskii <eliz@gnu.org>
Fix recent changes related to USABLE_SIGIO
@@ -92419,7 +94748,7 @@
* src/keyboard.c (handle_async_input) [DOS_NT]: Ifdef away the
code that is not needed on MS-Windows. (Bug#50403) (Bug#51820)
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2021-11-17 Ken Brown <kbrown@cornell.edu>
Make process_pending_signals useful on systems without SIGIO
@@ -92428,7 +94757,7 @@
process_pending_signals do something useful on systems that have
to poll for input. (Bug#51820)
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2021-11-17 Ken Brown <kbrown@cornell.edu>
Avoid delays waiting for input on systems without SIGIO
@@ -92436,7 +94765,7 @@
we're waiting for input, don't use a timeout of more than 25 msec
in the call to select. (Bug#50043)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-17 Po Lu <luangruo@yahoo.com>
Prevent subprocess hangs in xwidget
@@ -92444,7 +94773,7 @@
`catch_child_signal' instead of trying to preserve the previous
signal handler.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Use substitute-command-keys in some messages
@@ -92454,7 +94783,7 @@
* lisp/ibuf-ext.el (ibuffer-do-kill-lines):
* lisp/vc/ediff.el (ediff-documentation): Use 'substitute-command-keys'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-17 Po Lu <luangruo@yahoo.com>
Don't draw xwidgets that have just been resized
@@ -92469,18 +94798,18 @@
(Fxwidget_resize): Set just_resized first, then queue allocate.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Ignore some externally maintained files in AUTHORS
* admin/authors.el (authors-ignored-files): Ignore externally
maintained files.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
* lisp/image-dired.el: Remove unnecessary 'declare-function'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-17 Lars Ingebrigtsen <larsi@gnus.org>
Change the call signature to keymap-substitute
@@ -92489,7 +94818,7 @@
* lisp/emacs-lisp/shortdoc.el (keymaps):
* lisp/emacs-lisp/bytecomp.el (lambda): Adjust.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -92497,20 +94826,20 @@
c25be3e7bb * lisp/tab-bar.el (tab-bar-select-tab): Add check for wc-f...
38d905abf9 * lisp/tab-bar.el: Doc fixes for commands bound to modifie...
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-17 Lars Ingebrigtsen <larsi@gnus.org>
Make bookmark-set prompt less confusing
* lisp/bookmark.el (bookmark-set): Make the prompt less confusing
(bug#51876).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix mh-mime build problem
* lisp/mh-e/mh-mime.el (mh-acros): Require to get mh-dlet*.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Temporarily mark two failing tests as unstable
@@ -92519,13 +94848,13 @@
(mh-folder-completion-function-09-plus-slash-tmp): Temporarily
mark two failing tests as unstable.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix bookmark-bmenu-mode-map syntax
* lisp/bookmark.el (bookmark-bmenu-mode-map): Fix syntax in defvar-keymap.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Remove some references to XEmacs
@@ -92536,7 +94865,7 @@
* lisp/textmodes/reftex-index.el: Remove some comments referring to
XEmacs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-17 Stefan Kangas <stefan@marxist.se>
Make mh-funcall-if-exists obsolete
@@ -92551,7 +94880,7 @@
* lisp/mh-e/mh-xface.el (mh-face-display-function): Don't use
above obsolete macro.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-16 Stefan Kangas <stefan@marxist.se>
Convert keymaps in bookmark.el to defvar-keymap
@@ -92560,44 +94889,44 @@
(bookmark-edit-annotation-mode-map, bookmark-bmenu-mode-map):
Convert to defvar-keymap.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/rot13.el (rot13-translate-table): Make it a `translation-table`
(rot13-display-table): Use `dotimes`.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-16 Stefan Kangas <stefan@marxist.se>
* admin/gitmerge.el (gitmerge-mode-map): Convert to defvar-keymap.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-16 Po Lu <luangruo@yahoo.com>
Update xwidget webkit history buffer more eagerly
* lisp/xwidget.el (xwidget-webkit-callback): Update history
buffer on each load-changed event.
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-11-16 Alan Third <alan@idiocy.org>
Only set LANG if the ID is valid
* src/nsterm.m (ns_init_locale): Check the provided locale identifier
is available before trying to use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Make keymap-unset work
* lisp/keymap.el (keymap-unset): Fix key syntax (bug#51897).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-16 Eli Zaretskii <eliz@gnu.org>
Put back documentation of legacy keymap functions
* doc/lispref/keymaps.texi (Low-Level Key Binding): Reinstate
documentation of legacy commands and functions.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-16 Yuuki Harano <masm+github@masm11.me>
Support xterm-mouse-mode mouse-4/5
@@ -92617,7 +94946,7 @@
(mouse-wheel-text-scale): Use mouse-wheel--button-eq instead of eq.
(mouse-wheel--setup-bindings): Make it flatten.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-16 Yuuki Harano <masm+github@masm11.me>
Remove garbage #ifndef
@@ -92626,14 +94955,14 @@
* src/xwidget.c (Fxwidget_resize):
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-16 Eli Zaretskii <eliz@gnu.org>
Minor copyedits of recent documentation changes
* doc/lispref/keymaps.texi (Low-Level Key Binding): Minor changes
in wording and markup.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-16 Michael Albinus <michael.albinus@gmx.de>
Some minor Tramp updates
@@ -92646,14 +94975,14 @@
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Extend test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Fix compilation error in previous keymap.c change
* src/keymap.c (initial_define_lispy_key, define_as_prefix): Fix
--enable-checking error.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-16 Po Lu <luangruo@yahoo.com>
Lower xwidget views owned by parent when lowering frame
@@ -92663,7 +94992,7 @@
* src/xwidget.h (lower_frame_xwidget_views):
* src/xwidget.c (lower_frame_xwidget_views): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-16 Po Lu <luangruo@yahoo.com>
Add command to browse xwidget history
@@ -92682,7 +95011,7 @@
(xwidget-webkit-history-mode): New major mode.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2021-11-16 Stephen Leake <stephen_leake@stephe-leake.org>
Merge pull request from stephe-ada-guru/master
@@ -92690,7 +95019,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/759
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-16 Gregory Heytings <gregory@heytings.org>
New X resource to control the border thickness of menus
@@ -92702,7 +95031,7 @@
* doc/emacs/xresources.texi (Lucid Resources): Document the new
resource (bug#51867).
-2023-04-15 Michael Herstine <sp1ff@pobox.com>
+2021-11-16 Michael Herstine <sp1ff@pobox.com>
Make results details in ert-run-tests-batch configurable
@@ -92726,7 +95055,7 @@
* doc/misc/ert.texi: document the new variables & their usage
(bug#51037).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Start adjusting the manuals to talk about the keymap-* functions
@@ -92758,7 +95087,7 @@
* doc/lispref/keymaps.texi (Low-Level Key Binding): New node that
describes `define-key' and the old key syntaxes.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Adjust `defvar-keymap' and `define-keymap' to the new syntax
@@ -92813,7 +95142,7 @@
(gnus-category-mode-map): Adjust `defvar-keymap' and
`define-keymap' to the new syntax.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new 'keymap-*' functions
@@ -92843,7 +95172,7 @@
to key-valid-p and key-parse.
(syms_of_keymap): Adjust defs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Allow removing keymap definitions
@@ -92855,14 +95184,14 @@
* src/term.c (term_get_fkeys_1): Adjust caller.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-16 Lars Ingebrigtsen <larsi@gnus.org>
Make erc-mode noninteractive
* lisp/erc/erc.el (erc-mode): Mark it as noninteractive, because
using it from `M-x' will only lead to problems (bug#51841).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-16 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -92873,7 +95202,7 @@
5044151486 Avoid segfaults due to freed face cache
199e2468d3 Doc fix; change recommended file name of custom-file
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2021-11-16 Mike Kupfer <mkupfer@alum.berkeley.edu>
Fix handling of folder "+/" in MH-E
@@ -92884,7 +95213,7 @@
Fix errors made importing tests from mh-unit.el; remove declaration
that these tests are expected to fail.
-2023-04-15 Mike Kupfer <mkupfer@alum.berkeley.edu>
+2021-11-16 Mike Kupfer <mkupfer@alum.berkeley.edu>
Fix checkdoc complaints in MH-E
@@ -92893,7 +95222,7 @@
* lisp/mh-e-mh-scan.el (mh-scan-cmd-note-width): Break up a
line that was too long.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-15 Stefan Kangas <stefan@marxist.se>
Fix recently changed wdired test on MS-Windows
@@ -92901,28 +95230,28 @@
create a local socket on MS-Windows, as it is not supported on that
platform. Problem reported by Robert Pluim <rpluim@gmail.com>.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-15 Po Lu <luangruo@yahoo.com>
Prevent xwidget windows from obscuring child frames
* src/xwidget.c (x_draw_xwidget_glyph_string): Lower view window
when creating it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-15 Po Lu <luangruo@yahoo.com>
Fix xwidget isearch for queries that look like format strings
* lisp/xwidget.el (xwidget-webkit-isearch--update): Give special
treatment to messages.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-15 Po Lu <luangruo@yahoo.com>
Fix documentation string
* src/xwidget.c (Vxwidget_list, Vxwidget_views_list): Fix
horrid doc string.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-15 Michael Albinus <michael.albinus@gmx.de>
Fix minor problems resulting from Tramp regression tests
@@ -92949,7 +95278,7 @@
(tramp--test-check-files): Use proper `no-dir' argument for
`dired-get-filename'.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-15 Yuuki Harano <masm+github@masm11.me>
Avoid handle terminal frames in pgtk_mouse_position.
@@ -92958,14 +95287,14 @@
* src/pgtkterm.c (pgtk_mouse_position): Return if it is not a pgtk frame.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-15 Jim Porter <jporterbugs@gmail.com>
Add another 'abbreviate-file-name' test
* test/lisp/files-tests.el
(files-tests-file-name-non-special-abbreviate-file-name): New test.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-15 Jim Porter <jporterbugs@gmail.com>
Support abbreviating home directory of Tramp filenames
@@ -92988,7 +95317,7 @@
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
New test.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-15 Yuuki Harano <masm+github@masm11.me>
Fix coding style
@@ -92996,7 +95325,7 @@
* src/pgtkterm.c (pgtk_focus_frame):
(button_event):
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2021-11-15 Jeff Walsh <fejfighter@gmail.com>
pgtk: Handle (child) frame focusing better
@@ -93012,7 +95341,7 @@
instead
(button_event): Implement focus calls to replace dead X calls
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-15 Stefan Kangas <stefan@marxist.se>
Fix hanging wdired test
@@ -93020,14 +95349,14 @@
test. Don't start the Emacs Server just to create a socket; just
create the socket manually.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-15 Lars Ingebrigtsen <larsi@gnus.org>
Fix outline-cycle-buffer issue in `C-h b' buffers
* lisp/outline.el (outline--fix-up-all-buttons): Fix issue when
called after collapsing a buffer (bug#51855).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-15 Lars Ingebrigtsen <larsi@gnus.org>
Allow mm-external-terminal-program to be a list of strings
@@ -93036,7 +95365,7 @@
* lisp/gnus/mm-decode.el (mm-external-terminal-program): Allow
being a list.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2021-11-15 Basil L. Contovounesios <contovob@tcd.ie>
Fix handling of changed prefix keys in tutorial
@@ -93045,26 +95374,26 @@
omission from the hard-coded list was mode-specific-command-prefix,
whose subcommands are often rebound (bug#40725).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
044dd1e210 * rcirc.el (rcirc-define-command): Fix interactive-spec ge...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-15 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
85ac0efe7c Fix semantic-symref-perform-search doc string
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-15 Po Lu <luangruo@yahoo.com>
Fix xwidget-webkit-back-forward-list
* src/xwidget.c (Fxwidget_webkit_back_forward_list): Use correct
list variable in loop.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-14 Po Lu <luangruo@yahoo.com>
Stop assuming xwidget views will only be displayed in TEXT_AREA
@@ -93076,7 +95405,7 @@
* src/xwidget.h (struct xwidget_view): Add glyph row area field.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2021-11-14 Ken Brown <kbrown@cornell.edu>
Prefer POSIX timers to timerfd timers
@@ -93084,18 +95413,18 @@
starting a timerfd timer. On Cygwin, return if the POSIX timer is
started successfully. (Bug#51734)
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-14 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el (tab-line-mode): Preserve existing value of tab-line-format
Keep the old value of tab-line-format when enabling tab-line-mode
and don't overwrite it with nil when disabling tab-line-mode (bug#51830).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-14 Stefan Monnier <monnier@iro.umontreal.ca>
* src/lread.c (read_escape): Fix handling of ?\C-<char> for chars 128-255
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-14 Eli Zaretskii <eliz@gnu.org>
Fix recent documentation updates
@@ -93103,14 +95432,14 @@
Add cross-reference and index entry.
(Sticky Properties): Add indexing.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-14 Yuuki Harano <masm+github@masm11.me>
Add WAYLAND_DISPLAY description to cmdargs.texi
* doc/emacs/cmdargs.texi (Misc Variables): Add WAYLAND_DISPLAY
description.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-14 Michael Albinus <michael.albinus@gmx.de>
Improve Tramp error handling
@@ -93120,31 +95449,31 @@
* lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
Improve error handling.
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2021-11-14 Jeff Walsh <fejfighter@gmail.com>
pgtk: Set correct face color for stretched glyphs
* src/pgtkterm.c (x_draw_stretch_glyph_string): s/foreground/background
(Bug#50579)
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2021-11-14 Jeff Walsh <fejfighter@gmail.com>
configure.ac (PGTK_LIBS): remove pgtk dl dependency (Bug#50494)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-14 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
5dbad52 gnus-summary-line-format doc string clarification
d4536ff Fix follow-scroll-down in a small buffer which starts slightl...
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-14 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
a56dd60 Improve style and comments in font-related sources
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-14 Yuuki Harano <masm+github@masm11.me>
Fix coding style
@@ -93188,7 +95517,7 @@
(draw_glyphs):
(note_mouse_highlight):
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-14 Po Lu <luangruo@yahoo.com>
Expose xwidget navigation history to Lisp code
@@ -93198,7 +95527,7 @@
function.
(syms_of_xwidget): Define new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-14 Po Lu <luangruo@yahoo.com>
Add `kill-xwidget'
@@ -93207,7 +95536,7 @@
(syms_of_xwidget): Define new subr.
(kill_buffer_xwidgets): Use `kill_xwidget' instead.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-14 Lars Ingebrigtsen <larsi@gnus.org>
Fix previous -responsible-p change
@@ -93216,21 +95545,21 @@
* lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Make the previous
change work with relative file names, too.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-13 Lars Ingebrigtsen <larsi@gnus.org>
Explain in the manual how to make `cursor-intangible' work
* doc/lispref/text.texi (Special Properties): Explain how to make
`cursor-intangible' work (bug#51095).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-13 Po Lu <luangruo@yahoo.com>
Fix crash in xwidget_end_redisplay
* src/xwidget.c (xwidget_end_redisplay): Always test if xv is
NULL.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix `C-h k' in gnus-article-mode
@@ -93238,7 +95567,7 @@
(gnus-article-describe-key-briefly): Fix `describe-key' calling
convention (bug#51796).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-13 Lars Ingebrigtsen <larsi@gnus.org>
Make all vc-*-responsible-p functions return a string
@@ -93249,7 +95578,7 @@
instead of t when we get a match (which is what
vc-backend-for-registration expects) (bug#51800).
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2021-11-13 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Fix customization group of python-forward-sexp-function
@@ -93258,28 +95587,28 @@
so that the option is sorted into the 'python' group rather than the
'python-flymake' group (bug#51807).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix Gnus gcc header tokenization
* lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc)
(gnus-inews-do-gcc): Fix tokenization of the gcc header.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-13 Lars Ingebrigtsen <larsi@gnus.org>
Adjust build-dep-zips.py download link
* admin/nt/dist-build/build-dep-zips.py (download_source): Adjust
the download link (bug#40628).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2021-11-13 Manuel Giraud <manuel@ledu-giraud.fr>
Find most specific backend for `vc-backend-for-registration'.
* lisp/vc/vc.el (vc-backend-for-registration): Count file name
components instead of the length of the file name string (bug#50572).
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-11-13 Stephen Gildea <stepheng+emacs@gildea.com>
MH-E threads code: use mh-scan variables correctly
@@ -93294,11 +95623,11 @@
* test/lisp/mh-e/mh-thread-tests.el: New unit tests for affected code.
* lisp/mh-e/mh-scan.el (mh-msg-num-width-to-column): Fix doc string typo.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-13 Michael Albinus <michael.albinus@gmx.de>
Revert accidential commit in icomplete.el
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-13 Michael Albinus <michael.albinus@gmx.de>
Remove Tramp's `dired-compress-file' handler, not needed anymore
@@ -93325,21 +95654,21 @@
* test/lisp/net/tramp-tests.el (tramp-test45-dired-compress-file)
(tramp-test45-dired-compress-dir): Adapt comment.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-13 Po Lu <luangruo@yahoo.com>
Fix scroll event test in handle_one_xevent
* src/xterm.c (handle_one_xevent): Test for scroll wheel button
correctly in xwidget code.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-13 Eli Zaretskii <eliz@gnu.org>
Fix font selection via :family on MS-Windows
* src/font.c (font_delete_unmatched) [HAVE_NTGUI]: Allow non-exact
matches of :weight when looking for a suitable font. (Bug#51768)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-11-13 Alan Mackenzie <acm@muc.de>
Correct patch from 2021-11-12 on src/fileio.c
@@ -93348,7 +95677,7 @@
This ensures that if w->mpoint is at the top of the middle region being
replaced, it gets adjusted and stays at the top after the reinsertion.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-13 Po Lu <luangruo@yahoo.com>
Don't emit SELECT_WINDOW_EVENT when an xwidget is scrolled
@@ -93356,7 +95685,7 @@
on button event if the button pressed actually represents the
scroll wheel.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-11-13 Alan Mackenzie <acm@muc.de>
C++ Mode: Fix incoorect background fontification of <
@@ -93382,7 +95711,7 @@
spurious condition on the `fontified' text property being nil before causing
c-force-redisplay to get called.
-2023-04-15 Stephen Leake <stephen_leake@stephe-leake.org>
+2021-11-13 Stephen Leake <stephen_leake@stephe-leake.org>
Fix issues; severity not set in textdocument/publishdiagnostics
@@ -93391,14 +95720,14 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/755
GitHub-reference: https://github.com/joaotavora/eglot/issues/401
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-13 Lars Ingebrigtsen <larsi@gnus.org>
Don't create links to undefined commands in help--describe-command
* lisp/help.el (help--describe-command): Don't create links to
commands that aren't defined.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-13 Yuuki Harano <masm+github@masm11.me>
Revert #if changes
@@ -93411,14 +95740,14 @@
(image_disable_image): Reverted.
(image_build_heuristic_mask): Reverted.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-13 Po Lu <luangruo@yahoo.com>
Use GTK native file choosers in xwidget callback
* src/xwidget.c (run_file_chooser_cb): Use GtkFileChooserNative
instead.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-11-13 Yuuki Harano <masm+github@masm11.me>
Revert atimer changes
@@ -93428,21 +95757,21 @@
(turn_on_atimers): Revert
(have_buggy_timerfd): Revert
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-13 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
42d4e24ff3 ; Fix typos
0d0125daae Improve documentation of 'decode-coding-region'
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-13 Po Lu <luangruo@yahoo.com>
Prevent NULL-pointer dereference on xwidget callback error
* src/xwidget.c (webkit_javascript_finished_cb): Check if
`error' is NULL before freeing it.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Fix file chooser hangs inside xwidget-webkit
@@ -93450,7 +95779,7 @@
a nested event loop instead of acting asynchronously.
(Fmake_xwidget): Attach file chooser signal.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Remove unused xwidget code in EmacsFixed GTK widget class
@@ -93463,21 +95792,21 @@
(emacs_fixed_gtk_widget_size_allocate)
(emacs_fixed_class_init) [HAVE_XWIDGETS]: Remove unused code.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Prevent xwidget webkit isearch messages from entering log buffer
* lisp/xwidget.el (xwidget-webkit-isearch--update): Prevent
logging when displaying search contents message.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2021-11-12 Ken Brown <kbrown@cornell.edu>
Don't start both timerfd and alarms on Cygwin
* src/atimer.c (set_alarm) [CYGWIN]: Don't start both timerfd and
alarms; this causes a slowdown. (Bug#51734)
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-11-12 Alan Mackenzie <acm@muc.de>
In insert_file_contents, always set windows' point markers.
@@ -93488,7 +95817,7 @@
prevents that window's point being moved a long way from its starting place
due to the removal of the central part of the buffer by insert_file_contents.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-12 Michael Albinus <michael.albinus@gmx.de>
Remove Emacs 25 compatibility from Tramp
@@ -93594,24 +95923,24 @@
(tramp-test45-dired-compress-dir): Use it.
(tramp-test44-asynchronous-requests): Use `seq-random-elt'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Fix typos in etc/PROBLEMS
* etc/PROBLEMS (Internationalization problems): Fix typos.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Document problem with fcitx and xwidgets
* etc/PROBLEMS (Internationalization problems): Document buggy fcitx
with xwidgets.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-12 Stefan Kangas <stefan@marxist.se>
* lisp/emacs-lisp/checkdoc.el (checkdoc-dired): Autoload.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Add support for input methods to xwidget-webkit-edit-mode
@@ -93622,7 +95951,7 @@
(xwidget-webkit-pass-command-event): Consult input method about
key events if input method is enabled.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2021-11-12 Noam Postavsky <npostavs@gmail.com>
Optimize admin/nt dependency computation
@@ -93633,28 +95962,28 @@
dependent packages.
(top-level): Don't call 'extract_deps' when given the '-l' option (bug#40628).
-2023-04-15 Rasmus <rasmus@gmx.us>
+2021-11-12 Rasmus <rasmus@gmx.us>
lisp/icomplete.el (icomplete-fido-backward-updir): Expand "~/"
* lisp/icomplete.el (icomplete-fido-backward-updir): Expand "~/"
(bug#43925).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-12 Lars Ingebrigtsen <larsi@gnus.org>
Delete .tar.gz temp file after tramp test
* test/lisp/net/tramp-tests.el ()
(tramp-test45-dired-compress-dir): Delete the temp file (bug#51690).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-12 Lars Ingebrigtsen <larsi@gnus.org>
Remove unused xlfd_ enums
* src/xfaces.c: Remove xlfd_weight, xlfd_swidth and xlfd_slant
enums. These seem to be unused in the Emacs sources.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Remove obsolete comment
@@ -93665,14 +95994,14 @@
* src/xwidget.c (kill_buffer_xwidgets): Remove outdated TODO.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-12 Lars Ingebrigtsen <larsi@gnus.org>
Allow choosing regular-weighted fonts when medium-weighted exist
* src/ftfont.c (ftfont_pattern_entity): Allow using both regular
and medium-weighted fonts.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-12 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -93680,13 +96009,13 @@
144ad77fda Fix Lisp Intro markup error
24b86cb4f7 Fix ACL errors with WebDAV volumes on MS-Windows
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Fix doc string for xwidget-webkit-load-html
* src/xwidget.c (Fxwidget_webkit_load_html): Fix doc string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-12 Po Lu <luangruo@yahoo.com>
Add input method support for xwidget webkit isearch
@@ -93698,7 +96027,7 @@
(xwidget-webkit-isearch-printing-char): Add support for Emacs
input methods. (bug#51781)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-11 Stefan Kangas <stefan@marxist.se>
image-dired: Quote function symbols as such
@@ -93707,21 +96036,21 @@
(image-dired-thumbnail-mode-map, image-dired-minor-mode-map):
Quote function symbols as such.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Move Info-goto-node-web to "G"
* lisp/info.el (Info-mode-map): Change the Info-goto-node-web
binding to "G" for symmetry with "Info-goto-node".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-11 Stefan Kangas <stefan@marxist.se>
Make image-dired-thumbnail-mode non-interactive
* lisp/image-dired.el (image-dired-thumbnail-mode): No longer
interactive, as it only makes sense in a specially prepared buffer.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-11 Stefan Kangas <stefan@marxist.se>
image-dired: Revamp slideshow functionality
@@ -93744,14 +96073,14 @@
to "S".
(image-dired-thumbnail-mode-menu): Add 'image-dired-slideshow-start'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-11 Stefan Kangas <stefan@marxist.se>
image-dired: Improve thumbnail mode menu
* lisp/image-dired.el (image-dired-thumbnail-mode-menu): Improve menu
with more logical ordering and better naming.
-2023-04-15 Bryan C. Mills <bcmills@google.com> (tiny change)
+2021-11-11 Bryan C. Mills <bcmills@google.com> (tiny change)
Make "emacs --script /dev/stdin work again when that's a pipe
@@ -93760,7 +96089,7 @@
* src/lread.c (safe_to_load_version): Check lseek errors
(Bug#48940).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Allow using /dev/stdin as a --script parameter again
@@ -93768,14 +96097,14 @@
(file-truename "/dev/stdin") => "/proc/227795/fd/pipe:[1381505]"
when using /dev/stdin as a --script parameter.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Fix potential NULL dereference in xwidget-webkit-uri
* src/xwidget.c (Fxwidget_webkit_uri): Don't assume
webkit_web_view_get_uri will always return a valid string.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Check for WebKit xwidgets inside all xwidget-webkit functions
@@ -93792,13 +96121,13 @@
(Fxwidget_webkit_load_html): Check that xwidget is a WebKit
widget.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix image-animate declaration
* lisp/net/shr.el (image-animate): Fix declaration.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Make gnus-article-stop-animations obsolete
@@ -93809,7 +96138,7 @@
(gnus-summary-exit-no-update, gnus-summary-show-article): Remove
callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Allow stopping animations automatically when the image disappears
@@ -93821,7 +96150,7 @@
* lisp/net/shr.el (shr-put-image): Stop animations if the image is
removed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Prevent crashes from Lisp code modifying xwidget-list
@@ -93839,7 +96168,7 @@
(syms_of_xwidget): Initialize internal xwidget lists.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Prevent crashes in xwidgets whose buffers have been killed
@@ -93872,14 +96201,14 @@
* src/xwidget.h (XWIDGET_LIVE_P, CHECK_LIVE_XWIDGET): New
macros.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-11 Eli Zaretskii <eliz@gnu.org>
Fix compilation on MS-Windows
* src/callproc.c (emacs_spawn) <fork_done>: Define the label only
if USABLE_POSIX_SPAWN is defined, to avoid a compiler warning.
-2023-04-15 Philipp Stephani <phst@google.com>
+2021-11-11 Philipp Stephani <phst@google.com>
Use posix_spawn if possible.
@@ -93898,7 +96227,7 @@
helper functions.
(emacs_spawn): Use posix_spawn if possible.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-11 Jim Porter <jporterbugs@gmail.com>
Improve performance of 'file-name-case-insensitive-p' for Tramp files
@@ -93924,7 +96253,7 @@
functions.
(tramp-connectable-p): Use 'tramp-ensure-dissected-file-name'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-11 Stefan Kangas <stefan@marxist.se>
erc: Don't announce broken functionality in /query docstring
@@ -93933,11 +96262,11 @@
broken right now" has been there since 2008, and it's not obvious to
me that we should ever re-add it.
-2023-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
+2021-11-11 Filipp Gunbin <fgunbin@fastmail.fm>
* lisp/subr.el (add-hook): Fix adding into hook--depth-alist (bug#51620).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-11 Eli Zaretskii <eliz@gnu.org>
Fix 8-color PuTTY -nw sessions broken by a recent commit
@@ -93949,14 +96278,14 @@
the capability is not a boolean one, so that's not to be used as a
valid support for 24-bit color. (Bug#44950)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix problem with non-absolute names
* lisp/files.el (file-name-split): Fix problem with non-absolute
names.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-11 Lars Ingebrigtsen <larsi@gnus.org>
Add a command to go the gnu.org version of the info page
@@ -93965,13 +96294,13 @@
Based on code from Drew Adams <drew.adams@oracle.com>.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-11 Michael Albinus <michael.albinus@gmx.de>
Merge from origin/emacs-28
6dae01ad6d Fix tramp-compat-file-name-concat (Bug#51754)
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Add URI as a valid spec for xwidget-webkit-buffer-name-format
@@ -93980,7 +96309,7 @@
(xwidget-webkit-callback): Add a format spec %U, which stands
for the current URI of the widget.
-2023-04-15 Feng Shu <tumashu@163.com>
+2021-11-11 Feng Shu <tumashu@163.com>
xwidget: Add xwidget-webkit-buffer-name-format.
@@ -93993,7 +96322,7 @@
* etc/NEWS: Note xwidget-webkit-buffer-name-format.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-11 Eli Zaretskii <eliz@gnu.org>
Fix files-tests on MS-Windows
@@ -94004,21 +96333,21 @@
(files-tests-revert-buffer-with-fine-grain): Disable locking
files.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Fix documentation in xwidget.el
* src/xwidget.el (xwidget-webkit-isearch-mode): Reword
documentation.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-11 Po Lu <luangruo@yahoo.com>
Switch to xwidget webkit buffer even if a session already exists
* lisp/xwidget.el (xwidget-webkit-goto-url): Make behavior
when there is an existing session consistent.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-11 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -94029,13 +96358,13 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Tim Ruffing <crypto@timruffing.de> (tiny change)
+2021-11-11 Tim Ruffing <crypto@timruffing.de> (tiny change)
Support Tc terminfo flag for 24-bit color support in terminal
* src/term.c (init_tty): Use the Tc flag (bug#44950).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-11 Gregory Heytings <gregory@heytings.org>
Options to automatically stop the Emacs server
@@ -94051,7 +96380,7 @@
(server-save-buffers-kill-terminal): Call the new auxiliary
function when necessary.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-11-11 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Set `minibuffer-completion-*` variables locally in more places
@@ -94065,7 +96394,7 @@
Follow-up to commit
2021-05-01 "* lisp/minibuffer.el (completing-read-default): Fix bug#45474"
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-10 Lars Ingebrigtsen <larsi@gnus.org>
Re-fix charset issues when yanking non-plain-text elements
@@ -94073,14 +96402,14 @@
'CLIPBOARD 'text/html) get decoded correctly (bug#31149), but still
avoid the logic on Windows.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-10 Lars Ingebrigtsen <larsi@gnus.org>
Don't save places in literally-visited files
* lisp/saveplace.el (save-places-to-alist): Don't save places in
literally-visited files (bug#51740).
-2023-04-15 John Cummings <john@rootabega.net>
+2021-11-10 John Cummings <john@rootabega.net>
Add tests for 'insert-directory'
@@ -94092,18 +96421,18 @@
the issue where free space was reported for the current directory instead of
the target of 'list-directory' (Bug#50630).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-10 Lars Ingebrigtsen <larsi@gnus.org>
Note that loaddefs.el is copied to ldefs-boot.el
* lisp/emacs-lisp/autoload.el (autoload-rubric): Add a comment to
the file noting what'll happen to it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-10 Lars Ingebrigtsen <larsi@gnus.org>
Re-generated to get autoloads additions in emoji.el
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Add `xwidget-webkit-load-html'
@@ -94112,13 +96441,13 @@
* src/xwidget.c (Fxwidget_webkit_load_html): New function.
(syms_of_xwidget): Define new subr.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-10 Juri Linkov <juri@linkov.net>
* etc/NEWS.28: Add changes omitted while merging from emacs-28 NEWS.
* etc/NEWS: Remove old news accidentally merged from emacs-28.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-10 Eli Zaretskii <eliz@gnu.org>
Fix font weights on MS-Windows
@@ -94126,18 +96455,18 @@
(w32_to_fc_weight): Adjust weight translations to match those in
font.c and gtkutil.c:xg_weight_to_symbol. (Bug#51704)
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-11-10 Robert Pluim <rpluim@gmail.com>
Improve 'ensure-empty-lines' docstring
* lisp/emacs-lisp/subr-x.el (ensure-empty-lines): Fix typo and improve
wording.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
* admin/update_autogen: Remove unused variables.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
Use "grep -E" instead of deprecated "egrep"
@@ -94145,7 +96474,7 @@
* test/lisp/so-long-tests/so-long-tests.el: Use "grep -E" instead of
deprecated "egrep".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
Avoid another byte-compiler warning in package-quickstart.el
@@ -94153,7 +96482,7 @@
byte-compiler warning "assignment to free variable" in
package-quickstart.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
Avoid spurious byte-compiler warnings in package-quickstart.el
@@ -94162,20 +96491,20 @@
warnings. Given that we wrap it all in a let-form, these are mostly
false positives and not helpful.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
* admin/automerge: Fix quoting of some variables.
* admin/automerge: Use mktemp if it exists.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Prevent GDK warning about missing event devices in most cases
* src/xwidget.c (synthesize_focus_in_event): Set event device to
selected frame's pointer if it's an X frame.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Add `xwidget-webkit-isearch-yank-kill'
@@ -94184,7 +96513,7 @@
(xwidget-webkit-isearch-mode): Update doc string.
(xwidget-webkit-yank-kill): New function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -94198,13 +96527,13 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-10 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
2782bc113e Revert "Fix localized display of date and time in the NS p...
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Prevent skipping results while changing search direction
@@ -94212,7 +96541,7 @@
(xwidget-webkit-isearch-backward): Avoid moving to the next result one
too many times.
-2023-04-15 Benj <Benjamin.Schwerdtner@gmail.com> (tiny change)
+2021-11-10 Benj <Benjamin.Schwerdtner@gmail.com> (tiny change)
Make the python missing-readline warning more helpful
@@ -94220,7 +96549,7 @@
(python-shell-completion-native-turn-on-maybe): Mention the "readline"
package (bug#48998).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-10 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-c C-c' in erts-mode work with Point-Char elems
@@ -94228,28 +96557,28 @@
Factor out into own function (bug#51680).
(erts-run-test): Respect Point-Char settings.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Remove obsolete limitation
* src/xwidget.c (Fxwidget_webkit_goto_history): Accept any fixnum as
REL-POS, to be consistent with docstring.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Fix incorrect offset calculation for clipped xwidget views
* src/xwidget.c (from_embedder, to_embedder): Remove incorrect
adjustment of position by view clipping.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Fix invisible content in WebKit dialogs
* src/xwidget.c (webkit_script_dialog_cb): Use custom label instead of
dialog box title to display message.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Set embedder correctly to fix menus appearing in the wrong location
@@ -94263,43 +96592,43 @@
* src/xwidget.h (struct xwidget): New fields `embedder' and
`embedder-view'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Revert "Fix mouse face in NS port"
This reverts commit 278e4fc9c6353068334dd39d45334b1df82a6cee.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Revert "*** empty log message ***"
This reverts commit 68a2a3307d1703ac8abe4b54c8e1ef9dda677c12.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Revert "Add support for event processing via XInput 2"
This reverts commit 346cfc81247e6bf8e727a27b42f44f2389bd1269.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Revert "Fix erasing cursor on top of raised boxes in NS port"
This reverts commit 2b5a2ab50b7817f84ae38f84b4ea36ea38cd5a3b.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Revert "Revert "Fix erasing cursor on top of raised boxes in NS port""
This reverts commit 7117bbc7aa905ae785fa564cb24c3fc75ef1d543.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-10 Po Lu <luangruo@yahoo.com>
Revert "Support opening the toolkit menu bar on NS"
This reverts commit ff9cf991c1608cd2578a66cba41e654a2b5d9144.
-2023-04-15 oldosfan <luangruo@yahoo.com>
+2021-11-10 oldosfan <luangruo@yahoo.com>
Support opening the toolkit menu bar on NS
@@ -94307,20 +96636,20 @@
* src/nsterm.m (ns_create_terminal): Add activate_menubar_hook.
* lisp/menu-bar.el (menu-bar-open): Use ns-menu-bar-open on Nextstep.
-2023-04-15 oldosfan <luangruo@yahoo.com>
+2021-11-10 oldosfan <luangruo@yahoo.com>
Revert "Fix erasing cursor on top of raised boxes in NS port"
This reverts commit 960f0eb9ab657af85c532574b937d8851049b178.
-2023-04-15 oldosfan <luangruo@yahoo.com>
+2021-11-10 oldosfan <luangruo@yahoo.com>
Fix erasing cursor on top of raised boxes in NS port
* src/nsterm.m (ns_draw_relief): Clear top and bottom line areas
first, if required.
-2023-04-15 oldosfan <luangruo@yahoo.com>
+2021-11-10 oldosfan <luangruo@yahoo.com>
Add support for event processing via XInput 2
@@ -94347,36 +96676,36 @@
(xg_is_menu_window): New function
(xg_event_is_for_scrollbar): Handle XIDeviceEvents
-2023-04-15 oldosfan <luangruo@yahoo.com>
+2021-11-10 oldosfan <luangruo@yahoo.com>
*** empty log message ***
-2023-04-15 oldosfan <luangruo@yahoo.com>
+2021-11-10 oldosfan <luangruo@yahoo.com>
Fix mouse face in NS port
* src/nsterm.m (ns_draw_glyph_string): Set s->face to the mouse face.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix package-tests failure on native-comp
* test/lisp/emacs-lisp/package-tests.el
(package-test-macro-compilation-gz): Fix test failure on native-comp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix the look of the <video> elements in shr
* lisp/net/shr.el (shr-tag-video): Tweak the look of the video element.
-2023-04-15 Lars Ingebrigtsen <larsi@emkay.local>
+2021-11-09 Lars Ingebrigtsen <larsi@emkay.local>
Try to fix intermittent build problem on Macos
* src/Makefile.in (@): Also sign the bootstrap-emacs executable
-2023-04-15 Tom Levy <tomlevy93@gmail.com> (tiny change)
+2021-11-09 Tom Levy <tomlevy93@gmail.com> (tiny change)
Remove spurious %S from 'define-error' messages
@@ -94386,21 +96715,21 @@
* lisp/emacs-lisp/gv.el (gv-invalid-place): Remove spurious %S from
error message (and rephrase) (bug#51718).
-2023-04-15 Tom Levy <tomlevy93@gmail.com> (tiny change)
+2021-11-09 Tom Levy <tomlevy93@gmail.com> (tiny change)
Allow 'undo-redo' to be called from Lisp without repeat count
* lisp/simple.el (undo-redo): Default arg to 1 to avoid error when
called from Lisp without args (bug#51718).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-09 Po Lu <luangruo@yahoo.com>
Prevent BadValue errors when creating tiny xwidget views
* src/xwidget.c (x_draw_glph_string): Avoid resizing xwidget views
to an invalid size (bug#51707).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Add new function 'file-name-split'
@@ -94409,7 +96738,7 @@
* lisp/emacs-lisp/shortdoc.el (file-name): Mention it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Make `dired-split' obsolete
@@ -94418,13 +96747,13 @@
* lisp/ffap.el (ffap-list-env): Adjust comment.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-09 Michael Albinus <michael.albinus@gmx.de>
* lisp/net/tramp-cache.el (tramp-persistency-file-name):
Skip superfluous `expand-file-name'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-09 Jim Porter <jporterbugs@gmail.com>
Improve performance when checking case-sensitivity of Tramp file names
@@ -94435,7 +96764,7 @@
* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
Use `tramp-connectable-p' to test for connection.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-09 Stefan Kangas <stefan@marxist.se>
Add back/forward mouse button bindings in eww
@@ -94443,41 +96772,41 @@
bindings. These bindings are the same as in Firefox and other
graphical browsers.
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-09 Juri Linkov <juri@linkov.net>
* lisp/progmodes/prog-mode.el (prog-context-menu): Add "Go Forward".
The menu item "Go Forward" is bound to xref-go-forward.
Also use "Go Back" for xref-go-back (bug#38797).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-09 Juri Linkov <juri@linkov.net>
* lisp/vc/diff-mode.el (diff-setup-buffer-type): Move to diff-setup-whitespace
* lisp/vc/vc.el: Add declare-function for diff-setup-buffer-type (bug#51016).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Expand the etc/NEWS section about the `medium' font changes
* etc/NEWS: Expand upon the addition of the `medium' weight
(bug#51704).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-09 Po Lu <luangruo@yahoo.com>
Fix compiler warning building net/shr.el without xwidget support
* lisp/net/shr.el (xwidget-webkit-execute-script): New function
declaration (bug#51705).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-09 Po Lu <luangruo@yahoo.com>
Fix default target of motion events
* src/xwidget.c (xwidget_motion_or_crossing): Default to widget_osr
instead of its window (bug#51703).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-09 Stefan Kangas <stefan@marxist.se>
Prefer locate-user-emacs-file
@@ -94490,7 +96819,7 @@
* lisp/shell.el (shell): Prefer 'locate-user-emacs-file' to fiddling
with 'user-emacs-directory' directly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-09 Po Lu <luangruo@yahoo.com>
Always set xwidget title if the event was "load-finished"
@@ -94498,21 +96827,21 @@
load completion. This prevents loading pages such as "about:blank"
from not setting the buffer name (bug#51702).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-09 Po Lu <luangruo@yahoo.com>
Make `kill_frame_xwidget_views' safe
* src/xwidget.c (kill_frame_xwidget_views): Check XWIDGET_VIEW_P
(bug#51701).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Don't create temporary files for <video>
* lisp/net/shr.el (shr-tag-audio): Don't create a temporary file;
just update the DOM directly.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-09 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
@@ -94522,7 +96851,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-09 Po Lu <luangruo@yahoo.com>
Make xwidget-tests pass again
@@ -94532,21 +96861,21 @@
(xwidget-webkit-new-session, xwidget-webkit-import-widget): Always use
existing buffer name (bug#51700).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in last shr change
* lisp/net/shr.el (shr-tag-video): Require xwidgets, because it's
used from callbacks.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Fix shr-tag-video startup issue
* lisp/net/shr.el (shr-tag-video): Require xwidgets, because it's
used from callbacks.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-09 Lars Ingebrigtsen <larsi@gnus.org>
Optionally use use xwidgets to display <video> elements in shr
@@ -94554,28 +96883,28 @@
* lisp/net/shr.el (shr-use-xwidgets-for-media): New user option.
(shr-tag-video): Use xwidgets to display <video> elements.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Make image-compute-scaling-factor argument optional
* lisp/image.el (image-compute-scaling-factor): Make the argument
optional.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
ARGUMENTS in Fmake_xwidget is optional
* src/xwidget.c (Fmake_xwidget): The ARGUMENTS argument isn't
mandatory.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Make xwidget-event-handler more resilient
* lisp/xwidget.el (xwidget-event-handler): Don't try to call the
callback if it hasn't been defined.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Delete temp directory after bytecomp test
@@ -94586,20 +96915,20 @@
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--dest-mountpoint): Ditto.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-08 Po Lu <luangruo@yahoo.com>
Fix flicker when setting hscroll of xwidget
* src/xterm.c (x_scroll_run): Use original height of xwidget instead
of window height and set cairo surface size (bug#51697).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-08 Po Lu <luangruo@yahoo.com>
Raise an error if creating an unknown xwidget type
* src/xwidget.c (Fmake_xwidget): Error if TYPE is invalid (bug#51682).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-08 Po Lu <luangruo@yahoo.com>
Really fix xwidget scroll optimization and clip
@@ -94607,7 +96936,7 @@
* src/xwidget.c (xv_do_draw): Use cairo_translate.
(xwidget_motion_or_crossing): Use correct fields (bug#51681).
-2023-04-15 Feng Shu <tumashu@163.com>
+2021-11-08 Feng Shu <tumashu@163.com>
xwidget.el: limit buffer-name flicker in mode-line
@@ -94618,7 +96947,7 @@
(xwidget-webkit-new-session, xwidget-webkit-import-widget): Use
current buffer to generate a temp xwidget-webkit buffer.
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2021-11-08 Matthias Meulien <orontee@gmail.com>
Fix local variables overwritten when diff-mode is set
@@ -94630,14 +96959,14 @@
(vc-diff-internal): Restore `diff-mode' being set before local
variables (bug#51016).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Allow yank-media-types to also show the unsupported data types
* lisp/yank-media.el (yank-media-types): Make the prefix include
data types not supported by the backend, too.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-11-08 Eric Abrahamsen <eric@ericabrahamsen.net>
Don't have nntp-report signal an error
@@ -94645,29 +96974,29 @@
possible like nnheader-report, which only logs the error and returns
nil.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/xdg.el (xdg--dir-home): Make it a function
-2023-04-15 Campbell Barton <ideasman42@gmail.com>
+2021-11-08 Campbell Barton <ideasman42@gmail.com>
* lisp/subr.el (with-undo-amalgamate): New macro
This allows commands to be made without adding undo-barriers, e.g.
kmacro-exec-ring-item.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-generic.el: Add reference to inspiration
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Switch yank-media--get-selection back to the backend function
* lisp/yank-media.el (yank-media--get-selection): Switch back to
gui-backend-get-selection until gui-get-selection is re-fixed.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Fix charset issues when yanking non-plain-text elements"
@@ -94676,17 +97005,17 @@
This apparently led to problems on Windows. The issues have to
be examined first before attempting a new fix.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-08 Stefan Kangas <stefan@marxist.se>
* admin/automerge: Die if changing directory fails.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-08 Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
fe91f4438c ; * etc/PROBLEMS: Move librsvg-related item to better loca...
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Remove code what would always maximize xwidgets on Macos
@@ -94695,7 +97024,7 @@
was probably added to work around a resizing bug that has since
been fixed.
-2023-04-15 akater <nuclearspace@gmail.com>
+2021-11-08 akater <nuclearspace@gmail.com>
lisp/emacs-lisp/lisp-mode.el: Fix parser state corruption.
@@ -94704,48 +97033,48 @@
* test/lisp/progmodes/elisp-mode-resources/flet.erts: Add corresponding
test example (bug#9622).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-08 Po Lu <luangruo@yahoo.com>
Fix resize of xwidgets on GTK
* src/xwidget.c (Fxwidget_resize): Queue widget for re-allocation
after setting its size request (bug#51679).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-08 Po Lu <luangruo@yahoo.com>
Fix hang when displaying xwidget script dialog
* src/xwidget.c (webkit_script_dialog_cb): New function.
(Fmake_xwidget): Attach script callback signal (bug#51674).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-08 Stefan Kangas <stefan@marxist.se>
image-dired: Set window-resize-pixelwise to t
* lisp/image-dired.el (image-dired-thumbnail-mode): Set
'window-resize-pixelwise' to t.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Mention yank-media-types in the manual
* doc/lispref/frames.texi (Yanking Media): Mention yank-media-types.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Make html-mode--html-yank-handler more resilient
* lisp/textmodes/sgml-mode.el (html-mode--html-yank-handler): The
HTML may not be valid, so suppress errors.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-08 Lars Ingebrigtsen <larsi@gnus.org>
Fix yank-media--get-selection thinko in previous change
* lisp/yank-media.el (yank-media--get-selection): Fix thinko after
previous change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Clean up the yank-media data massaging
@@ -94754,21 +97083,21 @@
(yank-media-types--format): ... here instead, and decode utf-16
better.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Add a new debugging/exploration command `yank-media-types'
* lisp/yank-media.el (yank-media-types): New command.
(yank-media-types--format): Helper command.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Fix charset issues when yanking non-plain-text elements
* lisp/select.el (gui-get-selection): Make (gui-get-selection
'CLIPBOARD 'text/html) get decoded correctly (bug#31149).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Rename 'register-yank-media-handler'
@@ -94779,7 +97108,7 @@
(yank-media-handler): Rename from `register-' because that may
cause confusion with register.el functions.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-07 Stefan Kangas <stefan@marxist.se>
Prefer ert-with-temp-(directory|file) in most remaining tests
@@ -94812,14 +97141,14 @@
* test/src/process-tests.el (process-test-quoted-batfile): Prefer
'ert-with-temp-(directory|file)' to using 'make-temp-file' directly.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-07 Po Lu <luangruo@yahoo.com>
Set clipping when dumping stretch glyphs in some cases
* src/nsterm.m (ns_draw_glyph_string): Always focus even when dumping
stretch glyphs in s->next (bug#51653).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Fix charset issues in text/html yanking
@@ -94828,14 +97157,14 @@
which guesses wrong on the charset on many types.
(yank-media): Fix the case where there's only one match.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Suppress a compilation warning about vc-switch-backend
* lisp/vc/vc-hooks.el (vc-prefix-map): Suppress a warning about an
obsolete command.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-11-07 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Improve undoing of RET in comint and eshell
@@ -94846,7 +97175,7 @@
insertion with 'C-/' will delete the region, moving the process mark
back to its original position (bug#49484).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Allow 'C-x n d' to work in texinfo-mode
@@ -94855,7 +97184,7 @@
node.
(texinfo--beginning-of-defun, texinfo--end-of-defun): New functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Make paragraph/filling functions in texinfo-mode work better
@@ -94866,14 +97195,14 @@
(texinfo--fill-paragraph): New filling function.
(texinfo-fillable-commands): New variable (bug#49558).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Make debugging ert--erts-specifications easier
* lisp/emacs-lisp/ert.el (ert--erts-specifications): Strip text
properties from specs to make debugging easier.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-11-07 Alan Mackenzie <acm@muc.de>
Merge from origin/emacs-28
@@ -94882,14 +97211,14 @@
8d9b55330d * doc/emacs/frames.texi (Tab Bars): Add text about mouse a...
d9b0b730e8 * doc/emacs/frames.texi (Tab Bars): Describe tab-last.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Match password prompts from new OpenSSH
* lisp/comint.el (comint-password-prompt-regexp): Add support for
the openssh-8.6p1 "(user@host) Password:" format (bug#51666).
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-07 Jim Porter <jporterbugs@gmail.com>
Fix intermittent electric test failures
@@ -94897,7 +97226,7 @@
(whitespace-chomping-dont-cross-comments): Move
'c-toggle-comment-style' to here.: (bug#51665).
-2023-04-15 Juri Linkov <juri@linkov.net>
+2021-11-07 Juri Linkov <juri@linkov.net>
Simplify c8acc5fd92ad9979fc5870623014290cad998337
@@ -94905,7 +97234,7 @@
no properties 'inhibit-isearch' in the search range,
instead of code of c8acc5fd92ad9979fc5870623014290cad998337.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-07 Michael Albinus <michael.albinus@gmx.de>
Merge from origin/emacs-28
@@ -94916,35 +97245,35 @@
6243a43ac2 Fix search string generation in nnimap-make-thread-query
f05b8a939b Update to Org 9.5-68-g77e2ec
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-x 8 e e' work better in the terminal
* lisp/international/emoji.el (emoji--adjust-displayable-1): Make
something rudimentary work on non-graphical Emacsen for `C-x 8 e e'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Make emoji-describe really describe only the glyph under point
* lisp/international/emoji.el (emoji-describe): Only look at the
compositions under point (bug#51659).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Don't inhibit compilation of emoji.elc
* lisp/international/emoji.el (emoji--generate-file): Further
obfuscate to not inhibit byte compilation.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-07 Eli Zaretskii <eliz@gnu.org>
'yank-media' is not universally supported
* doc/emacs/killing.texi (Clipboard):
* etc/NEWS: Say that 'yank-media' is not universally supported.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-07 Po Lu <luangruo@yahoo.com>
Free find text in correct procedure
@@ -94952,28 +97281,28 @@
text.
(Fxwidget_webkit_finish_search): Free find text here instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-07 Po Lu <luangruo@yahoo.com>
Fix C-r inside xwidget isearch
* lisp/xwidget.el (xwidget-webkit-isearch-backward): Ask for previous
result.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-07 Po Lu <luangruo@yahoo.com>
Fix xwidget-webkit-goto-history
* src/xwidget.c (xwidget-webkit-goto-history): Use
WebKitBackForwardList and XFIXNUM instead of XFIXNAT (bug#51651).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-07 Po Lu <luangruo@yahoo.com>
Handle WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION appropriately
* src/xwidget.c (webkit_decide_policy_cb): Send an xwidget display
event when a webpage asks to create a new window.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-07 Po Lu <luangruo@yahoo.com>
Document the xwidget type
@@ -94982,7 +97311,7 @@
menu.
(Xwidget Type): New node.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-07 Eli Zaretskii <eliz@gnu.org>
Improve detection of suspiciously reordered text segments
@@ -94998,7 +97327,7 @@
(xdisp-tests--find-directional-overrides-case-2): Adjust expected
result.
-2023-04-15 Cristian <crstml@libero.it> (tiny change)
+2021-11-07 Cristian <crstml@libero.it> (tiny change)
Another addition to latin-2 input methods
@@ -95006,7 +97335,7 @@
* lisp/leim/quail/latin-post.el ("latin-2-postfix"): Add variants
of "`t" and "t," for Romanian. (Bug#51638)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-07 Eli Zaretskii <eliz@gnu.org>
Fix documentation and coding style in recent xwidget commits
@@ -95027,41 +97356,41 @@
* etc/NEWS: Fix wording and punctuation.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-07 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/lispref/tips.texi (Coding Conventions): Mention GNU "path" convention
Suggested by Ihor Radchenko <yantar92@gmail.com>.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-07 Lars Ingebrigtsen <larsi@gnus.org>
Ensure that the x_show_hourglass is seen
* src/xterm.c (x_show_hourglass): Ensure that the hourglass is
seen (bug#51649).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Actually start the alarms in atimer
* src/atimer.c (set_alarm): Actually start both timerfd and
alarms (attempted in 4107549a).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix backspace in xwidget webkit isearch
* lisp/xwidget.el: Set backspace to
xwidget-webkit-isearch-erasing-char (bug#51647).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Remove too-agressive window refresh in the hourglass code
* src/xterm.c (x_show_hourglass): Don't force a spurious refresh
(bug#51649).
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix build on nextstep
@@ -95072,7 +97401,7 @@
conditional.
* src/print.c (print_vectorlike): Print correct pointer on macOS.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Improve xwidget isearch visuals
@@ -95082,13 +97411,13 @@
(xwidget-webkit-isearch-backward): Always refresh message.
(xwidget-webkit-isearch-mode): Update message when enabling.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix web inspector
* src/xwidget.c (Fmake_xwidget): Move developer extra initialization.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Default to creating new related sessions
@@ -95101,14 +97430,14 @@
* src/xwidget.c (Fmake_xwidget): Make RELATED argument public.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Rationalize creation decisions
* src/xwidget.c (webkit_create_cb): Only create a new widget if type
is OTHER.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Make "open in new window" from an xwidget's context menu work
@@ -95136,7 +97465,7 @@
signal.
(syms_of_xwidget): Define now subrs.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add xwidget-webkit-isearch to the menu bar and tool bar
@@ -95146,7 +97475,7 @@
(xwidget-webkit-isearch-mode-map): Reorder key definitions so the
equivalent key shows up as `C-s' in the menu bar.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add xwidget-webkit-isearch-mode
@@ -95164,7 +97493,7 @@
(xwidget-webkit-isearch-mode-map): New keymap.
(xwidget-webkit-isearch-mode): New minor mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add functions for performing searches on xwidgets
@@ -95180,21 +97509,21 @@
(kill_buffer_xwidgets): Free search query if present.
* src/xwidget.h (struct xwidget): Add field for search query.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Make it safe to have non-xwidget views in xwidget-view-list
* src/xwidget.c (define_cursors, offscreen_damage_event): Check
XWIDGET_VIEW_P before XXWIDGET_VIEW.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Make xwidgets print nicer
* src/print.c (print_vectorlike): Print xwidgets with ID and widget
pointer, and print xwidget views separately.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix cursor for new widget views
@@ -95205,7 +97534,7 @@
* src/xwidget.h (struct xwidget): Add hit result field.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add support for cursors in xwidget views
@@ -95217,7 +97546,7 @@
* src/xwidget.h (struct xwidget_view): Add cursor field.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Display page titles in xwidget webkit header line
@@ -95225,7 +97554,7 @@
(xwidget-webkit-callback, xwidget-webkit-mode): Set header line format
and associated variables.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Improve detail of load-changed xwidget events
@@ -95234,7 +97563,7 @@
* doc/lispref/commands.texi: Document Xwidget events.
* doc/lispref/display.texi (Xwidgets): Add reference to Xwidget events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Make the WebKit inspector available
@@ -95249,14 +97578,14 @@
(xwidget_button_1, xwidget_button, xwidget_motion_or_crossing):
Use window at event position instead of the default widget.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add xwidget-webkit-copy-selection-as-kill to the menu bar
* lisp/xwidget.el: New menu item
`xwidget-webkit-copy-selection-as-kill'.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add new tool-bar items to xwidget-webkit
@@ -95266,33 +97595,33 @@
* lisp/xwidget.el (xwidget-webkit-tool-bar-map): New keymap variable.
(xwidget-webkit-mode): Set tool-bar-map to the appropriate map.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add a menu to xwidget-webkit
* lisp/xwidget.el: Add a menu to xwidget-webkit-mode-map.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Redisplay xwidget view windows instead of just setting their size
* src/xwidget.c (Fxwidget_resize): Mark windows as needing redisplay
and redisplay instead.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Select window when clicking on an xwidget view
* src/xterm.c (handle_one_xevent): Select window when clicking on an
xwidget view.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix xwidget scrolling
* src/xterm.c (x_scroll_run): Use from_y and height.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Allow enabling xwidget-webkit-edit-mode via a binding
@@ -95300,7 +97629,7 @@
* lisp/xwidget.el (xwidget-webkit-mode-map): Add shortcut for
xwidget-webkit-edit-mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Add xwidget-webkit-edit-mode to make using the WebKit browser easier
@@ -95311,20 +97640,20 @@
declaration.
* lisp/xwidget.el (xwidget-webkit-edit-mode): New minor mode.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix special events in xwidgets
* src/xwidget.c (set_widget_if_text_view): New function.
(Fxwidget_perform_lispy_event): Fix for webkit widgets.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Fix drag on xwidget motion events
* src/xwidget.c (xwidget_motion_or_crossing): Set state.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Handle crossing events on xwidget windows correctly
@@ -95335,13 +97664,13 @@
(x_draw_xwidget_glyph_string): Add EnterWindowMask and
LeaveWindowMask.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Draw offscreen surface
* src/xwidget.c (xv_do_draw): Draw offscreen surface.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Implement function for sending events to widgets
@@ -95355,21 +97684,21 @@
(find_suitable_keyboard): New functions.
(syms_of_xwidget): Define new subr.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Use gtk_widget_queue_draw instead of xv_do_draw
* src/xwidget.c (x_draw_xwidget_glyph_string): Call
gtk_widget_queue_draw.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Prefer XMoveResizeWindow to XMoveWindow for resizing xwidgets
* src/xwidget.c (x_draw_xwidget_glyph_string): Prefer
XMoveResizeWindow to avoid extra expose events.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Allow xwidgets to accept motion and button events
@@ -95386,7 +97715,7 @@
* src/xwidget.h (xwidget_button, xwidget_motion_or_crossing): New
functions.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Destroy xwidgets when destroying frames
@@ -95400,7 +97729,7 @@
(kill_frame_xwidget_views): New function.
* src/xwidget.c (kill_frame_xwidget_views): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Enable scrolling optimization for xwidgets
@@ -95421,7 +97750,7 @@
* src/xwidget.h (struct xwidget): Add ID field.
(xwidget_from_id): New function.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Use an X window to display xwidgets on X11
@@ -95460,21 +97789,21 @@
(xwidget_view_from_window, xwidget_expose): New functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix pp-emacs-lisp-code for `when' and related
* lisp/emacs-lisp/pp.el (pp--format-definition): Skip edebug specs
we don't understand at all.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix html-mode--image-yank-handler prompting
* lisp/textmodes/sgml-mode.el (html-mode--image-yank-handler): Fix
two format statements and rearrange images.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
Ensure return value of ert-with-temp-directory
@@ -95483,7 +97812,7 @@
* test/lisp/emacs-lisp/ert-x-tests.el
(ert-x-tests-with-temp-directory): Extend test for the above.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
Prefer ert-with-temp-(directory|file)
@@ -95552,7 +97881,7 @@
In some cases, this is just cleanup, but in several cases this fixes
bugs where an error would have lead to us not cleaning up.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
Add generated suffix to test temp file names
@@ -95563,7 +97892,7 @@
* test/lisp/emacs-lisp/ert-x-tests.el
(ert-x-tests--with-temp-file-generate-suffix): New test.
-2023-04-15 dickmao <none>
+2021-11-06 dickmao <none>
Fix byte compilation of package built-ins
@@ -95584,7 +97913,7 @@
(package-test-macro-compilation): Test.
(package-test-macro-compilation-gz): Test (bug#49708).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option eww-url-transformers
@@ -95595,20 +97924,20 @@
(eww-follow-link): Use it.
(eww): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Expand register-yank-media-handler doc string
* lisp/yank-media.el (register-yank-media-handler): Expand doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix yank-media logic when there's several handlers
* lisp/yank-media.el (yank-media): Fix logic when there's several
different handler functions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Allow yanking images to html-mode
@@ -95617,13 +97946,13 @@
function.
(html-mode): Accept image/*.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix "Yanking Media" sectioning
* doc/lispref/frames.texi (Yanking Media): Fix sectioning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Support yank-media in html-mode
@@ -95631,21 +97960,21 @@
function.
(html-mode): Handle text/html.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous yank-media--get-selection change
* lisp/yank-media.el (yank-media--get-selection): Fix typo in
previous change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix nul-terminated text/* strings from some programs
* lisp/yank-media.el (yank-media--get-selection): Some programs
nul-terminate text/* strings. Fix that.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Make the lambda/closure buttons in `C-h b' say what they do
@@ -95654,13 +97983,13 @@
* lisp/help.el (help--describe-command): Say what the
lambda/closure buttons do.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add mouse-face to buttonize
* lisp/button.el (buttonize): Add the highlight mouse-face.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add a framework for yanking media into Emacs
@@ -95674,21 +98003,21 @@
(message-insert-screenshot): Factor out image code from here...
(message--yank-media-image-handler): ... to here.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add new function mailcap-mime-type-to-extension
* lisp/net/mailcap.el (mailcap-mime-type-to-extension): Add a new
helper function to do the reverse of `mailcap-file-name-to-mime-type'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add a pcase-let example to the manual
* doc/lispref/control.texi (Destructuring with pcase Patterns):
Add a pcase-let example.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
New user option image-auto-resize-max-scale-percent
@@ -95697,7 +98026,7 @@
(image--scale-within-limits-p): New function.
(image-toggle-display-image): Respect above new user option.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
New command image-transform-fit-to-window
@@ -95716,14 +98045,14 @@
* doc/emacs/files.texi (Image Mode): Update documentation.
(image-transform-fit-both): Doc fix.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add outline-minor-mode-use-buttons doc string caveat
* lisp/outline.el (outline-minor-mode-use-buttons): Note that the
feature is for special mode buffers only (bug#51629).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Make `outline-hide-body' work in `C-h b' buffers
@@ -95732,14 +98061,14 @@
(outline--fix-up-all-buttons): Take a region as parameter.
(outline-cycle-buffer): Adjust call.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
Make substitute-command-keys regexp tests more strict
* test/lisp/help-tests.el (with-substitute-command-keys-test): Make
regexp tests more strict.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
Replace some macros with ert-with-temp-(file|directory)
@@ -95753,7 +98082,7 @@
* test/src/process-tests.el (process-tests--with-temp-directory):
Replace macros with 'ert-with-temp-(file|directory)'. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-06 Stefan Kangas <stefan@marxist.se>
New convenience macros ert-with-temp-(file|directory)
@@ -95769,7 +98098,7 @@
(ert-x-tests-with-temp-file/text-kwarg)
(ert-x-tests-with-temp-file/unknown-kwargs-signals-error): New tests.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2021-11-06 F. Jason Park <jp@neverwas.me>
Don't send empty lines for unknown commands in ERC
@@ -95779,7 +98108,7 @@
* test/lisp/erc/erc-tests.el: Update `erc-process-input-line' test to
check for excess line feeds with unknown commands.
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2021-11-06 F. Jason Park <jp@neverwas.me>
Deprecate instead of redefine erc-server-reconnecting
@@ -95801,7 +98130,7 @@
* lisp/erc/erc.el (erc-cmd-RECONNECT): use `erc--server-reconnecting'
instead of `erc-server-reconnecting'.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Fix Emoji-related documentation
@@ -95813,44 +98142,44 @@
* admin/notes/unicode: Update instructions for updating Emacs for
the latest Unicode Standard.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Include make Errors in admin/emake
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add an example to the display-supports-face-attributes-p doc string
* src/xfaces.c (Fdisplay_supports_face_attributes_p): Add an example.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Partially revert previous make-separator-line change
* lisp/simple.el (make-separator-line): Use dashes on displays
that don't support underlines (bug#32950).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Fix the build broken by recent commits
* admin/unidata/Makefile.in (${unifiles})
(${unidir}/emoji-labels.el): Fix typos in last commits.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix up emoji-labels.el generation incantation
* admin/unidata/Makefile.in (${unidir}/emoji-labels.el): Make
generation more silent.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Make describe-char include emoji combination descriptions
* lisp/descr-text.el (describe-char): Output emoji descriptions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Add emoji insertion support to Emacs
@@ -95871,7 +98200,7 @@
* lisp/international/mule-cmds.el (ctl-x-map): Bind the emoji
commands.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Improve latin-2-postfix and latin-2prefix input methods
@@ -95880,7 +98209,7 @@
of "`s" and "s," for Romanian. Add key bindings for moving
between variants, when there are more than one. (Bug#51638)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Fix an error in 'highlight-confusing-reorderings'
@@ -95888,7 +98217,7 @@
(highlight-confusing-reorderings): Don't signal an error when
a confusingly-reordered sequence ends at EOB.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-06 Michael Albinus <michael.albinus@gmx.de>
Merge from origin/emacs-28
@@ -95900,7 +98229,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
General improvements to NS port
@@ -95931,7 +98260,7 @@
* src/xdisp.c (note_tab_bar_highlight): Enable some code for NS port.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-11-06 Po Lu <luangruo@yahoo.com>
Improve font display on NS port
@@ -96007,7 +98336,7 @@
(macfont_draw): Remove obsolete mouse-face code and enable cursor
display.
-2023-04-15 Kazuhiro Ito <kzhr@d1.dion.ne.jp>
+2021-11-06 Kazuhiro Ito <kzhr@d1.dion.ne.jp>
Fix display of BW images on MS-Windows
@@ -96015,7 +98344,7 @@
fore- and the back-ground colors back to their normal conventions.
(Bug#6918)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Improve detection of suspicious reordering in source code
@@ -96027,7 +98356,7 @@
'xdisp-tests--find-directional-overrides'.
(xdisp-tests--find-directional-overrides-case-2): New test.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -96036,31 +98365,31 @@
c2e3cd6 Clarify "text area of a window" in the documentation
4e7e78d Improve docstring of kmacro-set-format
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
# Conflicts:
# etc/NEWS
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-06 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
b5ccad3 * doc/emacs/building.texi (Compilation Mode): Add next-error-...
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Inhibit isearching over message-insert-screenshot data
* lisp/gnus/message.el (message-insert-screenshot): Inhibit
isearch over the image data.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Update help-tests after separator line changes
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-06 Lars Ingebrigtsen <larsi@gnus.org>
Allow 'insert-image' to inhibit isearches or not
@@ -96068,7 +98397,7 @@
* lisp/image.el (insert-image): Take an optional parameter to
inhibit isearch of the STRING argument.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Introduce a new 'inhibit-isearch' text property
@@ -96080,28 +98409,28 @@
(isearch--invisible-p): New function.
(isearch-range-invisible): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Re-rename the minibuffer heading
* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Correct minibuffer.el heading
* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Use underline on non-graphical terminals in make-separator-line
* lisp/simple.el (separator-line):
(make-separator-line): Use an underline on terminals (bug#32950).
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2021-11-05 F. Jason Park <jp@neverwas.me>
Normalize usage of variable erc-server-reconnecting
@@ -96113,7 +98442,7 @@
remain. Previously, its use and meaning in erc-backend were convoluted
and conflicted with its use in erc-cmd-RECONNECT (bug#50007).
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2021-11-05 F. Jason Park <jp@neverwas.me>
Don't send empty lines for implicit targets in ERC
@@ -96129,7 +98458,7 @@
indirectly tests erc-send-input-line. It also tests the command
lookup and dispatch facility (bug#50008).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Remove messaging in pp-display-expression.
@@ -96137,14 +98466,14 @@
message -- we don't usually say that we've popped up a new buffer when
we do so.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Allow getting verbose results on erts 'C-u C-c C-c'
* lisp/progmodes/erts-mode.el (erts-run-test): Allow getting a
diff buffer of the differences with `C-u C-c C-c'.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-11-05 Jim Porter <jporterbugs@gmail.com>
Improve behavior of 'electric-pair-mode' in 'cc-mode'
@@ -96157,7 +98486,7 @@
insertion of quote pairs immediately before another quote, and allows
inserting quote pairs within a string (thus splitting the string in two).
-2023-04-15 Manuel Giraud <manuel@ledu-giraud.fr>
+2021-11-05 Manuel Giraud <manuel@ledu-giraud.fr>
Make 'C-x v v' on an unregistered file use the most specific backend
@@ -96166,28 +98495,28 @@
* lisp/vc/vc.el (vc-backend-for-registration): Choose the most
specific backend (bug#50572).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Tweak `eww' new-buffer parameters
* lisp/net/eww.el (eww): Don't require that the function be called
with 4 to open a new buffer (bug#51613).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2021-11-05 Daniel Martín <mardani29@yahoo.es>
Fix GNUstep build (ns_compute_glyph_string_overhangs)
* src/nsterm.m (ns_compute_glyph_string_overhangs): Declare the font
variable so that it's in scope for the GNUstep code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-05 Stefan Kangas <stefan@marxist.se>
Add "N.B." abbreviation to checkdoc
* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add
abbreviation "N.B.".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-05 Stefan Kangas <stefan@marxist.se>
Don't hardcode "Commentary" section in checkdoc
@@ -96197,14 +98526,14 @@
variable instead of hardcoding what is inserted for the
"Commentary" section.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-05 Eli Zaretskii <eliz@gnu.org>
Use correct compiler options for building with libwebp
* src/Makefile.in (WEBP_CFLAGS): Define.
(EMACS_CFLAGS): Use it. (Bug#51611)
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-05 Michael Albinus <michael.albinus@gmx.de>
Improve `file-has-changed-p'
@@ -96214,7 +98543,7 @@
* lisp/files.el (file-has-changed-p): Suppress remote file caches.
Handle the case FILE does not exists.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-11-05 Paul Eggert <eggert@cs.ucla.edu>
rsvg_handle_get_dimensions is deprecated in 2.52.0
@@ -96231,7 +98560,7 @@
(svg_load_image): Use rsvg_handle_get_dimensions only if librsvg <
2.46.0, since it isn’t needed if >= 2.46.0.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-05 Lars Ingebrigtsen <larsi@gnus.org>
Allow 'pp' to limit the line widths
@@ -96241,7 +98570,7 @@
(pp--insert-lisp): Tweak whether to use standard-output or not.
(pp--max-width): New function.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-05 Eli Zaretskii <eliz@gnu.org>
Enhance 'highlight-confusing-reorderings'
@@ -96252,7 +98581,7 @@
the text was highlighted. Allow to remove the highlighting by
invoking the command with a prefix argument.
-2023-04-15 Carlos Pita <carlosjosepita@gmail.com>
+2021-11-05 Carlos Pita <carlosjosepita@gmail.com>
Match dummy output even with non-default rl config
@@ -96260,14 +98589,14 @@
(python-shell-completion-native-get-completions): Match dummy output
even when readline is configured in non-default ways. (Bug#51010)
-2023-04-15 Tino Calancha <tino.calancha@gmail.com>
+2021-11-04 Tino Calancha <tino.calancha@gmail.com>
Fix (un)compressing directories in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-dired-compress-file):
Check whether the file is a directory (bug#50581).
-2023-04-15 Matthias Meulien <orontee@gmail.com>
+2021-11-04 Matthias Meulien <orontee@gmail.com>
Fix 'diff-font-lock-prettify' breaking display of outline headers
@@ -96279,7 +98608,7 @@
* lisp/vc/vc.el (vc-diff-internal): Fix diff mode being set before
content inserted (bug#51016).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2021-11-04 Daniel Martín <mardani29@yahoo.es>
Fix buffer overflow in ns_compute_glyph_string_overhangs
@@ -96292,7 +98621,7 @@
it the entire glyph string; for composite glyphs, call
`composition_gstring_width'. (Bug#51105)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-04 Stefan Kangas <stefan@marxist.se>
image-dired: Delete commented out code
@@ -96300,7 +98629,7 @@
it is not clear what, if anything, it is supposed to do. If anyone
wants to work on this, they are better off starting from scratch.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-04 Stefan Kangas <stefan@marxist.se>
image-dired: New defgroup and section for gallery support
@@ -96322,7 +98651,7 @@
Make the old names obsolete function aliases.
(image-dired-add-to-tag-file-list): Make unused function obsolete.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-04 Gregory Heytings <gregory@heytings.org>
New emacsclient option to either create or reuse an existing frame.
@@ -96337,34 +98666,34 @@
(print_help_and_exit): Document the new option.
(main): Use the new option.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Try harder to keep lines short in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--insert): Try harder to keep lines short.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Tweak multi-line expressions in pp--format-function
* lisp/emacs-lisp/pp.el (pp--format-function): Fix up multi-line
expressions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix up some list folding in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--insert-lisp, pp--format-list)
(pp--insert): Touch up list folding.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Indent lambdas/closures better
* lisp/emacs-lisp/pp.el (pp--format-function): Indent lambdas and
closures better.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Make lambda/closure help buttons format as Emacs Lisp
@@ -96374,7 +98703,7 @@
* lisp/emacs-lisp/pp.el (pp-display-expression): Allow formatting
as Emacs Lisp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Add new basic Emacs Lisp code formatting function
@@ -96384,14 +98713,14 @@
(pp--format-function, pp--format-definition, pp--insert-binding)
(pp--insert, pp--indent-buffer): New helper functions.
-2023-04-15 Stephen Berman <stephen.berman@gmx.net>
+2021-11-04 Stephen Berman <stephen.berman@gmx.net>
Fix allout point movement problem
* lisp/allout.el (allout-next-visible-heading): Ensure that we
move to the next physical line (bug#51530).
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-04 Eli Zaretskii <eliz@gnu.org>
Better detection of potentially malicious bidi text
@@ -96415,48 +98744,48 @@
* etc/tutorials/TUTORIAL.he: Fix embeddings with incorrect
directions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
font-lock-type-face doc string improvement
* lisp/font-lock.el (font-lock-type-face): Fix grammar in doc
string (bug#51574).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Improve defface error message
* lisp/cus-face.el (custom-declare-face): Improve the error
message when there's a missing doc string (bug#51576).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Don't have `M-x term' call `term-mode' twice
* lisp/term.el (term): Don't call `term-mode' twice (bug#51589).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Document that `unspecified' isn't valid in defface
* doc/lispref/display.texi (Face Attributes): Mention that
unspecified isn't valid in defface (bug#51595).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-04 Gregory Heytings <gregory@heytings.org>
Reset mailcap entries only when mailcap files are read again
* lisp/net/mailcap.el (mailcap-parse-mailcaps): Move the clear and
load defaults operations at their appropriate place. Fixes bug#51600.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix return value of python-nav-end-of-defun
* lisp/progmodes/python.el (python-nav-end-of-defun): Return
non-nil if in a def/class, as the doc string implies (bug#51601).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Rename button-buttonize to buttonize
@@ -96466,7 +98795,7 @@
* doc/lispref/display.texi (Making Buttons): Rename
button-buttonize to just buttonize and adjust callers.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-04 Mattias Engdegård <mattiase@acm.org>
Revert "* lisp/progmodes/xref.el (xref-pop-marker-stack): Don't obsolete."
@@ -96477,7 +98806,7 @@
[1] https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01870.html
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Add a Gnus command to emojize symbols
@@ -96487,21 +98816,21 @@
(gnus-treatment-function-alist): Map.
(article-emojize-symbols): New command and keystroke.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-04 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option mml-attach-file-at-the-end
* lisp/gnus/mml.el (mml-attach-file-at-the-end): New user option.
(mml-attach-file): Use it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-04 Stefan Kangas <stefan@marxist.se>
image-dired: Set default-directory in thumbnail buffer
* lisp/image-dired.el (image-dired-show-all-from-dir): Set
default-directory. This fixes e.g. 'dired-jump'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
Make image-dired-display-image-mode inherit from image-mode
@@ -96534,7 +98863,7 @@
* doc/emacs/dired.texi (Image-Dired): Update documentation for the
above change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
Improve theming of image-dired-thumb-mark
@@ -96546,7 +98875,7 @@
* etc/themes/whiteboard-theme.el (whiteboard): Add definitions for
the 'image-dired-thumb-flagged' face.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Add face for flagged files
@@ -96560,14 +98889,14 @@
(image-dired-thumb-mark): Improve definition with color classes.
(image-dired-thumb-visible-marks): Doc fix.
-2023-04-15 Philipp Stephani <phst@google.com>
+2021-11-03 Philipp Stephani <phst@google.com>
Fix declaration syntax of 'image-dired--on-file-in-dired-buffer'.
* lisp/image-dired.el (image-dired--on-file-in-dired-buffer): Fix
declaration syntax.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-03 Eli Zaretskii <eliz@gnu.org>
Fix encoding issues in gitmerge.el, make it work on MS-Windows
@@ -96582,7 +98911,7 @@
temporary file.
(gitmerge): Clarify the description of the "R" flag.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-03 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -96594,14 +98923,14 @@
6ab6b2f Clarify build directory structure
9d61620 * src/pdumper.c (dump_do_dump_relocation): Add sanity check.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-03 Eli Zaretskii <eliz@gnu.org>
Fix widgets in Outline mode on TTY frames
* lisp/outline.el (outline--valid-emoji-p): Don't try to probe
support for display of Emoji characters on TTY frames. (Bug#51578)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-03 Eli Zaretskii <eliz@gnu.org>
A better fix for bug#51583
@@ -96611,7 +98940,7 @@
(globals_of_w32fns): Do attempt to load dwmapi.dll and uxtheme.dll
in the Cygwin w32 build.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-03 Eli Zaretskii <eliz@gnu.org>
Fix the Cygwin w32 build broken by adding the dark theme support
@@ -96620,7 +98949,7 @@
(globals_of_w32fns): Don't attempt to load dwmapi.dll and
uxtheme.dll in the Cygwin w32 build. (Bug#51583)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
Improve theming of image-dired-thumb-mark
@@ -96632,11 +98961,11 @@
* etc/themes/whiteboard-theme.el (whiteboard): Add definitions for
the 'image-dired-thumb-mark' face.
-2023-04-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2021-11-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* src/image.c: Fix building with giflib 4.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Improve marking behavior
@@ -96648,7 +98977,7 @@
(image-dired-thumbnail-mode-map): Bind 'image-dired-unmark-all-marks'
to "U".
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Cleanup of four commands
@@ -96662,7 +98991,7 @@
(image-dired-modify-mark-on-thumb-original-file): Make obsolete in
favor of above new macro.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Support wrap-around in display-next-thumbnail-original
@@ -96676,7 +99005,7 @@
reaching the last image, continue from the first one. Add optional
prefix argument to move more than one image at a time.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Improve menus
@@ -96686,14 +99015,14 @@
Make toggle entries into checkboxes. Add separators. Remove
obsoleted commands accidentally added back in merge.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Signal error if file is missing on display
* lisp/image-dired.el (image-dired-display-image): Signal error if
file is missing.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-03 Stefan Kangas <stefan@marxist.se>
image-dired: Move menu definitions to top level
@@ -96705,24 +99034,24 @@
(image-dired-minor-mode-menu): ...to these new top level
definitions.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-02 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/epg.el (epg-key): Use explicit copier with proper prefix
(epg--filter-revoked-keys): Adjust sole use.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-02 Stefan Kangas <stefan@marxist.se>
* etc/PROBLEMS: Move some entries to the legacy section.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-02 Stefan Kangas <stefan@marxist.se>
Remove info for Emacs 20 users from etc/PROBLEMS
* etc/PROBLEMS: Remove information for users upgrading from Emacs
20 or older.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-11-02 Mattias Engdegård <mattiase@acm.org>
Optimise (cond) => nil at source level
@@ -96732,7 +99061,7 @@
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test cases.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-02 Stefan Kangas <stefan@marxist.se>
Use current face foreground for SVG icons in customize
@@ -96742,13 +99071,13 @@
* etc/images/up.svg: Don't define foreground; this means they will use
the foreground of the currently defined face instead. (Bug#51556)
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-02 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
bc58bea * lisp/progmodes/prog-mode.el (prog-context-menu): Use text-m...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-11-02 Stefan Kangas <stefan@marxist.se>
Support inserting images in tabulated-list-mode columns
@@ -96758,14 +99087,14 @@
* doc/lispref/modes.texi (Tabulated List Mode): Update documentation
to reflect above change.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-02 Lars Ingebrigtsen <larsi@gnus.org>
Revert overlay-related changes in `C-h b'
* lisp/help.el (describe-bindings): Revert overlay-related changes
-- these are already output (normally) by `describe-buffer-bindings'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-02 Lars Ingebrigtsen <larsi@gnus.org>
Make lambdas/closures/byte code in `C-h b' clickable
@@ -96774,7 +99103,7 @@
* lisp/emacs-lisp/pp.el (pp-display-expression): Autoload.
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-02 Gregory Heytings <gregory@heytings.org>
Improve file-has-changed-p
@@ -96783,7 +99112,7 @@
* lisp/net/mailcap.el: Add a second argument to the call to
file-has-changed-p (bug#51523).
-2023-04-15 dickmao <dick.r.chiang@gmail.com>
+2021-11-02 dickmao <dick.r.chiang@gmail.com>
Update keymap-tests after recent changes
@@ -96793,25 +99122,25 @@
(help--describe-vector/bug-9293-same-command-does-not-shadow): Update
(bug#51567).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-11-02 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/outline.el: Fix compilation of `outline--make-button`
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix mouse-1 on `C-h b' buttons
* lisp/outline.el (outline--make-button-overlay): Make mouse-1
work on the buttons.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-h b' also describe overlay keymaps
* lisp/help.el (describe-bindings): Also describe overlay key
bindings.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Add a better test for emojis
@@ -96819,7 +99148,7 @@
(outline--valid-emoji-p): New predicates.
(outline--make-button, outline-minor-mode-buttons): Use them.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-h b' indentation more regular (and avoid continuation lines)
@@ -96829,7 +99158,7 @@
per-block basis.
(describe-map--fill-columns): Helper function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix rendering of key translations
@@ -96838,7 +99167,7 @@
translations.
(describe-map): Make optional parameters optional.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-11-01 Eli Zaretskii <eliz@gnu.org>
Improve documentation of 'file-has-changed-p'
@@ -96846,7 +99175,7 @@
* doc/lispref/files.texi (File Attributes): Improve wording of the
documentation of 'file-has-changed-p'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Don't output prefix keys in `C-h b', and output more data on objects
@@ -96854,14 +99183,14 @@
[closure/lambda/byte-code] for those types of objects.
(describe-map): Don't output prefix keys.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-01 Michael Albinus <michael.albinus@gmx.de>
Exclude emacs-module-tests.el on emba
* test/infra/gitlab-ci.yml (test-native-comp-speed0):
Exclude emacs-module-tests.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Add buttons to definition in help--describe-command
@@ -96870,11 +99199,11 @@
* lisp/help.el (help--describe-command): Make buttons out of the
definitions.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-11-01 Lars Ingebrigtsen <larsi@gnus.org>
Tag up last NEWS change
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-11-01 Gregory Heytings <gregory@heytings.org>
Read mailcaps again only when necessary
@@ -96889,54 +99218,54 @@
only when at least one of the mailcap files has changed. Fixes
bug#51523.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-01 Michael Albinus <michael.albinus@gmx.de>
Merge from origin/emacs-28
84cd95e04c Fix bug#51369
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-11-01 Michael Albinus <michael.albinus@gmx.de>
Merge from origin/emacs-28
ba4daf2214 Adapt arguments of `tramp-make-tramp-file-name'
a34466731b Fix typo in describe-map-tree doc string
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Further xref fix-ups after keymap help changes
* lisp/help-mode.el (help-make-xrefs): Get continuation lines right.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix infloop in help-make-xrefs in certain keymaps
* lisp/help-mode.el (help-make-xrefs): Adjust xref symbol finding
after changes to how keymaps are output.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Make xref symbol marking work again after describe-keymap changes
* lisp/help-mode.el (help-make-xrefs): Adjust xref symbol finding
after changes to how keymaps are output.
-2023-04-15 Aaron Jensen <aaronjensen@gmail.com>
+2021-10-31 Aaron Jensen <aaronjensen@gmail.com>
* lisp/icomplete.el (icomplete-exhibit): Remove workaround
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix failing help-fns tests after layout changes in `C-h b'
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Say "Key/Binding" instead of "key/binding" in `C-h b'
* lisp/help.el (describe-map-tree): Capitalize the heading.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Don't print empty keymaps in `C-h b'
@@ -96944,7 +99273,7 @@
keymap is empty (bug#22334). Tweak the look to compress it more
vertically.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Include the major mode name in the `C-h b' output
@@ -96955,28 +99284,28 @@
name for symmetry with the minor modes (and because it's easy to
forget).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Don't make key binding face wider than the norm
* lisp/faces.el (help-key-binding): Don't make the chars wider
than normally, because that makes `C-h b' lining-up logic fail.
-2023-04-15 Ken Brown <kbrown@cornell.edu>
+2021-10-31 Ken Brown <kbrown@cornell.edu>
Merge from origin/emacs-28
6ba4e3b78c Drop support for native compilation on 32-bit Cygwin
7e15ee5bc9 ; * doc/emacs/help.texi (Help Mode): Improve indexing.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Re-fix the new mouse event logic in outline
* lisp/outline.el (outline-show-subtree, outline-hide-subtree):
Really fix the mouse logic.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Make TAB work on the outline buttons
@@ -96984,20 +99313,20 @@
(outline--insert-open-button): Make TAB work to toggle on the
buttons, too.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Clarify describe-bindings code slightly
* lisp/help.el (describe-bindings): Clarify code slightly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Fix new mouse handling in outline
* lisp/outline.el (outline-show-subtree, outline-hide-subtree):
Don't set point if we have no event.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Add buttons to outlining and tweak `C-h b' buffer
@@ -97011,14 +99340,14 @@
(outline--insert-open-button, outline--insert-close-button)
(outline--fix-up-all-buttons): New functions.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-31 Eli Zaretskii <eliz@gnu.org>
Improve the "Help Mode" section of the Emacs manual
* doc/emacs/help.texi (Help Mode): Reorganize and improve wording
of the recent change. Add index entries.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Add mode tagging to previously added help commands
@@ -97026,7 +99355,7 @@
binding.
(help-goto-previous-page): Ditto.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Add 'n'/'p' key bindings in *Help* buffers
@@ -97034,7 +99363,7 @@
binding.
(help-goto-previous-page): Ditto.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-31 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
@@ -97043,13 +99372,13 @@
610680a Fix rendering of title-less <abbr> tags in shr
2ba4ccf ; * lisp/files.el (make-nearby-temp-file): Doc fix.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-31 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
5e05be5 Fix localized display of date and time in the NS port
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-31 Michael Albinus <michael.albinus@gmx.de>
Adapt emba control files
@@ -97060,28 +99389,28 @@
(.job-template): Comment test prints.
(test-all-inotify): Exclude emacs-module-tests.el.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Add highlighting of the F2008 keyword "impure"
* lisp/progmodes/f90.el (f90-keywords-re): Highlight F2008 keyword
"impure" (bug#51529).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Add new function 'font-has-char-p'
* src/font.c (Ffont_has_char_p): New function.
(Ffont_get_glyphs): Link to the new function from the doc string.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-31 Stefan Kangas <stefan@marxist.se>
Add test for Bug#51527
* test/src/keymap-tests.el (keymap-lookup-key/menu-non-symbol):
New test.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
eieio-core.el: Make slot-value work on defstructs
@@ -97103,34 +99432,34 @@
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-defstruct-slot-value): New test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-31 Lars Ingebrigtsen <larsi@gnus.org>
Expand the kbd-valid-p doc string
* lisp/subr.el (kbd-valid-p): Expand the doc string.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-31 Eli Zaretskii <eliz@gnu.org>
Avoid signaling errors in lookup-key
* src/keymap.c (Flookup_key): Handle KEY vectors where not all
components are symbols. (Bug#51527
-2023-04-15 Alan Third <alan@idiocy.org>
+2021-10-31 Alan Third <alan@idiocy.org>
Ensure help echoes only occur once on NS
* src/nsterm.m ([EmacsView windowDidResignKey:]): Reset
any_help_event_p as it is never reset otherwise.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-31 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
335a660b4b Fix display glitches with side-by-side windows on TTY frames
4a96f32def Avoid replacing common prefix with ellipsis
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-30 Stefan Kangas <stefan@marxist.se>
Remove workaround for fixed Bug#6581 from ert
@@ -97150,7 +99479,7 @@
(ert-test-equal-including-properties): Merge test into above
expanded test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-30 Stefan Kangas <stefan@marxist.se>
Fix bug with string values in equal-including-properties
@@ -97170,7 +99499,7 @@
* lisp/emacs-lisp/ert.el (ert-equal-including-properties): Add
FIXME that this should be removed.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-30 Stefan Kangas <stefan@marxist.se>
Use primes for hash table bucket sizes
@@ -97178,7 +99507,7 @@
* src/image.c (XPM_COLOR_CACHE_BUCKETS): Use primes for hash table
bucket sizes.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-30 Eli Zaretskii <eliz@gnu.org>
Move the documentation of 'string-glyph-split' to proper place
@@ -97186,21 +99515,21 @@
description of 'string-glyph-split' from here...
* doc/lispref/display.texi (Size of Displayed Text): ...to here.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-10-30 Jim Porter <jporterbugs@gmail.com>
Expand connection-local variables example in doc/emacs/custom.texi
* doc/emacs/custom.texi (Per-Connection Local Variables): Expand the
example to include setting 'system-uses-terminfo'.
-2023-04-15 dalanicolai <dalanicolai@gmail.com>
+2021-10-30 dalanicolai <dalanicolai@gmail.com>
Make list-colors-display sort list passed as argument
* lisp/facemenu.el (list-colors-display): Don't skip sorting list of
colors if it was passed as an argument. (Bug#51371)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-30 Lars Ingebrigtsen <larsi@gnus.org>
Add new function string-glyph-split
@@ -97209,7 +99538,7 @@
* lisp/emacs-lisp/subr-x.el (string-glyph-split): New function.
-2023-04-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
+2021-10-30 Kévin Le Gouguec <kevin.legouguec@gmail.com>
Avoid fonts with incomplete coverage of MATHEMATICAL chars
@@ -97230,7 +99559,7 @@
[2] <878s02u5m6.fsf@gmail.com>
https://lists.gnu.org/archive/html/help-gnu-emacs/2021-09/msg00150.html
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-30 Eli Zaretskii <eliz@gnu.org>
Minor fixes for previous change
@@ -97244,7 +99573,7 @@
* doc/emacs/msdos.texi (Windows Misc): Fix wording and markup in
the last change.
-2023-04-15 Vince Salvino <salvino@coderedcorp.com>
+2021-10-30 Vince Salvino <salvino@coderedcorp.com>
Support system dark mode on Windows 10 version 1809 and higher
@@ -97262,18 +99591,18 @@
* etc/NEWS:
* doc/emacs/msdos.texi (Windows Misc): Document the new feature.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-30 Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-28
20ebd91a73 Improve documentation of string truncation APIs
3f998a3fc8 * lisp/textmodes/css-mode.el: Fix typo. (Bug#51488)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-29 Stefan Kangas <stefan@marxist.se>
* src/image.c: Fix building with giflib on MS-Windows.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-29 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -97281,7 +99610,7 @@
91e7df281e Move lisp/shorthands.el to lisp/emacs-lisp/shorthands.el
00103154e0 Some Tramp changes, mainly in tramp-tests.el
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-29 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -97291,7 +99620,7 @@
5dbb04e0eb Make `C-u RET' work again
d72fefdeab Fix typos in the manual and in a comment
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-29 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -97300,7 +99629,7 @@
# Conflicts:
# lisp/image-dired.el
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-29 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -97311,7 +99640,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-29 Stefan Kangas <stefan@marxist.se>
Prefer giflib 5 macros to magic numbers
@@ -97321,7 +99650,7 @@
(gif_load): Replace magic numbers with giflib 5 macros for disposal
and transparency_color_index.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-29 Stefan Kangas <stefan@marxist.se>
Don't parse GCB block by hand with giflib 5 or later
@@ -97329,7 +99658,7 @@
DGifSavedExtensionToGCB instead of parsing the Graphic Control
Extension block by hand.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-29 Lars Ingebrigtsen <larsi@gnus.org>
Make message/rfc822 on buttons work again in Gnus
@@ -97339,32 +99668,32 @@
(gnus-mime--inline-message): Factor out into own function.
(gnus-mime-display-single): From here.
-2023-04-15 Morgan J. Smith <Morgan.J.Smith@outlook.com>
+2021-10-29 Morgan J. Smith <Morgan.J.Smith@outlook.com>
Add some gnus-short-group-name tests
* test/lisp/gnus/gnus-group-tests.el (gnus-short-group-name): Add
some gnus-short-group-name tests (bug#51450).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-29 Lars Ingebrigtsen <larsi@gnus.org>
Shorten Gnus groups with [foo] in the name better
* lisp/gnus/gnus.el (gnus-short-group-name): Shorten groups with
[] in the names better (bug#51450).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-29 Stefan Kangas <stefan@marxist.se>
* src/image.c (gif_load): Minor simplification.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-29 Eli Zaretskii <eliz@gnu.org>
Fix bootstrapping broken by a recent change
* src/keymap.c (Flookup_key): Avoid crashes during bootstrap when
uni-lowercase.el is not available yet.
-2023-04-15 akater <nuclearspace@gmail.com>
+2021-10-28 akater <nuclearspace@gmail.com>
Indent cl-flet-like forms correctly in incomplete expressions
@@ -97374,7 +99703,7 @@
* test/lisp/progmodes/elisp-mode-resources/flet.erts:
Add tests for incomplete sexps (bug#9622).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-28 Stefan Kangas <stefan@marxist.se>
Be more allowing when looking for menu-bar items
@@ -97390,7 +99719,7 @@
(keymap-lookup-keymap/with-spaces-multibyte)
(keymap-lookup-keymap/with-spaces-multibyte-lang-env): New tests.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-10-28 Alan Mackenzie <acm@muc.de>
Put missing c-keep-region-active's into the source code
@@ -97398,7 +99727,7 @@
c-keep-region-active when (< arg 0).
(c-forward-conditional): Insert c-keep-region-active.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-10-28 Jim Porter <jporterbugs@gmail.com>
Make comint-term-environment connection-aware (bug#51426)
@@ -97409,7 +99738,7 @@
* etc/NEWS: Announce the above change.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-28 Eli Zaretskii <eliz@gnu.org>
Ignore more events in input-pending-p
@@ -97420,7 +99749,7 @@
(syms_of_keyboard) <input-pending-p-filter-events>: New variable.
Patch from Aaron Jensen <aaronjensen@gmail.com>.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
Do interactive mode tagging in image-dired.el
@@ -97436,7 +99765,7 @@
(image-dired-display-previous-thumbnail-original): Do interactive
tagging; these will only work in 'image-dired-thumbnail-mode'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
image-dired: Make thumbnail rotation commands obsolete
@@ -97453,14 +99782,14 @@
for above obsolete commands. The rotate right keybinding had already
been made ineffective by the local keymap added by 'insert-image'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
image-dired: Don't show thumbnails if there are no image files
* lisp/image-dired.el (image-dired-show-all-from-dir): Don't show
thumbnail buffer if there are no image files.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
Increase image-dired-show-all-from-dir-max-files to 500
@@ -97478,14 +99807,14 @@
variable, as it is no longer important enough to deserve the space.
* etc/NEWS: Announce the above change.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
(string-pixel-width): Rewrite to avoid side effects
* src/xdisp.c (Fwindow_text_pixel_size): Allow `window` to be a buffer.
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Simplify accordingly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Revert "Add tentative key bindings for the three emoji commands"
@@ -97493,11 +99822,11 @@
Applied to the wrong branch.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Add tentative key bindings for the three emoji commands
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-27 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -97515,7 +99844,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Simplify string-pixel-width
@@ -97523,14 +99852,14 @@
save-window-excursion saves dedication status (and the code was
buggy).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Fix parsing of erts files
* lisp/emacs-lisp/ert.el (ert-test-erts-file): Fix progress
through a test file (bug#51409).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Harden ert-resource-directory against errors
@@ -97538,7 +99867,7 @@
resilient -- don't bug out if called from a file that's not
visiting a directory.
-2023-04-15 Jim Porter <jporterbugs@gmail.com>
+2021-10-27 Jim Porter <jporterbugs@gmail.com>
Be more efficient when checking for a matching client in server.el
@@ -97547,7 +99876,7 @@
(server-kill-emacs-query-function): Use 'seq-some' to determine if
another live client exists (bug#51420).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Add new function 'string-pixel-width'
@@ -97556,7 +99885,7 @@
* lisp/emacs-lisp/subr-x.el (string-pixel-width): New function.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-27 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Allow matching non-.git gitlab and gitea URLs in bug-reference
@@ -97564,7 +99893,7 @@
(bug-reference--build-forge-setup-entry): Allow matching non-.git
gitlab and gitea URLs, with and without slashes (bug#51316).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Always start the SIGALRM atimers
@@ -97572,7 +99901,7 @@
even if we're using timerfd (bug#19776). See long, long
discussion in the bug report for why this is necessary.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-27 Lars Ingebrigtsen <larsi@gnus.org>
Redisplay after changing to the hourglass mouse pointer
@@ -97580,7 +99909,7 @@
the hourglass pointer -- otherwise it won't be displayed until a
keyboard/mouse event arrives (bug#19776).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
image-dired: Set line-spacing to match horizontal space
@@ -97588,7 +99917,7 @@
'line-spacing' to approximately match horizontal space. This makes
the thumbnail view look better.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
image-dired: Add support for bookmark.el
@@ -97597,13 +99926,13 @@
(image-dired-bookmark-name, image-dired-bookmark-make-record)
(image-dired-bookmark-jump): New defuns.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-27 Stefan Kangas <stefan@marxist.se>
Add test for file-name-base
* test/lisp/files-tests.el (files-tests-file-name-base): New test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
image-dired: Improve mouse behaviour
@@ -97614,7 +99943,7 @@
(image-dired-mouse-select-thumbnail): Move point to closest image
after clicking in buffer.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
image-dired: Don't ding at beginning or end of buffer
@@ -97624,7 +99953,7 @@
when moving past first or last image; instead show a message, wait a
second and then show image properties.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
image-dired: Add new commands for beginning/end of buffer
@@ -97633,21 +99962,21 @@
(image-dired-thumbnail-mode-map): Bind new beginning of buffer command
to '<' and 'M-<', and end of buffer command to '>' and 'M->'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
Add new function image-at-point-p
* lisp/image.el (image-at-point-p): New defun.
* doc/lispref/display.texi (Showing Images): Document above new defun.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
image-dired: Use an evenly spaced grid for thumbnails
* lisp/image-dired.el (image-dired-line-up): Use an evenly spaced
grid for thumbnails, even if image sizes differ.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
image-dired: Use example.org in examples
@@ -97655,7 +99984,7 @@
(image-dired-gallery-thumb-image-root-url): Use example.org to be
RFC 2606 compliant.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-26 Stefan Kangas <stefan@marxist.se>
image-dired: Increase number of asynch thumbnail generation jobs
@@ -97671,7 +100000,7 @@
(image-dired-create-thumb-1, image-dired-display-thumbs): Display time
spent on thumbnail generation if 'image-dired-debug' is non-nil.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-10-26 Alan Mackenzie <acm@muc.de>
CC Mode: minor amendments more accurately to handle virtual semicolons, etc.
@@ -97680,21 +100009,21 @@
(c-guess-basic-syntax): CASE 5D - Use c-crosses-statement-barrier-p to check
whether we've gone back past a virtual semicolon.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-10-26 Alan Mackenzie <acm@muc.de>
* lisp/progmodes/cc-engine.el (c-fontify-new-found-type): Declare near BO File
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-26 Michael Albinus <michael.albinus@gmx.de>
* test/infra/gitlab-ci.yml (build-image-inotify): Increase timeout.
(test-native-comp-speed0): Adapt make_params.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-26 Mattias Engdegård <mattiase@acm.org>
* lisp/progmodes/xref.el (xref-pop-marker-stack): Don't obsolete.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-25 Mattias Engdegård <mattiase@acm.org>
Rename `xref-pop-marker-stack` to `xref-go-back` (bug#38797)
@@ -97711,7 +100040,7 @@
* etc/NEWS:
Use the new name.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-10-25 Eric Abrahamsen <eric@ericabrahamsen.net>
IMAP search should only use charset utf-8 with multibyte strings
@@ -97725,7 +100054,7 @@
we're only doing the literal+ dance for multibyte strings (multibyte
strings will have had newlines inserted in an earlier step).
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-25 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -97742,25 +100071,25 @@
56caf1c9b8 Use restrictive umask when creating image-dired data
3b5de7f991 ; lisp/transient.el: Revert some misguided stylistic fixes.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-25 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
817c929eda Doc fix for concat
3eca2ad2a1 * lisp/image-dired.el (image-dired-external-viewer): Suppo...
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-25 Glenn Morris <rgm@gnu.org>
* doc/misc/cc-mode.texi (Font Locking): Fix menu.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-25 Lars Ingebrigtsen <larsi@gnus.org>
Add the "always" zsh builtin to zsh mode
* lisp/progmodes/sh-script.el (sh-builtins): Add the "always" zsh
keyword (bug#51387).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-25 Mattias Engdegård <mattiase@acm.org>
Add xref forward history (bug#38797)
@@ -97783,14 +100112,14 @@
* doc/emacs/maintaining.texi (Looking Up Identifiers): Document.
* etc/NEWS: Announce.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-25 Lars Ingebrigtsen <larsi@gnus.org>
Allow viewing .heic images via image-convert
* lisp/files.el (auto-mode-alist): Support the Apple .heic/HEIF
image format (bug#51381).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-25 Lars Ingebrigtsen <larsi@gnus.org>
Change the with-delayed-message syntax to allow future extensibility
@@ -97800,7 +100129,7 @@
* lisp/net/eww.el (eww-display-html): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-25 Lars Ingebrigtsen <larsi@gnus.org>
Heed the EMACS_IGNORE_TIMERFD environment variable
@@ -97808,7 +100137,7 @@
environment so that the EMACS_IGNORE_TIMERFD environment variable
is actually heeded.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2021-10-25 Martin Rudalics <rudalics@gmx.at>
Allow 'display-buffer' to set up body size of chosen window (Bug#17065)
@@ -97821,7 +100150,7 @@
action alist entries.
* etc/NEWS: Mention new values of some action alist entries.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-25 Stefan Kangas <stefan@marxist.se>
New function xdg-state-home
@@ -97829,7 +100158,7 @@
$XDG_STATE_HOME according to the XDG Base Directory Specification
version 0.8 (08th May 2021).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-25 Stefan Kangas <stefan@marxist.se>
image-dired: Improve XDG compliance
@@ -97837,7 +100166,7 @@
(image-dired-main-image-directory): Prefer XDG_PICTURES_HOME.
(image-dired-thumb-name): Simplify by using 'xdg-cache-home'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-25 Stefan Kangas <stefan@marxist.se>
Double value of image-dired-show-all-from-dir-max-files
@@ -97846,7 +100175,7 @@
be even higher, as the thumbnails are generated asynchronously and are
small by default.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
image-dired: Add support for GraphicsMagick
@@ -97858,7 +100187,7 @@
(image-dired-cmd-rotate-thumbnail-options): Add support for the
GraphicsMagick command line tool ("gm convert", "gm mogrify").
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix issues with type casting in delayed message functions
@@ -97866,7 +100195,7 @@
(with_delayed_message_cancel, Ffuncall_with_delayed_message): Fix
some type confusion.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Support new Thumbnail Managing Standard sizes in image-dired
@@ -97878,7 +100207,7 @@
thumbnail sizes mandated by new version of the Thumbnail Managing
Standard (December 2020, Version 0.9.0).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Use SHA1 when creating thumbnail file name
@@ -97886,20 +100215,20 @@
Use SHA1 for hashing when creating file name. SHA1 is slightly faster
than MD5, and has a few more bits.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Remove debugging in with_delayed_message_display
* src/eval.c (with_delayed_message_display): Remove debugging.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Display a message if HMTL rendering takes a long time
* lisp/net/eww.el (eww-display-html): Display a message if HTML
rendering takes a long time (bug#19776).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Add new macro `with-delayed-message'
@@ -97910,7 +100239,7 @@
(with_delayed_message_cancel): Helper functions.
(Ffuncall_with_delayed_message): New function (bug#19776).
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-10-24 Alan Mackenzie <acm@muc.de>
CC Mode: Fontify "found types" which are recognized after being first scanned
@@ -97954,14 +100283,14 @@
(c-type-finder-repeat-time, c-type-finder-chunk-size): New customizable
options.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix mouse buttons in dired--make-directory-clickable
* lisp/dired.el (dired--make-directory-clickable): Adjust mouse
clicks to conform to our standards.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Don't unhide first thread if entering without selecting article
@@ -97971,14 +100300,14 @@
(gnus-summary--goto-and-possibly-unhide): New function -- don't
unhide the first thread unless necessary (bug#51344).
-2023-04-15 Sharaf Zaman <shzam@sdf.org> (tiny change)
+2021-10-24 Sharaf Zaman <shzam@sdf.org> (tiny change)
Fix a memory leak in pgtk_draw_fringe_bitmap
* src/pgtkterm.c (pgtk_draw_fringe_bitmap): we had an unbalanced
cairo_save/restore.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Improve documentation of image-dired thumbnails
@@ -97988,7 +100317,7 @@
* lisp/image-dired.el (image-dired-thumbnail-storage): Improve
docstring.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Add support for pngquant to image-dired
@@ -97997,7 +100326,7 @@
Prefer, in this order: pngquant, pngnq-s9, pngnq-s for reasons of
speed and how actively maintained the projects seem to be.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-24 Eli Zaretskii <eliz@gnu.org>
Fix compilation errors with MinGW64 GCC 11
@@ -98012,18 +100341,18 @@
* nt/Makefile.in (BASE_CFLAGS): Add -I switches to pick up
config.h and lib/attribute.h.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-10-24 Paul Eggert <eggert@cs.ucla.edu>
Include <config.h> first in MS-Windows source
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Fix define-erc-response-handler indentation
* lisp/erc/erc-backend.el (define-erc-response-handler): Add
proper indentation.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Add new option help-link-key-to-documentation
@@ -98032,7 +100361,7 @@
are bound to, if the above new option is non-nil. (Bug#8951)
* etc/NEWS: Announce the new option.
-2023-04-15 William Xu <william.xwl@gmail.com>
+2021-10-24 William Xu <william.xwl@gmail.com>
Make dired directory components clickable
@@ -98043,7 +100372,7 @@
* lisp/dired.el (dired--make-directory-clickable): New function
(bug#21973).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-24 Mattias Engdegård <mattiase@acm.org>
Don't use obsolete variable `find-tag-marker-ring`
@@ -98052,20 +100381,20 @@
Call `xref-push-marker-stack` instead of manipulating the obsolete
variable `find-tag-marker-ring`.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Tweak bug-reference-tests
* test/lisp/progmodes/bug-reference-tests.el: Tweak tests a bit.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Clean up duplicated setting in scheme-mode-variables
* lisp/progmodes/scheme.el (scheme-mode-variables): Remove
repeated setting.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-24 Lars Ingebrigtsen <larsi@gnus.org>
Allow matching non-.git URLs in bug-reference
@@ -98073,14 +100402,14 @@
(bug-reference--build-forge-setup-entry): Allow matching non-.git
URLs, with and without slashes (bug#51316).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Don't hard-code image-dired thumbnail type
* lisp/image-dired.el (image-dired-insert-thumbnail): Detect thumbnail
image type instead of hard-coding it.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Expand tests for image-type-from-file-header
@@ -98096,7 +100425,7 @@
(image-type-from-file-header-test/xpm): New tests.
(image-type-from-file-header-test): Delete test.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Add tests for gif to src/image-tests.el
@@ -98107,7 +100436,7 @@
(image-tests-image-metadata/gif): New tests.
* test/data/image/black.gif: New file.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-24 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -98128,7 +100457,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-24 Stefan Kangas <stefan@marxist.se>
Make dired-x-guess-file-name-at-point obsolete
@@ -98137,14 +100466,14 @@
(dired-x-read-filename-at-point): Use 'thing-at-point' instead of
above obsolete function.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-23 Michael Albinus <michael.albinus@gmx.de>
Check for image library in image-dired-tests.el
* test/lisp/image-dired-tests.el
(image-dired-tests-get-exif-file-name): Check for jpeg library.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-10-23 Dmitry Gutov <dgutov@yandex.ru>
Support :company-deprecated completion property
@@ -98152,18 +100481,18 @@
New function.
(elisp-completion-at-point): Use it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-23 Michael Albinus <michael.albinus@gmx.de>
* test/infra/gitlab-ci.yml (variables, default): Increase timeout to 4 hours.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-10-23 Alan Mackenzie <acm@muc.de>
Revert "CC Mode: Fontify "found types" which are recognized after being ..."
This reverts commit 51719617eb19833056618ebac403cdcaf711551a. The commit
caused a hang at start-up with a big desktop.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-23 Stefan Kangas <stefan@marxist.se>
Partially remove exiftool dependency from image-dired.el
@@ -98180,7 +100509,7 @@
copyright fields.
* test/lisp/image-dired-tests.el: New file.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-23 Stefan Kangas <stefan@marxist.se>
Add new function exif-field
@@ -98190,7 +100519,7 @@
* test/lisp/image/exif-tests.el (test-exif-parse)
(test-exif-parse-short): Use above new function.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-22 Stefan Kangas <stefan@marxist.se>
Add links to commentary reached with finder-list-keywords
@@ -98204,11 +100533,11 @@
issue where commentaries reached via 'finder-list-keywords' did
not have links. (Bug#10814)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-22 Stefan Kangas <stefan@marxist.se>
* src/image.c (webp_load): Fix thinkos.
-2023-04-15 Alan Mackenzie <acm@muc.de>
+2021-10-22 Alan Mackenzie <acm@muc.de>
CC Mode: Fontify "found types" which are recognized after being first scanned
@@ -98248,7 +100577,7 @@
(c-type-finder-repeat-time, c-type-finder-chunk-size): New customizable
options.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-22 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -98278,7 +100607,7 @@
# etc/NEWS
# lisp/progmodes/bug-reference.el
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-22 Michael Albinus <michael.albinus@gmx.de>
Adapt some emba parameters
@@ -98286,7 +100615,7 @@
* test/infra/gitlab-ci.yml (test-native-comp-speed0): Adapt make_params.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-22 Eli Zaretskii <eliz@gnu.org>
Fix WebP support on MS-Windows
@@ -98304,7 +100633,7 @@
* nt/INSTALL.W64:
* nt/INSTALL: Update information about libwebp availability.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-22 Stefan Kangas <stefan@marxist.se>
Add WebP image format support (Bug#51296)
@@ -98338,7 +100667,7 @@
(image-tests-image-metadata/webp): New tests.
* test/data/image/black.webp: New file.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2021-10-22 Martin Rudalics <rudalics@gmx.at>
In 'window-text-pixel-size' use actual mode line heights if wanted (Bug#38181)
@@ -98346,7 +100675,7 @@
when MODE_LINES wants it to take actual mode line heights into
account (Bug#38181).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-21 Stefan Kangas <stefan@marxist.se>
Remove redundant #' before lambda
@@ -98395,28 +100724,28 @@
* lisp/whitespace.el (whitespace-report-region): Remove redundant #'
before lambda.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-21 Stefan Kangas <stefan@marxist.se>
Add comment on reworking a section in emacs-lisp-intro.texi
* doc/lispintro/emacs-lisp-intro.texi (Body of mark-whole-buffer):
Add comment about how one could rework this section.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-21 Michael Albinus <michael.albinus@gmx.de>
Configure Emacs on emba with debug options
* test/infra/Dockerfile.emba (emacs-base): Install gdb.
(emacs-inotify): Configure debug options.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-21 Lars Ingebrigtsen <larsi@gnus.org>
Actually fix the Pango build problem
* src/gtkutil.c (xg_weight_to_symbol): Don't break the build on
older systems.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-21 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -98444,24 +100773,24 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix build on systems with older Pango versions
* src/gtkutil.c (xg_weight_to_symbol): Don't break the build on
older systems.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-21 Lars Ingebrigtsen <larsi@gnus.org>
Fix bold/black in w32_to_fc_weight
* src/w32font.c (w32_to_fc_weight): Use symbols.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-20 Lars Ingebrigtsen <larsi@gnus.org>
Add a comment to the Turkish casefiddle test
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-20 Lars Ingebrigtsen <larsi@gnus.org>
Support the "medium" font weight
@@ -98480,7 +100809,7 @@
* src/xfaces.c (syms_of_xfaces): Add the new symbols.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-20 Stefan Kangas <stefan@marxist.se>
Add some tests for floatfns.c
@@ -98494,13 +100823,13 @@
(floatfns-tests-fround, floatfns-tests-ftruncate)
(divide-extreme-sign): New tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-20 Lars Ingebrigtsen <larsi@gnus.org>
Fix typo in previous smerge-mode-map change
* lisp/vc/smerge-mode.el (smerge-mode-map): Fix typo (bug#51303).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-20 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Avoid excessive specbinding in all-completions
@@ -98511,7 +100840,7 @@
regexps in completion-regexp-list without having to bind
case-fold-search.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-20 Lars Ingebrigtsen <larsi@gnus.org>
Further fixes for Turkish case changes in unibyte strings
@@ -98520,14 +100849,14 @@
(case_character_impl): Set it.
(do_casify_unibyte_string): Use it to handle Turkish correctly.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-20 Lars Ingebrigtsen <larsi@gnus.org>
Add new macro with-locale-environment
* lisp/international/mule-cmds.el (with-locale-environment): New macro.
(current-locale-environment): New variable.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-19 Stefan Kangas <stefan@marxist.se>
Add some tests for fns.c
@@ -98535,14 +100864,14 @@
(fns-tests-length, fns-tests-safe-length)
(fns-tests-string-bytes): New tests.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-19 Stefan Kangas <stefan@marxist.se>
Remove some XEmacs compat code from custom.el
* lisp/custom.el (deftheme, custom-declare-theme): Remove XEmacs
compat code.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-10-19 Dmitry Gutov <dgutov@yandex.ru>
xref.el: Better compatibility with outdated Emacs 28 builds
@@ -98550,18 +100879,18 @@
Ensure better compatibility with outdated Emacs 28 builds as well
(like the pgtk branch). Bump the version.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
* doc/lispref/files.texi (File Name Components): Mention GNU "path" convention
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-19 Lars Ingebrigtsen <larsi@gnus.org>
Make image-tests work in a no-x build
* test/src/image-tests.el: Make the tests work in a no-x build
(bug#51291).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-19 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how 'align' and 'align-regexp' align text
@@ -98571,14 +100900,14 @@
"\\(\\s-*\\)" to "\\(\\s-*\\)" so that it'll make things columnar
if the user just hits RET through all the defaults.
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-19 Mattias Engdegård <mattiase@acm.org>
Improve TCO test coverage
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Exercise `cond` in tail position in two different ways.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-19 Lars Ingebrigtsen <larsi@gnus.org>
Make downcasing unibyte strings in Turkish less wrong
@@ -98591,7 +100920,7 @@
(Fupcase_initials): Refer to details in `downcase'.
(syms_of_casefiddle): Define more symbols.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-19 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -98612,32 +100941,32 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-10-19 Dmitry Gutov <dgutov@yandex.ru>
* lisp/progmodes/xref.el: Bump version.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-10-19 Dmitry Gutov <dgutov@yandex.ru>
Fix Emacs 26 support in xref.el
* lisp/progmodes/xref.el (xref--defstruct): New macro.
(xref-item, xref-match-item): Use it in definitions.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-19 Michael Albinus <michael.albinus@gmx.de>
* etc/NEWS: Move sql entry up. Fix typos.
-2023-04-15 Michael R. Mauger <michael@mauger.com>
+2021-10-19 Michael R. Mauger <michael@mauger.com>
SQL mode supports sending passwords in process
-2023-04-15 Michael R. Mauger <michael@mauger.com>
+2021-10-18 Michael R. Mauger <michael@mauger.com>
Added sql-add-connection
* lisp/progmodes/sql.el (sql-add-connection): Added.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Make `lookup-key' understand the new key sequence syntax
@@ -98646,7 +100975,7 @@
(Fdefine_key):
(Flookup_key): Use it.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Error out on invalid `define-keymap' keywords
@@ -98657,20 +100986,20 @@
keywords at compile time.
* lisp/vc/cvs-status.el (cvs-status-mode-map): Fix keyword.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix diff-mode-shared-map
* lisp/vc/diff-mode.el (diff-mode-shared-map): Fix syntax error in
`defvar-keymap' change.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-18 Stefan Kangas <stefan@marxist.se>
Add tests for image.c
* test/src/image-tests.el: New file.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-18 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -98691,7 +101020,7 @@
2d15db6e89 Fix a semantic test on some macOS machines
ac6ac76e3a Update to Org 9.5-57-g9bc3a2
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-18 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
*-watch-for-password-prompt: Use run-at-time to read password
@@ -98700,7 +101029,7 @@
* lisp/term.el (term-watch-for-password-prompt):
Use run-at-time to read a password (bug#51263).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Add some defvar indent tests
@@ -98708,14 +101037,14 @@
Add indentation rules for DEFUN's def* functions
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Update elp-not-profilable
* lisp/emacs-lisp/elp.el (elp-not-profilable): Update list of
denied functions (bug#40335).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Remove the "def" indentation heuristic
@@ -98723,14 +101052,14 @@
indent function calls with names that that start with "def"
specially (bug#43329).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Fontify :doc keywords as documentation
* lisp/emacs-lisp/lisp-mode.el (lisp-string-after-doc-keyword-p):
Extend to :doc, too (bug#51230).
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2021-10-18 Daniel Martín <mardani29@yahoo.es>
New option show-paren-context-when-offscreen
@@ -98749,14 +101078,14 @@
* doc/emacs/programs.texi (Matching): Update the documentation.
* etc/NEWS: And announce the new feature.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix possible build issue in pcvs.el and diff-mode.el
* lisp/vc/pcvs.el (easy-mmode):
* lisp/vc/diff-mode.el (easy-mmode): Require.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2021-10-18 Protesilaos Stavrou <info@protesilaos.com>
Abhiseck Paira <abhiseckpaira@disroot.org>
Protesilaos Stavrou <info@protesilaos.com>
@@ -98766,13 +101095,13 @@
Fix bug#51176.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Fix build issue with smerge-mode
* lisp/vc/smerge-mode.el (easy-mmode): Require.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Allow :filter t in make-process to work as with set-process-filter
@@ -98782,24 +101111,24 @@
(Fmake_serial_process): Don't add the read_fd if the filter is t
(which means that we don't accept output from the filter).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-18 Lars Ingebrigtsen <larsi@gnus.org>
Do kbd-valid-p prefix comparisons case-sensitively
* lisp/subr.el (kbd-valid-p): Compare case-sensitively.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-17 Stefan Kangas <stefan@marxist.se>
Recommend against using uce.el
* lisp/mail/uce.el (uce-reply-to-uce): Recommend against its use on
the first invocation. (Bug#46472)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-17 Stefan Kangas <stefan@marxist.se>
* lisp/erc/erc-compat.el (format-spec): Remove redundant require.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-17 Stefan Kangas <stefan@marxist.se>
Prefer defvar-local in MH-E
@@ -98816,14 +101145,14 @@
(mh-thread-subject-container-hash, mh-thread-duplicates)
(mh-thread-history): Prefer defvar-local.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-17 Stefan Kangas <stefan@marxist.se>
Make thumbs-image-type obsolete
* lisp/thumbs.el (thumbs-image-type): Make into obsolete function
alias for 'image-type-from-file-name'. Update callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Use define-keymap in pcvs and pcvs-defs.el
@@ -98833,7 +101162,7 @@
defined in pcvs.el and #' gives us checking) and transform from
easy-mmode-defmap to define-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Convert diff-mode.el from easy-mmode-defmap to define-keymap
@@ -98841,20 +101170,20 @@
(diff-minor-mode-map): Convert from easy-mmode-defmap to
defvar-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Convert smerge-mode.el from easy-mmode-defmap to define-keymap
* lisp/vc/smerge-mode.el (smerge-basic-map, smerge-mode-map):
Convert form easy-mmode-defmap to define-keymap.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Add kbd examples to the doc string
* lisp/subr.el (kbd): Add some examples to the doc string.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Reverse the edmacro-parse-keys/kbd vector/string logic
@@ -98862,31 +101191,31 @@
needed.
* lisp/subr.el (kbd): Remove the NEED-VECTOR parameter.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Allow <mouse-1> in kbd-valid-p
* lisp/subr.el (kbd-valid-p): Allow (kbd-valid-p "<mouse-1>").
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Reinstate defvar-keymap expansion
* lisp/emacs-lisp/byte-opt.el
(byte-optimize-define-keymap--define): Make more robust.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Back out `define-keymap' optimization -- it leads to a build error
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Convert cvs-status-mode-map to new syntax
* lisp/vc/cvs-status.el (cvs-status-mode-map): Convert a small
keymap to the new ["..."] syntax.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Support a new ["..."] key binding syntax
@@ -98901,24 +101230,24 @@
* src/keymap.c (Fdefine_key): Understand the ["..."] syntax.
(syms_of_keymap): Define `kbd' symbols.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-10-17 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -Wsuggest-attribute=malloc
Problem found with gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0 x86-64.
* src/sysstdio.h (emacs_fopen): Mark with ATTRIBUTE_MALLOC.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Rewrite kbd-valid-p to not use seq
* lisp/subr.el (kbd-valid-p): Rewrite to not use seq.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-17 Stefan Kangas <stefan@marxist.se>
* src/image.c: Fix comment.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-17 Eli Zaretskii <eliz@gnu.org>
Minor stylistic changes in last commit
@@ -98926,7 +101255,7 @@
'get_glyph_pixel_width_delta_for_mouse_face'; all callers
changed.
-2023-04-15 Po Lu <luangruo@yahoo.com>
+2021-10-17 Po Lu <luangruo@yahoo.com>
Fix minor issues with text display when cursor is in mouse face
@@ -98951,27 +101280,27 @@
mouse face because redisplay now does that for us.
* src/w32term.c (w32_set_mouse_face_gc): Likewise.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-17 Lars Ingebrigtsen <larsi@gnus.org>
Fix up recent kbd simplification
* lisp/subr.el (kbd): Fix breakage with X-<foo> from previous change.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-17 Michael Albinus <michael.albinus@gmx.de>
Warn about `file-notify-rm-all-watches' side effects
* doc/lispref/os.texi (File Notifications): Warn about
`file-notify-rm-all-watches' side effects.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-16 Stefan Kangas <stefan@marxist.se>
Simplify condition in kbd
* lisp/subr.el (kbd): Simplify condition. This was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-10/msg01136.html
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-16 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -98991,7 +101320,7 @@
# lisp/gnus/gnus-undo.el
# lisp/menu-bar.el
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-16 Michael Albinus <michael.albinus@gmx.de>
Set EMACS_TEST_TIMEOUT for emba
@@ -99004,7 +101333,7 @@
(.job-template): Propagate EMACS_TEST_TIMEOUT and EMACS_TEST_VERBOSE.
(test-all-inotify): Set specific EMACS_TEST_TIMEOUT.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-16 Lars Ingebrigtsen <larsi@gnus.org>
Add new function 'kbd-valid-p'
@@ -99013,14 +101342,14 @@
* lisp/subr.el (kbd-valid-p): Document it.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-16 Michael Albinus <michael.albinus@gmx.de>
Fix :version of new faces in term.el
* lisp/term.el (term-faint, term-italic, term-slow-blink)
(term-fast-blink): Set proper :version.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-16 Stefan Kangas <stefan@marxist.se>
Remove duplicate code in edmacro-parse-keys
@@ -99032,7 +101361,7 @@
This change was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-10/msg00909.html
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-16 Stefan Kangas <stefan@marxist.se>
Make kbd usable during bootstrap
@@ -99043,7 +101372,7 @@
This change was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-10/msg00909.html
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-16 Michael Albinus <michael.albinus@gmx.de>
Add command `file-notify-rm-all-watches'
@@ -99058,16 +101387,16 @@
Use `file-notify-rm-all-watches'.
(file-notify-test02-rm-watch): Test also `file-notify-rm-all-watches'.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2021-10-16 Andreas Schwab <schwab@linux-m68k.org>
* src/emacs.c (standard_args): Sort --fingerprint second.
(bug#51238)
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/menu-bar.el (menu-bar-edit-menu): Expose lambdas to the compiler
-2023-04-15 Amin Bandali <bandali@gnu.org>
+2021-10-15 Amin Bandali <bandali@gnu.org>
Release ERC 5.4.1
@@ -99076,7 +101405,7 @@
* lisp/erc/erc.el (Version, erc-version): Bump to 5.4.1.
(customize-package-emacs-version-alist): Add entry for 5.4.1.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-15 Lars Ingebrigtsen <larsi@gnus.org>
Convert two `easy-mmode-defmap' usages to `defvar-keymap'
@@ -99084,7 +101413,7 @@
* lisp/vc/cvs-status.el (cvs-status-mode-map): Convert
`easy-mmode-defmap' to `defvar-keymap'.
-2023-04-15 Protesilaos Stavrou <info@protesilaos.com>
+2021-10-15 Protesilaos Stavrou <info@protesilaos.com>
Abhiseck Paira <abhiseckpaira@disroot.org>
Protesilaos Stavrou <info@protesilaos.com>
@@ -99103,7 +101432,7 @@
Fix bug#51176.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-10-15 Dmitry Gutov <dgutov@yandex.ru>
Special-case the "Permission denied" messages
@@ -99112,7 +101441,7 @@
user sees the unreadable directory's name
(https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01015.html).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-15 Mattias Engdegård <mattiase@acm.org>
Calc: mend math-nth-root-float (bug#51209)
@@ -99122,14 +101451,14 @@
Fix old refactoring mistake.
* test/lisp/calc/calc-tests.el (calc-nth-root): New test.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-15 Michael Albinus <michael.albinus@gmx.de>
Further gitlab-ci.yml changes
* test/infra/gitlab-ci.yml (.job-template): Add --timeout.
(.test-template): Adapt artifact paths.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2021-10-15 Martin Rudalics <rudalics@gmx.at>
Simplify functions dealing with preserving the size of windows
@@ -99138,21 +101467,21 @@
(window--preserve-size): Simplify. Use 'window-body-height'
etc. instead of 'window--preservable-size'.
-2023-04-15 Amin Bandali <bandali@gnu.org>
+2021-10-14 Amin Bandali <bandali@gnu.org>
* doc/misc/erc.texi: Add 'ERCVER' and 'ERCDIST'.
To mention the ERC version in the manual, and to allow for more easily
overriding the distribution description when building for GNU ELPA.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-14 Lars Ingebrigtsen <larsi@gnus.org>
Use `define-keymap' in log-view.el
* lisp/vc/log-view.el (log-view-mode-map): Convert a
`easy-mmode-defmap' to `define-keymap'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-14 Lars Ingebrigtsen <larsi@gnus.org>
define-key doc string improvement
@@ -99164,7 +101493,7 @@
"a" '("foo" . ignore)
"b" '("gazonk" . ignore)))
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-14 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -99184,7 +101513,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-14 Eli Zaretskii <eliz@gnu.org>
Fix display of cursor in mouse-highlighted face with ':box'
@@ -99196,7 +101525,7 @@
trigger more thorough redisplay of the cursor.
(Bug#50660)
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2021-10-14 Martin Rudalics <rudalics@gmx.at>
In 'window--display-buffer' handle nil size values as intended (Bug#51062)
@@ -99205,7 +101534,7 @@
and (window-size . nil) action alist entries are processed
as intended.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-14 Michael Albinus <michael.albinus@gmx.de>
Adapt gitlab-ci.yml paths
@@ -99214,7 +101543,7 @@
(.gnustep-template, .filenotify-gio-template)
(.native-comp-template): Adapt paths.
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-10-13 Dmitry Gutov <dgutov@yandex.ru>
Add new argument INCLUDE-ALL to project-find-file
@@ -99224,7 +101553,7 @@
(project-find-file-in): Add new argument INCLUDE-ALL.
(https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00209.html)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-13 Stefan Kangas <stefan@marxist.se>
Double the default value of kill-ring-max
@@ -99240,14 +101569,14 @@
* doc/lispref/text.texi (Internals of Kill Ring): Doc fix to use
the new value.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-13 Stefan Kangas <stefan@marxist.se>
New tests for kbd and edmacro-parse-keys
* test/lisp/edmacro-tests.el: New file.
* test/lisp/subr-tests.el (subr-test-kbd): Expand test.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Mark def* macros for indentation
@@ -99322,7 +101651,7 @@
(defmath): Explicitly mark all macros that have names that start
with "def" that should indent defunly-like (bug#43329).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Mark all def* functions that should indent as `defun'
@@ -99349,14 +101678,14 @@
(define-translation-table):
(define-translation-hash-table):
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-10-13 Paul Eggert <eggert@cs.ucla.edu>
Pacify gcc -Warray-parameter
* src/pdumper.h: Declare array parameter with the same signature
that the function definition uses.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-10-13 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC -Wanalyzer-possible-null-dereference
@@ -99386,7 +101715,7 @@
possibly-NULL ‘block’ [CWE-690] [-Wanalyzer-possible-null-dereference]â€
as per <https://cwe.mitre.org/data/definitions/690.html>.
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-10-13 Paul Eggert <eggert@cs.ucla.edu>
Merge from origin/emacs-28
@@ -99400,18 +101729,18 @@
56d1f42f30 Improve handling of non-character events in input methods
3fbe6fd367 ; Fix mistakes in last doc rewording about shorthands
-2023-04-15 Paul Eggert <eggert@cs.ucla.edu>
+2021-10-13 Paul Eggert <eggert@cs.ucla.edu>
Change release branch to emacs-28
* admin/notes/git-workflow:
* Makefile.in (PREFERRED_BRANCH): emacs-27 → emacs-28
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Update Emacs requirement after removing compat code
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Allow inhibiting `not-unused' warnings
@@ -99423,7 +101752,7 @@
* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Don't warn about
`not-unused'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Fix problem with multiline fontification in interactive Python
@@ -99432,7 +101761,7 @@
(`C-c SPC') inputs, remove all the preceding lines when doing
fontification (bug#47657).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-13 Michael Albinus <michael.albinus@gmx.de>
Continue to work on emba integration
@@ -99441,7 +101770,7 @@
* test/infra/gitlab-ci.yml (.job-template): Specify timeout signal.
(.job-template, .test-template): Improve wildcard.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-13 Lars Ingebrigtsen <larsi@gnus.org>
Remove some compat code from python.el
@@ -99449,11 +101778,11 @@
(python-shell-font-lock-post-command-hook): Remove Emacs 24.3 and
earlier compat code.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2021-10-13 Andreas Schwab <schwab@linux-m68k.org>
* src/pdumper.h: Include <stdio.h>.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2021-10-13 Martin Rudalics <rudalics@gmx.at>
Improve 'display-buffer' 'temp-buffer-resize-mode' cohabitation (Bug#51062)
@@ -99480,7 +101809,7 @@
(display-buffer): Fix 'inhibit-switch-frame' part in and add
'window-size' part to doc-string.
-2023-04-15 Stephen Gildea <stepheng+emacs@gildea.com>
+2021-10-12 Stephen Gildea <stepheng+emacs@gildea.com>
MH-E: restore message about obsolete key binding
@@ -99488,7 +101817,7 @@
* lisp/mh-e/mh-folder.el: Restore "obsolete key" message for "J w" that
was lost in the conversion from gnus-define-keys to define-keymap.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2021-10-12 Basil L. Contovounesios <contovob@tcd.ie>
Fix byte-compilation warnings in nox builds
@@ -99505,7 +101834,7 @@
(mh-tool-bar-letter-buttons-init): Use it to pacify byte-compilation
warnings about image.el definitions not preloaded without-x.
-2023-04-15 Eric Abrahamsen <eric@ericabrahamsen.net>
+2021-10-12 Eric Abrahamsen <eric@ericabrahamsen.net>
Clean up nnimap buffers with dead processes
@@ -99517,13 +101846,13 @@
(nnimap-close-server): Remove process buffer from lists when closing
server.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-12 Lars Ingebrigtsen <larsi@gnus.org>
decoded-time-add doc string addition
* lisp/calendar/time-date.el (decoded-time-add): Add a usage example.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-12 Michael Albinus <michael.albinus@gmx.de>
Adapt emba control files
@@ -99533,7 +101862,7 @@
Improve wildcard.
(.job-template): Add timeout.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-12 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -99543,27 +101872,27 @@
cf1409db71 Don't apply shorthands to punctuation-only symbols (bug#51...
b3d0f53b29 * lisp/progmodes/python.el: Bump package version to 0.28.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-12 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
47e09d1855 Copy parent face attributes to tab-line-tab-current instea...
d96f8b22c0 Another fix for 'ibuffer-shrink-to-fit' (Bug#7218, Bug#51029)
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-12 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
0d374b1b83 Work around GCC bug 102671
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-12 Lars Ingebrigtsen <larsi@gnus.org>
Fix more Gnus group key bindings recently changed
* lisp/gnus/gnus-group.el (:keymap): Fix some prefix keys that
ended up in the wrong place during the keymap rewrite (bug#51136).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-12 Stefan Kangas <stefan@marxist.se>
Remove more MH-E compat code
@@ -99582,7 +101911,7 @@
(mh-face-to-png, mh-uncompface, mh-picon-file-contents): Remove
XEmacs and Emacs 21 and older compat code.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-12 Lars Ingebrigtsen <larsi@gnus.org>
Make dbus work in a dumped Emacs
@@ -99590,7 +101919,7 @@
(after-pdump-load-hook): Put it onto the new pdump hook so that
it's run after startup (bug#37331).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-12 Lars Ingebrigtsen <larsi@gnus.org>
Add a new after-pdump-load-hook variable
@@ -99601,7 +101930,7 @@
* src/pdumper.c (syms_of_pdumper): Define a symbol.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-12 Stefan Kangas <stefan@marxist.se>
Make mh-do-in-gnu-emacs obsolete
@@ -99610,7 +101939,7 @@
(mh-acros): Require to avoid warnings.
Thanks to Lars Ingebrigtsen <larsi@gnus.org>.
-2023-04-15 Andreas Schwab <schwab@linux-m68k.org>
+2021-10-12 Andreas Schwab <schwab@linux-m68k.org>
Change --fingerprint to output to stdout
@@ -99621,7 +101950,7 @@
* src/emacs.c (main): Print fingerprint to stdout, without label.
* Makefile.in (EMACS_PDMP): Adjust.
-2023-04-15 Martin Rudalics <rudalics@gmx.at>
+2021-10-12 Martin Rudalics <rudalics@gmx.at>
Have 'while-no-input-ignore-events' handle idle timers too (Bug#49997)
@@ -99634,7 +101963,7 @@
* lisp/subr.el (while-no-input): Remove initialization of
'while-no-input-ignore-events'; do that in keyboard.c now.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
lisp/erc/erc-{replace,imenu,dcc}: Tweak copyright format
@@ -99642,7 +101971,7 @@
* lisp/erc/erc-imenu.el:
* lisp/erc/erc-dcc.el: Massage copyright so elpa-admin.el recognizes it
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-11 Stefan Kangas <stefan@marxist.se>
Remove last XEmacs compat code from ERC
@@ -99651,7 +101980,7 @@
remove spurious reference to XEmacs; this is needed also for
Emacs.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-11 Stefan Kangas <stefan@marxist.se>
Prefer setq-local in lisp/mh-e/*.el
@@ -99668,7 +101997,7 @@
* lisp/mh-e/mh-xface.el (mh-x-image-url-display)
(mh-x-image-url-fetch-image): Prefer setq-local.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-11 Stefan Kangas <stefan@marxist.se>
Remove some more MH-E compat code
@@ -99711,7 +102040,7 @@
* lisp/mh-e/mh-xface.el (mh-show-xface-function, mh-show-xface):
Remove Emacs 20 compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-11 Stefan Kangas <stefan@marxist.se>
Remove redundant calls to 'mh-do-in-gnu-emacs'
@@ -99732,7 +102061,7 @@
* lisp/mh-e/mh-tool-bar.el: Add comment explaining an issue that
stops us from making 'mh-do-in-gnu-emacs' obsolete.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-11 Glenn Morris <rgm@gnu.org>
Fix merge error for elisp-mode-tests.el
@@ -99741,7 +102070,7 @@
It seems this was deleted 2021-10-01 with incomplete log message
"Add more indentation tests".
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-11 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -99752,7 +102081,7 @@
4afff515c8 Expand the full file name
36a485a1af Obsolete XEmacs compat convention in 'erc-button-press-but...
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-11 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -99779,7 +102108,7 @@
# etc/NEWS
# test/lisp/progmodes/elisp-mode-tests.el
-2023-04-15 Amin Bandali <bandali@gnu.org>
+2021-10-11 Amin Bandali <bandali@gnu.org>
Revert "Obsolete XEmacs compat convention in erc-button-press-button"
@@ -99787,7 +102116,7 @@
This should be done in 'emacs-28', which will be merged into 'master'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-11 Stefan Kangas <stefan@marxist.se>
Fontify "print" and "exec" as functions in python-mode
@@ -99795,11 +102124,11 @@
Fontify "print" and "exec" as functions, which is the case in
Python 3. (Bug#43298)
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-11 Lars Ingebrigtsen <larsi@gnus.org>
Mention --fingerprint in NEWS
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-11 Glenn Morris <rgm@gnu.org>
Make the installed pmdp file use a fingerprint
@@ -99815,14 +102144,14 @@
* src/pdumper.h: Declare dump_fingerprint.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-11 Lars Ingebrigtsen <larsi@gnus.org>
Fix menu display of keys when cua-mode is active
* lisp/menu-bar.el (menu-bar-edit-menu): Make the menus display
the correct keys for editing when cua-mode is active (bug#28930).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-11 Lars Ingebrigtsen <larsi@gnus.org>
Change how cua-mode defined `C-x' and `C-c'
@@ -99831,7 +102160,7 @@
(cua--init-keymaps): Use them for `C-x' and `C-c' to be able to
distinguish the commands when looking them up in reverse.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-11 Lars Ingebrigtsen <larsi@gnus.org>
Allow :keys in menus to be computed dynamically
@@ -99840,22 +102169,22 @@
* src/keyboard.c (parse_menu_item): Allow :keys to be a function.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-11 Lars Ingebrigtsen <larsi@gnus.org>
Tweak how auto-fill fills after a period
* lisp/textmodes/fill.el (fill-nobreak-p): Don't break immediately
after a space after a period (bug#17321).
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-11 Michael Albinus <michael.albinus@gmx.de>
* doc/misc/tramp.texi (Bug Reports): Describe, how to activate ELPA Tramp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-10 Lars Ingebrigtsen <larsi@gnus.org>
Fix mairix-el.texi menu
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2021-10-09 Ingo Lohmar <ingo.lohmar@posteo.net>
Fix workspace/configuration handling when given scopeuri directory
@@ -99865,7 +102194,7 @@
causes hack-dir-local-variables-non-file-buffer to not find the
appropriate dir-local vars.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-09 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -99887,48 +102216,48 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/bug-reference.el: Use new `eql` specializer syntax
-2023-04-15 F. Jason Park <jp@neverwas.me>
+2021-10-09 F. Jason Park <jp@neverwas.me>
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).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-09 Lars Ingebrigtsen <larsi@gnus.org>
Remove mistaken dired-x entry from previous info-look patch.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-09 Lars Ingebrigtsen <larsi@gnus.org>
Make `C-h S' work on symbols from most of the manuals in Emacs
* lisp/info-look.el (lambda): Add `C-h S' lookup for all the
"misc" manuals in Emacs (bug#42753).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-09 Lars Ingebrigtsen <larsi@gnus.org>
Add indices to mairix-el
* doc/misc/mairix-el.texi (Function Index): Add indices.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-09 Lars Ingebrigtsen <larsi@gnus.org>
Simplify `clean-mode'
* lisp/simple.el (clean-mode): Simplify the property exclusion.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-09 Stefan Kangas <stefan@marxist.se>
Remove duplicate definition of x-display-color-p
* lisp/emulation/viper-init.el (x-display-color-p): Remove duplicate
definition. This would just overwrite the alias defined in faces.el.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
Remove some unnecessary calls to mh-funcall-if-exists
@@ -99941,7 +102270,7 @@
to mh-funcall-if-exists; these functions always exist as they are
autoloaded.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
Remove old Gnus compat code from MH-E
@@ -99955,13 +102284,13 @@
for functions without the 'mh-' prefix. Update callers.
(mh-gnus-local-map-property): Remove Emacs 20 compat code.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el: Lexbind
Add the usual lexical-binding cookie.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
Remove XEmacs compat code from lisp/obsolete/*.el
@@ -99979,21 +102308,21 @@
* lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper): Remove XEmacs
compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
Remove XEmacs compat code from sql.el
* lisp/progmodes/sql.el (sql-interactive-mode-map, sql-mode)
(sql-interactive-mode): Remove XEmacs compat code. (Bug#51096)
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
Remove Emacs 20 compat code from sql.el
* lisp/progmodes/sql.el (sql-input-ring-separator)
(sql-product-font-lock): Remove Emacs 20 compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
Remove some additional XEmacs compat code from viper
@@ -100004,14 +102333,14 @@
(viper-color-display-p): Make into obsolete function alias for
'x-display-color-p'. Update callers.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-08 Stefan Kangas <stefan@marxist.se>
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.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-08 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100027,7 +102356,7 @@
1af00e67d6 Include the refcards in the release tarball
3c29fb705c ; * src/Makefile.in (../native-lisp): Make the long recipe...
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-07 Stefan Kangas <stefan@marxist.se>
Make mh-* XEmacs compat aliases obsolete
@@ -100049,21 +102378,21 @@
obsolete function aliases for the same names but without the "mh-"
prefix. Update all callers.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Update inhibit-changing-match-data obsoletion data
* lisp/subr.el (inhibit-changing-match-data): Link to
`save-match-data'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Update Fstring_match calls in comp.c
* src/comp.c (Fcomp_el_to_eln_rel_filename, file_in_eln_sys_dir):
Update Fstring_match calls.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Make 'inhibit-changing-match-data' obsolete and adjust callers
@@ -100088,14 +102417,14 @@
(Fposix_looking_at, Fposix_string_match): Add optional
inhibit-modify parameter.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Make gnus-define-keys obsolete
* lisp/gnus/gnus-util.el (gnus-define-keys):
(gnus-define-keys-1): Make obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Convert mh-e to use define-keymap instead of gnus-define-keys
@@ -100107,13 +102436,13 @@
* lisp/mh-e/mh-folder.el (mh-folder-mode-map): Convert to use
`define-keymap' instead of `gnus-define-keys'.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-07 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
7cb98ba057 (origin/emacs-28) ; * src/keyboard.c (make_lispy_position)...
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-07 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100129,7 +102458,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Fix mh-e compilation warning
@@ -100138,7 +102467,7 @@
* lisp/mh-e/mh-identity.el (mh-identity-make-menu): Don't call the
obsolete `mh-identity-add-menu' function (that now does nothing).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-07 Stefan Kangas <stefan@marxist.se>
Revert "Declare compat macro mh-do-in-gnu-emacs obsolete"
@@ -100147,7 +102476,7 @@
This commit led to some build failures that I don't yet understand, so
I'm reverting it for now so as not to leave master in a broken state.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-07 Stefan Kangas <stefan@marxist.se>
Delete some XEmacs compat code from mh-e/*.el
@@ -100163,7 +102492,7 @@
* lisp/mh-e/mh-xface.el (mh-show-xface-function): Delete some
XEmacs compat code.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-07 Stefan Kangas <stefan@marxist.se>
Declare compat macro mh-do-in-gnu-emacs obsolete
@@ -100183,7 +102512,7 @@
(mh-picon-image-types, mh-x-image-display): Don't wrap code in
compat macro 'mh-do-in-gnu-emacs'.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-07 Stefan Kangas <stefan@marxist.se>
Declare compat macro mh-do-in-xemacs obsolete
@@ -100206,20 +102535,20 @@
(mh-picon-image-types, mh-x-image-display): Delete calls to
'mh-do-in-xemacs'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-07 Lars Ingebrigtsen <larsi@gnus.org>
Fix syntax error in previous gnus-registry-install-shortcuts change
* lisp/gnus/gnus-registry.el (gnus-registry-install-shortcuts):
Fix syntax error in previous change.
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-06 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): Scope
Fix the scoping of `tramp-archive-enabled`.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-06 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100241,14 +102570,14 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Reparent `gnus-article-mode-map' again
* lisp/gnus/gnus-art.el (:keymap): Make `button-buffer-map' the
parent of `gnus-article-mode-map' again.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Add new major mode 'clean-mode'
@@ -100256,7 +102585,7 @@
* lisp/simple.el (clean-mode): New major mode.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Add an optional parameter to kill-all-local-variables
@@ -100269,33 +102598,33 @@
* src/print.c (temp_output_buffer_setup):
* src/minibuf.c (set_minibuffer_mode): Adjust callers.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-06 Michael Albinus <michael.albinus@gmx.de>
* admin/notes/emba (Emacs jobset): Update.
* test/infra/gitlab-ci.yml (.test-template): Uncomment
'allow_failure', it isn't needed anymore.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Make unused macro gnus-local-set-keys obsolete
* lisp/gnus/gnus-util.el (gnus-local-set-keys): Make obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Make unused gnus-define-keys-safe macro obsolete
* lisp/gnus/gnus-util.el (gnus-define-keys-safe): Make obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Use `define-keymap' in gnus-registry-install-shortcuts
* lisp/gnus/gnus-registry.el (gnus-registry-install-shortcuts):
Use `define-keymap'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Make `gnus-define-keymap' obsolete and adjust caller
@@ -100304,14 +102633,14 @@
* lisp/gnus/gnus-util.el (gnus-define-keymap): Make obsolete.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix gnus-start.el compilation warning
* lisp/gnus/gnus-start.el (gnus-save-newsrc-file-last-timestamp):
Move to avoid a compilation warning.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Finish conversion of Gnus from `gnus-define-keys'
@@ -100326,14 +102655,14 @@
(gnus-article-edit-mode-map): Use `define-keymap' instead of
* `gnus-define-keys'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Clear gnus-save-newsrc-file-last-timestamp on start and exit
* lisp/gnus/gnus-start.el (gnus-clear-system): Clear
`gnus-save-newsrc-file-last-timestamp' on start and exit (bug#51053).
-2023-04-15 Arash Esbati <arash@gnu.org>
+2021-10-06 Arash Esbati <arash@gnu.org>
Improve finding external documents in reftext
@@ -100342,7 +102671,7 @@
second optional argument provided by LaTeX package xr-hyper
(bug#51054).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-06 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Add tests for incomplete escape sequences in ansi-color-tests
@@ -100350,7 +102679,7 @@
(ansi-color-tests-equal-props): New function.
(ansi-color-incomplete-sequences-test): New ert test (bug#50806).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-06 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Documentation fixes for recent ansi-color additions
@@ -100360,13 +102689,13 @@
(term-handle-colors-array):
Fix obsoleting version (bug#50806).
-2023-04-15 Yuri D'Elia <wavexx@thregr.org>
+2021-10-06 Yuri D'Elia <wavexx@thregr.org>
Document the improved scroll-margin behavior
* etc/NEWS: document the improved `scroll-margin' behavior.
-2023-04-15 Yuri D'Elia <wavexx@thregr.org>
+2021-10-06 Yuri D'Elia <wavexx@thregr.org>
Perform cleanup on errors in mouse-drag-track
@@ -100377,7 +102706,7 @@
* lisp/mouse.el (mouse-drag-track): Correctly reset original values
changed during execution if errors occur.
-2023-04-15 Yuri D'Elia <wavexx@thregr.org>
+2021-10-06 Yuri D'Elia <wavexx@thregr.org>
Improve interaction between mouse-drag-region and scroll-margin
@@ -100386,14 +102715,14 @@
dragging is over, making selections work as expected when inside the
margins.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-06 Lars Ingebrigtsen <larsi@gnus.org>
Fix up gnus-summary-mode-map after previous change
* lisp/gnus/gnus-sum.el (:keymap): Fix two sub-maps that were
moved to the wrong place.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-05 Lars Ingebrigtsen <larsi@gnus.org>
Convert more parts of Gnus from `gnus-define-keys' to `define-keymap'
@@ -100413,11 +102742,11 @@
* lisp/gnus/gnus.el: Define more commands.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-05 Stefan Kangas <stefan@marxist.se>
Do interactive mode tagging for proced.el
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-05 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100443,14 +102772,14 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-05 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
13f459b3ac ; Describe PROBLEMS with Unicode display on some TTYs
7a98a62079 * test/README: Mention :nativecomp tag.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2021-10-05 Basil L. Contovounesios <contovob@tcd.ie>
Fix recent "erts files" additions in ERT manual
@@ -100458,7 +102787,7 @@
than tabs, since Texinfo treats tab characters as a single space;
see (info "(texinfo) @example"). Fix typos/thinkos.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-05 Stefan Kangas <stefan@marxist.se>
Make 'mapconcat' argument 'separator' optional
@@ -100472,7 +102801,7 @@
mapconcat argument in example.
* lisp/emacs-lisp/subr-x.el (string-join): Doc fix.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-05 Stefan Kangas <stefan@marxist.se>
Make two old function aliases obsolete
@@ -100480,7 +102809,7 @@
(bibtex-find-entry): Make function aliases obsolete. These were left
behind when renaming functions, but never declared obsolete.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-05 Stefan Kangas <stefan@marxist.se>
Set advertised calling convention on make-face-* functions
@@ -100489,7 +102818,7 @@
Use `advertised-calling-convention` to avoid promoting the third
_noerror argument; it has been ignored since 1999.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-05 Lars Ingebrigtsen <larsi@gnus.org>
Change the call convention for `defvar-keymap'
@@ -100519,14 +102848,14 @@
* lisp/emacs-lisp/lisp-mode.el (lisp-indent--defvar-keymap): Remove.
(lisp-indent-function): Don't use it.
-2023-04-15 Daniel Martín <mardani29@yahoo.es>
+2021-10-05 Daniel Martín <mardani29@yahoo.es>
Update documentation about how M-x completes obsolete commands
* doc/emacs/m-x.texi (M-x): Mention that Emacs offers completion for
commands marked obsolete in the current version of Emacs (bug#51017).
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-05 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
In term-mode, handle ANSI codes, specifying italic and other modes
@@ -100539,7 +102868,7 @@
modes.
* test/lisp/term-tests.el (ansi-test-strings): Adjust tests.
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-05 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Add support for 256-color and 24bit ANSI colors in term-mode
@@ -100555,7 +102884,7 @@
* test/lisp/term-tests.el (ansi-test-strings): Add tests for 256-color
and 24bit ANSI colors
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-05 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Add support for 256-color and 24bit ANSI colors in ansi-color
@@ -100569,7 +102898,7 @@
* test/lisp/ansi-color-tests.el (ansi-color-tests--strings): Add tests
for ANSI codes 38 and 34
-2023-04-15 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
+2021-10-05 Miha RihtarÅ¡iÄ <miha@kamnitnik.top>
Optimize ansi-color.el
@@ -100594,7 +102923,7 @@
(ansi-color-get-face-1): Make obsolete as this function isn't used any
more (bug#50806).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-05 Lars Ingebrigtsen <larsi@gnus.org>
Make `memory-report-object-size' work standalone
@@ -100603,7 +102932,7 @@
(memory-report--set-size): Initialize
memory-report-object-size.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-04 Stefan Kangas <stefan@marxist.se>
Use format-prompt for many more prompts
@@ -100668,20 +102997,20 @@
* lisp/progmodes/xref.el (xref--read-identifier): Prefer format-prompt
when it is fboundp.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix syntax error in define-keymap doc string
* lisp/subr.el (define-keymap): Fix syntax error in (fn.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-10-04 Robert Pluim <rpluim@gmail.com>
Fix problem with 'vertical-motion' and emoji
* src/font.c (font_range): Pass correct position to
font_for_char (Bug#51012).
-2023-04-15 Mattias Engdegård <mattiase@acm.org>
+2021-10-04 Mattias Engdegård <mattiase@acm.org>
Run ERT tests with `lexical-binding` bound to `t`
@@ -100689,7 +103018,7 @@
Use t rather than the ambient file value for `lexical-binding` to
avoid bad lexbind coverage by mistake.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-04 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100703,7 +103032,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-04 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100763,7 +103092,7 @@
# etc/NEWS
# test/lisp/subr-tests.el
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-10-04 Eli Zaretskii <eliz@gnu.org>
Revert "Fix problem with outputting error messages while dumping Emacs"
@@ -100771,7 +103100,7 @@
A better fix was committed to the emacs-28 branch and will be
merged to master.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Remove :copy from define-keymap
@@ -100783,20 +103112,20 @@
* lisp/net/eww.el (eww-link-keymap): Use :parent.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Fix gnus-group-mode-map breakage from previous patch
* lisp/gnus/gnus-group.el (:keymap): Restore gnus-group-list-map
key strokes to the correct location.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Document with-memoization
* doc/misc/cl.texi (Modify Macros): Document with-memoization.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Add new command 'ensure-empty-lines'.
@@ -100804,11 +103133,11 @@
* lisp/emacs-lisp/subr-x.el (ensure-empty-lines): New command.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-04 Michael Albinus <michael.albinus@gmx.de>
* test/infra/gitlab-ci.yml (test-native-comp-speed0): Fix thinko.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Add new user option 'translate-upper-case-key-bindings'
@@ -100819,28 +103148,28 @@
* src/keyboard.c (read_key_sequence): Use it.
(syms_of_keyboard): New variable 'translate-upper-case-key-bindings'.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Remove MozRepl stuff from js.el
* lisp/progmodes/js.el: Remove all the mozrepl stuff from js.el
(bug#40771).
-2023-04-15 Carlos Pita <carlosjosepita@gmail.com>
+2021-10-04 Carlos Pita <carlosjosepita@gmail.com>
Avoid a warning in python-eldoc-setup-code
* lisp/progmodes/python.el (python-eldoc-setup-code): Avoid a
deprecation warning about formatargspec (bug#50996).
-2023-04-15 Gregory Heytings <gregory@heytings.org>
+2021-10-04 Gregory Heytings <gregory@heytings.org>
Fix problem with outputting error messages while dumping Emacs
* src/print.c (print_error_message): Don't call
substitute-command-keys while bootstrapping.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Allow computing :doc-spec info-look elements at run time
@@ -100851,11 +103180,11 @@
(:mode): Use a dynamic expansion for Python to postpone the lookup.
(info-complete): Expand.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Update NEWS for 'define-keymap'
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Convert some keymaps to defvar-keymap
@@ -100880,7 +103209,7 @@
* lisp/gnus/gnus.el: Autoload gnus-score-edit-all-score.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-04 Lars Ingebrigtsen <larsi@gnus.org>
Add 'define-keymap' and 'defvar-keymap'
@@ -100895,11 +103224,11 @@
function.
(lisp-indent-function): Use it to indent defvar-keymap.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-03 Michael Albinus <michael.albinus@gmx.de>
* test/infra/gitlab-ci.yml (.native-comp-template): Revert change.
-2023-04-15 Michael Albinus <michael.albinus@gmx.de>
+2021-10-03 Michael Albinus <michael.albinus@gmx.de>
Improve native compilation on emba
@@ -100913,7 +103242,7 @@
(build-native-comp-speed1, build-native-comp-speed2)
(test-native-comp-speed0): New jobs.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Obsolete the light-blue theme
@@ -100921,7 +103250,7 @@
since it's not maintained and seems to serve no particular use
case (bug#47047).
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-03 Lars Ingebrigtsen <larsi@gnus.org>
Allow obsoleting themes
@@ -100930,14 +103259,14 @@
* lisp/custom.el (load-theme): Issue a warning if the theme is
obsolete (bug#47047).
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-02 Stefan Kangas <stefan@marxist.se>
Expand internal--format-docstring-line test
* test/lisp/subr-tests.el (subr-test-internal--format-docstring-line):
Check for error on newline.
-2023-04-15 Stefan Kangas <stefan@marxist.se>
+2021-10-02 Stefan Kangas <stefan@marxist.se>
Support 'strong-italic' facemenu face in html-mode
@@ -100945,7 +103274,7 @@
(sgml-mode-facemenu-add-face-function, html-face-tag-alist):
Support 'strong-italic' facemenu face.
-2023-04-15 Alexandre Duret-Lutz <adl@lrde.epita.fr>
+2021-10-02 Alexandre Duret-Lutz <adl@lrde.epita.fr>
gnus-icalendar: Missing attendees are not REQ-PARTICIPANT
@@ -100958,7 +103287,7 @@
user is not listed is covered by gnus-icalendar-parse already
(bug#50749).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-generic.el: Fix test/lisp/loadhist-tests
@@ -100966,11 +103295,11 @@
had fixed it in a better way anyway (a way which doesn't litter the
`load-history`).
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher): Fix regression
-2023-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+2021-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/subr-x.el (with-memoization): New macro
@@ -100980,7 +103309,7 @@
(cl--generic-build-combined-method, cl-generic-generalizers): Use it.
(cl--generic-with-memoization): Delete.
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-01 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100989,7 +103318,7 @@
1e79c9e9c0 ; * admin/release-branch.txt: Small edits.
f1f57a541e Fix some custom types
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-01 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -100998,7 +103327,7 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Glenn Morris <rgm@gnu.org>
+2021-10-01 Glenn Morris <rgm@gnu.org>
Merge from origin/emacs-28
@@ -101017,42 +103346,42 @@
# Conflicts:
# etc/NEWS
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix one-clause movement in erts-mode--goto-start-of-test
* lisp/progmodes/erts-mode.el (erts-mode--goto-start-of-test): Fix
so this works in one-clause tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Fix text in erts-run-test message
* lisp/progmodes/erts-mode.el (erts-run-test): New command and
keystroke.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Add new command erts-run-test
* lisp/progmodes/erts-mode.el (erts-run-test): New command and
keystroke.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Refactor out ert-test--erts-test
* lisp/emacs-lisp/ert.el (ert-test--erts-test): Refactor out the
bulk of the function for easier reuse.
-2023-04-15 Peter Münster <pm@a16n.net>
+2021-10-01 Peter Münster <pm@a16n.net>
New command for unmarking all images in image-dired
* lisp/image-dired.el (image-dired-unmark-all-marks): Remove marks from
Dired buffer and update the view of the thumbnails (bug#50920).
-2023-04-15 Alexandre Duret-Lutz <adl@lrde.epita.fr>
+2021-10-01 Alexandre Duret-Lutz <adl@lrde.epita.fr>
default role for attendees is REQ-PARTICIPANT
@@ -101062,7 +103391,7 @@
is missing from an ATTENDEE line, follow RFC5546 and default
to REQ-PARTICIPANT.
-2023-04-15 Alexandre Duret-Lutz <adl@lrde.epita.fr>
+2021-10-01 Alexandre Duret-Lutz <adl@lrde.epita.fr>
allow party crashers to respond to ical events
@@ -101080,7 +103409,7 @@
(gnus-icalendar-event--build-reply-event-body): Add an attendee
line for the user in case one was not found.
-2023-04-15 Alexandre Duret-Lutz <adl@lrde.epita.fr>
+2021-10-01 Alexandre Duret-Lutz <adl@lrde.epita.fr>
reply to the organizer of an ical event
@@ -101095,7 +103424,7 @@
event.
(gnus-icalendar-reply) Pass that organizer to the previous function.
-2023-04-15 akater <nuclearspace@gmail.com>
+2021-10-01 akater <nuclearspace@gmail.com>
Restore the flet indentation fixes
@@ -101103,14 +103432,14 @@
function.
(lisp-indent-function): Use it to fix cl-flet indentation.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Add a new command to mark a region as a test in erts-mode
* lisp/progmodes/erts-mode.el (erts-mode--in-test-p): Fix test.
(erts-tag-region): New command and keystroke.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Allow skipping erts tests
@@ -101118,11 +103447,11 @@
* lisp/emacs-lisp/ert.el (ert-test-erts-file): Allow skipping tests.
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Add more indentation tests for Emacs Lisp mode
-2023-04-15 Lars Ingebrigtsen <larsi@gnus.org>
+2021-10-01 Lars Ingebrigtsen <larsi@gnus.org>
Add new functionality to write buffer-based tests
@@ -101137,14 +103466,14 @@
* lisp/progmodes/erts-mode.el: New mode and file.
-2023-04-15 Ihor Radchenko <yantar92@gmail.com>
+2021-10-01 Ihor Radchenko <yantar92@gmail.com>
Save position in mark ring before jumping to definition
* lisp/help-mode.el (help-function-def--button-function): Current
point is saved in the mark ring before jumping to definition.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-09-30 Eli Zaretskii <eliz@gnu.org>
Update emacs-module sources for Emacs 29
@@ -101154,7 +103483,7 @@
the next release.
* src/module-env-29.h: New file.
-2023-04-15 Eli Zaretskii <eliz@gnu.org>
+2021-09-30 Eli Zaretskii <eliz@gnu.org>
Bump Emacs version to 29.0.50
@@ -101170,7 +103499,7 @@
* lisp/cus-edit.el (customize-changed-options-previous-release):
Update the reference version of Emacs.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-09-05 João Távora <joaotavora@gmail.com>
Fixup last commit
@@ -101187,7 +103516,7 @@
* eglot.el (eglot-completion-at-point): Fix all-completions call
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-09-05 João Távora <joaotavora@gmail.com>
Respect completion-regexp-alist in eglot's completion table
@@ -101198,7 +103527,7 @@
* eglot.el (eglot-completion-at-point): use all-completions.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-09-01 João Távora <joaotavora@gmail.com>
Fix typo in user-visible eglot-ignored-server-capabilities
@@ -101211,7 +103540,7 @@
* eglot.el (eglot-ignored-server-capabilities): New defcustom.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-08-17 João Távora <joaotavora@gmail.com>
Fall back to prompting user if eglot-alternatives fails
@@ -101219,7 +103548,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/719
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-08-17 João Távora <joaotavora@gmail.com>
Let eglot-flymake-backend be in flymake-d-functions even if eglot off
@@ -101238,33 +103567,33 @@
* eglot.el (eglot-flymake-backend): If buffer isn't being managed
by Eglot, behave as a noop.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-08-16 Yuuki Harano <masm+github@masm11.me>
Make PGTK's additions conditioinal
* src/.gdbinit: Make them enclosed in condition.
* src/alloc.c: Define defined_HAVE_PGTK and make it externally visible.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-08-16 Yuuki Harano <masm+github@masm11.me>
* lisp/term/pgtk-win.el (pgtk-preedit-text): Write doc string
* lisp/term/pgtk-win.el (pgtk-face-at-pos): Remove unused function
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-08-15 Yuuki Harano <masm+github@masm11.me>
* lisp/term/pgtk-win.el: Remove some font stuff
pgtk-popup-font-panel does not exist.
pgtk-respond-to-change-font is not used.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-08-15 Yuuki Harano <masm+github@masm11.me>
* lisp/term/pgtk-win.el (pgtk-pop-up-frames): Remove since it is not used
* configure.ac: Add a notice to --with-pgtk
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-08-15 Yuuki Harano <masm+github@masm11.me>
* configure.ac: Remove imagemagick special support code for pgtk
@@ -101272,7 +103601,7 @@
I wanted to use imagemagick 6.
The code is not needed any more.
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2021-07-21 Brian Leung <bkleung89@gmail.com>
João Távora <joaotavora@gmail.com
Add support for locationlink
@@ -101290,14 +103619,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/712
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-06-18 Yuuki Harano <masm+github@masm11.me>
Fix a frame created without scroll/menu/toolbar is empty
* src/pgtkterm.c (size_allocate): Get frame pointer through user_data.
(pgtk_set_event_handler): Pass it.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-06-18 Yuuki Harano <masm+github@masm11.me>
Revert "Revert "* src/pgtkfns.c: Do not show an empty frame prematurely""
@@ -101306,7 +103635,7 @@
The commit 83c35b8 causes the empty frame bug, so I reverted.
Now, I debugged so re-apply the commit.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-06-13 João Távora <joaotavora@gmail.com>
Transpose order of "pylsp" and "pyls" alternatives
@@ -101318,7 +103647,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/703
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-06-13 João Távora <joaotavora@gmail.com>
Don't call eglot--executable-find more than needed
@@ -101328,26 +103657,26 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/703
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-06-13 Yuuki Harano <masm+github@masm11.me>
Revert "* src/pgtkfns.c: Do not show an empty frame prematurely"
This reverts commit 83c35b86da233870231e30d114ffa4640eb10081.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-06-13 Yuuki Harano <masm+github@masm11.me>
Revert "; * src/pgtkfns.c (Fx_create_frame): Fix coding style"
This reverts commit 4b91168c657e3476b8a0a3f539ee6bcb1b71e3d5.
-2023-04-15 JindÅ™ich MakoviÄka <makovick@gmail.com>
+2021-06-13 JindÅ™ich MakoviÄka <makovick@gmail.com>
* src/pgtkfns.c: Do not show an empty frame prematurely
Set only the child widgets visible, leave the outer window
to pgtk_make_frame_visible .
-2023-04-15 Liu Hui <ilupin@users.noreply.github.com> (tiny change)
+2021-06-11 Liu Hui <ilupin@users.noreply.github.com> (tiny change)
Consider tramp in eglot-alternatives
@@ -101355,14 +103684,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/702
-2023-04-15 JindÅ™ich MakoviÄka <makovick@gmail.com>
+2021-06-08 JindÅ™ich MakoviÄka <makovick@gmail.com>
* src/pgtkselect.c: Avoid Glib assertion warnings
Do not call g_object_get_qdata, when the clipboard has no owner,
and obj is NULL. Just return Qnil immediately.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-06-05 Yuuki Harano <masm+github@masm11.me>
Support frame-scale-factor on pgtk frames
@@ -101371,18 +103700,18 @@
* src/frame.h: Call it when a pgtk frame.
* src/pgtkterm.h: Add the declaration.
-2023-04-15 JindÅ™ich MakoviÄka <makovick@gmail.com>
+2021-05-30 JindÅ™ich MakoviÄka <makovick@gmail.com>
* src/pgtkterm.c: Honor system DPI settings
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-29 Yuuki Harano <masm+github@masm11.me>
Disable hyper key when super and hyper conflict
* src/pgtkterm.c (x_find_modifier_meanings): If super_mod_mask and
hyper_mod_mask are equal, then disable hyper.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-05-26 João Távora <joaotavora@gmail.com>
Use project-files to know which directory watchers to skip
@@ -101397,7 +103726,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/697
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-05-26 João Távora <joaotavora@gmail.com>
Hard code an exception to "node_modules" directores
@@ -101406,7 +103735,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/697
GitHub-reference: per https://github.com/joaotavora/eglot/issues/645
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-05-26 João Távora <joaotavora@gmail.com>
Again speed up directory watching
@@ -101423,7 +103752,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/697
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/645
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-05-22 João Távora <joaotavora@gmail.com>
Support multiple servers out-of-box for same mode
@@ -101438,7 +103767,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/688
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2021-05-22 Augusto Stoffel <arstoffel@gmail.com>
Allow staying out of flymake-mode, eldoc-mode
@@ -101447,30 +103776,30 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/671
-2023-04-15 Colin Woodbury <colin@fosskers.ca>
+2021-05-22 Colin Woodbury <colin@fosskers.ca>
* src/frame.c (Fframep): Update framep docstring
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-19 Yuuki Harano <masm+github@masm11.me>
Fix compile error when PGTK_DEBUG is enabled
* src/pgtkterm.c (pgtk_set_window_size): Remove "pixelwise" arg,
which is already non-existent.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-19 Yuuki Harano <masm+github@masm11.me>
* src/image.c: Fix compile error related xpm in image.c
Use the same code as NS.
-2023-04-15 Troy Hinckley <t.macman@gmail.com>
+2021-05-17 Troy Hinckley <t.macman@gmail.com>
Fix tests and documentation for hook
Auto detect mode suffix in hook keyword
-2023-04-15 Michael Livshin <mlivshin@gmail.com>
+2021-05-16 Michael Livshin <mlivshin@gmail.com>
João Távora <joaotavora@gmail.com>
Manage cross-referenced files outside project in same server
@@ -101497,7 +103826,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/76
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-15 Yuuki Harano <masm+github@masm11.me>
Revert "Update texts while busy"
@@ -101505,7 +103834,7 @@
Because the position of the initial frame is not desired, unless
initial-frame-alist is set.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-15 Yuuki Harano <masm+github@masm11.me>
Update texts while busy
@@ -101518,7 +103847,7 @@
(pgtk_hide_hourglass): Remove code to stop timer.
(pgtk_term_init): Call start_timer().
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-14 Yuuki Harano <masm+github@masm11.me>
Create a variable to enable selection on multi display
@@ -101526,7 +103855,7 @@
returns true.
(syms_of_pgtkselect): New bool variable.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-13 Yuuki Harano <masm+github@masm11.me>
Treat all the wayland connection as the same display
@@ -101544,7 +103873,7 @@
(pgtk_display_info_for_name): If both are wayland connection, then
they are the same display.
-2023-04-15 Jim Porter <itsjimporter@gmail.com>
+2021-05-13 Jim Porter <itsjimporter@gmail.com>
João Távora <joaotavora@gmail.com>
Correct path/uri when using tramp from ms windows
@@ -101557,7 +103886,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/679
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-05-13 João Távora <joaotavora@gmail.com>
Provide context for finer project-find-functions
@@ -101570,7 +103899,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/687
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2021-05-12 Jeff Walsh <fejfighter@gmail.com>
* src/pgtkterm.c remove duplicated code
@@ -101579,7 +103908,7 @@
(pgtk_redisplay_interface): Remove duplicate code and default to the
generic gui_update_window_begin/end implementations
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-10 Yuuki Harano <masm+github@masm11.me>
Fix frame size shrinking when turning fringe/scrollbars on/off
@@ -101588,7 +103917,7 @@
* src/pgtkterm.c (pgtk_set_window_size): Don't use
FRAME_PIXEL_TO_TEXT_WIDTH/HEIGHT to pass pixel size.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-09 Yuuki Harano <masm+github@masm11.me>
Fix pgtk_make_frame_visible doesn't work
@@ -101599,11 +103928,11 @@
(pgtk_make_frame_invisible): Call pgtk_wait_for_map_event to wait
for multiple map events.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-08 Yuuki Harano <masm+github@masm11.me>
* src/pgtkmenu.c (show_help_event): Let emacs not show menu tooltips
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-05-08 Yuuki Harano <masm+github@masm11.me>
Entrust Gtk with handling tooltips
@@ -101622,7 +103951,7 @@
* src/gtkutil.h: New declaration of xg_show_tooltip for pgtk.
* src/pgtkfns.c (Fx_show_tip): Calls xg_show_tooltip, and always ok.
-2023-04-15 Steve Purcell <steve@sanityinc.com>
+2021-04-30 Steve Purcell <steve@sanityinc.com>
João Távora <joaotavora@gmail.com>
Fix emacs 28 warning by avoiding positional args in define-minor-mode
@@ -101631,7 +103960,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/685
-2023-04-15 Steve Purcell <steve@sanityinc.com>
+2021-04-29 Steve Purcell <steve@sanityinc.com>
João Távora <joaotavora@gmail.com>
Allow lsp languageid to be overridden via eglot-server-programs
@@ -101653,7 +103982,7 @@
* README.md (Handling quirky servers): Mention new feature.
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2021-04-28 Augusto Stoffel <arstoffel@gmail.com>
Add a completion-category-defaults entry
@@ -101667,7 +103996,7 @@
(eglot-completion-at-point): Add style metadata to
completion table.
-2023-04-15 Steve Purcell <steve@sanityinc.com>
+2021-04-25 Steve Purcell <steve@sanityinc.com>
Switch default langserver for ocaml to ocamllsp
@@ -101685,7 +104014,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/677
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-04-23 João Távora <joaotavora@gmail.com>
Declare eglot--cached-server before use
@@ -101697,7 +104026,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/673
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-04-20 João Távora <joaotavora@gmail.com>
Make eglot-current-server work in notification handlers
@@ -101706,11 +104035,11 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/670
-2023-04-15 Daniel Perez Alvarez <danielpza@protonmail.com> (tiny change)
+2021-04-17 Daniel Perez Alvarez <danielpza@protonmail.com> (tiny change)
feat: add update custom packages command
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-04-13 Yuuki Harano <masm+github@masm11.me>
Workaround touchscreen events are ignored on sway
@@ -101721,7 +104050,7 @@
* src/pgtkterm.c (button_event): Don't call xg_event_is_for_scrollbar.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-04-12 João Távora <joaotavora@gmail.com>
Add a passing test demonstrating clangd + tramp works
@@ -101739,7 +104068,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/667
-2023-04-15 Dmitry Gutov <dgutov@yandex.ru>
+2021-04-12 Dmitry Gutov <dgutov@yandex.ru>
Merge pull request from mohkale/company-kind
@@ -101747,7 +104076,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/656
-2023-04-15 Mohsin Kaleem <mohkale@kisara.moe>
+2021-04-12 Mohsin Kaleem <mohkale@kisara.moe>
Add :company-kind to eglot-completion-at-point
@@ -101757,7 +104086,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/652
-2023-04-15 Mohsin Kaleem <mohkale@kisara.moe>
+2021-04-10 Mohsin Kaleem <mohkale@kisara.moe>
Highlight relevant part of xref hits using xref-match face
@@ -101767,7 +104096,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/650
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-04-10 João Távora <joaotavora@gmail.com>
Attempt to speed up initial directory/glob correspondence
@@ -101805,7 +104134,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/645
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-04-03 João Távora <joaotavora@gmail.com>
Generalize eglot-flymake-backend
@@ -101824,7 +104153,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/596
-2023-04-15 rvs314 <71688932+rvs314@users.noreply.github.com> (tiny change)
+2021-03-26 rvs314 <71688932+rvs314@users.noreply.github.com> (tiny change)
Offer better control over "languageid" value sent to lsp
@@ -101840,7 +104169,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/525
-2023-04-15 Johnathan C. Maudlin <13183098+jcmdln@users.noreply.github.com> (tiny change)
+2021-03-19 Johnathan C. Maudlin <13183098+jcmdln@users.noreply.github.com> (tiny change)
Add support for zls, the zig language server
@@ -101850,7 +104179,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/646
-2023-04-15 bc² <odanoburu@users.noreply.github.com> (tiny change)
+2021-03-15 bc² <odanoburu@users.noreply.github.com> (tiny change)
João Távora <joaotavora@gmail.com>
Add new command eglot-shutdown-all
@@ -101867,22 +104196,22 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/643
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2021-03-13 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
Properly sort use-package-statistics-report
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-03-11 Yuuki Harano <masm+github@masm11.me>
Fix some leaks
* src/pgtkterm.c (x_free_frame_resources): Free cursors.
(pgtk_delete_terminal): Free cursors and events.
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2021-03-07 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
Fix void-variable use-package-enable-imenu-support
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-03-06 João Távora <joaotavora@gmail.com>
Autoload eglot-workspace-configuration's safe-l-v spec
@@ -101895,7 +104224,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/555
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2021-03-06 Brian Leung <bkleung89@gmail.com>
Indicate support for activeparameter
@@ -101905,7 +104234,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/605
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-03-06 João Távora <joaotavora@gmail.com>
Simplify eglot--apply-workspace-edit
@@ -101915,7 +104244,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/620
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2021-03-06 Augusto Stoffel <arstoffel@gmail.com>
João Távora <joaotavora@gmail.com>
Remove highlight overlays immediately when symbol edited
@@ -101925,7 +104254,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/626
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2021-03-06 Theodor Thornhill <theo@thornhill.no>
João Távora
Convert colon to hex in uri
@@ -101941,7 +104270,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/638
-2023-04-15 Brian Cully <bjc@kublai.com>
+2021-03-06 Brian Cully <bjc@kublai.com>
João Távora <joaotavora@gmail.com>
Add tramp support
@@ -101977,7 +104306,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/637
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2021-03-03 Theodor Thornhill <theo@thornhill.no>
Correctly protect against zero-length completion items
@@ -101988,7 +104317,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/635
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-03-02 Yuuki Harano <masm+github@masm11.me>
Fix unicode strings can't be pasted correctly
@@ -102000,7 +104329,7 @@
text/plain;charset=utf-8 as foreign-selection.
(syms_of_pgtkselect): Add new symbol.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-03-02 Yuuki Harano <masm+github@masm11.me>
Support selection type text/plain on wayland
@@ -102009,7 +104338,7 @@
* lisp/select.el (x-select-request-type): Add choice `text/plain'.
(gui--selection-value-internal): Add text/plain to the default list.
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2021-02-27 Theodor Thornhill <theo@thornhill.no>
João Távora <joaotavora@gmail.com>
Protect against empty uris on windows
@@ -102020,7 +104349,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/610
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-26 João Távora <joaotavora@gmail.com>
Urify better
@@ -102031,7 +104360,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/627
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-26 João Távora <joaotavora@gmail.com>
Fixup last commit to fix
@@ -102039,7 +104368,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/627
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-26 João Távora <joaotavora@gmail.com>
Handle empty actions array in window/showmessagerequest
@@ -102048,7 +104377,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/627
-2023-04-15 Philipp Stephani <phst@google.com>
+2021-02-24 Philipp Stephani <phst@google.com>
Remove uses of deprecated ‘flet’ macro
@@ -102058,7 +104387,7 @@
This also allows us to remove the ‘plist-delete’ helper function, which was
only used to effectively un-deprecate ‘flet’.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-24 João Távora <joaotavora@gmail.com>
Handle null reply for textdocument/definition
@@ -102067,7 +104396,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/625
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-02-23 Yuuki Harano <masm+github@masm11.me>
Make scrollbars ignore scroll-bar-fore/background.
@@ -102075,18 +104404,18 @@
parameters but actually ignore it.
(pgtk_set_scroll_bar_background): The same.
-2023-04-15 Naoya Yamashita <conao3@gmail.com>
+2021-02-22 Naoya Yamashita <conao3@gmail.com>
add testcase
-2023-04-15 Naoya Yamashita <conao3@gmail.com>
+2021-02-22 Naoya Yamashita <conao3@gmail.com>
add autoload keyword
:autoload is similar to :command but this generate autoload
statement as *no-interactive* function.
-2023-04-15 Jonathan del Strother <me@delstrother.com> (tiny change)
+2021-02-21 Jonathan del Strother <me@delstrother.com> (tiny change)
João Távora <joaotavora@gmail.com>
Silence messages while formatting markup
@@ -102101,7 +104430,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/502
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-02-20 Yuuki Harano <masm+github@masm11.me>
Work around I can't copy and paste unicode string to wayland chromium
@@ -102109,18 +104438,18 @@
Remove text/plain, since unicode strings are not correctly
encoded/decoded between Gtk and chromium(wayland) with it.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-02-16 Yuuki Harano <masm+github@masm11.me>
Fix I can't paste international text from clipboard
* lisp/select.el (gui--selection-value-internal):
Try UTF8_STRING when pgtk as well as x.
-2023-04-15 Yurii Kholodkov <urist.mckorobochka@gmail.com> (tiny change)
+2021-02-16 Yurii Kholodkov <urist.mckorobochka@gmail.com> (tiny change)
fix docstring. was: invalid function name
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2021-02-14 Basil L. Contovounesios <contovob@tcd.ie>
Fix unused macro build warning in image.c
@@ -102130,7 +104459,7 @@
unused (bug#46491).
(image_set_transform): Reduce nesting of preprocessor conditionals.
-2023-04-15 Robert Pluim <rpluim@gmail.com>
+2021-02-11 Robert Pluim <rpluim@gmail.com>
Don't crash if we can't find a monitor model name
@@ -102139,7 +104468,7 @@
* src/pgtkfns.c (pgtk_get_monitor_scale_factor): Return 0 if we're
passed a NULL model name.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-02-11 Yuuki Harano <masm+github@masm11.me>
Support getting a image from clipboard
@@ -102147,35 +104476,35 @@
referring selection_data_to_lisp_data in xselect.c
(syms_of_pgtkselect): Add symbols.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2021-02-10 John Wiegley <johnw@newartisans.com>
Merge pull request from minad/improved-unbind
GitHub-reference: https://github.com/jwiegley/use-package/issues/910
-2023-04-15 Daniel Mendler <mail@daniel-mendler.de>
+2021-02-10 Daniel Mendler <mail@daniel-mendler.de>
unbind-key: Ensure that keys are removed from the keymap
* The removal from the keymap is performed by bind-key--remove
* Use the same argument normalization as bind-key
-2023-04-15 Daniel Mendler <mail@daniel-mendler.de>
+2021-02-10 Daniel Mendler <mail@daniel-mendler.de>
bind-key: Use new symbols for kmapvar
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2021-02-07 John Wiegley <johnw@newartisans.com>
Merge pull request from tzz/tzz/use-package-use-theme
Add use-package-use-theme and avoid missing theme errors
GitHub-reference: https://github.com/jwiegley/use-package/issues/907
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2021-02-06 Ted Zlatanov <tzz@lifelogs.com>
Add use-package-use-theme and avoid missing theme errors
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-02-06 Yuuki Harano <masm+github@masm11.me>
Remove unused arg as xmenu.c
@@ -102184,25 +104513,25 @@
(set_frame_menubar): Remove unused arg.
(initialize_frame_menubar): Remove unused arg.
-2023-04-15 Misha Gusarov <dottedmag@dottedmag.net> (tiny change)
+2021-02-06 Misha Gusarov <dottedmag@dottedmag.net> (tiny change)
Make reading GNOME settings optional.
* src/pgtkterm.c (pgtk_term_init): Make reading GNOME settings optional.
(pgtk_text_scaling_factor): New function to read text scaling factor.
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2021-02-06 Ted Zlatanov <tzz@lifelogs.com>
Merge pull request from kljohann/custom-use-single-let
Use a single let binding when expanding consecutive :custom forms
GitHub-reference: https://github.com/jwiegley/use-package/issues/906
-2023-04-15 Johann Klähn <johann@jklaehn.de> (tiny change)
+2021-02-03 Johann Klähn <johann@jklaehn.de> (tiny change)
Use a single let binding when expanding consecutive :custom forms
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-03 João Távora <joaotavora@gmail.com>
Simplify dir-watching strategy of w/didchangewatchedfiles
@@ -102222,7 +104551,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/602
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-02 João Távora <joaotavora@gmail.com>
Tweak glob-parsing grammar
@@ -102232,7 +104561,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/602
-2023-04-15 Philip Kaludercic <philipk@posteo.net>
+2021-02-01 Philip Kaludercic <philipk@posteo.net>
João Távora <joaotavora@gmail.com>
Make eglot-ignored-server-capabilites defcustom a set
@@ -102242,7 +104571,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/467
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-01 João Távora <joaotavora@gmail.com>
Speed up glob matching 2x
@@ -102255,14 +104584,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/602
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2021-02-01 John Wiegley <johnw@newartisans.com>
Merge pull request from tzz/tzz/remove-use-package-from-custom-enabled-themes
Remove use-package theme from global list of custom-enabled-themes
GitHub-reference: https://github.com/jwiegley/use-package/issues/899
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2021-02-01 Felicián Németh <felician.nemeth@gmail.com>
João Távora <joaotavora@gmail.com>
Support phps-mode
@@ -102273,7 +104602,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/418
-2023-04-15 Brian Leung <bkleung89@gmail.com> (tiny change)
+2021-02-01 Brian Leung <bkleung89@gmail.com> (tiny change)
Remove duplicate entry for "registration" lsp type
@@ -102281,7 +104610,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/612
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-01 João Távora <joaotavora@gmail.com>
Prefer typescript-language-server for js&ts
@@ -102293,7 +104622,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/566
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-02-01 João Távora <joaotavora@gmail.com>
Also override global flymake-diagnostic-functions
@@ -102310,7 +104639,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/616
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2021-02-01 Brian Leung <bkleung89@gmail.com>
Explicitly require seq.el
@@ -102321,7 +104650,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/613
-2023-04-15 Brian Leung <bkleung89@gmail.com>
+2021-02-01 Brian Leung <bkleung89@gmail.com>
João Távora <joaotavora@gmail.com>
Support activeparameter property for signatureinformation
@@ -102342,7 +104671,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/605
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-01-31 João Távora <joaotavora@gmail.com>
Fully handle lsp glob syntax
@@ -102360,7 +104689,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/602
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-01-30 João Távora <joaotavora@gmail.com>
Flush pending changes to server before code actions request
@@ -102371,7 +104700,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/609
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-30 Yuuki Harano <masm+github@masm11.me>
Support child frame border width
@@ -102381,7 +104710,7 @@
* src/pgtkterm.c (x_draw_stretch_glyph_string): Re-port code for X.
(pgtk_clear_under_internal_border): Re-port code for X.
-2023-04-15 Yichao Yu <yyc1992@gmail.com>
+2021-01-30 Yichao Yu <yyc1992@gmail.com>
Add support for setting cursor location using Gtk IM Context
@@ -102395,7 +104724,7 @@
add new code to call the function.
* src/pgtkterm.h: Add the function declaration.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-01-29 João Távora <joaotavora@gmail.com>
#fix 608: fix bug in eglot-code-actions
@@ -102406,11 +104735,11 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/606
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-01-28 João Távora <joaotavora@gmail.com>
* eglot.el (eglot): tweak docstring grammar.
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2021-01-28 Andrii Kolomoiets <andreyk.mad@gmail.com>
João Távora <joaotavora@gmail.com>
Offer shortcut commands to commonly invoked code actions
@@ -102435,7 +104764,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/411
-2023-04-15 ssnnoo <43703153+ssnnoo@users.noreply.github.com> (tiny change)
+2021-01-28 ssnnoo <43703153+ssnnoo@users.noreply.github.com> (tiny change)
Add fortls for fotran (f90-mode)
@@ -102445,7 +104774,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/603
-2023-04-15 Brian Leung <bkleung89@gmail.com> (tiny change)
+2021-01-27 Brian Leung <bkleung89@gmail.com> (tiny change)
Add rnix-lsp server for nix-mode, community suggestion
@@ -102455,7 +104784,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/599
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-23 Yuuki Harano <masm+github@masm11.me>
Add scale factor in display-monitor-attributes-list.
@@ -102465,7 +104794,7 @@
* src/frame.h (struct MonitorInfo): Add scale_factor member.
* src/pgtkfns.c (Fpgtk_display_monitor_attributes_list): Set the value.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-20 Yuuki Harano <masm+github@masm11.me>
Make imagemagick images less blurry.
@@ -102473,7 +104802,7 @@
(image_set_transform): Don't skip even if imagemagick.
(imagemagick_load_image): Don't calculate desired size.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2021-01-16 Felicián Németh <felician.nemeth@gmail.com>
João Távora <joaotavora@gmail.com>
Fix eglot-completion-at-point for multiple matches
@@ -102490,7 +104819,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/365
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2021-01-16 Andrii Kolomoiets <andreyk.mad@gmail.com>
Run exit-function only for finished completion
@@ -102501,7 +104830,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/592
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2021-01-13 Augusto Stoffel <arstoffel@gmail.com>
Use `path-separator', not ":", in eclipse/jdt custom code
@@ -102511,7 +104840,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/513
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com>
+2021-01-13 Augusto Stoffel <arstoffel@gmail.com>
Define a face for symbol highlight
@@ -102522,7 +104851,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/584
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-01-13 João Távora <joaotavora@gmail.com>
Unbreak interactivee eglot--connect for complex contact specs
@@ -102535,7 +104864,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/593
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-11 Yuuki Harano <masm+github@masm11.me>
Fix visual-bell on X
@@ -102544,13 +104873,13 @@
On X, surface_orig is not an image surface but xlib surface, so I
cannot get its size with cairo_image_surface_get_{width,height}.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-11 Yuuki Harano <masm+github@masm11.me>
Free unneeded context
* src/pgtkterm.c (pgtk_flash): Free unneeded cairo_t.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2021-01-10 João Távora <joaotavora@gmail.com>
C-u m-x eglot discards class guessed by eglot--guess-contact
@@ -102564,7 +104893,7 @@
* eglot.el (eglot--guess-contact): Don't assume guessed class if
INTERACTIVE.
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2021-01-10 Ted Zlatanov <tzz@lifelogs.com>
Remove use-package theme from global list of custom-enabled-themes
@@ -102575,7 +104904,7 @@
(mapc #'disable-theme custom-enabled-themes)
won't kill user settings.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-10 Yuuki Harano <masm+github@masm11.me>
Fix gtk icon theme does not reflect
@@ -102585,13 +104914,13 @@
(x-gtk-map-stock): Port from X.
* src/pgtkterm.c (syms_of_pgtkterm): Remove duplicated definition.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2021-01-06 John Wiegley <johnw@newartisans.com>
Merge pull request from tzz/tzz/set-comment-and-synthetic-theme
GitHub-reference: https://github.com/jwiegley/use-package/issues/881
-2023-04-15 Jürgen Hötzel <juergen@hoetzel.info> (tiny change)
+2021-01-05 Jürgen Hötzel <juergen@hoetzel.info> (tiny change)
Flex completion style is not available on emacs < 27
@@ -102599,7 +104928,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/582
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-03 Yuuki Harano <masm+github@masm11.me>
Add a function to set monitor scale factor manually
@@ -102615,14 +104944,14 @@
first, if not set, use gdk's one.
(syms_of_pgtkfns): initialize alist.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-03 Yuuki Harano <masm+github@masm11.me>
Fix display-pixel-width/height to return physical pixel size.
* src/pgtkfns.c (Fx_display_pixel_width):
(Fx_display_pixel_height): Return bottom/right-most of all the monitors.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-03 Yuuki Harano <masm+github@masm11.me>
Make display-mm-width/height consider multi-monitor.
@@ -102630,19 +104959,19 @@
(Fx_display_mm_width): Calculate width/height mm assuming monitor
other than origin does not overlap.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2021-01-03 Yuuki Harano <masm+github@masm11.me>
Fix pgtk-display-monitor-attributes-list to return physical pixel sizes.
* src/pgtkfns.c (Fpgtk_display_monitor_attributes_list): Re-port it.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-12-26 Yuuki Harano <masm+github@masm11.me>
Follow get-buffer-create change
* src/pgtkfns.c (Fx_show_tip): Pass nil to get-buffer-create.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-22 João Távora <joaotavora@gmail.com>
Don't block in eglot-imenu if performing non-essential task
@@ -102655,7 +104984,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/212
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-22 João Távora <joaotavora@gmail.com>
Use flex completion if available by default
@@ -102663,14 +104992,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/575
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-16 João Távora <joaotavora@gmail.com>
Bump eglot version to 1.7
* eglot.el (Version): Bump to 1.7.
(Package-Requires): Bump dependency versions.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-16 João Távora <joaotavora@gmail.com>
Allow eglot to stay out of xref configuration
@@ -102679,7 +105008,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/569
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-16 João Távora <joaotavora@gmail.com>
Cosmetic whitespace fix (indentation, long lines, tabs->spaces)
@@ -102687,7 +105016,7 @@
(eglot-code-actions, eglot-register-capability)
(eglot-register-capability): Fix whitespace.
-2023-04-15 TANIGUCHI Kohei <a.d.xvii.kal.mai@gmail.com> (tiny change)
+2020-12-16 TANIGUCHI Kohei <a.d.xvii.kal.mai@gmail.com> (tiny change)
Use haskell-language-server in eglot-server-programs
@@ -102703,7 +105032,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/572
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-15 João Távora <joaotavora@gmail.com>
Robustify previous fix of onchange breakage
@@ -102727,7 +105056,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/367
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-12-14 João Távora <joaotavora@gmail.com>
Don't let m-x fill-paragraph break didchange
@@ -102752,42 +105081,42 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/367
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-12-13 Yuuki Harano <masm+github@masm11.me>
* src/pgtkterm.c (map_event): Remove record_asynch_buffer_change call.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-12-08 Yuuki Harano <masm+github@masm11.me>
Fix DEL key behavior
* lisp/simple.el (normal-erase-is-backspace-setup-frame): Include pgtk
in window-system group.
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2020-11-29 Ted Zlatanov <tzz@lifelogs.com>
Create new "use-package" themse and use it for :custom with custom-theme-set-variables
set property theme-value to avoid saving variable
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2020-11-29 Ted Zlatanov <tzz@lifelogs.com>
Revert "use-package-core.el: use the Emacs set-default function to avoid saving :custom vars twice"
This reverts commit 8c31c57106e2938d627bf4107627c003620d2dd5.
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2020-11-29 Ted Zlatanov <tzz@lifelogs.com>
set saved-variable-comment from :custom
GitHub-reference: https://github.com/jwiegley/use-package/issues/861
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-28 Yuuki Harano <masm+github@masm11.me>
Merge branch 'master' into feature/pgtk
* src/pgtkterm.c (scroll_event): Shut up warnings
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-28 Yuuki Harano <masm+github@masm11.me>
Improve smooth scroll
@@ -102796,13 +105125,13 @@
(pgtk_term_init): Set smooth scroll parameters.
* src/pgtkterm.h (scroll): New members to store parameters.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-27 Yuuki Harano <masm+github@masm11.me>
Enable harfbuzz
* src/pgtkfns.c (Fx_create_frame): Register ftcrhb font driver if enabled.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-26 Yuuki Harano <masm+github@masm11.me>
Add support for hyper modifier key
@@ -102812,26 +105141,26 @@
(key_press_event): Ignore hyper as well as super.
* src/pgtkterm.h (struct pgtk_display_info): New member for hyper.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-25 Yuuki Harano <masm+github@masm11.me>
Fix compilation issue when --enable-checking=glyphs
* src/pgtkfns.c (Fx_create_frame): Remove code surrounded by GLYPH_DEBUG.
(x_create_tip_frame): Remove code surrounded by GLYPH_DEBUG.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix crash when .schema.xml is not installed
* src/pgtkfns.c (parse_resource_key): Check return value.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Add copyright line
* etc/org.gnu.emacs.defaults.gschema.xml: Add copyright line.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Work around gtk_im_context_filter_keypress() issue with super key
@@ -102843,11 +105172,11 @@
super is pressed.
* src/pgtkterm.h (struct pgtk_display_info): New member.
-2023-04-15 Jeff Walsh <jeff.walsh@drtusers-MacBook-Pro.local>
+2020-11-23 Jeff Walsh <jeff.walsh@drtusers-MacBook-Pro.local>
lisp/term/pgtk-win.el: Add copyright file header
-2023-04-15 Jeff Walsh <jeff.walsh@drtusers-MacBook-Pro.local>
+2020-11-23 Jeff Walsh <jeff.walsh@drtusers-MacBook-Pro.local>
Update copyright dates for PGTK files
@@ -102860,7 +105189,7 @@
* src/pgtkterm.c:
* src/pgtkterm.h: Update copyright dates - No Funtional Changes
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix startup failure on svg-unsupported environments
@@ -102869,32 +105198,32 @@
* src/pgtkterm.h (struct pgtk_display_info): Add member.
(struct pgtk_output): Add member.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Avoid weird behavior when resizing with top-left corner
* src/frame.c (syms_of_frame): Defaults frame_resize_pixelwise to true.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Don't use gtk_window_resize to resize offscreen window
* src/xwidget.c (Fmake_xwidget): Use gtk_container_check_resize instead.
(Fxwidget_resize): Use gtk_container_check_resize instead.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Avoid gtk warnings on X
* src/xwidget.c (xwidget_osr_draw_cb): Call it to avoid alloc_needes.
-2023-04-15 Kira Bruneau <kira.bruneau@gmail.com>
+2020-11-23 Kira Bruneau <kira.bruneau@gmail.com>
Avoid mutating invocation-name (tiny change)
* lisp/term/pgtk-win.el (window-system-initialization): copy invocation-name.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix Gtk warnings
@@ -102918,7 +105247,7 @@
* src/pgtkmenu.c (pgtk_menu_show):
(pgtk_dialog_show):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix crash on drag and drop
@@ -102928,13 +105257,13 @@
(drag_data_received): Rename arg.
(pgtk_set_event_handler): Remove drag-drop callback.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix mouse cursor doesn't appear on motion events on xwidgets
* src/xwidget.c (xwidget_osr_event_forward): Propagate motion notify.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix tooltips don't hide on events
@@ -102945,26 +105274,26 @@
(pgtk_set_event_handler): Hook configure-event for outer widgets.
(pgtk_term_init): Clear the flag.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix crash on creating child frames.
* src/pgtkfns.c (frame_geometry): Returns nil when no widget.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix crash when child frame updates toolbar
* src/gtkutil.c (update_frame_tool_bar): Do nothing when child frame.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Exclude Xlib's modifier keys
* src/pgtkterm.c (IsModifierKey): New macro.
(key_press_event): Exclude Xlib's modifier keys.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Re-implement childframe with emacsgtkfixed
@@ -103000,7 +105329,7 @@
(pgtk_set_event_handler): expect map-event for edit_widget not outer widget.
* src/pgtkterm.h (FRAME_WIDGET): New macro.
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2020-11-23 Jeff Walsh <fejfighter@gmail.com>
Add support for x-support-frames
@@ -103011,7 +105340,7 @@
(pgtk_cr_export_frames): port from X11
* src/pgtkterm.h: add defs
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Enable GtkIMContext by default
@@ -103022,13 +105351,13 @@
(Fpgtk_use_im_context): Call pgtk_im_use_context.
(syms_of_pgtkim): New variable Vpgtk_use_im_context_on_new_connection.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Remove duplicated syms_of_xwidget call
* src/emacs.c (main): Remove duplicated syms_of_xwidget() call.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Self-implement tooltip
@@ -103041,14 +105370,14 @@
(syms_of_pgtkfns): Add variables for tooltip.
* src/pgtkterm.c (pgtk_set_event_handler): Set event handler for tooltip.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Add PGTK to system-configuration-features
* configure.ac: Set HAVE_PGTK when configuring for PGTK, and
add PGTK for iteration.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Re-port image drawing code from X
@@ -103056,25 +105385,25 @@
(x_draw_image_foreground): Re-port X code.
(x_draw_image_glyph_string): Re-port X code.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Make pointer visible when motion notify event
* src/pgtkterm.c (motion_notify_event): set pending_signals to true.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix non-English layout does not work
* src/pgtkterm.c (key_press_event): Use Vlocale_coding_system.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix font lock is not applied on continued lines
* src/pgtkterm.c (pgtk_parse_color): Remove alpha bits.
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2020-11-23 Jeff Walsh <fejfighter@gmail.com>
Restore support for terminal only emacs in PGTK (add --with-pgtk)
@@ -103082,14 +105411,14 @@
support.
Adjust X11 window system tests to no clobber pgtk preferences
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2020-11-23 Jeff Walsh <fejfighter@gmail.com>
Add font chooser functionality
* src/pgtkfns.c (Fpgtk_popup_font_panel): repurpose X/gtk font chooser code
(syms_of_pgtkfns): add new symbol
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2020-11-23 Jeff Walsh <fejfighter@gmail.com>
Fix migrating Child frames
@@ -103098,11 +105427,11 @@
(x_set_offset): titlebar off should not be stored as an offset, only
used to calculate final move locations
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
* src/keyboard.c (make_lispy_event): Fix coding style
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Change coding style
@@ -103118,13 +105447,13 @@
(xg_set_toolkit_scroll_bar_thumb):
(xg_event_is_for_scrollbar):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Fix coding style
* src/emacs.c (main): Fix coding style
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Change coding style
@@ -103132,7 +105461,7 @@
(image_create_bitmap_from_data): Change coding style
(image_create_bitmap_from_file): Change coding style
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
* src/pgtkselect.h: Change coding style
@@ -103154,7 +105483,7 @@
* src/pgtkmenu.c (set_frame_menubar): Suppress gcc warning
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
* src/pgtkterm.c (pgtk_defined_color): support gtk special colors
@@ -103180,11 +105509,11 @@
* src/pgtkterm.h: remove pgtk_lisp_to_color declaration
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
* pgtkmenu.c (set_frame_menubar): fix empty menu.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
Make icons and titles work like on X
@@ -103201,25 +105530,25 @@
port from X code.
* pgtkterm.h: add function declarations.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
* pgtk-win.el: fix compile-time warnings.
* src/pgtkterm.c: Remove incorrect mark_object call.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
follow x_set_internal_border_width change.
* ../src/pgtkfns.c (x_set_internal_border_width):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
restore frame_rehighlight_hook.
* src/frame.c (gui_set_border_width):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
use pgtk_menu_set_in_use.
@@ -103228,7 +105557,7 @@
* src/pgtkmenu.c (pgtk_menu_wait_for_event):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
implement popup/context menu
@@ -103253,7 +105582,7 @@
(create_and_show_dialog, pgtk_dialog_show, pgtk_popup_dialog)
(popup_activated, Fmenu_or_popup_active_p, syms_of_pgtkmenu):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
minimize gtkutil.c differences.
@@ -103269,13 +105598,13 @@
resolve argument type mismatch.
fix compatibility.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
improve code readability.
* src/gtkutil.c (xg_create_frame_widgets):
-2023-04-15 Jeff Walsh <jewalsh@redhat.com>
+2020-11-23 Jeff Walsh <jewalsh@redhat.com>
Set screen/display dpi res to make broadway work as expected
@@ -103289,7 +105618,7 @@
* src/ftcrfont.c (ftcrfont_open):
-2023-04-15 Jeff Walsh <jawalsh@localhost.localdomain>
+2020-11-23 Jeff Walsh <jawalsh@localhost.localdomain>
Some work toward posframe on wayland
@@ -103314,7 +105643,7 @@
Add some function comments around the new double context handling
-2023-04-15 Jeff Walsh <jawalsh@localhost.localdomain>
+2020-11-23 Jeff Walsh <jawalsh@localhost.localdomain>
End Resize flickering by copying surface rather than just clearing
@@ -103323,7 +105652,7 @@
* src/pgtkterm.c (pgtk_set_window_size): cleanup traces
(x_draw_bar_cursor, pgtk_handle_draw, syms_of_pgtkterm):
-2023-04-15 Jeff Walsh <jawalsh@localhost.localdomain>
+2020-11-23 Jeff Walsh <jawalsh@localhost.localdomain>
Bring pgtk more inline with X11-cairo builds
@@ -103343,7 +105672,7 @@
- Remove redundant code in pgtk_update_begin()
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
update redisplay_interface.
@@ -103353,7 +105682,7 @@
* src/pgtkterm.h:
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-23 Yuuki Harano <masm+github@masm11.me>
emacsclient should use both of DISPLAY and WAYLAND_DISPLAY.
@@ -103362,14 +105691,14 @@
* lib-src/emacsclient.c (decode_options): handle WALAND_DISPLAY on PGTK
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Before sleep, dispatch draw events.
* src/pgtkterm.c (pgtk_select): remove sigio signal
(pgtk_term_init): dispatch draw
-2023-04-15 Jeff Walsh <jawalsh@localhost.localdomain>
+2020-11-21 Jeff Walsh <jawalsh@localhost.localdomain>
End Resize flickering by copying surface rather than just clearing
@@ -103383,7 +105712,7 @@
* src/gtkutil.c (xg_frame_resized, xg_create_frame_widgets): remove
surface destroy, turn off double buffer call
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add support for Jpeglib
@@ -103393,13 +105722,13 @@
imagemagick ãŒã†ã¾ã機能ã—ã¦ã‚‹ã®ã§æ°—付ã‹ãªã‹ã£ãŸâ€¦
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Let gtk handle scaling.
* src/gtkutil.c (xg_get_scale):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
implement pre-edit input method
@@ -103445,7 +105774,7 @@
preedit をテキストã§æ¸¡ã™ã‚ˆã†ã«ã—ãŸ
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Support focus on click event
@@ -103454,7 +105783,7 @@
focus-on-click ãªç’°å¢ƒã«å¯¾å¿œã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
experimental support of tab-bar.
@@ -103470,7 +105799,7 @@
余計ãªã‚¤ãƒ™ãƒ³ãƒˆãŒç”Ÿæˆã•ã‚Œã¦ã„ãŸã®ã‚’修正。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Make multipdisplay work by limiting selection while enabed
@@ -103487,7 +105816,7 @@
multi-display 時㯠selection を使ãˆãªã„よã†ã«ã—ãŸã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Improve drawing efficency by refactoring code
@@ -103498,7 +105827,7 @@
æ›´ã«åŠ¹çŽ‡åŒ–。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
improve some efficiency - simplify draws
@@ -103511,7 +105840,7 @@
å°‘ã—効率化。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
implement restacking and cleanup frame z order
@@ -103522,14 +105851,14 @@
ã¤ã„ã§ã«ã€pgtk-frame-list-z-order ã¯ç„¡æ„味ãªã®ã§å‰Šé™¤ã—ãŸã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
implement pgtk-frame-list-z-order same as frame-list.
* src/pgtkfns.c (Fpgtk_frame_list_z_order): return frame list as it's
the same
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Implement Scroll-bar-forground and scroll-bar-background
@@ -103547,7 +105876,7 @@
scroll-bar-foreground, scroll-bar-background 実装。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
implement set-tool-bar-position and set-sticky
@@ -103556,13 +105885,13 @@
tool-bar-position 実装。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
TIMERFD support for PGTK, prevent calling when timerfd<0
* ../src/atimer.c (set_alarm):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add PGTK support for fullscreen
@@ -103570,7 +105899,7 @@
fullscreen ã«ã§ãるよã†ã«ã—ãŸã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Use gsettings instead of X resource database
@@ -103595,7 +105924,7 @@
schema ã®ç½®ã場所を変更。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Implement Meta key detection
@@ -103611,7 +105940,7 @@
X11 㧠alt キーを meta キーã¨ã—ã¦ä½¿ãˆãªããªã£ã¦ã„ãŸã®ã‚’修正。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Implement invisible-pointer to create blinking effect
@@ -103625,13 +105954,13 @@
invisible pointer 実装。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
init border_pixel.
* ../src/pgtkfns.c (Fx_create_frame): remove if preprocessor
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
border_color/pixel width
@@ -103647,7 +105976,7 @@
border_color/pixel 対応。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add support for handing the internal border
@@ -103656,7 +105985,7 @@
internal-border 対応。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Addframe highlighting support
@@ -103669,7 +105998,7 @@
ã¨ã‚Šã‚ãˆãš opacity ã®ã¿å¯¾å¿œã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add Stipple support for PGTK
@@ -103687,7 +106016,7 @@
stipple ãŒã¾ã¨ã‚‚ã«å‹•ã„ã¦ãªã‹ã£ãŸã®ã§ä¿®æ­£ã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add support for make-frame-(in)visible
@@ -103700,7 +106029,7 @@
make-frame-visible/invisible 実装。
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2020-11-21 Jeff Walsh <fejfighter@gmail.com>
Early toolbar improvements
@@ -103719,7 +106048,7 @@
* src/gtkutil.c (xg_get_pixbuf_from_pix_and_mask):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add Preferred geometry settings
@@ -103736,7 +106065,7 @@
toolbar, menubar ã® ON/OFF ã§ã‚µã‚¤ã‚ºãŒå¤‰åŒ–ã—ã¦ã„ã£ã¦ã„ãŸã®ã‚’修正。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Migrate to Emacs_GC
@@ -103759,7 +106088,7 @@
Emacs_GC ã«çµ±ä¸€ã€‚
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Add pgtk-read-file-name function
@@ -103770,7 +106099,7 @@
toolbar ã‹ã‚‰ã‚ˆã呼ã°ã‚Œã‚‹ã®ã§â€¦
-2023-04-15 Jeff Walsh <fejfighter@gmail.com>
+2020-11-21 Jeff Walsh <fejfighter@gmail.com>
Implement menubar for pgtk emacs
@@ -103787,7 +106116,7 @@
(x_change_tool_bar_height, x_set_tool_bar_lines)
(Fx_create_frame):
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Cleanup x_* to gui_ to match upstream work
@@ -103808,7 +106137,7 @@
ã²ã¨ã¾ãš commit。
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Simplify compilaiton condtion
@@ -103816,7 +106145,7 @@
change condition.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
replace listn with list.
@@ -103824,7 +106153,7 @@
replace listn with list.
-2023-04-15 Yuuki Harano <masm+github@masm11.me>
+2020-11-21 Yuuki Harano <masm+github@masm11.me>
Fix xdg-open handling
@@ -103834,7 +106163,7 @@
xdg-open ã§ããªã‹ã£ãŸã®ã‚’修正。
-2023-04-15 Yuuki Harano <masm@masm11.ddo.jp>
+2020-11-21 Yuuki Harano <masm@masm11.ddo.jp>
Add support for cursor_foreground_colors
@@ -103849,7 +106178,7 @@
ã‚ã‚“ã¾ã‚Šæ„味ãªã‹ã£ãŸæ„Ÿã˜ã€‚
-2023-04-15 Yuuki Harano <masm@masm11.ddo.jp>
+2020-11-21 Yuuki Harano <masm@masm11.ddo.jp>
Don't mark name_list_element as it's not required
@@ -103857,21 +106186,21 @@
ã“ã‚Œã¯ä½™åˆ†ã€‚
-2023-04-15 Yuuki Harano <masm@masm11.ddo.jp>
+2020-11-21 Yuuki Harano <masm@masm11.ddo.jp>
Add set_skip_taskbar frame parm
* src/pgtkfns.c (x_set_skip_taskbar, pgtk_frame_parm_handlers):
Add set_skip_taskbar
-2023-04-15 Yuuki Harano <masm@masm11.ddo.jp>
+2020-11-21 Yuuki Harano <masm@masm11.ddo.jp>
Add set_undecorated frame parameter
* src/pgtkfns.c (x_set_undecorated, pgtk_frame_parm_handlers): Add
undecorated frame parameter handle
-2023-04-15 Yuuki Harano <masm@masm11.ddo.jp>
+2020-11-21 Yuuki Harano <masm@masm11.ddo.jp>
Introduce Pure GTK3 port
@@ -104002,11 +106331,11 @@
* configure.ac (AUTO_DEPEND, XARGS_LIMIT, XWIDGETS_OBJ):
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-11-10 John Wiegley <johnw@newartisans.com>
Update version to 2.4.1
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-11-03 João Távora <joaotavora@gmail.com>
Don't force eglot-strict-mode completely in eglot--dcase
@@ -104019,7 +106348,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/558
-2023-04-15 Damien Merenne <damien@bloom-life.com>
+2020-11-01 Damien Merenne <damien@bloom-life.com>
João Távora <joaotavora@gmail.com>
Handle lsp 3.15's ispreferred code action property
@@ -104030,7 +106359,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/558
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-10-24 João Távora <joaotavora@gmail.com>
Don't send json null (elisp nil) down the wire
@@ -104039,7 +106368,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/300
-2023-04-15 R Primus <rprimus@users.noreply.github.com> (tiny change)
+2020-08-30 R Primus <rprimus@users.noreply.github.com> (tiny change)
Unbreak haskell's hie-wrapper built-in incantation
@@ -104047,7 +106376,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/528
-2023-04-15 Paul M. Rodriguez <paulmrodriguez@gmail.com> (tiny change)
+2020-08-21 Paul M. Rodriguez <paulmrodriguez@gmail.com> (tiny change)
Provide suitable default to m-x eglot-rename
@@ -104056,13 +106385,13 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/524
-2023-04-15 Naoya Yamashita <conao3@gmail.com>
+2020-08-21 Naoya Yamashita <conao3@gmail.com>
add multiple and eval :custom-face usage
This commit follows suggestion at https://github.com/jwiegley/use-package/issues/696, https://github.com/jwiegley/use-package/issues/821
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-08-16 João Távora <joaotavora@gmail.com>
Correct paren mismatch blunder introduced by earlier commit
@@ -104072,7 +106401,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/521
-2023-04-15 Steven vanZyl <rushsteve1@rushsteve1.us> (tiny change)
+2020-08-16 Steven vanZyl <rushsteve1@rushsteve1.us> (tiny change)
João Távora <joaotavora@gmail.com>
Add built-int support for godot engine
@@ -104084,21 +106413,21 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/511
-2023-04-15 Kaleb Elwert <belak@coded.io> (tiny change)
+2020-08-11 Kaleb Elwert <belak@coded.io> (tiny change)
Remove use-package-font-lock-keywords
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-08-05 John Wiegley <johnw@newartisans.com>
Merge pull request from wyuenho/patch-1
GitHub-reference: https://github.com/jwiegley/use-package/issues/846
-2023-04-15 Philipp Stephani <phst@google.com>
+2020-08-03 Philipp Stephani <phst@google.com>
Migrate remaining files to lexical binding
-2023-04-15 Andrew Schwartzmeyer <andrew@schwartzmeyer.com> (tiny change)
+2020-07-27 Andrew Schwartzmeyer <andrew@schwartzmeyer.com> (tiny change)
João Távora <joaotavora@gmail.com>
Ensure completion terminates in correct buffer
@@ -104118,17 +106447,17 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/505
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2020-07-21 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
Merge branch 'master' into patch-1
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-07-21 John Wiegley <johnw@newartisans.com>
Merge pull request from tzz/custom-set-default
GitHub-reference: https://github.com/jwiegley/use-package/issues/855
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-07-13 João Távora <joaotavora@gmail.com>
Use a hash-table for storing resolved completions
@@ -104137,7 +106466,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/510
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-07-13 João Távora <joaotavora@gmail.com>
Reload eldoc if needed on emacs < 28
@@ -104148,19 +106477,19 @@
* eglot.el (Package-Requires): Require eldoc 1.5.0
(top): Sometimes load eldoc
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2020-07-12 Ted Zlatanov <tzz@lifelogs.com>
Update the documentation for :custom as per
GitHub-reference: https://github.com/jwiegley/use-package/issues/850
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2020-07-12 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
Fix broken test due to
GitHub-reference: https://github.com/jwiegley/use-package/issues/850
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-07-11 João Távora <joaotavora@gmail.com>
Fix sorting of completion items
@@ -104171,11 +106500,11 @@
GitHub-reference: closes https://github.com/joaotavora/eglot/issues/509
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-07-09 João Távora <joaotavora@gmail.com>
* eglot.el (package-requires): require flymake 1.0.9 and eldoc 1.2.0
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-07-09 João Távora <joaotavora@gmail.com>
Delegate "hover" and "signature" doc synchronization efforts to eldoc
@@ -104215,44 +106544,44 @@
(eglot--apply-workspace-edit): Call eldoc manually after an edit.
(eglot-mode-map): Remap display-local-help to eldoc-doc-buffer
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2020-07-07 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
better tests
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2020-07-07 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
add test for
GitHub-reference: https://github.com/jwiegley/use-package/issues/845
-2023-04-15 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
+2020-07-07 Jimmy Yuen Ho Wong <wyuenho@gmail.com>
Support keymap symbol in bind-key
GitHub-reference: fix https://github.com/jwiegley/use-package/issues/845
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-06-29 John Wiegley <johnw@newartisans.com>
Merge pull request from tzz/custom-set-default
use-package-core.el: use the Emacs set-default function to avoid saving :custom vars twice
GitHub-reference: https://github.com/jwiegley/use-package/issues/850
-2023-04-15 Ted Zlatanov <tzz@lifelogs.com>
+2020-06-22 Ted Zlatanov <tzz@lifelogs.com>
use-package-core.el: use the Emacs set-default function to avoid saving :custom vars twice
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-06-18 John Wiegley <johnw@newartisans.com>
Merge pull request from jjlee/call-hooks-even-if-no-config
GitHub-reference: https://github.com/jwiegley/use-package/issues/840
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-06-18 John Wiegley <johnw@newartisans.com>
Merge branch 'master' into call-hooks-even-if-no-config
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-31 João Távora <joaotavora@gmail.com>
Fix small problems around eglot's help buffer
@@ -104271,7 +106600,7 @@
* eglot.el (eglot-help-at-point): Fix buffer name.
(eglot--update-doc): Provide more help.
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2020-05-30 Andrii Kolomoiets <andreyk.mad@gmail.com>
João Távora <joaotavora@gmail.com>
Simplify eglot-code-actions
@@ -104284,7 +106613,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/473
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2020-05-26 Andrii Kolomoiets <andreyk.mad@gmail.com>
Use filter-buffer-substring to get buffer text
@@ -104296,7 +106625,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/482
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-26 João Távora <joaotavora@gmail.com>
Replace uses of project-roots with project-root
@@ -104305,7 +106634,7 @@
(eglot-initialization-options, eglot--eclipse-jdt-contact): Use
project-root.
-2023-04-15 Gary Oberbrunner <garyo@oberbrunner.com> (tiny change)
+2020-05-26 Gary Oberbrunner <garyo@oberbrunner.com> (tiny change)
Also consider label of a completionitem for snippets
@@ -104315,7 +106644,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/480
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2020-05-25 Andrii Kolomoiets <andreyk.mad@gmail.com>
Andreii Kolomoiets <andreyk.mad@gmail.com>
Rework computation of string given to eldoc (again)
@@ -104334,7 +106663,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/459
-2023-04-15 Philipp Stephani <p.stephani2@gmail.com>
+2020-05-25 Philipp Stephani <p.stephani2@gmail.com>
João Távora <joaotavora@gmail.com>
Fix type error in eglot--xref-make-match
@@ -104347,7 +106676,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/488
-2023-04-15 Rudolf Schlatte <rudi@constantly.at>
+2020-05-21 Rudolf Schlatte <rudi@constantly.at>
Add support for erlang_ls
@@ -104357,19 +106686,19 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/471
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-05-20 John Wiegley <johnw@newartisans.com>
Merge pull request from nahuel/patch-1
GitHub-reference: https://github.com/jwiegley/use-package/issues/843
-2023-04-15 Nahuel Greco <ngreco@gmail.com>
+2020-05-20 Nahuel Greco <ngreco@gmail.com>
typo, should be a vector, not a bytecode object
Solves https://github.com/jwiegley/use-package/issues/842
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-18 João Távora <joaotavora@gmail.com>
Correctly place diagnostics in narrowed buffers
@@ -104378,7 +106707,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/479
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-16 João Távora <joaotavora@gmail.com>
Require xref, project and eldoc from gnu elpa
@@ -104387,7 +106716,7 @@
* eglot.el (Package-Requires): Require Xref, Project and Eldoc
from GNU ELPA.
-2023-04-15 Dan Davison <dandavison7@gmail.com>
+2020-05-14 Dan Davison <dandavison7@gmail.com>
Prompt for executable if supplied name does not exist
@@ -104397,7 +106726,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/474
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/478
-2023-04-15 Dan Davison <dandavison7@gmail.com> (tiny change)
+2020-05-12 Dan Davison <dandavison7@gmail.com> (tiny change)
Don't call flymake report function if flymake is disabled
@@ -104409,7 +106738,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/468
-2023-04-15 John Lee <jjl@pobox.com> (tiny change)
+2020-05-09 John Lee <jjl@pobox.com> (tiny change)
Add special value back again, in case needed for backwards compat
@@ -104417,7 +106746,7 @@
The additional `t' in the macro expansion is accidental but not harmful I guess.
-2023-04-15 John Lee <jjl@pobox.com> (tiny change)
+2020-05-09 John Lee <jjl@pobox.com> (tiny change)
Even when there's no :config, run any pre/post config hooks
@@ -104435,7 +106764,7 @@
Fixes https://github.com/jwiegley/use-package/issues/785
-2023-04-15 Tobias Rittweiler <trittweiler@gmail.com>
+2020-05-07 Tobias Rittweiler <trittweiler@gmail.com>
Fix "free variable" warning
@@ -104445,14 +106774,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/460
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2020-05-06 Andrii Kolomoiets <andreyk.mad@gmail.com>
Remove trailing whitespaces
* eglot.el (defvar company-backends, eglot-code-actions):
Remove trailing whitespace
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-03 João Távora <joaotavora@gmail.com>
Simplify bug-reporting instructions
@@ -104463,7 +106792,7 @@
* eglot.el (eglot-events-buffer): Can work with no server.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-03 João Távora <joaotavora@gmail.com>
Survive hover responses with empty markdown strings
@@ -104471,7 +106800,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/433
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-03 João Távora <joaotavora@gmail.com>
Remap display-local-help (c-h .) to eglot-help-at-point
@@ -104481,7 +106810,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/437
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2020-05-03 Theodor Thornhill <theo@thornhill.no>
João Távora <joaotavora@gmail.com>
Tweak handling of eldoc-echo-area-use-multiline-p
@@ -104495,7 +106824,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/443
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-02 João Távora <joaotavora@gmail.com>
Fontify markdown source code blocks by default
@@ -104504,7 +106833,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/408
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-05-02 Felicián Németh <felician.nemeth@gmail.com>
Declare markdown support iff gfm-view-mode installed
@@ -104513,7 +106842,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/408
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2020-05-02 Theodor Thornhill <theo@thornhill.no>
João Távora <joaotavora@gmail.com>
Always string-trim markup
@@ -104524,7 +106853,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/450
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-02 João Távora <joaotavora@gmail.com>
Kind of honour eldoc-echo-area-use-multiline-p
@@ -104538,7 +106867,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/443
-2023-04-15 Dan Davison <dandavison7@gmail.com>
+2020-05-02 Dan Davison <dandavison7@gmail.com>
Unbreak eglot--guess-contact for host-and-port case
@@ -104547,7 +106876,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/446
-2023-04-15 Dan Davison <dandavison7@gmail.com>
+2020-05-02 Dan Davison <dandavison7@gmail.com>
João Távora <joaotavora@gmail.com>
Tweak docstring of eglot-server-programs
@@ -104555,7 +106884,7 @@
* eglot.el (eglot-server-programs): Fix typos and phrasing.
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2020-05-02 Ingo Lohmar <ingo.lohmar@posteo.net>
Support hierarchical documentsymbol in eglot-imenu
@@ -104573,7 +106902,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/303
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-05-02 João Távora <joaotavora@gmail.com>
Also check types when destructuring lsp objects
@@ -104595,7 +106924,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/452
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2020-04-27 Andrii Kolomoiets <andreyk.mad@gmail.com>
João Távora <joaotavora@gmail.com>
Hide eldoc-message on empty hover info
@@ -104608,7 +106937,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/439
-2023-04-15 Tobias Rittweiler <trittweiler@gmail.com>
+2020-04-27 Tobias Rittweiler <trittweiler@gmail.com>
Tests: print contents of *eglot ...* buffers in batch mode.
@@ -104639,7 +106968,7 @@
verbatim out of `eglot--call-with-fixture` in order to lower the
latter's LOC.
-2023-04-15 Trevor Murphy <trevormurphy@google.com>
+2020-04-24 Trevor Murphy <trevormurphy@google.com>
Create match xrefs when possible
@@ -104652,11 +106981,11 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/435
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-04-24 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-put-doc-in-help-buffer): tiny docstring fix.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-04-24 João Távora <joaotavora@gmail.com>
Don't reupdate help buffer if already rendered
@@ -104665,7 +106994,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/445
-2023-04-15 Andrii Kolomoiets <andreyk.mad@gmail.com>
+2020-04-23 Andrii Kolomoiets <andreyk.mad@gmail.com>
Use text-mode for plaintext markup
@@ -104674,7 +107003,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/444
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-04-16 Felicián Németh <felician.nemeth@gmail.com>
Update dependencies and copyright years
@@ -104682,7 +107011,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/413
-2023-04-15 Theodor Thornhill <theo@thornhill.no>
+2020-04-16 Theodor Thornhill <theo@thornhill.no>
João Távora <joaotavora@gmail.com>
Simplify a bit of code
@@ -104693,13 +107022,13 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/397
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-04-16 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 1.6
* NEWS.md: Bump to 1.6
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-04-16 Felicián Németh <felician.nemeth@gmail.com>
João Távora <joaotavora@gmail.com>
Abide by lsp when reporting and moving to columns
@@ -104713,7 +107042,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/361
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-04-16 João Távora <joaotavora@gmail.com>
Fix eglot-move-to-lsp-abiding-column ()
@@ -104726,7 +107055,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/361
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-04-16 Felicián Németh <felician.nemeth@gmail.com>
Send shutdown and exit messages without arguments
@@ -104740,14 +107069,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/430
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-03-22 John Wiegley <johnw@newartisans.com>
Merge pull request from jwiegley/johnw/clarify
Clarify the documentation for :after
GitHub-reference: https://github.com/jwiegley/use-package/issues/820
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-03-20 Felicián Németh <felician.nemeth@gmail.com>
Ignore empty hover info
@@ -104758,11 +107087,11 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/425
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2020-03-04 John Wiegley <johnw@newartisans.com>
Clarify the documentation for :after
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-13 Felicián Németh <felician.nemeth@gmail.com>
Make a public reader for project-nickname
@@ -104775,7 +107104,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/354
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-13 Felicián Németh <felician.nemeth@gmail.com>
Add public hook eglot-managed-mode-hook
@@ -104790,7 +107119,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/182
-2023-04-15 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
+2020-01-13 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
Introduce and use eglot--{}, the empty json object
@@ -104799,7 +107128,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/315
-2023-04-15 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
+2020-01-13 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
Call shutdown/exit methods with params:{}, not null
@@ -104811,7 +107140,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/315
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-09 Felicián Németh <felician.nemeth@gmail.com>
Support bug-reference-prog-mode
@@ -104820,11 +107149,11 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/405
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-08 Felicián Németh <felician.nemeth@gmail.com>
Revert the last change about column calculation
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-08 Felicián Németh <felician.nemeth@gmail.com>
Document the changes in column calculation
@@ -104834,7 +107163,7 @@
* NEWS.md: Log the change here as well.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-01-08 João Távora <joaotavora@gmail.com>
Abide by lsp when reporting and moving to columns
@@ -104845,7 +107174,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/361
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-05 Felicián Németh <felician.nemeth@gmail.com>
Merge pull request from joaotavora/scratch/fix-277-exit-notification
@@ -104853,7 +107182,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/400
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2020-01-05 Felicián Németh <felician.nemeth@gmail.com>
Send exit as a notification
@@ -104865,7 +107194,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/277
-2023-04-15 João Távora <joaotavora@gmail.com>
+2020-01-02 João Távora <joaotavora@gmail.com>
Avoid double shutdowns and simplify shutdown logic
@@ -104875,7 +107204,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/389
-2023-04-15 Theodor Thornhill <theo@thornhill.no> (tiny change)
+2020-01-02 Theodor Thornhill <theo@thornhill.no> (tiny change)
João Távora <joaotavora@gmail.com>
Use completing-read in eglot-code-actions
@@ -104886,13 +107215,13 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/393
-2023-04-15 Evgeni Kolev <evgenysw@gmail.com>
+2019-12-30 Evgeni Kolev <evgenysw@gmail.com>
* eglot.el (eglot-eldoc-function): fix outdated docstring.
Fix https://github.com/joaotavora/eglot/issues/387
-2023-04-15 Steve Purcell <steve@sanityinc.com>
+2019-12-28 Steve Purcell <steve@sanityinc.com>
João Távora <joaotavora@gmail.com>
Add elm-language-server as the language server for elm
@@ -104903,7 +107232,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/383
-2023-04-15 Theodor Thornhill <theo@thornhill.no> (tiny change)
+2019-12-26 Theodor Thornhill <theo@thornhill.no> (tiny change)
João Távora <joaotavora@gmail.com>
New eglot-confirm-server-initiated-edits defcustom
@@ -104912,7 +107241,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/382
-2023-04-15 Augusto Stoffel <arstoffel@gmail.com> (tiny change)
+2019-12-18 Augusto Stoffel <arstoffel@gmail.com> (tiny change)
Add built-in support for tex and friends
@@ -104926,7 +107255,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/379
-2023-04-15 Antoine Kalmbach <ane@iki.fi> (tiny change)
+2019-12-17 Antoine Kalmbach <ane@iki.fi> (tiny change)
Add metals as the language server for scala
@@ -104936,7 +107265,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/376
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-12-08 João Távora <joaotavora@gmail.com>
Allow non-standard keys in textdocument/publishdiagnostics.
@@ -104945,7 +107274,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/357
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-30 João Távora <joaotavora@gmail.com>
Unbreak window/showmessagerequest
@@ -104954,20 +107283,20 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/362
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2019-11-26 John Wiegley <johnw@newartisans.com>
Merge pull request from DamienCassou/typos
Fix typos
GitHub-reference: https://github.com/jwiegley/use-package/issues/808
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2019-11-26 Damien Cassou <damien.cassou@gmail.com>
Fix typos
Typos found with codespell.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-20 João Távora <joaotavora@gmail.com>
Resolve compilation warnings
@@ -104978,7 +107307,7 @@
(eglot--maybe-activate-editing-mode): use it.
(eglot-completion-at-point): Don't use insertTextFormat.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-20 João Távora <joaotavora@gmail.com>
Locally tweak imenu-create-index-function
@@ -104987,7 +107316,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/351
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2019-11-18 Felicián Németh <felician.nemeth@gmail.com>
Fail when eglot-find-* finds no references
@@ -104996,7 +107325,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/339
-2023-04-15 Xu Chunyang <4550353+xuchunyang@users.noreply.github.com> (tiny change)
+2019-11-17 Xu Chunyang <4550353+xuchunyang@users.noreply.github.com> (tiny change)
Waste less space in completion annotations
@@ -105004,11 +107333,11 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/349
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-17 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-completion-at-point): remove spurious unrelated change.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-15 João Távora <joaotavora@gmail.com>
Ensure process starts in project's root
@@ -105019,7 +107348,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/330
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-15 João Távora <joaotavora@gmail.com>
Let other imenu functions work if lsp server's doesn't
@@ -105031,7 +107360,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/343
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2019-11-13 Felicián Németh <felician.nemeth@gmail.com>
Support serverinfo of lsp 3.15.0
@@ -105056,7 +107385,7 @@
(eglot--connect): Store server-info and display server's name
when connected.
-2023-04-15 r-zip <rzpilgrim@gmail.com> (tiny change)
+2019-11-12 r-zip <rzpilgrim@gmail.com> (tiny change)
Set nobreak-char-display to nil in *eglot-help*
@@ -105064,7 +107393,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/345
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-10 João Távora <joaotavora@gmail.com>
Protect against empty-string inserttext in completions
@@ -105073,7 +107402,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/341
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-10 João Távora <joaotavora@gmail.com>
Provide stable eglot-current-server helper
@@ -105097,14 +107426,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/342
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2019-11-09 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsiiformes/typos
Fix typos
GitHub-reference: https://github.com/jwiegley/use-package/issues/804
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-11-09 João Távora <joaotavora@gmail.com>
Don't choke on workspace/configuration with no scopeuri
@@ -105112,24 +107441,24 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/340
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2019-11-06 Jonas Bernoulli <jonas@bernoul.li>
Fix typos
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-11-05 Ingo Lohmar <ingo.lohmar@posteo.net>
Only set eglot--cached-current-server by (more aggressive) caching
* eglot.el (eglot--current-server): Always set cache value.
(eglot--maybe-activate-editing-mode): No need to set cached server.
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-11-05 Ingo Lohmar <ingo.lohmar@posteo.net>
Simplify "maybe"-activation, dump "server" arg
* eglot.el (eglot--maybe-activate-editing-mode): Remove `server' arg.
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-11-01 Ingo Lohmar <ingo.lohmar@posteo.net>
Merge -onoff proxy code into minor mode function
@@ -105144,7 +107473,7 @@
(eglot--managed-mode): Adopt code.
(eglot--managed-mode-off): New minimal wrapper.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-30 João Távora <joaotavora@gmail.com>
Use completionitem/resolve more abundantly
@@ -105161,7 +107490,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/50
-2023-04-15 Xu Chunyang <4550353+xuchunyang@users.noreply.github.com> (tiny change)
+2019-10-28 Xu Chunyang <4550353+xuchunyang@users.noreply.github.com> (tiny change)
Support markdown for textdocument/hover ()
@@ -105172,13 +107501,13 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/329
-2023-04-15 Xu Chunyang <4550353+xuchunyang@users.noreply.github.com> (tiny change)
+2019-10-27 Xu Chunyang <4550353+xuchunyang@users.noreply.github.com> (tiny change)
Don't run mode hooks in eglot--format-markup
* eglot.el (eglot--format-markup): Use delay-mode-hooks.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-26 João Távora <joaotavora@gmail.com>
Support workspace/configuration
@@ -105194,7 +107523,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/326
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-24 João Távora <joaotavora@gmail.com>
Expand readme.md section on handling quirky servers
@@ -105204,20 +107533,20 @@
* eglot.el (eglot-initialization-options eglot-cquery): Remove.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-22 João Távora <joaotavora@gmail.com>
Unbreak imenu
* eglot.el (eglot-imenu): Unbreak.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-21 João Távora <joaotavora@gmail.com>
Force company to align completion annotations in eglot sessions
* eglot.el (eglot--managed-mode): force
company-tooltip-align-annotations to t.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-21 João Távora <joaotavora@gmail.com>
Fix race condition when company-completing quickly
@@ -105253,7 +107582,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/319
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-21 João Távora <joaotavora@gmail.com>
Unbreak m-x vc-revert, which reverts preserving modes
@@ -105269,7 +107598,7 @@
(eglot--after-revert-hook): Signal didOpen when preserving-modes.
(eglot--maybe-activate-editing-mode): Tweak comment.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-21 João Távora <joaotavora@gmail.com>
(again): fix issue with replace-buffer-contents
@@ -105282,13 +107611,13 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/259
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-20 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 1.5
* NEWS.md: update.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-19 João Távora <joaotavora@gmail.com>
Let user keep control of some variables during eglot sessions
@@ -105301,7 +107630,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/324
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-19 João Távora <joaotavora@gmail.com>
Don't immediately request completions in eglot-completion-at-point
@@ -105317,7 +107646,7 @@
* eglot.el (eglot-completion-at-point): Request completions
asynchronously.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-16 João Távora <joaotavora@gmail.com>
Protect against zero-length completions
@@ -105326,7 +107655,7 @@
* eglot.el (eglot-completion-at-point): Protect against
zero-length completions.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-16 João Távora <joaotavora@gmail.com>
Don't choke on single-location reply to td/definition
@@ -105335,20 +107664,20 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/321
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-16 João Távora <joaotavora@gmail.com>
Unbreak eglot--setq-saving if symbol is unbound
* eglot.el (eglot--setq-saving): check if symbol is bound
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-16 João Távora <joaotavora@gmail.com>
Use of company-capf backend in eglot-managed buffers
* eglot.el (company-backends): forward-declare
(eglot--managed-mode): Force company-backends to company-capf
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-16 João Távora <joaotavora@gmail.com>
Play along with lsp's filtertext hacks
@@ -105385,7 +107714,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/235
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-16 João Távora <joaotavora@gmail.com>
Always filter completions client-side by prefix
@@ -105398,14 +107727,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/319
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-15 João Távora <joaotavora@gmail.com>
Fix bug in workspace/didchangewatchedfiles
* eglot.el (eglot-register-capability): Fix a bug and a couple of
warnings.
-2023-04-15 Tom Tromey <tom@tromey.com>
+2019-10-15 Tom Tromey <tom@tromey.com>
Add support for the ada language server
@@ -105415,7 +107744,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/316
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-14 João Távora <joaotavora@gmail.com>
Fix eglot-completion-at-point to work with bare completion-at-point
@@ -105444,7 +107773,7 @@
* eglot.el (eglot-completion-at-point): Rework.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-13 João Távora <joaotavora@gmail.com>
Unbreak xref-find-definitions
@@ -105456,7 +107785,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/318
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-11 João Távora <joaotavora@gmail.com>
Misc improvements to the xref glue code
@@ -105465,7 +107794,7 @@
(eglot--handling-xrefs): Remove.
(xref-backend-apropos, eglot--lsp-xrefs-for-method): Use eglot--collecting-xrefs.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-11 João Távora <joaotavora@gmail.com>
Rework and correct major part of xref glue code
@@ -105506,7 +107835,7 @@
(eglot-find-declaration, eglot-find-implementation)
(eglot-find-typeDefinition): Use eglot--lsp-xref-helper.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2019-10-11 Felicián Németh <felician.nemeth@gmail.com>
Support goto-{declaration, implementation, typedefinition}
@@ -105522,7 +107851,7 @@
* eglot.el (eglot-client-capabilities): Add new capabilities.
(eglot-ignored-server-capabilites): Add new capability.
-2023-04-15 ambihelical <ambihelical@users.noreply.github.com> (tiny change)
+2019-10-05 ambihelical <ambihelical@users.noreply.github.com> (tiny change)
João Távora <joaotavora@gmail.com>
Allow user to set idle time to wait before processing changes
@@ -105532,7 +107861,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/258
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-05 João Távora <joaotavora@gmail.com>
Much less noisy mode line
@@ -105540,7 +107869,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/236
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-05 João Távora <joaotavora@gmail.com>
Unbreak elm language server which does use :triggercharacters
@@ -105553,7 +107882,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/285
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-10-05 João Távora <joaotavora@gmail.com>
Revert "treat null/nil server capabilities as false"
@@ -105565,7 +107894,7 @@
https://github.com/microsoft/language-server-protocol/issues/830#issuecomment-537849292
for a clarification from the LSP maintainer.
-2023-04-15 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
+2019-10-05 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
Don't send dummy json object in "initialized" notification ()
@@ -105594,7 +107923,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/312
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-10-05 Ingo Lohmar <ingo.lohmar@posteo.net>
João Távora <joaotavora@gmail.com>
Optionally shutdown after killing last buffer of managed project ()
@@ -105607,7 +107936,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/309
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-10-05 Ingo Lohmar <ingo.lohmar@posteo.net>
João Távora <joaotavora@gmail.com>
On buffer kill, first send didclose then teardown local structures
@@ -105616,7 +107945,7 @@
* eglot.el (eglot-managed-mode): Fix order in `kill-buffer-hook'
-2023-04-15 galeo <galeo@users.noreply.github.com> (tiny change)
+2019-09-26 galeo <galeo@users.noreply.github.com> (tiny change)
Also use signature label offsets for parameter info
@@ -105633,7 +107962,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/272
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2019-09-24 Felicián Németh <felician.nemeth@gmail.com>
Merge pull request from jorams/nil-capabilities-as-false
@@ -105641,7 +107970,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/298
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-09-23 Ingo Lohmar <ingo.lohmar@posteo.net>
Use gopls server as the default for go ()
@@ -105654,7 +107983,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/304
-2023-04-15 Joram Schrijver <i@joram.io> (tiny change)
+2019-09-20 Joram Schrijver <i@joram.io> (tiny change)
Treat null/nil server capabilities as false
@@ -105670,7 +107999,7 @@
* eglot.el (eglot--server-capable): Change the handling of null values
for capabilities to treat them as false instead of true.
-2023-04-15 Felicián Németh <felician.nemeth@gmail.com>
+2019-09-10 Felicián Németh <felician.nemeth@gmail.com>
Change the default of eglot-move-to-column-function
@@ -105681,7 +108010,7 @@
* eglot.el (eglot-move-to-column): New function.
(eglot-move-to-column-function): Use it as default.
-2023-04-15 David Florness <edwargix@gmail.com> (tiny change)
+2019-08-18 David Florness <edwargix@gmail.com> (tiny change)
Require array package to use current-line ()
@@ -105699,7 +108028,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/294
-2023-04-15 Jürgen Hötzel <juergen@archlinux.org>
+2019-08-12 Jürgen Hötzel <juergen@archlinux.org>
Expand directory watcher globs containing ** ()
@@ -105718,7 +108047,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/293
-2023-04-15 Jürgen Hötzel <juergen@hoetzel.info> (tiny change)
+2019-07-18 Jürgen Hötzel <juergen@hoetzel.info> (tiny change)
Fix invalid guess for php language server ()
@@ -105728,24 +108057,24 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/288
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2019-07-16 John Wiegley <johnw@newartisans.com>
Use `require', not `load', when byte-compiling ()
Use `require', not `load', when byte-compiling
GitHub-reference: https://github.com/jwiegley/use-package/issues/783
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2019-07-16 Radon Rosborough <radon.neon@gmail.com>
Update tests
Switch from `require' to `load' + `featurep'
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2019-07-12 Radon Rosborough <radon.neon@gmail.com>
Use `require', not `load', when byte-compiling
-2023-04-15 haqle314 <16577773+haqle314@users.noreply.github.com> (tiny change)
+2019-07-02 haqle314 <16577773+haqle314@users.noreply.github.com> (tiny change)
Fix a typo
@@ -105754,7 +108083,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/273
-2023-04-15 Ingo Lohmar <ingo.lohmar@posteo.net>
+2019-06-27 Ingo Lohmar <ingo.lohmar@posteo.net>
Simplify eldoc usage ()
@@ -105769,7 +108098,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/269
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-06-27 João Távora <joaotavora@gmail.com>
Leniently handle invalid positions sent by some servers
@@ -105778,7 +108107,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/273
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2019-06-20 Justin Talbott <justin@waymondo.com>
update bind-chords to use of eval-after-load when maps declared
@@ -105787,13 +108116,13 @@
also add tests for use-package-chords to cover these test cases
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2019-06-14 Justin Talbott <justin@waymondo.com>
rename function
extract use-package-hook-handler-flatten-mode-symbols function
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2019-06-14 Justin Talbott <justin@waymondo.com>
use `use-package-as-one` for normalizing `:ensure-system-package`
@@ -105816,20 +108145,20 @@
(prettier . "npm i -g prettier"))
```
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2019-05-29 John Wiegley <johnw@newartisans.com>
Make custom-face evaluate elisp. ()
Make custom-face evaluate elisp.
GitHub-reference: https://github.com/jwiegley/use-package/issues/773
-2023-04-15 Vincent Zhang <seagle0128@gmail.com> (tiny change)
+2019-05-29 Vincent Zhang <seagle0128@gmail.com> (tiny change)
Make custom-face evaluate elisp
Fix https://github.com/jwiegley/use-package/issues/696.
-2023-04-15 Akash Hiremath <akashh246@gmail.com> (tiny change)
+2019-05-12 Akash Hiremath <akashh246@gmail.com> (tiny change)
Add built-in support for elixir's elixir-ls ()
@@ -105839,7 +108168,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/264
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-05-10 João Távora <joaotavora@gmail.com>
Work around a bug in emacs's change detection
@@ -105860,7 +108189,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/259
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-05-09 João Távora <joaotavora@gmail.com>
Fix case when eglot-put-doc-in-help-buffer is nil
@@ -105868,7 +108197,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/263
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2019-05-08 Michal Krzywkowski <k.michal@zoho.com>
Only consider eglot's own diagnostics in eglot-code-actions
@@ -105877,7 +108206,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/260
-2023-04-15 vjoki <vjoki@users.noreply.github.com> (tiny change)
+2019-04-30 vjoki <vjoki@users.noreply.github.com> (tiny change)
Fix local function call in directory watcher ()
@@ -105887,7 +108216,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/255
-2023-04-15 Naoya Yamashita <conao3@gmail.com>
+2019-04-14 Naoya Yamashita <conao3@gmail.com>
* use-package-core.el (use-package): fix declare style
@@ -105899,18 +108228,18 @@
(declare (indent defun)) is same effect.
And it is useful when redefining use-package.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2019-04-05 John Wiegley <johnw@newartisans.com>
Merge pull request from stribb/master
Add a line of documentation for (use-pacakage ... :hook).
GitHub-reference: https://github.com/jwiegley/use-package/issues/759
-2023-04-15 Andrew Stribblehill <stribb@gmail.com> (tiny change)
+2019-04-04 Andrew Stribblehill <stribb@gmail.com> (tiny change)
Add a line of documentation for (use-pacakage ... :hook)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-02-13 João Távora <joaotavora@gmail.com>
Unbreak build
@@ -105920,11 +108249,11 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/220
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-02-11 João Távora <joaotavora@gmail.com>
* eglot.el (xref-backend-references): don't use return-from.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-02-11 João Távora <joaotavora@gmail.com>
Don't sort xref's by default
@@ -105936,7 +108265,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/220
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-02-11 João Távora <joaotavora@gmail.com>
Use a less buggy flymake
@@ -105944,7 +108273,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/223
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-02-05 João Távora <joaotavora@gmail.com>
Don't teardown company if started via trigger chars
@@ -105953,7 +108282,7 @@
* eglot.el (eglot-completion-at-point): More carefully calculate
:company-prefix-length
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-14 João Távora <joaotavora@gmail.com>
Consider mode derivation when guessing servers
@@ -105962,7 +108291,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/177
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-14 João Távora <joaotavora@gmail.com>
Protect against null messages from eldoc
@@ -105970,7 +108299,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/209
-2023-04-15 Sergey Kostyaev <s-kostyaev@users.noreply.github.com>
+2019-01-10 Sergey Kostyaev <s-kostyaev@users.noreply.github.com>
Fix bug introduced by commit fixing this issue
@@ -105978,7 +108307,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/121
-2023-04-15 Brady Trainor <mail@bradyt.com> (tiny change)
+2019-01-09 Brady Trainor <mail@bradyt.com> (tiny change)
Add built-in support for dart's dart_language_server
@@ -105989,7 +108318,7 @@
* eglot.el (eglot-server-programs): Add dart_language_server.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-09 João Távora <joaotavora@gmail.com>
Handle label offsets in parameterinformation
@@ -106001,13 +108330,13 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/201
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-07 João Távora <joaotavora@gmail.com>
Display truncated docstring if too large for echo area
* eglot.el (eglot--eldoc-message): Display first line doc.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-06 João Távora <joaotavora@gmail.com>
Rename new defcustoms with friendlier names
@@ -106019,7 +108348,7 @@
eglot-auto-display-eldoc-extra-buffer.
(eglot--eldoc-message): Use new variable names.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-06 João Távora <joaotavora@gmail.com>
Fix test failure introduced by previous commit
@@ -106044,7 +108373,7 @@
(eglot-eldoc-function): Set eglot--eldoc-hint for synchronous
operation too.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-05 João Távora <joaotavora@gmail.com>
Show large docs in help buffer instead of echo are by default
@@ -106059,7 +108388,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/198
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-05 João Távora <joaotavora@gmail.com>
Prevent eldoc flicker when moving around
@@ -106068,7 +108397,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/198
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-05 João Távora <joaotavora@gmail.com>
Handle (un)registercapability requests via generic functions
@@ -106084,7 +108413,7 @@
workspace/didChangeWatchedFiles)): Rename from
eglot--unregister-workspace/didChangeWatchedFiles.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-05 João Távora <joaotavora@gmail.com>
Appease checkdoc
@@ -106092,11 +108421,11 @@
(eglot--pre-command-hook, eglot--before-change)
(eglot--eclipse-jdt-contact): Fix docstrings.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-02 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-workspace-configuration): safe when listp.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-02 João Távora <joaotavora@gmail.com>
Run connection hooks with proper dir-locals
@@ -106117,7 +108446,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/196
-2023-04-15 João Távora <joaotavora@gmail.com>
+2019-01-01 João Távora <joaotavora@gmail.com>
Allow read-only modes for markup rendering
@@ -106129,7 +108458,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/197
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-27 João Távora <joaotavora@gmail.com>
Remove a hard dependency on flymake-mode
@@ -106138,14 +108467,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/195
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-23 João Távora <joaotavora@gmail.com>
Slightly simplify eglot-completion-at-point
* eglot.el (eglot-completion-at-point): Don't propertize
completion string with all LSP properties.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-23 João Távora <joaotavora@gmail.com>
Actually make completion sorting work
@@ -106153,7 +108482,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/190
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-22 João Távora <joaotavora@gmail.com>
Fix previous commit where workaround had been removed
@@ -106161,7 +108490,7 @@
* eglot.el (eglot-completion-at-point): set local var strings.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-22 João Távora <joaotavora@gmail.com>
Use gfm-view-mode
@@ -106169,7 +108498,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/188
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-22 João Távora <joaotavora@gmail.com>
Remove workaround for company bug that has been fixed
@@ -106178,11 +108507,11 @@
* eglot.el (eglot-completion-at-point): Remove workaround for
company-mode bug.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-19 João Távora <joaotavora@gmail.com>
* eglot.el (package-requires): require jsonrpc 1.0.7.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-16 João Távora <joaotavora@gmail.com>
Take over flymake and eldoc completely while managing buffers
@@ -106210,7 +108539,7 @@
helpers.
(eglot--managed-mode): Use them.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-16 João Távora <joaotavora@gmail.com>
Be more careful when making xref summaries
@@ -106219,26 +108548,26 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/187
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-16 João Távora <joaotavora@gmail.com>
Don't make bogus responses to client/(un)registercapability
* eglot.el (eglot--register-unregister): Response is void.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-16 João Távora <joaotavora@gmail.com>
Add edebug specs to destructuring macros
* eglot.el (eglot--dbind, eglot--lambda, eglot--dcase): Add edebug
specs.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-16 João Távora <joaotavora@gmail.com>
Rewrite eglot--sig-info a bit for readability
* eglot.el (eglot--sig-info): Rewrite a bit.
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
+2018-12-16 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
Adjust active param highlighting in first line of signature (3/3)
@@ -106247,7 +108576,7 @@
* eglot.el (eglot--sig-info): Simplify.
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
+2018-12-16 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
Adjust active param highlighting in first line of signature (2/3)
@@ -106257,7 +108586,7 @@
* eglot.el (eglot--sig-info): Use `re-search-forward`.
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
+2018-12-16 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
Adjust active param highlighting in first line of signature (1/3)
@@ -106269,7 +108598,7 @@
* eglot.el (eglot--sig-info): Search for active parameter within
`params-start` and `params-end`.
-2023-04-15 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
+2018-12-16 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
Apply eglot--format-markup to signature documentation
@@ -106277,11 +108606,11 @@
* eglot.el (eglot--sig-info): Call eglot--format-markup on signature
documentation.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-09 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 1.3
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-07 João Távora <joaotavora@gmail.com>
Be lenient by default to unknown methods or notifications
@@ -106290,14 +108619,14 @@
(eglot-handle-notification, eglot-handle-request): Check
eglot-strict-mode.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-07 João Távora <joaotavora@gmail.com>
Handle array params to server notification or requests
* eglot.el (eglot-handle-notification): Remove extraneous id
(eglot--connect): If params is an array, make it a list.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-07 João Távora <joaotavora@gmail.com>
Scratch/use elpa flymake ()
@@ -106312,7 +108641,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/178
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-06 João Távora <joaotavora@gmail.com>
Warn about suspicious interface usage at compile-time
@@ -106328,7 +108657,7 @@
compile-time-helpers.
(eglot--dbind, eglot--dcase): Use new helpers.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-06 João Távora <joaotavora@gmail.com>
Use eglot--dbind and eglot--lambda throughout
@@ -106348,7 +108677,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/144
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-04 João Távora <joaotavora@gmail.com>
Adjust previous fix
@@ -106360,7 +108689,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/173
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-04 João Távora <joaotavora@gmail.com>
Fix bug introduced by previous fix
@@ -106368,7 +108697,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/173
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-03 João Távora <joaotavora@gmail.com>
Handle codeaction/command polymorphism with eglot--dcase
@@ -106381,7 +108710,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/164
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-03 João Távora <joaotavora@gmail.com>
Robustify previous fix against non-standard insertion bindings
@@ -106393,7 +108722,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/173
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-12-03 Michal Krzywkowski <k.michal@zoho.com>
Properly clear old diagnostics when making new ones
@@ -106403,7 +108732,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/159
-2023-04-15 Mario Rodas <marsam@users.noreply.github.com> (tiny change)
+2018-12-02 Mario Rodas <marsam@users.noreply.github.com> (tiny change)
Use javascript-typescript-langserver for typescript-mode ()
@@ -106413,7 +108742,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/174
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-02 João Távora <joaotavora@gmail.com>
Support completioncontext to help servers like ccls
@@ -106424,7 +108753,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/173
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-12-01 João Távora <joaotavora@gmail.com>
Don't break in indirect buffers
@@ -106438,7 +108767,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/116
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/150
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-12-01 Michal Krzywkowski <k.michal@zoho.com>
Use eglot--dbind for destructuring
@@ -106449,7 +108778,7 @@
(eglot-code-actions): Use eglot--lambda.
(eglot--register-workspace/didChangeWatchedFiles): Use eglot--lambda.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-30 João Távora <joaotavora@gmail.com>
Introduce eglot--dcase
@@ -106461,7 +108790,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/171
GitHub-reference: per https://github.com/joaotavora/eglot/issues/156
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-30 João Távora <joaotavora@gmail.com>
Simplify interface of eglot--dbind macro
@@ -106474,7 +108803,7 @@
* eglot-tests.el (eglot-strict-interfaces):
Add a new test clause.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-28 Michal Krzywkowski <k.michal@zoho.com>
Touch up last commit
@@ -106482,7 +108811,7 @@
(eglot-current-column-function): Use it as value and mention in docstring.
(eglot--xref-make): Use eglot-current-column.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-27 Michal Krzywkowski <k.michal@zoho.com>
* eglot.el (eglot--current-column): new helper.
@@ -106490,7 +108819,7 @@
(eglot--pos-to-lsp-position): Don't bind tab-width anymore.
(eglot--xref-make): Use eglot--current-column.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-27 João Távora <joaotavora@gmail.com>
Improve performance of xref summary line collection
@@ -106503,7 +108832,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/52
GitHub-reference: per https://github.com/joaotavora/eglot/issues/127
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-27 João Távora <joaotavora@gmail.com>
Use entire line as xref summary when available
@@ -106515,7 +108844,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/52
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-23 João Távora <joaotavora@gmail.com>
Revert "codeaction command can be a command object ()"
@@ -106526,7 +108855,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/164
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/165
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-23 Michal Krzywkowski <k.michal@zoho.com>
Codeaction command can be a command object ()
@@ -106536,7 +108865,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/164
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/165
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-23 João Távora <joaotavora@gmail.com>
Control strictness towards incoming lsp messages
@@ -106565,13 +108894,13 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/144
GitHub-reference: per https://github.com/joaotavora/eglot/issues/156
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-22 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 1.2
* eglot.el (eglot-completion-at-point): less chatter.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-22 João Távora <joaotavora@gmail.com>
Correctly insert textedit-less snippets
@@ -106582,7 +108911,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/167
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-22 João Távora <joaotavora@gmail.com>
Fix potential security issue fontifying lsp doc
@@ -106601,7 +108930,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/154
-2023-04-15 Alex Branham <alex.branham@gmail.com> (tiny change)
+2018-11-22 Alex Branham <alex.branham@gmail.com> (tiny change)
Add support for r's languageserver ()
@@ -106611,7 +108940,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/161
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-21 Michal Krzywkowski <k.michal@zoho.com>
Properly delete inserted text after completion
@@ -106620,14 +108949,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/160
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-11-19 John Wiegley <johnw@newartisans.com>
Merge pull request from conao3/fix_default_value
fix gethash default value for use-package-statistics-time
GitHub-reference: https://github.com/jwiegley/use-package/issues/681
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-19 Michal Krzywkowski <k.michal@zoho.com>
Treat tab characters as 1 column wide in position conversion functions
@@ -106638,7 +108967,7 @@
(eglot--lsp-position-to-point): Call eglot-move-to-column-function
with tab-width bound to 1.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-17 Michal Krzywkowski <k.michal@zoho.com>
Format documentation of signature parameters
@@ -106647,7 +108976,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/144
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-13 João Távora <joaotavora@gmail.com>
Add ability to report lsp-compliant columns
@@ -106658,14 +108987,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/125
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-13 Michal Krzywkowski <k.michal@zoho.com>
Add support for textedits in completion
* eglot.el (eglot-completion-at-point): Apply the CompletionItem's
:textEdit and :additionalTextEdits when they're present.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-13 João Távora <joaotavora@gmail.com>
Tweak solution to with a hint from fangrui song
@@ -106673,7 +109002,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/125
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-12 João Távora <joaotavora@gmail.com>
Complex completions work when chosen from *completions*
@@ -106682,7 +109011,7 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/148
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-12 João Távora <joaotavora@gmail.com>
Add ability to move to lsp-precise columns
@@ -106710,14 +109039,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/124
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-11-10 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsiiformes/silencio
Silence byte-compiler on Emacs 25
GitHub-reference: https://github.com/jwiegley/use-package/issues/733
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2018-11-10 Jonas Bernoulli <jonas@bernoul.li>
Silence byte-compiler on Emacs 25
@@ -106727,7 +109056,7 @@
anyway, so that there is no additional noise that would cause us to
potentially overlook warnings that absolutely have to be addressed.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-08 João Távora <joaotavora@gmail.com>
Fix a bug introduced by previous bugfix
@@ -106740,14 +109069,14 @@
* eglot.el (xref-backend-identifier-completion-table): Use vector.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-07 João Távora <joaotavora@gmail.com>
Move constants to top instead of forward-declaring
* eglot.el (eglot--symbol-kind-names, eglot--kind-names): Move to
top of file.
-2023-04-15 Mario Rodas <marsam@users.noreply.github.com> (tiny change)
+2018-11-07 Mario Rodas <marsam@users.noreply.github.com> (tiny change)
Support ocaml-language-server out of the box ()
@@ -106758,18 +109087,18 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/149
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-07 Michal Krzywkowski <k.michal@zoho.com>
* eglot.el (eglot-client-capabilities): mention supported symbolkinds.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-07 Michal Krzywkowski <k.michal@zoho.com>
Make imenu hierarchical
* eglot.el (eglot-imenu): Use :containerName to build a nested imenu
index alist.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-04 Michal Krzywkowski <k.michal@zoho.com>
Fix a bug when response to definitions request is a single location
@@ -106777,7 +109106,7 @@
* eglot.el (xref-backend-definitions): Coerce response to a vector.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-11-04 João Távora <joaotavora@gmail.com>
Simplify eglot-code-action. fix compilation warning
@@ -106786,7 +109115,7 @@
directly.
(eglot--code-action-kinds): Remove.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-04 Michal Krzywkowski <k.michal@zoho.com>
Add support for code action literals
@@ -106797,14 +109126,14 @@
(eglot--code-action-kinds): New variable.
(eglot-code-actions): Apply provided WorkspaceEdit.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-11-04 Michal Krzywkowski <k.michal@zoho.com>
Use the container name of a symbol in imenu
* eglot.el (eglot-imenu): Prepend :containerName to each symbol, when
provided.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-31 Michal Krzywkowski <k.michal@zoho.com>
Don't ignore unknown symbolkinds in imenu
@@ -106814,14 +109143,14 @@
* eglot.el (eglot-imenu): Don't delete elements with unknown symbol
kind from the return list, instead put them in `(Unknown)` group.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-31 Michal Krzywkowski <k.michal@zoho.com>
Remove duplicates from imenu
* eglot.el (eglot-imenu): Don't append the result list to itself,
which causes duplicates.
-2023-04-15 Alex Branham <alex.branham@gmail.com>
+2018-10-30 Alex Branham <alex.branham@gmail.com>
Require subr-x at compile time ()
@@ -106832,7 +109161,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/139
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-10-30 João Távora <joaotavora@gmail.com>
Accept deprecated field in symbolinformation
@@ -106841,14 +109170,14 @@
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/138
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-10-24 John Wiegley <johnw@newartisans.com>
Merge pull request from jwiegley/use-package-chords-suppress-compiler-message
prefix argument with _ to suppress Unused lexical argument warning
GitHub-reference: https://github.com/jwiegley/use-package/issues/713
-2023-04-15 Dale Sedivec <dale@codefu.org> (tiny change)
+2018-10-24 Dale Sedivec <dale@codefu.org> (tiny change)
Fix misspelling of "outstanding" ()
@@ -106857,17 +109186,17 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/74
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-18 Michal Krzywkowski <k.michal@zoho.com>
Handle case when project was not found in eclipse.jdt.ls contact
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-18 Michal Krzywkowski <k.michal@zoho.com>
Override eglot-execute-command for eclipse.jdt.ls server
* eglot.el (eglot-execute-command eglot-eclipse-jdt): New defmethod.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-18 Michal Krzywkowski <k.michal@zoho.com>
Add support for eclipse.jdt.ls server
@@ -106878,7 +109207,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/63
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-18 Michal Krzywkowski <k.michal@zoho.com>
Allow function contacts to be interactive
@@ -106889,7 +109218,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/63
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-15 Michal Krzywkowski <k.michal@zoho.com>
Improve signature help
@@ -106898,7 +109227,7 @@
:label in signature's :label. Append to the result first sentence
of signature's :documentation, if present.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-15 Michal Krzywkowski <k.michal@zoho.com>
Sort references and definitions by line number
@@ -106907,7 +109236,7 @@
(xref-backend-references):
(xref-backend-apropos): Use it.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-15 Michal Krzywkowski <k.michal@zoho.com>
Merge pull request from mkcms/fix-diagnostics-wrong-type-argument
@@ -106915,14 +109244,14 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/104
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-15 Michal Krzywkowski <k.michal@zoho.com>
Handle case when diagnostic :character is out of range
* eglot.el (eglot-handle-notification): Don't error out when
flymake-diag-region returns nil.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-15 Michal Krzywkowski <k.michal@zoho.com>
Eglot-ignored-server-capabilites: prefer all choices over "other"
@@ -106932,7 +109261,7 @@
* eglot.el (eglot-ignored-server-capabilites): Make the "Other" choice
the last possible option.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-10-03 Michal Krzywkowski <k.michal@zoho.com>
Make eglot-ignored-server-capabilites more user-friendly ()
@@ -106941,7 +109270,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/126
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-09-24 Michal Krzywkowski <k.michal@zoho.com>
Correctly map documentsymbol's :kind to its name ()
@@ -106954,7 +109283,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/121
-2023-04-15 whatacold <whatacold@gmail.com> (tiny change)
+2018-09-24 whatacold <whatacold@gmail.com> (tiny change)
Autoload eglot-ensure ()
@@ -106963,7 +109292,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/120
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-09-17 João Távora <joaotavora@gmail.com>
Don't block kill-buffer-hook if server somehow hangs
@@ -106972,14 +109301,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/115
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-09-13 Justin Talbott <justin@waymondo.com>
Merge pull request from lrochfort/ensure-system-package_use-sudo
[Fix https://github.com/jwiegley/use-package/issues/720] Install system packages using system-packages-install
GitHub-reference: https://github.com/jwiegley/use-package/issues/721
-2023-04-15 Laurence Rochfort <laurence.rochfort@gmail.com> (tiny change)
+2018-09-12 Laurence Rochfort <laurence.rochfort@gmail.com> (tiny change)
[] Install system packages using system-packages-install
@@ -106999,7 +109328,7 @@
list of conses causes nil to used as the package to install.
GitHub-reference: fix https://github.com/jwiegley/use-package/issues/720
-2023-04-15 Aleksey Kladov <aleksey.kladov@gmail.com> (tiny change)
+2018-09-08 Aleksey Kladov <aleksey.kladov@gmail.com> (tiny change)
Don't send other notifications before initialized
@@ -107009,7 +109338,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/100
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-09-07 João Távora <joaotavora@gmail.com>
Prefer ccls over cquery for c/c++
@@ -107019,7 +109348,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/94
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-09-07 João Távora <joaotavora@gmail.com>
Fix serious breakage introduced by
@@ -107029,7 +109358,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/93
-2023-04-15 Fangrui Song <i@maskray.me>
+2018-09-07 Fangrui Song <i@maskray.me>
Don't warn on implementation-specific notifications ()
@@ -107042,7 +109371,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/93
-2023-04-15 Evgeni Kolev <evgenysw@gmail.com> (tiny change)
+2018-08-27 Evgeni Kolev <evgenysw@gmail.com> (tiny change)
When exiting emacs, don't ask the user to confirm killing processes ()
@@ -107052,7 +109381,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/83
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-25 João Távora <joaotavora@gmail.com>
Handle case when :textdocumentsync isn't a number
@@ -107063,7 +109392,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/86
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-20 João Távora <joaotavora@gmail.com>
Correctly delete text before expanding snippet completions
@@ -107074,7 +109403,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/82
-2023-04-15 Phillip Dixon <phillip.dixon@gmail.com> (tiny change)
+2018-08-20 Phillip Dixon <phillip.dixon@gmail.com> (tiny change)
Ignore extra keys in textdocument/publishdiagnostics ()
@@ -107087,7 +109416,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/81
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-19 João Távora <joaotavora@gmail.com>
Consider :triggercharacters in company completion
@@ -107096,7 +109425,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/80
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-18 João Távora <joaotavora@gmail.com>
Improve snippet support
@@ -107106,7 +109435,7 @@
(eglot-completion-at-point): Better annotations when snippets
are supported.
-2023-04-15 Evgeni Kolev <evgenysw@gmail.com> (tiny change)
+2018-08-18 Evgeni Kolev <evgenysw@gmail.com> (tiny change)
Add go-langserver ()
@@ -107116,7 +109445,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/74
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-18 João Távora <joaotavora@gmail.com>
Don't error if server replies with empty hover message
@@ -107124,7 +109453,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/74
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-08-17 Michal Krzywkowski <k.michal@zoho.com>
Fix textdocument/hover responses where markedstring is a plist ()
@@ -107133,7 +109462,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/72
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-17 João Távora <joaotavora@gmail.com>
Support snippet completions
@@ -107147,7 +109476,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/50
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-17 João Távora <joaotavora@gmail.com>
Fix eglot-capabilities when querying for multiple features
@@ -107158,14 +109487,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/74
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-08-13 Justin Talbott <justin@waymondo.com>
prefix argument with _ to suppress Unused lexical argument warning
per @tarsius’s comment
https://github.com/jwiegley/use-package/commit/5d9c854a6cf12fff2326ee5653e87e2d3d550a8d#commitcomment-29996666
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-13 João Távora <joaotavora@gmail.com>
Prompt for server in interactive eglot-shutdown
@@ -107174,7 +109503,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/73
-2023-04-15 James Nguyen <james@jojojames.com>
+2018-08-12 James Nguyen <james@jojojames.com>
Add kotlin-language-server ()
@@ -107186,7 +109515,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/70
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-12 João Távora <joaotavora@gmail.com>
Handle edits to same position in the correct order
@@ -107207,7 +109536,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/64
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-12 João Távora <joaotavora@gmail.com>
Control the size of the events buffer
@@ -107216,7 +109545,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/41
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-12 João Távora <joaotavora@gmail.com>
Implement asynchronous server connection
@@ -107245,7 +109574,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/68
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-08-11 Michal Krzywkowski <k.michal@zoho.com>
Kill server's output and events buffers from eglot-shutdown ()
@@ -107260,14 +109589,14 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/66
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-11 João Távora <joaotavora@gmail.com>
Improve eglot-execute-command api to ease overriding by servers
* eglot.el (eglot-execute-command): COMMAND can be a symbol.
(eglot-code-actions): Pass symbols to eglot-command.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-08-11 Michal Krzywkowski <k.michal@zoho.com>
Add a generic eglot-execute-command api
@@ -107275,21 +109604,21 @@
to request :workspace/executeCommand.
(eglot-code-actions): Use it.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-08-11 Michal Krzywkowski <k.michal@zoho.com>
* eglot.el (eglot-cquery): capitalize docstring.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-09 João Távora <joaotavora@gmail.com>
* eglot.el (advice-add jsonrpc-request): add &allow-other-keys
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-09 João Távora <joaotavora@gmail.com>
Require jsonrpc.el 1.0.2 (gnu elpa didn't build 1.0.1)
* eglot.el (Package-Requires): Require jsonrpc 1.0.2
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-09 João Távora <joaotavora@gmail.com>
Snappier completions that don't hinder typing
@@ -107301,7 +109630,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/61
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-08-09 Michal Krzywkowski <k.michal@zoho.com>
Notify server of recent changes before save notification
@@ -107310,11 +109639,11 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/60
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-07 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-initialization-options): fix spurious typo.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-07 João Távora <joaotavora@gmail.com>
Accept functions as entries in eglot-server-programs
@@ -107332,7 +109661,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/63
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-05 João Távora <joaotavora@gmail.com>
Eglot-workspace-configuration's keys needn't be keywords
@@ -107341,14 +109670,14 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/59
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-03 João Távora <joaotavora@gmail.com>
Default eglot-handle-notifictiona|request must &allow-other-keys
* eglot.el (eglot-handle-notification, eglot-handle-request): Add
&allow-other-keys
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-08-03 Michal Krzywkowski <k.michal@zoho.com>
Fix placement of diagnostics with same start and end positions
@@ -107360,7 +109689,7 @@
are 0-based. Don't subtract 1 from :character, since both emacs and
LSP have 0-based columns.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-08-02 João Távora <joaotavora@gmail.com>
Erase company-doc buffer in between doc requests
@@ -107369,11 +109698,11 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/58
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-07-30 Michal Krzywkowski <k.michal@zoho.com>
* eglot.el (eglot-client-capabilities): fix a typo.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-07-28 Michal Krzywkowski <k.michal@zoho.com>
Implement textdocument/rangeformatting
@@ -107384,7 +109713,7 @@
* README.md (Commands and keybindings): Mention eglot-format.
(Language features): Tick textDocument/rangeFormatting.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-07-28 Michal Krzywkowski <k.michal@zoho.com>
Correctly make lsp positions in narrowed buffers
@@ -107393,7 +109722,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/54
-2023-04-15 Väinö Järvelä <vaino.jarvela@gmail.com> (tiny change)
+2018-07-28 Väinö Järvelä <vaino.jarvela@gmail.com> (tiny change)
Fix typo in willsavewaituntil rpc request ()
@@ -107402,7 +109731,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/51
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-07-28 Michal Krzywkowski <k.michal@zoho.com>
Work around emacs bugs 32237, 32278 ()
@@ -107415,7 +109744,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/53
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-27 João Távora <joaotavora@gmail.com>
Be less verbose when using eglot-ensure
@@ -107424,7 +109753,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/48
-2023-04-15 Alan Zimmerman <alan.zimm@gmail.com>
+2018-07-26 Alan Zimmerman <alan.zimm@gmail.com>
Add entry for haskell-ide-engine in eglot-server-programs ()
@@ -107432,7 +109761,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/49
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-25 João Távora <joaotavora@gmail.com>
Fix messages of eglot-ensure
@@ -107440,7 +109769,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/48
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-22 João Távora <joaotavora@gmail.com>
Don't turn on flymake-mode any more than is needed
@@ -107453,7 +109782,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/44
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-20 João Távora <joaotavora@gmail.com>
Robustify in the face of manual mode changes
@@ -107476,14 +109805,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/44
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-07-15 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/autoload-keymap
Correct prefix keys after use-package-autoload-keymap
GitHub-reference: https://github.com/jwiegley/use-package/issues/686
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-11 João Távora <joaotavora@gmail.com>
Implement workspace/didchangeconfiguration ()
@@ -107498,7 +109827,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/29
GitHub-reference: close https://github.com/joaotavora/eglot/issues/40
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-11 João Távora <joaotavora@gmail.com>
Handle experimental/unknown server methods gracefully
@@ -107511,20 +109840,20 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/39
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-07-10 John Wiegley <johnw@newartisans.com>
Merge pull request from jwiegley/ensure-system-package-filepath
allow :ensure-system-package to check the presence of files at path
GitHub-reference: https://github.com/jwiegley/use-package/issues/703
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-07-09 Justin Talbott <justin@waymondo.com>
allow :ensure-system-package to check the presence of files at path
closes https://github.com/jwiegley/use-package/issues/660
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-09 João Távora <joaotavora@gmail.com>
Jsonrpc.el is now a gnu elpa depedency
@@ -107541,11 +109870,11 @@
* jsonrpc-tests.el: Remove
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-08 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-completion-at-point): fix broken indentation
-2023-04-15 Ricardo Martins <ricardo@scarybox.net> (tiny change)
+2018-07-08 Ricardo Martins <ricardo@scarybox.net> (tiny change)
Format documentation in completion annotations
@@ -107557,7 +109886,7 @@
* eglot.el (eglot-completion-at-point): Use eglot--format-markup
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-06 João Távora <joaotavora@gmail.com>
Unbreak completion when no possible annotation
@@ -107566,14 +109895,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/37
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-07-03 John Wiegley <johnw@newartisans.com>
Merge pull request from killdash9/patch-1
Place :chords at beginning of use-package-keywords
GitHub-reference: https://github.com/jwiegley/use-package/issues/697
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-02 João Távora <joaotavora@gmail.com>
Handle outrageously large and buggy line numbers
@@ -107582,7 +109911,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/34
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-07-01 João Távora <joaotavora@gmail.com>
Inhibit auto-reconnect until connection is established
@@ -107594,7 +109923,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/36
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-29 João Távora <joaotavora@gmail.com>
Bind default-directory when launching servers
@@ -107604,24 +109933,24 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/33
-2023-04-15 Russell Black <black.russell@gmail.com>
+2018-06-28 Russell Black <black.russell@gmail.com>
Place :chords at beginning of use-package-keywords
When it is at the end, the keys don't get bound until after the package has been loaded, which is bad. Placing it at the beginning allows the key bindings to be mapped to auto-loaded functions before the package is loaded, so that a key chord press triggers the package load.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-06-25 John Wiegley <johnw@newartisans.com>
Merge pull request from killdash9/patch-1
New style of auto-deferral for chords
GitHub-reference: https://github.com/jwiegley/use-package/issues/658
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-06-25 John Wiegley <johnw@newartisans.com>
Merge branch 'master' into patch-1
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-25 João Távora <joaotavora@gmail.com>
Cache buffer's managing server
@@ -107632,7 +109961,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/32
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-25 João Távora <joaotavora@gmail.com>
Unbreak imenu for cquery servers (and probably more)
@@ -107641,7 +109970,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/31
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-25 João Távora <joaotavora@gmail.com>
Unbreak basic imenu functionality
@@ -107650,7 +109979,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/31
-2023-04-15 Ricardo Martins <1706+meqif@users.noreply.github.com> (tiny change)
+2018-06-25 Ricardo Martins <1706+meqif@users.noreply.github.com> (tiny change)
Fix typo in the solargraph server program
@@ -107659,14 +109988,14 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/30
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-23 João Távora <joaotavora@gmail.com>
Fix some rather silly bugs in some interactive specs
* eglot.el (eglot-events-buffer, eglot-stderr-buffer)
(eglot-forget-pending-continuations): Fix interactive specs.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-23 João Távora <joaotavora@gmail.com>
Implement tcp autostart/autoconnect (and support ruby's solargraph)
@@ -107683,19 +110012,19 @@
(eglot--connect): Consider :autoport case.
(eglot--inferior-bootstrap): New helper.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-22 João Távora <joaotavora@gmail.com>
Merge branch 'jsonrpc-refactor', bump version to 1.0
* eglot.el (Version): Bump to 1.0
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-22 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.11
Merge master into jsonrpc-refactor (using imerge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-21 João Távora <joaotavora@gmail.com>
Empty ranges are valid in lsp
@@ -107712,7 +110041,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/27
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-21 João Távora <joaotavora@gmail.com>
Apply text edits as a single undoable edit
@@ -107728,7 +110057,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/22
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-21 João Távora <joaotavora@gmail.com>
Report progress when applying edits
@@ -107742,7 +110071,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/23
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-21 João Távora <joaotavora@gmail.com>
Apply text edits atomically
@@ -107753,13 +110082,13 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/22
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-21 João Távora <joaotavora@gmail.com>
Defer textdocument/formatting requests
* eglot.el (eglot-format-buffer): Pass DEFERRED to eglot--request.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-21 João Távora <joaotavora@gmail.com>
Simplify eglot-format-buffer
@@ -107779,7 +110108,7 @@
GitHub-reference: per https://github.com/joaotavora/eglot/issues/22
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-20 João Távora <joaotavora@gmail.com>
Guess server for js2-mode and rjsx-mode
@@ -107791,7 +110120,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/26
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-20 João Távora <joaotavora@gmail.com>
Improve eglot-ensure and mention it in readme.md
@@ -107803,7 +110132,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/25
-2023-04-15 Rami Chowdhury <460769+necaris@users.noreply.github.com> (tiny change)
+2018-06-16 Rami Chowdhury <460769+necaris@users.noreply.github.com> (tiny change)
Use gfm-mode for formatted strings ()
@@ -107812,7 +110141,7 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/20
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-15 João Távora <joaotavora@gmail.com>
Minor cleanup to new textdocument/formatting feature
@@ -107823,7 +110152,7 @@
(eglot-format-buffer): Remove unused lexical variable before-point.
-2023-04-15 Michal Krzywkowski <k.michal@zoho.com>
+2018-06-15 Michal Krzywkowski <k.michal@zoho.com>
Implement formatting ()
@@ -107836,45 +110165,45 @@
GitHub-reference: https://github.com/joaotavora/eglot/issues/19
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-06-14 John Wiegley <johnw@newartisans.com>
Merge pull request from jabranham/enable-lexical-binding
Enable lexical binding
GitHub-reference: https://github.com/jwiegley/use-package/issues/657
-2023-04-15 Alex Branham <alex.branham@gmail.com>
+2018-06-13 Alex Branham <alex.branham@gmail.com>
Fix use-package-normalize-function
Fix use-package-normalize-function tests
-2023-04-15 Alex Branham <alex.branham@gmail.com>
+2018-06-13 Alex Branham <alex.branham@gmail.com>
Enable lexical binding
This supersedes https://github.com/jwiegley/use-package/issues/617 and closes https://github.com/jwiegley/use-package/issues/648
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-06-13 John Wiegley <johnw@newartisans.com>
Merge pull request from taingra/master
Added an Introduction taken from the README
GitHub-reference: https://github.com/jwiegley/use-package/issues/692
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-06-13 John Wiegley <johnw@newartisans.com>
Update use-package.texi
-2023-04-15 Thomas Ingram <taingram@mtu.edu> (tiny change)
+2018-06-13 Thomas Ingram <taingram@mtu.edu> (tiny change)
Added an Introduction taken from the README
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-13 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.10
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-13 João Távora <joaotavora@gmail.com>
Fix a bug when eglot--request times out
@@ -107882,11 +110211,11 @@
message.
(eglot--async-request): Must return the timer.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-13 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-shutdown): accept timeout param.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-13 João Távora <joaotavora@gmail.com>
Fix bug in querying server capabilities
@@ -107895,13 +110224,13 @@
* eglot.el (eglot--server-capable): Fix bug.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-10 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.9
Merge branch 'master' into jsonrpc-refactor
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-10 João Távora <joaotavora@gmail.com>
New eglot-ensure to put in a major-mode's hook
@@ -107919,7 +110248,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/17
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-10 João Távora <joaotavora@gmail.com>
Remove connection grabbing antics from jsonrpc.el
@@ -107952,7 +110281,7 @@
* eglot-tests.el (auto-detect-running-server, auto-reconnect): Use
eglot--current-server.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-10 João Távora <joaotavora@gmail.com>
Simplify jsonrpc status setting
@@ -107965,7 +110294,7 @@
(jsonrpc-clear-status): Delete.
(jsonrpc--connection-receive): Set last-error.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-09 João Távora <joaotavora@gmail.com>
Request dispatcher's return value determines response
@@ -107988,24 +110317,24 @@
(jsonrpc--connection-receive): Rework and simplify.
(jsonrpc-reply): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-09 João Távora <joaotavora@gmail.com>
Merge branch 'master' into jsonrpc-refactor
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-09 João Távora <joaotavora@gmail.com>
Fix indentation f@#$%^ by previous commit
Courtesy of aggressive-indent-mode... Agressive it is...
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-09 João Távora <joaotavora@gmail.com>
Attempt to handle rls sophisticated globs for didchangewwatchedfiles
* eglot.el (eglot--wildcard-to-regexp): New helper.
(eglot--register-workspace/didChangeWatchedFiles): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-08 João Távora <joaotavora@gmail.com>
Check flymake-mode before calling report-fn
@@ -108013,11 +110342,11 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/16
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-08 João Távora <joaotavora@gmail.com>
Merge master into jsonrpc-refactor
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-08 João Távora <joaotavora@gmail.com>
Simplify jsonrpc connection shutdown
@@ -108035,7 +110364,7 @@
* eglot-tests.el (auto-reconnect): Use jsonrpc--process.
(eglot--call-with-dirs-and-files): Use jsonrpc-running-p.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-08 João Távora <joaotavora@gmail.com>
Support json.c. api purely based on classes
@@ -108090,7 +110419,7 @@
(rls-hover-after-edit): Correctly compare using string= and
non-keyword symbols.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-06 João Távora <joaotavora@gmail.com>
Slightly polish the flymake integration
@@ -108102,23 +110431,23 @@
(eglot--maybe-activate-editing-mode): Assume no diagnostics on
open.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-06 João Távora <joaotavora@gmail.com>
* eglot.el (eglot--make-process): use 'utf-8-emacs-unix
Attempt to improve the situation reported in https://github.com/joaotavora/eglot/issues/14.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-05 João Távora <joaotavora@gmail.com>
Merge master into jsonrpc-refactor (using imerge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-05 João Távora <joaotavora@gmail.com>
Shoosh compiler
* eglot.el (eglot-server-ready-p): Use cl-defmethod
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-05 João Távora <joaotavora@gmail.com>
Cleanup the flymake 26.1 hack slightly
@@ -108134,7 +110463,7 @@
flymake-category.
(horrible hack at the end): Move the Flymake 26.1 hack here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-04 João Távora <joaotavora@gmail.com>
Support purposedly ignoring a server capability
@@ -108143,7 +110472,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/12
-2023-04-15 brotzeit <brotzeitmacher@gmail.com>
+2018-06-04 brotzeit <brotzeitmacher@gmail.com>
Fix typos
@@ -108152,7 +110481,7 @@
* eglot.el (eglot--all-major-modes)
(eglot--notify, eglot--xref-reset-known-symbols): Fix typos.
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2018-06-03 Justin Burkett <justin@burkett.cc>
Correct prefix keys after use-package-autoload-keymap
@@ -108164,20 +110493,20 @@
See https://github.com/justbur/emacs-which-key/issues/192
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
Fix another merge-related bug in eglot-eldoc-function
* eglot.el (eglot-eldoc-function): Correctly destructure
eglot--range-region.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-eldoc-function): remove spurious log message
* eglot.el (version): bump to 0.8
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
Fix completionitem/resolve
@@ -108186,7 +110515,7 @@
* eglot.el (eglot-completion-at-point): Correctly pass properties
to completionItem/resolve.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
Explicitly trigger eldoc after workspace edits
@@ -108195,7 +110524,7 @@
* eglot.el (eglot--apply-workspace-edit): Call
eglot-eldoc-function.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
New command m-x eglot-code-actions
@@ -108214,7 +110543,7 @@
(eglot--diag, advice-add flymake--highlight-line): Horrible hack.
(eglot--overlay-diag-props): Horrible hack.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
Revert an unfinished feature that made it to the last commit
@@ -108224,13 +110553,13 @@
Add MELPA badge
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
Add melpa badge
* README.mdown: Now in MELPA too
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-06-01 João Távora <joaotavora@gmail.com>
Prevent possible cquery choke on :initializationoptions
@@ -108238,15 +110567,15 @@
* eglot.el (eglot-initialization-options): Use `list'
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-30 João Távora <joaotavora@gmail.com>
Merge master into jsonrpc-refactor (using imerge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-29 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.7
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-28 João Távora <joaotavora@gmail.com>
More yak shaving
@@ -108258,7 +110587,7 @@
(eglot--signal-textDocument/didChange, eglot--apply-text-edits):
Simplify with eglot--widening.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-28 João Távora <joaotavora@gmail.com>
New m-x eglot-stderr-buffer useful for debugging
@@ -108267,21 +110596,21 @@
(eglot--mode-line-format): Bind C-mouse-1 to new
eglot-stderr-buffer.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
On reconnection, ignore errors of shutting down hung server
* eglot.el
(eglot, eglot-reconnect): Ignore any errors on shutdown.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Be more criterious before running the idle timer
* eglot.el (eglot--change-idle-timer): make a defvar-local
(eglot--after-change): Only run timer if the buffer is live.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Make eglot--recent-changes a simpler list
@@ -108294,7 +110623,7 @@
(eglot--signal-textDocument/didOpen): Use eglot--recent-changes as
a list.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Set eglot--versioned-identifier to 0 on didopen
@@ -108303,7 +110632,7 @@
* eglot.el (eglot--signal-textDocument/didOpen): Also set
eglot--versioned-identifier to 0.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Correctly apply workspace edits in documentchanges form
@@ -108311,11 +110640,11 @@
* eglot.el (eglot--apply-workspace-edit): Fix and simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.6
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Hopefully fix the flymake bootstrap problem
@@ -108332,7 +110661,7 @@
* eglot-tests.el (rls-basic-diagnostics): Simplify test.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Set spinner in textdocument/didchange as it matters to rls
@@ -108343,7 +110672,7 @@
* eglot.el (eglot--signal-textDocument/didChange): Set the spinner
here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-27 João Távora <joaotavora@gmail.com>
Fix assorted cquery-related bugs
@@ -108369,11 +110698,11 @@
(eglot--apply-text-edits): Use pcase-lambda.
(ert): require it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.5
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
Merge branch 'cquery-support' into master
@@ -108389,7 +110718,7 @@
(eglot-handle-notification :$cquery/publishSemanticHighlighting):
Solve compilation warnings.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
Really ensure eglot--shutdown deletes a process completely
@@ -108401,7 +110730,7 @@
(eglot-shutdown): use eglot--shutdown-requested. Improve check
for process liveness.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
Get rid of eglot--obj, an uninteresting abstraction
@@ -108420,7 +110749,7 @@
(xref-backend-references, xref-backend-apropos, eglot-imenu)
(eglot-rename): Use list instead of eglot--obj.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
Cleanup deferred request mechanism with a readable log
@@ -108431,14 +110760,14 @@
(eglot--call-deferred): Be more informative.
(eglot--async-request): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
Simpify eglot--server-receive
* eglot.el (eglot--obj): Cleanup whitespace.
(eglot--server-receive): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-26 João Távora <joaotavora@gmail.com>
Don't rely on flymake's idle timer for textdocument/didchange
@@ -108447,7 +110776,7 @@
(eglot--signal-textDocument/didChange): No seed to set spinner here.
(eglot-flymake-backend) Don't send didChange here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-25 João Távora <joaotavora@gmail.com>
Document current api breaches a bit
@@ -108459,11 +110788,11 @@
(eglot--process): Alias to concentrate the hack here.
(eglot--signal-textDocument/didChange): Tweak comment.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-25 João Távora <joaotavora@gmail.com>
Merge branch use-eieio-server-defclass into jsonrpc-refactor
-2023-04-15 Josh Elsasser <jelsasser@appneta.com>
+2018-05-24 Josh Elsasser <jelsasser@appneta.com>
Log debug messages through eglot--debug
@@ -108473,7 +110802,7 @@
(eglot--server-receive): Demote "Notification unimplemented"
message on missing handlers to a pure debug message.
-2023-04-15 Josh Elsasser <jelsasser@appneta.com>
+2018-05-24 Josh Elsasser <jelsasser@appneta.com>
Demote unvisited diagnostics logging to debug level
@@ -108485,14 +110814,14 @@
the "received diagnostics for unvisited file" warning as debug
to avoid spamming users of compliant language servers.
-2023-04-15 Josh Elsasser <jelsasser@appneta.com>
+2018-05-24 Josh Elsasser <jelsasser@appneta.com>
Introduce eglot--debug for unimportant messages
* eglot.el (eglot--debug): New function to log noisy or trivial
messages to the eglot events buffer.
-2023-04-15 Josh Elsasser <jelsasser@appneta.com>
+2018-05-24 Josh Elsasser <jelsasser@appneta.com>
Add cquery support for c/c++ projects
@@ -108512,7 +110841,7 @@
* README.md: Mention cquery in the README.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-22 João Távora <joaotavora@gmail.com>
Fix indentation broken by the defclass monster commit
@@ -108521,7 +110850,7 @@
unregisterCapability, eglot-handle-request applyEdit): fix
indentation.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-22 João Távora <joaotavora@gmail.com>
Introduce new api methods for experimental clients to use
@@ -108534,7 +110863,7 @@
(eglot--client-capabilities): Remove.
(eglot--connect): Call new API methods here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-22 João Távora <joaotavora@gmail.com>
Do rust's rls hack properly with new class-based api
@@ -108554,7 +110883,7 @@
(auto-reconnect, basic-completions)
(hover-after-completions): Use eglot--interactive
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-22 João Távora <joaotavora@gmail.com>
Use an eieio class to represent a server.
@@ -108627,7 +110956,7 @@
(eglot--current-process): Removed.
(eglot--current-server): New function.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-21 João Távora <joaotavora@gmail.com>
Introduce eglot-handle-request and eglot-handle-notification as api
@@ -108643,7 +110972,7 @@
(eglot--server-client/unregisterCapability)
(eglot-handle-request): Convert to eglot-handle-request.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-20 João Távora <joaotavora@gmail.com>
Get rid of jsonrpc.el customization group and timeout
@@ -108656,11 +110985,11 @@
(jsonrpc-async-request): Use it.
(jsonrpc-request): Accept timeout kwarg and pass it on.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-20 João Távora <joaotavora@gmail.com>
Heroically merge master into jsonrpc-refactor (using imerge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-20 João Távora <joaotavora@gmail.com>
Rename jrpc.el to jsonrpc.el
@@ -108673,7 +111002,7 @@
* Makefile: jrpc.el -> jsonrpc.el
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Fix a bug introduced in the previous commit
@@ -108682,7 +111011,7 @@
(eglot-completion-at-point): Use eglot--format-markup
(eglot--hover-info): Yak shaving
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Rewrite a couple of defs and shave a yak
@@ -108695,18 +111024,18 @@
(eglot--server-workspace/applyEdit, eglot--hover-info): Yak
shaving.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.4
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-05-19 John Wiegley <johnw@newartisans.com>
Merge pull request from akhramov/fix/ensure-system-package-cleanup
ensure-system-package cleanup
GitHub-reference: https://github.com/jwiegley/use-package/issues/683
-2023-04-15 Artyom Khramov <futu.fata@gmail.com> (tiny change)
+2018-05-19 Artyom Khramov <futu.fata@gmail.com> (tiny change)
Ensure system package cleanup
@@ -108719,7 +111048,7 @@
* Removes redundant variable declarations
* Adds `system-packages-get-command` function declaration.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Add some completion tests for pyls
@@ -108734,7 +111063,7 @@
* eglot.el (eglot-eldoc-function): Force write
eldoc-last-message, for tests sake.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Handle managed buffers in own process var
@@ -108756,14 +111085,14 @@
(eglot-shutdown): Turn off minor mode here.
(eglot--server-window/progress): Simplify slightly.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Robustness fixes for the request mechanism
* eglot.el (eglot--async-request): Pass actual id to eglot--log-event
(eglot--request): Also cancel any continuations.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Check capabilities before sending :completionitem/resolve
@@ -108771,7 +111100,7 @@
(eglot-completion-at-point): Check caps before sending
:completionItem/resolve
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Better decide what text exactly to present as completions
@@ -108784,11 +111113,11 @@
* eglot.el (eglot-completion-function): Rework main function and
:annotation-function, and :exit-function
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-clear-status): remember to update modeline
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Collect regions to change as markers, then edit
@@ -108803,7 +111132,7 @@
GitHub-reference: close https://github.com/joaotavora/eglot/issues/4
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
If we're going to send rootpath, better send an absolute one
@@ -108811,7 +111140,7 @@
* eglot.el (eglot--connect): Use expand-file-name.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Robustify timer handling for eglot--async-request
@@ -108822,7 +111151,7 @@
* jrpc.el (jrpc--async-request): Improve timeout handling. Return a list (ID TIMER)
(jrpc--request): Protect against user-quits, cancelling timer
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-19 João Távora <joaotavora@gmail.com>
Simplify some infrastructure fucntions
@@ -108834,7 +111163,7 @@
attempting reconnection.
(eglot-shutdown): Simplify.
-2023-04-15 Naoya Yamashita <conao3@gmail.com>
+2018-05-19 Naoya Yamashita <conao3@gmail.com>
fix gethash default value for use-package-statistics-time
@@ -108844,14 +111173,14 @@
> picosecond counts.
by `current-time` in editfns.c
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-18 João Távora <joaotavora@gmail.com>
Jrpc.el should know nothing of mode-line updates
* eglot.el (eglot--dispatch): METHOD can be a symbol.
Call force-mode-line-update here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-18 João Távora <joaotavora@gmail.com>
Improve jrpc.el's doc (and change jrpc-request's protocol a tiny bit)
@@ -108864,15 +111193,15 @@
* eglot.el (advice-add jrpc-request): Use &key deferred.
(eglot-completion-at-point): Pass :deferred to jrpc-request
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-18 João Távora <joaotavora@gmail.com>
Merge branch 'master' into jsonrpc-refactor (using good ol' git merge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-17 João Távora <joaotavora@gmail.com>
* eglot.el (version): bump to 0.3
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-17 João Távora <joaotavora@gmail.com>
Make it work on windows
@@ -108890,18 +111219,18 @@
(eglot--server-textDocument/publishDiagnostics): Simplify and use
eglot--uri-to-path.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-17 João Távora <joaotavora@gmail.com>
Fix eglot--error and eglot--message helpers
* eglot.el (eglot--error, eglot--message):
Safely interpret %s.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-17 João Távora <joaotavora@gmail.com>
* eglot.el (eglot--lambda): add missing indent spec.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-16 João Távora <joaotavora@gmail.com>
Simplify some function calling infrastructure
@@ -108919,7 +111248,7 @@
(eglot-eldoc-function, eglot-imenu, eglot--apply-text-edits):
Don't use eglot--mapply, use normal mapcar/mapc.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-16 João Távora <joaotavora@gmail.com>
Replace eglot--with-lsp-range with a function and pcase-let
@@ -108929,7 +111258,7 @@
(eglot--hover-info, eglot-eldoc-function)
(eglot--apply-text-edits): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-16 João Távora <joaotavora@gmail.com>
Simpler callback protocol for jsonrpc parameters and results
@@ -108955,7 +111284,7 @@
(jrpc-request): Simplify.
(jrpc-mapply): Remove.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-16 João Távora <joaotavora@gmail.com>
More flexible jrpc.el and improve eglot.el's doc
@@ -108970,11 +111299,11 @@
* jrpc.el (jrpc--make-process): Use new form of CONTACT.
(jrpc-connect): Explain new semantics of CONTACT.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-15 João Távora <joaotavora@gmail.com>
Merge master into jsonrpc-refactor (using imerge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-15 João Távora <joaotavora@gmail.com>
Add php's php-language-server to built-in guessed servers
@@ -108989,7 +111318,7 @@
* eglot.el (eglot-server-programs): Add php-language-server.
(eglot--connect): Also pass (deprecated) rootPath.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-15 João Távora <joaotavora@gmail.com>
Bump version and slightly improve doc
@@ -108998,13 +111327,13 @@
* README.md: Update
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
More quietly report request timeouts as events
* eglot.el (eglot--sync-request): Use eglot--log-event
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Shutdown server if connection initialization fails
@@ -109015,21 +111344,21 @@
specially.
(eglot--process-sentinel): Tweak messages.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Fix a ridiculous bug when generating transient projects
* eglot.el (eglot--find-current-process, eglot--interactive): Fix
horrible bug.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Fix a ridiculous bug when generating transient projects
* eglot.el (eglot--find-current-process, eglot--interactive): Fix
horrible bug.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Jrpc-connect is now passed a generic dispatching function
@@ -109045,11 +111374,11 @@
(jrpc-forget-pending-continuations, jrpc-async-request)
(jrpc-reply, jrpc-notify): Use new function names.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Merge master into jsonrpc-refactor (using imerge)
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Proper server shutdown when jrpc.el is used
@@ -109064,7 +111393,7 @@
(eglot--managed-mode): Don't use jrpc-server-moribund-hook
(eglot--buffer-managed-p): Simplify. Use eglot--find-current-process.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Support didchangewatchedfiles with dynamic registration
@@ -109083,13 +111412,13 @@
capability.
(eglot--client-capabilities): Update.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Remove an unused variable
* eglot.el (eglot--expect-carriage-return): Get rid of this.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Now send willsavewaituntil
@@ -109101,14 +111430,14 @@
(eglot--apply-text-edits): Simplify. Use current buffer.
(eglot--apply-workspace-edit): Use new eglot--apply-text-edits.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-14 João Távora <joaotavora@gmail.com>
Don't define a menu if nothing to show there for now
* eglot.el (eglot-menu): Remove it.
(eglot--mode-line-format): Don't define a menu.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-13 João Távora <joaotavora@gmail.com>
Use rls in travis ci and add actual tests
@@ -109126,14 +111455,14 @@
* README.md: Update mention of automated tests
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-13 João Távora <joaotavora@gmail.com>
Fix automatic project creation
* eglot.el (eglot): Take PROJECT arg. Return process.
(eglot--interactive): Returns a project.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-13 João Távora <joaotavora@gmail.com>
Work with any old directory, no formal project needed
@@ -109146,7 +111475,7 @@
(eglot--current-process-or-lose): Simplify.
(eglot): Maybe prompt user for project.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-13 João Távora <joaotavora@gmail.com>
Ask server for textdocument/signaturehelp if it supports it
@@ -109156,18 +111485,18 @@
* README.md: Update to mention textDocument/signatureHelp
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-13 João Távora <joaotavora@gmail.com>
Fix copyright header. obviously not since 2003
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-05-13 Justin Talbott <justin@waymondo.com>
Merge pull request from andschwa/remap-command
Document that remapping commands is supported with bind-key
GitHub-reference: https://github.com/jwiegley/use-package/issues/674
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-12 João Távora <joaotavora@gmail.com>
Refactor json-rpc lib jrpc.el from eglot.el
@@ -109176,7 +111505,7 @@
* jrpc.el: New file
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-12 João Távora <joaotavora@gmail.com>
Reinstate the catch/loop/throw idiom in eglot-request
@@ -109191,11 +111520,11 @@
* eglot.el (eglot-request): Use catch/loop/throw again
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-12 João Távora <joaotavora@gmail.com>
Fix copyright header. obviously not since 2003
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-12 João Távora <joaotavora@gmail.com>
New command eglot-help-at-point and a readme update
@@ -109206,14 +111535,14 @@
(eglot--hover-info): New helper.
(eglot-help-at-point): New command.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-11 João Távora <joaotavora@gmail.com>
Get rid of catch/loop/throw idiom (suggested by thien-thi nguyen)
* eglot.el (eglot--process-filter)
(eglot--request): Replace catch/loop/throw idiom with let/test/loop/set
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-11 João Távora <joaotavora@gmail.com>
Rework autoreconnection logic
@@ -109226,23 +111555,23 @@
(eglot--process-sentinel): Don't run timer here. Rework.
(eglot, eglot-reconnect): Pass INTERACTIVE to eglot--connect.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Duh, json.el is in emacs, and json-mode.el is useless here
* eglot.el (Package-Requires): Don't require json-mode
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Prepare to sumbit to gnu elpa
* eglot.el: Update headers.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
(eglot--xref-make): fix use of cl-destructuring-bind.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Misc little adjustments for readability
@@ -109250,7 +111579,7 @@
(eglot--xref-make, xref-backend-apropos): Use cl-destructuring-bind.
(eglot--server-window/showMessageRequest): Compact.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Support :completionitem/resolve
@@ -109261,7 +111590,7 @@
* README.md: Mention completionItem/resolve
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Rename functions. eglot--request is now the synchronous one
@@ -109285,7 +111614,7 @@
(eglot--signal-textDocument/didOpen)
(eglot--signal-textDocument/didChange): Use new function names.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Friendlier m-x eglot
@@ -109300,7 +111629,7 @@
* README.md: Update
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Improve eglot-eldoc-function
@@ -109313,7 +111642,7 @@
(eglot--apply-text-edits): Use it.
(eglot-eldoc-function): Use range if server provides it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Reduce log chatter
@@ -109325,7 +111654,7 @@
Make noops.
(eglot--call-deferred): Also reduce chatter here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Only call deferred actions after a full message has been received
@@ -109334,7 +111663,7 @@
* eglot.el (eglot--process-filter): Don't eglot--call-deferred here.
(eglot--process-receive): Do it here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Resist server failure during synchronous requests
@@ -109344,7 +111673,7 @@
* eglot.el (eglot--process-sentinel): Rework.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Simplify mode-line updating logic
@@ -109353,7 +111682,7 @@
auto-update mode-line.
(eglot--process-receive): Update it here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
More rls-specifics: update flymake diags when indexing done
@@ -109364,7 +111693,7 @@
* eglot.el
(eglot--server-window/progress): Call eglot--current-flymake-report-fn
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Adjust flymake integration
@@ -109379,11 +111708,11 @@
(eglot--server-textDocument/publishDiagnostics): Set unreported
diagnostics to nil if invoking callback.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
Shorten summary line to appease package-lint.el
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-10 João Távora <joaotavora@gmail.com>
More correctly setup rust-mode-related autoloads
@@ -109394,11 +111723,11 @@
* eglot.el (rust-mode-hook)
(eglot--setup-rls-idiosyncrasies): Wrap in autoloaded progn.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Add minimal headers, commentary and autoloads
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Fancier rls spinner
@@ -109406,7 +111735,7 @@
eglot--spinner.
(eglot--server-window/progress): Save detail message in spinner.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
New "deferred requests" that wait until server is ready
@@ -109436,14 +111765,14 @@
(rust-mode-hook): Add eglot--setup-rls-idiosyncrasies
(eglot--setup-rls-idiosyncrasies): New helper.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Call eglot-eldoc-function after completion finishes
* eglot.el (eglot-completion-at-point): Call
eglot-eldoc-function after completion finishes.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Simplify `eglot-shutdown`
@@ -109453,7 +111782,7 @@
(eglot--process-sentinel): Also call error functions.
(eglot--process-filter): Reindent.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Get rid of eglot-mode
@@ -109461,7 +111790,7 @@
shutting down, offer to kill server.
(mode-line-misc-info): Update to use eglot--managed-mode
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Simplify eglot--signal-textdocument/didchange
@@ -109474,7 +111803,7 @@
(eglot--signal-textDocument/didOpen): Initialize
buffer-local eglot--recent-changes here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-09 João Távora <joaotavora@gmail.com>
Fix odd bugs and tweak stuff
@@ -109484,7 +111813,7 @@
(eglot--log-event): Simplify
(eglot-completion-at-point): Saner annotation
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-08 João Távora <joaotavora@gmail.com>
Support workspace/applyedit
@@ -109495,7 +111824,7 @@
(eglot--apply-workspace-edit): New helper.
(eglot-rename): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-08 João Távora <joaotavora@gmail.com>
Support textdocument/rename
@@ -109506,7 +111835,7 @@
(eglot-rename): New interactive command.
(eglot--client-capabilities): Add rename capability.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-08 João Távora <joaotavora@gmail.com>
Reasonable textdocument/documenthighlight support
@@ -109526,7 +111855,7 @@
(eglot--highlights): New variable.
(eglot--client-capabilities): Update with support for documentHighlight.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Fix odd bugs
@@ -109536,19 +111865,19 @@
correctly.
(eglot--mode-line-format): Print error status.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
When killing server, always wait 3 seconds
* eglot.el (eglot--request): Accept TIMEOUT param.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Try to fix some textdocument/completion bugs
* eglot.el (eglot-completion-at-point): Rework slightly.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Half-decent imenu support via textdocument/documentsymbol
@@ -109561,7 +111890,7 @@
(eglot-imenu): New function.
(eglot--client-capabilities): Capable of documentSymbol.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Only request stuff that server says it's capable of
@@ -109571,14 +111900,14 @@
(xref-backend-references, xref-backend-apropos)
(eglot-completion-at-point, eglot-eldoc-function): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Simplify mode-line code with a helper.
* eglot.el (eglot--mdoe-line-props): New helper.
(eglot--mode-line-format): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Get rid of eglot--buffer-open-count
@@ -109588,7 +111917,7 @@
(eglot--signal-textDocument/didOpen)
(eglot--signal-textDocument/didClose): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Get rid of eglot--special-buffer-process
@@ -109598,11 +111927,11 @@
(eglot--current-process): Simplify.
(eglot--events-buffer): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
* eglot.el: reformat to shave off some lines.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Fix bug in hover support
@@ -109610,14 +111939,14 @@
(subr-x): Require it.
(eglot--format-markup): Pacify byte-compiler.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Clean up client capabilities
* eglot.el (eglot--client-capabilities): Clean up client
capabilities.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Half-baked textdocument/hover support
@@ -109627,7 +111956,7 @@
* README.md: update
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Tweak the async request engine.
@@ -109635,7 +111964,7 @@
(eglot--lambda): Move up in the file.
(eglot--sync-request): Use a catch-tag.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Explain why didopen on after-revert-hook is a bad idea
@@ -109644,7 +111973,7 @@
* eglot.el (eglot--managed-mode): Remove commented lines.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Half-decent completion support
@@ -109654,7 +111983,7 @@
(eglot--managed-mode): Handle completion-at-point-functions.
(eglot-completion-at-point): New function.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Solve another textdocument/didchange bug
@@ -109662,7 +111991,7 @@
(eglot--after-change): Store the actual after-text in the
eglot--recent-after-changes.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Support javascript's javascript-typescript-langserver
@@ -109676,14 +112005,14 @@
(eglot--current-buffer-TextDocumentItem): Guess language from mode
symbol.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Increase request timeout length to 10 seconds
* eglot.el (eglot-request-timeout): New var.
(eglot--request): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Workaround two suspected emacs bugs
@@ -109692,13 +112021,13 @@
(eglot--sync-request): Rework.
(eglot--server-client/registerCapability): Use a proper done tag.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Etoomanylambdas
* eglot.el (eglot--sync-request): Remove a lambda.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-07 João Távora <joaotavora@gmail.com>
Fix the odd bug here and there
@@ -109717,7 +112046,7 @@
with wrong id.
(eglot--xref-reset-known-symbols): Take DUMMY arg.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-06 João Távora <joaotavora@gmail.com>
Half-decent xref support
@@ -109733,7 +112062,7 @@
(eglot--obj): Add a debug spec.
(eglot--lambda): Add debug spec.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Very basic xref support
@@ -109748,7 +112077,7 @@
(xref-backend-references)
(xref-backend-apropos): New methods, still unimplemented.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
New helper eglot--sync-request
@@ -109759,7 +112088,7 @@
(eglot--sync-request): New function.
(eglot--process-receive): watch out for vector results.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Cleanup mistake with textdocumentitem and textdocumentidentifier
@@ -109774,26 +112103,26 @@
(eglot--signal-textDocument/willSave)
(eglot--signal-textDocument/didSave): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Handle dynamic registration in general (but nothing specific yet)
* eglot.el (eglot--server-client/registerCapability): Implement.
(eglot--register-workspace/didChangeWatchedFiles): Dummy registrator.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Honour textdocumentsync
* eglot.el (eglot--signal-textDocument/didChange): Honour textDocumentSync
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Be quite explicit about our lack of capabilities right now
* eglot.el (eglot--client-capabilities): Spread out.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Use rooturi instead of rootpath
@@ -109802,28 +112131,28 @@
eglot--uri.
(eglot--uri): New function.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Make reported capabilities into its own function
* eglot.el (eglot--client-capabilities): New function.
(eglot--connect): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Include source info in diagnostics
* eglot.el (eglot--server-textDocument/publishDiagnostics):
Include source info.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Reply to client/registercapability (don't handle it yet)
* eglot.el (eglot--server-client/registerCapability): New
function.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Handle requests from server correctly
@@ -109835,20 +112164,20 @@
(eglot--server-window/showMessageRequest)
(eglot--server-client/registerCapability): Use eglot--reply
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Don't auto-reconnect if last attempt lasted less than 3 seconds
* eglot.el (eglot--inhibit-auto-reconnect): New var.
(eglot--process-sentinel): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Workaround rls's regusal to treat nil as empty json object
* eglot.el (eglot--connect): Use dummy params.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Eglot-editing-mode becomes eglot--managed-mode
@@ -109859,20 +112188,20 @@
(eglot--buffer-managed-p): New function.
(eglot--maybe-activate-editing-mode): Simplify.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Make m-x eglot's interactive spec a separate function
* eglot.el (eglot--interactive): New function.
(eglot): Rework a little.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
When user declines to reconnect, first quit existing server
* eglot.el (eglot): Rework reconnection logic.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
Connect to lsp server via tcp
@@ -109884,7 +112213,7 @@
(eglot--connect): Take CONTACT arg.
(eglot--reconnect): Rework.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-04 João Távora <joaotavora@gmail.com>
More correctly keep track of didopen/didclose per buffer
@@ -109892,18 +112221,18 @@
(eglot--signal-textDocument/didOpen, eglot--signal-textDocument/didClose):
Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Fix mode-line mouse-clicks from outside selected window
* eglot.el (eglot--mode-line-call): New helper.
(eglot--mode-line-format): Use it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
* eglot.el (eglot--process-receive): skip null method notifs.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Trim some edges and add a bunch of boring rpc methods
@@ -109925,7 +112254,7 @@
eglot--buffer-open-count.
(eglot--buffer-open-count): New var.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Fix a couple of rust-related edge cases
@@ -109933,7 +112262,7 @@
(eglot--server-textDocument/publishDiagnostics): Allow :group in diagnostic
spec.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Fix textdocument/didchange
@@ -109945,7 +112274,7 @@
(eglot--after-change): Rework.
(eglot--signal-textDocument/didChange): Rework.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Rename rpc methods for clarity
@@ -109970,7 +112299,7 @@
(eglot--server-window/progress): Rename from
eglot--window/progress.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Reorganize file
@@ -109986,13 +112315,13 @@
(eglot-quit-server): Renamed to eglot-shutdown.
(eglot-shutdown): New function
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Delete two useless forward declarations
* eglot.el (eglot-mode, eglot-editing-mode-map): Remove forward decls.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Fix flymake diagnostic positions
@@ -110001,14 +112330,14 @@
* eglot.el (eglot--textDocument/publishDiagnostics):
Calculate position by hand.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Must re-announce didopen after reconnect
* eglot.el (eglot-reconnect): Also call
eglot--maybe-activate-editing-mode for all buffers.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Fix another flymake sync bug
@@ -110019,7 +112348,7 @@
unreported-diagnostics to nil.
(flymake): Require it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Make m-x eglot the main entry point
@@ -110029,7 +112358,7 @@
* README.md: Use M-x eglot
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Fix assorted bugs
@@ -110039,7 +112368,7 @@
eglot--pending-continuations.
(eglot--textDocument/publishDiagnostics): Clear unreported diagnostics
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Watch for files opened under umbrella of existing process
@@ -110049,7 +112378,7 @@
(eglot--maybe-activate-editing-mode): New function.
(find-file-hook): Add it here.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Multiple servers per project are possible
@@ -110068,7 +112397,7 @@
eglot--processes-by-project. Update mode line.
(eglot-editing-mode): Don't start processes, just suggest it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Appease checkdoc.el
@@ -110079,7 +112408,7 @@
(eglot--signalDidClose, eglot--maybe-signal-didChange):
Add docstring.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Simplify flymake integration
@@ -110092,14 +112421,14 @@
(eglot--textDocument/publishDiagnostics): Simplify.
(eglot-flymake-backend): Report unreported diagnostics.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Signal textdocument/didclose
* eglot.el (eglot-editing-mode): Signal didClose.
(eglot--signalDidClose): New.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Rework connection restarting again
@@ -110111,7 +112440,7 @@
(eglot-new-process): Rework.
(eglot--sentinel): Remove proc from eglot--processes-by-project.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-03 João Távora <joaotavora@gmail.com>
Redesign and simplify parser
@@ -110119,7 +112448,7 @@
* eglot.el (eglot--process-filter): Redesign.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Auto-reconnect on unexpected connection loss
@@ -110130,7 +112459,7 @@
unexpectedly.
(eglot--warn): Also message to *Messages*
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Ready to start fixing flymake integration
@@ -110138,21 +112467,21 @@
(eglot-flymake-backend): Always start by reporting no diagnostics.
(eglot--textDocument/publishDiagnostics): No annoying message.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Slightly more user friendly start
* eglot.el (eglot-new-process): signal DidOpen for every file in project.
(eglot-editing-mode): Offer to start process.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Don't clutter ui with warnings
* eglot.el (warnings): require it.
(eglot--warn): set warning-minimum-level
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Rework commands for connecting and reconnecting
@@ -110167,13 +112496,13 @@
(eglot--protocol-initialize): Rework.
(eglot--mode-line-format): Use eglot-reconnect.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Less obstrusive flymake stuff for now
* eglot.el (eglot--after-change, eglot-flymake-backend): Fix.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Events buffer uses eglot-mode, source buffers use eglot-editing-mode
@@ -110183,14 +112512,14 @@
(eglot-editing-mode): New minor mode.
(eglot-mode): Turns on eglot-editing-mode maybe.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Change status to error everytime an error is found
* eglot.el (eglot--process-receive): Also set error status.
(eglot--request): Fix a compilation warning.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Correctly report what we currently are capable of
@@ -110198,7 +112527,7 @@
* eglot.el (eglot--protocol-initialize): Clean up.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Add eglot-clear-status interactive command
@@ -110206,7 +112535,7 @@
(eglot-forget-pending-continuations): Fix bug.
(eglot--mode-line-format): Add link to eglot-clear-status.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Auto update mode-line after setting some process properties
@@ -110214,19 +112543,19 @@
(eglot--short-name, eglot--spinner, eglot--status): Update mode-line
after setting it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Start experimenting with python
* eglot.el (eglot-executables): Add pyls.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Don't switch to possibly dead buffer in sentinel
* eglot.el (eglot--process-sentinel): Don't with-current-buffer.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-02 João Távora <joaotavora@gmail.com>
Report server status in the mode-line
@@ -110237,7 +112566,7 @@
(eglot--window/showMessage): Set status to error if needed.
(eglot--mode-line-format): Display status if serious.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-01 João Távora <joaotavora@gmail.com>
Implement spinners and rls's window/progress
@@ -110246,14 +112575,14 @@
(eglot--snpinner): New var.
(compile): require it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-01 João Távora <joaotavora@gmail.com>
Fix parser to accept multiple messages in one chunk
* eglot.el (eglot--process-filter): Redesign slightly.
(eglot--message-mark): Remove. don't need this.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-01 João Távora <joaotavora@gmail.com>
Lay groundwork for uniform treatment of network connections
@@ -110261,17 +112590,17 @@
(eglot-new-process): Use it.
(pcase): Require it.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-01 João Távora <joaotavora@gmail.com>
Doc fixes
* eglot.el (eglot-mode-map): Move up before minor mode.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-05-01 João Távora <joaotavora@gmail.com>
* eglot.el (eglot-mode-map): move up before minor mode.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-04-30 João Távora <joaotavora@gmail.com>
Start working on this again
@@ -110296,28 +112625,28 @@
(eglot--signalDidOpen, eglot--maybe-signal-didChange): New stuff.
(eglot-flymake-backend): More or less a flymake backend function.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-04-30 João Távora <joaotavora@gmail.com>
Fix mode line
* eglot.el (mode-line-misc-info): conditionalize to eglot-mode
-2023-04-15 João Távora <joaotavora@gmail.com>
+2018-04-30 João Távora <joaotavora@gmail.com>
Fix some byte-compilation warnings
-2023-04-15 Andrew Schwartzmeyer <andrew@schwartzmeyer.com> (tiny change)
+2018-04-30 Andrew Schwartzmeyer <andrew@schwartzmeyer.com> (tiny change)
Document that remapping commands is supported with bind-key
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-04-26 Justin Talbott <justin@waymondo.com>
Merge pull request from akhramov/fix/ensure-system-package-noconfirm
[Fix https://github.com/jwiegley/use-package/issues/661] ensure-system-package: honor system-packages customizations
GitHub-reference: https://github.com/jwiegley/use-package/issues/673
-2023-04-15 Artyom Khramov <futu.fata@gmail.com> (tiny change)
+2018-04-25 Artyom Khramov <futu.fata@gmail.com> (tiny change)
[] ensure-system-package: honor system-packages customizations
@@ -110329,54 +112658,54 @@
`system-package-get-command` function and therefore fixes the issue.
GitHub-reference: fix https://github.com/jwiegley/use-package/issues/661
-2023-04-15 Russell Black <black.russell@gmail.com>
+2018-03-24 Russell Black <black.russell@gmail.com>
Update use-package-chords.el
-2023-04-15 Russell Black <black.russell@gmail.com>
+2018-03-23 Russell Black <black.russell@gmail.com>
Update use-package-chords.el
new style of auto-deferral for chords
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-03-16 Justin Talbott <justin@waymondo.com>
Merge pull request from waymondo/master
:ensure-system-package - allow cdr of cons to be a package name symbol
GitHub-reference: https://github.com/jwiegley/use-package/issues/654
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2018-03-16 Justin Talbott <justin@waymondo.com>
:ensure-system-package allow cdr of cons to be a package name symbol
closes https://github.com/jwiegley/use-package/issues/652
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-14 John Wiegley <johnw@newartisans.com>
Merge pull request from valignatev/master
Encourage installation via https instead of http
GitHub-reference: https://github.com/jwiegley/use-package/issues/651
-2023-04-15 Valentin Ignatev <valentjedi@gmail.com>
+2018-03-14 Valentin Ignatev <valentjedi@gmail.com>
Encourage installation via https instead of http
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-13 John Wiegley <johnw@newartisans.com>
Merge pull request from DamienCassou/fix-report-again
Fix report again after revert
GitHub-reference: https://github.com/jwiegley/use-package/issues/647
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2018-03-12 Damien Cassou <damien.cassou@gmail.com>
Fix compile-time warnings due to the statistics-reporting code
The code worked because the file is using dynamic binding.
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2018-03-12 Damien Cassou <damien.cassou@gmail.com>
Add missing require
@@ -110384,31 +112713,31 @@
Fix https://github.com/jwiegley/use-package/issues/644.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-12 John Wiegley <johnw@newartisans.com>
Merge pull request from jwiegley/revert-645-fix-report
Revert "Fix report"
GitHub-reference: https://github.com/jwiegley/use-package/issues/646
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-12 John Wiegley <johnw@newartisans.com>
Revert "Fix report"
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-12 John Wiegley <johnw@newartisans.com>
Merge pull request from DamienCassou/fix-report
Fix report
GitHub-reference: https://github.com/jwiegley/use-package/issues/645
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2018-03-11 Damien Cassou <damien.cassou@gmail.com>
Fix compile-time warnings due to the statistics-reporting code
The code worked because the file is using dynamic binding.
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2018-03-11 Damien Cassou <damien.cassou@gmail.com>
Add missing require
@@ -110416,59 +112745,59 @@
Fix https://github.com/jwiegley/use-package/issues/644.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-08 John Wiegley <johnw@newartisans.com>
Merge pull request from DamienCassou/tabulated-list
Use a tabulated-list to display package configuration statistics
GitHub-reference: https://github.com/jwiegley/use-package/issues/642
-2023-04-15 Damien Cassou <damien.cassou@gmail.com>
+2018-03-08 Damien Cassou <damien.cassou@gmail.com>
Use a tabulated-list to display package configuration statistics
Fix https://github.com/jwiegley/use-package/issues/641
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-03-05 John Wiegley <johnw@newartisans.com>
Merge pull request from matthewbauer/patch-1
Support ":package" in use-package
GitHub-reference: https://github.com/jwiegley/use-package/issues/633
-2023-04-15 Matthew Justin Bauer <mjbauer95@gmail.com>
+2018-02-25 Matthew Justin Bauer <mjbauer95@gmail.com>
Support ":package" in use-package
bind-key supports the keyword ":package" but use-package does not know that. Adding this should be helpful. In the future, maybe we could automatically fill in with the use-package package, but that could be a breaking change.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-02-06 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/normalize-fix
Fix usage of plist argument in use-package-normalize-plist
GitHub-reference: https://github.com/jwiegley/use-package/issues/625
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2018-02-06 Justin Burkett <justin@burkett.cc>
Fix usage of plist argument in use-package-normalize-plist
Previously the argument was never used.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-02-06 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/ignore-keywords
Add use-package-ignore-unknown-keywords option
GitHub-reference: https://github.com/jwiegley/use-package/issues/624
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2018-02-06 Justin Burkett <justin@burkett.cc>
Add use-package-ignore-unknown-keywords option
This option allows use-package to skip over keywords it doesn't recognize.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-01-27 John Wiegley <johnw@newartisans.com>
Revert "Merge pull request from jabranham/lexical-bindings"
@@ -110476,24 +112805,24 @@
changes made to fd8a3510fd1a555b925f57b2870917e3c4ea0206.
GitHub-reference: https://github.com/jwiegley/use-package/issues/617
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-01-27 John Wiegley <johnw@newartisans.com>
Revert "Move variable bindings to the bottom of each file"
This reverts commit c29193bf0724633adf7183dad2d0b6faf7d029ab.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-01-27 John Wiegley <johnw@newartisans.com>
Move variable bindings to the bottom of each file
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-01-27 John Wiegley <johnw@newartisans.com>
Merge pull request from jabranham/lexical-bindings
[WIP] Lexical bindings
GitHub-reference: https://github.com/jwiegley/use-package/issues/617
-2023-04-15 Alex Branham <alex.branham@gmail.com>
+2018-01-27 Alex Branham <alex.branham@gmail.com>
Don't remove sharp quotes
@@ -110503,27 +112832,27 @@
Use lexical bindings and remove cl package
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-01-27 John Wiegley <johnw@newartisans.com>
Merge pull request from jabranham/system-packages-update
System packages update
GitHub-reference: https://github.com/jwiegley/use-package/issues/616
-2023-04-15 Alex Branham <alex.branham@gmail.com>
+2018-01-26 Alex Branham <alex.branham@gmail.com>
lexical binding
Prefer non-obsolete var names
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2018-01-08 John Wiegley <johnw@newartisans.com>
Merge pull request from jabranham/fix-byte-compiler
Prefer org-table-align to orgtbl-ctrl-c-ctrl-c
GitHub-reference: https://github.com/jwiegley/use-package/issues/611
-2023-04-15 Alex Branham <alex.branham@gmail.com>
+2018-01-08 Alex Branham <alex.branham@gmail.com>
Prefer org-table-align to orgtbl-ctrl-c-ctrl-c
@@ -110531,21 +112860,21 @@
find it. orgtbl-ctrl-c-ctrl-c isn't so we get a warning about
undefined functions.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-26 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/elisp-cap
Handle automatic macro expansion by elisp-completion-at-point
GitHub-reference: https://github.com/jwiegley/use-package/issues/599
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-26 John Wiegley <johnw@newartisans.com>
Merge pull request from nickmccurdy/render-report-table
Render the use-package-report table using Org
GitHub-reference: https://github.com/jwiegley/use-package/issues/592
-2023-04-15 wouter bolsterlee <wouter@bolsterl.ee> (tiny change)
+2017-12-20 wouter bolsterlee <wouter@bolsterl.ee> (tiny change)
Fix sanity check for correct :custom-face format
@@ -110555,7 +112884,7 @@
Fixes https://github.com/jwiegley/use-package/issues/600.
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2017-12-19 Justin Burkett <justin@burkett.cc>
Handle automatic macro expansion by elisp-completion-at-point
@@ -110567,13 +112896,13 @@
harmless since there should be no locally bound variables to discover here
anyway.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-17 John Wiegley <johnw@newartisans.com>
Guard a call to display-warning with ignore
Fixes https://github.com/jwiegley/use-package/issues/589
-2023-04-15 Nick McCurdy <nick@nickmccurdy.com>
+2017-12-16 Nick McCurdy <nick@nickmccurdy.com>
Render the use-package-report table using Org
@@ -110582,47 +112911,47 @@
automatically, and you can still manually sort it. I'm not sorting it by default
to maintain the same order of use-package forms for easier troubleshooting.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-16 John Wiegley <johnw@newartisans.com>
All the second argument in use-package-defaults lists to be a function
Address the question raised in https://github.com/jwiegley/use-package/issues/591
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-13 John Wiegley <johnw@newartisans.com>
Add a test related to
GitHub-reference: https://github.com/jwiegley/use-package/issues/589
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-13 John Wiegley <johnw@newartisans.com>
Add more tests related to issue
GitHub-reference: https://github.com/jwiegley/use-package/issues/572
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-11 John Wiegley <johnw@newartisans.com>
Minor simplification of a function
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-11 John Wiegley <johnw@newartisans.com>
bind-keys fixes related to
GitHub-reference: https://github.com/jwiegley/use-package/issues/482
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-10 John Wiegley <johnw@newartisans.com>
Add a clarifying test for
GitHub-reference: https://github.com/jwiegley/use-package/issues/482
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-09 John Wiegley <johnw@newartisans.com>
Fix a scoping issues with multiple occurrences of :bind
Fixes https://github.com/jwiegley/use-package/issues/585
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-08 John Wiegley <johnw@newartisans.com>
Start building a use-package linter in use-package-lint.el
@@ -110632,7 +112961,7 @@
Add another :bind test
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-07 John Wiegley <johnw@newartisans.com>
Add further note to NEWS.md
@@ -110642,7 +112971,7 @@
Clarify a note in NEWS.md
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-07 John Wiegley <johnw@newartisans.com>
Changes to the way auto-deferral is indicated
@@ -110655,36 +112984,36 @@
loading; if :bind is used with only lambda forms, for example, this will not
cause deferred loading without `:defer t`.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-07 John Wiegley <johnw@newartisans.com>
Introduce new customization variable `use-package-merge-key-alist'
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-07 John Wiegley <johnw@newartisans.com>
Use cl-gentemp in another place
This avoids "Variable unknown" errors if a byte-compiled init.elc happening to
encounter an error while evaluating an :init or :config block.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Correctly fix the problem of unreferenced symbols after compilation
Fixes https://github.com/jwiegley/use-package/issues/571
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Revert "Pre-expand lexical-let, since otherwise it requires cl to be loaded"
This reverts commit 7cc17cee8f8ae2093d98efebf429cd10e9b0b81c.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Pre-expand lexical-let, since otherwise it requires cl to be loaded
Fixes https://github.com/jwiegley/use-package/issues/571
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Add documentation for `use-package-report'
@@ -110694,61 +113023,61 @@
Add a comment as to why max-lisp-eval-depth is set in -tests.el
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Add missing autoload cookie, and make lack of a normalizer an error
Fixes https://github.com/jwiegley/use-package/issues/566
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Don't compute the verbose debug text unless it's requested
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Add :bind test for a single cons cell
Relates to https://github.com/jwiegley/use-package/issues/566
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Add support for gathering statistics on use-package declarations
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Respect keyword ordering in use-package-deferring-keywords
Relates to https://github.com/jwiegley/use-package/issues/565
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Clarify :config with setq versus :custom
Fixes https://github.com/jwiegley/use-package/issues/564
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Update some GPL version references
Fixes https://github.com/jwiegley/use-package/issues/563
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-06 John Wiegley <johnw@newartisans.com>
Allow the expansion of :after (:or foo bar) to be byte-compiled
Make the expanded text for :after cleaner
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Several changes as suggested by flycheck
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Don't auto-defer if the package itself was given to :load
Otherwise, we'd be senselessly waiting for the package to load.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Enable all tests on Travis
@@ -110766,97 +113095,97 @@
Add note in NEWS.md about :requires vs. :if
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Lower the priority of :if/:when/:unless in use-package-keywords
Fixes https://github.com/jwiegley/use-package/issues/560
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Enhance fix-expansion to take surrounding let bindings into account
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Rewrite normalization of :bind and :bind*
Fixes https://github.com/jwiegley/use-package/issues/550
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Normalize errors should be errors, that are then caught by :catch
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Avoid using pcase and many other macros in macro-expanded forms
This is related to https://github.com/jwiegley/use-package/issues/550
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Fix bad interaction between bind-keys* and the :package keyword
Fixes https://github.com/jwiegley/use-package/issues/558
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-05 John Wiegley <johnw@newartisans.com>
Add missing autoload cookies
Fixes https://github.com/jwiegley/use-package/issues/555
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-12-05 Radon Rosborough <radon.neon@gmail.com>
Fix function accidentally made interactive
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Use cl-gensym
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Fix the case where :ensure is given no arguments
Fixes https://github.com/jwiegley/use-package/issues/543
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Some Emacsen don't have gensym
Fixes https://github.com/jwiegley/use-package/issues/544
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Add note in NEWS.md about :after and autoloaded keybindings
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Add a note to `bind-key` on the usage of the KEYMAP argument
Fixes https://github.com/jwiegley/use-package/issues/542
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Add a bind-key test
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Support :ensure (pkg :pin archive)
Fixes https://github.com/jwiegley/use-package/issues/506
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Add several missing comments
Swap the order of two definitions
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Fix an argument process problem with bind-key
Fixes https://github.com/jwiegley/use-package/issues/334
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Comment out two tests that break on Travis
@@ -110870,13 +113199,13 @@
Add a test-in-progress for issue 506
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Add new customization variables `use-package-hook-name-suffix'
Fixes https://github.com/jwiegley/use-package/issues/530
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Split key binding functionality out into its own file
@@ -110886,35 +113215,35 @@
Expand use-package-core as a macro, to avoid load time dependency
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
:ensure can be a list; correct handling of multiple :ensure keywords
Fixes https://github.com/jwiegley/use-package/issues/539
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Ensure that :commands always declare-function at compile time
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Add a new :catch keyword, and move :preface before such handling
Fixes https://github.com/jwiegley/use-package/issues/534
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Fix duplication in an error message
Add expand-maximally macro to up-tests.el
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Revert "Reduce some code duplication"
This reverts commit 1e560c514004747062276ca59ddf425a3edc44cd.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Move :preface handling within the code
@@ -110924,19 +113253,19 @@
Normalize some whitespace and ordering in new code
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Move :init back to happening after all autoloads have occurred
Fixes https://github.com/jwiegley/use-package/issues/535
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Move :init back to happening after all autoloads have occurred
Fixes https://github.com/jwiegley/use-package/issues/535
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2017-12-04 Justin Talbott <justin@waymondo.com>
Add `use-package-chords` and `use-package-ensure-system-package`
@@ -110944,7 +113273,7 @@
connect to https://github.com/jwiegley/use-package/issues/516
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-04 John Wiegley <johnw@newartisans.com>
Change order of :defines and :functions within `use-package-keywords'
@@ -110972,7 +113301,7 @@
Only emit the debugging context text once
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-03 John Wiegley <johnw@newartisans.com>
Correction to error detection at both :init and :config times
@@ -111006,7 +113335,7 @@
Define macroexpand-1 for older Emacsen
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-03 John Wiegley <johnw@newartisans.com>
A great deal of internal reorganization and simplification
@@ -111017,27 +113346,27 @@
starting (though a serious internal bug that errors out every use-package form
may stop anything from being configured!); and more.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-12-02 Radon Rosborough <radon.neon@gmail.com>
Fix `use-package-ensure-function' docstring typo
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
If use-package-verbose is t, show loading times when :after is used
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Remove the :defer-install keyword
This may reappear as its own add-on to use-package in the future. See https://github.com/jwiegley/use-package/issues/442.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
:demand should not override an explicit use of :after
Fixes https://github.com/jwiegley/use-package/issues/529
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Remove some debug code that crept in
@@ -111047,29 +113376,29 @@
Always wrap the expanded body from use-package in (progn)
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Comment out :no-require test for now
It works on my machine, but not with what Travis runs.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Don't factor out a volatile variable
Possibly fixes https://github.com/jwiegley/use-package/issues/527
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Add many new tests
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Generate :defines and :functions correctly
So they actually inhibit byte-compilation warnings as they were meant to.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-12-01 John Wiegley <johnw@newartisans.com>
Correct the ordering of :preface, :load-path, :defines and :functions
@@ -111089,7 +113418,7 @@
Code reformatting
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Allow match-expansion to take multiple cases
@@ -111099,25 +113428,25 @@
Remove an unneeded defvar
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
A final fix to :ensure + :load-path
Fixes https://github.com/jwiegley/use-package/issues/190
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Add a test case for :ensure, following up from
GitHub-reference: https://github.com/jwiegley/use-package/issues/190
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Don't check for an :ensure that use-package-always-ensure may have added
Fixes https://github.com/jwiegley/use-package/issues/190
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Add a use-package-version variable
@@ -111125,37 +113454,37 @@
Add stubs for future tests of all keywords
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Allow :ensure to take a nil value again
Fixes https://github.com/jwiegley/use-package/issues/526
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Only add :ensure nil on :load-path if use-package-always-ensure is t
Restructure some code
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Using :load-path without also using :ensure now implies :ensure nil
Fixes https://github.com/jwiegley/use-package/issues/190
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Correction to use-package--recognize-function
Finishes https://github.com/jwiegley/use-package/issues/525
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-30 John Wiegley <johnw@newartisans.com>
Allow keys to be bound to nil
Fixes https://github.com/jwiegley/use-package/issues/525
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
Fix a missing `and'
@@ -111167,46 +113496,46 @@
Update version and copyright
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
Allow :bind ("C-c C-c" . (lambda () (ding))) and #'(lambda ...)
Fixes https://github.com/jwiegley/use-package/issues/333
Fixes https://github.com/jwiegley/use-package/issues/461
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
Reorder some items in NEWS.md
Add NEWS.md file
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
Merge pull request from basil-conto/version
Require Emacs version >= 24.3
GitHub-reference: https://github.com/jwiegley/use-package/issues/519
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2017-11-29 Basil L. Contovounesios <contovob@tcd.ie>
Require Emacs version >= 24.3
Re: https://github.com/jwiegley/use-package/issues/457
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
Merge pull request from basil-conto/520
Require cl-lib and do not use seq functions
GitHub-reference: https://github.com/jwiegley/use-package/issues/521
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
Merge branch 'master' into 520
Add a missing (require 'seq)
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2017-11-29 Basil L. Contovounesios <contovob@tcd.ie>
Require cl-lib and do not use seq functions
@@ -111214,7 +113543,7 @@
Fixes https://github.com/jwiegley/use-package/issues/520
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-29 John Wiegley <johnw@newartisans.com>
When use-package-inject-hooks is non-nil, always fire init/config hooks
@@ -111223,55 +113552,55 @@
Fixes https://github.com/jwiegley/use-package/issues/250
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Print map keys in describe-personal-keybindings
Fixes https://github.com/jwiegley/use-package/issues/406
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Repeating a bind no longer causes duplicates in personal-keybindings
Fixes https://github.com/jwiegley/use-package/issues/446
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
When byte-compiling, correctly output declare-function directives
Fixes https://github.com/jwiegley/use-package/issues/474
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Make diminish a soft dependency, as delight already was
Fixes https://github.com/jwiegley/use-package/issues/493
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Allow :diminish to take no argument, once again
Fix for single :custom (foo bar)
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Allow :custom (foo1 bar1) (foo2 bar2) etc
Fixes https://github.com/jwiegley/use-package/issues/518
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Add support for `:hook`
Fixes https://github.com/jwiegley/use-package/issues/444
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Append to *use-package* when debugging, don't clear it
Fixes https://github.com/jwiegley/use-package/issues/476
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Make unrecognized keywords a warning
@@ -111280,13 +113609,13 @@
Fixes https://github.com/jwiegley/use-package/issues/483
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Upgrade license to GPL 3
Fixes https://github.com/jwiegley/use-package/issues/499
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Don't allow :commands, :bind, etc., to be given an empty list
@@ -111298,49 +113627,49 @@
Fixes https://github.com/jwiegley/use-package/issues/512
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Explicit :defer t should override use-package-always-demand
Fixes https://github.com/jwiegley/use-package/issues/514
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Merge pull request from drrlvn/patch-1
Remove duplicate documentation of :mode
GitHub-reference: https://github.com/jwiegley/use-package/issues/489
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Corrections to the normalization of :custom
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-28 John Wiegley <johnw@newartisans.com>
Merge pull request from joewreschnig/implicit-diminish
Allow `:diminish` with no arguments.
GitHub-reference: https://github.com/jwiegley/use-package/issues/472
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-21 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/master
Allow customized values to be nil
GitHub-reference: https://github.com/jwiegley/use-package/issues/515
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2017-11-20 Justin Talbott <justin@waymondo.com>
allow customized values to be nil
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-11-20 John Wiegley <johnw@newartisans.com>
Merge pull request from canatella/add-customization-keywords
Add customization keywords
GitHub-reference: https://github.com/jwiegley/use-package/issues/508
-2023-04-15 Damien Merenne <dam@cosinux.org>
+2017-11-10 Damien Merenne <dam@cosinux.org>
Add support for face customization
@@ -111349,7 +113678,7 @@
faces written in a custom.el, the faces can be customized where the rest
of the package is configured.
-2023-04-15 Damien Merenne <dam@cosinux.org>
+2017-11-10 Damien Merenne <dam@cosinux.org>
Add support for variable customization
@@ -111358,36 +113687,36 @@
variables written in a custom.el, the variable can be customized where the rest
of the package is configured.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-10-30 John Wiegley <johnw@newartisans.com>
Merge pull request from carldotac/master
Fix documentation typos
GitHub-reference: https://github.com/jwiegley/use-package/issues/513
-2023-04-15 Carl Lieberman <dev@carl.ac>
+2017-10-30 Carl Lieberman <dev@carl.ac>
Fix typos in docstring
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-10-13 John Wiegley <johnw@newartisans.com>
Merge pull request from emacsjanitors/demote-manually
Don't use with-demoted-errors in use-package-ensure-elpa
GitHub-reference: https://github.com/jwiegley/use-package/issues/507
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2017-10-13 Jonas Bernoulli <jonas@bernoul.li>
Cosmetic changes to use-package-ensure-elpa
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2017-10-13 Jonas Bernoulli <jonas@bernoul.li>
Don't use with-demoted-errors in use-package-ensure-elpa
It expects a literal string as argument at macro-expansion
time, but we need to construct the message.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-09 Andreas Politz <politza@hochschule-trier.de>
Remove redundant checks for the empty overlay tree
@@ -111399,25 +113728,25 @@
(evaporate_overlays): Also.
* src/xdisp.c (load_overlay_strings): Also.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-07 Andreas Politz <politza@hochschule-trier.de>
Make boolean struct member use one bit
* src/itree.h (struct interval_tree): Add bit descriptor.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-07 Andreas Politz <politza@hochschule-trier.de>
Optimize struct layout for space
* src/itree.h (struct interval_node): Move color member near the end.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-07 Andreas Politz <politza@hochschule-trier.de>
Make boolean struct member use one bit
* src/itree.h (struct interval_node): Add bit descriptor.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-07 Andreas Politz <politza@hochschule-trier.de>
Expand overlay multibyte tests
@@ -111425,7 +113754,7 @@
Expand test.
(test-overlay-multibyte-transition-2): New test.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-06 Andreas Politz <politza@hochschule-trier.de>
Adapt overlays when multibyteness changes
@@ -111433,31 +113762,31 @@
(set_overlays_multibyte): New function.
(set-buffer-multibyte): Use function.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-06 Andreas Politz <politza@hochschule-trier.de>
Add a function collecting all interval nodes
* src/itree.c (interval_tree_nodes): New function
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-05 Andreas Politz <politza@hochschule-trier.de>
Fix assignment of offset to newly inserted nodes.
* src/itree.c (interval_tree_insert): Fix offset.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-05 Andreas Politz <politza@hochschule-trier.de>
Add offsets when inspecting a node's children's values
*src/itree.c (interval_tree_insert_gap): Add offset.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-05 Andreas Politz <politza@hochschule-trier.de>
Add test exposing overlay bug
* test/src/buffer-tests.el (overlay-autogenerated-test-64): New test.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-05 Andreas Politz <politza@hochschule-trier.de>
Add test regarding overlay and buffer encoding
@@ -111465,7 +113794,7 @@
New test exposing a bug regarding overlays when changing the
multibyteness of a buffer.
-2023-04-15 Andreas Politz <politza@hochschule-trier.de>
+2017-10-04 Andreas Politz <politza@hochschule-trier.de>
Provide a new tree data-structure for overlays.
@@ -111601,17 +113930,17 @@
performance tests.
* test/manual/noverlay/many-errors.h: New file.
-2023-04-15 João Távora <joaotavora@gmail.com>
+2017-08-16 João Távora <joaotavora@gmail.com>
Overhaul async mechanism safety
-2023-04-15 João Távora <joaotavora@gmail.com>
+2017-08-16 João Távora <joaotavora@gmail.com>
Simplify `eglot--protocol-initialize`
* eglot.el (eglot--protocol-initialize): Simplify
-2023-04-15 João Távora <joaotavora@gmail.com>
+2017-08-16 João Távora <joaotavora@gmail.com>
Experimental diagnostic overlays
@@ -111633,33 +113962,33 @@
Remove a couple of comments
-2023-04-15 João Távora <joaotavora@gmail.com>
+2017-08-15 João Távora <joaotavora@gmail.com>
Initial commit
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-08-13 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/feat/fix-install-deferred
Fix bug in use-package-install-deferred-package
GitHub-reference: https://github.com/jwiegley/use-package/issues/479
-2023-04-15 Dror Levin <spatz@psybear.com>
+2017-07-30 Dror Levin <spatz@psybear.com>
Remove duplicate documentation of :mode
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-07-10 John Wiegley <johnw@newartisans.com>
Merge pull request from joewreschnig/481-delight-docs
Document :delight in the doc string and README.
GitHub-reference: https://github.com/jwiegley/use-package/issues/484
-2023-04-15 Joe Wreschnig <joe.wreschnig@gmail.com>
+2017-07-10 Joe Wreschnig <joe.wreschnig@gmail.com>
Document :delight in the doc string and README
-2023-04-15 Joe Wreschnig <joe.wreschnig@gmail.com>
+2017-07-08 Joe Wreschnig <joe.wreschnig@gmail.com>
Allow `:diminish` with no arguments
@@ -111676,18 +114005,18 @@
This addresses some of the redundancy mentioned in issue https://github.com/jwiegley/use-package/issues/288.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-07-02 John Wiegley <johnw@newartisans.com>
Merge pull request from joewreschnig/477-delight-wrappers
Allow multiple :delight arguments, or omitting the mode. (https://github.com/jwiegley/use-package/issues/477)
GitHub-reference: https://github.com/jwiegley/use-package/issues/480
-2023-04-15 Joe Wreschnig <joe.wreschnig@gmail.com>
+2017-07-02 Joe Wreschnig <joe.wreschnig@gmail.com>
Allow :major as the third argument in :delight calls
-2023-04-15 Joe Wreschnig <joe.wreschnig@gmail.com>
+2017-07-02 Joe Wreschnig <joe.wreschnig@gmail.com>
Allow multiple :delight arguments, or omitting the mode. ()
@@ -111703,7 +114032,7 @@
This brings support for `:delight` in line with `:diminish`.
GitHub-reference: https://github.com/jwiegley/use-package/issues/477
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-06-30 Radon Rosborough <radon.neon@gmail.com>
Fix bug in use-package-install-deferred-package
@@ -111711,14 +114040,14 @@
the result of a `completing-read' back from a string to a symbol,
which meant the hash-table lookup failed.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-06-16 John Wiegley <johnw@newartisans.com>
Merge pull request from joewreschnig/magic-469
Add `:magic` and `:magic-fallback` keywords (issue https://github.com/jwiegley/use-package/issues/469).
GitHub-reference: https://github.com/jwiegley/use-package/issues/473
-2023-04-15 Joe Wreschnig <joe.wreschnig@gmail.com>
+2017-06-15 Joe Wreschnig <joe.wreschnig@gmail.com>
Add `:magic` and `:magic-fallback` keywords (issue)
@@ -111729,7 +114058,7 @@
and shared by all four of them.
GitHub-reference: https://github.com/jwiegley/use-package/issues/469
-2023-04-15 David Leatherman <git@david.leatherman.fm> (tiny change)
+2017-05-22 David Leatherman <git@david.leatherman.fm> (tiny change)
Protect against errors during package install
@@ -111738,25 +114067,25 @@
to reach the package repo. This will catch that error and report it
while allowing startup to continue.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-05-09 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/feat/failed-autoload-msg
Fix quoting error in failed autoload message
GitHub-reference: https://github.com/jwiegley/use-package/issues/456
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-05-07 Radon Rosborough <radon.neon@gmail.com>
Fix quoting error in failed autoload message
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-04-05 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/normalize-nil
Make use-package-normalize-value handle nil better
GitHub-reference: https://github.com/jwiegley/use-package/issues/449
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-04-05 Radon Rosborough <radon.neon@gmail.com>
Make use-package-normalize-value handle nil better
@@ -111770,18 +114099,18 @@
This had the concrete impact of making it so that :defer-install nil
was treated as :defer-install t.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-04-03 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/fix-bind-key-filter
Don't mutilate keyword arguments in :bind
GitHub-reference: https://github.com/jwiegley/use-package/issues/447
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-04-03 Radon Rosborough <radon.neon@gmail.com>
Add comment explaining keyword-argument patch
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-04-03 Radon Rosborough <radon.neon@gmail.com>
Don't mutilate keyword arguments in :bind
@@ -111814,27 +114143,27 @@
In particular it just inhibits the list-to-first-element
transformation when the previous element processed was a keyword.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-03-27 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/fix-after
Fix :after keyword
GitHub-reference: https://github.com/jwiegley/use-package/issues/439
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-03-27 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/always-defer-install
Add use-package-always-defer-install
GitHub-reference: https://github.com/jwiegley/use-package/issues/443
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-26 Radon Rosborough <radon.neon@gmail.com>
Add use-package-always-defer-install
See https://github.com/jwiegley/use-package/pull/433#issuecomment-289317875
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-19 Radon Rosborough <radon.neon@gmail.com>
Fix :after keyword
@@ -111844,26 +114173,26 @@
[1]: bd2afa53c7580d23ed8008267b80e1834b6e6600
[2]: https://github.com/jwiegley/use-package/pull/433#issuecomment-287606553
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-03-19 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/defer-install
[RFC] Support for deferred installation
GitHub-reference: https://github.com/jwiegley/use-package/issues/433
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-18 Radon Rosborough <radon.neon@gmail.com>
Merge remote-tracking branch 'origin/master' into defer-install
Resolve merge conflicts.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-18 Radon Rosborough <radon.neon@gmail.com>
Update docstring, installation prompt message
Various improvements for deferred installation
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-08 Radon Rosborough <radon.neon@gmail.com>
Get :defer-install completely working, in theory
@@ -111880,7 +114209,7 @@
original function if the user declines to install the package. This
prevents unprofessional errors.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-08 Radon Rosborough <radon.neon@gmail.com>
Improve deferred installation mechanism
@@ -111910,17 +114239,17 @@
logic for doing that can now be put in
`use-package-pre-ensure-function'.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-08 Radon Rosborough <radon.neon@gmail.com>
Merge branch 'generalized-ensure' into defer-install
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-08 Radon Rosborough <radon.neon@gmail.com>
Update docstring for use-package-ensure-function
Now it properly reflects the API changes recently made.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-08 Radon Rosborough <radon.neon@gmail.com>
First cut at :defer-install keyword
@@ -111940,7 +114269,7 @@
Documentation has not been updated to reflect :defer-install yet.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-03-08 Radon Rosborough <radon.neon@gmail.com>
Extend capabilities of use-package-ensure-function
@@ -111957,13 +114286,13 @@
behavior can change depending on the values of other keywords, if
those keywords modify the `state' plist appropriately.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-18 John Wiegley <johnw@newartisans.com>
Revert "Return `t' after calling `eval-after-load'"
This reverts commit 87a8ff6d693f3cc79ea423ca8c8e0a60b0bc596c.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-16 John Wiegley <johnw@newartisans.com>
Support multiple symbols passed to :after
@@ -111979,46 +114308,46 @@
Fixes https://github.com/jwiegley/use-package/issues/283
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-16 John Wiegley <johnw@newartisans.com>
:mode and :interpreter can now accept (rx ...) forms
Fixes https://github.com/jwiegley/use-package/issues/204
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-16 John Wiegley <johnw@newartisans.com>
Return `t' after calling `eval-after-load'
Fixes https://github.com/jwiegley/use-package/issues/174
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-16 John Wiegley <johnw@newartisans.com>
Add autoload cookie for use-package-autoload-keymap
Fixes https://github.com/jwiegley/use-package/issues/337
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-13 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/find-form
Add function use-package-jump-to-package-form
GitHub-reference: https://github.com/jwiegley/use-package/issues/359
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-13 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/imenu3
Improve imenu support
GitHub-reference: https://github.com/jwiegley/use-package/issues/356
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-13 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/fix-use-package-defaults
Fix use-package-defaults
GitHub-reference: https://github.com/jwiegley/use-package/issues/430
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-02-13 Radon Rosborough <radon.neon@gmail.com>
Fix use-package-defaults
@@ -112027,26 +114356,26 @@
not applied when the predicates in use-package-defaults did not return
true, when it should have been applied unconditionally.
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-02-13 Radon Rosborough <radon.neon@gmail.com>
Unrevert "Add use-package-defaults"
This reverts commit 013425edeb1829f5d21514f77d41763347538b14.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-13 John Wiegley <johnw@newartisans.com>
Revert "Add use-package-defaults"
This reverts commit 3dec23c0860ad297436b9b71b221491ae3790cce.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-02-12 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/use-package-defaults
Add use-package-defaults
GitHub-reference: https://github.com/jwiegley/use-package/issues/426
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-01-16 Radon Rosborough <radon.neon@gmail.com>
Add use-package-defaults
@@ -112062,21 +114391,21 @@
use-package-always-quelpa variable in any reasonable way, without a
way to customize the default values of keywords.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2017-01-16 John Wiegley <johnw@newartisans.com>
Merge pull request from raxod502/use-package-ensure-function
Add use-package-ensure-function
GitHub-reference: https://github.com/jwiegley/use-package/issues/427
-2023-04-15 Radon Rosborough <radon.neon@gmail.com>
+2017-01-15 Radon Rosborough <radon.neon@gmail.com>
Add use-package-ensure-function
This allows the user to customize the :ensure keyword by using a
different package manager than package.el.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-12-22 John Wiegley <johnw@newartisans.com>
Add new customization option `use-package-always-demand`
@@ -112086,28 +114415,28 @@
Fixes https://github.com/jwiegley/use-package/issues/423
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-12-18 John Wiegley <johnw@newartisans.com>
Merge pull request from basil-conto/preface
Increase :preface priority
GitHub-reference: https://github.com/jwiegley/use-package/issues/418
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-12-18 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/outline
Support outline-minor-mode
GitHub-reference: https://github.com/jwiegley/use-package/issues/420
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-12-18 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/bind-later
Delay decision whether to use eval-after-load until run-time
GitHub-reference: https://github.com/jwiegley/use-package/issues/419
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2016-12-18 Jonas Bernoulli <jonas@bernoul.li>
Delay decision whether to use eval-after-load until run-time
@@ -112120,7 +114449,7 @@
Fixes https://github.com/jwiegley/use-package/issues/378.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2016-12-17 Jonas Bernoulli <jonas@bernoul.li>
Support outline-minor-mode
@@ -112128,7 +114457,7 @@
";;". In "bind-key.el" add the missing ";;; Code:" heading.
In both libraries set `outline-regexp' to an appropriate value.
-2023-04-15 Basil L. Contovounesios <contovob@tcd.ie>
+2016-12-16 Basil L. Contovounesios <contovob@tcd.ie>
Increase :preface priority
@@ -112136,26 +114465,26 @@
description of `:preface' as occurring before everything but
`:disabled'.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-10-31 John Wiegley <johnw@newartisans.com>
Merge pull request from phst/bug398
Declare package-read-all-archive-contents
GitHub-reference: https://github.com/jwiegley/use-package/issues/402
-2023-04-15 Philipp Stephani <phst@google.com>
+2016-10-31 Philipp Stephani <phst@google.com>
Declare package-read-all-archive-contents
Fixes https://github.com/jwiegley/use-package/issues/398
-2023-04-15 Philipp Stephani <phst@google.com>
+2016-10-31 Philipp Stephani <phst@google.com>
Remove tests, which don’t work
Fixes https://github.com/jwiegley/use-package/issues/399
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2016-10-31 Noam Postavsky <npostavs@gmail.com>
Don't allow implicit package name arg for binders
@@ -112165,7 +114494,7 @@
intendes to bind <some-key> to 'foopkg command.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2016-10-31 Noam Postavsky <npostavs@gmail.com>
Don't allow nil as a mode function
@@ -112174,7 +114503,7 @@
this is more consistent with the behaviour of (use-package foopkg
:mode (".foo" ".bar")).
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2016-10-31 Noam Postavsky <npostavs@gmail.com>
Refactor pair normalizers; add tests for them
@@ -112182,25 +114511,25 @@
:bind ([keysym] . "string") would actually bind keysym to nil (i.e.,
unbind it). It now binds to "string" as expected.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2016-10-31 Noam Postavsky <npostavs@gmail.com>
Remove obsolete mplist tests
The mplist functions were removed in the 2.0
refactoring (4ae584f3ff0e9bda05420ec3b8598e59374b0899).
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-10-17 John Wiegley <johnw@newartisans.com>
Bump version to 2.3
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-08-15 John Wiegley <johnw@newartisans.com>
Merge pull request from appleby/master
Ensure package-pinned-packages is bound before referencing it.
GitHub-reference: https://github.com/jwiegley/use-package/issues/376
-2023-04-15 Mike Appleby <mike@app.leby.org> (tiny change)
+2016-08-15 Mike Appleby <mike@app.leby.org> (tiny change)
Ensure package-pinned-packages is bound before referencing it
@@ -112216,37 +114545,37 @@
Fixes https://github.com/jwiegley/use-package/issues/375
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-07-22 John Wiegley <johnw@newartisans.com>
Remove the use of a tab
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-07-22 John Wiegley <johnw@newartisans.com>
Merge pull request from ketbra/master
Update use-package.el
GitHub-reference: https://github.com/jwiegley/use-package/issues/367
-2023-04-15 Matthew Feinberg <ketbra@users.noreply.github.com> (tiny change)
+2016-07-21 Matthew Feinberg <ketbra@users.noreply.github.com> (tiny change)
Make pin and ensure compatible
`:pin` does not work with `:ensure`, because it doesn't add the package to package-pinned-packages until after reading the package archive contents. This change causes the package archive contents to be reread if the package is pinned and `:ensure` is being used.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-07-18 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/state-noconst
Some minor fixes
GitHub-reference: https://github.com/jwiegley/use-package/issues/342
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2016-07-17 Noam Postavsky <npostavs@gmail.com>
Fix declare-function call: FILE must be a string
use-package-as-string: use noerror parameter
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2016-07-17 Noam Postavsky <npostavs@gmail.com>
Don't pass a constant as the state
@@ -112255,18 +114584,18 @@
effects (e.g. values from previous use-package forms end up in
subsequent ones).
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-07-06 John Wiegley <johnw@newartisans.com>
Version 2.2
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-07-05 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/bump-init
Move :init forms before :after and :demand
GitHub-reference: https://github.com/jwiegley/use-package/issues/360
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2016-06-23 Justin Burkett <justin@burkett.cc>
Move :init forms before :after and :demand
@@ -112289,7 +114618,7 @@
This commit fixes the issue and makes sure that bar-x is set before bar
is loaded by use-package. Fixes https://github.com/jwiegley/use-package/issues/352.
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2016-06-22 Justin Burkett <justin@burkett.cc>
Add function use-package-jump-to-package-form
@@ -112308,7 +114637,7 @@
your use-package declaration doesn't match the regexp used, but this is
easily adjusted.
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2016-06-15 Justin Burkett <justin@burkett.cc>
Improve imenu support
@@ -112316,86 +114645,86 @@
lisp-mode is loaded and check for its existence to avoid making
use-package the place where this variable is declared.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-06-14 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/imenu2
Fix imenu support for older versions
GitHub-reference: https://github.com/jwiegley/use-package/issues/355
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2016-06-13 Justin Burkett <justin@burkett.cc>
Fix imenu support for older versions
lisp-mode-symbol-regexp was not defined in Emacs 24.5.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-06-13 John Wiegley <johnw@newartisans.com>
Merge pull request from justbur/imenu
Add imenu support for use-package forms
GitHub-reference: https://github.com/jwiegley/use-package/issues/354
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-06-13 John Wiegley <johnw@newartisans.com>
Merge pull request from robario/patch-1
Fix to ignore load error caused via :after
GitHub-reference: https://github.com/jwiegley/use-package/issues/350
-2023-04-15 Justin Burkett <justin@burkett.cc>
+2016-06-13 Justin Burkett <justin@burkett.cc>
Add imenu support for use-package forms
Also add require forms and group both under menu "Package".
-2023-04-15 robario <webmaster@robario.com> (tiny change)
+2016-06-05 robario <webmaster@robario.com> (tiny change)
Fix to ignore load error caused via :after
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-04-03 John Wiegley <johnw@newartisans.com>
Merge pull request from xuchunyang/fix-package-install
Mark package as selected with package-install
GitHub-reference: https://github.com/jwiegley/use-package/issues/336
-2023-04-15 Chunyang Xu <xuchunyang56@gmail.com>
+2016-03-31 Chunyang Xu <xuchunyang56@gmail.com>
Mark package as selected with package-install
Fixes https://github.com/jwiegley/use-package/issues/327
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-27 John Wiegley <johnw@newartisans.com>
:map no longer accepts lists; only eval-after-load if necessary
Fixes https://github.com/jwiegley/use-package/issues/324
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-26 John Wiegley <johnw@newartisans.com>
Normalize some error text
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-26 John Wiegley <johnw@newartisans.com>
Only printing debug messages if use-package-verbose is `debug'
Fixes https://github.com/jwiegley/use-package/issues/271
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-26 John Wiegley <johnw@newartisans.com>
Merge pull request from ljos/master
Quote variable in bind-keys*
GitHub-reference: https://github.com/jwiegley/use-package/issues/325
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-26 John Wiegley <johnw@newartisans.com>
Repair :map handling in bind-key.el
GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/324
-2023-04-15 Bjarte Johansen <bjarte.johansen@gmail.com>
+2016-02-26 Bjarte Johansen <bjarte.johansen@gmail.com>
Quote variable in `bind-keys*'
@@ -112403,99 +114732,99 @@
the symbol is passed to `bind-keys-form' and not the value.
GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/323
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Add configuration variable `use-package-check-before-init'
Fixes https://github.com/jwiegley/use-package/issues/306
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Use `add-to-list' defensively instead of `push'
GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/293
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Add variable `use-package-always-defer'
GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/202
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Restore :bind-keymap, it does something special still
Remove :bind-keymaps, and only apply :map bindings after load
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Support multiples uses of :map with :bind
GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/121
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Add some variable settings to use-package-tests.el, thanks tarsius
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Merge pull request from alezost/keymap-doc-fix
Handle the case when keymap has a broken documentation
GitHub-reference: https://github.com/jwiegley/use-package/issues/223
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Add another `declare'
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-25 John Wiegley <johnw@newartisans.com>
Handle :unless correctly
GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/197
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-09 John Wiegley <johnw@newartisans.com>
Add a comment about a recent change
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-09 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/master
Allow string values in cons for :bind keywords
GitHub-reference: https://github.com/jwiegley/use-package/issues/303
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-06 John Wiegley <johnw@newartisans.com>
Merge pull request from dudebout/patch-1
Upper casing Cs corresponding to Ctrl
GitHub-reference: https://github.com/jwiegley/use-package/issues/316
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-06 John Wiegley <johnw@newartisans.com>
Add an autoload cookie for `use-package'
-2023-04-15 Nicolas Dudebout <nicolas.dudebout@gmail.com>
+2016-02-05 Nicolas Dudebout <nicolas.dudebout@gmail.com>
Upper casing Cs corresponding to Ctrl
A number of Cs corresponding to Ctrl have been lower cased in comments in eb6b81dfe.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-02-04 John Wiegley <johnw@newartisans.com>
Merge pull request from thierryvolpiatto/fix_package_install
When :ensure is used install package as a selected package.
GitHub-reference: https://github.com/jwiegley/use-package/issues/314
-2023-04-15 Thierry Volpiatto <thierry.volpiatto@gmail.com>
+2016-02-04 Thierry Volpiatto <thierry.volpiatto@gmail.com>
Ensure package-install support a second argument
* use-package.el (use-package-ensure-elpa): Do it.
-2023-04-15 Thierry Volpiatto <thierry.volpiatto@gmail.com>
+2016-02-04 Thierry Volpiatto <thierry.volpiatto@gmail.com>
When :ensure is used install package as a selected package
@@ -112504,60 +114833,60 @@
* use-package.el (use-package-ensure-elpa): Add package to selected package
by using second arg of package install.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-01-25 John Wiegley <johnw@newartisans.com>
Merge pull request from kovrik/fix-pin-performance
Do not package-initialize on each :pin
GitHub-reference: https://github.com/jwiegley/use-package/issues/308
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-01-21 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/fix/always-pin-typo
Fix errant variable name.
GitHub-reference: https://github.com/jwiegley/use-package/issues/312
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2016-01-21 Phillip Lord <phillip.lord@russet.org.uk>
Fix errant variable name
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-01-20 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/feature/always-pin
Add new option `-always-pin'
GitHub-reference: https://github.com/jwiegley/use-package/issues/310
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2016-01-20 Phillip Lord <phillip.lord@russet.org.uk>
Add new option `-always-pin'
`use-package-always-pin' allows a default archive (or manual) to be
specified for all use-package statements, unless explicitly overridden.
-2023-04-15 Ivan Goncharov <kovrik0@gmail.com>
+2016-01-19 Ivan Goncharov <kovrik0@gmail.com>
Change condition that checks if package has been initialized
-2023-04-15 Ivan Goncharov <kovrik0@gmail.com>
+2016-01-17 Ivan Goncharov <kovrik0@gmail.com>
Do not package-initialize on each :pin
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-01-12 John Wiegley <johnw@newartisans.com>
Merge pull request from kovrik/issue-299
Move :pin out of macro expansion phase
GitHub-reference: https://github.com/jwiegley/use-package/issues/302
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-01-12 John Wiegley <johnw@newartisans.com>
Add a missing comma
Add a PREDICATE option to bind-key, and :filter to `bind-keys'
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2016-01-08 Justin Talbott <justin@waymondo.com>
allow string values in cons for :bind keywords
@@ -112573,52 +114902,52 @@
string values to be given with the `:bind` (and also `:chord`) keywords
to expand into these definitions.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2016-01-06 John Wiegley <johnw@newartisans.com>
Guard against a case where :load-paths is nil
-2023-04-15 Ivan Goncharov <kovrik0@gmail.com>
+2016-01-05 Ivan Goncharov <kovrik0@gmail.com>
Move :pin out of macro expansion phase fixes
Move :pin out of macro expansion phase
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-12-20 John Wiegley <johnw@newartisans.com>
Use cl-mapcan rather than apply 'nconc; thanks wasamasa
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-11-12 John Wiegley <johnw@newartisans.com>
Merge pull request from kovrik/byte-compile-ensure-fix
Install packages when byte-compiling (fix by @npostavs)
GitHub-reference: https://github.com/jwiegley/use-package/issues/285
-2023-04-15 Ivan Goncharov <kovrik0@gmail.com>
+2015-11-12 Ivan Goncharov <kovrik0@gmail.com>
Install packages when byte-compiling (fix by @npostavs)
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-11-09 John Wiegley <johnw@newartisans.com>
Apply a fix from npostavs relating to
GitHub-reference: https://github.com/jwiegley/use-package/issues/279
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-11-09 John Wiegley <johnw@newartisans.com>
Merge pull request from kovrik/master
Move :ensure option execution from macro expansion phase to runtime phase
GitHub-reference: https://github.com/jwiegley/use-package/issues/273
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-11-05 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/feature/after
Support for after keyword.
GitHub-reference: https://github.com/jwiegley/use-package/issues/276
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2015-11-04 Phillip Lord <phillip.lord@russet.org.uk>
Support for after keyword
@@ -112627,28 +114956,28 @@
Closes https://github.com/jwiegley/use-package/issues/274
-2023-04-15 Ivan Goncharov <kovrik0@gmail.com>
+2015-11-02 Ivan Goncharov <kovrik0@gmail.com>
Move :ensure option from macro expansion phase to runtime phase
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-09-26 John Wiegley <johnw@newartisans.com>
Bump version to 2.1
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-09-23 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/extend-bind-handler
Pass in symbol of bind macro, for more extensible re-use of same handler
GitHub-reference: https://github.com/jwiegley/use-package/issues/259
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2015-09-23 Justin Talbott <justin@waymondo.com>
pass in symbol of bind macro, for more extensible re-use of same handler
related to https://github.com/jwiegley/use-package/issues/258
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-09-06 John Wiegley <johnw@newartisans.com>
Revert "Merge pull request from edvorg/master"
@@ -112656,84 +114985,84 @@
changes made to 7d34df4f5dd26b6d8b0899e6508c9af5dedf2dc4.
GitHub-reference: https://github.com/jwiegley/use-package/issues/247
-2023-04-15 Edward Knyshov <edvorg@gmail.com>
+2015-08-30 Edward Knyshov <edvorg@gmail.com>
error handling for use-package
GitHub-reference: https://github.com/jwiegley/use-package/issues/246
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-08-18 John Wiegley <johnw@newartisans.com>
Merge pull request from matklad/master
fix quotation error
GitHub-reference: https://github.com/jwiegley/use-package/issues/245
-2023-04-15 Aleksey Kladov <aleksey.kladov@gmail.com>
+2015-08-17 Aleksey Kladov <aleksey.kladov@gmail.com>
fix quotation error
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-08-14 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/string-packages
Re-add support for string package names
GitHub-reference: https://github.com/jwiegley/use-package/issues/225
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2015-08-14 Noam Postavsky <npostavs@gmail.com>
Re-add support for string package names
e.g. (use-package "isearch") rather than (use-package isearch)
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-08-01 John Wiegley <johnw@newartisans.com>
Merge pull request from nickalcock/master
Support :bind (:map '(...)).
GitHub-reference: https://github.com/jwiegley/use-package/issues/235
-2023-04-15 Nick Alcock <nick.alcock@oracle.com>
+2015-07-31 Nick Alcock <nick.alcock@oracle.com>
Support :bind (:map '(...))
We transform it into (:map foo (...) (...)) in the normalizer, and
no longer warn about unknown sorts of arg.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-06-22 John Wiegley <johnw@newartisans.com>
Merge pull request from thomasf/master
Refresh package.el archives if package is missing.
GitHub-reference: https://github.com/jwiegley/use-package/issues/210
-2023-04-15 Alex Kost <alezost@gmail.com>
+2015-06-22 Alex Kost <alezost@gmail.com>
Handle the case when keymap has a broken documentation
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-06-11 John Wiegley <johnw@newartisans.com>
Merge pull request from killdash9/keymap
bind-keymap fixes.
GitHub-reference: https://github.com/jwiegley/use-package/issues/199
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-06-10 John Wiegley <johnw@newartisans.com>
Merge pull request from syl20bnr/fix_hook_injection
Fix calls to run-hooks for :init and :config injected hooks
GitHub-reference: https://github.com/jwiegley/use-package/issues/213
-2023-04-15 Sylvain Benner <sylvain.benner@gmail.com>
+2015-05-19 Sylvain Benner <sylvain.benner@gmail.com>
Fix calls to run-hooks for :init and :config injected hooks
-2023-04-15 Thomas Frössman <thomasf@jossystem.se>
+2015-05-08 Thomas Frössman <thomasf@jossystem.se>
Refresh package.el archives if package is missing
-2023-04-15 Russell Black <black.russell@gmail.com>
+2015-04-11 Russell Black <black.russell@gmail.com>
bind-keymap fixes
@@ -112741,129 +115070,129 @@
commands. `eval' no longer appears to be necessary, using direct
invocation of bind-key*.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-25 John Wiegley <johnw@newartisans.com>
Keymap bindings must be interactive
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-24 John Wiegley <johnw@newartisans.com>
Failed to require a package is just a message
Minor fix to :diminish
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-23 John Wiegley <johnw@newartisans.com>
Fix a bug in the :delight support
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-22 John Wiegley <johnw@newartisans.com>
Add :delight support, thanks to darkfeline on GitHub
Fixes https://github.com/jwiegley/use-package/issues/189
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Add new customization use-package-always-ensure
Fixes https://github.com/jwiegley/use-package/issues/27
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
unbind-key now removes key from personal-keybindings
Fixes https://github.com/jwiegley/use-package/issues/74
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Fix file headers
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Add autoload stanzas to bind-key
Fixes https://github.com/jwiegley/use-package/issues/33
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Correction to an eval-after-load expansion
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Change use-package to use bind-keys and bind-keys*
Fixes https://github.com/jwiegley/use-package/issues/129
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Change bind-key* behavior to mimic bind-keys*
Fixes https://github.com/jwiegley/use-package/issues/148
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Whitespace cleanups
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
Allow :map in bind-keys to accept multiple maps
Fixes https://github.com/jwiegley/use-package/issues/129
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-21 John Wiegley <johnw@newartisans.com>
:pin should return `t'
Modular support appears to be working
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Began work on modular handling of keywords
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Rename use-package-with-elapsed-timer at an internal name
See https://github.com/jwiegley/use-package/issues/185
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Remove code I did not intend to commit
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/macroexp-progn
use-package-progn: replace with macroexp-progn
GitHub-reference: https://github.com/jwiegley/use-package/issues/186
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Fix some docstrings
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2015-03-19 Noam Postavsky <npostavs@gmail.com>
use-package-progn: replace with macroexp-progn
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/name-keymap
get-binding-description: return keymap symbol
GitHub-reference: https://github.com/jwiegley/use-package/issues/184
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2015-03-19 Noam Postavsky <npostavs@gmail.com>
get-binding-description: return keymap symbol
instead of "#<keymap>".
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-19 John Wiegley <johnw@newartisans.com>
Use push instead of add-to-list
Remove a hack that is not needed anymore
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-18 John Wiegley <johnw@newartisans.com>
macroexpand nested uses of use-package in :init and :config
@@ -112875,7 +115204,7 @@
More work to silence the byte-compiler
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-17 John Wiegley <johnw@newartisans.com>
Other minor improvements for byte-compiling
@@ -112883,30 +115212,30 @@
Change some code for consistency's sake
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-17 John Wiegley <johnw@newartisans.com>
Merge pull request from killdash9/keymap
minor fixes to get bind-keymap working in 2.0
GitHub-reference: https://github.com/jwiegley/use-package/issues/176
-2023-04-15 Russell Black <black.russell@gmail.com>
+2015-03-17 Russell Black <black.russell@gmail.com>
minor fixes to get bind-keymap working in 2.0
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-16 John Wiegley <johnw@newartisans.com>
Always return t on a successful init-time load
Fixes https://github.com/jwiegley/use-package/issues/174
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-16 John Wiegley <johnw@newartisans.com>
Add to the load-path before the :preface
Fixes https://github.com/jwiegley/use-package/issues/172
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-16 John Wiegley <johnw@newartisans.com>
More fixes related to byte-compilation
@@ -112918,26 +115247,26 @@
Collapse some whitespace
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-16 John Wiegley <johnw@newartisans.com>
Allow vectors to be passed to :bind again
Fixes https://github.com/jwiegley/use-package/issues/166
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-16 John Wiegley <johnw@newartisans.com>
Add code to workaround an inefficiency with eval-after-load
This is currently disabled, as it leads to strange byte-compilation
errors that need to be tracked down.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-16 John Wiegley <johnw@newartisans.com>
Output Compiling message only if verbose is enabled
Allow :pin to accept a symbol
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Relax a path normalization check
@@ -112945,31 +115274,31 @@
Update docstring for :disabled
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/eval-after-name
use--package: eval-after-load name
GitHub-reference: https://github.com/jwiegley/use-package/issues/168
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Undo an erroneous change
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Add -hook to the injected hooks
Fixes https://github.com/jwiegley/use-package/issues/161
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Restore an earlier fix to
Fixes https://github.com/jwiegley/use-package/issues/167
GitHub-reference: https://github.com/jwiegley/use-package/issues/53
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
BREAKING CHANGE: Remove :idle and :idle-priority
@@ -113012,7 +115341,7 @@
means we don't have to consider what it means to add `:idle` behavior to
a demand-loaded configuration.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2015-03-15 Noam Postavsky <npostavs@gmail.com>
use--package: eval-after-load name
@@ -113021,11 +115350,11 @@
Reprise of c6d79d2cb40bd141f62eaca6dca47fb2e8e6943f
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Support optional injection of hooks, for Spacemacs
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Add :preface, occurring before everything except :disabled
@@ -113035,38 +115364,38 @@
block), and 2) allow you to define code that can be used in an `:if`
test.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Some minor code reformatting
Fix to :ensure normalization
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Merge pull request from thomasf/master
Fix :ensure value interpretation
GitHub-reference: https://github.com/jwiegley/use-package/issues/163
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-15 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/warning
use-package-expand: use display-warning
GitHub-reference: https://github.com/jwiegley/use-package/issues/162
-2023-04-15 Thomas Frössman <thomasf@jossystem.se>
+2015-03-14 Thomas Frössman <thomasf@jossystem.se>
Fix :ensure value interpretation
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2015-03-14 Noam Postavsky <npostavs@gmail.com>
use-package-expand: use display-warning
instead of with-demoted-errors. This prevents errors from getting lost
in the *Messages* buffer.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-14 John Wiegley <johnw@newartisans.com>
Begin refactoring for 2.0; NOTE: BREAKING CHANGES
@@ -113085,17 +115414,17 @@
several instances where you are using :init, but should be using :config
(this was the case for me in a number of places).
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-13 John Wiegley <johnw@newartisans.com>
Many stylistics cleanups and simplifications
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-13 John Wiegley <johnw@newartisans.com>
Revert "Don't add autoload for existing commands"
This reverts commit a2b23f8326d06690c8092ecc5e83ba2e4dd3c336.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-03-13 John Wiegley <johnw@newartisans.com>
Stylistic changes
@@ -113105,14 +115434,14 @@
Show more informative errors when they occur
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-01-18 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/master
Allow using expanded macro without loading feature
GitHub-reference: https://github.com/jwiegley/use-package/issues/151
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2015-01-18 Jonas Bernoulli <jonas@bernoul.li>
Allow using expanded macro without loading feature
@@ -113124,47 +115453,47 @@
also has to load the library at runtime or the macros fall back to
the default of doing their job silently. See https://github.com/jwiegley/use-package/issues/149.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-01-04 John Wiegley <johnw@newartisans.com>
Merge pull request from killdash9/keymap
Passing t into keymap function
GitHub-reference: https://github.com/jwiegley/use-package/issues/145
-2023-04-15 Russell Black <black.russell@gmail.com>
+2015-01-03 Russell Black <black.russell@gmail.com>
Passing t into keymap function
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-01-02 John Wiegley <johnw@newartisans.com>
Merge pull request from killdash9/keymap
:bind-keymap - bind a key prefix to an autoloaded package keymap
GitHub-reference: https://github.com/jwiegley/use-package/issues/142
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2015-01-02 John Wiegley <johnw@newartisans.com>
Merge pull request from thiagowfx/patch-1
fix small typo (key > keymap)
GitHub-reference: https://github.com/jwiegley/use-package/issues/144
-2023-04-15 Thiago Barroso Perrotta <thiagoperrotta95@gmail.com>
+2015-01-02 Thiago Barroso Perrotta <thiagoperrotta95@gmail.com>
fix small typo (key > keymap)
-2023-04-15 Russell Black <black.russell@gmail.com>
+2014-12-31 Russell Black <black.russell@gmail.com>
:bind-keymap - bind a key prefix to an autoloaded package keymap
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-12-20 John Wiegley <johnw@newartisans.com>
Merge pull request from vermiculus/master
Do not quote lambda expressions
GitHub-reference: https://github.com/jwiegley/use-package/issues/140
-2023-04-15 Sean Allred <code@seanallred.com>
+2014-12-19 Sean Allred <code@seanallred.com>
Do not quote lambda expressions
@@ -113174,84 +115503,84 @@
detrimental; this commit removes all use of the sharp-quote to reduce
confusion.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-12-17 John Wiegley <johnw@newartisans.com>
Merge pull request from YoungFrog/fixautoloads
Don't add autoload for existing commands
GitHub-reference: https://github.com/jwiegley/use-package/issues/138
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-12-17 John Wiegley <johnw@newartisans.com>
Merge pull request from peterhoeg/master
Check if an archive is valid when pinning
GitHub-reference: https://github.com/jwiegley/use-package/issues/137
-2023-04-15 Peter Hoeg <peter@speartail.com>
+2014-12-17 Peter Hoeg <peter@speartail.com>
Check if package-archives are valid when pinning
-2023-04-15 Nicolas Richard <theonewiththeevillook@yahoo.fr>
+2014-12-17 Nicolas Richard <theonewiththeevillook@yahoo.fr>
Don't add autoload for existing commands
-2023-04-15 Peter Hoeg <peter@speartail.com>
+2014-12-16 Peter Hoeg <peter@speartail.com>
pure cleanup
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-12-16 John Wiegley <johnw@newartisans.com>
Merge pull request from peterhoeg/master
Support for pinning package to archive
GitHub-reference: https://github.com/jwiegley/use-package/issues/136
-2023-04-15 Peter Hoeg <peter@speartail.com>
+2014-12-11 Peter Hoeg <peter@speartail.com>
support for pinning package to archive
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-09-18 John Wiegley <johnw@newartisans.com>
Merge pull request from Silex/master
Fix "compiling" typo
GitHub-reference: https://github.com/jwiegley/use-package/issues/125
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-09-18 John Wiegley <johnw@newartisans.com>
Merge pull request from waymondo/master
Add :bind* keyword for `bind-key*`
GitHub-reference: https://github.com/jwiegley/use-package/issues/126
-2023-04-15 Justin Talbott <justin@waymondo.com>
+2014-09-16 Justin Talbott <justin@waymondo.com>
add :bind* keyword for `bind-key*`
-2023-04-15 Philippe Vaucher <philippe.vaucher@gmail.com>
+2014-09-16 Philippe Vaucher <philippe.vaucher@gmail.com>
Fix "compiling" typo
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-09-14 John Wiegley <johnw@newartisans.com>
Merge pull request from thomasf/master
Display which package that has compile errors
GitHub-reference: https://github.com/jwiegley/use-package/issues/124
-2023-04-15 Thomas Frössman <thomasf@jossystem.se>
+2014-09-14 Thomas Frössman <thomasf@jossystem.se>
Display which package that has compile errors
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-09-08 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/master
assume the declare-function macro exists
GitHub-reference: https://github.com/jwiegley/use-package/issues/123
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2014-09-07 Jonas Bernoulli <jonas@bernoul.li>
assume the declare-function macro exists
@@ -113262,64 +115591,64 @@
always expands to `nil' the value of (fboundp 'declare-function) ends
up being unused.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-06-20 John Wiegley <johnw@newartisans.com>
Merge pull request from BernardHurley/master
bind-keys macro changed to allow prefix map to have a menu string.
GitHub-reference: https://github.com/jwiegley/use-package/issues/112
-2023-04-15 Bernard Hurley <bernard@marcade.biz>
+2014-06-20 Bernard Hurley <bernard@marcade.biz>
bind-keys macro changed to allow prefix map to have a menu string
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-05-31 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/desc-vector
Avoid putting vector key sequences in personal-keybindings
GitHub-reference: https://github.com/jwiegley/use-package/issues/110
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-05-31 Noam Postavsky <npostavs@gmail.com>
bind-key: cleanup
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-05-31 Noam Postavsky <npostavs@gmail.com>
bind-key: no vector keys in personal-keybindings
describe-personal-keybindings requires the key sequences to be stored as
strings.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-05-31 Noam Postavsky <npostavs@gmail.com>
personal-keybindings: add docstring
fix typo in bind-key docstring
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-05-25 John Wiegley <johnw@newartisans.com>
Merge pull request from alezost/bind-keys
Add bind-keys*
GitHub-reference: https://github.com/jwiegley/use-package/issues/107
-2023-04-15 Alex Kost <alezost@gmail.com>
+2014-05-25 Alex Kost <alezost@gmail.com>
Add bind-keys* macro
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-05-17 John Wiegley <johnw@newartisans.com>
Merge pull request from thomasf/master
Don't abort compiling package loading fails
GitHub-reference: https://github.com/jwiegley/use-package/issues/106
-2023-04-15 Thomas Frössman <thomasf@jossystem.se>
+2014-05-17 Thomas Frössman <thomasf@jossystem.se>
Don't abort compiling if package loading fails
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-05-08 John Wiegley <johnw@newartisans.com>
Revert "Merge pull request from alexko/master"
@@ -113327,27 +115656,27 @@
changes made to a9ba368fa79e4c15b624de73e30c87c98475d466.
GitHub-reference: https://github.com/jwiegley/use-package/issues/104
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-05-07 John Wiegley <johnw@newartisans.com>
Merge pull request from alexko/master
if package can't be located, treat it the same way as disabled
GitHub-reference: https://github.com/jwiegley/use-package/issues/104
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-05-07 John Wiegley <johnw@newartisans.com>
Merge pull request from YoungFrog/fix-mult-mode
Eval backquote earlier and support non-`progn' lists.
GitHub-reference: https://github.com/jwiegley/use-package/issues/95
-2023-04-15 Alex Kosorukoff <alex@3form.com>
+2014-05-06 Alex Kosorukoff <alex@3form.com>
if package can't be located, treat it the same way as disabled
There will be a message "Unable to locate <package-name>" in the log.
-2023-04-15 Nicolas Richard <theonewiththeevillook@yahoo.fr>
+2014-05-05 Nicolas Richard <theonewiththeevillook@yahoo.fr>
Eval backquote earlier and support non-`progn' lists
@@ -113365,25 +115694,25 @@
(let ((my-list-of-commands-in-foo '(foo1 foo2)))
(use-package foo :commands ,@my-list-of-commands-in-foo))
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-04-14 John Wiegley <johnw@newartisans.com>
Merge pull request from YoungFrog/keynameeval
* bind-key.el (bind-key): don't eval key-name at macro expansion time.
GitHub-reference: https://github.com/jwiegley/use-package/issues/102
-2023-04-15 Nicolas Richard <theonewiththeevillook@yahoo.fr>
+2014-04-14 Nicolas Richard <theonewiththeevillook@yahoo.fr>
* bind-key.el (bind-key): don't eval key-name at macro expansion time
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-04-14 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/bind-vectors
bind-keys: bind directly to prefix-map
GitHub-reference: https://github.com/jwiegley/use-package/issues/101
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-04-14 Noam Postavsky <npostavs@gmail.com>
bind-keys: bind directly to prefix-map
@@ -113391,27 +115720,27 @@
This allows specifying vector key sequences, as in bind-key (since
f0776c2aeb3f7f0af66597e10a3e4469ca26629d).
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-04-14 Noam Postavsky <npostavs@gmail.com>
bind-keys: ,@(when map (list map)) => map
Omitting map is same as passing nil.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-04-14 Noam Postavsky <npostavs@gmail.com>
fix typo
Actually the reader accepts (list 'a'b) = (list 'a 'b); it still looks
wrong.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-03-17 John Wiegley <johnw@newartisans.com>
Merge pull request from YoungFrog/idle-interval
Add new option use-package-idle-interval.
GitHub-reference: https://github.com/jwiegley/use-package/issues/99
-2023-04-15 Nicolas Richard <theonewiththeevillook@yahoo.fr>
+2014-03-17 Nicolas Richard <theonewiththeevillook@yahoo.fr>
Add new option use-package-idle-interval
@@ -113422,14 +115751,14 @@
This addresses bug https://github.com/jwiegley/use-package/issues/77
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-03-17 John Wiegley <johnw@newartisans.com>
Merge pull request from ffevotte/idle-priority
Add a :idle-priority keyword to change the running order of idle functions
GitHub-reference: https://github.com/jwiegley/use-package/issues/98
-2023-04-15 François Févotte <fevotte@gmail.com>
+2014-03-17 François Févotte <fevotte@gmail.com>
:idle-priority keyword to change the running order of idle functions
@@ -113440,20 +115769,20 @@
Updated documentation as well.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-03-10 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/master
use-package-with-elapsed-timer: respect option at runtime
GitHub-reference: https://github.com/jwiegley/use-package/issues/96
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2014-03-09 Jonas Bernoulli <jonas@bernoul.li>
use-package-font-lock-keywords: add use-package-with-elapsed-timer
use-package-with-elapsed-timer: add declare indent rule
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2014-03-09 Jonas Bernoulli <jonas@bernoul.li>
use-package-with-elapsed-timer: respect option at runtime
@@ -113461,53 +115790,53 @@
expansion time, and as a result customizing the option did nothing,
without also recompiling `use-package.el'.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-03-02 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/bind-vector
let bind-key accept vectors, add docstring
GitHub-reference: https://github.com/jwiegley/use-package/issues/92
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2014-03-01 Noam Postavsky <npostavs@gmail.com>
let bind-key accept vectors, add docstring
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-02-18 John Wiegley <johnw@newartisans.com>
Merge pull request from Fuco1/variable-col-width
Add variable column width
GitHub-reference: https://github.com/jwiegley/use-package/issues/90
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-02-18 John Wiegley <johnw@newartisans.com>
Merge pull request from Fuco1/special-form-desc
Add better descriptions for lambdas, closures, keymaps
GitHub-reference: https://github.com/jwiegley/use-package/issues/89
-2023-04-15 Matus Goljer <dota.keys@gmail.com>
+2014-02-18 Matus Goljer <dota.keys@gmail.com>
Add variable column width
Add better descriptions for lambdas, closures, keymaps
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-02-17 John Wiegley <johnw@newartisans.com>
Merge pull request from Fuco1/bind-keys
Add `bind-keys` macro
GitHub-reference: https://github.com/jwiegley/use-package/issues/87
-2023-04-15 Matus Goljer <dota.keys@gmail.com>
+2014-02-13 Matus Goljer <dota.keys@gmail.com>
Add `bind-keys` macro
-2023-04-15 Nicolas Richard <theonewiththeevillook@yahoo.fr>
+2014-02-12 Nicolas Richard <theonewiththeevillook@yahoo.fr>
Move tests to separate file
-2023-04-15 Nicolas Richard <theonewiththeevillook@yahoo.fr>
+2014-02-10 Nicolas Richard <theonewiththeevillook@yahoo.fr>
Allow multiple forms after keywords
@@ -113528,7 +115857,7 @@
will be nil. Otherwise the value will be the list of elements between
the keyword and the next keyword.
-2023-04-15 Adam Spiers <emacs@adamspiers.org>
+2014-02-05 Adam Spiers <emacs@adamspiers.org>
stop describe-personal-keybindings adding trailing space
@@ -113536,41 +115865,41 @@
the *Personal Keybindings* buffer looked pretty ugly.
This fixes that.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-01-06 John Wiegley <johnw@newartisans.com>
Merge pull request from aspiers/best-practices
Start addressing some of @jaalto's submitted issues.
GitHub-reference: https://github.com/jwiegley/use-package/issues/79
-2023-04-15 Adam Spiers <emacs@adamspiers.org>
+2014-01-06 Adam Spiers <emacs@adamspiers.org>
fix bind-key URL (fixes)
Also makes a start on https://github.com/jwiegley/use-package/issues/32.
GitHub-reference: https://github.com/jwiegley/use-package/issues/58
-2023-04-15 Adam Spiers <emacs@adamspiers.org>
+2014-01-06 Adam Spiers <emacs@adamspiers.org>
add 'use-package-' prefix to 'with-elapsed-timer'
Fixes https://github.com/jwiegley/use-package/issues/35.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-01-06 John Wiegley <johnw@newartisans.com>
Merge pull request from aspiers/hyperlink-all-bindings
hyperlink functions in Comments column
GitHub-reference: https://github.com/jwiegley/use-package/issues/76
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2014-01-06 John Wiegley <johnw@newartisans.com>
Merge pull request from aspiers/docs
Synchronise docs and then remove one copy to prevent future issues.
GitHub-reference: https://github.com/jwiegley/use-package/issues/78
-2023-04-15 Adam Spiers <emacs@adamspiers.org>
+2014-01-06 Adam Spiers <emacs@adamspiers.org>
fix DRY violation by only having documentation in one place
@@ -113593,34 +115922,34 @@
other formats etc.), it is better to replace the docs in
use-package.el with a pointer to the README.md.
-2023-04-15 Adam Spiers <emacs@adamspiers.org>
+2014-01-04 Adam Spiers <emacs@adamspiers.org>
hyperlink functions in Comments column
Previously, only the functions in the Command column were hyper-linked.
Also clarify the meaning of the "was" entries in the Comments column.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-12-16 John Wiegley <johnw@newartisans.com>
Merge pull request from aspiers/short-mode
allow :mode and :interpreter to accept a string
GitHub-reference: https://github.com/jwiegley/use-package/issues/73
-2023-04-15 Adam Spiers <emacs@adamspiers.org>
+2013-12-16 Adam Spiers <emacs@adamspiers.org>
allow :mode and :interpreter to accept a string
Fixes https://github.com/jwiegley/use-package/issues/72.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-12-09 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/defun
use-package: use defun as lisp-indent-function
GitHub-reference: https://github.com/jwiegley/use-package/issues/69
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2013-12-09 Jonas Bernoulli <jonas@bernoul.li>
use-package: use defun as lisp-indent-function
@@ -113648,93 +115977,93 @@
the calls to `use-package' as in the first example the use of `defun'
does not really pose a problem.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-12-04 John Wiegley <johnw@newartisans.com>
Add a :demand directive, to override deferred loading ()
GitHub-reference: https://github.com/jwiegley/use-package/issues/65
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-12-04 John Wiegley <johnw@newartisans.com>
fboundp is a function, not a variable
Fixes https://github.com/jwiegley/use-package/issues/68
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-12-04 John Wiegley <johnw@newartisans.com>
Merge pull request from dabrahams/patch-1
Backward compatibility with emacs-22.1
GitHub-reference: https://github.com/jwiegley/use-package/issues/67
-2023-04-15 Dave Abrahams <dave@boostpro.com>
+2013-12-02 Dave Abrahams <dave@boostpro.com>
Backward compatibility with emacs-22.1
This change supports the emacs that ships with MacOS X, the last version not encumbered by GPLv3.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-12-02 John Wiegley <johnw@newartisans.com>
Default use-package-verbose to nil
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-11-05 John Wiegley <johnw@newartisans.com>
Merge pull request from Silex/master
Remove el-get support
GitHub-reference: https://github.com/jwiegley/use-package/issues/64
-2023-04-15 Philippe Vaucher <philippe.vaucher@gmail.com>
+2013-11-05 Philippe Vaucher <philippe.vaucher@gmail.com>
Remove el-get support
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-10-28 John Wiegley <johnw@newartisans.com>
Merge pull request from aethanyc/add-missing-keyword
Add :pre-load to use-package-keywords
GitHub-reference: https://github.com/jwiegley/use-package/issues/62
-2023-04-15 Ting-Yu Lin <aethanyc@gmail.com>
+2013-10-25 Ting-Yu Lin <aethanyc@gmail.com>
Add :pre-load to use-package-keywords
The :pre-load keyword cannot be used unless it is in
`use-package-keywords' list.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-10-15 John Wiegley <johnw@newartisans.com>
Merge pull request from PhilHudson/master
Properly enable runtime dependency for :idle stanza (issue https://github.com/jwiegley/use-package/issues/60)
GitHub-reference: https://github.com/jwiegley/use-package/issues/61
-2023-04-15 Phil Hudson <phil.hudson@iname.com>
+2013-10-15 Phil Hudson <phil.hudson@iname.com>
Properly enable runtime dependency for :idle stanza (issue)
See issue https://github.com/jwiegley/use-package/issues/60.
GitHub-reference: https://github.com/jwiegley/use-package/issues/60
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-10-14 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/comma
remove extra comma (added by 026c46c)
GitHub-reference: https://github.com/jwiegley/use-package/issues/59
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-10-14 Noam Postavsky <npostavs@gmail.com>
remove extra comma (added by 026c46c)
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-10-12 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/cleanup
Cleanup
GitHub-reference: https://github.com/jwiegley/use-package/issues/57
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-10-12 Noam Postavsky <npostavs@gmail.com>
let with-elapsed-timer return last form
@@ -113742,14 +116071,14 @@
with-elapsed-timer: only check verbosity once
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-10-12 Noam Postavsky <npostavs@gmail.com>
remove after-init-hook for override-global-mode
The INIT-VALUE argument to define-minor-mode is t, so it's enabled by
default.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-10-12 Noam Postavsky <npostavs@gmail.com>
macroexpand not needed
@@ -113788,29 +116117,29 @@
(disassemble (lambda () (test-lambda "testing...")))
(disassemble (lambda () (test-expand-lambda "testing...")))
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-10-12 Noam Postavsky <npostavs@gmail.com>
cl not needed since flet was removed in 82903da
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-10-07 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/first-keyword
Add a ":first" keyword for those occasions that it's necessary.
GitHub-reference: https://github.com/jwiegley/use-package/issues/42
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-27 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/quasiquote
Quasiquote
GitHub-reference: https://github.com/jwiegley/use-package/issues/56
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-09-25 Noam Postavsky <npostavs@gmail.com>
use plist-get-value for all non-sexp args
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-09-25 Noam Postavsky <npostavs@gmail.com>
plist-get-value treats arg as backquoted
@@ -113824,7 +116153,7 @@
,@(cl-loop for i from ?a to ?z
collect `(,(string i) . nifty-function))))
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-25 John Wiegley <johnw@newartisans.com>
Merge pull request from dudebout/fixes-
@@ -113832,7 +116161,7 @@
GitHub-reference: https://github.com/jwiegley/use-package/issues/55
GitHub-reference: https://github.com/jwiegley/use-package/issues/54
-2023-04-15 Nicolas Dudebout <nicolas.dudebout@gmail.com>
+2013-09-25 Nicolas Dudebout <nicolas.dudebout@gmail.com>
Removes `plist-get-sexp`
@@ -113852,14 +116181,14 @@
:config (my-foo-function))
```
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-24 John Wiegley <johnw@newartisans.com>
Merge pull request from dudebout/variable-and-function-support
Enables using variables and functions as arguments
GitHub-reference: https://github.com/jwiegley/use-package/issues/54
-2023-04-15 Nicolas Dudebout <nicolas.dudebout@gmail.com>
+2013-09-24 Nicolas Dudebout <nicolas.dudebout@gmail.com>
Enables using variables and functions as arguments
@@ -113870,14 +116199,14 @@
+ when a sexp to be evaluated is required, it is possible to pass a
function instead
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-17 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/eval-after-name
pass name (not name-string) to eval-after-load
GitHub-reference: https://github.com/jwiegley/use-package/issues/53
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-09-16 Noam Postavsky <npostavs@gmail.com>
pass name (not name-string) to eval-after-load
@@ -113885,14 +116214,14 @@
file with the same name as the package and again when loading the
package itself.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-15 John Wiegley <johnw@newartisans.com>
Merge pull request from aethanyc/fix-highlight
Fix highlight use-package for Emacs snapshot
GitHub-reference: https://github.com/jwiegley/use-package/issues/49
-2023-04-15 Ting-Yu Lin <aethanyc@gmail.com>
+2013-09-13 Ting-Yu Lin <aethanyc@gmail.com>
Fix highlight use-package for Emacs snapshot
@@ -113904,21 +116233,21 @@
2327 on font-lock.el in the following patch.
http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/111821
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-04 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/hilite-redux
highlight use-package before typing package name
GitHub-reference: https://github.com/jwiegley/use-package/issues/47
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-09-04 John Wiegley <johnw@newartisans.com>
Merge pull request from aethanyc/improve-output-buffer
Improve (describe-personal-keybindings) output
GitHub-reference: https://github.com/jwiegley/use-package/issues/48
-2023-04-15 Ting-Yu Lin <aethanyc@gmail.com>
+2013-09-04 Ting-Yu Lin <aethanyc@gmail.com>
Improve (describe-personal-keybindings) output
@@ -113928,21 +116257,21 @@
Quote the command-desc output so that it is made into a hyperlink.
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-09-03 Noam Postavsky <npostavs@gmail.com>
highlight use-package before typing package name
This follow the same pattern as the highlighting for provide and require
from `lisp-font-lock-keywords-2' in font-lock.el
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-08-16 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/master
also check `byte-compile-current-file' for compile time loads, fixes issue https://github.com/jwiegley/use-package/issues/44
GitHub-reference: https://github.com/jwiegley/use-package/issues/45
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-08-15 Noam Postavsky <npostavs@gmail.com>
also check `byte-compile-current-file' for compile time loads, fixes issue
@@ -113950,105 +116279,105 @@
loading from source
GitHub-reference: https://github.com/jwiegley/use-package/issues/44
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-08-15 Phillip Lord <phillip.lord@russet.org.uk>
Changed :first to :pre-load
Updated and extended documentation.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-08-13 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/master
Byte compilation, fixes for https://github.com/jwiegley/use-package/issues/29 and https://github.com/jwiegley/use-package/issues/30
GitHub-reference: https://github.com/jwiegley/use-package/issues/43
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-08-13 Noam Postavsky <npostavs@gmail.com>
use lambda around deferred :config forms to compile them, fixes issue
GitHub-reference: https://github.com/jwiegley/use-package/issues/30
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-08-13 Noam Postavsky <npostavs@gmail.com>
use `eval-when-compile' for loading package at compile time, fixes issue
GitHub-reference: https://github.com/jwiegley/use-package/issues/29
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-08-13 Phillip Lord <phillip.lord@russet.org.uk>
Add a ":first" keyword for those occasions that it's necessary
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-08-12 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/master
refine use-package highlighting regexp
GitHub-reference: https://github.com/jwiegley/use-package/issues/41
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-08-11 Noam Postavsky <npostavs@gmail.com>
refine use-package highlighting regexp
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-07-28 John Wiegley <johnw@newartisans.com>
Merge pull request from purcell/patch-2
Fix initial line to satisfy package.el
GitHub-reference: https://github.com/jwiegley/use-package/issues/40
-2023-04-15 Steve Purcell <steve@sanityinc.com>
+2013-07-28 Steve Purcell <steve@sanityinc.com>
Fix initial line to satisfy package.el
-2023-04-15 Phil Hudson <phil.hudson@iname.com>
+2013-07-03 Phil Hudson <phil.hudson@iname.com>
Validate keywords. Error if any keyword is unrecognized
Conflicts:
use-package.el
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-06-26 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/ensure-doc
Ensure doc
GitHub-reference: https://github.com/jwiegley/use-package/issues/37
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-06-26 Phillip Lord <phillip.lord@russet.org.uk>
Added documentation to use-package macro
Documentation added for :ensure keyword
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-05-15 John Wiegley <johnw@newartisans.com>
Merge pull request from milkypostman/master
package header should be the full filename + ext
GitHub-reference: https://github.com/jwiegley/use-package/issues/28
-2023-04-15 Donald Curtis <dcurtis@milkbox.net>
+2013-05-15 Donald Curtis <dcurtis@milkbox.net>
package header should, hold, sold be the full filename + ext
this fixes a bug in using `(package-buffer-info)`
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-04-27 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/font-lock
fontify use-package form
GitHub-reference: https://github.com/jwiegley/use-package/issues/25
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-04-27 John Wiegley <johnw@newartisans.com>
Merge pull request from tarsius/master
some small cleanups
GitHub-reference: https://github.com/jwiegley/use-package/issues/24
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2013-04-27 Jonas Bernoulli <jonas@bernoul.li>
fontify use-package form
@@ -114056,143 +116385,143 @@
quiet byte-compiler; ensure package.el is loaded
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2013-04-27 Jonas Bernoulli <jonas@bernoul.li>
don't use obsolete flet
Unfortunately there isn't a proper dynamically scoped
replacement, so we have to resort to using funcall.
-2023-04-15 Jonas Bernoulli <jonas@bernoul.li>
+2013-04-27 Jonas Bernoulli <jonas@bernoul.li>
enforce use of spaces for indentation
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-04-23 John Wiegley <johnw@newartisans.com>
Merge pull request from purcell/patch-1
Add Package-Requires header for ELPA installations
GitHub-reference: https://github.com/jwiegley/use-package/issues/22
-2023-04-15 Steve Purcell <steve@sanityinc.com>
+2013-04-23 Steve Purcell <steve@sanityinc.com>
Add Package-Requires header for ELPA installations
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-04-16 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/easy-diminish
needed extra layer of nesting for diminish calls
GitHub-reference: https://github.com/jwiegley/use-package/issues/21
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-04-16 Noam Postavsky <npostavs@gmail.com>
needed extra layer of nesting for diminish calls
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-04-14 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/easy-diminish
let :diminish "string" guess correct mode symbol
GitHub-reference: https://github.com/jwiegley/use-package/issues/20
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-04-14 John Wiegley <johnw@newartisans.com>
Merge pull request from npostavs/bind-override
let bind-key* override minor modes with emulation-mode-map-alists
GitHub-reference: https://github.com/jwiegley/use-package/issues/19
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-04-14 Noam Postavsky <npostavs@gmail.com>
let :diminish "string" guess correct mode symbol
-2023-04-15 Noam Postavsky <npostavs@gmail.com>
+2013-04-13 Noam Postavsky <npostavs@gmail.com>
let bind-key* override minor modes with emulation-mode-map-alists
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-03-23 John Wiegley <johnw@newartisans.com>
Merge pull request from PhilHudson/master
Macro expansion redux
GitHub-reference: https://github.com/jwiegley/use-package/issues/17
-2023-04-15 Phil Hudson <phil.hudson@iname.com>
+2013-03-23 Phil Hudson <phil.hudson@iname.com>
Runtime client code independence redux
Tweak to previous fix for expanding macros correctly at code-planting time. Specifically, eval `use-package-minimum-reported-time' at code-planting time not at runtime (which would require use-package.el to be loaded first).
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-02-18 John Wiegley <johnw@newartisans.com>
Corrected a typo
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-02-12 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/master
Support for idle loading of packages
GitHub-reference: https://github.com/jwiegley/use-package/issues/16
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-02-12 Phillip Lord <phillip.lord@russet.org.uk>
Merge branch 'master' of https://github.com/jwiegley/use-package
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-02-12 Phillip Lord <phillip.lord@russet.org.uk>
idle initiation of packages
A new feature which adds support for idle startup and loading of packages.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-02-06 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/master
Load time display option.
GitHub-reference: https://github.com/jwiegley/use-package/issues/15
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-02-05 Phillip Lord <phillip.lord@russet.org.uk>
Added minimum load time display option
Makes the minimum load time before use-package displays
a message a customizable option.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-01-28 John Wiegley <johnw@newartisans.com>
Merge pull request from bdd/master
Remove trailing whitespace
GitHub-reference: https://github.com/jwiegley/use-package/issues/14
-2023-04-15 Berk D. Demir <bdd@mindcast.org>
+2013-01-28 Berk D. Demir <bdd@mindcast.org>
Cleanup trailing whitespace
Just `M-x delete-trailing-whitespace' on use-package.el
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-01-23 John Wiegley <johnw@newartisans.com>
Merge pull request from PhilHudson/macroexpand
Macroexpand quoted eval-after-load block early
GitHub-reference: https://github.com/jwiegley/use-package/issues/13
-2023-04-15 Phil Hudson <phil.hudson@iname.com>
+2013-01-23 Phil Hudson <phil.hudson@iname.com>
Macroexpand quoted eval-after-load block early
The main `use-package' macro incorrectly planted code containing a call to the `with-elapsed-timer' macro in a quoted block to be run by `eval-after-load'. If package use-package was not loaded at runtime, the block would error saying correctly that `with-elapsed-timer' is undefined. This mod correctly macroexpands the block at code generation time.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-01-18 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/master
Better support for ELPA.
GitHub-reference: https://github.com/jwiegley/use-package/issues/11
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-01-18 Phillip Lord <phillip.lord@russet.org.uk>
Support packages where autoload and elpa name are different
@@ -114201,18 +116530,18 @@
the ELPA name is ecb. This commit allows ensure to take an
argument (other than t).
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-01-17 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/master
Inline documentation
GitHub-reference: https://github.com/jwiegley/use-package/issues/10
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-01-17 Phillip Lord <phillip.lord@russet.org.uk>
Documentation for the use-package macro
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-01-17 Phillip Lord <phillip.lord@russet.org.uk>
Reverting "Documentation for the use-package macro."
@@ -114220,29 +116549,29 @@
This reverts commit abc0ebc92dc1cf9ef9adfe133d0b30bf7382b65c.
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2013-01-17 Phillip Lord <phillip.lord@russet.org.uk>
Documentation for the use-package macro
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2013-01-12 John Wiegley <johnw@newartisans.com>
Merge pull request from phillord/master
ELPA support
GitHub-reference: https://github.com/jwiegley/use-package/issues/9
-2023-04-15 Phillip Lord <phillip.lord@russet.org.uk>
+2012-12-31 Phillip Lord <phillip.lord@russet.org.uk>
ELPA package support
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-11-20 John Wiegley <johnw@newartisans.com>
Merge pull request from PhilHudson/master
Support optional diminish replacement string parameter using conses
GitHub-reference: https://github.com/jwiegley/use-package/issues/4
-2023-04-15 Phil Hudson <phil.hudson@iname.com>
+2012-11-20 Phil Hudson <phil.hudson@iname.com>
Support diminishing to a replacement string as well as to nothing
@@ -114255,33 +116584,33 @@
The second and fourth formats are new with this change.
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-07-30 John Wiegley <johnw@newartisans.com>
Use-package now accepts function as argument
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-07-11 John Wiegley <johnw@newartisans.com>
Only use user-site-lisp-directory if defined
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-06-26 John Wiegley <johnw@newartisans.com>
Correct return value from with-elapsed-timer
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-06-22 John Wiegley <johnw@newartisans.com>
More updates to support el-get
Byte-compilation related fix
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-06-21 John Wiegley <johnw@newartisans.com>
Added :pre-init
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-06-20 John Wiegley <johnw@newartisans.com>
Establish autoloads after :init
-2023-04-15 John Wiegley <johnw@newartisans.com>
+2012-06-17 John Wiegley <johnw@newartisans.com>
Added :mode and :interpreter keywords
@@ -114322,8 +116651,7 @@
This file records repository revisions from
commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (exclusive) to
-2023-04-15d5a6e99d8380044f410673b8ee51dbc1711 (inclusive).
-commit de7901abbc21114721057c907cc52455e228f826 (inclusive).
+commit 8f62e7b85f69bb4026e9cf2971668b0d77077792 (inclusive).
See ChangeLog.3 for earlier changes.
;; Local Variables:
diff --git a/INSTALL b/INSTALL
index 344ae39f464..2bb8df52dc9 100644
--- a/INSTALL
+++ b/INSTALL
@@ -394,6 +394,12 @@ typical 32-bit host, Emacs integers have 62 bits instead of 30.
Use --with-cairo to compile Emacs with Cairo drawing.
+Use --with-cairo-xcb to also utilize the Cairo XCB backend on systems
+where it is available. While such a configuration is moderately
+faster when running over X connections with high latency, it is likely
+to crash when a new frame is created on a display connection opened
+after a display connection is closed.
+
Use --with-modules to build Emacs with support for dynamic modules.
This needs a C compiler that supports '__attribute__ ((cleanup (...)))',
as in GCC 3.4 and later.
diff --git a/Makefile.in b/Makefile.in
index 4f2f2f15c97..729cd4140e5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -417,9 +417,9 @@ advice-on-failure:
sanity-check:
@[ -f .no-advice-on-failure ] && exit 0; true
- @v=$$(src/emacs${EXEEXT} --batch --eval \
+ @v=`src/emacs${EXEEXT} --batch --eval \
'(progn (defun f (n) (if (= 0 n) 1 (* n (f (- n 1))))) (princ (f 10)))' \
- 2> /dev/null); \
+ 2> /dev/null`; \
[ "X$$v" = "X3628800" ] && exit 0; \
echo >&2 '***'; \
echo >&2 '*** '"\"make ${make-target}\" succeeded, but Emacs is not functional."; \
@@ -1030,6 +1030,9 @@ $(foreach dir,$(distclean_dirs),$(eval $(call submake_template,$(dir),distclean)
distclean: $(distclean_dirs:=_distclean) clean-gsettings-schemas
${top_distclean}
+ifeq ($(HAVE_NATIVE_COMP),yes)
+ rm -rf native-lisp
+endif
### 'bootstrap-clean'
### Delete everything that can be reconstructed by 'make' and that
@@ -1284,7 +1287,7 @@ PREFERRED_BRANCH = emacs-28
preferred-branch-is-current:
git branch | grep -q '^\* $(PREFERRED_BRANCH)$$'
unchanged-history-files:
- x=$$(git diff-files --name-only $(CHANGELOG_N) $(emacslog)) && \
+ x=`git diff-files --name-only $(CHANGELOG_N) $(emacslog)` && \
test -z "$$x"
# Regular expression that matches the newest commit covered by a ChangeLog.
diff --git a/admin/admin.el b/admin/admin.el
index 90f810b79c6..1f4c6986b0e 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -1038,8 +1038,7 @@ If optional argument OLD is non-nil, also scan for `defvar's."
(and grp
(setq grp (car (cdr-safe grp))) ; (quote foo) -> foo
(setq ver (assq grp glist))))
- (setq alist (cons (cons var ver) alist))))
- (if form (format-message "Malformed defcustom: `%s'" form)))))
+ (setq alist (cons (cons var ver) alist)))))))
(message "%sdone" m)
alist))
diff --git a/admin/authors.el b/admin/authors.el
index 147282a99a2..f1c988cc776 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -182,7 +182,7 @@ files.")
("Philip Kaludercic" "Philip K\\." "Philip K")
("Philipp Stephani" "Philipp .*phst@google")
("Piotr Zieliński" "Piotr Zielinski")
- ("Po Lu" "Po Lu Via") ; looks like a mistake
+ ("Po Lu" "Po Lu Via" "Your Name") ; looks like a mistake
("Przemysław Wojnowski" "Przemyslaw Wojnowski")
("R. Bernstein" "rb@dustyfeet.com")
("Rainer Schöpf" "Rainer Schoepf")
diff --git a/admin/charsets/Makefile.in b/admin/charsets/Makefile.in
index 4c62bb19dc5..efb9106adad 100644
--- a/admin/charsets/Makefile.in
+++ b/admin/charsets/Makefile.in
@@ -181,7 +181,7 @@ ${charsetdir}/GB180304.map: ${charsetdir}/GB180302.map ${gb180304}
${AM_V_GEN}$(AWK) -f ${gb180304} < $< > $@
${charsetdir}/JISX0201.map: ${GLIBC_CHARMAPS}/JIS_X0201.gz ${mapconv} ${compact}
- ${AM_V_GEN}(${mapconv} $< '/^<.*[ ]\/x[0-9]/' GLIBC-1 ${compact} && \
+ ${AM_V_GEN}(${run_mapconv} $< '/^<.*[ ]\/x[0-9]/' GLIBC-1 ${compact} && \
echo "# Generated by hand" && \
echo "0xA1-0xDF 0xFF61" ) > $@
diff --git a/admin/charsets/mapconv b/admin/charsets/mapconv
index 4a68d3da53b..19e2ff8d8f7 100755
--- a/admin/charsets/mapconv
+++ b/admin/charsets/mapconv
@@ -38,7 +38,8 @@
## So that eg [A-F] as used by KANJI-DATABASE branch below works as expected.
## Otherwise with LANG=en_US.utf8, CNS-6.map was generated with a
## bogus entry. By experiment, LC_COLLATE=C was not enough.
-export LC_ALL=C
+LC_ALL=C
+export LC_ALL
BASE=`expr "$1" : '.*/\(.*\)' '|' "$1"` # basename
FILE="admin/charsets/mapfiles/$BASE"
diff --git a/admin/cus-test.el b/admin/cus-test.el
index f07019bb52c..c833ddacd84 100644
--- a/admin/cus-test.el
+++ b/admin/cus-test.el
@@ -221,8 +221,6 @@ The detected problematic options are stored in `cus-test-errors'."
;; Check the values
(mapc (lambda (value)
- ;; TODO for booleans, check for values that can be
- ;; evaluated and are not t or nil. Usually a bug.
(unless (widget-apply conv :match value)
(let ((err (list symbol :type-error value type)))
(unless (member err cus-test-errors)
diff --git a/admin/git-bisect-start b/admin/git-bisect-start
index 511111c7f65..f4ffb8f33b6 100755
--- a/admin/git-bisect-start
+++ b/admin/git-bisect-start
@@ -82,7 +82,7 @@ done
# SKIP-BRANCH 58cc931e92ece70c3e64131ee12a799d65409100
## The list below is the exhaustive list of all commits between Dec 1
-## 2016 and Feb 28 2023 on which building Emacs with the default
+## 2016 and Jun 8 2023 on which building Emacs with the default
## options, on a GNU/Linux computer and with GCC, fails. It is
## possible (though unlikely) that building Emacs with non-default
## options, with other compilers, or on other platforms, would succeed
@@ -1720,3 +1720,18 @@ $REAL_GIT bisect skip $(cat $0 | grep '^# SKIP-SINGLE ' | sed 's/^# SKIP-SINGLE
# SKIP-SINGLE 95692f6754c3a8f55a90df2d6f7ce62be55cdcfc
# SKIP-SINGLE a3edacd3f547195740304139cb68aaa94d7b18ee
# SKIP-SINGLE ae4ff4f25fbf704446f8f38d8e818f223b79042b
+# SKIP-SINGLE 9686b015a0d71d08828afb0cfe6e477bbc4909ae
+# SKIP-SINGLE 621e732ade0f3dc165498ebde4d55d5aacb05b56
+# SKIP-SINGLE 200dbf7d302e659e618f74bde81c7b3ccd795639
+# SKIP-SINGLE 03663b8798a06bf18ff1e235ac0fb87870f8fe77
+# SKIP-SINGLE 4897c98b6c496801aad2477c289a40a300eee27f
+# SKIP-SINGLE e6585e0be2efc3f2eaec7210b036169fbdffa9ce
+# SKIP-SINGLE 8ec786349e18068bff39b1387bc4a88d62265e34
+# SKIP-SINGLE 0eba9cf65119a68596c4bf3689086a517d51ce72
+# SKIP-SINGLE ede3535051a8f3b209b830adcaba9cb1ddf58685
+# SKIP-SINGLE 2f94f6de9d64f9fd89284dac171e166e7d721dcd
+# SKIP-SINGLE ab5258b19255ebff04df01d6f55888f43c42dcb9
+# SKIP-SINGLE dc7acb1aafe9b0b84481ac51a5bd5125d263537e
+# SKIP-SINGLE 348e4504c6d5588443809ec28da3c3c693368e16
+# SKIP-SINGLE 970f94a2dd8bc4be4d71f1075421093ca6f87d28
+# SKIP-SINGLE 6b2c8dc9050c5c0514fa404733ce1d4a37d00e39
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 00516a0edd7..1cc97c883af 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -75,9 +75,10 @@ General steps (for each step, check for possible errors):
For the first pretest of a new major release, consider starting a
new top-level ChangeLog.N file if the last versioned ChangeLog.N
file is too large. A good point to start a new ChangeLog.N file
- is when the last one gets larger than 1.5 MiB. If so, start a new
- one by bumping N, and also update the line in top-level
- Makefile.in which says
+ is when the last one gets larger than 5 MiB, or when you make the
+ first pretest of a new major release, whichever happens later. If
+ so, start a new ChangeLog.N file by bumping N, and also update the
+ line in top-level Makefile.in which says
CHANGELOG_HISTORY_INDEX_MAX = N
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index 917ddda1fd5..3e7526102ae 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -44,11 +44,11 @@ GNULIB_MODULES='
nanosleep nproc nstrftime
pathmax pipe2 pselect pthread_sigmask
qcopy-acl readlink readlinkat regex
- sig2str sigdescr_np socklen stat-time std-gnu11 stdbool stddef stdio
+ sig2str sigdescr_np socklen stat-time std-gnu11 stdbool stdckdint stddef stdio
stpcpy strnlen strtoimax symlink sys_stat sys_time
tempname time-h time_r time_rz timegm timer-time timespec-add timespec-sub
update-copyright unlocked-io utimensat
- vla warnings
+ vla warnings year2038
'
AVOIDED_MODULES='
@@ -132,5 +132,7 @@ cp -- "$gnulib_srcdir"/build-aux/config.guess \
cp -- "$gnulib_srcdir"/lib/af_alg.h \
"$gnulib_srcdir"/lib/save-cwd.h \
"$src"lib &&
+cp -- "$gnulib_srcdir"/m4/codeset.m4 \
+ "$src"m4 &&
{ test -z "$src" || cd "$src"; } &&
./autogen.sh
diff --git a/admin/notes/emba b/admin/notes/emba
index c88b422a4fa..cad7a2e121c 100644
--- a/admin/notes/emba
+++ b/admin/notes/emba
@@ -97,21 +97,21 @@ recent Emacs branch, and apply the command
This creates the Debian-based image emacs-inotify, based on the
instructions in the file Dockerfile.emba. This image is good for the
majority of tests. However, there are also other image build
-instructions like emacs-filenotify-gio, emacs-eglot, emacs-gnustep and
-emacs-native-comp-speed{0,1,2}. Use the appropriate one.
+instructions like emacs-filenotify-gio, emacs-eglot,
+emacs-tree-sitter, emacs-gnustep and emacs-native-comp-speed{0,1,2}.
+Use the appropriate one.
The image contains a directory "/checkout", which is a copy of your
local Emacs git repository. Emacs has been built in this directory
via "make bootstrap". In order to use the image, start a container
like
- docker run --interactive --env EMACS_EMBA_CI=1 --name emacs-inotify \
- emacs-inotify /bin/sh -i
+ docker run --interactive --tty --env EMACS_EMBA_CI=1 --name emacs-inotify \
+ emacs-inotify /bin/bash -i
-In this container, change the current directory to "/checkout". Now
-you can apply all commands known for Emacs, like
+In this container, your working directory is "/checkout". Now you can
+apply all commands known for Emacs, like
- cd /checkout
make -C test files-tests.log
While this container runs, you can also access its filesystem from
diff --git a/admin/notes/tree-sitter/treesit_record_change b/admin/notes/tree-sitter/treesit_record_change
index 0dc6491e2d1..e80df4adfa7 100644
--- a/admin/notes/tree-sitter/treesit_record_change
+++ b/admin/notes/tree-sitter/treesit_record_change
@@ -3,10 +3,10 @@ NOTES ON TREESIT_RECORD_CHANGE
It is vital that Emacs informs tree-sitter of every change made to the
buffer, lest tree-sitter's parse tree would be corrupted/out of sync.
-All buffer changes in Emacs are made through functions in insdel.c
-(and casefiddle.c), I augmented functions in those files with calls to
-treesit_record_change. Below is a manifest of all the relevant
-functions in insdel.c as of Emacs 29:
+Almost all buffer changes in Emacs are made through functions in
+insdel.c (see below for exceptions), I augmented functions in insdel.c
+with calls to treesit_record_change. Below is a manifest of all the
+relevant functions in insdel.c as of Emacs 29:
Function Calls
----------------------------------------------------------------------
@@ -43,8 +43,176 @@ insert_from_buffer but not insert_from_buffer_1. I also left a
reminder comment.
-As for casefiddle.c, do_casify_unibyte_region and
+EXCEPTIONS
+
+
+There are a couple of functions that replaces characters in-place
+rather than insert/delete. They are in casefiddle.c and editfns.c.
+
+In casefiddle.c, do_casify_unibyte_region and
do_casify_multibyte_region modifies buffer, but they are static
functions and are called by casify_region, which calls
treesit_record_change. Other higher-level functions calls
-casify_region to do the work. \ No newline at end of file
+casify_region to do the work.
+
+In editfns.c, subst-char-in-region and translate-region-internal might
+replace characters in-place, I made them to call
+treesit_record_change. transpose-regions uses memcpy to move text
+around, it calls treesit_record_change too.
+
+I found these exceptions by grepping for signal_after_change and
+checking each caller manually. Below is all the result as of Emacs 29
+and some comment for each one. Readers can use
+
+(highlight-regexp "^[^[:space:]]+?\\.c:[[:digit:]]+:[^z-a]+?$" 'highlight)
+
+to make things easier to read.
+
+grep [...] --color=auto -i --directories=skip -nH --null -e signal_after_change *.c
+
+callproc.c:789: calling prepare_to_modify_buffer and signal_after_change.
+callproc.c:793: is one call to signal_after_change in each of the
+callproc.c:800: signal_after_change hasn't. A continue statement
+callproc.c:804: again, and this time signal_after_change gets called,
+
+Not code.
+
+callproc.c:820: signal_after_change (PT - nread, 0, nread);
+callproc.c:863: signal_after_change (PT - process_coding.produced_char,
+
+Both are called in call-process. I don’t think we’ll ever use
+tree-sitter in call-process’s stdio buffer, right? I didn’t check
+line-by-line, but it seems to only use insert_1_both and del_range_2.
+
+casefiddle.c:558: signal_after_change (start, end - start - added, end - start);
+
+Called in casify-region, calls treesit_record_change.
+
+decompress.c:195: signal_after_change (data->orig, data->start - data->orig,
+
+Called in unwind_decompress, uses del_range_2, insdel function.
+
+decompress.c:334: signal_after_change (istart, iend - istart, unwind_data.nbytes);
+
+Called in zlib-decompress-region, uses del_range_2, insdel function.
+
+editfns.c:2139: signal_after_change (BEGV, size_a, ZV - BEGV);
+
+Called in replace-buffer-contents, which calls del_range and
+Finsert_buffer_substring, both are ok.
+
+editfns.c:2416: signal_after_change (changed,
+
+Called in subst-char-in-region, which either calls replace_range (a
+insdel function) or modifies buffer content by itself (need to call
+treesit_record_change).
+
+editfns.c:2544: /* Reload as signal_after_change in last iteration may GC. */
+
+Not code.
+
+editfns.c:2604: signal_after_change (pos, 1, 1);
+
+Called in translate-region-internal, which has three cases:
+
+if (nc != oc && nc >= 0) {
+ if (len != str_len) {
+ replace_range()
+ } else {
+ while (str_len-- > 0)
+ *p++ = *str++;
+ }
+}
+else if (nc < 0) {
+ replace_range()
+}
+
+replace_range is ok, but in the case where it manually modifies buffer
+content, it needs to call treesit_record_change.
+
+editfns.c:4779: signal_after_change (start1, end2 - start1, end2 - start1);
+
+Called in transpose-regions. It just uses memcpy’s and doesn’t use
+insdel functions; needs to call treesit_record_change.
+
+fileio.c:4825: signal_after_change (PT, 0, inserted);
+
+Called in insert_file_contents. Uses insert_1_both (very first in the
+function); del_range_1 and del_range_byte (the optimized way to
+implement replace when decoding isn’t needed); del_range_byte and
+insert_from_buffer (the optimized way used when decoding is needed);
+decode_coding_gap or insert_from_gap_1 (I’m not sure the condition for
+this, but anyway it’s safe). The function also calls memcpy and
+memmove, but they are irrelevant: memcpy is used for decoding, and
+memmove is moving stuff inside the gap for decode_coding_gap.
+
+I’d love someone to verify this function, since it’s so complicated
+and large, but from what I can tell it’s safe.
+
+fns.c:3998: signal_after_change (XFIXNAT (beg), 0, inserted_chars);
+
+Called in base64-decode-region, uses insert_1_both and del_range_both,
+safe.
+
+insdel.c:681: signal_after_change (opoint, 0, len);
+insdel.c:696: signal_after_change (opoint, 0, len);
+insdel.c:741: signal_after_change (opoint, 0, len);
+insdel.c:757: signal_after_change (opoint, 0, len);
+insdel.c:976: signal_after_change (opoint, 0, PT - opoint);
+insdel.c:996: signal_after_change (opoint, 0, PT - opoint);
+insdel.c:1187: signal_after_change (opoint, 0, PT - opoint);
+insdel.c:1412: signal_after_change. */
+insdel.c:1585: signal_after_change (from, nchars_del, GPT - from);
+insdel.c:1600: prepare_to_modify_buffer and never call signal_after_change.
+insdel.c:1603: region once. Apart from signal_after_change, any caller of this
+insdel.c:1747: signal_after_change (from, to - from, 0);
+insdel.c:1789: signal_after_change (from, to - from, 0);
+insdel.c:1833: signal_after_change (from, to - from, 0);
+insdel.c:2223:signal_after_change (ptrdiff_t charpos, ptrdiff_t lendel, ptrdiff_t lenins)
+insdel.c:2396: signal_after_change (begpos, endpos - begpos - change, endpos - begpos);
+
+I’ve checked all insdel functions. We can assume insdel functions are
+all safe.
+
+json.c:790: signal_after_change (PT, 0, inserted);
+
+Called in json-insert, calls either decode_coding_gap or
+insert_from_gap_1, both are safe. Calls memmove but it’s for
+decode_coding_gap.
+
+keymap.c:2873: /* Insert calls signal_after_change which may GC. */
+
+Not code.
+
+print.c:219: signal_after_change (PT - print_buffer.pos, 0, print_buffer.pos);
+
+Called in print_finish, calls copy_text and insert_1_both, safe.
+
+process.c:6365: process buffer is changed in the signal_after_change above.
+search.c:2763: (see signal_before_change and signal_after_change). Try to error
+
+Not code.
+
+search.c:2777: signal_after_change (sub_start, sub_end - sub_start, SCHARS (newtext));
+
+Called in replace_match. Calls replace_range, upcase-region,
+upcase-initials-region (both calls casify_region in the end), safe.
+Calls memcpy but it’s for string manipulation.
+
+textprop.c:1261: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1272: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1283: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1458: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1652: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1661: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1672: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1750: before changes are made and signal_after_change when we are done.
+textprop.c:1752: and call signal_after_change before returning if MODIFIED. */
+textprop.c:1764: signal_after_change (XFIXNUM (start),
+textprop.c:1778: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1791: signal_after_change (XFIXNUM (start), XFIXNUM (end) - XFIXNUM (start),
+textprop.c:1810: signal_after_change (XFIXNUM (start),
+
+We don’t care about text property changes.
+
+Grep finished with 51 matches found at Wed Jun 28 15:12:23
diff --git a/admin/notes/unicode b/admin/notes/unicode
index 0e000365da7..31c850af8fd 100644
--- a/admin/notes/unicode
+++ b/admin/notes/unicode
@@ -22,6 +22,7 @@ Emacs uses the following files from the Unicode Character Database
. confusables.txt
. emoji-data.txt
. emoji-zwj-sequences.txt
+ . emoji-variation-sequences.txt
. emoji-sequences.txt
. BidiCharacterTest.txt
@@ -29,7 +30,7 @@ Emacs also uses the file emoji-test.txt which should be imported from
the Unicode's Public/emoji/ directory, and IdnaMappingTable.txt from
the Public/idna/ directory.
-First, the first 14 files, emoji-test.txt and IdnaMappingTable.txt
+First, the first 15 files, emoji-test.txt and IdnaMappingTable.txt
need to be copied into admin/unidata/, and the file
https://www.unicode.org/copyright.html should be copied over
copyright.html in admin/unidata (some of them might need trailing
@@ -142,6 +143,20 @@ generated for auto-composition-emoji-eligible-codepoints by
admin/unidata/emoji-zwj.awk. Note that your emoji font might not have
glyphs for the newest codepoints yet.
+Visit "emoji-variation-sequences.txt", and run the following lisp
+fragment to actually insert the described codepoints, then check that
+all the text in parentheses displays correctly (it can be helpful to
+have `glyphless-char-display-control' customized to show hex codes for
+variation selectors).
+
+(save-excursion
+ (goto-char (point-min))
+ (while (re-search-forward "^\\([0-9A-Z]+\\) \\([0-9A-Z]+\\).*(\\([^)]+\\))" nil t)
+ (let ((ch (string-to-number (match-string 1) 16))
+ (sel (string-to-number (match-string 2) 16))
+ (sp (match-string 3)))
+ (replace-match (format "%s %c%c " sp ch sel) nil nil nil 3))))
+
Finally, etc/NEWS should be updated to announce the support for the
new Unicode version.
diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in
index cccd85213f1..c7737583700 100644
--- a/admin/unidata/Makefile.in
+++ b/admin/unidata/Makefile.in
@@ -105,19 +105,23 @@ ${unidir}/idna-mapping.el: ${srcdir}/unidata-gen.el \
charscript.el: ${unidir}/charscript.el
blocks = ${srcdir}/blocks.awk
-
+blocks_sources = ${srcdir}/Blocks.txt ${srcdir}/emoji-data.txt
${unidir}/charscript.el: ${blocks}
-${unidir}/charscript.el: ${srcdir}/Blocks.txt ${srcdir}/emoji-data.txt
- $(AM_V_GEN)$(AWK) -f ${blocks} $^ > $@
+# Don't use $^, since that includes the awk script.
+${unidir}/charscript.el: ${blocks_sources}
+ $(AM_V_GEN)$(AWK) -f ${blocks} ${blocks_sources} > $@
.PHONY: emoji-zwj.el
emoji-zwj.el: ${unidir}/emoji-zwj.el
zwj = ${srcdir}/emoji-zwj.awk
+zwj_sources = ${srcdir}/emoji-zwj-sequences.txt $(srcdir)/emoji-sequences.txt
+${unidir}/emoji-zwj.el: ${zwj}
-${unidir}/emoji-zwj.el: ${srcdir}/emoji-zwj-sequences.txt $(srcdir)/emoji-sequences.txt ${zwj}
- $(AM_V_GEN)$(AWK) -f ${zwj} $^ > $@
+# Don't use $^, since that includes the awk script.
+${unidir}/emoji-zwj.el: ${zwj_sources}
+ $(AM_V_GEN)$(AWK) -f ${zwj} ${zwj_sources} > $@
.PHONY: clean bootstrap-clean distclean maintainer-clean gen-clean
diff --git a/admin/unidata/emoji-variation-sequences.txt b/admin/unidata/emoji-variation-sequences.txt
new file mode 100644
index 00000000000..f3396ada19d
--- /dev/null
+++ b/admin/unidata/emoji-variation-sequences.txt
@@ -0,0 +1,723 @@
+# emoji-variation-sequences.txt
+# Date: 2022-05-13, 21:54:24 GMT
+# © 2022 Unicode®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# For terms of use, see https://www.unicode.org/terms_of_use.html
+#
+# Emoji Variation Sequences for UTS #51
+# Used with Emoji Version 15.0 and subsequent minor revisions (if any)
+#
+# For documentation and usage, see https://www.unicode.org/reports/tr51
+#
+0023 FE0E ; text style; # (1.1 #︎ ) NUMBER SIGN
+0023 FE0F ; emoji style; # (1.1 #ï¸ ) NUMBER SIGN
+002A FE0E ; text style; # (1.1 *︎ ) ASTERISK
+002A FE0F ; emoji style; # (1.1 *ï¸ ) ASTERISK
+0030 FE0E ; text style; # (1.1 0︎ ) DIGIT ZERO
+0030 FE0F ; emoji style; # (1.1 0ï¸ ) DIGIT ZERO
+0031 FE0E ; text style; # (1.1 1︎ ) DIGIT ONE
+0031 FE0F ; emoji style; # (1.1 1ï¸ ) DIGIT ONE
+0032 FE0E ; text style; # (1.1 2︎ ) DIGIT TWO
+0032 FE0F ; emoji style; # (1.1 2ï¸ ) DIGIT TWO
+0033 FE0E ; text style; # (1.1 3︎ ) DIGIT THREE
+0033 FE0F ; emoji style; # (1.1 3ï¸ ) DIGIT THREE
+0034 FE0E ; text style; # (1.1 4︎ ) DIGIT FOUR
+0034 FE0F ; emoji style; # (1.1 4ï¸ ) DIGIT FOUR
+0035 FE0E ; text style; # (1.1 5︎ ) DIGIT FIVE
+0035 FE0F ; emoji style; # (1.1 5ï¸ ) DIGIT FIVE
+0036 FE0E ; text style; # (1.1 6︎ ) DIGIT SIX
+0036 FE0F ; emoji style; # (1.1 6ï¸ ) DIGIT SIX
+0037 FE0E ; text style; # (1.1 7︎ ) DIGIT SEVEN
+0037 FE0F ; emoji style; # (1.1 7ï¸ ) DIGIT SEVEN
+0038 FE0E ; text style; # (1.1 8︎ ) DIGIT EIGHT
+0038 FE0F ; emoji style; # (1.1 8ï¸ ) DIGIT EIGHT
+0039 FE0E ; text style; # (1.1 9︎ ) DIGIT NINE
+0039 FE0F ; emoji style; # (1.1 9ï¸ ) DIGIT NINE
+00A9 FE0E ; text style; # (1.1 ©︎ ) COPYRIGHT SIGN
+00A9 FE0F ; emoji style; # (1.1 Â©ï¸ ) COPYRIGHT SIGN
+00AE FE0E ; text style; # (1.1 ®︎ ) REGISTERED SIGN
+00AE FE0F ; emoji style; # (1.1 Â®ï¸ ) REGISTERED SIGN
+203C FE0E ; text style; # (1.1 ‼︎ ) DOUBLE EXCLAMATION MARK
+203C FE0F ; emoji style; # (1.1 â€¼ï¸ ) DOUBLE EXCLAMATION MARK
+2049 FE0E ; text style; # (3.0 â‰ï¸Ž ) EXCLAMATION QUESTION MARK
+2049 FE0F ; emoji style; # (3.0 â‰ï¸ ) EXCLAMATION QUESTION MARK
+2122 FE0E ; text style; # (1.1 ™︎ ) TRADE MARK SIGN
+2122 FE0F ; emoji style; # (1.1 â„¢ï¸ ) TRADE MARK SIGN
+2139 FE0E ; text style; # (3.0 ℹ︎ ) INFORMATION SOURCE
+2139 FE0F ; emoji style; # (3.0 â„¹ï¸ ) INFORMATION SOURCE
+2194 FE0E ; text style; # (1.1 ↔︎ ) LEFT RIGHT ARROW
+2194 FE0F ; emoji style; # (1.1 â†”ï¸ ) LEFT RIGHT ARROW
+2195 FE0E ; text style; # (1.1 ↕︎ ) UP DOWN ARROW
+2195 FE0F ; emoji style; # (1.1 â†•ï¸ ) UP DOWN ARROW
+2196 FE0E ; text style; # (1.1 ↖︎ ) NORTH WEST ARROW
+2196 FE0F ; emoji style; # (1.1 â†–ï¸ ) NORTH WEST ARROW
+2197 FE0E ; text style; # (1.1 ↗︎ ) NORTH EAST ARROW
+2197 FE0F ; emoji style; # (1.1 â†—ï¸ ) NORTH EAST ARROW
+2198 FE0E ; text style; # (1.1 ↘︎ ) SOUTH EAST ARROW
+2198 FE0F ; emoji style; # (1.1 â†˜ï¸ ) SOUTH EAST ARROW
+2199 FE0E ; text style; # (1.1 ↙︎ ) SOUTH WEST ARROW
+2199 FE0F ; emoji style; # (1.1 â†™ï¸ ) SOUTH WEST ARROW
+21A9 FE0E ; text style; # (1.1 ↩︎ ) LEFTWARDS ARROW WITH HOOK
+21A9 FE0F ; emoji style; # (1.1 â†©ï¸ ) LEFTWARDS ARROW WITH HOOK
+21AA FE0E ; text style; # (1.1 ↪︎ ) RIGHTWARDS ARROW WITH HOOK
+21AA FE0F ; emoji style; # (1.1 â†ªï¸ ) RIGHTWARDS ARROW WITH HOOK
+231A FE0E ; text style; # (1.1 ⌚︎ ) WATCH
+231A FE0F ; emoji style; # (1.1 âŒšï¸ ) WATCH
+231B FE0E ; text style; # (1.1 ⌛︎ ) HOURGLASS
+231B FE0F ; emoji style; # (1.1 âŒ›ï¸ ) HOURGLASS
+2328 FE0E ; text style; # (1.1 ⌨︎ ) KEYBOARD
+2328 FE0F ; emoji style; # (1.1 âŒ¨ï¸ ) KEYBOARD
+23CF FE0E ; text style; # (4.0 â︎ ) EJECT SYMBOL
+23CF FE0F ; emoji style; # (4.0 âï¸ ) EJECT SYMBOL
+23E9 FE0E ; text style; # (6.0 â©ï¸Ž ) BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23E9 FE0F ; emoji style; # (6.0 â©ï¸ ) BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA FE0E ; text style; # (6.0 âªï¸Ž ) BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EA FE0F ; emoji style; # (6.0 âªï¸ ) BLACK LEFT-POINTING DOUBLE TRIANGLE
+23ED FE0E ; text style; # (6.0 â­ï¸Ž ) BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23ED FE0F ; emoji style; # (6.0 â­ï¸ ) BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE FE0E ; text style; # (6.0 â®ï¸Ž ) BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE FE0F ; emoji style; # (6.0 â®ï¸ ) BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EF FE0E ; text style; # (6.0 â¯ï¸Ž ) BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23EF FE0F ; emoji style; # (6.0 â¯ï¸ ) BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23F1 FE0E ; text style; # (6.0 â±ï¸Ž ) STOPWATCH
+23F1 FE0F ; emoji style; # (6.0 â±ï¸ ) STOPWATCH
+23F2 FE0E ; text style; # (6.0 â²ï¸Ž ) TIMER CLOCK
+23F2 FE0F ; emoji style; # (6.0 â²ï¸ ) TIMER CLOCK
+23F3 FE0E ; text style; # (6.0 â³ï¸Ž ) HOURGLASS WITH FLOWING SAND
+23F3 FE0F ; emoji style; # (6.0 â³ï¸ ) HOURGLASS WITH FLOWING SAND
+23F8 FE0E ; text style; # (7.0 â¸ï¸Ž ) DOUBLE VERTICAL BAR
+23F8 FE0F ; emoji style; # (7.0 â¸ï¸ ) DOUBLE VERTICAL BAR
+23F9 FE0E ; text style; # (7.0 â¹ï¸Ž ) BLACK SQUARE FOR STOP
+23F9 FE0F ; emoji style; # (7.0 â¹ï¸ ) BLACK SQUARE FOR STOP
+23FA FE0E ; text style; # (7.0 âºï¸Ž ) BLACK CIRCLE FOR RECORD
+23FA FE0F ; emoji style; # (7.0 âºï¸ ) BLACK CIRCLE FOR RECORD
+24C2 FE0E ; text style; # (1.1 Ⓜ︎ ) CIRCLED LATIN CAPITAL LETTER M
+24C2 FE0F ; emoji style; # (1.1 â“‚ï¸ ) CIRCLED LATIN CAPITAL LETTER M
+25AA FE0E ; text style; # (1.1 ▪︎ ) BLACK SMALL SQUARE
+25AA FE0F ; emoji style; # (1.1 â–ªï¸ ) BLACK SMALL SQUARE
+25AB FE0E ; text style; # (1.1 ▫︎ ) WHITE SMALL SQUARE
+25AB FE0F ; emoji style; # (1.1 â–«ï¸ ) WHITE SMALL SQUARE
+25B6 FE0E ; text style; # (1.1 ▶︎ ) BLACK RIGHT-POINTING TRIANGLE
+25B6 FE0F ; emoji style; # (1.1 â–¶ï¸ ) BLACK RIGHT-POINTING TRIANGLE
+25C0 FE0E ; text style; # (1.1 ◀︎ ) BLACK LEFT-POINTING TRIANGLE
+25C0 FE0F ; emoji style; # (1.1 â—€ï¸ ) BLACK LEFT-POINTING TRIANGLE
+25FB FE0E ; text style; # (3.2 ◻︎ ) WHITE MEDIUM SQUARE
+25FB FE0F ; emoji style; # (3.2 â—»ï¸ ) WHITE MEDIUM SQUARE
+25FC FE0E ; text style; # (3.2 ◼︎ ) BLACK MEDIUM SQUARE
+25FC FE0F ; emoji style; # (3.2 â—¼ï¸ ) BLACK MEDIUM SQUARE
+25FD FE0E ; text style; # (3.2 ◽︎ ) WHITE MEDIUM SMALL SQUARE
+25FD FE0F ; emoji style; # (3.2 â—½ï¸ ) WHITE MEDIUM SMALL SQUARE
+25FE FE0E ; text style; # (3.2 ◾︎ ) BLACK MEDIUM SMALL SQUARE
+25FE FE0F ; emoji style; # (3.2 â—¾ï¸ ) BLACK MEDIUM SMALL SQUARE
+2600 FE0E ; text style; # (1.1 ☀︎ ) BLACK SUN WITH RAYS
+2600 FE0F ; emoji style; # (1.1 â˜€ï¸ ) BLACK SUN WITH RAYS
+2601 FE0E ; text style; # (1.1 â˜ï¸Ž ) CLOUD
+2601 FE0F ; emoji style; # (1.1 â˜ï¸ ) CLOUD
+2602 FE0E ; text style; # (1.1 ☂︎ ) UMBRELLA
+2602 FE0F ; emoji style; # (1.1 â˜‚ï¸ ) UMBRELLA
+2603 FE0E ; text style; # (1.1 ☃︎ ) SNOWMAN
+2603 FE0F ; emoji style; # (1.1 â˜ƒï¸ ) SNOWMAN
+2604 FE0E ; text style; # (1.1 ☄︎ ) COMET
+2604 FE0F ; emoji style; # (1.1 â˜„ï¸ ) COMET
+260E FE0E ; text style; # (1.1 ☎︎ ) BLACK TELEPHONE
+260E FE0F ; emoji style; # (1.1 â˜Žï¸ ) BLACK TELEPHONE
+2611 FE0E ; text style; # (1.1 ☑︎ ) BALLOT BOX WITH CHECK
+2611 FE0F ; emoji style; # (1.1 â˜‘ï¸ ) BALLOT BOX WITH CHECK
+2614 FE0E ; text style; # (4.0 ☔︎ ) UMBRELLA WITH RAIN DROPS
+2614 FE0F ; emoji style; # (4.0 â˜”ï¸ ) UMBRELLA WITH RAIN DROPS
+2615 FE0E ; text style; # (4.0 ☕︎ ) HOT BEVERAGE
+2615 FE0F ; emoji style; # (4.0 â˜•ï¸ ) HOT BEVERAGE
+2618 FE0E ; text style; # (4.1 ☘︎ ) SHAMROCK
+2618 FE0F ; emoji style; # (4.1 â˜˜ï¸ ) SHAMROCK
+261D FE0E ; text style; # (1.1 â˜ï¸Ž ) WHITE UP POINTING INDEX
+261D FE0F ; emoji style; # (1.1 â˜ï¸ ) WHITE UP POINTING INDEX
+2620 FE0E ; text style; # (1.1 ☠︎ ) SKULL AND CROSSBONES
+2620 FE0F ; emoji style; # (1.1 â˜ ï¸ ) SKULL AND CROSSBONES
+2622 FE0E ; text style; # (1.1 ☢︎ ) RADIOACTIVE SIGN
+2622 FE0F ; emoji style; # (1.1 â˜¢ï¸ ) RADIOACTIVE SIGN
+2623 FE0E ; text style; # (1.1 ☣︎ ) BIOHAZARD SIGN
+2623 FE0F ; emoji style; # (1.1 â˜£ï¸ ) BIOHAZARD SIGN
+2626 FE0E ; text style; # (1.1 ☦︎ ) ORTHODOX CROSS
+2626 FE0F ; emoji style; # (1.1 â˜¦ï¸ ) ORTHODOX CROSS
+262A FE0E ; text style; # (1.1 ☪︎ ) STAR AND CRESCENT
+262A FE0F ; emoji style; # (1.1 â˜ªï¸ ) STAR AND CRESCENT
+262E FE0E ; text style; # (1.1 ☮︎ ) PEACE SYMBOL
+262E FE0F ; emoji style; # (1.1 â˜®ï¸ ) PEACE SYMBOL
+262F FE0E ; text style; # (1.1 ☯︎ ) YIN YANG
+262F FE0F ; emoji style; # (1.1 â˜¯ï¸ ) YIN YANG
+2638 FE0E ; text style; # (1.1 ☸︎ ) WHEEL OF DHARMA
+2638 FE0F ; emoji style; # (1.1 â˜¸ï¸ ) WHEEL OF DHARMA
+2639 FE0E ; text style; # (1.1 ☹︎ ) WHITE FROWNING FACE
+2639 FE0F ; emoji style; # (1.1 â˜¹ï¸ ) WHITE FROWNING FACE
+263A FE0E ; text style; # (1.1 ☺︎ ) WHITE SMILING FACE
+263A FE0F ; emoji style; # (1.1 â˜ºï¸ ) WHITE SMILING FACE
+2640 FE0E ; text style; # (1.1 ♀︎ ) FEMALE SIGN
+2640 FE0F ; emoji style; # (1.1 â™€ï¸ ) FEMALE SIGN
+2642 FE0E ; text style; # (1.1 ♂︎ ) MALE SIGN
+2642 FE0F ; emoji style; # (1.1 â™‚ï¸ ) MALE SIGN
+2648 FE0E ; text style; # (1.1 ♈︎ ) ARIES
+2648 FE0F ; emoji style; # (1.1 â™ˆï¸ ) ARIES
+2649 FE0E ; text style; # (1.1 ♉︎ ) TAURUS
+2649 FE0F ; emoji style; # (1.1 â™‰ï¸ ) TAURUS
+264A FE0E ; text style; # (1.1 ♊︎ ) GEMINI
+264A FE0F ; emoji style; # (1.1 â™Šï¸ ) GEMINI
+264B FE0E ; text style; # (1.1 ♋︎ ) CANCER
+264B FE0F ; emoji style; # (1.1 â™‹ï¸ ) CANCER
+264C FE0E ; text style; # (1.1 ♌︎ ) LEO
+264C FE0F ; emoji style; # (1.1 â™Œï¸ ) LEO
+264D FE0E ; text style; # (1.1 â™ï¸Ž ) VIRGO
+264D FE0F ; emoji style; # (1.1 â™ï¸ ) VIRGO
+264E FE0E ; text style; # (1.1 ♎︎ ) LIBRA
+264E FE0F ; emoji style; # (1.1 â™Žï¸ ) LIBRA
+264F FE0E ; text style; # (1.1 â™ï¸Ž ) SCORPIUS
+264F FE0F ; emoji style; # (1.1 â™ï¸ ) SCORPIUS
+2650 FE0E ; text style; # (1.1 â™ï¸Ž ) SAGITTARIUS
+2650 FE0F ; emoji style; # (1.1 â™ï¸ ) SAGITTARIUS
+2651 FE0E ; text style; # (1.1 ♑︎ ) CAPRICORN
+2651 FE0F ; emoji style; # (1.1 â™‘ï¸ ) CAPRICORN
+2652 FE0E ; text style; # (1.1 ♒︎ ) AQUARIUS
+2652 FE0F ; emoji style; # (1.1 â™’ï¸ ) AQUARIUS
+2653 FE0E ; text style; # (1.1 ♓︎ ) PISCES
+2653 FE0F ; emoji style; # (1.1 â™“ï¸ ) PISCES
+265F FE0E ; text style; # (1.1 ♟︎ ) BLACK CHESS PAWN
+265F FE0F ; emoji style; # (1.1 â™Ÿï¸ ) BLACK CHESS PAWN
+2660 FE0E ; text style; # (1.1 ♠︎ ) BLACK SPADE SUIT
+2660 FE0F ; emoji style; # (1.1 â™ ï¸ ) BLACK SPADE SUIT
+2663 FE0E ; text style; # (1.1 ♣︎ ) BLACK CLUB SUIT
+2663 FE0F ; emoji style; # (1.1 â™£ï¸ ) BLACK CLUB SUIT
+2665 FE0E ; text style; # (1.1 ♥︎ ) BLACK HEART SUIT
+2665 FE0F ; emoji style; # (1.1 â™¥ï¸ ) BLACK HEART SUIT
+2666 FE0E ; text style; # (1.1 ♦︎ ) BLACK DIAMOND SUIT
+2666 FE0F ; emoji style; # (1.1 â™¦ï¸ ) BLACK DIAMOND SUIT
+2668 FE0E ; text style; # (1.1 ♨︎ ) HOT SPRINGS
+2668 FE0F ; emoji style; # (1.1 â™¨ï¸ ) HOT SPRINGS
+267B FE0E ; text style; # (3.2 ♻︎ ) BLACK UNIVERSAL RECYCLING SYMBOL
+267B FE0F ; emoji style; # (3.2 â™»ï¸ ) BLACK UNIVERSAL RECYCLING SYMBOL
+267E FE0E ; text style; # (4.1 ♾︎ ) PERMANENT PAPER SIGN
+267E FE0F ; emoji style; # (4.1 â™¾ï¸ ) PERMANENT PAPER SIGN
+267F FE0E ; text style; # (4.1 ♿︎ ) WHEELCHAIR SYMBOL
+267F FE0F ; emoji style; # (4.1 â™¿ï¸ ) WHEELCHAIR SYMBOL
+2692 FE0E ; text style; # (4.1 ⚒︎ ) HAMMER AND PICK
+2692 FE0F ; emoji style; # (4.1 âš’ï¸ ) HAMMER AND PICK
+2693 FE0E ; text style; # (4.1 ⚓︎ ) ANCHOR
+2693 FE0F ; emoji style; # (4.1 âš“ï¸ ) ANCHOR
+2694 FE0E ; text style; # (4.1 ⚔︎ ) CROSSED SWORDS
+2694 FE0F ; emoji style; # (4.1 âš”ï¸ ) CROSSED SWORDS
+2695 FE0E ; text style; # (4.1 ⚕︎ ) STAFF OF AESCULAPIUS
+2695 FE0F ; emoji style; # (4.1 âš•ï¸ ) STAFF OF AESCULAPIUS
+2696 FE0E ; text style; # (4.1 ⚖︎ ) SCALES
+2696 FE0F ; emoji style; # (4.1 âš–ï¸ ) SCALES
+2697 FE0E ; text style; # (4.1 ⚗︎ ) ALEMBIC
+2697 FE0F ; emoji style; # (4.1 âš—ï¸ ) ALEMBIC
+2699 FE0E ; text style; # (4.1 ⚙︎ ) GEAR
+2699 FE0F ; emoji style; # (4.1 âš™ï¸ ) GEAR
+269B FE0E ; text style; # (4.1 ⚛︎ ) ATOM SYMBOL
+269B FE0F ; emoji style; # (4.1 âš›ï¸ ) ATOM SYMBOL
+269C FE0E ; text style; # (4.1 ⚜︎ ) FLEUR-DE-LIS
+269C FE0F ; emoji style; # (4.1 âšœï¸ ) FLEUR-DE-LIS
+26A0 FE0E ; text style; # (4.0 ⚠︎ ) WARNING SIGN
+26A0 FE0F ; emoji style; # (4.0 âš ï¸ ) WARNING SIGN
+26A1 FE0E ; text style; # (4.0 ⚡︎ ) HIGH VOLTAGE SIGN
+26A1 FE0F ; emoji style; # (4.0 âš¡ï¸ ) HIGH VOLTAGE SIGN
+26A7 FE0E ; text style; # (4.1 ⚧︎ ) MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A7 FE0F ; emoji style; # (4.1 âš§ï¸ ) MALE WITH STROKE AND MALE AND FEMALE SIGN
+26AA FE0E ; text style; # (4.1 ⚪︎ ) MEDIUM WHITE CIRCLE
+26AA FE0F ; emoji style; # (4.1 âšªï¸ ) MEDIUM WHITE CIRCLE
+26AB FE0E ; text style; # (4.1 ⚫︎ ) MEDIUM BLACK CIRCLE
+26AB FE0F ; emoji style; # (4.1 âš«ï¸ ) MEDIUM BLACK CIRCLE
+26B0 FE0E ; text style; # (4.1 ⚰︎ ) COFFIN
+26B0 FE0F ; emoji style; # (4.1 âš°ï¸ ) COFFIN
+26B1 FE0E ; text style; # (4.1 ⚱︎ ) FUNERAL URN
+26B1 FE0F ; emoji style; # (4.1 âš±ï¸ ) FUNERAL URN
+26BD FE0E ; text style; # (5.2 ⚽︎ ) SOCCER BALL
+26BD FE0F ; emoji style; # (5.2 âš½ï¸ ) SOCCER BALL
+26BE FE0E ; text style; # (5.2 ⚾︎ ) BASEBALL
+26BE FE0F ; emoji style; # (5.2 âš¾ï¸ ) BASEBALL
+26C4 FE0E ; text style; # (5.2 ⛄︎ ) SNOWMAN WITHOUT SNOW
+26C4 FE0F ; emoji style; # (5.2 â›„ï¸ ) SNOWMAN WITHOUT SNOW
+26C5 FE0E ; text style; # (5.2 ⛅︎ ) SUN BEHIND CLOUD
+26C5 FE0F ; emoji style; # (5.2 â›…ï¸ ) SUN BEHIND CLOUD
+26C8 FE0E ; text style; # (5.2 ⛈︎ ) THUNDER CLOUD AND RAIN
+26C8 FE0F ; emoji style; # (5.2 â›ˆï¸ ) THUNDER CLOUD AND RAIN
+26CF FE0E ; text style; # (5.2 â›ï¸Ž ) PICK
+26CF FE0F ; emoji style; # (5.2 â›ï¸ ) PICK
+26D1 FE0E ; text style; # (5.2 ⛑︎ ) HELMET WITH WHITE CROSS
+26D1 FE0F ; emoji style; # (5.2 â›‘ï¸ ) HELMET WITH WHITE CROSS
+26D3 FE0E ; text style; # (5.2 ⛓︎ ) CHAINS
+26D3 FE0F ; emoji style; # (5.2 â›“ï¸ ) CHAINS
+26D4 FE0E ; text style; # (5.2 ⛔︎ ) NO ENTRY
+26D4 FE0F ; emoji style; # (5.2 â›”ï¸ ) NO ENTRY
+26E9 FE0E ; text style; # (5.2 ⛩︎ ) SHINTO SHRINE
+26E9 FE0F ; emoji style; # (5.2 â›©ï¸ ) SHINTO SHRINE
+26EA FE0E ; text style; # (5.2 ⛪︎ ) CHURCH
+26EA FE0F ; emoji style; # (5.2 â›ªï¸ ) CHURCH
+26F0 FE0E ; text style; # (5.2 ⛰︎ ) MOUNTAIN
+26F0 FE0F ; emoji style; # (5.2 â›°ï¸ ) MOUNTAIN
+26F1 FE0E ; text style; # (5.2 ⛱︎ ) UMBRELLA ON GROUND
+26F1 FE0F ; emoji style; # (5.2 â›±ï¸ ) UMBRELLA ON GROUND
+26F2 FE0E ; text style; # (5.2 ⛲︎ ) FOUNTAIN
+26F2 FE0F ; emoji style; # (5.2 â›²ï¸ ) FOUNTAIN
+26F3 FE0E ; text style; # (5.2 ⛳︎ ) FLAG IN HOLE
+26F3 FE0F ; emoji style; # (5.2 â›³ï¸ ) FLAG IN HOLE
+26F4 FE0E ; text style; # (5.2 ⛴︎ ) FERRY
+26F4 FE0F ; emoji style; # (5.2 â›´ï¸ ) FERRY
+26F5 FE0E ; text style; # (5.2 ⛵︎ ) SAILBOAT
+26F5 FE0F ; emoji style; # (5.2 â›µï¸ ) SAILBOAT
+26F7 FE0E ; text style; # (5.2 ⛷︎ ) SKIER
+26F7 FE0F ; emoji style; # (5.2 â›·ï¸ ) SKIER
+26F8 FE0E ; text style; # (5.2 ⛸︎ ) ICE SKATE
+26F8 FE0F ; emoji style; # (5.2 â›¸ï¸ ) ICE SKATE
+26F9 FE0E ; text style; # (5.2 ⛹︎ ) PERSON WITH BALL
+26F9 FE0F ; emoji style; # (5.2 â›¹ï¸ ) PERSON WITH BALL
+26FA FE0E ; text style; # (5.2 ⛺︎ ) TENT
+26FA FE0F ; emoji style; # (5.2 â›ºï¸ ) TENT
+26FD FE0E ; text style; # (5.2 ⛽︎ ) FUEL PUMP
+26FD FE0F ; emoji style; # (5.2 â›½ï¸ ) FUEL PUMP
+2702 FE0E ; text style; # (1.1 ✂︎ ) BLACK SCISSORS
+2702 FE0F ; emoji style; # (1.1 âœ‚ï¸ ) BLACK SCISSORS
+2708 FE0E ; text style; # (1.1 ✈︎ ) AIRPLANE
+2708 FE0F ; emoji style; # (1.1 âœˆï¸ ) AIRPLANE
+2709 FE0E ; text style; # (1.1 ✉︎ ) ENVELOPE
+2709 FE0F ; emoji style; # (1.1 âœ‰ï¸ ) ENVELOPE
+270C FE0E ; text style; # (1.1 ✌︎ ) VICTORY HAND
+270C FE0F ; emoji style; # (1.1 âœŒï¸ ) VICTORY HAND
+270D FE0E ; text style; # (1.1 âœï¸Ž ) WRITING HAND
+270D FE0F ; emoji style; # (1.1 âœï¸ ) WRITING HAND
+270F FE0E ; text style; # (1.1 âœï¸Ž ) PENCIL
+270F FE0F ; emoji style; # (1.1 âœï¸ ) PENCIL
+2712 FE0E ; text style; # (1.1 ✒︎ ) BLACK NIB
+2712 FE0F ; emoji style; # (1.1 âœ’ï¸ ) BLACK NIB
+2714 FE0E ; text style; # (1.1 ✔︎ ) HEAVY CHECK MARK
+2714 FE0F ; emoji style; # (1.1 âœ”ï¸ ) HEAVY CHECK MARK
+2716 FE0E ; text style; # (1.1 ✖︎ ) HEAVY MULTIPLICATION X
+2716 FE0F ; emoji style; # (1.1 âœ–ï¸ ) HEAVY MULTIPLICATION X
+271D FE0E ; text style; # (1.1 âœï¸Ž ) LATIN CROSS
+271D FE0F ; emoji style; # (1.1 âœï¸ ) LATIN CROSS
+2721 FE0E ; text style; # (1.1 ✡︎ ) STAR OF DAVID
+2721 FE0F ; emoji style; # (1.1 âœ¡ï¸ ) STAR OF DAVID
+2733 FE0E ; text style; # (1.1 ✳︎ ) EIGHT SPOKED ASTERISK
+2733 FE0F ; emoji style; # (1.1 âœ³ï¸ ) EIGHT SPOKED ASTERISK
+2734 FE0E ; text style; # (1.1 ✴︎ ) EIGHT POINTED BLACK STAR
+2734 FE0F ; emoji style; # (1.1 âœ´ï¸ ) EIGHT POINTED BLACK STAR
+2744 FE0E ; text style; # (1.1 â„︎ ) SNOWFLAKE
+2744 FE0F ; emoji style; # (1.1 â„ï¸ ) SNOWFLAKE
+2747 FE0E ; text style; # (1.1 â‡ï¸Ž ) SPARKLE
+2747 FE0F ; emoji style; # (1.1 â‡ï¸ ) SPARKLE
+2753 FE0E ; text style; # (6.0 â“︎ ) BLACK QUESTION MARK ORNAMENT
+2753 FE0F ; emoji style; # (6.0 â“ï¸ ) BLACK QUESTION MARK ORNAMENT
+2757 FE0E ; text style; # (5.2 â—︎ ) HEAVY EXCLAMATION MARK SYMBOL
+2757 FE0F ; emoji style; # (5.2 â—ï¸ ) HEAVY EXCLAMATION MARK SYMBOL
+2763 FE0E ; text style; # (1.1 â£ï¸Ž ) HEAVY HEART EXCLAMATION MARK ORNAMENT
+2763 FE0F ; emoji style; # (1.1 â£ï¸ ) HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 FE0E ; text style; # (1.1 â¤ï¸Ž ) HEAVY BLACK HEART
+2764 FE0F ; emoji style; # (1.1 â¤ï¸ ) HEAVY BLACK HEART
+27A1 FE0E ; text style; # (1.1 ➡︎ ) BLACK RIGHTWARDS ARROW
+27A1 FE0F ; emoji style; # (1.1 âž¡ï¸ ) BLACK RIGHTWARDS ARROW
+2934 FE0E ; text style; # (3.2 ⤴︎ ) ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2934 FE0F ; emoji style; # (3.2 â¤´ï¸ ) ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935 FE0E ; text style; # (3.2 ⤵︎ ) ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2935 FE0F ; emoji style; # (3.2 â¤µï¸ ) ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2B05 FE0E ; text style; # (4.0 ⬅︎ ) LEFTWARDS BLACK ARROW
+2B05 FE0F ; emoji style; # (4.0 â¬…ï¸ ) LEFTWARDS BLACK ARROW
+2B06 FE0E ; text style; # (4.0 ⬆︎ ) UPWARDS BLACK ARROW
+2B06 FE0F ; emoji style; # (4.0 â¬†ï¸ ) UPWARDS BLACK ARROW
+2B07 FE0E ; text style; # (4.0 ⬇︎ ) DOWNWARDS BLACK ARROW
+2B07 FE0F ; emoji style; # (4.0 â¬‡ï¸ ) DOWNWARDS BLACK ARROW
+2B1B FE0E ; text style; # (5.1 ⬛︎ ) BLACK LARGE SQUARE
+2B1B FE0F ; emoji style; # (5.1 â¬›ï¸ ) BLACK LARGE SQUARE
+2B1C FE0E ; text style; # (5.1 ⬜︎ ) WHITE LARGE SQUARE
+2B1C FE0F ; emoji style; # (5.1 â¬œï¸ ) WHITE LARGE SQUARE
+2B50 FE0E ; text style; # (5.1 â­ï¸Ž ) WHITE MEDIUM STAR
+2B50 FE0F ; emoji style; # (5.1 â­ï¸ ) WHITE MEDIUM STAR
+2B55 FE0E ; text style; # (5.2 ⭕︎ ) HEAVY LARGE CIRCLE
+2B55 FE0F ; emoji style; # (5.2 â­•ï¸ ) HEAVY LARGE CIRCLE
+3030 FE0E ; text style; # (1.1 〰︎ ) WAVY DASH
+3030 FE0F ; emoji style; # (1.1 ã€°ï¸ ) WAVY DASH
+303D FE0E ; text style; # (3.2 〽︎ ) PART ALTERNATION MARK
+303D FE0F ; emoji style; # (3.2 ã€½ï¸ ) PART ALTERNATION MARK
+3297 FE0E ; text style; # (1.1 ㊗︎ ) CIRCLED IDEOGRAPH CONGRATULATION
+3297 FE0F ; emoji style; # (1.1 ãŠ—ï¸ ) CIRCLED IDEOGRAPH CONGRATULATION
+3299 FE0E ; text style; # (1.1 ㊙︎ ) CIRCLED IDEOGRAPH SECRET
+3299 FE0F ; emoji style; # (1.1 ãŠ™ï¸ ) CIRCLED IDEOGRAPH SECRET
+1F004 FE0E ; text style; # (5.1 🀄︎ ) MAHJONG TILE RED DRAGON
+1F004 FE0F ; emoji style; # (5.1 ðŸ€„ï¸ ) MAHJONG TILE RED DRAGON
+1F170 FE0E ; text style; # (6.0 🅰︎ ) NEGATIVE SQUARED LATIN CAPITAL LETTER A
+1F170 FE0F ; emoji style; # (6.0 ðŸ…°ï¸ ) NEGATIVE SQUARED LATIN CAPITAL LETTER A
+1F171 FE0E ; text style; # (6.0 🅱︎ ) NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1F171 FE0F ; emoji style; # (6.0 ðŸ…±ï¸ ) NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1F17E FE0E ; text style; # (6.0 🅾︎ ) NEGATIVE SQUARED LATIN CAPITAL LETTER O
+1F17E FE0F ; emoji style; # (6.0 ðŸ…¾ï¸ ) NEGATIVE SQUARED LATIN CAPITAL LETTER O
+1F17F FE0E ; text style; # (5.2 🅿︎ ) NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F17F FE0F ; emoji style; # (5.2 ðŸ…¿ï¸ ) NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F202 FE0E ; text style; # (6.0 🈂︎ ) SQUARED KATAKANA SA
+1F202 FE0F ; emoji style; # (6.0 ðŸˆ‚ï¸ ) SQUARED KATAKANA SA
+1F21A FE0E ; text style; # (5.2 🈚︎ ) SQUARED CJK UNIFIED IDEOGRAPH-7121
+1F21A FE0F ; emoji style; # (5.2 ðŸˆšï¸ ) SQUARED CJK UNIFIED IDEOGRAPH-7121
+1F22F FE0E ; text style; # (5.2 🈯︎ ) SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F22F FE0F ; emoji style; # (5.2 ðŸˆ¯ï¸ ) SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F237 FE0E ; text style; # (6.0 🈷︎ ) SQUARED CJK UNIFIED IDEOGRAPH-6708
+1F237 FE0F ; emoji style; # (6.0 ðŸˆ·ï¸ ) SQUARED CJK UNIFIED IDEOGRAPH-6708
+1F30D FE0E ; text style; # (6.0 ðŸŒï¸Ž ) EARTH GLOBE EUROPE-AFRICA
+1F30D FE0F ; emoji style; # (6.0 ðŸŒï¸ ) EARTH GLOBE EUROPE-AFRICA
+1F30E FE0E ; text style; # (6.0 🌎︎ ) EARTH GLOBE AMERICAS
+1F30E FE0F ; emoji style; # (6.0 ðŸŒŽï¸ ) EARTH GLOBE AMERICAS
+1F30F FE0E ; text style; # (6.0 ðŸŒï¸Ž ) EARTH GLOBE ASIA-AUSTRALIA
+1F30F FE0F ; emoji style; # (6.0 ðŸŒï¸ ) EARTH GLOBE ASIA-AUSTRALIA
+1F315 FE0E ; text style; # (6.0 🌕︎ ) FULL MOON SYMBOL
+1F315 FE0F ; emoji style; # (6.0 ðŸŒ•ï¸ ) FULL MOON SYMBOL
+1F31C FE0E ; text style; # (6.0 🌜︎ ) LAST QUARTER MOON WITH FACE
+1F31C FE0F ; emoji style; # (6.0 ðŸŒœï¸ ) LAST QUARTER MOON WITH FACE
+1F321 FE0E ; text style; # (7.0 🌡︎ ) THERMOMETER
+1F321 FE0F ; emoji style; # (7.0 ðŸŒ¡ï¸ ) THERMOMETER
+1F324 FE0E ; text style; # (7.0 🌤︎ ) WHITE SUN WITH SMALL CLOUD
+1F324 FE0F ; emoji style; # (7.0 ðŸŒ¤ï¸ ) WHITE SUN WITH SMALL CLOUD
+1F325 FE0E ; text style; # (7.0 🌥︎ ) WHITE SUN BEHIND CLOUD
+1F325 FE0F ; emoji style; # (7.0 ðŸŒ¥ï¸ ) WHITE SUN BEHIND CLOUD
+1F326 FE0E ; text style; # (7.0 🌦︎ ) WHITE SUN BEHIND CLOUD WITH RAIN
+1F326 FE0F ; emoji style; # (7.0 ðŸŒ¦ï¸ ) WHITE SUN BEHIND CLOUD WITH RAIN
+1F327 FE0E ; text style; # (7.0 🌧︎ ) CLOUD WITH RAIN
+1F327 FE0F ; emoji style; # (7.0 ðŸŒ§ï¸ ) CLOUD WITH RAIN
+1F328 FE0E ; text style; # (7.0 🌨︎ ) CLOUD WITH SNOW
+1F328 FE0F ; emoji style; # (7.0 ðŸŒ¨ï¸ ) CLOUD WITH SNOW
+1F329 FE0E ; text style; # (7.0 🌩︎ ) CLOUD WITH LIGHTNING
+1F329 FE0F ; emoji style; # (7.0 ðŸŒ©ï¸ ) CLOUD WITH LIGHTNING
+1F32A FE0E ; text style; # (7.0 🌪︎ ) CLOUD WITH TORNADO
+1F32A FE0F ; emoji style; # (7.0 ðŸŒªï¸ ) CLOUD WITH TORNADO
+1F32B FE0E ; text style; # (7.0 🌫︎ ) FOG
+1F32B FE0F ; emoji style; # (7.0 ðŸŒ«ï¸ ) FOG
+1F32C FE0E ; text style; # (7.0 🌬︎ ) WIND BLOWING FACE
+1F32C FE0F ; emoji style; # (7.0 ðŸŒ¬ï¸ ) WIND BLOWING FACE
+1F336 FE0E ; text style; # (7.0 🌶︎ ) HOT PEPPER
+1F336 FE0F ; emoji style; # (7.0 ðŸŒ¶ï¸ ) HOT PEPPER
+1F378 FE0E ; text style; # (6.0 ðŸ¸ï¸Ž ) COCKTAIL GLASS
+1F378 FE0F ; emoji style; # (6.0 ðŸ¸ï¸ ) COCKTAIL GLASS
+1F37D FE0E ; text style; # (7.0 ðŸ½ï¸Ž ) FORK AND KNIFE WITH PLATE
+1F37D FE0F ; emoji style; # (7.0 ðŸ½ï¸ ) FORK AND KNIFE WITH PLATE
+1F393 FE0E ; text style; # (6.0 🎓︎ ) GRADUATION CAP
+1F393 FE0F ; emoji style; # (6.0 ðŸŽ“ï¸ ) GRADUATION CAP
+1F396 FE0E ; text style; # (7.0 🎖︎ ) MILITARY MEDAL
+1F396 FE0F ; emoji style; # (7.0 ðŸŽ–ï¸ ) MILITARY MEDAL
+1F397 FE0E ; text style; # (7.0 🎗︎ ) REMINDER RIBBON
+1F397 FE0F ; emoji style; # (7.0 ðŸŽ—ï¸ ) REMINDER RIBBON
+1F399 FE0E ; text style; # (7.0 🎙︎ ) STUDIO MICROPHONE
+1F399 FE0F ; emoji style; # (7.0 ðŸŽ™ï¸ ) STUDIO MICROPHONE
+1F39A FE0E ; text style; # (7.0 🎚︎ ) LEVEL SLIDER
+1F39A FE0F ; emoji style; # (7.0 ðŸŽšï¸ ) LEVEL SLIDER
+1F39B FE0E ; text style; # (7.0 🎛︎ ) CONTROL KNOBS
+1F39B FE0F ; emoji style; # (7.0 ðŸŽ›ï¸ ) CONTROL KNOBS
+1F39E FE0E ; text style; # (7.0 🎞︎ ) FILM FRAMES
+1F39E FE0F ; emoji style; # (7.0 ðŸŽžï¸ ) FILM FRAMES
+1F39F FE0E ; text style; # (7.0 🎟︎ ) ADMISSION TICKETS
+1F39F FE0F ; emoji style; # (7.0 ðŸŽŸï¸ ) ADMISSION TICKETS
+1F3A7 FE0E ; text style; # (6.0 🎧︎ ) HEADPHONE
+1F3A7 FE0F ; emoji style; # (6.0 ðŸŽ§ï¸ ) HEADPHONE
+1F3AC FE0E ; text style; # (6.0 🎬︎ ) CLAPPER BOARD
+1F3AC FE0F ; emoji style; # (6.0 ðŸŽ¬ï¸ ) CLAPPER BOARD
+1F3AD FE0E ; text style; # (6.0 🎭︎ ) PERFORMING ARTS
+1F3AD FE0F ; emoji style; # (6.0 ðŸŽ­ï¸ ) PERFORMING ARTS
+1F3AE FE0E ; text style; # (6.0 🎮︎ ) VIDEO GAME
+1F3AE FE0F ; emoji style; # (6.0 ðŸŽ®ï¸ ) VIDEO GAME
+1F3C2 FE0E ; text style; # (6.0 ðŸ‚︎ ) SNOWBOARDER
+1F3C2 FE0F ; emoji style; # (6.0 ðŸ‚ï¸ ) SNOWBOARDER
+1F3C4 FE0E ; text style; # (6.0 ðŸ„︎ ) SURFER
+1F3C4 FE0F ; emoji style; # (6.0 ðŸ„ï¸ ) SURFER
+1F3C6 FE0E ; text style; # (6.0 ðŸ†ï¸Ž ) TROPHY
+1F3C6 FE0F ; emoji style; # (6.0 ðŸ†ï¸ ) TROPHY
+1F3CA FE0E ; text style; # (6.0 ðŸŠï¸Ž ) SWIMMER
+1F3CA FE0F ; emoji style; # (6.0 ðŸŠï¸ ) SWIMMER
+1F3CB FE0E ; text style; # (7.0 ðŸ‹ï¸Ž ) WEIGHT LIFTER
+1F3CB FE0F ; emoji style; # (7.0 ðŸ‹ï¸ ) WEIGHT LIFTER
+1F3CC FE0E ; text style; # (7.0 ðŸŒï¸Ž ) GOLFER
+1F3CC FE0F ; emoji style; # (7.0 ðŸŒï¸ ) GOLFER
+1F3CD FE0E ; text style; # (7.0 ðŸï¸Ž ) RACING MOTORCYCLE
+1F3CD FE0F ; emoji style; # (7.0 ðŸï¸ ) RACING MOTORCYCLE
+1F3CE FE0E ; text style; # (7.0 ðŸŽï¸Ž ) RACING CAR
+1F3CE FE0F ; emoji style; # (7.0 ðŸŽï¸ ) RACING CAR
+1F3D4 FE0E ; text style; # (7.0 ðŸ”︎ ) SNOW CAPPED MOUNTAIN
+1F3D4 FE0F ; emoji style; # (7.0 ðŸ”ï¸ ) SNOW CAPPED MOUNTAIN
+1F3D5 FE0E ; text style; # (7.0 ðŸ•ï¸Ž ) CAMPING
+1F3D5 FE0F ; emoji style; # (7.0 ðŸ•ï¸ ) CAMPING
+1F3D6 FE0E ; text style; # (7.0 ðŸ–︎ ) BEACH WITH UMBRELLA
+1F3D6 FE0F ; emoji style; # (7.0 ðŸ–ï¸ ) BEACH WITH UMBRELLA
+1F3D7 FE0E ; text style; # (7.0 ðŸ—︎ ) BUILDING CONSTRUCTION
+1F3D7 FE0F ; emoji style; # (7.0 ðŸ—ï¸ ) BUILDING CONSTRUCTION
+1F3D8 FE0E ; text style; # (7.0 ðŸ˜ï¸Ž ) HOUSE BUILDINGS
+1F3D8 FE0F ; emoji style; # (7.0 ðŸ˜ï¸ ) HOUSE BUILDINGS
+1F3D9 FE0E ; text style; # (7.0 ðŸ™ï¸Ž ) CITYSCAPE
+1F3D9 FE0F ; emoji style; # (7.0 ðŸ™ï¸ ) CITYSCAPE
+1F3DA FE0E ; text style; # (7.0 ðŸšï¸Ž ) DERELICT HOUSE BUILDING
+1F3DA FE0F ; emoji style; # (7.0 ðŸšï¸ ) DERELICT HOUSE BUILDING
+1F3DB FE0E ; text style; # (7.0 ðŸ›ï¸Ž ) CLASSICAL BUILDING
+1F3DB FE0F ; emoji style; # (7.0 ðŸ›ï¸ ) CLASSICAL BUILDING
+1F3DC FE0E ; text style; # (7.0 ðŸœï¸Ž ) DESERT
+1F3DC FE0F ; emoji style; # (7.0 ðŸœï¸ ) DESERT
+1F3DD FE0E ; text style; # (7.0 ðŸï¸Ž ) DESERT ISLAND
+1F3DD FE0F ; emoji style; # (7.0 ðŸï¸ ) DESERT ISLAND
+1F3DE FE0E ; text style; # (7.0 ðŸžï¸Ž ) NATIONAL PARK
+1F3DE FE0F ; emoji style; # (7.0 ðŸžï¸ ) NATIONAL PARK
+1F3DF FE0E ; text style; # (7.0 ðŸŸï¸Ž ) STADIUM
+1F3DF FE0F ; emoji style; # (7.0 ðŸŸï¸ ) STADIUM
+1F3E0 FE0E ; text style; # (6.0 ðŸ ï¸Ž ) HOUSE BUILDING
+1F3E0 FE0F ; emoji style; # (6.0 ðŸ ï¸ ) HOUSE BUILDING
+1F3ED FE0E ; text style; # (6.0 ðŸ­ï¸Ž ) FACTORY
+1F3ED FE0F ; emoji style; # (6.0 ðŸ­ï¸ ) FACTORY
+1F3F3 FE0E ; text style; # (7.0 ðŸ³ï¸Ž ) WAVING WHITE FLAG
+1F3F3 FE0F ; emoji style; # (7.0 ðŸ³ï¸ ) WAVING WHITE FLAG
+1F3F5 FE0E ; text style; # (7.0 ðŸµï¸Ž ) ROSETTE
+1F3F5 FE0F ; emoji style; # (7.0 ðŸµï¸ ) ROSETTE
+1F3F7 FE0E ; text style; # (7.0 ðŸ·ï¸Ž ) LABEL
+1F3F7 FE0F ; emoji style; # (7.0 ðŸ·ï¸ ) LABEL
+1F408 FE0E ; text style; # (6.0 ðŸˆï¸Ž ) CAT
+1F408 FE0F ; emoji style; # (6.0 ðŸˆï¸ ) CAT
+1F415 FE0E ; text style; # (6.0 ðŸ•ï¸Ž ) DOG
+1F415 FE0F ; emoji style; # (6.0 ðŸ•ï¸ ) DOG
+1F41F FE0E ; text style; # (6.0 ðŸŸï¸Ž ) FISH
+1F41F FE0F ; emoji style; # (6.0 ðŸŸï¸ ) FISH
+1F426 FE0E ; text style; # (6.0 ðŸ¦ï¸Ž ) BIRD
+1F426 FE0F ; emoji style; # (6.0 ðŸ¦ï¸ ) BIRD
+1F43F FE0E ; text style; # (7.0 ðŸ¿ï¸Ž ) CHIPMUNK
+1F43F FE0F ; emoji style; # (7.0 ðŸ¿ï¸ ) CHIPMUNK
+1F441 FE0E ; text style; # (7.0 ðŸ‘︎ ) EYE
+1F441 FE0F ; emoji style; # (7.0 ðŸ‘ï¸ ) EYE
+1F442 FE0E ; text style; # (6.0 👂︎ ) EAR
+1F442 FE0F ; emoji style; # (6.0 ðŸ‘‚ï¸ ) EAR
+1F446 FE0E ; text style; # (6.0 👆︎ ) WHITE UP POINTING BACKHAND INDEX
+1F446 FE0F ; emoji style; # (6.0 ðŸ‘†ï¸ ) WHITE UP POINTING BACKHAND INDEX
+1F447 FE0E ; text style; # (6.0 👇︎ ) WHITE DOWN POINTING BACKHAND INDEX
+1F447 FE0F ; emoji style; # (6.0 ðŸ‘‡ï¸ ) WHITE DOWN POINTING BACKHAND INDEX
+1F448 FE0E ; text style; # (6.0 👈︎ ) WHITE LEFT POINTING BACKHAND INDEX
+1F448 FE0F ; emoji style; # (6.0 ðŸ‘ˆï¸ ) WHITE LEFT POINTING BACKHAND INDEX
+1F449 FE0E ; text style; # (6.0 👉︎ ) WHITE RIGHT POINTING BACKHAND INDEX
+1F449 FE0F ; emoji style; # (6.0 ðŸ‘‰ï¸ ) WHITE RIGHT POINTING BACKHAND INDEX
+1F44D FE0E ; text style; # (6.0 ðŸ‘︎ ) THUMBS UP SIGN
+1F44D FE0F ; emoji style; # (6.0 ðŸ‘ï¸ ) THUMBS UP SIGN
+1F44E FE0E ; text style; # (6.0 👎︎ ) THUMBS DOWN SIGN
+1F44E FE0F ; emoji style; # (6.0 ðŸ‘Žï¸ ) THUMBS DOWN SIGN
+1F453 FE0E ; text style; # (6.0 👓︎ ) EYEGLASSES
+1F453 FE0F ; emoji style; # (6.0 ðŸ‘“ï¸ ) EYEGLASSES
+1F46A FE0E ; text style; # (6.0 👪︎ ) FAMILY
+1F46A FE0F ; emoji style; # (6.0 ðŸ‘ªï¸ ) FAMILY
+1F47D FE0E ; text style; # (6.0 👽︎ ) EXTRATERRESTRIAL ALIEN
+1F47D FE0F ; emoji style; # (6.0 ðŸ‘½ï¸ ) EXTRATERRESTRIAL ALIEN
+1F4A3 FE0E ; text style; # (6.0 💣︎ ) BOMB
+1F4A3 FE0F ; emoji style; # (6.0 ðŸ’£ï¸ ) BOMB
+1F4B0 FE0E ; text style; # (6.0 💰︎ ) MONEY BAG
+1F4B0 FE0F ; emoji style; # (6.0 ðŸ’°ï¸ ) MONEY BAG
+1F4B3 FE0E ; text style; # (6.0 💳︎ ) CREDIT CARD
+1F4B3 FE0F ; emoji style; # (6.0 ðŸ’³ï¸ ) CREDIT CARD
+1F4BB FE0E ; text style; # (6.0 💻︎ ) PERSONAL COMPUTER
+1F4BB FE0F ; emoji style; # (6.0 ðŸ’»ï¸ ) PERSONAL COMPUTER
+1F4BF FE0E ; text style; # (6.0 💿︎ ) OPTICAL DISC
+1F4BF FE0F ; emoji style; # (6.0 ðŸ’¿ï¸ ) OPTICAL DISC
+1F4CB FE0E ; text style; # (6.0 📋︎ ) CLIPBOARD
+1F4CB FE0F ; emoji style; # (6.0 ðŸ“‹ï¸ ) CLIPBOARD
+1F4DA FE0E ; text style; # (6.0 📚︎ ) BOOKS
+1F4DA FE0F ; emoji style; # (6.0 ðŸ“šï¸ ) BOOKS
+1F4DF FE0E ; text style; # (6.0 📟︎ ) PAGER
+1F4DF FE0F ; emoji style; # (6.0 ðŸ“Ÿï¸ ) PAGER
+1F4E4 FE0E ; text style; # (6.0 📤︎ ) OUTBOX TRAY
+1F4E4 FE0F ; emoji style; # (6.0 ðŸ“¤ï¸ ) OUTBOX TRAY
+1F4E5 FE0E ; text style; # (6.0 📥︎ ) INBOX TRAY
+1F4E5 FE0F ; emoji style; # (6.0 ðŸ“¥ï¸ ) INBOX TRAY
+1F4E6 FE0E ; text style; # (6.0 📦︎ ) PACKAGE
+1F4E6 FE0F ; emoji style; # (6.0 ðŸ“¦ï¸ ) PACKAGE
+1F4EA FE0E ; text style; # (6.0 📪︎ ) CLOSED MAILBOX WITH LOWERED FLAG
+1F4EA FE0F ; emoji style; # (6.0 ðŸ“ªï¸ ) CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB FE0E ; text style; # (6.0 📫︎ ) CLOSED MAILBOX WITH RAISED FLAG
+1F4EB FE0F ; emoji style; # (6.0 ðŸ“«ï¸ ) CLOSED MAILBOX WITH RAISED FLAG
+1F4EC FE0E ; text style; # (6.0 📬︎ ) OPEN MAILBOX WITH RAISED FLAG
+1F4EC FE0F ; emoji style; # (6.0 ðŸ“¬ï¸ ) OPEN MAILBOX WITH RAISED FLAG
+1F4ED FE0E ; text style; # (6.0 📭︎ ) OPEN MAILBOX WITH LOWERED FLAG
+1F4ED FE0F ; emoji style; # (6.0 ðŸ“­ï¸ ) OPEN MAILBOX WITH LOWERED FLAG
+1F4F7 FE0E ; text style; # (6.0 📷︎ ) CAMERA
+1F4F7 FE0F ; emoji style; # (6.0 ðŸ“·ï¸ ) CAMERA
+1F4F9 FE0E ; text style; # (6.0 📹︎ ) VIDEO CAMERA
+1F4F9 FE0F ; emoji style; # (6.0 ðŸ“¹ï¸ ) VIDEO CAMERA
+1F4FA FE0E ; text style; # (6.0 📺︎ ) TELEVISION
+1F4FA FE0F ; emoji style; # (6.0 ðŸ“ºï¸ ) TELEVISION
+1F4FB FE0E ; text style; # (6.0 📻︎ ) RADIO
+1F4FB FE0F ; emoji style; # (6.0 ðŸ“»ï¸ ) RADIO
+1F4FD FE0E ; text style; # (7.0 📽︎ ) FILM PROJECTOR
+1F4FD FE0F ; emoji style; # (7.0 ðŸ“½ï¸ ) FILM PROJECTOR
+1F508 FE0E ; text style; # (6.0 🔈︎ ) SPEAKER
+1F508 FE0F ; emoji style; # (6.0 ðŸ”ˆï¸ ) SPEAKER
+1F50D FE0E ; text style; # (6.0 ðŸ”︎ ) LEFT-POINTING MAGNIFYING GLASS
+1F50D FE0F ; emoji style; # (6.0 ðŸ”ï¸ ) LEFT-POINTING MAGNIFYING GLASS
+1F512 FE0E ; text style; # (6.0 🔒︎ ) LOCK
+1F512 FE0F ; emoji style; # (6.0 ðŸ”’ï¸ ) LOCK
+1F513 FE0E ; text style; # (6.0 🔓︎ ) OPEN LOCK
+1F513 FE0F ; emoji style; # (6.0 ðŸ”“ï¸ ) OPEN LOCK
+1F549 FE0E ; text style; # (7.0 🕉︎ ) OM SYMBOL
+1F549 FE0F ; emoji style; # (7.0 ðŸ•‰ï¸ ) OM SYMBOL
+1F54A FE0E ; text style; # (7.0 🕊︎ ) DOVE OF PEACE
+1F54A FE0F ; emoji style; # (7.0 ðŸ•Šï¸ ) DOVE OF PEACE
+1F550 FE0E ; text style; # (6.0 ðŸ•ï¸Ž ) CLOCK FACE ONE OCLOCK
+1F550 FE0F ; emoji style; # (6.0 ðŸ•ï¸ ) CLOCK FACE ONE OCLOCK
+1F551 FE0E ; text style; # (6.0 🕑︎ ) CLOCK FACE TWO OCLOCK
+1F551 FE0F ; emoji style; # (6.0 ðŸ•‘ï¸ ) CLOCK FACE TWO OCLOCK
+1F552 FE0E ; text style; # (6.0 🕒︎ ) CLOCK FACE THREE OCLOCK
+1F552 FE0F ; emoji style; # (6.0 ðŸ•’ï¸ ) CLOCK FACE THREE OCLOCK
+1F553 FE0E ; text style; # (6.0 🕓︎ ) CLOCK FACE FOUR OCLOCK
+1F553 FE0F ; emoji style; # (6.0 ðŸ•“ï¸ ) CLOCK FACE FOUR OCLOCK
+1F554 FE0E ; text style; # (6.0 🕔︎ ) CLOCK FACE FIVE OCLOCK
+1F554 FE0F ; emoji style; # (6.0 ðŸ•”ï¸ ) CLOCK FACE FIVE OCLOCK
+1F555 FE0E ; text style; # (6.0 🕕︎ ) CLOCK FACE SIX OCLOCK
+1F555 FE0F ; emoji style; # (6.0 ðŸ••ï¸ ) CLOCK FACE SIX OCLOCK
+1F556 FE0E ; text style; # (6.0 🕖︎ ) CLOCK FACE SEVEN OCLOCK
+1F556 FE0F ; emoji style; # (6.0 ðŸ•–ï¸ ) CLOCK FACE SEVEN OCLOCK
+1F557 FE0E ; text style; # (6.0 🕗︎ ) CLOCK FACE EIGHT OCLOCK
+1F557 FE0F ; emoji style; # (6.0 ðŸ•—ï¸ ) CLOCK FACE EIGHT OCLOCK
+1F558 FE0E ; text style; # (6.0 🕘︎ ) CLOCK FACE NINE OCLOCK
+1F558 FE0F ; emoji style; # (6.0 ðŸ•˜ï¸ ) CLOCK FACE NINE OCLOCK
+1F559 FE0E ; text style; # (6.0 🕙︎ ) CLOCK FACE TEN OCLOCK
+1F559 FE0F ; emoji style; # (6.0 ðŸ•™ï¸ ) CLOCK FACE TEN OCLOCK
+1F55A FE0E ; text style; # (6.0 🕚︎ ) CLOCK FACE ELEVEN OCLOCK
+1F55A FE0F ; emoji style; # (6.0 ðŸ•šï¸ ) CLOCK FACE ELEVEN OCLOCK
+1F55B FE0E ; text style; # (6.0 🕛︎ ) CLOCK FACE TWELVE OCLOCK
+1F55B FE0F ; emoji style; # (6.0 ðŸ•›ï¸ ) CLOCK FACE TWELVE OCLOCK
+1F55C FE0E ; text style; # (6.0 🕜︎ ) CLOCK FACE ONE-THIRTY
+1F55C FE0F ; emoji style; # (6.0 ðŸ•œï¸ ) CLOCK FACE ONE-THIRTY
+1F55D FE0E ; text style; # (6.0 ðŸ•ï¸Ž ) CLOCK FACE TWO-THIRTY
+1F55D FE0F ; emoji style; # (6.0 ðŸ•ï¸ ) CLOCK FACE TWO-THIRTY
+1F55E FE0E ; text style; # (6.0 🕞︎ ) CLOCK FACE THREE-THIRTY
+1F55E FE0F ; emoji style; # (6.0 ðŸ•žï¸ ) CLOCK FACE THREE-THIRTY
+1F55F FE0E ; text style; # (6.0 🕟︎ ) CLOCK FACE FOUR-THIRTY
+1F55F FE0F ; emoji style; # (6.0 ðŸ•Ÿï¸ ) CLOCK FACE FOUR-THIRTY
+1F560 FE0E ; text style; # (6.0 🕠︎ ) CLOCK FACE FIVE-THIRTY
+1F560 FE0F ; emoji style; # (6.0 ðŸ• ï¸ ) CLOCK FACE FIVE-THIRTY
+1F561 FE0E ; text style; # (6.0 🕡︎ ) CLOCK FACE SIX-THIRTY
+1F561 FE0F ; emoji style; # (6.0 ðŸ•¡ï¸ ) CLOCK FACE SIX-THIRTY
+1F562 FE0E ; text style; # (6.0 🕢︎ ) CLOCK FACE SEVEN-THIRTY
+1F562 FE0F ; emoji style; # (6.0 ðŸ•¢ï¸ ) CLOCK FACE SEVEN-THIRTY
+1F563 FE0E ; text style; # (6.0 🕣︎ ) CLOCK FACE EIGHT-THIRTY
+1F563 FE0F ; emoji style; # (6.0 ðŸ•£ï¸ ) CLOCK FACE EIGHT-THIRTY
+1F564 FE0E ; text style; # (6.0 🕤︎ ) CLOCK FACE NINE-THIRTY
+1F564 FE0F ; emoji style; # (6.0 ðŸ•¤ï¸ ) CLOCK FACE NINE-THIRTY
+1F565 FE0E ; text style; # (6.0 🕥︎ ) CLOCK FACE TEN-THIRTY
+1F565 FE0F ; emoji style; # (6.0 ðŸ•¥ï¸ ) CLOCK FACE TEN-THIRTY
+1F566 FE0E ; text style; # (6.0 🕦︎ ) CLOCK FACE ELEVEN-THIRTY
+1F566 FE0F ; emoji style; # (6.0 ðŸ•¦ï¸ ) CLOCK FACE ELEVEN-THIRTY
+1F567 FE0E ; text style; # (6.0 🕧︎ ) CLOCK FACE TWELVE-THIRTY
+1F567 FE0F ; emoji style; # (6.0 ðŸ•§ï¸ ) CLOCK FACE TWELVE-THIRTY
+1F56F FE0E ; text style; # (7.0 🕯︎ ) CANDLE
+1F56F FE0F ; emoji style; # (7.0 ðŸ•¯ï¸ ) CANDLE
+1F570 FE0E ; text style; # (7.0 🕰︎ ) MANTELPIECE CLOCK
+1F570 FE0F ; emoji style; # (7.0 ðŸ•°ï¸ ) MANTELPIECE CLOCK
+1F573 FE0E ; text style; # (7.0 🕳︎ ) HOLE
+1F573 FE0F ; emoji style; # (7.0 ðŸ•³ï¸ ) HOLE
+1F574 FE0E ; text style; # (7.0 🕴︎ ) MAN IN BUSINESS SUIT LEVITATING
+1F574 FE0F ; emoji style; # (7.0 ðŸ•´ï¸ ) MAN IN BUSINESS SUIT LEVITATING
+1F575 FE0E ; text style; # (7.0 🕵︎ ) SLEUTH OR SPY
+1F575 FE0F ; emoji style; # (7.0 ðŸ•µï¸ ) SLEUTH OR SPY
+1F576 FE0E ; text style; # (7.0 🕶︎ ) DARK SUNGLASSES
+1F576 FE0F ; emoji style; # (7.0 ðŸ•¶ï¸ ) DARK SUNGLASSES
+1F577 FE0E ; text style; # (7.0 🕷︎ ) SPIDER
+1F577 FE0F ; emoji style; # (7.0 ðŸ•·ï¸ ) SPIDER
+1F578 FE0E ; text style; # (7.0 🕸︎ ) SPIDER WEB
+1F578 FE0F ; emoji style; # (7.0 ðŸ•¸ï¸ ) SPIDER WEB
+1F579 FE0E ; text style; # (7.0 🕹︎ ) JOYSTICK
+1F579 FE0F ; emoji style; # (7.0 ðŸ•¹ï¸ ) JOYSTICK
+1F587 FE0E ; text style; # (7.0 🖇︎ ) LINKED PAPERCLIPS
+1F587 FE0F ; emoji style; # (7.0 ðŸ–‡ï¸ ) LINKED PAPERCLIPS
+1F58A FE0E ; text style; # (7.0 🖊︎ ) LOWER LEFT BALLPOINT PEN
+1F58A FE0F ; emoji style; # (7.0 ðŸ–Šï¸ ) LOWER LEFT BALLPOINT PEN
+1F58B FE0E ; text style; # (7.0 🖋︎ ) LOWER LEFT FOUNTAIN PEN
+1F58B FE0F ; emoji style; # (7.0 ðŸ–‹ï¸ ) LOWER LEFT FOUNTAIN PEN
+1F58C FE0E ; text style; # (7.0 🖌︎ ) LOWER LEFT PAINTBRUSH
+1F58C FE0F ; emoji style; # (7.0 ðŸ–Œï¸ ) LOWER LEFT PAINTBRUSH
+1F58D FE0E ; text style; # (7.0 ðŸ–︎ ) LOWER LEFT CRAYON
+1F58D FE0F ; emoji style; # (7.0 ðŸ–ï¸ ) LOWER LEFT CRAYON
+1F590 FE0E ; text style; # (7.0 ðŸ–︎ ) RAISED HAND WITH FINGERS SPLAYED
+1F590 FE0F ; emoji style; # (7.0 ðŸ–ï¸ ) RAISED HAND WITH FINGERS SPLAYED
+1F5A5 FE0E ; text style; # (7.0 🖥︎ ) DESKTOP COMPUTER
+1F5A5 FE0F ; emoji style; # (7.0 ðŸ–¥ï¸ ) DESKTOP COMPUTER
+1F5A8 FE0E ; text style; # (7.0 🖨︎ ) PRINTER
+1F5A8 FE0F ; emoji style; # (7.0 ðŸ–¨ï¸ ) PRINTER
+1F5B1 FE0E ; text style; # (7.0 🖱︎ ) THREE BUTTON MOUSE
+1F5B1 FE0F ; emoji style; # (7.0 ðŸ–±ï¸ ) THREE BUTTON MOUSE
+1F5B2 FE0E ; text style; # (7.0 🖲︎ ) TRACKBALL
+1F5B2 FE0F ; emoji style; # (7.0 ðŸ–²ï¸ ) TRACKBALL
+1F5BC FE0E ; text style; # (7.0 🖼︎ ) FRAME WITH PICTURE
+1F5BC FE0F ; emoji style; # (7.0 ðŸ–¼ï¸ ) FRAME WITH PICTURE
+1F5C2 FE0E ; text style; # (7.0 🗂︎ ) CARD INDEX DIVIDERS
+1F5C2 FE0F ; emoji style; # (7.0 ðŸ—‚ï¸ ) CARD INDEX DIVIDERS
+1F5C3 FE0E ; text style; # (7.0 🗃︎ ) CARD FILE BOX
+1F5C3 FE0F ; emoji style; # (7.0 ðŸ—ƒï¸ ) CARD FILE BOX
+1F5C4 FE0E ; text style; # (7.0 🗄︎ ) FILE CABINET
+1F5C4 FE0F ; emoji style; # (7.0 ðŸ—„ï¸ ) FILE CABINET
+1F5D1 FE0E ; text style; # (7.0 🗑︎ ) WASTEBASKET
+1F5D1 FE0F ; emoji style; # (7.0 ðŸ—‘ï¸ ) WASTEBASKET
+1F5D2 FE0E ; text style; # (7.0 🗒︎ ) SPIRAL NOTE PAD
+1F5D2 FE0F ; emoji style; # (7.0 ðŸ—’ï¸ ) SPIRAL NOTE PAD
+1F5D3 FE0E ; text style; # (7.0 🗓︎ ) SPIRAL CALENDAR PAD
+1F5D3 FE0F ; emoji style; # (7.0 ðŸ—“ï¸ ) SPIRAL CALENDAR PAD
+1F5DC FE0E ; text style; # (7.0 🗜︎ ) COMPRESSION
+1F5DC FE0F ; emoji style; # (7.0 ðŸ—œï¸ ) COMPRESSION
+1F5DD FE0E ; text style; # (7.0 ðŸ—︎ ) OLD KEY
+1F5DD FE0F ; emoji style; # (7.0 ðŸ—ï¸ ) OLD KEY
+1F5DE FE0E ; text style; # (7.0 🗞︎ ) ROLLED-UP NEWSPAPER
+1F5DE FE0F ; emoji style; # (7.0 ðŸ—žï¸ ) ROLLED-UP NEWSPAPER
+1F5E1 FE0E ; text style; # (7.0 🗡︎ ) DAGGER KNIFE
+1F5E1 FE0F ; emoji style; # (7.0 ðŸ—¡ï¸ ) DAGGER KNIFE
+1F5E3 FE0E ; text style; # (7.0 🗣︎ ) SPEAKING HEAD IN SILHOUETTE
+1F5E3 FE0F ; emoji style; # (7.0 ðŸ—£ï¸ ) SPEAKING HEAD IN SILHOUETTE
+1F5E8 FE0E ; text style; # (7.0 🗨︎ ) LEFT SPEECH BUBBLE
+1F5E8 FE0F ; emoji style; # (7.0 ðŸ—¨ï¸ ) LEFT SPEECH BUBBLE
+1F5EF FE0E ; text style; # (7.0 🗯︎ ) RIGHT ANGER BUBBLE
+1F5EF FE0F ; emoji style; # (7.0 ðŸ—¯ï¸ ) RIGHT ANGER BUBBLE
+1F5F3 FE0E ; text style; # (7.0 🗳︎ ) BALLOT BOX WITH BALLOT
+1F5F3 FE0F ; emoji style; # (7.0 ðŸ—³ï¸ ) BALLOT BOX WITH BALLOT
+1F5FA FE0E ; text style; # (7.0 🗺︎ ) WORLD MAP
+1F5FA FE0F ; emoji style; # (7.0 ðŸ—ºï¸ ) WORLD MAP
+1F610 FE0E ; text style; # (6.0 ðŸ˜ï¸Ž ) NEUTRAL FACE
+1F610 FE0F ; emoji style; # (6.0 ðŸ˜ï¸ ) NEUTRAL FACE
+1F687 FE0E ; text style; # (6.0 🚇︎ ) METRO
+1F687 FE0F ; emoji style; # (6.0 ðŸš‡ï¸ ) METRO
+1F68D FE0E ; text style; # (6.0 ðŸšï¸Ž ) ONCOMING BUS
+1F68D FE0F ; emoji style; # (6.0 ðŸšï¸ ) ONCOMING BUS
+1F691 FE0E ; text style; # (6.0 🚑︎ ) AMBULANCE
+1F691 FE0F ; emoji style; # (6.0 ðŸš‘ï¸ ) AMBULANCE
+1F694 FE0E ; text style; # (6.0 🚔︎ ) ONCOMING POLICE CAR
+1F694 FE0F ; emoji style; # (6.0 ðŸš”ï¸ ) ONCOMING POLICE CAR
+1F698 FE0E ; text style; # (6.0 🚘︎ ) ONCOMING AUTOMOBILE
+1F698 FE0F ; emoji style; # (6.0 ðŸš˜ï¸ ) ONCOMING AUTOMOBILE
+1F6AD FE0E ; text style; # (6.0 🚭︎ ) NO SMOKING SYMBOL
+1F6AD FE0F ; emoji style; # (6.0 ðŸš­ï¸ ) NO SMOKING SYMBOL
+1F6B2 FE0E ; text style; # (6.0 🚲︎ ) BICYCLE
+1F6B2 FE0F ; emoji style; # (6.0 ðŸš²ï¸ ) BICYCLE
+1F6B9 FE0E ; text style; # (6.0 🚹︎ ) MENS SYMBOL
+1F6B9 FE0F ; emoji style; # (6.0 ðŸš¹ï¸ ) MENS SYMBOL
+1F6BA FE0E ; text style; # (6.0 🚺︎ ) WOMENS SYMBOL
+1F6BA FE0F ; emoji style; # (6.0 ðŸšºï¸ ) WOMENS SYMBOL
+1F6BC FE0E ; text style; # (6.0 🚼︎ ) BABY SYMBOL
+1F6BC FE0F ; emoji style; # (6.0 ðŸš¼ï¸ ) BABY SYMBOL
+1F6CB FE0E ; text style; # (7.0 🛋︎ ) COUCH AND LAMP
+1F6CB FE0F ; emoji style; # (7.0 ðŸ›‹ï¸ ) COUCH AND LAMP
+1F6CD FE0E ; text style; # (7.0 ðŸ›ï¸Ž ) SHOPPING BAGS
+1F6CD FE0F ; emoji style; # (7.0 ðŸ›ï¸ ) SHOPPING BAGS
+1F6CE FE0E ; text style; # (7.0 🛎︎ ) BELLHOP BELL
+1F6CE FE0F ; emoji style; # (7.0 ðŸ›Žï¸ ) BELLHOP BELL
+1F6CF FE0E ; text style; # (7.0 ðŸ›ï¸Ž ) BED
+1F6CF FE0F ; emoji style; # (7.0 ðŸ›ï¸ ) BED
+1F6E0 FE0E ; text style; # (7.0 🛠︎ ) HAMMER AND WRENCH
+1F6E0 FE0F ; emoji style; # (7.0 ðŸ› ï¸ ) HAMMER AND WRENCH
+1F6E1 FE0E ; text style; # (7.0 🛡︎ ) SHIELD
+1F6E1 FE0F ; emoji style; # (7.0 ðŸ›¡ï¸ ) SHIELD
+1F6E2 FE0E ; text style; # (7.0 🛢︎ ) OIL DRUM
+1F6E2 FE0F ; emoji style; # (7.0 ðŸ›¢ï¸ ) OIL DRUM
+1F6E3 FE0E ; text style; # (7.0 🛣︎ ) MOTORWAY
+1F6E3 FE0F ; emoji style; # (7.0 ðŸ›£ï¸ ) MOTORWAY
+1F6E4 FE0E ; text style; # (7.0 🛤︎ ) RAILWAY TRACK
+1F6E4 FE0F ; emoji style; # (7.0 ðŸ›¤ï¸ ) RAILWAY TRACK
+1F6E5 FE0E ; text style; # (7.0 🛥︎ ) MOTOR BOAT
+1F6E5 FE0F ; emoji style; # (7.0 ðŸ›¥ï¸ ) MOTOR BOAT
+1F6E9 FE0E ; text style; # (7.0 🛩︎ ) SMALL AIRPLANE
+1F6E9 FE0F ; emoji style; # (7.0 ðŸ›©ï¸ ) SMALL AIRPLANE
+1F6F0 FE0E ; text style; # (7.0 🛰︎ ) SATELLITE
+1F6F0 FE0F ; emoji style; # (7.0 ðŸ›°ï¸ ) SATELLITE
+1F6F3 FE0E ; text style; # (7.0 🛳︎ ) PASSENGER SHIP
+1F6F3 FE0F ; emoji style; # (7.0 ðŸ›³ï¸ ) PASSENGER SHIP
+
+#Total sequences: 354
+
+#EOF
diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk
index 7d2ff6cb900..53170214d8a 100644
--- a/admin/unidata/emoji-zwj.awk
+++ b/admin/unidata/emoji-zwj.awk
@@ -83,30 +83,29 @@ END {
trigger_codepoints[12] = "1F575"
trigger_codepoints[13] = "1F590"
- printf "(setq auto-composition-emoji-eligible-codepoints\n"
- printf "'("
+ print "(setq auto-composition-emoji-eligible-codepoints"
+ print "'("
for (trig in trigger_codepoints)
{
- printf("\n?\\N{U+%s}", trigger_codepoints[trig])
+ print "?\\N{U+" trigger_codepoints[trig] "}"
}
- printf "\n))\n\n"
+ print "))"
# We add entries for 'codepoint U+FE0F' here to ensure that the
# code in font_range is triggered.
for (trig in trigger_codepoints)
{
- codepoint = trigger_codepoints[trig]
- c = sprintf("\\N{U+%s}", codepoint)
- vec[codepoint] = vec[codepoint] "\n\"" c "\\N{U+FE0F}\""
+ vec[codepoint] = vec[codepoint] "\n\"\\N{U+" trigger_codepoints[trig] "}\\N{U+FE0F}\""
}
print "(dolist (elt `("
for (elt in ch)
{
- printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, vec[elt])
+ print "(#x" elt " .\n,(eval-when-compile (regexp-opt\n'(\n" vec[elt]
+ print "\"\\N{U+" elt "}\\N{U+FE0E}\"\n\"\\N{U+" elt "}\\N{U+FE0F}\"\n))))"
}
print "))"
print " (set-char-table-range composition-function-table"
diff --git a/autogen.sh b/autogen.sh
index af4c2ad14df..6127e7b24f4 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -340,7 +340,8 @@ git_config diff.texinfo.xfuncname \
tailored_hooks=
sample_hooks=
-for hook in commit-msg pre-commit prepare-commit-msg; do
+for hook in commit-msg pre-commit prepare-commit-msg post-commit \
+ pre-push commit-msg-files.awk; do
cmp -- build-aux/git-hooks/$hook "$hooks/$hook" >/dev/null 2>&1 ||
tailored_hooks="$tailored_hooks $hook"
done
diff --git a/build-aux/git-hooks/commit-msg-files.awk b/build-aux/git-hooks/commit-msg-files.awk
new file mode 100644
index 00000000000..5c9b70a5de5
--- /dev/null
+++ b/build-aux/git-hooks/commit-msg-files.awk
@@ -0,0 +1,128 @@
+# Check the file list of GNU Emacs change log entries for each commit SHA.
+
+# Copyright 2023 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+### Commentary:
+
+# This script accepts a list of (unabbreviated) Git commit SHAs, and
+# will then iterate over them to check that any files mentioned in the
+# commit message are actually present in the commit's diff. If not,
+# it will print out the incorrect file names and return 1.
+
+# You can also pass "-v reason=pre-push", which will add more-verbose
+# output, indicating the abbreviated commit SHA and first line of the
+# commit message for any improper commits.
+
+### Code:
+
+function get_commit_changes(commit_sha, changes, cmd, i, j, len, \
+ bits, filename) {
+ # Collect all the files touched in the specified commit.
+ cmd = ("git show --name-status --first-parent --format= " commit_sha)
+ while ((cmd | getline) > 0) {
+ for (i = 2; i <= NF; i++) {
+ len = split($i, bits, "/")
+ for (j = 1; j <= len; j++) {
+ if (j == 1)
+ filename = bits[j]
+ else
+ filename = filename "/" bits[j]
+ changes[filename] = 1
+ }
+ }
+ }
+ close(cmd)
+}
+
+function check_commit_msg_files(commit_sha, verbose, changes, good, \
+ cmd, msg, filenames_str, filenames, i) {
+ get_commit_changes(commit_sha, changes)
+ good = 1
+
+ cmd = ("git log -1 --format=%B " commit_sha)
+ while ((cmd | getline) > 0) {
+ if (verbose && ! msg)
+ msg = $0
+
+ # Find file entries in the commit message. We look at any line
+ # starting with "*" (possibly prefixed by "; ") followed by a ":",
+ # possibly on a different line. If we encounter a blank line
+ # without seeing a ":", then we don't treat that as a file entry.
+
+ # Accumulate the contents of a (possible) file entry.
+ if (/^[ \t]*$/)
+ filenames_str = ""
+ else if (/^(; )?\*[ \t]+[[:alnum:]]/)
+ filenames_str = $0
+ else if (filenames_str)
+ filenames_str = (filenames_str $0)
+
+ # We have a file entry; analyze it.
+ if (filenames_str && /:/) {
+ # Delete the leading "*" and any trailing information.
+ sub(/^(; )?\*[ \t]+/, "", filenames_str)
+ sub(/[ \t]*[[(<:].*$/, "", filenames_str)
+
+ # There might be multiple files listed in this entry, separated
+ # by spaces (and possibly a comma). Iterate over each of them.
+ split(filenames_str, filenames, ",[ \t]+")
+ for (i in filenames) {
+ # Remove trailing slashes from any directory entries.
+ sub(/\/$/, "", filenames[i])
+
+ if (length(filenames[i]) && ! (filenames[i] in changes)) {
+ if (good) {
+ # Print a header describing the error.
+ if (verbose)
+ printf("In commit %s \"%s\"...\n", substr(commit_sha, 1, 10), msg)
+ printf("Files listed in commit message, but not in diff:\n")
+ }
+ printf(" %s\n", filenames[i])
+ good = 0
+ }
+ }
+
+ filenames_str = ""
+ }
+ }
+ close(cmd)
+
+ return good
+}
+
+BEGIN {
+ if (reason == "pre-push")
+ verbose = 1
+}
+
+/^[a-z0-9]{40}$/ {
+ if (! check_commit_msg_files($0, verbose)) {
+ status = 1
+ }
+}
+
+END {
+ if (status != 0) {
+ if (reason == "pre-push")
+ error_msg = "Push aborted"
+ else
+ error_msg = "Bad commit message"
+ printf("%s; please see the file 'CONTRIBUTE'\n", error_msg)
+ }
+ exit status
+}
diff --git a/build-aux/git-hooks/post-commit b/build-aux/git-hooks/post-commit
new file mode 100755
index 00000000000..e02fee48db4
--- /dev/null
+++ b/build-aux/git-hooks/post-commit
@@ -0,0 +1,47 @@
+#!/bin/sh
+# Check the file list of GNU Emacs change log entries after committing.
+
+# Copyright 2023 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+### Commentary:
+
+# This hook runs after a commit is finalized and checks that the files
+# mentioned in the commit message match the diff. We perform this in
+# the post-commit phase so that we can be sure we properly detect all
+# the files in the diff (this is difficult during the commit-msg hook,
+# since there's no cross-platform way to detect when a commit is being
+# amended).
+
+# However, since this is a post-commit hook, it's too late to error
+# out and abort the commit: it's already done! As a result, this hook
+# is purely advisory, and instead we error out when trying to push
+# (see "pre-push" in this directory).
+
+### Code:
+
+HOOKS_DIR=`dirname "$0"`
+
+# Prefer gawk if available, as it handles NUL bytes properly.
+if type gawk >/dev/null 2>&1; then
+ awk="gawk"
+else
+ awk="awk"
+fi
+
+git rev-parse HEAD | $awk -v reason=post-commit \
+ -f "$HOOKS_DIR"/commit-msg-files.awk
diff --git a/build-aux/git-hooks/pre-push b/build-aux/git-hooks/pre-push
new file mode 100755
index 00000000000..a342814c1e3
--- /dev/null
+++ b/build-aux/git-hooks/pre-push
@@ -0,0 +1,88 @@
+#!/bin/sh
+# Check the file list of GNU Emacs change log entries before pushing.
+
+# Copyright 2023 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+### Commentary:
+
+# This hook runs before pushing a series of commits and checks that
+# the files mentioned in each commit message match the diffs. This
+# helps ensure that the resulting change logs are correct, which
+# should prevent errors when generating etc/AUTHORS.
+
+# These checks also happen in the "post-commit" hook (which see), but
+# that hook can't abort a commit; it just advises the committer to fix
+# the commit so that this hook runs without errors.
+
+### Code:
+
+HOOKS_DIR=`dirname "$0"`
+
+# Prefer gawk if available, as it handles NUL bytes properly.
+if type gawk >/dev/null 2>&1; then
+ awk="gawk"
+else
+ awk="awk"
+fi
+
+# Standard input receives lines of the form:
+# <local ref> SP <local sha> SP <remote ref> SP <remote sha> LF
+$awk -v origin_name="$1" '
+ # If the local SHA is all zeroes, ignore it.
+ $2 ~ /^0{40}$/ {
+ next
+ }
+
+ # Check any lines with a valid local SHA and whose remote ref is
+ # master or an emacs-NN release branch. (We want to avoid checking
+ # feature or scratch branches here.)
+ $2 ~ /^[a-z0-9]{40}$/ && $3 ~ /^refs\/heads\/(master|emacs-[0-9]+)$/ {
+ newref = $2
+ # If the remote SHA is all zeroes, this is a new object to be
+ # pushed (likely a branch)...
+ if ($4 ~ /^0{40}$/) {
+ back = 0
+ # ... Go backwards until we find a SHA on an origin branch.
+ # Stop trying after 1000 commits, just in case...
+ for (back = 0; back < 1000; back++) {
+ cmd = ("git branch -r -l '\''" origin_name "/*'\''" \
+ " --contains " newref "~" back)
+ rv = (cmd | getline)
+ close(cmd)
+ if (rv > 0)
+ break;
+ }
+
+ cmd = ("git rev-parse " newref "~" back)
+ cmd | getline oldref
+ if (!(oldref ~ /^[a-z0-9]{40}$/)) {
+ # The SHA is misformatted! Skip this line.
+ next
+ }
+ close(cmd)
+ } else if ($4 ~ /^[a-z0-9]{40}$/) {
+ oldref = $4
+ } else {
+ # The SHA is misformatted! Skip this line.
+ next
+ }
+
+ # Print every SHA after oldref, up to (and including) newref.
+ system("git rev-list --first-parent --reverse " oldref ".." newref)
+ }
+' | $awk -v reason=pre-push -f "$HOOKS_DIR"/commit-msg-files.awk
diff --git a/configure.ac b/configure.ac
index 55396bdd6ff..dffdef48c10 100644
--- a/configure.ac
+++ b/configure.ac
@@ -459,6 +459,7 @@ OPTION_DEFAULT_ON([sqlite3],[don't compile with sqlite3 support])
OPTION_DEFAULT_ON([lcms2],[don't compile with Little CMS support])
OPTION_DEFAULT_ON([libsystemd],[don't compile with libsystemd support])
OPTION_DEFAULT_ON([cairo],[don't compile with Cairo drawing])
+OPTION_DEFAULT_OFF([cairo-xcb], [use XCB surfaces for Cairo support])
OPTION_DEFAULT_ON([xml2],[don't compile with XML parsing support])
OPTION_DEFAULT_OFF([imagemagick],[compile with ImageMagick image support])
OPTION_DEFAULT_ON([native-image-api], [don't use native image APIs (GDI+ on Windows)])
@@ -1001,7 +1002,7 @@ AC_ARG_ENABLE([gcc-warnings],
# however, if there is also a .tarball-version file it is probably
# just a release imported into Git for patch management.
gl_gcc_warnings=no
- if test -e "$srcdir"/.git && test ! -f "$srcdir"/.tarball-version; then
+ if test -d "$srcdir"/.git && test ! -f "$srcdir"/.tarball-version; then
# Clang typically identifies itself as GCC 4.2 or something similar
# even if it is recent enough to accept the warnings we enable.
AS_IF([test "$emacs_cv_clang" = yes],
@@ -1080,7 +1081,7 @@ AS_IF([test $gl_gcc_warnings = no],
nw="$nw -Wcast-align=strict" # Emacs is tricky with pointers.
nw="$nw -Wduplicated-branches" # Too many false alarms
- nw="$nw -Wformat-overflow=2" # False alarms due to GCC bug 80776
+ nw="$nw -Wformat-overflow=2" # False alarms due to GCC bug 110333
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
nw="$nw -Woverlength-strings" # Not a problem these days
nw="$nw -Wvla" # Emacs uses <vla.h>.
@@ -1136,6 +1137,8 @@ AS_IF([test $gl_gcc_warnings = no],
gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
gl_WARN_ADD([-Wno-format-nonliteral])
gl_WARN_ADD([-Wno-bidi-chars])
+ AS_IF([test $gl_gcc_warnings = yes],
+ [gl_WARN_ADD([-Wno-analyzer-fd-leak])]) # GCC bug 109839
# clang is unduly picky about some things.
if test "$emacs_cv_clang" = yes; then
@@ -2034,31 +2037,23 @@ if test "${with_ns}" != no; then
ns_appresdir=${ns_appdir}/Contents/Resources
ns_appsrc=Cocoa/Emacs.base
ns_fontfile=macfont.o
- elif flags=$( (gnustep-config --objc-flags) 2>/dev/null); then
+ elif flags=`(gnustep-config --objc-flags) 2>/dev/null`; then
NS_IMPL_GNUSTEP=yes
NS_GNUSTEP_CONFIG=yes
GNU_OBJC_CFLAGS="$flags"
- LIBS_GNUSTEP=$(gnustep-config --gui-libs) || exit
+ LIBS_GNUSTEP=`gnustep-config --gui-libs || exit`
elif test -f $GNUSTEP_CONFIG_FILE; then
NS_IMPL_GNUSTEP=yes
dnl FIXME sourcing this several times in subshells seems inefficient.
- GNUSTEP_SYSTEM_HEADERS=$(
- . $GNUSTEP_CONFIG_FILE
- AS_ECHO(["$GNUSTEP_SYSTEM_HEADERS"])
- )
- GNUSTEP_SYSTEM_LIBRARIES=$(
- . $GNUSTEP_CONFIG_FILE
- AS_ECHO(["$GNUSTEP_SYSTEM_LIBRARIES"])
- )
+ GNUSTEP_SYSTEM_HEADERS=`. $GNUSTEP_CONFIG_FILE \
+ && AS_ECHO(["$GNUSTEP_SYSTEM_HEADERS"])`
+ GNUSTEP_SYSTEM_LIBRARIES=` . $GNUSTEP_CONFIG_FILE \
+ && AS_ECHO(["$GNUSTEP_SYSTEM_LIBRARIES"])`
dnl I seemed to need these as well with GNUstep-startup 0.25.
- GNUSTEP_LOCAL_HEADERS=$(
- . $GNUSTEP_CONFIG_FILE
- AS_ECHO(["$GNUSTEP_LOCAL_HEADERS"])
- )
- GNUSTEP_LOCAL_LIBRARIES=$(
- . $GNUSTEP_CONFIG_FILE
- AS_ECHO(["$GNUSTEP_LOCAL_LIBRARIES"])
- )
+ GNUSTEP_LOCAL_HEADERS=`. $GNUSTEP_CONFIG_FILE \
+ && AS_ECHO(["$GNUSTEP_LOCAL_HEADERS"])`
+ GNUSTEP_LOCAL_LIBRARIES=`. $GNUSTEP_CONFIG_FILE \
+ && AS_ECHO(["$GNUSTEP_LOCAL_LIBRARIES"])`
test "x${GNUSTEP_LOCAL_HEADERS}" != "x" && \
GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}"
test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \
@@ -3577,14 +3572,14 @@ if test "${HAVE_X11}" = "yes"; then
CAIRO_MODULE="cairo >= $CAIRO_REQUIRED"
EMACS_CHECK_MODULES([CAIRO], [$CAIRO_MODULE])
if test $HAVE_CAIRO = yes; then
- CAIRO_XCB_MODULE="cairo-xcb >= $CAIRO_REQUIRED"
- EMACS_CHECK_MODULES([CAIRO_XCB], [$CAIRO_XCB_MODULE])
- if test $HAVE_CAIRO_XCB = yes; then
- CAIRO_CFLAGS="$CAIRO_CFLAGS $CAIRO_XCB_CFLAGS"
- CAIRO_LIBS="$CAIRO_LIBS $CAIRO_XCB_LIBS"
- AC_DEFINE([USE_CAIRO_XCB], [1],
- [Define to 1 if cairo XCB surfaces are available.])
- fi
+ AS_IF([test "x$with_cairo_xcb" = "xyes"], [
+ CAIRO_XCB_MODULE="cairo-xcb >= $CAIRO_REQUIRED"
+ EMACS_CHECK_MODULES([CAIRO_XCB], [$CAIRO_XCB_MODULE])
+ AS_IF([test "x$HAVE_CAIRO_XCB" = "xyes"], [
+ CAIRO_CFLAGS="$CAIRO_CFLAGS $CAIRO_XCB_CFLAGS"
+ CAIRO_LIBS="$CAIRO_LIBS $CAIRO_XCB_LIBS"
+ AC_DEFINE([USE_CAIRO_XCB], [1],
+ [Define to 1 if cairo XCB surfaces are available.])])])
AC_DEFINE([USE_CAIRO], [1], [Define to 1 if using cairo.])
CFLAGS="$CFLAGS $CAIRO_CFLAGS"
LIBS="$LIBS $CAIRO_LIBS"
@@ -3781,7 +3776,7 @@ if test "${HAVE_X11}" = "yes"; then
AC_DEFINE([HAVE_OTF_GET_VARIATION_GLYPHS], [1],
[Define to 1 if libotf has OTF_get_variation_glyphs.])
fi
- if ! $PKG_CONFIG --atleast-version=0.9.16 libotf; then
+ if $PKG_CONFIG --atleast-version=0.9.16 libotf; then :; else
AC_DEFINE([HAVE_OTF_KANNADA_BUG], [1],
[Define to 1 if libotf is affected by https://debbugs.gnu.org/28110.])
fi
@@ -3889,7 +3884,7 @@ if test "${HAVE_BE_APP}" = "yes"; then
AC_DEFINE([HAVE_OTF_GET_VARIATION_GLYPHS], [1],
[Define to 1 if libotf has OTF_get_variation_glyphs.])
fi
- if ! $PKG_CONFIG --atleast-version=0.9.16 libotf; then
+ if $PKG_CONFIG --atleast-version=0.9.16 libotf; then :; else
AC_DEFINE([HAVE_OTF_KANNADA_BUG], [1],
[Define to 1 if libotf is affected by https://debbugs.gnu.org/28110.])
fi
@@ -4207,7 +4202,7 @@ module_env_snippet_27="$srcdir/src/module-env-27.h"
module_env_snippet_28="$srcdir/src/module-env-28.h"
module_env_snippet_29="$srcdir/src/module-env-29.h"
module_env_snippet_30="$srcdir/src/module-env-30.h"
-emacs_major_version="${PACKAGE_VERSION%%.*}"
+emacs_major_version=`AS_ECHO([$PACKAGE_VERSION]) | sed 's/[[.]].*//'`
AC_SUBST([emacs_major_version])
### Emacs Lisp native compiler support
@@ -4317,14 +4312,16 @@ if test "${with_native_compilation}" != "no"; then
# available. (We filter out the gcc4 packages, because they
# don't support jit, and they have names like "gcc49" that
# sort later than "gcc11".)
- PORT_PACKAGE=$(port installed active | grep '^ *gcc@<:@0-9@:>@* ' | \
+ PORT_PACKAGE=`port installed active | grep '^ *gcc@<:@0-9@:>@* ' | \
awk '{ print $1; }' | grep -v 'gcc4@<:@0-9@:>@' | \
- sort -V | tail -n 1)
+ sort -V | tail -n 1`
if test -n "$PORT_PACKAGE"; then
- MAC_CFLAGS="-I$(dirname $(port contents $PORT_PACKAGE | \
- grep libgccjit.h))"
- MAC_LIBS="-L$(dirname $(port contents $PORT_PACKAGE | \
- grep libgccjit.dylib))"
+ emacs_val=`port contents $PORT_PACKAGE | grep libgccjit.h`
+ emacs_val=`dirname $emacs_val`
+ MAC_CFLAGS="-I$emacs_val"
+ emacs_val=`port contents $PORT_PACKAGE | grep libgccjit.dylib`
+ emacs_val=`dirname $emacs_val`
+ MAC_LIBS="-L$emacs_val"
fi
fi
@@ -5415,29 +5412,21 @@ if test "${emacs_cv_links_glib}" = "yes"; then
fi
AC_SUBST([XGSELOBJ])
-dnl Adapted from Haible's version.
-AC_CACHE_CHECK([for nl_langinfo and CODESET], [emacs_cv_langinfo_codeset],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
- [[char *cs = nl_langinfo(CODESET);]])],
- [emacs_cv_langinfo_codeset=yes],
- [emacs_cv_langinfo_codeset=no])
- ])
-if test "$emacs_cv_langinfo_codeset" = yes; then
- AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
- [Define if you have <langinfo.h> and nl_langinfo (CODESET).])
-
- AC_CACHE_CHECK([for nl_langinfo and _NL_PAPER_WIDTH],
- [emacs_cv_langinfo__nl_paper_width],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
- [[char *cs = nl_langinfo (_NL_PAPER_WIDTH);]])],
- [emacs_cv_langinfo__nl_paper_width=yes],
- [emacs_cv_langinfo__nl_paper_width=no])
- ])
- if test "$emacs_cv_langinfo__nl_paper_width" = yes; then
- AC_DEFINE([HAVE_LANGINFO__NL_PAPER_WIDTH], [1],
- [Define if you have <langinfo.h> and nl_langinfo (_NL_PAPER_WIDTH).])
- fi
-fi
+AC_DEFUN([EMACS_PAPER_WIDTH],
+ [AC_REQUIRE([AM_LANGINFO_CODESET])
+ AS_IF([test "$am_cv_langinfo_codeset" = yes],
+ [AC_CACHE_CHECK([for nl_langinfo and _NL_PAPER_WIDTH],
+ [emacs_cv_langinfo__nl_paper_width],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
+ [[char *cs = nl_langinfo (_NL_PAPER_WIDTH);]])],
+ [emacs_cv_langinfo__nl_paper_width=yes],
+ [emacs_cv_langinfo__nl_paper_width=no])
+ ])
+ AS_IF([test "$emacs_cv_langinfo__nl_paper_width" = yes],
+ [AC_DEFINE([HAVE_LANGINFO__NL_PAPER_WIDTH], [1],
+ [Define if you have <langinfo.h>
+ and nl_langinfo (_NL_PAPER_WIDTH).])])])])
+EMACS_PAPER_WIDTH
AC_TYPE_MBSTATE_T
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index ee818a74b57..d8221f51425 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1245,6 +1245,7 @@ Manual}.
These four keywords are not really variables; setting them in any
other context has no special meaning.
+@cindex fallback modes
If you're editing a file across Emacs versions, and a new mode has
been introduced to handle a file in a newer Emacs version, you can use
several @code{mode} entries to use the new mode (called
@@ -1327,6 +1328,15 @@ pairs in the file, by typing @kbd{i} at the confirmation prompt --
these pairs will thereafter be ignored in this file and in all other
files.
+ When Emacs asks for confirmation for setting directory-local
+variables (@pxref{Directory Variables}), typing @kbd{+} at the
+confirmation prompt will set all the variables, and also add the
+directory to the list in @code{safe-local-variable-directories}
+(described below), which will cause Emacs to consider this directory
+as safe for loading any directory-local variables in the future. The
+@kbd{+} response should only be used for directories whose contents
+you trust.
+
@vindex safe-local-variable-values
@vindex ignored-local-variable-values
@cindex risky variable
@@ -1343,6 +1353,16 @@ record safe values for risky variables, do it directly by customizing
Similarly, if you want to record values of risky variables that should
be permanently ignored, customize @code{ignored-local-variable-values}.
+@vindex safe-local-variable-directories
+ Sometimes it is helpful to always trust directory-variables in
+certain directories, and skip the confirmation prompt when local
+variables are loaded from those directories, even if the variables are
+risky. The variable @code{safe-local-variable-directories} holds the
+list of such directories. The names of the directories in this list
+must be full absolute file names. If the variable
+@code{enable-remote-dir-locals} has a non-@code{nil} value, the list
+can include remote directories as well (@pxref{Remote Files}).
+
@vindex enable-local-variables
The variable @code{enable-local-variables} allows you to change the
way Emacs processes local variables. Its default value is @code{t},
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 6b2eb014c82..fa8ca4cbf17 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -127,7 +127,10 @@ command leaves point in the window. This variable affects all the
scroll commands documented in this section, as well as scrolling with
the mouse wheel (@pxref{Mouse Commands}); in general, it affects any
command that has a non-@code{nil} @code{scroll-command} property.
-@xref{Property Lists,,, elisp, The Emacs Lisp Reference Manual}.
+@xref{Property Lists,,, elisp, The Emacs Lisp Reference Manual}. The
+same property also causes Emacs not to exit incremental search when
+one of these commands is invoked and @code{isearch-allow-scroll} is
+non-@code{nil} (@pxref{Not Exiting Isearch}).
@vindex fast-but-imprecise-scrolling
Sometimes, particularly when you hold down keys such as @kbd{C-v}
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 7071ea44edd..0efd99261ac 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -349,7 +349,7 @@ 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.
+* Configuration Registers:: Saving window/frame 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.
diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi
index 95ad726828d..17b663d22e1 100644
--- a/doc/emacs/indent.texi
+++ b/doc/emacs/indent.texi
@@ -127,10 +127,10 @@ that column number.
@kindex C-x TAB
@findex indent-rigidly
@cindex remove indentation
-This command is used to change the indentation of all lines that begin
-in the region, moving the affected lines as a rigid unit.
+Indent all lines that begin in the region, moving the affected lines
+as a rigid unit (@code{indent-rigidly}).
-If called with no argument, the command activates a transient mode for
+If called with no argument, this command activates a transient mode for
adjusting the indentation of the affected lines interactively. While
this transient mode is active, typing @kbd{@key{LEFT}} or
@kbd{@key{RIGHT}} indents leftward and rightward, respectively, by one
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 9f2c4721cab..18811291a9e 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -177,10 +177,10 @@ These variables only apply to macOS 10.7 (Lion) and above.
@vindex ns-use-mwheel-acceleration
@item ns-use-mwheel-acceleration
This variable controls whether Emacs ignores the system mousewheel
-acceleration. When nil each `click' of the mousewheel will correspond
-exactly with one mousewheel event. When non-@code{nil}, the default, each
-`click' may correspond with more than one mousewheel event, depending
-on the user's input.
+acceleration. When @code{nil} each `click' of the mousewheel will
+correspond exactly with one mousewheel event. When non-@code{nil},
+the default, each `click' may correspond with more than one mousewheel
+event, depending on the user's input.
@vindex ns-use-mwheel-momentum
@item ns-use-mwheel-momentum
@@ -194,8 +194,8 @@ while after the user has lifted their fingers off the trackpad.
This variable controls the sensitivity of scrolling with the trackpad.
Apple trackpads scroll by pixels, not lines, so Emacs converts the
system's pixel values into lines. When set to a number, this variable
-sets the number of pixels Emacs will consider as one line. When nil
-or a non-number the default line height is used.
+sets the number of pixels Emacs will consider as one line. When
+@code{nil} or a non-number the default line height is used.
Setting a lower number makes the trackpad more sensitive, and a higher
number makes the trackpad less sensitive.
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 7d49e28d11f..2dad70d3d13 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -716,7 +716,7 @@ started editing (@pxref{Old Revisions}), type @kbd{C-c C-d}
(@code{log-edit-generate-changelog-from-diff}), to generate skeleton
ChangeLog entries, listing all changed file and function names based
on the diff of the VC fileset. Consecutive entries left empty will be
-combined by @kbd{C-q} (@code{fill-paragraph}). By default the
+combined by @kbd{M-q} (@code{fill-paragraph}). By default the
skeleton will just include the file name, without any leading
directories. If you wish to prepend the leading directories up to the
VC root, customize @code{diff-add-log-use-relative-names}.
@@ -999,6 +999,10 @@ Display the change history for the current fileset
Display the change history for the current repository
(@code{vc-print-root-log}).
+@item C-x v b l
+Display the change history for another branch
+(@code{vc-print-branch-log}).
+
@item C-x v I
Display the changes that a ``pull'' operation will retrieve
(@code{vc-log-incoming}).
@@ -1063,6 +1067,14 @@ showing only the first line of each log entry. However, you can type
@file{*vc-change-log*} buffer to reveal the entire log entry for the
revision at point. A second @key{RET} hides it again.
+@kindex C-x v b l
+@findex vc-print-branch-log
+ @kbd{C-x v b l @var{branch-name} @key{RET}} (@code{vc-print-branch-log})
+displays a @file{*vc-change-log*} buffer showing the history of the
+version-controlled directory tree, like @code{vc-print-root-log} does,
+but it shows the history of a branch other than the current one; it
+prompts for the branch whose history to display.
+
@kindex C-x v I
@kindex C-x v O
@findex vc-log-incoming
@@ -1523,6 +1535,8 @@ switch to another branch using the @kbd{svn switch} command. With
Mercurial, command @kbd{hg update} is used to switch to another
branch.
+@kindex C-x v b s
+@findex vc-switch-branch
The VC command to switch to another branch in the current directory
is @kbd{C-x v b s @var{branch-name} @key{RET}} (@code{vc-switch-branch}).
@@ -1673,9 +1687,12 @@ branch ID for a branch starting at the current revision. For example,
if the current revision is 2.5, the branch ID should be 2.5.1, 2.5.2,
and so on, depending on the number of existing branches at that point.
+@kindex C-x v b c
+@findex vc-create-branch
This procedure will not work for distributed version control systems
like git or Mercurial. For those systems you should use the command
-@code{vc-create-branch} (@kbd{C-x v b c}) instead.
+@code{vc-create-branch} (@w{@kbd{C-x v b c @var{branch-name} @key{RET}}})
+instead.
To create a new branch at an older revision (one that is no longer
the head of a branch), first select that revision (@pxref{Switching
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index 898d9e904f6..d380ba7ef4b 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -313,19 +313,27 @@ may be defined in your Emacs session. For example, if a command
called @code{authorize-me} was defined, Emacs could only complete
as far as @samp{aut}.)
- If you type @key{TAB} again immediately, it cannot determine the
-next character; it could be @samp{-}, @samp{a}, or @samp{c}. So it
-does not add any characters; instead, @key{TAB} displays a list of all
-possible completions in another window.
+ If you type @kbd{@key{TAB}} again immediately, it cannot determine
+the next character; it could be @samp{-}, @samp{a}, or @samp{c}. So
+it does not add any characters; instead, @key{TAB} displays a list of
+all possible completions in another window.
Next, type @kbd{-f}. The minibuffer now contains @samp{auto-f}, and
the only command name that starts with this is @code{auto-fill-mode}.
-If you now type @key{TAB}, completion fills in the rest of the
+If you now type @kbd{@key{TAB}}, completion fills in the rest of the
argument @samp{auto-fill-mode} into the minibuffer.
Hence, typing just @kbd{a u @key{TAB} - f @key{TAB}} allows you to
enter @samp{auto-fill-mode}.
+ @key{TAB} also works while point is not at the end of the
+minibuffer. In that case, it will fill in text both at point and at
+the end of the minibuffer. If you type @kbd{M-x autocm}, then press
+@kbd{C-b} to move point before the @samp{m}, you can type
+@kbd{@key{TAB}} to insert the text @samp{onf-} at point and @samp{ode}
+at the end of the minibuffer, so that the minibuffer contains
+@samp{autoconf-mode}.
+
@node Completion Commands
@subsection Completion Commands
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 3b98a93c5aa..3a4ff5baccf 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -515,9 +515,9 @@ one of them selects that alternative. The keys @kbd{C-f}, @kbd{C-b},
do the highlighting in the buffer showing the possible characters,
rather than in the echo area.
- To enter characters according to the @dfn{pīnyīn} transliteration
+ To enter characters according to the @dfn{p@=iny@=in} transliteration
method instead, use the @code{chinese-sisheng} input method. This is
-a composition based method, where e.g. @kbd{pi1} results in @samp{pī}.
+a composition based method, where e.g. @kbd{pi1} results in @samp{p@=i}.
In Japanese input methods, first you input a whole word using
phonetic spelling; then, after the word is in the buffer, Emacs
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index 2b03399b0a7..b294e3d58bd 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -160,7 +160,13 @@ current line by an @kbd{i} or @kbd{d} command
Mark all package with a newer available version for upgrading
(@code{package-menu-mark-upgrades}). This places an installation mark
on the new available versions, and a deletion mark on the old
-installed versions (marked with status @samp{obsolete}).
+installed versions (marked with status @samp{obsolete}). By default,
+this won't mark built-in packages for which a newer version is
+available, but customizing @code{package-install-upgrade-built-in} can
+change that. @xref{Package Installation}. If you customize
+@code{package-install-upgrade-built-in} to a non-@code{nil} value, be
+sure to review all the built-in packages the @kbd{U} command marks, to
+avoid updating built-in packages you don't want to overwrite.
@item x
@kindex x @r{(Package Menu)}
@@ -201,7 +207,8 @@ from lower-priority archives (@code{package-menu-toggle-hiding}).
@findex package-menu-filter-by-archive
Filter package list by archive (@code{package-menu-filter-by-archive}).
This prompts for a package archive (e.g., @samp{gnu}), then shows only
-packages from that archive.
+packages from that archive. You can specify several archives by
+typing their names separated by commas.
@item / d
@kindex / d @r{(Package Menu)}
@@ -216,7 +223,8 @@ matching that regexp.
@findex package-menu-filter-by-keyword
Filter package list by keyword (@code{package-menu-filter-by-keyword}).
This prompts for a keyword (e.g., @samp{games}), then shows only
-packages with that keyword.
+packages with that keyword. You can specify several keywords by
+typing them separated by commas.
@item / N
@kindex / N @r{(Package Menu)}
@@ -237,16 +245,19 @@ with names matching that regexp.
@kindex / s @r{(Package Menu)}
@findex package-menu-filter-by-status
Filter package list by status (@code{package-menu-filter-by-status}).
-This prompts for one or more statuses (e.g., @samp{available}), then
-shows only packages with matching status.
+This prompts for one or more statuses (e.g., @samp{available},
+@pxref{Package Statuses}), then shows only packages with matching
+status. You can specify several status values by typing them
+separated by commas.
@item / v
@kindex / v @r{(Package Menu)}
@findex package-menu-filter-by-version
Filter package list by version (@code{package-menu-filter-by-version}).
-This prompts first for one of the qualifiers @samp{<}, @samp{>} or
-@samp{=}, and then a package version, and shows packages that has a
-lower, equal or higher version than the one specified.
+This prompts first for one of the comparison symbols @samp{<},
+@samp{>} or @samp{=} and for a version string, and then shows packages
+whose versions are correspondingly lower, equal or higher than the
+version you typed.
@item / m
@kindex / m @r{(Package Menu)}
@@ -258,7 +269,11 @@ This shows only the packages that have been marked to be installed or deleted.
@kindex / u @r{(Package Menu)}
@findex package-menu-filter-upgradable
Filter package list to show only packages for which there are
-available upgrades (@code{package-menu-filter-upgradable}).
+available upgrades (@code{package-menu-filter-upgradable}). By
+default, this filter excludes the built-in packages for which a newer
+version is available, but customizing
+@code{package-install-upgrade-built-in} can change that.
+@xref{Package Installation}.
@item / /
@kindex / / @r{(Package Menu)}
@@ -286,9 +301,12 @@ the package archive.
The package is available for installation, but a newer version is also
available. Packages with this status are hidden by default.
+@cindex built-in package
@item built-in
The package is included in Emacs by default. It cannot be deleted
-through the package menu, and is not considered for upgrading.
+through the package menu, and by default is not considered for
+upgrading (but you can change that by customizing
+@code{package-install-upgrade-built-in}, @pxref{Package Installation}).
@item dependency
The package was installed automatically to satisfy a dependency of
@@ -329,15 +347,46 @@ version of the package, a newer version is also installed.
@section Package Installation
@findex package-install
-@findex package-update
-@findex package-update-all
+@findex package-upgrade
+@findex package-upgrade-all
Packages are most conveniently installed using the package menu
(@pxref{Package Menu}), but you can also use the command @kbd{M-x
package-install}. This prompts for the name of a package with the
@samp{available} status, then downloads and installs it. Similarly,
-if you want to update a package, you can use the @kbd{M-x
-package-update} command, and if you just want to update all the
-packages, you can use the @kbd{M-x package-update-all} command.
+if you want to upgrade a package, you can use the @kbd{M-x
+package-upgrade} command, and if you want to upgrade all the packages,
+you can use the @kbd{M-x package-upgrade-all} command.
+
+@vindex package-install-upgrade-built-in
+ By default, @code{package-install} doesn't consider built-in
+packages for which new versions are available from the archives. (A
+package is built-in if it is included in the Emacs distribution.) In
+particular, it will not show built-in packages in the list of
+completion candidates when you type at its prompt. But if you invoke
+@code{package-install} with a prefix argument, it will also consider
+built-in packages that can be upgraded. You can make this behavior
+the default by customizing the variable
+@code{package-install-upgrade-built-in}: if its value is
+non-@code{nil}, @code{package-install} will consider built-in packages
+even when invoked without a prefix argument. Note that the
+package-menu commands (@pxref{Package Menu}) are also affected by
+@code{package-install-upgrade-built-in}.
+
+ By contrast, @code{package-upgrade} and @code{package-upgrade-all}
+never consider built-in packages. If you want to use these commands
+for upgrading some built-in packages, you need to upgrade each of
+those packages, once, either via @kbd{C-u M-x package-install
+@key{RET}}, or by customizing @code{package-install-upgrade-built-in}
+to a non-@code{nil} value, and then upgrading the package once via the
+package menu or by @code{package-install}.
+
+ If you customize @code{package-install-upgrade-built-in} to a
+non-@code{nil} value, be very careful when using commands that update
+many packages at once, like @code{package-upgrade-all} and @kbd{U} in
+the package menu: those might overwrite built-in packages that you
+didn't intent to replace with newer versions from the archives. Don't
+use these bulk commands if you want to update only a small number of
+built-in packages.
@cindex package requirements
A package may @dfn{require} certain other packages to be installed,
@@ -551,8 +600,8 @@ bugs.
source code for a package directly from source. The command will also
automatically ensure that all files are byte-compiled and auto-loaded,
just like with a regular package. Packages installed this way behave
-just like any other package. You can update them using
-@code{package-update} or @code{package-update-all} and delete them
+just like any other package. You can upgrade them using
+@code{package-upgrade} or @code{package-upgrade-all} and delete them
again using @code{package-delete}. They are even displayed in the
regular package listing. If you just wish to clone the source of a
package, without adding it to the package list, use
@@ -576,7 +625,7 @@ checkout instead of cloning a remote repository. You can do this by
using @code{package-vc-install-from-checkout}, which creates a symbolic link
from the package directory (@pxref{Package Files}) to your checkout
and initializes the code. Note that you might have to use
-@code{package-vc-refresh} to repeat the initialization and update the
+@code{package-vc-rebuild} to repeat the initialization and update the
autoloads.
@subsection Specifying Package Sources
@@ -638,6 +687,17 @@ A string providing the repository-relative name of the documentation
file from which to build an Info file. This can be a Texinfo file or
an Org file.
+@item :make
+A string or list of strings providing the target or targets defined in
+the repository Makefile which should run before building the Info
+file. Only takes effect when @code{package-vc-allow-side-effects} is
+non-nil.
+
+@item :shell-command
+A string providing the shell command to run before building the Info
+file. Only takes effect when @code{package-vc-allow-side-effects} is
+non-@code{nil}.
+
@item :vc-backend
A symbol naming the VC backend to use for downloading a copy of the
package's repository (@pxref{Version Control Systems,,,emacs, The GNU
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 62df88a731e..953de2e4786 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -1174,14 +1174,17 @@ were negated.
@findex comment-kill
@kindex C-u M-;
- @kbd{C-u M-;} (@code{comment-dwim} with a prefix argument) kills any
-comment on the current line, along with the whitespace before it.
-Since the comment is saved to the kill ring, you can reinsert it on
-another line by moving to the end of that line, doing @kbd{C-y}, and
-then @kbd{M-;} to realign the comment. You can achieve the same
-effect as @kbd{C-u M-;} by typing @kbd{M-x comment-kill}
-(@code{comment-dwim} actually calls @code{comment-kill} as a
-subroutine when it is given a prefix argument).
+ @kbd{C-u M-;} (@code{comment-dwim} with a prefix argument) when the
+region is not active kills any comment on the current line, along with
+the whitespace before it. Since the comment is saved to the kill
+ring, you can reinsert it on another line by moving to the end of that
+line, doing @kbd{C-y}, and then @kbd{M-;} to realign the comment. You
+can achieve the same effect as @kbd{C-u M-;} by typing @kbd{M-x
+comment-kill} (@code{comment-dwim} actually calls @code{comment-kill}
+as a subroutine when it is given a prefix argument). Invoking
+@code{comment-dwim} with a prefix numeric argument, as in @w{@kbd{C-u
+@var{n} M-;}}, when there's no active region, tells
+@code{comment-kill} to kill comments on @var{n} lines.
@kindex C-c C-c @r{(C mode)}
@findex comment-region
diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi
index ec2367d71e3..e52f68dd18e 100644
--- a/doc/emacs/regs.texi
+++ b/doc/emacs/regs.texi
@@ -22,10 +22,11 @@ because these keys are reserved for quitting (@pxref{Quitting}).
@findex view-register
A register can store a position, a piece of text, a rectangle, a
-number, a window configuration, or a file name, but only one thing at
-any given time. Whatever you store in a register remains there until
-you store something else in that register. To see what register
-@var{r} contains, use @kbd{M-x view-register}:
+number, a window or frame configuration, a buffer name, or a file
+name, but only one thing at any given time. Whatever you store in a
+register remains there until you store something else in that
+register. To see what register @var{r} contains, use @kbd{M-x
+view-register}:
@table @kbd
@item M-x view-register @key{RET} @var{r}
@@ -50,7 +51,7 @@ this chapter.
* 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.
+* Configuration Registers:: Saving window/frame 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.
@@ -182,8 +183,10 @@ previously documented in @ref{Text Registers}, inserts a rectangle
rather than a text string, if the register contains a rectangle.
@node Configuration Registers
-@section Saving Window Configurations in Registers
+@section Saving Window and Frame Configurations in Registers
@cindex saving window configuration in a register
+@cindex saving frame configuration in a register
+@cindex frameset, saving in a register
@findex window-configuration-to-register
@findex frameset-to-register
@@ -191,16 +194,17 @@ rather than a text string, if the register contains a rectangle.
@kindex C-x r f
You can save the window configuration of the selected frame in a
register, or even the configuration of all windows in all frames, and
-restore the configuration later. @xref{Windows}, for information
-about window configurations.
+restore the configuration later. @xref{Window Convenience}, for
+information about window configurations.
@table @kbd
@item C-x r w @var{r}
Save the state of the selected frame's windows in register @var{r}
(@code{window-configuration-to-register}).
+@cindex frameset
@item C-x r f @var{r}
-Save the state of all frames, including all their windows, in register
-@var{r} (@code{frameset-to-register}).
+Save the state of all frames, including all their windows (a.k.a.@:
+@dfn{frameset}), in register @var{r} (@code{frameset-to-register}).
@end table
Use @kbd{C-x r j @var{r}} to restore a window or frame configuration.
@@ -266,7 +270,7 @@ 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
+ Similarly, if there are 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:
@@ -275,6 +279,9 @@ put that buffer into the @samp{m} register:
(set-register ?m '(buffer . "*Messages*"))
@end smallexample
+ To switch to the buffer whose name is in register @var{r}, type
+@kbd{C-x r j @var{r}}.
+
@node Keyboard Macro Registers
@section Keyboard Macro Registers
@cindex saving keyboard macro in a register
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index a5048093869..e8e79888ed8 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -587,26 +587,30 @@ i.e., they don't terminate the search, even if
@item Scrolling Commands
@cindex scrolling commands, during incremental search
@vindex isearch-allow-scroll
- Normally, scrolling commands exit incremental search. If you change
-the variable @code{isearch-allow-scroll} to a non-@code{nil} value,
-that enables the use of the scroll-bar, as well as keyboard scrolling
-commands like @kbd{C-v}, @kbd{M-v}, and @kbd{C-l} (@pxref{Scrolling}).
-This applies only to calling these commands via their bound key
-sequences---typing @kbd{M-x} will still exit the search. You can give
-prefix arguments to these commands in the usual way. This feature
-normally won't let you scroll the current match out of visibility; but
-if you customize @code{isearch-allow-scroll} to the special value
-@code{unlimited}, that restriction is lifted.
-
+@cindex @code{scroll-command} property, and incremental search
+ Normally, scrolling commands exit incremental search. But if you
+change the variable @code{isearch-allow-scroll} to a non-@code{nil}
+value, that enables the use of the scroll-bar, as well as keyboard
+scrolling commands like @kbd{C-v}, @kbd{M-v}, and @kbd{C-l}
+(@pxref{Scrolling}), which have a non-@code{nil} @code{scroll-command}
+property, without exiting the search. This applies only to calling
+these commands via their bound key sequences---typing @kbd{M-x} will
+still exit the search. You can give prefix arguments to these
+commands in the usual way. This feature normally won't let you scroll
+the current match out of visibility; but if you customize
+@code{isearch-allow-scroll} to the special value @code{unlimited},
+that restriction is lifted.
+
+@cindex @code{isearch-scroll} property
+@cindex prevent commands from exiting incremental search
The @code{isearch-allow-scroll} feature also affects some other
commands, such as @kbd{C-x 2} (@code{split-window-below}) and
@kbd{C-x ^} (@code{enlarge-window}), which don't exactly scroll but do
-affect where the text appears on the screen. It applies to any
-command whose name has a non-@code{nil} @code{isearch-scroll}
-property. So you can control which commands are affected by changing
-these properties.
+affect where the text appears on the screen. In fact, it affects
+any command that has a non-@code{nil} @code{isearch-scroll} property.
+So you can control which commands are affected by changing these
+properties.
-@cindex prevent commands from exiting incremental search
For example, to make @kbd{C-h l} usable within an incremental search
in all future Emacs sessions, use @kbd{C-h c} to find what command it
runs (@pxref{Key Help}), which is @code{view-lossage}. Then you can
@@ -643,6 +647,7 @@ you can extend the search string by holding down the shift key while
typing cursor motion commands. It will yank text that ends at the new
position after moving point in the current buffer.
+@cindex @code{isearch-move} property
When @code{isearch-yank-on-move} is @code{t}, you can extend the
search string without using the shift key for cursor motion commands,
but it applies only for certain motion command that have the
@@ -945,8 +950,8 @@ features used mainly in Lisp programs.
@dfn{special constructs} and the rest are @dfn{ordinary}. An ordinary
character matches that same character and nothing else. The special
characters are @samp{$^.*+?[\}. The character @samp{]} is special if
-it ends a character alternative (see below). The character @samp{-}
-is special inside a character alternative. Any other character
+it ends a bracket expression (see below). The character @samp{-}
+is special inside a bracket expression. Any other character
appearing in a regular expression is ordinary, unless a @samp{\}
precedes it. (When you use regular expressions in a Lisp program,
each @samp{\} must be doubled, see the example near the end of this
@@ -1028,11 +1033,12 @@ you search for @samp{a.*?$} against the text @samp{abbab} followed by
a newline, it matches the whole string. Since it @emph{can} match
starting at the first @samp{a}, it does.
+@cindex bracket expression
@cindex set of alternative characters, in regular expressions
@cindex character set, in regular expressions
@item @kbd{[ @dots{} ]}
-is a @dfn{set of alternative characters}, or a @dfn{character set},
-beginning with @samp{[} and terminated by @samp{]}.
+is a @dfn{bracket expression} (a.k.a.@: @dfn{set of alternative
+characters}), which matches one of a set of characters.
In the simplest case, the characters between the two brackets are what
this set can match. Thus, @samp{[ad]} matches either one @samp{a} or
@@ -1052,7 +1058,7 @@ Greek letters.
@cindex character classes, in regular expressions
You can also include certain special @dfn{character classes} in a
character set. A @samp{[:} and balancing @samp{:]} enclose a
-character class inside a set of alternative characters. For instance,
+character class inside a bracket expression. For instance,
@samp{[[:alnum:]]} matches any letter or digit. @xref{Char Classes,,,
elisp, The Emacs Lisp Reference Manual}, for a list of character
classes.
@@ -1120,7 +1126,7 @@ no preceding expression on which the @samp{*} can act. It is poor practice
to depend on this behavior; it is better to quote the special character anyway,
regardless of where it appears.
-As a @samp{\} is not special inside a set of alternative characters, it can
+As a @samp{\} is not special inside a bracket expression, it can
never remove the special meaning of @samp{-}, @samp{^} or @samp{]}.
You should not quote these characters when they have no special
meaning. This would not clarify anything, since backslashes
@@ -1653,9 +1659,9 @@ command's first argument. If @code{case-fold-search} is set to
@code{nil}, case is always significant in all searches.
@vindex case-replace
- In addition, when the @var{newstring} argument is all or partly lower
-case, replacement commands try to preserve the case pattern of each
-occurrence. Thus, the command
+ In addition, when the second argument of a replace command is all or
+partly lower case, replacement commands try to preserve the case
+pattern of each occurrence. Thus, the command
@example
M-x replace-string @key{RET} foo @key{RET} bar @key{RET}
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index db78895bb5b..bccdea72b19 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -314,13 +314,35 @@ sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} |
@end example
@noindent
+On MS-Windows, the backtrace looks somewhat differently, for example:
+
+@example
+Backtrace:
+00007ff61166a12e
+00007ff611538be1
+00007ff611559601
+00007ff6116ce84a
+00007ff9b7977ff0
+@dots{}
+@end example
+
+@noindent
+Therefore, the filtering via @command{sed} is not required, and the
+command to show the source-code line number is
+
+@example
+ addr2line -C -f -i -p -e @var{bindir}/@var{emacs-binary} < @var{backtrace}
+@end example
+
+@noindent
Here, @var{backtrace} is the name of a text file containing a copy of
-the backtrace, @var{bindir} is the name of the directory that
-contains the Emacs executable, and @var{emacs-binary} is the name of
-the Emacs executable file, normally @file{emacs} on GNU and Unix
-systems and @file{emacs.exe} on MS-Windows and MS-DOS@. Omit the
-@option{-p} option if your version of @command{addr2line} is too old
-to have it.
+the backtrace (on MS-Windows, @file{emacs_backtrace.txt} in the
+directory where Emacs was started), @var{bindir} is the name of the
+directory that contains the Emacs executable, and @var{emacs-binary}
+is the name of the Emacs executable file, normally @file{emacs} on GNU
+and Unix systems and @file{emacs.exe} on MS-Windows and MS-DOS@. Omit
+the @option{-p} option if your version of @command{addr2line} is too
+old to have it.
@cindex core dump
Optionally, Emacs can generate a @dfn{core dump} when it crashes, on
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index a2b82d25633..fce7583fe91 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -6604,10 +6604,11 @@ works. You will probably need to use @kbd{C-h f}
(@code{describe-function}). The newer version uses a conditional to
determine whether the buffer has been narrowed.
-(Also, it uses @code{line-number-at-pos}, which among other simple
-expressions, such as @code{(goto-char (point-min))}, moves point to
-the beginning of the current line with @code{(forward-line 0)} rather
-than @code{beginning-of-line}.)
+Also, the modern version of @code{what-line} uses
+@code{line-number-at-pos}, which among other simple expressions, such
+as @code{(goto-char (point-min))}, moves point to the beginning of the
+current line with @code{(forward-line 0)} rather than
+@code{beginning-of-line}.)
The @code{what-line} function as shown here has a documentation line
and is interactive, as you would expect. The next two lines use the
@@ -6760,16 +6761,13 @@ The name of the @code{cons} function is not unreasonable: it is an
abbreviation of the word ``construct''. The origins of the names for
@code{car} and @code{cdr}, on the other hand, are esoteric: @code{car}
is an acronym from the phrase ``Contents of the Address part of the
-Register''; and @code{cdr} (pronounced ``could-er'') is an acronym from
-the phrase ``Contents of the Decrement part of the Register''. These
-phrases refer to specific pieces of hardware on the very early
-computer on which the original Lisp was developed. Besides being
-obsolete, the phrases have been completely irrelevant for more than 25
-years to anyone thinking about Lisp. Nonetheless, although a few
-brave scholars have begun to use more reasonable names for these
-functions, the old terms are still in use. In particular, since the
-terms are used in the Emacs Lisp source code, we will use them in this
-introduction.
+Register''; and @code{cdr} (pronounced ``could-er'') is an acronym
+from the phrase ``Contents of the Decrement part of the Register''.
+These phrases refer to the IBM 704 computer on which the original Lisp
+was developed.
+
+The IBM 704 is a footnote in history, but these names are now beloved
+traditions of Lisp.
@node car & cdr
@section @code{car} and @code{cdr}
@@ -6790,9 +6788,6 @@ evaluating the following:
After evaluating the expression, @code{rose} will appear in the echo
area.
-Clearly, a more reasonable name for the @code{car} function would be
-@code{first} and this is often suggested.
-
@code{car} does not remove the first item from the list; it only reports
what it is. After @code{car} has been applied to a list, the list is
still the same as it was. In the jargon, @code{car} is
@@ -6824,6 +6819,22 @@ Incidentally, in the example, the list of flowers is quoted. If it were
not, the Lisp interpreter would try to evaluate the list by calling
@code{rose} as a function. In this example, we do not want to do that.
+For operating on lists, the names @code{first} and @code{rest} would
+make more sense than the names @code{car} and @code{cdr}. Indeed,
+some programmers define @code{first} and @code{rest} as aliases for
+@code{car} and @code{cdr}, then write @code{first} and @code{rest} in
+their code.
+
+However, lists in Lisp are built using a lower-level structure known
+as ``cons cells'' (@pxref{List Implementation}), in which there is no
+such thing as ``first'' or ``rest'', and the @sc{car} and the @sc{cdr}
+are symmetrical. Lisp does not try to hide the existence of cons
+cells, and programs do use them for things other than lists. For this
+reason, the names are helpful for reminding programmers that
+@code{car} and @code{cdr} are in fact symmetrical, despite the
+asymmetrical way they are used in lists.
+
+@ignore
Clearly, a more reasonable name for @code{cdr} would be @code{rest}.
(There is a lesson here: when you name new functions, consider very
@@ -6833,6 +6844,7 @@ these names is that the Emacs Lisp source code uses them, and if I did
not use them, you would have a hard time reading the code; but do,
please, try to avoid using these terms yourself. The people who come
after you will be grateful to you.)
+@end ignore
When @code{car} and @code{cdr} are applied to a list made up of symbols,
such as the list @code{(pine fir oak maple)}, the element of the list
@@ -8114,10 +8126,9 @@ than one error handler. When an error occurs, the first applicable
handler is run.
Lastly, the first argument to the @code{condition-case} expression,
-the @var{var} argument, is sometimes bound to a variable that
-contains information about the error. However, if that argument is
-nil, as is the case in @code{kill-region}, that information is
-discarded.
+the @var{var} argument, is sometimes bound to a variable that contains
+information about the error. However, if that argument is @code{nil},
+as is the case in @code{kill-region}, that information is discarded.
@need 1200
In brief, in the @code{kill-region} function, the code
@@ -9429,13 +9440,15 @@ pointed to. Hence, a list is kept as a series of electronic addresses.
@unnumberedsec Lists diagrammed
@end ifnottex
-For example, the list @code{(rose violet buttercup)} has three elements,
-@samp{rose}, @samp{violet}, and @samp{buttercup}. In the computer, the
-electronic address of @samp{rose} is recorded in a segment of computer
-memory along with the address that gives the electronic address of where
-the atom @samp{violet} is located; and that address (the one that tells
-where @samp{violet} is located) is kept along with an address that tells
-where the address for the atom @samp{buttercup} is located.
+For example, the list @code{(rose violet buttercup)} has three
+elements, @samp{rose}, @samp{violet}, and @samp{buttercup}. In the
+computer, the electronic address of @samp{rose} is recorded in a
+segment of computer memory called a @dfn{cons cell} (because it's what
+the function @code{cons} actually creates). That cons cell also holds
+the address of a second cons cell, whose @sc{car} is the atom
+@samp{violet}; and that address (the one that tells where to find
+@samp{violet}) is kept along with the address of a third cons cell
+which holds the address for the atom @samp{buttercup}.
@need 1200
This sounds more complicated than it is and is easier seen in a diagram:
@@ -9652,6 +9665,8 @@ to say, the symbol @code{flowers} holds the address of the pair of
address-boxes, the first of which holds the address of @code{violet},
and the second of which holds the address of @code{buttercup}.
+@cindex dotted pair
+@cindex cons cell
A pair of address-boxes is called a @dfn{cons cell} or @dfn{dotted
pair}. @xref{Cons Cell Type, , Cons Cell and List Types, elisp, The GNU Emacs Lisp
Reference Manual}, and @ref{Dotted Pair Notation, , Dotted Pair
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 30765a7e8f7..cd1745614eb 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -2395,6 +2395,17 @@ as @code{set-language-environment}), use the
;; Get the full localized name of the language
(w32-get-locale-info language-id t)
@end smallexample
+
+@cindex @code{end-session} event
+@item end-session
+This event is generated on MS-Windows when the operating system
+informs Emacs that the user terminated the interactive session, or
+that the system is shutting down. The standard definition of this
+event is to invoke the @code{kill-emacs} command (@pxref{Killing
+Emacs}) so as to shut down Emacs in an orderly fashion; if there are
+unsaved changes, this will produce auto-save files
+(@pxref{Auto-Saving}) that the user can use after restarting the
+session to restore the unsaved edits.
@end table
If one of these events arrives in the middle of a key sequence---that
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 6ae6755ad76..a51691bddcf 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -854,7 +854,10 @@ that the latter technique might still produce a small number of
@file{*.eln} files if Emacs needs to generate @dfn{trampolines}, which
are used if Lisp primitives are advised or redefined in your Lisp code
that is being natively compiled. @xref{Native-Compilation Variables,
-trampolines}.
+trampolines}. Alternatively, you can specify that the @file{*.eln}
+files are written to a non-default directory using the
+@code{startup-redirect-eln-cache} function; @pxref{Native-Compilation
+Functions}.
@menu
* Native-Compilation Functions:: Functions to natively-compile Lisp.
@@ -979,6 +982,22 @@ available and can be loaded. Lisp programs that need to know up front
whether native-compilation is available should use this predicate.
@end defun
+ By default, asynchronous native compilation writes the @file{*.eln}
+files it produces to a subdirectory of the first writable directory
+specified by the @code{native-comp-eln-load-path} variable
+(@pxref{Native-Compilation Variables}). You can change this by using
+the following function in your startup files:
+
+@defun startup-redirect-eln-cache cache-directory
+This function arranges for the asynchronous native compilation to
+write the produced @file{*.eln} files to @var{cache-directory}, which
+must be a single directory, a string. It also destructively modifies
+@code{native-comp-eln-load-path} such that its first element is
+@var{cache-directory}. If @var{cache-directory} is not an absolute
+file name, it is interpreted relative to @code{user-emacs-directory}
+(@pxref{Init File}).
+@end defun
+
@node Native-Compilation Variables
@section Native-Compilation Variables
@cindex native-compilation variables
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 930903d5085..3aee9dd80e4 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -694,7 +694,7 @@ contain the following constructs:
@item (let @var{ref} @var{rx-expr}@dots{})
Bind the symbol @var{ref} to a submatch that matches
@var{rx-expr}@enddots{}. @var{ref} is bound in @var{body-forms} to
-the string of the submatch or nil, but can also be used in
+the string of the submatch or @code{nil}, but can also be used in
@code{backref}.
@item (backref @var{ref})
@@ -1809,6 +1809,9 @@ wish the program to continue execution despite an error in a subroutine.
In these cases, you would use @code{condition-case} to establish
@dfn{error handlers} to recover control in case of error.
+ For reporting problems without terminating the execution of the
+current command, consider issuing a warning instead. @xref{Warnings}.
+
Resist the temptation to use error handling to transfer control from
one part of the program to another; use @code{catch} and @code{throw}
instead. @xref{Catch and Throw}.
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 6015c134d21..6d5d9e0a2bc 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -264,11 +264,12 @@ have any number of prefixes.
@end table
@cindex @code{custom-group} property
-The variables and subgroups of a group are stored in the
+The variables, faces, and subgroups of a group are stored in the
@code{custom-group} property of the group's symbol. @xref{Symbol
Plists}. The value of that property is a list of pairs whose
-@code{car} is the variable or subgroup symbol and the @code{cdr} is
-either @code{custom-variable} or @code{custom-group}.
+@code{car} is the symbol of the variable or the face or the subgroup,
+and the @code{cdr} is one of the corresponding symbols
+@code{custom-variable}, @code{custom-face}, or @code{custom-group}.
@end defmac
@defopt custom-unlispify-remove-prefixes
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index d2e4f687f64..ea11d2d8d9c 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -740,7 +740,7 @@ of @code{debug} (@pxref{Invoking the Debugger}).
@cindex call stack
This function prints a trace of Lisp function calls currently active.
The trace is identical to the one that @code{debug} would show in the
-@file{*Backtrace*} buffer. The return value is always nil.
+@file{*Backtrace*} buffer. The return value is always @code{nil}.
In the following example, a Lisp expression calls @code{backtrace}
explicitly. This prints the backtrace to the stream
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 8184021d998..e229935170f 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -752,7 +752,8 @@ echo area (which is really a special use of the minibuffer window;
@cindex warnings
@dfn{Warnings} are a facility for a program to inform the user of a
-possible problem, but continue running.
+possible problem, but continue running (as opposed to signaling an
+error, @pxref{Errors}).
@menu
* Warning Basics:: Warnings concepts and functions to report them.
@@ -765,69 +766,74 @@ possible problem, but continue running.
@subsection Warning Basics
@cindex severity level
- Every warning has a textual message, which explains the problem for
-the user, and a @dfn{severity level} which is a symbol. Here are the
-possible severity levels, in order of decreasing severity, and their
-meanings:
+ Every warning is a textual message, which explains the problem for
+the user, with the associated @dfn{severity level} which is a symbol.
+Here are the supported severity levels, in order of decreasing
+severity, and their meanings:
@table @code
@item :emergency
A problem that will seriously impair Emacs operation soon
-if you do not attend to it promptly.
+if the user does not attend to it promptly.
@item :error
-A report of data or circumstances that are inherently wrong.
+A report about data or circumstances that are inherently wrong.
@item :warning
-A report of data or circumstances that are not inherently wrong, but
-raise suspicion of a possible problem.
+A report about data or circumstances that are not inherently wrong,
+but raise suspicion of a possible problem.
@item :debug
-A report of information that may be useful if you are debugging.
+A report of information that may be useful if the user is currently
+debugging the Lisp program which issues the warning.
@end table
When your program encounters invalid input data, it can either
-signal a Lisp error by calling @code{error} or @code{signal} or report
-a warning with severity @code{:error}. Signaling a Lisp error is the
-easiest thing to do, but it means the program cannot continue
-processing. If you want to take the trouble to implement a way to
-continue processing despite the bad data, then reporting a warning of
-severity @code{:error} is the right way to inform the user of the
-problem. For instance, the Emacs Lisp byte compiler can report an
-error that way and continue compiling other functions. (If the
-program signals a Lisp error and then handles it with
-@code{condition-case}, the user won't see the error message; it could
-show the message to the user by reporting it as a warning.)
-
-@c FIXME: Why use "(bytecomp)" instead of "'bytecomp" or simply
-@c "bytecomp" here? The parens are part of warning-type-format but
-@c not part of the warning type. --xfq
+signal a Lisp error by calling @code{error} or @code{signal}
+(@pxref{Signaling Errors}) or report a warning with severity
+@code{:error}. Signaling a Lisp error is the easiest thing to do, but
+it means the signaling program cannot continue execution. If you want
+to take the trouble of implementing a way to continue processing
+despite the invalid data, then reporting a warning of severity
+@code{:error} is the right way of informing the user of the problem.
+For instance, the Emacs Lisp byte compiler can report an error that
+way and continue compiling other functions. (If the program signals a
+Lisp error and then handles it with @code{condition-case}, the user
+won't see the error message; reporting that as a warning instead
+avoids that problem.)
+
@cindex warning type
- Each warning has a @dfn{warning type} to classify it. The type is a
-list of symbols. The first symbol should be the custom group that you
-use for the program's user options. For example, byte compiler
-warnings use the warning type @code{(bytecomp)}. You can also
-subcategorize the warnings, if you wish, by using more symbols in the
-list.
+ In addition to severity level, each warning has a @dfn{warning type}
+to classify it. The warning type is either a symbol or a list of
+symbols. If it is a symbol, it should be the custom group that you
+use for the program's user options; if it is a list, the first element
+of the list should be that custom group. For example, byte compiler
+warnings use the warning type @code{(bytecomp)}. If the warning type
+is a list, the elements of the list after the first one, which should
+be arbitrary symbols, represent subcategories of the warning: they
+will be displayed to the user to better explain the nature of the
+warning.
@defun display-warning type message &optional level buffer-name
-This function reports a warning, using @var{message} as the message
-and @var{type} as the warning type. @var{level} should be the
-severity level, with @code{:warning} being the default.
+This function reports a warning, using the string @var{message} as the
+warning text and @var{type} as the warning type. @var{level} should
+be the severity level, and defaults to @code{:warning} if omitted or
+@code{nil}.
@var{buffer-name}, if non-@code{nil}, specifies the name of the buffer
-for logging the warning. By default, it is @file{*Warnings*}.
+for logging the warning message. By default, it is @file{*Warnings*}.
@end defun
@defun lwarn type level message &rest args
-This function reports a warning using the value of @code{(format-message
-@var{message} @var{args}...)} as the message in the @file{*Warnings*}
-buffer. In other respects it is equivalent to @code{display-warning}.
+This function reports a warning using the value returned by
+@w{@code{(format-message @var{message} @var{args}@dots{})}} as the
+message text in the @file{*Warnings*} buffer. In other respects it is
+equivalent to @code{display-warning}.
@end defun
@defun warn message &rest args
-This function reports a warning using the value of @code{(format-message
-@var{message} @var{args}...)} as the message, @code{(emacs)} as the
-type, and @code{:warning} as the severity level. It exists for
-compatibility only; we recommend not using it, because you should
-specify a specific warning type.
+This function reports a warning using the value returned by
+@w{@code{(format-message @var{message} @var{args}@dots{})}} as the
+message text, @code{emacs} as the warning type, and @code{:warning} as
+the severity level. It exists for compatibility only; we recommend
+not using it, because you should specify a specific warning type.
@end defun
@node Warning Variables
@@ -842,15 +848,16 @@ This list defines the meaning and severity order of the warning
severity levels. Each element defines one severity level,
and they are arranged in order of decreasing severity.
-Each element has the form @code{(@var{level} @var{string}
-@var{function})}, where @var{level} is the severity level it defines.
-@var{string} specifies the textual description of this level.
-@var{string} should use @samp{%s} to specify where to put the warning
-type information, or it can omit the @samp{%s} so as not to include
-that information.
+Each element has the form @w{@code{(@var{level} @var{string}
+[@var{function}])}}, where @var{level} is the severity level it
+defines. @var{string} specifies the textual description of this
+level. @var{string} should use @samp{%s} to specify where to put the
+warning type information, or it can omit the @samp{%s} so as not to
+include that information.
The optional @var{function}, if non-@code{nil}, is a function to call
-with no arguments, to get the user's attention.
+with no arguments, to get the user's attention. A notable example is
+@code{ding} (@pxref{Beeping}).
Normally you should not change the value of this variable.
@end defvar
@@ -859,18 +866,19 @@ Normally you should not change the value of this variable.
If non-@code{nil}, the value is a function to generate prefix text for
warnings. Programs can bind the variable to a suitable function.
@code{display-warning} calls this function with the warnings buffer
-current, and the function can insert text in it. That text becomes
-the beginning of the warning message.
+the current buffer, and the function can insert text into it. That
+text becomes the beginning of the warning message.
The function is called with two arguments, the severity level and its
-entry in @code{warning-levels}. It should return a list to use as the
-entry (this value need not be an actual member of
-@code{warning-levels}). By constructing this value, the function can
-change the severity of the warning, or specify different handling for
-a given severity level.
-
-If the variable's value is @code{nil} then there is no function
-to call.
+entry in @code{warning-levels}. It should return a list to use
+@emph{instead} of that entry (the value need not be an actual member
+of @code{warning-levels}, but it must have the same structure). By
+constructing this value, the function can change the severity of the
+warning, or specify different handling for a given severity level.
+
+If the variable's value is @code{nil}, there's no prefix text, before
+the warning is displayed, starting with the @var{string} part of the
+entry in @code{warning-levels} corresponding to the warning's level.
@end defvar
@defvar warning-series
@@ -878,17 +886,18 @@ Programs can bind this variable to @code{t} to say that the next
warning should begin a series. When several warnings form a series,
that means to leave point on the first warning of the series, rather
than keep moving it for each warning so that it appears on the last one.
-The series ends when the local binding is unbound and
+The series ends when the local binding of this variable is unbound and
@code{warning-series} becomes @code{nil} again.
The value can also be a symbol with a function definition. That is
equivalent to @code{t}, except that the next warning will also call
-the function with no arguments with the warnings buffer current. The
-function can insert text which will serve as a header for the series
-of warnings.
+the function with no arguments with the warnings buffer the current
+buffer. The function can, for example, insert text which will serve
+as a header for the series of warnings.
-Once a series has begun, the value is a marker which points to the
-buffer position in the warnings buffer of the start of the series.
+Once a series has begun, the value of this variable is a marker which
+points to the buffer position in the warnings buffer of the start of
+the series.
The variable's normal value is @code{nil}, which means to handle
each warning separately.
@@ -896,7 +905,7 @@ each warning separately.
@defvar warning-fill-prefix
When this variable is non-@code{nil}, it specifies a fill prefix to
-use for filling each warning's text.
+use for filling the text of each warning.
@end defvar
@defvar warning-fill-column
@@ -905,11 +914,11 @@ The column at which to fill warnings.
@defvar warning-type-format
This variable specifies the format for displaying the warning type
-in the warning message. The result of formatting the type this way
+in the warning text. The result of formatting the type this way
gets included in the message under the control of the string in the
entry in @code{warning-levels}. The default value is @code{" (%s)"}.
-If you bind it to @code{""} then the warning type won't appear at
-all.
+If you bind it to the empty string @code{""} then the warning type
+won't appear at all.
@end defvar
@node Warning Options
@@ -921,38 +930,71 @@ when a Lisp program reports a warning.
@defopt warning-minimum-level
This user option specifies the minimum severity level that should be
-shown immediately to the user. The default is @code{:warning}, which
-means to immediately display all warnings except @code{:debug}
-warnings.
+shown immediately to the user, by popping the warnings buffer in some
+window. The default is @code{:warning}, which means to show the
+warning buffer for any warning severity except @code{:debug}. The
+warnings of lower severity levels will still be written into the
+warnings buffer, but the buffer will not be forced onto display.
@end defopt
@defopt warning-minimum-log-level
This user option specifies the minimum severity level that should be
-logged in the warnings buffer. The default is @code{:warning}, which
-means to log all warnings except @code{:debug} warnings.
+logged in the warnings buffer. Warnings of lower severity will be
+completely ignored: not written to the warnings buffer and not
+displayed. The default is @code{:warning}, which means to log
+warnings of any severity except @code{:debug}.
@end defopt
@defopt warning-suppress-types
This list specifies which warning types should not be displayed
-immediately for the user. Each element of the list should be a list
-of symbols. If its elements match the first elements in a warning
-type, then that warning is not displayed immediately.
+immediately when they occur. Each element of the list should be a
+list of symbols. If an element of this list has the same elements as
+the first elements in a warning type, then the warning of that type
+will not be shown on display by popping the warnings buffer in some
+window (the warning will still be logged in the warnings buffer).
+
+For example, if the value of this variable is a list like this:
+
+@lisp
+((foo) (bar subtype))
+@end lisp
+
+@noindent
+then warnings whose types are @code{foo} or @code{(foo)} or
+@w{@code{(foo something)}} or @w{@code{(bar subtype other)}} will not
+be shown to the user.
@end defopt
@defopt warning-suppress-log-types
-This list specifies which warning types should not be logged in the
-warnings buffer. Each element of the list should be a list of
-symbols. If it matches the first few elements in a warning type, then
-that warning is not logged.
+This list specifies which warning types should be ignored: not logged
+in the warnings buffer and not shown to the user. The structure and
+the matching of warning types are the same as for
+@code{warning-suppress-types} above.
@end defopt
+@cindex warnings, suppressing during startup
+@cindex prevent warnings in init files
+ During startup, Emacs delays showing any warnings until after it
+loads and processes the site-wide and user's init files
+(@pxref{Startup Summary}). Let-binding (@pxref{Local Variables}) the
+values of these options around some code in your init files which
+might emit a warning will therefore not work, because it will not be
+in effect by the time the warning is actually processed. Thus, if you
+want to suppress some warnings during startup, change the values of
+the above options in your init file early enough, or put those
+let-binding forms in your @code{after-init-hook} or
+@code{emacs-startup-hook} functions. @xref{Init File}.
+
@node Delayed Warnings
@subsection Delayed Warnings
@cindex delayed warnings
+@cindex warnings, delayed
Sometimes, you may wish to avoid showing a warning while a command is
running, and only show it only after the end of the command. You can
-use the function @code{delay-warning} for this.
+use the function @code{delay-warning} for this. Emacs automatically
+delays any warnings emitted during the early stages of startup, and
+shows them only after the init files are processed.
@defun delay-warning type message &optional level buffer-name
This function is the delayed counterpart to @code{display-warning}
@@ -973,7 +1015,7 @@ with the same form, and the same meanings, as the argument list of
@code{display-warning}. Immediately after running
@code{post-command-hook} (@pxref{Command Overview}), the Emacs
command loop displays all the warnings specified by this variable,
-then resets it to @code{nil}.
+then resets the variable to @code{nil}.
@end defvar
Programs which need to further customize the delayed warnings
@@ -982,7 +1024,9 @@ mechanism can change the variable @code{delayed-warnings-hook}:
@defvar delayed-warnings-hook
This is a normal hook which is run by the Emacs command loop, after
@code{post-command-hook}, in order to process and display delayed
-warnings.
+warnings. Emacs also runs this hook during startup, after loading the
+site-start and user init files (@pxref{Startup Summary}), because
+warnings emitted before that are automatically delayed.
Its default value is a list of two functions:
@@ -1748,34 +1792,43 @@ of them:
@table @code
@item priority
@kindex priority @r{(overlay property)}
-This property's value determines the priority of the overlay.
-If you want to specify a priority value, use either @code{nil}
-(or zero), or a positive integer. Any other value has undefined behavior.
+This property's value determines the priority of the overlay. If you
+want to specify a priority value, use either @code{nil} (or zero), or
+a positive integer, or a cons of two values. Any other value triggers
+undefined behavior.
The priority matters when two or more overlays cover the same
character and both specify the same property with different values;
-the one whose @code{priority} value is larger overrides the other.
+the one whose @code{priority} value is higher overrides the other.
(For the @code{face} property, the higher priority overlay's value
-does not completely override the other value; instead, its face
-attributes override the face attributes of the @code{face} property
-whose priority is lower.) If two overlays have the same priority
-value, and one is nested in the other, then the inner one will prevail
-over the outer one. If neither is nested in the other then you should
-not make assumptions about which overlay will prevail.
+does not completely override the other value; instead, its individual
+face attributes override the corresponding face attributes of the
+@code{face} property whose priority is lower.) If two overlays have
+the same priority value, and one is ``nested'' in the other (i.e.,
+covers fewer buffer or string positions), then the inner one will
+prevail over the outer one. If neither is nested in the other then
+you should not make assumptions about which overlay will prevail.
+
+When a Lisp program puts overlays with defined priorities on text that
+might have overlays without priorities, this could cause undesirable
+results, because any overlay with a positive priority value will
+override all the overlays without a priority. Since most Emacs
+features that use overlays don't specify priorities for their
+overlays, integer priorities should be used with care. Instead of
+using integer priorities and risk overriding other overlays, you can
+use priority values of the form @w{@code{(@var{primary} . @var{secondary})}},
+where the @var{primary} value is used as described above, and
+@var{secondary} is the fallback value used when @var{primary} and the
+nesting considerations fail to resolve the precedence between
+overlays. In particular, priority value @w{@code{(nil . @var{n})}},
+with @var{n} a positive integer, allows to have the overlays ordered
+by priority when necessary without completely overriding other
+overlays.
Currently, all overlays take priority over text properties.
-Note that Emacs sometimes uses non-numeric priority values for some of
-its internal overlays, so do not try to do arithmetic on the priority
-of an overlay (unless it is one that you created). In particular, the
-overlay used for showing the region uses a priority value of the form
-@w{@code{(@var{primary} . @var{secondary})}}, where the @var{primary}
-value is used as described above, and @var{secondary} is the fallback
-value used when @var{primary} and the nesting considerations fail to
-resolve the precedence between overlays. However, you are advised not
-to design Lisp programs based on this implementation detail; if you
-need to put overlays in priority order, use the @var{sorted} argument
-of @code{overlays-at}. @xref{Finding Overlays}.
+If you need to put overlays in priority order, use the @var{sorted}
+argument of @code{overlays-at}. @xref{Finding Overlays}.
@item window
@kindex window @r{(overlay property)}
@@ -3285,8 +3338,8 @@ enough to the overlay, Emacs applies the face or face attributes
specified by the @code{mouse-face} property instead. @xref{Overlay
Properties}.
-When multiple overlays cover one character, an overlay with higher
-priority overrides those with lower priority. @xref{Overlays}.
+When multiple overlays cover the same character, an overlay with
+higher priority overrides those with lower priority. @xref{Overlays}.
@item
If the text contains a @code{face} or @code{mouse-face} property,
@@ -6486,7 +6539,7 @@ specified, draw a polyline.
@deffn Command horizontal-lineto x-coordinates
Draw a horizontal line from the current point to the first element in
@var{x-coordinates}. Specifying multiple coordinates is possible,
-although usually this doesn’t make sense.
+although this usually doesn't make sense.
@lisp
(svg-path svg '((moveto ((100 . 200)))
@@ -6510,7 +6563,7 @@ Using the first element in @var{coordinate-sets}, draw a cubic Bézier
curve from the current point. If there are multiple coordinate sets,
draw a polybezier. Each coordinate set is a list of the form
@code{(@var{x1} @var{y1} @var{x2} @var{y2} @var{x} @var{y})}, where
-@w{(@var{x}, @var{y})} is the curve’s end point. @w{(@var{x1},
+@w{(@var{x}, @var{y})} is the curve's end point. @w{(@var{x1},
@var{y1})} and @w{(@var{x2}, @var{y2})} are control points at the
beginning and at the end, respectively.
@@ -6527,7 +6580,7 @@ Using the first element in @var{coordinate-sets}, draw a cubic Bézier
curve from the current point. If there are multiple coordinate sets,
draw a polybezier. Each coordinate set is a list of the form
@code{(@var{x2} @var{y2} @var{x} @var{y})}, where @w{(@var{x},
-@var{y})} is the curve’s end point and @w{(@var{x2}, @var{y2})} is the
+@var{y})} is the curve's end point and @w{(@var{x2}, @var{y2})} is the
corresponding control point. The first control point is the
reflection of the second control point of the previous command
relative to the current point, if that command was @command{curveto}
@@ -6547,7 +6600,7 @@ Using the first element in @var{coordinate-sets}, draw a quadratic
Bézier curve from the current point. If there are multiple coordinate
sets, draw a polybezier. Each coordinate set is a list of the form
@code{(@var{x1} @var{y1} @var{x} @var{y})}, where @w{(@var{x},
-@var{y})} is the curve’s end point and @w{(@var{x1}, @var{y1})} is the
+@var{y})} is the curve's end point and @w{(@var{x1}, @var{y1})} is the
control point.
@lisp
@@ -6564,7 +6617,7 @@ control point.
Using the first element in @var{coordinate-sets}, draw a quadratic
Bézier curve from the current point. If there are multiple coordinate
sets, draw a polybezier. Each coordinate set is a list of the form
-@code{(@var{x} @var{y})}, where @w{(@var{x}, @var{y})} is the curve’s
+@code{(@var{x} @var{y})}, where @w{(@var{x}, @var{y})} is the curve's
end point. The control point is the reflection of the control point
of the previous command relative to the current point, if that command
was @command{quadratic-bezier-curveto} or
@@ -7225,7 +7278,7 @@ window.
@item :width
This is only valid for @code{image} icons, and can be either a number
(which specifies the width in pixels), or the symbol @code{font},
-which will use the width in pixels of the current buffer’s default
+which will use the width in pixels of the current buffer's default
face font.
@end table
@@ -8483,7 +8536,7 @@ the effect of setting @code{ctl-arrow} to a non-@code{nil} value
(make-glyph-code (+ i 64) 'escape-glyph)))))
(aset disptab 127
(vector (make-glyph-code ?^ 'escape-glyph)
- (make-glyph-code ?? 'escape-glyph)))))
+ (make-glyph-code ?? 'escape-glyph)))
@end example
@defun display-table-slot display-table slot
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index b15f2ab4d29..3982eb14f2b 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -3390,7 +3390,7 @@ first, before handlers for jobs such as remote file access.
@code{file-directory-p},
@code{file-equal-p},
@code{file-executable-p}, @code{file-exists-p},
-@code{file-in-directory-p},
+@code{file-group-gid}, @code{file-in-directory-p},
@code{file-local-copy}, @code{file-locked-p},
@code{file-modes}, @code{file-name-all-completions},
@code{file-name-as-directory},
@@ -3452,7 +3452,7 @@ first, before handlers for jobs such as remote file access.
@code{file-direc@discretionary{}{}{}tory-p},
@code{file-equal-p},
@code{file-executable-p}, @code{file-exists-p},
-@code{file-in-directory-p},
+@code{file-group-gid}, @code{file-in-directory-p},
@code{file-local-copy}, @code{file-locked-p},
@code{file-modes}, @code{file-name-all-completions},
@code{file-name-as-directory},
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index c78ab1c34ba..5a2d9f29295 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -523,7 +523,8 @@ Height | | | Height | | | Height
| | | |<--+--- Inner Frame Width ------->| | | |
| | | | | | | | |
| | | |___v______________________________| | | |
- | | |___________ Internal Border __________| | v
+ | | |___________ Internal Border __________| | |
+ | | (4)__________ Bottom Tool Bar __________| | v
v |___________ External/Outer Border __________|
<-------- Native Frame Width -------->
@@ -707,6 +708,10 @@ tool bar but not that of the menu bar (Lucid, Motif, MS-Windows) or
those of the menu bar and the tool bar (non-toolkit and text terminal
frames).
+If the native position would otherwise be (2), but the tool bar is
+placed at the bottom of the frame as depicted in (4), the native
+position of the frame becomes that of the tab bar.
+
The native position of a frame is the reference position for functions
that set or return the current position of the mouse (@pxref{Mouse
Position}) and for functions dealing with the position of windows like
@@ -844,8 +849,11 @@ native frame of @var{frame}).
@item tool-bar-position
This tells on which side the tool bar on @var{frame} is and can be one
-of @code{left}, @code{top}, @code{right} or @code{bottom}. The only
-toolkit that currently supports a value other than @code{top} is GTK+.
+of @code{left}, @code{top}, @code{right} or @code{bottom}.
+
+The values @code{left} and @code{right} are only supported on builds
+using the GTK+ toolkit; @code{bottom} is supported on all builds other
+than NS, and @code{top} is supported everywhere.
@item tool-bar-size
A cons of the width and height of the tool bar of @var{frame}.
@@ -1905,9 +1913,11 @@ whenever the tool bar wraps (@pxref{Frame Layout}).
@vindex tool-bar-position@r{, a frame parameter}
@item tool-bar-position
-The position of the tool bar when Emacs was built with GTK+. Its value
-can be one of @code{top}, @code{bottom} @code{left}, @code{right}. The
-default is @code{top}.
+The position of the tool bar. Its value can be one of @code{top},
+@code{bottom} @code{left}, @code{right}. The default is @code{top}.
+
+It can be set to @code{bottom} on Emacs built with any toolkit other
+than Nextstep, and @code{left} or @code{right} on builds using GTK+.
@vindex tab-bar-lines@r{, a frame parameter}
@item tab-bar-lines
@@ -4518,6 +4528,20 @@ This function used to be called @code{x-color-values},
and that name is still supported as an alias.
@end defun
+@defun color-name-to-rgb color &optional frame
+This function does the same as @code{color-values}, but it returns
+color values as floating-point numbers between 0.0 and 1.0 inclusive.
+@end defun
+
+@defun color-dark-p rgb
+This function returns non-@code{nil} if the color described by its RGB
+triplet @var{rgb} is more readable against white background than
+against dark background. The argument @var{rgb} should be a list of
+the form @w{@code{(@var{r} @var{g} @var{b})}}, with each component a
+floating-point number in the range 0.0 to 1.0 inclusive. You can use
+@code{color-name-to-rgb} to convert a color's name to such a list.
+@end defun
+
@node Text Terminal Colors
@section Text Terminal Colors
@cindex colors on text terminals
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 42441361fea..af116f62973 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1484,7 +1484,7 @@ the symbol as a function, Emacs signals a @code{void-function} error.
Note that void is not the same as @code{nil} or the symbol
@code{void}. The symbols @code{nil} and @code{void} are Lisp objects,
and can be stored into a function cell just as any other object can be
-(and they can be valid functions if you define them in turn with
+(and @code{void} can be a valid function if you define it with
@code{defun}). A void function cell contains no object whatsoever.
You can test the voidness of a symbol's function definition with
@@ -2365,6 +2365,11 @@ this:
(set-advertised-calling-convention
'sit-for '(seconds &optional nodisp) "22.1")
@end example
+
+@noindent
+The alternative to using this function is the
+@code{advertised-calling-convention} @code{declare} spec, see
+@ref{Declare Form}.
@end defun
@node Inline Functions
@@ -2541,6 +2546,7 @@ Each element in @var{specs} should have the form @code{(@var{property}
following effects:
@table @code
+@cindex @code{advertised-calling-convention} (@code{declare} spec)
@item (advertised-calling-convention @var{signature} @var{when})
This acts like a call to @code{set-advertised-calling-convention}
(@pxref{Obsolete Functions}); @var{signature} specifies the correct
@@ -2566,6 +2572,7 @@ This is typically used for macros, though it works for functions too.
Set the function's @code{interactive-only} property to @var{value}.
@xref{The interactive-only property}.
+@cindex @code{obsolete} (@code{declare} spec)
@item (obsolete @var{current-name} @var{when})
Mark the function or macro as obsolete, similar to a call to
@code{make-obsolete} (@pxref{Obsolete Functions}). @var{current-name}
@@ -2607,14 +2614,18 @@ be passed to @code{gv-define-setter}.
@item (completion @var{completion-predicate})
Declare @var{completion-predicate} as a function to determine whether
-to include the symbol in the list of functions when asking for
-completions in @kbd{M-x}. @var{completion-predicate} is called with
-two parameters: The first parameter is the symbol, and the second is
-the current buffer.
+to include a function's symbol in the list of functions when asking
+for completions in @kbd{M-x}. This predicate function will only be
+called when @code{read-extended-command-predicate} is customized to
+@code{command-completion-default-include-p}; by default the value of
+@code{read-extended-command-predicate} is nil (@pxref{Interactive
+Call, execute-extended-command}). The predicate
+@var{completion-predicate} is called with two arguments: the
+function's symbol and the current buffer.
@item (modes @var{modes})
-Specify that this command is meant to be applicable for @var{modes}
-only.
+Specify that this command is meant to be applicable only to specified
+@var{modes}. @xref{Command Modes}.
@item (interactive-args @var{arg} ...)
Specify the arguments that should be stored for @code{repeat-command}.
@@ -2631,6 +2642,12 @@ so the byte compiler can ignore calls whose value is ignored. This is
the same as the @code{side-effect-free} property of the function's
symbol, @pxref{Standard Properties}.
+@item (important-return-value @var{val})
+If @var{val} is non-@code{nil}, the byte compiler will warn about
+calls to this function that do not use the returned value. This is the
+same as the @code{important-return-value} property of the function's
+symbol, @pxref{Standard Properties}.
+
@item (speed @var{n})
Specify the value of @code{native-comp-speed} in effect for native
compilation of this function (@pxref{Native-Compilation Variables}).
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 9928361f7b2..0951e60433a 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -248,7 +248,7 @@ time it took to restore the Emacs state. The value is an alist
where @var{file} is the name of the dump file, and @var{time} is the
time in seconds it took to restore the state from the dump file.
If the current session was not restored from a dump file, the
-value is nil.
+value is @code{nil}.
@end defun
@node Pure Storage
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi
index a509325854f..6a00f2887e7 100644
--- a/doc/lispref/lists.texi
+++ b/doc/lispref/lists.texi
@@ -696,16 +696,17 @@ not a list, the sequence's elements do not become elements of the
resulting list. Instead, the sequence becomes the final @sc{cdr}, like
any other non-list final argument.
-@defun copy-tree tree &optional vecp
+@defun copy-tree tree &optional vectors-and-records
This function returns a copy of the tree @var{tree}. If @var{tree} is a
cons cell, this makes a new cons cell with the same @sc{car} and
@sc{cdr}, then recursively copies the @sc{car} and @sc{cdr} in the
same way.
Normally, when @var{tree} is anything other than a cons cell,
-@code{copy-tree} simply returns @var{tree}. However, if @var{vecp} is
-non-@code{nil}, it copies vectors too (and operates recursively on
-their elements). This function cannot cope with circular lists.
+@code{copy-tree} simply returns @var{tree}. However, if
+@var{vectors-and-records} is non-@code{nil}, it copies vectors and records
+too (and operates recursively on their elements). The @var{tree}
+argument must not contain cycles.
@end defun
@defun flatten-tree tree
@@ -1224,7 +1225,15 @@ x
@end example
However, the other arguments (all but the last) should be mutable
-lists.
+lists. They can be dotted lists, whose last @sc{cdr}s are then
+replaced with the next argument:
+
+@example
+@group
+(nconc (cons 1 2) (cons 3 (cons 4 5)) 'z)
+ @result{} (1 3 4 . z)
+@end group
+@end example
A common pitfall is to use a constant list as a non-last argument to
@code{nconc}. If you do this, the resulting behavior is undefined
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 5c84ba4b1eb..d6fc4e8d636 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -1338,7 +1338,7 @@ specified @var{file} and perform the necessary initialization of the
module. This is the primitive which makes sure the module exports the
@code{plugin_is_GPL_compatible} symbol, calls the module's
@code{emacs_module_init} function, and signals an error if that
-function returns an error indication, or if the use typed @kbd{C-g}
+function returns an error indication, or if the user typed @kbd{C-g}
during the initialization. If the initialization succeeds,
@code{module-load} returns @code{t}. Note that @var{file} must
already have the proper file-name extension, as this function doesn't
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 4b957a68401..78bd559c807 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -2174,13 +2174,14 @@ will not have serious consequences. @code{yes-or-no-p} is suitable for
more momentous questions, since it requires three or four characters to
answer.
- If either of these functions is called in a command that was invoked
-using the mouse---more precisely, if @code{last-nonmenu-event}
-(@pxref{Command Loop Info}) is either @code{nil} or a list---then it
-uses a dialog box or pop-up menu to ask the question. Otherwise, it
-uses keyboard input. You can force use either of the mouse or of keyboard
-input by binding @code{last-nonmenu-event} to a suitable value around
-the call.
+ If either of these functions is called in a command that was
+invoked using the mouse or some other window-system gesture, or in a
+command invoked via a menu, then they use a dialog box or pop-up menu
+to ask the question if dialog boxes are supported. Otherwise, they
+use keyboard input. You can force use either of the mouse or of
+keyboard input by binding @code{last-nonmenu-event} to a suitable
+value around the call---bind it to @code{t} to force keyboard
+interaction, and to a list to force dialog boxes.
Both @code{yes-or-no-p} and @code{y-or-n-p} use the minibuffer.
@@ -2200,6 +2201,9 @@ the expected answers (@kbd{y}, @kbd{n}, @kbd{@key{SPC}},
@kbd{@key{DEL}}, or something that quits), the function responds
@samp{Please answer y or n.}, and repeats the request.
+If @var{prompt} is a non-empty string, and it ends with a non-space
+character, a @samp{SPC} character will be appended to it.
+
This function actually uses the minibuffer, but does not allow editing
of the answer. The cursor moves to the minibuffer while the question
is being asked.
@@ -2240,6 +2244,9 @@ minibuffer, followed by the value of @code{yes-or-no-prompt} @w{(default
responses; otherwise, the function responds @w{@samp{Please answer yes or
no.}}, waits about two seconds and repeats the request.
+If @var{prompt} is a non-empty string, and it ends with a non-space
+character, a @samp{SPC} character will be appended to it.
+
@code{yes-or-no-p} requires more work from the user than
@code{y-or-n-p} and is appropriate for more crucial decisions.
@@ -2247,7 +2254,7 @@ Here is an example:
@smallexample
@group
-(yes-or-no-p "Do you really want to remove everything?")
+(yes-or-no-p "Do you really want to remove everything? ")
;; @r{After evaluation of the preceding expression,}
;; @r{the following prompt appears,}
@@ -2380,13 +2387,14 @@ Normally, @code{map-y-or-n-p} binds @code{cursor-in-echo-area} while
prompting. But if @var{no-cursor-in-echo-area} is non-@code{nil}, it
does not do that.
-If @code{map-y-or-n-p} is called in a command that was invoked using the
-mouse---more precisely, if @code{last-nonmenu-event} (@pxref{Command
-Loop Info}) is either @code{nil} or a list---then it uses a dialog box
-or pop-up menu to ask the question. In this case, it does not use
-keyboard input or the echo area. You can force use either of the mouse or
-of keyboard input by binding @code{last-nonmenu-event} to a suitable
-value around the call.
+If @code{map-y-or-n-p} is called in a command that was invoked using
+the mouse or some other window-system gesture, or a command invoked
+via a menu, then it uses a dialog box or pop-up menu to ask the
+question if dialog boxes are supported. In this case, it does not use
+keyboard input or the echo area. You can force use either of the
+mouse or of keyboard input by binding @code{last-nonmenu-event} to a
+suitable value around the call---bind it to @code{t} to force keyboard
+interaction, and to a list to force dialog boxes.
The return value of @code{map-y-or-n-p} is the number of objects acted on.
@end defun
@@ -2805,13 +2813,23 @@ minibuffer window, it returns @code{nil}.
@vindex minibuffer-message-timeout
@defun minibuffer-message string &rest args
-This function displays @var{string} temporarily at the end of the
-minibuffer text, for a few seconds, or until the next input event
-arrives, whichever comes first. The variable
-@code{minibuffer-message-timeout} specifies the number of seconds to
-wait in the absence of input. It defaults to 2. If @var{args} is
-non-@code{nil}, the actual message is obtained by passing @var{string}
-and @var{args} through @code{format-message}. @xref{Formatting Strings}.
+This function is like @code{message} (@pxref{Displaying Messages}),
+but it displays the messages specially when the user types in the
+minibuffer, typically because Emacs prompted the user for some input.
+When the minibuffer is the current buffer, this function displays the
+message specified by @var{string} temporarily at the end of the
+minibuffer text, and thus avoids hiding the minibuffer text by the
+echo-area display of the message. It leaves the message on display
+for a few seconds, or until the next input event arrives, whichever
+comes first. The variable @code{minibuffer-message-timeout} specifies
+the number of seconds to wait in the absence of input. It defaults to
+2. If @var{args} is non-@code{nil}, the actual message is obtained by
+passing @var{string} and @var{args} through @code{format-message}.
+@xref{Formatting Strings}.
+
+If called when the minibuffer is not the current buffer, this function
+just calls @code{message}, and thus @var{string} will be shown in the
+echo-area.
@end defun
@deffn Command minibuffer-inactive-mode
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index fd497d14f63..8ca0afe1bca 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1888,11 +1888,14 @@ user option called the same as the global mode variable, but with
@code{-modes} instead of @code{-mode} at the end, i.e.@:
@code{@var{global-mode}s}. This variable will be used in a predicate
function that determines whether the minor mode should be activated in
-a particular major mode. Valid values of @code{:predicate} include
-@code{t} (use in all major modes), @code{nil} (don't use in any major
-modes), or a list of mode names, optionally preceded with @code{not}
-(as in @w{@code{(not @var{mode-name} @dots{})}}). These elements can
-be mixed, as shown in the following examples.
+a particular major mode, and users can customize the value of the
+variable to control the modes in which the minor mode will be switched
+on. Valid values of @code{:predicate} (and thus valid values of the
+user option it creates) include @code{t} (use in all major modes),
+@code{nil} (don't use in any major modes), or a list of mode names,
+optionally preceded with @code{not} (as in @w{@code{(not
+@var{mode-name} @dots{})}}). These elements can be mixed, as shown in
+the following examples.
@example
(c-mode (not mail-mode message-mode) text-mode)
@@ -2922,13 +2925,13 @@ nodes that belong to @var{category}. @var{pred} should be either
return non-@code{nil} if the node is a valid node for @var{category},
or @code{nil} if not.
-@var{category} could also be @code{nil}. In which case the entries
+@var{category} could also be @code{nil}, in which case the entries
matched by @var{regexp} and @var{pred} are not grouped under
@var{category}.
-@var{name-fn} should be either @var{nil} or a function that takes a
+@var{name-fn} should be either @code{nil} or a function that takes a
defun node and returns the name of that defun, e.g., the function name
-for a function definition. If @var{name-fn} is @var{nil},
+for a function definition. If @var{name-fn} is @code{nil},
@code{treesit-defun-name} (@pxref{Tree-sitter Major Modes}) is used
instead.
@@ -3447,7 +3450,7 @@ This condition matches any element of Font Lock keywords for which
non-@code{nil}.
@item @code{(not @var{condition})}
-This matches if @var{condition} doesn’t.
+This matches if @var{condition} doesn't.
@item @code{(and @var{condition} @dots{})}
This matches if each of the @var{condition}s matches.
@@ -4070,12 +4073,12 @@ Source}) for this purpose.
Parser-based font lock and other font lock mechanisms are not mutually
exclusive. By default, if enabled, parser-based font lock runs first,
-replacing syntactic font lock, then the regexp-based font lock.
+replacing syntactic font lock, followed by regexp-based font lock.
Although parser-based font lock doesn't share the same customization
variables with regexp-based font lock, it uses similar customization
-schemes. The tree-sitter counterpart of @var{font-lock-keywords} is
-@var{treesit-font-lock-settings}.
+schemes. The tree-sitter counterpart of @code{font-lock-keywords} is
+@code{treesit-font-lock-settings}.
@cindex tree-sitter fontifications, overview
@cindex fontifications with tree-sitter, overview
@@ -4103,15 +4106,15 @@ would be highlighted in @code{font-lock-keyword} face.
For more information about queries, patterns, and capture names, see
@ref{Pattern Matching}.
-To setup tree-sitter fontification, a major mode should first set
+To set up tree-sitter fontification, a major mode should first set
@code{treesit-font-lock-settings} with the output of
@code{treesit-font-lock-rules}, then call
@code{treesit-major-mode-setup}.
@defun treesit-font-lock-rules &rest query-specs
-This function is used to set @var{treesit-font-lock-settings}. It
+This function is used to set @code{treesit-font-lock-settings}. It
takes care of compiling queries and other post-processing, and outputs
-a value that @var{treesit-font-lock-settings} accepts. Here's an
+a value that @code{treesit-font-lock-settings} accepts. Here's an
example:
@example
@@ -4130,15 +4133,15 @@ example:
This function takes a series of @var{query-spec}s, where each
@var{query-spec} is a @var{query} preceded by one or more
-@var{:keyword}/@var{value} pairs. Each @var{query} is a
-tree-sitter query in either the string, s-expression or compiled form.
+@var{keyword}/@var{value} pairs. Each @var{query} is a tree-sitter
+query in either the string, s-expression, or compiled form.
@c FIXME: Cross-ref treesit-font-lock-level to user manual.
-For each @var{query}, the @var{:keyword}/@var{value} pairs that
-precede it add meta information to it. The @code{:language} keyword
-declares @var{query}'s language. The @code{:feature} keyword sets the
-feature name of @var{query}. Users can control which features are
-enabled with @code{treesit-font-lock-level} and
+For each @var{query}, the @var{keyword}/@var{value} pairs that precede
+it add meta information to it. The @code{:language} keyword declares
+@var{query}'s language. The @code{:feature} keyword sets the feature
+name of @var{query}. Users can control which features are enabled
+with @code{treesit-font-lock-level} and
@code{treesit-font-lock-feature-list} (described below). These two
keywords are mandatory.
@@ -4146,27 +4149,27 @@ Other keywords are optional:
@multitable @columnfractions .15 .15 .6
@headitem Keyword @tab Value @tab Description
-@item @code{:override} @tab nil
+@item @code{:override} @tab @code{nil}
@tab If the region already has a face, discard the new face
-@item @tab t @tab Always apply the new face
+@item @tab @code{t} @tab Always apply the new face
@item @tab @code{append} @tab Append the new face to existing ones
@item @tab @code{prepend} @tab Prepend the new face to existing ones
@item @tab @code{keep} @tab Fill-in regions without an existing face
@end multitable
Lisp programs mark patterns in @var{query} with capture names (names
-that starts with @code{@@}), and tree-sitter will return matched nodes
+that start with @code{@@}), and tree-sitter will return matched nodes
tagged with those same capture names. For the purpose of
fontification, capture names in @var{query} should be face names like
@code{font-lock-keyword-face}. The captured node will be fontified
with that face.
@findex treesit-fontify-with-override
-Capture names can also be function names, in which case the function
+A capture name can also be a function name, in which case the function
is called with 4 arguments: @var{node} and @var{override}, @var{start}
and @var{end}, where @var{node} is the node itself, @var{override} is
-the override property of the rule which captured this node, and
-@var{start} and @var{end} limits the region in which this function
+the @code{:override} property of the rule which captured this node,
+and @var{start} and @var{end} limit the region which this function
should fontify. (If this function wants to respect the @var{override}
argument, it can use @code{treesit-fontify-with-override}.)
@@ -4202,9 +4205,9 @@ Some of these features warrant some explanation: @code{definition}
highlights whatever is being defined, e.g., the function name in a
function definition, the struct name in a struct definition, the
variable name in a variable definition; @code{assignment} highlights
-the whatever is being assigned to, e.g., the variable or field in an
+whatever is being assigned to, e.g., the variable or field in an
assignment statement; @code{key} highlights keys in key-value pairs,
-e.g., keys in a JSON object, or a Python dictionary; @code{doc}
+e.g., keys in a JSON object or Python dictionary; @code{doc}
highlights docstrings or doc-comments.
For example, the value of this variable could be:
@@ -4978,11 +4981,11 @@ source indentation commands. For maximum flexibility, it is possible
to write a custom indentation function that queries the syntax tree
and indents accordingly for each language, but that is a lot of work.
It is more convenient to use the simple indentation engine described
-below: then the major mode needs only to write some indentation rules
+below: then the major mode needs only write some indentation rules,
and the engine takes care of the rest.
To enable the parser-based indentation engine, either set
-@var{treesit-simple-indent-rules} and call
+@code{treesit-simple-indent-rules} and call
@code{treesit-major-mode-setup}, or equivalently, set the value of
@code{indent-line-function} to @code{treesit-indent}.
@@ -4997,10 +5000,11 @@ more complex indentation engines.
@cindex indentation rules, for parser-based indentation
@defvar treesit-simple-indent-rules
-This local variable stores indentation rules for every language. It is
-a list of the form: @w{@code{(@var{language} . @var{rules})}}, where
-@var{language} is a language symbol, and @var{rules} is a list of the
-form @w{@code{(@var{matcher} @var{anchor} @var{offset})}}.
+This local variable stores indentation rules for every language. It
+is an alist with elements of the form @w{@code{(@var{language}
+. @var{rules})}}, where @var{language} is a language symbol, and
+@var{rules} is a list with elements of the form
+@w{@code{(@var{matcher} @var{anchor} @var{offset})}}.
First, Emacs passes the smallest tree-sitter node at the beginning of
the current line to @var{matcher}; if it returns non-@code{nil}, this
@@ -5034,14 +5038,14 @@ anchors.
@defvar treesit-simple-indent-presets
This is a list of defaults for @var{matcher}s and @var{anchor}s in
-@code{treesit-simple-indent-rules}. Each of them represents a function
-that takes 3 arguments: @var{node}, @var{parent} and @var{bol}. The
-available default functions are:
+@code{treesit-simple-indent-rules}. Each of them represents a
+function that takes 3 arguments: @var{node}, @var{parent}, and
+@var{bol}. The available default functions are:
@ftable @code
@item no-node
This matcher is a function that is called with 3 arguments:
-@var{node}, @var{parent}, and @var{bol}, and returns non-@code{nil},
+@var{node}, @var{parent}, and @var{bol}. It returns non-@code{nil},
indicating a match, if @var{node} is @code{nil}, i.e., there is no
node that starts at @var{bol}. This is the case when @var{bol} is on
an empty line or inside a multi-line string, etc.
@@ -5058,6 +5062,12 @@ function that is called with 3 arguments: @var{node}, @var{parent},
and @var{bol}, and returns non-@code{nil} if @var{node}'s type matches
regexp @var{type}.
+@item field-is
+This matcher is a function of one argument, @var{name}; it returns a
+function that is called with 3 arguments: @var{node}, @var{parent},
+and @var{bol}, and returns non-@code{nil} if @var{node}'s field name
+in @var{parent} matches regexp @var{name}.
+
@item query
This matcher is a function of one argument, @var{query}; it returns a
function that is called with 3 arguments: @var{node}, @var{parent},
@@ -5098,30 +5108,53 @@ of @var{node-type}, @var{parent-type}, and @var{grandparent-type} is
@item comment-end
This matcher is a function that is called with 3 arguments:
@var{node}, @var{parent}, and @var{bol}, and returns non-@code{nil} if
-point is before a comment ending token. Comment ending tokens are
-defined by regular expression @code{comment-end-skip}
+point is before a comment-ending token. Comment-ending tokens are
+defined by regexp @code{comment-end-skip}.
+
+@item catch-all
+This matcher is a function that is called with 3 arguments:
+@var{node}, @var{parent}, and @var{bol}. It always returns
+non-@code{nil}, indicating a match.
@item first-sibling
This anchor is a function that is called with 3 arguments: @var{node},
@var{parent}, and @var{bol}, and returns the start of the first child
of @var{parent}.
+@item nth-sibling
+This anchor is a function of two arguments: @var{n}, and an optional
+argument @var{named}. It returns a function that is called with 3
+arguments: @var{node}, @var{parent}, and @var{bol}, and returns the
+start of the @var{n}th child of @var{parent}. If @var{named} is
+non-@code{nil}, only named children are counted (@pxref{tree-sitter
+named node, named node}).
+
@item parent
This anchor is a function that is called with 3 arguments: @var{node},
@var{parent}, and @var{bol}, and returns the start of @var{parent}.
+@item grand-parent
+This anchor is a function that is called with 3 arguments: @var{node},
+@var{parent}, and @var{bol}, and returns the start of @var{parent}'s
+parent.
+
+@item great-grand-parent
+This anchor is a function that is called with 3 arguments: @var{node},
+@var{parent}, and @var{bol}, and returns the start of @var{parent}'s
+parent's parent.
+
@item parent-bol
This anchor is a function that is called with 3 arguments: @var{node},
@var{parent}, and @var{bol}, and returns the first non-space character
on the line which @var{parent}'s start is on.
-@item parent-bol
+@item standalone-parent
This anchor is a function that is called with 3 arguments: @var{node},
@var{parent}, and @var{bol}. It finds the first ancestor node
-(parent, grandparent, etc) of @var{node} that starts on its own line,
-and return the start of that node. ``Starting on its own line'' means
-there is only whitespace character before the node on the line which
-the node's start is on.
+(parent, grandparent, etc.@:) of @var{node} that starts on its own
+line, and return the start of that node. ``Starting on its own line''
+means there is only whitespace character before the node on the line
+which the node's start is on.
@item prev-sibling
This anchor is a function that is called with 3 arguments: @var{node},
@@ -5151,14 +5184,14 @@ expression @code{comment-start-skip}. This function assumes
@item prev-adaptive-prefix
This anchor is a function that is called with 3 arguments: @var{node},
-@var{parent}, and @var{bol}. It tries to go to the beginning of the
-previous non-empty line, and matches @code{adaptive-fill-regexp}. If
-there is a match, this function returns the end of the match,
-otherwise it returns nil. However, if the current line begins with a
-prefix (e.g., ``-''), return the beginning of the prefix of the
-previous line instead, so that the two prefixes aligns. This anchor
-is useful for a @code{indent-relative}-like indent behavior for block
-comments.
+@var{parent}, and @var{bol}. It tries to match
+@code{adaptive-fill-regexp} to the text at the beginning of the
+previous non-empty line. If there is a match, this function returns
+the end of the match, otherwise it returns @code{nil}. However, if
+the current line begins with a prefix (e.g., @samp{-}), return the
+beginning of the prefix of the previous line instead, so that the two
+prefixes align. This anchor is useful for an
+@code{indent-relative}-like indent behavior for block comments.
@end ftable
@end defvar
@@ -5169,14 +5202,14 @@ comments.
Here are some utility functions that can help writing parser-based
indentation rules.
-@defun treesit-check-indent mode
-This function checks the current buffer's indentation against major
+@deffn Command treesit-check-indent mode
+This command checks the current buffer's indentation against major
mode @var{mode}. It indents the current buffer according to
@var{mode} and compares the results with the current indentation.
Then it pops up a buffer showing the differences. Correct
indentation (target) is shown in green color, current indentation is
shown in red color. @c Are colors customizable? faces?
-@end defun
+@end deffn
It is also helpful to use @code{treesit-inspect-mode} (@pxref{Language
Grammar}) when writing indentation rules.
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index 9bfb771fc07..3e45aa90fda 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -219,17 +219,25 @@ creates huge integers.
@cindex @acronym{IEEE} floating point
Floating-point numbers are useful for representing numbers that are
-not integral. The range of floating-point numbers is
-the same as the range of the C data type @code{double} on the machine
-you are using. On all computers supported by Emacs, this is
-@acronym{IEEE} binary64 floating point format, which is standardized by
-@url{https://standards.ieee.org/standard/754-2019.html,,IEEE Std 754-2019}
-and is discussed further in David Goldberg's paper
+not integral. The range of floating-point numbers is the same as the
+range of the C data type @code{double} on the machine you are using.
+On almost all computers supported by Emacs, this is @acronym{IEEE}
+binary64 floating point format, which is standardized by
+@url{https://standards.ieee.org/standard/754-2019.html,,IEEE Std
+754-2019} and is discussed further in David Goldberg's paper
``@url{https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html,
-What Every Computer Scientist Should Know About Floating-Point Arithmetic}''.
-On modern platforms, floating-point operations follow the IEEE-754
-standard closely; however, results are not always rounded correctly on
-some obsolescent platforms, notably 32-bit x86.
+What Every Computer Scientist Should Know About Floating-Point
+Arithmetic}''. On modern platforms, floating-point operations follow
+the IEEE-754 standard closely; however, results are not always rounded
+correctly on some systems, notably 32-bit x86.
+
+ On some old computer systems, Emacs may not use IEEE floating-point.
+We know of one such system on which Emacs runs correctly, but does not
+follow IEEE-754: the VAX running NetBSD using GCC 10.4.0, where the
+VAX @samp{D_Floating} format is used instead. IBM System/370-derived
+mainframes and their XL/C compiler are also capable of utilizing a
+hexadecimal floating point format, but Emacs has not yet been built in
+such a configuration.
The read syntax for floating-point numbers requires either a decimal
point, an exponent, or both. Optional signs (@samp{+} or @samp{-})
@@ -262,6 +270,10 @@ two NaNs as equal when their
signs and significands agree. Significands of NaNs are
machine-dependent, as are the digits in their string representation.
+ NaNs are not available on systems which do not use IEEE
+floating-point arithmetic; if the read syntax for a NaN is used on a
+VAX, for example, the reader signals an error.
+
When NaNs and signed zeros are involved, non-numeric functions like
@code{eql}, @code{equal}, @code{sxhash-eql}, @code{sxhash-equal} and
@code{gethash} determine whether values are indistinguishable, not
@@ -742,9 +754,10 @@ by rounding the quotient towards zero after each division.
@cindex @code{arith-error} in division
If you divide an integer by the integer 0, Emacs signals an
-@code{arith-error} error (@pxref{Errors}). Floating-point division of
-a nonzero number by zero yields either positive or negative infinity
-(@pxref{Float Basics}).
+@code{arith-error} error (@pxref{Errors}). On systems using IEEE-754
+floating-point, floating-point division of a nonzero number by zero
+yields either positive or negative infinity (@pxref{Float Basics});
+otherwise, an @code{arith-error} is signaled as usual.
@end defun
@defun % dividend divisor
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index bca62a7a8de..4bcc9d5fea6 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -182,7 +182,9 @@ is over, and, together with @code{before-init-time}, provides the
measurement of how long it took.
@item
-It runs the normal hook @code{after-init-hook}.
+It runs the normal hooks @code{after-init-hook} and
+@code{delayed-warnings-hook}. The latter shows any warnings emitted
+during previous stages of startup, which are automatically delayed.
@item
If the buffer @file{*scratch*} exists and is still in Fundamental mode
@@ -1288,12 +1290,22 @@ the remote connection has no associated user, it will instead return
@end defun
@cindex GID
+@defun group-real-gid
+This function returns the real @acronym{GID} of the Emacs process.
+@end defun
+
@defun group-gid
This function returns the effective @acronym{GID} of the Emacs process.
@end defun
-@defun group-real-gid
-This function returns the real @acronym{GID} of the Emacs process.
+@defun file-group-gid
+This function returns the connection-local value for the user's
+effective @acronym{GID}. Similar to @code{file-user-uid}, if
+@code{default-directory} is local, this is equivalent to
+@code{group-gid}, but for remote files (@pxref{Remote Files, , ,
+emacs, The GNU Emacs Manual}), it will return the @acronym{GID} for
+the user associated with that remote connection; if the remote
+connection has no associated user, it will instead return -1.
@end defun
@defun system-users
diff --git a/doc/lispref/parsing.texi b/doc/lispref/parsing.texi
index 38c9ec8c2f0..36b3c19df01 100644
--- a/doc/lispref/parsing.texi
+++ b/doc/lispref/parsing.texi
@@ -9,7 +9,7 @@
Emacs provides various ways to parse program source text and produce a
@dfn{syntax tree}. In a syntax tree, text is no longer considered a
one-dimensional stream of characters, but a structured tree of nodes,
-where each node representing a piece of text. Thus, a syntax tree can
+where each node represents a piece of text. Thus, a syntax tree can
enable interesting features like precise fontification, indentation,
navigation, structured editing, etc.
@@ -19,8 +19,8 @@ generic navigation and indentation (@pxref{SMIE}).
In addition to those, Emacs also provides integration with
@uref{https://tree-sitter.github.io/tree-sitter, the tree-sitter
-library}) if support for it was compiled in. The tree-sitter library
-implements an incremental parser and has support from a wide range of
+library} if support for it was compiled in. The tree-sitter library
+implements an incremental parser and has support for a wide range of
programming languages.
@defun treesit-available-p
@@ -65,10 +65,10 @@ For example, the C language grammar is represented as the symbol
@vindex treesit-extra-load-path
@vindex treesit-load-language-error
-Tree-sitter language grammar are distributed as dynamic libraries.
+Tree-sitter language grammars are distributed as dynamic libraries.
In order to use a language grammar in Emacs, you need to make sure
that the dynamic library is installed on the system. Emacs looks for
-language grammar in several places, in the following order:
+language grammars in several places, in the following order:
@itemize @bullet
@item
@@ -95,8 +95,8 @@ This means that Emacs could not find the language grammar library.
This means that Emacs could not find in the library the expected function
that every language grammar library should export.
@item (version-mismatch @var{error-msg})
-This means that the version of language grammar library is incompatible
-with that of the tree-sitter library.
+This means that the version of the language grammar library is
+incompatible with that of the tree-sitter library.
@end table
@noindent
@@ -105,7 +105,7 @@ details about the failure.
@defun treesit-language-available-p language &optional detail
This function returns non-@code{nil} if the language grammar for
-@var{language} exist and can be loaded.
+@var{language} exists and can be loaded.
If @var{detail} is non-@code{nil}, return @code{(t . nil)} when
@var{language} is available, and @code{(nil . @var{data})} when it's
@@ -126,7 +126,7 @@ doesn't follow this convention, you should add an entry
@end example
to the list in the variable @code{treesit-load-name-override-list}, where
-@var{library-base-name} is the basename of the dynamic library's file name,
+@var{library-base-name} is the basename of the dynamic library's file name
(usually, @file{libtree-sitter-@var{language}}), and
@var{function-name} is the function provided by the library
(usually, @code{tree_sitter_@var{language}}). For example,
@@ -146,7 +146,7 @@ Application Binary Interface (@acronym{ABI}) supported by the
tree-sitter library. By default, it returns the latest ABI version
supported by the library, but if @var{min-compatible} is
non-@code{nil}, it returns the oldest ABI version which the library
-still can support. language grammar libraries must be built for
+still can support. Language grammar libraries must be built for
ABI versions between the oldest and the latest versions supported by
the tree-sitter library, otherwise the library will be unable to load
them.
@@ -232,11 +232,11 @@ assign @dfn{field names} to child nodes. For example, a
@cindex explore tree-sitter syntax tree
@cindex inspection of tree-sitter parse tree nodes
-To aid in understanding the syntax of a language and in debugging of
-Lisp program that use the syntax tree, Emacs provides an ``explore''
-mode, which displays the syntax tree of the source in the current
-buffer in real time. Emacs also comes with an ``inspect mode'', which
-displays information of the nodes at point in the mode-line.
+To aid in understanding the syntax of a language and in debugging Lisp
+programs that use the syntax tree, Emacs provides an ``explore'' mode,
+which displays the syntax tree of the source in the current buffer in
+real time. Emacs also comes with an ``inspect mode'', which displays
+information of the nodes at point in the mode-line.
@deffn Command treesit-explore-mode
This mode pops up a window displaying the syntax tree of the source in
@@ -271,7 +271,7 @@ parser in @code{(treesit-parser-list)} (@pxref{Using Parser}).
@heading Reading the grammar definition
@cindex reading grammar definition, tree-sitter
-Authors of language grammar define the @dfn{grammar} of a
+Authors of language grammars define the @dfn{grammar} of a
programming language, which determines how a parser constructs a
concrete syntax tree out of the program text. In order to use the
syntax tree effectively, you need to consult the @dfn{grammar file}.
@@ -283,7 +283,7 @@ home page can be found on
homepage}.
The grammar definition is written in JavaScript. For example, the
-rule matching a @code{function_definition} node looks like
+rule matching a @code{function_definition} node may look like
@example
@group
@@ -331,13 +331,13 @@ matches each rule one after another.
@item choice(@var{rule1}, @var{rule2}, @dots{})
matches one of the rules in its arguments.
@item repeat(@var{rule})
-matches @var{rule} for @emph{zero or more} times.
+matches @var{rule} @emph{zero or more} times.
This is like the @samp{*} operator in regular expressions.
@item repeat1(@var{rule})
-matches @var{rule} for @emph{one or more} times.
+matches @var{rule} @emph{one or more} times.
This is like the @samp{+} operator in regular expressions.
@item optional(@var{rule})
-matches @var{rule} for @emph{zero or one} time.
+matches @var{rule} @emph{zero or one} times.
This is like the @samp{?} operator in regular expressions.
@item field(@var{name}, @var{rule})
assigns field name @var{name} to the child node matched by @var{rule}.
@@ -366,7 +366,7 @@ Nodes}.
@item token.immediate(@var{rule})
Normally, grammar rules ignore preceding whitespace; this
changes @var{rule} to match only when there is no preceding
-whitespaces.
+whitespace.
@item prec(@var{n}, @var{rule})
gives @var{rule} the level-@var{n} precedence.
@item prec.left([@var{n},] @var{rule})
@@ -412,7 +412,7 @@ non-@code{nil}, this function always creates a new parser.
If that buffer is an indirect buffer, its base buffer is used instead.
That is, indirect buffers use their base buffer's parsers. If the
base buffer is narrowed, an indirect buffer might not be able to
-retrieve information of the portion of the buffer text that are
+retrieve information of the portion of the buffer text that is
invisible in the base buffer. Lisp programs should widen as necessary
should they want to use a parser in an indirect buffer.
@end defun
@@ -441,7 +441,7 @@ change is made in the buffer, a parser doesn't re-parse immediately.
@vindex treesit-buffer-too-large
When a parser does parse, it checks for the size of the buffer.
-Tree-sitter can only handle buffer no larger than about 4GB. If the
+Tree-sitter can only handle buffers no larger than about 4GB@. If the
size exceeds that, Emacs signals the @code{treesit-buffer-too-large}
error with signal data being the buffer size.
@@ -500,13 +500,12 @@ converts text before that token into a comment. Even
though the text is not directly edited, it is deemed to be ``changed''
nevertheless.
-Emacs lets a Lisp program to register callback functions
-(a.k.a.@: @dfn{notifiers}) for this kind of changes. A notifier
-function takes two arguments: @var{ranges} and @var{parser}.
-@var{ranges} is a list of cons cells of the form @w{@code{(@var{start}
-. @var{end})}}, where @var{start} and @var{end} mark the start and the
-end positions of a range. @var{parser} is the parser issuing the
-notification.
+Emacs lets a Lisp program register callback functions (a.k.a.@:
+@dfn{notifiers}) for these kinds of changes. A notifier function
+takes two arguments: @var{ranges} and @var{parser}. @var{ranges} is a
+list of cons cells of the form @w{@code{(@var{start} . @var{end})}},
+where @var{start} and @var{end} mark the start and the end positions
+of a range. @var{parser} is the parser issuing the notification.
Every time a parser reparses a buffer, it compares the old and new
parse-tree, computes the ranges in which nodes have changed, and
@@ -537,7 +536,7 @@ This function returns the list of @var{parser}'s notifier functions.
@cindex get node, tree-sitter
@cindex terminology, for tree-sitter functions
-Here's some terminology and conventions we use when documenting
+Here are some terms and conventions we use when documenting
tree-sitter functions.
A node in a syntax tree spans some portion of the program text in the
@@ -571,8 +570,8 @@ This function returns a @dfn{leaf} node at buffer position @var{pos}.
A leaf node is a node that doesn't have any child nodes.
This function tries to return a node whose span covers @var{pos}: the
-node's beginning position is less or equal to @var{pos}, and the
-node's end position is greater or equal to @var{pos}.
+node's beginning position is less than or equal to @var{pos}, and the
+node's end position is greater than or equal to @var{pos}.
If no leaf node's span covers @var{pos} (e.g., @var{pos} is in the
whitespace between two leaf nodes), this function returns the first
@@ -612,7 +611,7 @@ start of the node is before or at @var{beg}, and the end of the node
is at or after @var{end}.
@emph{Beware:} calling this function on an empty line that is not
-inside any top-level construct (function definition, etc.) most
+inside any top-level construct (function definition, etc.@:) most
probably will give you the root node, because the root node is the
smallest node that covers that empty line. Most of the time, you want
to use @code{treesit-node-at} instead.
@@ -656,7 +655,7 @@ it, or query for information about this node.
This function returns the immediate parent of @var{node}.
If @var{node} is more than 1000 levels deep in a parse tree, the
-return value is undefined. Currently it returns @var{nil}, but that
+return value is undefined. Currently it returns @code{nil}, but that
could change in the future.
@end defun
@@ -672,7 +671,7 @@ first child is the opening quote @code{"}, and the first named child
is the string text.
This function returns @code{nil} if there is no @var{n}'th child.
-@var{n} could be negative, e.g., @code{-1} represents the last child.
+@var{n} could be negative, e.g., @minus{}1 represents the last child.
@end defun
@defun treesit-node-children node &optional named
@@ -694,7 +693,7 @@ This function finds the previous sibling of @var{node}. If
@cindex nodes, by field name
@cindex syntax tree nodes, by field name
-To make the syntax tree easier to analyze, many language grammar
+To make the syntax tree easier to analyze, many language grammars
assign @dfn{field names} to child nodes (@pxref{tree-sitter node field
name, field name}). For example, a @code{function_definition} node
could have a @code{declarator} node and a @code{body} node.
@@ -729,7 +728,7 @@ first named child (@pxref{tree-sitter named node, named node}).
This function finds the @emph{smallest} descendant node of @var{node}
that spans the region of text between positions @var{beg} and
@var{end}. It is similar to @code{treesit-node-at}. If @var{named}
-is non-@code{nil}, it looks for smallest named child.
+is non-@code{nil}, it looks for the smallest named child.
@end defun
@heading Searching for node
@@ -755,8 +754,8 @@ defaults to 1000.
Like @code{treesit-search-subtree}, this function also traverses the
parse tree and matches each node with @var{predicate} (except for
@var{start}), where @var{predicate} can be a regexp or a function.
-For a tree like the below where @var{start} is marked S, this function
-traverses as numbered from 1 to 12:
+For a tree like the one below where @var{start} is marked @samp{S},
+this function traverses as numbered from 1 to 12:
@example
@group
@@ -773,7 +772,7 @@ o o +-+-+ +--+--+
@end example
Note that this function doesn't traverse the subtree of @var{start},
-and it always traverse leaf nodes first, then upwards.
+and it always traverses leaf nodes first, before moving upwards.
Like @code{treesit-search-subtree}, this function only searches for
named nodes by default, but if @var{all} is non-@code{nil}, it
@@ -786,10 +785,10 @@ that comes after it in the buffer position order, i.e., nodes with
start positions greater than the end position of @var{start}.
In the tree shown above, @code{treesit-search-subtree} traverses node
-S (@var{start}) and nodes marked with @code{o}, where this function
-traverses the nodes marked with numbers. This function is useful for
-answering questions like ``what is the first node after @var{start} in
-the buffer that satisfies some condition?''
+@samp{S} (@var{start}) and nodes marked with @code{o}, where this
+function traverses the nodes marked with numbers. This function is
+useful for answering questions like ``what is the first node after
+@var{start} in the buffer that satisfies some condition?''
@end defun
@defun treesit-search-forward-goto node predicate &optional start backward all
@@ -801,7 +800,7 @@ This function guarantees that the matched node it returns makes
progress in terms of buffer position: the start/end position of the
returned node is always greater than that of @var{node}.
-Arguments @var{predicate}, @var{backward} and @var{all} are the same
+Arguments @var{predicate}, @var{backward}, and @var{all} are the same
as in @code{treesit-search-forward}.
@end defun
@@ -811,12 +810,12 @@ This function creates a sparse tree from @var{root}'s subtree.
It takes the subtree under @var{root}, and combs it so only the nodes
that match @var{predicate} are left. Like previous functions, the
@var{predicate} can be a regexp string that matches against each
-node's type, or a function that takes a node and return non-@code{nil}
-if it matches.
+node's type, or a function that takes a node and returns
+non-@code{nil} if it matches.
-For example, for a subtree on the left that consist of both numbers
-and letters, if @var{predicate} is ``letter only'', the returned tree
-is the one on the right.
+For example, given the subtree on the left that consists of both
+numbers and letters, if @var{predicate} is ``letter only'', the
+returned tree is the one on the right.
@example
@group
@@ -836,13 +835,13 @@ b 1 2 b | | b c d
If @var{process-fn} is non-@code{nil}, instead of returning the
matched nodes, this function passes each node to @var{process-fn} and
-uses the returned value instead. If non-@code{nil}, @var{depth} is
-the number of levels to go down from @var{root}. If @var{depth} is
-@code{nil}, it defaults to 1000.
+uses the returned value instead. If non-@code{nil}, @var{depth}
+limits the number of levels to go down from @var{root}. If
+@var{depth} is @code{nil}, it defaults to 1000.
Each node in the returned tree looks like
@w{@code{(@var{tree-sitter-node} . (@var{child} @dots{}))}}. The
-@var{tree-sitter-node} of the root of this tree will be nil if
+@var{tree-sitter-node} of the root of this tree will be @code{nil} if
@var{root} doesn't match @var{predicate}. If no node matches
@var{predicate}, the function returns @code{nil}.
@end defun
@@ -900,30 +899,30 @@ omitted, unlike in their original functions.
This function finds immediate children of @var{node} that satisfy
@var{predicate}.
-The @var{predicate} function takes a node as the argument and should
+The @var{predicate} function takes a node as argument and should
return non-@code{nil} to indicate that the node should be kept. If
-@var{named} is non-@code{nil}, this function only examines the named
+@var{named} is non-@code{nil}, this function only examines named
nodes.
@end defun
@defun treesit-parent-until node predicate &optional include-node
This function repeatedly finds the parents of @var{node}, and returns
the parent that satisfies @var{pred}, a function that takes a node as
-the argument and returns a boolean that indicates a match. If no
-parent satisfies @var{pred}, this function returns @code{nil}.
+argument and returns a boolean that indicates a match. If no parent
+satisfies @var{pred}, this function returns @code{nil}.
Normally this function only looks at the parents of @var{node} but not
-@var{node} itself. But if @var{include-node} is non-@var{nil}, this
+@var{node} itself. But if @var{include-node} is non-@code{nil}, this
function returns @var{node} if @var{node} satisfies @var{pred}.
@end defun
@defun treesit-parent-while node pred
This function goes up the tree starting from @var{node}, and keeps
doing so as long as the nodes satisfy @var{pred}, a function that
-takes a node as the argument. That is, this function returns the
-highest parent of @var{node} that still satisfies @var{pred}. Note
-that if @var{node} satisfies @var{pred} but its immediate parent
-doesn't, @var{node} itself is returned.
+takes a node as argument. That is, this function returns the highest
+parent of @var{node} that still satisfies @var{pred}. Note that if
+@var{node} satisfies @var{pred} but its immediate parent doesn't,
+@var{node} itself is returned.
@end defun
@defun treesit-node-top-level node &optional type
@@ -1026,7 +1025,7 @@ has an error.
@cindex tree-sitter, live parsing node
@cindex live node, tree-sitter
A node is considered @dfn{live} if its parser is not deleted, and the
-buffer to which it belongs to is a live buffer (@pxref{Killing Buffers}).
+buffer to which it belongs is a live buffer (@pxref{Killing Buffers}).
@defun treesit-node-check node property
This function returns non-@code{nil} if @var{node} has the specified
@@ -1063,12 +1062,12 @@ This function returns the field name of the @var{n}'th child of
@var{node}. It returns @code{nil} if there is no @var{n}'th child, or
the @var{n}'th child doesn't have a field name.
-Note that @var{n} counts both named and anonymous child. And @var{n}
-could be negative, e.g., @code{-1} represents the last child.
+Note that @var{n} counts both named and anonymous children, and
+@var{n} can be negative, e.g., @minus{}1 represents the last child.
@end defun
@defun treesit-node-child-count node &optional named
-This function finds the number of children of @var{node}. If
+This function returns the number of children of @var{node}. If
@var{named} is non-@code{nil}, it only counts named children
(@pxref{tree-sitter named node, named node}).
@end defun
@@ -1095,7 +1094,7 @@ finally the more advanced pattern syntax.
@cindex query, tree-sitter
A @dfn{query} consists of multiple @dfn{patterns}. Each pattern is an
s-expression that matches a certain node in the syntax node. A
-pattern has the form @w{@code{(@var{type} (@var{child}@dots{}))}}
+pattern has the form @w{@code{(@var{type} (@var{child}@dots{}))}}.
For example, a pattern that matches a @code{binary_expression} node that
contains @code{number_literal} child nodes would look like
@@ -1131,25 +1130,26 @@ example, the capture name @code{biexp}:
Now we can introduce the @dfn{query functions}.
@defun treesit-query-capture node query &optional beg end node-only
-This function matches patterns in @var{query} within @var{node}.
-The argument @var{query} can be either a string, a s-expression, or a
-compiled query object. For now, we focus on the string syntax;
-s-expression syntax and compiled query are described at the end of the
-section.
+This function matches patterns in @var{query} within @var{node}. The
+argument @var{query} can be either an s-expression, a string, or a
+compiled query object. For now, we focus on the s-expression syntax;
+string syntax and compiled queries are described at the end of
+the section.
The argument @var{node} can also be a parser or a language symbol. A
-parser means using its root node, a language symbol means find or
-create a parser for that language in the current buffer, and use the
-root node.
-
-The function returns all the captured nodes in a list of the form
-@w{@code{(@var{capture_name} . @var{node})}}. If @var{node-only} is
-non-@code{nil}, it returns the list of nodes instead. By default the
-entire text of @var{node} is searched, but if @var{beg} and @var{end}
-are both non-@code{nil}, they specify the region of buffer text where
-this function should match nodes. Any matching node whose span
-overlaps with the region between @var{beg} and @var{end} are captured,
-it doesn't have to be completely in the region.
+parser means use its root node, a language symbol means find or create
+a parser for that language in the current buffer, and use the root
+node.
+
+The function returns all the captured nodes in an alist with elements
+of the form @w{@code{(@var{capture_name} . @var{node})}}. If
+@var{node-only} is non-@code{nil}, it returns the list of @var{node}s
+instead. By default the entire text of @var{node} is searched, but if
+@var{beg} and @var{end} are both non-@code{nil}, they specify the
+region of buffer text where this function should match nodes. Any
+matching node whose span overlaps with the region between @var{beg}
+and @var{end} is captured; it doesn't have to be completely contained
+in the region.
@vindex treesit-query-error
@findex treesit-query-validate
@@ -1165,8 +1165,8 @@ For example, suppose @var{node}'s text is @code{1 + 2}, and
@example
@group
(setq query
- "(binary_expression
- (number_literal) @@number-in-exp) @@biexp")
+ '((binary_expression
+ (number_literal) @@number-in-exp) @@biexp)
@end group
@end example
@@ -1187,19 +1187,19 @@ For example, it could have two top-level patterns:
@example
@group
(setq query
- "(binary_expression) @@biexp
- (number_literal) @@number @@biexp")
+ '((binary_expression) @@biexp
+ (number_literal) @@number @@biexp)
@end group
@end example
@defun treesit-query-string string query language
-This function parses @var{string} with @var{language}, matches its
-root node with @var{query}, and returns the result.
+This function parses @var{string} as @var{language}, matches its root
+node with @var{query}, and returns the result.
@end defun
@heading More query syntax
-Besides node type and capture, tree-sitter's pattern syntax can
+Besides node type and capture name, tree-sitter's pattern syntax can
express anonymous node, field name, wildcard, quantification,
grouping, alternation, anchor, and predicate.
@@ -1215,11 +1215,11 @@ pattern matching (and capturing) keyword @code{return} would be
@subheading Wild card
In a pattern, @samp{(_)} matches any named node, and @samp{_} matches
-any named and anonymous node. For example, to capture any named child
+any named or anonymous node. For example, to capture any named child
of a @code{binary_expression} node, the pattern would be
@example
-(binary_expression (_) @@in_biexp)
+(binary_expression (_) @@in-biexp)
@end example
@subheading Field name
@@ -1237,7 +1237,7 @@ names, indicated by the colon following them.
@end example
It is also possible to capture a node that doesn't have a certain
-field, say, a @code{function_definition} without a @code{body} field.
+field, say, a @code{function_definition} without a @code{body} field:
@example
(function_definition !body) @@func-no-body
@@ -1246,41 +1246,40 @@ field, say, a @code{function_definition} without a @code{body} field.
@subheading Quantify node
@cindex quantify node, tree-sitter
-Tree-sitter recognizes quantification operators @samp{*}, @samp{+} and
-@samp{?}. Their meanings are the same as in regular expressions:
-@samp{*} matches the preceding pattern zero or more times, @samp{+}
-matches one or more times, and @samp{?} matches zero or one time.
+Tree-sitter recognizes quantification operators @samp{:*}, @samp{:+},
+and @samp{:?}. Their meanings are the same as in regular expressions:
+@samp{:*} matches the preceding pattern zero or more times, @samp{:+}
+matches one or more times, and @samp{:?} matches zero or one times.
For example, the following pattern matches @code{type_declaration}
-nodes that has @emph{zero or more} @code{long} keyword.
+nodes that have @emph{zero or more} @code{long} keywords.
@example
-(type_declaration "long"*) @@long-type
+(type_declaration "long" :*) @@long-type
@end example
-The following pattern matches a type declaration that has zero or one
-@code{long} keyword:
+The following pattern matches a type declaration that may or may not
+have a @code{long} keyword:
@example
-(type_declaration "long"?) @@long-type
+(type_declaration "long" :?) @@long-type
@end example
@subheading Grouping
-Similar to groups in regular expression, we can bundle patterns into
+Similar to groups in regular expressions, we can bundle patterns into
groups and apply quantification operators to them. For example, to
-express a comma separated list of identifiers, one could write
+express a comma-separated list of identifiers, one could write
@example
-(identifier) ("," (identifier))*
+(identifier) ("," (identifier)) :*
@end example
@subheading Alternation
-Again, similar to regular expressions, we can express ``match anyone
-from this group of patterns'' in a pattern. The syntax is a list of
-patterns enclosed in square brackets. For example, to capture some
-keywords in C, the pattern would be
+Again, similar to regular expressions, we can express ``match any one
+of these patterns'' in a pattern. The syntax is a vector of patterns.
+For example, to capture some keywords in C, the pattern would be
@example
@group
@@ -1295,7 +1294,7 @@ keywords in C, the pattern would be
@subheading Anchor
-The anchor operator @samp{.} can be used to enforce juxtaposition,
+The anchor operator @code{:anchor} can be used to enforce juxtaposition,
i.e., to enforce two things to be directly next to each other. The
two ``things'' can be two nodes, or a child and the end of its parent.
For example, to capture the first child, the last child, or two
@@ -1304,19 +1303,19 @@ adjacent children:
@example
@group
;; Anchor the child with the end of its parent.
-(compound_expression (_) @@last-child .)
+(compound_expression (_) @@last-child :anchor)
@end group
@group
;; Anchor the child with the beginning of its parent.
-(compound_expression . (_) @@first-child)
+(compound_expression :anchor (_) @@first-child)
@end group
@group
;; Anchor two adjacent children.
(compound_expression
(_) @@prev-child
- .
+ :anchor
(_) @@next-child)
@end group
@end example
@@ -1332,31 +1331,31 @@ example, with the following pattern:
@example
@group
(
- (array . (_) @@first (_) @@last .)
- (#equal @@first @@last)
+ (array :anchor (_) @@first (_) @@last :anchor)
+ (:equal @@first @@last)
)
@end group
@end example
@noindent
-tree-sitter only matches arrays where the first element equals to the
-last element. To attach a predicate to a pattern, we need to group
-them together. A predicate always starts with a @samp{#}. Currently
-there are three predicates, @code{#equal}, @code{#match}, and
-@code{#pred}.
-
-@deffn Predicate equal arg1 arg2
-Matches if @var{arg1} equals to @var{arg2}. Arguments can be either
+tree-sitter only matches arrays where the first element is equal to
+the last element. To attach a predicate to a pattern, we need to
+group them together. Currently there are three predicates:
+@code{:equal}, @code{:match}, and @code{:pred}.
+
+@deffn Predicate :equal arg1 arg2
+Matches if @var{arg1} is equal to @var{arg2}. Arguments can be either
strings or capture names. Capture names represent the text that the
captured node spans in the buffer.
@end deffn
-@deffn Predicate match regexp capture-name
+@deffn Predicate :match regexp capture-name
Matches if the text that @var{capture-name}'s node spans in the buffer
-matches regular expression @var{regexp}. Matching is case-sensitive.
+matches regular expression @var{regexp}, given as a string literal.
+Matching is case-sensitive.
@end deffn
-@deffn Predicate pred fn &rest nodes
+@deffn Predicate :pred fn &rest nodes
Matches if function @var{fn} returns non-@code{nil} when passed each
node in @var{nodes} as arguments. The function runs with the current
buffer set to the buffer of node being queried.
@@ -1366,23 +1365,23 @@ Note that a predicate can only refer to capture names that appear in
the same pattern. Indeed, it makes little sense to refer to capture
names in other patterns.
-@heading S-expression patterns
+@heading String patterns
-@cindex tree-sitter patterns as sexps
-@cindex patterns, tree-sitter, in sexp form
-Besides strings, Emacs provides a s-expression based syntax for
-tree-sitter patterns. It largely resembles the string-based syntax.
-For example, the following query
+@cindex tree-sitter patterns as strings
+@cindex patterns, tree-sitter, in string form
+Besides s-expressions, Emacs allows the tree-sitter's native query
+syntax to be used by writing them as strings. It largely resembles
+the s-expression syntax. For example, the following query
@example
@group
(treesit-query-capture
- node "(addition_expression
- left: (_) @@left
- \"+\" @@plus-sign
- right: (_) @@right) @@addition
+ node '((addition_expression
+ left: (_) @@left
+ "+" @@plus-sign
+ right: (_) @@right) @@addition
- [\"return\" \"break\"] @@keyword")
+ ["return" "break"] @@keyword))
@end group
@end example
@@ -1392,52 +1391,53 @@ is equivalent to
@example
@group
(treesit-query-capture
- node '((addition_expression
- left: (_) @@left
- "+" @@plus-sign
- right: (_) @@right) @@addition
+ node "(addition_expression
+ left: (_) @@left
+ \"+\" @@plus-sign
+ right: (_) @@right) @@addition
- ["return" "break"] @@keyword))
+ [\"return\" \"break\"] @@keyword")
@end group
@end example
-Most patterns can be written directly as strange but nevertheless
-valid s-expressions. Only a few of them needs modification:
+Most patterns can be written directly as s-expressions inside a string.
+Only a few of them need modification:
@itemize
@item
-Anchor @samp{.} is written as @code{:anchor}.
+Anchor @code{:anchor} is written as @samp{.}.
@item
-@samp{?} is written as @samp{:?}.
+@samp{:?} is written as @samp{?}.
@item
-@samp{*} is written as @samp{:*}.
+@samp{:*} is written as @samp{*}.
@item
-@samp{+} is written as @samp{:+}.
+@samp{:+} is written as @samp{+}.
@item
-@code{#equal} is written as @code{:equal}. In general, predicates
-change their @samp{#} to @samp{:}.
+@code{:equal}, @code{:match} and @code{:pred} are written as
+@code{#equal}, @code{#match} and @code{#pred}, respectively.
+In general, predicates change their @samp{:} to @samp{#}.
@end itemize
For example,
@example
@group
-"(
- (compound_expression . (_) @@first (_)* @@rest)
- (#match \"love\" @@first)
- )"
+'((
+ (compound_expression :anchor (_) @@first (_) :* @@rest)
+ (:match "love" @@first)
+ ))
@end group
@end example
@noindent
-is written in s-expression as
+is written in string form as
@example
@group
-'((
- (compound_expression :anchor (_) @@first (_) :* @@rest)
- (:match "love" @@first)
- ))
+"(
+ (compound_expression . (_) @@first (_)* @@rest)
+ (#match \"love\" @@first)
+ )"
@end group
@end example
@@ -1461,7 +1461,7 @@ validate and debug the query.
@end defun
@defun treesit-query-language query
-This function return the language of @var{query}.
+This function returns the language of @var{query}.
@end defun
@defun treesit-query-expand query
@@ -1488,8 +1488,8 @@ example. In that case, text segments written in different languages
need to be assigned different parsers. Traditionally, this is
achieved by using narrowing. While tree-sitter works with narrowing
(@pxref{tree-sitter narrowing, narrowing}), the recommended way is
-instead to set regions of buffer text (i.e., ranges) in which a parser
-will operate. This section describes functions for setting and
+instead to specify regions of buffer text (i.e., ranges) in which a
+parser will operate. This section describes functions for setting and
getting ranges for a parser.
Lisp programs should call @code{treesit-update-ranges} to make sure
@@ -1507,7 +1507,7 @@ end of the section.
@defun treesit-parser-set-included-ranges parser ranges
This function sets up @var{parser} to operate on @var{ranges}. The
@var{parser} will only read the text of the specified ranges. Each
-range in @var{ranges} is a list of the form @w{@code{(@var{beg}
+range in @var{ranges} is a pair of the form @w{@code{(@var{beg}
. @var{end})}}.
The ranges in @var{ranges} must come in order and must not overlap.
@@ -1581,7 +1581,7 @@ Like other query functions, this function raises the
@heading Supporting multiple languages in Lisp programs
It should suffice for general Lisp programs to call the following two
-functions in order to support program sources that mixes multiple
+functions in order to support program sources that mix multiple
languages.
@defun treesit-update-ranges &optional beg end
@@ -1617,13 +1617,13 @@ language's parser, retrieves some information, sets ranges for the
embedded languages with that information, and then parses the embedded
languages.
-Take a buffer containing @acronym{HTML}, @acronym{CSS} and JavaScript
+Take a buffer containing @acronym{HTML}, @acronym{CSS}, and JavaScript
as an example. A Lisp program will first parse the whole buffer with
an @acronym{HTML} parser, then query the parser for
-@code{style_element} and @code{script_element} nodes, which
-correspond to @acronym{CSS} and JavaScript text, respectively. Then
-it sets the range of the @acronym{CSS} and JavaScript parser to the
-ranges in which their corresponding nodes span.
+@code{style_element} and @code{script_element} nodes, which correspond
+to @acronym{CSS} and JavaScript text, respectively. Then it sets the
+range of the @acronym{CSS} and JavaScript parsers to the range which
+their corresponding nodes span.
Given a simple @acronym{HTML} document:
@@ -1653,7 +1653,7 @@ ranges for @acronym{CSS} and JavaScript parsers:
(setq css-range
(treesit-query-range
'html
- "(style_element (raw_text) @@capture)"))
+ '((style_element (raw_text) @@capture))))
(treesit-parser-set-included-ranges css css-range)
@end group
@@ -1662,7 +1662,7 @@ ranges for @acronym{CSS} and JavaScript parsers:
(setq js-range
(treesit-query-range
'html
- "(script_element (raw_text) @@capture)"))
+ '((script_element (raw_text) @@capture))))
(treesit-parser-set-included-ranges js js-range)
@end group
@end example
@@ -1677,42 +1677,42 @@ directly translate into operations shown above.
@example
@group
-(setq-local treesit-range-settings
- (treesit-range-rules
- :embed 'javascript
- :host 'html
- '((script_element (raw_text) @@capture))
+(setq treesit-range-settings
+ (treesit-range-rules
+ :embed 'javascript
+ :host 'html
+ '((script_element (raw_text) @@capture))
@end group
@group
- :embed 'css
- :host 'html
- '((style_element (raw_text) @@capture))))
+ :embed 'css
+ :host 'html
+ '((style_element (raw_text) @@capture))))
@end group
@end example
@defun treesit-range-rules &rest query-specs
-This function is used to set @var{treesit-range-settings}. It
-takes care of compiling queries and other post-processing, and outputs
-a value that @var{treesit-range-settings} can have.
+This function is used to set @code{treesit-range-settings}. It takes
+care of compiling queries and other post-processing, and outputs a
+value that @code{treesit-range-settings} can have.
It takes a series of @var{query-spec}s, where each @var{query-spec} is
a @var{query} preceded by zero or more @var{keyword}/@var{value}
-pairs. Each @var{query} is a tree-sitter query in either the
-string, s-expression or compiled form, or a function.
+pairs. Each @var{query} is a tree-sitter query in either the string,
+s-expression, or compiled form, or a function.
If @var{query} is a tree-sitter query, it should be preceded by two
-@var{:keyword}/@var{value} pairs, where the @code{:embed} keyword
+@var{keyword}/@var{value} pairs, where the @code{:embed} keyword
specifies the embedded language, and the @code{:host} keyword
-specified the host language.
+specifies the host language.
@code{treesit-update-ranges} uses @var{query} to figure out how to set
the ranges for parsers for the embedded language. It queries
-@var{query} in a host language parser, computes the ranges in which
-the captured nodes span, and applies these ranges to embedded
-language parsers.
+@var{query} in a host language parser, computes the ranges which the
+captured nodes span, and applies these ranges to embedded language
+parsers.
-If @var{query} is a function, it doesn't need any @var{:keyword} and
+If @var{query} is a function, it doesn't need any @var{keyword} and
@var{value} pair. It should be a function that takes 2 arguments,
@var{start} and @var{end}, and sets the ranges for parsers in the
current buffer in the region between @var{start} and @var{end}. It is
@@ -1765,8 +1765,8 @@ this pattern:
@code{treesit-ready-p} automatically emits a warning if conditions for
enabling tree-sitter aren't met.
-If a tree-sitter major mode shares setup with their ``native''
-counterpart, they can create a ``base mode'' that contains the common
+If a tree-sitter major mode shares setup with its ``native''
+counterpart, one can create a ``base mode'' that contains the common
setup, like this:
@example
@@ -1797,9 +1797,9 @@ setup, like this:
@defun treesit-ready-p language &optional quiet
This function checks for conditions for activating tree-sitter. It
checks whether Emacs was built with tree-sitter, whether the buffer's
-size is not too large for tree-sitter to handle it, and whether the
-language grammar for @var{language} is available on the system
-(@pxref{Language Grammar}).
+size is not too large for tree-sitter to handle, and whether the
+grammar for @var{language} is available on the system (@pxref{Language
+Grammar}).
This function emits a warning if tree-sitter cannot be activated. If
@var{quiet} is @code{message}, the warning is turned into a message;
@@ -1837,7 +1837,7 @@ non-@code{nil}, it sets up Imenu.
@end itemize
@end defun
-For more information of these built-in tree-sitter features,
+For more information on these built-in tree-sitter features,
@pxref{Parser-based Font Lock}, @pxref{Parser-based Indentation}, and
@pxref{List Motion}.
@@ -1876,28 +1876,17 @@ always returns @code{nil}.
@defvar treesit-defun-name-function
If non-@code{nil}, this variable's value should be a function that is
called with a node as its argument, and returns the defun name of the
-node. The function should have the same semantic as
+node. The function should have the same semantics as
@code{treesit-defun-name}: if the node is not a defun node, or the
node is a defun node but doesn't have a name, or the node is
@code{nil}, it should return @code{nil}.
@end defvar
-@defvar treesit-defun-type-regexp
-This variable determines which nodes are considered defuns by Emacs.
-It can be a regexp that matches the type of defun nodes.
-
-Sometimes not all nodes matched by the regexp are valid defuns.
-Therefore, this variable can also be a cons cell of the form
-@w{(@var{regexp} . @var{pred})}, where @var{pred} should be a function
-that takes a node as its argument, and returns @code{t} if the node is
-valid defun, or @code{nil} if it is not valid.
-@end defvar
-
@node Tree-sitter C API
@section Tree-sitter C API Correspondence
Emacs' tree-sitter integration doesn't expose every feature
-provided by tree-sitter's C API. Missing features include:
+provided by tree-sitter's C API@. Missing features include:
@itemize
@item
@@ -1928,7 +1917,7 @@ convenient and idiomatic:
Instead of using byte positions, the Emacs Lisp API uses character
positions.
@item
-Null nodes are converted to nil.
+Null nodes are converted to @code{nil}.
@end itemize
Below is the correspondence between all C API functions and their
@@ -1980,7 +1969,7 @@ ts_node_field_name_for_child treesit-node-field-name-for-child
ts_node_child_count treesit-node-child-count
ts_node_named_child treesit-node-child
ts_node_named_child_count treesit-node-child-count
-ts_node_child_by_field_name treesit-node-by-field-name
+ts_node_child_by_field_name treesit-node-child-by-field-name
ts_node_child_by_field_id
ts_node_next_sibling treesit-node-next-sibling
ts_node_prev_sibling treesit-node-prev-sibling
@@ -1988,9 +1977,9 @@ ts_node_next_named_sibling treesit-node-next-sibling
ts_node_prev_named_sibling treesit-node-prev-sibling
ts_node_first_child_for_byte treesit-node-first-child-for-pos
ts_node_first_named_child_for_byte treesit-node-first-child-for-pos
-ts_node_descendant_for_byte_range treesit-descendant-for-range
+ts_node_descendant_for_byte_range treesit-node-descendant-for-range
ts_node_descendant_for_point_range
-ts_node_named_descendant_for_byte_range treesit-descendant-for-range
+ts_node_named_descendant_for_byte_range treesit-node-descendant-for-range
ts_node_named_descendant_for_point_range
ts_node_edit
ts_node_eq treesit-node-eq
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index edc7c86533c..a308f2dfc4e 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -844,18 +844,25 @@ the mode can get navigation-by-defun functionality for free, by using
@code{treesit-beginning-of-defun} and @code{treesit-end-of-defun}.
@defvar treesit-defun-type-regexp
-The value of this variable is a regexp matching the node type of defun
-nodes. (For ``node'' and ``node type'', @pxref{Parsing Program Source}.)
+This variable determines which nodes are considered defuns by Emacs.
+It can be a regexp that matches the type of defun nodes. (For
+``node'' and ``node type'', @pxref{Parsing Program Source}.)
For example, @code{python-mode} sets this variable to a regexp that
-matches either @code{"function_definition"} or @code{"class_definition"}.
+matches either @samp{function_definition} or @samp{class_definition}.
+
+Sometimes not all nodes matched by the regexp are valid defuns.
+Therefore, this variable can also be a cons cell of the form
+@w{(@var{regexp} . @var{pred})}, where @var{pred} should be a function
+that takes a node as its argument, and returns non-@code{nil} if the
+node is a valid defun, or @code{nil} if it is not valid.
@end defvar
@defvar treesit-defun-tactic
-This variable determines how Emacs treats nested defuns. If the
-value is @code{top-level}, navigation functions only move across
-top-level defuns, if the value is @code{nested}, navigation functions
-recognize nested defuns.
+This variable determines how Emacs treats nested defuns. If the value
+is @code{top-level}, navigation functions only move across top-level
+defuns. If the value is @code{nested}, navigation functions recognize
+nested defuns.
@end defvar
@defvar treesit-sentence-type-regexp
@@ -1188,6 +1195,7 @@ saved bounds. In that case it is equivalent to
@end example
@cindex labeled narrowing
+@cindex labeled restriction
When the optional argument @var{label}, a symbol, is present, the
narrowing is @dfn{labeled}. A labeled narrowing differs from a
non-labeled one in several ways:
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 50e67475d8e..43c794104b8 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1755,7 +1755,9 @@ caught automatically, so that it doesn't stop the execution of whatever
program was running when the filter function was started. However, if
@code{debug-on-error} is non-@code{nil}, errors are not caught.
This makes it possible to use the Lisp debugger to debug filter
-functions. @xref{Debugger}.
+functions. @xref{Debugger}. If an error is caught, Emacs pauses for
+@code{process-error-pause-time} seconds so that the user sees the
+error. @xref{Asynchronous Processes}
Many filter functions sometimes (or always) insert the output in the
process's buffer, mimicking the actions of the default filter.
@@ -2159,7 +2161,9 @@ automatically, so that it doesn't stop the execution of whatever
programs was running when the sentinel was started. However, if
@code{debug-on-error} is non-@code{nil}, errors are not caught.
This makes it possible to use the Lisp debugger to debug the
-sentinel. @xref{Debugger}.
+sentinel. @xref{Debugger}. If an error is caught, Emacs pauses for
+@code{process-error-pause-time} seconds so that the user sees the
+error. @xref{Asynchronous Processes}
While a sentinel is running, the process sentinel is temporarily
set to @code{nil} so that the sentinel won't run recursively.
@@ -2658,7 +2662,7 @@ naming the certificate key file and certificate file itself, or
Library}). Only used for @acronym{TLS} or @acronym{STARTTLS}. To
enable automatic queries of @code{auth-source} when
@code{:client-certificate} is not specified customize
-@code{network-stream-use-client-certificates} to t.
+@code{network-stream-use-client-certificates} to @code{t}.
@item :return-list @var{cons-or-nil}
The return value of this function. If omitted or @code{nil}, return a
@@ -3571,7 +3575,7 @@ and @code{#x1c} @code{#x28} to @w{@code{(3 5 10 11 12)}}.
@item fill @var{len}
@var{len} bytes used as a mere filler. In packing, these bytes are
left unchanged, which normally means they remain zero.
-When unpacking, this just returns nil.
+When unpacking, this just returns @code{nil}.
@item align @var{len}
Same as @code{fill} except the number of bytes is that needed to skip
diff --git a/doc/lispref/records.texi b/doc/lispref/records.texi
index 26c6f30a6b5..287ad869297 100644
--- a/doc/lispref/records.texi
+++ b/doc/lispref/records.texi
@@ -81,6 +81,10 @@ This function returns a new record with type @var{type} and
@end example
@end defun
+To copy trees consisting of records, vectors and conses (lists), use
+@code{copy-tree} with its optional second argument non-@code{nil}.
+@xref{Building Lists, copy-tree}.
+
@node Backward Compatibility
@section Backward Compatibility
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 06b3556c855..a0289d1f3cd 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -18,11 +18,12 @@ portions of it.
* Searching and Case:: Case-independent or case-significant searching.
* Regular Expressions:: Describing classes of strings.
* Regexp Search:: Searching for a match for a regexp.
-* POSIX Regexps:: Searching POSIX-style for the longest match.
+* Longest Match:: Searching for the longest match.
* Match Data:: Finding out which part of the text matched,
after a string or regexp search.
* Search and Replace:: Commands that loop, searching and replacing.
* Standard Regexps:: Useful regexps for finding sentences, pages,...
+* POSIX Regexps:: Emacs regexps vs POSIX regexps.
@end menu
The @samp{skip-chars@dots{}} functions also perform a kind of searching.
@@ -277,10 +278,10 @@ character is a simple regular expression that matches that character
and nothing else. The special characters are @samp{.}, @samp{*},
@samp{+}, @samp{?}, @samp{[}, @samp{^}, @samp{$}, and @samp{\}; no new
special characters will be defined in the future. The character
-@samp{]} is special if it ends a character alternative (see later).
-The character @samp{-} is special inside a character alternative. A
+@samp{]} is special if it ends a bracket expression (see later).
+The character @samp{-} is special inside a bracket expression. A
@samp{[:} and balancing @samp{:]} enclose a character class inside a
-character alternative. Any other character appearing in a regular
+bracket expression. Any other character appearing in a regular
expression is ordinary, unless a @samp{\} precedes it.
For example, @samp{f} is not a special character, so it is ordinary, and
@@ -373,19 +374,21 @@ expression @samp{c[ad]*?a}, applied to that same string, matches just
permits the whole expression to match is @samp{d}.)
@item @samp{[ @dots{} ]}
+@cindex bracket expression (in regexp)
@cindex character alternative (in regexp)
@cindex @samp{[} in regexp
@cindex @samp{]} in regexp
-is a @dfn{character alternative}, which begins with @samp{[} and is
-terminated by @samp{]}. In the simplest case, the characters between
-the two brackets are what this character alternative can match.
+is a @dfn{bracket expression} (a.k.a.@: @dfn{character alternative}),
+which begins with @samp{[} and is terminated by @samp{]}. In the
+simplest case, the characters between the two brackets are what this
+bracket expression can match.
Thus, @samp{[ad]} matches either one @samp{a} or one @samp{d}, and
@samp{[ad]*} matches any string composed of just @samp{a}s and @samp{d}s
(including the empty string). It follows that @samp{c[ad]*r}
matches @samp{cr}, @samp{car}, @samp{cdr}, @samp{caddaar}, etc.
-You can also include character ranges in a character alternative, by
+You can also include character ranges in a bracket expression, by
writing the starting and ending characters with a @samp{-} between them.
Thus, @samp{[a-z]} matches any lower-case @acronym{ASCII} letter.
Ranges may be intermixed freely with individual characters, as in
@@ -394,7 +397,7 @@ or @samp{$}, @samp{%} or period. However, the ending character of one
range should not be the starting point of another one; for example,
@samp{[a-m-z]} should be avoided.
-A character alternative can also specify named character classes
+A bracket expression can also specify named character classes
(@pxref{Char Classes}). For example, @samp{[[:ascii:]]} matches any
@acronym{ASCII} character. Using a character class is equivalent to
mentioning each of the characters in that class; but the latter is not
@@ -403,9 +406,9 @@ different characters. A character class should not appear as the
lower or upper bound of a range.
The usual regexp special characters are not special inside a
-character alternative. A completely different set of characters is
+bracket expression. A completely different set of characters is
special: @samp{]}, @samp{-} and @samp{^}.
-To include @samp{]} in a character alternative, put it at the
+To include @samp{]} in a bracket expression, put it at the
beginning. To include @samp{^}, put it anywhere but at the beginning.
To include @samp{-}, put it at the end. Thus, @samp{[]^-]} matches
all three of these special characters. You cannot use @samp{\} to
@@ -443,7 +446,7 @@ characters and raw 8-bit bytes, but not non-ASCII characters. This
feature is intended for searching text in unibyte buffers and strings.
@end enumerate
-Some kinds of character alternatives are not the best style even
+Some kinds of bracket expressions are not the best style even
though they have a well-defined meaning in Emacs. They include:
@enumerate
@@ -457,7 +460,7 @@ Unicode character escapes can help here; for example, for most programmers
@samp{[à¸-ฺ฿-๛]} is less clear than @samp{[\u0E01-\u0E3A\u0E3F-\u0E5B]}.
@item
-Although a character alternative can include duplicates, it is better
+Although a bracket expression can include duplicates, it is better
style to avoid them. For example, @samp{[XYa-yYb-zX]} is less clear
than @samp{[XYa-z]}.
@@ -468,30 +471,30 @@ is simpler to list the characters. For example,
than @samp{[ij]}, and @samp{[i-k]} is less clear than @samp{[ijk]}.
@item
-Although a @samp{-} can appear at the beginning of a character
-alternative or as the upper bound of a range, it is better style to
-put @samp{-} by itself at the end of a character alternative. For
+Although a @samp{-} can appear at the beginning of a bracket
+expression or as the upper bound of a range, it is better style to
+put @samp{-} by itself at the end of a bracket expression. For
example, although @samp{[-a-z]} is valid, @samp{[a-z-]} is better
style; and although @samp{[*--]} is valid, @samp{[*+,-]} is clearer.
@end enumerate
@item @samp{[^ @dots{} ]}
@cindex @samp{^} in regexp
-@samp{[^} begins a @dfn{complemented character alternative}. This
-matches any character except the ones specified. Thus,
-@samp{[^a-z0-9A-Z]} matches all characters @emph{except} ASCII letters and
-digits.
+@samp{[^} begins a @dfn{complemented bracket expression}, or
+@dfn{complemented character alternative}. This matches any character
+except the ones specified. Thus, @samp{[^a-z0-9A-Z]} matches all
+characters @emph{except} ASCII letters and digits.
-@samp{^} is not special in a character alternative unless it is the first
+@samp{^} is not special in a bracket expression unless it is the first
character. The character following the @samp{^} is treated as if it
were first (in other words, @samp{-} and @samp{]} are not special there).
-A complemented character alternative can match a newline, unless newline is
+A complemented bracket expression can match a newline, unless newline is
mentioned as one of the characters not to match. This is in contrast to
the handling of regexps in programs such as @code{grep}.
-You can specify named character classes, just like in character
-alternatives. For instance, @samp{[^[:ascii:]]} matches any
+You can specify named character classes, just like in bracket
+expressions. For instance, @samp{[^[:ascii:]]} matches any
non-@acronym{ASCII} character. @xref{Char Classes}.
@item @samp{^}
@@ -505,9 +508,10 @@ beginning of a line.
When matching a string instead of a buffer, @samp{^} matches at the
beginning of the string or after a newline character.
-For historical compatibility reasons, @samp{^} can be used only at the
-beginning of the regular expression, or after @samp{\(}, @samp{\(?:}
-or @samp{\|}.
+For historical compatibility, @samp{^} is special only at the beginning
+of the regular expression, or after @samp{\(}, @samp{\(?:} or @samp{\|}.
+Although @samp{^} is an ordinary character in other contexts,
+it is good practice to use @samp{\^} even then.
@item @samp{$}
@cindex @samp{$} in regexp
@@ -519,8 +523,10 @@ matches a string of one @samp{x} or more at the end of a line.
When matching a string instead of a buffer, @samp{$} matches at the end
of the string or before a newline character.
-For historical compatibility reasons, @samp{$} can be used only at the
+For historical compatibility, @samp{$} is special only at the
end of the regular expression, or before @samp{\)} or @samp{\|}.
+Although @samp{$} is an ordinary character in other contexts,
+it is good practice to use @samp{\$} even then.
@item @samp{\}
@cindex @samp{\} in regexp
@@ -540,14 +546,15 @@ example, the regular expression that matches the @samp{\} character is
@samp{\} is @code{"\\\\"}.
@end table
-@strong{Please note:} For historical compatibility, special characters
-are treated as ordinary ones if they are in contexts where their special
-meanings make no sense. For example, @samp{*foo} treats @samp{*} as
-ordinary since there is no preceding expression on which the @samp{*}
-can act. It is poor practice to depend on this behavior; quote the
-special character anyway, regardless of where it appears.
+For historical compatibility, a repetition operator is treated as ordinary
+if it appears at the start of a regular expression
+or after @samp{^}, @samp{\`}, @samp{\(}, @samp{\(?:} or @samp{\|}.
+For example, @samp{*foo} is treated as @samp{\*foo}, and
+@samp{two\|^\@{2\@}} is treated as @samp{two\|^@{2@}}.
+It is poor practice to depend on this behavior; use proper backslash
+escaping anyway, regardless of where the repetition operator appears.
-As a @samp{\} is not special inside a character alternative, it can
+As a @samp{\} is not special inside a bracket expression, it can
never remove the special meaning of @samp{-}, @samp{^} or @samp{]}.
You should not quote these characters when they have no special
meaning. This would not clarify anything, since backslashes
@@ -556,23 +563,23 @@ special meaning, as in @samp{[^\]} (@code{"[^\\]"} for Lisp string
syntax), which matches any single character except a backslash.
In practice, most @samp{]} that occur in regular expressions close a
-character alternative and hence are special. However, occasionally a
+bracket expression and hence are special. However, occasionally a
regular expression may try to match a complex pattern of literal
@samp{[} and @samp{]}. In such situations, it sometimes may be
necessary to carefully parse the regexp from the start to determine
-which square brackets enclose a character alternative. For example,
-@samp{[^][]]} consists of the complemented character alternative
+which square brackets enclose a bracket expression. For example,
+@samp{[^][]]} consists of the complemented bracket expression
@samp{[^][]} (which matches any single character that is not a square
bracket), followed by a literal @samp{]}.
The exact rules are that at the beginning of a regexp, @samp{[} is
special and @samp{]} not. This lasts until the first unquoted
-@samp{[}, after which we are in a character alternative; @samp{[} is
+@samp{[}, after which we are in a bracket expression; @samp{[} is
no longer special (except when it starts a character class) but @samp{]}
is special, unless it immediately follows the special @samp{[} or that
@samp{[} followed by a @samp{^}. This lasts until the next special
-@samp{]} that does not end a character class. This ends the character
-alternative and restores the ordinary syntax of regular expressions;
+@samp{]} that does not end a character class. This ends the bracket
+expression and restores the ordinary syntax of regular expressions;
an unquoted @samp{[} is special again and a @samp{]} not.
@node Char Classes
@@ -583,13 +590,13 @@ an unquoted @samp{[} is special again and a @samp{]} not.
@cindex alpha character class, regexp
@cindex xdigit character class, regexp
- Below is a table of the classes you can use in a character
-alternative, and what they mean. Note that the @samp{[} and @samp{]}
-characters that enclose the class name are part of the name, so a
-regular expression using these classes needs one more pair of
-brackets. For example, a regular expression matching a sequence of
-one or more letters and digits would be @samp{[[:alnum:]]+}, not
-@samp{[:alnum:]+}.
+ Below is a table of the classes you can use in a bracket expression
+(@pxref{Regexp Special, bracket expression}), and what they mean.
+Note that the @samp{[} and @samp{]} characters that enclose the class
+name are part of the name, so a regular expression using these classes
+needs one more pair of brackets. For example, a regular expression
+matching a sequence of one or more letters and digits would be
+@samp{[[:alnum:]]+}, not @samp{[:alnum:]+}.
@table @samp
@item [:ascii:]
@@ -911,7 +918,7 @@ with a symbol-constituent character.
@kindex invalid-regexp
Not every string is a valid regular expression. For example, a string
-that ends inside a character alternative without a terminating @samp{]}
+that ends inside a bracket expression without a terminating @samp{]}
is invalid, and so is a string that ends with a single @samp{\}. If
an invalid regular expression is passed to any of the search functions,
an @code{invalid-regexp} error is signaled.
@@ -948,7 +955,7 @@ deciphered as follows:
@table @code
@item [.?!]
-The first part of the pattern is a character alternative that matches
+The first part of the pattern is a bracket expression that matches
any one of three characters: period, question mark, and exclamation
mark. The match must begin with one of these three characters. (This
is one point where the new default regexp used by Emacs differs from
@@ -960,7 +967,7 @@ The second part of the pattern matches any closing braces and quotation
marks, zero or more of them, that may follow the period, question mark
or exclamation mark. The @code{\"} is Lisp syntax for a double-quote in
a string. The @samp{*} at the end indicates that the immediately
-preceding regular expression (a character alternative, in this case) may be
+preceding regular expression (a bracket expression, in this case) may be
repeated zero or more times.
@item \\($\\|@ $\\|\t\\|@ @ \\)
@@ -1568,7 +1575,7 @@ used, a Lisp expression that evaluates to a string. Example:
@defun rx-to-string rx-expr &optional no-group
Translate @var{rx-expr} to a string regexp which is returned.
-If @var{no-group} is absent or nil, bracket the result in a
+If @var{no-group} is absent or @code{nil}, bracket the result in a
non-capturing group, @samp{\(?:@dots{}\)}, if necessary to ensure that
a postfix operator appended to it will apply to the whole expression.
Example:
@@ -1911,7 +1918,7 @@ attempts. Other zero-width assertions may also bring benefits by
causing a match to fail early.
@item
-Avoid or-patterns in favor of character alternatives: write
+Avoid or-patterns in favor of bracket expressions: write
@samp{[ab]} instead of @samp{a\|b}. Recall that @samp{\s-} and @samp{\sw}
are equivalent to @samp{[[:space:]]} and @samp{[[:word:]]}, respectively.
@@ -2193,8 +2200,8 @@ constructs, you should bind it temporarily for as small as possible
a part of the code.
@end defvar
-@node POSIX Regexps
-@section POSIX Regular Expression Searching
+@node Longest Match
+@section Longest-match searching for regular expression matches
@cindex backtracking and POSIX regular expressions
The usual regular expression functions do backtracking when necessary
@@ -2209,7 +2216,9 @@ possibilities and found all matches, so they can report the longest
match, as required by POSIX@. This is much slower, so use these
functions only when you really need the longest match.
- The POSIX search and match functions do not properly support the
+ Despite their names, the POSIX search and match functions
+use Emacs regular expressions, not POSIX regular expressions.
+@xref{POSIX Regexps}. Also, they do not properly support the
non-greedy repetition operators (@pxref{Regexp Special, non-greedy}).
This is because POSIX backtracking conflicts with the semantics of
non-greedy repetition.
@@ -2957,3 +2966,98 @@ values of the variables @code{sentence-end-double-space}
@code{sentence-end-without-period}, and
@code{sentence-end-without-space}.
@end defun
+
+@node POSIX Regexps
+@section Emacs versus POSIX Regular Expressions
+@cindex POSIX regular expressions
+
+Regular expression syntax varies signficantly among computer programs.
+When writing Elisp code that generates regular expressions for use by other
+programs, it is helpful to know how syntax variants differ.
+To give a feel for the variation, this section discusses how
+Emacs regular expressions differ from two syntax variants standarded by POSIX:
+basic regular expressions (BREs) and extended regular expressions (EREs).
+Plain @command{grep} uses BREs, and @samp{grep -E} uses EREs.
+
+Emacs regular expressions have a syntax closer to EREs than to BREs,
+with some extensions. Here is a summary of how POSIX BREs and EREs
+differ from Emacs regular expressions.
+
+@itemize @bullet
+@item
+In POSIX BREs @samp{+} and @samp{?} are not special.
+The only backslash escape sequences are @samp{\(@dots{}\)},
+@samp{\@{@dots{}\@}}, @samp{\1} through @samp{\9}, along with the
+escaped special characters @samp{\$}, @samp{\*}, @samp{\.}, @samp{\[},
+@samp{\\}, and @samp{\^}.
+Therefore @samp{\(?:} acts like @samp{\([?]:}.
+POSIX does not define how other BRE escapes behave;
+for example, GNU @command{grep} treats @samp{\|} like Emacs does,
+but does not support all the Emacs escapes.
+
+@item
+In POSIX BREs, it is an implementation option whether @samp{^} is special
+after @samp{\(}; GNU @command{grep} treats it like Emacs does.
+In POSIX EREs, @samp{^} is always special outside of bracket expressions,
+which means the ERE @samp{x^} never matches.
+In Emacs regular expressions, @samp{^} is special only at the
+beginning of the regular expression, or after @samp{\(}, @samp{\(?:}
+or @samp{\|}.
+
+@item
+In POSIX BREs, it is an implementation option whether @samp{$} is
+special before @samp{\)}; GNU @command{grep} treats it like Emacs
+does. In POSIX EREs, @samp{$} is always special outside of bracket
+expressions (@pxref{Regexp Special, bracket expressions}), which means
+the ERE @samp{$x} never matches. In Emacs regular expressions,
+@samp{$} is special only at the end of the regular expression, or
+before @samp{\)} or @samp{\|}.
+
+@item
+In POSIX EREs @samp{@{}, @samp{(} and @samp{|} are special,
+and @samp{)} is special when matched with a preceding @samp{(}.
+These special characters do not use preceding backslashes;
+@samp{(?} produces undefined results.
+The only backslash escape sequences are the escaped special characters
+@samp{\$}, @samp{\(}, @samp{\)}, @samp{\*}, @samp{\+}, @samp{\.},
+@samp{\?}, @samp{\[}, @samp{\\}, @samp{\^}, @samp{\@{} and @samp{\|}.
+POSIX does not define how other ERE escapes behave;
+for example, GNU @samp{grep -E} treats @samp{\1} like Emacs does,
+but does not support all the Emacs escapes.
+
+@item
+In POSIX BREs and EREs, undefined results are produced by repetition
+operators at the start of a regular expression or subexpression
+(possibly preceded by @samp{^}), except that the repetition operator
+@samp{*} has the same behavior in BREs as in Emacs.
+In Emacs, these operators are treated as ordinary.
+
+@item
+In BREs and EREs, undefined results are produced by two repetition
+operators in sequence. In Emacs, these have well-defined behavior,
+e.g., @samp{a**} is equivalent to @samp{a*}.
+
+@item
+In BREs and EREs, undefined results are produced by empty regular
+expressions or subexpressions. In Emacs these have well-defined
+behavior, e.g., @samp{\(\)*} matches the empty string,
+
+@item
+In BREs and EREs, undefined results are produced for the named
+character classes @samp{[:ascii:]}, @samp{[:multibyte:]},
+@samp{[:nonascii:]}, @samp{[:unibyte:]}, and @samp{[:word:]}.
+
+@item
+BREs and EREs can contain collating symbols and equivalence
+class expressions within bracket expressions, e.g., @samp{[[.ch.]d[=a=]]}.
+Emacs regular expressions do not support this.
+
+@item
+BREs, EREs, and the strings they match cannot contain encoding errors
+or NUL bytes. In Emacs these constructs simply match themselves.
+
+@item
+BRE and ERE searching always finds the longest match.
+Emacs searching by default does not necessarily do so.
+@xref{Longest Match}.
+@end itemize
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi
index 89046a68249..896cf4caab5 100644
--- a/doc/lispref/streams.texi
+++ b/doc/lispref/streams.texi
@@ -981,6 +981,15 @@ Letter, Number, Punctuation, Symbol and Private-use
having their own escape syntax such as newline.
@end defvar
+@defopt pp-default-function
+This user variable specifies the function used by @code{pp} to prettify
+its output. By default it uses @code{pp-fill} which attempts to
+strike a good balance between speed and generating natural looking output
+that fits within @code{fill-column}. The previous default was
+@code{pp-28}, which tends to be faster but generate output that looks
+less natural and is less compact.
+@end defopt
+
@node Output Overrides
@section Overriding Output Variables
@cindex overrides, in output functions
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi
index c6a0408abd1..34db0caf3a8 100644
--- a/doc/lispref/symbols.texi
+++ b/doc/lispref/symbols.texi
@@ -643,6 +643,12 @@ ignore a call whose value is unused. If the property's value is
calls. In addition to byte compiler optimizations, this property is
also used for determining function safety (@pxref{Function Safety}).
+@item important-return-value
+@cindex @code{important-return-value} property
+A non-@code{nil} value makes the byte compiler warn about code that
+calls the named function without using its returned value. This is
+useful for functions where doing so is likely to be a mistake.
+
@item undo-inhibit-region
If non-@code{nil}, the named function prevents the @code{undo} operation
from being restricted to the active region, if @code{undo} is invoked
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 4c13185b0dd..a61889fc508 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3398,37 +3398,43 @@ for @var{object} is the current buffer.
@end defun
@defun text-property-search-forward prop &optional value predicate not-current
-Search for the next region that has text property @var{prop} set to
-@var{value} according to @var{predicate}.
+Search for the next region of text whose property @var{prop} is a
+match for @var{value} (which defaults to @code{nil}), according to
+@var{predicate}.
-This function is modeled after @code{search-forward} and friends in
-that it moves point, but it returns a structure that describes the
-match instead of returning it in @code{match-beginning} and friends.
+This function is modeled after @code{search-forward} (@pxref{String
+Search}) and friends, in that it moves point, but it also returns a
+structure that describes the match instead of returning it in
+@code{match-beginning} and friends.
-If the text property can't be found, the function returns @code{nil}.
-If it's found, point is placed at the end of the region that has this
-text property match, and a @code{prop-match} structure is returned.
+If the text property whose value is a match can't be found, the
+function returns @code{nil}. If it's found, point is placed at the
+end of the region that has this matching text property, and the
+function returns a @code{prop-match} structure with information about
+the match.
@var{predicate} can either be @code{t} (which is a synonym for
@code{equal}), @code{nil} (which means ``not equal''), or a predicate
-that will be called with two parameters: The first is @var{value}, and
-the second is the value of the text property we're inspecting.
+that will be called with two arguments: @var{value} and the value of
+the text property @var{prop} at the buffer position that is a
+candidate for a match. The function should return non-@code{nil} if
+there's a match, @code{nil} otherwise.
-If @var{not-current}, if point is in a region where we have a match,
-then skip past that and find the next instance instead.
+If @var{not-current} is non-@code{nil}, then if point is already in a
+region where we have a property match, skip past that region and find
+the next region instead.
-The @code{prop-match} structure has the following accessors:
+The @code{prop-match} structure has the following accessor functionss:
@code{prop-match-beginning} (the start of the match),
@code{prop-match-end} (the end of the match), and
@code{prop-match-value} (the value of @var{property} at the start of
the match).
-In the examples below, imagine that you're in a buffer that looks like
-this:
+In the examples below, we use a buffer whose contents is:
-@example
-This is a bold and here's bolditalic and this is the end.
-@end example
+@display
+This is a @b{bold} and here's @b{@i{bolditalic}} and this is the end.
+@end display
That is, the ``bold'' words are the @code{bold} face, and the
``italic'' word is in the @code{italic} face.
@@ -3452,8 +3458,9 @@ This will pick out all the words that use the @code{bold} face.
@end lisp
This will pick out all the bits that have no face properties, which
-will result in the list @samp{("This is a " "and here's " "and this is
-the end")} (only reversed, since we used @code{push}).
+will result in the list @samp{(@w{"This is a "} @w{"and here's "}
+@w{"and this is the end"})} (only in reverse order, since we used
+@code{push}, @pxref{List Variables}).
@lisp
(while (setq match (text-property-search-forward 'face nil nil))
@@ -3481,8 +3488,8 @@ This will give you a list of all those URLs.
@defun text-property-search-backward prop &optional value predicate not-current
This is just like @code{text-property-search-forward}, but searches
-backward instead. Point is placed at the beginning of the matched
-region instead of the end, though.
+backward instead, and if a match is found, point is placed at the
+beginning of the matched region instead of the end.
@end defun
@@ -4642,20 +4649,25 @@ A rectangle is represented by a list of strings.
This represents a window configuration to restore in one frame, and a
position to jump to in the current buffer.
-@c FIXME: Mention frameset here.
+@cindex frameset
@item @code{(@var{frame-configuration} @var{position})}
This represents a frame configuration to restore, and a position
-to jump to in the current buffer.
+to jump to in the current buffer. Frame configurations are also
+known as @dfn{framesets}.
-@item (file @var{filename})
+@item @code{(file @var{filename})}
This represents a file to visit; jumping to this value visits file
@var{filename}.
-@item (file-query @var{filename} @var{position})
+@item @code{(file-query @var{filename} @var{position})}
This represents a file to visit and a position in it; jumping to this
value visits file @var{filename} and goes to buffer position
@var{position}. Restoring this type of position asks the user for
confirmation first.
+
+@item @code{(buffer @var{buffer-name})}
+This represents a buffer; jumping to this value switches to buffer
+@var{buffer-name}.
@end table
The functions in this section return unpredictable values unless
@@ -4764,9 +4776,9 @@ and exceeded, it will fall back to @code{delete-region} and
the actual costs exceed this limit, heuristics are used to provide a
faster but suboptimal solution. The default value is 1000000.
-@code{replace-buffer-contents} returns t if a non-destructive
+@code{replace-buffer-contents} returns @code{t} if a non-destructive
replacement could be performed. Otherwise, i.e., if @var{max-secs}
-was exceeded, it returns nil.
+was exceeded, it returns @code{nil}.
@end deffn
@defun replace-region-contents beg end replace-fn &optional max-secs max-costs
@@ -5510,7 +5522,7 @@ contents of an SQLite database.
@section Parsing HTML and XML
@cindex parsing html
- Emacs can be compiled with built-in libxml2 support.
+ Emacs can be compiled with built-in @file{libxml2} support.
@defun libxml-available-p
This function returns non-@code{nil} if built-in libxml2 support is
@@ -5529,8 +5541,10 @@ mistakes.
If @var{start} or @var{end} are @code{nil}, they default to the values
from @code{point-min} and @code{point-max}, respectively.
-The optional argument @var{base-url}, if non-@code{nil}, should be a
-string specifying the base URL for relative URLs occurring in links.
+The optional argument @var{base-url}, if non-@code{nil}, should be
+used for warnings and errors reported by the @file{libxml2} library,
+but Emacs currently calls the library with errors and warnings
+disabled, so this argument is not used.
If the optional argument @var{discard-comments} is non-@code{nil},
any top-level comment is discarded. (This argument is obsolete and
@@ -6179,6 +6193,17 @@ would expect. Non-nested use of change groups for the same buffer
will get Emacs confused, so don't let it happen; the first change
group you start for any given buffer should be the last one finished.
+ Emacs keeps track of change groups by assuming that by following
+each cdr in @code{buffer-undo-list}, it will eventually arrive at the
+cons it was set to at the time @code{prepare-change-group} was called.
+
+ If @code{buffer-undo-list} no longer contains that cons, Emacs will
+lose track of any change groups, resulting in an error when the change
+group is cancelled. To avoid this, do not call any functions which
+may edit the undo list in such a manner, when a change group is
+active: notably, ``amalgamating'' commands such as @code{delete-char},
+which call @code{undo-auto-amalgamate}.
+
@node Change Hooks
@section Change Hooks
@cindex change hooks
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index f92c02ae5ed..55761ff75e2 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -350,6 +350,9 @@ variables.
A function call is in the tail position if it's the very last thing
done so that the value returned by the call is the value of @var{body}
itself, as is the case in the recursive call to @code{sum} above.
+
+@strong{Warning:} @code{named-let} works as expected only when
+lexical-binding is enabled. @xref{Lexical Binding}.
@end defspec
Here is a complete list of the other facilities that create local
@@ -1183,13 +1186,16 @@ wants the current value of a variable, it looks first in the lexical
environment; if the variable is not specified in there, it looks in
the symbol's value cell, where the dynamic value is stored.
- (Internally, the lexical environment is an alist of symbol-value
-pairs, with the final element in the alist being the symbol @code{t}
-rather than a cons cell. Such an alist can be passed as the second
-argument to the @code{eval} function, in order to specify a lexical
-environment in which to evaluate a form. @xref{Eval}. Most Emacs
-Lisp programs, however, should not interact directly with lexical
-environments in this way; only specialized programs like debuggers.)
+ (Internally, the lexical environment is a list whose members are
+usually cons cells that are symbol-value pairs, but some of its
+members can be symbols rather than cons cells. A symbol in the list
+means the lexical environment declared that symbol's variable as
+locally considered to be dynamically bound. This list can be passed
+as the second argument to the @code{eval} function, in order to
+specify a lexical environment in which to evaluate a form.
+@xref{Eval}. Most Emacs Lisp programs, however, should not interact
+directly with lexical environments in this way; only specialized
+programs like debuggers.)
@cindex closures, example of using
Lexical bindings have indefinite extent. Even after a binding
@@ -1974,6 +1980,16 @@ this can be controlled by using this variable, which is a list of
symbols.
@end defvar
+@defvar safe-local-variable-directories
+This is a list of directories where local variables are always
+enabled. Directory-local variables loaded from these directories,
+such as the variables in @file{.dir-locals.el}, will be enabled even
+if they are risky. The directories in this list must be
+fully-expanded absolute file names. They may also be remote
+directories if the variable @code{enable-remote-dir-locals} is set
+non-@code{nil}.
+@end defvar
+
@defun hack-local-variables &optional handle-mode
This function parses, and binds or evaluates as appropriate, any local
variables specified by the contents of the current buffer. The variable
@@ -2586,7 +2602,7 @@ can be either @code{get} or @code{set}.
You can make two variables synonyms and declare one obsolete at the
same time using the macro @code{define-obsolete-variable-alias}.
-@defmac define-obsolete-variable-alias obsolete-name current-name &optional when docstring
+@defmac define-obsolete-variable-alias obsolete-name current-name when &optional docstring
This macro marks the variable @var{obsolete-name} as obsolete and also
makes it an alias for the variable @var{current-name}. It is
equivalent to the following:
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 0196ed0e813..a49e63e49de 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -5569,7 +5569,7 @@ non-@code{nil}, this function may redraw the frame, according to the
value of @code{recenter-redisplay}. Thus, omitting the second
argument can be used to countermand the effect of
@code{recenter-redisplay} being non-@code{nil}. Interactive calls
-pass non-‘nil’ for @var{redisplay}.
+pass non-@code{nil} for @var{redisplay}.
When @code{recenter} is called interactively, @var{count} is the raw
prefix argument. Thus, typing @kbd{C-u} as the prefix sets the
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index aacc0d0b0ec..00c0fa6001a 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -6217,7 +6217,7 @@ method when it is able. @xref{Programming Answer 8, 8}. (@bullet{})
@cindex Gamma constant, Euler's
@cindex Euler's gamma constant
(@bullet{}) @strong{Exercise 9.} The @dfn{digamma} function
-@texline @math{\psi(z) (``psi'')}
+@texline @math{\psi(z)} (``psi'')
@infoline @expr{psi(z)}
is defined as the derivative of
@texline @math{\ln \Gamma(z)}.
@@ -18617,8 +18617,8 @@ gamma function. For positive integer arguments, this is related to the
factorial function: @samp{gamma(n+1) = fact(n)}. For general complex
arguments the gamma function can be defined by the following definite
integral:
-@texline @math{\Gamma(a) = \int_0^\infty t^{a-1} e^t dt}.
-@infoline @expr{gamma(a) = integ(t^(a-1) exp(t), t, 0, inf)}.
+@texline @math{\Gamma(a) = \int_0^\infty t^{a-1} e^{-t} dt}.
+@infoline @expr{gamma(a) = integ(t^(a-1) exp(-t), t, 0, inf)}.
(The actual implementation uses far more efficient computational methods.)
@kindex f G
@@ -18709,7 +18709,7 @@ un-normalized version [@code{betaB}].
The @kbd{f e} (@code{calc-erf}) [@code{erf}] command computes the
error function
@texline @math{\hbox{erf}(x) = {2 \over \sqrt{\pi}} \int_0^x e^{-t^2} dt}.
-@infoline @expr{erf(x) = 2 integ(exp(-(t^2)), t, 0, x) / sqrt(pi)}.
+@infoline @expr{erf(x) = 2 integ(exp(-(t^(2))), t, 0, x) / sqrt(pi)}.
The complementary error function @kbd{I f e} (@code{calc-erfc}) [@code{erfc}]
is the corresponding integral from @samp{x} to infinity; the sum
@texline @math{\hbox{erf}(x) + \hbox{erfc}(x) = 1}.
@@ -28475,13 +28475,13 @@ B and
@c flat and @expr{B}.
the octave numbered 0 was chosen to correspond to the lowest
audible frequency. Using this system, middle C (about 261.625 Hz)
-corresponds to the note @expr{C} in octave 4 and is denoted
-@expr{C_4}. Any frequency can be described by giving a note plus an
+corresponds to the note @slanted{C} in octave 4 and is denoted
+@slanted{C@sub{4}}. Any frequency can be described by giving a note plus an
offset in cents (where a cent is a ratio of frequencies so that a
semitone consists of 100 cents).
The midi note number system assigns numbers to notes so that
-@expr{C_(-1)} corresponds to the midi note number 0 and @expr{G_9}
+@slanted{C@sub{-1}} corresponds to the midi note number 0 and @slanted{G@sub{9}}
corresponds to the midi note number 127. A midi controller can have
up to 128 keys and each midi note number from 0 to 127 corresponds to
a possible key.
@@ -29880,10 +29880,10 @@ with no argument copies only the number itself into the kill ring, whereas
@kbd{C-k} with a prefix argument of 1 copies the number with its trailing
newline.
-You can customize @code{calc-kill-line-numbering} to nil to exclude
-line numbering from kills and copies made by @code{calc-kill} and
-@code{calc-copy-as-kill}. This option does not affect calc kill and
-copy commands which operate on the region, as that would not make
+You can customize @code{calc-kill-line-numbering} to @code{nil} to
+exclude line numbering from kills and copies made by @code{calc-kill}
+and @code{calc-copy-as-kill}. This option does not affect calc kill
+and copy commands which operate on the region, as that would not make
sense.
@node Yanking Into Stack
@@ -35595,11 +35595,11 @@ The default value of @code{calc-note-threshold} is 1.
See @ref{Displaying Selections}.@*
The variable @code{calc-highlight-selections-with-faces}
determines how selected sub-formulas are distinguished.
-If @code{calc-highlight-selections-with-faces} is nil, then
+If @code{calc-highlight-selections-with-faces} is @code{nil}, then
a selected sub-formula is distinguished either by changing every
character not part of the sub-formula with a dot or by changing every
character in the sub-formula with a @samp{#} sign.
-If @code{calc-highlight-selections-with-faces} is t,
+If @code{calc-highlight-selections-with-faces} is @code{t},
then a selected sub-formula is distinguished either by displaying the
non-selected portion of the formula with @code{calc-nonselected-face}
or by displaying the selected sub-formula with
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 71bf3fcee4a..4ab95798468 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -2169,6 +2169,23 @@ which aren't of the default style will be fontified with
@section Miscellaneous Font Locking
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Some compilers, notably GCC, allow the character @samp{$} to be a
+constituent of identifiers in the languages C, C++, and Objective C.
+CC Mode defaults to accepting these @samp{$} characters and fontifying
+the identifiers in which they appear like any others.
+
+However, the compiler you're using, or your project coding standards
+may disallow such use. In such cases, you can set
+@code{c-warn-ids-with-dollar} to non-@code{nil}. This causes these
+invalid identifiers to be fontified distinctively.
+
+@defvar c-warn-ids-with-dollar
+@vindex warn-ids-with-dollar (c-)
+When this customization option is non-@code{nil}, identifiers
+containing the @samp{$} character are fontified with
+@code{font-lock-warning-face}.
+@end defvar
+
In some languages, particularly in C++, there are constructs which are
syntactically ambiguous---they could be either declarations or
expressions, and @ccmode{} cannot tell for sure which. Often such a
@@ -2192,10 +2209,10 @@ foo& bar
@defvar c-asymmetry-fontification-flag
@vindex asymmetry-fontification-flag @r{(c-)}
-When @code{c-asymmetry-fontification-flag} is non-@code{nil} (which it is by
-default), code like the above, with white space either before or after
-the operator, but not both, is fontified as a declaration. When the
-variable is nil, such a construct gets the default face.
+When @code{c-asymmetry-fontification-flag} is non-@code{nil} (which it
+is by default), code like the above, with white space either before or
+after the operator, but not both, is fontified as a declaration. When
+the variable is @code{nil}, such a construct gets the default face.
@end defvar
When the construct is an expression there will often be white space
@@ -6036,7 +6053,7 @@ three syntactic symbols, @code{arglist-cont-nonempty},
List Symbols}).
This function is intended for use in a list. If the construct being
-analyzed isn't like the preceding, the function returns nil.
+analyzed isn't like the preceding, the function returns @code{nil}.
Otherwise it returns the function
@code{c-lineup-arglist-intro-after-paren}, which the caller then uses
to perform indentation.
@@ -6080,8 +6097,8 @@ also has a syntactic element with the symbol @code{brace-list-entry}
(@pxref{Brace List Symbols}).
This function is intended for use in a list. If the above structure
-isn't present, the function returns nil, allowing a different offset
-specification to indent the line.
+isn't present, the function returns @code{nil}, allowing a different
+offset specification to indent the line.
@workswith{} @code{brace-list-intro}.
@end defun
@@ -6123,8 +6140,8 @@ returning the symbol @code{c-lineup-arglist-intro-after-paren}, which
the caller then uses to perform the indentation.
This function is intended for use in a list. If the above structure
-isn't present, the function returns nil, allowing a different offset
-specification to indent the line.
+isn't present, the function returns @code{nil}, allowing a different
+offset specification to indent the line.
@workswith{} @code{brace-list-intro}.
@end defun
@@ -6252,6 +6269,16 @@ returned if there's no template argument on the first line.
@comment ------------------------------------------------------------
+@defun c-lineup-template-args-indented-from-margin
+@findex lineup-template-args-indented-from-margin (c-)
+Indent a template argument line `c-basic-offset' from the left-hand
+margin of the line with the containing <.
+
+@workswith @code{template-args-cont}.
+@end defun
+
+@comment ------------------------------------------------------------
+
@defun c-lineup-ObjC-method-call
@findex lineup-ObjC-method-call @r{(c-)}
For Objective-C code, line up selector args as Emacs Lisp mode does
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index 97a0f39ea13..2bd6b9556c8 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -1847,8 +1847,24 @@ This function establishes the connection to D-Bus @var{bus}.
corresponding bus. For the system and session buses, this function is
called when loading @file{dbus.el}, there is no need to call it again.
-The function returns the number of connections this Emacs session has
-established to the @var{bus} under the same unique name
+If Emacs was invoked when there was no D-Bus session bus available
+yet, you can set the environment variable
+@env{DBUS_SESSION_BUS_ADDRESS} once the session bus daemon is running
+and offering the address. Calling @code{dbus-init-bus} initializes
+the connection to the session bus.
+
+@lisp
+(setenv "DBUS_SESSION_BUS_ADDRESS" "unix:path=/run/user/1000/bus")
+
+@result{} "unix:path=/run/user/1000/bus"
+
+(dbus-init-bus :session)
+
+@result{} 2
+@end lisp
+
+@code{dbus-init-bus} returns the number of connections this Emacs
+session has established to the @var{bus} under the same unique name
(@pxref{dbus-get-unique-name}). It depends on the libraries Emacs is
linked with, and on the environment Emacs is running. For example, if
Emacs is linked with the GTK+ toolkit, and it runs in a GTK+-aware
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index e4ec72af5cd..d49d2296aa7 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -1896,19 +1896,19 @@ Make sure the @code{:file} is fully expanded.
@end deffn
@deffn Method ede-preprocessor-map :AFTER this
-Get the pre-processor map for project @var{THIS}.
+Get the pre-processor map for project @var{this}.
@end deffn
@deffn Method ede-cpp-root-header-file-p :AFTER proj name
-Non @code{nil} if in @var{PROJ} the filename @var{NAME} is a header.
+Non-@code{nil} if in @var{proj} the filename @var{name} is a header.
@end deffn
@deffn Method ede-system-include-path :AFTER this
-Get the system include path used by project @var{THIS}.
+Get the system include path used by project @var{this}.
@end deffn
@deffn Method ede-expand-filename-impl :AFTER proj name
-Within this project @var{PROJ}, find the file @var{NAME}.
+Within this project @var{proj}, find the file @var{name}.
This knows details about or source tree.
@end deffn
@@ -2796,7 +2796,7 @@ File name of generated Makefile.
Type: @code{boolean} @*
Default Value: @code{t}
-Non @code{nil} means the rule created is part of the all target.
+Non-@code{nil} means the rule created is part of the all target.
Setting this to @code{nil} creates the rule to build this item, but does not
include it in the @code{all:} rule.
@@ -3888,10 +3888,10 @@ themselves.
Type: @code{boolean} @*
Default Value: @code{nil}
-Non @code{nil} if this sourcecode type uses subdirectores.
-If sourcecode always lives near the target creating it, this should be nil.
-If sourcecode can, or typically lives in a subdirectory of the owning
-target, set this to t.
+Non-@code{nil} if this sourcecode type uses subdirectores. If
+sourcecode always lives near the target creating it, this should be
+@code{nil}. If sourcecode can, or typically lives in a subdirectory
+of the owning target, set this to @code{t}.
@item :garbagepattern
Type: @code{list} @*
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi
index fc5449b0e8d..962e6c914ce 100644
--- a/doc/misc/eglot.texi
+++ b/doc/misc/eglot.texi
@@ -1265,7 +1265,7 @@ is serialized by Eglot to the following JSON text:
@chapter Troubleshooting Eglot
@cindex troubleshooting Eglot
-This section documents commands and variables that can be used to
+This chapter documents commands and variables that can be used to
troubleshoot Eglot problems. It also provides guidelines for
reporting Eglot bugs in a way that facilitates their resolution.
@@ -1275,7 +1275,15 @@ pop up special buffers that can be used to inspect the communications
between the Eglot and language server. In many cases, this will
indicate the problems or at least provide a hint.
-@cindex performance
+@menu
+* Performance::
+* Getting the latest version::
+* Reporting bugs::
+@end menu
+
+@node Performance
+@section Performance
+@cindex performance problems, with Eglot
A common and easy-to-fix cause of performance problems is the length
of the Eglot events buffer because it represent additional work that
Eglot must do. After verifying Eglot is operating correctly but
@@ -1289,6 +1297,33 @@ techniques to improve their performance. Often, this can be tweaked
by changing the server configuration (@pxref{Advanced server
configuration}).
+@node Getting the latest version
+@section Getting the latest version
+@cindex upgrading Eglot
+
+To install the latest Eglot in an Emacs version that does not bundle
+Eglot, use @kbd{M-x package-install}.
+
+Often, a newer Eglot version exists that has fixed a longstanding bug,
+has more LSP features, or just better supports a particular language
+server. Recent Eglot versions can self-update via the command
+@kbd{M-x eglot-upgrade-eglot}. This will replace any currently
+installed version with the newest one available from the ELPA archives
+configured in @code{package-archives}.
+
+You can also update Eglot through other methods, such as
+@code{use-package} (@pxref{Installing packages,,, use-package,
+use-package User Manual}), @code{package-install},
+@code{list-packages} or the newer @code{package-upgrade}
+(@pxref{Packages,,, emacs, GNU Emacs Manual}). However, do read the
+docstrings of the command you intend to use before you use it, as some
+of them may not work in exactly the same way across Emacs versions,
+meaning your configuration may be not portable.
+
+@node Reporting bugs
+@section Reporting bugs
+@cindex bug reports
+
If you think you have found a bug, we want to hear about it. Before
reporting a bug, keep in mind that interaction with language servers
represents a large quantity of unknown variables. Therefore, it is
@@ -1332,6 +1367,10 @@ public Git repository.
Include versions of the software used. The Emacs version can be
obtained with @kbd{M-x emacs-version}.
+We welcome bug reports about all Eglot versions, but it is helpful to
+first check if the problem isn't already fixed in the latest version
+(@pxref{Getting the latest version}).
+
It's also essential to include the version of ELPA packages that are
explicitly or implicitly loaded. The optional but popular Company or
Markdown packages are distributed as GNU ELPA packages, not to mention
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index e92bf576e75..ddfdb2e2b64 100644
--- a/doc/misc/erc.texi
+++ b/doc/misc/erc.texi
@@ -2,7 +2,7 @@
@c %**start of header
@setfilename ../../info/erc.info
@settitle ERC Manual
-@set ERCVER 5.5
+@set ERCVER 5.6
@set ERCDIST as distributed with Emacs @value{EMACSVER}
@include docstyle.texi
@syncodeindex fn cp
@@ -611,6 +611,7 @@ And unlike global toggles, none of these ever mutates
Integrations
* URL:: Opening IRC URLs in ERC.
+* SOCKS:: Connecting to IRC with a SOCKS proxy.
* auth-source:: Retrieving auth-source entries with ERC.
@end detailmenu
@@ -1252,6 +1253,68 @@ need a function as well:
@noindent
Users on Emacs 28 and below may need to use @code{browse-url} instead.
+@anchor{SOCKS}
+@subsection SOCKS
+@cindex SOCKS
+
+People wanting to connect to IRC through a @acronym{SOCKS} proxy are
+most likely interested in doing so over @acronym{TOR} (The Onion
+Router). If that's @emph{not} you, please adapt these instructions
+accordingly. Otherwise, keep in mind that support for Tor is
+experimental and thus insufficient for safeguarding a user's identity
+and location, especially in the case of targeted individuals.
+
+ERC's preferred Tor setup works by accessing a local Tor service
+through the built-in @file{socks.el} library that ships with Emacs.
+Other means of accessing Tor, such as via @command{torsocks}, are not
+supported. Before getting started, check that your Tor service is up
+and running. You can do that with the following command:
+
+@example
+curl --proxy socks5h://localhost:9050 https://check.torproject.org | \
+ grep 'Congratulations'
+@end example
+
+Networks and servers differ in how they expose Tor endpoints. In all
+cases, you'll want to first set the option @code{socks-server} to
+something appropriate, like @code{("tor" "127.0.0.1" 9050 5)}. For
+some networks, setting @code{erc-server-connect-function} to
+@code{socks-open-network-stream} might be enough. Others, like
+@samp{Libera.Chat}, involve additional setup. At the time of writing,
+connecting to that network requires both @acronym{TLS} and a permitted
+@acronym{SASL} mechanism, like @samp{EXTERNAL} (@pxref{SASL}), as
+shown in the following example:
+
+@lisp
+(require 'erc)
+(require 'socks)
+
+(defun my-erc-open-socks-tls-stream (&rest args)
+ (let ((socks-username "")
+ (socks-password "")
+ (socks-server '("tor" "localhost" 9050 5)))
+ (apply #'erc-open-socks-tls-stream args)))
+
+(let* ((erc-modules (cons 'sasl erc-modules))
+ (erc-sasl-mechanism 'external)
+ (erc-server-connect-function #'my-erc-open-socks-tls-stream))
+ (erc-tls
+ :server "libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion"
+ :port 6697
+ :nick "jrh"
+ :user "jrandomhacker"
+ :full-name "J. Random Hacker"
+ :client-certificate (list "/home/jrh/key.pem" "/home/jrh/cert.pem")))
+@end lisp
+
+@noindent
+Here, the user-provided @code{my-erc-open-socks-tls-stream} ensures
+that the preferred values for @code{socks-server} and friends will be
+available when reconnecting. If you plan on using @acronym{SOCKS}
+with ERC exclusively, you can just set those options and variables
+globally and bind @code{erc-server-connect-function} to
+@code{erc-open-socks-tls-stream} instead.
+
@node auth-source
@subsection auth-source
@cindex auth-source
@@ -1468,7 +1531,9 @@ If you do so, please help keep it up to date.
@item
You can ask questions about using ERC on the Emacs mailing list,
-@uref{https://lists.gnu.org/mailman/listinfo/help-gnu-emacs}.
+@uref{https://lists.gnu.org/mailman/listinfo/help-gnu-emacs}, as well
+as on ERC's own low-volume list,
+@uref{https://lists.gnu.org/mailman/listinfo/emacs-erc}.
@item
You can visit the IRC Libera.Chat channel @samp{#emacs}. Many of the
@@ -1477,10 +1542,30 @@ questions. You can also try the relatively quiet @samp{#erc}, on the
same network, for more involved questions.
@item
+@anchor{Upgrading}
You can check GNU ELPA between Emacs releases to see if a newer
version is available that might contain a fix for your issue:
@uref{https://elpa.gnu.org/packages/erc.html}.
+To upgrade, run @kbd{M-x list-packages @key{RET}}. In the
+@file{*Packages*} (@code{package-menu-mode}) buffer, click the
+@samp{erc} package link for the desired version. If unsure, or if the
+version column is too narrow to tell, try the bottom-most candidate.
+In the resulting @code{help-mode} buffer, confirm the version and
+click @samp{Install}. Make sure to restart Emacs before reconnecting
+to IRC, and don't forget that you can roll back to the previous
+version by running @kbd{M-x package-delete @key{RET}}.
+@xref{Packages,,,emacs, the Emacs manual} for more information.
+
+In the rare instance you need an emergency fix or have volunteered to
+test an edge feature between ERC releases, you can try adding
+@samp{("devel" . "https://elpa.gnu.org/devel/")} to
+@code{package-archives} prior to performing the steps above. For
+this, you'll want to instead select a ``snapshot'' version from the
+menu. Please be aware that when going this route, the latest changes
+may not yet be available and you run the risk of incurring other bugs
+and encountering unstable features.
+
@item
To report a bug in ERC, use @kbd{M-x erc-bug}.
diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi
index fd96fcf8b8c..a6b62a058f2 100644
--- a/doc/misc/ert.texi
+++ b/doc/misc/ert.texi
@@ -409,13 +409,13 @@ emacs -batch -l ert -l my-tests.el \
@end example
@vindex ert-batch-backtrace-line-length
-Even modest settings for @code{print-level} and @code{print-length} can
-produce extremely long lines in backtraces, however, with attendant
-pauses in execution progress. Set
-@code{ert-batch-backtrace-line-length} to t to use the value of
-@code{backtrace-line-length}, @code{nil} to stop any limitations on backtrace
-line lengths (that is, to get full backtraces), or a positive integer to
-limit backtrace line length to that number.
+Even modest settings for @code{print-level} and @code{print-length}
+can produce extremely long lines in backtraces, however, with
+attendant pauses in execution progress. Set
+@code{ert-batch-backtrace-line-length} to @code{t} to use the value of
+@code{backtrace-line-length}, @code{nil} to stop any limitations on
+backtrace line lengths (that is, to get full backtraces), or a
+positive integer to limit backtrace line length to that number.
@vindex ert-quiet
By default, ERT in batch mode is quite verbose, printing a line with
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index 4e2bddf42af..0e2f5e02973 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -586,14 +586,6 @@ the buffer is merely buried instead.
Set environment variables using input like Bash's @command{export}, as
in @samp{export @var{var1}=@var{val1} @var{var2}=@var{val2} @dots{}}.
-@item expr
-@cmindex expr
-An implementation of @command{expr} using the Calc package.
-@xref{Top,,, calc, The GNU Emacs Calculator}.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
@item grep
@cmindex grep
@itemx agrep
@@ -628,15 +620,6 @@ the external @command{info} command, but uses Emacs's internal Info
reader.
@xref{Misc Help, , , emacs, The GNU Emacs Manual}.
-@item intersection
-@cmindex intersection
-A wrapper around the function @code{cl-intersection} (@pxref{Lists as
-Sets,,, cl, GNU Emacs Common Lisp Emulation}). This command
-can be used for comparing lists of strings.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
@item jobs
@cmindex jobs
List subprocesses of the Emacs process, if any, using the function
@@ -706,15 +689,6 @@ Manual}. Otherwise call the external @command{make} command.
Display Man pages using the Emacs @code{man} command.
@xref{Man Page, , , emacs, The GNU Emacs Manual}.
-@item mismatch
-@cmindex mismatch
-A wrapper around the function @code{cl-mismatch} (@pxref{Searching
-Sequences,,, cl, GNU Emacs Common Lisp Emulation}). This command can
-be used for comparing lists of strings.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
@item mkdir
@cmindex mkdir
Make new directories.
@@ -771,24 +745,6 @@ is required.
@cmindex rmdir
Removes directories if they are empty.
-@item set-difference
-@cmindex set-difference
-A wrapper around the function @code{cl-set-difference} (@pxref{Lists as
-Sets,,, cl, GNU Emacs Common Lisp Emulation}). This command
-can be used for comparing lists of strings.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
-@item set-exclusive-or
-@cmindex set-exclusive-or
-A wrapper around the function @code{cl-set-exclusive-or} (@pxref{Lists
-as Sets,,, cl, GNU Emacs Common Lisp Emulation}). This command can be
-used for comparing lists of strings.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
@item set
@cmindex set
Set variable values, using the function @code{set} like a command
@@ -808,27 +764,6 @@ Source an Eshell file in a subshell environment. This is not to be
confused with the command @command{.}, which sources a file in the
current environment.
-@item su
-@cmindex su
-@itemx sudo
-@cmindex sudo
-@itemx doas
-@cmindex doas
-Uses TRAMP's @command{su}, @command{sudo}, or @command{doas} method
-@pxref{Inline methods, , , tramp} to run a command via @command{su},
-@command{sudo}, or @command{doas}. These commands are in the
-eshell-tramp module, which is disabled by default.
-
-
-@item substitute
-@cmindex substitute
-A wrapper around the function @code{cl-substitute} (@pxref{Sequence
-Functions,,, cl, GNU Emacs Common Lisp Emulation}). This command can
-be used for comparing lists of strings.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
@item time
@cmindex time
Show the time elapsed during a command's execution.
@@ -838,15 +773,6 @@ Show the time elapsed during a command's execution.
Set or view the default file permissions for newly created files and
directories.
-@item union
-@cmindex union
-A wrapper around the function @code{cl-union} (@pxref{Lists as Sets,,,
-cl, GNU Emacs Common Lisp Emulation}). This command can be used for
-comparing lists of strings.
-
-This command can be loaded as part of the eshell-xtra module, which is
-disabled by default.
-
@item unset
@cmindex unset
Unset one or more variables. As with @command{set}, a variable name
@@ -2019,66 +1945,95 @@ at the end of the command are excluded. This allows input like this:
Eshell provides a facility for defining extension modules so that they
can be disabled and enabled without having to unload and reload them,
and to provide a common parent Customize group for the
-modules.@footnote{ERC provides a similar module facility.} An Eshell
-module is defined the same as any other library but one requirement: the
-module must define a Customize@footnote{@xref{Customization, , ,
-elisp, The Emacs Lisp Reference Manual}.}
-group using @code{eshell-defgroup} (in place of @code{defgroup}) with
-@code{eshell-module} as the parent group.@footnote{If the module has
-no user-customizable options, then there is no need to define it as an
-Eshell module.} You also need to load the following as shown:
+modules.@footnote{ERC provides a similar module facility.}
-@example
-(eval-when-compile
- (require 'cl-lib)
- (require 'esh-mode)
- (require 'eshell))
+@menu
+* Optional modules::
+* Writing a module::
+@end menu
-(require 'esh-util)
-@end example
+@node Optional modules
+@section Optional modules
+
+In addition to the various modules enabled by default (documented
+above), Eshell provides several other modules which are @emph{not}
+enabled by default. If you want to enable these, you can add them to
+@code{eshell-modules-list}.
@menu
-* Writing a module::
-* Module testing::
-* Directory handling::
* Key rebinding::
* Smart scrolling::
-* Terminal emulation::
* Electric forward slash::
+* Tramp extensions::
+* Extra built-in commands::
@end menu
-@node Writing a module
-@section Writing a module
+@node Key rebinding
+@subsection Key rebinding
-This section is not yet written.
+This module allows for special keybindings that only take effect
+while the point is in a region of input text. The default keybindings
+mimic the bindings used in other shells when the user is editing new
+input text. To enable this module, add @code{eshell-rebind} to
+@code{eshell-modules-list}.
-@node Module testing
-@section Module testing
+For example, it binds @kbd{C-u} to kill the current input text and
+@kbd{C-w} to @code{backward-kill-word}. If the history module is
+enabled, it also binds @kbd{C-p} and @kbd{C-n} to move through the
+input history.
-This section is not yet written.
+If @code{eshell-confine-point-to-input} is non-@code{nil}, this module
+prevents certain commands from causing the point to leave the input
+area, such as @code{backward-word}, @code{previous-line}, etc.
-@node Directory handling
-@section Directory handling
+@node Smart scrolling
+@subsection Smart scrolling
-This section is not yet written.
+This module combines the facility of normal, modern shells with some
+of the edit/review concepts inherent in the design of Plan 9's 9term.
+To enable it, add @code{eshell-smart} to @code{eshell-modules-list}.
-@node Key rebinding
-@section Key rebinding
+@itemize @bullet
+@item
+When you invoke a command, it is assumed that you want to read the
+output of that command.
-This section is not yet written.
+@item
+If the output is not what you wanted, it is assumed that you will want
+to edit, and then resubmit a refined version of that command.
-@node Smart scrolling
-@section Smart scrolling
+@item
+If the output is valid, pressing any self-inserting character key will
+jump to end of the buffer and insert that character, in order to begin
+entry of a new command.
-This section is not yet written.
+@item
+If you show an intention to edit the previous command -- by moving
+around within it -- then the next self-inserting characters will
+insert *there*, instead of at the bottom of the buffer.
-@node Terminal emulation
-@section Terminal emulation
+@item
+If you show an intention to review old commands, such as @kbd{M-p} or
+@kbd{M-r}, point will jump to the bottom of the buffer before invoking
+that command.
-This section is not yet written.
+@item
+If none of the above has happened yet (i.e.@: your point is just
+sitting on the previous command), you can use @kbd{SPC} and
+@kbd{BACKSPACE} (or @kbd{Delete}) to page forward and backward
+@emph{through the output of the last command only}. It will constrain
+the movement of the point and window so that the maximum amount of
+output is always displayed at all times.
+
+@item
+While output is being generated from a command, the window will be
+constantly reconfigured (until it would otherwise make no difference)
+in order to always show you the most output from the command possible.
+This happens if you change window sizes, scroll, etc.
+@end itemize
@node Electric forward slash
-@section Electric forward slash
+@subsection Electric forward slash
To help with supplying absolute file name arguments to remote
commands, you can add the @code{eshell-elecslash} module to
@@ -2132,6 +2087,104 @@ when chaining commands with the operators @code{&&}, @code{||},
@code{|} and @code{;}, the electric forward slash is active only
within the first command.
+@node Tramp extensions
+@subsection Tramp extensions
+
+This module adds built-in commands that use Tramp to handle running
+other commands as different users, replacing the corresponding
+external commands. To enable it, add @code{eshell-tramp} to
+@code{eshell-modules-list}.
+
+@table @code
+
+@item su
+@cmindex su
+@itemx sudo
+@cmindex sudo
+@itemx doas
+@cmindex doas
+Uses TRAMP's @command{su}, @command{sudo}, or @command{doas} method
+(@pxref{Inline methods, , , tramp, The Tramp Manual}) to run a command
+via @command{su}, @command{sudo}, or @command{doas}.
+
+@end table
+
+@node Extra built-in commands
+@subsection Extra built-in commands
+
+This module provides several extra built-in commands documented below,
+primarily for working with lists of strings in Eshell. To enable it,
+add @code{eshell-xtra} to @code{eshell-modules-list}.
+
+@table @code
+
+@item expr
+@cmindex expr
+An implementation of @command{expr} using the Calc package.
+@xref{Top,,, calc, The GNU Emacs Calculator}.
+
+@item intersection
+@cmindex intersection
+A wrapper around the function @code{cl-intersection} (@pxref{Lists as
+Sets,,, cl, GNU Emacs Common Lisp Emulation}). This command
+can be used for comparing lists of strings.
+
+@item mismatch
+@cmindex mismatch
+A wrapper around the function @code{cl-mismatch} (@pxref{Searching
+Sequences,,, cl, GNU Emacs Common Lisp Emulation}). This command can
+be used for comparing lists of strings.
+
+@item set-difference
+@cmindex set-difference
+A wrapper around the function @code{cl-set-difference} (@pxref{Lists
+as Sets,,, cl, GNU Emacs Common Lisp Emulation}). This command can be
+used for comparing lists of strings.
+
+@item set-exclusive-or
+@cmindex set-exclusive-or
+A wrapper around the function @code{cl-set-exclusive-or} (@pxref{Lists
+as Sets,,, cl, GNU Emacs Common Lisp Emulation}). This command can be
+used for comparing lists of strings.
+
+@item substitute
+@cmindex substitute
+A wrapper around the function @code{cl-substitute} (@pxref{Sequence
+Functions,,, cl, GNU Emacs Common Lisp Emulation}). This command can
+be used for comparing lists of strings.
+
+@item union
+@cmindex union
+A wrapper around the function @code{cl-union} (@pxref{Lists as Sets,,,
+cl, GNU Emacs Common Lisp Emulation}). This command can be used for
+comparing lists of strings.
+
+@end table
+
+@node Writing a module
+@section Writing a module
+
+An Eshell module is defined the same as any other library but with two
+additional requirements: first, the module's source file should be
+named @file{em-@var{name}.el}; second, the module must define an
+autoloaded Customize group (@pxref{Customization, , , elisp, The Emacs
+Lisp Reference Manual}) with @code{eshell-module} as the parent group.
+In order to properly autoload this group, you should wrap its
+definition with @code{progn} as follows:
+
+@example
+;;;###autoload
+(progn
+(defgroup eshell-my-module nil
+ "My module lets you do very cool things in Eshell."
+ :tag "My module"
+ :group 'eshell-module))
+@end example
+
+Even if you don't have any Customize options in your module, you
+should still define the group so that Eshell can include your module
+in the Customize interface for @code{eshell-modules-list}.
+
@node Bugs and ideas
@chapter Bugs and ideas
@cindex reporting bugs and ideas
@@ -2158,8 +2211,6 @@ Below is a list of some known problems with Eshell version 2.4.2,
which is the version included with Emacs 22.
@table @asis
-@item Documentation incomplete
-
@item Differentiate between aliases and functions
Allow for a Bash-compatible syntax, such as:
@@ -2227,8 +2278,6 @@ for running shells.
@item Implement @samp{-r}, @samp{-n} and @samp{-s} switches for @command{cp}
-@item Make @kbd{M-5 M-x eshell} switch to ``*eshell<5>*'', creating if need be
-
@item @samp{mv @var{dir} @var{file}.tar} does not remove directories
This is because the tar option --remove-files doesn't do so. Should it
diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi
index 743d7da946b..d82dec971cd 100644
--- a/doc/misc/eudc.texi
+++ b/doc/misc/eudc.texi
@@ -374,7 +374,7 @@ LDAP:
Specifying the function @code{ldap-password-read} for @code{passwd}
will cause Emacs to prompt interactively for the password. The
password will then be validated and cached, unless
-@code{password-cache} is nil. You can customize
+@code{password-cache} is @code{nil}. You can customize
@code{password-cache-expiry} to control the duration for which the
password is cached. If you want to clear the cache, call
@code{password-reset}.
@@ -1023,9 +1023,9 @@ current server to the list with the command @kbd{M-x
eudc-bookmark-current-server}. The list is contained in the variable
@code{eudc-server-hotlist} which is stored in and retrieved from the
file designated by @code{eudc-options-file}, or normal Emacs
-initialization if @code{eudc-ignore-options-file} is non-nil. EUDC
-also provides a facility to edit the hotlist interactively (@pxref{The
-Hotlist Edit Buffer}).
+initialization if @code{eudc-ignore-options-file} is non-@code{nil}.
+EUDC also provides a facility to edit the hotlist interactively
+(@pxref{The Hotlist Edit Buffer}).
The hotlist is also used to make queries on multiple servers
successively (@pxref{Multi-server Queries}). The order in which the
@@ -1041,18 +1041,18 @@ Add the current server to the hotlist of servers
@end deffn
@defvar eudc-ignore-options-file
-If non-nil, then EUDC ignores @code{eudc-options-file} and warns or
+If non-@code{nil}, EUDC ignores @code{eudc-options-file} and warns or
issues an error when an attempt is made to use it. Most users should
set this, and keep their EUDC configuration in the main Emacs
-initialization file instead. The separate eudc-options file has
-created confusion for users in the past.
+initialization file instead. The separate @file{eudc-options} file
+has created confusion for users in the past.
@end defvar
@defvar eudc-options-file
The name of a file where EUDC stores its internal variables (the
hotlist and the current server). EUDC will try to load that file upon
initialization so, if you choose a file name different from the
-defaults @file{~/.emacs.d/eudc-options}, be sure to set this variable
+default @file{~/.emacs.d/eudc-options}, be sure to set this variable
to the appropriate value @emph{before} EUDC is itself loaded.
@end defvar
diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi
index 836eb38503e..b67624af9f8 100644
--- a/doc/misc/eww.texi
+++ b/doc/misc/eww.texi
@@ -115,6 +115,21 @@ web page hit @kbd{g} (@code{eww-reload}).
@kbd{w} calls @code{eww-copy-page-url}, which will copy the current
page's URL to the kill ring instead.
+@findex eww-copy-alternate-url
+@kindex A
+ The @kbd{A} command (@code{eww-copy-alternate-url}) copies the URL
+of an alternate link on the current page into the kill ring. If the
+page specifies multiple alternate links, this command prompts for one
+of them in the minibuffer, with completion. Alternate links are
+references that an @acronym{HTML} page may include to point to other
+documents that act as its alternative representations. Notably,
+@acronym{HTML} pages can use alternate links to point to their
+translated versions and to @acronym{RSS} feeds. Alternate links
+appear in the @samp{<head>} section of @acronym{HTML} pages as
+@samp{<link>} elements with @samp{rel} attribute equal to
+@samp{``alternate''}; they are part of the page's metadata and are not
+visible in its rendered content.
+
@findex eww-open-in-new-buffer
@kindex M-RET
The @kbd{M-@key{RET}} command (@code{eww-open-in-new-buffer}) opens the
@@ -368,8 +383,8 @@ point positions or the actual Web page contents.
The latter, however, tend to be overly large to preserve in the
desktop file, so they get omitted, thus rendering the respective
entries entirely equivalent. By default, such duplicate entries are
-not saved. Setting @code{eww-desktop-remove-duplicates} to nil will
-force EWW to save them anyway.
+not saved. Setting @code{eww-desktop-remove-duplicates} to @code{nil}
+will force EWW to save them anyway.
@vindex eww-restore-desktop
Restoring EWW buffers' contents may prove to take too long to
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index b6a540a6ea3..237f0702778 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -115,11 +115,11 @@ Syntax checks happen ``on-the-fly''. Each check is started whenever:
@itemize @bullet
@item
@code{flymake-mode} is started, unless
-@code{flymake-start-on-flymake-mode} is nil;
+@code{flymake-start-on-flymake-mode} is @code{nil};
@item
the buffer is saved, unless @code{flymake-start-on-save-buffer} is
-nil;
+@code{nil};
@item
some changes were made to the buffer more than @code{0.5} seconds ago
@@ -771,9 +771,13 @@ The following code needs lexical binding (@pxref{Using Lexical
Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
@example
+@group
;;; ruby-flymake.el --- A ruby Flymake backend -*- lexical-binding: t; -*-
+(require 'cl-lib)
(defvar-local ruby--flymake-proc nil)
+@end group
+@group
(defun ruby-flymake (report-fn &rest _args)
;; Not having a ruby interpreter is a serious problem which should cause
;; the backend to disable itself, so an @code{error} is signaled.
@@ -787,7 +791,9 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
;;
(when (process-live-p ruby--flymake-proc)
(kill-process ruby--flymake-proc))
+@end group
+@group
;; Save the current buffer, the narrowing restriction, remove any
;; narrowing restriction.
;;
@@ -853,11 +859,14 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
;;
(process-send-region ruby--flymake-proc (point-min) (point-max))
(process-send-eof ruby--flymake-proc))))
+@end group
+@group
(defun ruby-setup-flymake-backend ()
(add-hook 'flymake-diagnostic-functions 'ruby-flymake nil t))
(add-hook 'ruby-mode-hook 'ruby-setup-flymake-backend)
+@end group
@end example
@node The legacy Proc backend
@@ -909,13 +918,18 @@ Patterns for error/warning messages in the form @code{(regexp file-idx
line-idx col-idx err-text-idx)}. @xref{Parsing the output}.
@item flymake-proc-diagnostic-type-pred
-A function to classify a diagnostic text as particular type of error.
-Should be a function taking an error text and returning a diagnostic
-symbol (@pxref{Flymake error types}). If non-@code{nil} is returned but
-there is no such symbol in that table, a warning is assumed. If nil
-is returned, an error is assumed. Can also be a regular expression
-that should match only warnings. This variable replaces the old
-@code{flymake-warning-re} and @code{flymake-warning-predicate}.
+A function to classify a diagnostic text as a particular type of
+error. The value of this variable should be a function taking an
+error text and returning a diagnostic symbol (@pxref{Flymake error
+types}). If it returns a non-@code{nil} value but there is no such
+symbol in that table, the text is interpreted as a warning. If the
+function returns @code{nil}, the text is assumed to be an error.
+
+The value of this variable can alternatively be a regular expression
+that should match only warnings.
+
+This variable replaces the old @code{flymake-warning-re} and
+@code{flymake-warning-predicate}.
@item flymake-proc-compilation-prevents-syntax-check
A flag indicating whether compilation and syntax check of the same
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index be7504c92bf..8d25e868c8a 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -713,7 +713,6 @@ Choosing a Mail Back End
Browsing the Web
-* Archiving Mail::
* Web Searches:: Creating groups from articles that match a string.
* RSS:: Reading RDF site summary.
@@ -5015,14 +5014,14 @@ the @code{a} spec.
@item L
Number of lines in the article.
@item Z
-Retrieval Score Value (RSV) of the article; nil if not in an nnselect
-group.
+Retrieval Score Value (RSV) of the article; @code{nil} if not in an
+nnselect group.
@item G
-Originating group name of the article; nil if not in an nnselect
-group.
+Originating group name of the article; @code{nil} if not in an
+nnselect group.
@item g
-Short form of the originating group name of the article; nil if not in
-an nnselect group.
+Short form of the originating group name of the article; @code{nil} if
+not in an nnselect group.
@item c
Number of characters in the article. This specifier is not supported
in some methods (like nnfolder).
@@ -14572,18 +14571,20 @@ requires using the @file{oauth2.el} library.)
@vindex nnimap-expunge
@item nnimap-expunge
When to expunge deleted messages. If @code{never}, deleted articles
-are marked with the IMAP @code{\\Delete} flag but not automatically
-expunged. If @code{immediately}, deleted articles are immediately expunged
-(this requires the server to support the UID EXPUNGE command). If
-@code{on-exit}, deleted articles are flagged, and all flagged articles are
-expunged when the group is closed.
-
-For backwards compatibility, this variable may also be set to t
-or nil. If the server supports UID EXPUNGE, both t and nil are
-equivalent to @code{immediately}. If the server does not support UID
-EXPUNGE nil is equivalent to @code{never}, while t will immediately
-expunge ALL articles that are currently flagged as deleted
-(i.e., potentially not only the article that was just deleted).
+are marked with the @acronym{IMAP} @code{\\Delete} flag but not
+automatically expunged. If @code{immediately}, deleted articles are
+immediately expunged (this requires the server to support the
+@code{UID EXPUNGE} command). If @code{on-exit}, deleted articles are
+flagged, and all flagged articles are expunged when the group is
+closed.
+
+For backwards compatibility, this variable may also be set to @code{t}
+or @code{nil}. If the server supports @code{UID EXPUNGE}, both
+@code{t} and @code{nil} are equivalent to @code{immediately}. If the
+server does not support @code{UID EXPUNGE}, @code{nil} is equivalent
+to @code{never}, while @code{t} will immediately expunge @emph{all}
+articles that are currently flagged as deleted (i.e., potentially not
+only the article that was just deleted).
@vindex nnimap-streaming
@item nnimap-streaming
@@ -15300,9 +15301,9 @@ Two example maildir mail sources:
@end lisp
@item imap
-Get mail from a @acronym{IMAP} server. If you don't want to use
+Get mail from an @acronym{IMAP} server. If you don't want to use
@acronym{IMAP} as intended, as a network mail reading protocol (i.e.,
-with nnimap), for some reason or other, Gnus let you treat it similar
+with nnimap), for some reason or other, Gnus lets you treat it similar
to a @acronym{POP} server and fetches articles from a given
@acronym{IMAP} mailbox. @xref{Using IMAP}, for more information.
@@ -17247,7 +17248,6 @@ Gnus has been getting a bit of a collection of back ends for providing
interfaces to these sources.
@menu
-* Archiving Mail::
* Web Searches:: Creating groups from articles that match a string.
* RSS:: Reading RDF site summary.
@end menu
@@ -17264,29 +17264,6 @@ cases, it makes a lot of sense to let the Gnus Agent (@pxref{Gnus
Unplugged}) handle downloading articles, and then you can read them at
leisure from your local disk. No more World Wide Wait for you.
-@node Archiving Mail
-@subsection Archiving Mail
-@cindex archiving mail
-@cindex backup of mail
-
-Some of the back ends, notably @code{nnml}, @code{nnfolder}, and
-@code{nnmaildir}, now actually store the article marks with each group.
-For these servers, archiving and restoring a group while preserving
-marks is fairly simple.
-
-(Preserving the group level and group parameters as well still
-requires ritual dancing and sacrifices to the @file{.newsrc.eld} deity
-though.)
-
-To archive an entire @code{nnml}, @code{nnfolder}, or @code{nnmaildir}
-server, take a recursive copy of the server directory. There is no need
-to shut down Gnus, so archiving may be invoked by @code{cron} or
-similar. You restore the data by restoring the directory tree, and
-adding a server definition pointing to that directory in Gnus. The
-@ref{Article Backlog}, @ref{Asynchronous Fetching} and other things
-might interfere with overwriting data, so you may want to shut down Gnus
-before you restore the data.
-
@node Web Searches
@subsection Web Searches
@cindex nnweb
@@ -19432,7 +19409,7 @@ If you so desire, you can configure the agent (see @code{gnus-agent-cache}
@pxref{Agent Variables}) to always download headers and articles while
plugged. Gnus will almost certainly be slower, but it will be kept
synchronized with the server. That last point probably won't make any
-sense if you are using a nntp or nnimap back end.
+sense if you are using an nntp or nnimap back end.
@node Agent Expiry
@subsection Agent Expiry
@@ -26397,7 +26374,7 @@ If this option is non-@code{nil}, the registry will register all messages, as
you see them. This is important to making split-to-parent and
Message-ID references work correctly, as the registry needs to know
where all messages are, but it can slow down group opening and the
-saving of Gnus. If this option is nil, entries must be created
+saving of Gnus. If this option is @code{nil}, entries must be created
manually, for instance by storing a custom flag or keyword for the
message.
@end defvar
@@ -26419,8 +26396,8 @@ This option specifies how registry entries are sorted during pruning.
If a function is given, it should sort least valuable entries first,
as pruning starts from the beginning of the list. The default value
is @code{gnus-registry-sort-by-creation-time}, which proposes the
-oldest entries for pruning. Set to nil to perform no sorting, which
-will speed up the pruning process.
+oldest entries for pruning. Set to @code{nil} to perform no sorting,
+which will speed up the pruning process.
@end defvar
@defvar gnus-registry-cache-file
@@ -26493,10 +26470,10 @@ have to put a rule like this:
in your fancy split setup.
-If @code{gnus-registry-register-all} is non-@code{nil} (the default), the
-registry will perform splitting for all messages. If it is nil,
-splitting will only happen for children of messages you've explicitly
-registered.
+If @code{gnus-registry-register-all} is non-@code{nil} (the default),
+the registry will perform splitting for all messages. If it is
+@code{nil}, splitting will only happen for children of messages you've
+explicitly registered.
In addition, you may want to customize the following variables.
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index c3ad8dd6942..8064af53fc6 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -1948,11 +1948,9 @@ requires the @acronym{POP}-before-@acronym{SMTP} authentication.
@cindex X-Message-SMTP-Method
If you have a complex @acronym{SMTP} setup, and want some messages to
go via one mail server, and other messages to go through another, you
-can use the @samp{X-Message-SMTP-Method} header. These are the
-supported values:
-
-@table @samp
-@item smtpmail
+can use the @samp{X-Message-SMTP-Method} header to override the
+default by using the keyword @samp{smtp} followed by the server
+information:
@example
X-Message-SMTP-Method: smtp smtp.fsf.org 587
@@ -1968,16 +1966,19 @@ This is the same as the above, but uses @samp{other-user} as the user
name when authenticating. This is handy if you have several
@acronym{SMTP} accounts on the same server.
-@item sendmail
+This header may also be used to specify an alternative MTA by using a
+@samp{mailer} keyword, where @samp{mailer} is the name of an MTA with
+a corresponding @code{message-send-mail-with-'mailer'} function. For
+example:
@example
X-Message-SMTP-Method: sendmail
@end example
-This will send the message via the locally installed sendmail/exim/etc
-installation.
+will send the message via the locally installed sendmail program. The
+recognized values of @samp{mailer} are sendmail, qmail, mh, and
+mailclient.
-@end table
@item message-mh-deletable-headers
@vindex message-mh-deletable-headers
diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org
index 47d3e6c03e3..7809bd03918 100644
--- a/doc/misc/modus-themes.org
+++ b/doc/misc/modus-themes.org
@@ -4,9 +4,9 @@
#+language: en
#+options: ':t toc:nil author:t email:t num:t
#+startup: content
-#+macro: stable-version 4.1.0
-#+macro: release-date 2023-02-22
-#+macro: development-version 4.2.0-dev
+#+macro: stable-version 4.2.0
+#+macro: release-date 2023-05-30
+#+macro: development-version 4.3.0-dev
#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
#+macro: space @@texinfo:@: @@
#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
@@ -77,7 +77,7 @@ combinations of background and foreground values. For small sized
text, this corresponds to the WCAG AAA standard, which specifies a
minimum rate of distance in relative luminance of 7:1.
-The Modus themes consist of six themes, divided into three subgroups.
+The Modus themes consist of eight themes, divided into four subgroups.
- Main themes :: ~modus-operandi~ is the project's main light theme,
while ~modus-vivendi~ is its dark counterpart. These two themes are
@@ -101,15 +101,23 @@ The Modus themes consist of six themes, divided into three subgroups.
users with deueteranopia or deuteranomaly (mostly yellow and blue
hues).
+- Tritanopia themes :: ~modus-operandi-tritanopia~ and its counterpart
+ ~modus-vivendi-tritanopia~ are optimized for users with blue-yellow
+ color deficiency. The idea is the same as with the deuteranopia
+ variants: color coding relies only on hues that are accessible to
+ people with tritanopia or tritanomaly, namely, shades of red and
+ cyan.
+
To ensure that users have a consistently accessible experience, the
themes strive to achieve as close to full face coverage as possible,
while still targeting a curated list of well-maintained packages
([[#h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19][Face coverage]]).
-The overarching objective of this project is to always offer accessible
-color combinations. There shall never be a compromise on this
-principle. If there arises an inescapable trade-off between readability
-and stylistic considerations, we will always opt for the former.
+The overarching objective of this project is to always offer
+accessible color combinations. There shall never be a compromise on
+this principle. If there arises an inescapable trade-off between
+usability and stylistic considerations, we will always opt for the
+former.
Starting with version 0.12.0 and onwards, the themes are built into GNU
Emacs.
@@ -441,6 +449,8 @@ will lead to failures in loading the files. If either or both of those
variables need to be changed, their values should be defined before the
package declaration of the themes.
+[[#h:aabcada6-810d-4eee-b34a-d2a9c301824d][Make the themes look like what the maintainer uses]]
+
** Differences between loading and enabling
:properties:
:custom_id: h:e68560b3-7fb0-42bc-a151-e015948f8a35
@@ -1066,6 +1076,9 @@ palette variable is =THEME-NAME-palette-overrides=, thus yielding:
#+vindex: modus-operandi-tinted-palette-overrides
+ ~modus-operandi-tinted-palette-overrides~
+#+vindex: modus-operandi-tritanopia-palette-overrides
++ ~modus-operandi-tritanopia-palette-overrides~
+
#+vindex: modus-vivendi-palette-overrides
+ ~modus-vivendi-palette-overrides~
@@ -1075,6 +1088,9 @@ palette variable is =THEME-NAME-palette-overrides=, thus yielding:
#+vindex: modus-vivendi-tinted-palette-overrides
+ ~modus-vivendi-tinted-palette-overrides~
+#+vindex: modus-vivendi-tritanopia-palette-overrides
++ ~modus-vivendi-tritanopia-palette-overrides~
+
Theme-specific overrides take precedence over the shared ones. It is
strongly advised that shared overrides do NOT alter color values, as
those will not be appropriate for both dark and light themes. Common
@@ -1123,7 +1139,7 @@ For example, the ~modus-operandi-palette~ is like this:
#+end_src
The ~modus-operandi-palette-overrides~ targets the entries that need
-to be changed. For example, to make the main foreground colour a dark
+to be changed. For example, to make the main foreground color a dark
gray instead of pure black, use a shade of red for comments, and apply
a cyan hue to keywords:
@@ -1153,15 +1169,30 @@ Named colors can be previewed, such as with the command
For a video tutorial that users of all skill levels can approach,
watch: https://protesilaos.com/codelog/2022-12-17-modus-themes-v4-demo/.
-*** Palette override presets
+* Advanced customization
+:properties:
+:custom_id: h:f4651d55-8c07-46aa-b52b-bed1e53463bb
+:end:
+
+Unlike the predefined customization options which follow a clear pattern
+of allowing the user to quickly specify their preference, the themes
+also provide a more flexible, albeit difficult, mechanism to control
+things with precision ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]).
+
+This section is of interest only to users who are prepared to maintain
+their own local tweaks and who are willing to deal with any possible
+incompatibilities between versioned releases of the themes. As such,
+they are labeled as "do-it-yourself" or "DIY".
+
+** Palette override presets
:PROPERTIES:
:CUSTOM_ID: h:b0bc811c-227e-42ec-bf67-15e1f41eb7bc
:END:
This section shows how to refashion the themes by opting in to the
stylistic presets we provide. Those presets override the default
-color mappings to amplify or tone down the overall coloration of the
-them.
+color mappings to amplify, tone down, or refashion the overall
+coloration of the themes.
To make almost all aspects of the themes less intense, use this:
@@ -1187,6 +1218,18 @@ The ~modus-themes-preset-overrides-intense~ makes many background
colors accented instead of gray and increases coloration in a number
of places. Colors stand out more and are made easier to spot.
+#+vindex: modus-themes-preset-overrides-cooler
+#+vindex: modus-themes-preset-overrides-warmer
+For some stylistic variation try the "cooler" and "warmer" presets:
+
+#+begin_src emacs-lisp
+;; This:
+(setq modus-themes-common-palette-overrides modus-themes-preset-overrides-cooler)
+
+;; Or:
+(setq modus-themes-common-palette-overrides modus-themes-preset-overrides-warmer)
+#+end_src
+
Note that the user is not limited to those presets. The system of
overrides we provide makes it possible to tweak the value of each
individual named color and to change how values are assigned to
@@ -1214,7 +1257,7 @@ the general idea (extra space for didactic purposes):
,@modus-themes-preset-overrides-intense))
#+end_src
-*** Stylistic variants using palette overrides
+** Stylistic variants using palette overrides
:PROPERTIES:
:CUSTOM_ID: h:df1199d8-eaba-47db-805d-6b568a577bf3
:END:
@@ -1226,7 +1269,7 @@ to take effect. To apply overrides at startup simply define them
before the call that loads the theme. Remember that we also provide
presets that are easier to apply ([[#h:b0bc811c-227e-42ec-bf67-15e1f41eb7bc][Palette override presets]]).
-**** Make the mode line borderless
+*** Make the mode line borderless
:PROPERTIES:
:CUSTOM_ID: h:80ddba52-e188-411f-8cc0-480ebd75befe
:END:
@@ -1263,7 +1306,7 @@ set their color to that of the underlying background.
(border-mode-line-inactive bg-mode-line-inactive)))
#+end_src
-**** Make the active mode line colorful
+*** Make the active mode line colorful
:PROPERTIES:
:CUSTOM_ID: h:e8d781be-eefc-4a81-ac4e-5ed156190df7
:END:
@@ -1307,7 +1350,7 @@ have a blue mode line for ~modus-operandi~ and a red one for
(border-mode-line-active bg-red-subtle)))
#+end_src
-**** Make the tab bar more or less colorful
+*** Make the tab bar more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:096658d7-a0bd-4a99-b6dc-9b20a20cda37
:END:
@@ -1359,7 +1402,7 @@ manual.
(bg-tab-other bg-cyan-subtle)))
#+end_src
-**** Make the fringe invisible or another color
+*** Make the fringe invisible or another color
:PROPERTIES:
:CUSTOM_ID: h:c312dcac-36b6-4a1f-b1f5-ab1c9abe27b0
:END:
@@ -1393,7 +1436,7 @@ or continuation lines.
'((fringe bg-blue-nuanced)))
#+end_src
-**** Make links use subtle or no underlines
+*** Make links use subtle or no underlines
:PROPERTIES:
:CUSTOM_ID: h:6c1d1dea-5cbf-4d92-b7bb-570a7a23ffe9
:END:
@@ -1417,7 +1460,7 @@ that underline mappings can read correctly.
(underline-link-symbolic unspecified)))
#+end_src
-**** Make prompts more or less colorful
+*** Make prompts more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:bd75b43a-0bf1-45e7-b8b4-20944ca8b7f8
:END:
@@ -1454,7 +1497,7 @@ block we show how to add or remove color from prompts.
(bg-prompt bg-yellow-subtle))) ; try to replace "subtle" with "intense"
#+end_src
-**** Make completion matches more or less colorful
+*** Make completion matches more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:d959f789-0517-4636-8780-18123f936f91
:END:
@@ -1541,7 +1584,7 @@ colors to two:
The user can mix and match to their liking.
-**** Make comments yellow and strings green
+*** Make comments yellow and strings green
:PROPERTIES:
:CUSTOM_ID: h:26f53daa-0065-48dc-88ab-6a718d16cd95
:END:
@@ -1584,7 +1627,7 @@ reproduce the effect, but also how to tweak it to one's liking.
(string yellow-cooler)))
#+end_src
-**** Make code syntax use the old alt-syntax style
+*** Make code syntax use the old alt-syntax style
:PROPERTIES:
:CUSTOM_ID: h:c8767172-bf11-4c96-81dc-e736c464fc9c
:END:
@@ -1669,7 +1712,7 @@ The user can always mix and match styles to their liking.
[[#h:943063da-7b27-4ba4-9afe-f8fe77652fd1][Make use of alternative styles for code syntax]].
-**** Make use of alternative styles for code syntax
+*** Make use of alternative styles for code syntax
:PROPERTIES:
:CUSTOM_ID: h:943063da-7b27-4ba4-9afe-f8fe77652fd1
:END:
@@ -1760,7 +1803,7 @@ theme palette.
(variable cyan-warmer)))
#+end_src
-**** Make matching parenthesis more or less intense
+*** Make matching parenthesis more or less intense
:PROPERTIES:
:CUSTOM_ID: h:259cf8f5-48ec-4b13-8a69-5d6387094468
:END:
@@ -1790,7 +1833,7 @@ to enable underlines for those highlights.
(underline-paren-match fg-main)))
#+end_src
-**** Make box buttons more or less gray
+*** Make box buttons more or less gray
:PROPERTIES:
:CUSTOM_ID: h:4f6b6ca3-f5bb-4830-8312-baa232305360
:END:
@@ -1818,7 +1861,7 @@ inactive ones.
(fg-button-inactive "gray50")))
#+end_src
-**** Make TODO and DONE more or less intense
+*** Make TODO and DONE more or less intense
:PROPERTIES:
:CUSTOM_ID: h:b57bb50b-a863-4ea8-bb38-6de2275fa868
:END:
@@ -1858,7 +1901,7 @@ to subdue them.
'((prose-done fg-dim)))
#+end_src
-**** Make headings more or less colorful
+*** Make headings more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:11297984-85ea-4678-abe9-a73aeab4676a
:END:
@@ -1915,7 +1958,7 @@ match styles at will.
(overline-heading-1 border)))
#+end_src
-**** Make Org agenda more or less colorful
+*** Make Org agenda more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:a5af0452-a50f-481d-bf60-d8143f98105f
:END:
@@ -1980,7 +2023,25 @@ A third example that makes the agenda more blue:
(date-weekend fg-dim)))
#+end_src
-**** Make inline code in prose use alternative styles
+Yet another example that also affects =DONE= and =TODO= keywords:
+
+#+begin_src emacs-lisp
+;; Change dates to a set of more subtle combinations. Deadlines are a
+;; shade of magenta, scheduled dates are a shade of green that
+;; complements that of the deadlines, weekday headings use the main
+;; foreground color while weekends are a shade of gray. The DONE
+;; keyword is a faint blue-gray while TODO is yellow.
+(setq modus-themes-common-palette-overrides
+ '((date-deadline magenta-warmer)
+ (date-scheduled green-cooler)
+ (date-weekday fg-main)
+ (date-event fg-dim)
+ (date-now blue)
+ (prose-done fg-alt)
+ (prose-todo yellow)))
+#+end_src
+
+*** Make inline code in prose use alternative styles
:PROPERTIES:
:CUSTOM_ID: h:bb5b396f-5532-4d52-ab13-149ca24854f1
:END:
@@ -2039,7 +2100,7 @@ do not show every possible permutation.
(prose-verbatim red-warmer)))
#+end_src
-**** Make mail citations and headers more or less colorful
+*** Make mail citations and headers more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:7da7a4ad-5d3a-4f11-9796-5a1abed0f0c4
:END:
@@ -2108,7 +2169,7 @@ We thus have the following:
(mail-other green)))
#+end_src
-**** Make the region preserve text colors, plus other styles
+*** Make the region preserve text colors, plus other styles
:PROPERTIES:
:CUSTOM_ID: h:c8605d37-66e1-42aa-986e-d7514c3af6fe
:END:
@@ -2148,7 +2209,7 @@ with an appropriate foreground value.
(fg-region fg-main)))
#+end_src
-**** Make mouse highlights more or less colorful
+*** Make mouse highlights more or less colorful
:PROPERTIES:
:CUSTOM_ID: h:b5cab69d-d7cb-451c-8ff9-1f545ceb6caf
:END:
@@ -2177,7 +2238,7 @@ mapping that covers mouse hover effects and related highlights:
'((bg-hover bg-green-subtle)))
#+end_src
-**** Make language underlines less colorful
+*** Make language underlines less colorful
:PROPERTIES:
:CUSTOM_ID: h:03dbd5af-6bae-475e-85a2-cec189f69598
:END:
@@ -2210,7 +2271,7 @@ by code linters and prose spell checkers.
(underline-note green-intense)))
#+end_src
-**** Make line numbers use alternative styles
+*** Make line numbers use alternative styles
:PROPERTIES:
:CUSTOM_ID: h:b6466f51-cb58-4007-9ebe-53a27af655c7
:END:
@@ -2252,7 +2313,7 @@ this section we show how to affect the ~display-line-numbers-mode~.
(bg-line-number-active bg-cyan-intense)))
#+end_src
-**** Make diffs use only a foreground
+*** Make diffs use only a foreground
:PROPERTIES:
:CUSTOM_ID: h:b3761482-bcbf-4990-a41e-4866fb9dad15
:END:
@@ -2268,7 +2329,7 @@ adjustments for them by overriding their palettes directly instead of
just using the "common" overrides.
#+begin_src emacs-lisp
-;; Diffs with only foreground colours. Word-wise ("refined") diffs
+;; Diffs with only foreground colors. Word-wise ("refined") diffs
;; have a gray background to draw attention to themselves.
(setq modus-themes-common-palette-overrides
'((bg-added unspecified)
@@ -2316,7 +2377,7 @@ just using the "common" overrides.
(fg-removed-intense yellow-intense)))
#+end_src
-**** Make deuteranopia diffs red and blue instead of yellow and blue
+*** Make deuteranopia diffs red and blue instead of yellow and blue
:PROPERTIES:
:CUSTOM_ID: h:16389ea1-4cb6-4b18-9409-384324113541
:END:
@@ -2367,20 +2428,110 @@ respectively. This is achieved by overriding the "changed" and
(fg-removed-intense "#ff9095")))
#+end_src
-* Advanced customization
-:properties:
-:custom_id: h:f4651d55-8c07-46aa-b52b-bed1e53463bb
-:end:
+*** Make the themes look like what the maintainer uses
+:PROPERTIES:
+:CUSTOM_ID: h:aabcada6-810d-4eee-b34a-d2a9c301824d
+:END:
-Unlike the predefined customization options which follow a clear pattern
-of allowing the user to quickly specify their preference, the themes
-also provide a more flexible, albeit difficult, mechanism to control
-things with precision ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]).
+Based on what we have learnt from the previous sections of this
+manual, here is what Protesilaos uses:
-This section is of interest only to users who are prepared to maintain
-their own local tweaks and who are willing to deal with any possible
-incompatibilities between versioned releases of the themes. As such,
-they are labeled as "do-it-yourself" or "DIY".
+#+begin_src emacs-lisp
+;; Always reload the theme for changes to take effect!
+
+(setq modus-themes-custom-auto-reload nil
+ modus-themes-to-toggle '(modus-operandi modus-vivendi)
+ modus-themes-mixed-fonts t
+ modus-themes-variable-pitch-ui nil
+ modus-themes-italic-constructs t
+ modus-themes-bold-constructs nil
+ modus-themes-org-blocks nil
+ modus-themes-completions '((t . (extrabold)))
+ modus-themes-prompts nil
+ modus-themes-headings
+ '((agenda-structure . (variable-pitch light 2.2))
+ (agenda-date . (variable-pitch regular 1.3))
+ (t . (regular 1.15))))
+
+(setq modus-themes-common-palette-overrides
+ '((cursor magenta-cooler)
+ ;; Make the fringe invisible.
+ (fringe unspecified)
+ ;; Make line numbers less intense and add a shade of cyan
+ ;; for the current line number.
+ (fg-line-number-inactive "gray50")
+ (fg-line-number-active cyan-cooler)
+ (bg-line-number-inactive unspecified)
+ (bg-line-number-active unspecified)
+ ;; Make the current line of `hl-line-mode' a fine shade of
+ ;; gray (though also see my `lin' package).
+ (bg-hl-line bg-dim)
+ ;; Make the region have a cyan-green background with no
+ ;; specific foreground (use foreground of underlying text).
+ ;; "bg-sage" refers to Salvia officinalis, else the common
+ ;; sage.
+ (bg-region bg-sage)
+ (fg-region unspecified)
+ ;; Make matching parentheses a shade of magenta. It
+ ;; complements the region nicely.
+ (bg-paren-match bg-magenta-intense)
+ ;; Make email citations faint and neutral, reducing the
+ ;; default four colors to two; make mail headers cyan-blue.
+ (mail-cite-0 fg-dim)
+ (mail-cite-1 blue-faint)
+ (mail-cite-2 fg-dim)
+ (mail-cite-3 blue-faint)
+ (mail-part cyan-warmer)
+ (mail-recipient blue-warmer)
+ (mail-subject magenta-cooler)
+ (mail-other cyan-warmer)
+ ;; Change dates to a set of more subtle combinations.
+ (date-deadline magenta-cooler)
+ (date-scheduled magenta)
+ (date-weekday fg-main)
+ (date-event fg-dim)
+ (date-now blue-faint)
+ ;; Make tags (Org) less colorful and tables look the same as
+ ;; the default foreground.
+ (prose-done cyan-cooler)
+ (prose-tag fg-dim)
+ (prose-table fg-main)
+ ;; Make headings less colorful (though I never use deeply
+ ;; nested headings).
+ (fg-heading-2 blue-faint)
+ (fg-heading-3 magenta-faint)
+ (fg-heading-4 blue-faint)
+ (fg-heading-5 magenta-faint)
+ (fg-heading-6 blue-faint)
+ (fg-heading-7 magenta-faint)
+ (fg-heading-8 blue-faint)
+ ;; Make the active mode line a fine shade of lavender
+ ;; (purple) and tone down the gray of the inactive mode
+ ;; lines.
+ (bg-mode-line-active bg-lavender)
+ (border-mode-line-active bg-lavender)
+
+ (bg-mode-line-inactive bg-dim)
+ (border-mode-line-inactive bg-inactive)
+ ;; Make the prompts a shade of magenta, to fit in nicely with
+ ;; the overall blue-cyan-purple style of the other overrides.
+ ;; Add a nuanced background as well.
+ (bg-prompt bg-magenta-nuanced)
+ (fg-prompt magenta-cooler)
+ ;; Tweak some more constructs for stylistic constistency.
+ (name blue-warmer)
+ (identifier magenta-faint)
+ (keybind magenta-cooler)
+ (accent-0 magenta-cooler)
+ (accent-1 cyan-cooler)
+ (accent-2 blue-warmer)
+ (accent-3 red-cooler)))
+
+;; Make the active mode line have a pseudo 3D effect (this assumes
+;; you are using the default mode line and not an extra package).
+(custom-set-faces
+ '(mode-line ((t :box (:style released-button)))))
+#+end_src
** More accurate colors in terminal emulators
:PROPERTIES:
@@ -2584,8 +2735,9 @@ for palette overrides. Else it reads only the default palette.
[[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]].
-With optional =THEME= as a symbol among ~modus-themes-items~, use the
-palette of that item. Else use the current Modus theme.
+With optional =THEME= as a symbol among ~modus-themes-items~ (alias
+~modus-themes-collection~), use the palette of that item. Else use
+the current Modus theme.
If =COLOR= is not present in the palette, this function returns the
~unspecified~ symbol, which is safe when used as a face attribute's
@@ -3479,6 +3631,90 @@ In this document, we cover ~modus-themes-after-load-theme-hook~ though
the user can replace it with ~after-enable-theme-hook~ should they
need to (provided they understand the implications).
+** Use more spacious margins or padding in Emacs frames
+:PROPERTIES:
+:CUSTOM_ID: h:43bcb5d0-e25f-470f-828c-662cee9e21f1
+:END:
+
+By default, Emacs frames try to maximize the number of characters that
+fit in the current visible portion of the buffer. Users may prefer to
+have some extra padding instead. This can make Emacs frames look more
+pleasant, but also make it easier to identify the currently active
+window.
+
+The way to implement such padding is two-fold:
+
+1. In the =early-init.el= file instruct Emacs to use a higher value
+ for the ~internal-border-width~ of all frames, as well as for the
+ ~right-divider-width~. The former concerns the outer boundaries of
+ Emacs frames, while the latter pertains to dividers between Emacs
+ windows.
+
+2. Make the relevant faces invisible by changing the value of their
+ relevant attributes to that of the current theme's main background.
+
+The parameters of Emacs frames are specified in the variables
+~initial-frame-alist~ and ~default-frame-alist~. The "initial frame"
+refers to the first frame that appears on Emacs startup. The
+"default" refers to the fallback values that apply to all other frames
+that Emacs creates (unless those are explicitly overridden by a
+bespoke ~make-frame~ call).
+
+In detail, first we use the same values for the two frame alist variables:
+
+#+begin_src emacs-lisp
+;; This must go in the early-init.el so that it applies to the initial
+;; frame.
+(dolist (var '(default-frame-alist initial-frame-alist))
+ (add-to-list var '(right-divider-width . 20))
+ (add-to-list var '(internal-border-width . 20)))
+#+end_src
+
+What the ~dolist~ does is to call ~add-to-list~ for the two variables
+we specify there. This economizes on typing.
+
+Then we define a function that makes the relevant faces invisible.
+The reason we do this with a function is so we can hook it to the
+"post load" phase of a theme, thus applying the new background value
+(otherwise you keep the old background, which likely means that the
+faces will no longer be invisible).
+
+#+begin_src emacs-lisp
+(defun my-modus-themes-invisible-dividers ()
+ "Make window dividers invisible.
+Add this to the `modus-themes-post-load-hook'."
+ (let ((bg (face-background 'default)))
+ (custom-set-faces
+ `(fringe ((t :background ,bg :foreground ,bg)))
+ `(window-divider ((t :background ,bg :foreground ,bg)))
+ `(window-divider-first-pixel ((t :background ,bg :foreground ,bg)))
+ `(window-divider-last-pixel ((t :background ,bg :foreground ,bg))))))
+
+(add-hook 'modus-themes-post-load-hook #'my-modus-themes-invisible-dividers)
+#+end_src
+
+The above will work only for themes that belong to the Modus family.
+For users of Emacs version 29 or higher, there exists a theme-agnostic
+hook that takes a function with one argument---that of the theme---and
+calls in the the "post enable" phase of theme loading. Here is the
+above snippet, with the necessary tweaks:
+
+#+begin_src emacs-lisp
+(defun my-modus-themes-invisible-dividers (_theme)
+ "Make window dividers for THEME invisible."
+ (let ((bg (face-background 'default)))
+ (custom-set-faces
+ `(fringe ((t :background ,bg :foreground ,bg)))
+ `(window-divider ((t :background ,bg :foreground ,bg)))
+ `(window-divider-first-pixel ((t :background ,bg :foreground ,bg)))
+ `(window-divider-last-pixel ((t :background ,bg :foreground ,bg))))))
+
+(add-hook 'enable-theme-functions #'my-modus-themes-invisible-dividers)
+#+end_src
+
+Users of older versions of Emacs can read the entry herein about
+defining their own theme-agnostic hook ([[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][A theme-agnostic hook for theme loading]]).
+
** Custom hl-todo colors
:PROPERTIES:
:CUSTOM_ID: h:2ef83a21-2f0a-441e-9634-473feb940743
@@ -3636,7 +3872,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ csv-mode
+ ctrlf
+ custom (what you get with {{{kbd(M-x customize)}}})
-- dashboard
++ dashboard
+ deadgrep
+ deft
+ devdocs
@@ -3651,6 +3887,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ dired-narrow
+ dired-subtree
+ diredfl
++ disk-usage
+ display-fill-column-indicator-mode
+ doom-modeline
+ ediff
@@ -3715,6 +3952,8 @@ have lots of extensions, so the "full support" may not be 100% true…
+ ivy*
+ ivy-posframe
+ jira (org-jira)
++ jit-spell
++ jinx
+ journalctl-mode
+ js2-mode
+ julia
@@ -3733,7 +3972,6 @@ have lots of extensions, so the "full support" may not be 100% true…
+ minimap
+ mode-line
+ mood-line
-+ moody
+ mpdel
+ mu4e
+ multiple-cursors
@@ -3780,6 +4018,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ rg (rg.el)
+ ripgrep
+ rmail
++ rst-mode
+ ruler-mode
+ sesman
+ shell-script-mode
@@ -3969,9 +4208,9 @@ length elsewhere in this manual:
;; Doom should not be implementing such hacks because themes
;; cannot support them:
;; <https://protesilaos.com/codelog/2022-08-04-doom-git-gutter-modus-themes/>.
- `(git-gutter-fr:added ((,c :foreground ,bg-added-intense)))
- `(git-gutter-fr:deleted ((,c :foreground ,bg-removed-intense)))
- `(git-gutter-fr:modified ((,c :foreground ,bg-changed-intense))))))
+ `(git-gutter-fr:added ((,c :foreground ,bg-added-fringe)))
+ `(git-gutter-fr:deleted ((,c :foreground ,bg-removed-fringe)))
+ `(git-gutter-fr:modified ((,c :foreground ,bg-changed-fringe))))))
(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces)
#+end_src
@@ -4941,9 +5180,10 @@ themes remains consistent.
The former criterion should be crystal clear as it pertains to the
scientific foundations of the themes: high legibility and taking care
-of the needs of users with red-green color deficiency (deuteranopia)
-by avoiding red+green color coding paradigms and/or by providing
-yellow+blue variants ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]]).
+of the needs of users with red-green/blue-yellow color deficiency
+(deuteranopia and tritanopia) by avoiding red+green color coding
+paradigms and/or by providing yellow+blue variants for deuteranopia
+and red+cyan for tritanopia ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]]).
The latter criterion is the "je ne sais quoi" of the artistic aspect of
the themes, which is partially fleshed out in this manual.
@@ -5099,13 +5339,14 @@ The Modus themes are a collective effort. Every bit of work matters.
+ Contributions to code or documentation :: Aleksei Gusev, Alex
Griffin, Anders Johansson, Antonio Ruiz, Basil L.{{{space()}}}
Contovounesios, Björn Lindström, Carlo Zancanaro, Christian Tietze,
- Daniel Mendler, Eli Zaretskii, Fritz Grabo, Illia Ostapyshyn, Kévin
- Le Gouguec, Koen van Greevenbroek, Kostadin Ninev, Madhavan
- Krishnan, Manuel Giraud, Markus Beppler, Matthew Stevenson, Mauro
- Aranda, Nicolas De Jaeghere, Paul David, Philip Kaludercic, Pierre
- Téchoueyres, Rudolf AdamkoviÄ, Sergey Nichiporchik, Stephen Gildea,
- Shreyas Ragavan, Stefan Kangas, Utkarsh Singh, Vincent Murphy,
- Xinglu Chen, Yuanchen Xie, okamsn.
+ Daniel Mendler, David Edmondson, Eli Zaretskii, Fritz Grabo, Gautier
+ Ponsinet, Illia Ostapyshyn, Kévin Le Gouguec, Koen van Greevenbroek,
+ Kostadin Ninev, Madhavan Krishnan, Manuel Giraud, Markus Beppler,
+ Matthew Stevenson, Mauro Aranda, Nacho Barrientos, Nicolas De
+ Jaeghere, Paul David, Philip Kaludercic, Pierre Téchoueyres, Rudolf
+ AdamkoviÄ, Sergey Nichiporchik, Shreyas Ragavan, Stefan Kangas,
+ Stephen Gildea, Steve Downey, Tomasz Hołubowicz, Utkarsh Singh,
+ Vincent Murphy, Xinglu Chen, Yuanchen Xie, okamsn.
+ Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers,
Adrian Manea, Aleksei Pirogov, Alex Griffin, Alex Koen, Alex
@@ -5127,19 +5368,20 @@ The Modus themes are a collective effort. Every bit of work matters.
Bestley, Mark Burton, Mark Simpson, Marko Kocic, Markus Beppler,
Matt Armstrong, Matthias Fuchs, Mattias Engdegård, Mauro Aranda,
Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan Willcock,
- Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, Pablo
- Stafforini, Paul Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu,
- Philip Kaludercic, Pierre Téchoueyres, Przemysław Kryger, Robert
- Hepple, Roman Rudakov, Russell Sim, Ryan Phillips, Rytis Paškauskas,
- Rudolf AdamkoviÄ, Sam Kleinman, Samuel Culpepper, SaÅ¡a JaniÅ¡ka,
- Shreyas Ragavan, Simon Pugnet, Tassilo Horn, Thanos Apollo, Thibaut
- Verron, Thomas Heartman, Togan Muftuoglu, Tony Zorman, Trey Merkley,
- Tomasz Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, Vincent
- Foley, Zoltan Kiraly. As well as users: Ben, CsBigDataHub1, Emacs
- Contrib, Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs,
- TheBlob42, TitusMu, Trey, bepolymathe, bit9tream, bangedorrunt,
- derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn,
- pRot0ta1p, soaringbird, tumashu, wakamenod.
+ Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, Nicolas
+ Semrau, Oliver Epper, Pablo Stafforini, Paul Poloskov, Pengji Zhang,
+ Pete Kazmier, Peter Wu, Philip Kaludercic, Pierre Téchoueyres,
+ Przemysław Kryger, Robert Hepple, Roman Rudakov, Russell Sim, Ryan
+ Phillips, Rytis PaÅ¡kauskas, Rudolf AdamkoviÄ, Sam Kleinman, Samuel
+ Culpepper, Saša Janiška, Shreyas Ragavan, Simon Pugnet, Steve
+ Downey, Tassilo Horn, Thanos Apollo, Thibaut Verron, Thomas
+ Heartman, Togan Muftuoglu, Tony Zorman, Trey Merkley, Tomasz
+ Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, Vincent Foley,
+ Zoltan Kiraly. As well as users: Ben, CsBigDataHub1, Emacs Contrib,
+ Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs, TheBlob42,
+ TitusMu, Trey, bepolymathe, bit9tream, bangedorrunt, derek-upham,
+ doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p,
+ soaringbird, tumashu, wakamenod.
+ Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii,
Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core
diff --git a/doc/misc/org.org b/doc/misc/org.org
index 7ff0933de75..ae3fae0623e 100644
--- a/doc/misc/org.org
+++ b/doc/misc/org.org
@@ -5958,8 +5958,9 @@ the agenda (see [[*Weekly/daily agenda]]). We distinguish:
#+findex: org-block
For more complex date specifications, Org mode supports using the
- special expression diary entries implemented in the Emacs Calendar
- package[fn:20]. For example, with optional time:
+ special expression diary entries implemented in the
+ [[info:emacs#Special Diary Entries][Emacs Calendar package]][fn:20].
+ For example, with optional time:
#+begin_example
,* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 1ddfef4b878..a32c84197ae 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2023-03-04.12}
+\def\texinfoversion{2023-03-27.21}
%
% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
%
@@ -1102,27 +1102,33 @@ where each line of input produces a line of output.}
% Output page labels information.
% See PDF reference v.1.7 p.594, section 8.3.1.
+% Page label ranges must be increasing.
\ifpdf
\def\pagelabels{%
\def\title{0 << /P (T-) /S /D >>}%
- \edef\roman{\the\romancount << /S /r >>}%
- \edef\arabic{\the\arabiccount << /S /D >>}%
%
- % Page label ranges must be increasing. Remove any duplicates.
- % (There is a slight chance of this being wrong if e.g. there is
- % a @contents but no @titlepage, etc.)
- %
- \ifnum\romancount=0 \def\roman{}\fi
- \ifnum\arabiccount=0 \def\title{}%
- \else
- \ifnum\romancount=\arabiccount \def\roman{}\fi
- \fi
- %
- \ifnum\romancount<\arabiccount
- \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax
+ % support @contents at very end of document
+ \ifnum\contentsendcount=\pagecount
+ \ifnum\arabiccount<\romancount
+ \pdfcatalog{/PageLabels << /Nums
+ [\title
+ \the\arabiccount << /S /D >>
+ \the\romancount << /S /r >>
+ ] >> }\relax
+ \fi
+ % no contents in document
+ \else\ifnum\contentsendcount=0
+ \pdfcatalog{/PageLabels << /Nums
+ [\title
+ \the\arabiccount << /S /D >>
+ ] >> }\relax
\else
- \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax
- \fi
+ \pdfcatalog{/PageLabels << /Nums
+ [\title
+ \the\romancount << /S /r >>
+ \the\contentsendcount << /S /D >>
+ ] >> }\relax
+ \fi\fi
}
\else
\let\pagelabels\relax
@@ -1131,6 +1137,8 @@ where each line of input produces a line of output.}
\newcount\pagecount \pagecount=0
\newcount\romancount \romancount=0
\newcount\arabiccount \arabiccount=0
+\newcount\contentsendcount \contentsendcount=0
+
\ifpdf
\let\ptxadvancepageno\advancepageno
\def\advancepageno{%
@@ -4102,7 +4110,6 @@ $$%
\nobreak\kern\dimen0
\endgroup
\itemxneedsnegativevskiptrue
- \penalty 10021 % for \indexpar
\fi
}
@@ -4219,7 +4226,6 @@ $$%
% We can be in inner vertical mode in a footnote, although an
% @itemize looks awful there.
}%
- \penalty 10021 % for \indexpar
\flushcr
}
@@ -4784,17 +4790,11 @@ $$%
% and it is the two-letter name of the index.
\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx}
-\def\doindexxxx #1{\indexpar\doind{\indexname}{#1}}
+\def\doindexxxx #1{\doind{\indexname}{#1}}
% like the previous two, but they put @code around the argument.
\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
-\def\docodeindexxxx #1{\indexpar\docind{\indexname}{#1}}
-
-% End any open paragraph, unless we are immediately after @item in
-% @itemize or @enumerate.
-\def\indexpar{%
-\ifnum\lastpenalty=10021 \else\endgraf\fi
-}
+\def\docodeindexxxx #1{\docind{\indexname}{#1}}
% \definedummyword defines \#1 as \string\#1\space, thus effectively
@@ -5351,9 +5351,7 @@ $$%
% ..., ready, GO:
%
\def\safewhatsit#1{\ifhmode
- \whatsitpenalty = \lastpenalty
#1%
- \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi
\else
% \lastskip and \lastpenalty cannot both be nonzero simultaneously.
\whatsitskip = \lastskip
@@ -6819,12 +6817,8 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% Get ready to use Arabic numerals again
\def\contentsendroman{%
\lastnegativepageno = \pageno
- \global\pageno = \savepageno
- %
- % If \romancount > \arabiccount, the contents are at the end of the
- % document. Otherwise, advance where the Arabic numerals start for
- % the page numbers.
- \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi
+ \global\pageno=1
+ \contentsendcount = \pagecount
}
% Typeset the label for a chapter or appendix for the short contents.
@@ -7597,7 +7591,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\parseargusing\activeparens{\printdefunline\deflineheader}%
}
\def\deflineheader#1 #2 #3\endheader{%
- \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
+ \printdefname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
}
\def\deftypeline{%
\doingtypefntrue
@@ -7660,14 +7654,14 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deffn category name args
\makedefun{deffn}#1 #2 #3\endheader{%
\doind{fn}{\code{#2}}%
- \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
+ \printdefname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
}
% @defop category class name args
\makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}}
\def\defopheaderx#1#2 #3 #4\endheader{%
\doind{fn}{\code{#3}\space\putwordon\ \code{#2}}%
- \defname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}%
+ \printdefname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}%
}
% Typed functions:
@@ -7676,7 +7670,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\makedefun{deftypefn}#1 #2 #3 #4\endheader{%
\doind{fn}{\code{#3}}%
\doingtypefntrue
- \defname{#1}{#2}{#3}\defunargs{#4\unskip}%
+ \printdefname{#1}{#2}{#3}\defunargs{#4\unskip}%
}
% @deftypeop category class type name args
@@ -7684,7 +7678,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\deftypeopheaderx#1#2 #3 #4 #5\endheader{%
\doind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}%
\doingtypefntrue
- \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
+ \printdefname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
}
% Typed variables:
@@ -7692,14 +7686,14 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deftypevr category type var args
\makedefun{deftypevr}#1 #2 #3 #4\endheader{%
\doind{vr}{\code{#3}}%
- \defname{#1}{#2}{#3}\defunargs{#4\unskip}%
+ \printdefname{#1}{#2}{#3}\defunargs{#4\unskip}%
}
% @deftypecv category class type var args
\makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}}
\def\deftypecvheaderx#1#2 #3 #4 #5\endheader{%
\doind{vr}{\code{#4}\space\putwordof\ \code{#2}}%
- \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
+ \printdefname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
}
% Untyped variables:
@@ -7716,7 +7710,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deftp category name args
\makedefun{deftp}#1 #2 #3\endheader{%
\doind{tp}{\code{#2}}%
- \defname{#1}{}{#2}\defunargs{#3\unskip}%
+ \printdefname{#1}{}{#2}\defunargs{#3\unskip}%
}
% Remaining @defun-like shortcuts:
@@ -7732,14 +7726,14 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\makedefun{defivar}{\defcvheaderx\putwordInstanceVariableof}
\makedefun{deftypeivar}{\deftypecvheaderx\putwordInstanceVariableof}
-% \defname, which formats the name of the @def (not the args).
+% \printdefname, which formats the name of the @def (not the args).
% #1 is the category, such as "Function".
% #2 is the return type, if any.
% #3 is the function name.
%
% We are followed by (but not passed) the arguments, if any.
%
-\def\defname#1#2#3{%
+\def\printdefname#1#2#3{%
\par
% Get the values of \leftskip and \rightskip as they were outside the @def...
\advance\leftskip by -\defbodyindent
@@ -7864,7 +7858,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% If we encounter &foo, then turn on ()-hacking afterwards
\newif\ifampseen
-\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+\def\amprm#1 {\ampseentrue{\rm\&#1 }}
\def\parenfont{%
\ifampseen
@@ -8188,12 +8182,12 @@ might help (with 'rm \jobname.?? \jobname.??s')%
%
% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro
% body to be transformed.
-% Set \macrobody to the body of the macro, and call \defmacro.
+% Set \macrobody to the body of the macro, and call \macrodef.
%
{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
-\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}%
+\xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
-\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}%
+\xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
% Make @ a letter, so that we can make private-to-Texinfo macro names.
\edef\texiatcatcode{\the\catcode`\@}
@@ -8412,16 +8406,17 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% \xdef is used so that macro definitions will survive the file
% they're defined in: @include reads the file inside a group.
%
-\def\defmacro{%
+\def\macrodef{%
\let\hash=##% convert placeholders to macro parameter chars
\ifnum\paramno=1
- \def\xeatspaces##1{##1}%
- % This removes the pair of braces around the argument. We don't
- % use \eatspaces, because this can cause ends of lines to be lost
- % when the argument to \eatspaces is read, leading to line-based
- % commands like "@itemize" not being read correctly.
+ \long\def\xeatspaces##1{##1}%
+ % We don't use \xeatspaces for single-argument macros, because we
+ % want to keep ends of lines. This definition removes \xeatspaces
+ % when \macrobody is expanded below.
\else
- \let\xeatspaces\relax % suppress expansion
+ \def\xeatspaces{\string\xeatspaces}%
+ % This expands \xeatspaces as a sequence of character tokens, which
+ % stops \scantokens inserting an extra space after the control sequence.
\fi
\ifcase\paramno
% 0
@@ -8590,40 +8585,35 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @linemacro
\parseargdef\linemacro{%
- \linegetargs#1 \linegetargs
- \expandafter\linegetparamlist\argl;%
+ \getargs{#1}% now \macname is the macname and \argl the arglist
+ \ifx\argl\empty
+ \paramno=0
+ \let\hash\relax
+ \def\paramlist{\hash 1\endlinemacro}%
+ \else
+ \expandafter\linegetparamlist\argl;%
+ \fi
\begingroup \macrobodyctxt \usembodybackslash
\parselinemacrobody
}
-% Parse the arguments to a @linemacro line. Set \macname to the name
-% of the macro and \argl to the list of arguments.
-\def\linegetargs#1 #2\linegetargs{%
- \macname={#1}%
- \def\argl{#2}%
-}
-
% Build up \paramlist which will be used as the parameter text for the macro.
% At the end it will be like "#1 #2 #3\endlinemacro".
\def\linegetparamlist#1;{%
\paramno=0\def\paramlist{}%
- \let\hash\relax \let\xeatspaces\relax
- \linegetparamlistxxx#1; %
+ \let\hash\relax
+ \linegetparamlistxxx#1,;,%
}
-\def\linegetparamlistxxx#1 {%
+\def\linegetparamlistxxx#1,{%
\if#1;\let\next=\linegetparamlistxxxx
\else \let\next=\linegetparamlistxxx
\advance\paramno by 1
\expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
- {\noexpand\xeatspaces{\hash\the\paramno}}%
+ {\hash\the\paramno}%
\edef\paramlist{\paramlist\hash\the\paramno\space}%
\fi\next}
\def\linegetparamlistxxxx{%
- \ifx\paramlist\empty
- \def\paramlist{\hash 1\endlinemacro}%
- \else
- \expandafter\fixparamlist\paramlist\fixparamlist
- \fi
+ \expandafter\fixparamlist\paramlist\fixparamlist
}
% Replace final space token
\def\fixparamlist#1 \fixparamlist{%
@@ -8633,7 +8623,6 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% Read the body of the macro, replacing backslash-surrounded variables
%
{\catcode`\ =\other\long\gdef\parselinemacrobody#1@end linemacro{%
-\let\xeatspaces\relax
\xdef\macrobody{#1}%
\endgroup
\linemacrodef
@@ -8642,26 +8631,20 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% Make the definition
\def\linemacrodef{%
\let\hash=##%
- \let\xeatspaces\relax
\expandafter\xdef\csname\the\macname\endcsname{%
\bgroup
- \noexpand\scanctxt
\noexpand\parsearg
\expandafter\noexpand\csname\the\macname @@\endcsname
}
\expandafter\xdef\csname\the\macname @@\endcsname##1{%
\egroup
\expandafter\noexpand
- \csname\the\macname @@@\endcsname##1 \noexpand\endlinemacro
- % Note that we append a space to the macro line to terminate the last
- % argument in case the final argument is empty. @xeatspaces may be needed
- % to remove this space.
+ \csname\the\macname @@@\endcsname##1\noexpand\endlinemacro
}
\expandafter\expandafter
\expandafter\xdef
\expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{%
\newlinechar=13 % split \macrobody into lines
- \let\noexpand\xeatspaces\noexpand\eatspaces
\noexpand\scantokens{\macrobody}%
}
}
@@ -9659,8 +9642,8 @@ might help (with 'rm \jobname.?? \jobname.??s')%
%
\def\caption{\docaption\thiscaption}
\def\shortcaption{\docaption\thisshortcaption}
-\def\docaption{\checkenv\float \bgroup\scanctxt\defcaption}
-\def\defcaption#1#2{\egroup \def#1{#2}}
+\def\docaption{\checkenv\float \bgroup\scanctxt\docaptionz}
+\def\docaptionz#1#2{\egroup \def#1{#2}}
% The parameter is the control sequence identifying the counter we are
% going to use. Create it if it doesn't exist and assign it to \floatno.
diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi
index 40e3056c659..62376195023 100644
--- a/doc/misc/todo-mode.texi
+++ b/doc/misc/todo-mode.texi
@@ -580,7 +580,14 @@ on every invocation of @code{todo-insert-item}.
the highest or lowest priority in the category, if you do not
explicitly assign it a priority on invoking @code{todo-insert-item}.
By default, such new items are given highest priority, i.e., inserted
-at the top of the list.
+at the top of the list. In addition, when setting an item's priority
+you can use the minibuffer history to quickly call up the lowest or
+highest priority number in the minibuffer by typing @kbd{M-p} or
+@kbd{M-n}, and you can scroll through all priority numbers for the
+current category with these keys. For example, with the default
+setting of @code{todo-default-priority}, you can insert a new item as
+second to last in the category by typing @kbd{M-p M-p} at the prompt
+for setting the priority.
@item
@code{todo-always-add-time-string} is for including or omitting the
@@ -983,7 +990,10 @@ category, i.e., gives it third highest priority; all lower priority
items are pushed down by one. You can also pass the desired priority
as a numeric prefix argument, e.g., @kbd{3 #} gives the item third
highest priority without prompting. (Prefix arguments have no effect
-with @kbd{r} or @kbd{l}.)
+with @kbd{r} or @kbd{l}.) And you can type @kbd{M-p} and @kbd{M-n} in
+the minibuffer to scroll through all priority numbers for the current
+category. If you mistakenly choose the item's current priority, you
+will be prompted to choose a different priority.
@end table
@node Moving and Deleting Items
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 65892f8621e..27145c3cca1 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -142,6 +142,7 @@ on the remote host.
* Ssh setup:: Ssh setup hints.
* FUSE setup:: @acronym{FUSE} setup hints.
* Android shell setup:: Android shell setup hints.
+* Kubernetes setup:: Kubernetes setup hints.
* Auto-save File Lock and Backup::
Auto-save, File Lock and Backup.
* Keeping files encrypted:: Protect remote files by encryption.
@@ -700,6 +701,7 @@ on the remote host.
* Ssh setup:: Ssh setup hints.
* FUSE setup:: @acronym{FUSE} setup hints.
* Android shell setup:: Android shell setup hints.
+* Kubernetes setup:: Kubernetes setup hints.
* Auto-save File Lock and Backup::
Auto-save, File Lock and Backup.
* Keeping files encrypted:: Protect remote files by encryption.
@@ -921,9 +923,10 @@ if desired.
@cindex method @option{kubernetes}
@cindex @option{kubernetes} method
-Integration for containers in Kubernetes pods. The host name is a pod
-name returned by @samp{kubectl get pods}. The first container in a
-pod is used.
+Integration for containers in Kubernetes pods. The host name is
+@samp{@var{pod}}, or @samp{@var{container}.@var{pod}} if an
+explicit container name shall be used. Otherwise, the first container
+in a pod is used.
This method does not support user names.
@@ -938,6 +941,16 @@ be used.
This method does not support user names.
+@item @option{flatpak}
+@cindex method @option{flatpak}
+@cindex @option{flatpak} method
+
+Integration of Flatpak sandboxes. The host name may be either an
+application ID, a sandbox instance ID, or a PID, as returned by
+@samp{flatpak ps}.
+
+This method does not support user names.
+
@end table
@@ -3105,6 +3118,29 @@ Open a remote connection with the more concise command @kbd{C-x C-f
@end itemize
+@node Kubernetes setup
+@section Kubernetes setup hints
+
+With the @option{kubernetes} method, containers in Kubernetes pods can
+be accessed. The host name is a pod name returned by @samp{kubectl
+get pods}, or @samp{@var{container}.@var{pod}} if an explicit
+container name shall be used. Otherwise, the first container in a pod
+is used.
+
+Sometimes, asynchronous processes for a host without a dedicated
+container name show a warning like @samp{Defaulted container
+"container1" out of: container1, container2}. This can be mitigated
+by setting the pod annotation
+@samp{kubectl.kubernetes.io/default-container} to a proper value
+(@samp{container1} in this example).
+
+@vindex tramp-kubernetes-context
+@vindex tramp-kubernetes-namespace
+@value{tramp} uses the default Kubernetes context and namespace. If
+another context or namespace shall be used, configure the user options
+@code{tramp-kubernetes-context} and @code{tramp-kubernetes-namespace}.
+
+
@node Auto-save File Lock and Backup
@section Auto-save, File Lock and Backup configuration
@cindex auto-save
@@ -3579,7 +3615,7 @@ completion lists. If you want to suppress this completion because
there are invalid entries in the persistency file, for example if the
host configuration changes often, or if you plug your laptop to
different networks frequently, you can set the user option
-@code{tramp-completion-use-cache} to nil.
+@code{tramp-completion-use-cache} to @code{nil}.
After remote host name completion comes completion of file names on
the remote host. It works the same as with local host file completion
@@ -3634,10 +3670,20 @@ Each involved method must be an inline method (@pxref{Inline methods}).
@code{tramp-default-proxies-alist} and is available for re-use during
that Emacs session. Subsequent @value{tramp} connections to the same
remote host can then use the shortcut form:
-@samp{@trampfn{ssh,you@@remotehost,/path}}. Ad-hoc definitions are
-removed from @code{tramp-default-proxies-alist} via the command
-@kbd{M-x tramp-cleanup-all-connections @key{RET}} (@pxref{Cleanup
-remote connections}).
+@samp{@trampfn{ssh,you@@remotehost,/path}}.
+
+@defopt tramp-show-ad-hoc-proxies
+If this user option is non-@code{nil}, ad-hoc definitions are kept in
+remote file names instead of showing the shortcuts.
+
+@lisp
+(customize-set-variable 'tramp-show-ad-hoc-proxies t)
+@end lisp
+@end defopt
+
+Ad-hoc definitions are removed from @code{tramp-default-proxies-alist}
+via the command @kbd{M-x tramp-cleanup-all-connections @key{RET}}
+(@pxref{Cleanup remote connections}).
@defopt tramp-save-ad-hoc-proxies
For ad-hoc definitions to be saved automatically in
@@ -4367,7 +4413,6 @@ Flushes the current buffer's remote connection objects, the same as in
Flushes all active remote connection objects, the same as in
@code{tramp-cleanup-connection}. This command removes also ad-hoc
proxy definitions (@pxref{Ad-hoc multi-hops}).
-
@end deffn
@deffn Command tramp-cleanup-all-buffers
@@ -4376,6 +4421,20 @@ connections and ad-hoc proxy definition are cleaned up in addition to
killing all buffers related to remote connections.
@end deffn
+@deffn Command tramp-cleanup-some-buffers
+Similar to @code{tramp-cleanup-all-buffers}, where all remote
+connections and ad-hoc proxy definition are cleaned up. However,
+additional buffers are killed only if one of the functions in
+@code{tramp-cleanup-some-buffers-hook} returns @code{t}.
+@end deffn
+
+@defopt tramp-cleanup-some-buffers-hook
+The functions in this hook determine, whether a remote buffer is
+killed when @code{tramp-cleanup-some-buffers} is called. Per default,
+remote buffers which are linked to a remote file, remote @code{dired}
+buffers, and buffers related to a remote process are cleaned up.
+@end defopt
+
@node Renaming remote files
@section Renaming remote files
diff --git a/doc/misc/transient.texi b/doc/misc/transient.texi
index 33d689cc01b..be9e8698ab4 100644
--- a/doc/misc/transient.texi
+++ b/doc/misc/transient.texi
@@ -31,7 +31,7 @@ General Public License for more details.
@finalout
@titlepage
@title Transient User and Developer Manual
-@subtitle for version 0.3.7.50
+@subtitle for version 0.4.1
@author Jonas Bernoulli
@page
@vskip 0pt plus 1filll
@@ -74,7 +74,7 @@ that hurdle is Psionic K's interactive tutorial, available at
@end quotation
@noindent
-This manual is for Transient version 0.3.7.50.
+This manual is for Transient version 0.4.1.
@insertcopying
@end ifnottex
@@ -2150,7 +2150,7 @@ default value of a prefix using the same format as returned by
@item
@code{always-read} For options, whether to read a value on every invocation.
-If this is nil, then options that have a value are simply unset and
+If this is @code{nil}, then options that have a value are simply unset and
have to be invoked a second time to set a new value.
@item
diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi
index 87105c4db00..55e56f7ce4e 100644
--- a/doc/misc/use-package.texi
+++ b/doc/misc/use-package.texi
@@ -790,7 +790,7 @@ possible, and put as much as you can get away with into the
Emacs start as quickly as possible.
@node Best practices
-@subheading When to use @code{:preface}, @code{:config} and @code{:init}?
+@subsection When to use @code{:preface}, @code{:config} and @code{:init}?
@cindex tips for using @code{:preface}, @code{:config}, @code{:init}
Where possible, it is better to avoid @code{:preface}, @code{:config}
@@ -1554,8 +1554,11 @@ The standard Emacs package manager is documented in the Emacs manual
(@pxref{Package Installation,,, emacs, GNU Emacs Manual}). The
@code{use-package} macro provides the @code{:ensure} and @code{:pin}
keywords that interface with that package manager to automatically
-install packages. This is particularly useful if you use your init
-file on more than one system.
+install packages. The @code{:vc} keyword may be used to control how
+package sources are downloaded; e.g., from remote hosts
+(@pxref{Fetching Package Sources,,, emacs, GNU Emacs Manual}). This
+is particularly useful if you use your init file on more than one
+system.
@menu
* Install package::
@@ -1607,6 +1610,49 @@ packages:
You can override the above setting for a single package by adding
@w{@code{:ensure nil}} to its declaration.
+@findex :vc
+The @code{:vc} keyword can be used to control how packages are
+downloaded and/or installed. More specifically, it allows one to fetch
+and update packages directly from a version control system. This is
+especially convenient when wanting to install a package that is not on
+any package archive.
+
+The keyword accepts the same arguments as specified in
+@pxref{Fetching Package Sources,,, emacs, GNU Emacs Manual}, except
+that a name need not explicitly be given: it is inferred from the
+declaration. The accepted property list is augmented by a @code{:rev}
+keyword, which has the same shape as the @code{REV} argument to
+@code{package-vc-install}. Notably -- even when not specified --
+@code{:rev} defaults to checking out the last release of the package.
+You can use @code{:rev :newest} to check out the latest commit.
+
+For example,
+
+@example
+@group
+(use-package bbdb
+ :vc (:url "https://git.savannah.nongnu.org/git/bbdb.git"
+ :rev :newest))
+@end group
+@end example
+
+would try -- by invoking @code{package-vc-install} -- to install the
+latest commit of the package @code{foo} from the specified remote.
+
+This can also be used for local packages, by combining it with the
+@code{:load-path} (@pxref{Load path}) keyword:
+
+@example
+@group
+;; Use a local copy of BBDB instead of the one from GNU ELPA.
+(use-package bbdb
+ :vc t
+ :load-path "/path/to/bbdb/dir/")
+@end group
+@end example
+
+The above dispatches to @code{package-vc-install-from-checkout}.
+
@node Pinning packages
@section Pinning packages using @code{:pin}
@cindex installing package from specific archive
diff --git a/etc/AUTHORS b/etc/AUTHORS
index 647b73aea4e..9bd490dd3f8 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -9,12 +9,14 @@ Aaron Ecay: changed ob-R.el ob-core.el org-src.el ox-latex.el nsterm.m
ob-awk.el ob-exp.el ob-python.el ob-tangle.el org-bibtex.el org-id.el
org.el org.texi package.el paren.el
-Aaron Jensen: changed frameset.el nsterm.m xdisp-tests.el xdisp.c
- Info.plist.in flyspell.el mouse.el server.el systhread.c w32term.c
- xterm.c
+Aaron Jensen: changed nsterm.m frameset.el xdisp-tests.el xdisp.c
+ Info.plist.in flyspell.el icomplete.el mouse.el server.el systhread.c
+ w32term.c xterm.c
Aaron Larson: co-wrote bibtex.el
+Aaron L. Zeng: changed savehist.el
+
Aaron S. Hawley: wrote lisp-tests.el undo-tests.el
and changed simple.el files.texi isearch.el morse.el sgml-mode.el
tar-mode.el textmodes/table.el thingatpt.el add-log.el autoinsert.el
@@ -23,6 +25,8 @@ and changed simple.el files.texi isearch.el morse.el sgml-mode.el
Abdó Roig-Maranges: changed org.el org-agenda.el ox-html.el ox-odt.el
+Abhiseck Paira: changed eww.el
+
Abraham Nahum: changed configure.ac dgux4.h sysdep.c
Abramo Bagnara: changed term.c
@@ -33,6 +37,8 @@ Achim Gratz: changed org.el org-compat.el org.texi org-clock.el
ob-python.el ob-ref.el ob-sh.el org-element.el org-exp-blocks.el
and 22 other files
+Ackerley Tng: changed xref.el
+
Adam Gołębiowski: changed lib-src/Makefile.in
Adam Hupp: changed emacs.py emacs2.py emacs3.py gud.el
@@ -68,7 +74,7 @@ Adrian Robert: co-wrote ns-win.el
and changed nsterm.m nsfns.m nsfont.m nsterm.h nsmenu.m configure.ac
src/Makefile.in macos.texi README config.in emacs.c font.c keyboard.c
nsgui.h nsimage.m xdisp.c image.c lib-src/Makefile.in lisp.h menu.c
- Makefile.in and 78 other files
+ Makefile.in and 79 other files
Ævar Arnfjörð Bjarmason: changed rcirc.el
@@ -84,6 +90,8 @@ Aidan Kehoe: changed ipa.el lread.c mm-util.el erc-log.el erc.el
gnus-sum.el gnus-util.el latin-ltx.el nnfolder.el ob-tangle.el
objects.texi
+Akash Hiremath: changed README.md eglot.el
+
Ake Stenhoff: co-wrote imenu.el
and changed cc-mode.el perl-mode.el
@@ -100,14 +108,13 @@ and changed url-expand.el process.c url-parse.el w32proc.c message.el
Alakazam Petrofsky: changed hanoi.el
-Alan Mackenzie: wrote cc-awk.el
+Alan Mackenzie: wrote cc-awk.el debug-early.el
and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el
cc-langs.el cc-mode.el cc-styles.el cc-vars.el
-and changed cc-mode.texi minibuf.c bytecomp.el window.c edebug.el
- follow.el display.texi subr.el syntax.texi progmodes/compile.el
- programs.texi eval.c keyboard.c lisp.h modes.texi window.el
- windows.texi cus-start.el font-lock.el frame.c isearch.el
- and 167 other files
+and changed cc-mode.texi bytecomp.el minibuf.c window.c edebug.el
+ follow.el lisp.h display.texi eval.c keyboard.c subr.el frame.c lread.c
+ syntax.texi xdisp.c progmodes/compile.el programs.texi font-lock.el
+ modes.texi window.el windows.texi and 190 other files
Alan Modra: changed unexelf.c
@@ -120,9 +127,11 @@ Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el
Alan Third: wrote dabbrev-tests.el image-transforms-tests.el
and changed nsterm.m nsterm.h nsfns.m image.c nsmenu.m configure.ac
- nsimage.m ns-win.el macfont.m dispextern.h frame.el nsfont.m
- display.texi xdisp.c frame.c frame.h macos.texi xterm.c .gitlab-ci.yml
- Makefile.in emacs.c and 39 other files
+ nsimage.m ns-win.el macfont.m dispextern.h nsfont.m frame.el
+ display.texi xdisp.c frame.c frame.h image.el macos.texi nsselect.m
+ xterm.c .gitlab-ci.yml and 39 other files
+
+Alan Zimmerman: changed eglot.el
Alastair Burt: changed gnus-art.el smiley.el
@@ -131,12 +140,16 @@ and changed sieve.el gnus-msg.el gnus.texi message.el sieve.texi
Albert L. Ting: changed gnus-group.el mail-hist.el
-Aleksandr Vityazev: changed tramp-compat.el
+Aleksandr Vityazev: changed cl.texi tramp-compat.el treesit.el
Aleksei Gusev: changed progmodes/compile.el
-Alexander Adolf: wrote eudcb-macos-contacts.el
-and changed eudc.texi
+Aleksey Kladov: changed eglot.el
+
+Alexander Adolf: wrote eudc-capf.el eudcb-ecomplete.el
+ eudcb-macos-contacts.el eudcb-mailabbrev.el
+and changed eudc.texi message.el eudc-vars.el ecompleterc eudc-tests.el
+ eudc.el mailrc
Alexander Becher: changed vc-annotate.el
@@ -172,7 +185,8 @@ Alexander Zhuckov: changed ebrowse.c
Alexandre Adolphe: changed cus-face.el dispextern.h display.texi nsfont.m
nsterm.m w32term.c xdisp.c xfaces.c xterm.c
-Alexandre Duret-Lutz: changed nnmaildir.el
+Alexandre Duret-Lutz: changed gnus-icalendar.el nnmaildir.el
+ gnus-icalendar-tests.el
Alexandre Garreau: changed message.el
@@ -189,7 +203,7 @@ and changed emacs3.py vc-hooks.el vc.el xml.el
Alexandr Vityazev: changed shortdoc.el
-Alex Bochannek: changed gnus.texi gnus-sum.el gnus-score.el gnus-topic.el
+Alex Bochannek: changed gnus-sum.el gnus.texi gnus-score.el gnus-topic.el
gnus-util.el gnus-fun.el gnus-group.el gnus.el ange-ftp.el gnus-art.el
nnimap.el tramp-sh.el
@@ -201,6 +215,8 @@ Alexei Khlebnikov: changed autorevert.el vc-git.el
Alex Kosorukoff: changed org-capture.el
+Alex Kost: changed scheme.el
+
Alex Mcgrath: changed rcirc.el
Alex Murray: changed erc-desktop-notifications.el network-stream.el
@@ -214,8 +230,7 @@ Alex Reed: changed verilog-mode.el
Alex Rezinsky: wrote which-func.el
Alex Schroeder: wrote ansi-color.el cus-theme.el erc-compat.el
- erc-hecomplete.el erc-join.el erc-lang.el erc-ring.el master.el
- spam-stat.el sql.el
+ erc-join.el erc-lang.el erc-ring.el master.el spam-stat.el sql.el
and co-wrote longlines.el mail/rmailmm.el
and changed erc.el erc-track.el erc-button.el erc-stamp.el erc-match.el
erc-autoaway.el erc-nickserv.el rcirc.texi Makefile erc-autojoin.el
@@ -236,10 +251,11 @@ Ali Bahrami: changed configure configure.ac sol2-10.h
Alin C. Soare: changed lisp-mode.el hexl.el
-Allen Li: changed abbrev.el abbrev-tests.el abbrevs.texi recentf.el
- sending.texi autoload.el bookmark.el comint.el dired-x.el gnus-group.el
- misc.texi nsm.el progmodes/compile.el ring-tests.el ring.el
- sequences.texi subr.el xref.el
+Allen Li: changed abbrev.el abbrev-tests.el abbrevs.texi find-dired.el
+ recentf.el sending.texi autoload.el bookmark.el comint.el dired-aux.el
+ dired-x.el dired.texi elec-pair.el gnus-group.el misc.texi nsm.el
+ progmodes/compile.el ring-tests.el ring.el sequences.texi subr.el
+ xref.el
Allen S. Rout: changed org-capture.el
@@ -256,9 +272,9 @@ Alyssa Ross: changed progmodes/compile.el simple.el
Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c
savehist.el vc-git.el
-Amin Bandali: changed erc.el erc-backend.el erc-button.el erc-compat.el
- erc-track.el erc-dcc.el erc-desktop-notifications.el erc-match.el
- erc-services.el erc-speedbar.el erc-status-sidebar.el erc.texi
+Amin Bandali: changed erc.el erc.texi erc-backend.el erc-button.el
+ erc-compat.el erc-track.el erc-dcc.el erc-desktop-notifications.el
+ erc-match.el erc-services.el erc-speedbar.el erc-status-sidebar.el
erc-autoaway.el erc-fill.el erc-goodies.el erc-ibuffer.el erc-imenu.el
erc-join.el erc-lang.el erc-list.el erc-log.el and 11 other files
@@ -279,13 +295,17 @@ Anders Waldenborg: changed emacsclient.c
Andrea Corallo: wrote comp-cstr-tests.el comp-cstr.el comp-tests.el
comp.el
-and changed comp.c pdumper.c lread.c bytecomp.el comp.h configure.ac
- lisp.h startup.el loadup.el alloc.c data.c emacs.c .gitlab-ci.yml
- nadvice.el cl-macs.el advice.el comp-test-funcs.el help.el
- lisp/Makefile.in package.el Makefile.in and 61 other files
+and changed comp.c pdumper.c lread.c bytecomp.el startup.el configure.ac
+ comp.h loadup.el lisp.h data.c alloc.c emacs.c .gitlab-ci.yml
+ cl-macs.el elisp-mode.el nadvice.el comp-test-funcs.el lisp/Makefile.in
+ subr.el Makefile.in advice.el and 70 other files
André A. Gomes: changed ispell.el
+Andrea Greselin: changed electric.el
+
+Andrea Monaco: changed rmailsum.el
+
Andrea Rossetti: changed ruler-mode.el
Andrea Russo: changed erc-dcc.el info-look.el
@@ -316,18 +336,18 @@ Andreas Luik: changed xfns.c xterm.c
Andreas Merziger: changed calendar.el
-Andreas Politz: changed filenotify.el inotify.c buffer-tests.el
- bytecomp.el editfns.c elp.el filecache.el filenotify-tests.el frame.c
- ibuffer.el idlwave.el ido.el imenu.el modes.texi outline.el
- sh-script.el sql.el startup.el strokes.el subr.el term.el
- and 5 other files
+Andreas Politz: changed buffer-tests.el buffer.c itree.h filenotify.el
+ inotify.c itree.c alloc.c editfns.c xdisp.c buffer.h bytecomp.el
+ check-sanitize.sh configure.ac elp.el emacs-compat.h filecache.el
+ fileio.c filenotify-tests.el fns.c frame.c ibuffer.el
+ and 30 other files
Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el
Andreas Schwab: changed configure.ac lisp.h xdisp.c process.c alloc.c
- coding.c Makefile.in files.el fileio.c keyboard.c emacs.c lread.c
- xterm.c fns.c src/Makefile.in editfns.c print.c eval.c font.c xfns.c
- sysdep.c and 656 other files
+ coding.c Makefile.in emacs.c files.el fileio.c keyboard.c fns.c lread.c
+ xterm.c src/Makefile.in editfns.c print.c eval.c font.c xfns.c sysdep.c
+ and 663 other files
Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el
@@ -360,19 +380,21 @@ Andrew Choi: changed macterm.c darwin.h mac-win.el sysdep.c emacs.c mac.c
Andrew Csillag: wrote m4-mode.el
+Andrew De Angelis: changed nsxwidget.h nsxwidget.m xwidget.c xwidget.el
+
Andrew Eggenberger: changed cl-extra.el seq.el
Andrew G Cohen: wrote nnselect.el spam-wash.el
-and changed nnir.el gnus-sum.el nnimap.el gnus-msg.el gnus-group.el
- gnus.texi gnus-int.el gnus-art.el gnus-cache.el gnus.el nnheader.el
- nnspool.el auth-source.el dns.el gnus-agent.el gnus-cloud.el
- gnus-registry.el gnus-srvr.el gnus-start.el nndiary.el nnfolder.el
- and 5 other files
+and changed nnir.el gnus-sum.el nnimap.el gnus-group.el gnus.texi
+ gnus-msg.el gnus-int.el gnus-search.el auth-source.el gnus-art.el
+ gnus-cache.el gnus.el nnheader.el nnspool.el deps.mk dns.el
+ fns-tests.el fns.c gnus-agent.el gnus-cloud.el gnus-registry.el
+ and 14 other files
Andrew Hall: changed paren.el
-Andrew Hyatt: changed bug-triage CONTRIBUTE org-archive.el org.el
- org.texi
+Andrew Hyatt: changed bug-triage CONTRIBUTE buffer.c face-remap.el
+ org-archive.el org.el org.texi simple.el
Andrew Innes: changed makefile.nt w32fns.c w32term.c w32.c w32proc.c
fileio.c ms-w32.h w32-fns.el dos-w32.el w32term.h makefile.def
@@ -387,7 +409,7 @@ Andrew Robbins: changed net-utils.el
Andrew Schein: changed sql.el
-Andrew Schwartzmeyer: changed subr-tests.el subr.el
+Andrew Schwartzmeyer: changed eglot.el subr-tests.el subr.el
Andrew Whatson: changed comp.el
@@ -401,9 +423,10 @@ Andrey Slusar: changed gnus-async.el gnus.el
Andrey Zhdanov: changed gud.el
-Andrii Kolomoiets: changed vc-hg.el progmodes/python.el vc.el vc-dir.el
- vc-git.el cyril-util.el ewoc.el frame.c frame.el maintaining.texi
- ns-win.el nsterm.h nsterm.m project.el vc-dispatcher.el vc-svn.el
+Andrii Kolomoiets: changed eglot.el vc-hg.el progmodes/python.el vc.el
+ eglot-tests.el vc-dir.el vc-git.el EGLOT-NEWS README.md cyril-util.el
+ ewoc.el frame.c frame.el maintaining.texi ns-win.el nsterm.h nsterm.m
+ package.el project.el vc-dispatcher.el vc-svn.el
Andrzej P: changed gdb-mi.el
@@ -433,17 +456,22 @@ Ansgar Burchardt: changed latin-ltx.el
Antoine Beaupré: changed vc-git.el
-Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi
+Antoine Kalmbach: changed README.md eglot.el
+
+Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el
ange-ftp.el cus-edit.el dired-x.el ebnf2ps.el emerge.el erc-button.el
erc-goodies.el erc-stamp.el erc-track.el files.el find-file.el
gnus-art.el gnus-uu.el gnus.el gnus.texi message.el mh-funcs.el
- mh-mime.el and 7 other files
+ and 9 other files
Antonin Houska: changed newcomment.el
-Arash Esbati: changed reftex-vars.el efaq-w32.texi reftex-auc.el
- reftex-ref.el reftex.el gnus.texi nnmaildir.el reftex-cite.el
- reftex-dcr.el reftex-toc.el
+Antonio Ruiz: changed handwrite.el
+
+Arash Esbati: changed reftex-vars.el efaq-w32.texi reftex.el gnus.texi
+ reftex-auc.el reftex-cite.el reftex-parse.el reftex-ref.el
+ reftex-tests.el tex-mode.el eglot.el ispell.el nnmaildir.el
+ reftex-dcr.el reftex-global.el reftex-toc.el
Arik Mitschang: changed smime.el
@@ -472,10 +500,12 @@ Artem Chuprina: changed message.el
Artem Loenko: changed src/Makefile.in
+Artem Pyanykh: changed EGLOT-NEWS README eglot.el
+
Arthur Miller: changed help-fns.el ange-ftp.el bytecomp.el comp.c comp.el
- dired-tests.el dired.c dired.el files.texi help.texi lisp.h ls-lisp.el
- sysdep.c tramp-adb.el tramp-rclone.el tramp-sh.el tramp-smb.el tramp.el
- wdired.el
+ dired-tests.el dired.c dired.el edebug.el files.texi help.texi lisp.h
+ ls-lisp.el sysdep.c tramp-adb.el tramp-rclone.el tramp-sh.el
+ tramp-smb.el tramp.el wdired.el
Artur Malabarba: wrote char-fold-tests.el faces-tests.el isearch-tests.el
let-alist.el simple-tests.el sort-tests.el tabulated-list-tests.el
@@ -487,6 +517,8 @@ and changed package.el isearch.el char-fold.el files.el tabulated-list.el
Artyom Loenko: changed Info.plist.in
+Arun Isaac: changed quail/indian.el
+
Arun Persaud: changed org-agenda.el org-src.el
Asher Gordon: changed gomoku.el mml.el
@@ -501,8 +533,14 @@ Atsuo Ohki: changed lread.c
Aubrey Jaffer: changed info.el unexelf.c
-Augusto Stoffel: changed progmodes/python.el comint.el isearch.el
- eldoc.el misc.texi progmodes/compile.el search.texi
+August Feng: changed bookmark.el
+
+Augusto Stoffel: co-wrote ansi-osc.el
+and changed progmodes/python.el isearch.el eglot.el comint.el eldoc.el
+ project.el README.md font-lock.el man.el misc.texi modes.texi
+ outline.el pcmpl-git.el pcmpl-gnu.el pcmpl-linux.el pcmpl-rpm.el
+ pcmpl-unix.el pcmpl-x.el pcomplete-tests.el pcomplete.el
+ progmodes/compile.el and 6 other files
Aurélien Aptel: changed alloc.c emacs-module.h lisp.h Makefile
configure.ac cus-face.el data.c dispextern.h display.texi dynlib.c
@@ -511,7 +549,7 @@ Aurélien Aptel: changed alloc.c emacs-module.h lisp.h Makefile
Axel Boldt: changed ehelp.el electric.el
-Axel Svensson: changed x-win.el
+Axel Svensson: changed characters.el display.texi x-win.el
Bahodir Mansurov: changed quail/cyrillic.el
@@ -521,8 +559,7 @@ B. Anyos: changed w32term.c
Baoqiu Cui: changed org-docbook.el
-Barry A. Warsaw: wrote assoc.el elp.el man.el regi.el reporter.el
- supercite.el
+Barry A. Warsaw: wrote elp.el man.el regi.el reporter.el supercite.el
and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
cc-guess.el cc-langs.el cc-menus.el cc-mode.el cc-styles.el cc-vars.el
and changed c++-mode.el cplus-md1.el syntax.c syntax.h
@@ -539,11 +576,10 @@ Bartosz Duszel: changed allout.el bib-mode.el cc-cmds.el hexl.el icon.el
sendmail.el ses.el simple.el verilog-mode.el vi.el vip.el viper-cmd.el
xscheme.el
-Basil L. Contovounesios: changed simple.el message.el subr.el eww.el
- custom.el bibtex.el text.texi gnus-sum.el modes.texi customize.texi
- files.texi gnus-group.el gnus-win.el gravatar.el internals.texi json.el
- shr.el window.c battery-tests.el button.el custom-tests.el
- and 279 other files
+Basil L. Contovounesios: changed simple.el subr.el message.el eww.el
+ modes.texi custom.el text.texi bibtex.el gnus-sum.el internals.texi
+ customize.texi display.texi files.texi gnus-group.el gnus-win.el
+ gnus.texi gravatar.el js.el json.el map.el shr.el and 345 other files
Bastian Beischer: changed semantic/complete.el calc-yank.el include.el
mru-bookmark.el refs.el senator.el
@@ -570,6 +606,8 @@ Ben Harris: changed configure.ac
Benjamin Andresen: wrote ob-screen.el
+Benjamin Carlsson: changed info.texi
+
Benjamin Drieu: wrote pong.el
and changed org-clock.el org.el
@@ -577,12 +615,15 @@ Benjamin Ragheb: changed fortune.el
Benjamin Riefenstahl: changed files.el image-mode.el nnrss-tests.el
w32select.c emacs.c image.el lisp.h mac-win.el macterm.c ms-w32.h
- mule-cmds.el nnrss.el runemacs.c tcl.el w32.c w32.h
+ mule-cmds.el mule-tests.el mule.el nnrss.el runemacs.c tcl.el thumbs.el
+ w32.c w32.h
Benjamin Rutt: co-wrote gnus-dired.el
and changed vc.el gnus-msg.el message.el diff-mode.el ffap.el nnimap.el
nnmbox.el simple.el vc-cvs.el
+Benjamin Schwerdtner: changed progmodes/python.el
+
Ben Key: changed w32.c w32fns.c w32menu.c configure.bat INSTALL w32.h
w32term.c configure.ac emacs.c keyboard.c make-docfile.c ms-w32.h
nsfont.m nsterm.m sound.c xfaces.c
@@ -592,6 +633,8 @@ Ben Menasha: changed nnmh.el
Ben North: changed outline.el buffer.c fill.el isearch.el lisp-mode.el
paren.el w32term.c xfaces.c
+Benson Chu: changed font-lock.el tab-bar.el
+
Bernhard Herzog: changed vc-hg.el menu.c xsmfns.c
Bernhard Rotter: changed em-cmpl.el esh-ext.el esh-util.el
@@ -629,7 +672,10 @@ and changed mh-customize.el mh-search.el mh-alias.el mh-e.texi Makefile
image.el mh-tool-bar.el mh-xemacs.el display.texi mh-pick.el
and 82 other files
+Billy Zheng: changed README.md eglot.el
+
Bjarte Johansen: wrote ob-sed.el
+and changed use-package-bind-key.el
Björn Holby: changed vhdl-mode.el
@@ -644,8 +690,7 @@ Björn Torkelsson: changed gnus-art.el gnus-group.el gnus-srvr.el
gnus-cus.el gnus-gl.el gnus-nocem.el gnus-score.el gnus-topic.el
gnus.el mail-source.el nnmail.el
-Bob Glickstein: wrote sregex.el
-and changed isearch.el sendmail.el
+Bob Glickstein: changed isearch.el sendmail.el
Bob Halley: changed ccl.c esh-io.el
@@ -655,9 +700,11 @@ Bob Nnamtrop: changed viper-cmd.el
Bob Olson: co-wrote cperl-mode.el
-Bob Rogers: changed vc-dir.el vc-svn.el cperl-mode.el diff.el ewoc.el
- ffap.el files.el ietf-drums.el maintaining.texi sql.el thingatpt.el
- vc.el vc1-xtra.texi
+Bob Rogers: wrote ietf-drums-date-tests.el ietf-drums-date.el
+ ietf-drums-tests.el
+and changed ietf-drums.el vc-dir.el vc-svn.el cperl-mode.el diff.el
+ ewoc.el ffap.el files.el maintaining.texi sql.el thingatpt.el
+ time-date.el vc.el vc1-xtra.texi
Bob Weiner: changed info.el quail.el dframe.el etags.c rmail.el
rmailsum.el speedbar.el
@@ -687,17 +734,27 @@ Bozhidar Batsov: changed ruby-mode.el subr-x.el subr.el bytecomp.el
Brad Howes: changed gnus-demon.el
+Brady Trainor: changed README.md eglot.el
+
+Brahimi Saifullah: changed wid-edit.el
+
Brandon Craig Rhodes: changed flyspell.el
Braun Gábor: changed cua-base.el simple.el
Brendan Kehoe: changed hpux9.h
+Brendan O'Dea: changed em-unix.el woman.el
+
Brent Goodrick: changed abbrev.el
+Brent Westbrook: changed eudcb-mailabbrev.el
+
Brian Burns: changed INSTALL INSTALL.W64
-Brian Cully: changed macos.texi
+Brian Cully: wrote tramp-container.el
+and changed EGLOT-NEWS README.md eglot-tests.el eglot.el
+ em-tramp-tests.el em-tramp.el eshell.texi macos.texi tramp.texi
Brian D. Carlstrom: changed gud.el smtpmail.el
@@ -708,9 +765,10 @@ Brian Fox: changed Makefile.in Makefile configure.ac minibuf.c dired.el
Brian Jenkins: changed frame.c frames.texi hooks.texi
-Brian Leung: changed comint.el gud.el advice.el comp.c comp.el em-hist.el
- files.el find-func.el flymake.el gdb-mi.el help.el nadvice.el shell.el
- shortdoc.el
+Brian Leung: changed eglot.el README.md comint.el c-ts-mode.el gud.el
+ shell.el Makefile advice.el comp.c comp.el eglot-tests.el em-hist.el
+ em-prompt.el esh-mode.el files.el find-func.el flymake.el gdb-mi.el
+ help.el nadvice.el progmodes/python.el shortdoc.el
Brian Marick: co-wrote hideif.el
@@ -739,6 +797,8 @@ Bruno Félix Rezende Ribeiro: changed os.texi finder.el functions.texi
Bruno Haible: co-wrote po.el
and changed INSTALL emacs.1 epaths.in info.el paths.el
+Bryan C. Mills: changed lread.c
+
Bryan Henderson: changed Makefile term.el
Bryan O'Sullivan: changed ange-ftp.el
@@ -754,7 +814,9 @@ Callum Cameron: changed term.el
Cameron Desautels: changed cus-edit.el custom.texi help.el regexp-opt.el
ruby-mode.el titdic-cnv.el
-Campbell Barton: changed bookmark.el
+Campbell Barton: changed bookmark.el subr.el
+
+Cao Zhenxiang: changed fw.el project.el
Carl D. Roth: changed gnus-nocem.el
@@ -803,7 +865,7 @@ Changwoo Ryu: changed files.el
Chao-Hong Liu: changed TUTORIAL.cn TUTORIAL.zh
-Charles A. Roelli: changed nsterm.m vc.el simple.el nsfns.m isearch.el
+Charles A. Roelli: changed vc.el nsterm.m simple.el nsfns.m isearch.el
nsmenu.m nsterm.h process.c register.el diff-mode.el display.texi
files.el files.texi fixit.texi macfont.m minibuf.c nsfont.m nsimage.m
nsselect.m org-clock.el progmodes/python.el and 47 other files
@@ -819,6 +881,8 @@ Charles Sebold: changed org-plot.el
Charlie Martin: wrote autoinsert.el
+Charl P. Botha: changed js.el
+
Chen Bin: changed fns.c subr-tests.el
Cheng Gao: changed Makefile.in flymake.el frame.c tips.texi url-dired.el
@@ -834,7 +898,7 @@ and co-wrote longlines.el tango-dark-theme.el tango-theme.el
and changed simple.el display.texi xdisp.c files.el frames.texi
cus-edit.el files.texi custom.el subr.el text.texi faces.el keyboard.c
startup.el package.el misc.texi emacs.texi modes.texi mouse.el
- custom.texi image.c window.el and 932 other files
+ custom.texi image.c window.el and 934 other files
Chris Chase: co-wrote idlw-shell.el idlwave.el
@@ -879,6 +943,8 @@ Christian Egli: changed org-taskjuggler.el org.texi
Christian Faulhammer: changed configure configure.ac src/Makefile.in
vc-bzr.el
+Christian Garbs: changed EGLOT-NEWS README.md eglot.el
+
Christian Limpach: co-wrote ns-win.el
and changed configure.ac
@@ -994,14 +1060,14 @@ and changed calc.el replace.el update-game-score.c calc-ext.el
Colin Williams: changed calc.texi
-Colin Woodbury: changed files.el cl-seq.el files.texi macros.texi
- shortdoc.el
+Colin Woodbury: changed cl-seq.el files.el progmodes/python.el files.texi
+ frame.c macros.texi shortdoc.el
Constantin Kulikov: changed server.el startup.el
Constantino Calancha: changed dired.el
-Corwin Brust: changed erc-services.el
+Corwin Brust: changed erc-services.el package.el
Courtney Bane: changed term.c
@@ -1011,6 +1077,8 @@ Craig McDaniel: changed sheap.c
Craig Tanis: changed ox-latex.el
+Cyril Arnould: changed vhdl-mode.el
+
Daiki Ueno: wrote epa-dired.el epa-file.el epa-hook.el epa-mail.el epa.el
epg-config.el epg.el pgg-def.el pgg-gpg.el pgg-parse.el pgg-pgp.el
pgg-pgp5.el pgg.el plstore.el sasl.el starttls.el
@@ -1027,21 +1095,23 @@ Dale Hagglund: changed unexelf.c
Dale R. Worley: wrote emerge.el (public domain)
and changed mail-extr.el
-Dale Sedivec: changed sgml-mode.el wisent/python.el
+Dale Sedivec: changed eglot.el sgml-mode.el wisent/python.el
Damien Cassou: wrote auth-source-pass-tests.el hierarchy-tests.el
hierarchy.el
and co-wrote auth-source-pass.el auth-source-tests.el
-and changed simple.el auth.texi checkdoc.el ispell.el message.el
- seq-tests.el seq.el simple-tests.el auth-source.el autorevert.el
- checkdoc-tests.el imenu-tests.el imenu.el info.el isearch.el
- json-tests.el json.el message-tests.el package.el rmc.el sending.texi
- and 3 other files
+and changed seq.el seq-tests.el sequences.texi simple.el auth.texi
+ bindings.el checkdoc.el ispell.el message.el sending.texi shortdoc.el
+ simple-tests.el auth-source.el autorevert.el checkdoc-tests.el
+ emacsbug.el imenu-tests.el imenu.el info.el isearch.el json-tests.el
+ and 7 other files
Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el
erc-pcomplete.el README erc-button.el erc-nets.el erc-ring.el Makefile
erc-fill.el erc-match.el erc-members.el erc-nickserv.el
+Damien Merenne: changed eglot.el
+
Damon Anton Permezel: wrote hanoi.el (public domain)
Damyan Pepper: changed font.c font.h ftfont.c w32font.c
@@ -1053,10 +1123,10 @@ Dan Christensen: changed gnus-sum.el nndoc.el nnfolder.el gnus-art.el
Dan Davison: wrote ob-matlab.el ob-octave.el
and co-wrote ob-R.el ob-core.el ob-exp.el ob-java.el ob-lob.el ob-perl.el
ob-python.el ob-ref.el org-src.el
-and changed ob.el ob-sh.el org.el ox.el ox-latex.el ob-tangle.el ob-C.el
- ob-clojure.el ob-haskell.el ob-ruby.el ob-scheme.el ob-table.el
+and changed ob.el ob-sh.el org.el ox.el ox-latex.el eglot.el ob-tangle.el
+ ob-C.el ob-clojure.el ob-haskell.el ob-ruby.el ob-scheme.el ob-table.el
ob-ditaa.el ob-dot.el ob-gnuplot.el ob-js.el ob-ocaml.el ob-org.el
- ob-plantuml.el ob-sass.el ob-screen.el and 12 other files
+ ob-plantuml.el ob-sass.el and 13 other files
Daniel Barrett: changed dbnotn.rnc
@@ -1069,9 +1139,9 @@ Daniel Clemente: changed generic-x.el ox-html.el
Daniel Colascione: wrote alloc-tests.el generator-tests.el generator.el
lisp-tests.el
and co-wrote js.el
-and changed keyboard.c emacs.c w32fns.c alloc.c image.c cl-macs.el lisp.h
- src/Makefile.in configure.ac frame.c frame.el process.c xterm.el
- sh-script.el xfaces.c coding.c cygw32.c data.c dbusbind.c fns.c font.c
+and changed keyboard.c emacs.c w32fns.c alloc.c image.c cl-macs.el
+ frame.c lisp.h src/Makefile.in configure.ac frame.el process.c xterm.el
+ sh-script.el xfaces.c xterm.c coding.c cygw32.c data.c dbusbind.c fns.c
and 213 other files
Daniel Dehennin: changed gnus-mlspl.el mml2015.el gnus-msg.el gnus.texi
@@ -1086,6 +1156,10 @@ Daniel Engeler: changed sysdep.c elisp.texi emacs.texi internals.texi
Daniele Nicolodi: changed url-http.el
+Daniel Fleischer: changed TUTORIAL browse-url.el startup.el
+
+Daniel Freeman: changed eglot.el eglot.texi
+
Daniel Gröber: changed rxvt.el
Daniel Hackney: wrote package-tests.el
@@ -1102,9 +1176,9 @@ Daniel Kahn Gillmor: changed mml-sec.el
Daniel Koning: changed simple.el artist.el commands.texi subr.el
-Daniel LaLiberte: wrote cust-print.el edebug.el isearch.el
+Daniel LaLiberte: wrote edebug.el isearch.el
and co-wrote hideif.el
-and changed mlconvert.el eval-region.el
+and changed cust-print.el mlconvert.el eval-region.el
Daniel Lenski: changed speedbar.el
@@ -1112,18 +1186,18 @@ Daniel Lopez: changed progmodes/compile.el
Daniel Lublin: changed dns-mode.el
-Daniel Martín: changed shortdoc.el nsterm.m erc.texi files.el files.texi
- msdos-xtra.texi ns-win.el basic.texi cmacexp.el compilation.txt
- compile-tests.el cscope.el diff.el dired.el display.texi editfns.c
- emacs.texi files-tests.el find-func-tests.el find-func.el frame.c
- and 18 other files
+Daniel Martín: changed c-ts-mode.el nsterm.m shortdoc.el ns-win.el
+ simple.el diff-mode-tests.el erc.texi files.el files.texi indent.erts
+ msdos-xtra.texi progmodes/python.el search.texi .lldbinit basic.texi
+ c-ts-mode-tests.el cmacexp.el compilation.txt compile-tests.el
+ compile.texi configure.ac and 43 other files
Daniel McClanahan: changed lisp-mode.el
Daniel M Coffman: changed arc-mode.el
-Daniel Mendler: changed minibuffer.el minibuf.texi simple.el help-fns.el
- info.el minibuf.c minibuffer-tests.el xref.el
+Daniel Mendler: changed minibuffer.el minibuf.texi simple.el elp.el
+ help-fns.el info.el minibuf.c minibuffer-tests.el xref.el
Daniel M German: co-wrote org-protocol.el
@@ -1131,6 +1205,8 @@ Daniel Néri: changed message.el
Daniel Ortmann: changed paragraphs.el
+Daniel Pettersson: changed em-cmpl.el
+
Daniel Pfeiffer: wrote conf-mode.el copyright.el executable.el
sh-script.el skeleton.el two-column.el
and co-wrote apropos.el progmodes/compile.el wyse50.el
@@ -1201,7 +1277,7 @@ and co-wrote latin-ltx.el socks.el
and changed configure.ac help.el mule-cmds.el fortran.el mule-conf.el
xterm.c browse-url.el mule.el coding.c src/Makefile.in european.el
fns.c mule-diag.el simple.el wid-edit.el cus-edit.el cus-start.el
- files.el keyboard.c byte-opt.el info.el and 771 other files
+ files.el keyboard.c byte-opt.el info.el and 772 other files
Dave Pearson: wrote 5x5.el quickurl.el
@@ -1240,7 +1316,9 @@ David Edmondson: changed message.el erc.el mml2015.el process.c
gnus-cite.el gnus-cloud.el gnus.texi imap.el mm-uu.el mm-view.el
nnfolder.el nnimap.el nnml.el rcirc.el shr.el
-Davide Masserut: changed bindings.el basic.texi
+Davide Masserut: changed bindings.el sh-script.el basic.texi
+ dictionary.el eglot.el faces.el go-ts-mode-tests.el go-ts-mode.el
+ indent.erts
David Engster: wrote mairix.el nnmairix.el
and co-wrote gitmerge.el
@@ -1250,6 +1328,8 @@ and changed cedet/semantic.el db.el insert.el semantic/complete.el c.by
wisent/python.el analyze.el bovine/el.el bovine/grammar.el
decorate/mode.el and 88 other files
+David Florness: changed eglot.el
+
David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
calc-comb.el calc-cplx.el calc-embed.el calc-ext.el calc-fin.el
calc-forms.el calc-frac.el calc-funcs.el calc-graph.el calc-help.el
@@ -1259,7 +1339,7 @@ David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
calc-store.el calc-stuff.el calc-trail.el calc-undo.el calc-units.el
calc-vec.el calc-yank.el calc.el calcalg2.el calcalg3.el calccomp.el
calcsel2.el cl-compat.el cl-extra.el cl-macs.el cl-seq.el cl.texi
- edmacro.el emacs-lisp/cl-lib.el obsolete/complete.el
+ edmacro.el emacs-lisp/cl-lib.el
and changed info.el bytecomp.el cl.el complete.el
David Glasser: changed package.el tar-mode.el
@@ -1341,7 +1421,7 @@ and co-wrote util-modes.el
and changed w32menu.c w32term.c close.png close.xpm empty.png empty.xpm
end-guide.png end-guide.xpm files.el guide.png guide.xpm handle.png
handle.xpm keyboard.c leaf.png leaf.xpm no-guide.png no-guide.xpm
- no-handle.png no-handle.xpm open.png and 21 other files
+ no-handle.png no-handle.xpm open.png and 22 other files
David Raynes: changed ns-win.el
@@ -1371,10 +1451,10 @@ Debarshi Ray: changed erc-backend.el erc.el
Decklin Foster: changed nngateway.el
-Deepak Goel: changed idlw-shell.el feedmail.el files.el find-func.el
- flymake.el mh-search.el mh-seq.el mh-thread.el mh-xface.el org.el
- simple.el vc.el vhdl-mode.el wdired.el README allout.el appt.el
- apropos.el artist.el bibtex.el bindings.el and 83 other files
+Deepak Goel: changed idlw-shell.el ada-xref.el feedmail.el files.el
+ find-func.el flymake.el mh-search.el mh-seq.el mh-thread.el mh-xface.el
+ org.el simple.el vc.el vhdl-mode.el wdired.el README ada-mode.el
+ allout.el appt.el apropos.el artist.el and 85 other files
D. E. Evans: changed basic.texi
@@ -1398,10 +1478,14 @@ Dennis Gilmore: changed sparc.h
Denys Duchier: changed pop3.el
+Denys Nykula: changed TUTORIAL.uk language/cyrillic.el
+
Derek Atkins: changed imap.el pgg-pgp.el
Derek L. Davies: changed gud.el
+Derek Passen: changed README.md eglot.el
+
Derek Peschel: changed etags.c
Derek Upham: changed nxml-mode.el
@@ -1423,11 +1507,11 @@ Diane Murray: changed erc.el erc-backend.el erc-menu.el erc-button.el
erc-goodies.el erc-ibuffer.el erc-log.el erc-nicklist.el url-http.el
Makefile erc-dcc.el and 36 other files
-Dick R. Chiang: changed ffap-tests.el ffap.el gnus-group.el gnus.texi
- message.el bindings.el buffer-tests.el buffer.c checkdoc.el
- cl-macs-tests.el cl-macs.el comint-tests.el gnus-srvr.el gnus-sum.el
- gnus-topic.el gnutls.c key.pub key.sec minibuffer.el misc.texi mml.el
- and 7 other files
+Dick R. Chiang: changed ffap-tests.el erc-backend.el ffap.el
+ gnus-group.el gnus-topic.el gnus.texi hl-line.el image.c message.el
+ package.el bindings.el buffer-tests.el buffer.c checkdoc.el
+ cl-macs-tests.el cl-macs.el comint-tests.el erc-common.el erc-compat.el
+ erc-goodies.el erc-networks-tests.el and 28 other files
Didier Verna: wrote gnus-diary.el nndiary.el
and co-wrote nnml.el
@@ -1444,10 +1528,10 @@ Dieter Schoen: wrote ob-lua.el
Dieter Schuster: changed etags.c
Dima Kogan: wrote diff-mode-tests.el
-and changed diff-mode.el erc-backend.el image.c font.c gud.el hideshow.el
- autorevert.el comint.el find-file.el subword.el BOOST.tests PCRE.tests
- PTESTS TESTS align.el alloc.c ediff-mult.el ediff.el erc-button.el
- isearch.el keyboard.c and 12 other files
+and changed diff-mode.el erc-backend.el image.c comint.el font.c gud.el
+ hideshow.el autorevert.el find-file.el subword.el BOOST.tests
+ PCRE.tests PTESTS TESTS align.el alloc.c ediff-mult.el ediff.el
+ erc-button.el isearch.el keyboard.c and 12 other files
Dirk Herrmann: co-wrote bibtex.el
@@ -1473,11 +1557,11 @@ Dmitry Gorbik: changed org.el
Dmitry Gutov: wrote elisp-mode-tests.el jit-lock-tests.el json-tests.el
vc-hg-tests.el xref-tests.el
-and changed xref.el ruby-mode.el project.el vc-git.el elisp-mode.el
- etags.el ruby-mode-tests.el js.el vc.el vc-hg.el package.el
- symref/grep.el dired-aux.el simple.el log-edit.el minibuffer.el
- progmodes/grep.el ido.el maintaining.texi menu-bar.el package-test.el
- and 122 other files
+and changed xref.el ruby-mode.el project.el vc-git.el ruby-ts-mode.el
+ elisp-mode.el etags.el ruby-mode-tests.el js.el vc.el package.el
+ vc-hg.el symref/grep.el dired-aux.el ruby-ts-mode-tests.el simple.el
+ progmodes/python.el treesit.el log-edit.el ruby-ts.rb rust-ts-mode.el
+ and 157 other files
Dmitry Kurochkin: changed isearch.el
@@ -1510,13 +1594,16 @@ Drake Wilson: changed emacsclient.c files.el misc.texi
Drew Adams: wrote light-blue-theme.el
and co-wrote color.el
and changed dired.el cus-edit.el imenu.el info.el ls-lisp.el menu-bar.el
- dired.texi faces.el files.el frame.el help-fns.el help-mode.el help.el
- help.texi isearch.el modes.texi mouse.el wid-edit.el ange-ftp.el
- apropos.el bindings.el and 22 other files
+ dired-aux.el dired.texi faces.el files.el frame.el help-fns.el
+ help-mode.el help.el help.texi isearch.el modes.texi mouse.el
+ wid-edit.el ange-ftp.el apropos.el and 25 other files
-Earl Hyatt: changed ffap.el seq-tests.el sequences.texi windows.texi
- autotype.texi control.texi cus-edit.el hi-lock.el misc.texi
- pcase-tests.el pcase.el replace.el search.texi seq.el tab-bar.el
+Duncan Findlay: changed frame.el keyboard.c xterm.el
+
+Earl Hyatt: changed autotype.texi ffap.el seq-tests.el sequences.texi
+ windows.texi control.texi cus-edit.el eshell.texi hi-lock.el misc.texi
+ package-vc.el package.texi pcase-tests.el pcase.el replace.el
+ search.texi seq.el tab-bar.el texinfo.el
E. Choroba: changed cperl-mode.el simple.el
@@ -1572,10 +1659,10 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c]
[tty menus in term.c] abbrev-tests.el bidi.c biditest.el cham.el
chartab-tests.el coding-tests.el etags-tests.el rxvt.el tty-colors.el
and co-wrote help-tests.el
-and changed xdisp.c display.texi w32.c msdos.c w32fns.c simple.el
- files.el fileio.c emacs.c keyboard.c w32term.c text.texi dispnew.c
- w32proc.c files.texi frames.texi configure.ac lisp.h dispextern.h
- process.c editfns.c and 1237 other files
+and changed xdisp.c display.texi w32.c msdos.c simple.el w32fns.c
+ files.el fileio.c keyboard.c emacs.c text.texi w32term.c dispnew.c
+ configure.ac frames.texi w32proc.c files.texi xfaces.c window.c
+ dispextern.h lisp.h and 1329 other files
Eliza Velasquez: changed server.el
@@ -1596,18 +1683,18 @@ Emilio C. Lopes: changed woman.el cmuscheme.el help.el vc.el advice.el
and 58 other files
Emmanuel Briot: wrote xml.el
-and changed ada-stmt.el
+and changed ada-mode.el ada-stmt.el ada-prj.el ada-xref.el
Era Eriksson: changed bibtex.el dired.el json.el ses.el ses.texi shell.el
tramp.el tramp.texi
Eric Abrahamsen: wrote gnus-dbus.el gnus-search-tests.el gnus-search.el
gnus-test-headers.el
-and changed gnus-sum.el gnus-group.el gnus-registry.el gnus-start.el
- gnus.texi eieio-base.el nnimap.el nnir.el gnus-agent.el gnus.el
+and changed gnus-registry.el gnus-sum.el gnus.texi gnus-group.el
+ gnus-start.el nnimap.el eieio-base.el nnir.el gnus-agent.el gnus.el
registry.el gnus-srvr.el eieio.el gnus-cache.el gnus-msg.el
- gnus-score.el message.el files.el files.texi gnus-art.el gnus-util.el
- and 50 other files
+ gnus-score.el message.el nnmaildir.el files.el files.texi gnus-art.el
+ and 51 other files
Eric Bélanger: changed image.c
@@ -1721,6 +1808,8 @@ Ernesto Alfonso: changed simple.el
E Sabof: changed hi-lock.el image-dired.el
+Eshel Yaron: changed eglot.el eww.el
+
Espen Skoglund: wrote pascal.el
Espen Wiborg: changed utf-7.el
@@ -1738,11 +1827,13 @@ Eugene Ha: changed configure.ac
Evangelos Evangelou: changed progmodes/f90.el
+Evan Klitzke: changed cc-langs.el
+
Evan Moses: changed progmodes/python.el
Evgeni Dobrev: changed man.el
-Evgeni Kolev: changed perl-mode.el
+Evgeni Kolev: changed eglot.el perl-mode.el README.md go-ts-mode.el
Evgeny Fraimovitch: changed emacsclient.c
@@ -1760,9 +1851,11 @@ and changed python-tests.el subr-x.el imenu.el wisent/python.el
Fabrice Bauzac: changed objects.texi dired-aux.el fixit.texi ibuf-ext.el
search.texi
+Fabrice Bauzac-Stehly: changed ldap.el
+
Fabrice Nicol: changed etags.c etags.1
-Fabrice Niessen: wrote leuven-theme.el
+Fabrice Niessen: wrote leuven-dark-theme.el leuven-theme.el
and changed org-agenda.el
Fabrice Popineau: changed ms-w32.h w32.c w32fns.c w32heap.c w32term.c
@@ -1770,6 +1863,8 @@ Fabrice Popineau: changed ms-w32.h w32.c w32fns.c w32heap.c w32term.c
w32proc.c w32term.h INSTALL addsection.c alloc.c dispextern.h
emacs-x64.manifest emacs-x86.manifest etags.c and 24 other files
+Fangrui Song: changed eglot.el
+
Fan Kai: changed esh-arg.el
Faried Nawaz: changed message.el
@@ -1782,11 +1877,14 @@ and changed minibuf.c esh-var.el minibuf.texi mouse.el package.el rect.el
edebug.el em-dirs.el eshell-tests.el eww.el fileio-tests.el fileio.c
files.texi gamegrid.el keyboard.c and 8 other files
-Felicián Németh: changed project.el xref.el
+Felician Nemeth: changed rmc.el
+
+Felicián Németh: changed eglot.el EGLOT-NEWS README.md eglot-tests.el
+ project.el xref.el
Felipe Ochoa: changed faces.el js.el paren.el
-Felix Dietrich: changed tramp-archive.el
+Felix Dietrich: changed tramp-archive.el mailcap-tests.el mailcap.el
Felix E. Klee: co-wrote svg.el
and changed display.texi
@@ -1802,7 +1900,10 @@ Felix S. T. Wu: co-wrote vi.el (public domain)
Feng Li: changed calc-ext.el pascal.el which-func.el
-Feng Shu: changed org.el org.texi ox.el ox-html.el ox-latex.el ox-odt.el
+Feng Shu: changed org.el org.texi ox.el ox-html.el ox-latex.el xwidget.el
+ ox-odt.el
+
+Feraidoon Mehri: changed dired-aux.el
Ferdinand Pieper: changed flow-fill-tests.el flow-fill.el
@@ -1810,14 +1911,18 @@ Ferenc Wagner: changed nnweb.el
Filipe Cabecinhas: changed nsterm.m
-Filipp Gunbin: changed compilation.txt progmodes/compile.el
- auth-source-tests.el auth-source.el autorevert.el dired-aux.el
- gnus-ml.el shell.el sysdep.c cc-menus.el compile-tests.el custom.el
- dabbrev.el gnus-sum.el imenu.el info.el info.texi keymaps.texi ldap.el
- processes.texi search.texi and 3 other files
+Filipp Gunbin: changed ldap.el compilation.txt progmodes/compile.el
+ sql.el auth-source-tests.el auth-source.el autorevert.el dired-aux.el
+ gnus-ml.el shell.el sysdep.c abbrev-tests.el abbrev.el cc-menus.el
+ compile-tests.el custom.el dabbrev.el epa-ks.el ert.el eudc-vars.el
+ eudc.texi and 19 other files
-F. Jason Park: changed socks-tests.el erc-tests.el erc.el socks.el
- erc-button.el erc-ring.el erc-services.el puny-tests.el puny.el
+F. Jason Park: changed erc.el erc-backend.el erc-tests.el foonet.eld
+ erc.texi erc-networks.el erc-dcc.el erc-compat.el erc-sasl.el
+ barnet.eld erc-scenarios-misc.el erc-services.el erc-common.el
+ erc-networks-tests.el erc-scenarios-base-reconnect.el
+ erc-scenarios-common.el socks-tests.el auth-source-pass-tests.el
+ auth-source-pass.el erc-join.el erc-sasl-tests.el and 104 other files
Flemming Hoejstrup Hansen: changed forms.el
@@ -1827,10 +1932,12 @@ Florian Beck: changed org.el
Florian Ragwitz: changed gnus-html.el sieve-manage.el
+Florian Rommel: changed configure.ac frames.texi pgtkterm.c window.c
+
Florian V. Savigny: changed sql.el
-Florian Weimer: changed message.el gnus.el coding.c gnus-sum.el gnus.texi
- mm-decode.el mm-util.el
+Florian Weimer: changed message.el gnus.el coding.c configure.ac
+ gnus-sum.el gnus.texi mm-decode.el mm-util.el
Francesco Pizzolante: changed org-clock.el org-macs.el org.el ox-html.el
@@ -1878,6 +1985,8 @@ Frank Weinberg: changed gnus-art.el
Frédéric Bothamy: changed TUTORIAL.fr
+Frédéric Giquel: changed process.c
+
Frederic Han: changed iso-cvt.el
Frederic Lepied: wrote expand.el
@@ -1900,7 +2009,7 @@ Fred Oberhauser: changed nnmail.el
Fredrik Axelsson: changed cus-start.el window.c
-Fredrik Bergroth: changed editfns.c
+Fredrik Bergroth: changed eglot.el editfns.c
Friedrich Beckmann: changed vhdl-mode.el
@@ -1908,8 +2017,6 @@ Friedrich Delgado Friedrichs: changed org.el
Fritz Knabe: changed mh-mime.el
-Fritz Stelzer: changed xref.el
-
F. Thomas May: wrote blackbox.el
Fujii Hironori: changed w32fns.c
@@ -1917,18 +2024,20 @@ Fujii Hironori: changed w32fns.c
Gábor Vida: changed gnus-demon.el auth-source.el ido.el
Gabriel Do Nascimento Ribeiro: changed remember.el mb-depth.el repeat.el
- tab-line.el cmuscheme.el comint.el esh-mode.el etags.el gnus-sum.el
- hl-line.el idlwave.el inf-lisp.el mh-gnus.el mh-letter.el mh-mime.el
- mh-seq.el mh-utils.el minibuf.c minibuffer.el mule-cmds.el package.el
- and 10 other files
+ tab-bar.el tab-line.el bookmark.el cmuscheme.el comint.el
+ dired-tests.el dired.el esh-mode.el etags.el faces.el gnus-sum.el
+ goto-addr.el hl-line.el ibuf-ext.el idlwave.el inf-lisp.el mh-gnus.el
+ mh-letter.el and 17 other files
Gaby Launay: changed auth-source-pass.el
Gareth Jones: changed fns.c gnus-score.el
-Garrett Wollman: changed sendmail.el
+Garid Zorigoo: changed quail/cyrillic.el
+
+Garret Buell: changed eglot.el
-Gary Delp: wrote mailpost.el (public domain)
+Garrett Wollman: changed sendmail.el
Gary D. Foster: wrote crisp.el scroll-all.el
and changed gnus-group.el gnus-topic.el
@@ -1937,7 +2046,7 @@ Gary Fredericks: changed window.el
Gary Howell: changed server.el
-Gary Oberbrunner: changed gud.el
+Gary Oberbrunner: changed eglot.el gud.el
Gary Wong: changed termcap.c tparam.c
@@ -1983,8 +2092,8 @@ George V. Reilly: changed emacs.ico makefile.nt
Gerd Möllmann: wrote authors.el ebrowse.el jit-lock.el tooltip.el
and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c
window.c keyboard.c lisp.h faces.el alloc.c buffer.c startup.el xterm.h
- fns.c simple.el term.c configure.ac frame.c xmenu.c emacs.c
- and 610 other files
+ fns.c term.c configure.ac simple.el frame.c xmenu.c emacs.c
+ and 621 other files
Gergely Nagy: changed erc.el
@@ -2012,7 +2121,7 @@ and changed configure.ac Makefile.in src/Makefile.in calendar.el
lisp/Makefile.in diary-lib.el files.el make-dist rmail.el
progmodes/f90.el bytecomp.el admin.el misc/Makefile.in simple.el
authors.el startup.el emacs.texi lib-src/Makefile.in display.texi
- ack.texi subr.el and 1786 other files
+ ack.texi subr.el and 1796 other files
Glynn Clements: wrote gamegrid.el snake.el tetris.el
@@ -2021,6 +2130,8 @@ Göktuğ Kayaalp: changed electric.el european.el text.texi vc-cvs.el
Gong Qijian: changed startup.el
+Gonzalo Larumbe: changed vhdl-mode.el
+
Göran Uddeborg: changed isc4-1.h
Gordon Matzigkeit: changed gnus-uu.el
@@ -2041,6 +2152,8 @@ and changed messagexmas.el
Greg McGary: co-wrote po.el
and changed tar-mode.el
+Greg Minshall: changed eldoc.el
+
Gregoire Jadi: changed proced.el
Grégoire Jadi: changed org.texi configure.ac emacsgtkfixed.c keyboard.c
@@ -2057,10 +2170,10 @@ Gregor Schmid: changed intervals.c intervals.h tcl-mode.el textprop.c
Gregory Chernov: changed nnslashdot.el
-Gregory Heytings: changed isearch.el minibuffer.el efaq.texi mini.texi
- quail.el search.texi simple.el HELLO buffers.texi diff-mode.el emake
- facemenu.el fbterm.el files.el fringe.c help-macro.el icomplete.el
- keyboard.c misc-lang.el modula2.el pcmpl-gnu.el and 6 other files
+Gregory Heytings: changed xdisp.c editfns.c keyboard.c buffer.c subr.el
+ dispextern.h lisp.h buffer.h display.texi efaq.texi files.el isearch.el
+ minibuffer.el Makefile.in bytecode.c composite.c positions.texi
+ bytecomp.el emake help-fns.el lread.c and 78 other files
Grégory Mounié: changed display.texi hi-lock.el man.el xfns.c
@@ -2075,11 +2188,15 @@ Guanpeng Xu: changed add-log.el TUTORIAL.cn display.texi mouse.el
Gunnar Horrigmo: changed gnus-sum.el
+Gustaf Waldemarson: changed gdb-mi.el
+
Gustav HÃ¥llberg: changed descr-text.el diff-mode.el progmodes/compile.el
rect.el vc.el
Gustav Wikström: changed org-agenda.el org.texi
+Guy Gastineau: changed erc.el
+
Guy Geens: changed gnus-score.el
Gwern Branwen: changed browse-url.el
@@ -2115,7 +2232,7 @@ Harald Hanche-Olsen: changed misc.texi server.el sgml-mode.el skeleton.el
Harald Jörg: wrote cperl-mode-tests.el
and changed cperl-mode.el perl-mode.el grammar.pl cperl-bug-19709.pl
- cperl-indent-exp.pl cperl-indent-styles.pl
+ cperl-indent-exp.pl cperl-indent-styles.pl gud.el
Harald Maier: changed w32heap.c
@@ -2197,6 +2314,8 @@ Hugh Brown: changed progmodes/grep.el building.texi
Hugh Daschbach: changed dbus-tests.el dbus.el org.gnu.Emacs.TestDBus.xml
+Hugo Heagren: changed window.el windows.texi
+
Hynek Schlawack: changed gnus-art.el gnus-sum.el
Ian Dunn: changed eww.el doc-view.el image-mode.el vc-hg.el
@@ -2214,21 +2333,26 @@ and changed ange-ftp.el desktop.el tex-mode.el
Ian W: changed ispell.el
+Ignacio Casso: changed custom.el customize.texi data.c select.el
+
İ. Göktuğ Kayaalp: changed eww.el frame.h frames.texi mwheel.el vc-rcs.el
Igor Kuzmin: wrote cconv.el
Igor Saprykin: changed ftfont.c
-Ihor Radchenko: changed fns.c
+Ihor Radchenko: wrote org-fold-core.el org-fold.el org-persist.el
+and changed ox.el fns.c help-mode.el oc.el org-element.el
Iku Iwasa: changed auth-source-pass-tests.el auth-source-pass.el
-Ikumi Keita: changed characters.el display.texi files.el japan-util.el
- kinsoku.el minibuf.c
+Ikumi Keita: changed display.texi files.el characters.el fill.el
+ japan-util.el kinsoku.el minibuf.c
Ilja Weis: co-wrote gnus-topic.el
+Illia Danko: changed README.md eglot.el
+
Illia Ostapyshyn: changed cus-start.el calc-graph.el
Ilya N. Golubev: changed mm-util.el shell.el
@@ -2254,15 +2378,17 @@ Inge Frick: changed easymenu.el keyboard.c view.el compile.el
Inge Wallin: co-wrote avl-tree.el ewoc.el
-Ingo Lohmar: changed sql.el calendar.el calendar.texi help-fns.el js.el
- ls-lisp.el org-agenda.el org.el
+Ingo Lohmar: changed eglot.el sql.el EGLOT-NEWS README.md calendar.el
+ calendar.texi eglot-tests.el help-fns.el js.el ls-lisp.el org-agenda.el
+ org.el
Inoue Seiichiro: changed xterm.c xfns.c xterm.h
International Business Machines: changed emacs.c fileio.c process.c
sysdep.c unexcoff.c
-Ioannis Kappas: changed package.el process-tests.el
+Ioannis Kappas: changed ansi-color-tests.el ansi-color.el package.el
+ process-tests.el
Ippei Furuhashi: changed org.texi org-colview.el org-table.el org.el
@@ -2283,7 +2409,8 @@ Itai Y. Efrat: changed browse-url.el
Itai Zukerman: changed mm-decode.el
Ivan Andrus: changed editfns.c epg.el ffap.el find-file.el ibuf-ext.el
- ibuffer.el newcomment.el nxml-mode.el progmodes/python.el
+ ibuffer.el newcomment.el nextstep/templates/Info.plist.in nxml-mode.el
+ progmodes/python.el
Ivan Boldyrev: changed mml1991.el
@@ -2298,7 +2425,7 @@ Ivan Shmakov: changed eww.el shr.el desktop.el eww.texi faces.el files.el
erc-track.el facemenu.el files.texi iso-transl.el misearch.el nndoc.el
rcirc.el simple.el smerge-mode.el and 5 other files
-Ivan Sokolov: changed ansi-color.el project.el
+Ivan Sokolov: changed ansi-color.el easy-mmode.el project.el
Ivan Vilata i Balaguer: changed org-clock.el org.texi
@@ -2326,21 +2453,24 @@ Jacob Morzinski: changed mh-comp.el
Jacques Duthen: co-wrote ps-print.el ps-samp.el
-Jae-hyeon Park: changed fontset.el
+Jae-hyeon Park: changed fontset.el gnus-icalendar.el
Jaesup Kwak: changed xwidget.c nsxwidget.m xwidget.el nsxwidget.h
xwidget.h Info.plist.in configure.ac emacs.c nsterm.m src/Makefile.in
Jaeyoun Chung: changed hangul3.el hanja3.el gnus-mule.el hangul.el
+Jai Flack: changed gnus-search.el
+
+Jake Moss: changed gdb-mi.el
+
Jakub-W: changed calculator.el
J. Alexander Branham: wrote conf-mode-tests.el
-and changed checkdoc.el indent.el text.texi bibtex.el em-rebind.el
- esh-util.el js.el lpr.el message.el subr.el .dir-locals.el
- auth-source-pass.el bug-reference.el comint.el conf-mode.el dired-x.el
- dired.el ediff-diff.el ediff-help.el ediff-hook.el ediff-init.el
- and 43 other files
+and changed checkdoc.el indent.el text.texi bibtex.el eglot.el
+ em-rebind.el esh-util.el js.el lpr.el message.el subr.el .dir-locals.el
+ README.md auth-source-pass.el bug-reference.el comint.el conf-mode.el
+ dired-x.el dired.el ediff-diff.el ediff-help.el and 45 other files
Jambunathan K: wrote ox-odt.el
and co-wrote ox-html.el
@@ -2360,7 +2490,9 @@ and changed fns.c nxml-mode.texi window.c xselect.c
James Cloos: wrote arabic.el
and changed url-history.el xfns.c xterm.c xterm.h
-James N. V. Cash: changed tab-bar.el eldoc.el help-fns.el
+James Nguyen: changed README.md
+
+James N. V. Cash: changed tab-bar.el crm.el eldoc.el help-fns.el
James R. Larus: co-wrote mh-e.el
@@ -2372,7 +2504,7 @@ James TD Smith: changed org.el org-colview.el org-clock.el
org-remember.el org-plot.el org-agenda.el org-compat.el org-habit.el
org.texi
-James Thomas: changed ind-util.el quail/indian.el
+James Thomas: changed quail/indian.el gnus-msg.el ind-util.el
James Troup: changed gnus-sum.el
@@ -2411,9 +2543,13 @@ Jan Schormann: wrote solitaire.el
Jan Seeger: changed ox-publish.el parse-time.el
+Jan Stranik: changed ebrowse.c
+
Jan Synacek: changed emacs-lisp-intro.texi minibuffer.el mwheel.el
vc-git.el
+Jan SynáÄek: changed maintaining.texi project.el
+
Jan Tatarik: wrote gnus-icalendar-tests.el gnus-icalendar.el
and changed gnus-score.el gnus-logic.el
@@ -2485,7 +2621,9 @@ Jay Sachs: changed gnus-score.el gnus-win.el
J.D. Smith: co-wrote idlw-help.el idlw-shell.el idlwave.el
and changed idlw-rinfo.el idlw-toolbar.el comint.el idlwave.texi vc.el
bibtex.el files.texi hideshow.el idlw-complete-structtag.el misc.texi
- mouse.el
+ mouse.el tree-widget.el
+
+Jean Abou Samra: changed scheme.el
Jean-Christophe Helary: changed emacs-lisp-intro.texi ns-win.el
package-tests.el package.el strings.texi subr-x.el ucs-normalize.el
@@ -2517,6 +2655,7 @@ Jeff Morgenthaler: changed flow-ctrl.el vt200.el vt201.el vt220.el
vt240.el
Jeff Norden: wrote kermit.el
+and changed outline.el
Jeff Peck: wrote sun.el
and changed emacstool.1 emacstool.c
@@ -2528,7 +2667,9 @@ and changed mh-e.el mh-comp.el mh-utils.el mh-mime.el mh-customize.el
Jeff Spencer: changed dired.el
-Jeff Walsh: changed comp.c xwidget.c
+Jeff Walsh: changed pgtkterm.c pgtkterm.h gtkutil.c pgtkfns.c comp.c
+ pgtkmenu.c image.c xdisp.c configure.ac ftcrfont.c pgtkgui.h pgtkim.c
+ pgtkselect.c pgtkselect.h xwidget.c
Jelle Licht: changed auth-source-pass-tests.el auth-source-pass.el
@@ -2545,6 +2686,8 @@ and changed mml-sec.el gnus-util.el message.texi mml-smime.el mml1991.el
Jens Petersen: wrote find-func.el
and changed mule-cmds.el pcmpl-rpm.el
+Jens Schmidt: changed plstore.el comint.el gnus.texi isearch.el ldap.el
+
Jens Toivo Berger Thielemann: changed word-help.el
Jens-Ulrik Holger Petersen: changed cus-edit.el ffap.el find-func.el
@@ -2603,24 +2746,26 @@ Jim Diamond: changed server.el
Jim Kingdon: co-wrote pcvs.el
and changed emacs.texi emacsclient.c functions.texi hp300bsd.h rmail.el
-Jim Meyering: changed lread.c make-docfile.c w32.c w32font.c copyright.el
- ebrowse.c emacs.c nsfont.m pop.c term.c xfaces.c xselect.c xterm.c
- alloc.c artist.el autoinsert.el buffer.h callproc.c character.h
- charset.c configure and 55 other files
+Jim Meyering: changed lread.c make-docfile.c w32.c w32font.c configure.ac
+ copyright.el ebrowse.c emacs.c nsfont.m pop.c term.c xfaces.c xselect.c
+ xterm.c alloc.c artist.el autoinsert.el buffer.h callproc.c character.h
+ charset.c and 55 other files
-Jimmy Aguilar Mena: changed xdisp.c xfaces.c dispextern.h mouse.el
- face-remap.el hl-line.el icomplete.el uniquify.el xwidget.c
+Jimmy Aguilar Mena: changed xdisp.c simple.el xfaces.c minibuffer.el
+ dispextern.h mini.texi mouse.el face-remap.el hl-line.el icomplete.el
+ uniquify.el xwidget.c
Jimmy Yuen Ho Wong: changed nsm.el gnutls.c gnutls.el disass.el
net-utils.el
Jim Paris: changed process.c
-Jim Porter: changed delsel.el ansi-color-tests.el ansi-color.el
- bindings.el esh-var.el term-tests.el term.el tramp.el callproc.c
- dichromacy-theme.el diff-mode.el em-pred.el eshell-tests.el eshell.texi
- files-tests.el gdb-mi.el grep-tests.el ispell.el leuven-theme.el man.el
- menu-bar.el and 10 other files
+Jim Porter: changed eshell.texi esh-cmd.el esh-var-tests.el
+ eshell-tests.el esh-var.el esh-proc-tests.el esh-io.el esh-proc.el
+ esh-util.el eshell-tests-helpers.el em-pred.el esh-arg.el
+ esh-cmd-tests.el tramp.el em-pred-tests.el em-dirs-tests.el server.el
+ em-basic.el em-extpipe-tests.el esh-opt-tests.el esh-opt.el
+ and 90 other files
Jim Radford: changed gnus-start.el
@@ -2630,8 +2775,12 @@ Jim Thompson: co-wrote ps-print.el ps-samp.el
Jim Wilson: changed alloca.c oldXMenu/Makefile.in
+Jin Choi: changed progmodes/python.el
+
Jindrich Makovicka: changed eval.c fns.c
+JindÅ™ich MakoviÄka: changed pgtkfns.c pgtkselect.c pgtkterm.c
+
Jirka Kosek: changed mule.el
Joachim Nilsson: changed cc-styles.el
@@ -2656,13 +2805,18 @@ Joanna Pluta: changed TUTORIAL.pl
João Cachopo: changed spam.el
-João Távora: wrote elec-pair.el electric-tests.el flymake-cc.el
- jsonrpc-tests.el jsonrpc.el message-tests.el shorthands.el
-and changed flymake.el icomplete.el minibuffer.el flymake-proc.el
- eldoc.el elisp-mode.el flymake.texi flymake-tests.el flymake-elisp.el
- electric.el elisp-mode-tests.el lread.c flymake-ui.el
- progmodes/python.el text.texi xref.el json-tests.el project.el
- tex-mode.el buffers.texi cfengine.el and 55 other files
+João Guerra: changed tab-line.el
+
+João P. L. De Carvalho: changed sh-script.el
+
+João Távora: wrote eglot-tests.el eglot.el elec-pair.el electric-tests.el
+ flymake-cc.el jsonrpc-tests.el jsonrpc.el message-tests.el
+ shorthands.el
+and changed flymake.el icomplete.el README.md eldoc.el minibuffer.el
+ flymake-proc.el EGLOT-NEWS elisp-mode.el flymake.texi flymake-tests.el
+ eglot.texi flymake-elisp.el electric.el elisp-mode-tests.el lread.c
+ Makefile flymake-ui.el progmodes/python.el text.texi xref.el
+ json-tests.el and 64 other files
Jochen Hein: changed gnus-art.el
@@ -2730,9 +2884,11 @@ and changed complete.el
John Anthony: changed inf-lisp.el ruby-mode.el text-mode.el
+Johnathan C. Maudlin: changed README.md eglot.el
+
John Basrai: changed man.el
-John Cummings: changed files.el
+John Cummings: changed files-tests.el files.el
John F. Carr: changed dired.c
@@ -2777,14 +2933,17 @@ John Tobey: changed gud.el
John W. Eaton: co-wrote octave.el
-John Wiegley: wrote align.el cal-bahai.el em-alias.el em-banner.el
- em-basic.el em-cmpl.el em-dirs.el em-glob.el em-hist.el em-ls.el
- em-pred.el em-prompt.el em-rebind.el em-script.el em-smart.el
+John Wiegley: wrote align.el bind-key.el cal-bahai.el em-alias.el
+ em-banner.el em-basic.el em-cmpl.el em-dirs.el em-glob.el em-hist.el
+ em-ls.el em-pred.el em-prompt.el em-rebind.el em-script.el em-smart.el
em-term.el em-unix.el em-xtra.el erc-identd.el esh-arg.el esh-cmd.el
esh-ext.el esh-io.el esh-mode.el esh-module.el esh-opt.el esh-proc.el
- esh-util.el esh-var.el eshell-tests.el eshell/eshell.el eudcb-mab.el
- isearchb.el org-attach.el org-crypt.el org-habit.el pcmpl-cvs.el
- pcomplete.el remember.el timeclock.el
+ esh-util.el esh-var.el eshell-tests-helpers.el eshell-tests.el
+ eshell/eshell.el eudcb-mab.el isearchb.el org-attach.el org-crypt.el
+ org-habit.el pcmpl-cvs.el pcomplete.el remember.el timeclock.el
+ use-package-bind-key.el use-package-core.el use-package-delight.el
+ use-package-diminish.el use-package-ensure.el use-package-jump.el
+ use-package-lint.el use-package.el
and co-wrote org-pcomplete.el
and changed org-clock.el org-agenda.el erc-chess.el org.el erc.el
iswitchb.el ido.el alloc.c allout.el auth-source.el cal-menu.el
@@ -2799,11 +2958,11 @@ John Yates: changed hideshow.el
Jon Anders Skorpen: changed ox-publish.el
Jonas Bernoulli: wrote transient.el
-and changed epa.el epa-file.el lisp-mnt.el tips.texi dired-aux.el
- dired-x.el dired.el eieio.el epa-dired.el font-lock.el
- progmodes/compile.el simple.el allout.el button.el comint.el
- cus-edit.el eldoc.el emacs-module-tests.el epa-hook.el epg-config.el
- epg.el and 11 other files
+and changed epa.el epa-file.el emoji.el lisp-mnt.el tips.texi
+ dired-aux.el dired-x.el dired.el eieio.el epa-dired.el font-lock.el
+ progmodes/compile.el simple.el transient.texi allout.el button.el
+ comint.el cus-edit.el eldoc.el emacs-module-tests.el epa-hook.el
+ and 14 other files
Jonas Hoersch: changed org-inlinetask.el org.el
@@ -2848,6 +3007,8 @@ Joost Diepenmaat: changed org.el
Joost Kremers: changed reftex-toc.el
+Joram Schrijver: changed eglot.el
+
Jordan Wilson: changed doc-view.el
Jordon Biondo: changed subr.el
@@ -2863,9 +3024,10 @@ and changed erc.el erc-track.el erc-backend.el erc-match.el misc.el
Jorge P. De Morais Neto: changed TUTORIAL cl.texi
-Jose A. Ortega Ruiz: changed mixal-mode.el gnus-sum.el url-http.el
+Jose A. Ortega Ruiz: changed doc-view.el misc.texi mixal-mode.el
+ gnus-sum.el imenu.el url-http.el
-Jose E. Marchesi: changed gomoku.el simple.el smtpmail.el
+Jose E. Marchesi: changed ada-mode.el gomoku.el simple.el smtpmail.el
José L. Doménech: changed dired-aux.el
@@ -2879,7 +3041,9 @@ and changed xterm.c xfns.c keyboard.c screen.c dispnew.c xdisp.c window.c
Joseph M. Kelsey: changed fileio.c skeleton.el
-Josh Elsasser: changed configure.ac
+Joseph Turner: changed package-vc.el
+
+Josh Elsasser: changed eglot.el README.md configure.ac
Josh Feinstein: changed erc-join.el erc.el
@@ -2893,7 +3057,8 @@ Joshua Datko: changed fortune.el
Joshua Varner: changed intro.texi
-Jostein Kjønigsen: changed nxml-mode.el progmodes/compile.el
+Jostein Kjønigsen: changed csharp-mode.el typescript-ts-mode.el js.el
+ eglot.el progmodes/compile.el json-ts-mode.el nxml-mode.el treesit.el
Jouni K. Seppänen: changed gnus.texi nnimap.el mm-url.el
@@ -2910,7 +3075,7 @@ and co-wrote help-tests.el keymap-tests.el
and changed subr.el desktop.el w32fns.c faces.el simple.el emacsclient.c
files.el server.el bs.el help-fns.el xdisp.c org.el w32term.c w32.c
buffer.c keyboard.c ido.el image.c window.c eval.c allout.el
- and 1223 other files
+ and 1229 other files
Juan Pechiar: changed ob-octave.el
@@ -2949,15 +3114,17 @@ Jure Cuhalev: changed ispell.el
Jürgen Hartmann: changed window.el
Jürgen Hötzel: wrote tramp-adb.el
-and changed tramp-gvfs.el tramp-sh.el callproc.c comint.el em-unix.el
- esh-util.el tramp-cache.el tramp.el url-handlers.el wid-edit.el
+and changed callproc.c eglot.el tramp-gvfs.el tramp-sh.el comint.el
+ em-unix.el esh-util.el tramp-cache.el tramp.el url-handlers.el
+ wid-edit.el
-Juri Linkov: wrote compose.el files-x.el misearch.el repeat-tests.el
- replace-tests.el tab-bar-tests.el tab-bar.el tab-line.el
+Juri Linkov: wrote compose.el emoji.el files-x.el misearch.el
+ repeat-tests.el replace-tests.el tab-bar-tests.el tab-bar.el
+ tab-line.el
and changed isearch.el simple.el info.el replace.el dired.el dired-aux.el
- progmodes/grep.el subr.el window.el image-mode.el mouse.el diff-mode.el
- files.el menu-bar.el minibuffer.el progmodes/compile.el startup.el
- faces.el vc.el display.texi search.texi and 446 other files
+ minibuffer.el progmodes/grep.el window.el subr.el vc.el mouse.el
+ outline.el diff-mode.el repeat.el image-mode.el files.el menu-bar.el
+ search.texi startup.el progmodes/compile.el and 472 other files
Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h
w32console.c w32heap.c w32inevt.c w32term.h
@@ -2968,8 +3135,13 @@ Justin Burkett: changed window.el
Justin Gordon: changed ox-md.el
+Justin Schell: wrote vc-git-tests.el
+and changed vc-git.el
+
Justin Sheehy: changed gnus-sum.el nntp.el
+Justin Talbott: wrote use-package-ensure-system-package.el
+
Justin Timmons: changed apropos.el progmodes/python.el
Justus Piater: changed org-agenda.el smtpmail.el
@@ -2986,7 +3158,9 @@ and changed message.el gnus-agent.el gnus-sum.el files.el nnmail.el
Kailash C. Chowksey: changed HELLO ind-util.el kannada.el knd-util.el
lisp/Makefile.in loadup.el
-Kai Tetzlaff: changed ox-publish.el url-http.el
+Kai Ma: changed nsterm.m
+
+Kai Tetzlaff: changed sieve-manage.el ox-publish.el sieve.el url-http.el
Kalle Kankare: changed image.c
@@ -3025,7 +3199,7 @@ and changed simple.el files.el CONTRIBUTE doc-view.el image-mode.el
Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
alloc.c files.el frame.c configure.ac window.c data.c minibuf.c
editfns.c fns.c process.c Makefile.in fileio.c simple.el keymap.c
- indent.c and 446 other files
+ indent.c and 447 other files
Karl Kleinpaste: changed gnus-sum.el gnus-art.el gnus-picon.el
gnus-score.el gnus-uu.el gnus-xmas.el gnus.el mm-uu.el mml.el nnmail.el
@@ -3059,8 +3233,8 @@ and changed gnus-art.el gnus-sum.el message.el mm-decode.el gnus.texi
Kaushal Modi: changed dired-aux.el files.el isearch.el apropos.el
calc-yank.el custom.texi desktop.el dired.el dired.texi ediff-diff.el
- eww.el ffap.el maintaining.texi printing.el ps-print.el tips.texi
- variables.texi vc-hooks.el vc1-xtra.texi woman.el
+ eww.el ffap.el maintaining.texi printing.el ps-print.el shortdoc.el
+ tips.texi variables.texi vc-hooks.el vc1-xtra.texi woman.el
Kaushik Srenevasan: changed gdb-mi.el
@@ -3068,7 +3242,7 @@ Kaveh R. Ghazi: changed delta88k.h xterm.c
Kayvan Sylvan: changed supercite.el
-Kazuhiro Ito: changed coding.c uudecode.el flow-fill.el font.c
+Kazuhiro Ito: changed coding.c uudecode.el flow-fill.el font.c image.c
japan-util.el keyboard.c make-mode.el starttls.el xdisp.c
Kazushi Marukawa: changed filelock.c hexl.c profile.c unexalpha.c
@@ -3097,8 +3271,8 @@ Kelvin White: changed erc.el erc-pcomplete.el erc.texi erc-backend.el
Ken Brown: changed configure.ac gmalloc.c sheap.c emacs.c w32fns.c
fileio.c w32term.c unexcw.c conf_post.h cygwin.h filenotify-tests.el
- src/Makefile.in lisp.h sysdep.c browse-url.el dispextern.h emacs.rc.in
- fileio-tests.el frame.c image.c keyboard.c and 50 other files
+ src/Makefile.in sysdep.c keyboard.c lisp.h atimer.c browse-url.el
+ dispextern.h emacs.rc.in fileio-tests.el frame.c and 54 other files
Ken Brush: changed emacsclient.c
@@ -3108,7 +3282,7 @@ and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el
and changed coding.c mule-cmds.el mule.el fontset.c charset.c xdisp.c
font.c fontset.el xterm.c fileio.c mule-conf.el ftfont.c characters.el
fns.c mule-diag.el coding.h charset.h ccl.c xfaces.c editfns.c
- composite.c and 387 other files
+ composite.c and 386 other files
Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el
@@ -3144,6 +3318,7 @@ Kevin Blake: changed font-lock.el ring.el
Kevin Broadey: wrote foldout.el
Kevin Brubeck Unhammer: changed erc-join.el erc-track.el erc.el
+ mail-extr.el
Kevin Christian: changed gnus-score.el
@@ -3166,9 +3341,11 @@ and changed gnus-agent.el gnus-sum.el gnus-start.el gnus-int.el nntp.el
Kevin Layer: changed mml.el w32proc.c
-Kévin Le Gouguec: changed font-lock.el gnus-sum.el progmodes/python.el
- dired-aux-tests.el dired-aux.el electric-tests.el font-lock-tests.el
- gnus.el message.texi project.el python-tests.el sh-script.el shr.el
+Kévin Le Gouguec: changed progmodes/python.el font-lock.el gnus-sum.el
+ configure.ac dired-aux-tests.el dired-aux.el electric-tests.el faces.el
+ font-lock-tests.el fontset.el gnus.el leim/Makefile.in message.texi
+ project.el python-tests.el sh-script.el shr.el simple.el subr-tests.el
+ subr.el use-package.texi xfaces.c
Kevin Rodgers: changed compile.el mailabbrev.el progmodes/compile.el
dired-x.el files.el ange-ftp.el byte-opt.el desktop.el diff-mode.el
@@ -3182,14 +3359,14 @@ and changed info-look.el info.el checkdoc.el cl.texi compilation.txt
progmodes/compile.el woman.el browse-url.el copyright.el dig.el
files.el flyspell.el keyboard.c mailcap.el and 88 other files
-Kien Nguyen: changed comp.c
+Kien Nguyen: changed browse-url.el comp.c files.el w32.c
Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el
keypad.el kmacro.el
and changed xdisp.c dispextern.h process.c simple.el window.c keyboard.c
xterm.c dispnew.c subr.el w32term.c lisp.h fringe.c display.texi
macterm.c alloc.c fns.c xfaces.c keymap.c xfns.c xterm.h .gdbinit
- and 248 other files
+ and 249 other files
Kimit Yada: changed copyright.el
@@ -3197,6 +3374,8 @@ Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
gnus-win.el gnus-xmas.el gnus.texi imap.el message.el nndraft.el
nnml.el
+Kira Bruneau: changed files.el pgtk-win.el
+
Kirill A. Korinskiy: changed fortune.el
Kirk Kelsey: changed make-mode.el vc-hg.el
@@ -3205,6 +3384,10 @@ Kishore Kumar: changed terminal.el
Kiso Katsuyuki: changed tab-line.el
+Kjartan Oli Agustsson: changed doc-view.el
+
+Kjartan Óli Ãgústsson: changed doc-view.el
+
Klaus Straubinger: changed url-http.el url-history.el pcmpl-rpm.el
url-cookie.el url.el
@@ -3217,21 +3400,26 @@ Knut Anders Hatlen: changed nnimap.el imap.el
Koaunghi Un: wrote hanja3.el
and changed hanja.el hangul.el hangul3.el hanja-jis.el symbol-ksc.el
+Kobarity-: changed progmodes/python.el python-tests.el hideshow-tests.el
+ hideshow.el
+
Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el
w32term.c w32term.h window.c xfns.c
Kodi Arfer: changed org.texi ox-html.el
+Koen Van Greevenbroek: changed pgtkterm.c
+
Koichi Arakawa: changed tramp-sh.el w32proc.c
Konrad Hinsen: wrote ol-eshell.el
and changed ob-python.el
Konstantin Kharlamov: changed smerge-mode.el diff-mode.el files.el
- autorevert.el calc-aent.el calc-ext.el calc-lang.el cc-mode.el
- cperl-mode.el css-mode.el cua-rect.el dnd.el ebnf-abn.el ebnf-dtd.el
- ebnf-ebx.el emacs-module-tests.el epg.el faces.el gnus-art.el gtkutil.c
- hideif.el and 26 other files
+ ada-mode.el autorevert.el calc-aent.el calc-ext.el calc-lang.el
+ cc-mode.el cperl-mode.el css-mode.el cua-rect.el dnd.el ebnf-abn.el
+ ebnf-dtd.el ebnf-ebx.el emacs-module-tests.el epg.el faces.el
+ gnus-art.el gtkutil.c and 27 other files
Konstantin Kliakhandler: changed org-agenda.el
@@ -3263,7 +3451,7 @@ Kyle Hubert: changed ediff-util.el
Kyle Jones: wrote life.el
and changed saveconf.el buffer.c mail-utils.el sendmail.el
-Kyle Meyer: changed org-compat.el ox.el
+Kyle Meyer: changed loaddefs-gen.el org-compat.el ox.el
Kyotaro Horiguchi: changed coding.c indent.c
@@ -3292,34 +3480,38 @@ and co-wrote dabbrev.el imenu.el
Lars Ljung: changed esh-ext.el isearch.el
Lars Magne Ingebrigtsen: wrote compface.el decompress-tests.el dns.el
- dom.el ecomplete.el erc-tests.el eww.el exif.el format-spec.el
+ dom.el ecomplete.el emoji.el erc-tests.el eww.el exif.el format-spec.el
gnus-agent.el gnus-art.el gnus-async.el gnus-bcklg.el gnus-cache.el
gnus-cloud.el gnus-demon.el gnus-draft.el gnus-dup.el gnus-eform.el
gnus-fun.el gnus-group.el gnus-html.el gnus-int.el gnus-logic.el
gnus-picon.el gnus-range.el gnus-salt.el gnus-spec.el gnus-srvr.el
gnus-start.el gnus-sum.el gnus-undo.el gnus-util.el gnus-uu.el
- gnus-win.el ietf-drums.el image-converter.el mail-parse.el
+ gnus-win.el icons.el ietf-drums.el image-converter.el mail-parse.el
mail-prsvr.el mail-source.el message.el messcompat.el mm-archive.el
mm-view.el mml.el netrc.el network-stream-tests.el network-stream.el
nnagent.el nndir.el nndraft.el nngateway.el nnmail.el nnoo.el nntp.el
- nnweb.el nsm.el parse-time-tests.el puny.el qp.el rfc2045.el
+ nnweb.el nsm.el parse-time-tests.el puny.el qp.el range.el rfc2045.el
rfc2104-tests.el rfc2231.el rtree.el score-mode.el shr-tests.el shr.el
spam.el text-property-search-tests.el text-property-search.el
- url-domsuf.el url-queue.el
+ url-domsuf.el url-queue.el yank-media.el
and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el
gnus-topic.el gnus.el gssapi.el mailcap.el mm-bodies.el mm-decode.el
mm-encode.el mm-util.el nnbabyl.el nndoc.el nneething.el nnfolder.el
nnheader.el nnimap.el nnmbox.el nnmh.el nnml.el nnspool.el nnvirtual.el
rfc2047.el svg.el time-date.el
-and changed gnus.texi simple.el subr.el files.el process.c display.texi
- text.texi dired.el gnutls.c gnus-ems.el smtpmail.el help-fns.el
- auth-source.el url-http.el edebug.el image.el gnus-cite.el pop3.el
- dired-aux.el fns.c image.c and 867 other files
+and changed subr.el simple.el gnus.texi files.el display.texi process.c
+ help-fns.el text.texi image.c dired.el help.el image.el package.el
+ edebug.el shortdoc.el dired-aux.el gnutls.c minibuffer.el subr-x.el
+ auth-source.el smtpmail.el and 1061 other files
Lars Rasmusson: changed ebrowse.c
Lasse Rasinen: changed gnus-start.el
+Lassi Kortela: changed dns-mode.el
+
+Laurence Warne: changed proced.el progmodes/python.el python-tests.el
+
Laurent Martelli: changed mm-decode.el
Lawrence Mitchell: wrote erc-backend.el erc-log.el
@@ -3340,15 +3532,16 @@ Lee Duhem: changed eval.c
Leigh Stoller: changed emacsclient.c server.el
-Lele Gaifax: changed TUTORIAL.it progmodes/python.el flymake.el
- python-tests.el flymake-proc.el flymake.texi isearch.el
+Lele Gaifax: changed progmodes/python.el TUTORIAL.it python-tests.el
+ flymake.el configure.ac copyright-tests.el copyright.el dnd.el
+ flymake-proc.el flymake.texi isearch.el pgtkfns.c xterm.c
Lennart Borgman: co-wrote ert-x.el
-and changed nxml-mode.el tutorial.el re-builder.el window.el buff-menu.el
- emacs-lisp/debug.el emacsclient.c filesets.el flymake.el help-fns.el
- isearch.el linum.el lisp-mode.el lisp.el mouse.el progmodes/grep.el
- recentf.el remember.el replace.el reveal.el ruby-mode.el
- and 5 other files
+and changed nxml-mode.el tutorial.el re-builder.el window.el ada-xref.el
+ buff-menu.el emacs-lisp/debug.el emacsclient.c filesets.el flymake.el
+ help-fns.el isearch.el linum.el lisp-mode.el lisp.el mouse.el
+ progmodes/grep.el recentf.el remember.el replace.el reveal.el
+ and 6 other files
Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
@@ -3372,6 +3565,8 @@ Leo P. White: changed eieio-custom.el
Leo Vivier: changed dired-aux.el
+Le Trung Dan: changed files.el files.texi package-vc.el shortdoc.el
+
Levin Du: changed parse-time.el org-clock.el
Le Wang: changed org-src.el comint.el hilit-chg.el misc.el
@@ -3386,8 +3581,12 @@ Liang Wang: changed etags.el
LiÄu, Kiong-GÄ“ 廖宮毅: changed comp.c mingw-cfg.site
+Lin Sun: changed calc.el package.el
+
Lin Zhou: changed w32fns.c w32term.h
+Liu Hui: changed eglot.el pcmpl-linux.el
+
Lixin Chin: changed bibtex.el
Lloyd Zusman: changed mml.el pgg-gpg.el
@@ -3405,6 +3604,8 @@ Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
delsel.el disass.el faces.el font-lock.el mailabbrev.el select.el
xfaces.c xselect.c
+Lucien Cartier-Tilet: changed battery.el
+
Luc Teirlinck: wrote help-at-pt.el
and changed files.el autorevert.el cus-edit.el subr.el simple.el
frames.texi startup.el display.texi files.texi dired.el comint.el
@@ -3437,7 +3638,7 @@ Lute Kamstra: changed modes.texi emacs-lisp/debug.el generic-x.el
generic.el font-lock.el simple.el subr.el battery.el debugging.texi
easy-mmode.el elisp.texi emacs-lisp/generic.el hl-line.el info.el
octave.el basic.texi bindings.el calc.el cmdargs.texi diff-mode.el
- doclicense.texi and 288 other files
+ doclicense.texi and 289 other files
Lynn Slater: wrote help-macro.el
@@ -3458,13 +3659,18 @@ Malcolm Purvis: changed spam-stat.el
Manoj Srivastava: wrote manoj-dark-theme.el
-Manuel Giraud: changed ox-html.el ox-publish.el vc.el idlwave.el org.texi
+Manuel Giraud: changed vc.el ox-html.el bookmark.el image-dired.el
+ longlines.el ox-publish.el keyboard.c paragraphs.el simple.el
+ basic.texi battery.el bookmark-tests.el cus-start.el dired.texi
+ dispextern.h easymenu.el find-dired.el ibuf-ext.el ibuf-macs.el
+ idlwave.el image.c and 11 other files
Manuel Gómez: changed speedbar.el
Manuel Serrano: wrote flyspell.el
-Manuel Uberti: changed project.el
+Manuel Uberti: changed eglot.el project.el minibuffer.el reftex-cite.el
+ xref.el
Marcelo Toledo: changed TUTORIAL.pt_BR TUTORIAL.cn TUTORIAL.cs
TUTORIAL.de TUTORIAL.es TUTORIAL.fr TUTORIAL.it TUTORIAL.ja TUTORIAL.ko
@@ -3479,6 +3685,8 @@ Marcin Borkowski: wrote fill-tests.el lisp-tests.el
and changed battery.el doc-view.el elisp-mode-tests.el fill.el lisp.el
parse-time.el studly.el
+Marcin Pajkowski: changed eglot.el
+
Marc Lefranc: changed gnus-art.el
Marco Centurion: changed dired-aux.el files.el files.texi
@@ -3502,6 +3710,8 @@ Marcus Harnisch: changed gnus-art.el
Marcus Karlsson: changed image.c
+Marcus Swanson: changed README.md eglot.el
+
Marek Martin: changed nnfolder.el
Marien Zwart: changed progmodes/python.el
@@ -3516,6 +3726,8 @@ and changed erc.el erc-dcc.el erc-speak.el Makefile erc-bbdb.el
erc-nickserv.el erc-ring.el gud.el org.texi artist.el cl-extra.el
and 48 other files
+Mario Rodas: changed eglot.el README.md
+
Mark A. Hershberger: changed xml.el nnrss.el mm-url.el cperl-mode.el
isearch.el vc-bzr.el OpenDocument-schema-v1.3+libreoffice.rnc
OpenDocument-schema-v1.3.rnc cc-mode.texi compilation.txt ede.texi
@@ -3559,7 +3771,7 @@ Mark Oteiza: wrote mailcap-tests.el md4-tests.el xdg-tests.el xdg.el
and changed image-dired.el dunnet.el mpc.el eww.el json.el calc-units.el
lcms.c subr-x.el subr.el message.el tex-mode.el cl-macs.el cl.texi
ibuffer.el lcms-tests.el mailcap.el progmodes/python.el cl-print.el
- eldoc.el emacs-lisp/chart.el files.el and 173 other files
+ eldoc.el emacs-lisp/chart.el files.el and 172 other files
Mark Plaksin: changed nnrss.el term.el
@@ -3577,12 +3789,14 @@ Markus Heiser: changed gud.el
Markus Holmberg: changed thingatpt.el
+Markus Kopp: changed pixel-scroll.el
+
Markus Rost: wrote cus-test.el
and changed cus-edit.el files.el progmodes/compile.el rmail.el
tex-mode.el find-func.el rmailsum.el simple.el cus-dep.el dired.el
mule-cmds.el rmailout.el checkdoc.el configure.ac custom.el emacsbug.el
gnus.el help-fns.el ls-lisp.el mwheel.el sendmail.el
- and 125 other files
+ and 126 other files
Markus Sauermann: changed lisp-mode.el
@@ -3605,6 +3819,10 @@ Martin Boyer: changed bibtex.el menu-bar.el
Martin Buchholz: changed etags.c
+Martin Carlson: changed eglot.el
+
+Martin Jerabek: changed rng-uri.el
+
Martin Jesper Low Madsen: changed auth-source.el
Martin Joerg: changed tramp-sh.el
@@ -3626,8 +3844,8 @@ Martin Pohlack: changed iimage.el pc-select.el
Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c
xterm.c frames.texi w32fns.c w32term.c xfns.c frame.el display.texi
- frame.h cus-start.el help.el buffer.c window.h mouse.el dispnew.c
- nsfns.m gtkutil.c and 212 other files
+ frame.h help.el cus-start.el buffer.c window.h mouse.el dispnew.c
+ keyboard.c nsfns.m and 214 other files
Martin Stjernholm: wrote cc-bytecomp.el
and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
@@ -3671,7 +3889,8 @@ Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el
Masayuki Fujii: changed dnd.el w32-win.el
-Mathias Dahl: wrote image-dired.el
+Mathias Dahl: wrote image-dired-dired.el image-dired-external.el
+ image-dired-tags.el image-dired-util.el image-dired.el
and changed tumme.el dired.el dired.texi abbrev.el abbrevs.texi
Mathias Megyei: changed lisp/Makefile.in
@@ -3680,10 +3899,10 @@ Mathieu Othacehe: changed tramp-adb.el
Mats Lidell: changed TUTORIAL.sv european.el gnus-art.el org-element.el
-Matt Armstrong: changed display.texi filelock-tests.el buffer.c
- commands.texi filelock.c files.el gnus-topic.el gnus.el imap.el
- lisp-mnt.el map-tests.el marker.c message.el shell.el simple.el
- userlock.el
+Matt Armstrong: changed itree.c buffer-tests.el buffer.c itree.h alloc.c
+ display.texi editfns.c filelock-tests.el package.el .clang-format
+ buffer.h coding.c commands.texi eval.c filelock.c files.el
+ gnus-topic.el gnus.el imap.el lisp-mnt.el lisp.h and 12 other files
Matt Beshara: changed js.el nsfns.m
@@ -3720,9 +3939,12 @@ Matthias Dahl: changed faces.el process.c process.h
Matthias Förste: changed files.el
-Matthias Meulien: changed bookmark.el progmodes/python.el vc-dir.el
- buff-menu.el prog-mode.el simple.el tab-bar.el tabify.el vc-git.el
- vc-tests.el
+Matthias Meulien: wrote ansi-osc-tests.el
+and co-wrote ansi-osc.el
+and changed diff-mode.el bookmark.el vc-dir.el comint.el outline.el
+ progmodes/python.el vc.el buff-menu.el doc-view.el eww.el gnus-sum.el
+ help-mode.el image-dired.el info.el man.el prog-mode.el project.el
+ simple.el tab-bar.el tabify.el vc-git.el and 3 other files
Matthias Wiehl: changed gnus.el
@@ -3737,14 +3959,16 @@ Matt Hodges: changed textmodes/table.el faces.el iswitchb.el simple.el
edebug.texi eldoc.el em-hist.el em-pred.el fixit.texi icon.el ido.el
locate.el paragraphs.el pcomplete.el repeat.el and 3 other files
-Mattias Engdegård: changed byte-opt.el rx.el rx-tests.el searching.texi
- bytecomp-tests.el bytecomp.el calc-tests.el progmodes/compile.el
- subr.el autorevert.el gdb-mi.el files.el regex-emacs-tests.el mouse.el
- regexp-opt.el replace.el calc.el coding.c filenotify.el regex-emacs.c
- calc-ext.el and 539 other files
+Mattias Engdegård: changed byte-opt.el rx.el bytecomp.el
+ bytecomp-tests.el rx-tests.el searching.texi fns.c subr.el bytecode.c
+ eval.c calc-tests.el lread.c progmodes/compile.el lisp.h files.el
+ fns-tests.el print.c autorevert.el gdb-mi.el alloc.c
+ regex-emacs-tests.el and 677 other files
Mattias M: changed asm-mode-tests.el asm-mode.el
+Matt Kramer: changed tab-line.el
+
Matt Lundin: changed org-agenda.el org.el org-bibtex.el org-footnote.el
ox-publish.el org-bbdb.el org-datetree.el org-gnus.el
@@ -3758,14 +3982,14 @@ Matt Swift: changed dired.el editfns.c lisp-mode.el mm-decode.el
outline.el progmodes/compile.el rx.el simple.el startup.el
Mauro Aranda: changed wid-edit.el cus-edit.el custom.el wid-edit-tests.el
- widget.texi custom-tests.el checkdoc-tests.el checkdoc.el
- cus-edit-tests.el cus-theme.el customize.texi files.texi gnus.texi
- octave.el pong.el autorevert.el button.el cc-mode.texi control.texi
- custom--test-theme.el dbus.texi and 35 other files
+ widget.texi perl-mode.el custom-tests.el checkdoc-tests.el checkdoc.el
+ cperl-mode-tests.el cus-edit-tests.el cus-theme.el customize.texi
+ files.texi gnus.texi octave.el pong.el align.el auth-source.el
+ autorevert.el button.el and 44 other files
Maxime Edouard Robert Froumentin: changed gnus-art.el mml.el
-Maxim Nikulin: changed mailcap.el
+Maxim Nikulin: changed mailcap.el os.texi timefns.c
Max Mikhanosha: changed org-agenda.el org-habit.el keyboard.c org.el
@@ -3782,9 +4006,10 @@ Michael Albinus: wrote autorevert-tests.el dbus-tests.el dbus.el
url-tramp.el vc-tests.el zeroconf.el
and co-wrote tramp-cache.el tramp-sh.el tramp.el
and changed tramp.texi tramp-adb.el trampver.el trampver.texi dbusbind.c
- files.el ange-ftp.el file-notify-tests.el files.texi dbus.texi
- autorevert.el tramp-fish.el kqueue.c tramp-gw.el os.texi shell.el
- tramp-imap.el gitlab-ci.yml lisp.h README xesam.el and 278 other files
+ files.el ange-ftp.el files.texi file-notify-tests.el dbus.texi
+ gitlab-ci.yml autorevert.el tramp-fish.el kqueue.c Dockerfile.emba
+ os.texi tramp-gw.el test/Makefile.in README shell.el files-x.el
+ and 308 other files
Michael Ben-Gershon: changed acorn.h configure.ac riscix1-1.h riscix1-2.h
unexec.c
@@ -3811,6 +4036,8 @@ Michael Downes: changed gnus-sum.el
Michael D. Prange: wrote fortran.el
and changed tex-mode.el
+Michael Eliachevitch: changed eglot.texi
+
Michael Gauland: co-wrote ob-scheme.el
and changed ebnf2ps.el org-src.el
@@ -3820,12 +4047,15 @@ Michael Harnois: changed nnimap.el
Michael Heerdegen: changed bytecomp.el cl-macs.el subr.el control.texi
copyright.el css-mode.el dired.el easy-mmode.el eieio-core.el
- filesets.el hi-lock.el macroexp.el modula2.el ob-C.el ob-core.el
- ob-exp.el ob-groovy.el ob-haskell.el ob-lisp.el ob-lob.el ob-lua.el
- and 229 other files
+ filesets.el gv.el hi-lock.el macroexp.el modula2.el ob-C.el ob-core.el
+ ob-exp.el ob-groovy.el ob-haskell.el ob-lisp.el ob-lob.el
+ and 235 other files
Michael Hendricks: changed help.el
+Michael Herstine: changed backtrace.el ert-tests.el ert-x-tests.el ert.el
+ ert.texi
+
Michael Hoffman: changed term.el xterm.el
Michael Hotchin: changed progmodes/compile.el
@@ -3845,6 +4075,10 @@ and changed viper*.el ediff*.el viper.texi ediff.texi ediff-merge.el
Michael K. Johnson: changed configure.ac emacs.c process.c sysdep.c
syssignal.h systty.h unexcoff.c
+Michael Levine: changed fields-tests.el
+
+Michael Livshin: changed EGLOT-NEWS README.md eglot.el
+
Michael Marchionna: changed nsterm.m
Michael Markert: changed ob.el org-agenda.el org-docbook.el org-table.el
@@ -3875,14 +4109,14 @@ Michael Schmidt: co-wrote modula2.el (public domain)
Michael Schuldt: changed calc-comb.el
Michael Shields: changed spam.el gnus-art.el gnus-sum.el gnus-cite.el
- Makefile.in gnus-group.el gnus.el intel386.h nndraft.el pgg-def.el
- server.el window.c window.el
+ server.el Makefile.in gnus-group.el gnus.el intel386.h nndraft.el
+ pgg-def.el window.c window.el
Michael Sperber: changed org.el nnmail.el aix3-1.h aix4-2.h gnus-sum.el
gnus.texi mail-source.el mailcap.el nnml.el org-capture.el
org-footnote.el
-Michael Staats: wrote pc-select.el
+Michael Staats: changed pc-select.el
Michael Vehrs: changed quail.el woman.el
@@ -3895,12 +4129,16 @@ Michael Weylandt: changed ox-latex.el
Michael Witten: changed TUTORIAL fixit.texi intro.texi
+Michal Dubiel: changed eglot.el
+
Michalis V: changed dired-aux.el em-cmpl.el help-mode.el tcl.el
Michal Jankowski: changed insdel.c keyboard.c
Michał Kondraciuk: changed cus-edit.el
+Michal Krzywkowski: changed eglot.el eglot-tests.el README.md
+
Michał Krzywkowski: changed elide-head.el
Michal Nazarewicz: wrote cc-mode-tests.el descr-text-tests.el
@@ -3930,11 +4168,11 @@ Microelectronics and Computer Technology Corporation: changed
Miguel Ruiz: changed ob-gnuplot.el
-Mihai Olteanu: changed hexl.el
-
-Miha RihtarÅ¡iÄ: changed keyboard.c commands.texi minibuf.c minibuffer.el
- simple.el bindings.el comint.el data.c delsel.el errors.texi
- esh-mode.el eval.c ibuffer.el macros.c process.c sh-script.el
+Miha RihtarÅ¡iÄ: changed comint.el shell.el keyboard.c term.el esh-mode.el
+ ielm.el minibuf.c ansi-color-tests.el ansi-color.el bindings.el
+ commands.texi eterm-color.ti minibuffer.el simple.el term-tests.el
+ bug-reference.el calc-store.el cc-styles.el crm.el data.c delsel.el
+ and 13 other files
Mihir Rege: changed js.el
@@ -3952,9 +4190,10 @@ Mike Hamrick: changed dispextern.h term.c termchar.h xfaces.c
Mike Kazantsev: changed erc-dcc.el
-Mike Kupfer: changed mh-comp.el mh-e.el ftcrfont.c mh-utils.el
- emacs-mime.texi gnus-mh.el gnus.texi mh-acros.el mh-compat.el mh-e.texi
- mh-identity.el mh-mime.el xftfont.c
+Mike Kupfer: changed mh-comp.el mh-e.el mh-mime.el mh-utils.el files.el
+ ftcrfont.c mh-compat.el mh-utils-tests.el emacs-mime.texi files.texi
+ gnus-mh.el gnus.texi mh-acros.el mh-e.texi mh-identity.el mh-scan.el
+ xftfont.c
Mike Lamb: changed em-unix.el esh-util.el pcmpl-unix.el
@@ -3969,8 +4208,8 @@ Mike Newton: co-wrote bibtex.el
Mike Rowan: changed process.c alloc.c dispnew.c keyboard.c process.h
sysdep.c xdisp.c
-Mike Williams: wrote mouse-sel.el thingatpt.el
-and changed sgml-mode.el xml-lite.el
+Mike Williams: wrote thingatpt.el
+and changed sgml-mode.el mouse-sel.el xml-lite.el
Mike Woolley: changed gnus-sum.el
@@ -3986,7 +4225,7 @@ Miles Bader: wrote button.el face-remap.el image-file.el macroexp.el
and changed comint.el faces.el simple.el editfns.c xfaces.c xdisp.c
info.el minibuf.c display.texi quick-install-emacs wid-edit.el xterm.c
dispextern.h subr.el window.el cus-edit.el diff-mode.el xfns.c
- bytecomp.el help.el lisp.h and 271 other files
+ bytecomp.el help.el lisp.h and 272 other files
Milton Wulei: changed gdb-ui.el
@@ -3998,6 +4237,8 @@ Mirko Vukovic: changed emacs.texi maintaining.texi
Miro Bezjak: wrote ob-groovy.el
+Misha Gusarov: changed pgtkterm.c
+
Mitchel Humpherys: changed vc-git.el
Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el
@@ -4006,16 +4247,23 @@ Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el
Miyoshi Masanori: changed mouse.el smtpmail.el xdisp.c
Mohsen Banan: wrote persian.el
-and changed loadup.el
+and changed TUTORIAL.fa loadup.el misc-lang.el
+
+Mohsin Kaleem: changed eglot.el
Mon Key: changed animate.el imap.el syntax.el
+Morgan J. Smith: changed gnus-group-tests.el
+
+Morgan Smith: changed image-dired.el minibuffer-tests.el minibuffer.el
+ vc-git.el window.el
+
Morten Welinder: wrote [many MS-DOS files] arc-mode.el desktop.el
- dosfns.c internal.el msdos.h pc-win.el s-region.el
+ dosfns.c internal.el msdos.h pc-win.el
and changed msdos.c sed1.inp config.bat keyboard.c sed2.inp fileio.c
sed3.inp dos-fns.el callproc.c add-log.el alpha.h data.c editfns.c
emacs.c etags.c files.el info.el lread.c mainmake osf1.h tar-mode.el
- and 73 other files
+ and 74 other files
Mosur Mohan: changed etags.c
@@ -4025,8 +4273,16 @@ Muchenxuan Tong: changed org-agenda.el org-mobile.el org-timer.el
Murata Shuuichirou: changed coding.c
+M Visuwesh: changed dired-aux.el image.el ind-util.el quail/indian.el
+ delsel.el eww.el find-dired.el mailcap.el mouse.el arc-mode.el
+ comint.el doc-view.el emacsbug.el gnus-group.el gnus-srvr.el
+ gnus-sum.el gnus.el help-fns.el image-crop.el language/indian.el
+ mark.texi and 9 other files
+
Myles English: changed org-clock.el
+Nacho Barrientos: changed url-http.el bindat-tests.el bindat.el
+
Nachum Dershowitz: co-wrote cal-hebrew.el
Nagy Andras: co-wrote gnus-sieve.el
@@ -4045,9 +4301,9 @@ Naofumi Yasufuku: changed tramp-sh.el
Naohiro Aota: changed fontset.c ftfont.c gnus-art.el mm-view.el tls.el
xftfont.c
-Naoya Yamashita: changed gv-tests.el gv.el
+Naoya Yamashita: changed gv-tests.el gv.el use-package-core.el
-Narendra Joshi: changed repeat.el
+Narendra Joshi: changed repeat.el vcursor.el
Nathaniel Flath: changed cc-menus.el cc-engine.el cc-fonts.el cc-langs.el
cc-mode.el cc-vars.el
@@ -4090,6 +4346,8 @@ Nicholas Maniscalco: changed term.el
Nicholas Strauss: changed lunar.el
+Nicholas Vollmer: changed emacs.1.in easy-mmode.el
+
Nick Alcock: changed control.texi customize.texi display.texi files.el
frames.texi gnus.el keymaps.texi modes.texi nonascii.texi syntax.texi
text.texi windows.texi
@@ -4125,10 +4383,10 @@ Nicolás Bértolo: changed comp.c comp.el emacs.c lread.c comp.h lisp.h
Nicolas Calderon Asselin: changed org-clock.el
-Nicolas Goaziou: wrote oc-basic.el oc-biblatex.el oc-csl.el oc-natbib.el
- oc.el ol-doi.el org-duration.el org-element.el org-keys.el org-lint.el
- org-macro.el org-num.el ox-ascii.el ox-latex.el ox-md.el ox-org.el
- ox.el
+Nicolas Goaziou: wrote oc-basic.el oc-biblatex.el oc-bibtex.el oc-csl.el
+ oc-natbib.el oc.el ol-doi.el org-duration.el org-element.el org-keys.el
+ org-lint.el org-macro.el org-num.el ox-ascii.el ox-latex.el ox-md.el
+ ox-org.el ox.el
and co-wrote ox-beamer.el ox-icalendar.el ox-koma-letter.el ox-man.el
and changed org-list.el org.el ox-html.el org-footnote.el ox-texinfo.el
org.texi ox-publish.el ox-odt.el org-inlinetask.el org-indent.el
@@ -4138,6 +4396,8 @@ and changed org-list.el org.el ox-html.el org-footnote.el ox-texinfo.el
Nicolas Graner: changed eww.el message.el
+Nicolas Martyanoff: changed em-cmpl.el lisp-mode.el sql.el
+
Nicolas Petton: wrote map-tests.el map.el seq-tests.el seq.el
thunk-tests.el thunk.el url-handlers-tests.el
and co-wrote auth-source-pass.el auth-source-tests.el subr-tests.el
@@ -4148,10 +4408,10 @@ and changed README authors.el configure.ac sed2v2.inp sequences.texi
and 37 other files
Nicolas Richard: wrote cl-seq-tests.el cmds-tests.el replace-tests.el
-and changed ffap.el package.el byte-run.el help.el keyboard.c landmark.el
- org.el simple.el DEBUG align.el battery.el cl-seq.el eieio-opt.el
- elisp-mode.el gv.el ido.el isearch.el ispell.el minibuffer.el ob.el
- pcmpl-unix.el and 9 other files
+and changed ffap.el package.el use-package.el byte-run.el help.el
+ keyboard.c landmark.el org.el simple.el DEBUG README.md align.el
+ battery.el cl-seq.el eieio-opt.el elisp-mode.el gv.el ido.el isearch.el
+ ispell.el minibuffer.el and 12 other files
Niels Giesen: changed icalendar.el org-agenda.el org-clock.el
org-docbook.el org-table.el ox-icalendar.el ox-latex.el
@@ -4194,12 +4454,12 @@ Noah Swainland: changed calc.el goto-addr.el misc.texi
Noam Postavsky: changed progmodes/python.el lisp-mode.el bytecomp.el
lisp-mode-tests.el term.el xdisp.c cl-macs.el eval.c simple.el data.c
- emacs-lisp/debug.el modes.texi help-fns.el subr.el elisp-mode.el ert.el
+ emacs-lisp/debug.el modes.texi elisp-mode.el help-fns.el subr.el ert.el
isearch.el processes.texi search.c cl-print.el diff-mode.el
and 362 other files
Nobuyoshi Nakada: co-wrote ruby-mode.el
-and changed ruby-mode-tests.el
+and changed ehelp.el ruby-mode-tests.el
Nobuyuki Hikichi: changed news-risc.h
@@ -4230,6 +4490,8 @@ Olaf Rogalsky: changed keyboard.c help.el mouse.el xt-mouse.el
Olaf Sylvester: wrote bs.el
+Olaf Trygve Berglihn: changed bibtex.el
+
Ola Nilsson: changed sh-script.el
Ole Aamot: changed compile.el
@@ -4243,7 +4505,7 @@ Oleh Krehel: co-wrote subr-tests.el
and changed dired-aux.el outline.el checkdoc.el files.el subr.el buffer.c
check-declare.el alloc.c appt.el buffer.h calc.el category.c
cl-indent.el cus-edit.el custom.el derived.el dired-x.el dired.el
- dired.texi display.texi easy-mmode.el and 15 other files
+ dired.texi display.texi easy-mmode.el and 16 other files
Oleksandr Gavenko: changed generic-x.el progmodes/grep.el
@@ -4259,8 +4521,8 @@ and changed gamegrid.el gnus-cite.el nonascii.texi rx.el startup.el
Oliver Seidel: wrote otodo-mode.el
and co-wrote todo-mode.el
-Olivier Certner: changed erc-track.el erc-ibuffer.el erc-services.el
- erc-stamp.el
+Olivier Certner: changed erc-track.el erc-ibuffer.el ediff-diff.el
+ erc-services.el erc-stamp.el
Olivier Laurens: changed forms.el
@@ -4272,7 +4534,8 @@ Olli Savia: changed etags.c syssignal.h
Olof Ohlsson Sax: changed vc-svn.el
-Omar Polo: changed configure.ac emacsclient.c sysdep.c vc.el
+Omar Polo: changed rcirc.el rcirc.texi README.md configure.ac eglot.el
+ emacsclient.c project.el sysdep.c vc.el
Orivej Desh: changed tramp-sh.el
@@ -4284,10 +4547,10 @@ and co-wrote eudc-bob.el eudc-export.el eudc-hotlist.el eudc-vars.el
and changed ph.el
Óscar Fuentes: changed ido.el password-cache.el progmodes/grep.el ses.el
- vc-hooks.el xfns.c CPP-DEFINES addpm.c addsection.c browse-url.el
- callproc.c cmdproxy.c configure.ac diff-mode.el em-cmpl.el
- emacsclient.c keyboard.c ms-w32.h preprep.c vc-bzr.el vc-cvs.el
- and 10 other files
+ vc-hooks.el xfns.c CPP-DEFINES INSTALL.W64 addpm.c addsection.c
+ browse-url.el callproc.c cmdproxy.c configure.ac diff-mode.el
+ em-cmpl.el emacsclient.c keyboard.c ms-w32.h preprep.c vc-bzr.el
+ and 11 other files
Øyvind Stegard: changed gnus-msg.el
@@ -4306,6 +4569,8 @@ Patric Mueller: changed gnus-sum.el
Pat Thoyts: changed xfns.c
+Paul A. Patience: changed cc-awk.el
+
Paul Curry: changed cc-subword.el
Paul D. Smith: wrote snmp-mode.el
@@ -4314,9 +4579,9 @@ and changed imenu.el make-mode.el
Paul Eggert: wrote rcs2log
and co-wrote cal-dst.el
and changed lisp.h configure.ac alloc.c fileio.c process.c editfns.c
- sysdep.c xdisp.c fns.c image.c keyboard.c data.c emacs.c lread.c
- xterm.c eval.c gnulib-comp.m4 callproc.c Makefile.in frame.c buffer.c
- and 1847 other files
+ sysdep.c xdisp.c fns.c image.c emacs.c keyboard.c data.c lread.c
+ xterm.c eval.c gnulib-comp.m4 callproc.c Makefile.in buffer.c frame.c
+ and 1863 other files
Paul Fisher: changed fns.c
@@ -4328,11 +4593,13 @@ Paul Jarc: wrote nnmaildir.el (public domain) nnnil.el (public domain)
and changed message.el gnus-util.el gnus-int.el gnus.el gnus-agent.el
gnus-start.el gnus-sum.el nnmail.el
-Paul Pogonyshev: changed subr.el byte-opt.el bytecomp.el
- emacs-lisp/debug.el eval.c progmodes/python.el which-func.el align.el
- bytecode.c cc-langs.el cl-macs.el configure.ac dabbrev.el desktop.el
+Paul M. Rodriguez: changed eglot.el
+
+Paul Pogonyshev: changed subr.el byte-opt.el bytecomp.el desktop.el
+ emacs-lisp/debug.el eval.c package.el progmodes/python.el which-func.el
+ align.el bytecode.c cc-langs.el cl-macs.el configure.ac dabbrev.el
display.texi eldoc.el elisp-mode.el ert.el ert.texi etags.el
- fns-tests.el and 21 other files
+ and 21 other files
Paul Rankin: changed outline.el
@@ -4342,7 +4609,7 @@ Paul Reilly: changed dgux.h lwlib-Xm.c lwlib.c xlwmenu.c configure.ac
lwlib/Makefile.in mail/rmailmm.el rmailedit.el rmailkwd.el
and 10 other files
-Paul Rivier: changed mixal-mode.el reftex-vars.el reftex.el
+Paul Rivier: changed ada-mode.el mixal-mode.el reftex-vars.el reftex.el
Paul Rubin: changed config.h sun2.h texinfmt.el window.c
@@ -4357,21 +4624,23 @@ Paul Stodghill: changed gnus-agent.el gnus-util.el
Paul Van Der Walt: changed message.el
Paul W. Rankin: changed bookmark.el font-lock.el nsterm.m outline.el
+ which-func.el
Pavel Janík: co-wrote eudc-bob.el eudc-export.el eudc-hotlist.el
eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el
and changed keyboard.c xterm.c COPYING xdisp.c process.c emacs.c lisp.h
menu-bar.el ldap.el make-dist xfns.c buffer.c coding.c eval.c fileio.c
flyspell.el fns.c indent.c Makefile.in callint.c cus-start.el
- and 699 other files
+ and 702 other files
Pavel Kobiakov: wrote flymake-proc.el flymake.el
and changed flymake.texi
Peder O. Klingenberg: wrote dns-mode-tests.el
-and changed dns-mode.el icalendar.el mm-decode.el calc-comb.el calc.texi
- dunnet.el emacsbug.el emacsclient.c eww.el gnus.texi misc.texi snake.el
- subr.el url-http.el url-queue.el url-util.el url-vars.el url.texi
+and changed dns-mode.el icalendar.el mm-decode.el org.el calc-comb.el
+ calc.texi dunnet.el emacsbug.el emacsclient.c eww.el gnus.texi
+ misc.texi snake.el subr.el url-http.el url-queue.el url-util.el
+ url-vars.el url.texi
Pedro Andres Aranda Gutierrez: changed cus-face.el xfaces.c
@@ -4400,6 +4669,9 @@ and co-wrote erc-dcc.el
Perry E. Metzger: changed xdisp.c bindings.el buffer.c display.texi
frames.texi modes.texi
+Perry Smith: wrote ruby-ts-mode.el
+and changed eglot.el ruby-ts-mode-tests.el
+
Per Starbäck: changed ispell.el characters.el dired.el gnus-start.el BUGS
apropos.el bibtex.el bytecomp.el charset.h coding.c doctor.el emacs.c
european.el iso-transl.el pcmpl-gnu.el progmodes/python.el replace.el
@@ -4434,7 +4706,8 @@ Peter Kleiweg: wrote ps-mode.el
Peter Liljenberg: wrote elint.el
Peter Münster: changed image-dired.el gnus-delay.el gnus-demon.el
- gnus-group.el gnus-start.el gnus.texi org-agenda.el org.el
+ gnus-group.el gnus-start.el gnus.texi image-dired-external.el
+ org-agenda.el org.el
Peter O'Gorman: changed configure.ac frame.h hpux10-20.h termhooks.h
@@ -4492,11 +4765,13 @@ Philip Hudson: changed em-hist.el
Philip Jackson: wrote find-cmd.el ol-irc.el
and changed org-irc.el
-Philip Kaludercic: wrote epa-ks.el
-and changed rcirc.el rcirc.texi project.el gravatar.el outline.el
- message.el windmove.el css-mode.el epa.texi erc.el fns-tests.el fns.c
- ispell.el message.texi nnmaildir.el progmodes/python.el recentf.el
- replace.el sgml-mode.el skeleton.el subr.el timeclock.el
+Philip Kaludercic: wrote epa-ks.el package-vc.el
+and changed rcirc.el package.el rcirc.texi vc-git.el vc.el package.texi
+ project.el message.el loaddefs-gen.el simple.el subr.el vc-hg.el
+ .dir-locals.el custom.el gravatar.el outline.el vc-svn.el vc/vc-bzr.el
+ windmove.el window.el bytecomp.el and 65 other files
+
+Philipp Edelmann: changed eglot.el
Philippe Schnoebelen: wrote gomoku.el mpuz.el
and changed cl-extra.el
@@ -4518,8 +4793,10 @@ Philipp Stephani: wrote callint-tests.el checkdoc-tests.el
lread-tests.el mouse-tests.el startup-tests.el xt-mouse-tests.el
and changed emacs-module.c emacs-module-tests.el configure.ac json.c
process.c eval.c internals.texi json-tests.el process-tests.el alloc.c
- emacs-module.h.in emacs.c lread.c nsterm.m lisp.h pdumper.c bytecomp.el
- callproc.c seccomp-filter.c gtkutil.c files.el and 185 other files
+ emacs-module.h.in emacs.c lread.c nsterm.m bytecomp.el lisp.h pdumper.c
+ seccomp-filter.c callproc.c cl-macs.el gtkutil.c and 188 other files
+
+Phillip Dixon: changed eglot.el
Phillip Lord: wrote ps-print-tests.el w32-feature.el
and changed build-zips.sh build-dep-zips.py lisp/Makefile.in undo.c
@@ -4531,9 +4808,10 @@ and changed build-zips.sh build-dep-zips.py lisp/Makefile.in undo.c
Phil Sainty: wrote autoload-longlines-mode-tests.el
autoload-major-mode-tests.el autoload-minor-mode-tests.el
so-long-tests-helpers.el so-long-tests.el so-long.el spelling-tests.el
-and changed comint.el term.el diff.el goto-addr.el cl-macs.el derived.el
- easy-mmode.el emacs.texi files.texi lisp.el misc.texi package.el
- progmodes/grep.el simple.el subword.el trouble.texi
+and changed term.el comint.el buffer.c diff.el goto-addr.el modes.texi
+ cl-macs.el derived.el easy-mmode.el ecomplete.el emacs.texi files.texi
+ lisp.el misc.texi package.el progmodes/grep.el simple.el subr-x.el
+ subword.el trouble.texi xdisp.c
Phil Sung: changed wdired.el dired.texi follow.el progmodes/python.el
@@ -4559,6 +4837,8 @@ Pieter Schoenmakers: changed TUTORIAL.nl
Pieter Van Oostrum: changed package.el package-tests.el package.texi
shell-tests.el shell.el
+Pieter Van Prooijen: changed xsettings.c ftcrfont.c xsettings.h
+
Piet van Oostrum: changed data.c fileio.c flyspell.el smtpmail.el
Pinku Surana: changed sql.el
@@ -4568,15 +4848,18 @@ Piotr Trojanek: changed gnutls.c process.c
Piotr Zieliński: wrote org-mouse.el
Pip Cet: wrote image-circular-tests.el
-and changed xdisp.c comp.c fns.c pdumper.c alloc.c byte-opt.el
+and changed xdisp.c comp.c byte-opt.el fns.c pdumper.c alloc.c
display.texi ftcrfont.c image.c xterm.c bytecomp-tests.el bytecomp.el
ccl-tests.el ccl.c ccl.el cmds.c comint.el comp-test-funcs.el
- comp-tests.el comp.el composite.c and 28 other files
+ comp-tests.el comp.el composite.c and 29 other files
+
+Platon Pronko: changed tramp.el
-Po Lu: changed xdisp.c anti.texi browse-url.el callproc.c cc-compat.el
- config.bat esh-cmd.el fileio.c langinfo.h loadup.el mouse.el msdos.c
- msdos.h nsfns.m nsterm.m process.c sed1v2.inp sed2v2.inp sed3v2.inp
- sedlibmk.inp tooltip.el xterm.c
+Po Lu: changed xterm.c haikuterm.c haiku_support.cc xfns.c xterm.h
+ xwidget.c haiku_support.h haikufns.c nsterm.m pgtkterm.c
+ pixel-scroll.el gtkutil.c haiku-win.el x-dnd.el frames.texi
+ haikuselect.c xselect.c xwidget.el keyboard.c haikuterm.h xmenu.c
+ and 200 other files
Pontus Michael: changed simple.el
@@ -4586,8 +4869,9 @@ Primoz Peterlin: changed TUTORIAL.sl
Protesilaos Stavrou: wrote modus-operandi-theme.el modus-themes.el
modus-vivendi-theme.el
-and changed modus-themes.org vc-dir.el log-view.el modus-themes.texi
- vc-git.el apropos.el custom.el diff-mode.el perl-mode.el shortdoc.el
+and changed modus-themes.org eww.el vc-dir.el TUTORIAL.el_GR log-view.el
+ modus-themes.texi vc-git.el apropos.el custom.el diff-mode.el
+ language/greek.el log-edit.el minibuffer.el perl-mode.el shortdoc.el
shr.el vc-cvs.el vc-hg.el vc-svn.el vc/vc-bzr.el
Przemysław Wojnowski: wrote obarray-tests.el sgml-mode-tests.el
@@ -4599,6 +4883,8 @@ Puneeth Chaganti: changed org.texi ox.el org-agenda.el org-capture.el
Qiantan Hong: changed xwidget.c
+Qifan Wang: changed eww.texi shr.el
+
Radon Rosborough: changed package.el custom.texi package.texi startup.el
eval.c lread.c org.texi os.texi xterm.c
@@ -4643,6 +4929,8 @@ and changed libc.el browse-url.el eww.el eww.texi fileio.c info.el
Ramakrishnan M: changed mlm-util.el
+Rami Chowdhury: changed eglot.el
+
Rami Ylimäki: changed efaq.texi term.c tparam.h termchar.h tty-colors.el
xterm.el
@@ -4650,13 +4938,20 @@ Randall Smith: changed dired.el
Randal Schwartz: wrote pp.el
+Randy Taylor: changed build.sh eglot.el batch.sh dockerfile-ts-mode.el
+ rust-ts-mode.el go-ts-mode.el c-ts-mode.el cmake-ts-mode.el
+ cus-theme.el font-lock.el java-ts-mode.el js.el json-ts-mode.el
+ modes.texi progmodes/python.el project.el sh-script.el
+ typescript-ts-mode.el yaml-ts-mode.el
+
Ransom Williams: changed files.el
Rasmus Pank Roulund: wrote org-tempo.el
and co-wrote ox-koma-letter.el
and changed ox-latex.el gnus-icalendar.el gnus-notifications.el org.el
- ange-ftp.el gnus-fun.el gnus-sum.el gnus.texi ido.el message.texi
- ob-C.el org-entities.el org-src.el org.texi ox-html.el ox.el vc-git.el
+ ange-ftp.el gnus-fun.el gnus-sum.el gnus.texi icomplete.el ido.el
+ message.texi ob-C.el org-entities.el org-src.el org.texi ox-html.el
+ ox.el vc-git.el
Raul Acevedo: changed info.el options.el
@@ -4692,8 +4987,11 @@ and changed vhdl-mode.texi
Reuben Thomas: changed ispell.el whitespace.el dired-x.el files.el
sh-script.el emacsclient-tests.el remember.el README emacsclient.c
- misc.texi msdos.c simple.el INSTALL alloc.c arc-mode.el authors.el
- config.bat copyright dired-x.texi dired.el dosfns.c and 35 other files
+ misc.texi msdos.c simple.el INSTALL ada-mode.el ada-xref.el alloc.c
+ arc-mode.el authors.el config.bat copyright cperl-mode.el
+ and 38 other files
+
+Ricardo Martins: changed eglot.el
Ricardo Wurmus: changed xwidget.el xwidget.c configure.ac xwidget.h
@@ -4706,7 +5004,9 @@ Richard Dawe: changed config.in src/Makefile.in
Richard G. Bielawski: changed modes.texi paren.el
-Richard Hansen: changed easy-mmode.el
+Richard Hansen: changed bindat-tests.el bindat.el whitespace.el
+ processes.texi whitespace-tests.el ert-x.el easy-mmode.el
+ ert-x-tests.el info-edit.el info.el
Richard Hoskins: changed message.el
@@ -4738,7 +5038,7 @@ and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-langs.el
and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el
fileio.c process.c sysdep.c buffer.c xfns.c window.c subr.el
configure.ac startup.el sendmail.el emacs.c Makefile.in editfns.c
- info.el dired.el and 1336 other files
+ info.el dired.el and 1338 other files
Richard Ryniker: changed sendmail.el
@@ -4785,10 +5085,11 @@ Roberto Rodríguez: changed glossary.texi widget.texi
Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el
Robert Pluim: wrote nsm-tests.el
-and changed configure.ac process.c blocks.awk network-stream-tests.el
- font.c processes.texi ftfont.c gtkutil.c vc-git.el process-tests.el
- custom.texi emoji-zwj.awk gnutls.el network-stream.el nsm.el tramp.texi
- unicode mml-sec.el nsterm.m xfns.c auth.texi and 140 other files
+and changed configure.ac process.c blocks.awk keymap.el font.c
+ network-stream-tests.el processes.texi custom.texi emoji-zwj.awk
+ ftfont.c gtkutil.c process-tests.el unicode vc-git.el terminal.c
+ char-fold.el gnutls.el keymaps.texi network-stream.el nsm.el nsterm.m
+ and 191 other files
Robert Thorpe: changed cus-start.el indent.el rmail.texi
@@ -4854,11 +5155,21 @@ Roy Hashimoto: changed mm-view.el
Roy Liu: changed ns-win.el
+R Primus: changed eglot.el
+
Rüdiger Sonderfeld: wrote inotify-tests.el reftex-tests.el
and changed eww.el octave.el shr.el bibtex.el configure.ac
- misc/Makefile.in reftex-vars.el vc-git.el TUTORIAL.de autoinsert.el
- building.texi bytecomp.el calc-lang.el cc-langs.el dired.texi editfns.c
- emacs.c emacs.texi epa.el erc.el eww.texi and 39 other files
+ misc/Makefile.in reftex-vars.el vc-git.el TUTORIAL.de ada-mode.el
+ autoinsert.el building.texi bytecomp.el calc-lang.el cc-langs.el
+ dired.texi editfns.c emacs.c emacs.texi epa.el erc.el
+ and 40 other files
+
+Rudolf AdamkoviÄ: co-wrote quail/slovak.el
+and changed files.el scheme.el
+
+Rudolf Schlatte: changed README.md eglot.el
+
+Ruijie Yu: changed TUTORIAL.cn
Rui-Tao Dong: changed nnweb.el
@@ -4898,6 +5209,8 @@ Ryo Yoshitake: changed xterm.c frame.c frame.h mac.c macfns.c w32fns.c
Ryszard Kubiak: co-wrote ogonek.el
+R-Zip: changed eglot.el
+
Sacha Chua: wrote erc-pcomplete.el
and changed erc.el org.el erc-button.el org.texi
@@ -4911,13 +5224,15 @@ Samer Masterson: changed esh-arg.el startup.el url-handlers.el CONTRIBUTE
Sam Falkner: changed nntp.el
+Sam James: changed configure.ac info.el
+
Sam Kendall: changed etags.c etags.el
Sam Steingold: wrote gulp.el midnight.el
and changed progmodes/compile.el cl-indent.el simple.el vc-cvs.el vc.el
- mouse.el vc-hg.el etags.el files.el font-lock.el tex-mode.el
- ange-ftp.el gnus-sum.el message.el sgml-mode.el vc-git.el window.el
- add-log.el bindings.el bookmark.el bug-reference.el and 186 other files
+ mouse.el vc-hg.el files.el gnus-sum.el tex-mode.el etags.el
+ font-lock.el sgml-mode.el subr.el window.el ange-ftp.el inf-lisp.el
+ message.el package.el rcirc.el vc-git.el and 215 other files
Samuel Bronson: changed custom.el emacsclient.c keyboard.c
progmodes/grep.el semantic/format.el unexmacosx.c
@@ -4932,6 +5247,8 @@ Samuel Thibault: changed gnu.h sysdep.c term.c
Sanghyuk Suh: changed mac-win.el macterm.c
+Santiago Calandrino: changed gdb-mi.el
+
Santiago Payà i Miralta: changed vc-hg.el
Saroj Thirumalai: changed printing.el
@@ -4987,8 +5304,14 @@ Sean O'Rourke: changed complete.el comint.el dabbrev.el find-func.el
Sean Sieger: changed emacs-lisp-intro.texi
-Sean Whitton: changed project.el bindings.el files.texi simple.el
- killing.texi rect.el repeat.el
+Sean Whitton: wrote em-elecslash.el em-extpipe-tests.el em-extpipe.el
+and changed vc-git.el project.el bindings.el vc-dispatcher.el
+ eshell-tests.el server.el simple.el vc.el window.el .dir-locals.el
+ cl-macs.el eshell-tests-helpers.el eshell.texi files.texi ftfont.c
+ startup.el subr.el term.el INSTALL buffer.c calc-yank.el
+ and 22 other files
+
+Sebastian Fieber: changed gnus-art.el mm-decode.el mm-view.el
Sebastian Freundt: changed nnmaildir.el
@@ -5005,8 +5328,8 @@ and changed ox-publish.el ftfont.c ox-jsinfo.el
Sebastian Tennant: changed desktop.el
-Sebastian Urban: changed display.texi basic.texi docstyle.texi emacs.texi
- fixit.texi text.texi
+Sebastian Urban: changed display.texi text.texi basic.texi docstyle.texi
+ emacs.texi fixit.texi help.el
Sebastian Wiesner: changed bytecomp.el comint.el files.el replace.el
simple.el
@@ -5017,12 +5340,15 @@ Sébastien Gross: changed hideshow.el
Sebastien Kirche: changed mail-extr.el
+Sébastien Miquel: changed font-lock.el
+
Sébastien Vauban: changed org.el org-agenda.el ox-latex.el ob-core.el
org-clock.el ox-ascii.el ox-html.el
Seiji Zenitani: changed nsfns.m frame.c xterm.c PkgInfo document.icns
- find-func.el frame.h help-fns.el macfns.c nsfont.m nsterm.m w32fns.c
- xdisp.c xfns.c
+ find-func.el frame.h help-fns.el macfns.c
+ nextstep/templates/Info.plist.in nsfont.m nsterm.m w32fns.c xdisp.c
+ xfns.c
Sen Nagata: wrote crm.el rfc2368.el
@@ -5034,6 +5360,8 @@ Sergei Organov: changed vc.el
Serge Tupchii: changed etags.c
+Sergey Kostyaev: changed eglot.el
+
Sergey Litvinov: co-wrote ob-fortran.el
and changed ob-maxima.el ob-octave.el
@@ -5043,8 +5371,8 @@ Sergey Poznyakoff: changed rmail.el mh-mime.el rmail.texi smtpmail.el
Sergey Trofimov: changed window.el
-Sergey Vinokurov: changed emacs-module-tests.el emacs-module.c
- memory-report.el
+Sergey Vinokurov: changed data.c buffer.c emacs-module-tests.el
+ emacs-module.c memory-report.el
Sergio Durigan Junior: changed eudcb-bbdb.el gdb-mi.el
@@ -5059,6 +5387,8 @@ and changed ert.texi lisp-mode.el programs.texi text.texi
Shanavas M: changed buffer-tests.el
+Sharaf Zaman: changed pgtkterm.c
+
Shaun Johnson: changed ob-tangle.el org-exp-blocks.el
Shawn Boles: changed url-cookie.el
@@ -5084,14 +5414,14 @@ Shinichirou Sugou: changed etags.c
Shitikanth Kashyap: changed progmodes/python.el tabulated-list.el
-Shohei Yoshida: changed configure.ac
+Shohei Yoshida: changed configure.ac emacsclient.c
Shoji Nishimura: changed org.el
Sho Nakatani: changed doc-view.el
-Shuguang Sun: changed dired-aux.el tramp-adb.el tramp-archive.el
- tramp-integration.el
+Shuguang Sun: changed dired-aux.el doc-view.el tramp-adb.el
+ tramp-archive.el tramp-integration.el
Shuhei Kobayashi: wrote hex-util.el hmac-def.el hmac-md5.el
and changed gnus-group.el message.el nnmail.el
@@ -5114,7 +5444,7 @@ and changed css-mode.el project.el json-tests.el json.el scss-mode.scss
sgml-mode.el less-css-mode.less maintaining.texi modes.texi page.el
ring.el rot13.el scheme.el sql.el apropos.el asm-mode.el autoconf.el
autoinsert.el browse-url.el check-declare.el color.el
- and 15 other files
+ and 16 other files
Simona Arizanova: changed help.el
@@ -5138,12 +5468,12 @@ Simon Leinen: changed Makefile.in smtpmail.el Makefile cm.c cm.h hpux9.h
indent.c leim/Makefile.in process.c sc.texi sgml-mode.el term.c vc.el
xfns.c xmenu.c xterm.c
-Simon Marshall: wrote fast-lock.el lazy-lock.el regexp-opt.el
+Simon Marshall: wrote regexp-opt.el
and co-wrote comint.el shell.el
-and changed font-lock.el rmail.el fortran.el sendmail.el subr.el dired.el
- sh-script.el texinfo.el add-log.el compile.el outline.el help.el
- menu-bar.el perl-mode.el ps-print.el rmailsum.el bytecomp.el
- cc-fonts.el data.c faces.el lisp-mode.el and 56 other files
+and changed font-lock.el fast-lock.el lazy-lock.el rmail.el fortran.el
+ sendmail.el subr.el dired.el sh-script.el texinfo.el add-log.el
+ compile.el outline.el help.el menu-bar.el perl-mode.el ps-print.el
+ rmailsum.el bytecomp.el cc-fonts.el data.c and 58 other files
Simon Schubert: changed json.el
@@ -5156,7 +5486,8 @@ Skip Collins: changed w32fns.c w32term.c w32term.h
SÅ‚awomir Nowaczyk: changed emacs.py progmodes/python.el TUTORIAL.pl
flyspell.el ls-lisp.el w32proc.c
-Spencer Baugh: changed data-tests.el alloc.c autorevert.el
+Spencer Baugh: changed data-tests.el minibuffer.el alloc.c autorevert.el
+ mini.texi processes.texi
Spencer Thomas: changed dabbrev.el emacsclient.c gnus.texi server.el
unexcoff.c
@@ -5167,39 +5498,41 @@ Sriram Thaiyar: changed ruby-mode-tests.el ruby-mode.el
Stanislav Shalunov: wrote uce.el
+Stefan Baums: changed misc-lang.el HELLO
+
Stefan Bruda: co-wrote prolog.el
Stefan Guath: changed find-dired.el
Stefan Kangas: wrote bookmark-tests.el cal-julian-tests.el
- delim-col-tests.el etc-authors-mode.el life-tests.el loadhist-tests.el
- lunar-tests.el mail-utils-tests.el misc-tests.el morse-tests.el
- netrc-tests.el paragraphs-tests.el password-cache-tests.el qp-tests.el
+ delim-col-tests.el emacs-authors-mode.el image-tests.el life-tests.el
+ loadhist-tests.el lunar-tests.el mail-utils-tests.el misc-tests.el
+ morse-tests.el paragraphs-tests.el password-cache-tests.el qp-tests.el
rfc2045-tests.el sasl-cram-tests.el sasl-tests.el saveplace-tests.el
studly-tests.el tabify-tests.el time-tests.el timezone-tests.el
- underline-tests.el uudecode-tests.el warnings-tests.el
+ underline-tests.el uudecode-tests.el wallpaper.el warnings-tests.el
and co-wrote help-tests.el keymap-tests.el
-and changed efaq.texi checkdoc.el package.el cperl-mode.el bookmark.el
- help.el keymap.c subr.el simple.el erc.el ediff-util.el idlwave.el
- time.el bytecomp-tests.el comp.el emacs-lisp-intro.texi speedbar.el
- bytecomp.el edebug.el flyspell.el ibuffer.el and 1352 other files
+and changed image-dired.el package.el efaq.texi cperl-mode.el subr.el
+ checkdoc.el help.el bookmark.el simple.el dired.el files.el dired-x.el
+ gnus.texi keymap.c image-mode.el erc.el ediff-util.el speedbar.el
+ browse-url.el bytecomp-tests.el bytecomp.el and 1657 other files
Stefan Merten: co-wrote rst.el
Stefan Monnier: wrote bibtex-style.el bytecomp-tests.el
cl-generic-tests.el cl-generic.el cl-preloaded.el cl-print.el cl.el
- css-mode.el cursor-sensor.el cvs-status.el diff-mode.el fileloop.el
- find-func-tests.el footnote-tests.el gv.el inline.el lisp-mnt-tests.el
- lisp-tests.el log-edit.el log-view.el macroexp-tests.el
- minibuffer-tests.el minibuffer.el mpc.el nadvice.el pcase.el
- pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el radix-tree.el
- regexp-opt-tests.el reveal.el smerge-mode.el smie.el subword-tests.el
- vc-mtn.el
+ css-mode.el cursor-sensor.el cvs-status.el diff-mode.el
+ external-completion.el fileloop.el find-func-tests.el footnote-tests.el
+ gv.el inline.el lisp-mnt-tests.el lisp-tests.el log-edit.el log-view.el
+ macroexp-tests.el minibuffer-tests.el minibuffer.el mpc.el nadvice.el
+ oclosure.el pcase.el pcvs-defs.el pcvs-info.el pcvs-parse.el
+ pcvs-util.el radix-tree.el regexp-opt-tests.el reveal.el smerge-mode.el
+ smie.el subword-tests.el vc-mtn.el
and co-wrote font-lock.el gitmerge.el pcvs.el
and changed subr.el simple.el keyboard.c bytecomp.el cl-macs.el files.el
- lisp.h vc.el xdisp.c alloc.c eval.c sh-script.el progmodes/compile.el
- keymap.c buffer.c window.c tex-mode.el lisp-mode.el newcomment.el
- help-fns.el lread.c and 1612 other files
+ lisp.h vc.el xdisp.c alloc.c eval.c buffer.c sh-script.el
+ progmodes/compile.el tex-mode.el keymap.c window.c help-fns.el lread.c
+ lisp-mode.el package.el and 1660 other files
Stefano Facchini: changed gtkutil.c
@@ -5219,9 +5552,9 @@ Steinar Bang: changed gnus-setup.el imap.el
Štěpán Němec: changed loadhist.el files.el gnus-sum.el loading.texi
subr.el INSTALL calc-ext.el checkdoc.el cl.texi comint.el edebug.texi
- ediff-init.el emacs-lisp/cl-lib.el find-func.el fixit.texi font-lock.el
- functions.texi gnus-art.el gnus.texi help-fns.el help.el
- and 22 other files
+ ediff-init.el elisp-mode.el emacs-lisp/cl-lib.el find-func.el
+ fixit.texi font-lock.el functions.texi gnus-art.el gnus.texi
+ help-fns.el and 23 other files
Stéphane Boucher: changed replace.el
@@ -5232,11 +5565,11 @@ Stephen A. Wood: changed fortran.el
Stephen Berman: wrote todo-mode-tests.el
and co-wrote todo-mode.el
-and changed wdired.el todo-mode.texi diary-lib.el dired.el
- wdired-tests.el dired-tests.el doc-view.el files.el info.el
- minibuffer.el todo-test-1.todo eww.el frames.texi hl-line.el
- menu-bar.el mouse.el otodo-mode.el subr.el .gitattributes TUTORIAL
- allout.el and 59 other files
+and changed wdired.el todo-mode.texi wdired-tests.el diary-lib.el
+ dired.el dired-tests.el doc-view.el files.el info.el minibuffer.el
+ outline.el todo-test-1.todo allout.el eww.el find-dired.el frames.texi
+ hl-line.el menu-bar.el mouse.el otodo-mode.el subr.el
+ and 63 other files
Stephen C. Gilardi: changed configure.ac
@@ -5250,20 +5583,20 @@ and changed diary-lib.el octave.el org-agenda.el locate.el replace.el
Stephen Gildea: wrote refcard.tex
and co-wrote mh-funcs.el mh-search.el
-and changed time-stamp.el time-stamp-tests.el mh-e.el mh-junk.el
- mh-comp.el mh-utils-tests.el mh-utils.el mh-e.texi mh-show.el files.el
- mh-customize.el mh-xface-tests.el backups.texi compile.texi dns-mode.el
- fileio.c files.texi finder.el fortran.el goto-addr.el iso8601-tests.el
- and 17 other files
+and changed time-stamp.el time-stamp-tests.el mh-e.el mh-utils-tests.el
+ mh-junk.el mh-utils.el mh-comp.el mh-show.el mh-e.texi files.el
+ mh-customize.el mh-folder.el mh-scan.el mh-xface-tests.el
+ test-all-mh-variants.sh backups.texi comp-tests.el compile.texi
+ dns-mode.el fileio.c files.texi and 20 other files
Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el
Stephen Leake: wrote elisp-mode-tests.el
-and changed elisp-mode.el xref.el window.el mode-local.el CONTRIBUTE
- project.el vc-mtn.el ada-stmt.el cedet-global.el ede/generic.el
- simple.el autoload.el bytecomp.el cl-generic.el ede/locate.el
- files.texi functions.texi package.el progmodes/grep.el windows.texi
- INSTALL.REPO and 32 other files
+and changed ada-mode.el ada-xref.el elisp-mode.el xref.el eglot.el
+ window.el mode-local.el project.el CONTRIBUTE ada-prj.el vc-mtn.el
+ ada-stmt.el cedet-global.el ede/generic.el simple.el autoload.el
+ bytecomp.el cl-generic.el ede/locate.el files.texi functions.texi
+ and 36 other files
Stephen Pegoraro: changed xterm.c
@@ -5295,10 +5628,13 @@ Steven Tamm: changed macterm.c mac.c macfns.c configure.ac mac-win.el
src/Makefile.in Makefile.in config.h config.in dispnew.c eval.c
fileio.c fns.c generic-x.el image.c and 4 other files
+Steven Vanzyl: changed README.md eglot.el
+
Steve Nygard: changed unexnext.c
Steve Purcell: wrote less-css-mode.el
-and changed package.el nnimap.el nsterm.m ruby-mode.el sql.el
+and changed eglot.el README.md package.el eglot-tests.el nnimap.el
+ nsterm.m ruby-mode.el sql.el
Steve Scott: changed rcirc.el
@@ -5363,6 +5699,8 @@ and changed indian.el devanagari.el ind-util.el devan-util.el
lisp/Makefile.in malayalam.el mlm-util.el mule-conf.el tamil.el
tml-util.el
+Taiju Higashi: changed configure.ac ja-dic-cnv.el leim/Makefile.in
+
Takaaki Ota: wrote textmodes/table.el
and changed appt.el dired.c etags.c ldap.el progmodes/compile.el
recentf.el replace.el subr.el w32bdf.c
@@ -5386,6 +5724,8 @@ Tak Kunihiro: wrote pixel-scroll.el
and changed frames.texi mouse.el mwheel.el dired.el lists.texi ns-win.el
subr.el
+Taniguchi Kohei: changed README.md eglot.el
+
Tao Fang: changed url-http.el
Taro Kawagishi: wrote md4.el ntlm.el sasl-ntlm.el
@@ -5396,8 +5736,8 @@ and co-wrote ol-gnus.el
and changed bug-reference.el reftex-vars.el tex-mode.el browse-url.el
gnus.texi reftex-cite.el tsdh-dark-theme.el tsdh-light-theme.el
gnus-sum.el maintaining.texi file-notify-tests.el gnus-art.el misc.texi
- reftex.el org-gnus.el prog-mode.el subword.el dired.el image-mode.el
- json.el lisp-mode.el and 99 other files
+ reftex.el org-gnus.el prog-mode.el simple.el subword.el dired.el
+ image-mode.el json.el and 105 other files
Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el
@@ -5437,8 +5777,12 @@ Thamer Mahmoud: changed arabic.el
Theodore Jump: changed makefile.nt makefile.def w32-win.el w32faces.c
-Theodor Thornhill: changed project.el css-mode.el maintaining.texi
- mwheel.el shell.el tutorial.el
+Theodor Thornhill: changed typescript-ts-mode.el java-ts-mode.el
+ c-ts-mode.el eglot.el js.el csharp-mode.el css-mode.el project.el
+ json-ts-mode.el treesit.el c-ts-common.el eglot-tests.el EGLOT-NEWS
+ README.md c-ts-mode-tests.el compile-tests.el indent-bsd.erts
+ indent.erts maintaining.texi mwheel.el ruby-ts-mode.el
+ and 4 other files
Theresa O'Connor: wrote json.el
and changed erc.el erc-viper.el erc-log.el erc-track.el viper.el
@@ -5453,7 +5797,7 @@ and co-wrote hideshow.el
and changed ewoc.el vc.el info.el processes.texi zone.el lisp-mode.el
scheme.el text.texi vc-rcs.el display.texi fileio.c files.el vc-git.el
TUTORIAL.it bindat.el cc-vars.el configure.ac dcl-mode.el diff-mode.el
- dired.el elisp.texi and 168 other files
+ dired.el elisp.texi and 169 other files
Thierry Banel: co-wrote ob-C.el
and changed calc-arith.el
@@ -5463,8 +5807,8 @@ Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el
Thierry Volpiatto: changed bookmark.el files.el dired-aux.el
eshell/eshell.el gnus-sum.el keyboard.c net-utils.el package.el
tramp.el eldoc.el files.texi image-mode.el info.el man.el minibuffer.el
- pcmpl-gnu.el subr.el winner.el woman.el avoid.el commands.texi
- and 16 other files
+ pcmpl-gnu.el subr.el use-package.el winner.el woman.el avoid.el
+ and 18 other files
Thomas Bach: changed wisent/python.el
@@ -5480,11 +5824,11 @@ Thomas Dorner: changed ange-ftp.el
Thomas Dye: changed org.texi org-bibtex.el ob-R.el org.el
Thomas Fitzsimmons: wrote soap-client.el
-and changed soap-inspect.el ldap.el eudc.texi eudc-vars.el eudc.el
- ntlm.el url-http.el eudcb-bbdb.el eudcb-ldap.el ntlm-tests.el
- eudc-bob.el eudc-export.el eudcb-ph.el package.el README authinfo
- diary-lib.el display.texi eudc-hotlist.el eudcb-macos-contacts.el
- icalendar.el and 3 other files
+and changed soap-inspect.el eudc.el eudc-vars.el eudc.texi ldap.el
+ ntlm.el url-http.el eudcb-bbdb.el eudcb-ldap.el eudc-bob.el
+ eudc-tests.el ntlm-tests.el eudc-export.el eudcb-ph.el package.el
+ README authinfo bbdb diary-lib.el display.texi eudc-capf.el
+ and 8 other files
Thomas Horsley: changed cxux-crt0.s cxux.h cxux7.h emacs.c nh3000.h
nh4000.h simple.el sysdep.c xterm.c
@@ -5508,8 +5852,7 @@ Thomas Steffen: co-wrote deuglify.el
Thomas W Murphy: changed outline.el
-Thomas Wurgler: wrote old-emacs-lock.el
-and changed emacs-lock.el subr.el
+Thomas Wurgler: changed emacs-lock.el subr.el
Thor Kristoffersen: changed nntp.el
@@ -5546,7 +5889,11 @@ Timo Myyrä: changed battery.el configure.ac english.el european.el
Timo Savola: changed emacs.c gtkutil.c startup.el x-win.el xfns.c xterm.c
xterm.h
-Tim Ruffing: changed emacs.service
+Timo Taipalus: changed display.texi image.c image.el
+
+Timothee Denizou: changed tetris.el
+
+Tim Ruffing: changed emacs.service term.c
Tim Van Holder: changed emacsclient.c Makefile.in configure.ac
progmodes/compile.el which-func.el
@@ -5555,12 +5902,13 @@ Tino Calancha: wrote buff-menu-tests.el ediff-ptch-tests.el
em-ls-tests.el ffap-tests.el hi-lock-tests.el ls-lisp-tests.el
register-tests.el rmc-tests.el
and changed ibuffer.el dired.el ibuf-ext.el dired-tests.el replace.el
- dired-aux.el simple.el replace-tests.el dired.texi files.el
- ibuf-macs.el subr.el ibuffer-tests.el ls-lisp.el cl-macs.el
- diff-mode.el cl-seq.el dired-x.el ediff-ptch.el em-ls.el files-tests.el
- and 113 other files
+ dired-aux.el simple.el replace-tests.el subr.el dired.texi files.el
+ ibuf-macs.el ibuffer-tests.el ls-lisp.el cl-macs.el diff-mode.el
+ cl-seq.el dired-x.el display.texi ediff-ptch.el em-ls.el
+ and 116 other files
-Titus von der Malsburg: changed simple.el window.el
+Titus von der Malsburg: changed window.el display.texi simple.el
+ windows.texi
Tobias Bading: changed gtkutil.c progmodes/compile.el xfns.c
@@ -5570,7 +5918,7 @@ Tobias Gerdin: changed xref.el
Tobias Ringström: changed etags.c
-Tobias Rittweiler: changed xref-tests.el xref.el
+Tobias Rittweiler: changed eglot.el xref-tests.el xref.el eglot-tests.el
Tobias Zawada: changed find-func.el hideshow.el wid-edit.el
@@ -5593,19 +5941,21 @@ Tomas Nordin: changed progmodes/python.el
Tomasz Gajewski: changed cpp-root.el
+Tomasz Hołubowicz: changed EGLOT-NEWS README.md eglot.el
+
Tomasz Konojacki: changed perl-mode.el
Tom Breton: changed autoinsert.el cus-edit.el gnus-agent.el lread.c
Tom Fitzhenry: changed vc-hg.el
-Tom Gillespie: changed files.el
+Tom Gillespie: changed files.el lisp-mode.el
Tom Hageman: changed etags.c
Tom Houlder: wrote mantemp.el
-Tom Levy: changed sequences.texi
+Tom Levy: changed cl-generic.el gv.el sequences.texi simple.el
Tommi Komulainen: changed progmodes/python.el
@@ -5637,7 +5987,7 @@ and co-wrote package.el tcl.el
and changed data.c lisp.h js.el buffer.c data-tests.el mhtml-mode.el
alloc.c css-mode.el js-tests.el process.c window.c bytecode.c editfns.c
files.el fns.c keyboard.c keymap.c lread.c makefile.el xfns.c cmds.c
- and 208 other files
+ and 210 other files
Tom Willemse: changed elec-pair.el package.el perl-mode.el prog-mode.el
progmodes/python.el simple.el
@@ -5649,6 +5999,8 @@ Torbjörn Axelsson: changed options.el
Torbjörn Einarsson: wrote progmodes/f90.el
and changed f90.el
+Tor Kringeland: changed iso-transl.el
+
Torsten Anders: changed ox-beamer.el
Torsten Bronger: changed latin-ltx.el
@@ -5663,9 +6015,12 @@ Toru Tsuneyoshi: changed ange-ftp.el buff-menu.el cus-start.el fileio.c
Toshiaki Nomura: changed uxpds.h
+Travis Jeffery: changed nextstep/templates/Info.plist.in
+
Trent W. Buck: changed rcirc.el remember.el rx.el
-Trevor Murphy: changed find-dired.el gnus.texi nnimap.el org.el window.el
+Trevor Murphy: changed eglot.el find-dired.el gnus.texi nnimap.el org.el
+ window.el
Trevor Spiteri: changed progmodes/grep.el
@@ -5673,6 +6028,8 @@ Trey Jackson: changed spam-stat.el
Triet Hoai Lai: changed vntelex.el viet-util.el vietnamese.el
+Troels Henriksen: changed EGLOT-NEWS README.md eglot.el
+
Troels Nielsen: changed process.c buffer.c progmodes/compile.el window.el
Troy Hinckley: changed progmodes/compile.el
@@ -5712,11 +6069,11 @@ and changed org-gnus.el smime.el
Ulrich Leodolter: changed w32proc.c
-Ulrich Müller: changed configure.ac calc-units.el lib-src/Makefile.in
- src/Makefile.in version.el doctor.el emacs.1 files.el gamegrid.el
- gud.el server.el ChgPane.c ChgSel.c HELLO INSTALL Makefile.in
- XMakeAssoc.c authors.el bytecomp.el case-table.el configure
- and 40 other files
+Ulrich Müller: changed configure.ac calc-units.el
+ emacsclient-mail.desktop lib-src/Makefile.in src/Makefile.in version.el
+ Makefile.in doctor.el emacs.1 files.el gamegrid.el gud.el server.el
+ ChgPane.c ChgSel.c HELLO INSTALL XMakeAssoc.c authors.el bytecomp.el
+ case-table.el and 44 other files
Ulrich Neumerkel: changed xterm.c
@@ -5727,6 +6084,8 @@ and changed files.el
Ury Marshak: changed nsfns.m
+Usami Kenta: changed eglot.el htmlfontify.el
+
Utkarsh Singh: changed em-script.el files.el outline.el tex-mode.el
vc-git.el window.el
@@ -5738,7 +6097,7 @@ Vagn Johansen: changed gnus-cache.el vc-svn.el
Vaidheeswaran C: changed help-mode.el tabulated-list.el
-Väinö Järvelä: changed nsfns.m
+Väinö Järvelä: changed eglot.el nsfns.m
Valentin Gatien-Baron: changed emacs-module.c
@@ -5783,10 +6142,14 @@ and changed ses.el ses.texi 5x5.el calc-alg.el calc-vec.el calc.texi
package.el progmodes/compile.el recentf.el reftex-parse.el
and 3 other files
-Vincent Bernat: changed gnus-int.el nnimap.el
+Vincent Bernat: changed gnus-int.el nnimap.el xsettings.c
Vincent Del Vecchio: changed info.el mh-utils.el
+Vincenzo Pupillo: changed java-ts-mode.el
+
+Vince Salvino: changed msdos.texi w32.c w32fns.c
+
Vinicius Jose Latorre: wrote delim-col.el ebnf-abn.el ebnf-bnf.el
ebnf-dtd.el ebnf-ebx.el ebnf-iso.el ebnf-otz.el ebnf-yac.el ebnf2ps.el
printing.el whitespace.el
@@ -5796,8 +6159,6 @@ and changed ps-prin1.ps ps-bdf.el ps-prin0.ps blank-mode.el ps-prin3.ps
easymenu.el loading.texi menu-bar.el misc.texi progmodes/compile.el
ps-print-def.el ps-vars.el
-Visuwesh M: changed dired-aux.el
-
Vitalie Spinu: changed comint.el eieio-base.el message.el ob-R.el
ob-core.el ob-tangle.el subr.el
@@ -5816,10 +6177,10 @@ Vladimir Kazanov: changed java.srt
Vladimir Lomov: changed ox-html.el
-Vladimir Nikishkin: changed scm.el
+Vladimir Nikishkin: changed scm.el textmodes/table.el
Vladimir Panteleev: wrote bat-mode-tests.el
-and changed ert.texi bat-mode.el
+and changed eglot.el ert.texi xselect.c bat-mode.el
Vladimir Volovich: changed smime.el
@@ -5827,6 +6188,8 @@ Volker Sobek: changed programs.texi
Walter C. Pelissero: changed browse-url.el url-methods.el
+Wamm K. D: changed hierarchy.el hierarchy-tests.el
+
Wang Diancheng: changed gdb-mi.el nnml.el
Warren Lynn: changed tramp-sh.el
@@ -5883,8 +6246,8 @@ William Sommerfeld: wrote emacsclient.c scribe.el server.el
William Stevenson: wrote adwaita-theme.el
and changed artist.el
-William Xu: changed arc-mode.el gcc.el hideif.el nsterm.m outline.el
- url.el webjump.el xref.el
+William Xu: changed dired.el arc-mode.el gcc.el hideif.el nsterm.m
+ outline.el url.el webjump.el xref.el
Will Mengarini: wrote repeat.el
@@ -5937,9 +6300,11 @@ W. Trevor King: changed xterm.el
Xavier Maillard: changed gnus-faq.texi gnus-score.el mh-utils.el spam.el
-Xi Lu: changed etags.c htmlfontify.el ruby-mode.el tramp-sh.el
+Xi Lu: changed etags.c htmlfontify.el ruby-mode.el CTAGS.good_crlf
+ CTAGS.good_update Makefile TUTORIAL.cn crlf eww.el shortdoc.el
+ tramp-sh.el
-Xu Chunyang: changed eww.el dom.el gud.el netrc.el
+Xu Chunyang: changed eglot.el eww.el dom.el gud.el netrc.el
Xue Fuqiao: changed display.texi emacs-lisp-intro.texi files.texi
maintaining.texi text.texi windows.texi nonascii.texi frames.texi
@@ -5953,9 +6318,9 @@ Yair F: changed hebrew.el
Yamamoto Mitsuharu: wrote uvs.el
and changed macterm.c macfns.c mac-win.el xterm.c mac.c macterm.h image.c
- macmenu.c macgui.h xdisp.c ftfont.c xfns.c ftcrfont.c keyboard.c
+ macmenu.c macgui.h xdisp.c ftcrfont.c ftfont.c xfns.c keyboard.c
macselect.c macfont.m configure.ac w32term.c dispextern.h
- src/Makefile.in unexmacosx.c and 111 other files
+ src/Makefile.in unexmacosx.c and 113 other files
Yan Gajdos: changed vc-git.el
@@ -5963,6 +6328,8 @@ Yann Dirson: changed imenu.el
Yann Hodique: changed ox-publish.el package.el rcirc.el
+Yaraslau Tamashevich: changed faces.el
+
Yasuhiro Kimura: changed schemas.xml japan-util.el
Yasuoka Masahiko: changed configure.ac
@@ -5974,9 +6341,13 @@ Yavor Doganov: changed configure.ac Makefile.in emacs.1 etags.1 make-dist
Ye Qianchuan: changed descr-text.el
-Yichao Yu: changed xfns.c xterm.c
+Yichao Yu: changed pgtkim.c pgtkterm.c pgtkterm.h xfns.c xterm.c
+
+Yikai Zhao: changed memory-report.el sh-script.el
+
+Yilkal Argaw: changed manoj-dark-theme.el
-Yikai Zhao: changed memory-report.el
+Yoav Marco: changed sqlite-mode.el
Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
@@ -5995,9 +6366,11 @@ Yoshinari Nomura: changed ox-html.el ox.el
Yoshinori Koseki: wrote iimage.el
and changed fontset.el message.el nnheader.el nnmail.el
-Yuan Fu: changed gdb-mi.el building.texi doc-view.el outline.el
- simple-tests.el cus-start.el display.texi gud.el simple.el text.texi
- window.el xdisp.c
+Yuan Fu: changed treesit.el treesit.c c-ts-mode.el parsing.texi
+ progmodes/python.el modes.texi js.el treesit-tests.el indent.erts
+ typescript-ts-mode.el css-mode.el treesit.h configure.ac
+ java-ts-mode.el print.c sh-script.el c-ts-common.el gdb-mi.el
+ rust-ts-mode.el go-ts-mode.el starter-guide and 53 other files
Yuanle Song: changed rng-xsd.el
@@ -6005,13 +6378,11 @@ Yuchen Pei: changed calendar.texi diary-lib.el icalendar-tests.el
Yue Daian: wrote cl-font-lock.el
-Yuga Ego: changed custom.texi emacs-lisp-intro.texi
-
Yu-ji Hosokawa: changed README.W32
Yukihiro Matsumoto: co-wrote ruby-mode.el
-Yuri D'Elia: changed message.el package.el
+Yuri D'Elia: changed mouse.el message.el package.el
Yuri Karaban: changed pop3.el
@@ -6021,19 +6392,28 @@ Yuri Shtil: changed etags.c
Yuriy Vostrikov: changed vc-git.el
+Yury Kholodkov: changed warnings.el
+
Yutaka Niibe: changed indent.c xdisp.c configure.ac dispnew.c sysdep.c
Makefile.in config.in dired.el emacs.c fill.el fns.c gmalloc.c
gnu-linux.h indent.h process.c simple.el src/Makefile.in term.c
window.c
-Yuuki Harano: changed nsterm.m
+Yuuki Harano: changed pgtkterm.c pgtkfns.c pgtkterm.h gtkutil.c
+ pgtk-win.el pgtkselect.c configure.ac frame.c image.c pgtkmenu.c
+ emacs.c alloc.c emacsgtkfixed.c frame.h gtkutil.h pgtkgui.h xdisp.c
+ xwidget.c font.h org.gnu.emacs.defaults.gschema.xml pgtkim.c
+ and 39 other files
Yuya Nishihara: changed vc-hooks.el
+Yuzhana Ego: changed custom.texi diff-mode.el emacs-lisp-intro.texi
+ info.el
+
Yves Baumes: changed package.el
-Zachary Kanfer: changed org.el cus-edit.el keyboard.c newcomment.el
- simple.el
+Zachary Kanfer: changed org.el cus-edit.el files.el files.texi keyboard.c
+ newcomment.el simple.el
Zajcev Evgeny: changed display.texi image.c battery.el buffer.c fileio.c
lread.c svg.el window.el xdisp.c
@@ -6058,7 +6438,15 @@ Zoran Milojevic: changed avoid.el
ДÑдов ВаÑил СтоÑнов: changed org-docview.el
-Йордан Миладинов: changed cyrillic.el
+Йордан Миладинов: changed cyrillic.el go-ts-mode.el rust-ts-mode.el
+
+समीर सिंह Sameer Singh: wrote indonesian.el misc-lang.el philippine.el
+and changed fontset.el HELLO language/indian.el quail/indian.el loadup.el
+ BidiBrackets.txt BidiMirroring.txt Blocks.txt IVD_Sequences.txt
+ IdnaMappingTable.txt NormalizationTest.txt PropertyValueAliases.txt
+ ScriptExtensions.txt Scripts.txt SpecialCasing.txt UnicodeData.txt
+ characters.el confusables.txt copyright.html emoji-data.txt
+ emoji-sequences.txt and 7 other files
উৎসব রায়: changed quail/indian.el
diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS
index 7369b3bf545..6a2e9051ddc 100644
--- a/etc/EGLOT-NEWS
+++ b/etc/EGLOT-NEWS
@@ -18,6 +18,42 @@ to look up issue github#1234, go to
https://github.com/joaotavora/eglot/issues/1234.
+* Changes in upcoming Eglot
+
+** Optimized file-watching capability
+
+Some servers, like the Pyright language server, issue too many file
+watching requests. This change slightly reduces the number of file
+watcher objects requested from the operating system, which can be a
+problem, particularly on Mac OS. See github#1228 and github#1226.
+
+
+* Changes in Eglot 1.15 (29/4/2023)
+
+** Fix LSP "languageId" detection
+
+Many servers today support multiple languages, meaning they can handle
+more than one file type in the same connection. This relies on the
+client supplying a ':languageId' string. Previously, Eglot calculated
+this string based on an imperfect heuristic and was often wrong. See
+github#1206.
+
+** Fix problems with missing signature documentation (bug#62687)
+
+** Reworked 'eglot-imenu'
+
+Eglot's Imenu backend (used for M-x imenu among other extensions), has
+been reworked. Most newer servers respond to
+'textDocument/documentSymbol' with a vector of 'DocumentSymbol', not
+'SymbolInformation'. It's not worth it trying to make the two formats
+resemble each other. This also lays groundwork supporting a
+forthcoming "breadcrumb" feature of bug#58431.
+
+** New command 'eglot-update'
+
+This allows users to easily update to the latest version of Eglot.
+
+
* Changes in Eglot 1.14 (3/4/2023)
** Faster, more responsive completion
@@ -71,6 +107,16 @@ been added to 'eglot-stay-out-of'.
** ELPA installations on Emacs 26.3 are supported again.
+* Changes in Eglot 1.12.29 (Eglot bundled with Emacs 29.1)
+
+** Eglot has a new command to upgrade to the latest version.
+
+The new command 'eglot-upgrade-eglot' allows easily grabbing the
+latest version of Eglot from ELPA. This might be more convenient than
+using the more general command 'package-install', which by default
+will not upgrade "built-in" packages, those that come with Emacs.
+
+
* Changes in Eglot 1.12 (13/03/2023)
** LSP inlay hints are now supported.
@@ -93,7 +139,7 @@ The position-encoding scheme (UTF-8, UTF-16 or UTF-32) can now
be negotiated with the server.
** More of the user's Eldoc configuration is respected.
-This change addresses the problems reported in many Elglot reports
+This change addresses the problems reported in many Eglot reports
dating back to early 2021 at least.
(github#646, github#894, github#920, github#1031, github#1171).
@@ -139,7 +185,7 @@ systems (bug#58790).
These modes are usually handled by the same server that handles the
"classical mode".
-** New servers chsharp-ls and texlab added to 'eglot-server-programs'.
+** New servers csharp-ls and texlab added to 'eglot-server-programs'.
** Assorted bugfixes.
(bug#59824, bug#59338)
@@ -217,12 +263,12 @@ may be disabled via 'eglot-ignored-server-capabilities'
** Basic LSP "workspace folders" support added.
Eglot now advertises 'project-root' and 'project-external-roots' as
workspace-folders. (Configuring 'project-vc-external-roots-function'
-via Elisp or 'tags-table-list' via Custtomize are two ways to set the
+via Elisp or 'tags-table-list' via Customize are two ways to set the
external roots of a simple git project.)
(github#893)
-** Eglot can now show project wide diagnosics via Flymake.
+** Eglot can now show project wide diagnostics via Flymake.
Some LSP servers report diagnostics for all files in the current
workspace. Flymake has (as of version 1.2.1) the option to show
diagnostics from buffers other than the currently visited one. The
@@ -440,7 +486,7 @@ these two domains.
* Changes in Eglot 1.3 (10/12/2018)
-** Provide strict checking of incoming LSP messagesp.
+** Provide strict checking of incoming LSP messages.
(github#144, github#156)
@@ -534,7 +580,7 @@ here.
* Changes in Eglot 1.1 (9/7/2018)
** Implement TCP autostart/autoconnect (and support Ruby's Solargraph).
-The ':autoport' symbol in the server incovation is replaced
+The ':autoport' symbol in the server invocation is replaced
dynamically by a local port believed to be vacant, so that the ensuing
TCP connection finds a listening server.
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS
index 8f1b89f268b..5665b760ea9 100644
--- a/etc/ERC-NEWS
+++ b/etc/ERC-NEWS
@@ -1,4 +1,4 @@
-ERC NEWS -*- outline -*-
+ERC NEWS
Copyright (C) 2006-2023 Free Software Foundation, Inc.
See the end of the file for license conditions.
@@ -37,17 +37,26 @@ decade overdue, this is no longer the case. Other UX improvements in
this area aim to make the process of connecting interactively slightly
more streamlined and less repetitive, even for veteran users.
-** New buffer-display option 'erc-interactive-display'.
+** Revised buffer-display handling for interactive commands.
A point of friction for new users and one only just introduced with
ERC 5.5 has been the lack of visual feedback when first connecting via
-M-x erc. As explained below in the news for 5.5, the discovery of a
-security issue led to new ERC buffers being "buried" on creation. On
-further reflection, this was judged to have been an overcorrection in
-the case of interactive invocations, hence the new option
-'erc-interactive-display', which is set to 'buffer' (i.e., "take me
-there") by default. Accompanying this addition are "display"-suffixed
-aliases for related options 'erc-join-buffer' and 'erc-auto-query',
-which users have reported as being difficult to discover and remember.
+M-x erc or when issuing a "/JOIN" command at the prompt. As explained
+below, in the news for 5.5, the discovery of a security issue led to
+most new ERC buffers being "buried" on creation. On further
+reflection, this was judged to have been an overcorrection in the case
+of interactive invocations, hence the borrowing of an old option,
+'erc-query-display', and the bestowing of a new alias,
+'erc-interactive-display', which better describes its expanded role as
+a more general buffer-display knob for interactive commands ("/QUERY"
+still among them).
+
+Accompanying this addition are "display"-suffixed aliases for related
+options 'erc-join-buffer' and 'erc-auto-query', which users have
+reported as being difficult to discover and remember. When the latter
+option (now known as 'erc-receive-query-display') is nil, ERC uses
+'erc-join-buffer' in its place, much like it does for
+'erc-interactive-display'. The old nil behavior can still be gotten
+via the new compatibility flag 'erc-receive-query-display-defer'.
** Setting a module's mode variable via Customize earns a warning.
Trying and failing to activate a module via its minor mode's Custom
@@ -69,17 +78,16 @@ appearing in their saved logs.
** Smarter reconnect handling for users on the move.
ERC now offers a new, experimental reconnect strategy in the function
'erc-server-delayed-check-reconnect', which tests for underlying
-connectivity before attempting to reconnect in earnest. See options
-'erc-server-reconnect-function' and 'erc-nickname-in-use-functions' to
-get started.
-
-** Easily constrain all ERC-related business to a dedicated frame.
-The option 'erc-reuse-frames' can now be set to 'displayed', which
-tells ERC to show new buffers in frames already occupied by buffers
-from the same connection. This customization depends on the option
-'erc-buffer-display' (formerly 'erc-join-buffer') being set to
-'frame'. If you find the name 'displayed' unhelpful, please suggest
-an alternative by writing to the mailing list.
+connectivity before attempting to reconnect in earnest. See option
+'erc-server-reconnect-function' and new local module 'services-regain'
+(also experimental) to get started.
+
+** Module 'fill' can add a bit of space between messages.
+On graphical displays, it's now possible to add some breathing room
+around certain messages via the new option 'erc-fill-line-spacing'.
+This is especially handy when using the option 'erc-fill-wrap-merge'
+to omit repeated speaker tags, which can make message boundaries less
+detectable by tired eyes.
** Some keybindings are now set by modules rather than their libraries.
To put it another way, simply loading a built-in module's library no
@@ -100,21 +108,47 @@ asking users who've customized this option to switch to
that some other solution, like automatic migration, is justified,
please make that known on the bug list.
-** The 'nicknames' entry in 'erc-button-alist' is officially exceptional.
+** 'erc-button-alist' and 'erc-nick-popup-alist' have evolved slightly.
It's no secret that the 'buttons' module treats potential nicknames
-specially. To simplify ERC's move to next-gen "rich UI" extensions,
-this special treatment is being canonized. From now on, all values
-other than the symbol 'erc-button-buttonize-nicks' appearing in the
-"FORM" field (third element) of this entry are considered deprecated
-and will incur a warning.
+specially. This is perhaps most evident in its treatment of the
+'nicknames' entry in 'erc-button-alist'. Indeed, to simplify ERC's
+move to next-gen "rich UI" extensions, this special treatment is being
+canonized. From here on out, this entry will no longer appear in the
+option's default value but will instead be applied implicitly so long
+as the option 'erc-button-buttonize-nicks' is non-nil, which it is by
+default. Relatedly, the option 'erc-nick-popup-alist' now favors
+functions, which ERC calls non-interactively, over arbitrary
+s-expressions, which ERC will continue to honor. Although the default
+lineup remains functionally equivalent, its members have all been
+updated accordingly.
+
+** Option 'erc-query-on-unjoined-chan-privmsg' restored and renamed.
+This option was accidentally removed from the default client in ERC
+5.5 and was thus prevented from influencing PRIVMSG routing. It's now
+been restored with a slightly revised role contingent on a few
+assumptions explained in its doc string. For clarity, it has been
+renamed 'erc-ensure-target-buffer-on-privmsg'.
+
+** Improved interplay between buffer truncation and message logging.
+While most of these improvements are subtle, some affect everyday use.
+For example, users of the 'truncate' module may notice that truncation
+now happens between messages rather than arbitrary lines. And those
+with the default 'erc-insert-timestamp-left-and-right' for their
+'erc-insert-timestamp-function' will see date stamps reprinted after
+every "/CLEAR" but omitted from any logs. One notable casualty of
+these changes has been the deprecation of the ancient option
+'erc-truncate-buffer-on-save'. Users of the 'log' module can achieve
+the same effect by issuing a "/CLEAR" at the prompt.
** Miscellaneous UX changes.
Some minor quality-of-life niceties have finally made their way to
ERC. For example, the function 'erc-echo-timestamp' is now
interactive and can be invoked on any message to view its timestamp in
-the echo area. Also, the 'irccontrols' module now supports additional
-colors and special handling for "spoilers" (hidden text). And issuing
-an "/MOTD" now dispatches a purpose-built command handler.
+the echo area. The command 'erc-button-previous' now moves to the
+beginning instead of the end of buttons. A new command, 'erc-news',
+can now be invoked to visit this very file. And the 'irccontrols'
+module now supports additional colors and special handling for
+"spoilers" (hidden text).
** Changes in the library API.
@@ -136,6 +170,26 @@ impactfully, the value of the 'field' property for ERC's prompt has
changed from 't' to the more useful 'erc-prompt', although the
property of the same name has been retained.
+*** Members of insert- and send-related hooks have been reordered.
+Built-in and third-party modules rely on certain hooks for adjusting
+incoming and outgoing messages upon insertion. And some modules only
+want to do so after others have done their damage. Traditionally,
+this required various hacks and finagling to achieve. And while this
+release makes an effort to load modules in a more consistent order,
+that alone isn't enough to ensure similar predictability among
+essential members of important hooks.
+
+Luckily, ERC now leverages a feature introduced in Emacs 27, "hook
+depth," to secure the positions of a few key members of
+'erc-insert-modify-hook' and 'erc-send-modify-hook'. So far, this
+includes the functions 'erc-button-add-buttons', 'erc-fill',
+'erc-match-message', and 'erc-add-timestamp', which now appear in that
+order, when present, at depths beginning at 20 and ending below 80.
+Of most interest to module authors is the new relative positioning of
+the first two, 'erc-button-add-buttons' and 'erc-fill', which have
+been swapped with respect to their previous places in recent ERC
+versions.
+
*** ERC now manages timestamp-related properties a bit differently.
For starters, the 'cursor-sensor-functions' property no longer
contains unique closures and thus no longer proves effective for
@@ -170,23 +224,40 @@ The 'fill' module is now defined by 'define-erc-module'. The same
goes for ERC's imenu integration, which has 'imenu' now appearing in
the default value of 'erc-modules'.
+*** Prompt input is split before 'erc-pre-send-functions' has a say.
+Hook members are now treated to input whose lines have already been
+adjusted to fall within the allowed length limit. For convenience,
+third-party code can request that the final input be "re-filled" prior
+to being sent. See doc string for details.
+
*** ERC's prompt survives the insertion of user input and messages.
Previously, ERC's prompt and its input marker disappeared while
running hooks during message insertion, and the position of its
"insert marker" (ERC's per-buffer process mark) was inconsistent
during these spells. To make insertion handling more predictable in
preparation for incorporating various protocol extensions, the prompt
-and its bounding markers have become perennial fixtures. In rare
+and its bounding markers have become perennial fixtures. To effect
+this change, small behavioral differences in message insertion have
+been adopted. Crucially, 'erc-insert-marker' now has an "insertion
+type" of t, and 'erc-display-line-1' now calls 'insert' instead of
+'insert-before-prompt'. This allows user code to leave its own
+markers via 'erc-insert-modify-hook' and 'erc-insert-post-hook'
+instead of having to resort to workarounds. Message insertion for
+outgoing messages, in 'erc-display-msg', remains as before. In rare
cases, these changes may mean third-party code needs tweaking, for
example, requiring the use of 'insert-before-markers' instead of
'insert'. As always, users feeling unduly inconvenienced by these
changes are encouraged to voice their concerns on the bug list.
*** Miscellaneous changes
-For autoloading purposes, 'Info-goto-node' has been supplanted by
-plain old 'info' in 'erc-button-alist', and two helper macros from GNU
-ELPA's Compat library are now available to third-party modules as
-'erc-compat-call' and 'erc-compat-function'.
+Two helper macros from GNU ELPA's Compat library are now available to
+third-party modules as 'erc-compat-call' and 'erc-compat-function'.
+In 'erc-button-alist', 'Info-goto-node' has been supplanted by plain
+old 'info', and the "<URL:...>" entry has been removed because it was
+more or less redundant. In all ERC buffers, the "<TAB>" key is now
+bound to a new command, 'erc-tab', that calls 'completion-at-point'
+inside the input area and otherwise dispatches module-specific
+commands, like 'erc-button-next'.
* Changes in ERC 5.5
@@ -332,8 +403,8 @@ In an effort to help further tame ERC's complexity, the variable
'erc-default-recipients' is now expected to hold but a single target.
As a consequence, functions like 'erc-add-default-channel' that
imagine an alternate, aspirational model of buffer-target relations
-have been deprecated. See Emacs change-log entries from around July
-of 2022 for specifics.
+have been deprecated. For specifics, see entries in Emacs'
+ChangeLog.4 from around June 30, 2022.
A number of less consequential deprecations also debut in this
release. For example, the function 'erc-auto-query' was deemed too
@@ -1880,5 +1951,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
Local variables:
coding: utf-8
mode: outline
+mode: emacs-news
paragraph-separate: "[ ]*$"
end:
diff --git a/etc/HELLO b/etc/HELLO
index 25a572e5f1f..a589e69bf03 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -89,7 +89,9 @@ Mathematics ∀ p ∈ world • hello p □
Meetei Mayek (ꯃꯤꯇꯩ ꯃꯌꯦꯛ) ꯈꯨꯔꯨê¯ê¯–ꯔꯤ
Mende Kikakui (ðž €ðž ðž ‚) 𞠛𞠉
Modi (𑘦𑘻𑘚𑘲) 𑘡𑘦𑘭𑘿𑘎𑘰𑘨
-Mongolian (монгол Ñ…Ñл) Сайн байна уу?
+Mongolian Cyrillic (монгол Ñ…Ñл) Сайн байна уу?
+Mongolian Traditional (ᠮᠣᠩᠭᠣᠯ ᠪᠢᠴᠢᠭ᠋) ᠰᠠᠶᠢᠨ ᠪᠠᠶᠢᠨ᠎ᠠ ᠤᠤ?
+
Northern Thai (ᨣᩣᩴᨾᩮᩬᩥᨦ / ᨽᩣᩈᩣᩃ᩶ᩣ᩠ᨶᨶᩣ) ᩈ᩠ᩅᩢᩔ᩠ᨯᩦᨣᩕᩢ᩠ᨸ
Norwegian (norsk) Hei / God dag
Odia (ଓଡ଼ିଆ) ନମସà­à¬•à¬¾à¬°
diff --git a/etc/NEWS b/etc/NEWS
index b121002b246..2891d88e6cf 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -30,6 +30,17 @@ applies, and please also update docstrings as needed.
* Changes in Emacs 30.1
+** Help
+
+*** 'describe-function' shows function inferred type when available.
+For native compiled Lisp functions 'describe-function' prints (after
+the signature) the automatically inferred function type as well.
+
+---
+** New user option 'describe-bindings-outline-rules'.
+This user option controls outline visibility in the output buffer of
+'describe-bindings' when 'describe-bindings-outline' in non-nil.
+
** X selection requests are now handled much faster and asynchronously.
This means it should be less necessary to disable the likes of
'select-active-regions' when Emacs is running over a slow network
@@ -66,6 +77,16 @@ This allows the user to customize the prompt that is appended by
This is used for displaying the time and date components of
'display-time-mode'.
+---
+** New icon images for general use.
+Several symbolic icons are added to "etc/images/symbols", including
+plus, minus, check-mark, start, etc.
+
++++
+** Tool bars can now be placed on the bottom on more systems.
+The 'tool-bar-position' frame parameter can be set to 'bottom' on all
+window systems other than Nextstep.
+
* Editing Changes in Emacs 30.1
@@ -81,6 +102,11 @@ mistaken compositions, this will now work as well.
This works like 'kill-matching-buffers', but without asking for
confirmation.
+---
+** New user option 'duplicate-region-final-position'
+It controls the placement of point and the region after duplicating a
+region with 'duplicate-dwim'.
+
* Changes in Specialized Modes and Packages in Emacs 30.1
@@ -100,7 +126,7 @@ If you want to get back the old behavior, set the user option to the value
(setopt gdb-locals-table-row-config
`((type . 0) (name . 0) (value . ,gdb-locals-value-limit)))
-** Compile
+** Grep
*** New user option 'grep-use-headings'.
When non-nil, the output of Grep is split into sections, one for each
@@ -199,16 +225,31 @@ point is not in a comment or a string. It is by default bound to
** Tramp
+++
-*** New connection method "toolbox".
-This allows accessing system containers provided by Toolbox.
+*** New connection methods "toolbox" and "flatpak".
+They allow accessing system containers provided by Toolbox or
+sandboxes provided by Flatpak.
+++
-*** Rename 'tramp-use-ssh-controlmaster-options' to 'tramp-use-connection-share.
-The old name still exists as defvaralias. This user option controls
-now connection sharing for both ssh-based and plink-based methods. It
-allows the values t, nil, and 'suppress'. The latter suppresses
-also "ControlMaster" settings in the user's "~/.ssh/config" file,
-or connection share configuration in PuTTY sessions, respectively.
+*** Connection method "kubernetes" supports now optional container name.
+The host name for Kubernetes connections can be of kind [CONTAINER.]POD,
+in order to specify a dedicated container. If there is just the pod
+name, the first container in the pod is taken. The new user options
+'tramp-kubernetes-context' and 'tramp-kubernetes-namespace' allow to
+access pods with different context or namespace but the default one.
+
++++
+*** Rename 'tramp-use-ssh-controlmaster-options' to 'tramp-use-connection-share'.
+The old name still exists as obsolete variable alias. This user
+option controls now connection sharing for both ssh-based and
+plink-based methods. It allows the values t, nil, and 'suppress'.
+The latter suppresses also "ControlMaster" settings in the user's
+"~/.ssh/config" file, or connection share configuration in PuTTY
+sessions, respectively.
+
++++
+*** New command 'tramp-cleanup-some-buffers'.
+It allows to kill only selected remote buffers, controlled by user
+option 'tramp-cleanup-some-buffers-hook'.
** EWW
@@ -219,6 +260,24 @@ the new argument NEW-BUFFER non-nil, it will use a new buffer instead.
Interactively, invoke 'eww-open-file' with a prefix argument to
activate this behavior.
+---
+*** 'eww' URL or keyword prompt now has tab completion.
+The interactive minibuffer prompt when invoking 'eww' now has support
+for tab completion.
+
++++
+*** 'eww' URL and keyword prompt now completes suggested URIs and bookmarks.
+The interactive minibuffer prompt when invoking 'eww' now provides
+completions from 'eww-suggest-uris'. 'eww-suggest-uris' now includes
+bookmark URIs.
+
++++
+*** New command 'eww-copy-alternate-url'.
+It copies an alternate link on the page currently visited in EWW into
+the kill ring. Alternate links are optional metadata that HTML pages
+use for linking to their alternative representations, such as
+translated versions or associated RSS feeds.
+
** go-ts-mode
+++
@@ -239,6 +298,10 @@ asynchronously (which is the default behavior).
---
*** New face 'doc-view-svg-face'.
This replaces 'doc-view-svg-foreground' and 'doc-view-svg-background'.
+If you don't like the colors produced by the default definition of
+this new face when DocView displays documents, customize this face to
+restore the colors you were used to, or to get colors more to your
+liking.
** Shortdoc
@@ -266,6 +329,11 @@ When non-nil, it will automatically register every package as a
project, that you can quickly select using 'project-switch-project'
('C-x p p').
+---
+*** New user option 'package-vc-allow-side-effects'.
+When non-nil, package specifications with side-effects for building
+software will be used when building a package.
+
** Flymake
+++
@@ -276,6 +344,108 @@ distracting and easily confused with actual code, or a significant
early aid that relieves you from moving the buffer or reaching for the
mouse to consult an error message.
+** Python Mode
+
+---
+*** New user option 'python-indent-block-paren-deeper'.
+If non-nil, increase the indentation of the lines inside parens in a
+header of a block when they are indented to the same level as the body
+of the block:
+
+ if (some_expression
+ and another_expression):
+ do_something()
+
+instead of:
+
+ if (some_expression
+ and another_expression):
+ do_something()
+
+** use-package
+
++++
+*** New ':vc' keyword.
+This keyword enables the user to install packages using 'package-vc'.
+
+** Rmail
+
+---
+*** New commands for reading mailing lists.
+The new Rmail commands 'rmail-mailing-list-post',
+'rmail-mailing-list-unsubscribe', 'rmail-mailing-list-help', and
+'rmail-mailing-list-archive' allow to, respectively, post to,
+unsubscribe from, request help about, and browse the archives, of the
+mailing list from which the current email message was delivered.
+
+** Dictionary
+
+---
+*** New user option 'dictionary-search-interface'.
+Controls how the 'dictionary-search' command prompts for and displays
+dictionary definitions. Customize this user option to 'help' to have
+'dictionary-search' display definitions in a "*Help*" buffer and
+provide dictionary-based minibuffer completion for word selection.
+
+---
+*** New user option 'dictionary-read-word-prompt'.
+This allows the user to customize the prompt that is used by
+'dictionary-search' when asking for a word to search in the
+dictionary.
+
+---
+*** New user option 'dictionary-display-definition-function'.
+This allows the user to customize the way in which 'dictionary-search'
+displays word definitions. If non-nil, this user option should be set
+to a function that displays a word definition obtained from a
+dictionary server. The new function
+'dictionary-display-definition-in-help-buffer' can be used to display
+the definition in a "*Help*" buffer, instead of the default
+"*Dictionary*" buffer.
+
+---
+*** New user option 'dictionary-read-word-function'.
+This allows the user to customize the way in which 'dictionary-search'
+prompts for a word to search in the dictionary. This user option
+should be set to a function that lets the user select a word and
+returns it as a string. The new function
+'dictionary-completing-read-word' can be used to prompt with
+completion based on dictionary matches.
+
+---
+*** New user option 'dictionary-read-dictionary-function'.
+This allows the user to customize the way in which 'dictionary-search'
+prompts for a dictionary to search in. This user option should be set
+to a function that lets the user select a dictionary and returns its
+name as a string. The new function
+'dictionary-completing-read-dictionary' can be used to prompt with
+completion based on dictionaries that the server supports.
+
+** Pp
+
+*** New 'pp-default-function' user option replaces 'pp-use-max-width'.
+
+*** New default pretty printing function, which tries to obey 'fill-column'.
+
+*** 'pp-to-string' takes an additional PP-FUNCTION argument.
+This argument specifies the prettifying algorithm to use.
+
+** Emacs Lisp mode
+
+---
+*** ',@' now has 'prefix' syntax.
+Previously, the '@' character, which normally has 'symbol' syntax,
+would combine with a following Lisp symbol and interfere with symbol
+searching.
+
+** CPerl mode
+
+---
+*** Subroutine signatures are now supported.
+CPerl mode fontifies subroutine signatures like variable declarations
+which makes them visually distinct from subroutine prototypes.
+
+
* New Modes and Packages in Emacs 30.1
@@ -296,15 +466,16 @@ A major mode based on the tree-sitter library for editing Elixir
files.
---
-** The highly accessible Modus themes collection has six items.
+** The highly accessible Modus themes collection has eight items.
The 'modus-operandi' and 'modus-vivendi' are the main themes that have
been part of Emacs since version 28. The former is light, the latter
dark. In addition to these, we now have 'modus-operandi-tinted' and
'modus-vivendi-tinted' for easier legibility, as well as
-'modus-operandi-deuteranopia' and 'modus-vivendi-deuteranopia' to
-cover the needs of users with red-green color deficiency. The Info
-manual "(modus-themes) Top" describes the details and showcases all
-their customization options.
+'modus-operandi-deuteranopia', 'modus-vivendi-deuteranopia',
+'modus-operandi-tritanopia', and 'modus-vivendi-tritanopia' to cover
+the needs of users with red-green or blue-yellow color deficiency.
+The Info manual "(modus-themes) Top" describes the details and
+showcases all their customization options.
* Incompatible Lisp Changes in Emacs 30.1
@@ -331,9 +502,25 @@ These hooks were named incorrectly, and so they never actually ran
when unloading the correspending feature. Instead, you should use
hooks named after the feature name, like 'esh-mode-unload-hook'.
++++
+** 'copy-tree' now copies records when its optional 2nd argument is non-nil.
+
++++
+** Regexp zero-width assertions followed by operators are better defined.
+Previously, regexps such as "xy\\B*" would have ill-defined behavior.
+Now any operator following a zero-width assertion applies to that
+assertion only (which is useless). For historical compatibility, an
+operator character following '^' or '\`' becomes literal, but we
+advise against relying on this.
+
* Lisp Changes in Emacs 30.1
++++
+** New user option 'safe-local-variable-directories'.
+This user option names directories in which Emacs will treat all
+directory-local variables as safe.
+
** New variable 'inhibit-auto-fill' to temporarily prevent auto-fill.
** Functions and variables to transpose sexps
@@ -459,25 +646,54 @@ This warning can be suppressed using 'with-suppressed-warnings' with
the warning name 'suspicious'.
---
+*** Warn about mutation of constant values.
+The compiler now warns about code that modifies program constants in
+some obvious cases. Examples:
+
+ (setcar '(1 2) 7)
+ (aset [3 4] 0 8)
+ (aset "abc" 1 ?d)
+
+Such code may have unpredictable behavior because the constants are
+part of the program, not data structures generated afresh during
+execution, and the compiler does not expect them to change.
+
+To avoid the warning, operate on an object created by the program
+(maybe a copy of the constant), or use a non-destructive operation
+instead.
+
+This warning can be suppressed using 'with-suppressed-warnings' with
+the warning name 'mutate-constant'.
+
+---
*** Warn about more ignored function return values.
The compiler now warns when the return value from certain functions is
-ignored. Example:
+implicitly ignored. Example:
(progn (nreverse my-list) my-list)
will elicit a warning because it is usually pointless to call
-'nreverse' on a list without using the returned value. To silence the
-warning, make use of the value in some way, such as assigning it to a
-variable. You can also wrap the function call in '(ignore ...)'.
+'nreverse' on a list without using the returned value.
-This warning can be suppressed using 'with-suppressed-warnings' with
-the warning name 'ignored-return-value'.
+To silence the warning, make use of the value in some way, such as
+assigning it to a variable. You can also wrap the function call in
+'(ignore ...)', or use 'with-suppressed-warnings' with the warning
+name 'ignored-return-value'.
+
+The warning will only be issued for calls to functions declared
+'important-return-value' or 'side-effect-free' (but not 'error-free').
+
++++
+** New function declaration and property 'important-return-value'.
+The declaration '(important-return-value t)' sets the
+'important-return-value' property which indicates that the function
+return value should probably not be thrown away implicitly.
+++
-** New function 'file-user-uid'.
-This function is like 'user-uid', but is aware of file name handlers,
-so it will return the remote UID for remote files (or -1 if the
-connection has no associated user).
+** New functions 'file-user-uid' and 'file-group-gid'.
+These functions are like 'user-uid' and 'group-gid', respectively, but
+are aware of file name handlers, so they will return the remote UID or
+GID for remote files (or -1 if the connection has no associated user).
+++
** 'fset', 'defalias' and 'defvaralias' now signal an error for cyclic aliases.
diff --git a/etc/NEWS.29 b/etc/NEWS.29
index 84dbb94a71a..9e6f0c16bcd 100644
--- a/etc/NEWS.29
+++ b/etc/NEWS.29
@@ -65,12 +65,13 @@ cloning its Git repository, compile the files "scanner.c" and
"parser.c" (sometimes named "scanner.cc" and "parser.cc") in the "src"
subdirectory of the library's source tree using the C or C++ compiler,
then link these two files into a shared library named
-"libtree-sitter-LANG.so", where LANG is the name of the language
-supported by the grammar as it is expected by the Emacs major mode
-(for example, "c" for 'c-ts-mode', "cpp" for 'c++-ts-mode', "python"
-for 'python-ts-mode', etc.). Then place the shared library you've
-built in the same directory where you keep the other shared libraries
-used by Emacs, or in the "tree-sitter" subdirectory of your
+"libtree-sitter-LANG.so" ("libtree-sitter-LANG.dll" on MS-Windows,
+"libtree-sitter-LANG.dylib" on macOS), where LANG is the name of the
+language supported by the grammar as it is expected by the Emacs major
+mode (for example, "c" for 'c-ts-mode', "cpp" for 'c++-ts-mode',
+"python" for 'python-ts-mode', etc.). Then place the shared library
+you've built in the same directory where you keep the other shared
+libraries used by Emacs, or in the "tree-sitter" subdirectory of your
'user-emacs-directory', or in a directory mentioned in the variable
'treesit-extra-load-path'.
@@ -79,6 +80,11 @@ Emacs modes you will use, as Emacs loads these libraries only when the
corresponding mode is turned on in some buffer for the first time in
an Emacs session.
+We generally recommend to use the latest versions of grammar libraries
+available from their sites, as these libraries are in constant
+development and occasionally add features and fix important bugs to
+follow the advances in the programming languages they support.
+
+++
** Emacs can be built with built-in support for accessing SQLite databases.
This uses the popular sqlite3 library, and can be disabled by using
@@ -91,24 +97,6 @@ available, and includes support for animated WebP images. To disable
WebP support, use the '--without-webp' configure flag. Image
specifiers can now use ':type webp'.
-+++
-** Emacs has been ported to the Haiku operating system.
-The configuration process should automatically detect and build for
-Haiku. There is also an optional window-system port to Haiku, which
-can be enabled by configuring Emacs with the option '--with-be-app',
-which will require the Haiku Application Kit development headers and a
-C++ compiler to be present on your system. If Emacs is not built with
-the option '--with-be-app', the resulting Emacs will only run in
-text-mode terminals.
-
-To enable Cairo support, ensure that the Cairo and FreeType
-development files are present on your system, and configure Emacs with
-'--with-be-cairo'.
-
-Unlike X, there is no compile-time option to enable or disable
-double-buffering; it is always enabled. To disable it, change the
-frame parameter 'inhibit-double-buffering' instead.
-
---
** Emacs now installs the ".pdmp" file using a unique fingerprint in the name.
The file is typically installed using a file name akin to
@@ -126,6 +114,16 @@ option '--without-xinput2' to disable this support.
'(featurep 'xinput2)' can be used to test for the presence of XInput 2
support from Lisp programs.
+---
+** Emacs can now be optionally built with the Cairo XCB backend.
+Configure Emacs with the '--with-cairo-xcb' option to use the Cairo
+XCB backend; the default is not to use it. This backend makes Emacs
+moderately faster when running over X connections with high latency,
+but is currently known to crash when Emacs repeatedly closes and opens
+a display connection to the same terminal; this could happen, for
+example, if you repeatedly visit files via emacsclient in a single
+client frame, each time deleting the frame with 'C-x C-c'.
+
+++
** Emacs now supports being built with pure GTK.
To use this option, make sure the GTK 3 (version 3.22.23 or later) and
@@ -137,7 +135,30 @@ use this configuration only if you are running a window system other
than X that's supported by GDK. Running this configuration on X is
known to have problems, such as undesirable frame positioning and
various issues with keyboard input of sequences such as 'C-;' and
-'C-S-u'.
+'C-S-u'. Running this on WSL is also known to have problems.
+
+Note that, unlike the X build of Emacs, the PGTK build cannot
+automatically switch to text-mode interface (thus emulating '-nw') if
+it cannot determine the default display; it will instead complain and
+ask you to invoke it with the explicit '-nw' option.
+
++++
+** Emacs has been ported to the Haiku operating system.
+The configuration process should automatically detect and build for
+Haiku. There is also an optional window-system port to Haiku, which
+can be enabled by configuring Emacs with the option '--with-be-app',
+which will require the Haiku Application Kit development headers and a
+C++ compiler to be present on your system. If Emacs is not built with
+the option '--with-be-app', the resulting Emacs will only run in
+text-mode terminals.
+
+To enable Cairo support, ensure that the Cairo and FreeType
+development files are present on your system, and configure Emacs with
+'--with-be-cairo'.
+
+Unlike X, there is no compile-time option to enable or disable
+double-buffering; it is always enabled. To disable it, change the
+frame parameter 'inhibit-double-buffering' instead.
---
** Emacs no longer reduces the size of the Japanese dictionary.
@@ -205,7 +226,7 @@ ones for the current Emacs version). Note that subdirectories of the
system directory where the "*.eln" files are installed (usually, the
last entry in 'native-comp-eln-load-path') are not deleted.
----
++++
*** New function 'startup-redirect-eln-cache'.
This function can be called in your init files to change the
user-specific directory where Emacs stores the "*.eln" files produced
@@ -218,13 +239,13 @@ of 'user-emacs-directory'.
+++
** The image commands have changed key bindings.
-In previous Emacs versions, images have had the '+', '-' and 'r' keys
-bound when point is over an image. In Emacs 29.1, additional commands
-were added, and this made it more likely that users would trigger the
-image commands by mistake. To avoid this, all image commands have
+In previous Emacs versions, the '+', '-' and 'r' keys were bound when
+point was over an image. In Emacs 29.1, additional commands have been
+added, and this made it more likely that users would trigger the image
+commands by mistake. To avoid this, all image commands have been
moved to the 'i' prefix keymap, so '+' is now 'i +', '-' is now 'i -',
and 'r' is now 'i r'. In addition, these commands are now repeating,
-so, for example, you can rotate an image twice by typing 'i r r'.
+so you can rotate an image twice by saying 'i r r', for instance.
+++
** Emacs now picks the correct coding-system for X input methods.
@@ -380,7 +401,7 @@ this user option to nil to revert back to the old behavior.
---
** Support for old EIEIO functions is not autoloaded any more.
You need an explicit '(require 'eieio-compat)' to use 'defmethod'
-and 'defgeneric' (which have been made obsolete in Emacs 25.1 with
+and 'defgeneric' (which were made obsolete in Emacs 25.1 by
'cl-defmethod' and 'cl-defgeneric').
Similarly you might need to '(require 'eieio-compat)' before loading
files that were compiled with an old EIEIO (Emacs<25).
@@ -497,7 +518,7 @@ the 'nlinum' package from GNU ELPA instead. The former has better
performance, but the latter is closer to a drop-in replacement.
1. To use 'display-line-numbers-mode', add something like this to your
- Init file:
+ init file:
(global-display-line-numbers-mode 1)
;; Alternatively, to use it only in programming modes:
@@ -517,7 +538,7 @@ performance, but the latter is closer to a drop-in replacement.
---
** The thumbs.el library is now obsolete.
-We recommend using command 'image-dired' instead.
+We recommend using the 'image-dired' command instead.
---
** The autoarg.el library is now marked obsolete.
@@ -577,7 +598,7 @@ encoding, only for decoding.
** New user option 'major-mode-remap-alist' to specify favorite major modes.
This user option lets you remap the default modes (e.g. 'perl-mode' or
'latex-mode') to your favorite ones (e.g. 'cperl-mode' or
-'LaTeX-mode') without having to use 'defalias', which can have
+'LaTeX-mode') instead of having to use 'defalias', which can have
undesirable side effects.
This applies to all modes specified via 'auto-mode-alist', file-local
variables, etc.
@@ -587,6 +608,8 @@ variables, etc.
---
** New user option 'electric-quote-replace-consecutive'.
+This allows you to disable the default behavior of consecutive single
+quotes being replaced with a double quote.
---
** Emacs is now capable of editing files with very long lines.
@@ -673,7 +696,9 @@ between these modes while the user is inputting a command by hitting
'duplicate-line' duplicates the current line the specified number of times.
'duplicate-dwim' duplicates the region if it is active. If not, it
works like 'duplicate-line'. An active rectangular region is
-duplicated on its right-hand side.
+duplicated on its right-hand side. The new user option
+'duplicate-line-final-position' specifies where to move point
+after duplicating a line.
---
** Files with the ".eld" extension are now visited in 'lisp-data-mode'.
@@ -801,7 +826,7 @@ element: 'set-minibuffer-message', which displays echo-area messages
at the end of the minibuffer text when the minibuffer is active.
Other useful functions include 'inhibit-message', which allows
specifying, via 'inhibit-message-regexps', the list of messages whose
-display shall be inhibited; and 'set-multi-message' that accumulates
+display should be inhibited; and 'set-multi-message' that accumulates
recent messages and displays them stacked together.
---
@@ -855,17 +880,17 @@ This value stands for the value of the corresponding attribute of the
inheriting from other faces.
+++
-** New X resource: "borderThickness".
+** New X resource "borderThickness".
This controls the thickness of the external borders of the menu bars
and pop-up menus.
+++
-** New X resource: "inputStyle".
+** New X resource "inputStyle".
This controls the style of the pre-edit and status areas of X input
methods.
+++
-** New X resources: "highlightForeground" and "highlightBackground".
+** New X resources "highlightForeground" and "highlightBackground".
Only in the Lucid build, this controls colors used for highlighted
menu item widgets.
@@ -902,7 +927,7 @@ frame's contents will be hidden, leaving only the title bar on display.
---
** New user option 'x-gtk-use-native-input'.
This controls whether or not GTK input methods are used by Emacs,
-instead of XIM input methods.
+instead of XIM input methods. Defaults to nil.
+++
** New user option 'use-system-tooltips'.
@@ -999,17 +1024,17 @@ combinations in a graphical menu system.
+++
*** New command 'emoji-search' (bound to 'C-x 8 e s').
-This command lets you search for Emoji based on names.
+This command lets you search for and insert an Emoji based on names.
+++
*** New command 'emoji-list' (bound to 'C-x 8 e l').
This command lists all Emoji (categorized by themes) in a special
-buffer and lets you choose one of them.
+buffer and lets you choose one of them to insert.
---
*** New command 'emoji-recent' (bound to 'C-x 8 e r').
This command lets you choose among the Emoji you have recently
-inserted.
+inserted and insert it.
+++
*** New command 'emoji-describe' (bound to 'C-x 8 e d').
@@ -1043,7 +1068,7 @@ quotes removed.
---
*** 'M-x apropos-variable' output now includes values of variables.
-Such apropos buffer is more easily viewed with outlining after
+Such an apropos buffer is more easily viewed with outlining after
enabling 'outline-minor-mode' in 'apropos-mode'.
+++
@@ -1075,7 +1100,7 @@ This has been changed to:
+++
*** The 'C-h .' command now accepts a prefix argument.
'C-u C-h .' would previously inhibit displaying a warning message if
-there's no local help at point. This has been changed to call
+there was no local help at point. This has been changed to call
'button-describe'/'widget-describe' and display button/widget help
instead.
@@ -1128,7 +1153,7 @@ helpful commands for various tasks. You can toggle the display using
'C-h C-q'.
** Emacs now comes with Org v9.6.
-See the file "ORG-NEWS" for user-visible changes in Org.
+See the file "etc/ORG-NEWS" for user-visible changes in Org.
** Outline Mode
@@ -1191,12 +1216,13 @@ the display of several buffers in a row more amenable.
+++
*** New buffer display action alist entry 'lru-frames'.
-This allows to specify which frames 'display-buffer' should consider
-when using a window that shows another buffer.
+This allows specifying which frames 'display-buffer' should consider
+when using a window that shows another buffer. It is interpreted as
+per the ALL-FRAMES argument of 'get-lru-window'.
+++
*** New buffer display action alist entry 'lru-time'.
-'display-buffer' will ignore windows with a use time higher than that
+'display-buffer' will ignore windows with a use time higher than this
when using a window that shows another buffer.
+++
@@ -1206,12 +1232,14 @@ making it a less likely candidate for displaying another buffer.
+++
*** New buffer display action alist entry 'window-min-width'.
-This allows to specify a minimum width of the window used to display a
-buffer.
+This allows specifying a preferred minimum width of the window used to
+display a buffer.
---
-*** You can customize on which window 'scroll-other-window' operates.
-This is controlled by the new 'other-window-scroll-default' variable.
+*** You can specify on which window 'scroll-other-window' operates.
+This is controlled by the new 'other-window-scroll-default' variable,
+which should be set to a function that returns a window. When this
+variable is nil, 'next-window' is used.
** Frames
@@ -1274,17 +1302,19 @@ respond within N seconds. The default is to wait forever.
+++
*** 'server-stop-automatically' can be used to automatically stop the server.
The Emacs server will be automatically stopped when certain conditions
-are met. The conditions are given by the argument, which can be
-'empty', 'delete-frame' or 'kill-terminal'.
+are met. The conditions are determined by the argument to
+'server-stop-automatically', which can be 'empty', 'delete-frame' or
+'kill-terminal'.
** Rcirc
+++
*** New command 'rcirc-when'.
+This shows the reception time of the message at point (if available).
+++
*** New user option 'rcirc-cycle-completion-flag'.
-Rcirc will use the default 'completion-at-point' mechanism. The
+Rcirc now uses the default 'completion-at-point' mechanism. The
conventional IRC behavior of completing by cycling through the
available options can be restored by enabling this option.
@@ -1539,6 +1569,10 @@ environments are:
Coptic script and language environment
+ Mongolian-traditional script and language environment
+
+ Mongolian-cyrillic language environment
+
---
*** The "Oriya" language environment was renamed to "Odia".
This is to follow the change in the official name of the script. The
@@ -1552,7 +1586,10 @@ Type 'C-u C-h t' to select it in case your language setup does not do
so automatically.
---
-*** New Ukrainian translation of the Emacs Tutorial.
+*** New Ukrainian translation of the Emacs tutorial.
+
+---
+*** New Farsi/Persian translation of the Emacs tutorial.
---
*** New default phonetic input method for the Tamil language environment.
@@ -1580,7 +1617,8 @@ script.
---
*** New input method 'cyrillic-mongolian'.
This input method is for typing in the Mongolian language using the
-Cyrillic script.
+Cyrillic script. It is the default input method for the new
+Mongolian-cyrillic language environment, see above.
* Changes in Specialized Modes and Packages in Emacs 29.1
@@ -1663,6 +1701,13 @@ the following to your Init file:
This command visits the file on the current line with EWW.
---
+*** 'browse-url-of-dired-file' can now call the secondary browser.
+When invoked with a prefix arg, this will now call
+'browse-url-secondary-browser-function' instead of the default
+browser. 'browse-url-of-dired-file' is bound to 'W' by default in
+dired mode.
+
+---
*** New user option 'dired-omit-lines'.
This is used by 'dired-omit-mode', and now allows you to hide based on
other things than just the file names.
@@ -1739,7 +1784,7 @@ or can take a long time to render.
+++
*** New command 'enriched-toggle-markup'.
This allows you to see the markup in 'enriched-mode' buffers (e.g.,
-the "HELLO" file).
+the "HELLO" file). Bound to 'M-o m' by default.
** Shell Script Mode
@@ -1828,13 +1873,18 @@ this includes "binary" buffers like 'archive-mode' and 'image-mode'.
** Package
+++
-*** New command 'package-update'.
-This command allows you to upgrade packages without using 'M-x
-list-packages'.
+*** New command 'package-upgrade'.
+This command allows you to upgrade packages without using 'list-packages'.
+A package that comes with the Emacs distribution can only be upgraded
+after you install, once, a newer version from ELPA via the
+package-menu displayed by 'list-packages'.
+++
-*** New command 'package-update-all'.
-This command allows updating all packages without any queries.
+*** New command 'package-upgrade-all'.
+This command allows upgrading all packages without any queries.
+A package that comes with the Emacs distribution will only be upgraded
+by this command after you install, once, a newer version of that
+package from ELPA via the package-menu displayed by 'list-packages'.
+++
*** New commands 'package-recompile' and 'package-recompile-all'.
@@ -1844,7 +1894,9 @@ These commands can be useful if the ".elc" files are out of date
+++
*** New DWIM action on 'x' in "*Packages*" buffer.
If no packages are marked, 'x' will install the package under point if
-it isn't already, and remove it if it is installed.
+it isn't already, and remove it if it is installed. Customize the new
+option 'package-menu-use-current-if-no-marks' to the nil value to get
+back the old behavior of signaling an error in that case.
+++
*** New command 'package-vc-install'.
@@ -1869,13 +1921,33 @@ packages checked out using 'package-vc-install'.
+++
*** New command 'package-report-bug'.
This command helps you compose an email for sending bug reports to
-package maintainers.
+package maintainers, and is bound to 'b' in the "*Packages*" buffer.
+++
*** New user option 'package-vc-selected-packages'.
By customizing this user option you can specify specific packages to
install.
+---
+*** New user option 'package-install-upgrade-built-in'.
+When enabled, 'package-install' will include in the list of
+upgradeable packages those built-in packages (like Eglot and
+use-package, for example) for which a newer version is available in
+package archives, and will allow installing those newer versions. By
+default, this is disabled; however, if 'package-install' is invoked
+with a prefix argument, it will act as if this new option were
+enabled.
+
+In addition, when this option is non-nil, built-in packages for which
+a new version is available in archives can be upgraded via the package
+menu produced by 'list-packages'. If you do set this option non-nil,
+we recommend not to use the 'U' command, but instead to use '/ u' to
+show the packages which can be upgraded, and then decide which ones of
+them you actually want to update from the archives.
+
+If you customize this option, we recommend you place its non-default
+setting in your early-init file.
+
** Emacs Sessions (Desktop)
+++
@@ -1933,8 +2005,8 @@ displayed in a window.
+++
*** New user option 'compilation-hidden-output'.
-This can be used to make specific parts of compilation output
-invisible.
+This regular expression can be used to make specific parts of
+compilation output invisible.
+++
*** The 'compilation-auto-jump-to-first-error' user option has been extended.
@@ -2317,7 +2389,7 @@ EUDC inline expansion result formatting defaulted to
("%s %s <%s>" firstname name email)
Since email address specifications need to comply with RFC 5322 in
-order to be useful in messages, there was a risk to produce syntax
+order to be useful in messages, there was a risk of producing syntax
which was standard with RFC 822, but is marked as obsolete syntax by
its successor RFC 5322. Also, the first and last name part was never
enclosed in double quotes, potentially producing invalid address
@@ -2351,8 +2423,8 @@ used to select the entry type in the ecomplete database.
+++
*** New back-end for mailabbrev.
A new back-end for mailabbrev allows information from that database to
-be queried by EUDC, too. The attributes 'email', 'name', and 'firstname'
-are supported only.
+be queried by EUDC, too. Only the attributes 'email', 'name', and
+'firstname' are supported.
** EWW/SHR
@@ -2599,14 +2671,14 @@ as opposed to via the command-line.
+++
*** New command 'image-transform-fit-to-window'.
This command fits the image to the current window by scaling down or
-up as necessary. Unlike 'image-transform-fit-both', this does not
-only scale the image down, but up as well. It is bound to 's w' in
-Image Mode by default.
+up as necessary. Unlike 'image-transform-fit-both', this can scale
+the image up as well as down. It is bound to 's w' in Image Mode by
+default.
---
*** New command 'image-mode-wallpaper-set'.
This command sets the desktop background to the current image. It is
-bound to 'W' by default.
+bound to 'W' in Image Mode by default.
+++
*** 'image-transform-fit-to-{height,width}' are now obsolete.
@@ -2624,14 +2696,14 @@ much (in percent). It is nil by default, which means no limit.
---
*** New user option 'image-text-based-formats'.
-This controls whether or not to show a message when opening certain
-image formats saying how to edit it as text. The default is to show
-this message for SVG and XPM.
+This controls whether or not to show a message, when opening certain
+image formats, explaining how to edit it as text. The default is to
+show this message for SVG and XPM.
+++
*** New command 'image-transform-set-percent'.
-It allows setting the image size to a percentage of its original size,
-and is bound to 's p' in Image mode.
+It allows resizing the image to a percentage of its original size, and
+is bound to 's p' in Image mode.
+++
*** 'image-transform-original' renamed to 'image-transform-reset-to-original'.
@@ -2644,7 +2716,7 @@ The old name was confusing, and is now an obsolete function alias.
** Images
+++
-** New commands 'image-crop' and 'image-cut'.
+*** New commands 'image-crop' and 'image-cut'.
These commands allow interactively cropping/cutting the image at
point. The commands are bound to keys 'i c' and 'i x' (respectively)
in the local keymap over images. They rely on external programs, by
@@ -2652,7 +2724,7 @@ default "convert" from ImageMagick, to do the actual cropping/eliding
of the image file.
+++
-*** New commands: 'image-flip-horizontally' and 'image-flip-vertically'.
+*** New commands 'image-flip-horizontally' and 'image-flip-vertically'.
These commands horizontally and vertically flip the image under point,
and are bound to 'i h' and 'i v', respectively.
@@ -3244,6 +3316,10 @@ based on data provided by language servers using the Language Server
Protocol (LSP). See the new Info manual "(eglot) Top" for more. Also
see "etc/EGLOT-NEWS".
+If you want to be able to use 'package-install' to upgrade Eglot to
+newer versions released on GNU ELPA, customize the new option
+'package-install-upgrade-built-in' to a non-nil value.
+
+++
** use-package: Declarative package configuration.
use-package is now shipped with Emacs. It provides the 'use-package'
@@ -3251,6 +3327,10 @@ macro, which allows you to isolate package configuration in your init
file in a way that is declarative, tidy, and performance-oriented.
See the new Info manual "(use-package) Top" for more.
+If you want to be able to use 'package-install' to upgrade use-package
+to newer versions released on GNU ELPA, customize the new option
+'package-install-upgrade-built-in' to a non-nil value.
+
---
** New package 'wallpaper'.
This package provides the command 'wallpaper-set', which sets the
@@ -3823,6 +3903,19 @@ The following generalized variables have been made obsolete:
'standard-case-table', 'syntax-table', 'visited-file-modtime',
'window-height', 'window-width', and 'x-get-secondary-selection'.
+---
+** The 'dotimes' loop variable can no longer be manipulated in the loop body.
+Previously, the 'dotimes' loop counter could be modified inside the
+loop body, but only in code using dynamic binding. Now the behavior
+is the same as when using lexical binding: changes to the loop
+variable have no effect on subsequent iterations. That is,
+
+ (dotimes (i 10)
+ (print i)
+ (setq i (+ i 6)))
+
+now always prints the numbers 0 .. 9.
+
* Lisp Changes in Emacs 29.1
@@ -3915,9 +4008,9 @@ connection-local profile.
+++
*** New macro 'with-connection-local-application-variables'.
This macro works like 'with-connection-local-variables', but it allows
-to use another application but 'tramp'. This is useful when running
-code in a buffer where Tramp has already set some connection-local
-variables.
+using another application instead of 'tramp'. This is useful when
+running code in a buffer where Tramp has already set some
+connection-local variables.
+++
*** New macro 'setq-connection-local'.
@@ -3996,8 +4089,8 @@ This returns a list of sub-sequences of the specified sequence.
+++
*** New function 'seq-remove-at-position'.
-This function returns a copy of the specified sequence where the
-element at a given (zero-based) index got removed.
+This function returns a copy of the specified sequence with the
+element at a given (zero-based) index removed.
+++
*** New function 'seq-positions'.
@@ -4065,7 +4158,7 @@ that quote character has to be escaped to avoid Emacs displaying it as
(setq foo '(1 2 3))
-invalid. Emacs will now warn during byte compilation if it seems
+invalid. Emacs will now warn during byte compilation if it sees
something like that, and also warn about when using RIGHT/LEFT SINGLE
QUOTATION MARK directly. In both these cases, if these characters
should really be present in the docstring, they should be quoted with
@@ -4125,7 +4218,7 @@ example for benchmarking purposes.
** New function 'string-edit'.
This is meant to be used when the user has to edit a (potentially)
long string. It pops up a new buffer where you can edit the string,
-and a callback is called when the user types 'C-c C-c'.
+and the provided callback is called when the user types 'C-c C-c'.
+++
** New function 'read-string-from-buffer'.
@@ -4271,7 +4364,7 @@ them towards or away from each other.
+++
** New hook 'x-pre-popup-menu-hook'.
-This hook, run before 'x-popup-menu', is about to display a
+This hook is run before 'x-popup-menu' is about to display a
deck-of-cards menu on screen.
---
@@ -4372,8 +4465,8 @@ switch to these new functions.
+++
*** 'define-key' now takes an optional REMOVE argument.
If non-nil, remove the definition from the keymap. This is subtly
-different from setting a definition to nil (when the keymap has a
-parent).
+different from setting a definition to nil: when the keymap has a
+parent such a definition will shadow the parent's definition.
+++
*** 'read-multiple-choice' now takes an optional SHOW-HELP argument.
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 928870c42f6..9bdfe2329ba 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -516,6 +516,13 @@ directory copy is ineffective.
This is due to an arbitrary limit in certain versions of awk.
The solution is to use gawk (GNU awk).
+*** Saving, via EasyPG, a file encrypted with GnuPG hangs
+
+This is known to happen with GnuPG v2.4.1. The only known workaround
+is to downgrade to a version of GnuPG older than 2.4.1 (or, in the
+future, upgrade to a newer version which solves the problem, when such
+a fixed version becomes available).
+
** Problems with hostname resolution
*** Emacs does not know your host's fully-qualified domain name.
@@ -1700,7 +1707,7 @@ which can be carried out at the same time:
forwarded X connection (ssh -XC remotehostname emacs ...).
Keep in mind that this does not help with latency problems, only
- andwidth ones.
+ bandwidth ones.
5) Use lbxproxy on the remote end of the connection. This is an
interface to the low bandwidth X extension in some outdated X
@@ -2708,6 +2715,15 @@ Emacs so that it isn't compiled with '-O5'.
We list bugs in current versions here. See also the section on legacy
systems.
+*** On Solaris 10, running 'configure' with "/bin/sh" produces errors.
+The "/bin/sh" shell on Solaris is an ancient and non-POSIX shell, so
+we recommend not to use it. The Emacs 'configure' script should find
+an appropriate shell and re-exec itself with that shell, unless you
+force it to use "/bin/sh" by using "CONFIG_SHELL=/bin/sh" on the
+'configure' command line. So either don't use CONFIG_SHELL, or, if
+you'd rather pick the shell yourself, choose "/bin/bash" or "/bin/ksh"
+or "/usr/xpg4/bin/sh" instead.
+
*** On Solaris 10 sparc, Emacs crashes during the build while saving state.
This was observed for Emacs 28.1 on Solaris 10 32-bit sparc, with
Oracle Developer Studio 12.6 (Sun C 5.15). The failure was intermittent,
@@ -2734,6 +2750,59 @@ C-r C-t, to toggle whether C-x gets through to Emacs.
* Runtime problems specific to MS-Windows
+** Emacs with native compilation crashes/signals errors accessing *.eln files
+
+This is known to be caused by some flavors of Windows anti-virus
+software. The problem could manifest itself in several ways:
+
+ . Emacs crashes when it tries to load certain *.eln files
+ . Emacs signals an error when it tries to load some *.eln files,
+ claiming they are "not GPL compatible"
+ . Emacs crashes during GC when it calls unload_comp_unit
+
+This was specifically reported to happen with *.eln files in
+directories under the C:\Users directory, which is where Emacs on
+Windows places the emulated HOME directory, and thus also the
+~/.emacs.d/eln-cache directory holding the *.eln files compiled during
+Emacs sessions (as opposed to those that came precompiled and were
+installed with the rest of Emacs distribution).
+
+If you cannot disable such anti-virus software or switch to another
+one, you could use the following workarounds:
+
+ . Define the HOME environment variable to point to a directory
+ outside of the C:\Users tree, then copy/move your ~/.emacs.d
+ directory to that new home directory.
+ . Move all the *.eln files from ~/.emacs.d/eln-cache to a directory
+ out of the C:\Users tree, and customize Emacs to use that
+ directory for *.eln files. This requires to call the function
+ startup-redirect-eln-cache in your init file, to force Emacs to
+ write *.eln files compiled at run time to that directory.
+ . Delete all *.eln files in your ~/.emacs.d/eln-cache directory, and
+ then disable run-time native compilation. To disable native
+ compilation, set the variables native-comp-jit-compilation and
+ native-comp-enable-subr-trampolines to nil.
+ . Install Emacs built without native compilation.
+
+With any of the above methods, you'd need to restart Emacs (and
+preferably also your Windows system) after making the changes, to have
+them take effect.
+
+*** MinGW64 Emacs built with -D_FORTIFY_SOURCE=2 misbehaves
+
+Using this preprocessor option when building Emacs with MinGW64
+produces an Emacs binary that behaves incorrectly. In particular,
+running asynchronous shell command, e.g., with 'M-&', causes Emacs to
+use 100% of CPU and start allocating a lot of memory. For the same
+reason, asynchronous native-compilation will hang Emacs (which could
+wedge Emacs during startup, if your Emacs is configured to download
+and install packages via package.el every startup). 'M-x run-python',
+'M-x shell', and similar commands also hang. Other commands might
+also cause high CPU and/or memory usage.
+
+The workaround is to rebuild Emacs without the -D_FORTIFY_SOURCE=2
+option.
+
** Emacs on Windows 9X requires UNICOWS.DLL
If that DLL is not available, Emacs will display an error dialog
@@ -3388,6 +3457,39 @@ See
https://lists.gnu.org/r/emacs-devel/2010-07/msg01266.html
+*** Building the MS-Windows port with native compilation fails
+
+This is known to happen when using MinGW64 GCC 13.1, and seems to
+affect byte-compilation: the built Emacs crashes while byte-compiling
+some Lisp files. (This doesn't happen when building a release
+tarball, because all the Lisp files are already byte-compiled there,
+but then Emacs could crash later when you use it to byte-compile your
+or third-party Lisp packages.)
+
+The reason seems to be specific to MS-Windows or the MinGW64 port of
+GCC 13.1, and is somehow related to optimizations in this GCC version.
+There are several known workarounds:
+
+ . Use non-default optimization flags. For example, configuring the
+ build like this will avoid the problem:
+
+ CFLAGS='-O1 -gdwarf-4 -g3' ./configure ...
+
+ (replace the ellipsis "..." with the rest of 'configure' options
+ and arguments).
+
+ . Prevent GCC from performing a specific optimization:
+
+ CFLAGS='-O2 -gdwarf-4 -g3 -fno-optimize-sibling-calls' ./configure ...
+
+ This is actually a variant of the previous workaround, except that
+ it allows you to have almost the full set of optimizations used by
+ -O2.
+
+ . Downgrade to GCC 12.x.
+
+ . Build Emacs without native compilation.
+
*** Building the native MS-Windows port fails due to unresolved externals
The linker error messages look like this:
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index f8894d9dc1c..07463ee6a33 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
% Reference Card for Org Mode
-\def\orgversionnumber{9.6.3}
+\def\orgversionnumber{9.6.6}
\def\versionyear{2023} % latest update
\input emacsver.tex
diff --git a/etc/themes/modus-operandi-deuteranopia-theme.el b/etc/themes/modus-operandi-deuteranopia-theme.el
index fff62e3da9f..5817d8f674c 100644
--- a/etc/themes/modus-operandi-deuteranopia-theme.el
+++ b/etc/themes/modus-operandi-deuteranopia-theme.el
@@ -1,4 +1,4 @@
-;;; modus-operandi-deuteranopia-theme.el --- Elegant, highly legible and customizable light theme -*- lexical-binding:t -*-
+;;; modus-operandi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a white background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
@@ -44,7 +44,7 @@
(require 'modus-themes))
(deftheme modus-operandi-deuteranopia
- "Elegant, highly legible and customizable light theme.
+ "Deuteranopia-optimized theme with a white background.
This variant is optimized for users with red-green color
deficiency (deuteranopia). It conforms with the highest
legibility standard for color contrast between background and
@@ -77,9 +77,9 @@ standard).")
(green-cooler "#00663f")
(green-faint "#2a5045")
(green-intense "#008900")
- (yellow "#7b5000")
- (yellow-warmer "#884900")
- (yellow-cooler "#7a4f2f")
+ (yellow "#695500")
+ (yellow-warmer "#973300")
+ (yellow-cooler "#77492f")
(yellow-faint "#624416")
(yellow-intense "#808000")
(blue "#0031a9")
@@ -139,10 +139,10 @@ standard).")
;;; Graphs
- (bg-graph-red-0 "#b0b029")
+ (bg-graph-red-0 "#d0b029")
(bg-graph-red-1 "#e0cab4")
- (bg-graph-green-0 "#90b7c0")
- (bg-graph-green-1 "#a3dfe5")
+ (bg-graph-green-0 "#8ad080")
+ (bg-graph-green-1 "#afdfa5")
(bg-graph-yellow-0 "#ffcf00")
(bg-graph-yellow-1 "#f9ff00")
(bg-graph-blue-0 "#7f9fff")
@@ -223,17 +223,24 @@ standard).")
(identifier yellow-faint)
(err yellow-warmer)
- (warning yellow-cooler)
+ (warning yellow)
(info blue)
(underline-err yellow-intense)
(underline-warning magenta-faint)
(underline-note cyan)
+ (bg-prominent-err bg-yellow-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-magenta-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
;;;; Code mappings
(builtin magenta-warmer)
- (comment yellow)
+ (comment yellow-cooler)
(constant blue-cooler)
(docstring green-faint)
(docmarkup magenta-faint)
@@ -278,6 +285,7 @@ standard).")
(date-event fg-alt)
(date-holiday yellow-warmer)
(date-now blue-faint)
+ (date-range fg-alt)
(date-scheduled yellow-cooler)
(date-weekday cyan)
(date-weekend yellow-faint)
@@ -307,13 +315,22 @@ standard).")
(mail-cite-0 blue-warmer)
(mail-cite-1 yellow)
- (mail-cite-2 blue-cooler)
+ (mail-cite-2 cyan-faint)
(mail-cite-3 yellow-faint)
(mail-part blue)
(mail-recipient blue)
- (mail-subject yellow-warmer)
+ (mail-subject yellow-cooler)
(mail-other cyan-faint)
+;;;; Mark mappings
+
+ (bg-mark-delete bg-yellow-subtle)
+ (fg-mark-delete yellow)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-magenta-subtle)
+ (fg-mark-other magenta)
+
;;;; Prompt mappings
(fg-prompt blue)
@@ -344,6 +361,12 @@ standard).")
(rainbow-7 yellow-faint)
(rainbow-8 cyan)
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-yellow-intense)
+
;;;; Heading mappings
(fg-heading-0 cyan-cooler)
diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el
index 0705f926de6..9a69e3290b7 100644
--- a/etc/themes/modus-operandi-theme.el
+++ b/etc/themes/modus-operandi-theme.el
@@ -1,4 +1,4 @@
-;;; modus-operandi-theme.el --- Elegant, highly legible and customizable light theme -*- lexical-binding:t -*-
+;;; modus-operandi-theme.el --- Elegant, highly legible theme with a white background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
@@ -44,7 +44,7 @@
(require 'modus-themes))
(deftheme modus-operandi
- "Elegant, highly legible and customizable light theme.
+ "Elegant, highly legible theme with a white background.
Conforms with the highest legibility standard for color contrast
between background and foreground in any given piece of text,
which corresponds to a minimum contrast in relative luminance of
@@ -139,11 +139,11 @@ which corresponds to a minimum contrast in relative luminance of
(bg-graph-red-0 "#ef7969")
(bg-graph-red-1 "#ffaab4")
- (bg-graph-green-0 "#4faa09")
- (bg-graph-green-1 "#8fef00")
+ (bg-graph-green-0 "#2fe029")
+ (bg-graph-green-1 "#75ef30")
(bg-graph-yellow-0 "#ffcf00")
(bg-graph-yellow-1 "#f9ff00")
- (bg-graph-blue-0 "#7090ff")
+ (bg-graph-blue-0 "#7f90ff")
(bg-graph-blue-1 "#9fc6ff")
(bg-graph-magenta-0 "#e07fff")
(bg-graph-magenta-1 "#fad0ff")
@@ -228,6 +228,13 @@ which corresponds to a minimum contrast in relative luminance of
(underline-warning yellow-intense)
(underline-note cyan-intense)
+ (bg-prominent-err bg-red-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-yellow-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
;;;; Code mappings
(builtin magenta-warmer)
@@ -274,8 +281,9 @@ which corresponds to a minimum contrast in relative luminance of
(date-common cyan)
(date-deadline red)
(date-event fg-alt)
- (date-holiday magenta)
+ (date-holiday red-cooler)
(date-now fg-main)
+ (date-range fg-alt)
(date-scheduled yellow-warmer)
(date-weekday cyan)
(date-weekend red-faint)
@@ -312,6 +320,15 @@ which corresponds to a minimum contrast in relative luminance of
(mail-subject magenta-warmer)
(mail-other magenta-faint)
+;;;; Mark mappings
+
+ (bg-mark-delete bg-red-subtle)
+ (fg-mark-delete red)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-yellow-subtle)
+ (fg-mark-other yellow)
+
;;;; Prompt mappings
(fg-prompt cyan-cooler)
@@ -342,6 +359,12 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-red-intense)
+
;;;; Heading mappings
(fg-heading-0 cyan-cooler)
diff --git a/etc/themes/modus-operandi-tinted-theme.el b/etc/themes/modus-operandi-tinted-theme.el
index 4bb820cf686..341a7d29e84 100644
--- a/etc/themes/modus-operandi-tinted-theme.el
+++ b/etc/themes/modus-operandi-tinted-theme.el
@@ -1,4 +1,4 @@
-;;; modus-operandi-tinted-theme.el --- Elegant, highly legible and customizable light theme -*- lexical-binding:t -*-
+;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ochre background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
@@ -43,7 +43,7 @@
(require 'modus-themes))
(deftheme modus-operandi-tinted
- "Elegant, highly legible and customizable light theme.
+ "Elegant, highly legible theme with a light ochre background.
Conforms with the highest legibility standard for color contrast
between background and foreground in any given piece of text,
which corresponds to a minimum contrast in relative luminance of
@@ -138,11 +138,11 @@ which corresponds to a minimum contrast in relative luminance of
(bg-graph-red-0 "#ef7969")
(bg-graph-red-1 "#ffaab4")
- (bg-graph-green-0 "#4faa09")
- (bg-graph-green-1 "#8fef00")
+ (bg-graph-green-0 "#2fe029")
+ (bg-graph-green-1 "#75ef30")
(bg-graph-yellow-0 "#ffcf00")
(bg-graph-yellow-1 "#f9ff00")
- (bg-graph-blue-0 "#7090ff")
+ (bg-graph-blue-0 "#7f90ff")
(bg-graph-blue-1 "#9fc6ff")
(bg-graph-magenta-0 "#e07fff")
(bg-graph-magenta-1 "#fad0ff")
@@ -227,6 +227,13 @@ which corresponds to a minimum contrast in relative luminance of
(underline-warning yellow-intense)
(underline-note cyan-intense)
+ (bg-prominent-err bg-red-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-yellow-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
;;;; Code mappings
(builtin magenta-warmer)
@@ -273,8 +280,9 @@ which corresponds to a minimum contrast in relative luminance of
(date-common cyan)
(date-deadline red)
(date-event fg-alt)
- (date-holiday magenta)
+ (date-holiday red-cooler)
(date-now fg-main)
+ (date-range fg-alt)
(date-scheduled yellow-warmer)
(date-weekday cyan)
(date-weekend red-faint)
@@ -311,6 +319,15 @@ which corresponds to a minimum contrast in relative luminance of
(mail-subject magenta-warmer)
(mail-other magenta-faint)
+;;;; Mark mappings
+
+ (bg-mark-delete bg-red-subtle)
+ (fg-mark-delete red)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-yellow-subtle)
+ (fg-mark-other yellow)
+
;;;; Prompt mappings
(fg-prompt cyan-cooler)
@@ -341,6 +358,12 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-red-intense)
+
;;;; Heading mappings
(fg-heading-0 cyan-cooler)
diff --git a/etc/themes/modus-operandi-tritanopia-theme.el b/etc/themes/modus-operandi-tritanopia-theme.el
new file mode 100644
index 00000000000..5d143fa7514
--- /dev/null
+++ b/etc/themes/modus-operandi-tritanopia-theme.el
@@ -0,0 +1,442 @@
+;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a white background -*- lexical-binding:t -*-
+
+;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
+;; URL: https://git.sr.ht/~protesilaos/modus-themes
+;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
+;; Keywords: faces, theme, accessibility
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; The Modus themes conform with the highest standard for
+;; color-contrast accessibility between background and foreground
+;; values (WCAG AAA). Please refer to the official Info manual for
+;; further documentation (distributed with the themes, or available
+;; at: <https://protesilaos.com/emacs/modus-themes>).
+
+;;; Code:
+
+
+
+(eval-and-compile
+ (unless (and (fboundp 'require-theme)
+ load-file-name
+ (equal (file-name-directory load-file-name)
+ (expand-file-name "themes/" data-directory))
+ (require-theme 'modus-themes t))
+ (require 'modus-themes))
+
+ (deftheme modus-operandi-tritanopia
+ "Tritanopia-optimized theme with a white background.
+This variant is optimized for users with blue-yellow color
+deficiency (tritanopia). It conforms with the highest
+legibility standard for color contrast between background and
+foreground in any given piece of text, which corresponds to a
+minimum contrast in relative luminance of 7:1 (WCAG AAA
+standard).")
+
+ (defconst modus-operandi-tritanopia-palette
+ '(
+;;; Basic values
+
+ (bg-main "#ffffff")
+ (bg-dim "#f0f0f0")
+ (fg-main "#000000")
+ (fg-dim "#595959")
+ (fg-alt "#193668")
+ (bg-active "#c4c4c4")
+ (bg-inactive "#e0e0e0")
+ (border "#9f9f9f")
+
+;;; Common accent foregrounds
+
+ (red "#a60000")
+ (red-warmer "#b21100")
+ (red-cooler "#a0132f")
+ (red-faint "#702000")
+ (red-intense "#d00000")
+ (green "#006800")
+ (green-warmer "#316500")
+ (green-cooler "#00663f")
+ (green-faint "#2a5045")
+ (green-intense "#008900")
+ (yellow "#695500")
+ (yellow-warmer "#973300")
+ (yellow-cooler "#77492f")
+ (yellow-faint "#624416")
+ (yellow-intense "#808000")
+ (blue "#0031a9")
+ (blue-warmer "#3548cf")
+ (blue-cooler "#0000b0")
+ (blue-faint "#003497")
+ (blue-intense "#0000ff")
+ (magenta "#721045")
+ (magenta-warmer "#8f0075")
+ (magenta-cooler "#531ab6")
+ (magenta-faint "#7c318f")
+ (magenta-intense "#cd22bd")
+ (cyan "#005e8b")
+ (cyan-warmer "#3f578f")
+ (cyan-cooler "#005f5f")
+ (cyan-faint "#004f5f")
+ (cyan-intense "#008899")
+
+;;; Uncommon accent foregrounds
+
+ (rust "#8a290f")
+ (gold "#80601f")
+ (olive "#56692d")
+ (slate "#2f3f83")
+ (indigo "#4a3a8a")
+ (maroon "#731c52")
+ (pink "#7b435c")
+
+;;; Common accent backgrounds
+
+ (bg-red-intense "#ff8f88")
+ (bg-green-intense "#8adf80")
+ (bg-yellow-intense "#f3d000")
+ (bg-blue-intense "#bfc9ff")
+ (bg-magenta-intense "#dfa0f0")
+ (bg-cyan-intense "#a4d5f9")
+
+ (bg-red-subtle "#ffcfbf")
+ (bg-green-subtle "#b3fabf")
+ (bg-yellow-subtle "#fff576")
+ (bg-blue-subtle "#ccdfff")
+ (bg-magenta-subtle "#ffddff")
+ (bg-cyan-subtle "#bfefff")
+
+ (bg-red-nuanced "#fff1f0")
+ (bg-green-nuanced "#ecf7ed")
+ (bg-yellow-nuanced "#fff3da")
+ (bg-blue-nuanced "#f3f3ff")
+ (bg-magenta-nuanced "#fdf0ff")
+ (bg-cyan-nuanced "#ebf6fa")
+
+;;; Uncommon accent backgrounds
+
+ (bg-ochre "#f0e0cc")
+ (bg-lavender "#dfdbfa")
+ (bg-sage "#c0e7d4")
+
+;;; Graphs
+
+ (bg-graph-red-0 "#ef7969")
+ (bg-graph-red-1 "#ffaab4")
+ (bg-graph-green-0 "#70c3b0")
+ (bg-graph-green-1 "#a3dfe5")
+ (bg-graph-yellow-0 "#d99f9f")
+ (bg-graph-yellow-1 "#ffb58f")
+ (bg-graph-blue-0 "#80a0df")
+ (bg-graph-blue-1 "#9fcaff")
+ (bg-graph-magenta-0 "#efafcf")
+ (bg-graph-magenta-1 "#ffdaef")
+ (bg-graph-cyan-0 "#7fd3ed")
+ (bg-graph-cyan-1 "#afefff")
+
+;;; Special purpose
+
+ (bg-completion "#afdfef")
+ (bg-hover "#ffafbc")
+ (bg-hover-secondary "#9fdfff")
+ (bg-hl-line "#dfeaec")
+ (bg-region "#bdbdbd")
+ (fg-region "#000000")
+
+ (bg-char-0 "#ff8a5f")
+ (bg-char-1 "#bf7aff")
+ (bg-char-2 "#7fe0e0")
+
+ (bg-mode-line-active "#afe0f2")
+ (fg-mode-line-active "#0f0f0f")
+ (border-mode-line-active "#2f4f44")
+ (bg-mode-line-inactive "#e6e6e6")
+ (fg-mode-line-inactive "#585858")
+ (border-mode-line-inactive "#a3a3a3")
+
+ (modeline-err "#8f0000")
+ (modeline-warning "#6f306f")
+ (modeline-info "#00445f")
+
+ (bg-tab-bar "#dfdfdf")
+ (bg-tab-current "#ffffff")
+ (bg-tab-other "#c2c2c2")
+
+;;; Diffs
+
+ (bg-added "#b5e7ff")
+ (bg-added-faint "#c6f6ff")
+ (bg-added-refine "#9adcef")
+ (bg-added-fringe "#1782cc")
+ (fg-added "#005079")
+ (fg-added-intense "#0043aa")
+
+ (bg-changed "#eecfdf")
+ (bg-changed-faint "#f0dde5")
+ (bg-changed-refine "#e0b0d0")
+ (bg-changed-fringe "#9f6ab0")
+ (fg-changed "#6f1343")
+ (fg-changed-intense "#7f0f9f")
+
+ (bg-removed "#ffd8d5")
+ (bg-removed-faint "#ffe9e9")
+ (bg-removed-refine "#f3b5af")
+ (bg-removed-fringe "#d84a4f")
+ (fg-removed "#8f1313")
+ (fg-removed-intense "#aa2222")
+
+ (bg-diff-context "#f3f3f3")
+
+;;; Paren match
+
+ (bg-paren-match "#5fcfff")
+ (bg-paren-expression "#efd3f5")
+ (underline-paren-match unspecified)
+
+;;; Mappings
+
+;;;; General mappings
+
+ (fringe bg-dim)
+ (cursor red-intense)
+
+ (keybind red)
+ (name red-cooler)
+ (identifier red-faint)
+
+ (err red-warmer)
+ (warning magenta)
+ (info cyan)
+
+ (underline-err red-intense)
+ (underline-warning magenta-intense)
+ (underline-note cyan-intense)
+
+ (bg-prominent-err bg-red-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-magenta-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
+;;;; Code mappings
+
+ (builtin magenta)
+ (comment red-faint)
+ (constant green-cooler)
+ (docstring fg-alt)
+ (docmarkup magenta-faint)
+ (fnname cyan-warmer)
+ (keyword red-cooler)
+ (preprocessor red-warmer)
+ (string cyan)
+ (type blue-warmer)
+ (variable cyan-cooler)
+ (rx-construct red)
+ (rx-backslash magenta)
+
+;;;; Accent mappings
+
+ (accent-0 cyan)
+ (accent-1 red-warmer)
+ (accent-2 cyan-cooler)
+ (accent-3 magenta)
+
+;;;; Button mappings
+
+ (fg-button-active fg-main)
+ (fg-button-inactive fg-dim)
+ (bg-button-active bg-active)
+ (bg-button-inactive bg-dim)
+
+;;;; Completion mappings
+
+ (fg-completion-match-0 cyan)
+ (fg-completion-match-1 red-warmer)
+ (fg-completion-match-2 magenta)
+ (fg-completion-match-3 cyan-cooler)
+ (bg-completion-match-0 unspecified)
+ (bg-completion-match-1 unspecified)
+ (bg-completion-match-2 unspecified)
+ (bg-completion-match-3 unspecified)
+
+;;;; Date mappings
+
+ (date-common cyan-cooler)
+ (date-deadline red)
+ (date-event fg-alt)
+ (date-holiday red)
+ (date-now fg-main)
+ (date-range fg-alt)
+ (date-scheduled magenta)
+ (date-weekday cyan)
+ (date-weekend red-faint)
+
+;;;; Line number mappings
+
+ (fg-line-number-inactive fg-dim)
+ (fg-line-number-active fg-main)
+ (bg-line-number-inactive bg-dim)
+ (bg-line-number-active bg-active)
+
+;;;; Link mappings
+
+ (fg-link cyan)
+ (bg-link unspecified)
+ (underline-link cyan)
+
+ (fg-link-symbolic cyan-cooler)
+ (bg-link-symbolic unspecified)
+ (underline-link-symbolic cyan-cooler)
+
+ (fg-link-visited magenta)
+ (bg-link-visited unspecified)
+ (underline-link-visited magenta)
+
+;;;; Mail mappings
+
+ (mail-cite-0 cyan-faint)
+ (mail-cite-1 red-faint)
+ (mail-cite-2 magenta-warmer)
+ (mail-cite-3 cyan-warmer)
+ (mail-part cyan-cooler)
+ (mail-recipient cyan)
+ (mail-subject red-cooler)
+ (mail-other cyan)
+
+;;;; Mark mappings
+
+ (bg-mark-delete bg-red-subtle)
+ (fg-mark-delete red)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-magenta-subtle)
+ (fg-mark-other magenta)
+
+;;;; Prompt mappings
+
+ (fg-prompt cyan-cooler)
+ (bg-prompt unspecified)
+
+;;;; Prose mappings
+
+ (prose-block fg-dim)
+ (prose-code cyan)
+ (prose-done cyan)
+ (prose-macro red-warmer)
+ (prose-metadata fg-dim)
+ (prose-metadata-value fg-alt)
+ (prose-table fg-alt)
+ (prose-tag fg-alt)
+ (prose-todo red)
+ (prose-verbatim magenta-warmer)
+
+;;;; Rainbow mappings
+
+ (rainbow-0 cyan)
+ (rainbow-1 red)
+ (rainbow-2 cyan-warmer)
+ (rainbow-3 red-cooler)
+ (rainbow-4 cyan-cooler)
+ (rainbow-5 magenta)
+ (rainbow-6 cyan-faint)
+ (rainbow-7 magenta-faint)
+ (rainbow-8 red-faint)
+
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-red-intense)
+
+;;;; Heading mappings
+
+ (fg-heading-0 cyan-cooler)
+ (fg-heading-1 fg-main)
+ (fg-heading-2 red-faint)
+ (fg-heading-3 cyan-faint)
+ (fg-heading-4 magenta)
+ (fg-heading-5 green-faint)
+ (fg-heading-6 magenta-faint)
+ (fg-heading-7 cyan-warmer)
+ (fg-heading-8 fg-dim)
+
+ (bg-heading-0 unspecified)
+ (bg-heading-1 unspecified)
+ (bg-heading-2 unspecified)
+ (bg-heading-3 unspecified)
+ (bg-heading-4 unspecified)
+ (bg-heading-5 unspecified)
+ (bg-heading-6 unspecified)
+ (bg-heading-7 unspecified)
+ (bg-heading-8 unspecified)
+
+ (overline-heading-0 unspecified)
+ (overline-heading-1 unspecified)
+ (overline-heading-2 unspecified)
+ (overline-heading-3 unspecified)
+ (overline-heading-4 unspecified)
+ (overline-heading-5 unspecified)
+ (overline-heading-6 unspecified)
+ (overline-heading-7 unspecified)
+ (overline-heading-8 unspecified))
+ "The entire palette of the `modus-operandi-tritanopia' theme.
+
+Named colors have the form (COLOR-NAME HEX-VALUE) with the former
+as a symbol and the latter as a string.
+
+Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
+with both as symbols. The latter is a named color that already
+exists in the palette and is associated with a HEX-VALUE.")
+
+ (defcustom modus-operandi-tritanopia-palette-overrides nil
+ "Overrides for `modus-operandi-tritanopia-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Modus themes,
+refer to `modus-themes-common-palette-overrides'.
+
+Theme-specific overrides take precedence over shared overrides.
+The idea of common overrides is to change semantic color
+mappings, such as to make the cursor red. Wherea theme-specific
+overrides can also be used to change the value of a named color,
+such as what hexadecimal RGB value the red-warmer symbol
+represents."
+ :group 'modus-themes
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :type '(repeat (list symbol (choice symbol string)))
+ :set #'modus-themes--set-option
+ :initialize #'custom-initialize-default
+ :link '(info-link "(modus-themes) Palette overrides"))
+
+ (modus-themes-theme modus-operandi-tritanopia
+ modus-operandi-tritanopia-palette
+ modus-operandi-tritanopia-palette-overrides)
+
+ (provide-theme 'modus-operandi-tritanopia))
+
+;;;###theme-autoload
+(put 'modus-operandi-tritanopia 'theme-properties '(:background-mode light :kind color-scheme :family modus))
+
+;;; modus-operandi-tritanopia-theme.el ends here
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el
index 805f25b458f..43c10043bc5 100644
--- a/etc/themes/modus-themes.el
+++ b/etc/themes/modus-themes.el
@@ -6,7 +6,7 @@
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
;; URL: https://git.sr.ht/~protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
-;; Version: 4.1.0
+;; Version: 4.2.0
;; Package-Requires: ((emacs "27.1"))
;; Keywords: faces, theme, accessibility
@@ -45,14 +45,15 @@
"User options for the Modus themes.
The Modus themes conform with the WCAG AAA standard for color
contrast between background and foreground combinations (a
-minimum contrast of 7:1---the highest standard of its kind). The
-themes also strive to empower users with red-green color
-deficiency: this is achieved through customization variables that
-replace all relevant instances of green with blue, as well as the
-overall design of the themes which relies mostly on colors that
-cover the blue-cyan-magenta side of the spectrum."
+minimum contrast of 7:1---the highest standard of its kind).
+
+The Modus themes collection includes themes that are optimized
+for people with red-green or blue-yellow color
+deficiency (deuteranopia or tritanopia, respectively)."
:group 'faces
:link '(info-link "(modus-themes) Top")
+ :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/modus-themes")
+ :link '(url-link :tag "Sample pictures" "https://protesilaos.com/emacs/modus-themes-pictures")
:prefix "modus-themes-"
:tag "Modus Themes")
@@ -60,6 +61,8 @@ cover the blue-cyan-magenta side of the spectrum."
"Faces defined by the Modus themes."
:group 'modus-themes
:link '(info-link "(modus-themes) Top")
+ :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/modus-themes")
+ :link '(url-link :tag "Sample pictures" "https://protesilaos.com/emacs/modus-themes-pictures")
:prefix "modus-themes-"
:tag "Modus Themes Faces")
@@ -128,6 +131,14 @@ cover the blue-cyan-magenta side of the spectrum."
:version "30.1"
:group 'modus-themes-faces))
+(dolist (scope '(note warning error))
+ (custom-declare-face
+ (intern (format "modus-themes-prominent-%s" scope))
+ nil (format "Prominent notification of type %s." scope)
+ :package-version '(modus-themes . "4.2.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
(dolist (scope '(current lazy))
(custom-declare-face
(intern (format "modus-themes-search-%s" scope))
@@ -360,10 +371,14 @@ set this variable to a nil value."
:type 'boolean
:link '(info-link "(modus-themes) Disable other themes"))
+(defvaralias 'modus-themes-collection 'modus-themes-items
+ "Alias of `modus-themes-items'.")
+
(defconst modus-themes-items
'( modus-operandi modus-vivendi
modus-operandi-tinted modus-vivendi-tinted
- modus-operandi-deuteranopia modus-vivendi-deuteranopia)
+ modus-operandi-deuteranopia modus-vivendi-deuteranopia
+ modus-operandi-tritanopia modus-vivendi-tritanopia)
"Symbols of the Modus themes.")
(defcustom modus-themes-to-toggle '(modus-operandi modus-vivendi)
@@ -928,12 +943,17 @@ colorful/intense. Grays are toned down, gray backgrounds are
removed from some contexts, and almost all accent colors are
desaturated.
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
To set a preset, assign its symbol without a quote as the value
of the `modus-themes-common-palette-overrides' or as the value of
theme-specific options such as `modus-operandi-palette-overrides'.
-Also see `modus-themes-preset-overrides-intense'.
-
For overriding named colors and/or semantic color mappings read
Info node `(modus-themes) Option for palette overrides'.")
@@ -957,6 +977,7 @@ Info node `(modus-themes) Option for palette overrides'.")
(date-event blue)
(date-holiday magenta-warmer)
(date-now blue-faint)
+ (date-range blue)
(date-scheduled yellow-warmer)
(date-weekday fg-main)
(date-weekend red-faint)
@@ -1016,11 +1037,124 @@ This changes many parts of the theme to make them look more
colorful/intense. Many background colors are accented and
coloration is increased to pop out more.
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
To set a preset, assign its symbol without a quote as the value
of the `modus-themes-common-palette-overrides' or as the value of
theme-specific options such as `modus-operandi-palette-overrides'.
-Also see `modus-themes-preset-overrides-faint'.
+For overriding named colors and/or semantic color mappings read
+Info node `(modus-themes) Option for palette overrides'.")
+
+(defvar modus-themes-preset-overrides-cooler
+ '((fg-prompt blue-cooler)
+
+ (builtin magenta-faint)
+ (constant blue-cooler)
+ (fnname cyan-cooler)
+ (keyword magenta-cooler)
+ (preprocessor blue)
+ (string blue-warmer)
+ (type green-cooler)
+ (variable cyan)
+ (rx-construct blue-cooler)
+ (rx-backslash red)
+
+ (name blue-warmer)
+ (identifier magenta-faint)
+
+ (date-deadline magenta-cooler)
+ (date-scheduled yellow-cooler)
+ (date-weekday blue-faint)
+ (date-weekend red-faint)
+
+ (mail-cite-0 blue-faint)
+ (mail-cite-1 cyan-cooler)
+ (mail-cite-2 magenta-faint)
+ (mail-cite-3 yellow-cooler)
+ (mail-part cyan)
+ (mail-recipient blue-warmer)
+ (mail-subject magenta-cooler)
+ (mail-other blue)
+
+ (prose-tag fg-dim)
+ (prose-verbatim blue-cooler))
+ "Preset of palette overrides with cooler colors.
+
+This changes parts of the palette to use more blue and
+blue-tinted colors.
+
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
+To set a preset, assign its symbol without a quote as the value
+of the `modus-themes-common-palette-overrides' or as the value of
+theme-specific options such as `modus-operandi-palette-overrides'.
+
+For overriding named colors and/or semantic color mappings read
+Info node `(modus-themes) Option for palette overrides'.")
+
+(defvar modus-themes-preset-overrides-warmer
+ '((fg-prompt magenta-warmer)
+
+ (builtin magenta)
+ (constant blue-warmer)
+ (fnname magenta-cooler)
+ (keyword magenta-warmer)
+ (preprocessor red-cooler)
+ (string olive)
+ (type cyan-cooler)
+ (variable cyan)
+ (rx-construct blue-cooler)
+ (rx-backslash red-warmer)
+
+ (name blue-warmer)
+ (identifier magenta)
+ (keybind magenta-warmer)
+
+ (accent-0 magenta-warmer)
+ (accent-1 cyan)
+ (accent-2 blue-warmer)
+ (accent-3 red-cooler)
+
+ (date-common cyan-cooler)
+ (date-holiday magenta-warmer)
+
+ (mail-cite-0 magenta-faint)
+ (mail-cite-1 cyan-cooler)
+ (mail-cite-2 green-warmer)
+ (mail-cite-3 red-faint)
+ (mail-part cyan)
+ (mail-recipient magenta)
+ (mail-subject blue-warmer)
+ (mail-other magenta-warmer)
+
+ (prose-macro red-cooler)
+ (prose-tag fg-dim))
+ "Preset of palette overrides with warmer colors.
+
+This changes many parts of the theme to use warmer colors,
+including green and yellow.
+
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
+To set a preset, assign its symbol without a quote as the value
+of the `modus-themes-common-palette-overrides' or as the value of
+theme-specific options such as `modus-operandi-palette-overrides'.
For overriding named colors and/or semantic color mappings read
Info node `(modus-themes) Option for palette overrides'.")
@@ -1123,10 +1257,13 @@ Which themes are disabled is determined by the user option
`modus-themes-disable-other-themes'.
Run the `modus-themes-after-load-theme-hook' as the final step
-after loading the THEME."
+after loading the THEME.
+
+Return THEME."
(modus-themes--disable-themes)
(load-theme theme :no-confirm)
- (run-hooks 'modus-themes-after-load-theme-hook))
+ (run-hooks 'modus-themes-after-load-theme-hook)
+ theme)
(defun modus-themes--retrieve-palette-value (color palette)
"Return COLOR from PALETTE.
@@ -1183,14 +1320,19 @@ symbol, which is safe when used as a face attribute's value."
(defvar modus-themes--select-theme-history nil
"Minibuffer history of `modus-themes--select-prompt'.")
+(defun modus-themes--annotate-theme (theme)
+ "Return completion annotation for THEME."
+ (format " -- %s" (car (split-string (get (intern theme) 'theme-documentation) "\\."))))
+
(defun modus-themes--select-prompt ()
"Minibuffer prompt to select a Modus theme."
- (intern
- (completing-read
- "Select Modus theme: "
- (modus-themes--list-known-themes)
- nil t nil
- 'modus-themes--select-theme-history)))
+ (let ((completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme)))
+ (intern
+ (completing-read
+ "Select Modus theme: "
+ (modus-themes--list-known-themes)
+ nil t nil
+ 'modus-themes--select-theme-history))))
;;;###autoload
(defun modus-themes-select (theme)
@@ -1278,7 +1420,8 @@ color mappings of the palette, instead of its named colors."
(defun modus-themes--list-colors-prompt ()
"Prompt for Modus theme.
Helper function for `modus-themes-list-colors'."
- (let ((def (format "%s" (modus-themes--current-theme))))
+ (let ((def (format "%s" (modus-themes--current-theme)))
+ (completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme)))
(completing-read
(format "Use palette from theme [%s]: " def)
(modus-themes--list-known-themes) nil t nil
@@ -1544,9 +1687,9 @@ FG and BG are the main colors."
`(modus-themes-intense-cyan ((,c :background ,bg-cyan-intense :foreground ,fg-main)))
;;;;; mark indicators
;; color combinations intended for Dired, Ibuffer, or equivalent
- `(modus-themes-mark-alt ((,c :inherit bold :background ,bg-yellow-subtle :foreground ,yellow)))
- `(modus-themes-mark-del ((,c :inherit bold :background ,bg-red-subtle :foreground ,red)))
- `(modus-themes-mark-sel ((,c :inherit bold :background ,bg-cyan-subtle :foreground ,cyan)))
+ `(modus-themes-mark-alt ((,c :inherit bold :background ,bg-mark-other :foreground ,fg-mark-other)))
+ `(modus-themes-mark-del ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete)))
+ `(modus-themes-mark-sel ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select)))
;;;;; heading levels
;; styles for regular headings used in Org, Markdown, Info, etc.
`(modus-themes-heading-0 ((,c ,@(modus-themes--heading 0 fg-heading-0 bg-heading-0 overline-heading-0))))
@@ -1562,6 +1705,10 @@ FG and BG are the main colors."
`(modus-themes-lang-error ((,c :underline (:style wave :color ,underline-err))))
`(modus-themes-lang-note ((,c :underline (:style wave :color ,underline-note))))
`(modus-themes-lang-warning ((,c :underline (:style wave :color ,underline-warning))))
+;;;;; prominent semantic notes
+ `(modus-themes-prominent-error ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err)))
+ `(modus-themes-prominent-note ((,c :background ,bg-prominent-note :foreground ,fg-prominent-note)))
+ `(modus-themes-prominent-warning ((,c :background ,bg-prominent-warning :foreground ,fg-prominent-warning)))
;;;;; markup
`(modus-themes-prose-code ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-code)))
`(modus-themes-prose-macro ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-macro)))
@@ -1581,7 +1728,10 @@ FG and BG are the main colors."
`(modus-themes-slant ((,c ,@(modus-themes--slant))))
`(modus-themes-ui-variable-pitch ((,c ,@(modus-themes--variable-pitch-ui))))
;;;;; other custom faces
- `(modus-themes-button ((,c :inherit variable-pitch :box ,border :background ,bg-button-active :foreground ,fg-button-active)))
+ `(modus-themes-button ((,c :inherit variable-pitch
+ :box (:line-width 1 :color ,border :style released-button)
+ :background ,bg-button-active
+ :foreground ,fg-button-active)))
`(modus-themes-key-binding ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind)))
`(modus-themes-prompt ((,c ,@(modus-themes--prompt fg-prompt bg-prompt))))
`(modus-themes-reset-soft ((,c :background ,bg-main :foreground ,fg-main
@@ -1592,9 +1742,9 @@ FG and BG are the main colors."
`(default ((,c :background ,bg-main :foreground ,fg-main)))
`(cursor ((,c :background ,cursor)))
`(fringe ((,c :background ,fringe :foreground ,fg-main)))
- `(menu ((,c :background ,bg-tab-bar :foreground ,fg-main)))
- `(scroll-bar ((,c :background ,fringe :foreground ,fg-dim)))
- `(tool-bar ((,c :background ,bg-tab-bar :foreground ,fg-main)))
+ `(menu ((,c :background ,bg-dim :foreground ,fg-main)))
+ `(scroll-bar ((,c :background ,bg-dim :foreground ,fg-dim)))
+ `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main)))
`(vertical-border ((,c :foreground ,border)))
;;;;; basic and/or ungrouped styles
`(bold ((,c :weight bold)))
@@ -1625,8 +1775,8 @@ FG and BG are the main colors."
`(minibuffer-prompt ((,c :inherit modus-themes-prompt)))
`(mm-command-output ((,c :foreground ,mail-part)))
`(mm-uu-extract ((,c :foreground ,mail-part)))
- `(next-error ((,c :inherit modus-themes-subtle-red :extend t)))
- `(pgtk-im-0 ((,c :inherit modus-themes-intense-cyan)))
+ `(next-error ((,c :inherit modus-themes-prominent-error :extend t)))
+ `(pgtk-im-0 ((,c :inherit modus-themes-prominent-note)))
`(read-multiple-choice-face ((,c :inherit (bold modus-themes-mark-alt))))
`(rectangle-preview ((,c :inherit secondary-selection)))
`(region ((,c :background ,bg-region :foreground ,fg-region)))
@@ -1634,7 +1784,7 @@ FG and BG are the main colors."
`(separator-line ((,c :underline ,bg-active)))
`(shadow ((,c :foreground ,fg-dim)))
`(success ((,c :inherit bold :foreground ,info)))
- `(trailing-whitespace ((,c :background ,bg-red-intense)))
+ `(trailing-whitespace ((,c :background ,bg-space-err)))
`(warning ((,c :inherit bold :foreground ,warning)))
;;;;; buttons, links, widgets
`(button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link)))
@@ -1738,7 +1888,7 @@ FG and BG are the main colors."
`(anzu-match-3 ((,c :inherit modus-themes-subtle-yellow)))
`(anzu-mode-line ((,c :inherit bold)))
`(anzu-mode-line-no-match ((,c :inherit error)))
- `(anzu-replace-highlight ((,c :inherit modus-themes-intense-red :underline t)))
+ `(anzu-replace-highlight ((,c :inherit modus-themes-prominent-error :underline t)))
`(anzu-replace-to ((,c :inherit modus-themes-search-current)))
;;;;; auctex and Tex
`(font-latex-bold-face ((,c :inherit bold)))
@@ -1775,12 +1925,12 @@ FG and BG are the main colors."
`(aw-background-face ((,c :foreground "gray50")))
`(aw-key-face ((,c :inherit modus-themes-key-binding)))
`(aw-leading-char-face ((,c :inherit (bold modus-themes-reset-soft) :height 1.5 :foreground ,red-intense)))
- `(aw-minibuffer-leading-char-face ((,c :inherit (modus-themes-intense-red bold))))
+ `(aw-minibuffer-leading-char-face ((,c :inherit modus-themes-key-binding)))
`(aw-mode-line-face ((,c :inherit bold)))
;;;;; binder
- `(binder-sidebar-highlight ((,c :inherit modus-themes-subtle-cyan)))
+ `(binder-sidebar-highlight ((,c :inherit modus-themes-hl-line)))
`(binder-sidebar-marked ((,c :inherit modus-themes-mark-sel)))
- `(binder-sidebar-missing ((,c :inherit modus-themes-subtle-red)))
+ `(binder-sidebar-missing ((,c :inherit modus-themes-mark-del)))
`(binder-sidebar-tags ((,c :foreground ,variable)))
;;;;; bongo
`(bongo-album-title (( )))
@@ -1807,13 +1957,13 @@ FG and BG are the main colors."
`(calendar-today ((,c :inherit bold :underline t)))
`(calendar-weekday-header ((,c :foreground ,date-weekday)))
`(calendar-weekend-header ((,c :foreground ,date-weekend)))
- `(diary ((,c :background ,bg-dim :foreground ,accent-0)))
- `(diary-anniversary ((,c :foreground ,accent-1)))
+ `(diary ((,c :foreground ,date-common)))
+ `(diary-anniversary ((,c :foreground ,date-holiday)))
`(diary-time ((,c :foreground ,date-common)))
`(holiday ((,c :foreground ,date-holiday)))
;;;;; calibredb
;; NOTE 2022-12-27: Calibredb needs to be reviewed. I had to
- ;; change the applicable colours for the transition to
+ ;; change the applicable colors for the transition to
;; modus-themes version 4, but I cannot test this currently (it
;; depends on an external program).
`(calibredb-archive-face ((,c :foreground ,accent-3)))
@@ -1890,7 +2040,7 @@ FG and BG are the main colors."
;;;;; clojure-mode
`(clojure-keyword-face ((,c :inherit font-lock-builtin-face)))
;;;;; column-enforce-mode
- `(column-enforce-face ((,c :inherit modus-themes-intense-yellow)))
+ `(column-enforce-face ((,c :inherit modus-themes-prominent-error)))
;;;;; company-mode
`(company-echo-common ((,c :inherit modus-themes-completion-match-0)))
`(company-preview ((,c :background ,bg-dim :foreground ,fg-dim)))
@@ -2051,7 +2201,7 @@ FG and BG are the main colors."
;;;;; dired-git-info
`(dgi-commit-message-face ((,c :foreground ,docstring)))
;;;;; dired-narrow
- `(dired-narrow-blink ((,c :inherit (modus-themes-subtle-cyan bold))))
+ `(dired-narrow-blink ((,c :inherit (modus-themes-prominent-warning bold))))
;;;;; dired-subtree
;; remove backgrounds from dired-subtree faces, else they break
;; dired-{flagged,marked} and any other face that sets a background
@@ -2089,6 +2239,12 @@ FG and BG are the main colors."
`(diredfl-symlink ((,c :inherit dired-symlink)))
`(diredfl-tagged-autofile-name ((,c :inherit (diredfl-autofile-name dired-marked))))
`(diredfl-write-priv ((,c :foreground ,accent-0)))
+;;;;; disk-usage
+ `(disk-usage-inaccessible ((,c :inherit error)))
+ `(disk-usage-percent ((,c :foreground ,accent-0)))
+ `(disk-usage-size ((,c :foreground ,accent-1)))
+ `(disk-usage-symlink ((,c :inherit dired-symlink)))
+ `(disk-usage-symlink-directory ((,c :inherit dired-symlink)))
;;;;; display-fill-column-indicator-mode
`(fill-column-indicator ((,c :height 1 :background ,bg-active :foreground ,bg-active)))
;;;;; doom-modeline
@@ -2128,7 +2284,7 @@ FG and BG are the main colors."
`(doom-modeline-warning ((,c :inherit warning)))
;;;;; ediff
`(ediff-current-diff-A ((,c :background ,bg-removed :foreground ,fg-removed)))
- `(ediff-current-diff-Ancestor ((,c :background ,bg-region))) ; TODO 2022-11-29: Needs review
+ `(ediff-current-diff-Ancestor ((,c :background ,bg-region)))
`(ediff-current-diff-B ((,c :background ,bg-added :foreground ,fg-added)))
`(ediff-current-diff-C ((,c :background ,bg-changed :foreground ,fg-changed)))
`(ediff-even-diff-A ((,c :background ,bg-diff-context)))
@@ -2152,6 +2308,7 @@ FG and BG are the main colors."
`(ein:notification-tab-normal ((,c :underline t)))
;;;;; eglot
`(eglot-mode-line ((,c :inherit modus-themes-bold :foreground ,modeline-info)))
+ `(eglot-diagnostic-tag-unnecessary-face ((,c :inherit modus-themes-lang-note)))
;;;;; el-search
`(el-search-highlight-in-prompt-face ((,c :inherit italic)))
`(el-search-match ((,c :inherit modus-themes-search-current)))
@@ -2236,7 +2393,7 @@ FG and BG are the main colors."
`(erc-button ((,c :inherit button)))
`(erc-command-indicator-face ((,c :inherit bold :foreground ,accent-3)))
`(erc-current-nick-face ((,c :inherit match)))
- `(erc-dangerous-host-face ((,c :inherit modus-themes-intense-red)))
+ `(erc-dangerous-host-face ((,c :inherit error)))
`(erc-direct-msg-face ((,c :inherit shadow)))
`(erc-error-face ((,c :inherit error)))
`(erc-fool-face ((,c :inherit shadow)))
@@ -2254,8 +2411,8 @@ FG and BG are the main colors."
`(erc-timestamp-face ((,c :foreground ,date-common)))
`(erc-underline-face ((,c :underline t)))
;;;;; ert
- `(ert-test-result-expected ((,c :inherit modus-themes-intense-cyan)))
- `(ert-test-result-unexpected ((,c :inherit modus-themes-intense-red)))
+ `(ert-test-result-expected ((,c :inherit modus-themes-prominent-note)))
+ `(ert-test-result-unexpected ((,c :inherit modus-themes-prominent-error)))
;;;;; eshell
`(eshell-ls-archive ((,c :foreground ,accent-2)))
`(eshell-ls-backup ((,c :inherit shadow)))
@@ -2277,7 +2434,7 @@ FG and BG are the main colors."
`(evil-ex-info ((,c :inherit font-lock-type-face)))
`(evil-ex-lazy-highlight ((,c :inherit modus-themes-search-lazy)))
`(evil-ex-search ((,c :inherit modus-themes-search-current)))
- `(evil-ex-substitute-matches ((,c :inherit modus-themes-intense-yellow :underline t)))
+ `(evil-ex-substitute-matches ((,c :inherit modus-themes-prominent-error :underline t)))
`(evil-ex-substitute-replacement ((,c :inherit modus-themes-search-current)))
;;;;; eww
`(eww-invalid-certificate ((,c :foreground ,err)))
@@ -2292,9 +2449,9 @@ FG and BG are the main colors."
`(eyebrowse-mode-line-active ((,c :inherit mode-line-emphasis)))
;;;;; flycheck
`(flycheck-error ((,c :inherit modus-themes-lang-error)))
- `(flycheck-fringe-error ((,c :inherit modus-themes-intense-red)))
- `(flycheck-fringe-info ((,c :inherit modus-themes-intense-cyan)))
- `(flycheck-fringe-warning ((,c :inherit modus-themes-intense-yellow)))
+ `(flycheck-fringe-error ((,c :inherit modus-themes-prominent-error)))
+ `(flycheck-fringe-info ((,c :inherit modus-themes-prominent-note)))
+ `(flycheck-fringe-warning ((,c :inherit modus-themes-prominent-warning)))
`(flycheck-info ((,c :inherit modus-themes-lang-note)))
`(flycheck-warning ((,c :inherit modus-themes-lang-warning)))
;;;;; flycheck-color-mode-line
@@ -2310,9 +2467,16 @@ FG and BG are the main colors."
`(flycheck-indicator-success ((,c :inherit success)))
`(flycheck-indicator-warning ((,c :inherit warning)))
;;;;; flymake
+ `(flymake-end-of-line-diagnostics-face ((,c :inherit modus-themes-slant :height 0.85 :box ,border)))
`(flymake-error ((,c :inherit modus-themes-lang-error)))
+ `(flymake-error-echo ((,c :inherit error)))
+ `(flymake-error-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,err)))
`(flymake-note ((,c :inherit modus-themes-lang-note)))
+ `(flymake-note-echo ((,c :inherit success)))
+ `(flymake-note-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,info)))
`(flymake-warning ((,c :inherit modus-themes-lang-warning)))
+ `(flymake-warning-echo ((,c :inherit warning)))
+ `(flymake-note-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,warning)))
;;;;; flyspell
`(flyspell-duplicate ((,c :inherit modus-themes-lang-warning)))
`(flyspell-incorrect ((,c :inherit modus-themes-lang-error)))
@@ -2531,16 +2695,16 @@ FG and BG are the main colors."
`(ido-subdir ((,c :foreground ,accent-0)))
`(ido-virtual ((,c :foreground ,accent-1)))
;;;;; iedit
- `(iedit-occurrence ((,c :inherit modus-themes-intense-blue)))
- `(iedit-read-only-occurrence ((,c :inherit modus-themes-intense-yellow)))
+ `(iedit-occurrence ((,c :inherit modus-themes-search-lazy)))
+ `(iedit-read-only-occurrence ((,c :inherit modus-themes-search-current)))
;;;;; iflipb
`(iflipb-current-buffer-face ((,c :inherit bold :foreground ,name)))
`(iflipb-other-buffer-face ((,c :inherit shadow)))
;;;;; image-dired
- `(image-dired-thumb-flagged ((,c :inherit modus-themes-intense-red)))
+ `(image-dired-thumb-flagged ((,c :inherit modus-themes-mark-del :box (:line-width -3))))
`(image-dired-thumb-header-file-name ((,c :inherit bold)))
`(image-dired-thumb-header-file-size ((,c :foreground ,constant)))
- `(image-dired-thumb-mark ((,c :inherit modus-themes-intense-cyan)))
+ `(image-dired-thumb-mark ((,c :inherit modus-themes-mark-sel :box (:line-width -3))))
;;;;; imenu-list
`(imenu-list-entry-face-0 ((,c :foreground ,fg-heading-0)))
`(imenu-list-entry-face-1 ((,c :foreground ,fg-heading-1)))
@@ -2564,7 +2728,7 @@ FG and BG are the main colors."
`(info-header-xref ((,c :foreground ,fg-link)))
`(info-index-match ((,c :inherit match)))
`(info-menu-header ((,c :inherit bold)))
- `(info-menu-star ((,c :foreground ,red-intense)))
+ `(info-menu-star ((,c :inherit error)))
`(info-node ((,c :inherit bold)))
`(info-title-1 ((,c :inherit modus-themes-heading-1)))
`(info-title-2 ((,c :inherit modus-themes-heading-2)))
@@ -2613,12 +2777,12 @@ FG and BG are the main colors."
`(ioccur-title-face ((,c :inherit bold :foreground ,name)))
;;;;; isearch, occur, and the like
`(isearch ((,c :inherit modus-themes-search-current)))
- `(isearch-fail ((,c :inherit modus-themes-intense-red)))
+ `(isearch-fail ((,c :inherit modus-themes-prominent-error)))
`(isearch-group-1 ((,c :inherit modus-themes-intense-blue)))
`(isearch-group-2 ((,c :inherit modus-themes-intense-magenta)))
`(lazy-highlight ((,c :inherit modus-themes-search-lazy)))
`(match ((,c :background ,bg-magenta-subtle :foreground ,fg-main)))
- `(query-replace ((,c :inherit modus-themes-intense-red)))
+ `(query-replace ((,c :inherit modus-themes-prominent-error)))
;;;;; ivy
`(ivy-action ((,c :inherit modus-themes-key-binding)))
`(ivy-confirm-face ((,c :inherit success)))
@@ -2644,6 +2808,10 @@ FG and BG are the main colors."
`(jiralib-link-filter-face ((,c :underline t)))
`(jiralib-link-issue-face ((,c :underline t)))
`(jiralib-link-project-face ((,c :underline t)))
+;;;;; jit-spell
+ `(jit-spell-misspelling ((,c :inherit modus-themes-lang-error)))
+;;;;; jinx
+ `(jinx-misspelled ((,c :inherit modus-themes-lang-warning)))
;;;;; journalctl-mode
`(journalctl-error-face ((,c :inherit error)))
`(journalctl-finished-face ((,c :inherit success)))
@@ -3044,6 +3212,7 @@ FG and BG are the main colors."
`(orderless-match-face-2 ((,c :inherit modus-themes-completion-match-2)))
`(orderless-match-face-3 ((,c :inherit modus-themes-completion-match-3)))
;;;;; org
+ `(org-agenda-calendar-daterange ((,c :foreground ,date-range)))
`(org-agenda-calendar-event ((,c :foreground ,date-event)))
`(org-agenda-calendar-sexp ((,c :inherit (modus-themes-slant org-agenda-calendar-event))))
`(org-agenda-clocking ((,c :inherit modus-themes-mark-alt)))
@@ -3211,6 +3380,24 @@ FG and BG are the main colors."
`(persp-face-lighter-nil-persp ((,c :inherit bold)))
;;;;; perspective
`(persp-selected-face ((,c :inherit bold :foreground ,name)))
+;;;;; proced
+ `(proced-cpu ((,c :foreground ,keyword)))
+ `(proced-emacs-pid ((,c :foreground ,identifier :underline t)))
+ `(proced-executable ((,c :foreground ,name)))
+ `(proced-interruptible-sleep-status-code ((,c :inherit shadow)))
+ `(proced-mem ((,c :foreground ,type)))
+ `(proced-memory-high-usage ((,c :foreground ,err)))
+ `(proced-memory-low-usage ((,c :foreground ,info)))
+ `(proced-memory-medium-usage ((,c :foreground ,warning)))
+ `(proced-pgrp ((,c :inherit proced-pid)))
+ `(proced-pid ((,c :foreground ,identifier)))
+ `(proced-ppid ((,c :inherit proced-pid)))
+ `(proced-run-status-code ((,c :inherit success)))
+ `(proced-sess ((,c :inherit proced-pid)))
+ `(proced-session-leader-pid ((,c :inherit bold :foreground ,identifier)))
+ `(proced-time-colon (( )))
+ `(proced-uninterruptible-sleep-status-code ((,c :inherit error)))
+ `(proced-user (( )))
;;;;; popup
`(popup-face ((,c :background ,bg-inactive :foreground ,fg-main)))
`(popup-isearch-match ((,c :inherit modus-themes-search-current)))
@@ -3229,13 +3416,13 @@ FG and BG are the main colors."
`(powerline-inactive2 ((,c :inherit mode-line-inactive)))
;;;;; powerline-evil
`(powerline-evil-base-face ((,c :background ,fg-main :foreground ,bg-main)))
- `(powerline-evil-emacs-face ((,c :inherit modus-themes-intense-magenta)))
- `(powerline-evil-insert-face ((,c :inherit modus-themes-intense-green)))
- `(powerline-evil-motion-face ((,c :inherit modus-themes-intense-blue)))
- `(powerline-evil-normal-face ((,c :background ,fg-alt :foreground ,bg-main)))
- `(powerline-evil-operator-face ((,c :inherit modus-themes-intense-yellow)))
- `(powerline-evil-replace-face ((,c :inherit modus-themes-intense-red)))
- `(powerline-evil-visual-face ((,c :inherit modus-themes-intense-cyan)))
+ `(powerline-evil-emacs-face ((,c :inherit bold :background ,bg-main)))
+ `(powerline-evil-insert-face ((,c :inherit success :background ,bg-main)))
+ `(powerline-evil-motion-face ((,c :inherit italic :background ,bg-main)))
+ `(powerline-evil-normal-face ((,c :background ,bg-main :foreground ,fg-alt)))
+ `(powerline-evil-operator-face ((,c :inherit warning :background ,bg-main)))
+ `(powerline-evil-replace-face ((,c :inherit error :background ,bg-main)))
+ `(powerline-evil-visual-face ((,c :inherit bold :background ,bg-main)))
;;;;; prescient
`(prescient-primary-highlight ((,c :inherit modus-themes-completion-match-0)))
`(prescient-secondary-highlight ((,c :inherit modus-themes-completion-match-1)))
@@ -3258,7 +3445,7 @@ FG and BG are the main colors."
`(quick-peek-border-face ((,c :background ,border :height 1)))
`(quick-peek-padding-face ((,c :background ,bg-inactive :height 0.15)))
;;;;; rainbow-delimiters
- `(rainbow-delimiters-base-error-face ((,c :inherit modus-themes-subtle-red)))
+ `(rainbow-delimiters-base-error-face ((,c :inherit modus-themes-prominent-error)))
`(rainbow-delimiters-base-face ((,c :foreground ,fg-main)))
`(rainbow-delimiters-depth-1-face ((,c :foreground ,rainbow-0)))
`(rainbow-delimiters-depth-2-face ((,c :foreground ,rainbow-1)))
@@ -3269,8 +3456,8 @@ FG and BG are the main colors."
`(rainbow-delimiters-depth-7-face ((,c :foreground ,rainbow-6)))
`(rainbow-delimiters-depth-8-face ((,c :foreground ,rainbow-7)))
`(rainbow-delimiters-depth-9-face ((,c :foreground ,rainbow-8)))
- `(rainbow-delimiters-mismatched-face ((,c :inherit (bold modus-themes-intense-yellow))))
- `(rainbow-delimiters-unmatched-face ((,c :inherit (bold modus-themes-intense-red))))
+ `(rainbow-delimiters-mismatched-face ((,c :inherit (bold modus-themes-prominent-warning))))
+ `(rainbow-delimiters-unmatched-face ((,c :inherit (bold modus-themes-prominent-error))))
;;;;; rcirc
`(rcirc-bright-nick ((,c :inherit bold :foreground ,accent-2)))
`(rcirc-dim-nick ((,c :inherit shadow)))
@@ -3316,6 +3503,13 @@ FG and BG are the main colors."
;;;;; rmail
`(rmail-header-name ((,c :inherit bold)))
`(rmail-highlight ((,c :inherit bold :foreground ,mail-other)))
+;;;;; rst-mode
+ `(rst-level-1 ((,c :inherit modus-themes-heading-1)))
+ `(rst-level-2 ((,c :inherit modus-themes-heading-2)))
+ `(rst-level-3 ((,c :inherit modus-themes-heading-3)))
+ `(rst-level-4 ((,c :inherit modus-themes-heading-4)))
+ `(rst-level-5 ((,c :inherit modus-themes-heading-5)))
+ `(rst-level-6 ((,c :inherit modus-themes-heading-6)))
;;;;; ruler-mode
`(ruler-mode-column-number ((,c :inherit ruler-mode-default)))
`(ruler-mode-comment-column ((,c :inherit ruler-mode-default :foreground ,red)))
@@ -3342,7 +3536,7 @@ FG and BG are the main colors."
;;;;; show-paren-mode
`(show-paren-match ((,c :background ,bg-paren-match :foreground ,fg-main :underline ,underline-paren-match)))
`(show-paren-match-expression ((,c :background ,bg-paren-expression)))
- `(show-paren-mismatch ((,c :inherit modus-themes-intense-red)))
+ `(show-paren-mismatch ((,c :inherit modus-themes-prominent-error)))
;;;;; shr
`(shr-abbreviation ((,c :inherit modus-themes-lang-note)))
`(shr-code ((,c :inherit modus-themes-prose-verbatim)))
@@ -3352,7 +3546,7 @@ FG and BG are the main colors."
`(shr-h4 ((,c :inherit modus-themes-heading-4)))
`(shr-h5 ((,c :inherit modus-themes-heading-5)))
`(shr-h6 ((,c :inherit modus-themes-heading-6)))
- `(shr-selected-link ((,c :inherit modus-themes-subtle-red)))
+ `(shr-selected-link ((,c :inherit modus-themes-mark-sel)))
;;;;; side-notes
`(side-notes ((,c :background ,bg-dim :foreground ,fg-dim)))
;;;;; sieve-mode
@@ -3404,7 +3598,7 @@ FG and BG are the main colors."
`(sml/name-filling ((,c :inherit warning)))
`(sml/not-modified ((,c :inherit sml/global)))
`(sml/numbers-separator ((,c :inherit sml/global)))
- `(sml/outside-modified ((,c :inherit modus-themes-intense-red)))
+ `(sml/outside-modified ((,c :inherit modus-themes-prominent-error)))
`(sml/position-percentage ((,c :inherit sml/global)))
`(sml/prefix ((,c :foreground ,fg-alt)))
`(sml/process ((,c :inherit sml/prefix)))
@@ -3418,7 +3612,7 @@ FG and BG are the main colors."
;;;;; smerge
`(smerge-base ((,c :inherit diff-changed)))
`(smerge-lower ((,c :inherit diff-added)))
- `(smerge-markers ((,c :inherit diff-heading)))
+ `(smerge-markers ((,c :inherit diff-header)))
`(smerge-refined-added ((,c :inherit diff-refine-added)))
`(smerge-refined-changed (()))
`(smerge-refined-removed ((,c :inherit diff-refine-removed)))
@@ -3533,7 +3727,7 @@ FG and BG are the main colors."
;; have to do this with `eldoc-highlight-function-argument'.
(list 'transient-argument `((,c :inherit (bold modus-themes-mark-alt))))
`(transient-blue ((,c :inherit bold :foreground ,blue)))
- `(transient-disabled-suffix ((,c :inherit modus-themes-intense-red)))
+ `(transient-disabled-suffix ((,c :inherit modus-themes-mark-del)))
`(transient-enabled-suffix ((,c :inherit modus-themes-subtle-cyan)))
`(transient-heading ((,c :inherit bold :foreground ,fg-main)))
`(transient-inactive-argument ((,c :inherit shadow)))
@@ -3653,19 +3847,22 @@ FG and BG are the main colors."
`(vr/match-1 ((,c :inherit modus-themes-intense-yellow)))
`(vr/match-separator-face ((,c :inherit bold :background ,bg-active)))
;;;;; vterm
- `(vterm-color-black ((,c :background "gray35" :foreground "gray35")))
- `(vterm-color-blue ((,c :background ,blue :foreground ,blue)))
- `(vterm-color-cyan ((,c :background ,cyan :foreground ,cyan)))
+ `(vterm-color-black ((,c :background "gray35" :foreground "black")))
+ `(vterm-color-blue ((,c :background ,blue-warmer :foreground ,blue)))
+ `(vterm-color-cyan ((,c :background ,cyan-cooler :foreground ,cyan)))
`(vterm-color-default ((,c :background ,bg-main :foreground ,fg-main)))
- `(vterm-color-green ((,c :background ,green :foreground ,green)))
+ `(vterm-color-green ((,c :background ,green-cooler :foreground ,green)))
`(vterm-color-inverse-video ((,c :background ,bg-main :inverse-video t)))
- `(vterm-color-magenta ((,c :background ,magenta :foreground ,magenta)))
- `(vterm-color-red ((,c :background ,red :foreground ,red)))
+ `(vterm-color-magenta ((,c :background ,magenta-cooler :foreground ,magenta)))
+ `(vterm-color-red ((,c :background ,red-warmer :foreground ,red)))
`(vterm-color-underline ((,c :underline t)))
- `(vterm-color-white ((,c :background "gray65" :foreground "gray65")))
- `(vterm-color-yellow ((,c :background ,yellow :foreground ,yellow)))
+ `(vterm-color-white ((,c :background "white" :foreground "gray65")))
+ `(vterm-color-yellow ((,c :background ,yellow-warmer :foreground ,yellow)))
;;;;; vundo
- `(vundo-highlight ((,c :inherit (bold vundo-node) :foreground ,red-intense)))
+ `(vundo-default ((,c :inherit shadow)))
+ `(vundo-highlight ((,c :inherit (bold vundo-node) :foreground ,red)))
+ `(vundo-last-saved ((,c :inherit (bold vundo-node) :foreground ,blue)))
+ `(vundo-saved ((,c :inherit vundo-node :foreground ,blue-intense)))
;;;;; wcheck-mode
`(wcheck-default-face ((,c :foreground ,red :underline t)))
;;;;; web-mode
@@ -3697,7 +3894,7 @@ FG and BG are the main colors."
`(web-mode-current-column-highlight-face ((,c :background ,bg-inactive)))
`(web-mode-current-element-highlight-face ((,c :inherit modus-themes-cyan-subtle)))
`(web-mode-doctype-face ((,c :inherit font-lock-doc-face)))
- `(web-mode-error-face ((,c :inherit modus-themes-intense-red)))
+ `(web-mode-error-face ((,c :inherit error)))
`(web-mode-filter-face ((,c :inherit font-lock-function-name-face)))
`(web-mode-folded-face ((,c :underline t)))
`(web-mode-function-call-face ((,c :inherit font-lock-function-name-face)))
@@ -3735,7 +3932,7 @@ FG and BG are the main colors."
`(web-mode-type-face ((,c :inherit font-lock-builtin-face)))
`(web-mode-underline-face ((,c :underline t)))
`(web-mode-variable-name-face ((,c :inherit font-lock-variable-name-face)))
- `(web-mode-warning-face ((,c :inherit font-lock-warning-face)))
+ `(web-mode-warning-face ((,c :inherit warning)))
`(web-mode-whitespace-face ((,c :background ,bg-inactive)))
;;;;; wgrep
`(wgrep-delete-face ((,c :inherit warning)))
@@ -3747,7 +3944,7 @@ FG and BG are the main colors."
`(which-func ((,c :inherit bold :foreground ,modeline-info)))
;;;;; which-key
`(which-key-command-description-face ((,c :foreground ,fg-main)))
- `(which-key-group-description-face ((,c :foreground ,err)))
+ `(which-key-group-description-face ((,c :foreground ,keyword)))
`(which-key-highlighted-command-face ((,c :foreground ,warning :underline t)))
`(which-key-key-face ((,c :inherit modus-themes-key-binding)))
`(which-key-local-map-description-face ((,c :foreground ,fg-main)))
@@ -3755,24 +3952,24 @@ FG and BG are the main colors."
`(which-key-separator-face ((,c :inherit shadow)))
`(which-key-special-key-face ((,c :inherit error)))
;;;;; whitespace-mode
- `(whitespace-big-indent ((,c :inherit modus-themes-subtle-red)))
+ `(whitespace-big-indent ((,c :background ,bg-space-err)))
`(whitespace-empty ((,c :inherit modus-themes-intense-magenta)))
- `(whitespace-hspace ((,c :background ,bg-dim :foreground ,fg-dim)))
- `(whitespace-indentation ((,c :background ,bg-dim :foreground ,fg-dim)))
- `(whitespace-line ((,c :inherit modus-themes-subtle-yellow)))
- `(whitespace-newline ((,c :background ,bg-dim :foreground ,fg-dim)))
- `(whitespace-space ((,c :background ,bg-dim :foreground ,fg-dim)))
+ `(whitespace-hspace ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-indentation ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-line ((,c :background ,bg-space :foreground ,warning)))
+ `(whitespace-newline ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-space ((,c :background ,bg-space :foreground ,fg-space)))
`(whitespace-space-after-tab ((,c :inherit modus-themes-subtle-magenta)))
`(whitespace-space-before-tab ((,c :inherit modus-themes-subtle-cyan)))
- `(whitespace-tab ((,c :background ,bg-dim :foreground ,fg-dim)))
- `(whitespace-trailing ((,c :inherit modus-themes-intense-red)))
+ `(whitespace-tab ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-trailing ((,c :background ,bg-space-err)))
;;;;; window-divider-mode
`(window-divider ((,c :foreground ,border)))
`(window-divider-first-pixel ((,c :foreground ,bg-inactive)))
`(window-divider-last-pixel ((,c :foreground ,bg-inactive)))
;;;;; widget
`(widget-button ((,c :inherit bold :foreground ,fg-link)))
- `(widget-button-pressed ((,c :inherit widget-buton :foreground ,fg-link-visited)))
+ `(widget-button-pressed ((,c :inherit widget-button :foreground ,fg-link-visited)))
`(widget-documentation ((,c :inherit font-lock-doc-face)))
`(widget-field ((,c :background ,bg-inactive :foreground ,fg-main :extend nil)))
`(widget-inactive ((,c :background ,bg-button-inactive :foreground ,fg-button-inactive)))
@@ -3792,7 +3989,7 @@ FG and BG are the main colors."
`(xah-elisp-command-face ((,c :inherit font-lock-type-face)))
`(xah-elisp-dollar-symbol ((,c :inherit font-lock-variable-name-face)))
;;;;; yaml-mode
- `(yaml-tab-face ((,c :inherit modus-themes-intense-red)))
+ `(yaml-tab-face ((,c :background ,bg-space-err)))
;;;;; yasnippet
`(yas-field-highlight-face ((,c :inherit highlight))))
"Face specs for use with `modus-themes-theme'.")
@@ -3809,9 +4006,9 @@ FG and BG are the main colors."
;;;; exwm
`(exwm-floating-border-color ,border)
;;;; flymake fringe indicators
- `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-intense-red))
- `(flymake-warning-bitmap '(exclamation-mark modus-themes-intense-yellow))
- `(flymake-note-bitmap '(exclamation-mark modus-themes-intense-cyan))
+ `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-prominent-error))
+ `(flymake-warning-bitmap '(exclamation-mark modus-themes-prominent-warning))
+ `(flymake-note-bitmap '(exclamation-mark modus-themes-prominent-note))
;;;; highlight-changes
`(highlight-changes-colors nil)
`(highlight-changes-face-list '(success warning error bold bold-italic))
diff --git a/etc/themes/modus-vivendi-deuteranopia-theme.el b/etc/themes/modus-vivendi-deuteranopia-theme.el
index 57241c59b96..60c3c62b38f 100644
--- a/etc/themes/modus-vivendi-deuteranopia-theme.el
+++ b/etc/themes/modus-vivendi-deuteranopia-theme.el
@@ -1,4 +1,4 @@
-;;; modus-vivendi-deuteranopia-theme.el --- Elegant, highly legible and customizable dark theme -*- lexical-binding:t -*-
+;;; modus-vivendi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a black background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
@@ -43,7 +43,7 @@
(require 'modus-themes))
(deftheme modus-vivendi-deuteranopia
- "Elegant, highly legible and customizable dark theme.
+ "Deuteranopia-optimized theme with a black background.
This variant is optimized for users with red-green color
deficiency (deuteranopia). It conforms with the highest
legibility standard for color contrast between background and
@@ -76,9 +76,9 @@ standard).")
(green-cooler "#00c06f")
(green-faint "#88ca9f")
(green-intense "#44df44")
- (yellow "#d0bc00")
- (yellow-warmer "#fec43f")
- (yellow-cooler "#dfaf7a")
+ (yellow "#cabf00")
+ (yellow-warmer "#ffa00f")
+ (yellow-cooler "#d8af7a")
(yellow-faint "#d2b580")
(yellow-intense "#efef00")
(blue "#2fafff")
@@ -138,13 +138,13 @@ standard).")
;;; Graphs
- (bg-graph-red-0 "#705c3c")
- (bg-graph-red-1 "#504420")
- (bg-graph-green-0 "#4f666f")
- (bg-graph-green-1 "#204840")
+ (bg-graph-red-0 "#bf6000")
+ (bg-graph-red-1 "#733500")
+ (bg-graph-green-0 "#6fbf8f")
+ (bg-graph-green-1 "#2f5f4f")
(bg-graph-yellow-0 "#c1c00a")
- (bg-graph-yellow-1 "#6f6f00")
- (bg-graph-blue-0 "#2fafef")
+ (bg-graph-yellow-1 "#7f6640")
+ (bg-graph-blue-0 "#0f90ef")
(bg-graph-blue-1 "#1f2f8f")
(bg-graph-magenta-0 "#7f7f8e")
(bg-graph-magenta-1 "#4f4f5f")
@@ -222,13 +222,20 @@ standard).")
(identifier yellow-faint)
(err yellow-warmer)
- (warning yellow-cooler)
+ (warning yellow)
(info blue)
(underline-err yellow-intense)
(underline-warning magenta-faint)
(underline-note cyan)
+ (bg-prominent-err bg-yellow-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-magenta-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
;;;; Code mappings
(builtin magenta-warmer)
@@ -277,6 +284,7 @@ standard).")
(date-event fg-alt)
(date-holiday yellow-warmer)
(date-now blue-faint)
+ (date-range fg-alt)
(date-scheduled yellow-cooler)
(date-weekday cyan)
(date-weekend yellow-faint)
@@ -306,13 +314,22 @@ standard).")
(mail-cite-0 blue-warmer)
(mail-cite-1 yellow-cooler)
- (mail-cite-2 blue-cooler)
+ (mail-cite-2 cyan-faint)
(mail-cite-3 yellow)
(mail-part blue)
(mail-recipient blue)
(mail-subject yellow-warmer)
(mail-other cyan-faint)
+;;;; Mark mappings
+
+ (bg-mark-delete bg-yellow-subtle)
+ (fg-mark-delete yellow)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-magenta-subtle)
+ (fg-mark-other magenta-warmer)
+
;;;; Prompt mappings
(fg-prompt blue)
@@ -343,6 +360,12 @@ standard).")
(rainbow-7 blue-faint)
(rainbow-8 magenta-faint)
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-yellow-intense)
+
;;;; Heading mappings
(fg-heading-0 cyan-cooler)
diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el
index 5012f8fb7f8..70dd0f78675 100644
--- a/etc/themes/modus-vivendi-theme.el
+++ b/etc/themes/modus-vivendi-theme.el
@@ -1,4 +1,4 @@
-;;; modus-vivendi-theme.el --- Elegant, highly legible and customizable dark theme -*- lexical-binding:t -*-
+;;; modus-vivendi-theme.el --- Elegant, highly legible theme with a black background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
@@ -43,7 +43,7 @@
(require 'modus-themes))
(deftheme modus-vivendi
- "Elegant, highly legible and customizable dark theme.
+ "Elegant, highly legible theme with a black background.
Conforms with the highest legibility standard for color contrast
between background and foreground in any given piece of text,
which corresponds to a minimum contrast in relative luminance of
@@ -138,10 +138,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-graph-red-0 "#b52c2c")
(bg-graph-red-1 "#702020")
- (bg-graph-green-0 "#4fd100")
+ (bg-graph-green-0 "#0fed00")
(bg-graph-green-1 "#007800")
(bg-graph-yellow-0 "#f1e00a")
- (bg-graph-yellow-1 "#b08600")
+ (bg-graph-yellow-1 "#b08940")
(bg-graph-blue-0 "#2fafef")
(bg-graph-blue-1 "#1f2f8f")
(bg-graph-magenta-0 "#bf94fe")
@@ -227,6 +227,13 @@ which corresponds to a minimum contrast in relative luminance of
(underline-warning yellow)
(underline-note cyan)
+ (bg-prominent-err bg-red-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-yellow-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
;;;; Code mappings
(builtin magenta-warmer)
@@ -273,8 +280,9 @@ which corresponds to a minimum contrast in relative luminance of
(date-common cyan)
(date-deadline red)
(date-event fg-alt)
- (date-holiday magenta)
+ (date-holiday red-cooler)
(date-now fg-main)
+ (date-range fg-alt)
(date-scheduled yellow-warmer)
(date-weekday cyan)
(date-weekend red-faint)
@@ -311,6 +319,15 @@ which corresponds to a minimum contrast in relative luminance of
(mail-subject magenta-warmer)
(mail-other magenta-faint)
+;;;; Mark mappings
+
+ (bg-mark-delete bg-red-subtle)
+ (fg-mark-delete red-cooler)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-yellow-subtle)
+ (fg-mark-other yellow)
+
;;;; Prompt mappings
(fg-prompt cyan-cooler)
@@ -341,6 +358,12 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-red-intense)
+
;;;; Heading mappings
(fg-heading-0 cyan-cooler)
diff --git a/etc/themes/modus-vivendi-tinted-theme.el b/etc/themes/modus-vivendi-tinted-theme.el
index 79e7fc9e3d8..b6443bdf6cc 100644
--- a/etc/themes/modus-vivendi-tinted-theme.el
+++ b/etc/themes/modus-vivendi-tinted-theme.el
@@ -1,4 +1,4 @@
-;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible and customizable dark theme -*- lexical-binding:t -*-
+;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible theme with a night sky background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
@@ -43,7 +43,7 @@
(require 'modus-themes))
(deftheme modus-vivendi-tinted
- "Elegant, highly legible and customizable dark theme.
+ "Elegant, highly legible theme with a night sky background.
Conforms with the highest legibility standard for color contrast
between background and foreground in any given piece of text,
which corresponds to a minimum contrast in relative luminance of
@@ -132,10 +132,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-graph-red-0 "#b52c2c")
(bg-graph-red-1 "#702020")
- (bg-graph-green-0 "#4fd100")
+ (bg-graph-green-0 "#0fed00")
(bg-graph-green-1 "#007800")
(bg-graph-yellow-0 "#f1e00a")
- (bg-graph-yellow-1 "#b08600")
+ (bg-graph-yellow-1 "#b08940")
(bg-graph-blue-0 "#2fafef")
(bg-graph-blue-1 "#1f2f8f")
(bg-graph-magenta-0 "#bf94fe")
@@ -227,6 +227,13 @@ which corresponds to a minimum contrast in relative luminance of
(underline-warning yellow)
(underline-note cyan)
+ (bg-prominent-err bg-red-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-yellow-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
;;;; Code mappings
(builtin magenta-warmer)
@@ -273,8 +280,9 @@ which corresponds to a minimum contrast in relative luminance of
(date-common cyan)
(date-deadline red)
(date-event fg-alt)
- (date-holiday magenta)
+ (date-holiday red-cooler)
(date-now fg-main)
+ (date-range fg-alt)
(date-scheduled yellow-warmer)
(date-weekday cyan)
(date-weekend red-faint)
@@ -311,10 +319,20 @@ which corresponds to a minimum contrast in relative luminance of
(mail-subject magenta-warmer)
(mail-other magenta-faint)
+;;;; Mark mappings
+
+ (bg-mark-delete bg-red-subtle)
+ (fg-mark-delete red-cooler)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-yellow-subtle)
+ (fg-mark-other yellow)
+
;;;; Prompt mappings
(fg-prompt cyan-cooler)
(bg-prompt unspecified)
+ (bg-space-err bg-red-intense)
;;;; Prose mappings
@@ -341,6 +359,11 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+
;;;; Heading mappings
(fg-heading-0 cyan-cooler)
diff --git a/etc/themes/modus-vivendi-tritanopia-theme.el b/etc/themes/modus-vivendi-tritanopia-theme.el
new file mode 100644
index 00000000000..0d09989e2a7
--- /dev/null
+++ b/etc/themes/modus-vivendi-tritanopia-theme.el
@@ -0,0 +1,441 @@
+;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a black background -*- lexical-binding:t -*-
+
+;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
+;; URL: https://git.sr.ht/~protesilaos/modus-themes
+;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; The Modus themes conform with the highest standard for
+;; color-contrast accessibility between background and foreground
+;; values (WCAG AAA). Please refer to the official Info manual for
+;; further documentation (distributed with the themes, or available
+;; at: <https://protesilaos.com/emacs/modus-themes>).
+
+;;; Code:
+
+
+
+(eval-and-compile
+ (unless (and (fboundp 'require-theme)
+ load-file-name
+ (equal (file-name-directory load-file-name)
+ (expand-file-name "themes/" data-directory))
+ (require-theme 'modus-themes t))
+ (require 'modus-themes))
+
+ (deftheme modus-vivendi-tritanopia
+ "Tritanopia-optimized theme with a black background.
+This variant is optimized for users with blue-yellow color
+deficiency (tritanopia). It conforms with the highest
+legibility standard for color contrast between background and
+foreground in any given piece of text, which corresponds to a
+minimum contrast in relative luminance of 7:1 (WCAG AAA
+standard).")
+
+ (defconst modus-vivendi-tritanopia-palette
+ '(
+;;; Basic values
+
+ (bg-main "#000000")
+ (bg-dim "#1e1e1e")
+ (fg-main "#ffffff")
+ (fg-dim "#989898")
+ (fg-alt "#c6daff")
+ (bg-active "#535353")
+ (bg-inactive "#303030")
+ (border "#646464")
+
+;;; Common accent foregrounds
+
+ (red "#ff5f59")
+ (red-warmer "#ff6740")
+ (red-cooler "#ff6f9f")
+ (red-faint "#ff9070")
+ (red-intense "#ff5f5f")
+ (green "#44bc44")
+ (green-warmer "#70b900")
+ (green-cooler "#00c06f")
+ (green-faint "#88ca9f")
+ (green-intense "#44df44")
+ (yellow "#cabf00")
+ (yellow-warmer "#ffa00f")
+ (yellow-cooler "#d8af7a")
+ (yellow-faint "#d2b580")
+ (yellow-intense "#efef00")
+ (blue "#2fafff")
+ (blue-warmer "#79a8ff")
+ (blue-cooler "#00bcff")
+ (blue-faint "#82b0ec")
+ (blue-intense "#338fff")
+ (magenta "#feacd0")
+ (magenta-warmer "#f78fe7")
+ (magenta-cooler "#b6a0ff")
+ (magenta-faint "#caa6df")
+ (magenta-intense "#ef7fff")
+ (cyan "#00d3d0")
+ (cyan-warmer "#4ae2ff")
+ (cyan-cooler "#6ae4b9")
+ (cyan-faint "#7fdbdf")
+ (cyan-intense "#00eff0")
+
+;;; Uncommon accent foregrounds
+
+ (rust "#db7b5f")
+ (gold "#c0965b")
+ (olive "#9cbd6f")
+ (slate "#76afbf")
+ (indigo "#9099d9")
+ (maroon "#cf7fa7")
+ (pink "#d09dc0")
+
+;;; Common accent backgrounds
+
+ (bg-red-intense "#9d1f1f")
+ (bg-green-intense "#2f822f")
+ (bg-yellow-intense "#7a6100")
+ (bg-blue-intense "#1640b0")
+ (bg-magenta-intense "#7030af")
+ (bg-cyan-intense "#2266ae")
+
+ (bg-red-subtle "#620f2a")
+ (bg-green-subtle "#00422a")
+ (bg-yellow-subtle "#4a4000")
+ (bg-blue-subtle "#242679")
+ (bg-magenta-subtle "#552f5f")
+ (bg-cyan-subtle "#004065")
+
+ (bg-red-nuanced "#2c0614")
+ (bg-green-nuanced "#001904")
+ (bg-yellow-nuanced "#221000")
+ (bg-blue-nuanced "#0f0e39")
+ (bg-magenta-nuanced "#230631")
+ (bg-cyan-nuanced "#041529")
+
+;;; Uncommon accent backgrounds
+
+ (bg-ochre "#442c2f")
+ (bg-lavender "#38325c")
+ (bg-sage "#0f3d30")
+
+;;; Graphs
+
+ (bg-graph-red-0 "#b52c2c")
+ (bg-graph-red-1 "#702020")
+ (bg-graph-green-0 "#afd1c0")
+ (bg-graph-green-1 "#607a8f")
+ (bg-graph-yellow-0 "#facfd6")
+ (bg-graph-yellow-1 "#b57b85")
+ (bg-graph-blue-0 "#4f9fdf")
+ (bg-graph-blue-1 "#004559")
+ (bg-graph-magenta-0 "#b6427f")
+ (bg-graph-magenta-1 "#7f506f")
+ (bg-graph-cyan-0 "#57dfea")
+ (bg-graph-cyan-1 "#00808f")
+
+;;; Special purpose
+
+ (bg-completion "#004253")
+ (bg-hover "#8e3e3b")
+ (bg-hover-secondary "#00405f")
+ (bg-hl-line "#2f3849")
+ (bg-region "#5a5a5a")
+ (fg-region "#ffffff")
+
+ (bg-char-0 "#922a00")
+ (bg-char-1 "#4f3f7f")
+ (bg-char-2 "#00709f")
+
+ (bg-mode-line-active "#003c52")
+ (fg-mode-line-active "#f0f0f0")
+ (border-mode-line-active "#5f8fb4")
+ (bg-mode-line-inactive "#2d2d2d")
+ (fg-mode-line-inactive "#969696")
+ (border-mode-line-inactive "#606060")
+
+ (modeline-err "#ff7fbf")
+ (modeline-warning "#df9f93")
+ (modeline-info "#4fcfef")
+
+ (bg-tab-bar "#313131")
+ (bg-tab-current "#000000")
+ (bg-tab-other "#545454")
+
+;;; Diffs
+
+ (bg-added "#004254")
+ (bg-added-faint "#003042")
+ (bg-added-refine "#004f7f")
+ (bg-added-fringe "#008fcf")
+ (fg-added "#9fdfdf")
+ (fg-added-intense "#50c0ef")
+
+ (bg-changed "#2f123f")
+ (bg-changed-faint "#1f022f")
+ (bg-changed-refine "#3f325f")
+ (bg-changed-fringe "#7f55a0")
+ (fg-changed "#e3cfff")
+ (fg-changed-intense "#cf9fe2")
+
+ (bg-removed "#4f1119")
+ (bg-removed-faint "#380a0f")
+ (bg-removed-refine "#781a1f")
+ (bg-removed-fringe "#b81a1f")
+ (fg-removed "#ffbfbf")
+ (fg-removed-intense "#ff9095")
+
+ (bg-diff-context "#1a1a1a")
+
+;;; Paren match
+
+ (bg-paren-match "#2f7f9f")
+ (bg-paren-expression "#453040")
+ (underline-paren-match unspecified)
+
+;;; Mappings
+
+;;;; General mappings
+
+ (fringe bg-dim)
+ (cursor red-intense)
+
+ (keybind red)
+ (name red-cooler)
+ (identifier red-faint)
+
+ (err red-warmer)
+ (warning magenta)
+ (info cyan)
+
+ (underline-err red-intense)
+ (underline-warning magenta-intense)
+ (underline-note cyan-intense)
+
+ (bg-prominent-err bg-red-intense)
+ (fg-prominent-err fg-main)
+ (bg-prominent-warning bg-magenta-intense)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-cyan-intense)
+ (fg-prominent-note fg-main)
+
+;;;; Code mappings
+
+ (builtin magenta)
+ (comment red-faint)
+ (constant green-faint)
+ (docstring fg-alt)
+ (docmarkup magenta-faint)
+ (fnname cyan-warmer)
+ (keyword red-cooler)
+ (preprocessor red-warmer)
+ (string cyan)
+ (type blue-warmer)
+ (variable cyan-cooler)
+ (rx-construct red)
+ (rx-backslash magenta)
+
+;;;; Accent mappings
+
+ (accent-0 cyan)
+ (accent-1 red-warmer)
+ (accent-2 cyan-cooler)
+ (accent-3 magenta)
+
+;;;; Button mappings
+
+ (fg-button-active fg-main)
+ (fg-button-inactive fg-dim)
+ (bg-button-active bg-active)
+ (bg-button-inactive bg-dim)
+
+;;;; Completion mappings
+
+ (fg-completion-match-0 cyan)
+ (fg-completion-match-1 red-warmer)
+ (fg-completion-match-2 magenta)
+ (fg-completion-match-3 cyan-cooler)
+ (bg-completion-match-0 unspecified)
+ (bg-completion-match-1 unspecified)
+ (bg-completion-match-2 unspecified)
+ (bg-completion-match-3 unspecified)
+
+;;;; Date mappings
+
+ (date-common cyan-cooler)
+ (date-deadline red)
+ (date-event fg-alt)
+ (date-holiday red-intense)
+ (date-now fg-main)
+ (date-range fg-alt)
+ (date-scheduled magenta)
+ (date-weekday cyan)
+ (date-weekend red-faint)
+
+;;;; Line number mappings
+
+ (fg-line-number-inactive fg-dim)
+ (fg-line-number-active fg-main)
+ (bg-line-number-inactive bg-dim)
+ (bg-line-number-active bg-active)
+
+;;;; Link mappings
+
+ (fg-link cyan)
+ (bg-link unspecified)
+ (underline-link cyan)
+
+ (fg-link-symbolic cyan-cooler)
+ (bg-link-symbolic unspecified)
+ (underline-link-symbolic cyan-cooler)
+
+ (fg-link-visited magenta)
+ (bg-link-visited unspecified)
+ (underline-link-visited magenta)
+
+;;;; Mail mappings
+
+ (mail-cite-0 cyan-faint)
+ (mail-cite-1 red-faint)
+ (mail-cite-2 magenta-warmer)
+ (mail-cite-3 cyan-warmer)
+ (mail-part cyan-cooler)
+ (mail-recipient cyan)
+ (mail-subject red-cooler)
+ (mail-other cyan)
+
+;;;; Mark mappings
+
+ (bg-mark-delete bg-red-subtle)
+ (fg-mark-delete red)
+ (bg-mark-select bg-cyan-subtle)
+ (fg-mark-select cyan)
+ (bg-mark-other bg-magenta-subtle)
+ (fg-mark-other magenta-warmer)
+
+;;;; Prompt mappings
+
+ (fg-prompt cyan-cooler)
+ (bg-prompt unspecified)
+
+;;;; Prose mappings
+
+ (prose-block fg-dim)
+ (prose-code cyan)
+ (prose-done cyan)
+ (prose-macro red-warmer)
+ (prose-metadata fg-dim)
+ (prose-metadata-value fg-alt)
+ (prose-table fg-alt)
+ (prose-tag fg-alt)
+ (prose-todo red)
+ (prose-verbatim magenta-warmer)
+
+;;;; Rainbow mappings
+
+ (rainbow-0 cyan)
+ (rainbow-1 red)
+ (rainbow-2 cyan-warmer)
+ (rainbow-3 red-cooler)
+ (rainbow-4 cyan-cooler)
+ (rainbow-5 magenta)
+ (rainbow-6 cyan-faint)
+ (rainbow-7 magenta-faint)
+ (rainbow-8 red-faint)
+
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-red-intense)
+
+;;;; Heading mappings
+
+ (fg-heading-0 cyan-cooler)
+ (fg-heading-1 fg-main)
+ (fg-heading-2 red-faint)
+ (fg-heading-3 cyan-faint)
+ (fg-heading-4 magenta)
+ (fg-heading-5 green-faint)
+ (fg-heading-6 magenta-faint)
+ (fg-heading-7 cyan-faint)
+ (fg-heading-8 fg-dim)
+
+ (bg-heading-0 unspecified)
+ (bg-heading-1 unspecified)
+ (bg-heading-2 unspecified)
+ (bg-heading-3 unspecified)
+ (bg-heading-4 unspecified)
+ (bg-heading-5 unspecified)
+ (bg-heading-6 unspecified)
+ (bg-heading-7 unspecified)
+ (bg-heading-8 unspecified)
+
+ (overline-heading-0 unspecified)
+ (overline-heading-1 unspecified)
+ (overline-heading-2 unspecified)
+ (overline-heading-3 unspecified)
+ (overline-heading-4 unspecified)
+ (overline-heading-5 unspecified)
+ (overline-heading-6 unspecified)
+ (overline-heading-7 unspecified)
+ (overline-heading-8 unspecified))
+ "The entire palette of the `modus-vivendi-tritanopia' theme.
+
+Named colors have the form (COLOR-NAME HEX-VALUE) with the former
+as a symbol and the latter as a string.
+
+Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
+with both as symbols. The latter is a named color that already
+exists in the palette and is associated with a HEX-VALUE.")
+
+ (defcustom modus-vivendi-tritanopia-palette-overrides nil
+ "Overrides for `modus-vivendi-tritanopia-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Modus themes,
+refer to `modus-themes-common-palette-overrides'.
+
+Theme-specific overrides take precedence over shared overrides.
+The idea of common overrides is to change semantic color
+mappings, such as to make the cursor red. Wherea theme-specific
+overrides can also be used to change the value of a named color,
+such as what hexadecimal RGB value the red-warmer symbol
+represents."
+ :group 'modus-themes
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :type '(repeat (list symbol (choice symbol string)))
+ :set #'modus-themes--set-option
+ :initialize #'custom-initialize-default
+ :link '(info-link "(modus-themes) Palette overrides"))
+
+ (modus-themes-theme modus-vivendi-tritanopia
+ modus-vivendi-tritanopia-palette
+ modus-vivendi-tritanopia-palette-overrides)
+
+ (provide-theme 'modus-vivendi-tritanopia))
+
+;;;###theme-autoload
+(put 'modus-vivendi-tritanopia 'theme-properties '(:background-mode dark :kind color-scheme :family modus))
+
+;;; modus-vivendi-tritanopia-theme.el ends here
diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index e72b972441e..4e6d7b9b287 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -4,7 +4,7 @@ Emacs commands generally involve the CONTROL key (often labeled CTRL)
or the META key (usually labeled ALT). Rather than writing that
in full each time, we'll use the following abbreviations:
- C-<chr> means hold the CONTROL key while typing the character <chr>
+ C-<chr> means hold the CONTROL key while typing the character <chr>.
Thus, C-f would be: hold the CONTROL key and type f.
M-<chr> means hold the META or ALT key down while typing <chr>.
If there is no META or ALT key, instead press and release the
diff --git a/etc/tutorials/TUTORIAL.cn b/etc/tutorials/TUTORIAL.cn
index 73df2cff4e7..e4c90102f53 100644
--- a/etc/tutorials/TUTORIAL.cn
+++ b/etc/tutorials/TUTORIAL.cn
@@ -15,10 +15,10 @@ META 键(有时候用 EDIT 或 ALT æ¥æ ‡ç¤ºï¼‰ã€‚为了é¿å…æ¯æ¬¡éƒ½è¦å†™å
ESC 键。
é‡è¦æ示:è¦é€€å‡º Emacs,请用 C-x C-c(两个连续的组åˆé”®ï¼‰ã€‚
-è¦é€€å‡ºä¸€ä¸ªæ­£åœ¨è¿è¡Œä¸­çš„命令,请用 C-g。
+è¦ä¸­æ–­ä¸€ä¸ªæ­£åœ¨è¾“入的命令,请用 C-g。
下文中左边顶行的“>>â€å­—样用æ¥æ示你å°è¯•é”®ç›˜å‘½ä»¤ã€‚比如:
<<Blank lines inserted around following line by help-with-tutorial>>
-[本页当中特æ„留出一些空白是出于教学目的,请继续往åŽé˜…读]
+ã€æœ¬é¡µå½“中特æ„留出一些空白是出于教学目的,请继续往åŽé˜…读】
>> 现在输入 C-v (查看下一å±æ–‡å­—)移动到下一å±ã€‚
(别紧张,在输入字符 v çš„åŒæ—¶æ³¨æ„è¦æŒ‰ä½ CONTROL 键)
从现在开始,æ¯è¯»å®Œå½“å‰ä¸€å±ä½ éƒ½éœ€è¦è¿™æ ·åšä¸€æ¬¡ã€‚
@@ -26,12 +26,17 @@ META 键(有时候用 EDIT 或 ALT æ¥æ ‡ç¤ºï¼‰ã€‚为了é¿å…æ¯æ¬¡éƒ½è¦å†™å
值得注æ„的是,当你从上一å±æ»šåˆ°ä¸‹ä¸€å±æ—¶ï¼Œä¸­é—´ä¼šæœ‰ä¸¤è¡Œçš„é‡å¤ï¼›è¿™æ ·åšæ˜¯ä¸º
了维æŒæ»šå±çš„连续性,方便你顺畅ã€è¿žç»­åœ°é˜…读。
+这是 Emacs 教程文本的一个ç»è¿‡å°‘é‡ä¿®æ”¹çš„副本。ä¸ä¹…åŽæˆ‘们会让你å°è¯•ä¸åŒ
+的命令æ¥ä¿®æ”¹æ­¤æ–‡æœ¬ã€‚若你在我们æ到这些命令å‰ä¿®æ”¹äº†æ–‡æœ¬ï¼Œä¸è¦æ‹…心;这就
+å«åšâ€œç¼–辑â€ï¼Œè€Œè¿™å°±æ˜¯ Emacs 存在的根本原因。
+
用编辑器,开门第一件事就是学会在文字中移动。你已ç»çŸ¥é“了 C-v å¯ä»¥å‘下移
动一å±ï¼Œè¦å¾€ä¸Šç§»ï¼Œè¯·ç”¨ M-v ï¼ˆä¹Ÿå°±æ˜¯æŒ‰ä½ META 键,然åŽè¾“å…¥v,如果你没有
METAã€EDIT 或 ALT 键那么就先按 <ESC> å†æŒ‰ v)。
>> 试试 M-v,然åŽå†è¯•è¯• C-v,æ¥å›žé›å‡ æ¬¡ã€‚
+若你知é“其他移动文本的方å¼ï¼Œä¹Ÿå¯ä»¥åœ¨è¿™é‡Œè¯•è¯•ã€‚
* å°ç»“(SUMMARY)
-----------------
@@ -101,7 +106,7 @@ P 代表 previous(上一行),N 代表 next(下一行),B 代表 backw
如果你嫌一个字符一个字符地挪光标太慢,你还å¯ä»¥ä¸€ä¸ªè¯ä¸€ä¸ªè¯åœ°è·³ã€‚M-f
(META-f) å¯ä»¥å°†å…‰æ ‡å¾€å‰ç§»åŠ¨ä¸€ä¸ªè¯ï¼Œè€Œ M-b 则是往åŽç§»ã€‚ã€è¿™é‡Œçš„“è¯â€æŒ‡
-英文å•è¯ï¼Œå¯¹ä¸­æ–‡æ¥è¯´ï¼Œåˆ™æ˜¯æŒ‡ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªæ ‡ç‚¹ç¬¦å·ã€‚】
+英文å•è¯ï¼Œå¯¹ä¸­æ–‡æ¥è¯´ï¼Œåˆ™æ˜¯æŒ‡ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªç©ºæ ¼æˆ–标点符å·ã€‚】
>> 试试 M-f 和 M-b。
@@ -132,8 +137,8 @@ P 代表 previous(上一行),N 代表 next(下一行),B 代表 backw
C-f å‘å³ç§»åŠ¨ä¸€ä¸ªå­—符
C-b å‘左移动一个字符
- M-f å‘å³ç§»åŠ¨ä¸€ä¸ªè¯ã€å¯¹ä¸­æ–‡æ˜¯ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªæ ‡ç‚¹ç¬¦å·ã€‘
- M-b å‘左移动一个è¯ã€å¯¹ä¸­æ–‡æ˜¯ç§»åŠ¨åˆ°ä¸Šä¸€ä¸ªæ ‡ç‚¹ç¬¦å·ã€‘
+ M-f å‘å³ç§»åŠ¨ä¸€ä¸ªè¯ã€å¯¹ä¸­æ–‡æ˜¯ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªç©ºæ ¼æˆ–标点符å·ã€‘
+ M-b å‘左移动一个è¯ã€å¯¹ä¸­æ–‡æ˜¯ç§»åŠ¨åˆ°ä¸Šä¸€ä¸ªç©ºæ ¼æˆ–标点符å·ã€‘
C-n 移动到下一行
C-p 移动到上一行
@@ -160,24 +165,25 @@ M-comma(META 逗å·ï¼‰ã€‚
然åŽå†æŒ‰å‡ æ¬¡ M-v 回到这里。
如果你的键盘上有方å‘键的è¯ï¼Œä¹Ÿå¯ä»¥ç”¨å®ƒä»¬æ¥ç§»åŠ¨å…‰æ ‡ã€‚ä¸è¿‡æˆ‘们有三个ç†ç”±
-推è你学习 C-b ã€C-f ã€C-n ã€å’Œ C-p:(1)它们在任何键盘上都能用。(2)
-当你熟练使用 Emacs 之åŽï¼Œä½ ä¼šå‘现用这些组åˆé”®æ¯”用方å‘é”®è¦å¿«å¾—多,因为你
-的手ä¸éœ€è¦ç¦»å¼€æ‰“字区。(3)一旦你习惯了使用这些组åˆé”®ï¼Œä½ ä¹Ÿå¯ä»¥å¾ˆå®¹æ˜“地
-适应其它更高级的光标移动命令。
-
-大部分的 Emacs 命令接å—æ•°å­—å‚数,并且对于多数命令而言,这些数字å‚数的作
-用是指定命令的é‡å¤æ¬¡æ•°ã€‚为一个命令指定数字å‚数(也就是é‡å¤æ¬¡æ•°ï¼‰çš„方法
-是:先输入 C-u,然åŽè¾“入数字作为å‚数,最åŽå†è¾“入命令。如果你有META (或
-EDIT 或 ALT)键,那么还有å¦ä¸€ç§åŠžæ³•ï¼šæŒ‰ä½ META é”®ä¸æ”¾ï¼Œç„¶åŽè¾“入数字。ä¸
-过我们还是建议你用 C-u,因为它在任何终端机上都能用。这ç§æ•°å­—å‚数也称为
-“å‰ç¼€å‚æ•°â€ï¼Œæ„æ€æ˜¯è¯´è¿™ä¸ªå‚数是先于使用它的命令而输入的。
+推è你学习 C-b ã€C-f ã€C-n ã€å’Œ C-p:(1)它们在任何终端(terminal)上
+都能用。(2)当你熟练使用 Emacs 之åŽï¼Œä½ ä¼šå‘现用这些组åˆé”®æ¯”用方å‘é”®è¦
+快得多,因为你的手ä¸éœ€è¦ç¦»å¼€æ‰“字区。(3)一旦你习惯了使用这些组åˆé”®ï¼Œ
+你也å¯ä»¥å¾ˆå®¹æ˜“地适应其它更高级的光标移动命令。
+
+大部分的 Emacs 命令接å—æ•°å­—å‚数,并且对于多数命令而言,这些数字å‚æ•°çš„
+作用是指定命令的é‡å¤æ¬¡æ•°ã€‚为一个命令指定数字å‚数(也就是é‡å¤æ¬¡æ•°ï¼‰çš„æ–¹
+法是:先输入 C-u,然åŽè¾“入数字作为å‚数,最åŽå†è¾“入命令。如果你有
+META(或EDIT 或 ALT)键,那么还有å¦ä¸€ç§åŠžæ³•ï¼šæŒ‰ä½ META é”®ä¸æ”¾ï¼Œç„¶åŽè¾“
+入数字。ä¸è¿‡æˆ‘们还是建议你用 C-u,因为它在任何终端上都能用。这ç§æ•°å­—å‚
+数也称为“å‰ç¼€å‚æ•°â€ï¼ˆprefix argument),æ„æ€æ˜¯è¯´è¿™ä¸ªå‚数是先于使用它的
+命令而输入的。
举例æ¥è¯´ï¼Œ C-u 8 C-f 会å‘å‰ç§»åŠ¨ 8 个字符。
>> 为 C-n 或者 C-p 指定一个数字å‚数,这样你å¯ä»¥åªç”¨ä¸€ä¸ªå‘½ä»¤å°±æŠŠå…‰æ ‡ç§»åŠ¨
到本行的附近。
-虽然大部分命令把数字å‚数解释为其é‡å¤æ¬¡æ•°ï¼Œä½†æ˜¯ä¹Ÿæœ‰äº›å‘½ä»¤ä¾‹å¤–,它们将数
+虽然大部分命令把数字å‚数解读为其é‡å¤æ¬¡æ•°ï¼Œä½†æ˜¯ä¹Ÿæœ‰äº›å‘½ä»¤ä¾‹å¤–,它们将数
å­—å‚æ•°å¦åšå®ƒç”¨ã€‚比如有些命令(我们目å‰è¿˜æ²¡å­¦åˆ°ï¼‰ä»…ä»…å°†å‰ç¼€å‚数作为一个
标志――åªè¦ç»™å‡ºæœ‰ä¸€ä¸ªå‰ç¼€å‚数,ä¸ç®¡å…¶å€¼ä¸ºä½•ï¼Œå®ƒéƒ½ä¼šæ”¹å˜å‘½ä»¤çš„功能。
@@ -189,7 +195,7 @@ EDIT 或 ALT)键,那么还有å¦ä¸€ç§åŠžæ³•ï¼šæŒ‰ä½ META é”®ä¸æ”¾ï¼Œç„¶å
这个命令应该已ç»å°†æ–‡å­—å‘上滚动了 8 行。如果你想将它å†æ¬¡åœ°å‘下滚动,你å¯
以给定一个å‚数然åŽæ‰§è¡Œ M-v。
-如果你正在使用图形界é¢ï¼Œæ¯”如 X 或者微软的 Windows,那么在 Emacs窗
+如果你正在使用图形界é¢ï¼Œæ¯”如 X 或者微软的 Windows,那么在 Emacs 窗
å£çš„一边应该有一个长方形的区域å«â€œæ»šåŠ¨æ¡â€ã€‚ä½ å¯ä»¥ç”¨é¼ æ ‡æ“纵滚动æ¡æ¥æ»šåŠ¨
文字。
@@ -235,8 +241,8 @@ Emacs å¯ä»¥æœ‰å¤šä¸ªâ€œçª—æ ¼â€ï¼Œæ¯ä¸ªçª—格显示ä¸åŒçš„文字。åŽé¢ä¼
C-x 1 åªä¿ç•™ä¸€ä¸ªçª—格(也就是关掉其它所有窗格)。
-也就是先按 CONTROL-x 然åŽå†æŒ‰ 1。C-x 1 会ä¿ç•™å…‰æ ‡æ‰€åœ¨çš„窗格,并将其扩大
-到整个å±å¹•ï¼ŒåŒæ—¶å…³æŽ‰æ‰€æœ‰å…¶å®ƒçš„窗格。
+也就是先按 CONTROL-x 然åŽå†æŒ‰æ•°å­— 1。C-x 1 会ä¿ç•™å…‰æ ‡æ‰€åœ¨çš„窗格,并将
+其扩大到整个å±å¹•ï¼ŒåŒæ—¶å…³æŽ‰æ‰€æœ‰å…¶å®ƒçš„窗格。
>> 把光标移到本行然åŽè¾“å…¥ C-u 0 C-l。
@@ -266,12 +272,13 @@ Emacs å¯ä»¥æœ‰å¤šä¸ªâ€œçª—æ ¼â€ï¼Œæ¯ä¸ªçª—格显示ä¸åŒçš„文字。åŽé¢ä¼
ä¸ç”¨æ‹…心文件被修改,你åšä»€ä¹ˆéƒ½æ²¡å…³ç³»ï¼Œè¿™é‡Œå°±æ˜¯ä¸“给你练习用的。
如果一行文字很长ã€è¶…出了窗格的宽度,显示ä¸ä¸‹çš„部分会在紧邻的下一行继续
-显示。如果你使用的是图形界é¢ï¼Œæ–‡æœ¬åŒºåŸŸä¸¤è¾¹çš„狭窄区域(左å³â€œè¾¹ç¼˜â€ï¼‰ä¼šå‡º
-现å°å°çš„转弯箭头,表明这是æŸä¸€è¡Œçš„接续显示。如果你使用的是文本终端,接
-续显示由å±å¹•æœ€å³è¾¹ä¸€åˆ—的一个å斜线(“\â€ï¼‰æ¥è¡¨ç¤ºã€‚
+显示,称为接续行(continuation line)。如果你使用的是图形界é¢ï¼Œæ–‡æœ¬åŒº
+域两边的狭窄区域(左å³â€œè¾¹ç¼˜â€ï¼‰ä¼šå‡ºçŽ°å°å°çš„转弯箭头,表明这是æŸä¸€è¡Œçš„接
+续显示。如果你使用的是文本终端,接续显示由å±å¹•æœ€å³è¾¹ä¸€åˆ—的一个“\â€æ¥è¡¨
+示。
>> 输入文字,一直到å±å¹•çš„å³è¾¹ç•Œï¼Œç„¶åŽç»§ç»­ã€‚
-你会看到一个接续行出现。
+ 你会看到一个接续行出现。
>> 用 <DEL> 删掉一些文字,直到此行长度å°äºŽçª—格宽度,接续行就消失了。
@@ -286,7 +293,9 @@ Emacs å¯ä»¥æœ‰å¤šä¸ªâ€œçª—æ ¼â€ï¼Œæ¯ä¸ªçª—格显示ä¸åŒçš„文字。åŽé¢ä¼
<Return> 是一个特殊的键,因为按下这个键åŽï¼Œå¾—到的å¯èƒ½ä¸ä»…仅是一个æ¢è¡Œ
符。根æ®å‘¨å›´æ–‡æœ¬çš„ä¸åŒï¼ŒEmacs å¯èƒ½ä¼šåœ¨æ¢è¡Œç¬¦ä¹‹åŽæ’入一些空白字符,这样,
-当你在新的一行开始打字时,文本会自动与å‰ä¸€è¡Œå¯¹é½ã€‚
+当你在新的一行开始打字时,文本会自动与å‰ä¸€è¡Œå¯¹é½ã€‚我们称这ç§è¡Œä¸ºï¼ˆåœ¨æŒ‰
+这个按键时ä¸åªæ˜¯æ’入其对应字符)为“electricâ€ï¼Œå¯ä»¥ç†è§£ä¸ºâ€œé€šç”µçš„,自动
+çš„â€ã€‚
>> 这是一个自动缩进的例å­ã€‚
在这一行的末尾输入 <Return>。
@@ -338,7 +347,8 @@ Emacs å¯ä»¥æœ‰å¤šä¸ªâ€œçª—æ ¼â€ï¼Œæ¯ä¸ªçª—格显示ä¸åŒçš„文字。åŽé¢ä¼
了。】é‡æ–°æ’入被移除的文字称为“å¬å›žï¼ˆyank)â€ã€‚一般而言,那些å¯èƒ½æ¶ˆé™¤å¾ˆ
多文字的命令会把消除掉的文字记录下æ¥ï¼ˆå®ƒä»¬è¢«è®¾å®šæˆäº†â€œå¯å¬å›žâ€ï¼‰ï¼Œè€Œé‚£äº›
åªæ¶ˆé™¤ä¸€ä¸ªå­—符或者åªæ¶ˆé™¤ç©ºç™½çš„命令就ä¸ä¼šè®°å½•è¢«æ¶ˆé™¤çš„内容(自然你也就无
-法å¬å›žäº†ï¼‰ã€‚
+法å¬å›žäº†ï¼‰ã€‚<DEL> å’Œ C-d 在无å‰ç¼€å‚数的情况下进行“删除â€ï¼Œè€Œæœ‰å‰ç¼€å‚æ•°
+时则改用“移除â€ã€‚
>> 移动光标到一éžç©ºç™½è¡Œçš„行头,然åŽè¾“å…¥ C-k 移除那一行上的文字。
@@ -350,10 +360,11 @@ Emacs å¯ä»¥æœ‰å¤šä¸ªâ€œçª—æ ¼â€ï¼Œæ¯ä¸ªçª—格显示ä¸åŒçš„文字。åŽé¢ä¼
C-k 会把两行以åŠå®ƒä»¬çš„æ¢è¡Œç¬¦ç§»é™¤ï¼›è€Œå¦‚æžœåªæ˜¯è¾“å…¥ C-k 两次显然ä¸æ˜¯è¿™ä¸ªç»“
果。
-é‡æ–°æ’入被移除的文字æ¢å¤çš„动作称为“å¬å›žï¼ˆyanking)â€ã€‚(就好åƒæŠŠåˆ«äººä»Žä½ èº«è¾¹
-移走的东西åˆçŒ›åŠ›åœ°æ‹‰å›žæ¥ã€‚)你å¯ä»¥åœ¨ä½ åˆ é™¤æ–‡å­—的地方å¬å›žï¼Œä¹Ÿå¯ä»¥åœ¨åˆ«çš„
-地方å¬å›žï¼Œè¿˜å¯ä»¥å¤šæ¬¡å¬å›žåŒæ ·çš„文字以得到它的多个拷è´ã€‚很多其它的编辑器
-把移除和å¬å›žå«åšâ€œå‰ªåˆ‡â€å’Œâ€œç²˜è´´â€ (详情å¯è§ Emacs 使用手册里的术语表)。
+ã€é‡æ–°æ’入被移除的文字æ¢å¤çš„动作称为“å¬å›žï¼ˆyanking)â€ï¼Œå°±å¥½åƒæŠŠåˆ«äºº
+从你身边移走的东西åˆçŒ›åŠ›åœ°æ‹‰å›žæ¥ã€‚】你å¯ä»¥åœ¨ä½ åˆ é™¤æ–‡å­—的地方å¬å›žï¼Œä¹Ÿ
+å¯ä»¥åœ¨åˆ«çš„地方å¬å›žï¼Œè¿˜å¯ä»¥å¤šæ¬¡å¬å›žåŒæ ·çš„文字以得到它的多个拷è´ã€‚很多其
+它的编辑器把移除和å¬å›žå«åšâ€œå‰ªåˆ‡â€å’Œâ€œç²˜è´´â€ (详情å¯è§ Emacs 使用手册里的
+术语表)。
å¬å›žçš„命令是 C-y。它会在光标所在处æ’入你最åŽç§»é™¤çš„文字。
@@ -372,8 +383,8 @@ C-y å°±å¯ä»¥æŠŠå®ƒä»¬éƒ½å¬å›žã€‚
C-y å¯ä»¥å¬å›žæœ€è¿‘一次移除的内容,那如何å¬å›žå‰å‡ æ¬¡ç§»é™¤çš„内容呢?它们当然
没有丢,你å¯ä»¥ç”¨ M-y æ¥å¬å›žå®ƒä»¬ã€‚在用 C-y å¬å›žæœ€è¿‘移除的文字之åŽï¼Œç´§æŽ¥
ç€å†æŒ‰ M-y å°±å¯ä»¥å¬å›žå†å‰ä¸€æ¬¡è¢«ç§»é™¤çš„内容,å†æŒ‰ä¸€æ¬¡ M-y åˆå¯ä»¥å¬å›žå†ä¸Š
-一次的……连续使用 M-y 直到找到你想è¦å¬å›žçš„东西,然åŽä»€ä¹ˆä¹Ÿä¸ç”¨åšï¼Œç»§ç»­
-编辑就行了。
+一次的内容……连续使用 M-y 直到找到你想è¦å¬å›žçš„东西,然åŽä»€ä¹ˆä¹Ÿä¸ç”¨åšï¼Œ
+继续编辑就行了。
如果连续按 M-y 很多次,你å¯èƒ½ä¼šå›žåˆ°èµ·å§‹ç‚¹ï¼Œä¹Ÿå°±æ˜¯æœ€è¿‘移除的文字。
ã€çœ‹å¾—出这实际上是一个环。】
@@ -401,14 +412,16 @@ C-/,你会把以å‰çš„命令也ä¾æ¬¡æ’¤é”€ã€‚
>> 用 C-k 将这一行移除,然åŽè¾“å…¥ C-/ ,它会å†æ¬¡å‡ºçŽ°ã€‚
-C-_ 也是撤销命令;它的作用跟 C-/ 一样,但是它比较容易多次输入。在
-æŸäº›ç»ˆç«¯ä¸Šï¼Œè¾“å…¥ C-/ å®žé™…ä¸Šå‘ Emacs å‘é€çš„是 C-_ 。
-å¦å¤–, C-x u å’Œ C-/ 完全一样,但是按起æ¥æœ‰äº›éº»çƒ¦ã€‚
+C-_ 也是撤销命令;它的作用跟 C-/ 一样,但是它比较容易多次输入。在æŸäº›
+终端上,你å¯ä»¥ä¸æŒ‰ shift é”®ï¼ˆå³ C--)。在æŸäº›ç»ˆç«¯ä¸Šï¼Œè¾“å…¥ C-/ 实际上å‘
+Emacs å‘é€çš„是 C-_ 。å¦å¤–, C-x u å’Œ C-/ 完全一样,但是按起æ¥æœ‰äº›éº»çƒ¦ã€‚
æ•°å­—å‚数对于 C-/ 〠C-_ å’Œ C-x u çš„æ„义是执行撤销的é‡å¤æ¬¡æ•°ã€‚
+ä½ å¯ä»¥æ’¤é”€æ–‡å­—的删除,就åƒä½ èƒ½æ’¤é”€æ–‡å­—的移除一样。删除与移除的区别åªåœ¨
+于你是å¦èƒ½å¬å›žè¢«å½±å“的文字;对于撤销æ¥è¯´æ²¡æœ‰åŒºåˆ«ã€‚
-* 文件(FILE)
+* 文件(FILES)
--------------
想ä¿å­˜å·¥ä½œæˆæžœå°±è¦è®°å¾—存盘,å¦åˆ™ä¸€æ—¦é€€å‡º Emacs 你编辑的文字就会丢失。è¦
@@ -424,7 +437,7 @@ C-_ 也是撤销命令;它的作用跟 C-/ 一样,但是它比较容易多æ¬
在å±å¹•çš„下方,你应该能够看到头部有短线“-â€çš„一行,行首通常是一些诸如“
-:--- TUTORIAL.cnâ€çš„文字,这些文字代表了你当å‰æ­£åœ¨è®¿é—®çš„文件。比如你现
在正在访问的文件是对 Emacs 快速指å—的一份临时拷è´ï¼Œå«åšâ€œTUTORIAL.cnâ€ã€‚
-æ¯å½“Emacs 寻找到一个文件,文件å就会出现在这个ä½ç½®ã€‚
+æ¯å½“ Emacs 寻找到一个文件,文件å就会出现在这个ä½ç½®ã€‚
寻找文件的命令有一个特点,那就是你必须给出文件å。我们称这个命令“读入
了一个å‚æ•°â€ï¼ˆåœ¨è¿™é‡Œï¼Œè¿™ä¸ªå‚数显然就是文件å)。在你输入这æ¡å‘½ä»¤ä¹‹åŽï¼š
@@ -435,14 +448,14 @@ Emacs 会æ示你输入文件å。你输入的文件å会出现在å±å¹•æœ€åº
行被称为å°ç¼“冲(minibuffer),在å°ç¼“冲里你å¯ä»¥ä½¿ç”¨é€šå¸¸çš„ Emacs 编辑命令
æ¥ç¼–辑文件å。
-在å°ç¼“冲里输入文件å(其实输入其它东西也一样)时å¯ä»¥ç”¨ C-g å–消。
+在å°ç¼“冲里输入文件å(其实输入其它东西也一样)时å¯ä»¥ç”¨ C-g å–消这个命令。
>> 输入 C-x C-f,然åŽè¾“å…¥ C-g
这会关掉å°ç¼“冲,åŒæ—¶ä¹Ÿä¼šå–消使用å°ç¼“冲的 C-x C-f 命令。
- 当然了,你也没有找任何文件。
+ 当然了,你也没有找到任何文件。
-用 <Return> 结æŸæ–‡ä»¶å的输入。之åŽï¼Œå°ç¼“冲会消失,C-x C-f 将会去寻找你
-指定的文件。å°ç¼“冲在 C-x C-f 命令结æŸä¹‹åŽä¹Ÿä¼šæ¶ˆå¤±ã€‚
+当你写完è¦å¯»æ‰¾çš„文件å时,用 <Return> 结æŸæ–‡ä»¶å的输入。之åŽï¼Œå°ç¼“冲会
+消失,C-x C-f 将会去寻找你指定的文件。
文件被显示在了å±å¹•ä¸Šï¼Œä½ å¯ä»¥å¼€å§‹ç¼–辑了。存盘用这æ¡å‘½ä»¤ï¼š
@@ -453,20 +466,21 @@ Emacs 会æ示你输入文件å。你输入的文件å会出现在å±å¹•æœ€åº
ã€å¯¹è®¸å¤šäººæ¥è¯´ï¼Œè¿™æ˜¯ä¸€ä¸ªçƒ¦äººçš„特性,关掉文件备份å¯ä»¥ç”¨å¦‚下命令:
M-x customize-variable <Return> make-backup-files <Return>】
-存盘结æŸåŽï¼ŒEmacs 会显示写入文件的文件å。你最好养æˆç»å¸¸å­˜ç›˜çš„习惯,这
-å¯ä»¥å‡å°‘系统崩溃和死机给你带æ¥çš„æŸå¤±ï¼ˆä¹Ÿå¯å‚è§ä¸‹é¢çš„“自动ä¿å­˜â€ä¸€èŠ‚)。
+存盘结æŸåŽï¼ŒEmacs 会显示写入文件的文件å。ã€ä½ æœ€å¥½å…»æˆç»å¸¸å­˜ç›˜çš„习惯,
+è¿™å¯ä»¥å‡å°‘系统崩溃和死机给你带æ¥çš„æŸå¤±ï¼ˆä¹Ÿå¯å‚è§ä¸‹é¢çš„“自动ä¿å­˜â€ä¸€
+节)。】
>> 输入 C-x C-s TUTORIAL.cn <Return> 。
这将会把该指å—ä¿å­˜ä¸ºä¸€ä¸ªå为 TUTORIAL.cn 的文件,并且在å±å¹•çš„下方显
- 示一æ¡æ¶ˆæ¯ï¼šâ€œWrote ...TUTORIAL.cnâ€ã€‚
+ 示一æ¡æ¶ˆæ¯ï¼šâ€œWrote TUTORIAL.cnâ€ã€‚
ä½ ä¸ä½†å¯ä»¥å¯»æ‰¾ä¸€ä¸ªå·²æœ‰çš„文件æ¥æŸ¥çœ‹æˆ–编辑,还å¯ä»¥å¯»æ‰¾ä¸€ä¸ªä¸å­˜åœ¨çš„文件。
-实际上这正是 Emacs 创建新文件的方法:找到ä¸å­˜åœ¨çš„新文件。事实上,åªæœ‰
-在存盘的时候,Emacs æ‰ä¼šçœŸæ­£åˆ›å»ºè¿™ä¸ªæ–‡ä»¶ã€‚而在这之åŽçš„一切就跟编辑一个
-已有文件没有区别了。
+实际上这正是 Emacs 创建新文件的方法:找到ä¸å­˜åœ¨çš„新文件,它一开始是空
+的,然åŽä½ å°±å¯ä»¥å¼€å§‹æ’入文本。事实上,åªæœ‰åœ¨å­˜ç›˜çš„时候,Emacs æ‰ä¼šçœŸæ­£
+创建这个文件。而在这之åŽçš„一切就跟编辑一个已有文件没有区别了。
-* 缓冲区(BUFFER)
+* 缓冲区(BUFFERS)
------------------
ä½ å¯ä»¥ç”¨ C-x C-f 找到并打开第二个文件,但第一个文件ä»ç„¶åœ¨ Emacs 中。è¦
@@ -495,7 +509,7 @@ C-x C-f 是一ç§åŠžæ³•ã€‚ä¸è¿‡è¿˜æœ‰ä¸€ä¸ªæ›´ç®€å•çš„办法,那就是用 C-
然åŽè¾“å…¥ C-x b TUTORIAL.cn <Return> 回到这里。
大多数情况下,缓冲区与跟其对应的文件是åŒå的(ä¸åŒ…括目录å),ä¸è¿‡è¿™ä¹Ÿ
-ä¸æ˜¯ç»å¯¹çš„。用 C-x C-b 得到的缓冲区列表总是显示缓冲区å。
+ä¸æ˜¯ç»å¯¹çš„。因此用 C-x C-b 得到的缓冲区列表总是显示缓冲区å与文件å。
缓冲区未必有对应文件。显示缓冲区列表的缓冲区(å«åšâ€œ*Buffer List*â€ï¼‰å°±
是这样。这个 TUTORIAL.cn 缓冲区起åˆæ²¡æœ‰å¯¹åº”的文件,但是现在有了,因为
@@ -516,8 +530,8 @@ C-x C-f 是一ç§åŠžæ³•ã€‚ä¸è¿‡è¿˜æœ‰ä¸€ä¸ªæ›´ç®€å•çš„办法,那就是用 C-
C-x s ä¿å­˜å¤šä¸ªç¼“冲区
-C-x s 会找出所有已被修改但尚未存盘的缓冲区,然åŽå‘ä½ é€ä¸ªè¯¢é—®ï¼šæ˜¯å¦éœ€è¦
-存盘?
+C-x s 会找出所有访问文件的ã€ä¸”已被修改但尚未存盘的缓冲区,然åŽå‘ä½ é€ä¸ª
+询问:是å¦éœ€è¦å­˜ç›˜æ­¤æ–‡ä»¶ï¼Ÿ
>> æ’入一行文字,然åŽè¾“å…¥ C-x s。
它应该会问你,是å¦è¦å‚¨å­˜å为 TUTORIAL.cn 的缓冲区?
@@ -554,7 +568,9 @@ C-x 的扩展命令有很多,下é¢åˆ—出的是你已ç»å­¦è¿‡çš„:
C-x C-f 寻找文件。
C-x C-s ä¿å­˜æ–‡ä»¶ã€‚
+ C-x s ä¿å­˜å¤šä¸ªç¼“冲区。
C-x C-b 列出缓冲区。
+ C-x b 切æ¢ç¼“冲区。
C-x C-c 离开 Emacs。
C-x 1 关掉其它所有窗格,åªä¿ç•™ä¸€ä¸ªã€‚
C-x u 撤销。
@@ -608,10 +624,10 @@ replace-string(字符串替æ¢ï¼‰è¿™ä¸ªå‘½ä»¤ï¼Œå®ƒä¼šæŠŠä¸€ä¸ªå­—符串替æ¢
状æ€æ æ˜¾ç¤ºäº† Emacs 的状æ€å’Œä½ æ­£åœ¨ç¼–辑的文字的一些信æ¯ã€‚
-你应该知é“文件åçš„æ„æ€å§ï¼Ÿå°±æ˜¯ä½ æ‰¾åˆ°çš„那个文件嘛。-NN%-- 显示的是光标在
-全文中的ä½ç½®ã€‚如果ä½äºŽæ–‡ä»¶çš„开头,那么就显示 --Top-- 而ä¸æ˜¯ --00%--;如
-æžœä½äºŽæ–‡ä»¶çš„末尾,就显示 --Bot--。如果文件很å°ï¼Œä¸€å±å°±è¶³ä»¥æ˜¾ç¤ºå…¨éƒ¨å†…容,
-那么状æ€æ ä¼šæ˜¾ç¤º --All--。
+你应该知é“文件åçš„æ„æ€å§ï¼Ÿå°±æ˜¯ä½ æ‰¾åˆ°çš„那个文件嘛。NN% 显示的是光标在
+全文中的ä½ç½®ã€‚如果ä½äºŽæ–‡ä»¶çš„开头,那么就显示 Top 而ä¸æ˜¯ 0%;如
+æžœä½äºŽæ–‡ä»¶çš„末尾,就显示 Bot。如果文件很å°ï¼Œä¸€å±å°±è¶³ä»¥æ˜¾ç¤ºå…¨éƒ¨å†…容,
+那么状æ€æ ä¼šæ˜¾ç¤º All。
“L†和其åŽçš„数字给出了光标所在行的行å·ã€‚
@@ -723,7 +739,10 @@ C-s 是å‘å‰æœç´¢ï¼ŒC-r 是å‘åŽæœç´¢ã€‚ä¸è¿‡æ‰‹åˆ«è¿™ä¹ˆå¿«ï¼åˆ«ç€æ€¥è¯•
* 多窗格(MULTIPLE WINDOWS)
----------------------------
-Emacs 的迷人之处很多,能够在å±å¹•ä¸ŠåŒæ—¶æ˜¾ç¤ºå¤šä¸ªçª—格就是其中之一。
+Emacs 的迷人之处很多,能够在å±å¹•ä¸ŠåŒæ—¶æ˜¾ç¤ºå¤šä¸ªçª—格就是其中之一。(请注
+æ„在 Emacs 里的“窗å£ï¼ˆframe)â€ä¸Žâ€œçª—格(window)â€çš„定义å¯èƒ½ä¸Žå…¶ä»–应用程
+åºä¸åŒï¼Œè¯¦è§Emacs 手册里的术语表。)ã€å¦è§æ­¤æ•™ç¨‹æœ«å°¾çš„翻译章节的术语译
+è¯å¯¹ç…§è¡¨ã€‚】
>> 移动光标到这一行,然åŽè¾“å…¥ C-l C-l。
@@ -782,13 +801,13 @@ Emacs å¯ä»¥åˆ›å»ºå¤šä¸ªçª—å£ã€‚窗å£ç”±è®¸å¤šçª—格以åŠèœå•ã€æ»šåŠ¨æ¡ã€
在图形界é¢ä¸‹ï¼Œå¤šä¸ªçª—å£å¯ä»¥åŒæ—¶æ˜¾ç¤ºå‡ºæ¥ã€‚在文本终端中,åªèƒ½åŒæ—¶æ˜¾ç¤ºä¸€ä¸ª
窗å£ã€‚
->> 输入 M-x make-frame <Return>。
+>> 输入 C-x 5 2。
å¯ä»¥çœ‹åˆ°ä¸€ä¸ªæ–°çš„窗å£å‡ºçŽ°åœ¨äº†ä½ çš„å±å¹•ä¸Šã€‚
ä½ å¯ä»¥åœ¨æ–°çš„窗å£é‡Œåšæœ€åˆçš„窗å£é‡Œå¯ä»¥åšçš„任何事情。第一个窗å£æ²¡æœ‰ä»€ä¹ˆç‰¹
别的。
->> 输入 M-x delete-frame <Return>.
+>> 输入 C-x 5 0。
这个命令将会关闭选中的窗å£ã€‚
你也å¯ä»¥é€šè¿‡å›¾å½¢ç³»ç»Ÿæ¥å…³é—­æŸä¸ªçª—å£ï¼ˆé€šå¸¸æ˜¯åœ¨çª—å£ä¸Šé¢çš„æŸä¸ªè§’è½é‡Œçš„一个
@@ -853,9 +872,9 @@ Emacs å¯ä»¥åˆ›å»ºå¤šä¸ªçª—å£ã€‚窗å£ç”±è®¸å¤šçª—格以åŠèœå•ã€æ»šåŠ¨æ¡ã€
还有一些其它有用的 C-h 命令:
- C-h f 解释一个函数。需è¦è¾“入函数å。
+ C-h x 解释一个命令。需è¦è¾“入命令å。
->> 试试看,输入 C-h f previous-line <Return>。
+>> 试试看,输入 C-h x previous-line <Return>。
Emacs 会给出它所知é“的所有有关“实现 C-p 命令功能的函数â€çš„ä¿¡æ¯ã€‚
C-h v 用æ¥æ˜¾ç¤º Emacs å˜é‡çš„文档。Emacs å˜é‡å¯ä»¥è¢«ç”¨æ¥â€œå®šåˆ¶ Emacs çš„è¡Œ
@@ -905,15 +924,15 @@ Dired 能够在一个缓冲区里列出一个目录下的所有文件(å¯ä»¥é€
Emacs 使用手册里还有许许多多的精彩功能等ç€ä½ æ¥äº†è§£ã€‚
-* 安装包裹(INSTALLING PACKAGES)
+* 安装软件包(INSTALLING PACKAGES)
---------------------------
-Emacs 社区著作了许多æŒæœ‰æ‰©å±•æ€§çš„包裹(packages),其中包括对å„ç§è¯­è¨€çš„
-支æŒã€è‰²å½©é²œè‰³çš„主题ã€ç”¨äºŽé›†æˆå¤–部程åºçš„包裹,等等。
+Emacs 社区著作了许多æŒæœ‰æ‰©å±•æ€§çš„软件包(packages),其中包括对å„ç§è¯­è¨€
+的支æŒã€è‰²å½©é²œè‰³çš„主题ã€ç”¨äºŽé›†æˆå¤–部程åºçš„软件包,等等。
-使用 M-x list-packages 便å¯æµè§ˆå­˜åœ¨çš„包裹。这个命令显示的界é¢ä¸­å¯ä»¥å®‰
-装和å¸è½½åŒ…裹,以åŠæŸ¥çœ‹åŒ…裹的简介。Emacs 使用手册中有对包裹管ç†æ›´è¯¦ç»†çš„
-介ç»ã€‚
+使用 M-x list-packages 便å¯æµè§ˆæ‰€æœ‰å¯å®‰è£…的软件包。这个命令显示的界é¢
+中å¯ä»¥å®‰è£…å’Œå¸è½½è½¯ä»¶åŒ…,以åŠæŸ¥çœ‹è½¯ä»¶åŒ…的简介。Emacs 使用手册中有对软件
+包管ç†æ›´è¯¦ç»†çš„介ç»ã€‚
* 总结(CONCLUSION)
--------------------
@@ -929,6 +948,7 @@ Emacs 社区著作了许多æŒæœ‰æ‰©å±•æ€§çš„包裹(packages),其中包括
翻译:孙一江 <sunyijiang@gmail.com>
维护:薛富侨 <xfq.free@gmail.com>
+ ä½™ç¿æ° <ruijie@netyu.xyz>
校对:水木社区(www.newsmth.net)Emacs æ¿ä¼—多网å‹åŠä¼—多 Emacs 中文用户
Emacs 快速指å—(Tutorial)早有两个刘昭å®çš„中文译本,ç¹ç®€å„一。其简体版本
diff --git a/etc/tutorials/TUTORIAL.fa b/etc/tutorials/TUTORIAL.fa
new file mode 100644
index 00000000000..1333b47cae2
--- /dev/null
+++ b/etc/tutorials/TUTORIAL.fa
@@ -0,0 +1,1164 @@
+آموزش Emacs «ایمکس». برای شرایط کپی به پایان مراجعه کنید.
+
+Ùرمانهای Emacs عموماً شامل کلید CONTROL (گاهی اوقات با برچسب CTRL)
+یا کلید META (معمولا با برچسب ALT) هستند. به جای هر بار بطور کامل نوشتن،
+از خلاصه زیر استÙاده خواهیم کرد:
+
+†‪C-<chr>‬ به معنای نگه داشتن کلید CONTROL در حین تایپ کاراکتر٠<chr> است.
+ بنابراین، C-f خواهد بود: کلید CONTROL را نگه دارید و f را تایپ کنید.
+†‪M-<chr>‬ یعنی کلید META یا ALT را هنگام تایپ حرÙÙ <chr> پایین Ù†Ú¯Ù‡ دارید.
+ اگر کلید METAØŒ یا ALT وجود ندارد، به جای آن کلید ESC را Ùشار
+ داده Ùˆ رها کنید، سپس <حرÙ> را تایپ کنید.
+ برای کلید ESC می نویسیم <ESC>.
+
+نکته مهم: برای پایان دادن به جلسه Emacs، دو حر٠C-x C-c را تایپ کنید.
+برای خروج از یک Ùرمان٠ناکامل، C-g را تایپ کنید.
+برای توق٠آموزش، C-x k و سپس در پاسخ به نشانگر <Return> را تایپ کنید.
+کاراکترهای ">>" در حاشیه سمت راست Ùرمانهایی را برای شمامشخص Ù…ÛŒ کند. برای مثال:
+<<خطهای خالی بعد از خط بعدی توسط help-with-tutorial درج میشود>>
+[وسط صÙحه برای اهدا٠آموزشی خالی مانده است. ادامه متن در زیر]
+>> اکنون C-v را تایپ کنید (نمایش صÙحه بعدی) تا یک صÙحه کامل به پایین بروید.
+ (این کار را با Ù†Ú¯Ù‡ داشتن کلید CONTROL Ùˆ Ùشار کلید v انجام دهید).
+ از این پس، لطÙاً هر زمان Ú©Ù‡ به انتهای صÙحه رسیدید، این کار را انجام دهید.
+
+توجه داشته باشید Ú©Ù‡ وقتی یک صÙحه کامل را اسکرول Ù…ÛŒ کنید، دو خط همپوشانی دارند؛
+این مقداری تداوم را Ùراهم Ù…ÛŒ کند تا بتوانید به خواندن متن ادامه دهید.
+
+این یک کپی از متن آموزشی Emacs است که کمی برای شما شخصی سازی شده است.
+بعداً به شما آموزش خواهیم داد Ú©Ù‡ Ùرمانهای مختلÙÛŒ را برای تغییر این متن استÙاده
+کنید. اگر قبل از اینکه به شماگÙته باشیم، این متن را تغییر داده اید،
+نگران نباشید. این کار «ویرایش» نامیده می شود و Emacs برای همین است.
+
+اولین چیزی که باید بدانید این است که چگونه از یک مکان به اطرا٠حرکت کنید.
+شما از قبل Ù…ÛŒ دانید Ú©Ù‡ با C-v چگونه یک صÙحه به جلو حرکت میکند.
+برای حرکت یک صÙحه به سمت عقب، M-v را تایپ کنید (کلید META را Ù†Ú¯Ù‡ دارید
+و v را تایپ کنید، یا اگر کلید META، یا ALT را ندارید، ‪ <ESC>v‬را تایپ کنید).
+
+>> چند بار M-v و سپس C-v را تایپ و امتحان کنید.
+
+شما می توانید این متن را با روش های دیگری که میدانید اسکرول کنید.
+
+* خلاصه
+---------
+
+Ùرمانهای زیر برای مشاهده Ú©Ù„ صÙحه نمایش Ù…Ùید هستند:
+
+†C-v یک صÙحه نمایش به جلو حرکت کنید.
+†M-v یک صÙحه نمایش به عقب حرکت کنید.
+†C-l پاک کردن صÙحه Ùˆ نمایش مجدد تمام متن،
+ جابجایی مکان نما Ùˆ متن به مرکز صÙحه نمایش
+ (این CONTROL-L است، نه CONTROL-1.)
+
+>> مکان‌نما را پیدا کنید و توجه داشته باشید که چه متنی در نزدیکی آن است.
+ سپس C-l را تایپ کنید. دوباره مکان نما را پیدا کنید وتوجه کنید که هنوز
+ نزدیک همان متن است. اما مکان نما، اکنون در مرکز صÙحه است.
+ اگر دوباره C-l را Ùشار دهید، این قطعه متن به بالای صÙحه منتقل Ù…ÛŒ شود.
+ مجددا C-l را Ùشار دهید، صÙحه نمایش دوباره به پایین حرکت Ù…ÛŒ کند.
+
+اگر ترمینال شما کلیدهای PageUp و PageDn را دارد، میتوانید برای جابه‌جایی یک
+صÙحه کامل از آنها استÙاده کنید.
+اما در صورت استÙاده از C-v Ùˆ M-v شما Ù…ÛŒ توانید کارآمدتر ویرایش کنید.
+
+* کنترل مکان نما
+----------------------
+
+حرکت از یک صÙحه نمایش به صÙحه نمایش دیگر Ù…Ùید است، اما چگونه
+به مکان خاصی در متن٠روی صÙحه حرکت کنید؟
+
+چندین راه وجود دارد که می توانید این کار را انجام دهید. می توانید از
+کلیدهای جهت دار استÙاده کنید، اما کارآمدتر است Ú©Ù‡ دستان خود را در وضعیت
+استاندارد Ù†Ú¯Ù‡ دارید. از Ùرمانهای٠C-pØŒ C-bØŒ C-f Ùˆ C-n استÙاده کنید. این Ùرمان ها
+معادل چهار کلید جهت دار هستند، مانند:
+
+ سطر قبل، C-p
+ :
+ :
+ به عقب، C-b .... موقعیت مکان نما Ùعلی .... به جلو، C-f
+ :
+ :
+ خط بعدی، C-n
+
+>> با استÙاده از C-n یا C-p مکان نما را به خط وسط نمودار بالا حرکت دهید.
+ سپس C-l را تایپ کنید تا Ú©Ù„ نمودار را در مرکز صÙحه نمایش ببینید.
+
+
+به راحتی Ù…ÛŒ توانید این حرو٠را با کلماتی Ú©Ù‡ مخÙ٠آنها هستند به خاطر بسپارید:
+Previous) p) برای قبلی، Next) n) برای بعدی, Backward) b) برای عقب و
+Forward) f) برای جلو. شما همیشه از این Ùرمانهای٠اصلی تعیین موقعیت مکان نما
+استÙاده خواهید کرد.
+
+>> برای پایین آوردن مکان نما به این خط، چند C-n انجام دهید.
+
+>> حرکت به جلو، روی خط با C-f و سپس به بالا با C-p.
+ ببینید C-p وقتی مکان نما در وسط خط قرار دارد چه می کند.
+
+هر خط از متن با یک کاراکتر٠Newline به پایان می رسد، که
+آن را از خط زیر جدا میکند. (به طور معمول،یک Ùایل در پایان دارای
+یک Newline خواهد بود، اما Emacs به آن نیاز ندارد.)
+
+>> هنگامی Ú©Ù‡ نشانگر در ابتدای خط است، از C-b استÙاده کنید. باید به انتهای
+ خط قبلی حرکت کند. به این دلیل است که این حرکت از سراسر Newline میگذرد.
+
+Ùرمان C-f Ù…ÛŒ تواند مانند C-b روی خط جدید حرکت کند.
+
+>> چند C-b دیگر انجام دهید، بنابراین می توانید نشانگر را در مکان مورد
+ نظر قرار دهید. سپس C-f را انجام دهید تا به انتهای خط برگردید.
+ سپس یک C-f دیگر انجام دهید تا به خط زیر بروید.
+
+
+وقتی از بالا یا پایین صÙحه عبور Ù…ÛŒ کنید، متن Ùراتر Ù…ÛŒ رود
+لبه روی صÙحه نمایش جابجا Ù…ÛŒ شود. به این "پیمایش یا اسکرول" Ù…ÛŒ گویند. این
+Emacs را قادر می سازد تا مکان نما را به مکان مشخص شده در متن منتقل کند
+بدون اینکه آن را از صÙحه نمایش جدا کنید.
+
+>> سعی کنید مکان نما را از پایین صÙحه با C-n حرکت دهید Ùˆ
+ ببیند Ú†Ù‡ اتÙاقی Ù…ÛŒ اÙتد.
+
+اگر حرکت بر اساس کاراکترها خیلی کند است، می توانید با کلمات حرکت کنید. M-f
+(META-f) یک کلمه را جلو می برد و M-b یک کلمه را به عقب می برد.
+
+>> چند M-f و M-b تایپ کنید.
+
+وقتی در وسط یک کلمه هستید، M-f به انتهای کلمه می رود.
+هنگامی Ú©Ù‡ در Ùضای خالی بین کلمات قرار دارید، M-f به انتهای کلمه بعدی منتقل
+می شود. M-b نیز در جهت مخال٠کار می کند.
+
+>> Ùرمان M-f Ùˆ M-b را چند بار با C-f Ùˆ C-b در هم آمیخته تایپ کنید،
+ تا عمل M-f و M-b را از انواع مکان های درون و بین کلمات مختل٠مشاهده کنید.
+
+
+به موازات بین C-f و C-b از یک طر٠و M-f و M-b از طر٠دیگر توجه کنید.
+
+عملیات مربوط به واحدهای تعری٠شده توسط زبان (کلمات، جملات، پاراگرا٠ها)
+اغلب با کاراکترهای متا انجام می شود،
+در حالی که کاراکترهای Control بر روی واحدهای اصلی، مستقل از آنچه در حال
+ویرایش هستید (حروÙØŒ خطوط Ùˆ غیره) عمل Ù…ÛŒ کنند.
+
+این توازی بین خطوط و جملات اعمال می شود: C-a و C-e حرکت به
+ابتدا یا انتهای یک خط، و M-a و M-e به ابتدا یا پایان یک جمله حرکت می کنند.
+
+
+>>دو C-a، و سپس دو C-e را امتحان کنید.
+ چند M-a و سپس چند M-e را امتحان کنید.
+
+
+ببینید چگونه C-a های تکراری هیچ کاری انجام نمی دهند، اما M-a های تکراری به
+حرکت خود ادامه می دهند. اگرچه اینها کاملاً مشابه نیستند، اما هر یک طبیعی
+به نظر می رسد.
+
+
+به مکان٠مکان نما در متن "نقطه" نیز می گویند.
+به عبارت دیگر، مکان نما روی صÙحه نشان Ù…ÛŒ دهد Ú©Ù‡ نقطه در کجای متن قرار دارد.
+
+
+در اینجا خلاصه ای از عملیات ساده حرکت مکان نما، از جمله
+Ùرمانهای٠حرکت کلمه Ùˆ جمله نشان داده Ù…ÛŒ شود:
+
+†C-f یک کاراکتر را به جلو حرکت دهید
+†C-b یک کاراکتر را به عقب حرکت دهید
+
+†M-f یک کلمه را به جلو حرکت دهید
+†M-b یک کلمه را به عقب حرکت دهید
+
+†C-n به خط بعدی بروید
+†C-p به خط قبلی بروید
+
+†C-a حرکت به ابتدای خط
+†C-e حرکت به انتهای خط
+
+†M-a به ابتدای جمله برگردید
+†M-e حرکت به جلو تا پایان جمله
+
+>> همه این Ùرمانها را اکنون چند بار برای تمرین امتحان کنید.
+ این Ùرمانها بیشترین استÙاده را دارند.
+
+دو Ùرمان مهم دیگر حرکت مکان نما عبارتند از‪ M-< :‬ (META کمتر از)ØŒ
+که به ابتدای کل متن حرکت می کند و ‪M->‬ (META بزرگتر از)،
+که به انتهای کل متن می رود.
+
+در اکثر ترمینالها، ">" بالای کاما است، بنابراین باید با استÙاده از کلید
+shift آن را تایپ کنید.
+در این ترمینالها باید از کلید shift برای تایپ >-M نیز استÙاده کنید.
+بدون کلید shift، شما کاما، M را تایپ می کنید.
+
+>> اکنون >-M را امتحان کنید تا به ابتدای آموزش بروید.
+ سپس از C-v مکرراً برای بازگشت به اینجا استÙاده کنید.
+
+>> اکنون <-M را امتحان کنید تا به انتهای آموزش بروید.
+ سپس از M-v مکرراً برای بازگشت به اینجا استÙاده کنید.
+
+همچنین می توانید مکان نما را با کلیدهای جهت دار حرکت دهید، اگر ترمینال شما
+آن را داشته باشد. ما استÙاده از C-bØŒ C-fØŒ C-n Ùˆ C-p را به سه دلیل توصیه میکنیم.
+
+اول، آنها بر روی انواع ترمینالها کار می کنند.
+دوم, هنگامی Ú©Ù‡ مهارت شما در استÙاده از Emacs بیشتر شود، متوجه خواهید شد Ú©Ù‡
+تایپ با کنترل کاراکترها، سریعتر از تایپ کلیدهای جهت دار است.
+(زیرا احتیاج نیست که شما دستان خود را از موقعیت تایپ لمسی دور کنید).
+سوم، وقتی شما عادت به استÙاده از Ùرمانهای٠کاراکتر Control را دارید، Ù…ÛŒ توانید
+به راحتی یاد بگیرید Ú©Ù‡ از دیگر Ùرمانهای٠پیشرÙته حرکت مکان نما نیز استÙاده کنید.
+
+اکثر Ùرمانهای٠Emacs یک آرگومان عددی را Ù…ÛŒ پذیرند. برای اکثر Ùرمانها، این
+به عنوان یک شمارش تکرار عمل می کند.
+نحوی٠تحویل تعداد تکرار، با تایپ C-u Ùˆ سپس اعداد قبل از تایپ Ùرمان است. اگر
+شما یک کلید META (یا ALT) دارید، راه جایگزینی دیگری برای وارد کردن
+آرگومان عددی وجود دارد: ارقام را در حالی که کلید META را نگه داشته‌اید
+تایپ کنید. ما توصیه Ù…ÛŒ کنیم استÙاده از C-u را یاد بگیرید زیرا در هر ترمینال
+کار می کند. آرگومان عددی "آرگومان پیشوند" نیز نامیده می شود.
+زیرا آرگومان را قبل از Ùرمانی Ú©Ù‡ روی آن اعمال Ù…ÛŒ شود تایپ Ù…ÛŒ کنید.
+
+به عنوان مثال، C-u 8 C-f هشت کاراکتر به جلو حرکت می کند.
+
+>> سعی کنید Ùقط با یک Ùرمان، C-n یا C-p با آرگومان عددی برای حرکت مکان نما
+ از خط نزدیک به این خط استÙاده کنید.
+
+اکثر Ùرمانها از آرگومان عددی به عنوان تعداد تکرار استÙاده Ù…ÛŒ کنند،
+اما برخی Ùرمانها از آن به روش دیگری استÙاده Ù…ÛŒ کنند.
+چندین Ùرمان Ú©Ù‡ از آن به عنوان یک علامت تعغیر استÙاده میشود.
+(اما هیچ کدام از ÙرمانهایÙÛŒ Ú©Ù‡ تا به حال آموخته اید نیستند.)
+وجود یک آرگومان پیشوند، صر٠نظر از مقدار آن، Ùرمان متÙاوتی را انجام Ù…ÛŒ دهد.
+
+â€C-v Ùˆ M-v استثناهای دیگری هستند. با تحویل آرگومان،
+آنها متن را با این تعداد خط به بالا یا پایین اسکرول می کنند نه با یک
+صÙحه نمایش. برای مثال، C-u 8 C-v هشت خط پیمایش Ù…ÛŒ کند.
+
+>> اکنون C-u 8 C-v را تایپ کنید.
+
+این Ùرمان باید متن را 8 خط به بالا اسکرول کند. اگر مایل باشید
+دوباره به پایین برگردید، می توانید یک آرگومان به M-v بدهید.
+
+اگر از یک سیستم نمایش٠گراÙیکی مانند X یا MS-Windows استÙاده Ù…ÛŒ کنید،
+باید یک ناحیه مستطیل شکل بلند به نام نوار پیمایش در یک طر٠پنجره Emacs
+وجود داشته باشد. با کلیک کردن بر روی نوار، متن را اسکرول کنید.
+
+اگر ماوس شما دگمه چرخ دارد، Ù…ÛŒ توانید از آن برای اسکرول نیز استÙاده کنید.
+
+
+* اگر EMACS پاسخ نمی دهد.
+---------------------------
+
+اگر Emacs به Ùرمانهای٠شما پاسخ نمی دهد، Ù…ÛŒ توانید با خیال راحت با
+تایپ کردن C-g آن را متوق٠کنید. Ù…ÛŒ توانید از C-g برای متوق٠کردن Ùرمانی Ú©Ù‡
+انجامش طولانی شده است استÙاده کنید.
+
+همچنین می‌توانید از C-g برای حذ٠یک آرگومان عددی یا ابتدای Ùرمانی Ú©Ù‡
+نمی خواهید آن را تمام کنید استÙاده کنید.
+
+>> با عمل C-u 100 یک آرگومان عددی 100 بسازید، سپس C-g وبعد از آن
+ C-f را تایپ کنید. بااین Ùرمانها Ùقط یک حر٠به جلو حرکت Ù…ÛŒ کنید، زیرا شما
+ آرگومان را با C-g لغو کرده اید.
+
+اگر یک <ESC> را اشتباه تایپ کرده اید، می توانید با یک C-g از شر آن خلاص شوید.
+
+
+* Ùرمانهای٠غیر Ùعال
+-------------------
+
+برخی از Ùرمانهای٠Emacs "غیرÙعال" هستند تا کاربران مبتدی نتوانند
+از آنها به طور تصادÙÛŒ استÙاده کنند.
+
+اگر یکی از Ùرمانهای٠غیرÙعال را تایپ کنید، Emacs پیامی را نمایش Ù…ÛŒ دهد
+Ú©Ù‡ Ùرمان چیست Ùˆ از شما Ù…ÛŒ پرسد Ú©Ù‡ آیامایل به اجرای آن هستید؟
+
+اگر واقعاً Ù…ÛŒ خواهید Ùرمان را اجرا کنید، <SPC> (نوار Ùاصله) را در پاسخ به
+سوال تایپ کنید. به طور معمول، اگر نمی خواهید آن را اجرا کنید، به سوال با
+"n" پاسخ دهید.
+
+>> عمل C-x C-l (Ú©Ù‡ یک Ùرمان غیرÙعال است) را انجام دهید،
+ سپس n را در پاسخ به سوال تایپ کنید.
+
+
+* پنجره ها
+----------
+
+با Emacs می تواند چندین "پنجره" داشته باشد که هر کدام متن خاص خود را نشان
+Ù…ÛŒ دهد. ما بعداً در مورد نحوه استÙاده از چندین پنجره توضیح خواهیم داد. در
+حال حاضر Ù…ÛŒ خواهیم برای نحوه حذ٠پنجره های اضاÙÛŒ Ùˆ بازگشت به حالت اولیه
+ویرایش یک پنجره توضیح دهیم. این عمل آسان است:
+
+†C-x 1 یک پنجره (یعنی تمام پنجره های دیگر را حذ٠کنید).
+
+Ùرمان C-x 1 پنجره ای تمام صÙحه، Ú©Ù‡ حاوی مکان نما است را باز Ù…ÛŒ کند.
+این Ùرمان تمام پنجره های دیگر را حذ٠میکند.
+
+
+>> مکان نما را به این خط ببرید و C-u 0 C-l را تایپ کنید.
+>> C-h k C-f را تایپ کنید.
+ ببینید چگونه این پنجره کوچک می شود، در حالی که یک پنجره جدید برای نمایش
+ اطلا عات در Ùرمان C-f ظاهر Ù…ÛŒ شود.
+
+
+>> با تایپ C-x 1 پنجره Ùهرست اسناد ناپدید Ù…ÛŒ شود.
+
+یک سری کامل از Ùرمانها با CONTROL-x شروع Ù…ÛŒ شوند. بسیاری از
+آنها با ویندوز، Ùایل ها، باÙرها Ùˆ موارد وابسته ارتباط دارند.
+این Ùرمانها دو، سه یا چهار کاراکتر هستند.
+
+
+* درج Ùˆ حذÙ
+------------
+
+اگر Ù…ÛŒ خواهید متن را وارد کنید، Ùقط متن را تایپ کنید. حرو٠معمولی،
+مانند A، 7، *، و غیره، هنگام تایپ آنها نوشته می شوند. برای انجام نوشتن
+ خط جدید، <Return> را تایپ کنید (این کلید روی صÙحه کلید است
+که گاهی اوقات با عنوان "Enter" شناخته می شود).
+
+برای حذ٠کاراکتر٠قبل از مکان نمای Ùعلی ØŒ <DEL> را تایپ کنید. این کلید روی
+صÙحه کلید است Ú©Ù‡ معمولاً با برچسب "Backspace"است −− همان Ú©Ù‡ معمولاً در خارج
+از Emacs نیز برای حذ٠آخرین حرÙ٠نوشته شده استÙاده Ù…ÛŒ کنید.
+
+
+همچنین ممکن است کلید دیگری روی صÙحه کلید شما با عنوان <Delete> وجود داشته
+باشد، اما این چیزی نیست که ما در Emacs به آن <DEL> می گوییم.
+
+>> اکنون این کار را انجام دهید - چند کاراکتر را تایپ کنید، سپس آنها را حذÙ
+ کنید. چند بار <DEL> را تایپ کنید. نگران این Ùایل نباشید در حال تغییر؛
+ شما آموزش اصلی را تغییر نمی دهید. این کپی شخصی شما از آن است.
+
+وقتی نوشتن یک خط در متن بیش از حد طولانی Ù…ÛŒ شود، خط بر روی سطر دوم صÙحه
+"ادامه" Ù…ÛŒ یابد. اگر از یک صÙحه نمایش گراÙیکی استÙاده Ù…ÛŒ کنید برای نشان
+دادن جایی Ú©Ù‡ یک خط ادامه یاÙته است Ùلش های منحنی Ú©ÙˆÚ†Ú©ÛŒ در Ùضاهای باریک در
+دو طر٠ناحیه متن (حاشیه‌های چپ و راست ) ظاهر می شوند. اگر از ترمینال متنی
+استÙاده Ù…ÛŒ کنید، خط٠ادامه یاÙته با علامت معکوس ('\') در سمت راست ستون
+صÙحه نمایش نشان داده Ù…ÛŒ شود.
+
+
+>> به نوشتن متن پس از رسیدن به انتهای خط ادامه دهید.
+خواهید دید که یک خط٠ادامه ظاهر می شود.
+
+>> از <DEL > برای حذ٠متن استÙاده کنید تا زمانی Ú©Ù‡ نوشته مجدداً روی یک خط
+ صÙحه قرار گیرد. خط ادامه از بین Ù…ÛŒ رود.
+
+شما می توانید حرو٠خط جدید را مانند هر حر٠دیگری حذ٠کنید. حذ٠کاراکتر
+Newline بین دو خط آنها را با هم ادغام می کند. اگر خط ترکیبی به دست آمده
+بیش از حد طولانی باشد Ú©Ù‡ در آن جا نمی شود، عرض صÙحه نمایش، با یک خط ادامه،
+نمایش داده می شود.
+
+>> مکان نما را به ابتدای یک خط ببرید Ùˆ <DEL> را تایپ کنید. این Ùرمان
+ آن خط را با خط قبلی ادغام می کند.
+
+>> حالا <Return> را تایپ کنید تا خط جدیدی را که حذ٠کرده اید دوباره وارد کنید.
+
+کلید <Return> ویژه است، زیرا با Ùشار دادن آن ممکن است بیش از این کار انجام شود.
+Ùقط یک کاراکتر Newline وارد کنید. بسته به متن اطراÙØŒ
+ممکن است بعد از کاراکتر Newline Ùضای خالی را وارد کند، به طوری Ú©Ù‡ وقتی
+شما شروع به تایپ کردن در خط جدید می کنید، متن با خط قبلی آن ردی٠می شود.
+ما به این رÙتار (Ú©Ù‡ در آن Ùشار دادن یک
+کلید چیزی بیش از وارد کردن کاراکتر مربوطه انجام می دهد) می گوییم "electric".
+
+>> در اینجا مثالی از الکتریکی بودن <Return> آورده شده است.
+ <Return> را در انتهای این خط تایپ کنید.
+
+باید ببینید Ú©Ù‡ بعد از درج Newline Ùاصله ها هم درج Ù…ÛŒ شوند،
+به طوری که مکان نمابه جای مناسب حرکت می کند.
+
+به یاد داشته باشید Ú©Ù‡ به اکثر Ùرمانهای٠Emacs Ù…ÛŒ توان تعداد تکرار، داده شود.
+این شامل کاراکترهای متنی نیز است. تکرار درج کاراکتر متنی برای چندین بار.
+
+
+>> اکنون آن را امتحان کنید - ‪ C-u 8 *‬ را برای درج ******** تایپ کنید.
+
+شما اکنون ابتدایی ترین راه را برای تایپ با Emacs Ùˆ تصحیح خطاها یاد گرÙته اید.
+شما می توانید کلمات یا خطوط را نیز حذ٠کنید.
+در اینجا خلاصه ای از عملیات حذ٠آمده است:
+
+ †<DEL> کاراکتر را درست قبل از مکان نما حذ٠می کنید.
+ †C−d کاراکتر بعدی، بعد از مکان نما را حذ٠می کنید.
+
+ †<M-<DEL کلمه را بلاÙاصله قبل از مکان نما حذ٠می کنید.
+ †M-d کلمه بعدی را بعد از مکان نما حذ٠می کنید.
+
+ †C-k از موقعیت مکان نما تا انتهای خط را حذ٠می کنید.
+ †M-k از موقعیت مکان نما تا انتهای جمله را حذ٠میکنÙید.
+
+توجه داشته باشید که <DEL> و C-d در مقابل <M-<DEL و M-d موازاتی را گسترش می دهند
+که با C-f و M-f شروع شده است (خوب، <DEL> واقعاً یک کاراکتر کنترلی نیست، اما
+بیایید نگران این نباشیم). C-k و M-k مانند C-e و M-e هستند، به نوعی، در آن
+خطوط با جملات جÙت Ù…ÛŒ شوند.
+
+شما همچنین می توانید یک بخش از متن را با یک روش یکسان حذ٠کنید . به انتهای
+یک قسمت حرکت کنید، و سپس <C-<SPC را تایپ کنید. (<SPC> کلید نوار Space
+است.) سپس مکان نما را به انتهای دیگر متنی که قصد دارید حذ٠کنید، ببرید.
+با انجام این کار، Emacs متن بین مکان نما وموقعیتی که با <C-<SPC تایپ کرده اید
+را مشخص می کند. در نهایت C-w را تایپ کنید. با این عمل متن٠بین دو موقعیت
+را حذ٠میکنید.
+
+
+>> مکان نما را در ابتدای پاراگرا٠قبلی به «ش» حرکت دهید.
+
+>> با تایپ <C-<SPCØŒ در پایین صÙحه نمایش Emacs باید یک پیام "Mark set" را
+ نمایش دهد.
+
+>> در خط دوم ازمتن، مکان نما را به «ی» در "یک"، حرکت دهید.
+
+â€>> C-w را تایپ کنید. با این کار متنی Ú©Ù‡ از «ش» شروع Ù…ÛŒ شود Ùˆ درست قبل از
+«ی» به پایان می رسد را از بین می برید.
+
+تÙاوت بین "کشتن" Ùˆ "حذÙ" در همان متن این است Ú©Ù‡ "کشته" را Ù…ÛŒ توان دوباره
+درج کرد (در هر موقعیتی)، در حالی که چیزهای "حذ٠شده" را نمی توانید به این
+روش دوباره درج کنید (اما می توانید حذ٠را لغو کنید - در زیر ببینید.) درج
+مجدد متن کشته شده "yanking" نامیده می شود. ( به عنوان عقب نشینی یا عقب
+کشیدن متنی Ú©Ù‡ برداشته شده است به آن Ùکرکن.)
+
+به طور کلی، ÙرمانهایÙÛŒ Ú©Ù‡ Ù…ÛŒ توانند متن زیادی را حذ٠کنند، متن را «میکشند».
+(آنها به گونه ای تنظیم شده اند که بتوانید متن را باز گردانند)، در حالی که
+ÙرمانهایÙÛŒ Ú©Ù‡ Ùقط یک کاراکتر را حذ٠می کند، یا Ùقط خطوط Ùˆ Ùاصله های خالی را
+حذ٠می کند، حذ٠را انجام می دهند (بنابراین نمی توانید آن متن را برگرداند).
+<DEL> و C-d در ساده ترین حالت، بدون هیچ آرگومان حذ٠را انجام می دهند.وقتی
+آرگومان به آنها داده می شود درعوض مکشند.
+
+>> مکان نما را به ابتدای خطی که خالی نیست حرکت دهید.
+سپس C-k را تایپ کنید تا متن روی آن خط حذ٠شود.
+
+>> بار دوم C-k را تایپ کنید. خواهید دید که Newline را می کشد که بعد از آن
+ خط است.
+
+توجه داشته باشید که یک C-k محتویات خط را می کشد و یک C-k ثانوی خود خط را
+می کشد و همه خطوط دیگر را به سمت بالا حرکت می دهد. C-kبه طور خاص با یک
+آرگومان عددی برخورد می کند: این تعداد خطوط و محتویات آنهارا میکشد. این
+صرÙا یک تکرار نیست. C-u 2 C-k دو خط Ùˆ Newline آنها را Ù…ÛŒ کشد. دو بار تایپ
+کردن C-k این کار را نمی کند.
+
+می‌توانید متن کشته‌شده را در همان مکانی که در آن قرار داشت، باز گردانید.
+یا در جای دیگری از متنی که در حال ویرایش آن هستید، یا حتی در
+یک Ùایل متÙاوت می‌توانید یک متن را چندین بار باز گردانید. Ú©Ù‡
+چندین کپی از آن می سازد. با مراجعه به کتابچه راهنمای٠Emacs در موارد "کشتن" و
+انحراÙÙ "برش" Ùˆ "چسباندن" میتوانید اطلاعات بیشتری کسب کنید.
+
+
+ÙرمانÙ‪"yank" ,C-y ‬ است. آخرین متن کشته شده را در موقعیت مکان نما Ùعلی دوباره
+درج می کند.
+
+
+>> آن را امتحان کنید. C-y را تایپ کنید تا متن را به عقب برگردانید.
+
+اگر چندین C-k را پشت سر هم انجام دهید، تمام متن کشته شده ذخیره می شود،
+ به طوری که یک C-y همه خطوط را به یکباره انحرا٠می دهد.
+
+>> اکنون این کار را انجام دهید، C-k را چندین بار تایپ کنید.
+
+حال برای بازیابی آن متن کشته شده:
+
+â€>> C-y را تایپ کنید. سپس مکان نما را چند خط پایین ببرید Ùˆ دوباره C-y را
+تایپ کنید اکنون نحوه کپی کردن متن را مشاهده می کنید.
+
+اگر متنی داشته باشید که می خواهید به عقب برگردید، چه کار می کنید چیز دیگری
+می کشید؟ C-y کشتن اخیر را از بین می برد. ولی متن قبلی گم نمی شود می توانید
+با استÙاده از M-y به آن برگردید Ùرمان بعد از اینکه C-y را برای دریاÙت
+آخرین kill انجام دادید، تایپ کنید M-y آن متن یاک شده را با kill قبلی
+جایگزین می کند. تایپ کردن M-y بارها و بارها کشتارهای قبلی و قبلی را به
+ارمغان می آورد. وقتی به متن مورد نظر رسیدید، لازم نیست کاری انجام دهید تا
+نگهش دارید. Ùقط به ویرایش خود ادامه دهید Ùˆ متن انحراÙÛŒ را رها کنید.
+
+اگر تعداد M-y به دÙعات کاÙÛŒ داشته باشید، به نقطه شروع باز Ù…ÛŒ گردید
+(بیشترین کشتن اخیر).
+
+>> یک خط را بکشید، در اطرا٠حرکت کنید، یک خط دیگر را بکشید.
+ سپس C-y را انجام دهید تا دومین خط کشته شده را برگردانید.
+ سپس M-y را انجام دهید تا اولین خط کشته شده جایگزین آن شود.
+ M-y های بیشتری انجام دهید و ببینید چه چیزی به دست می آورید. به انجام
+ آنها ادامه دهید تا زمانی که خط کشتن دوم برمی گردد، و سپس چند بار دیگر.
+ اگر دوست دارید، می‌توانید امتحان کنیدو به M-y آرگومانهای مثبت Ùˆ منÙÛŒ
+ بدهید.
+
+
+
+* لغو
+------
+
+اگر تغییری در متن ایجاد کنید و سپس تصمیم به برگرداندن آن تغییر بگیرید،
+شما Ù…ÛŒ توانید تغییر را با Ùرمان ‪(undo) C-/‬ لغو کنید.
+
+به طور معمول، ‪ C-/‬ تغییرات ایجاد شده توسط یک Ùرمان را خنثی Ù…ÛŒ کند.
+اگر ‪ C-/‬ را چندین بار پشت سر هم، تکرار کنید هر تکرار یک Ùرمان دیگر
+را خنثی می کند.
+
+اما دو استثنا وجود دارد: ÙرمانهایÙÛŒ Ú©Ù‡ متن را تغییر نمی دهند
+به حساب نمی آیند (این شامل Ùرمانهای٠حرکت مکان نما Ùˆ Ùرمانهای٠اسکرول Ù…ÛŒ شود.)
+و کاراکترهای خود درج معمولاً در گروهای، تا ۲۰ تایی رسیدگی می شوند.
+(این برای کاهش تعداد‪ C-/ ‬ هایی است که باید برای لغو درج متن) تایپ کنید.
+
+
+>> این خط را با C-k بکشید، سپس /-C را تایپ کنید تا دوباره ظاهر شود. ـ-C یک
+ Ùرمان لغو جایگزین است. دقیقاً مانند‪ C-/ ‬ کار Ù…ÛŒ کند. در برخی از پایانه
+ های متنی، تایپ‪ C-/ ‬ در واقع _-C را به Emacs ارسال Ù…ÛŒ کند. از طرÙ
+ دیگر، C-x u نیز دقیقاً مانند‪ C-/ ‬ کار می کند، اما کمی کمتر است و راحتر
+ تایپ میشود.
+
+
+یک آرگومان عددی /-C-_ ، C, یا C-x u به عنوان یک تعداد تکرار عمل می کند.
+
+همانطور که می توانید حذ٠متن را لغو کنید، می توانید کشتن متن رانیز لغو کنید.
+تمایز بین کشتن چیزی Ùˆ حذ٠آن در مورد C-y تأثیر Ù…ÛŒ گذارد، برای لغو Ùرقی نمی کند.
+
+
+* Ùایل ها
+---------
+
+برای اینکه متنی را Ú©Ù‡ ویرایش Ù…ÛŒ کنید دائمی کنید، باید آن را در یک Ùایل
+قرار دهید. در غیر این صورت، با خروج از Emacs از بین می رود. برای اینکه متن
+خود را در یک Ùایل قرار دهید، قبل از وارد کردن Ùایل باید آن را "پیدا کنید".
+(به این "بازدید از Ùایل" نیز Ú¯Ùته Ù…ÛŒ شود.)
+
+پیدا کردن یک Ùایل به این معنی است Ú©Ù‡ شما محتویات Ùایل را در داخل Emacs
+Ù…ÛŒ بینید از بسیاری جهات، گویی در حال ویرایش خود Ùایل هستید. با این حال،
+تغییراتی Ú©Ù‡ با استÙاده از Emacs ایجاد Ù…ÛŒ کنید دائمی نمی شوند تا زمانی Ú©Ù‡
+Ùایل را "ذخیره" کنید. این به این دلیل است Ú©Ù‡ شما بتوانید از ذخیره کردن
+Ùایل نیمه کامل اجتناب کنید. حتی هنگامی Ú©Ù‡ Ùایل را ذخیره کردید Emacs Ùایل
+اصلی را با نام دیگری برایتان نگه میدارد، چون ممکن است بعداً تصمیم بگیرید که
+تغییرات شما اشتباه بوده است.
+
+اگر به پایین صÙحه نگاه کنید، خطی را خواهید دید Ú©Ù‡
+با حرو٠"−" شروع می شود و چیزی مانند: "TUTORIAL ---:-" در آن را نشان می دهد.
+این قسمت از صÙحه نمایش معمولاً نام Ùایلی Ú©Ù‡ در حال حاضر از آن بازدید Ù…ÛŒ
+کنید را نشان میدهد. شما اکنون در حال بازدید از کپی شخصی آموزش Emacs خود که
+"TUTORIAL" نام دارد هستید. وقتی شما یک Ùایل را با Emacs پیدا کردید، نام آن
+Ùایل بطور دقیق در همان نقطه ظاهر Ù…ÛŒ شود.
+
+یک مورد خاص در مورد Ùرمان برای یاÙتن یک Ùایل این است Ú©Ù‡ شما باید بگویید Ú†Ù‡
+نام Ùایلی را Ù…ÛŒ خواهید. ما Ù…ÛŒ گوییم Ùرمان "خواندن یک ارگومان"
+(در این مورد، آرگومان نام Ùایل است.)بعد از تایپ Ùرمان.
+
+
+با C-x C-f یک Ùایل را پیدا کنید. Emacs از شما Ù…ÛŒ خواهد Ú©Ù‡ نام Ùایل را تایپ
+کنید. نام Ùایلی Ú©Ù‡ تایپ Ù…ÛŒ کنید در خط پایین صÙحه نمایش ظاهر Ù…ÛŒ شود. خط
+پایین زمانی Ú©Ù‡ برای این نوع ورودی استÙاده Ù…ÛŒ شود، «مینی باÙر» نامیده Ù…ÛŒ
+شود. شما Ù…ÛŒ توانید ازÙرمانهای٠ویرایش معمولی Emacs برای ویرایش نام Ùایل
+استÙاده کنید.
+
+در حالی Ú©Ù‡ نام Ùایل (یا هر ورودی مینی باÙر دیگر) را وارد Ù…ÛŒ کنید،
+Ù…ÛŒ توانید با C-g Ùرمان را لغو کنید.
+
+>> Ùرمان٠C-x C-f را تایپ کنید، سپس C-g را تایپ کنید. این Ùرمان٠مینی باÙر
+ را لغو Ù…ÛŒ کند، Ùˆ همچنین Ùرمان C-x C-f را Ú©Ù‡ مینی باÙر از آن استÙاده Ù…ÛŒ
+ کرد را لغو Ù…ÛŒ کند، بنابراین شما هیچ Ùایلی را پیدا نمی کنید.
+
+وقتی نام Ùایل را وارد کردید، <Return> را تایپ کنید تا
+آن را خاتمه دهید. مینی باÙر ناپدید Ù…ÛŒ شود Ùˆ Ùرمان C-x C-f
+برای یاÙتن Ùایلی Ú©Ù‡ انتخاب کرده اید اعمال میشود.
+
+محتویات Ùایل اکنون روی صÙحه ظاهر Ù…ÛŒ شود Ùˆ Ù…ÛŒ توانید آن را ویرایش کنید.
+هنگامی Ú©Ù‡ Ù…ÛŒ خواهید تغییرات خود را دائمی کنید، Ùرمان
+
+†C-x C-s Ùایل را ذخیره کنید
+
+این Ùرمان متن را در Ùایل درون Emacs Ú©Ù¾ÛŒ Ù…ÛŒ کند. اولین باری Ú©Ù‡ این
+کار را انجام دهید، Emacs نام Ùایل اصلی را به نام جدید تغییر Ù…ÛŒ دهد بنابر این
+Ú¯Ù… نمی شود. نام جدید با اÙزودن "~" به انتهای نام Ùایل اصلی ساخته Ù…ÛŒ شود.
+هنگامی Ú©Ù‡ ذخیره به پایان رسید، Emacs نام Ùایل نوشته شده را نمایش Ù…ÛŒ دهد.
+
+
+â€>> <C-x C-s TUTORIAL <Return را تایپ کنید.
+ این Ùرمان باید این آموزش را در Ùایلی به نام TUTORIAL ذخیره کند Ùˆ
+ Ùˆ " Wrote...TUTORIAL " را در پایین صÙحه نشان دهد.
+
+Ù…ÛŒ توانید یک Ùایل موجود را پیدا کنید، آن را مشاهده یا ویرایش کنید. شما
+همچنین Ù…ÛŒ توانید Ùایلی را پیدا کنید Ú©Ù‡ قبلاً وجود ندارد. این راه ایجاد یک
+Ùایل با Emacs است: Ùایل را پیدا کنید Ú©Ù‡ خالی شروع Ù…ÛŒ شود Ùˆ سپس شروع به درج
+متن در آن کنید، وقتی شما درخواست ذخیره Ùایل را Ù…ÛŒ کنید، Emacs در واقع Ùایل
+را با متنی که شما درج کرده اید ایجاد می کند. از آن به بعد، می توانید خود
+را در حال ویرایش Ùایل موجود بدانید.
+
+
+
+* باÙرها
+---------
+
+اگر Ùایل دومی را با C-x C-f پیدا کردید، Ùایل اول داخل Emacs باقی Ù…ÛŒ ماند.
+برای برگشت مجدد به آن شما می‌توانید با C-x C-f ، دو باره آن را پیدا کنید.
+با این روش Ù…ÛŒ توانید تعداد زیادی Ùایل را در داخل Emacs باز کنید.
+
+ایمکس متن هر Ùایل را در یک مکان به نام "باÙر" ذخیره Ù…ÛŒ کند.
+پیدا کردن یک Ùایل، یک باÙر جدید در Emacs ایجاد Ù…ÛŒ کند. برای دیدن لیستی از
+باÙرهایی Ú©Ù‡ در حال حاضر وجود دارند، تایپ کنید
+
+†C-x C-b لیست باÙرها
+
+>> اکنون C-x C-b را امتحان کنید.
+
+ببینید Ú©Ù‡ چگونه هر باÙر یک نام دارد Ùˆ همچنین ممکن است نام Ùایلی Ú©Ù‡ محتویات
+آن را نگه می دارد داشته باشد. هر متنی که در پنجره Emacs می بینید همیشه
+بخشی از یک باÙر است.
+
+>> با تایپ C-x 1 میتوانید از شر لیست باÙر خلاص شوید.
+
+هنگامی Ú©Ù‡ چندین باÙر دارید، در هر زمان تنها یکی از آنها "جاری" است. آن
+باÙر همان باÙری است Ú©Ù‡ شما ویرایش Ù…ÛŒ کنید. اگر Ù…ÛŒ خواهید باÙر دیگری را
+ویرایش کنید، باید به آن "سوئیچ" کنید. اگر Ù…ÛŒ خواهید به یک باÙر سوئیچ کنید
+Ú©Ù‡ مربوط به یک Ùایل است، Ù…ÛŒ توانید با مراجعه مجدد به آن Ùایل با C-x C-f
+این کار را انجام دهید. اما یک راه ساده تر وجود دارد: از Ùرمان C-x b
+استÙاده کنید. در آن Ùرمان باید نام باÙر را تایپ کنید.
+
+>> با تایپ ‪C-x C-f foo <Return> ‬ Ùایلی به نام "foo" ایجاد کنید.
+ سپس ‪ C-x b TUTORIAL <Return>‬ را تایپ کنید تا به این آموزش بازگردید.
+
+اغلب اوقات، نام باÙر با نام Ùایل یکی است(بدون قسمت پوشه Ùایل). به هر حال،
+این همیشه درست نیست. لیست باÙری Ú©Ù‡ با C-x C-b ایجاد Ù…ÛŒ کنید، نام هر دو
+باÙر Ùˆ نام Ùایل هر باÙر را به شما نشان Ù…ÛŒ دهد.
+
+برخی از باÙرها با Ùایل ها مطابقت ندارند. باÙری با نام "*Buffer List*" Ú©Ù‡
+حاوی لیست باÙری است Ú©Ù‡ شما آن را با C-x C-b ساخته اید هیچ Ùایلی ندارد. این
+‪TUTORIAL buffer‬ Ú©Ù‡ در ابتدا انجام شد Ùایلی ندارد، اما اکنون دارد، زیرا
+قبلا شما C-x C-s را تایپ کردید Ùˆ آن را در یک Ùایل ذخیره کرده اید.
+
+باÙر ÛŒ با نام "*Messages*" نیز با هیچ Ùایلی مطابقت ندارد. این باÙر حاوی
+پیام هایی است که در در طول جلسه Emacs شما، در خط پایین ظاهر شده اند.
+
+>> حالا < C-x b *Messages* <Return را تایپ کنید تا به باÙر پیام ها نگاه کنید.
+ سپس < C-x b TUTORIAL <Return را تایپ کنید تا به این آموزش بازگردید.
+
+اگر در متن یک Ùایل تغییراتی ایجاد کردید Ùˆ سپس Ùایل دیگری را پیدا کنید، این
+Ùایل اول را ذخیره نمی کند. آن تغییرات در Emacs در باÙر آن Ùایل باقی Ù…ÛŒ ماند.
+ایجاد یا ویرایش Ùایل دوم باÙر، هیچ تاثیری روی باÙر Ùایل اول ندارد.
+این بسیار Ù…Ùید است، اما این بدان معناست Ú©Ù‡ شما به یک راه راحت برای ذخیره
+باÙر Ùایل اول نیاز دارید. نیاز به برگشت به باÙÙر اول برای ذخیره آن توسط
+C-x C-s Ú©Ù…ÛŒ دردسرامیز است. بنابراین Ùرمان٠زیر را داریم.
+
+†C-x s برخی از باÙرها را ذخیره کنید
+
+Ùرمان C-x s در مورد هر باÙری Ú©Ù‡ حاوی تغییراتی Ú©Ù‡ ذخیرÙÙ‡
+نشده است از شما می پرسد.
+
+>> یک خط متن وارد کنید، سپس C-x s را تایپ کنید.
+ باید از شما بپرسد Ú©Ù‡ آیا باÙر با نام TUTORIAL را ذخیره Ù…ÛŒ کنید یا خیر.
+ با تایپ "y" به سوال پاسخ مثبت دهید.
+
+
+* گسترش مجموعه Ùرمانها
+---------------------------
+
+Ùرمانهای٠Emacs بسیار بسیار بیشتر است از آنچه Ú©Ù‡ امکان قراردادن همه آنها
+با کاراکترها ی کنترل و متا باشد.
+ Emacs با Ùرمان( X (eXtend این کار را میسر میکند.
+دو حالت برای این وجود دارد:
+
+†C-x کاراکتر برای eXtend. بعد از یک کاراکتر.
+†M-x Ùرمانی با نام eXtend. بعد از یک نام طولانی.
+
+اینها Ùرمانهایی هستند Ú©Ù‡ عموما Ù…Ùید هستند، اما کمتر ازÙرمانهایی Ú©Ù‡ قبلاً در
+مورد آنها آموخته اید استÙاده Ù…ÛŒ شوند. شما قبلاً چند مورد از انها را
+دیده‌اید: برای مثال Ùرمان Ùایل C-x C-f را برای یاÙتن Ùˆ C-x C-s را برای
+ذخیره کردن در نظر بگیرید. مثال دیگر، Ùرمان C-x C-c Ùرمان پایان دادن به جلسه
+Emacs است. (نگران از دست دادن تغییراتی که ایجاد کرده اید نباشید C-x C-c
+پیشنهاد Ù…ÛŒ کند هر Ùایل تغییر یاÙته را ذخیره کنید قبل از اتمام جلسه Emacs.)
+
+
+اگر از صÙحه نمایش گراÙیکی استÙاده Ù…ÛŒ کنید، نیازی به Ùرمان خاصی برای انتقال
+از Emacs به برنامه دیگر ندارید. شما می توانید این کار رابا ماوس یا با
+Ùرمانهای مدیر پنجره انجام دهید. با این حال،اگر شمااز ترمینال متنی Ú©Ù‡ Ù…ÛŒ
+تواند تنها یک برنامه را در یک زمان نشان دهد، استÙاده Ù…ÛŒ کنیدباید Emacs را
+"تعلیق" کنید تا به هر برنامه دیگری بروید.
+
+Ùرمان C-z خروج *موقت*--- از Emacs است تا بتوانید به همان جلسه Emacs
+برگردید. هنگامی که Emacs روی یک ترمینال متنی اجرا می شود، C-z، Emacs را به
+حالت تعلیق در می آورد. یعنی به shell برمی گردد اما کار Emacs را از بین نمی
+برد. در رایج ترین shell ها، شما Ù…ÛŒ تواند Emacs را با Ùرمان "fg" یا با‪
+"%emacs"‬ از سر بگیرد.
+
+زمان استÙاده از C-x C-c زمانی است Ú©Ù‡ Ù…ÛŒ خواهید از سیستم خارج شوید. همچنین
+برای خروج از Emacs Ùˆ ویرایش سریع استÙاده Ù…ÛŒ شود، همانند یک ابزار مدیریت
+ایمیل.
+
+Ùرمانهای C-x زیادی وجود دارد. در اینجا لیستی از مواردی Ú©Ù‡ یاد گرÙته اید است:
+
+†C-x C-f Ùایل را پیدا کنید
+†C-x C-s ذخیره Ùایل
+†C-x s برخی از باÙرها را ذخیره کنید
+†C-x C-b لیست باÙرها
+†C-x b سوئیچ باÙر
+†C-x C-c از Emacs خارج شوید
+†C-x 1 تمام پنجره ها را به جز یک حذ٠کنید
+†C-x u لغو Ùرمان
+
+Ùرمانهایی با نام eXtended Ùرمانهایی هستند Ú©Ù‡ به طور مکرر کمتر مورد استÙاده
+قرار Ù…ÛŒ گیرند یا Ùرمانهایی Ú©Ù‡ Ùقط در حالت های خاصی استÙاده Ù…ÛŒ شوند.
+به عنوان یک مثال Ùرمان replace-string است Ú©Ù‡ یک رشته حرو٠را جایگزین رشته
+حرو٠دیگری در باÙر Ù…ÛŒ کند. وقتی M-x را تایپ می‌کنید، Emacs درپایین صÙحه با
+نشان دادن٠M-x از شما می‌خواهد نام Ùرمان را تایپ کنید؛ در اینجا یعنی
+"replace-string". Ùقط " <repl s<TAB" را تایپ کنید Ùˆ Emacs نام Ùرمان را
+تکمیل می کند. (<TAB> کلید Tab است که معمولاً جایگاهش بالای کلید CapsLock یا
+Shift نزدیک لبه سمت Ú†Ù¾ کیبورد است.) نام کامل شده Ùرمان را با <Return>
+ارسال کنید.
+
+Ùرمان replace-string به دو آرگومان نیاز دارد -- رشته جایگزین شونده
+و رشته ای که جایگزین آن شود.شما باید هر آرگومان رابا <Return> پایان دهید.
+
+
+>> مکان نما را به خط خالی دو خط زیر این یکی ببرید.
+ سپس < M-x repl s<Return>changed<Return>altered<Return را تایپ کنید.
+
+
+ توجه کنید که این خط چگونه تغییر کرده است: شما کلمه "changed" را با"altered"
+ جایگزین کرده اید. هر جایی که بعد از موقعیت اولیه مکان نما رخ داد.
+
+
+* ذخیره خودکار
+---------------
+
+وقتی تغییراتی در Ùایلی ایجاد کرده اید، اما هنوز آنها را ذخیره نکرده اید،
+اگر کامپیوتر شما خراب شود، ممکن است از بین بروند. برای محاÙظت شما از آن،
+Emacs به صورت دوره ای برای هر Ùایلی Ú©Ù‡ شما در حال ویرایش آن هستید یک Ùایل
+"ذخیره خودکار" Ù…ÛŒ نویسد. نام Ùایل ذخیره خودکار دارای یک # در ابتدا Ùˆ در
+پایان است؛ به عنوان مثال، اگر Ùایل شما "hello.c" نام دارد، ذخیره خودکار نام
+Ùایل "#hello.c#" است.وقتی Ùایل را به روش عادی ذخیره Ù…ÛŒ کنید، Emacs Ùایل
+ذخیره خودکار خود را حذ٠می کند.
+
+اگر رایانه خراب شد، می‌توانید ویرایش ذخیره‌شده خودکار خود را توسط
+یاÙتن Ùایل به طور معمول (Ùایلی Ú©Ù‡ در حال ویرایش آن بودید، نه ذخیره Ùایل خودکار)
+و سپس تایپ M-x recover-this-file <Return> بازیابی کنید . هنگامی که
+تأیید آن را می خواهد،< yes<Return را تایپ کنید تابه ذخیره خودکار داده ها
+ادامه دهید و آن را بازیابی کنید.
+
+
+
+* منطقه اکو
+-----------
+
+اگر Emacs ببیند Ú©Ù‡ به آرامی Ùرمانهای چند کاراکتری را تایپ Ù…ÛŒ کنید، آن را
+انجام Ù…ÛŒ دهد آنها را در پایین صÙحه در ناحیه ای به نام "منطقه اکو" به شما
+نشان Ù…ÛŒ دهد. ناحیه اکو حاوی خط پایین صÙحه نمایش است.
+
+
+* خط حالت ( MODE LINE)
+-----------------------
+
+خط بلاÙاصله بالای ناحیه اکو "mode line" نامیده Ù…ÛŒ شود.
+خط حالت چیزی شبیه به این می گوید:
+
+†TUTORIAL 63% L749 (Fundamental) −**:−
+
+این خط، اطلاعات Ù…Ùیدی در مورد وضعیت Emacs
+و متنی که در حال ویرایش آن هستید می دهد.
+
+شما از قبل Ù…ÛŒ دانید Ú©Ù‡ نام Ùایل به Ú†Ù‡ معناست -- این Ùایلی است Ú©Ù‡ شما دارید.
+ NN% موقعیت Ùعلی شما را در متن باÙر نشان Ù…ÛŒ دهد. این
+به این معنی است Ú©Ù‡ NN درصد از باÙر بالای صÙحه نمایش است.
+اگر بالای باÙر روی صÙحه باشد، به آن "Top" بجای "0Ùª" Ù…ÛŒ گوید.
+اگر پایین باÙر روی صÙحه باشد، "Bot" Ù…ÛŒ گوید.
+اگر به باÙری نگاه Ù…ÛŒ کنید Ú©Ù‡ آنقدر Ú©ÙˆÚ†Ú© است Ú©Ù‡ همه آن روی صÙحه جا Ù…ÛŒ شود,
+خط مد می گوید, "All".
+
+حر٠L Ùˆ ارقام، موقعیت را به طریق دیگری نشان Ù…ÛŒ دهند: آنها شماره خط ÙعلیÙ
+نقطه را نشان می دهند.
+
+ستاره های نزدیک به جلو به این معنی است که شما تغییراتی در متن ایجاد کرده
+اید. درست پس از بازدید یا ذخیره یک Ùایل، آن قسمت از خط حالت، با خطوط تیره
+و بدون ستاره نمایش داده می شود.
+
+آن بخشی از خط حالت Ú©Ù‡ در داخل پرانتز است گویایÙ
+حالت‌های ویرایشی Ùعلی هستند. حالتی Ú©Ù‡ الان استÙاده Ù…ÛŒ کنید Fundamental است.
+این نمونه ای از "مد ماژر (major mode)" است.
+
+ایمکس حالت های اصلی مختل٠Ùراوان دارد. برخی از آنها برای
+ویرایش زبان های برنامه ریزی مختل٠مثل Lisp هستند و برخی برای
+ویرایش متن هستند، و غیره.
+
+در هر زمان یک Ùˆ تنها یک مد ماژر Ùعال است، Ùˆ نام آن را همیشه Ù…ÛŒ توان در خط
+حالت، دقیقاً در جایی Ú©Ù‡ اکنون "Fundamental" است، یاÙت.
+
+هر مد ماژر باعث Ù…ÛŒ شود Ú©Ù‡ برخی از Ùرمانها متÙاوت عمل کنند. مثلا، Ùرمانهایی
+برای ایجاد comment در یک برنامه وجود دارد و از آنجایی که هر کدام از
+زبانهای برنامه نویسی ایده متÙاوتی در مورد آنچه Ú©Ù‡ یک comment باید باشد
+دارند هر مد ماژر باید comment رابه طور متÙاوتی درج کند. هر یک از مدهای
+ماژر نام یک Ùرمان توسعه یاÙته است، Ú©Ù‡ چگونه Ù…ÛŒ توانید به آن حالت تغییر
+دهید. برای مثال، M-x fundamental-mode Ùرمانی است Ú©Ù‡ به حالت اساسی بروید.
+
+اگر قرار است متنی به زبان انسانی مانند: این Ùایل را ویرایش کنید، شما
+احتمالا باید از حالت متن استÙاده کنید.
+
+>> تایپ کنید < M-x text-mode <Return
+
+نگران نباشید، هیچ یک از Ùرمانهای٠Emacs Ú©Ù‡ یاد گرÙته اید تغییر نمی کند اما
+می توانید مشاهده کنید که M-f و M-b اکنون آپاسترو٠ها به عنوان بخشی از
+کلمات رÙتارمی کنند.قبلاً در حالت بنیادی، M-f Ùˆ M-b مانند آپاسترو٠ها به عنوان
+جداکننده کلمات رÙتار Ù…ÛŒ کردند.
+
+
+اکثر Ùرمانها در هر مد ماژر "همان کار" را انجام Ù…ÛŒ دهند، امادرمواردی مانند
+مثال بالا Ú©Ù…ÛŒ متÙاوت عمل Ù…ÛŒ کنند.
+
+
+برای مشاهده اطلاعات امدادی در مد ماژر Ùعلی خود، C-h m را تایپ کنید.
+
+>> مکان نما را به خط زیر این خط ببرید.
+>> C-l C-l را تایپ کنید تا این خط به بالای صÙحه نمایش داده شود.
+>> C-h m را تایپ کنید تا ببینید مد٠Text با مد٠Fundamental Ú†Ù‡ تÙاوتی دارد.
+>> C-x 1 را تایپ کنید تا اطلاعات امدادی را از روی صÙحه حذ٠کنید.
+
+مد ماژور را ماژر می نامند زیرا مد ماینور نیز وجود دارد. مدهای ماینور
+جایگزینی برای مدهای ماâ€â€â€Ú˜ÙˆØ± نیستند، Ùقط آنها را تغیر Ùˆ تبدیل Ù…ÛŒ کنند. هر مد
+ماینور می تواند خودش مستقلانه روشن یا خاموش گردد، مستقل ازتمام مدهای
+ماینور دیگر،و مستقل از مد ماژر Ùعلی شما. بنابراین Ù…ÛŒ توانید از هیچ مد
+ماینور، یک مد ماینور Ùˆ یاترکیبی از چند مد ماینور استÙاده کنید.
+
+
+یک مد ماینور Ú©Ù‡ بسیار Ù…Ùید است، به خصوص برای ویرایش متن به زبان انسانی
+(human-language)، مد ماینور٠خود−پر کن (Auto Fill mode) است. وقتی این مد
+روشن است, و شما با نوشتن متن، خطی بوجود می آورد که خیلی طولانی است،Emacs
+خط بین کلمات را به طور خودکار می شکند.
+
+
+شما می توانید با انجام <M-x auto-fill-mode <Return, مد ماینور خودکار را
+روشن کنید. وقتی مد روشن است، می توانید با انجام < M-x auto-fill-mode
+<Return دوباره آن را خاموش کنید. اگر مد خاموش باشد، با این Ùرمان روشن Ù…ÛŒ
+شود واگر مد روشن است، این Ùرمان آن را خاموش Ù…ÛŒ کند. ما به این Ùرمان "تغییر
+مد" می گوییم.
+
+
+>>اکنون <M-x auto-fill-mode <Return را تایپ کنید.
+ سپس یک خط "asdf" را وارد کنید،آن را تکرار کنید تا زمانی که ببینید که به
+ دو خط تقسیم شده است. شماباید Ùاصله (spaces) بین آنها بوجود آورید، زیرا
+ Auto Fill خطوط را Ùقط درÙواصل Ù…ÛŒ شکند.
+
+حاشیه معمولاً از 70 کاراکتر تشکیل Ù…ÛŒ شود، اما شما Ù…ÛŒ توانید آن را با Ùرمان
+C-x f تغییر دهید. شما باید تنظیمات حاشیه ای را که می خواهید بدهید،همراه با
+استدلال عددی باشد.
+
+â€> C-x f را با آرگومان 20 تایپ کنید. (C-u 2 0 C-x f).
+ سپس مقداری متن را تایپ کنید و سپس ببینید Emacs، خطوط 20 کاراکتری را با
+ آن پر Ù…ÛŒ کنید. سپس با استÙاده از C-x fØŒ دوباره حاشیه را به 70
+ برگردانید.
+
+
+اگر در وسط پاراگرا٠تغییراتی ایجاد کردید، حالت پر کردن خودکار دوباره آن را
+برای شماپر نمی کند. برای پر کردن مجدد پاراگراÙØŒ M-q (META-q) رابا مکان نما
+در داخل آن پاراگرا٠تایپ کنید.
+
+
+>> مکان نما را به پاراگرا٠قبلی ببرید و M-q را تایپ کنید.
+
+
+* جستجوکردن
+-----------
+
+با Emacs می توانید رشته ها را جستجو کند («رشته:string » گروهی از
+کاراکترهای به هم پیوسته است). جستجو به جلو در متن یا به عقب در متن.
+جستجوی برای یک string یک Ùرمان حرکت مکان نما است. آن مکان نما را به مکان
+بعدی که آن رشته ظاهر می شود حرکت می دهد.
+
+Ùرمان جستجوی Emacs "اÙزایشی" است. این بدان معنی است Ú©Ù‡
+جستجو زمانی اتÙاق Ù…ÛŒ اÙتد Ú©Ù‡ رشته مورد نظر را برای جستجو تایپ Ù…ÛŒ کنید.
+
+Ùرمان شروع جستجو C-s برای جستجوی جلو Ùˆ C-r برای جستجوی معکوس است.
+اما صبر کنید! اکنون آنها را امتحان نکنید.
+
+وقتی C-s را تایپ می کنید متوجه خواهید شد که رشته "I-search" به صورت یک
+اعلان در ناحیه اکو ظاهر می شود. این به شما می گوید که Emacs مشغول کاری است
+Ú©Ù‡ یک جستجوی اÙزایشی نامیده Ù…ÛŒ شود Ùˆ در آن حالت منتظر شماست تامورد جستجو
+را تایپ کنید. <Return> یک جستجو را خاتمه می دهد.
+
+>> اکنون C-s را برای شروع جستجو تایپ کنید
+ کلمه"مکان نما" را به آرامی، با تک تک حرو٠تایپ کنید، پس از تایپ
+ هر کاراکتر Ù…Ú©Ø« کنید, تا متوجه آنچه برای مکان نما اتÙاق Ù…ÛŒ اÙتد شوید.
+ اکنون یک بار "مکان نما" را جستجو کرده اید.
+>> دوباره تایپ کنید C-s، برای جستجوی رخداد بعدی "مکان نما".
+>> اکنون <DEL> را چهار بار تایپ کنید و ببینید مکان نما چگونه حرکت می کند.
+>> برای پایان یاÙتن جستجو، <Return> را تایپ کنید.
+
+دیدید Ú†Ù‡ اتÙاقی اÙتاد؟ EmacsØŒ در یک جستجوی اÙزایشی، سعی Ù…ÛŒ کند
+به رخداد رشته ای که تاکنون تایپ کرده اید بروید.
+برای رÙتن به رخداد بعدی "مکان نما"ØŒ Ùقط C-s را دوباره تایپ کنید. اگر چنین
+رخدادی وجود ندارد، Emacs بوق می‌زند و به شما می‌گوید جستجو در حال حاضر
+"شکست" خرده است. C-g نیز جستجو را خاتمه می دهد.
+
+اگر در وسط یک جستجوی اÙزایشی هستید Ùˆ <DEL> را تایپ کنید،
+جستجو، "عقب نشینی" به مکان قبلی میکند. اگر برای پیشرÙت جستجوی رشته ای بعدی،
+بعد از اینکه C-s را تایپ کردید <DEL> را تایپ کنید،
+<DEL> مکان نما را به یک اتÙاق قبلی برمی گرداند. اگر
+هیچ مورد قبلی در رشته جستجو وجود نداشته باشد، <DEL> آخرین کاراکتر را
+در رشته جستجوپاک می کند.
+ برای مثال، Ùرض کنید "Ù…" را تایپ کرده اید
+برای اولین بار "م" را جستجو کنید. حالا اگر "ک" را تایپ کنید،
+مکان نما به اولین رخداد "مک" حرکت می کند. حالا <DEL> را تایپ کنید.
+این "ک" را از رشته جستجو پاک می کند و مکان نما به به اولین وقوع "م" در
+رشته جستجو به عقب برمی گردد.
+
+اگر در وسط یک جستجو هستید و کاراکتر کنترل یا متا را تایپ کنید،
+شخصیت (به استثنای معدود کاراکتر هایی که در یک جستجو خاص هستند،
+مانند C-s و C-r)، جستجو خاتمه می یابد.
+
+با C-s جستجو را بعد از موقعیت مکان نمای Ùعلی شروع Ù…ÛŒ کنید Ùˆ هر رخدادی از رشته
+بعد از مکان نما جستجو می شود. اگر می خواهید چیزی در متن قبل از مکان نما جستجو
+شود، به جای آن، C-r را تایپ کنید. همه چیزهایی که ما در مورد C-s
+Ú¯Ùته ایم برای C-r نیز صدق Ù…ÛŒ کند، با این تÙاوت Ú©Ù‡ جهت جستجو معکوس Ù…ÛŒ شود.
+
+
+* پنجره های چندگانه
+--------------------
+
+یکی از ویژگی های خوب Emacs این است که می توانید در یک زمان بیشتر ازیک
+پنجره روی صÙحه نمایش نشان دهید. (توجه داشته باشید Ú©Ù‡ Emacs ازاصطلاح
+"frames"-- که در بخش بعدی توضیح داده شده است -- برای برخی کاربرد دیگر
+"windows" Ú¯Ùته Ù…ÛŒ شود. کتابچه راهنمای Emacs حاوی واژه نامه ای ازشرایط
+استÙاده Emacs.)
+
+>> مکان نما را به این خط ببرید و C-l C-l را تایپ کنید.
+
+>> حالا C-x 2 را تایپ کنید Ú©Ù‡ صÙحه را به دو پنجره تقسیم Ù…ÛŒ کند. هر دو
+ پنجره این آموزش را نمایش می دهند. مکان نمای ویرایش در پنجره بالا باقی
+ می ماند.
+
+>> تایپ C-M-v برای رÙتن به پایین پنجره .
+ (اگر کلید META واقعی ندارید، <ESC> C-v را تایپ کنید.)
+
+>> تایپ کنید C-x o ("o" برای "other"دیگر ) برای حرکت مکان نما به پنجره پایین.
+>> از C-v Ùˆ M-v در پنجره پایین برای پیمایش استÙاده کنید.
+ به خواندن این Ùرمانهای عمل، در پنجره بالا ادامه دهید.
+
+>> دوباره C-x o را تایپ کنید تا مکان نما را به پنجره بالا برگردانید.
+ مکان نما در پنجره بالا دقیقاً همان جایی است که قبلا بود.
+
+Ù…ÛŒ توانید از C-x o برای جابجایی بین پنجره ها استÙاده کنید. "پنجره انتخاب
+شده" جایی که بیشترین ویرایش در آن صورت می گیرد، همان پنجره ای است که مکان
+نما برجسته است، و زمانی که تایپ نمی کنید چشمک می زند. پنجره های دیگر
+موقعیت مکان نمای خود را دارند. اگر Emacs را به صورت گراÙیکی اجرا Ù…ÛŒ کنید،
+آن مکان نماها به صورت کادرهای توخالی بدون چشمک‌زن ترسیم می‌شوند.
+
+
+Ùرمان C-M-v هنگامی Ú©Ù‡ متن را در یک پنجره ویرایش Ù…ÛŒ کنید Ùˆ از پنجره دیگر
+Ùقط برای مرجع استÙاده میکند، بدون ترک پنجره انتخاب شده، بسیار Ù…Ùید است.
+می توانید متن را باC-M-v در پنجره دیگر پیمایش کنید.
+
+مثال C-M-v نمونه ای از یک کاراکتر CONTROL-META است. اگر یک کلید META
+‪(Alt یا)‬ دارید با نگه داشتن هر دو کلید CONTRO و META و تایپ v,
+میتوانید C-M-v را تایپ کنید. مهم نیست که CONTROL اول باشد یا META.
+زیرا هر دوی این کلیدها با تغییر کاراکترهای شما عمل می کنند.
+
+
+اگر کلید META ندارید Ùˆ به جای آن از <ESC> استÙاده Ù…ÛŒ کنید، مهم است Ú©Ù‡
+ترتیب را انجام دهید: باید <ESC> و سپس CONTROL-v را تایپ کنید، زیرا
+CONTROL-<ESC> v کار نخواهد کرد. این به این دلیل است که <ESC> در نوع خود
+یک کاراکتر است، نه یک کلید اصلاح کننده.
+
+>> با تایپ C-x 1 (در پنجره بالا) از شر پنجره پایین خلاص شوید.
+
+(اگر C-x 1 را در پنجره پایین تایپ کرده بودید، پنجره بالا خلاص می شد. این
+Ùرمان را به صورت «Ùقط یک پنجره را -- هم آنکه هم اکنون در آن هستم Ù†Ú¯Ù‡ دار»
+در نظر بگیرید.
+
+
+شما مجبور نیستید یک باÙر را در هر دو پنجره نمایش دهید. اگر شما از C-x C-f
+برای پیدا کردن Ùایل در یک پنجره استÙاده کنید، در پنجره دیگر تغییر ایجاد
+نمی شود. شما Ù…ÛŒ توانید یک Ùایل را در هر پنجره به طور مستقل پیدا کنید.
+
+در اینجا روش دیگری برای استÙاده از دو پنجره برای نمایش دو چیز مختل٠وجود دارد:
+
+>> Ùرمان C-x 4 C-f Ùˆ سپس نام یکی از Ùایل های خود را تایپ کنید.
+ با <Return> خاتمه دهید. ببینید Ùایل مشخص شده در پایین ظاهر Ù…ÛŒ شود Ùˆ
+ پنجره مکان نما نیز به آنجا می رود.
+
+>> برای بازگشت به پنجره بالا C-x o و برای حذ٠پنجره پایین C-x 1 را تایپ کنید.
+
+
+*Ùریم های چندگانه (MULTIPLE FRAMES)
+----------------------------------
+
+با Emacs همچنین Ù…ÛŒ توانید چندین "Ùریم" ایجاد کنید. یک Ùریم، مجموعه ای
+ازپنجره ها است Ú©Ù‡ Ùهرست آن: اسکرول بارها، اکو بار، Ùˆ غیره است. در
+نمایشگرهای گراÙیکی، چیزی Ú©Ù‡ Emacs آن را "Ùریم" Ù…ÛŒ نامد همان چیزی است Ú©Ù‡
+اکثر برنامه های کاربردی دیگر "پنجره" Ù…ÛŒ نامند. Ùریم های گراÙیکی متعدد را
+Ù…ÛŒ توان همزمان بر روی صÙحه نمایش نشان داد. در یک ترمینال متنی Ùقط یک Ùریم
+را می توان در یک زمان نشان داد.
+
+†>> C-x 5 2 را تایپ کنید.
+ مشاهده Ù…ÛŒ کنید Ú©Ù‡ یک Ùریم جدید روی صÙحه نمایش شما ظاهر Ù…ÛŒ شود.
+
+شما Ù…ÛŒ توانید هر کاری را Ú©Ù‡ در Ùریم اصلی انجام داده اید در Ùریم جدید
+انجام دهید. هیچ چیز خاصی در Ùریم اول وجود ندارد.
+
+â€>> C-x 5 0 را تایپ کنید.
+ این Ùریم انتخاب شده را حذ٠می کند.
+
+شما همچنین Ù…ÛŒ توانید یک Ùریم را با استÙاده از روش معمولی ارائه شده توسط
+سیستم گراÙیکی (اغلب با کلیک روی دکمه ای با نشان "X" در گوشه بالای Ùریم)بردارید.
+اگر آخرین Ùریم٠کار Emacs را به این ترتیب حذ٠کنید،از Emacs خارج Ù…ÛŒ شود.
+
+
+* سطوح ویرایش بازگشتی
+----------------------
+
+گاهی اوقات وارد چیزی می شوید که«سطوح ویرایش بازگشتی» نامیده می شود.
+این با کروشه های مربع در خط حالت اطرا٠پرانتزهای نام مد ماژر
+نشان داده می شود. برای مثال، ممکن است [(اساسی)] را به جای (اساسی) ببینید.
+
+برای خارج شدن از سطح ویرایش بازگشتی، <ESC> <ESC> <ESC> را تایپ کنید.
+این یک Ùرمان همه منظوره "برو بیرون" است. همچنین Ù…ÛŒ توانید از آن برای
+حذ٠پنجره های اضاÙÛŒ Ùˆ خارج شدن از مینی باÙر استÙاده کنید.
+
+>> تایپ M-xØŒ تا وارد یک مینی باÙر شوید. سپس برای بیرون رÙتن
+†<ESC> <ESC> <ESC> را تایپ کنید.
+
+شما نمی توانید از C-g برای خارج شدن از یک سطح ویرایش بازگشتی استÙاده کنید.
+زیرا C-g برای لغو Ùرمانها Ùˆ آرگومان ها در داخل سطح ویرایش بازگشتی
+استÙاده Ù…ÛŒ شود.
+
+
+
+* دریاÙت Ú©Ù…Ú© بیشتر
+-------------------
+
+در این آموزش سعی شده است اطلاعات کاÙÛŒ برای شروع به استÙاده از Emacs در
+اختیار شما قرار گیرد. اطلاعات موجود در مورد Emacs آنقدر زیاد است که توضیح
+همه چیز در اینجا غیرممکن است. با این حال، ممکن است بخواهید اطلاعات بیشتری
+در مورد Emacs کسب کنید زیرا Emacs دارای بسیاری از ویژگی های Ù…Ùید دیگر است.
+Emacs Ùرمانهایی رابرای خواندن اسناد در مورد Emacs ارائه Ù…ÛŒ دهد. Ùرمانهای
+"help" همه با کاراکتر CONTROL-h که " کارکتر Help" نامیده می شود شروع
+می شوند.
+
+
+برای استÙاده از ویژگی های HelpØŒ کاراکتر C-h Ùˆ سپس کارکتری Ú©Ù‡ Ù…ÛŒ گوید شما
+چه نوع کمکی می خواهید را تایپ کنید. اگر شما واقعاً گم شده اید، ? C-h را
+تایپ کنید Ùˆ Emacs به شما خواهد Ú¯Ùت Ú©Ù‡ Ú†Ù‡ نوع Ú©Ù…Ú©ÛŒ Ù…ÛŒ تواند ارائه دهد. اگر
+C-h را تایپ کرده اید Ùˆ به این نتیجه رسیده اید Ú©Ù‡ هیچ Ú©Ù…Ú©ÛŒ نمی خواهید، Ùقط
+برای لغو آن، C-g را تایپ کنید.
+
+(اگر C-h پیامی در مورد راهنما در پایین صÙحه نمایش نمی دهد،
+روی صÙحه به جای آن کلید F1 یا< M-x help <Return را تایپ کنید.)
+
+اساسی ترین ویژگی HELP یا کمک، C-h c است. تایپ کنید C-h، کاراکتر c و یک
+کاراکتر یا دنباله Ùرمان؛ سپس Emacs یک خلاصه بسیار کوتاه از شرح Ùرمان نمایش
+می دهد.
+
+†>> C-h c C-p را تایپ کنید.
+
+پیام باید چیزی شبیه این باشد:
+
+†C-p runs the command previous-line
+
+این "نام Ùرمان -- function" را به شما Ù…ÛŒ گوید. نام Ùرمان از بابت کاری Ú©Ù‡
+Ùرمان انجام Ù…ÛŒ دهد انتخاب Ù…ÛŒ شود. نام Ùرمان Ù…ÛŒ تواند به عنوان اطلاعات
+امدادی بسیار مختصر باشد - برای یادآوری Ùرمانهایی Ú©Ù‡ شما قبلا یاد گرÙته اید.
+
+
+Ùرمانهایی چند کاراکتری مانند C-x C-s Ùˆ ESC>v> (به جای M-v،اگر کلید META یا
+ALT ندارید) همچنین پس از C-h c نیز مجاز هستند.
+
+
+برای دریاÙت اطلاعات بیشتر در مورد یک Ùرمان، به جای C-h c از C-h k استÙاده
+کنید.
+
+
+â€>> C-h k C-p را تایپ کنید.
+
+این مستندات تابع و همچنین نام آن را در یک پنجره ایمکس نمایش می دهد.
+وقتی خواندن خروجی تمام شد، برای خلاص شدن از شر آن پنجره C-x 1 را تایپ کنید.
+شما مجبور نیستید این کار را به سرعت انجام دهید.
+می توانید در حین مراجعه به متن راهنما مقداری ویرایش انجام دهید
+و سپس C-x 1 را تایپ کنید.
+
+در اینجا چند گزینه Ù…Ùید دیگر C-h وجود دارد:
+
+†C-h x یک Ùرمان را توصی٠کنید. شما نام آن Ùرمان را تایپ Ù…ÛŒ کنید.
+
+
+>> Ùرمان٠<C-h x previous-line <Return را تایپ کنید.
+ این تمام اطلاعات ایمکس را در مورد آن نمایش می دهد.
+ تابعی Ú©Ù‡ Ùرمان C-p را پیاده سازی Ù…ÛŒ کند.
+
+یک Ùرمان مشابه C-h v اطلاعات امدادی٠متغیرها "variables" را نمایش Ù…ÛŒ دهد, Ùˆ
+گاهی اجازه میدهد تا بتوانید مقادیر متغیرها را برای خاص کردن رÙتار ایمکس
+تنظیم کنید. زمانی که ایمکس از آن درخواست کرد، باید نام متغیر را تایپ کنید.
+
+†C-h a Ùرمان Apropos.
+ یک کلمه کلیدی را تایپ کنید Ùˆ ایمکس تمام Ùرمانهایی Ú©Ù‡ نام
+ آنها حاوی آن کلمه کلیدی است لیست میکند. همه این Ùرمانها
+ را Ù…ÛŒ توان با META-x احضار کرد. برای برخی از Ùرمانها،
+ Command Apropos نیز یک Ùهرست دنباله ای است از یک یا چند
+ کاراکتر Ú©Ù‡ باÙرمان یکسان اجرا Ù…ÛŒ شود.
+
+
+>> Ùرمان <c-h a file <Return راتایپ کنید.
+
+در پنجره ای دیگر لیستی از تمام Ùرمانهایی M-x با "file" به نام آنها نمایش
+داده Ù…ÛŒ شود. شما Ùرمانهای کاراکتر را در کنار آن نام Ùرمانهای مربوطه (مانند
+C-x C-f در کنار find-file) خواهید دید.
+
+
+>> برای پیمایش پنجره راهنما، C-M-v را تایپ کنید. این را چند بار انجام دهید.
+
+â€>> C-x 1 را تایپ کنید تا پنجره راهنما را حذ٠کنید.
+
+†C-h i خواندن کتابچه راهنمای همراه (با نام مستعار اطلاعات Info).
+ این Ùرمان شما را به یک باÙر ویژه به نام "*info*" یا
+ اطلاعات قرار می دهد که در آن شما می توانید کتابچه
+ راهنمای بسته های نصب شده روی سیستم خود را بخوانید. برای
+ خواندن کتابچه راهنما < m emacs<Return را تایپ کنید. اگر
+ قبلاً از Info استÙاده نکرده‌اید، Emacs Ùˆ h را تایپ کنید,
+ آن شما را به یک راهنمای تور از امکانات حالت info می برد.
+ پس از اتمام این آموزش، باید به کتابچه راهنمای
+ Emacs Info به عنوان مستندات اصلی خود مراجعه کنید.
+
+
+* ویژگی های بیشتر
+------------------
+
+شما می‌توانید با مطالعه کتابچه راهنمای ایمکس اطلاعات بیشتری کسب کنید. مانند
+یک کتاب چاپ شده، یا داخل Emacs (از منوی Help یا C-h r استÙاده کنید). دو
+ویژگی که ممکن است به خصوص دوست داشته باشید، توانایی تکمیل "Completion" که
+باعث کمتر تایپ کردن میشود Ùˆ diredØŒ Ú©Ù‡ مدیریت رسیدگی به Ùایل را ساده Ù…ÛŒ کند.
+
+تکمیل راهی برای جلوگیری از تایپ غیر ضروری است. به عنوان مثال، اگر شما
+می‌خواهید به باÙر *Messages* بیاید، می‌توانید< C-x b *M<Tab را تایپ کنید، Ùˆ
+Emacs بقیه نام باÙر را تا جایی Ú©Ù‡ Ù…ÛŒ تواند از آنچه قبلاً تایپ کرده اید پر
+Ù…ÛŒ کند. تکمیل کردن هم چنین برای نام Ùرمانها ونام Ùایل ها به کار Ù…ÛŒ آید. در
+کتابچه راهنمای ایمکس، در بخشی به نام "تکمیل Completion " توضیح داده شده
+است.
+
+
+با Dired شما قادر هستید تا Ùایل ها (Ùˆ به صورت اختیاری زیر شاخه های آن) را
+در یک Ùهرست کنید. در اطرا٠آن لیست حرکت کنید، بازدید کنید، نام خود را
+تغییر دهید، حذ٠کنید Ùˆ به صورت دیگر روی Ùایل ها کار کنید. در کتابچه
+راهنمای ایمکس در بخشی به نام "Dired" توضیح داده شده است.
+
+
+این کتابچه راهنمای بسیاری از ویژگی های دیگر ایمکس را نیز توضیح می دهد.
+
+
+* جمع بندی
+------------
+
+برای خروج از Emacs از C-x C-c استÙاده کنید.
+
+این آموزش برای همه کاربران جدید باید قابل درک باشد، بنابراین اگر
+چیز مبهمی پیدا کردید، ننشینید و تو سر خودتان نزنید - شکایت کنید!
+
+
+* کپی برداری
+--------------
+
+این آموزش حاصل زنجیره ای طولانی از آموزش های Emacs است که با کتابی به نوشته
+Stuart Cracraft سر چشمه گرÙت.
+
+این نسخه از آموزش بخشی از GNU Emacs است. دارای حق چاپ است
+و با مجوز برای توزیع کپی در شرایط خاص همراه است:
+
+ Copyright (C) 1985, 1996, 1998, 2001-2022 Free Software Foundation, Inc.
+
+ This file is part of GNU Emacs.
+
+ GNU Emacs is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ GNU Emacs is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+لطÙاً Ùایل COPYING را بخوانید Ùˆ سپس Ú©Ù¾ÛŒ هایی از GNU Emacs را به دوستانتان بدهید.
+کمک کنید تا از شر قاعدی٠اشتباه٠کپی رایت غربی راحت شویم.
+
+
+
+--- end of TUTORIAL.fa ---
+
+;;; Local Variables:
+;;; coding: utf-8
+;;; bidi-display-reordering: t
+;;; sentence-end-double-space: nil
+;;; bidi-paragraph-direction: nil
+;;; fill-column: 74
+;;; End:
diff --git a/etc/tutorials/TUTORIAL.translators b/etc/tutorials/TUTORIAL.translators
index 64d71b61e84..30e169d263f 100644
--- a/etc/tutorials/TUTORIAL.translators
+++ b/etc/tutorials/TUTORIAL.translators
@@ -8,6 +8,7 @@ Maintainer: Ognyan Kulev <ogi@tower.3.bg>
* TUTORIAL.cn:
Author: Sun Yijiang <sunyijiang@gmail.com>
Maintainer: Xue Fuqiao <xfq.free@gmail.com>
+ Ruijie Yu <ruijie@netyu.xyz>
* TUTORIAL.cs:
Author: Milan Zamazal <pdm@zamazal.org>
@@ -30,6 +31,10 @@ Maintainer: Rafael Sepúlveda <drs@gnulinux.org.mx>
Author: Protesilaos Stavrou <info@protesilaos.com>
Maintainer: Protesilaos Stavrou <info@protesilaos.com>
+* TUTORIAL.fa:
+Author: Mohsen BANAN <emacs@mohsen.1.banan.byname.net>
+Maintainer: Mohsen BANAN <emacs@mohsen.1.banan.byname.net>
+
* TUTORIAL.fr:
Author: Éric Jacoboni <jaco@teaser.fr>
Maintainer: Éric Jacoboni <jaco@teaser.fr>
diff --git a/leim/MISC-DIC/CTLau-b5.html b/leim/MISC-DIC/CTLau-b5.html
index 117a6ee374e..f174e61db2b 100644
--- a/leim/MISC-DIC/CTLau-b5.html
+++ b/leim/MISC-DIC/CTLau-b5.html
@@ -197,7 +197,7 @@ GAM ª÷¤µ·P¥Ì¬a´±½pÀA¸T¾¶
GAN ªñºò¸ò®Ú¤yµ¬¤ç¶ÈÂÔàÚÔ»Íþ¦á
GANG ±ð§ó©°Ã¼À]¯Õ¸e®C
GAP ÂFµð«æ
-GAT ª¸¦N®Ü˸
+GAT ª¸¦N®Ü˸¾ï
GAU ¨s¤E°÷­eª¯«¯¨h­´¤[¨b´\±Ï©Sª¹áàì¸
GEI ´X°O¾÷°ò¬J¬ö§Þºß¦Ù°§ÃÕ®V¤vÉ«±H§Ò§²Ðé¼T§û½B¹¨
GENG ÃèÀV
@@ -231,7 +231,7 @@ GWAAT ¨í¬A
GWAI Âd©uºÀ¦cÖºÂkÀt»Ó­y°­¸Þ®Û¸÷¶Q±ªõÉõXÔo¹¼äó¬Ô
GWAN §g­x§¡ºu´Ò¶v°p³O¸a
GWANG ÅF
-GWAT °©±¸¸]»ë
+GWAT °©±¸¸]»ë¾ï
GWING ¬³
GWOH ¹LªG¤à»q´ÊÁûëé
GWOK ³¢°ê¹ø
diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c
index 371fa6c938b..4b71f7447e0 100644
--- a/lib-src/ebrowse.c
+++ b/lib-src/ebrowse.c
@@ -3767,8 +3767,9 @@ main (int argc, char **argv)
if (n_input_files == input_filenames_size)
{
input_filenames_size = max (10, 2 * input_filenames_size);
- input_filenames = (char **) xrealloc ((void *)input_filenames,
- input_filenames_size);
+ input_filenames = xrealloc (input_filenames,
+ (input_filenames_size
+ * sizeof *input_filenames));
}
input_filenames[n_input_files++] = xstrdup (optarg);
break;
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 2c6b4e7a630..147ecbd7c1b 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -109,6 +109,7 @@ University of California, as described above. */
#include <limits.h>
#include <unistd.h>
#include <stdarg.h>
+#include <stdckdint.h>
#include <stdlib.h>
#include <string.h>
#include <sysstdio.h>
@@ -8038,7 +8039,7 @@ xnmalloc (ptrdiff_t nitems, ptrdiff_t item_size)
ptrdiff_t nbytes;
assume (0 <= nitems);
assume (0 < item_size);
- if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes))
+ if (ckd_mul (&nbytes, nitems, item_size))
memory_full ();
return xmalloc (nbytes);
}
@@ -8049,7 +8050,7 @@ xnrealloc (void *pa, ptrdiff_t nitems, ptrdiff_t item_size)
ptrdiff_t nbytes;
assume (0 <= nitems);
assume (0 < item_size);
- if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes) || SIZE_MAX < nbytes)
+ if (ckd_mul (&nbytes, nitems, item_size) || SIZE_MAX < nbytes)
memory_full ();
void *result = realloc (pa, nbytes);
if (!result)
diff --git a/lib-src/movemail.c b/lib-src/movemail.c
index a71be8c2099..6a772e9043e 100644
--- a/lib-src/movemail.c
+++ b/lib-src/movemail.c
@@ -470,7 +470,7 @@ main (int argc, char **argv)
that were set on the file. Better to just empty the file. */
if (unlink (inname) < 0 && errno != ENOENT)
#endif /* MAIL_UNLINK_SPOOL */
- creat (inname, 0600);
+ close (creat (inname, 0600));
}
#endif /* not MAIL_USE_SYSTEM_LOCK */
diff --git a/lib/acl-internal.h b/lib/acl-internal.h
index c97e847cdc5..496e41d7b21 100644
--- a/lib/acl-internal.h
+++ b/lib/acl-internal.h
@@ -17,6 +17,11 @@
Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_ATTRIBUTE_PURE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include "acl.h"
#include <stdlib.h>
@@ -60,9 +65,6 @@ extern int aclsort (int, int, struct acl *);
# define fchmod(fd, mode) (-1)
#endif
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef ACL_INTERNAL_INLINE
# define ACL_INTERNAL_INLINE _GL_INLINE
diff --git a/lib/acl.h b/lib/acl.h
index 58e5797179e..0d021200556 100644
--- a/lib/acl.h
+++ b/lib/acl.h
@@ -20,6 +20,11 @@
#ifndef _GL_ACL_H
#define _GL_ACL_H 1
+/* This file uses _GL_ATTRIBUTE_CONST. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <sys/types.h>
#include <sys/stat.h>
diff --git a/lib/attribute.h b/lib/attribute.h
index 130644d8798..9464fde0f30 100644
--- a/lib/attribute.h
+++ b/lib/attribute.h
@@ -41,6 +41,21 @@
These names begin with 'ATTRIBUTE_' to avoid name clashes. */
+/* This file uses _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_ALWAYS_INLINE,
+ _GL_ATTRIBUTE_ARTIFICIAL, _GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_CONST,
+ _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR,
+ _GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE,
+ _GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_LEAF,
+ _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_MAY_ALIAS, _GL_ATTRIBUTE_MAYBE_UNUSED,
+ _GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE, _GL_ATTRIBUTE_NONNULL,
+ _GL_ATTRIBUTE_NONSTRING, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED,
+ _GL_ATTRIBUTE_PURE, _GL_ATTRIBUTE_RETURNS_NONNULL,
+ _GL_ATTRIBUTE_SENTINEL. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+
/* =============== Attributes for specific kinds of functions =============== */
/* Attributes for functions that should not be used. */
diff --git a/lib/binary-io.h b/lib/binary-io.h
index 6f4db253354..855d6f819f0 100644
--- a/lib/binary-io.h
+++ b/lib/binary-io.h
@@ -17,6 +17,11 @@
#ifndef _BINARY_H
#define _BINARY_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_UNUSED. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* For systems that distinguish between text and binary I/O.
O_BINARY is guaranteed by the gnulib <fcntl.h>. */
#include <fcntl.h>
@@ -25,9 +30,6 @@
so we include it here first. */
#include <stdio.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef BINARY_IO_INLINE
# define BINARY_IO_INLINE _GL_INLINE
diff --git a/lib/c++defs.h b/lib/c++defs.h
index 8ad46951ad4..458c014de5c 100644
--- a/lib/c++defs.h
+++ b/lib/c++defs.h
@@ -99,6 +99,12 @@
Example:
_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
_GL_ARG_NONNULL ((1)));
+
+ Note: Attributes, such as _GL_ATTRIBUTE_DEPRECATED, are supported in front
+ of a _GL_FUNCDECL_RPL invocation only in C mode, not in C++ mode. (That's
+ because
+ [[...]] extern "C" <declaration>;
+ is invalid syntax in C++.)
*/
#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
_GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
index 35ca83d7d43..cb0f4f3ba1f 100644
--- a/lib/c-ctype.h
+++ b/lib/c-ctype.h
@@ -23,9 +23,11 @@
#ifndef C_CTYPE_H
#define C_CTYPE_H
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
_GL_INLINE_HEADER_BEGIN
#ifndef C_CTYPE_INLINE
# define C_CTYPE_INLINE _GL_INLINE
diff --git a/lib/c-strcase.h b/lib/c-strcase.h
index 9bcca01b27c..5dfa96c41f4 100644
--- a/lib/c-strcase.h
+++ b/lib/c-strcase.h
@@ -18,6 +18,11 @@
#ifndef C_STRCASE_H
#define C_STRCASE_H
+/* This file uses _GL_ATTRIBUTE_PURE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
diff --git a/lib/careadlinkat.c b/lib/careadlinkat.c
index 359d497396c..49c92dcc196 100644
--- a/lib/careadlinkat.c
+++ b/lib/careadlinkat.c
@@ -35,10 +35,6 @@
# define SIZE_MAX ((size_t) -1)
#endif
-#ifndef SSIZE_MAX
-# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
-#endif
-
#include "allocator.h"
enum { STACK_BUF_SIZE = 1024 };
@@ -55,7 +51,9 @@ enum { STACK_BUF_SIZE = 1024 };
When the GCC bug is fixed this workaround should be limited to the
broken GCC versions. */
#if _GL_GNUC_PREREQ (10, 1)
-# if defined GCC_LINT || defined lint
+# if _GL_GNUC_PREREQ (12, 1)
+# pragma GCC diagnostic ignored "-Wreturn-local-addr"
+# elif defined GCC_LINT || defined lint
__attribute__ ((__noinline__))
# elif __OPTIMIZE__ && !__NO_INLINE__
# define GCC_BOGUS_WRETURN_LOCAL_ADDR
diff --git a/lib/careadlinkat.h b/lib/careadlinkat.h
index 201d0415fff..562cf013b75 100644
--- a/lib/careadlinkat.h
+++ b/lib/careadlinkat.h
@@ -20,6 +20,11 @@
#ifndef _GL_CAREADLINKAT_H
#define _GL_CAREADLINKAT_H
+/* This file uses HAVE_READLINKAT. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <fcntl.h>
#include <unistd.h>
diff --git a/lib/count-leading-zeros.h b/lib/count-leading-zeros.h
index 99151d695bf..9fe2a03ee09 100644
--- a/lib/count-leading-zeros.h
+++ b/lib/count-leading-zeros.h
@@ -19,12 +19,14 @@
#ifndef COUNT_LEADING_ZEROS_H
#define COUNT_LEADING_ZEROS_H 1
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <limits.h>
#include <stdlib.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef COUNT_LEADING_ZEROS_INLINE
# define COUNT_LEADING_ZEROS_INLINE _GL_INLINE
diff --git a/lib/count-one-bits.h b/lib/count-one-bits.h
index 01a60b77b85..2821a1fb75e 100644
--- a/lib/count-one-bits.h
+++ b/lib/count-one-bits.h
@@ -19,12 +19,14 @@
#ifndef COUNT_ONE_BITS_H
#define COUNT_ONE_BITS_H 1
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <limits.h>
#include <stdlib.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef COUNT_ONE_BITS_INLINE
# define COUNT_ONE_BITS_INLINE _GL_INLINE
diff --git a/lib/count-trailing-zeros.h b/lib/count-trailing-zeros.h
index ef8e164126a..9b33df76f6d 100644
--- a/lib/count-trailing-zeros.h
+++ b/lib/count-trailing-zeros.h
@@ -19,12 +19,14 @@
#ifndef COUNT_TRAILING_ZEROS_H
#define COUNT_TRAILING_ZEROS_H 1
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <limits.h>
#include <stdlib.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef COUNT_TRAILING_ZEROS_INLINE
# define COUNT_TRAILING_ZEROS_INLINE _GL_INLINE
diff --git a/lib/diffseq.h b/lib/diffseq.h
index dfaf4f295e8..06e1465bf1b 100644
--- a/lib/diffseq.h
+++ b/lib/diffseq.h
@@ -48,6 +48,10 @@
OFFSET A signed integer type sufficient to hold the
difference between two indices. Usually
something like ptrdiff_t.
+ OFFSET_MAX (Optional) The maximum value of OFFSET (e.g.,
+ PTRDIFF_MAX). If omitted, it is inferred in a
+ way portable to the vast majority of C platforms,
+ as they lack padding bits.
EXTRA_CONTEXT_FIELDS Declarations of fields for 'struct context'.
NOTE_DELETE(ctxt, xoff) Record the removal of the object xvec[xoff].
NOTE_INSERT(ctxt, yoff) Record the insertion of the object yvec[yoff].
@@ -74,8 +78,10 @@
*/
/* Maximum value of type OFFSET. */
-#define OFFSET_MAX \
- ((((OFFSET)1 << (sizeof (OFFSET) * CHAR_BIT - 2)) - 1) * 2 + 1)
+#ifndef OFFSET_MAX
+# define OFFSET_MAX \
+ ((((OFFSET) 1 << (sizeof (OFFSET) * CHAR_BIT - 2)) - 1) * 2 + 1)
+#endif
/* Default to no early abort. */
#ifndef EARLY_ABORT
@@ -88,11 +94,17 @@
/* Use this to suppress gcc's "...may be used before initialized" warnings.
Beware: The Code argument must not contain commas. */
+#if __GNUC__ + (__GNUC_MINOR__ >= 7) > 4
+# pragma GCC diagnostic push
+#endif
#ifndef IF_LINT
# if defined GCC_LINT || defined lint
# define IF_LINT(Code) Code
# else
# define IF_LINT(Code) /* empty */
+# if __GNUC__ + (__GNUC_MINOR__ >= 7) > 4
+# pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+# endif
# endif
#endif
@@ -556,6 +568,10 @@ compareseq (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim,
#undef XREF_YREF_EQUAL
}
+#if __GNUC__ + (__GNUC_MINOR__ >= 7) > 4
+# pragma GCC diagnostic pop
+#endif
+
#undef ELEMENT
#undef EQUAL
#undef OFFSET
diff --git a/lib/dirent-private.h b/lib/dirent-private.h
new file mode 100644
index 00000000000..012b6837198
--- /dev/null
+++ b/lib/dirent-private.h
@@ -0,0 +1,67 @@
+/* Private details of the DIR type.
+ Copyright (C) 2011-2023 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _DIRENT_PRIVATE_H
+#define _DIRENT_PRIVATE_H 1
+
+#if HAVE_DIRENT_H /* mingw */
+
+# undef DIR
+
+struct gl_directory
+{
+ /* File descriptor to close during closedir().
+ Needed for implementing fdopendir(). */
+ int fd_to_close;
+ /* Pointer to the real DIR. */
+ DIR *real_dirp;
+};
+
+/* Restore definition from dirent.h. */
+# define DIR struct gl_directory
+
+#else /* MSVC */
+
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+/* Don't assume that UNICODE is not defined. */
+# undef WIN32_FIND_DATA
+# define WIN32_FIND_DATA WIN32_FIND_DATAA
+
+struct gl_directory
+{
+ /* File descriptor to close during closedir().
+ Needed for implementing fdopendir(). */
+ int fd_to_close;
+ /* Status, or error code to produce in next readdir() call.
+ -2 means the end of the directory is already reached,
+ -1 means the entry was already filled by FindFirstFile,
+ 0 means the entry needs to be filled using FindNextFile.
+ A positive value is an error code. */
+ int status;
+ /* Handle, reading the directory, at current position. */
+ HANDLE current;
+ /* Found directory entry. */
+ WIN32_FIND_DATA entry;
+ /* Argument to pass to FindFirstFile. It consists of the absolutized
+ directory name, followed by a directory separator and the wildcards. */
+ char dir_name_mask[1];
+};
+
+#endif
+
+#endif /* _DIRENT_PRIVATE_H */
diff --git a/lib/dirent.in.h b/lib/dirent.in.h
index 2aaabd054a8..d409a031ec8 100644
--- a/lib/dirent.in.h
+++ b/lib/dirent.in.h
@@ -29,6 +29,12 @@
#ifndef _@GUARD_PREFIX@_DIRENT_H
#define _@GUARD_PREFIX@_DIRENT_H
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get ino_t. Needed on some systems, including glibc 2.8. */
#include <sys/types.h>
@@ -50,11 +56,24 @@ struct dirent
# define DT_LNK 10 /* symbolic link */
# define DT_SOCK 12 /* socket */
# define DT_WHT 14 /* whiteout */
-typedef struct gl_directory DIR;
# define GNULIB_defined_struct_dirent 1
# endif
#endif
+#if !@DIR_HAS_FD_MEMBER@
+# if !GNULIB_defined_DIR
+/* struct gl_directory is a type with a field 'int fd_to_close'.
+ It is needed for implementing fdopendir(). */
+struct gl_directory;
+# if @HAVE_DIRENT_H@
+# define DIR struct gl_directory
+# else
+typedef struct gl_directory DIR;
+# endif
+# define GNULIB_defined_DIR 1
+# endif
+#endif
+
/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
that can be freed by passing them as the Ith argument to the
function F. */
@@ -143,7 +162,7 @@ _GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name));
# endif
_GL_CXXALIASWARN (opendir);
#else
-# if @GNULIB_CLOSEDIR@ && __GNUC__ >= 11 && !defined opendir
+# if @GNULIB_CLOSEDIR@ && !GNULIB_defined_DIR && __GNUC__ >= 11 && !defined opendir
/* For -Wmismatched-dealloc: Associate opendir with closedir or
rpl_closedir. */
_GL_FUNCDECL_SYS (opendir, DIR *,
@@ -161,10 +180,19 @@ _GL_WARN_ON_USE (opendir, "opendir is not portable - "
#endif
#if @GNULIB_READDIR@
-# if !@HAVE_READDIR@
+# if @REPLACE_READDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef readdir
+# define readdir rpl_readdir
+# endif
+_GL_FUNCDECL_RPL (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (readdir, struct dirent *, (DIR *dirp));
+# else
+# if !@HAVE_READDIR@
_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp));
+# endif
_GL_CXXALIASWARN (readdir);
#elif defined GNULIB_POSIXCHECK
# undef readdir
@@ -175,10 +203,19 @@ _GL_WARN_ON_USE (readdir, "readdir is not portable - "
#endif
#if @GNULIB_REWINDDIR@
-# if !@HAVE_REWINDDIR@
+# if @REPLACE_REWINDDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef rewinddir
+# define rewinddir rpl_rewinddir
+# endif
+_GL_FUNCDECL_RPL (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (rewinddir, void, (DIR *dirp));
+# else
+# if !@HAVE_REWINDDIR@
_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp));
+# endif
_GL_CXXALIASWARN (rewinddir);
#elif defined GNULIB_POSIXCHECK
# undef rewinddir
diff --git a/lib/dirfd.c b/lib/dirfd.c
index b2b1d25cdbd..75b2163c353 100644
--- a/lib/dirfd.c
+++ b/lib/dirfd.c
@@ -22,6 +22,10 @@
#include <dirent.h>
#include <errno.h>
+#if GNULIB_defined_DIR
+# include "dirent-private.h"
+#endif
+
#ifdef __KLIBC__
# include <stdlib.h>
# include <io.h>
@@ -78,11 +82,17 @@ _gl_unregister_dirp_fd (int fd)
int
dirfd (DIR *dir_p)
{
+#if GNULIB_defined_DIR
+ int fd = dir_p->fd_to_close;
+ if (fd == -1)
+ errno = EINVAL;
+ return fd;
+#else
int fd = DIR_TO_FD (dir_p);
if (fd == -1)
-#ifndef __KLIBC__
+# ifndef __KLIBC__
errno = ENOTSUP;
-#else
+# else
{
struct dirp_fd_list *dirp_fd;
@@ -92,7 +102,8 @@ dirfd (DIR *dir_p)
errno = EINVAL;
}
-#endif
+# endif
return fd;
+#endif
}
diff --git a/lib/eloop-threshold.h b/lib/eloop-threshold.h
index 510f261795d..d9b154e4868 100644
--- a/lib/eloop-threshold.h
+++ b/lib/eloop-threshold.h
@@ -19,6 +19,11 @@
#ifndef _ELOOP_THRESHOLD_H
#define _ELOOP_THRESHOLD_H 1
+/* This file uses _GL_ATTRIBUTE_CONST. */
+#if !_LIBC && !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <limits.h>
#ifdef _LIBC
# include <sys/param.h>
diff --git a/lib/execinfo.in.h b/lib/execinfo.in.h
index ff9293b6327..56b04d1d862 100644
--- a/lib/execinfo.in.h
+++ b/lib/execinfo.in.h
@@ -20,9 +20,11 @@
#ifndef _GL_EXECINFO_H
#define _GL_EXECINFO_H
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_EXECINFO_INLINE
# define _GL_EXECINFO_INLINE _GL_INLINE
diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h
index e034eaf9f5a..d0bb85f30b5 100644
--- a/lib/fcntl.in.h
+++ b/lib/fcntl.in.h
@@ -74,6 +74,11 @@
#ifndef _@GUARD_PREFIX@_FCNTL_H
#define _@GUARD_PREFIX@_FCNTL_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */
# include <unistd.h>
#endif
diff --git a/lib/fdopendir.c b/lib/fdopendir.c
index aa841e3e819..0f43d6ff349 100644
--- a/lib/fdopendir.c
+++ b/lib/fdopendir.c
@@ -25,44 +25,27 @@
#if !HAVE_FDOPENDIR
-# include "openat.h"
-# include "openat-priv.h"
-# include "save-cwd.h"
+# if GNULIB_defined_DIR
+/* We are in control of the file descriptor of a DIR. */
-# if GNULIB_DIRENT_SAFER
-# include "dirent--.h"
-# endif
-
-# ifndef REPLACE_FCHDIR
-# define REPLACE_FCHDIR 0
-# endif
-
-static DIR *fdopendir_with_dup (int, int, struct saved_cwd const *);
-static DIR *fd_clone_opendir (int, struct saved_cwd const *);
-
-/* Replacement for POSIX fdopendir.
+# include "dirent-private.h"
- First, try to simulate it via opendir ("/proc/self/fd/..."). Failing
- that, simulate it by using fchdir metadata, or by doing
- save_cwd/fchdir/opendir(".")/restore_cwd.
- If either the save_cwd or the restore_cwd fails (relatively unlikely),
- then give a diagnostic and exit nonzero.
-
- If successful, the resulting stream is based on FD in
- implementations where streams are based on file descriptors and in
- applications where no other thread or signal handler allocates or
- frees file descriptors. In other cases, consult dirfd on the result
- to find out whether FD is still being used.
+# if !REPLACE_FCHDIR
+# error "unexpected configuration: GNULIB_defined_DIR but fchdir not replaced"
+# endif
- Otherwise, this function works just like POSIX fdopendir.
+DIR *
+fdopendir (int fd)
+{
+ char const *name = _gl_directory_name (fd);
+ DIR *dirp = name ? opendir (name) : NULL;
+ if (dirp != NULL)
+ dirp->fd_to_close = fd;
+ return dirp;
+}
- W A R N I N G:
+# elif defined __KLIBC__
- Unlike other fd-related functions, this one places constraints on FD.
- If this function returns successfully, FD is under control of the
- dirent.h system, and the caller should not close or modify the state of
- FD other than by the dirent.h functions. */
-# ifdef __KLIBC__
# include <InnoTekLIBC/backend.h>
DIR *
@@ -96,7 +79,48 @@ fdopendir (int fd)
return dirp;
}
+
# else
+/* We are not in control of the file descriptor of a DIR, and therefore have to
+ play tricks with file descriptors before and after a call to opendir(). */
+
+# include "openat.h"
+# include "openat-priv.h"
+# include "save-cwd.h"
+
+# if GNULIB_DIRENT_SAFER
+# include "dirent--.h"
+# endif
+
+# ifndef REPLACE_FCHDIR
+# define REPLACE_FCHDIR 0
+# endif
+
+static DIR *fdopendir_with_dup (int, int, struct saved_cwd const *);
+static DIR *fd_clone_opendir (int, struct saved_cwd const *);
+
+/* Replacement for POSIX fdopendir.
+
+ First, try to simulate it via opendir ("/proc/self/fd/..."). Failing
+ that, simulate it by using fchdir metadata, or by doing
+ save_cwd/fchdir/opendir(".")/restore_cwd.
+ If either the save_cwd or the restore_cwd fails (relatively unlikely),
+ then give a diagnostic and exit nonzero.
+
+ If successful, the resulting stream is based on FD in
+ implementations where streams are based on file descriptors and in
+ applications where no other thread or signal handler allocates or
+ frees file descriptors. In other cases, consult dirfd on the result
+ to find out whether FD is still being used.
+
+ Otherwise, this function works just like POSIX fdopendir.
+
+ W A R N I N G:
+
+ Unlike other fd-related functions, this one places constraints on FD.
+ If this function returns successfully, FD is under control of the
+ dirent.h system, and the caller should not close or modify the state of
+ FD other than by the dirent.h functions. */
DIR *
fdopendir (int fd)
{
@@ -119,7 +143,6 @@ fdopendir (int fd)
return dir;
}
-# endif
/* Like fdopendir, except that if OLDER_DUPFD is not -1, it is known
to be a dup of FD which is less than FD - 1 and which will be
@@ -188,7 +211,7 @@ fd_clone_opendir (int fd, struct saved_cwd const *cwd)
if (proc_file != buf)
free (proc_file);
}
-# if REPLACE_FCHDIR
+# if REPLACE_FCHDIR
if (! dir && EXPECTED_ERRNO (saved_errno))
{
char const *name = _gl_directory_name (fd);
@@ -203,7 +226,7 @@ fd_clone_opendir (int fd, struct saved_cwd const *cwd)
return dp;
}
-# endif
+# endif
errno = saved_errno;
return dir;
}
@@ -223,6 +246,8 @@ fd_clone_opendir (int fd, struct saved_cwd const *cwd)
}
}
+# endif
+
#else /* HAVE_FDOPENDIR */
# include <errno.h>
diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c
index b31a2ea2523..3eeaf9c57d1 100644
--- a/lib/file-has-acl.c
+++ b/lib/file-has-acl.c
@@ -28,8 +28,11 @@
#include "acl.h"
#include "acl-internal.h"
+#include "attribute.h"
+#include "minmax.h"
-#if USE_ACL && GETXATTR_WITH_POSIX_ACLS
+#if USE_ACL && HAVE_LINUX_XATTR_H && HAVE_LISTXATTR
+# include <stdckdint.h>
# include <string.h>
# include <arpa/inet.h>
# include <sys/xattr.h>
@@ -37,6 +40,12 @@
# ifndef XATTR_NAME_NFSV4_ACL
# define XATTR_NAME_NFSV4_ACL "system.nfs4_acl"
# endif
+# ifndef XATTR_NAME_POSIX_ACL_ACCESS
+# define XATTR_NAME_POSIX_ACL_ACCESS "system.posix_acl_access"
+# endif
+# ifndef XATTR_NAME_POSIX_ACL_DEFAULT
+# define XATTR_NAME_POSIX_ACL_DEFAULT "system.posix_acl_default"
+# endif
enum {
/* ACE4_ACCESS_ALLOWED_ACE_TYPE = 0x00000000, */
@@ -44,6 +53,20 @@ enum {
ACE4_IDENTIFIER_GROUP = 0x00000040
};
+/* Return true if ATTR is in the set represented by the NUL-terminated
+ strings in LISTBUF, which is of size LISTSIZE. */
+
+ATTRIBUTE_PURE static bool
+have_xattr (char const *attr, char const *listbuf, ssize_t listsize)
+{
+ char const *blim = listbuf + listsize;
+ for (char const *b = listbuf; b < blim; b += strlen (b) + 1)
+ for (char const *a = attr; *a == *b; a++, b++)
+ if (!*a)
+ return true;
+ return false;
+}
+
/* Return 1 if given ACL in XDR format is non-trivial, 0 if it is trivial.
-1 upon failure to determine it. Possibly change errno. Assume that
the ACL is valid, except avoid undefined behavior even if invalid.
@@ -137,37 +160,77 @@ file_has_acl (char const *name, struct stat const *sb)
if (! S_ISLNK (sb->st_mode))
{
-# if GETXATTR_WITH_POSIX_ACLS
-
- ssize_t ret;
+# if HAVE_LINUX_XATTR_H && HAVE_LISTXATTR
int initial_errno = errno;
- ret = getxattr (name, XATTR_NAME_POSIX_ACL_ACCESS, NULL, 0);
- if (ret < 0 && errno == ENODATA)
- ret = 0;
- else if (ret > 0)
- return 1;
-
- if (ret == 0 && S_ISDIR (sb->st_mode))
+ /* The max length of a trivial NFSv4 ACL is 6 words for owner,
+ 6 for group, 7 for everyone, all times 2 because there are
+ both allow and deny ACEs. There are 6 words for owner
+ because of type, flag, mask, wholen, "OWNER@"+pad and
+ similarly for group; everyone is another word to hold
+ "EVERYONE@". */
+ typedef uint32_t trivial_NFSv4_xattr_buf[2 * (6 + 6 + 7)];
+
+ /* A buffer large enough to hold any trivial NFSv4 ACL,
+ and also useful as a small array of char. */
+ union {
+ trivial_NFSv4_xattr_buf xattr;
+ char ch[sizeof (trivial_NFSv4_xattr_buf)];
+ } stackbuf;
+
+ char *listbuf = stackbuf.ch;
+ ssize_t listbufsize = sizeof stackbuf.ch;
+ char *heapbuf = NULL;
+ ssize_t listsize;
+
+ /* Use listxattr first, as this means just one syscall in the
+ typical case where the file lacks an ACL. Try stackbuf
+ first, falling back on malloc if stackbuf is too small. */
+ while ((listsize = listxattr (name, listbuf, listbufsize)) < 0
+ && errno == ERANGE)
{
- ret = getxattr (name, XATTR_NAME_POSIX_ACL_DEFAULT, NULL, 0);
- if (ret < 0 && errno == ENODATA)
- ret = 0;
- else if (ret > 0)
- return 1;
+ free (heapbuf);
+ ssize_t newsize = listxattr (name, NULL, 0);
+ if (newsize <= 0)
+ return newsize;
+
+ /* Grow LISTBUFSIZE to at least NEWSIZE. Grow it by a
+ nontrivial amount too, to defend against denial of
+ service by an adversary that fiddles with ACLs. */
+ bool overflow = ckd_add (&listbufsize, listbufsize, listbufsize >> 1);
+ listbufsize = MAX (listbufsize, newsize);
+ if (overflow || SIZE_MAX < listbufsize)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+
+ listbuf = heapbuf = malloc (listbufsize);
+ if (!listbuf)
+ return -1;
}
- if (ret < 0)
+ /* In Fedora 39, a file can have both NFSv4 and POSIX ACLs,
+ but if it has an NFSv4 ACL that's the one that matters.
+ In earlier Fedora the two types of ACLs were mutually exclusive.
+ Attempt to work correctly on both kinds of systems. */
+ bool nfsv4_acl
+ = 0 < listsize && have_xattr (XATTR_NAME_NFSV4_ACL, listbuf, listsize);
+ int ret
+ = (listsize <= 0 ? listsize
+ : (nfsv4_acl
+ || have_xattr (XATTR_NAME_POSIX_ACL_ACCESS, listbuf, listsize)
+ || (S_ISDIR (sb->st_mode)
+ && have_xattr (XATTR_NAME_POSIX_ACL_DEFAULT,
+ listbuf, listsize))));
+ free (heapbuf);
+
+ /* If there is an NFSv4 ACL, follow up with a getxattr syscall
+ to see whether the NFSv4 ACL is nontrivial. */
+ if (nfsv4_acl)
{
- /* Check for NFSv4 ACLs. The max length of a trivial
- ACL is 6 words for owner, 6 for group, 7 for everyone,
- all times 2 because there are both allow and deny ACEs.
- There are 6 words for owner because of type, flag, mask,
- wholen, "OWNER@"+pad and similarly for group; everyone is
- another word to hold "EVERYONE@". */
- uint32_t xattr[2 * (6 + 6 + 7)];
-
- ret = getxattr (name, XATTR_NAME_NFSV4_ACL, xattr, sizeof xattr);
+ ret = getxattr (name, XATTR_NAME_NFSV4_ACL,
+ stackbuf.xattr, sizeof stackbuf.xattr);
if (ret < 0)
switch (errno)
{
@@ -177,7 +240,7 @@ file_has_acl (char const *name, struct stat const *sb)
else
{
/* It looks like a trivial ACL, but investigate further. */
- ret = acl_nfs4_nontrivial (xattr, ret);
+ ret = acl_nfs4_nontrivial (stackbuf.xattr, ret);
if (ret < 0)
{
errno = EINVAL;
diff --git a/lib/filemode.h b/lib/filemode.h
index 15a8dcc3760..3e1d9903eac 100644
--- a/lib/filemode.h
+++ b/lib/filemode.h
@@ -17,6 +17,12 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */
#ifndef FILEMODE_H_
+# define FILEMODE_H_
+
+/* This file uses HAVE_DECL_STRMODE. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
# include <sys/types.h>
# include <sys/stat.h>
diff --git a/lib/filevercmp.h b/lib/filevercmp.h
index 6b81ab32a7f..9e052bdd08c 100644
--- a/lib/filevercmp.h
+++ b/lib/filevercmp.h
@@ -20,6 +20,11 @@
#ifndef FILEVERCMP_H
#define FILEVERCMP_H
+/* This file uses _GL_ATTRIBUTE_PURE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
/* Compare strings A and B as file names containing version numbers,
diff --git a/lib/flexmember.h b/lib/flexmember.h
index a6cc876a6d5..8df44195392 100644
--- a/lib/flexmember.h
+++ b/lib/flexmember.h
@@ -20,6 +20,11 @@
Written by Paul Eggert. */
+/* This file uses _Alignof. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
/* Nonzero multiple of alignment of TYPE, suitable for FLEXSIZEOF below.
@@ -38,7 +43,7 @@
followed by N bytes of other data. The result is suitable as an
argument to malloc. For example:
- struct s { int n; char d[FLEXIBLE_ARRAY_MEMBER]; };
+ struct s { int a; char d[FLEXIBLE_ARRAY_MEMBER]; };
struct s *p = malloc (FLEXSIZEOF (struct s, d, n * sizeof (char)));
FLEXSIZEOF (TYPE, MEMBER, N) is not simply (sizeof (TYPE) + N),
@@ -58,3 +63,14 @@
#define FLEXSIZEOF(type, member, n) \
((offsetof (type, member) + FLEXALIGNOF (type) - 1 + (n)) \
& ~ (FLEXALIGNOF (type) - 1))
+
+/* Yield a properly aligned upper bound on the size of a struct of
+ type TYPE with a flexible array member named MEMBER that has N
+ elements. The result is suitable as an argument to malloc.
+ For example:
+
+ struct s { int a; double d[FLEXIBLE_ARRAY_MEMBER]; };
+ struct s *p = malloc (FLEXNSIZEOF (struct s, d, n));
+ */
+#define FLEXNSIZEOF(type, member, n) \
+ FLEXSIZEOF (type, member, (n) * sizeof (((type *) 0)->member[0]))
diff --git a/lib/fpending.h b/lib/fpending.h
index 5e860db6810..1604ca0b7af 100644
--- a/lib/fpending.h
+++ b/lib/fpending.h
@@ -18,6 +18,12 @@
Written by Jim Meyering. */
+/* This file uses _GL_ATTRIBUTE_PURE, HAVE_STDIO_EXT_H,
+ HAVE_DECL___FPENDING. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
#include <stdio.h>
#if HAVE_STDIO_EXT_H
diff --git a/lib/gettime.c b/lib/gettime.c
index f86cc4efbff..ec40ff903e1 100644
--- a/lib/gettime.c
+++ b/lib/gettime.c
@@ -35,8 +35,8 @@ gettime (struct timespec *ts)
#else
struct timeval tv;
gettimeofday (&tv, NULL);
- ts->tv_sec = tv.tv_sec;
- ts->tv_nsec = tv.tv_usec * 1000;
+ *ts = (struct timespec) { .tv_sec = tv.tv_sec,
+ .tv_nsec = tv.tv_usec * 1000 };
#endif
}
diff --git a/lib/gettimeofday.c b/lib/gettimeofday.c
index d896ec132b9..c71629cbc57 100644
--- a/lib/gettimeofday.c
+++ b/lib/gettimeofday.c
@@ -113,8 +113,10 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
ULONGLONG since_1970 =
since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000;
ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10;
- tv->tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000;
- tv->tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000;
+ *tv = (struct timeval) {
+ .tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000,
+ .tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000
+ };
return 0;
@@ -127,10 +129,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
struct timeval otv;
int result = gettimeofday (&otv, (struct timezone *) tz);
if (result == 0)
- {
- tv->tv_sec = otv.tv_sec;
- tv->tv_usec = otv.tv_usec;
- }
+ *tv = otv;
# else
int result = gettimeofday (tv, (struct timezone *) tz);
# endif
@@ -143,8 +142,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
# error "Only 1-second nominal clock resolution found. Is that intended?" \
"If so, compile with the -DOK_TO_USE_1S_CLOCK option."
# endif
- tv->tv_sec = time (NULL);
- tv->tv_usec = 0;
+ *tv = (struct timeval) { .tv_sec = time (NULL), .tv_usec = 0 };
return 0;
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in
index 47d08a5e27f..a25bee25aae 100644
--- a/lib/gnulib.mk.in
+++ b/lib/gnulib.mk.in
@@ -147,6 +147,7 @@
# stat-time \
# std-gnu11 \
# stdbool \
+# stdckdint \
# stddef \
# stdio \
# stpcpy \
@@ -167,7 +168,8 @@
# update-copyright \
# utimensat \
# vla \
-# warnings
+# warnings \
+# year2038
MOSTLYCLEANFILES += core *.stackdump
@@ -221,6 +223,7 @@ DBUS_LIBS = @DBUS_LIBS@
DBUS_OBJ = @DBUS_OBJ@
DEFS = @DEFS@
DESLIB = @DESLIB@
+DIR_HAS_FD_MEMBER = @DIR_HAS_FD_MEMBER@
DOCMISC_W32 = @DOCMISC_W32@
DUMPING = @DUMPING@
DYNAMIC_LIB_SECONDARY_SUFFIX = @DYNAMIC_LIB_SECONDARY_SUFFIX@
@@ -444,6 +447,7 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -689,6 +693,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
HAVE_DECL_POSIX_SPAWN_SETSID = @HAVE_DECL_POSIX_SPAWN_SETSID@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
@@ -956,6 +961,7 @@ LIB_WSOCK32 = @LIB_WSOCK32@
LIB_XATTR = @LIB_XATTR@
LIMITS_H = @LIMITS_H@
LN_S_FILEONLY = @LN_S_FILEONLY@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LTLIBGMP = @LTLIBGMP@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
@@ -1127,7 +1133,9 @@ REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
@@ -1164,6 +1172,7 @@ REPLACE_RAISE = @REPLACE_RAISE@
REPLACE_RANDOM = @REPLACE_RANDOM@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
+REPLACE_READDIR = @REPLACE_READDIR@
REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
@@ -1173,6 +1182,7 @@ REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_REWINDDIR = @REPLACE_REWINDDIR@
REPLACE_RMDIR = @REPLACE_RMDIR@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
@@ -1732,6 +1742,7 @@ dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+ -e 's/@''DIR_HAS_FD_MEMBER''@/$(DIR_HAS_FD_MEMBER)/g' \
-e 's/@''GNULIB_OPENDIR''@/$(GL_GNULIB_OPENDIR)/g' \
-e 's/@''GNULIB_READDIR''@/$(GL_GNULIB_READDIR)/g' \
-e 's/@''GNULIB_REWINDDIR''@/$(GL_GNULIB_REWINDDIR)/g' \
@@ -1750,6 +1761,8 @@ dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
-e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
-e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
+ -e 's|@''REPLACE_READDIR''@|$(REPLACE_READDIR)|g' \
+ -e 's|@''REPLACE_REWINDDIR''@|$(REPLACE_REWINDDIR)|g' \
-e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
-e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
-e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
@@ -1774,6 +1787,8 @@ libgnu_a_SOURCES += dirfd.c
endif
endif
+EXTRA_DIST += dirent-private.h
+
endif
## end gnulib module dirfd
@@ -1974,6 +1989,8 @@ ifneq (,$(GL_COND_OBJ_FDOPENDIR_CONDITION))
libgnu_a_SOURCES += fdopendir.c
endif
+EXTRA_DIST += dirent-private.h
+
endif
## end gnulib module fdopendir
@@ -3209,6 +3226,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \
-e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \
-e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \
-e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \
-e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \
-e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \
@@ -3254,6 +3272,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
-e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
-e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
@@ -3302,6 +3321,8 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
-e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
-e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+ -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+ -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
-e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h
index 5b7ef12dc7e..22643876ab3 100644
--- a/lib/inttypes.in.h
+++ b/lib/inttypes.in.h
@@ -46,6 +46,11 @@
#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
#define INTTYPES_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Include <stdint.h> or the gnulib replacement.
But avoid namespace pollution on glibc systems. */
#ifndef __GLIBC__
diff --git a/lib/limits.in.h b/lib/limits.in.h
index a01b4c6a280..1d479c3d192 100644
--- a/lib/limits.in.h
+++ b/lib/limits.in.h
@@ -99,6 +99,11 @@
# endif
#endif
+/* Assume no multibyte character is longer than 16 bytes. */
+#ifndef MB_LEN_MAX
+# define MB_LEN_MAX 16
+#endif
+
/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */
#if (! defined ULLONG_WIDTH \
@@ -129,6 +134,18 @@
# endif
#endif
+/* Macro specified by POSIX. */
+
+/* The maximal size_t value. Although it might not be of ssize_t type
+ as it should be, it's too much trouble to fix this minor detail. */
+#ifndef SSIZE_MAX
+# ifdef _WIN64
+# define SSIZE_MAX LLONG_MAX
+# else
+# define SSIZE_MAX LONG_MAX
+# endif
+#endif
+
#endif /* _@GUARD_PREFIX@_LIMITS_H */
#endif /* _@GUARD_PREFIX@_LIMITS_H */
#endif
diff --git a/lib/malloc/dynarray_emplace_enlarge.c b/lib/malloc/dynarray_emplace_enlarge.c
index 7da539316c1..65aabb1e4a5 100644
--- a/lib/malloc/dynarray_emplace_enlarge.c
+++ b/lib/malloc/dynarray_emplace_enlarge.c
@@ -22,7 +22,7 @@
#include <dynarray.h>
#include <errno.h>
-#include <intprops.h>
+#include <stdckdint.h>
#include <stdlib.h>
#include <string.h>
@@ -56,7 +56,7 @@ __libc_dynarray_emplace_enlarge (struct dynarray_header *list,
}
size_t new_size;
- if (INT_MULTIPLY_WRAPV (new_allocated, element_size, &new_size))
+ if (ckd_mul (&new_size, new_allocated, element_size))
return false;
void *new_array;
if (list->array == scratch)
diff --git a/lib/malloc/dynarray_resize.c b/lib/malloc/dynarray_resize.c
index 7ecd4de63b9..014f98c330e 100644
--- a/lib/malloc/dynarray_resize.c
+++ b/lib/malloc/dynarray_resize.c
@@ -22,7 +22,7 @@
#include <dynarray.h>
#include <errno.h>
-#include <intprops.h>
+#include <stdckdint.h>
#include <stdlib.h>
#include <string.h>
@@ -42,7 +42,7 @@ __libc_dynarray_resize (struct dynarray_header *list, size_t size,
over-allocation here. */
size_t new_size_bytes;
- if (INT_MULTIPLY_WRAPV (size, element_size, &new_size_bytes))
+ if (ckd_mul (&new_size_bytes, size, element_size))
{
/* Overflow. */
__set_errno (ENOMEM);
diff --git a/lib/md5.h b/lib/md5.h
index f34e7cb8dfa..92dc6038988 100644
--- a/lib/md5.h
+++ b/lib/md5.h
@@ -20,6 +20,11 @@
#ifndef _MD5_H
#define _MD5_H 1
+/* This file uses HAVE_OPENSSL_MD5. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stdio.h>
#include <stdint.h>
diff --git a/lib/minmax.h b/lib/minmax.h
index 1fbfc6616cf..0ac40198e24 100644
--- a/lib/minmax.h
+++ b/lib/minmax.h
@@ -23,6 +23,11 @@
MIN, MAX macro redefinitions on some systems; the workaround is to
#include this file as the last one among the #include list. */
+/* This file uses HAVE_MINMAX_IN_LIMITS_H, HAVE_MINMAX_IN_SYS_PARAM_H. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Before we define the following symbols we get the <limits.h> file
since otherwise we get redefinitions on some systems if <limits.h> is
included after this file. Likewise for <sys/param.h>.
diff --git a/lib/mktime.c b/lib/mktime.c
index 94a4320e6ca..8e80bcdbd16 100644
--- a/lib/mktime.c
+++ b/lib/mktime.c
@@ -46,6 +46,7 @@
#include <errno.h>
#include <limits.h>
#include <stdbool.h>
+#include <stdckdint.h>
#include <stdlib.h>
#include <string.h>
@@ -379,7 +380,7 @@ __mktime_internal (struct tm *tp,
/* Invert CONVERT by probing. First assume the same offset as last
time. */
- INT_SUBTRACT_WRAPV (0, off, &negative_offset_guess);
+ ckd_sub (&negative_offset_guess, 0, off);
long_int t0 = ydhms_diff (year, yday, hour, min, sec,
EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0,
negative_offset_guess);
@@ -465,7 +466,7 @@ __mktime_internal (struct tm *tp,
for (direction = -1; direction <= 1; direction += 2)
{
long_int ot;
- if (! INT_ADD_WRAPV (t, delta * direction, &ot))
+ if (! ckd_add (&ot, t, delta * direction))
{
struct tm otm;
if (! ranged_convert (convert, &ot, &otm))
@@ -503,8 +504,8 @@ __mktime_internal (struct tm *tp,
/* Set *OFFSET to the low-order bits of T - T0 - NEGATIVE_OFFSET_GUESS.
This is just a heuristic to speed up the next mktime call, and
correctness is unaffected if integer overflow occurs here. */
- INT_SUBTRACT_WRAPV (t, t0, offset);
- INT_SUBTRACT_WRAPV (*offset, negative_offset_guess, offset);
+ ckd_sub (offset, t, t0);
+ ckd_sub (offset, *offset, negative_offset_guess);
if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec)
{
@@ -513,7 +514,7 @@ __mktime_internal (struct tm *tp,
long_int sec_adjustment = sec == 0 && tm.tm_sec == 60;
sec_adjustment -= sec;
sec_adjustment += sec_requested;
- if (INT_ADD_WRAPV (t, sec_adjustment, &t)
+ if (ckd_add (&t, t, sec_adjustment)
|| ! (mktime_min <= t && t <= mktime_max))
{
__set_errno (EOVERFLOW);
diff --git a/lib/nanosleep.c b/lib/nanosleep.c
index 3f295f49b5d..10974df461e 100644
--- a/lib/nanosleep.c
+++ b/lib/nanosleep.c
@@ -60,8 +60,7 @@ nanosleep (const struct timespec *requested_delay,
static_assert (TYPE_MAXIMUM (time_t) / 24 / 24 / 60 / 60);
const time_t limit = 24 * 24 * 60 * 60;
time_t seconds = requested_delay->tv_sec;
- struct timespec intermediate;
- intermediate.tv_nsec = requested_delay->tv_nsec;
+ struct timespec intermediate = *requested_delay;
while (limit < seconds)
{
diff --git a/lib/nstrftime.c b/lib/nstrftime.c
index 68bb560910d..c4bef575fcd 100644
--- a/lib/nstrftime.c
+++ b/lib/nstrftime.c
@@ -62,6 +62,7 @@ extern char *tzname[];
#endif
#include <limits.h>
+#include <stdckdint.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
@@ -226,15 +227,6 @@ extern char *tzname[];
# undef __mbsrtowcs_l
# define __mbsrtowcs_l(d, s, l, st, loc) __mbsrtowcs (d, s, l, st)
# endif
-# define widen(os, ws, l) \
- { \
- mbstate_t __st; \
- const char *__s = os; \
- memset (&__st, '\0', sizeof (__st)); \
- l = __mbsrtowcs_l (NULL, &__s, 0, &__st, loc); \
- ws = (wchar_t *) alloca ((l + 1) * sizeof (wchar_t)); \
- (void) __mbsrtowcs_l (ws, &__s, l, &__st, loc); \
- }
#endif
@@ -284,6 +276,14 @@ extern char *tzname[];
more reliable way to accept other sets of digits. */
#define ISDIGIT(Ch) ((unsigned int) (Ch) - L_('0') <= 9)
+/* Avoid false GCC warning "'memset' specified size 18446744073709551615 exceeds
+ maximum object size 9223372036854775807", caused by insufficient data flow
+ analysis and value propagation of the 'width_add' expansion when GCC is not
+ optimizing. Cf. <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443>. */
+#if __GNUC__ >= 7 && !__OPTIMIZE__
+# pragma GCC diagnostic ignored "-Wstringop-overflow"
+#endif
+
#if FPRINTFTIME
static void
fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len)
@@ -684,8 +684,8 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
width = 0;
do
{
- if (INT_MULTIPLY_WRAPV (width, 10, &width)
- || INT_ADD_WRAPV (width, *f - L_('0'), &width))
+ if (ckd_mul (&width, width, 10)
+ || ckd_add (&width, width, *f - L_('0')))
width = INT_MAX;
++f;
}
@@ -1374,11 +1374,31 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
#ifdef COMPILE_WIDE
{
/* The zone string is always given in multibyte form. We have
- to transform it first. */
- wchar_t *wczone;
- size_t len;
- widen (zone, wczone, len);
- cpy (len, wczone);
+ to convert it to wide character. */
+ size_t w = pad == L_('-') || width < 0 ? 0 : width;
+ char const *z = zone;
+ mbstate_t st = {0};
+ size_t len = __mbsrtowcs_l (p, &z, maxsize - i, &st, loc);
+ if (len == (size_t) -1)
+ return 0;
+ size_t incr = len < w ? w : len;
+ if (incr >= maxsize - i)
+ {
+ errno = ERANGE;
+ return 0;
+ }
+ if (p)
+ {
+ if (len < w)
+ {
+ size_t delta = w - len;
+ __wmemmove (p + delta, p, len);
+ wchar_t wc = pad == L_('0') || pad == L_('+') ? L'0' : L' ';
+ wmemset (p, wc, delta);
+ }
+ p += incr;
+ }
+ i += incr;
}
#else
cpy (strlen (zone), zone);
diff --git a/lib/openat.h b/lib/openat.h
index 37d8eedbee4..97f066d10f8 100644
--- a/lib/openat.h
+++ b/lib/openat.h
@@ -19,15 +19,18 @@
#ifndef _GL_HEADER_OPENAT
#define _GL_HEADER_OPENAT
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _Noreturn,
+ _GL_ATTRIBUTE_DEPRECATED, HAVE_OPENAT. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#if !HAVE_OPENAT
diff --git a/lib/pathmax.h b/lib/pathmax.h
index 0dd8f3bc5ce..6930283b82a 100644
--- a/lib/pathmax.h
+++ b/lib/pathmax.h
@@ -39,6 +39,11 @@
#endif
*/
+/* This file uses HAVE_SYS_PARAM_H. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <unistd.h>
# include <limits.h>
diff --git a/lib/pselect.c b/lib/pselect.c
index f5d21e1048a..1b8c19130c2 100644
--- a/lib/pselect.c
+++ b/lib/pselect.c
@@ -45,6 +45,12 @@ pselect (int nfds, fd_set *restrict rfds,
sigset_t origmask;
struct timeval tv, *tvp;
+ if (nfds < 0 || nfds > FD_SETSIZE)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
if (timeout)
{
if (! (0 <= timeout->tv_nsec && timeout->tv_nsec < 1000000000))
@@ -53,8 +59,10 @@ pselect (int nfds, fd_set *restrict rfds,
return -1;
}
- tv.tv_sec = timeout->tv_sec;
- tv.tv_usec = (timeout->tv_nsec + 999) / 1000;
+ tv = (struct timeval) {
+ .tv_sec = timeout->tv_sec,
+ .tv_usec = (timeout->tv_nsec + 999) / 1000
+ };
tvp = &tv;
}
else
diff --git a/lib/regex_internal.h b/lib/regex_internal.h
index 149ec2e868a..7e35a112ec2 100644
--- a/lib/regex_internal.h
+++ b/lib/regex_internal.h
@@ -29,6 +29,7 @@
#include <locale.h>
#include <wchar.h>
#include <wctype.h>
+#include <stdckdint.h>
#include <stdint.h>
#ifndef _LIBC
@@ -150,9 +151,6 @@
as some non-GCC platforms lack them, an issue when this code is
used in Gnulib. */
-#ifndef SSIZE_MAX
-# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
-#endif
#ifndef ULONG_WIDTH
# define ULONG_WIDTH REGEX_UINTEGER_WIDTH (ULONG_MAX)
/* The number of usable bits in an unsigned integer type with maximum
@@ -822,7 +820,7 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx)
}
#ifdef _LIBC
-# if __GNUC__ >= 7
+# if __glibc_has_attribute (__fallthrough__)
# define FALLTHROUGH __attribute__ ((__fallthrough__))
# else
# define FALLTHROUGH ((void) 0)
diff --git a/lib/regexec.c b/lib/regexec.c
index 13e0349e727..f05f38ae0e0 100644
--- a/lib/regexec.c
+++ b/lib/regexec.c
@@ -324,7 +324,7 @@ re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1,
char *s = NULL;
if (__glibc_unlikely ((length1 < 0 || length2 < 0 || stop < 0
- || INT_ADD_WRAPV (length1, length2, &len))))
+ || ckd_add (&len, length1, length2))))
return -2;
/* Concatenate the strings. */
diff --git a/lib/sha1.h b/lib/sha1.h
index 5a58b567ceb..854213a9211 100644
--- a/lib/sha1.h
+++ b/lib/sha1.h
@@ -19,6 +19,11 @@
#ifndef SHA1_H
# define SHA1_H 1
+/* This file uses HAVE_OPENSSL_SHA1. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <stdio.h>
# include <stdint.h>
diff --git a/lib/sha256.h b/lib/sha256.h
index 2879477e89c..938b1067062 100644
--- a/lib/sha256.h
+++ b/lib/sha256.h
@@ -18,6 +18,11 @@
#ifndef SHA256_H
# define SHA256_H 1
+/* This file uses HAVE_OPENSSL_SHA256. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <stdio.h>
# include <stdint.h>
diff --git a/lib/sha512.h b/lib/sha512.h
index e3a98a2644c..f3465bc8a68 100644
--- a/lib/sha512.h
+++ b/lib/sha512.h
@@ -18,6 +18,11 @@
#ifndef SHA512_H
# define SHA512_H 1
+/* This file uses HAVE_OPENSSL_SHA512. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <stdio.h>
# include "u64.h"
diff --git a/lib/signal.in.h b/lib/signal.in.h
index fea12e6572d..418d59c582d 100644
--- a/lib/signal.in.h
+++ b/lib/signal.in.h
@@ -55,6 +55,11 @@
#ifndef _@GUARD_PREFIX@_SIGNAL_H
#define _@GUARD_PREFIX@_SIGNAL_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* For testing the OpenBSD version. */
#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
&& defined __OpenBSD__
diff --git a/lib/stat-time.h b/lib/stat-time.h
index 92aa1e64e20..75eb27e549d 100644
--- a/lib/stat-time.h
+++ b/lib/stat-time.h
@@ -20,15 +20,18 @@
#ifndef STAT_TIME_H
#define STAT_TIME_H 1
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_UNUSED,
+ _GL_ATTRIBUTE_PURE, HAVE_STRUCT_STAT_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <errno.h>
#include <stdckdint.h>
#include <stddef.h>
#include <sys/stat.h>
#include <time.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_STAT_TIME_INLINE
# define _GL_STAT_TIME_INLINE _GL_INLINE
@@ -119,10 +122,8 @@ get_stat_atime (struct stat const *st)
#ifdef STAT_TIMESPEC
return STAT_TIMESPEC (st, st_atim);
#else
- struct timespec t;
- t.tv_sec = st->st_atime;
- t.tv_nsec = get_stat_atime_ns (st);
- return t;
+ return (struct timespec) { .tv_sec = st->st_atime,
+ .tv_nsec = get_stat_atime_ns (st) };
#endif
}
@@ -133,10 +134,8 @@ get_stat_ctime (struct stat const *st)
#ifdef STAT_TIMESPEC
return STAT_TIMESPEC (st, st_ctim);
#else
- struct timespec t;
- t.tv_sec = st->st_ctime;
- t.tv_nsec = get_stat_ctime_ns (st);
- return t;
+ return (struct timespec) { .tv_sec = st->st_ctime,
+ .tv_nsec = get_stat_ctime_ns (st) };
#endif
}
@@ -147,10 +146,8 @@ get_stat_mtime (struct stat const *st)
#ifdef STAT_TIMESPEC
return STAT_TIMESPEC (st, st_mtim);
#else
- struct timespec t;
- t.tv_sec = st->st_mtime;
- t.tv_nsec = get_stat_mtime_ns (st);
- return t;
+ return (struct timespec) { .tv_sec = st->st_mtime,
+ .tv_nsec = get_stat_mtime_ns (st) };
#endif
}
@@ -165,8 +162,8 @@ get_stat_birthtime (_GL_UNUSED struct stat const *st)
|| defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC)
t = STAT_TIMESPEC (st, st_birthtim);
#elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
- t.tv_sec = st->st_birthtime;
- t.tv_nsec = st->st_birthtimensec;
+ t = (struct timespec) { .tv_sec = st->st_birthtime,
+ .tv_nsec = st->st_birthtimensec };
#elif defined _WIN32 && ! defined __CYGWIN__
/* Native Windows platforms (but not Cygwin) put the "file creation
time" in st_ctime (!). See
@@ -174,13 +171,11 @@ get_stat_birthtime (_GL_UNUSED struct stat const *st)
# if _GL_WINDOWS_STAT_TIMESPEC
t = st->st_ctim;
# else
- t.tv_sec = st->st_ctime;
- t.tv_nsec = 0;
+ t = (struct timespec) { .tv_sec = st->st_ctime };
# endif
#else
/* Birth time is not supported. */
- t.tv_sec = -1;
- t.tv_nsec = -1;
+ t = (struct timespec) { .tv_sec = -1, .tv_nsec = -1 };
#endif
#if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
@@ -192,10 +187,7 @@ get_stat_birthtime (_GL_UNUSED struct stat const *st)
sometimes returns junk in the birth time fields; work around this
bug if it is detected. */
if (! (t.tv_sec && 0 <= t.tv_nsec && t.tv_nsec < 1000000000))
- {
- t.tv_sec = -1;
- t.tv_nsec = -1;
- }
+ t = (struct timespec) { .tv_sec = -1, .tv_nsec = -1 };
#endif
return t;
@@ -229,8 +221,7 @@ stat_time_normalize (int result, _GL_UNUSED struct stat *st)
}
ts->tv_nsec = r;
/* Overflow is possible, as Solaris 11 stat can yield
- tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000.
- INT_ADD_WRAPV is OK, since time_t is signed on Solaris. */
+ tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000. */
if (ckd_add (&ts->tv_sec, q, ts->tv_sec))
{
errno = EOVERFLOW;
diff --git a/lib/stddef.in.h b/lib/stddef.in.h
index 6eadcc3d5a4..431e819b8bf 100644
--- a/lib/stddef.in.h
+++ b/lib/stddef.in.h
@@ -18,7 +18,7 @@
/* Written by Eric Blake. */
/*
- * POSIX 2008 <stddef.h> for platforms that have issues.
+ * POSIX 2008 and ISO C 23 <stddef.h> for platforms that have issues.
* <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html>
*/
@@ -37,9 +37,9 @@
remember if special invocation has ever been used to obtain wint_t,
in which case we need to clean up NULL yet again. */
-# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
+# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _@GUARD_PREFIX@_STDDEF_WINT_T)
# ifdef __need_wint_t
-# define _GL_STDDEF_WINT_T
+# define _@GUARD_PREFIX@_STDDEF_WINT_T
# endif
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
/* On TinyCC, make sure that the macros that indicate the special invocation
@@ -69,6 +69,7 @@ typedef long rpl_max_align_t;
typedef long max_align_t;
# define _MAX_ALIGN_T
# endif
+# define __CLANG_MAX_ALIGN_T_DEFINED
# define GNULIB_defined_max_align_t 1
# endif
# endif
@@ -79,7 +80,7 @@ typedef long max_align_t;
/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */
# if (@REPLACE_NULL@ \
- && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T))
+ && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _@GUARD_PREFIX@_STDDEF_WINT_T))
# undef NULL
# ifdef __cplusplus
/* ISO C++ says that the macro NULL must expand to an integer constant
@@ -100,6 +101,11 @@ typedef long max_align_t;
# ifndef _@GUARD_PREFIX@_STDDEF_H
# define _@GUARD_PREFIX@_STDDEF_H
+/* This file uses _Noreturn. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Some platforms lack wchar_t. */
#if !@HAVE_WCHAR_T@
# define wchar_t int
@@ -137,11 +143,49 @@ typedef union
long int __i _GL_STDDEF_ALIGNAS (long int);
} rpl_max_align_t;
# define max_align_t rpl_max_align_t
+# define __CLANG_MAX_ALIGN_T_DEFINED
# define GNULIB_defined_max_align_t 1
# endif
# endif
#endif
+/* ISO C 23 § 7.21.1 The unreachable macro */
+#ifndef unreachable
+
+/* Code borrowed from verify.h. */
+# ifndef _GL_HAS_BUILTIN_UNREACHABLE
+# if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+# define _GL_HAS_BUILTIN_UNREACHABLE 1
+# elif defined __has_builtin
+# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+# else
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# endif
+# endif
+
+# if _GL_HAS_BUILTIN_UNREACHABLE
+# define unreachable() __builtin_unreachable ()
+# elif 1200 <= _MSC_VER
+# define unreachable() __assume (0)
+# else
+/* Declare abort(), without including <stdlib.h>. */
+extern
+# if defined __cplusplus
+"C"
+# endif
+_Noreturn
+void abort (void)
+# if defined __cplusplus && (__GLIBC__ >= 2)
+throw ()
+# endif
+;
+# define unreachable() abort ()
+# endif
+
+#endif
+
# endif /* _@GUARD_PREFIX@_STDDEF_H */
# endif /* _@GUARD_PREFIX@_STDDEF_H */
#endif /* __need_XXX */
diff --git a/lib/stdio.in.h b/lib/stdio.in.h
index 098f841738c..6be12c0525d 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -57,6 +57,12 @@
#ifndef _@GUARD_PREFIX@_STDIO_H
#define _@GUARD_PREFIX@_STDIO_H
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_FORMAT,
+ _GL_ATTRIBUTE_MALLOC, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get va_list. Needed on many systems, including glibc 2.8. */
#include <stdarg.h>
@@ -127,6 +133,16 @@
# endif
#endif
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+ allocated memory. */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+# define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
/* An __attribute__ __format__ specifier for a function that takes a format
string and arguments, where the format string directives are the ones
standardized by ISO C99 and POSIX.
@@ -204,6 +220,36 @@
# undef putc_unlocked
#endif
+
+/* Maximum number of characters produced by printing a NaN value. */
+#ifndef _PRINTF_NAN_LEN_MAX
+# if defined __FreeBSD__ || defined __DragonFly__ \
+ || defined __NetBSD__ \
+ || (defined __APPLE__ && defined __MACH__)
+/* On BSD systems, a NaN value prints as just "nan", without a sign. */
+# define _PRINTF_NAN_LEN_MAX 3
+# elif (__GLIBC__ >= 2) || MUSL_LIBC || defined __OpenBSD__ || defined __sun || defined __CYGWIN__
+/* glibc, musl libc, OpenBSD, Solaris libc, and Cygwin produce "[-]nan". */
+# define _PRINTF_NAN_LEN_MAX 4
+# elif defined _AIX
+/* AIX produces "[-]NaNQ". */
+# define _PRINTF_NAN_LEN_MAX 5
+# elif defined _WIN32 && !defined __CYGWIN__
+/* On native Windows, the output can be:
+ - with MSVC ucrt: "[-]nan" or "[-]nan(ind)" or "[-]nan(snan)",
+ - with mingw: "[-]1.#IND" or "[-]1.#QNAN". */
+# define _PRINTF_NAN_LEN_MAX 10
+# elif defined __sgi
+/* On IRIX, the output typically is "[-]nan0xNNNNNNNN" with 8 hexadecimal
+ digits. */
+# define _PRINTF_NAN_LEN_MAX 14
+# else
+/* We don't know, but 32 should be a safe maximum. */
+# define _PRINTF_NAN_LEN_MAX 32
+# endif
+#endif
+
+
#if @GNULIB_DPRINTF@
# if @REPLACE_DPRINTF@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -286,7 +332,8 @@ _GL_CXXALIASWARN (fcloseall);
# endif
_GL_FUNCDECL_RPL (fdopen, FILE *,
(int fd, const char *mode)
- _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
# elif defined _WIN32 && !defined __CYGWIN__
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -299,7 +346,8 @@ _GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode));
/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */
_GL_FUNCDECL_SYS (fdopen, FILE *,
(int fd, const char *mode)
- _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
# endif
@@ -309,7 +357,8 @@ _GL_CXXALIASWARN (fdopen);
/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */
_GL_FUNCDECL_SYS (fdopen, FILE *,
(int fd, const char *mode)
- _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
# if defined GNULIB_POSIXCHECK
# undef fdopen
@@ -420,7 +469,8 @@ _GL_CXXALIASWARN (fileno);
# endif
_GL_FUNCDECL_RPL (fopen, FILE *,
(const char *restrict filename, const char *restrict mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (fopen, FILE *,
(const char *restrict filename, const char *restrict mode));
# else
@@ -967,6 +1017,10 @@ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
_GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream));
# else
# if @HAVE_DECL_GETW@
+# if defined __APPLE__ && defined __MACH__
+/* The presence of the declaration depends on _POSIX_C_SOURCE. */
+_GL_FUNCDECL_SYS (getw, int, (FILE *restrict stream));
+# endif
_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream));
# endif
# endif
@@ -1071,13 +1125,15 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
# endif
_GL_FUNCDECL_RPL (popen, FILE *,
(const char *cmd, const char *mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
# else
# if !@HAVE_POPEN@ || __GNUC__ >= 11
_GL_FUNCDECL_SYS (popen, FILE *,
(const char *cmd, const char *mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
_GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
# endif
@@ -1087,7 +1143,8 @@ _GL_CXXALIASWARN (popen);
/* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose. */
_GL_FUNCDECL_SYS (popen, FILE *,
(const char *cmd, const char *mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
# if defined GNULIB_POSIXCHECK
# undef popen
@@ -1210,6 +1267,10 @@ _GL_CXXALIASWARN (puts);
_GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream));
# else
# if @HAVE_DECL_PUTW@
+# if defined __APPLE__ && defined __MACH__
+/* The presence of the declaration depends on _POSIX_C_SOURCE. */
+_GL_FUNCDECL_SYS (putw, int, (int w, FILE *restrict stream));
+# endif
_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream));
# endif
# endif
@@ -1421,13 +1482,15 @@ _GL_CXXALIASWARN (tempnam);
# define tmpfile rpl_tmpfile
# endif
_GL_FUNCDECL_RPL (tmpfile, FILE *, (void)
- _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (tmpfile, FILE *, (void));
# else
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */
_GL_FUNCDECL_SYS (tmpfile, FILE *, (void)
- _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
_GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
# endif
@@ -1438,7 +1501,8 @@ _GL_CXXALIASWARN (tmpfile);
# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile
/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */
_GL_FUNCDECL_SYS (tmpfile, FILE *, (void)
- _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
# if defined GNULIB_POSIXCHECK
# undef tmpfile
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index a91f4e23d67..1479a2b2871 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -37,6 +37,12 @@
#ifndef _@GUARD_PREFIX@_STDLIB_H
#define _@GUARD_PREFIX@_STDLIB_H
+/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. */
#include <stddef.h>
@@ -67,9 +73,7 @@
# include <random.h>
# endif
-# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
-# include <stdint.h>
-# endif
+# include <stdint.h>
# if !@HAVE_STRUCT_RANDOM_DATA@
/* Define 'struct random_data'.
@@ -461,7 +465,7 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
# undef getprogname
# define getprogname rpl_getprogname
# endif
-# ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
+# if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
_GL_FUNCDECL_RPL (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
# else
_GL_FUNCDECL_RPL (getprogname, const char *, (void));
@@ -469,7 +473,7 @@ _GL_FUNCDECL_RPL (getprogname, const char *, (void));
_GL_CXXALIAS_RPL (getprogname, const char *, (void));
# else
# if !@HAVE_GETPROGNAME@
-# ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
+# if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
_GL_FUNCDECL_SYS (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
# else
_GL_FUNCDECL_SYS (getprogname, const char *, (void));
@@ -589,6 +593,51 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
# endif
#endif
+/* Return maximum number of bytes of a multibyte character. */
+#if @REPLACE_MB_CUR_MAX@
+# if !GNULIB_defined_MB_CUR_MAX
+static inline
+int gl_MB_CUR_MAX (void)
+{
+ /* Turn the value 3 to the value 4, as needed for the UTF-8 encoding. */
+ return MB_CUR_MAX + (MB_CUR_MAX == 3);
+}
+# undef MB_CUR_MAX
+# define MB_CUR_MAX gl_MB_CUR_MAX ()
+# define GNULIB_defined_MB_CUR_MAX 1
+# endif
+#endif
+
+/* Convert a string to a wide string. */
+#if @GNULIB_MBSTOWCS@
+# if @REPLACE_MBSTOWCS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbstowcs
+# define mbstowcs rpl_mbstowcs
+# endif
+_GL_FUNCDECL_RPL (mbstowcs, size_t,
+ (wchar_t *restrict dest, const char *restrict src,
+ size_t len)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbstowcs, size_t,
+ (wchar_t *restrict dest, const char *restrict src,
+ size_t len));
+# else
+_GL_CXXALIAS_SYS (mbstowcs, size_t,
+ (wchar_t *restrict dest, const char *restrict src,
+ size_t len));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbstowcs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbstowcs
+# if HAVE_RAW_DECL_MBSTOWCS
+_GL_WARN_ON_USE (mbstowcs, "mbstowcs is unportable - "
+ "use gnulib module mbstowcs for portability");
+# endif
+#endif
+
/* Convert a multibyte character to a wide character. */
#if @GNULIB_MBTOWC@
# if @REPLACE_MBTOWC@
@@ -1009,7 +1058,9 @@ _GL_FUNCDECL_SYS (random, long, (void));
int. */
_GL_CXXALIAS_SYS_CAST (random, long, (void));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (random);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef random
# if HAVE_RAW_DECL_RANDOM
@@ -1034,7 +1085,9 @@ _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
unsigned long seed. */
_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (srandom);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef srandom
# if HAVE_RAW_DECL_SRANDOM
diff --git a/lib/string.in.h b/lib/string.in.h
index b6bf432e1f1..912d0f7a306 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -44,6 +44,12 @@
#ifndef _@GUARD_PREFIX@_STRING_H
#define _@GUARD_PREFIX@_STRING_H
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. */
#include <stddef.h>
diff --git a/lib/strtol.c b/lib/strtol.c
index d11269b2622..b93483dca49 100644
--- a/lib/strtol.c
+++ b/lib/strtol.c
@@ -288,6 +288,11 @@ INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr,
s += 2;
base = 16;
}
+ else if ((base == 0 || base == 2) && TOUPPER (s[1]) == L_('B'))
+ {
+ s += 2;
+ base = 2;
+ }
else if (base == 0)
base = 8;
}
@@ -378,11 +383,14 @@ INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr,
noconv:
/* We must handle a special case here: the base is 0 or 16 and the
first two characters are '0' and 'x', but the rest are no
- hexadecimal digits. This is no error case. We return 0 and
- ENDPTR points to the 'x'. */
+ hexadecimal digits. Likewise when the base is 0 or 2 and the
+ first two characters are '0' and 'b', but the rest are no binary
+ digits. This is no error case. We return 0 and ENDPTR points to
+ the 'x' or 'b'. */
if (endptr != NULL)
{
- if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X')
+ if (save - nptr >= 2
+ && (TOUPPER (save[-1]) == L_('X') || TOUPPER (save[-1]) == L_('B'))
&& save[-2] == L_('0'))
*endptr = (STRING_TYPE *) &save[-1];
else
diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h
index 8dca1326837..b240033bcbf 100644
--- a/lib/sys_random.in.h
+++ b/lib/sys_random.in.h
@@ -45,6 +45,11 @@
#ifndef _@GUARD_PREFIX@_SYS_RANDOM_H
#define _@GUARD_PREFIX@_SYS_RANDOM_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <sys/types.h>
/* Define the GRND_* constants. */
diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h
index 13440fa6f0a..3abfc48af09 100644
--- a/lib/sys_select.in.h
+++ b/lib/sys_select.in.h
@@ -19,6 +19,13 @@
# endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On OSF/1 and Solaris 2.6, <sys/types.h> and <sys/time.h>
both include <sys/select.h>.
On Cygwin and OpenBSD, <sys/time.h> includes <sys/select.h>.
@@ -71,6 +78,11 @@
#ifndef _@GUARD_PREFIX@_SYS_SELECT_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On many platforms, <sys/select.h> assumes prior inclusion of
<sys/types.h>. Also, mingw defines sigset_t there, instead of
in <signal.h> where it belongs. */
diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h
index 0c2f39c12bf..ad4da17fa46 100644
--- a/lib/sys_stat.in.h
+++ b/lib/sys_stat.in.h
@@ -25,6 +25,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if defined __need_system_sys_stat_h
/* Special invocation convention. */
@@ -48,6 +55,11 @@
#ifndef _@GUARD_PREFIX@_SYS_STAT_H
#define _@GUARD_PREFIX@_SYS_STAT_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_ARG_NONNULL is copied here. */
diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h
index e833d551677..59cce1440da 100644
--- a/lib/sys_time.in.h
+++ b/lib/sys_time.in.h
@@ -24,6 +24,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On Cygwin and on many BSDish systems, <sys/time.h> includes itself
recursively via <sys/select.h>.
Simply delegate to the system's header in this case; it is a no-op.
@@ -41,6 +48,11 @@
#ifndef _@GUARD_PREFIX@_SYS_TIME_H
#define _@GUARD_PREFIX@_SYS_TIME_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if ! @HAVE_SYS_TIME_H@
# include <time.h>
#endif
diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h
index 082a6c674de..ea77e140be9 100644
--- a/lib/sys_types.in.h
+++ b/lib/sys_types.in.h
@@ -20,6 +20,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if defined _WIN32 && !defined __CYGWIN__ \
&& (defined __need_off_t || defined __need___off64_t \
|| defined __need_ssize_t || defined __need_time_t)
diff --git a/lib/time.in.h b/lib/time.in.h
index 3f9af920e34..06428adb1d0 100644
--- a/lib/time.in.h
+++ b/lib/time.in.h
@@ -20,6 +20,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Don't get in the way of glibc when it includes time.h merely to
declare a few standard symbols, rather than to declare all the
symbols. (However, skip this for MinGW as it treats __need_time_t
@@ -45,6 +52,12 @@
# @INCLUDE_NEXT@ @NEXT_TIME_H@
+/* This file uses _GL_ATTRIBUTE_DEPRECATED, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
/* NetBSD 5.0 mis-defines NULL. */
# include <stddef.h>
@@ -154,7 +167,9 @@ _GL_CXXALIAS_RPL (time, time_t, (time_t *__tp));
# else
_GL_CXXALIAS_SYS (time, time_t, (time_t *__tp));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (time);
+# endif
# endif
/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
@@ -341,7 +356,9 @@ _GL_CXXALIASWARN (strptime);
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# define ctime rpl_ctime
# endif
+# ifndef __cplusplus
_GL_ATTRIBUTE_DEPRECATED
+# endif
_GL_FUNCDECL_RPL (ctime, char *, (time_t const *__tp)
_GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (ctime, char *, (time_t const *__tp));
diff --git a/lib/timespec-add.c b/lib/timespec-add.c
index cb3017803b4..38c4dfc24c2 100644
--- a/lib/timespec-add.c
+++ b/lib/timespec-add.c
@@ -23,6 +23,7 @@
#include <config.h>
#include "timespec.h"
+#include <stdckdint.h>
#include "intprops.h"
struct timespec
@@ -38,7 +39,7 @@ timespec_add (struct timespec a, struct timespec b)
{
rns = nsd;
time_t bs1;
- if (!INT_ADD_WRAPV (bs, 1, &bs1))
+ if (!ckd_add (&bs1, bs, 1))
bs = bs1;
else if (rs < 0)
rs++;
@@ -46,7 +47,7 @@ timespec_add (struct timespec a, struct timespec b)
goto high_overflow;
}
- if (INT_ADD_WRAPV (rs, bs, &rs))
+ if (ckd_add (&rs, rs, bs))
{
if (bs < 0)
{
diff --git a/lib/timespec-sub.c b/lib/timespec-sub.c
index 822c2831089..f8052400410 100644
--- a/lib/timespec-sub.c
+++ b/lib/timespec-sub.c
@@ -24,6 +24,7 @@
#include <config.h>
#include "timespec.h"
+#include <stdckdint.h>
#include "intprops.h"
struct timespec
@@ -38,7 +39,7 @@ timespec_sub (struct timespec a, struct timespec b)
{
rns = ns + TIMESPEC_HZ;
time_t bs1;
- if (!INT_ADD_WRAPV (bs, 1, &bs1))
+ if (!ckd_add (&bs1, bs, 1))
bs = bs1;
else if (- TYPE_SIGNED (time_t) < rs)
rs--;
@@ -46,7 +47,7 @@ timespec_sub (struct timespec a, struct timespec b)
goto low_overflow;
}
- if (INT_SUBTRACT_WRAPV (rs, bs, &rs))
+ if (ckd_sub (&rs, rs, bs))
{
if (0 < bs)
{
diff --git a/lib/timespec.h b/lib/timespec.h
index ba78647f09a..e94da75defe 100644
--- a/lib/timespec.h
+++ b/lib/timespec.h
@@ -19,11 +19,14 @@
#if ! defined TIMESPEC_H
#define TIMESPEC_H
-#include <time.h>
-
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_ATTRIBUTE_CONST,
+ _GL_ATTRIBUTE_PURE, _GL_CMP. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
+#include <time.h>
+
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_TIMESPEC_INLINE
# define _GL_TIMESPEC_INLINE _GL_INLINE
@@ -52,10 +55,7 @@ enum { LOG10_TIMESPEC_RESOLUTION = LOG10_TIMESPEC_HZ };
_GL_TIMESPEC_INLINE struct timespec
make_timespec (time_t s, long int ns)
{
- struct timespec r;
- r.tv_sec = s;
- r.tv_nsec = ns;
- return r;
+ return (struct timespec) { .tv_sec = s, .tv_nsec = ns };
}
/* Return negative, zero, positive if A < B, A == B, A > B, respectively. */
diff --git a/lib/u64.h b/lib/u64.h
index 0353ad4d9af..8a99335b6aa 100644
--- a/lib/u64.h
+++ b/lib/u64.h
@@ -17,11 +17,13 @@
/* Written by Paul Eggert. */
-#include <stdint.h>
-
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
+#include <stdint.h>
+
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_U64_INLINE
# define _GL_U64_INLINE _GL_INLINE
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 8ba9867894e..2ae040a76b3 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -69,6 +69,12 @@
#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
#define _@GUARD_PREFIX@_UNISTD_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
/* But avoid namespace pollution on glibc systems. */
#ifndef __GLIBC__
@@ -170,9 +176,6 @@
# include <getopt-pfx-core.h>
#endif
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UNISTD_INLINE
# define _GL_UNISTD_INLINE _GL_INLINE
diff --git a/lib/unlocked-io.h b/lib/unlocked-io.h
index fdef624ab9c..4830df4a747 100644
--- a/lib/unlocked-io.h
+++ b/lib/unlocked-io.h
@@ -31,6 +31,11 @@
the *_unlocked functions directly. On hosts that lack those
functions, invoke the non-thread-safe versions instead. */
+/* This file uses HAVE_DECL_*_UNLOCKED. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <stdio.h>
# if HAVE_DECL_CLEARERR_UNLOCKED || defined clearerr_unlocked
diff --git a/lib/utimens.c b/lib/utimens.c
index 4c5377eca0f..faa197e6cb5 100644
--- a/lib/utimens.c
+++ b/lib/utimens.c
@@ -405,10 +405,10 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2])
struct timeval *t;
if (ts)
{
- timeval[0].tv_sec = ts[0].tv_sec;
- timeval[0].tv_usec = ts[0].tv_nsec / 1000;
- timeval[1].tv_sec = ts[1].tv_sec;
- timeval[1].tv_usec = ts[1].tv_nsec / 1000;
+ timeval[0] = (struct timeval) { .tv_sec = ts[0].tv_sec,
+ .tv_usec = ts[0].tv_nsec / 1000 };
+ timeval[1] = (struct timeval) { .tv_sec = ts[1].tv_sec,
+ .tv_usec = ts[1].tv_nsec / 1000 };
t = timeval;
}
else
@@ -502,8 +502,8 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2])
struct utimbuf *ut;
if (ts)
{
- utimbuf.actime = ts[0].tv_sec;
- utimbuf.modtime = ts[1].tv_sec;
+ utimbuf = (struct utimbuf) { .actime = ts[0].tv_sec,
+ .modtime = ts[1].tv_sec };
ut = &utimbuf;
}
else
@@ -621,10 +621,10 @@ lutimens (char const *file, struct timespec const timespec[2])
int result;
if (ts)
{
- timeval[0].tv_sec = ts[0].tv_sec;
- timeval[0].tv_usec = ts[0].tv_nsec / 1000;
- timeval[1].tv_sec = ts[1].tv_sec;
- timeval[1].tv_usec = ts[1].tv_nsec / 1000;
+ timeval[0] = (struct timeval) { .tv_sec = ts[0].tv_sec,
+ .tv_usec = ts[0].tv_nsec / 1000 };
+ timeval[1] = (struct timeval) { .tv_sec = ts[1].tv_sec,
+ .tv_usec = ts[1].tv_nsec / 1000 };
t = timeval;
}
else
diff --git a/lib/utimens.h b/lib/utimens.h
index a7056981f32..4a21792a7e4 100644
--- a/lib/utimens.h
+++ b/lib/utimens.h
@@ -17,6 +17,11 @@
/* Written by Paul Eggert. */
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <time.h>
int fdutimens (int, char const *, struct timespec const [2]);
int utimens (char const *, struct timespec const [2]);
@@ -26,9 +31,6 @@ int lutimens (char const *, struct timespec const [2]);
# include <fcntl.h>
# include <sys/stat.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UTIMENS_INLINE
# define _GL_UTIMENS_INLINE _GL_INLINE
diff --git a/lib/verify.h b/lib/verify.h
index f0b3fc5851b..e4af91517e6 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -241,10 +241,16 @@ template <int w>
# define _Static_assert(...) \
_GL_VERIFY (__VA_ARGS__, "static assertion failed", -)
# else
- /* Work around MSVC preprocessor incompatibility with ISO C; see
- <https://stackoverflow.com/questions/5134523/>. */
-# define _Static_assert(R, ...) \
- _GL_VERIFY ((R), "static assertion failed", -)
+# if defined __cplusplus && _MSC_VER >= 1910
+ /* In MSVC 14.1 or newer, static_assert accepts one or two arguments,
+ but _Static_assert is not defined. */
+# define _Static_assert static_assert
+# else
+ /* Work around MSVC preprocessor incompatibility with ISO C; see
+ <https://stackoverflow.com/questions/5134523/>. */
+# define _Static_assert(R, ...) \
+ _GL_VERIFY ((R), "static assertion failed", -)
+# endif
# endif
# endif
/* Define static_assert if needed. */
@@ -252,7 +258,7 @@ template <int w>
&& __STDC_VERSION__ < 202311 \
&& (!defined __cplusplus \
|| (__cpp_static_assert < 201411 \
- && __GNUG__ < 6 && __clang_major__ < 6)))
+ && __GNUG__ < 6 && __clang_major__ < 6 && _MSC_VER < 1910)))
# if defined __cplusplus && _MSC_VER >= 1900 && !defined __clang__
/* MSVC 14 in C++ mode supports the two-arguments static_assert but not
the one-argument static_assert, and it does not support _Static_assert.
@@ -285,14 +291,16 @@ template <int w>
# define _GL_HAS_BUILTIN_TRAP 0
#endif
-#if defined __clang_major__ && __clang_major__ < 5
-# define _GL_HAS_BUILTIN_UNREACHABLE 0
-#elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
-# define _GL_HAS_BUILTIN_UNREACHABLE 1
-#elif defined __has_builtin
-# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
-#else
-# define _GL_HAS_BUILTIN_UNREACHABLE 0
+#ifndef _GL_HAS_BUILTIN_UNREACHABLE
+# if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+# define _GL_HAS_BUILTIN_UNREACHABLE 1
+# elif defined __has_builtin
+# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+# else
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# endif
#endif
/* Each of these macros verifies that its argument R is nonzero. To
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 4aa01e77e4e..5af2168a827 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -72,9 +72,10 @@ AUTOGENEL = ${loaddefs} ${srcdir}/cus-load.el ${srcdir}/finder-inf.el \
${srcdir}/subdirs.el ${srcdir}/eshell/esh-groups.el
# Set load-prefer-newer for the benefit of the non-bootstrappers.
+# Set org--inhibit-version-check to avoid unnecessarily aborting the build.
BYTE_COMPILE_FLAGS = \
--eval "(setq load-prefer-newer t byte-compile-warnings 'all)" \
- --eval "(setq org--built-in-p t)" $(BYTE_COMPILE_EXTRA_FLAGS)
+ --eval "(setq org--inhibit-version-check t)" $(BYTE_COMPILE_EXTRA_FLAGS)
# ... but we must prefer .elc files for those in the early bootstrap.
compile-first: BYTE_COMPILE_FLAGS = $(BYTE_COMPILE_EXTRA_FLAGS)
@@ -436,6 +437,42 @@ ifeq ($(HAVE_NATIVE_COMP),yes)
$(emacs) -l comp -f comp-compile-all-trampolines
endif
+.PHONY: compile-eln-targets compile-eln-aot
+
+# ELNDONE is defined by ../src/Makefile, as the list of preloaded
+# *.eln files, which are therefore already compiled by the time
+# compile-eln-aot is called.
+ifeq ($(NATIVE_COMPILATION_AOT),yes)
+%.eln: %.el
+ $(AM_V_ELN)$(emacs) $(BYTE_COMPILE_FLAGS) \
+ -l comp -f byte-compile-refresh-preloaded \
+ --eval '(batch-native-compile t)' $<
+
+compile-eln-targets: $(filter-out $(ELNDONE),$(TARGETS))
+else
+compile-eln-targets:
+endif
+
+# This is called from ../src/Makefile when building a release tarball
+# configured --with-native-compilation=aot.
+compile-eln-aot:
+ @(cd $(lisp) && \
+ els=`echo "${SUBDIRS_REL} " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \
+ for el in $$els; do \
+ test -f $$el || continue; \
+ test -f $${el}c || continue; \
+ GREP_OPTIONS= grep '^;.*[^a-zA-Z]no-byte-compile: *t' $$el > /dev/null && \
+ continue; \
+ GREP_OPTIONS= grep '^;.*[^a-zA-Z]no-native-compile: *t' $$el > /dev/null && \
+ continue; \
+ echo "$${el}n"; \
+ done | xargs $(XARGS_LIMIT) echo) | \
+ while read chunk; do \
+ $(MAKE) compile-eln-targets \
+ TARGETS="$$chunk" ELNDONE="$(ELNDONE)"; \
+ done
+
+
.PHONY: backup-compiled-files compile-after-backup
# Backup compiled Lisp files in elc.tar.gz. If that file already
@@ -489,8 +526,8 @@ check-declare:
## This finds a lot of duplicates between foo.el and obsolete/foo.el.
check-defun-dups:
sed -n -e '/^(defun /s/\(.\)(.*/\1/p' \
- $$(find . -name '*.el' ! -name '.*' -print | \
- grep -Ev '(loaddefs|ldefs-boot)\.el|obsolete') | sort | uniq -d
+ `find . -name '*.el' ! -name '.*' -print | \
+ grep -Ev '(loaddefs|ldefs-boot)\.el|obsolete'` | sort | uniq -d
# Dependencies
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 5e137b21fbb..be9cf06c523 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -613,7 +613,8 @@ outline hot-spot navigation (see `allout-mode')."
#'allout-widgets-post-command-business 'local)
(remove-hook 'pre-command-hook
#'allout-widgets-pre-command-business 'local)
- (assq-delete-all 'allout-widgets-mode-inhibit minor-mode-alist)
+ (setq minor-mode-alist
+ (assq-delete-all 'allout-widgets-mode-inhibit minor-mode-alist))
(set-buffer-modified-p was-modified))))
;;;_ > allout-widgets-mode-off
(defun allout-widgets-mode-off ()
diff --git a/lisp/allout.el b/lisp/allout.el
index be2fd632c69..d3203800168 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -6307,7 +6307,7 @@ not its value."
(if (yes-or-no-p (format-message
"%s entry `%s' is unbound -- remove it? "
configvar-name sym))
- (delq sym (symbol-value configvar-name)))
+ (set configvar-name (delq sym (symbol-value configvar-name))))
(push (symbol-value sym) got)))
(reverse got)))
;;;_ : Topics:
diff --git a/lisp/apropos.el b/lisp/apropos.el
index e95f45f1804..0e286f3069d 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -899,7 +899,8 @@ Optional arg BUFFER (default: current buffer) is the buffer to check."
;; state of the `obarray' when we dumped, which we may also be able to
;; use in `bytecomp' to provide a clean initial environment?)
(dolist (x load-history)
- (when (string-match preloaded-regexp (car x))
+ (when (let ((elt (car x)))
+ (and (stringp elt) (string-match preloaded-regexp elt)))
(dolist (def (cdr x))
(cond
((symbolp def) (funcall f def))
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 5e696c091b2..0a971799746 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -645,6 +645,49 @@ Does not signal an error if optional argument NOERROR is non-nil."
(if (not noerror)
(error "Line does not describe a member of the archive")))))
;; -------------------------------------------------------------------------
+;;; Section: Helper functions for requiring filename extensions
+
+(defun archive--act-files (command files)
+ (lambda (archive)
+ (apply #'call-process (car command)
+ nil nil nil (append (cdr command) (cons archive files)))))
+
+(defun archive--need-rename-p (&optional archive)
+ (let ((archive
+ (file-name-nondirectory (or archive buffer-file-name))))
+ (cl-case archive-subtype
+ ((zip) (not (seq-contains-p archive ?. #'eq))))))
+
+(defun archive--ensure-extension (archive ensure-extension)
+ (if ensure-extension
+ (make-temp-name (expand-file-name (concat archive "_tmp.")))
+ archive))
+
+(defun archive--maybe-rename (newname need-rename-p)
+ ;; Operating with archive as current buffer, and protect
+ ;; `default-directory' from being modified in `rename-visited-file'.
+ (when need-rename-p
+ (let ((default-directory default-directory))
+ (rename-visited-file newname))))
+
+(defun archive--with-ensure-extension (archive proc-fn)
+ (let ((saved default-directory))
+ (with-current-buffer (find-buffer-visiting archive)
+ (let ((ensure-extension (archive--need-rename-p))
+ (default-directory saved))
+ (unwind-protect
+ ;; Some archive programs (like zip) expect filenames to
+ ;; have an extension, so if necessary, temporarily rename
+ ;; an extensionless file for write accesses.
+ (let ((archive (archive--ensure-extension
+ archive ensure-extension)))
+ (archive--maybe-rename archive ensure-extension)
+ (let ((exitcode (funcall proc-fn archive)))
+ (or (zerop exitcode)
+ (error "Updating was unsuccessful (%S)" exitcode))))
+ (progn (archive--maybe-rename archive ensure-extension)
+ (revert-buffer nil t)))))))
+;; -------------------------------------------------------------------------
;;; Section: the mode definition
;;;###autoload
@@ -1378,16 +1421,9 @@ NEW-NAME."
(setq ename
(encode-coding-string ename archive-file-name-coding-system))
(let* ((coding-system-for-write 'no-conversion)
- (default-directory (file-name-as-directory archive-tmpdir))
- (exitcode (apply #'call-process
- (car command)
- nil
- nil
- nil
- (append (cdr command)
- (list archive ename)))))
- (or (zerop exitcode)
- (error "Updating was unsuccessful (%S)" exitcode))))
+ (default-directory (file-name-as-directory archive-tmpdir)))
+ (archive--with-ensure-extension
+ archive (archive--act-files command (list ename)))))
(archive-delete-local tmpfile))))
(defun archive-write-file (&optional file)
@@ -1510,9 +1546,7 @@ as a relative change like \"g+rw\" as for chmod(2)."
(archive-resummarize))
(error "Setting group is not supported for this archive type"))))
-(defun archive-expunge ()
- "Do the flagged deletions."
- (interactive)
+(defun archive--expunge-maybe-force (force)
(let (files)
(save-excursion
(goto-char archive-file-list-start)
@@ -1526,7 +1560,8 @@ as a relative change like \"g+rw\" as for chmod(2)."
(and files
(or (not archive-read-only)
(error "Archive is read-only"))
- (or (yes-or-no-p (format "Really delete %d member%s? "
+ (or force
+ (yes-or-no-p (format "Really delete %d member%s? "
(length files)
(if (null (cdr files)) "" "s")))
(error "Operation aborted"))
@@ -1540,13 +1575,14 @@ as a relative change like \"g+rw\" as for chmod(2)."
(archive-resummarize)
(revert-buffer))))))
+(defun archive-expunge ()
+ "Do the flagged deletions."
+ (interactive)
+ (archive--expunge-maybe-force nil))
+
(defun archive-*-expunge (archive files command)
- (apply #'call-process
- (car command)
- nil
- nil
- nil
- (append (cdr command) (cons archive files))))
+ (archive--with-ensure-extension
+ archive (archive--act-files command files)))
(defun archive-rename-entry (newname)
"Change the name associated with this entry in the archive file."
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 11368910876..026257ff758 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -2419,7 +2419,7 @@ confirmation first."
(defun bookmark-bmenu-locate ()
- "Display location of this bookmark. Displays in the minibuffer."
+ "Display the location of the bookmark for this line."
(interactive nil bookmark-bmenu-mode)
(let ((bmrk (bookmark-bmenu-bookmark)))
(message "%s" (bookmark-location bmrk))))
diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el
index 3de761e19f8..1b9d25daf3b 100644
--- a/lisp/calc/calc-graph.el
+++ b/lisp/calc/calc-graph.el
@@ -598,9 +598,10 @@
(math-build-var-name (car math-arglist))
'(var DUMMY var-DUMMY)))))
(setq calc-graph-ycache (assoc calc-graph-yvalue calc-graph-data-cache))
- (delq calc-graph-ycache calc-graph-data-cache)
- (nconc calc-graph-data-cache
- (list (or calc-graph-ycache (setq calc-graph-ycache (list calc-graph-yvalue)))))
+ (setq calc-graph-data-cache
+ (nconc (delq calc-graph-ycache calc-graph-data-cache)
+ (list (or calc-graph-ycache
+ (setq calc-graph-ycache (list calc-graph-yvalue))))))
(if (and (not (setq calc-graph-xvec (eq (car-safe calc-graph-xvalue) 'vec)))
calc-graph-refine (cdr (cdr calc-graph-ycache)))
(calc-graph-refine-2d)
diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el
index 93de04a586d..4b1aab837af 100644
--- a/lisp/calc/calc-misc.el
+++ b/lisp/calc/calc-misc.el
@@ -195,7 +195,6 @@ Calc user interface as before (either \\`C-x * C' or \\`C-x * K'; initially \\`C
;;;###autoload
(defun calc-info-goto-node (node)
"Go to a node in the Calculator info documentation."
- (interactive)
(select-window (get-largest-window))
(info (concat "(Calc)" node)))
diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el
index d8569d0c5af..8502b5196d2 100644
--- a/lisp/calc/calc-prog.el
+++ b/lisp/calc/calc-prog.el
@@ -936,7 +936,6 @@
(defun calc-edit-macro-finish-edit (cmdname key)
"Finish editing a Calc macro.
Redefine the corresponding command."
- (interactive)
(let ((cmd (intern cmdname)))
(calc-edit-macro-pre-finish-edit)
(let* ((str (buffer-substring calc-edit-top (point-max)))
diff --git a/lisp/calculator.el b/lisp/calculator.el
index 6a1d960c3e4..00afa2457fe 100644
--- a/lisp/calculator.el
+++ b/lisp/calculator.el
@@ -746,7 +746,8 @@ See the documentation for `calculator-mode' for more information."
;; use 3 lines
(let* ((bx (face-attribute 'mode-line :box))
(lh (plist-get bx :line-width)))
- (and bx (or (not lh) (> lh 0))))
+ ;; Value of `:line-width' can be either a number or a cons.
+ (and bx (or (not lh) (> (if (consp lh) (cdr lh) lh) 0))))
;; if the mode line has an overline, use 3 lines
(not (memq (face-attribute 'mode-line :overline)
'(nil unspecified)))))))
@@ -1349,8 +1350,9 @@ Optional string argument KEYS will force using it as the keys entered."
(calculator-update-display t))
(defun calculator-saved-move (n)
- "Go N elements up the list of saved values."
- (interactive)
+ "Go N elements up the list of saved values.
+Interactively, N is the prefix numeric argument and defaults to 1."
+ (interactive "p")
(when (and calculator-saved-list
(or (null calculator-stack) calculator-display-fragile))
(setq calculator-saved-ptr
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index 49597739446..11beee94e64 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -707,7 +707,7 @@ ARG is positive, otherwise off."
(not appt-active)))
(remove-hook 'write-file-functions #'appt-update-list)
(or global-mode-string (setq global-mode-string '("")))
- (delq 'appt-mode-string global-mode-string)
+ (setq global-mode-string (delq 'appt-mode-string global-mode-string))
(when appt-timer
(cancel-timer appt-timer)
(setq appt-timer nil))
diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el
index 1b667a6852e..a62361121fc 100644
--- a/lisp/calendar/parse-time.el
+++ b/lisp/calendar/parse-time.el
@@ -147,7 +147,7 @@ letters, digits, plus or minus signs or colons."
;;;###autoload(put 'parse-time-rules 'risky-local-variable t)
;;;###autoload
-(defun parse-time-string (string)
+(defun parse-time-string (string &optional form)
"Parse the time in STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
STRING should be an ISO 8601 time string, e.g., \"2020-01-15T16:12:21-08:00\",
or something resembling an RFC 822 (or later) date-time, e.g.,
@@ -156,9 +156,11 @@ somewhat liberal in what format it accepts, and will attempt to
return a \"likely\" value even for somewhat malformed strings.
The values returned are identical to those of `decode-time', but
any unknown values other than DST are returned as nil, and an
-unknown DST value is returned as -1."
+unknown DST value is returned as -1.
+
+See `decode-time' for the meaning of FORM."
(condition-case ()
- (iso8601-parse string)
+ (iso8601-parse string form)
(wrong-type-argument
(let ((time (list nil nil nil nil nil nil nil -1 nil))
(temp (parse-time-tokenize (downcase string))))
@@ -199,12 +201,14 @@ unknown DST value is returned as -1."
(setf (nth (pop slots) time) new-val))))))))
time))))
-(defun parse-iso8601-time-string (date-string)
+(defun parse-iso8601-time-string (date-string &optional form)
"Parse an ISO 8601 time string, such as \"2020-01-15T16:12:21-08:00\".
Fall back on parsing something resembling an RFC 822 (or later) date-time.
This function is like `parse-time-string' except that it returns
-a Lisp timestamp when successful."
- (when-let ((time (parse-time-string date-string)))
+a Lisp timestamp when successful.
+
+See `decode-time' for the meaning of FORM."
+ (when-let ((time (parse-time-string date-string form)))
(encode-time time)))
(provide 'parse-time)
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index 671210f3ee8..ffb7b7168dd 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -49,7 +49,8 @@
;; To get started, type `M-x todo-show'. For full details of the user
;; interface, commands and options, consult the Todo mode user manual,
-;; which is included in the Info documentation.
+;; which is one of the Info manuals included in the standard Emacs
+;; installation.
;;; Code:
@@ -1205,7 +1206,9 @@ visiting the deleted files."
(let ((sexp (read (buffer-substring-no-properties
(line-beginning-position)
(line-end-position))))
- (buffer-read-only nil))
+ (buffer-read-only nil)
+ (print-length nil)
+ (print-level nil))
(mapc (lambda (x) (aset (cdr x) 3 0)) sexp)
(delete-region (line-beginning-position) (line-end-position))
(prin1 sexp (current-buffer)))))
@@ -1294,15 +1297,15 @@ return the new category number."
file)))
(find-file file0)
(let ((counts (make-vector 4 0)) ; [todo diary done archived]
- (num (1+ (length todo-categories)))
- (buffer-read-only nil))
+ (num (1+ (length todo-categories))))
(setq todo-current-todo-file file0)
(setq todo-categories (append todo-categories
(list (cons cat counts))))
(widen)
(goto-char (point-max))
(save-excursion ; Save point for todo-category-select.
- (insert todo-category-beg cat "\n\n" todo-category-done "\n"))
+ (let ((buffer-read-only nil))
+ (insert todo-category-beg cat "\n\n" todo-category-done "\n")))
(todo-update-categories-sexp)
;; If invoked by user, display the newly added category, if
;; called programmatically return the category number to the
@@ -1459,8 +1462,11 @@ the archive of the file moved to, creating it if it does not exist."
(match-beginning 0)
(point-max)))
(content (buffer-substring-no-properties beg end))
- (counts (cdr (assoc cat todo-categories)))
- buffer-read-only)
+ (counts (cdr (assoc cat todo-categories))))
+ ;; Restore display of selected category, so internal file
+ ;; structure is not visible if user is prompted to choose a new
+ ;; category name in target file.
+ (todo-category-select)
;; Move the category to the new file. Also update or create
;; archive file if necessary.
(with-current-buffer
@@ -1480,7 +1486,9 @@ the archive of the file moved to, creating it if it does not exist."
nfile-short)
(format "the category \"%s\";\n" cat)
"enter a new category name: "))
- buffer-read-only)
+ (buffer-read-only nil)
+ (print-length nil)
+ (print-level nil))
(widen)
(goto-char (point-max))
(insert content)
@@ -1520,25 +1528,27 @@ the archive of the file moved to, creating it if it does not exist."
;; Delete the category from the old file, and if that was the
;; last category, delete the file. Also handle archive file
;; if necessary.
- (remove-overlays beg end)
- (delete-region beg end)
- (goto-char (point-min))
- ;; Put point after todo-categories sexp.
- (forward-line)
- (if (eobp) ; Aside from sexp, file is empty.
- (progn
- ;; Skip confirming killing the archive buffer.
- (set-buffer-modified-p nil)
- (delete-file todo-current-todo-file)
- (kill-buffer)
- (when (member todo-current-todo-file todo-files)
- (todo-update-filelist-defcustoms)))
- (setq todo-categories (delete (assoc cat todo-categories)
- todo-categories))
- (todo-update-categories-sexp)
- (when (> todo-category-number (length todo-categories))
- (setq todo-category-number 1))
- (todo-category-select)))))
+ (let ((buffer-read-only nil))
+ (widen)
+ (remove-overlays beg end)
+ (delete-region beg end)
+ (goto-char (point-min))
+ ;; Put point after todo-categories sexp.
+ (forward-line)
+ (if (eobp) ; Aside from sexp, file is empty.
+ (progn
+ ;; Skip confirming killing the archive buffer.
+ (set-buffer-modified-p nil)
+ (delete-file todo-current-todo-file)
+ (kill-buffer)
+ (when (member todo-current-todo-file todo-files)
+ (todo-update-filelist-defcustoms)))
+ (setq todo-categories (delete (assoc cat todo-categories)
+ todo-categories))
+ (todo-update-categories-sexp)
+ (when (> todo-category-number (length todo-categories))
+ (setq todo-category-number 1))
+ (todo-category-select))))))
(set-window-buffer (selected-window)
(set-buffer (find-file-noselect nfile))))))
@@ -1706,11 +1716,19 @@ insertion provided it doesn't begin with `todo-nondiary-marker'."
:group 'todo-edit)
(defcustom todo-always-add-time-string nil
- "Non-nil adds current time to a new item's date header by default.
-When the todo insertion commands have a non-nil \"maybe-notime\"
-argument, this reverses the effect of
-`todo-always-add-time-string': if t, these commands omit the
-current time, if nil, they include it."
+ "Whether to add the time to an item's date header by default.
+
+If non-nil, this automatically adds the current time when adding
+a new item using an insertion command without a time parameter,
+or when tagging an item as done; when adding a new item using a
+time parameter, or when editing the header of an existing todo item
+using a time parameter, typing <return> automatically inserts the
+current time.
+
+When this option is nil (the default), no time string is inserted
+either automatically or when typing <return> at the time
+prompt (and in the latter case, when editing an existing time
+string, typing <return> deletes it)."
:type 'boolean
:group 'todo-edit)
@@ -1985,7 +2003,13 @@ their associated keys and their effects."
(setq done-only t)
(todo-toggle-view-done-only))
(if here
- (todo-insert-with-overlays new-item)
+ (progn
+ ;; Ensure item is inserted where command was invoked.
+ (unless (= (point) opoint)
+ (todo-category-number ocat)
+ (todo-category-select)
+ (goto-char opoint))
+ (todo-insert-with-overlays new-item))
(todo-set-item-priority new-item cat t))
(setq item-added t))
;; If user cancels before setting priority, restore
@@ -2119,6 +2143,9 @@ the item at point."
((or marked (todo-item-string))
(todo-edit-item--next-key 'todo arg)))))
+(defvar todo-edit-item--cat nil)
+(defvar todo-edit-item--pos nil)
+
(defun todo-edit-item--text (&optional arg)
"Function providing the text editing facilities of `todo-edit-item'."
(let ((full-item (todo-item-string)))
@@ -2127,6 +2154,7 @@ the item at point."
;; 1+ signals an error, so just make this a noop.
(when full-item
(let* ((opoint (point))
+ (ocat (todo-current-category))
(start (todo-item-start))
(end (save-excursion (todo-item-end)))
(item-beg (progn
@@ -2151,8 +2179,7 @@ the item at point."
(concat " \\[" (regexp-quote todo-comment-string)
": \\([^]]+\\)\\]")
end t)))
- (prompt (if comment "Edit comment: " "Enter a comment: "))
- (buffer-read-only nil))
+ (prompt (if comment "Edit comment: " "Enter a comment: ")))
;; When there are marked items, user can invoke todo-edit-item
;; even if point is not on an item, but text editing only
;; applies to the item at point.
@@ -2170,22 +2197,43 @@ the item at point."
end t)
(if comment-delete
(when (todo-y-or-n-p "Delete comment? ")
- (delete-region (match-beginning 0) (match-end 0)))
- (replace-match (save-match-data
- (read-string prompt
- (cons (match-string 1) 1)))
- nil nil nil 1))
+ (let ((buffer-read-only nil))
+ (delete-region (match-beginning 0) (match-end 0))))
+ (let ((buffer-read-only nil))
+ (replace-match (save-match-data
+ (prog1 (let ((buffer-read-only t))
+ (read-string
+ prompt
+ (cons (match-string 1) 1)))
+ ;; If user moved point while editing
+ ;; a comment, restore it and ensure
+ ;; done items section is displayed.
+ (unless (= (point) opoint)
+ (todo-category-number ocat)
+ (let ((todo-show-with-done t))
+ (todo-category-select)
+ (goto-char opoint)))))
+ nil nil nil 1)))
(if comment-delete
(user-error "There is no comment to delete")
- (insert " [" todo-comment-string ": "
- (prog1 (read-string prompt)
- ;; If user moved point during editing,
- ;; make sure it moves back.
- (goto-char opoint)
- (todo-item-end))
- "]")))))
+ (let ((buffer-read-only nil))
+ (insert " [" todo-comment-string ": "
+ (prog1 (let ((buffer-read-only t))
+ (read-string prompt))
+ ;; If user moved point while inserting a
+ ;; comment, restore it and ensure done items
+ ;; section is displayed.
+ (unless (= (point) opoint)
+ (todo-category-number ocat)
+ (let ((todo-show-with-done t))
+ (todo-category-select)
+ (goto-char opoint)))
+ (todo-item-end))
+ "]"))))))
(multiline
(let ((buf todo-edit-buffer))
+ (setq todo-edit-item--cat ocat)
+ (setq todo-edit-item--pos opoint)
(set-window-buffer (selected-window)
(set-buffer (make-indirect-buffer
(buffer-name) buf)))
@@ -2208,10 +2256,14 @@ the item at point."
;; Ensure lines following hard newlines are indented.
(setq new (replace-regexp-in-string "\\(\n\\)[^[:blank:]]"
"\n\t" new nil nil 1))
- ;; If user moved point during editing, make sure it moves back.
- (goto-char opoint)
- (todo-remove-item)
- (todo-insert-with-overlays new)
+ ;; If user moved point while editing item, restore it.
+ (unless (= (point) opoint)
+ (todo-category-number ocat)
+ (todo-category-select)
+ (goto-char opoint))
+ (let ((buffer-read-only nil))
+ (todo-remove-item)
+ (todo-insert-with-overlays new))
(move-to-column item-beg)))))))))
(defun todo-edit-quit ()
@@ -2243,6 +2295,9 @@ made in the number or names of categories."
(kill-buffer)
(unless (eq (current-buffer) buf)
(set-window-buffer (selected-window) (set-buffer buf)))
+ (todo-category-number todo-edit-item--cat)
+ (todo-category-select)
+ (goto-char todo-edit-item--pos)
(if transient-mark-mode (deactivate-mark)))
;; We got here via `F e'.
(when (todo-check-format)
@@ -2277,7 +2332,6 @@ made in the number or names of categories."
;; INC must be an integer, but users could pass it via
;; `todo-edit-item' as e.g. `-' or `C-u'.
(inc (prefix-numeric-value inc))
- (buffer-read-only nil)
ndate ntime
year monthname month day) ;; dayname
(when marked (todo--user-error-if-marked-done-item))
@@ -2315,117 +2369,118 @@ made in the number or names of categories."
;; If there are marked items, use only the first to set
;; header changes, and apply these to all marked items.
(when first
- (cond
- ((eq what 'date)
- (setq ndate (todo-read-date)))
- ((eq what 'calendar)
- (setq ndate (save-match-data (todo-set-date-from-calendar))))
- ((eq what 'today)
- (setq ndate (calendar-date-string (calendar-current-date) t t)))
- ((eq what 'dayname)
- (setq ndate (todo-read-dayname)))
- ((eq what 'time)
- (setq ntime (save-match-data (todo-read-time)))
- (when (> (length ntime) 0)
- (setq ntime (concat " " ntime))))
- ;; When date string consists only of a day name,
- ;; passing other date components is a noop.
- ((and odayname (memq what '(year month day))))
- ((eq what 'year)
- (setq day oday
- monthname omonthname
- month omonth
- year (cond ((not current-prefix-arg)
- (todo-read-date 'year))
- ((string= oyear "*")
- (user-error "Cannot increment *"))
- (t
- (number-to-string (+ yy inc))))))
- ((eq what 'month)
- (setf day oday
- year oyear
- (if (memq 'month calendar-date-display-form)
- month
- monthname)
- (cond ((not current-prefix-arg)
- (todo-read-date 'month))
- ((or (string= omonth "*") (= mm 13))
- (user-error "Cannot increment *"))
- (t
- (let* ((mmo mm)
- ;; Change by 12 or more months?
- (bigincp (>= (abs inc) 12))
- ;; Month number is in range 1..12.
- (mminc (+ mm (% inc 12)))
- (mm (% (+ mminc 12) 12))
- ;; 12n mod 12 = 0, so 0 is December.
- (mm (if (= mm 0) 12 mm))
- ;; Does change in month cross year?
- (mmcmp (cond ((< inc 0) (> mm mmo))
- ((> inc 0) (< mm mmo))))
- (yyadjust (if bigincp
- (+ (abs (/ inc 12))
- (if mmcmp 1 0))
- 1)))
- ;; Adjust year if necessary.
- (setq yy (cond ((and (< inc 0)
- (or mmcmp bigincp))
- (- yy yyadjust))
- ((and (> inc 0)
- (or mmcmp bigincp))
- (+ yy yyadjust))
- (t yy)))
- (setq year (number-to-string yy))
- ;; Return the changed numerical month as
- ;; a string or the corresponding month name.
- (if omonth
- (number-to-string mm)
- (aref tma-array (1- mm)))))))
- ;; Since the number corresponding to the arbitrary
- ;; month name "*" is out of the range of
- ;; calendar-last-day-of-month, set it to 1
- ;; (corresponding to January) to allow 31 days.
- (let ((mm (if (= mm 13) 1 mm)))
- (if (> (string-to-number day)
- (calendar-last-day-of-month mm yy))
- (user-error "%s %s does not have %s days"
- (aref tmn-array (1- mm))
- (if (= mm 2) yy "") day))))
- ((eq what 'day)
- (setq year oyear
- month omonth
- monthname omonthname
- day (cond
- ((not current-prefix-arg)
- (todo-read-date 'day mm yy))
- ((string= oday "*")
- (user-error "Cannot increment *"))
- ((or (string= omonth "*") (string= omonthname "*"))
- (setq dd (+ dd inc))
- (if (> dd 31)
- (user-error
- "A month cannot have more than 31 days")
- (number-to-string dd)))
- ;; Increment or decrement day by INC,
- ;; adjusting month and year if necessary
- ;; (if year is "*" assume current year to
- ;; calculate adjustment).
- (t
- (let* ((yy (or yy (calendar-extract-year
- (calendar-current-date))))
- (date (calendar-gregorian-from-absolute
- (+ (calendar-absolute-from-gregorian
- (list mm dd yy))
- inc)))
- (adjmm (nth 0 date)))
- ;; Set year and month(name) to adjusted values.
- (unless (string= year "*")
- (setq year (number-to-string (nth 2 date))))
- (if month
- (setq month (number-to-string adjmm))
- (setq monthname (aref tma-array (1- adjmm))))
- ;; Return changed numerical day as a string.
- (number-to-string (nth 1 date)))))))))
+ (save-match-data
+ (cond
+ ((eq what 'date)
+ (setq ndate (todo-read-date)))
+ ((eq what 'calendar)
+ (setq ndate (todo-set-date-from-calendar)))
+ ((eq what 'today)
+ (setq ndate (calendar-date-string (calendar-current-date) t t)))
+ ((eq what 'dayname)
+ (setq ndate (todo-read-dayname)))
+ ((eq what 'time)
+ (setq ntime (todo-read-time))
+ (when (> (length ntime) 0)
+ (setq ntime (concat " " ntime))))
+ ;; When date string consists only of a day name,
+ ;; passing other date components is a noop.
+ ((and odayname (memq what '(year month day))))
+ ((eq what 'year)
+ (setq day oday
+ monthname omonthname
+ month omonth
+ year (cond ((not current-prefix-arg)
+ (todo-read-date 'year))
+ ((string= oyear "*")
+ (user-error "Cannot increment *"))
+ (t
+ (number-to-string (+ yy inc))))))
+ ((eq what 'month)
+ (setf day oday
+ year oyear
+ (if (memq 'month calendar-date-display-form)
+ month
+ monthname)
+ (cond ((not current-prefix-arg)
+ (todo-read-date 'month))
+ ((or (string= omonth "*") (= mm 13))
+ (user-error "Cannot increment *"))
+ (t
+ (let* ((mmo mm)
+ ;; Change by 12 or more months?
+ (bigincp (>= (abs inc) 12))
+ ;; Month number is in range 1..12.
+ (mminc (+ mm (% inc 12)))
+ (mm (% (+ mminc 12) 12))
+ ;; 12n mod 12 = 0, so 0 is December.
+ (mm (if (= mm 0) 12 mm))
+ ;; Does change in month cross year?
+ (mmcmp (cond ((< inc 0) (> mm mmo))
+ ((> inc 0) (< mm mmo))))
+ (yyadjust (if bigincp
+ (+ (abs (/ inc 12))
+ (if mmcmp 1 0))
+ 1)))
+ ;; Adjust year if necessary.
+ (setq yy (cond ((and (< inc 0)
+ (or mmcmp bigincp))
+ (- yy yyadjust))
+ ((and (> inc 0)
+ (or mmcmp bigincp))
+ (+ yy yyadjust))
+ (t yy)))
+ (setq year (number-to-string yy))
+ ;; Return the changed numerical month as
+ ;; a string or the corresponding month name.
+ (if omonth
+ (number-to-string mm)
+ (aref tma-array (1- mm)))))))
+ ;; Since the number corresponding to the arbitrary
+ ;; month name "*" is out of the range of
+ ;; calendar-last-day-of-month, set it to 1
+ ;; (corresponding to January) to allow 31 days.
+ (let ((mm (if (= mm 13) 1 mm)))
+ (if (> (string-to-number day)
+ (calendar-last-day-of-month mm yy))
+ (user-error "%s %s does not have %s days"
+ (aref tmn-array (1- mm))
+ (if (= mm 2) yy "") day))))
+ ((eq what 'day)
+ (setq year oyear
+ month omonth
+ monthname omonthname
+ day (cond
+ ((not current-prefix-arg)
+ (todo-read-date 'day mm yy))
+ ((string= oday "*")
+ (user-error "Cannot increment *"))
+ ((or (string= omonth "*") (string= omonthname "*"))
+ (setq dd (+ dd inc))
+ (if (> dd 31)
+ (user-error
+ "A month cannot have more than 31 days")
+ (number-to-string dd)))
+ ;; Increment or decrement day by INC,
+ ;; adjusting month and year if necessary
+ ;; (if year is "*" assume current year to
+ ;; calculate adjustment).
+ (t
+ (let* ((yy (or yy (calendar-extract-year
+ (calendar-current-date))))
+ (date (calendar-gregorian-from-absolute
+ (+ (calendar-absolute-from-gregorian
+ (list mm dd yy))
+ inc)))
+ (adjmm (nth 0 date)))
+ ;; Set year and month(name) to adjusted values.
+ (unless (string= year "*")
+ (setq year (number-to-string (nth 2 date))))
+ (if month
+ (setq month (number-to-string adjmm))
+ (setq monthname (aref tma-array (1- adjmm))))
+ ;; Return changed numerical day as a string.
+ (number-to-string (nth 1 date))))))))))
(unless odayname
;; If year, month or day date string components were
;; changed, rebuild the date string.
@@ -2439,13 +2494,14 @@ made in the number or names of categories."
(day day)
(dayname nil)) ;; dayname
(mapconcat #'eval calendar-date-display-form "")))))
- (when ndate (replace-match ndate nil nil nil 1))
- ;; Add new time string to the header, if it was supplied.
- (when ntime
- (if otime
- (replace-match ntime nil nil nil 2)
- (goto-char (match-end 1))
- (insert ntime)))
+ (let ((buffer-read-only nil))
+ (when ndate (replace-match ndate nil nil nil 1))
+ ;; Add new time string to the header, if it was supplied.
+ (when ntime
+ (if otime
+ (replace-match ntime nil nil nil 2)
+ (goto-char (match-end 1))
+ (insert ntime))))
(setq todo-date-from-calendar nil)
(setq first nil))
;; Apply the changes to the first marked item header to the
@@ -2590,16 +2646,26 @@ meaning to raise or lower the item's priority by one."
(save-excursion
(re-search-forward regexp1 nil t)
(match-string-no-properties 1)))))))
- curnum
+ (count 1)
+ (curnum (save-excursion
+ (let ((curstart
+ ;; If point is in done items section or not on an
+ ;; item, use position of first todo item to avoid
+ ;; the while-loop.
+ (or (and (not (todo-done-item-section-p))
+ (todo-item-start))
+ (point-min))))
+ (goto-char (point-min))
+ (while (/= (point) curstart)
+ (setq count (1+ count))
+ (todo-forward-item))
+ count)))
(todo (cond ((or (memq arg '(raise lower))
(eq major-mode 'todo-filtered-items-mode))
(save-excursion
- (let ((curstart (todo-item-start))
- (count 0))
- (goto-char (point-min))
+ (let ((count curnum))
(while (looking-at todo-item-start)
(setq count (1+ count))
- (when (= (point) curstart) (setq curnum count))
(todo-forward-item))
count)))
((eq major-mode 'todo-mode)
@@ -2611,12 +2677,16 @@ meaning to raise or lower the item's priority by one."
((and (eq arg 'raise) (>= curnum 1))
(1- curnum))
((and (eq arg 'lower) (<= curnum maxnum))
- (1+ curnum))))
- candidate
- buffer-read-only)
+ (1+ curnum)))))
+ (and (called-interactively-p 'any)
+ priority ; Check further only if arg or prefix arg was passed.
+ (or (< priority 1) (> priority maxnum))
+ (user-error (format "Priority must be an integer between 1 and %d"
+ maxnum)))
(unless (and priority
+ (/= priority curnum)
(or (and (eq arg 'raise) (zerop priority))
- (and (eq arg 'lower) (> priority maxnum))))
+ (and (eq arg 'lower) (>= priority maxnum))))
;; When moving item to another category, show the category before
;; prompting for its priority.
(unless (or arg (called-interactively-p 'any))
@@ -2632,16 +2702,34 @@ meaning to raise or lower the item's priority by one."
;; while setting priority.
(save-excursion (todo-category-select)))))
;; Prompt for priority only when the category has at least one
- ;; todo item.
- (when (> maxnum 1)
- (while (not priority)
- (setq candidate (read-number prompt
- (if (eq todo-default-priority 'first)
- 1 maxnum)))
- (setq prompt (when (or (< candidate 1) (> candidate maxnum))
- (format "Priority must be an integer between 1 and %d.\n"
- maxnum)))
- (unless prompt (setq priority candidate))))
+ ;; todo item or when passing the current priority as prefix arg.
+ (when (and (or (not priority) (= priority curnum))
+ (> maxnum 1))
+ (let* ((read-number-history (mapcar #'number-to-string
+ (if (eq todo-default-priority
+ 'first)
+ (number-sequence maxnum 1 -1)
+ (number-sequence 1 maxnum))))
+ (history-add-new-input nil)
+ (candidate (or priority
+ (read-number prompt
+ (if (eq todo-default-priority
+ 'first)
+ 1 maxnum))))
+ (success nil))
+ (while (not success)
+ (setq prompt
+ (cond
+ ((and (= candidate curnum)
+ ;; Allow same priority in a different category
+ ;; (only possible when called non-interactively).
+ (called-interactively-p 'any))
+ "New priority must be different from current priority: ")
+ (t (when (or (< candidate 1) (> candidate maxnum))
+ (format "Priority must be an integer between 1 and %d: "
+ maxnum)))))
+ (when prompt (setq candidate (read-number prompt)))
+ (unless prompt (setq priority candidate success t)))))
;; In Top Priorities buffer, an item's priority can be changed
;; wrt items in another category, but not wrt items in the same
;; category.
@@ -2665,31 +2753,31 @@ meaning to raise or lower the item's priority by one."
(match-string-no-properties 1)))))))
(when match
(user-error (concat "Cannot reprioritize items from the same "
- "category in this mode, only in Todo mode")))))
- ;; Interactively or with non-nil ARG, relocate the item within its
- ;; category.
- (when (or arg (called-interactively-p 'any))
- (todo-remove-item))
- (goto-char (point-min))
- (when priority
- (unless (= priority 1)
- (todo-forward-item (1- priority))
- ;; When called from todo-item-undone and the highest priority
- ;; is chosen, this advances point to the first done item, so
- ;; move it up to the empty line above the done items
- ;; separator.
- (when (looking-back (concat "^"
- (regexp-quote todo-category-done)
- "\n")
- (line-beginning-position 0))
- (todo-backward-item))))
- (todo-insert-with-overlays item)
- ;; If item was marked, restore the mark.
- (and marked
- (let* ((ov (todo-get-overlay 'prefix))
- (pref (overlay-get ov 'before-string)))
- (overlay-put ov 'before-string
- (concat todo-item-mark pref))))))))
+ "category in this mode, only in Todo mode")))))
+ (let ((buffer-read-only nil))
+ ;; Interactively or with non-nil ARG, relocate the item within its
+ ;; category.
+ (when (or arg (called-interactively-p 'any))
+ (todo-remove-item))
+ (goto-char (point-min))
+ (when priority
+ (unless (= priority 1)
+ (todo-forward-item (1- priority))
+ ;; When called from todo-item-undone and the highest priority is
+ ;; chosen, this advances point to the first done item, so move
+ ;; it up to the empty line above the done items separator.
+ (when (looking-back (concat "^"
+ (regexp-quote todo-category-done)
+ "\n")
+ (line-beginning-position 0))
+ (todo-backward-item))))
+ (todo-insert-with-overlays item)
+ ;; If item was marked, restore the mark.
+ (and marked
+ (let* ((ov (todo-get-overlay 'prefix))
+ (pref (overlay-get ov 'before-string)))
+ (overlay-put ov 'before-string
+ (concat todo-item-mark pref)))))))))
(defun todo-raise-item-priority ()
"Raise priority of current item by moving it up by one item."
@@ -2730,8 +2818,7 @@ section in the category moved to."
(save-excursion (beginning-of-line)
(looking-at todo-category-done)))
(not marked))
- (let* ((buffer-read-only)
- (file1 todo-current-todo-file)
+ (let* ((file1 todo-current-todo-file)
(item (todo-item-string))
(done-item (and (todo-done-item-p) item))
(omark (save-excursion (todo-item-start) (point-marker)))
@@ -2790,7 +2877,8 @@ section in the category moved to."
(setq here (point))
(while todo-items
(todo-forward-item)
- (todo-insert-with-overlays (pop todo-items))))
+ (let ((buffer-read-only nil))
+ (todo-insert-with-overlays (pop todo-items)))))
;; Move done items en bloc to top of done items section.
(when done-items
(todo-category-number cat2)
@@ -2804,8 +2892,10 @@ section in the category moved to."
(forward-line)
(unless here (setq here (point)))
(while done-items
- (todo-insert-with-overlays (pop done-items))
- (todo-forward-item)))
+ (let ((buffer-read-only nil))
+ (todo-insert-with-overlays (pop done-items)))
+ (todo-item-end)
+ (forward-line)))
;; If only done items were moved, move point to the top
;; one, otherwise, move point to the top moved todo item.
(goto-char here)
@@ -2843,12 +2933,14 @@ section in the category moved to."
(goto-char beg)
(while (< (point) end)
(if (todo-marked-item-p)
- (todo-remove-item)
+ (let ((buffer-read-only nil))
+ (todo-remove-item))
(todo-forward-item)))
(setq todo-categories-with-marks
(assq-delete-all cat1 todo-categories-with-marks)))
(if ov (delete-overlay ov))
- (todo-remove-item))))
+ (let ((buffer-read-only nil))
+ (todo-remove-item)))))
(when todo (todo-update-count 'todo (- todo) cat1))
(when diary (todo-update-count 'diary (- diary) cat1))
(when done (todo-update-count 'done (- done) cat1))
@@ -2977,8 +3069,7 @@ comments without asking."
(marked (assoc cat todo-categories-with-marks))
(num (if (not marked) 1 (cdr marked))))
(when (or marked (todo-done-item-p))
- (let ((buffer-read-only)
- (opoint (point))
+ (let ((opoint (point))
(omark (point-marker))
(first 'first)
(item-count 0)
@@ -3040,19 +3131,20 @@ comments without asking."
(when ov (delete-overlay ov))
(if (not undone)
(goto-char opoint)
- (if marked
- (progn
- (setq item nil)
- (re-search-forward
- (concat "^" (regexp-quote todo-category-done)) nil t)
- (while (not (eobp))
- (if (todo-marked-item-p)
- (todo-remove-item)
- (todo-forward-item)))
- (setq todo-categories-with-marks
- (assq-delete-all cat todo-categories-with-marks)))
- (goto-char omark)
- (todo-remove-item))
+ (let ((buffer-read-only nil))
+ (if marked
+ (progn
+ (setq item nil)
+ (re-search-forward
+ (concat "^" (regexp-quote todo-category-done)) nil t)
+ (while (not (eobp))
+ (if (todo-marked-item-p)
+ (todo-remove-item)
+ (todo-forward-item)))
+ (setq todo-categories-with-marks
+ (assq-delete-all cat todo-categories-with-marks)))
+ (goto-char omark)
+ (todo-remove-item)))
(todo-update-count 'todo item-count)
(todo-update-count 'done (- item-count))
(when diary-count (todo-update-count 'diary diary-count))
@@ -3137,8 +3229,7 @@ this category does not exist in the archive, it is created."
(concat (todo-item-string) "\n")))
(count 0)
(opoint (unless (todo-done-item-p) (point)))
- marked-items beg end all-done
- buffer-read-only)
+ marked-items beg end all-done)
(cond
(all
(if (todo-y-or-n-p "Archive all done items in this category? ")
@@ -3208,36 +3299,37 @@ this category does not exist in the archive, it is created."
(todo-archive-mode))
(if headers-hidden (todo-toggle-item-header))))
(with-current-buffer tbuf
- (cond
- (all
- (save-excursion
- (save-restriction
- ;; Make sure done items are accessible.
- (widen)
- (remove-overlays beg end)
- (delete-region beg end)
- (todo-update-count 'done (- count))
- (todo-update-count 'archived count))))
- ((or marked
- ;; If we're archiving all done items, can't
- ;; first archive item point was on, since
- ;; that will short-circuit the rest.
- (and item (not all)))
- (and marked (goto-char (point-min)))
- (catch 'done
- (while (not (eobp))
- (if (or (and marked (todo-marked-item-p)) item)
- (progn
- (todo-remove-item)
- (todo-update-count 'done -1)
- (todo-update-count 'archived 1)
- ;; Don't leave point below last item.
- (and (or marked item) (bolp) (eolp)
- (< (point-min) (point-max))
- (todo-backward-item))
- (when item
- (throw 'done (setq item nil))))
- (todo-forward-item))))))
+ (let ((buffer-read-only nil))
+ (cond
+ (all
+ (save-excursion
+ (save-restriction
+ ;; Make sure done items are accessible.
+ (widen)
+ (remove-overlays beg end)
+ (delete-region beg end)
+ (todo-update-count 'done (- count))
+ (todo-update-count 'archived count))))
+ ((or marked
+ ;; If we're archiving all done items, can't
+ ;; first archive item point was on, since
+ ;; that will short-circuit the rest.
+ (and item (not all)))
+ (and marked (goto-char (point-min)))
+ (catch 'done
+ (while (not (eobp))
+ (if (or (and marked (todo-marked-item-p)) item)
+ (progn
+ (todo-remove-item)
+ (todo-update-count 'done -1)
+ (todo-update-count 'archived 1)
+ ;; Don't leave point below last item.
+ (and (or marked item) (bolp) (eolp)
+ (< (point-min) (point-max))
+ (todo-backward-item))
+ (when item
+ (throw 'done (setq item nil))))
+ (todo-forward-item)))))))
(when marked
(setq todo-categories-with-marks
(assq-delete-all cat todo-categories-with-marks)))
@@ -3486,7 +3578,6 @@ decreasing or increasing its number."
(let* ((maxnum (length todo-categories))
(prompt (format "Set category priority (1-%d): " maxnum))
(col (current-column))
- (buffer-read-only nil)
(priority (cond ((and (eq arg 'raise) (> curnum 1))
(1- curnum))
((and (eq arg 'lower) (< curnum maxnum))
@@ -3511,6 +3602,7 @@ decreasing or increasing its number."
;; Category's name and items counts list.
(catcons (nth (1- curnum) todo-categories))
(todo-categories (nconc head (list catcons) tail))
+ (buffer-read-only nil)
newcats)
(when lower (setq todo-categories (nreverse todo-categories)))
(setq todo-categories (delete-dups todo-categories))
@@ -4837,7 +4929,9 @@ name in `todo-directory'. See also the documentation string of
(insert-file-contents file)
(let ((sexp (read (buffer-substring-no-properties
(line-beginning-position)
- (line-end-position)))))
+ (line-end-position))))
+ (print-length nil)
+ (print-level nil))
(dolist (cat sexp)
(let ((archive-cat (assoc (car cat) archive-sexp)))
(if archive-cat
@@ -5018,7 +5112,9 @@ With nil or omitted CATEGORY, default to the current category."
(defun todo-update-categories-sexp ()
"Update the `todo-categories' sexp at the top of the file."
- (let (buffer-read-only)
+ (let ((buffer-read-only nil)
+ (print-length nil)
+ (print-level nil))
(save-excursion
(save-restriction
(widen)
@@ -5127,7 +5223,9 @@ but the categories sexp differs from the current value of
(save-restriction
(widen)
(goto-char (point-min))
- (let* ((cats (prin1-to-string todo-categories))
+ (let* ((print-length nil)
+ (print-level nil)
+ (cats (prin1-to-string todo-categories))
(ssexp (buffer-substring-no-properties (line-beginning-position)
(line-end-position)))
(sexp (read ssexp)))
@@ -5237,21 +5335,7 @@ changes you have made in the order of the categories.
;; legitimate place to insert an item. But skip this space if
;; count > 1, since that should only stop on an item.
(when (and not-done (todo-done-item-p) (not count))
- ;; (if (or (not count) (= count 1))
- (re-search-backward "^$" start t))));)
- ;; The preceding sexp is insufficient when buffer is not narrowed,
- ;; since there could be no done items in this category, so the
- ;; search puts us on first todo item of next category. Does this
- ;; ever happen? If so:
- ;; (let ((opoint) (point))
- ;; (forward-line -1)
- ;; (when (or (not count) (= count 1))
- ;; (cond ((looking-at (concat "^" (regexp-quote todo-category-beg)))
- ;; (forward-line -2))
- ;; ((looking-at (concat "^" (regexp-quote todo-category-done)))
- ;; (forward-line -1))
- ;; (t
- ;; (goto-char opoint)))))))
+ (re-search-backward "^$" start t))))
(defun todo-backward-item (&optional count)
"Move point up to start of item with next higher priority.
diff --git a/lisp/comint.el b/lisp/comint.el
index 9d2c245247f..718a972a582 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -258,6 +258,35 @@ to set this in a mode hook, rather than customize the default value."
file)
:group 'comint)
+(defcustom comint-pager nil
+ "If non-nil, the program to use for pagination of program output.
+
+Some programs produce large amounts of output, and have provision for
+pagination of their output through a filter program, commonly known as
+a \"pager\". The pager limits the amount of output produced and
+allows the user to interactively browse the output one page at a time.
+Some programs paginate their output by default, by always starting a
+pager. The program they use as the pager is specified by the
+environment variable PAGER; if that variable is not defined, they use
+some fixed default, such as \"less\".
+
+The interactive browsing aspects of pagination are not needed, and get
+in the way, when the output of the program is directed to an Emacs
+buffer, so in those cases pagination might need to be disabled.
+Disabling pagination means that some programs will produce large
+amounts of output, but most such programs have other ways to limit
+their output, such as additional arguments or Emacs interfaces.
+To disable pagination, this variable's value should be a string that
+names a program, such as \"cat\", which passes through all of the
+output without any filtering or delays. Comint will then set the
+PAGER variable to name that program, when it invokes external
+programs."
+ :version "30.1"
+ :type '(choice (const :tag "Use default PAGER" nil)
+ (const :tag "Don't do paging (PAGER=cat)" "cat")
+ (string :tag "Program name or absolute path of pager"))
+ :group 'comint)
+
(defvar comint-input-ring-file-prefix nil
"The prefix to skip when parsing the input ring file.
This is useful in Zsh when the extended_history option is on.")
@@ -865,6 +894,10 @@ series of processes in the same Comint buffer. The hook
(nconc
(comint-term-environment)
(list (format "INSIDE_EMACS=%s,comint" emacs-version))
+ (when comint-pager
+ (if (stringp comint-pager)
+ (list (format "PAGER=%s" comint-pager))
+ (error "comint-pager should be a string: %s" comint-pager)))
process-environment))
(default-directory
(if (file-accessible-directory-p default-directory)
@@ -1543,6 +1576,8 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'."
(setq isearch-message-function nil)
(setq isearch-wrap-function nil)
(setq isearch-push-state-function nil)
+ ;; Force isearch to not change mark.
+ (setq isearch-opoint (point))
(kill-local-variable 'isearch-lazy-count)
(remove-hook 'isearch-mode-end-hook 'comint-history-isearch-end t)
(unless isearch-suspended
diff --git a/lisp/composite.el b/lisp/composite.el
index fb8b76114f4..3ae3e64d5b9 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -818,7 +818,7 @@ prepending a space before it."
(setq glyph (lgstring-glyph gstring i))
(lglyph-set-char glyph 32)
(lglyph-set-width glyph 1)
- (setq i (+ 2)))
+ (setq i (+ i 2)))
(let ((from (lglyph-from glyph))
(to (lglyph-to glyph))
(j (1+ i)))
@@ -861,7 +861,7 @@ and the second is a glyph for a variation selector."
;; handled in font_range, we end up choosing the Emoji presentation
;; rather than the Text presentation.
(let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
- (set-char-table-range composition-function-table '(#xFE00 . #xFE0E) elt)
+ (set-char-table-range composition-function-table '(#xFE00 . #xFE0D) elt)
(set-char-table-range composition-function-table '(#xE0100 . #xE01EF) elt))
(defun auto-compose-chars (func from to font-object string direction)
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 96ac9da4508..a07406e4c0d 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -957,7 +957,7 @@ Also see the `dired-confirm-shell-command' variable."
;; "&" instead.
(cmd-sep (if (and (or (not w32-shell) file-remote)
(not parallel-in-background))
- ";" "&"))
+ "; " "& "))
(stuff-it
(if (dired--star-or-qmark-p command nil 'keep)
(lambda (x)
@@ -988,7 +988,7 @@ Also see the `dired-confirm-shell-command' variable."
;; Add 'wait' to force those POSIX shells to wait until
;; all commands finish.
(or (and parallel-in-background (not w32-shell)
- " &wait")
+ " & wait")
"")))
(t
(let ((files (mapconcat #'shell-quote-argument
@@ -1000,9 +1000,9 @@ Also see the `dired-confirm-shell-command' variable."
;; Be consistent in how we treat inputs to commands -- do
;; the same here as in the `on-each' case.
(if (and in-background (not w32-shell))
- " &wait"
+ " & wait"
"")))))
- (or (and in-background "&")
+ (or (and in-background "& ")
""))))
;; This is an extra function so that it can be redefined by ange-ftp.
diff --git a/lisp/dired.el b/lisp/dired.el
index d1471e993a1..b4cfaa1842f 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1632,6 +1632,7 @@ In other cases, DIR should be a directory name or a directory filename.
If HDR is non-nil, insert a header line with the directory name."
(let ((opoint (point))
(process-environment (copy-sequence process-environment))
+ (remotep (file-remote-p dir))
end)
(if (and
;; Don't try to invoke `ls' if we are on DOS/Windows where
@@ -1641,31 +1642,29 @@ If HDR is non-nil, insert a header line with the directory name."
(null ls-lisp-use-insert-directory-program)))
;; FIXME: Big ugly hack for Eshell's eshell-ls-use-in-dired.
(not (bound-and-true-p eshell-ls-use-in-dired))
- (or (file-remote-p dir)
+ (or remotep
(if (eq dired-use-ls-dired 'unspecified)
;; Check whether "ls --dired" gives exit code 0, and
;; save the answer in `dired-use-ls-dired'.
(or (setq dired-use-ls-dired
(eq 0 (call-process insert-directory-program
- nil nil nil "--dired")))
+ nil nil nil "--dired" "-N")))
(progn
- (message "ls does not support --dired; \
+ (message "ls does not support --dired -N; \
see `dired-use-ls-dired' for more details.")
nil))
dired-use-ls-dired)))
- (setq switches (concat "--dired " switches)))
+ ;; Use -N with --dired, to countermand possible non-default
+ ;; quoting style, in particular via the environment variable
+ ;; QUOTING_STYLE.
+ (unless remotep
+ (setq switches (concat "--dired -N " switches))))
;; Expand directory wildcards and fill file-list.
(let ((dir-wildcard (insert-directory-wildcard-in-dir-p dir)))
(cond (dir-wildcard
(setq switches (concat "-d " switches))
- ;; We don't know whether the remote ls supports
- ;; "--dired", so we cannot add it to the `process-file'
- ;; call for wildcards.
- (when (file-remote-p dir)
- (setq switches (string-replace "--dired" "" switches)))
(let* ((default-directory (car dir-wildcard))
(script (format "ls %s %s" switches (cdr dir-wildcard)))
- (remotep (file-remote-p dir))
(sh (or (and remotep "/bin/sh")
(executable-find shell-file-name)
(executable-find "sh")))
@@ -2777,10 +2776,11 @@ This kills the Dired buffer, then visits the current line's file or directory."
The optional arguments FIND-FILE-FUNC and FIND-DIR-FUNC specify
functions to visit the file and directory, respectively. If
omitted or nil, these arguments default to `find-file' and `dired',
-respectively."
+respectively. If `dired-kill-when-opening-new-dired-buffer' is
+non-nil, FIND-DIR-FUNC defaults to `find-alternate-file' instead,
+so that the original Dired buffer is not kept."
(interactive "e")
(or find-file-func (setq find-file-func 'find-file))
- (or find-dir-func (setq find-dir-func 'dired))
(let (window pos file)
(save-excursion
(setq window (posn-window (event-end event))
@@ -2788,6 +2788,12 @@ respectively."
(if (not (windowp window))
(error "No file chosen"))
(set-buffer (window-buffer window))
+ (unless find-dir-func
+ (setq find-dir-func
+ (if (and dired-kill-when-opening-new-dired-buffer
+ (< (length (get-buffer-window-list)) 2))
+ 'find-alternate-file
+ 'dired)))
(goto-char pos)
(setq file (dired-get-file-for-visit)))
(if (file-directory-p file)
diff --git a/lisp/dynamic-setting.el b/lisp/dynamic-setting.el
index 9ce09657345..ebe25ab9c75 100644
--- a/lisp/dynamic-setting.el
+++ b/lisp/dynamic-setting.el
@@ -33,6 +33,7 @@
;;; Customizable variables
(declare-function font-get-system-font "xsettings.c" ())
+(declare-function reconsider-frame-font "frame.c" ())
(defvar font-use-system-font)
diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index 8734f7cbebe..69d20d2bad3 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -91,17 +91,17 @@ Default nil means to write characters above \\177 in octal notation."
`((,(rx bol (group (or "Command" "Key" "Macro") ":")) 0 'edmacro-label)
(,(rx bol
(group ";; Keyboard Macro Editor. Press ")
- (group (*? any))
+ (group (*? nonl))
(group " to finish; press "))
(1 'font-lock-comment-face)
(2 'help-key-binding)
(3 'font-lock-comment-face)
- (,(rx (group (*? any))
- (group " to cancel" (* any)))
+ (,(rx (group (*? nonl))
+ (group " to cancel" (* nonl)))
nil nil
(1 'help-key-binding)
(2 'font-lock-comment-face)))
- (,(rx (one-or-more ";") (zero-or-more any)) 0 'font-lock-comment-face)))
+ (,(rx (one-or-more ";") (zero-or-more nonl)) 0 'font-lock-comment-face)))
(defvar edmacro-store-hook)
(defvar edmacro-finish-hook)
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index b894965eae4..416c95e7a34 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -439,7 +439,9 @@ happened."
;; position some markers. The real fix would be to compute the
;; result without having to modify the buffer at all.
(atomic-change-group
- (delete-char -1)
+ ;; Don't use `delete-char'; that may modify the head of the
+ ;; undo list.
+ (delete-region (point) (1- (point)))
(throw
'done
(cond ((eq ?\( syntax)
diff --git a/lisp/emacs-lisp/backtrace.el b/lisp/emacs-lisp/backtrace.el
index 53e17693933..57912c854b0 100644
--- a/lisp/emacs-lisp/backtrace.el
+++ b/lisp/emacs-lisp/backtrace.el
@@ -499,7 +499,6 @@ Reprint the frame with the new view plist."
(defun backtrace-expand-ellipsis (button)
"Expand display of the elided form at BUTTON."
- (interactive)
(goto-char (button-start button))
(unless (get-text-property (point) 'cl-print-ellipsis)
(if (and (> (point) (point-min))
diff --git a/lisp/emacs-lisp/benchmark.el b/lisp/emacs-lisp/benchmark.el
index dc7889c40a0..e50b8524f29 100644
--- a/lisp/emacs-lisp/benchmark.el
+++ b/lisp/emacs-lisp/benchmark.el
@@ -152,7 +152,7 @@ to call it without any argument."
(defmacro benchmark-progn (&rest body)
"Evaluate BODY and message the time taken.
The return value is the value of the final form in BODY."
- (declare (debug body) (indent 0))
+ (declare (debug t) (indent 0))
(let ((value (make-symbol "value"))
(start (make-symbol "start"))
(gcs (make-symbol "gcs"))
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 2bdd3375728..26a1dc4a103 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -167,8 +167,8 @@ Earlier variables shadow later ones with the same name.")
((or `(lambda . ,_) `(closure . ,_))
;; While byte-compile-unfold-bcf can inline dynbind byte-code into
;; letbind byte-code (or any other combination for that matter), we
- ;; can only inline dynbind source into dynbind source or letbind
- ;; source into letbind source.
+ ;; can only inline dynbind source into dynbind source or lexbind
+ ;; source into lexbind source.
;; When the function comes from another file, we byte-compile
;; the inlined function first, and then inline its byte-code.
;; This also has the advantage that the final code does not
@@ -176,7 +176,10 @@ Earlier variables shadow later ones with the same name.")
;; the build more reproducible.
(if (eq fn localfn)
;; From the same file => same mode.
- (macroexp--unfold-lambda `(,fn ,@(cdr form)))
+ (let* ((newform `(,fn ,@(cdr form)))
+ (unfolded (macroexp--unfold-lambda newform)))
+ ;; Use the newform only if it could be optimized.
+ (if (eq unfolded newform) form unfolded))
;; Since we are called from inside the optimizer, we need to make
;; sure not to propagate lexvar values.
(let ((byte-optimize--lexvars nil)
@@ -221,21 +224,17 @@ for speeding up processing.")
(defun byte-optimize--substitutable-p (expr)
"Whether EXPR is a constant that can be propagated."
- ;; Only consider numbers, symbols and strings to be values for substitution
- ;; purposes. Numbers and symbols are immutable, and mutating string
- ;; literals (or results from constant-evaluated string-returning functions)
- ;; can be considered undefined.
- ;; (What about other quoted values, like conses?)
(or (booleanp expr)
(numberp expr)
- (stringp expr)
- (and (consp expr)
- (or (and (memq (car expr) '(quote function))
- (symbolp (cadr expr)))
- ;; (internal-get-closed-var N) can be considered constant for
- ;; const-prop purposes.
- (and (eq (car expr) 'internal-get-closed-var)
- (integerp (cadr expr)))))
+ (arrayp expr)
+ (let ((head (car-safe expr)))
+ (cond ((eq head 'quote) t)
+ ;; Don't substitute #'(lambda ...) since that would enable
+ ;; uncontrolled inlining.
+ ((eq head 'function) (symbolp (cadr expr)))
+ ;; (internal-get-closed-var N) can be considered constant for
+ ;; const-prop purposes.
+ ((eq head 'internal-get-closed-var) (integerp (cadr expr)))))
(keywordp expr)))
(defmacro byte-optimize--pcase (exp &rest cases)
@@ -451,27 +450,10 @@ for speeding up processing.")
. ,(byte-optimize-body exps for-effect)))
;; Needed as long as we run byte-optimize-form after cconv.
- (`(internal-make-closure . ,_)
- (and (not for-effect)
- (progn
- ;; Look up free vars and mark them to be kept, so that they
- ;; won't be optimized away.
- (dolist (var (caddr form))
- (let ((lexvar (assq var byte-optimize--lexvars)))
- (when lexvar
- (setcar (cdr lexvar) t))))
- form)))
-
- (`((lambda . ,_) . ,_)
- (let ((newform (macroexp--unfold-lambda form)))
- (if (eq newform form)
- ;; Some error occurred, avoid infinite recursion.
- form
- (byte-optimize-form newform for-effect))))
-
- ;; FIXME: Strictly speaking, I think this is a bug: (closure...)
- ;; is a *value* and shouldn't appear in the car.
- (`((closure . ,_) . ,_) form)
+ (`(internal-make-closure ,vars ,env . ,rest)
+ (if for-effect
+ `(progn ,@(byte-optimize-body env t))
+ `(,fn ,vars ,(mapcar #'byte-optimize-form env) . ,rest)))
(`(setq ,var ,expr)
(let ((lexvar (assq var byte-optimize--lexvars))
@@ -500,7 +482,7 @@ for speeding up processing.")
(cons fn (mapcar #'byte-optimize-form exps)))
(`(,(pred (not symbolp)) . ,_)
- (byte-compile-warn-x fn "`%s' is a malformed function" fn)
+ (byte-compile-warn-x form "`%s' is a malformed function" fn)
form)
((guard (when for-effect
@@ -887,7 +869,13 @@ for speeding up processing.")
(cons accum args))
(defun byte-optimize-plus (form)
- (let ((args (remq 0 (byte-opt--arith-reduce #'+ 0 (cdr form)))))
+ (let* ((not-0 (remq 0 (byte-opt--arith-reduce #'+ 0 (cdr form))))
+ (args (if (and (= (length not-0) 1)
+ (> (length form) 2))
+ ;; We removed numbers and only one arg remains: add a 0
+ ;; so that it isn't turned into (* X 1) later on.
+ (append not-0 '(0))
+ not-0)))
(cond
;; (+) -> 0
((null args) 0)
@@ -1420,12 +1408,15 @@ See Info node `(elisp) Integer Basics'."
(defun byte-optimize-funcall (form)
- ;; (funcall (lambda ...) ...) ==> ((lambda ...) ...)
- ;; (funcall foo ...) ==> (foo ...)
- (let ((fn (nth 1 form)))
- (if (memq (car-safe fn) '(quote function))
- (cons (nth 1 fn) (cdr (cdr form)))
- form)))
+ ;; (funcall #'(lambda ...) ...) -> (let ...)
+ ;; (funcall #'SYM ...) -> (SYM ...)
+ ;; (funcall 'SYM ...) -> (SYM ...)
+ (pcase form
+ (`(,_ #'(lambda . ,_) . ,_)
+ (macroexp--unfold-lambda form))
+ (`(,_ ,(or `#',f `',(and f (pred symbolp))) . ,actuals)
+ `(,f ,@actuals))
+ (_ form)))
(defun byte-optimize-apply (form)
(let ((len (length form)))
@@ -1520,6 +1511,44 @@ See Info node `(elisp) Integer Basics'."
;; (list) -> nil
(and (cdr form) form))
+(put 'nconc 'byte-optimizer #'byte-optimize-nconc)
+(defun byte-optimize-nconc (form)
+ (pcase (cdr form)
+ ('nil nil) ; (nconc) -> nil
+ (`(,x) x) ; (nconc X) -> X
+ (_ (named-let loop ((args (cdr form)) (newargs nil))
+ (if args
+ (let ((arg (car args))
+ (prev (car newargs)))
+ (cond
+ ;; Elide null args.
+ ((and (null arg)
+ ;; Don't elide a terminal nil unless preceded by
+ ;; a nonempty proper list, since that will have
+ ;; its last cdr forced to nil.
+ (or (cdr args)
+ ;; FIXME: prove the 'nonempty proper list' property
+ ;; for more forms than just `list', such as
+ ;; `append', `mapcar' etc.
+ (eq 'list (car-safe (car newargs)))))
+ (loop (cdr args) newargs))
+ ;; Merge consecutive `list' args.
+ ((and (eq (car-safe arg) 'list)
+ (eq (car-safe prev) 'list))
+ (loop (cons (cons (car prev) (append (cdr prev) (cdr arg)))
+ (cdr args))
+ (cdr newargs)))
+ ;; (nconc ... (list A) B ...) -> (nconc ... (cons A B) ...)
+ ((and (eq (car-safe prev) 'list) (cdr prev) (null (cddr prev)))
+ (loop (cdr args)
+ (cons (list 'cons (cadr prev) arg)
+ (cdr newargs))))
+ (t (loop (cdr args) (cons arg newargs)))))
+ (let ((new-form (cons (car form) (nreverse newargs))))
+ (if (equal new-form form)
+ form
+ new-form)))))))
+
(put 'append 'byte-optimizer #'byte-optimize-append)
(defun byte-optimize-append (form)
;; There is (probably) too much code relying on `append' to return a
@@ -1572,11 +1601,9 @@ See Info node `(elisp) Integer Basics'."
;; (append X) -> X
((null newargs) arg)
- ;; (append (list Xs...) nil) -> (list Xs...)
- ((and (null arg)
- newargs (null (cdr newargs))
- (consp prev) (eq (car prev) 'list))
- prev)
+ ;; (append ... (list Xs...) nil) -> (append ... (list Xs...))
+ ((and (null arg) (eq (car-safe prev) 'list))
+ (cons (car form) (nreverse newargs)))
;; (append '(X) Y) -> (cons 'X Y)
;; (append (list X) Y) -> (cons X Y)
@@ -1587,13 +1614,13 @@ See Info node `(elisp) Integer Basics'."
(= (length (cadr prev)) 1)))
((eq (car prev) 'list)
(= (length (cdr prev)) 1))))
- (list 'cons (if (eq (car prev) 'quote)
- (macroexp-quote (caadr prev))
- (cadr prev))
- arg))
+ `(cons ,(if (eq (car prev) 'quote)
+ (macroexp-quote (caadr prev))
+ (cadr prev))
+ ,arg))
(t
- (let ((new-form (cons 'append (nreverse (cons arg newargs)))))
+ (let ((new-form (cons (car form) (nreverse (cons arg newargs)))))
(if (equal new-form form)
form
new-form))))))))
@@ -1654,7 +1681,8 @@ See Info node `(elisp) Integer Basics'."
category-docstring category-set-mnemonics char-category-set
copy-category-table get-unused-category make-category-set
;; character.c
- char-width multibyte-char-to-unibyte string unibyte-char-to-multibyte
+ char-width get-byte multibyte-char-to-unibyte string string-width
+ unibyte-char-to-multibyte unibyte-string
;; charset.c
decode-char encode-char
;; chartab.c
@@ -1684,6 +1712,8 @@ See Info node `(elisp) Integer Basics'."
line-beginning-position line-end-position ngettext pos-bol pos-eol
propertize region-beginning region-end string-to-char
user-full-name user-login-name
+ ;; eval.c
+ special-variable-p
;; fileio.c
car-less-than-car directory-name-p file-directory-p file-exists-p
file-name-absolute-p file-name-concat file-newer-than-file-p
@@ -1692,23 +1722,28 @@ See Info node `(elisp) Integer Basics'."
file-locked-p
;; floatfns.c
abs acos asin atan ceiling copysign cos exp expt fceiling ffloor
- float floor fround ftruncate isnan ldexp log logb round sin sqrt tan
+ float floor frexp fround ftruncate isnan ldexp log logb round
+ sin sqrt tan
truncate
;; fns.c
append assq
base64-decode-string base64-encode-string base64url-encode-string
+ buffer-hash buffer-line-statistics
compare-strings concat copy-alist copy-hash-table copy-sequence elt
featurep get
gethash hash-table-count hash-table-rehash-size
hash-table-rehash-threshold hash-table-size hash-table-test
hash-table-weakness
length length< length= length>
- line-number-at-pos locale-info make-hash-table
+ line-number-at-pos load-average locale-info make-hash-table md5
member memq memql nth nthcdr
- object-intervals rassoc rassq reverse
- string-as-multibyte string-as-unibyte string-bytes string-distance
+ object-intervals rassoc rassq reverse secure-hash
+ string-as-multibyte string-as-unibyte string-bytes
+ string-collate-equalp string-collate-lessp string-distance
string-equal string-lessp string-make-multibyte string-make-unibyte
- string-search string-to-multibyte substring substring-no-properties
+ string-search string-to-multibyte string-to-unibyte
+ string-version-lessp
+ substring substring-no-properties
sxhash-eq sxhash-eql sxhash-equal sxhash-equal-including-properties
take vconcat
;; frame.c
@@ -1768,6 +1803,7 @@ See Info node `(elisp) Integer Basics'."
all-threads condition-mutex condition-name mutex-name thread-live-p
thread-name
;; timefns.c
+ current-cpu-time
current-time-string current-time-zone decode-time encode-time
float-time format-time-string time-add time-convert time-equal-p
time-less-p time-subtract
@@ -1827,7 +1863,8 @@ See Info node `(elisp) Integer Basics'."
;; fileio.c
default-file-modes
;; fns.c
- eql equal hash-table-p identity proper-list-p safe-length
+ eql equal equal-including-properties
+ hash-table-p identity proper-list-p safe-length
secure-hash-algorithms
;; frame.c
frame-list frame-live-p framep last-nonminibuffer-frame
@@ -1905,10 +1942,11 @@ See Info node `(elisp) Integer Basics'."
isnan ldexp logb round sqrt truncate
;; fns.c
assq base64-decode-string base64-encode-string base64url-encode-string
- concat elt eql equal hash-table-p identity length length< length=
+ concat elt eql equal equal-including-properties
+ hash-table-p identity length length< length=
length> member memq memql nth nthcdr proper-list-p rassoc rassq
safe-length string-bytes string-distance string-equal string-lessp
- string-search take
+ string-search string-version-lessp take
;; search.c
regexp-quote
;; syntax.c
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index fd9913d1be8..a377ec395e1 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -145,6 +145,11 @@ So far, FUNCTION can only be a symbol, not a lambda expression."
(list 'function-put (list 'quote f)
''side-effect-free (list 'quote val))))
+(defalias 'byte-run--set-important-return-value
+ #'(lambda (f _args val)
+ (list 'function-put (list 'quote f)
+ ''important-return-value (list 'quote val))))
+
(put 'compiler-macro 'edebug-declaration-spec
'(&or symbolp ("lambda" &define lambda-list lambda-doc def-body)))
@@ -226,6 +231,8 @@ This may shift errors from run-time to compile-time.")
(list 'side-effect-free #'byte-run--set-side-effect-free
"If non-nil, calls can be ignored if their value is unused.
If `error-free', drop calls even if `byte-compile-delete-errors' is nil.")
+ (list 'important-return-value #'byte-run--set-important-return-value
+ "If non-nil, warn about calls not using the returned value.")
(list 'compiler-macro #'byte-run--set-compiler-macro)
(list 'doc-string #'byte-run--set-doc-string)
(list 'indent #'byte-run--set-indent)
@@ -651,7 +658,7 @@ in `byte-compile-warning-types'; see the variable
types. The types that can be suppressed with this macro are
`free-vars', `callargs', `redefine', `obsolete',
`interactive-only', `lexical', `ignored-return-value', `constants',
-`suspicious' and `empty-body'."
+`suspicious', `empty-body' and `mutate-constant'."
;; Note: during compilation, this definition is overridden by the one in
;; byte-compile-initial-macro-environment.
(declare (debug (sexp body)) (indent 1))
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index c84c70971b3..262c658e258 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -330,6 +330,8 @@ Elements of the list may be:
This depends on the `docstrings' warning type.
suspicious constructs that usually don't do what the coder wanted.
empty-body body argument to a special form or macro is empty.
+ mutate-constant
+ code that mutates program constants such as quoted lists
If the list begins with `not', then the remaining elements specify warnings to
suppress. For example, (not free-vars) will suppress the `free-vars' warning.
@@ -1617,21 +1619,20 @@ extra args."
(dolist (elt '(format message format-message error))
(put elt 'byte-compile-format-like t))
-(defun byte-compile--suspicious-defcustom-choice (type)
- "Say whether defcustom TYPE looks odd."
- ;; Check whether there's anything like (choice (const :tag "foo" ;; 'bar)).
+(defun byte-compile--defcustom-type-quoted (type)
+ "Whether defcustom TYPE contains an accidentally quoted value."
+ ;; Detect mistakes such as (const 'abc).
;; We don't actually follow the syntax for defcustom types, but this
;; should be good enough.
- (catch 'found
- (if (and (consp type)
- (proper-list-p type))
- (if (memq (car type) '(const other))
- (when (assq 'quote type)
- (throw 'found t))
- (when (memq t (mapcar #'byte-compile--suspicious-defcustom-choice
- type))
- (throw 'found t)))
- nil)))
+ (and (consp type)
+ (proper-list-p type)
+ (if (memq (car type) '(const other))
+ (assq 'quote type)
+ (let ((elts (cdr type)))
+ (while (and elts (not (byte-compile--defcustom-type-quoted
+ (car elts))))
+ (setq elts (cdr elts)))
+ elts))))
;; Warn if a custom definition fails to specify :group, or :type.
(defun byte-compile-nogroup-warn (form)
@@ -1645,10 +1646,10 @@ extra args."
(byte-compile-warn-x (cadr name)
"defcustom for `%s' fails to specify type"
(cadr name)))
- ((byte-compile--suspicious-defcustom-choice type)
+ ((byte-compile--defcustom-type-quoted type)
(byte-compile-warn-x
(cadr name)
- "defcustom for `%s' has syntactically odd type `%s'"
+ "defcustom for `%s' may have accidentally quoted value in type `%s'"
(cadr name) type)))))
(if (and (memq (car form) '(custom-declare-face custom-declare-variable))
byte-compile-current-group)
@@ -3081,6 +3082,14 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(byte-compile-warn-x
arg "repeated variable %s in lambda-list" arg))
(t
+ (when (and lexical-binding
+ (cconv--not-lexical-var-p
+ arg byte-compile-bound-variables)
+ (byte-compile-warning-enabled-p 'lexical arg))
+ (byte-compile-warn-x
+ arg
+ "Lexical argument shadows the dynamic variable %S"
+ arg))
(push arg vars))))
(setq list (cdr list)))))
@@ -3464,8 +3473,9 @@ lambda-expression."
run-hook-with-args-until-failure))
(pcase (cdr form)
(`(',var . ,_)
- (when (memq var byte-compile-lexical-variables)
- (byte-compile-report-error
+ (when (and (memq var byte-compile-lexical-variables)
+ (byte-compile-warning-enabled-p 'lexical var))
+ (byte-compile-warn
(format-message "%s cannot use lexical var `%s'" fn var))))))
;; Warn about using obsolete hooks.
(if (memq fn '(add-hook remove-hook))
@@ -3488,6 +3498,34 @@ lambda-expression."
(format-message "; use `%s' instead."
interactive-only))
(t "."))))
+ (let ((mutargs (function-get (car form) 'mutates-arguments)))
+ (when mutargs
+ (dolist (idx (if (eq mutargs 'all-but-last)
+ (number-sequence 1 (- (length form) 2))
+ mutargs))
+ (let ((arg (nth idx form)))
+ (when (and (or (and (eq (car-safe arg) 'quote)
+ (consp (nth 1 arg)))
+ (arrayp arg))
+ (byte-compile-warning-enabled-p
+ 'mutate-constant (car form)))
+ (byte-compile-warn-x form "`%s' on constant %s (arg %d)"
+ (car form)
+ (if (consp arg) "list" (type-of arg))
+ idx))))))
+
+ (let ((funargs (function-get (car form) 'funarg-positions)))
+ (dolist (funarg funargs)
+ (let ((arg (if (numberp funarg)
+ (nth funarg form)
+ (cadr (memq funarg form)))))
+ (when (and (eq 'quote (car-safe arg))
+ (eq 'lambda (car-safe (cadr arg))))
+ (byte-compile-warn-x
+ arg "(lambda %s ...) quoted with %s rather than with #%s"
+ (or (nth 1 (cadr arg)) "()")
+ "'" "'"))))) ; avoid styled quotes
+
(if (eq (car-safe (symbol-function (car form))) 'macro)
(byte-compile-report-error
(format-message "`%s' defined after use in %S (missing `require' of a library file?)"
@@ -3502,67 +3540,7 @@ lambda-expression."
;; so maybe we don't need to bother about it here?
(setq form (cons 'progn (cdr form)))
(setq handler #'byte-compile-progn))
- ((and (or sef
- (memq (car form)
- ;; FIXME: Use a function property (declaration)
- ;; instead of this list.
- '(
- ;; Functions that are side-effect-free
- ;; except for the behaviour of
- ;; functions passed as argument.
- mapcar mapcan mapconcat
- cl-mapcar cl-mapcan cl-maplist cl-map cl-mapcon
- cl-reduce
- assoc assoc-default plist-get plist-member
- cl-assoc cl-assoc-if cl-assoc-if-not
- cl-rassoc cl-rassoc-if cl-rassoc-if-not
- cl-member cl-member-if cl-member-if-not
- cl-adjoin
- cl-mismatch cl-search
- cl-find cl-find-if cl-find-if-not
- cl-position cl-position-if cl-position-if-not
- cl-count cl-count-if cl-count-if-not
- cl-remove cl-remove-if cl-remove-if-not
- cl-member cl-member-if cl-member-if-not
- cl-remove-duplicates
- cl-subst cl-subst-if cl-subst-if-not
- cl-substitute cl-substitute-if
- cl-substitute-if-not
- cl-sublis
- cl-union cl-intersection
- cl-set-difference cl-set-exclusive-or
- cl-subsetp
- cl-every cl-some cl-notevery cl-notany
- cl-tree-equal
-
- ;; Functions that mutate and return a list.
- cl-delete-if cl-delete-if-not
- ;; `delete-dups' and `delete-consecutive-dups'
- ;; never delete the first element so it's
- ;; safe to ignore their return value, but
- ;; this isn't the case with
- ;; `cl-delete-duplicates'.
- cl-delete-duplicates
- cl-nsubst cl-nsubst-if cl-nsubst-if-not
- cl-nsubstitute cl-nsubstitute-if
- cl-nsubstitute-if-not
- cl-nunion cl-nintersection
- cl-nset-difference cl-nset-exclusive-or
- cl-nreconc cl-nsublis
- cl-merge
- ;; It's safe to ignore the value of `sort'
- ;; and `nreverse' when used on arrays,
- ;; but most calls pass lists.
- nreverse
- sort cl-sort cl-stable-sort
-
- ;; Adding the following functions yields many
- ;; positives; evaluate how many of them are
- ;; false first.
-
- ;;delq delete cl-delete
- ;;nconc plist-put
- )))
+ ((and (or sef (function-get (car form) 'important-return-value))
;; Don't warn for arguments to `ignore'.
(not (eq byte-compile--for-effect 'for-effect-no-warn))
(byte-compile-warning-enabled-p
@@ -3587,17 +3565,139 @@ lambda-expression."
((and (byte-code-function-p (car form))
(memq byte-optimize '(t lap)))
(byte-compile-unfold-bcf form))
- ((and (eq (car-safe (car form)) 'lambda)
- ;; if the form comes out the same way it went in, that's
- ;; because it was malformed, and we couldn't unfold it.
- (not (eq form (setq form (macroexp--unfold-lambda form)))))
- (byte-compile-form form byte-compile--for-effect)
- (setq byte-compile--for-effect nil))
((byte-compile-normal-call form)))
(if byte-compile--for-effect
(byte-compile-discard))
(pop byte-compile-form-stack)))
+(let ((important-return-value-fns
+ '(
+ ;; These functions are side-effect-free except for the
+ ;; behaviour of functions passed as argument.
+ mapcar mapcan mapconcat
+ assoc plist-get plist-member
+
+ ;; It's safe to ignore the value of `sort' and `nreverse'
+ ;; when used on arrays, but most calls pass lists.
+ nreverse sort
+
+ match-data
+
+ ;; Warning about these functions causes some false positives that are
+ ;; laborious to eliminate; see bug#61730.
+ ;;delq delete
+ ;;nconc plist-put
+ )))
+ (dolist (fn important-return-value-fns)
+ (put fn 'important-return-value t)))
+
+(let ((mutating-fns
+ ;; FIXME: Should there be a function declaration for this?
+ ;;
+ ;; (FUNC . ARGS) means that FUNC mutates arguments whose indices are
+ ;; in the list ARGS, starting at 1, or all but the last argument if
+ ;; ARGS is `all-but-last'.
+ '(
+ (setcar 1) (setcdr 1) (aset 1)
+ (nreverse 1)
+ (nconc . all-but-last)
+ (nbutlast 1) (ntake 2)
+ (sort 1)
+ (delq 2) (delete 2)
+ (delete-dups 1) (delete-consecutive-dups 1)
+ (plist-put 1)
+ (assoc-delete-all 2) (assq-delete-all 2) (rassq-delete-all 2)
+ (fillarray 1)
+ (store-substring 1)
+ (clear-string 1)
+
+ (add-text-properties 4) (put-text-property 5) (set-text-properties 4)
+ (remove-text-properties 4) (remove-list-of-text-properties 4)
+ (alter-text-property 5)
+ (add-face-text-property 5) (add-display-text-property 5)
+
+ (cl-delete 2) (cl-delete-if 2) (cl-delete-if-not 2)
+ (cl-delete-duplicates 1)
+ (cl-nsubst 3) (cl-nsubst-if 3) (cl-nsubst-if-not 3)
+ (cl-nsubstitute 3) (cl-nsubstitute-if 3) (cl-nsubstitute-if-not 3)
+ (cl-nsublis 2)
+ (cl-nunion 1 2) (cl-nintersection 1 2) (cl-nset-difference 1 2)
+ (cl-nset-exclusive-or 1 2)
+ (cl-nreconc 1)
+ (cl-sort 1) (cl-stable-sort 1) (cl-merge 2 3)
+ )))
+ (dolist (entry mutating-fns)
+ (put (car entry) 'mutates-arguments (cdr entry))))
+
+;; Record which arguments expect functions, so we can warn when those
+;; are accidentally quoted with ' rather than with #'
+;; The value of the `funarg-positions' property is a list of function
+;; argument positions, starting with 1, and keywords.
+(dolist (f '( funcall apply mapcar mapatoms mapconcat mapc maphash
+ mapcan map-char-table map-keymap map-keymap-internal
+ functionp
+ seq-do seq-do-indexed seq-sort seq-sort-by seq-group-by
+ seq-find seq-count
+ seq-filter seq-reduce seq-remove seq-keep
+ seq-map seq-map-indexed seq-mapn seq-mapcat
+ seq-drop-while seq-take-while
+ seq-some seq-every-p
+ cl-every cl-some
+ cl-mapcar cl-mapcan cl-mapcon cl-mapc cl-mapl cl-maplist
+ ))
+ (put f 'funarg-positions '(1)))
+(dolist (f '( defalias fset sort
+ replace-regexp-in-string
+ add-hook remove-hook advice-remove advice--remove-function
+ global-set-key local-set-key keymap-global-set keymap-local-set
+ set-process-filter set-process-sentinel
+ ))
+ (put f 'funarg-positions '(2)))
+(dolist (f '( assoc assoc-default assoc-delete-all
+ plist-get plist-member
+ advice-add define-key keymap-set
+ run-at-time run-with-idle-timer run-with-timer
+ seq-contains seq-contains-p seq-set-equal-p
+ seq-position seq-positions seq-uniq
+ seq-union seq-intersection seq-difference))
+ (put f 'funarg-positions '(3)))
+(dolist (f '( cl-find cl-member cl-assoc cl-rassoc cl-position cl-count
+ cl-remove cl-delete
+ cl-subst cl-nsubst
+ cl-substitute cl-nsubstitute
+ cl-remove-duplicates cl-delete-duplicates
+ cl-union cl-nunion cl-intersection cl-nintersection
+ cl-set-difference cl-nset-difference
+ cl-set-exclusive-or cl-nset-exclusive-or
+ cl-nsublis
+ cl-search
+ ))
+ (put f 'funarg-positions '(:test :test-not :key)))
+(dolist (f '( cl-find-if cl-find-if-not cl-member-if cl-member-if-not
+ cl-assoc-if cl-assoc-if-not cl-rassoc-if cl-rassoc-if-not
+ cl-position-if cl-position-if-not cl-count-if cl-count-if-not
+ cl-remove-if cl-remove-if-not cl-delete-if cl-delete-if-not
+ cl-reduce cl-adjoin
+ cl-subsetp
+ ))
+ (put f 'funarg-positions '(1 :key)))
+(dolist (f '( cl-subst-if cl-subst-if-not cl-nsubst-if cl-nsubst-if-not
+ cl-substitute-if cl-substitute-if-not
+ cl-nsubstitute-if cl-nsubstitute-if-not
+ cl-sort cl-stable-sort
+ ))
+ (put f 'funarg-positions '(2 :key)))
+(dolist (fa '((plist-put 4) (alist-get 5) (add-to-list 5)
+ (cl-merge 4 :key)
+ (custom-declare-variable :set :get :initialize :safe)
+ (make-process :filter :sentinel)
+ (make-network-process :filter :sentinel)
+ (all-completions 2 3) (try-completion 2 3) (test-completion 2 3)
+ (completing-read 2 3)
+ ))
+ (put (car fa) 'funarg-positions (cdr fa)))
+
+
(defun byte-compile-normal-call (form)
(when (and (symbolp (car form))
(byte-compile-warning-enabled-p 'callargs (car form)))
@@ -3945,6 +4045,7 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\""
(byte-defop-compiler cons 2)
(byte-defop-compiler aref 2)
(byte-defop-compiler set 2)
+(byte-defop-compiler fset 2)
(byte-defop-compiler (= byte-eqlsign) 2-cmp)
(byte-defop-compiler (< byte-lss) 2-cmp)
(byte-defop-compiler (> byte-gtr) 2-cmp)
@@ -4209,7 +4310,6 @@ This function is never called when `lexical-binding' is nil."
(byte-defop-compiler backward-word)
(byte-defop-compiler list)
(byte-defop-compiler concat)
-(byte-defop-compiler fset)
(byte-defop-compiler (indent-to-column byte-indent-to) byte-compile-indent-to)
(byte-defop-compiler indent-to)
(byte-defop-compiler insert)
@@ -4306,26 +4406,6 @@ This function is never called when `lexical-binding' is nil."
(byte-compile-form (car form))
(byte-compile-out 'byte-nconc 0))))))
-(defun byte-compile-fset (form)
- ;; warn about forms like (fset 'foo '(lambda () ...))
- ;; (where the lambda expression is non-trivial...)
- (let ((fn (nth 2 form))
- body)
- (if (and (eq (car-safe fn) 'quote)
- (eq (car-safe (setq fn (nth 1 fn))) 'lambda))
- (progn
- (setq body (cdr (cdr fn)))
- (if (stringp (car body)) (setq body (cdr body)))
- (if (eq 'interactive (car-safe (car body))) (setq body (cdr body)))
- (if (and (consp (car body))
- (not (eq 'byte-code (car (car body)))))
- (byte-compile-warn-x
- (nth 2 form)
- "A quoted lambda form is the second argument of `fset'. This is probably
- not what you want, as that lambda cannot be compiled. Consider using
- the syntax #'(lambda (...) ...) instead.")))))
- (byte-compile-two-args form))
-
;; (function foo) must compile like 'foo, not like (symbol-function 'foo).
;; Otherwise it will be incompatible with the interpreter,
;; and (funcall (function foo)) will lose with autoloads.
@@ -4980,6 +5060,10 @@ binding slots have been popped."
(byte-compile-warn-x
condition "`condition-case' condition should not be quoted: %S"
condition))
+ (when (and (consp condition) (memq :success condition))
+ (byte-compile-warn-x
+ condition
+ "`:success' must be the first element of a `condition-case' handler"))
(unless (consp condition) (setq condition (list condition)))
(dolist (c condition)
(unless (and c (symbolp c))
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index 601e2c13d61..3e75020a013 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -682,11 +682,6 @@ FORM is the parent form that binds this var."
(when lexical-binding
(dolist (arg args)
(cond
- ((cconv--not-lexical-var-p arg cconv--dynbound-variables)
- (byte-compile-warn-x
- arg
- "Lexical argument shadows the dynamic variable %S"
- arg))
((eq ?& (aref (symbol-name arg) 0)) nil) ;Ignore &rest, &optional, ...
(t (let ((varstruct (list arg nil nil nil nil)))
(cl-pushnew arg byte-compile-lexical-variables)
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 5382e0a0a52..0a3181561bd 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -243,6 +243,29 @@ The name is made by appending a number to PREFIX, default \"T\"."
(defvar cl--bind-enquote) ;Non-nil if &cl-quote was in the formal arglist!
(defvar cl--bind-lets) (defvar cl--bind-forms)
+(defun cl--slet (bindings body &optional nowarn)
+ "Like `cl--slet*' but for \"parallel let\"."
+ (let ((dyns nil)) ;Vars declared as dynbound among the bindings?
+ (when lexical-binding
+ (dolist (binding bindings) ;; `seq-some' lead to bootstrap problems.
+ (when (macroexp--dynamic-variable-p (car binding))
+ (push (car binding) dyns))))
+ (cond
+ (dyns
+ (let ((form `(funcall (lambda (,@(mapcar #'car bindings))
+ ,@(macroexp-unprogn body))
+ ,@(mapcar #'cadr bindings))))
+ (if (not nowarn) form
+ `(with-suppressed-warnings ((lexical ,@dyns)) ,form))))
+ ((null (cdr bindings))
+ (macroexp-let* bindings body))
+ (t `(let ,bindings ,@(macroexp-unprogn body))))))
+
+(defun cl--slet* (bindings body)
+ "Like `macroexp-let*' but uses static scoping for all the BINDINGS."
+ (if (null bindings) body
+ (cl--slet `(,(car bindings)) (cl--slet* (cdr bindings) body))))
+
(defun cl--transform-lambda (form bind-block)
"Transform a function form FORM of name BIND-BLOCK.
BIND-BLOCK is the name of the symbol to which the function will be bound,
@@ -337,10 +360,11 @@ FORM is of the form (ARGS . BODY)."
(list '&rest (car (pop cl--bind-lets))))))))
`((,@(nreverse simple-args) ,@rest-args)
,@header
- ,(macroexp-let* cl--bind-lets
- (macroexp-progn
- `(,@(nreverse cl--bind-forms)
- ,@body)))))))
+ ;; Function arguments are unconditionally statically scoped (bug#47552).
+ ,(cl--slet* cl--bind-lets
+ (macroexp-progn
+ `(,@(nreverse cl--bind-forms)
+ ,@body)))))))
;;;###autoload
(defmacro cl-defun (name args &rest body)
@@ -2896,9 +2920,10 @@ The function's arguments should be treated as immutable.
(cl-defun ,name ,args ,@body))))
(defun cl--defsubst-expand (argns body _simple whole _unsafe &rest argvs)
- (if (and whole (not (cl--safe-expr-p (cons 'progn argvs))))
+ (if (and whole (not (cl--safe-expr-p (macroexp-progn argvs))))
whole
- `(let ,(cl-mapcar #'list argns argvs) ,body)))
+ ;; Function arguments are unconditionally statically scoped (bug#47552).
+ (cl--slet (cl-mapcar #'list argns argvs) body 'nowarn)))
;;; Structures.
@@ -2990,6 +3015,7 @@ To see the documentation for a defined struct type, use
(defsym (if cl--struct-inline 'cl-defsubst 'defun))
(forms nil)
(docstring (if (stringp (car descs)) (pop descs)))
+ (dynbound-slotnames '())
pred-form pred-check)
;; Can't use `cl-check-type' yet.
(unless (cl--struct-name-p name)
@@ -3093,19 +3119,24 @@ To see the documentation for a defined struct type, use
(cons 'and (cdddr pred-form))
`(,predicate cl-x))))
(when pred-form
- (push `(,defsym ,predicate (cl-x)
+ (push `(eval-and-compile
+ ;; Define the predicate to be effective at compile time
+ ;; as native comp relies on `cl-typep' that relies on
+ ;; predicates to be defined as they are registered in
+ ;; cl-deftype-satisfies.
+ (,defsym ,predicate (cl-x)
(declare (side-effect-free error-free) (pure t))
,(if (eq (car pred-form) 'and)
(append pred-form '(t))
`(and ,pred-form t)))
- forms)
- (push `(eval-and-compile
(define-symbol-prop ',name 'cl-deftype-satisfies ',predicate))
forms))
(let ((pos 0) (descp descs))
(while descp
(let* ((desc (pop descp))
(slot (pop desc)))
+ (when (macroexp--dynamic-variable-p slot)
+ (push slot dynbound-slotnames))
(if (memq slot '(cl-tag-slot cl-skip-slot))
(progn
(push nil slots)
@@ -3236,7 +3267,10 @@ To see the documentation for a defined struct type, use
;; forms))
`(progn
(defvar ,tag-symbol)
- ,@(nreverse forms)
+ ,@(if (null dynbound-slotnames)
+ (nreverse forms)
+ `((with-suppressed-warnings ((lexical . ,dynbound-slotnames))
+ ,@(nreverse forms))))
:autoload-end
;; Call cl-struct-define during compilation as well, so that
;; a subsequent cl-defstruct in the same file can correctly include this
@@ -3249,6 +3283,7 @@ To see the documentation for a defined struct type, use
;;; Add cl-struct support to pcase
+;;In use by comp.el
(defun cl--struct-all-parents (class)
(when (cl--struct-class-p class)
(let ((res ())
@@ -3657,6 +3692,45 @@ macro that returns its `&whole' argument."
'(cl-list* cl-acons cl-equalp
cl-random-state-p copy-tree))
+;;; Things whose return value should probably be used.
+(mapc (lambda (x) (function-put x 'important-return-value t))
+ '(
+ ;; Functions that are side-effect-free except for the
+ ;; behaviour of functions passed as argument.
+ cl-mapcar cl-mapcan cl-maplist cl-map cl-mapcon
+ cl-reduce
+ cl-assoc cl-assoc-if cl-assoc-if-not
+ cl-rassoc cl-rassoc-if cl-rassoc-if-not
+ cl-member cl-member-if cl-member-if-not
+ cl-adjoin
+ cl-mismatch cl-search
+ cl-find cl-find-if cl-find-if-not
+ cl-position cl-position-if cl-position-if-not
+ cl-count cl-count-if cl-count-if-not
+ cl-remove cl-remove-if cl-remove-if-not
+ cl-remove-duplicates
+ cl-subst cl-subst-if cl-subst-if-not
+ cl-substitute cl-substitute-if cl-substitute-if-not
+ cl-sublis
+ cl-union cl-intersection cl-set-difference cl-set-exclusive-or
+ cl-subsetp
+ cl-every cl-some cl-notevery cl-notany
+ cl-tree-equal
+
+ ;; Functions that mutate and return a list.
+ cl-delete cl-delete-if cl-delete-if-not
+ cl-delete-duplicates
+ cl-nsubst cl-nsubst-if cl-nsubst-if-not
+ cl-nsubstitute cl-nsubstitute-if cl-nsubstitute-if-not
+ cl-nunion cl-nintersection cl-nset-difference cl-nset-exclusive-or
+ cl-nreconc cl-nsublis
+ cl-merge
+ ;; It's safe to ignore the value of `cl-sort' and `cl-stable-sort'
+ ;; when used on arrays, but most calls pass lists.
+ cl-sort cl-stable-sort
+ ))
+
+
;;; Types and assertions.
;;;###autoload
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index 9445093f143..f410270d340 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -113,6 +113,7 @@ supertypes from the most specific to least specific.")
(record 'cl-slot-descriptor
name initform type props)))
+;; In use by comp.el
(defun cl--struct-get-class (name)
(or (if (not (symbolp name)) name)
(cl--find-class name)
@@ -176,6 +177,7 @@ supertypes from the most specific to least specific.")
(i 0)
(offset (if type 0 1)))
(dolist (slot slots)
+ (put (car slot) 'slot-name t)
(let* ((props (cl--plist-to-alist (cddr slot)))
(typep (assq :type props))
(type (if (null typep) t
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el
index d4200c16c19..7e3ca1f3bae 100644
--- a/lisp/emacs-lisp/comp-cstr.el
+++ b/lisp/emacs-lisp/comp-cstr.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; Keywords: lisp
;; Package: emacs
@@ -36,6 +36,7 @@
;;; Code:
(require 'cl-lib)
+(require 'cl-macs)
(defconst comp--typeof-builtin-types (mapcar (lambda (x)
(append x '(t)))
@@ -86,7 +87,41 @@ Integer values are handled in the `range' slot.")
(ret nil :type (or comp-cstr comp-cstr-f)
:documentation "Returned value."))
+(defun comp--cl-class-hierarchy (x)
+ "Given a class name `x' return its hierarchy."
+ `(,@(mapcar #'cl--struct-class-name (cl--struct-all-parents
+ (cl--struct-get-class x)))
+ atom
+ t))
+
+(defun comp--all-classes ()
+ "Return all non built-in type names currently defined."
+ (let (res)
+ (mapatoms (lambda (x)
+ (when (cl-find-class x)
+ (push x res)))
+ obarray)
+ res))
+
+(defun comp--compute-typeof-types ()
+ (append comp--typeof-builtin-types
+ (mapcar #'comp--cl-class-hierarchy (comp--all-classes))))
+
+(defun comp--compute--pred-type-h ()
+ (cl-loop with h = (make-hash-table :test #'eq)
+ for class-name in (comp--all-classes)
+ for pred = (get class-name 'cl-deftype-satisfies)
+ when pred
+ do (puthash pred class-name h)
+ finally return h))
+
(cl-defstruct comp-cstr-ctxt
+ (typeof-types (comp--compute-typeof-types)
+ :type list
+ :documentation "Type hierarchy.")
+ (pred-type-h (comp--compute--pred-type-h)
+ :type hash-table
+ :documentation "Hash pred -> type.")
(union-typesets-mem (make-hash-table :test #'equal) :type hash-table
:documentation "Serve memoization for
`comp-union-typesets'.")
@@ -107,6 +142,15 @@ Integer values are handled in the `range' slot.")
:documentation "Serve memoization for
`intersection-mem'."))
+(defun comp-cstr-ctxt-update-type-slots (ctxt)
+ "Update the type related slots of CTXT.
+This must run after byte compilation in order to account for user
+defined types."
+ (setf (comp-cstr-ctxt-typeof-types ctxt)
+ (comp--compute-typeof-types))
+ (setf (comp-cstr-ctxt-pred-type-h ctxt)
+ (comp--compute--pred-type-h)))
+
(defmacro with-comp-cstr-accessors (&rest body)
"Define some quick accessor to reduce code vergosity in BODY."
(declare (debug (form body))
@@ -230,7 +274,7 @@ Return them as multiple value."
(cl-loop
named outer
with found = nil
- for l in comp--typeof-builtin-types
+ for l in (comp-cstr-ctxt-typeof-types comp-ctxt)
do (cl-loop
for x in l
for i from (length l) downto 0
@@ -273,7 +317,7 @@ Return them as multiple value."
(cl-loop
with types = (apply #'append typesets)
with res = '()
- for lane in comp--typeof-builtin-types
+ for lane in (comp-cstr-ctxt-typeof-types comp-ctxt)
do (cl-loop
with last = nil
for x in lane
@@ -867,6 +911,23 @@ Non memoized version of `comp-cstr-intersection-no-mem'."
(null (neg cstr))
(equal (typeset cstr) '(cons)))))
+;; Move to comp.el?
+(defsubst comp-cstr-cl-tag-p (cstr)
+ "Return non-nil if CSTR is a CL tag."
+ (with-comp-cstr-accessors
+ (and (null (range cstr))
+ (null (neg cstr))
+ (null (typeset cstr))
+ (length= (valset cstr) 1)
+ (string-match (rx "cl-struct-" (group-n 1 (1+ not-newline)) "-tags")
+ (symbol-name (car (valset cstr)))))))
+
+(defsubst comp-cstr-cl-tag (cstr)
+ "If CSTR is a CL tag return its tag name."
+ (with-comp-cstr-accessors
+ (and (comp-cstr-cl-tag-p cstr)
+ (intern (match-string 1 (symbol-name (car (valset cstr))))))))
+
(defun comp-cstr-= (dst op1 op2)
"Constraint OP1 being = OP2 setting the result into DST."
(with-comp-cstr-accessors
@@ -1121,8 +1182,8 @@ FN non-nil indicates we are parsing a function lambda list."
:ret (comp-type-spec-to-cstr ret)))
(_ (error "Invalid type specifier"))))
-(defun comp-cstr-to-type-spec (cstr)
- "Given CSTR return its type specifier."
+(defun comp--simple-cstr-to-type-spec (cstr)
+ "Given a non comp-cstr-f CSTR return its type specifier."
(let ((valset (comp-cstr-valset cstr))
(typeset (comp-cstr-typeset cstr))
(range (comp-cstr-range cstr))
@@ -1176,6 +1237,20 @@ FN non-nil indicates we are parsing a function lambda list."
`(not ,final)
final))))
+(defun comp-cstr-to-type-spec (cstr)
+ "Given CSTR return its type specifier."
+ (cl-etypecase cstr
+ (comp-cstr-f
+ `(function
+ ,(mapcar (lambda (x)
+ (cl-etypecase x
+ (comp-cstr (comp-cstr-to-type-spec x))
+ (symbol x)))
+ (comp-cstr-f-args cstr))
+ ,(comp--simple-cstr-to-type-spec (comp-cstr-f-ret cstr))))
+ (comp-cstr
+ (comp--simple-cstr-to-type-spec cstr))))
+
(provide 'comp-cstr)
;;; comp-cstr.el ends here
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 025d21631bb..22fb08e4688 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; Keywords: lisp
;; Package: emacs
@@ -277,10 +277,10 @@ Useful to hook into pass checkers.")
;; FIXME this probably should not be here but... good for now.
(defconst comp-known-type-specifiers
`(
- ;; Functions we can trust not to be or if redefined should expose
- ;; the same type. Vast majority of these is either pure or
- ;; primitive, the original list is the union of pure +
- ;; side-effect-free-fns + side-effect-and-error-free-fns:
+ ;; Functions we can trust not to be redefined, or, if redefined,
+ ;; to expose the same type. The vast majority of these are
+ ;; either pure or primitive; the original list is the union of
+ ;; pure + side-effect-free-fns + side-effect-and-error-free-fns:
(% (function ((or number marker) (or number marker)) number))
(* (function (&rest (or number marker)) number))
(+ (function (&rest (or number marker)) number))
@@ -307,7 +307,8 @@ Useful to hook into pass checkers.")
(bignump (function (t) boolean))
(bobp (function () boolean))
(bolp (function () boolean))
- (bool-vector-count-consecutive (function (bool-vector boolean integer) fixnum))
+ (bool-vector-count-consecutive
+ (function (bool-vector boolean integer) fixnum))
(bool-vector-count-population (function (bool-vector) fixnum))
(bool-vector-not (function (bool-vector &optional bool-vector) bool-vector))
(bool-vector-p (function (t) boolean))
@@ -317,10 +318,12 @@ Useful to hook into pass checkers.")
(buffer-file-name (function (&optional buffer) (or string null)))
(buffer-list (function (&optional frame) list))
(buffer-local-variables (function (&optional buffer) list))
- (buffer-modified-p (function (&optional buffer) boolean))
+ (buffer-modified-p
+ (function (&optional buffer) (or boolean (member autosaved))))
(buffer-size (function (&optional buffer) integer))
(buffer-string (function () string))
- (buffer-substring (function ((or integer marker) (or integer marker)) string))
+ (buffer-substring
+ (function ((or integer marker) (or integer marker)) string))
(bufferp (function (t) boolean))
(byte-code-function-p (function (t) boolean))
(capitalize (function (or integer string) (or integer string)))
@@ -340,17 +343,27 @@ Useful to hook into pass checkers.")
(characterp (function (t &optional t) boolean))
(charsetp (function (t) boolean))
(commandp (function (t &optional t) boolean))
- (compare-strings (function (string (or integer marker null) (or integer marker null) string (or integer marker null) (or integer marker null) &optional t) (or (member t) fixnum)))
+ (compare-strings
+ (function (string (or integer marker null) (or integer marker null) string
+ (or integer marker null) (or integer marker null)
+ &optional t)
+ (or (member t) fixnum)))
(concat (function (&rest sequence) string))
(cons (function (t t) cons))
(consp (function (t) boolean))
- (coordinates-in-window-p (function (cons window) boolean))
+ (coordinates-in-window-p
+ (function (cons window)
+ (or cons null
+ (member bottom-divider right-divider mode-line header-line
+ tab-line left-fringe right-fringe vertical-line
+ left-margin right-margin))))
(copy-alist (function (list) list))
(copy-marker (function (&optional (or integer marker) boolean) marker))
(copy-sequence (function (sequence) sequence))
(copysign (function (float float) float))
(cos (function (number) float))
- (count-lines (function ((or integer marker) (or integer marker) &optional t) integer))
+ (count-lines
+ (function ((or integer marker) (or integer marker) &optional t) integer))
(current-buffer (function () buffer))
(current-global-map (function () cons))
(current-indentation (function () integer))
@@ -363,7 +376,7 @@ Useful to hook into pass checkers.")
(current-time-zone (function (&optional (or number list)
(or symbol string cons integer))
cons))
- (custom-variable-p (function (symbol) boolean))
+ (custom-variable-p (function (symbol) t))
(decode-char (function (cons t) (or fixnum null)))
(decode-time (function (&optional (or number list)
(or symbol string cons integer)
@@ -372,7 +385,8 @@ Useful to hook into pass checkers.")
(default-boundp (function (symbol) boolean))
(default-value (function (symbol) t))
(degrees-to-radians (function (number) float))
- (documentation (function ((or function symbol subr) &optional t) (or null string)))
+ (documentation
+ (function ((or function symbol subr) &optional t) (or null string)))
(downcase (function ((or fixnum string)) (or fixnum string)))
(elt (function (sequence integer) t))
(encode-char (function (fixnum symbol) (or fixnum null)))
@@ -385,18 +399,18 @@ Useful to hook into pass checkers.")
(error-message-string (function (list) string))
(eventp (function (t) boolean))
(exp (function (number) float))
- (expt (function (number number) float))
+ (expt (function (number number) number))
(fboundp (function (symbol) boolean))
(fceiling (function (float) float))
(featurep (function (symbol &optional symbol) boolean))
(ffloor (function (float) float))
(file-directory-p (function (string) boolean))
(file-exists-p (function (string) boolean))
- (file-locked-p (function (string) boolean))
+ (file-locked-p (function (string) (or boolean string)))
(file-name-absolute-p (function (string) boolean))
(file-newer-than-file-p (function (string string) boolean))
(file-readable-p (function (string) boolean))
- (file-symlink-p (function (string) boolean))
+ (file-symlink-p (function (string) (or boolean string)))
(file-writable-p (function (string) boolean))
(fixnump (function (t) boolean))
(float (function (number) float))
@@ -411,13 +425,15 @@ Useful to hook into pass checkers.")
(frame-first-window (function ((or frame window)) window))
(frame-root-window (function (&optional (or frame window)) window))
(frame-selected-window (function (&optional (or frame window)) window))
- (frame-visible-p (function (frame) boolean))
- (framep (function (t) boolean))
+ (frame-visible-p (function (frame) (or boolean (member icon))))
+ (framep (function (t) symbol))
(fround (function (float) float))
(ftruncate (function (float) float))
(get (function (symbol symbol) t))
(get-buffer (function ((or buffer string)) (or buffer null)))
- (get-buffer-window (function (&optional (or buffer string) (or symbol (integer 0 0))) (or null window)))
+ (get-buffer-window
+ (function (&optional (or buffer string) (or symbol (integer 0 0)))
+ (or null window)))
(get-file-buffer (function (string) (or null buffer)))
(get-largest-window (function (&optional t t t) (or window null)))
(get-lru-window (function (&optional t t t) (or window null)))
@@ -462,7 +478,10 @@ Useful to hook into pass checkers.")
(logxor (function (&rest (or integer marker)) integer))
;; (lsh (function ((integer ,most-negative-fixnum *) integer) integer)) ?
(lsh (function (integer integer) integer))
- (make-byte-code (function ((or fixnum list) string vector integer &optional string t &rest t) vector))
+ (make-byte-code
+ (function ((or fixnum list) string vector integer &optional string t
+ &rest t)
+ vector))
(make-list (function (integer t) list))
(make-marker (function () marker))
(make-string (function (integer fixnum &optional t) string))
@@ -480,7 +499,9 @@ Useful to hook into pass checkers.")
(min (function ((or number marker) &rest (or number marker)) number))
(minibuffer-selected-window (function () (or window null)))
(minibuffer-window (function (&optional frame) window))
- (mod (function ((or number marker) (or number marker)) (or (integer 0 *) (float 0 *))))
+ (mod
+ (function ((or number marker) (or number marker))
+ (or (integer 0 *) (float 0 *))))
(mouse-movement-p (function (t) boolean))
(multibyte-char-to-unibyte (function (fixnum) fixnum))
(natnump (function (t) boolean))
@@ -506,7 +527,7 @@ Useful to hook into pass checkers.")
(previous-window (function (&optional window t t) window))
(prin1-to-string (function (t &optional t t) string))
(processp (function (t) boolean))
- (proper-list-p (function (t) boolean))
+ (proper-list-p (function (t) (or fixnum null)))
(propertize (function (string &rest t) string))
(radians-to-degrees (function (number) float))
(rassoc (function (t list) list))
@@ -544,7 +565,8 @@ Useful to hook into pass checkers.")
(string= (function ((or string symbol) (or string symbol)) boolean))
(stringp (function (t) boolean))
(subrp (function (t) boolean))
- (substring (function ((or string vector) &optional integer integer) (or string vector)))
+ (substring
+ (function ((or string vector) &optional integer integer) (or string vector)))
(sxhash (function (t) integer))
(sxhash-eq (function (t) integer))
(sxhash-eql (function (t) integer))
@@ -641,11 +663,14 @@ Useful to hook into pass checkers.")
(defun comp-known-predicate-p (predicate)
"Return t if PREDICATE is known."
- (when (gethash predicate comp-known-predicates-h) t))
+ (when (or (gethash predicate comp-known-predicates-h)
+ (gethash predicate (comp-cstr-ctxt-pred-type-h comp-ctxt)))
+ t))
(defun comp-pred-to-cstr (predicate)
"Given PREDICATE, return the corresponding constraint."
- (gethash predicate comp-known-predicates-h))
+ (or (gethash predicate comp-known-predicates-h)
+ (gethash predicate (comp-cstr-ctxt-pred-type-h comp-ctxt))))
(defconst comp-symbol-values-optimizable '(most-positive-fixnum
most-negative-fixnum)
@@ -1428,11 +1453,13 @@ clashes."
"Byte-compile and spill the LAP representation for INPUT.
If INPUT is a symbol, it is the function-name to be compiled.
If INPUT is a string, it is the filename to be compiled."
- (let ((byte-native-compiling t)
- (byte-to-native-lambdas-h (make-hash-table :test #'eq))
- (byte-to-native-top-level-forms ())
- (byte-to-native-plist-environment ()))
- (comp-spill-lap-function input)))
+ (let* ((byte-native-compiling t)
+ (byte-to-native-lambdas-h (make-hash-table :test #'eq))
+ (byte-to-native-top-level-forms ())
+ (byte-to-native-plist-environment ())
+ (res (comp-spill-lap-function input)))
+ (comp-cstr-ctxt-update-type-slots comp-ctxt)
+ res))
;;; Limplification pass specific code.
@@ -1540,7 +1567,7 @@ STACK-OFF is the index of the first slot frame involved."
for sp from stack-off
collect (comp-slot-n sp))))
-(cl-defun make-comp-mvar (&key slot (constant nil const-vld) type)
+(cl-defun make-comp-mvar (&key slot (constant nil const-vld) type neg)
"`comp-mvar' initializer."
(let ((mvar (make--comp-mvar :slot slot)))
(when const-vld
@@ -1548,6 +1575,8 @@ STACK-OFF is the index of the first slot frame involved."
(setf (comp-cstr-imm mvar) constant))
(when type
(setf (comp-mvar-typeset mvar) (list type)))
+ (when neg
+ (setf (comp-mvar-neg mvar) t))
mvar))
(defun comp-new-frame (size vsize &optional ssa)
@@ -1716,17 +1745,11 @@ Return value is the fall-through block name."
;; (byte-constant #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (created 126 deleted 126 changed 126)) . 24)
;; (byte-switch)
;; (TAG 126 . 10)
- (cl-loop
- with labels = (cl-loop for target-label being each hash-value of jmp-table
- collect target-label)
- with x = (car labels)
- for l in (cdr-safe labels)
- unless (= l x)
- return nil
- finally return (pcase (nth (1+ (comp-limplify-pc comp-pass))
- (comp-func-lap comp-func))
- (`(TAG ,label . ,_label-sp)
- (= label l)))))
+ (let ((targets (hash-table-values jmp-table)))
+ (when (apply #'= targets)
+ (pcase (nth (1+ (comp-limplify-pc comp-pass)) (comp-func-lap comp-func))
+ (`(TAG ,target . ,_label-sp)
+ (= target (car targets)))))))
(defun comp-emit-switch (var last-insn)
"Emit a Limple for a lap jump table given VAR and LAST-INSN."
@@ -2543,6 +2566,19 @@ TARGET-BB-SYM is the symbol name of the target block."
for insns-seq on (comp-block-insns b)
do
(pcase insns-seq
+ (`((set ,(and (pred comp-mvar-p) mvar-tested-copy)
+ ,(and (pred comp-mvar-p) mvar-tested))
+ (set ,(and (pred comp-mvar-p) mvar-1)
+ (call type-of ,(and (pred comp-mvar-p) mvar-tested-copy)))
+ (set ,(and (pred comp-mvar-p) mvar-2)
+ (call symbol-value ,(and (pred comp-cstr-cl-tag-p) mvar-tag)))
+ (set ,(and (pred comp-mvar-p) mvar-3)
+ (call memq ,(and (pred comp-mvar-p) mvar-1) ,(and (pred comp-mvar-p) mvar-2)))
+ (cond-jump ,(and (pred comp-mvar-p) mvar-3) ,(pred comp-mvar-p) ,bb1 ,bb2))
+ (push `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag)))
+ (comp-block-insns (comp-add-cond-cstrs-target-block b bb2)))
+ (push `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag) :neg t))
+ (comp-block-insns (comp-add-cond-cstrs-target-block b bb1))))
(`((set ,(and (pred comp-mvar-p) cmp-res)
(,(pred comp-call-op-p)
,(and (or (pred comp-equality-fun-p)
@@ -3198,7 +3234,11 @@ Fold the call in case."
(+ (comp-cstr-add lval args))
(- (comp-cstr-sub lval args))
(1+ (comp-cstr-add lval `(,(car args) ,comp-cstr-one)))
- (1- (comp-cstr-sub lval `(,(car args) ,comp-cstr-one))))))
+ (1- (comp-cstr-sub lval `(,(car args) ,comp-cstr-one)))
+ (record (when (comp-cstr-imm-vld-p (car args))
+ (comp-cstr-shallow-copy lval
+ (comp-type-spec-to-cstr
+ (comp-cstr-imm (car args)))))))))
(defun comp-fwprop-insn (insn)
"Propagate within INSN."
@@ -3732,6 +3772,7 @@ Prepare every function for final compilation and drive the C back-end."
',native-comp-compiler-options
native-comp-driver-options
',native-comp-driver-options
+ byte-compile-warnings ',byte-compile-warnings
load-path ',load-path)
,native-comp-async-env-modifier-form
(message "Compiling %s..." ',output)
@@ -4004,6 +4045,7 @@ display a message."
native-comp-driver-options
load-path
backtrace-line-length
+ byte-compile-warnings
;; package-load-list
;; package-user-dir
;; package-directory-list
@@ -4237,8 +4279,9 @@ bytecode definition was not changed in the meantime)."
;; compilation, so update `comp-files-queue' to reflect that.
(unless (or (null load)
(eq load (cdr entry)))
- (cl-substitute (cons file load) (car entry) comp-files-queue
- :key #'car :test #'string=))
+ (setf comp-files-queue
+ (cl-substitute (cons file load) (car entry) comp-files-queue
+ :key #'car :test #'string=)))
(unless (native-compile-async-skip-p file load selector)
(let* ((out-filename (comp-el-to-eln-filename file))
@@ -4324,6 +4367,26 @@ last directory in `native-comp-eln-load-path')."
else
collect (byte-compile-file file))))
+(defun comp-write-bytecode-file (eln-file)
+ "After native compilation write the bytecode file for ELN-FILE.
+Make sure that eln file is younger than byte-compiled one and
+return the filename of this last.
+
+This function can be used only in conjuntion with
+`byte+native-compile' `byte-to-native-output-buffer-file' (see
+`batch-byte+native-compile')."
+ (pcase byte-to-native-output-buffer-file
+ (`(,temp-buffer . ,target-file)
+ (unwind-protect
+ (progn
+ (byte-write-target-file temp-buffer target-file)
+ ;; Touch the .eln in order to have it older than the
+ ;; corresponding .elc.
+ (when (stringp eln-file)
+ (set-file-times eln-file)))
+ (kill-buffer temp-buffer))
+ target-file)))
+
;;;###autoload
(defun batch-byte+native-compile ()
"Like `batch-native-compile', but used for bootstrap.
@@ -4339,16 +4402,7 @@ variable \"NATIVE_DISABLED\" is set, only byte compile."
(let* ((byte+native-compile t)
(byte-to-native-output-buffer-file nil)
(eln-file (car (batch-native-compile))))
- (pcase byte-to-native-output-buffer-file
- (`(,temp-buffer . ,target-file)
- (unwind-protect
- (progn
- (byte-write-target-file temp-buffer target-file)
- ;; Touch the .eln in order to have it older than the
- ;; corresponding .elc.
- (when (stringp eln-file)
- (set-file-times eln-file)))
- (kill-buffer temp-buffer))))
+ (comp-write-bytecode-file eln-file)
(setq command-line-args-left (cdr command-line-args-left)))))
;;;###autoload
@@ -4404,6 +4458,27 @@ of (commands) to run simultaneously."
(delete-directory subdir))))))
(message "Cache cleared"))
+;;;###autoload
+(defun comp-function-type-spec (function)
+ "Return the type specifier of FUNCTION.
+
+This function returns a cons cell whose car is the function
+specifier, and cdr is a symbol, either `inferred' or `know'.
+If the symbol is `inferred', the type specifier is automatically
+inferred from the code itself by the native compiler; if it is
+`know', the type specifier comes from `comp-known-type-specifiers'."
+ (let ((kind 'know)
+ type-spec )
+ (when-let ((res (gethash function comp-known-func-cstr-h)))
+ (setf type-spec (comp-cstr-to-type-spec res)))
+ (let ((f (symbol-function function)))
+ (when (and (null type-spec)
+ (subr-native-elisp-p f))
+ (setf kind 'inferred
+ type-spec (subr-type f))))
+ (when type-spec
+ (cons type-spec kind))))
+
(provide 'comp)
;; LocalWords: limplified limplification limplify Limple LIMPLE libgccjit elc eln
diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el
index 9dd08d00920..dd59a2e02e1 100644
--- a/lisp/emacs-lisp/disass.el
+++ b/lisp/emacs-lisp/disass.el
@@ -63,16 +63,19 @@ redefine OBJECT if it is a symbol."
(list (intern (completing-read (format-prompt "Disassemble function" fn)
obarray 'fboundp t nil nil def))
nil 0 t)))
- (if (and (consp object) (not (functionp object)))
- (setq object `(lambda () ,object)))
- (or indent (setq indent 0)) ;Default indent to zero
- (save-excursion
- (if (or interactive-p (null buffer))
- (with-output-to-temp-buffer "*Disassemble*"
- (set-buffer "*Disassemble*")
- (disassemble-internal object indent (not interactive-p)))
- (set-buffer buffer)
- (disassemble-internal object indent nil)))
+ (let ((lb lexical-binding))
+ (if (and (consp object) (not (functionp object)))
+ (setq object `(lambda () ,object)))
+ (or indent (setq indent 0)) ;Default indent to zero
+ (save-excursion
+ (if (or interactive-p (null buffer))
+ (with-output-to-temp-buffer "*Disassemble*"
+ (set-buffer "*Disassemble*")
+ (let ((lexical-binding lb))
+ (disassemble-internal object indent (not interactive-p))))
+ (set-buffer buffer)
+ (let ((lexical-binding lb))
+ (disassemble-internal object indent nil)))))
nil)
(declare-function native-comp-unit-file "data.c")
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 84e131147cd..20681374ee3 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -391,7 +391,7 @@ or call the function `%s'."))))
(not (equal ,last-message
(current-message))))
(let ((local ,(if globalp "" " in current buffer")))
- (message ,(format "%s %%sabled%%s" pretty-name)
+ (message "%s %sabled%s" ,pretty-name
(if ,getter "en" "dis") local)))))
,@(when after-hook `(,after-hook)))
(force-mode-line-update)
@@ -453,14 +453,17 @@ TURN-ON is a function that will be called with no args in every buffer
and that should try to turn MODE on if applicable for that buffer.
Each of KEY VALUE is a pair of CL-style keyword arguments.
-The :predicate argument specifies in which major modes should the
+The :predicate key specifies in which major modes should the
globalized minor mode be switched on. The value should be t (meaning
switch on the minor mode in all major modes), nil (meaning don't
switch on in any major mode), a list of modes (meaning switch on only
in those modes and their descendants), or a list (not MODES...),
meaning switch on in any major mode except MODES. The value can also
mix all of these forms, see the info node `Defining Minor Modes' for
-details.
+details. The :predicate key causes the macro to create a user option
+named the same as MODE, but ending with \"-modes\" instead of \"-mode\".
+That user option can then be used to customize in which modes this
+globalized minor mode will be switched on.
As the minor mode defined by this function is always global, any
:global keyword is ignored.
Other keywords have the same meaning as in `define-minor-mode',
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index f9f919afb1b..bf890fc35a9 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -407,7 +407,7 @@ The search is done in the source for library LIBRARY."
(setq library (substring library 0 (match-beginning 1))))
;; Strip extension from .emacs.el to make sure symbol is searched in
;; .emacs too.
- (when (string-match "\\.emacs\\(.el\\)" library)
+ (when (string-match "\\.emacs\\(.el\\)\\'" library)
(setq library (substring library 0 (match-beginning 1))))
(let* ((filename (find-library-name library))
(regexp-symbol (cdr (assq type find-function-regexp-alist))))
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index ac001af06bd..a5e29dd5e3b 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -639,6 +639,13 @@ REF must have been previously obtained with `gv-ref'."
;;; Generalized variables.
+;; You'd think noone would write `(setf (error ...) ..)' but it
+;; appears naturally as the result of macroexpansion of things like
+;; (setf (pcase-exhaustive ...)).
+;; We could generalize this to `throw' and `signal', but it seems
+;; preferable to wait until there's a concrete need.
+(gv-define-expander error (lambda (_do &rest args) `(error . ,args)))
+
;; Some Emacs-related place types.
(gv-define-simple-setter buffer-file-name set-visited-file-name t)
(make-obsolete-generalized-variable
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index d44c9d6e23d..1990630608d 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -876,7 +876,7 @@ complete sexp in the innermost containing list at position
2 (counting from 0). This is important for Lisp indentation."
(unless pos (setq pos (point)))
(let ((pss (syntax-ppss pos)))
- (if (nth 9 pss)
+ (if (and (not (nth 2 pss)) (nth 9 pss))
(let ((sexp-start (car (last (nth 9 pss)))))
(parse-partial-sexp sexp-start pos nil nil (syntax-ppss sexp-start)))
pss)))
@@ -1453,7 +1453,7 @@ and initial semicolons."
;; are buffer-local, but we avoid changing them so that they can be set
;; to make `forward-paragraph' and friends do something the user wants.
;;
- ;; `paragraph-start': The `(' in the character alternative and the
+ ;; `paragraph-start': The `(' in the bracket expression and the
;; left-singlequote plus `(' sequence after the \\| alternative prevent
;; sexps and backquoted sexps that follow a docstring from being filled
;; with the docstring. This setting has the consequence of inhibiting
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 417c218c6d7..4e021f738b6 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -92,12 +92,22 @@ report errors as appropriate for this kind of usage."
(forward-sexp (- arg) interactive))
(defun mark-sexp (&optional arg allow-extend)
- "Set mark ARG sexps from point.
-The place mark goes is the same place \\[forward-sexp] would
-move to with the same argument.
-Interactively, if this command is repeated
-or (in Transient Mark mode) if the mark is active,
-it marks the next ARG sexps after the ones already marked.
+ "Set mark ARG sexps from point or move mark one sexp.
+When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is
+set ARG sexps from point.
+With ARG and ALLOW-EXTEND both non-nil (interactively, with prefix
+argument), the place to which mark goes is the same place \\[forward-sexp]
+would move to with the same argument; if the mark is active, it moves
+ARG sexps from its current position, otherwise it is set ARG sexps
+from point.
+When invoked interactively without a prefix argument and no active
+region, mark moves one sexp forward.
+When invoked interactively without a prefix argument, and region
+is active, mark moves one sexp away of point (i.e., forward
+if mark is at or after point, back if mark is before point), thus
+extending the region by one sexp. Since the direction of region
+extension depends on the relative position of mark and point, you
+can change the direction by \\[exchange-point-and-mark].
This command assumes point is not in a string or comment."
(interactive "P\np")
(cond ((and allow-extend
diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index 1007be62dd9..5db9af21508 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -597,73 +597,79 @@ instead of just updating them with the new/changed autoloads."
defs))))))
(progress-reporter-done progress))
- ;; If we have no autoloads data, but we have EXTRA-DATA, then
- ;; generate the (almost) empty file anyway.
- (if (and (not defs) extra-data)
+ ;; First group per output file.
+ (dolist (fdefs (seq-group-by (lambda (x) (expand-file-name (car x)))
+ defs))
+ (let ((loaddefs-file (car fdefs))
+ hash)
(with-temp-buffer
- (insert (loaddefs-generate--rubric output-file nil t))
- (search-backward "\f")
- (insert extra-data)
- (ensure-empty-lines 1)
- (write-region (point-min) (point-max) output-file nil 'silent))
- ;; We have some data, so generate the loaddef files. First
- ;; group per output file.
- (dolist (fdefs (seq-group-by (lambda (x) (expand-file-name (car x)))
- defs))
- (let ((loaddefs-file (car fdefs))
- hash)
- (with-temp-buffer
- (if (and updating (file-exists-p loaddefs-file))
- (insert-file-contents loaddefs-file)
- (insert (loaddefs-generate--rubric
- loaddefs-file nil t include-package-version))
- (search-backward "\f")
- (when extra-data
- (insert extra-data)
- (ensure-empty-lines 1)))
- (setq hash (buffer-hash))
- ;; Then group by source file (and sort alphabetically).
- (dolist (section (sort (seq-group-by #'cadr (cdr fdefs))
- (lambda (e1 e2)
- (string<
- (file-name-sans-extension
- (file-name-nondirectory (car e1)))
- (file-name-sans-extension
- (file-name-nondirectory (car e2)))))))
- (pop section)
- (let* ((relfile (file-relative-name
- (cadar section)
- (file-name-directory loaddefs-file)))
- (head (concat "\n\f\n;;; Generated autoloads from "
- relfile "\n\n")))
- (when (file-exists-p loaddefs-file)
- ;; If we're updating an old loaddefs file, then see if
- ;; there's a section here for this file already.
- (goto-char (point-min))
- (if (not (search-forward head nil t))
- ;; It's a new file; put the data at the end.
- (progn
- (goto-char (point-max))
- (search-backward "\f\n" nil t))
- ;; Delete the old version of the section.
- (delete-region (match-beginning 0)
- (and (search-forward "\n\f\n;;;")
- (match-beginning 0)))
- (forward-line -2)))
- (insert head)
- (dolist (def (reverse section))
- (setq def (caddr def))
- (if (stringp def)
- (princ def (current-buffer))
- (loaddefs-generate--print-form def))
- (unless (bolp)
- (insert "\n")))))
- ;; Only write the file if we actually made a change.
- (unless (equal (buffer-hash) hash)
- (write-region (point-min) (point-max) loaddefs-file nil 'silent)
- (byte-compile-info
- (file-relative-name loaddefs-file (car (ensure-list dir)))
- t "GEN"))))))))
+ (if (and updating (file-exists-p loaddefs-file))
+ (insert-file-contents loaddefs-file)
+ (insert (loaddefs-generate--rubric
+ loaddefs-file nil t include-package-version))
+ (search-backward "\f")
+ (when extra-data
+ (insert extra-data)
+ (ensure-empty-lines 1)))
+ (setq hash (buffer-hash))
+ ;; Then group by source file (and sort alphabetically).
+ (dolist (section (sort (seq-group-by #'cadr (cdr fdefs))
+ (lambda (e1 e2)
+ (string<
+ (file-name-sans-extension
+ (file-name-nondirectory (car e1)))
+ (file-name-sans-extension
+ (file-name-nondirectory (car e2)))))))
+ (pop section)
+ (let* ((relfile (file-relative-name
+ (cadar section)
+ (file-name-directory loaddefs-file)))
+ (head (concat "\n\f\n;;; Generated autoloads from "
+ relfile "\n\n")))
+ (when (file-exists-p loaddefs-file)
+ ;; If we're updating an old loaddefs file, then see if
+ ;; there's a section here for this file already.
+ (goto-char (point-min))
+ (if (not (search-forward head nil t))
+ ;; It's a new file; put the data at the end.
+ (progn
+ (goto-char (point-max))
+ (search-backward "\f\n" nil t))
+ ;; Delete the old version of the section. Strictly
+ ;; speaking this should search for "\n\f\n;;;", but
+ ;; there are loaddefs files in the wild that only
+ ;; have two ';;'. (Bug#63236)
+ (delete-region (match-beginning 0)
+ (and (search-forward "\n\f\n;;")
+ (match-beginning 0)))
+ (forward-line -2)))
+ (insert head)
+ (dolist (def (reverse section))
+ (setq def (caddr def))
+ (if (stringp def)
+ (princ def (current-buffer))
+ (loaddefs-generate--print-form def))
+ (unless (bolp)
+ (insert "\n")))))
+ ;; Only write the file if we actually made a change.
+ (unless (equal (buffer-hash) hash)
+ (write-region (point-min) (point-max) loaddefs-file nil 'silent)
+ (byte-compile-info
+ (file-relative-name loaddefs-file (car (ensure-list dir)))
+ t "GEN")))))
+
+ ;; If processing files without any autoloads, the above loop will
+ ;; not generate any files. If the function was invoked with
+ ;; EXTRA-DATA, we want to ensure that even if no autoloads were
+ ;; found, that at least a file will have been generated containing
+ ;; the contents of EXTRA-DATA:
+ (when (and extra-data (not (file-exists-p output-file)))
+ (with-temp-buffer
+ (insert (loaddefs-generate--rubric output-file nil t))
+ (search-backward "\f")
+ (insert extra-data)
+ (ensure-empty-lines 1)
+ (write-region (point-min) (point-max) output-file nil 'silent)))))
(defun loaddefs-generate--print-form (def)
"Print DEF in a format that makes sense for version control."
diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el
index b05aba3e1a7..290bf1c933a 100644
--- a/lisp/emacs-lisp/macroexp.el
+++ b/lisp/emacs-lisp/macroexp.el
@@ -244,68 +244,64 @@ It should normally be a symbol with position and it defaults to FORM."
new-form)))
(defun macroexp--unfold-lambda (form &optional name)
- ;; In lexical-binding mode, let and functions don't bind vars in the same way
- ;; (let obey special-variable-p, but functions don't). But luckily, this
- ;; doesn't matter here, because function's behavior is underspecified so it
- ;; can safely be turned into a `let', even though the reverse is not true.
(or name (setq name "anonymous lambda"))
- (let* ((lambda (car form))
- (values (cdr form))
- (arglist (nth 1 lambda))
- (body (cdr (cdr lambda)))
- optionalp restp
- bindings)
- (if (and (stringp (car body)) (cdr body))
- (setq body (cdr body)))
- (if (and (consp (car body)) (eq 'interactive (car (car body))))
- (setq body (cdr body)))
- ;; FIXME: The checks below do not belong in an optimization phase.
- (while arglist
- (cond ((eq (car arglist) '&optional)
- ;; ok, I'll let this slide because funcall_lambda() does...
- ;; (if optionalp (error "Multiple &optional keywords in %s" name))
- (if restp (error "&optional found after &rest in %s" name))
- (if (null (cdr arglist))
- (error "Nothing after &optional in %s" name))
- (setq optionalp t))
- ((eq (car arglist) '&rest)
- ;; ...but it is by no stretch of the imagination a reasonable
- ;; thing that funcall_lambda() allows (&rest x y) and
- ;; (&rest x &optional y) in arglists.
- (if (null (cdr arglist))
- (error "Nothing after &rest in %s" name))
- (if (cdr (cdr arglist))
- (error "Multiple vars after &rest in %s" name))
- (setq restp t))
- (restp
- (setq bindings (cons (list (car arglist)
- (and values (cons 'list values)))
- bindings)
- values nil))
- ((and (not optionalp) (null values))
- (setq arglist nil values 'too-few))
- (t
- (setq bindings (cons (list (car arglist) (car values))
- bindings)
- values (cdr values))))
- (setq arglist (cdr arglist)))
- (if values
- (macroexp-warn-and-return
- (format-message
- (if (eq values 'too-few)
- "attempt to open-code `%s' with too few arguments"
- "attempt to open-code `%s' with too many arguments")
- name)
- form nil nil arglist)
-
- ;; The following leads to infinite recursion when loading a
- ;; file containing `(defsubst f () (f))', and then trying to
- ;; byte-compile that file.
- ;;(setq body (mapcar 'byte-optimize-form body)))
-
- (if bindings
- `(let ,(nreverse bindings) . ,body)
- (macroexp-progn body)))))
+ (pcase form
+ ((or `(funcall (function ,lambda) . ,actuals) `(,lambda . ,actuals))
+ (let* ((formals (nth 1 lambda))
+ (body (cdr (macroexp-parse-body (cddr lambda))))
+ optionalp restp
+ (dynboundarg nil)
+ bindings)
+ ;; FIXME: The checks below do not belong in an optimization phase.
+ (while formals
+ (if (macroexp--dynamic-variable-p (car formals))
+ (setq dynboundarg t))
+ (cond ((eq (car formals) '&optional)
+ ;; ok, I'll let this slide because funcall_lambda() does...
+ ;; (if optionalp (error "Multiple &optional keywords in %s" name))
+ (if restp (error "&optional found after &rest in %s" name))
+ (if (null (cdr formals))
+ (error "Nothing after &optional in %s" name))
+ (setq optionalp t))
+ ((eq (car formals) '&rest)
+ ;; ...but it is by no stretch of the imagination a reasonable
+ ;; thing that funcall_lambda() allows (&rest x y) and
+ ;; (&rest x &optional y) in formalss.
+ (if (null (cdr formals))
+ (error "Nothing after &rest in %s" name))
+ (if (cdr (cdr formals))
+ (error "Multiple vars after &rest in %s" name))
+ (setq restp t))
+ (restp
+ (setq bindings (cons (list (car formals)
+ (and actuals (cons 'list actuals)))
+ bindings)
+ actuals nil))
+ ((and (not optionalp) (null actuals))
+ (setq formals nil actuals 'too-few))
+ (t
+ (setq bindings (cons (list (car formals) (car actuals))
+ bindings)
+ actuals (cdr actuals))))
+ (setq formals (cdr formals)))
+ (cond
+ (actuals
+ (macroexp-warn-and-return
+ (format-message
+ (if (eq actuals 'too-few)
+ "attempt to open-code `%s' with too few arguments"
+ "attempt to open-code `%s' with too many arguments")
+ name)
+ form nil nil formals))
+ ;; In lexical-binding mode, let and functions don't bind vars in
+ ;; the same way (let obey special-variable-p, but functions
+ ;; don't). So if one of the vars is declared as dynamically scoped, we
+ ;; can't just convert the call to `let'.
+ ;; FIXME: We should α-rename the affected args and then use `let'.
+ (dynboundarg form)
+ (bindings `(let ,(nreverse bindings) . ,body))
+ (t (macroexp-progn body)))))
+ (_ (error "Not an unfoldable form: %S" form))))
(defun macroexp--dynamic-variable-p (var)
"Whether the variable VAR is dynamically scoped.
@@ -437,51 +433,31 @@ Assumes the caller has bound `macroexpand-all-environment'."
(setq args (cddr args)))
(cons 'progn (nreverse assignments))))))
(`(,(and fun `(lambda . ,_)) . ,args)
- ;; Embedded lambda in function position.
- ;; If the byte-optimizer is loaded, try to unfold this,
- ;; i.e. rewrite it to (let (<args>) <body>). We'd do it in the optimizer
- ;; anyway, but doing it here (i.e. earlier) can sometimes avoid the
- ;; creation of a closure, thus resulting in much better code.
- (let ((newform (macroexp--unfold-lambda form)))
- (if (eq newform form)
- ;; Unfolding failed for some reason, avoid infinite recursion.
- (macroexp--cons (macroexp--all-forms fun 2)
- (macroexp--all-forms args)
- form)
- (macroexp--expand-all newform))))
+ (macroexp--cons (macroexp--all-forms fun 2)
+ (macroexp--all-forms args)
+ form))
(`(funcall ,exp . ,args)
(let ((eexp (macroexp--expand-all exp))
(eargs (macroexp--all-forms args)))
- ;; Rewrite (funcall #'foo bar) to (foo bar), in case `foo'
- ;; has a compiler-macro, or to unfold it.
(pcase eexp
+ ;; Rewrite (funcall #'foo bar) to (foo bar), in case `foo'
+ ;; has a compiler-macro, or to unfold it.
((and `#',f
- (guard (not (or (special-form-p f) (macrop f))))) ;; bug#46636
+ (guard (and (symbolp f)
+ ;; bug#46636
+ (not (or (special-form-p f) (macrop f))))))
(macroexp--expand-all `(,f . ,eargs)))
- (_ `(funcall ,eexp . ,eargs)))))
+ (`#'(lambda . ,_)
+ (macroexp--unfold-lambda `(,fn ,eexp . ,eargs)))
+ (_ `(,fn ,eexp . ,eargs)))))
(`(funcall . ,_) form) ;bug#53227
(`(,func . ,_)
- (let ((handler (function-get func 'compiler-macro))
- (funargs (function-get func 'funarg-positions)))
- ;; Check functions quoted with ' rather than with #'
- (dolist (funarg funargs)
- (let ((arg (nth funarg form)))
- (when (and (eq 'quote (car-safe arg))
- (eq 'lambda (car-safe (cadr arg))))
- (setcar
- (nthcdr funarg form)
- (macroexp-warn-and-return
- (format
- "(lambda %s ...) quoted with ' rather than with #'"
- (or (nth 1 (cadr arg)) "()"))
- arg nil nil (cadr arg))))))
+ (let ((handler (function-get func 'compiler-macro)))
;; Macro expand compiler macros. This cannot be delayed to
;; byte-optimize-form because the output of the compiler-macro can
;; use macros.
(if (null handler)
- ;; No compiler macro. We just expand each argument (for
- ;; setq/setq-default this works alright because the variable names
- ;; are symbols).
+ ;; No compiler macro. We just expand each argument.
(macroexp--all-forms form 1)
;; If the handler is not loaded yet, try (auto)loading the
;; function itself, which may in turn load the handler.
@@ -503,19 +479,6 @@ Assumes the caller has bound `macroexpand-all-environment'."
(_ form))))
(pop byte-compile-form-stack)))
-;; Record which arguments expect functions, so we can warn when those
-;; are accidentally quoted with ' rather than with #'
-(dolist (f '( funcall apply mapcar mapatoms mapconcat mapc cl-mapcar maphash
- mapcan map-char-table map-keymap map-keymap-internal))
- (put f 'funarg-positions '(1)))
-(dolist (f '( add-hook remove-hook advice-remove advice--remove-function
- defalias fset global-set-key run-after-idle-timeout
- set-process-filter set-process-sentinel sort))
- (put f 'funarg-positions '(2)))
-(dolist (f '( advice-add define-key
- run-at-time run-with-idle-timer run-with-timer ))
- (put f 'funarg-positions '(3)))
-
;;;###autoload
(defun macroexpand-all (form &optional environment)
"Return result of expanding macros at all levels in FORM.
diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el
index e457387acc9..cd80df2c41d 100644
--- a/lisp/emacs-lisp/nadvice.el
+++ b/lisp/emacs-lisp/nadvice.el
@@ -165,6 +165,8 @@ DOC is a string where \"FUNCTION\" and \"OLDFUN\" are expected.")
(buffer-string))
usage))))
+;; FIXME: How about renaming this to just `eval-interactive-spec'?
+;; It's not specific to the advice system.
(defun advice-eval-interactive-spec (spec)
"Evaluate the interactive spec SPEC."
(cond
@@ -174,7 +176,9 @@ DOC is a string where \"FUNCTION\" and \"OLDFUN\" are expected.")
;; FIXME: Despite appearances, this is not faithful: SPEC and
;; (advice-eval-interactive-spec SPEC) will behave subtly differently w.r.t
;; command-history (and maybe a few other details).
- (call-interactively `(lambda (&rest args) (interactive ,spec) args)))
+ (call-interactively
+ ;; Sadly (lambda (&rest args) (interactive spec) args) doesn't work :-(
+ (cconv--interactive-helper (lambda (&rest args) args) spec)))
;; ((functionp spec) (funcall spec))
(t (eval spec))))
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index a72bb084d31..db8b41aee6a 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -24,7 +24,7 @@
;; While packages managed by package.el use tarballs for distributing
;; the source code, this extension allows for packages to be fetched
-;; and updated directly from a version control system.
+;; and upgraded directly from a version control system.
;;
;; To install a package from source use `package-vc-install'. If you
;; aren't interested in activating a package, you can use
@@ -167,7 +167,7 @@ archive."
(:vc-backend symbol)))))
:version "29.1")
-(defvar package-vc--archive-spec-alist nil
+(defvar package-vc--archive-spec-alists nil
"List of package specifications for each archive.
The list maps each package name, as a string, to a plist as
specified in `package-vc-selected-packages'.")
@@ -199,15 +199,15 @@ name for PKG-DESC."
(not (alist-get name package-vc-selected-packages
nil nil #'string=)))
(alist-get (intern (package-desc-archive pkg-desc))
- package-vc--archive-spec-alist)
+ package-vc--archive-spec-alists)
;; Consult both our local list of package specifications, as well
;; as the lists provided by the archives.
(apply #'append (cons package-vc-selected-packages
- (mapcar #'cdr package-vc--archive-spec-alist))))
+ (mapcar #'cdr package-vc--archive-spec-alists))))
'() nil #'string=))
(defun package-vc--read-archive-data (archive)
- "Update `package-vc--archive-spec-alist' for ARCHIVE.
+ "Update `package-vc--archive-spec-alists' for ARCHIVE.
This function is meant to be used as a hook for `package-read-archive-hook'."
(let ((contents-file (expand-file-name
(format "archives/%s/elpa-packages.eld" archive)
@@ -224,7 +224,7 @@ This function is meant to be used as a hook for `package-read-archive-hook'."
(let ((spec (read (current-buffer))))
(when (eq package-vc--elpa-packages-version
(plist-get (cdr spec) :version))
- (setf (alist-get (intern archive) package-vc--archive-spec-alist)
+ (setf (alist-get (intern archive) package-vc--archive-spec-alists)
(car spec)))
(setf (alist-get (intern archive) package-vc--archive-data-alist)
(cdr spec))
@@ -235,7 +235,7 @@ This function is meant to be used as a hook for `package-read-archive-hook'."
(defun package-vc--download-and-read-archives (&optional async)
"Download specifications of all `package-archives' and read them.
-Populate `package-vc--archive-spec-alist' with the result.
+Populate `package-vc--archive-spec-alists' with the result.
If optional argument ASYNC is non-nil, perform the downloads
asynchronously."
@@ -344,6 +344,40 @@ asynchronously."
"\n")
nil pkg-file nil 'silent))))
+(defcustom package-vc-allow-side-effects nil
+ "Whether to process :make and :shell-command spec arguments.
+
+It may be necessary to run :make and :shell-command arguments in
+order to initialize a package or build its documentation, but
+please be careful when changing this option, as installing and
+updating a package can run potentially harmful code.
+
+When set to a list of symbols (packages), run commands for only
+packages in the list. When nil, never run commands. Otherwise
+when non-nil, run commands for any package with :make or
+:shell-command specified.
+
+Package specs are loaded from trusted package archives."
+ :type '(choice (const :tag "Run for all packages" t)
+ (repeat :tag "Run only for selected packages" (symbol :tag "Package name"))
+ (const :tag "Never run" nil))
+ :version "30.1")
+
+(defun package-vc--make (pkg-spec pkg-desc)
+ "Process :make and :shell-command in PKG-SPEC.
+PKG-DESC is the package descriptor for the package that is being
+prepared."
+ (let ((target (plist-get pkg-spec :make))
+ (cmd (plist-get pkg-spec :shell-command))
+ (buf (format " *package-vc make %s*" (package-desc-name pkg-desc))))
+ (when (or cmd target)
+ (with-current-buffer (get-buffer-create buf)
+ (erase-buffer)
+ (when (and cmd (/= 0 (call-process shell-file-name nil t nil shell-command-switch cmd)))
+ (warn "Failed to run %s, see buffer %S" cmd (buffer-name)))
+ (when (and target (/= 0 (apply #'call-process "make" nil t nil (if (consp target) target (list target)))))
+ (warn "Failed to make %s, see buffer %S" target (buffer-name)))))))
+
(declare-function org-export-to-file "ox" (backend file))
(defun package-vc--build-documentation (pkg-desc file)
@@ -352,6 +386,7 @@ FILE can be an Org file, indicated by its \".org\" extension,
otherwise it's assumed to be an Info file."
(let* ((pkg-name (package-desc-name pkg-desc))
(default-directory (package-desc-dir pkg-desc))
+ (docs-directory (file-name-directory (expand-file-name file)))
(output (expand-file-name (format "%s.info" pkg-name)))
clean-up)
(when (string-match-p "\\.org\\'" file)
@@ -366,7 +401,9 @@ otherwise it's assumed to be an Info file."
(erase-buffer)
(cond
((/= 0 (call-process "makeinfo" nil t nil
- "--no-split" file "-o" output))
+ "-I" docs-directory
+ "--no-split" file
+ "-o" output))
(message "Failed to build manual %s, see buffer %S"
file (buffer-name)))
((/= 0 (call-process "install-info" nil t nil
@@ -486,6 +523,12 @@ documentation and marking the package as installed."
;; Generate package file
(package-vc--generate-description-file pkg-desc pkg-file)
+ ;; Process :make and :shell-command arguments before building documentation
+ (when (or (eq package-vc-allow-side-effects t)
+ (memq (package-desc-name pkg-desc)
+ package-vc-allow-side-effects))
+ (package-vc--make pkg-spec pkg-desc))
+
;; Detect a manual
(when (executable-find "install-info")
(dolist (doc-file (ensure-list (plist-get pkg-spec :doc)))
@@ -508,9 +551,11 @@ documentation and marking the package as installed."
(package--reload-previously-loaded new-desc)))
;; Mark package as selected
- (package--save-selected-packages
- (cons (package-desc-name pkg-desc)
- package-selected-packages))
+ (let ((name (package-desc-name pkg-desc)))
+ (unless (memq name package-selected-packages)
+ (package--save-selected-packages
+ (cons name package-selected-packages))))
+
(package--quickstart-maybe-refresh)
;; Confirm that the installation was successful
@@ -583,7 +628,7 @@ Emacs Lisp files.")
(defun package-vc--unpack (pkg-desc pkg-spec &optional rev)
"Install the package described by PKG-DESC.
PKG-SPEC is a package specification, a property list describing
-how to fetch and build the package. See `package-vc--archive-spec-alist'
+how to fetch and build the package. See `package-vc--archive-spec-alists'
for details. The optional argument REV specifies a specific revision to
checkout. This overrides the `:branch' attribute in PKG-SPEC."
(unless (eq (package-desc-kind pkg-desc) 'vc)
@@ -632,7 +677,8 @@ abort installation?" name))
(throw 'done (setq lisp-dir name)))))
;; Ensure we have a copy of the package specification
- (unless (equal (alist-get name (mapcar #'cdr package-vc--archive-spec-alist)) pkg-spec)
+ (unless (seq-some (lambda (alist) (equal (alist-get name (cdr alist)) pkg-spec))
+ package-vc--archive-spec-alists)
(customize-save-variable
'package-vc-selected-packages
(cons (cons name pkg-spec)
@@ -672,19 +718,19 @@ installed package."
#'string=)))
;;;###autoload
-(defun package-vc-update-all ()
- "Attempt to update all installed VC packages."
+(defun package-vc-upgrade-all ()
+ "Attempt to upgrade all installed VC packages."
(interactive)
(dolist (package package-alist)
(dolist (pkg-desc (cdr package))
(when (package-vc-p pkg-desc)
- (package-vc-update pkg-desc))))
- (message "Done updating packages."))
+ (package-vc-upgrade pkg-desc))))
+ (message "Done upgrading packages."))
;;;###autoload
-(defun package-vc-update (pkg-desc)
- "Attempt to update the package PKG-DESC."
- (interactive (list (package-vc--read-package-desc "Update VC package: " t)))
+(defun package-vc-upgrade (pkg-desc)
+ "Attempt to upgrade the package PKG-DESC."
+ (interactive (list (package-vc--read-package-desc "Upgrade VC package: " t)))
;; HACK: To run `package-vc--unpack-1' after checking out the new
;; revision, we insert a hook into `vc-post-command-functions', and
;; remove it right after it ran. To avoid running the hook multiple
@@ -758,11 +804,13 @@ indicating the package name and SPEC is a plist as described in
symbol whose name is the package name, and the URL for the
package will be taken from the package's metadata.
-By default, this function installs the last version of the package
-available from its repository, but if REV is given and non-nil, it
-specifies the revision to install. If REV has the special value
-`:last-release' (interactively, the prefix argument), that stands
-for the last released version of the package.
+By default, this function installs the last revision of the
+package available from its repository. If REV is a string, it
+describes the revision to install, as interpreted by the VC
+backend. The special value `:last-release' (interactively, the
+prefix argument), will use the commit of the latest release, if
+it exists. The last release is the latest revision which changed
+the \"Version:\" header of the package's main Lisp file.
Optional argument BACKEND specifies the VC backend to use for cloning
the package's repository; this is only possible if NAME-OR-URL is a URL,
@@ -882,7 +930,7 @@ Rebuilding an installation means scraping for new autoload
cookies, re-compiling Emacs Lisp files, building and installing
any documentation, downloading any missing dependencies. This
command does not fetch new revisions from a remote server. That
-is the responsibility of `package-vc-update'. Interactively,
+is the responsibility of `package-vc-upgrade'. Interactively,
prompt for the name of the package to rebuild."
(interactive (list (package-vc--read-package-desc "Rebuild package: " t)))
(package-vc--unpack-1 pkg-desc (package-desc-dir pkg-desc)))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 88047c53a41..44c28bde1c1 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -738,7 +738,7 @@ description file containing a call to `define-package', which
updates `package-alist'."
(dolist (dir (cons package-user-dir package-directory-list))
(when (file-directory-p dir)
- (dolist (pkg-dir (directory-files dir t "\\`[^.]" t))
+ (dolist (pkg-dir (directory-files dir t "\\`[^.]"))
(when (file-directory-p pkg-dir)
(package-load-descriptor pkg-dir))))))
@@ -796,6 +796,21 @@ specifying the minimum acceptable version."
(require 'finder-inf nil t) ; For `package--builtins'.
(assq package package--builtins))))))
+(defun package--active-built-in-p (package)
+ "Return non-nil if the built-in version of PACKAGE is used.
+If the built-in version of PACKAGE is used and PACKAGE is
+also available for installation from an archive, it is an
+indication that PACKAGE was never upgraded to any newer
+version from the archive."
+ (and (not (assq (cond
+ ((package-desc-p package)
+ (package-desc-name package))
+ ((stringp package) (intern package))
+ ((symbolp package) package)
+ ((error "Unknown package format: %S" package)))
+ (package--alist)))
+ (package-built-in-p package)))
+
(defun package--autoloads-file-name (pkg-desc)
"Return the absolute name of the autoloads file, sans extension.
PKG-DESC is a `package-desc' object."
@@ -887,8 +902,7 @@ correspond to previously loaded files."
(when reload
(package--reload-previously-loaded pkg-desc))
(with-demoted-errors "Error loading autoloads: %s"
- (load (package--autoloads-file-name pkg-desc) nil t))
- (add-to-list 'load-path (directory-file-name pkg-dir)))
+ (load (package--autoloads-file-name pkg-desc) nil t)))
;; Add info node.
(when (file-exists-p (expand-file-name "dir" pkg-dir))
;; FIXME: not the friendliest, but simple.
@@ -903,22 +917,14 @@ correspond to previously loaded files."
(defun package--get-activatable-pkg (pkg-name)
;; Is "activatable" a word?
- (let ((pkg-descs (sort (cdr (assq pkg-name package-alist))
- (lambda (p1 p2)
- (let ((v1 (package-desc-version p1))
- (v2 (package-desc-version p2)))
- (or
- ;; Prefer VC packages.
- (package-vc-p p1)
- (package-vc-p p2)
- ;; Prefer builtin packages.
- (package-disabled-p p1 v1)
- (not (package-disabled-p p2 v2))))))))
+ (let ((pkg-descs (cdr (assq pkg-name package-alist))))
;; Check if PACKAGE is available in `package-alist'.
(while
(when pkg-descs
(let ((available-version (package-desc-version (car pkg-descs))))
- (package-disabled-p pkg-name available-version)))
+ (or (package-disabled-p pkg-name available-version)
+ ;; Prefer a builtin package.
+ (package-built-in-p pkg-name available-version))))
(setq pkg-descs (cdr pkg-descs)))
(car pkg-descs)))
@@ -1093,8 +1099,12 @@ untar into a directory named DIR; otherwise, signal an error."
;; Add the directory that will contain the autoload file to
;; the load path. We don't hard-code `pkg-dir', to avoid
;; issues if the package directory is moved around.
- (or (and load-file-name (file-name-directory load-file-name))
- (car load-path)))))
+ ;; `loaddefs-generate' has code to do this for us, but it's
+ ;; not currently exposed. (Bug#63625)
+ (or (and load-file-name
+ (directory-file-name
+ (file-name-directory load-file-name)))
+ (car load-path)))))
(let ((buf (find-buffer-visiting output-file)))
(when buf (kill-buffer buf)))
auto-name))
@@ -1182,7 +1192,7 @@ boundaries."
;; the earliest in version 31.1. The idea is to phase out the
;; requirement for a "footer line" without unduly impacting users
;; on earlier Emacs versions. See Bug#26490 for more details.
- (unless (search-forward (concat ";;; " file-name ".el ends here"))
+ (unless (search-forward (concat ";;; " file-name ".el ends here") nil 'move)
(lwarn '(package package-format) :warning
"Package lacks a terminating comment"))
;; Try to include a trailing newline.
@@ -1210,8 +1220,8 @@ boundaries."
:url website
:keywords keywords
:maintainer
- ;; For backward compatibility, use a single string if there's only
- ;; one maintainer (the most common case).
+ ;; For backward compatibility, use a single cons-cell if
+ ;; there's only one maintainer (the most common case).
(let ((maints (lm-maintainers))) (if (cdr maints) maints (car maints)))
:authors (lm-authors)))))
@@ -2179,12 +2189,18 @@ using `package-compute-transaction'."
(unless package-archive-contents
(package-refresh-contents)))
+(defcustom package-install-upgrade-built-in nil
+ "Non-nil means that built-in packages can be upgraded via a package archive.
+If disabled, then `package-install' will not suggest to replace a
+built-in package with a (possibly newer) version from a package archive."
+ :type 'boolean
+ :version "29.1")
+
;;;###autoload
(defun package-install (pkg &optional dont-select)
"Install the package PKG.
PKG can be a `package-desc' or a symbol naming one of the
-available packages in an archive in `package-archives'. When
-called interactively, prompt for the package name.
+available packages in an archive in `package-archives'.
Mark the installed package as selected by adding it to
`package-selected-packages'.
@@ -2194,7 +2210,11 @@ non-nil, install the package but do not add it to
`package-selected-packages'.
If PKG is a `package-desc' and it is already installed, don't try
-to install it but still mark it as selected."
+to install it but still mark it as selected.
+
+If the command is invoked with a prefix argument, it will allow
+upgrading of built-in packages, as if `package-install-upgrade-built-in'
+had been enabled."
(interactive
(progn
;; Initialize the package system to get the list of package
@@ -2202,11 +2222,14 @@ to install it but still mark it as selected."
(package--archives-initialize)
(list (intern (completing-read
"Install package: "
- (delq nil
- (mapcar (lambda (elt)
- (unless (package-installed-p (car elt))
- (symbol-name (car elt))))
- package-archive-contents))
+ (mapcan
+ (lambda (elt)
+ (and (or (and (or current-prefix-arg
+ package-install-upgrade-built-in)
+ (package--active-built-in-p (car elt)))
+ (not (package-installed-p (car elt))))
+ (list (symbol-name (car elt)))))
+ package-archive-contents)
nil t))
nil)))
(package--archives-initialize)
@@ -2217,6 +2240,9 @@ to install it but still mark it as selected."
(unless (or dont-select (package--user-selected-p name))
(package--save-selected-packages
(cons name package-selected-packages)))
+ (when (and (or current-prefix-arg package-install-upgrade-built-in)
+ (package--active-built-in-p pkg))
+ (setq pkg (or (cadr (assq name package-archive-contents)) pkg)))
(if-let* ((transaction
(if (package-desc-p pkg)
(unless (package-installed-p pkg)
@@ -2229,24 +2255,30 @@ to install it but still mark it as selected."
(message "Package `%s' installed." name))
(message "`%s' is already installed" name))))
-(declare-function package-vc-update "package-vc" (pkg))
+(declare-function package-vc-upgrade "package-vc" (pkg))
;;;###autoload
-(defun package-update (name)
- "Update package NAME if a newer version exists."
+(defun package-upgrade (name)
+ "Upgrade package NAME if a newer version exists."
(interactive
(list (completing-read
- "Update package: " (package--updateable-packages) nil t)))
+ "Upgrade package: " (package--upgradeable-packages t) nil t)))
(let* ((package (if (symbolp name)
name
(intern name)))
- (pkg-desc (cadr (assq package package-alist))))
- (if (package-vc-p pkg-desc)
- (package-vc-update pkg-desc)
- (package-delete pkg-desc 'force)
- (package-install package 'dont-select))))
-
-(defun package--updateable-packages ()
+ (pkg-desc (cadr (assq package package-alist)))
+ (package-install-upgrade-built-in (not pkg-desc)))
+ ;; `pkg-desc' will be nil when the package is an "active built-in".
+ (if (and pkg-desc (package-vc-p pkg-desc))
+ (package-vc-upgrade pkg-desc)
+ (when pkg-desc
+ (package-delete pkg-desc 'force 'dont-unselect))
+ (package-install package
+ ;; An active built-in has never been "selected"
+ ;; before. Mark it as installed explicitly.
+ (and pkg-desc 'dont-select)))))
+
+(defun package--upgradeable-packages (&optional include-builtins)
;; Initialize the package system to get the list of package
;; symbols for completion.
(package--archives-initialize)
@@ -2257,30 +2289,46 @@ to install it but still mark it as selected."
(or (let ((available
(assq (car elt) package-archive-contents)))
(and available
- (version-list-<
- (package-desc-version (cadr elt))
- (package-desc-version (cadr available)))))
- (package-vc-p (cadr (assq (car elt) package-alist)))))
- package-alist)))
+ (or (and
+ include-builtins
+ (not (package-desc-version (cadr elt))))
+ (version-list-<
+ (package-desc-version (cadr elt))
+ (package-desc-version (cadr available))))))
+ (package-vc-p (cadr elt))))
+ (if include-builtins
+ (append package-alist
+ (mapcan
+ (lambda (elt)
+ (when (not (assq (car elt) package-alist))
+ (list (list (car elt) (package--from-builtin elt)))))
+ package--builtins))
+ package-alist))))
;;;###autoload
-(defun package-update-all (&optional query)
+(defun package-upgrade-all (&optional query)
"Refresh package list and upgrade all packages.
-If QUERY, ask the user before updating packages. When called
-interactively, QUERY is always true."
+If QUERY, ask the user before upgrading packages. When called
+interactively, QUERY is always true.
+
+Currently, packages which are part of the Emacs distribution are
+not upgraded by this command. To enable upgrading such a package
+using this command, first upgrade the package to a newer version
+from ELPA by either using `\\[package-upgrade]' or
+`\\<package-menu-mode-map>\\[package-menu-mark-install]' after `\\[list-packages]'."
(interactive (list (not noninteractive)))
(package-refresh-contents)
- (let ((updateable (package--updateable-packages)))
- (if (not updateable)
- (message "No packages to update")
+ (let ((upgradeable (package--upgradeable-packages)))
+ (if (not upgradeable)
+ (message "No packages to upgrade")
(when (and query
(not (yes-or-no-p
- (if (length= updateable 1)
- "One package to update. Do it? "
- (format "%s packages to update. Do it?"
- (length updateable))))))
- (user-error "Updating aborted"))
- (mapc #'package-update updateable))))
+ (if (length= upgradeable 1)
+ "One package to upgrade. Do it? "
+ (format "%s packages to upgrade. Do it?"
+ (length upgradeable))))))
+ (user-error "Upgrade aborted"))
+ (mapc #'package-upgrade upgradeable))))
(defun package--dependencies (pkg)
"Return a list of all dependencies PKG has.
@@ -2693,7 +2741,8 @@ Helper function for `describe-package'."
(status (if desc (package-desc-status desc) "orphan"))
(incompatible-reason (package--incompatible-p desc))
(signed (if desc (package-desc-signed desc)))
- (maintainer (cdr (assoc :maintainer extras)))
+ (maintainers (or (cdr (assoc :maintainers extras))
+ (cdr (assoc :maintainer extras))))
(authors (cdr (assoc :authors extras)))
(news (and-let* (pkg-dir
((not built-in))
@@ -2828,19 +2877,21 @@ Helper function for `describe-package'."
'action 'package-keyword-button-action)
(insert " "))
(insert "\n"))
- (when maintainer
- (package--print-help-section "Maintainer")
- (package--print-email-button maintainer))
- (when authors
+ (when maintainers
+ (unless (proper-list-p maintainers)
+ (setq maintainers (list maintainers)))
(package--print-help-section
- (if (= (length authors) 1)
- "Author"
- "Authors"))
- (package--print-email-button (pop authors))
- ;; If there's more than one author, indent the rest correctly.
- (dolist (name authors)
- (insert (make-string 13 ?\s))
- (package--print-email-button name)))
+ (if (cdr maintainers) "Maintainers" "Maintainer"))
+ (dolist (maintainer maintainers)
+ (when (bolp)
+ (insert (make-string 13 ?\s)))
+ (package--print-email-button maintainer)))
+ (when authors
+ (package--print-help-section (if (cdr authors) "Authors" "Author"))
+ (dolist (author authors)
+ (when (bolp)
+ (insert (make-string 13 ?\s)))
+ (package--print-email-button author)))
(let* ((all-pkgs (append (cdr (assq name package-alist))
(cdr (assq name package-archive-contents))
(let ((bi (assq name package--builtins)))
@@ -3259,6 +3310,18 @@ Values can be interactively added to this list by typing
:version "25.1"
:type '(repeat (regexp :tag "Hide packages with name matching")))
+(defcustom package-menu-use-current-if-no-marks t
+ "Whether \\<package-menu-mode-map>\\[package-menu-execute] in package menu operates on current package if none are marked.
+
+If non-nil, and no packages are marked for installation or
+deletion, \\<package-menu-mode-map>\\[package-menu-execute] will operate on the current package at point,
+see `package-menu-execute' for details.
+The default is t. Set to nil to get back the original behavior
+of having `package-menu-execute' signal an error when no packages
+are marked for installation or deletion."
+ :version "29.1"
+ :type 'boolean)
+
(defun package-menu--refresh (&optional packages keywords)
"Re-populate the `tabulated-list-entries'.
PACKAGES should be nil or t, which means to display all known packages.
@@ -3542,7 +3605,8 @@ The regexp is added to the list in the user option
`package-hidden-regexps' and saved for future sessions.
To unhide a package, type
-`\\[customize-variable] RET package-hidden-regexps'.
+`\\[customize-variable] RET package-hidden-regexps', and then modify
+the regexp such that it no longer matches the package's name.
Type \\[package-menu-toggle-hiding] to toggle package hiding."
(declare (interactive-only "change `package-hidden-regexps' instead."))
@@ -3569,7 +3633,9 @@ Type \\[package-menu-toggle-hiding] to toggle package hiding."
(defun package-menu-describe-package (&optional button)
"Describe the current package.
-If optional arg BUTTON is non-nil, describe its associated package."
+The current package is the package at point.
+If optional arg BUTTON is non-nil, describe its associated
+package(s); this is always nil in interactive invocations."
(interactive nil package-menu-mode)
(let ((pkg-desc (if button (button-get button 'package-desc)
(tabulated-list-get-id))))
@@ -3579,7 +3645,8 @@ If optional arg BUTTON is non-nil, describe its associated package."
;; fixme numeric argument
(defun package-menu-mark-delete (&optional _num)
- "Mark a package for deletion and move to the next line."
+ "Mark the current package for deletion and move to the next line.
+The current package is the package at point."
(interactive "p" package-menu-mode)
(package--ensure-package-menu-mode)
(if (member (package-menu-get-status)
@@ -3588,7 +3655,8 @@ If optional arg BUTTON is non-nil, describe its associated package."
(forward-line)))
(defun package-menu-mark-install (&optional _num)
- "Mark a package for installation and move to the next line."
+ "Mark the current package for installation and move to the next line.
+The current package is the package at point."
(interactive "p" package-menu-mode)
(package--ensure-package-menu-mode)
(if (member (package-menu-get-status) '("available" "avail-obso" "new" "dependency"))
@@ -3596,13 +3664,14 @@ If optional arg BUTTON is non-nil, describe its associated package."
(forward-line)))
(defun package-menu-mark-unmark (&optional _num)
- "Clear any marks on a package and move to the next line."
+ "Clear any marks on the current package and move to the next line.
+The current package is the package at point."
(interactive "p" package-menu-mode)
(package--ensure-package-menu-mode)
(tabulated-list-put-tag " " t))
(defun package-menu-backup-unmark ()
- "Back up one line and clear any marks on that package."
+ "Back up one line and clear any marks on that line's package."
(interactive nil package-menu-mode)
(package--ensure-package-menu-mode)
(forward-line -1)
@@ -3640,15 +3709,15 @@ If optional arg BUTTON is non-nil, describe its associated package."
(package--prettify-quick-help-key (cons desc 0))))
(defun package-menu-quick-help ()
- "Show short key binding help for `package-menu-mode'.
-The full list of keys can be viewed with \\[describe-mode]."
+ "Show short help for key bindings in `package-menu-mode'.
+You can view the full list of keys with \\[describe-mode]."
(interactive nil package-menu-mode)
(package--ensure-package-menu-mode)
(message (mapconcat #'package--prettify-quick-help-key
package--quick-help-keys "\n")))
(defun package-menu-get-status ()
- "Return status text of package at point in Package Menu."
+ "Return status description of package at point in Package Menu."
(package--ensure-package-menu-mode)
(let* ((id (tabulated-list-get-id))
(entry (and id (assoc id tabulated-list-entries))))
@@ -3677,15 +3746,15 @@ consideration."
(defun package-menu--find-upgrades ()
"In Package Menu, return an alist of packages that can be upgraded.
The alist has the same form as `package-alist', namely a list
-of (PKG . DESCS), but where DESCS is the `package-desc' object
-corresponding to the newer version."
+of elements of the form (PKG . DESCS), but where DESCS is the `package-desc'
+object corresponding to the newer version."
(let (installed available upgrades)
;; Build list of installed/available packages in this buffer.
(dolist (entry tabulated-list-entries)
;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC])
(let ((pkg-desc (car entry))
(status (aref (cadr entry) 2)))
- (cond ((member status '("installed" "dependency" "unsigned" "external"))
+ (cond ((member status '("installed" "dependency" "unsigned" "external" "built-in"))
(push pkg-desc installed))
((member status '("available" "new"))
(setq available (package--append-to-alist pkg-desc available))))))
@@ -3696,6 +3765,8 @@ corresponding to the newer version."
(and avail-pkg
(version-list-< (package-desc-priority-version pkg-desc)
(package-desc-priority-version avail-pkg))
+ (or (not (package--active-built-in-p pkg-desc))
+ package-install-upgrade-built-in)
(push (cons name avail-pkg) upgrades))))
upgrades))
@@ -3727,10 +3798,10 @@ Implementation of `package-menu-mark-upgrades'."
(defun package-menu-mark-upgrades ()
"Mark all upgradable packages in the Package Menu.
-For each installed package with a newer version available, place
-an (I)nstall flag on the available version and a (D)elete flag on
-the installed version. A subsequent \\[package-menu-execute]
-call will upgrade the package.
+For each installed package for which a newer version is available,
+place an (I)nstall flag on the available version and a (D)elete flag
+on the installed version. A subsequent \\[package-menu-execute] command will upgrade
+the marked packages.
If there's an async refresh operation in progress, the flags will
be placed as part of `package-menu--post-refresh' instead of
@@ -3849,17 +3920,19 @@ packages list, respectively."
(package--save-selected-packages package-selected-packages)))
(defun package-menu-execute (&optional noquery)
- "Perform marked Package Menu actions.
+ "Perform Package Menu actions on marked packages.
Packages marked for installation are downloaded and installed,
packages marked for deletion are removed, and packages marked for
upgrading are downloaded and upgraded.
If no packages are marked, the action taken depends on the state
-of the package under point. If it's not already installed, this
-command will install the package, and if it's installed, it will
-delete the package.
+of the current package, the one at point. If it's not already
+installed, this command will install the package; if it's installed,
+the command will delete the package.
-Optional argument NOQUERY non-nil means do not ask the user to confirm."
+Optional argument NOQUERY non-nil means do not ask the user to
+confirm the installations/deletions; this is always nil in interactive
+invocations."
(interactive nil package-menu-mode)
(package--ensure-package-menu-mode)
(let (install-list delete-list cmd pkg-desc)
@@ -3878,7 +3951,8 @@ Optional argument NOQUERY non-nil means do not ask the user to confirm."
;; Nothing marked.
(unless (or delete-list install-list)
;; Not on a package line.
- (unless (tabulated-list-get-id)
+ (unless (and (tabulated-list-get-id)
+ package-menu-use-current-if-no-marks)
(user-error "No operations specified"))
(let* ((id (tabulated-list-get-id))
(status (package-menu-get-status)))
@@ -4110,13 +4184,12 @@ the header line of the first column."
(defun package-menu-filter-by-archive (archive)
"Filter the \"*Packages*\" buffer by ARCHIVE.
Display only packages from package archive ARCHIVE.
+ARCHIVE can be the name of a single archive (a string), or
+a list of archive names. If ARCHIVE is nil or an empty
+string, show all packages.
-When called interactively, prompt for ARCHIVE, which can be a
-comma-separated string. If ARCHIVE is empty, show all packages.
-
-When called from Lisp, ARCHIVE can be a string or a list of
-strings. If ARCHIVE is nil or the empty string, show all
-packages."
+When called interactively, prompt for ARCHIVE. To specify
+several archives, type their names separated by commas."
(interactive (list (completing-read-multiple
"Filter by archive (comma separated): "
(mapcar #'car package-archives)))
@@ -4132,9 +4205,9 @@ packages."
(concat "archive:" (string-join archives ",")))))
(defun package-menu-filter-by-description (description)
- "Filter the \"*Packages*\" buffer by DESCRIPTION regexp.
-Display only packages with a description that matches regexp
-DESCRIPTION.
+ "Filter the \"*Packages*\" buffer by the regexp DESCRIPTION.
+Display only packages whose description matches the regexp
+given as DESCRIPTION.
When called interactively, prompt for DESCRIPTION.
@@ -4151,14 +4224,16 @@ If DESCRIPTION is nil or the empty string, show all packages."
(defun package-menu-filter-by-keyword (keyword)
"Filter the \"*Packages*\" buffer by KEYWORD.
-Display only packages with specified KEYWORD.
+Display only packages whose keywords match the specified KEYWORD.
+KEYWORD can be a string or a list of strings. If KEYWORD is nil
+or the empty string, show all packages.
-When called interactively, prompt for KEYWORD, which can be a
-comma-separated string. If KEYWORD is empty, show all packages.
+In addition to package keywords, KEYWORD can include the name(s)
+of archive(s) and the package status, such as \"available\"
+or \"built-in\" or \"obsolete\".
-When called from Lisp, KEYWORD can be a string or a list of
-strings. If KEYWORD is nil or the empty string, show all
-packages."
+When called interactively, prompt for KEYWORD. To specify several
+keywords, type them separated by commas."
(interactive (list (completing-read-multiple
"Keywords (comma separated): "
(package-all-keywords)))
@@ -4176,8 +4251,8 @@ packages."
'package-menu-filter #'package-menu-filter-by-keyword "27.1")
(defun package-menu-filter-by-name-or-description (name-or-description)
- "Filter the \"*Packages*\" buffer by NAME-OR-DESCRIPTION regexp.
-Display only packages with a name-or-description that matches regexp
+ "Filter the \"*Packages*\" buffer by the regexp NAME-OR-DESCRIPTION.
+Display only packages whose name or description matches the regexp
NAME-OR-DESCRIPTION.
When called interactively, prompt for NAME-OR-DESCRIPTION.
@@ -4198,8 +4273,8 @@ packages."
(format "name-or-desc:%s" name-or-description))))
(defun package-menu-filter-by-name (name)
- "Filter the \"*Packages*\" buffer by NAME regexp.
-Display only packages with name that matches regexp NAME.
+ "Filter the \"*Packages*\" buffer by the regexp NAME.
+Display only packages whose name matches the regexp NAME.
When called interactively, prompt for NAME.
@@ -4217,13 +4292,11 @@ If NAME is nil or the empty string, show all packages."
(defun package-menu-filter-by-status (status)
"Filter the \"*Packages*\" buffer by STATUS.
Display only packages with specified STATUS.
+STATUS can be a single status, a string, or a list of strings.
+If STATUS is nil or the empty string, show all packages.
-When called interactively, prompt for STATUS, which can be a
-comma-separated string. If STATUS is empty, show all packages.
-
-When called from Lisp, STATUS can be a string or a list of
-strings. If STATUS is nil or the empty string, show all
-packages."
+When called interactively, prompt for STATUS. To specify
+several possible status values, type them seperated by commas."
(interactive (list (completing-read "Filter by status: "
'("avail-obso"
"available"
@@ -4252,12 +4325,12 @@ packages."
(defun package-menu-filter-by-version (version predicate)
"Filter the \"*Packages*\" buffer by VERSION and PREDICATE.
-Display only packages with a matching version.
+Display only packages whose version satisfies the condition
+defined by VERSION and PREDICATE.
-When called interactively, prompt for one of the qualifiers `<',
-`>' or `=', and a package version. Show only packages that has a
-lower (`<'), equal (`=') or higher (`>') version than the
-specified one.
+When called interactively, prompt for one of the comparison operators
+`<', `>' or `=', and for a version. Show only packages whose version
+is lower (`<'), equal (`=') or higher (`>') than the specified VERSION.
When called from Lisp, VERSION should be a version string and
PREDICATE should be the symbol `=', `<' or `>'.
@@ -4295,7 +4368,8 @@ If VERSION is nil or the empty string, show all packages."
(format "versions:%s%s" predicate version)))))
(defun package-menu-filter-marked ()
- "Filter \"*Packages*\" buffer by non-empty upgrade mark.
+ "Filter \"*Packages*\" buffer by non-empty mark.
+Show only the packages that have been marked for installation or deletion.
Unlike other filters, this leaves the marks intact."
(interactive nil package-menu-mode)
(package--ensure-package-menu-mode)
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el
index e6e3cd6c6f4..625fc5f252d 100644
--- a/lisp/emacs-lisp/pp.el
+++ b/lisp/emacs-lisp/pp.el
@@ -52,53 +52,228 @@ Note that this could slow down `pp' considerably when formatting
large lists."
:type 'boolean
:version "29.1")
+(make-obsolete-variable 'pp-use-max-width 'pp-default-function "30.1")
+
+(defcustom pp-default-function #'pp-fill
+ ;; FIXME: The best pretty printer to use depends on the use-case
+ ;; so maybe we should allow callers to specify what they want (maybe with
+ ;; options like `fast', `compact', `code', `data', ...) and these
+ ;; can then be mapped to actual pretty-printing algorithms.
+ ;; Then again, callers can just directly call the corresponding function.
+ "Function that `pp' should dispatch to for pretty printing.
+That function can be called in one of two ways:
+- with a single argument, which it should insert and pretty-print at point.
+- with two arguments which delimit a region containing Lisp sexps
+ which should be pretty-printed.
+In both cases, the function can presume that the buffer is setup for
+Lisp syntax."
+ :type '(choice
+ (const :tag "Fit within `fill-column'" pp-fill)
+ (const :tag "Emacs<29 algorithm, fast and good enough" pp-28)
+ (const :tag "Work hard for code (slow on large inputs)"
+ pp-emacs-lisp-code)
+ (const :tag "`pp-emacs-lisp-code' if `pp-use-max-width' else `pp-28'"
+ pp-29)
+ function)
+ :version "30.1")
(defvar pp--inhibit-function-formatting nil)
+;; There are basically two APIs for a pretty-printing function:
+;;
+;; - either the function takes an object (and prints it in addition to
+;; prettifying it).
+;; - or the function takes a region containing an already printed object
+;; and prettifies its content.
+;;
+;; `pp--object' and `pp--region' are helper functions to convert one
+;; API to the other.
+
+
+(defun pp--object (object region-function)
+ "Pretty-print OBJECT at point.
+The prettifying is done by REGION-FUNCTION which is
+called with two positions as arguments and should fold lines
+within that region. Returns the result as a string."
+ (let ((print-escape-newlines pp-escape-newlines)
+ (print-quoted t)
+ (beg (point)))
+ ;; FIXME: In many cases it would be preferable to use `cl-prin1' here.
+ (prin1 object (current-buffer))
+ (funcall region-function beg (point))))
+
+(defun pp--region (beg end object-function)
+ "Pretty-print the object(s) contained within BEG..END.
+OBJECT-FUNCTION is called with a single object as argument
+and should pretty print it at point into the current buffer."
+ (save-excursion
+ (with-restriction beg end
+ (goto-char (point-min))
+ (while
+ (progn
+ ;; We'll throw away all the comments within objects, but let's
+ ;; try at least to preserve the comments between objects.
+ (forward-comment (point-max))
+ (let ((beg (point))
+ (object (ignore-error end-of-buffer
+ (list (read (current-buffer))))))
+ (when (consp object)
+ (delete-region beg (point))
+ (funcall object-function (car object))
+ t)))))))
+
+(defun pp-29 (beg-or-sexp &optional end) ;FIXME: Better name?
+ "Prettify the current region with printed representation of a Lisp object.
+Uses the pretty-printing algorithm that was standard in Emacs-29,
+which, depending on `pp-use-max-width', will either use `pp-28'
+or `pp-emacs-lisp-code'."
+ (if pp-use-max-width
+ (let ((pp--inhibit-function-formatting t)) ;FIXME: Why?
+ (pp-emacs-lisp-code beg-or-sexp end))
+ (pp-28 beg-or-sexp end)))
+
;;;###autoload
-(defun pp-to-string (object)
+(defun pp-to-string (object &optional pp-function)
"Return a string containing the pretty-printed representation of OBJECT.
OBJECT can be any Lisp object. Quoting characters are used as needed
-to make output that `read' can handle, whenever this is possible."
- (if pp-use-max-width
- (let ((pp--inhibit-function-formatting t))
- (with-temp-buffer
- (pp-emacs-lisp-code object)
- (buffer-string)))
- (with-temp-buffer
- (lisp-mode-variables nil)
- (set-syntax-table emacs-lisp-mode-syntax-table)
- (let ((print-escape-newlines pp-escape-newlines)
- (print-quoted t))
- (prin1 object (current-buffer)))
- (pp-buffer)
- (buffer-string))))
+to make output that `read' can handle, whenever this is possible.
+Optional argument PP-FUNCTION overrides `pp-default-function'."
+ (with-temp-buffer
+ (lisp-mode-variables nil)
+ (set-syntax-table emacs-lisp-mode-syntax-table)
+ (funcall (or pp-function pp-default-function) object)
+ ;; Preserve old behavior of (usually) finishing with a newline.
+ (unless (bolp) (insert "\n"))
+ (buffer-string)))
+
+(defun pp--within-fill-column-p ()
+ "Return non-nil if point is within `fill-column'."
+ ;; Try and make it O(fill-column) rather than O(current-column),
+ ;; so as to avoid major slowdowns on long lines.
+ ;; FIXME: This doesn't account for invisible text or `display' properties :-(
+ (and (save-excursion
+ (re-search-backward
+ "^\\|\n" (max (point-min) (- (point) fill-column)) t))
+ (<= (current-column) fill-column)))
+
+(defun pp-fill (beg &optional end)
+ "Break lines in Lisp code between BEG and END so it fits within `fill-column'.
+Presumes the current buffer has syntax and indentation properly
+configured for that.
+Designed under the assumption that the region occupies a single line,
+tho it should also work if that's not the case.
+Can also be called with a single argument, in which case
+it inserts and pretty-prints that arg at point."
+ (interactive "r")
+ (if (null end) (pp--object beg #'pp-fill)
+ (goto-char beg)
+ (let ((end (copy-marker end t))
+ (newline (lambda ()
+ (skip-chars-forward ")]}")
+ (unless (save-excursion (skip-chars-forward " \t") (eolp))
+ (insert "\n")
+ (indent-according-to-mode)))))
+ (while (progn (forward-comment (point-max))
+ (< (point) end))
+ (let ((beg (point))
+ ;; Whether we're in front of an element with paired delimiters.
+ ;; Can be something funky like #'(lambda ..) or ,'#s(...).
+ (paired (when (looking-at "['`,#]*[[:alpha:]]*\\([({[\"]\\)")
+ (match-beginning 1))))
+ ;; Go to the end of the sexp.
+ (goto-char (or (scan-sexps (or paired (point)) 1) end))
+ (unless
+ (and
+ ;; The sexp is all on a single line.
+ (save-excursion (not (search-backward "\n" beg t)))
+ ;; And its end is within `fill-column'.
+ (or (pp--within-fill-column-p)
+ ;; If the end of the sexp is beyond `fill-column',
+ ;; try to move the sexp to its own line.
+ (and
+ (save-excursion
+ (goto-char beg)
+ (if (save-excursion (skip-chars-backward " \t({[',")
+ (bolp))
+ ;; The sexp was already on its own line.
+ nil
+ (skip-chars-backward " \t")
+ (setq beg (copy-marker beg t))
+ (if paired (setq paired (copy-marker paired t)))
+ ;; We could try to undo this insertion if it
+ ;; doesn't reduce the indentation depth, but I'm
+ ;; not sure it's worth the trouble.
+ (insert "\n") (indent-according-to-mode)
+ t))
+ ;; Check again if we moved the whole exp to a new line.
+ (pp--within-fill-column-p))))
+ ;; The sexp is spread over several lines, and/or its end is
+ ;; (still) beyond `fill-column'.
+ (when (and paired (not (eq ?\" (char-after paired))))
+ ;; The sexp has sub-parts, so let's try and spread
+ ;; them over several lines.
+ (save-excursion
+ (goto-char beg)
+ (when (looking-at "(\\([^][()\" \t\n;']+\\)")
+ ;; Inside an expression of the form (SYM ARG1
+ ;; ARG2 ... ARGn) where SYM has a `lisp-indent-function'
+ ;; property that's a number, insert a newline after
+ ;; the corresponding ARGi, because it tends to lead to
+ ;; more natural and less indented code.
+ (let* ((sym (intern-soft (match-string 1)))
+ (lif (and sym (get sym 'lisp-indent-function))))
+ (if (eq lif 'defun) (setq lif 2))
+ (when (natnump lif)
+ (goto-char (match-end 0))
+ (forward-sexp lif)
+ (funcall newline)))))
+ (save-excursion
+ (pp-fill (1+ paired) (1- (point)))))
+ ;; Now the sexp either ends beyond `fill-column' or is
+ ;; spread over several lines (or both). Either way, the
+ ;; rest of the line should be moved to its own line.
+ (funcall newline)))))))
;;;###autoload
(defun pp-buffer ()
"Prettify the current buffer with printed representation of a Lisp object."
(interactive)
- (goto-char (point-min))
- (while (not (eobp))
- (cond
- ((ignore-errors (down-list 1) t)
- (save-excursion
- (backward-char 1)
- (skip-chars-backward "'`#^")
- (when (and (not (bobp)) (memq (char-before) '(?\s ?\t ?\n)))
+ (funcall pp-default-function (point-min) (point-max))
+ ;; Preserve old behavior of (usually) finishing with a newline and
+ ;; with point at BOB.
+ (goto-char (point-max))
+ (unless (bolp) (insert "\n"))
+ (goto-char (point-min)))
+
+(defun pp-28 (beg &optional end) ;FIXME: Better name?
+ "Prettify the current region with printed representation of a Lisp object.
+Uses the pretty-printing algorithm that was standard before Emacs-30.
+Non-interactively can also be called with a single argument, in which
+case that argument will be inserted pretty-printed at point."
+ (interactive "r")
+ (if (null end) (pp--object beg #'pp-29)
+ (save-restriction beg end
+ (goto-char (point-min))
+ (while (not (eobp))
+ (cond
+ ((ignore-errors (down-list 1) t)
+ (save-excursion
+ (backward-char 1)
+ (skip-chars-backward "'`#^")
+ (when (and (not (bobp)) (memq (char-before) '(?\s ?\t ?\n)))
+ (delete-region
+ (point)
+ (progn (skip-chars-backward " \t\n") (point)))
+ (insert "\n"))))
+ ((ignore-errors (up-list 1) t)
+ (skip-syntax-forward ")")
(delete-region
(point)
- (progn (skip-chars-backward " \t\n") (point)))
- (insert "\n"))))
- ((ignore-errors (up-list 1) t)
- (skip-syntax-forward ")")
- (delete-region
- (point)
- (progn (skip-chars-forward " \t\n") (point)))
- (insert ?\n))
- (t (goto-char (point-max)))))
- (goto-char (point-min))
- (indent-sexp))
+ (progn (skip-chars-forward " \t\n") (point)))
+ (insert ?\n))
+ (t (goto-char (point-max)))))
+ (goto-char (point-min))
+ (indent-sexp))))
;;;###autoload
(defun pp (object &optional stream)
@@ -106,14 +281,20 @@ to make output that `read' can handle, whenever this is possible."
Quoting characters are printed as needed to make output that `read'
can handle, whenever this is possible.
-This function does not apply special formatting rules for Emacs
-Lisp code. See `pp-emacs-lisp-code' instead.
-
-By default, this function won't limit the line length of lists
-and vectors. Bind `pp-use-max-width' to a non-nil value to do so.
+Uses the pretty-printing code specified in `pp-default-function'.
Output stream is STREAM, or value of `standard-output' (which see)."
- (princ (pp-to-string object) (or stream standard-output)))
+ (cond
+ ((and (eq (or stream standard-output) (current-buffer))
+ ;; Make sure the current buffer is setup sanely.
+ (eq (syntax-table) emacs-lisp-mode-syntax-table)
+ (eq indent-line-function #'lisp-indent-line))
+ ;; Skip the buffer->string->buffer middle man.
+ (funcall pp-default-function object)
+ ;; Preserve old behavior of (usually) finishing with a newline.
+ (unless (bolp) (insert "\n")))
+ (t
+ (princ (pp-to-string object) (or stream standard-output)))))
;;;###autoload
(defun pp-display-expression (expression out-buffer-name &optional lisp)
@@ -220,21 +401,24 @@ Ignores leading comment characters."
(pp-macroexpand-expression (pp-last-sexp))))
;;;###autoload
-(defun pp-emacs-lisp-code (sexp)
+(defun pp-emacs-lisp-code (sexp &optional end)
"Insert SEXP into the current buffer, formatted as Emacs Lisp code.
Use the `pp-max-width' variable to control the desired line length.
-Note that this could be slow for large SEXPs."
+Note that this could be slow for large SEXPs.
+Can also be called with two arguments, in which case they're taken to be
+the bounds of a region containing Lisp code to pretty-print."
(require 'edebug)
- (let ((obuf (current-buffer)))
- (with-temp-buffer
- (emacs-lisp-mode)
- (pp--insert-lisp sexp)
- (insert "\n")
- (goto-char (point-min))
- (indent-sexp)
- (while (re-search-forward " +$" nil t)
- (replace-match ""))
- (insert-into-buffer obuf))))
+ (if end (pp--region sexp end #'pp-emacs-lisp-code)
+ (let ((obuf (current-buffer)))
+ (with-temp-buffer
+ (emacs-lisp-mode)
+ (pp--insert-lisp sexp)
+ (insert "\n")
+ (goto-char (point-min))
+ (indent-sexp)
+ (while (re-search-forward " +$" nil t)
+ (replace-match ""))
+ (insert-into-buffer obuf)))))
(defun pp--insert-lisp (sexp)
(cl-case (type-of sexp)
diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el
index fd9fbbe25a4..39325a3c35e 100644
--- a/lisp/emacs-lisp/regexp-opt.el
+++ b/lisp/emacs-lisp/regexp-opt.el
@@ -154,6 +154,7 @@ usually more efficient than that of a simplified version:
"Return the depth of REGEXP.
This means the number of non-shy regexp grouping constructs
\(parenthesized expressions) in REGEXP."
+ (declare (pure t) (side-effect-free t))
(save-match-data
;; Hack to signal an error if REGEXP does not have balanced parentheses.
(string-match regexp "")
@@ -270,6 +271,7 @@ Merges keywords to avoid backtracking in Emacs's regexp matcher."
CHARS should be a list of characters.
If CHARS is the empty list, the return value is a regexp that
never matches anything."
+ (declare (pure t) (side-effect-free t))
;; The basic idea is to find character ranges. Also we take care in the
;; position of character set meta characters in the character set regexp.
;;
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index 46f61c26bc4..e82490ffee5 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -1144,6 +1144,7 @@ If NO-GROUP is non-nil, don't bracket the result in a non-capturing
group.
For extending the `rx' notation in FORM, use `rx-define' or `rx-let-eval'."
+ (declare (important-return-value t))
(let* ((item (rx--translate form))
(exprs (if no-group
(car item)
diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el
index 9a6f5dd12ce..f5897385262 100644
--- a/lisp/emacs-lisp/shortdoc.el
+++ b/lisp/emacs-lisp/shortdoc.el
@@ -137,11 +137,11 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
:eval (assoc-string "foo" '(("foo" . "bar") ("zot" "baz"))))
"Manipulating Alists"
(assoc-delete-all
- :eval (assoc-delete-all "foo" '(("foo" . "bar") ("zot" . "baz")) #'equal))
+ :eval (assoc-delete-all "b" (list '("a" . a) '("b" . b) '("b" . c))))
(assq-delete-all
- :eval (assq-delete-all 'foo '((foo . bar) (zot . baz))))
+ :eval (assq-delete-all 2 (list '(1 . a) '(2 . b) '(2 . c))))
(rassq-delete-all
- :eval (rassq-delete-all 'bar '((foo . bar) (zot . baz))))
+ :eval (rassq-delete-all 'b (list '(1 . a) '(2 . b) '(2 . c))))
(alist-get
:eval (let ((foo '((bar . baz))))
(setf (alist-get 'bar foo) 'zot)
@@ -187,8 +187,10 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
:eval (format "This number is %d" 4))
"Manipulating Strings"
(substring
- :eval (substring "foobar" 0 3)
- :eval (substring "foobar" 3))
+ :eval (substring "abcde" 1 3)
+ :eval (substring "abcde" 2)
+ :eval (substring "abcde" 1 -1)
+ :eval (substring "abcde" -4 4))
(string-limit
:eval (string-limit "foobar" 3)
:eval (string-limit "foobar" 3 t)
@@ -705,10 +707,12 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
:eval (assoc-default 2 '((1 . a) (2 . b) #'=)))
(copy-alist
:eval (copy-alist '((1 . a) (2 . b))))
- (assq-delete-all
- :eval (assq-delete-all 2 (list '(1 . a) '(2 . b) '(2 . c))))
(assoc-delete-all
:eval (assoc-delete-all "b" (list '("a" . a) '("b" . b) '("b" . c))))
+ (assq-delete-all
+ :eval (assq-delete-all 2 (list '(1 . a) '(2 . b) '(2 . c))))
+ (rassq-delete-all
+ :eval (rassq-delete-all 'b (list '(1 . a) '(2 . b) '(2 . c))))
"Property Lists"
(plist-get
:eval (plist-get '(a 1 b 2 c 3) 'b))
@@ -833,6 +837,8 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
(seq-subseq
:eval (seq-subseq [1 2 3 4 5] 1 3)
:eval (seq-subseq [1 2 3 4 5] 1))
+ (copy-tree
+ :eval (copy-tree [1 (2 3) [4 5]] t))
"Mapping Over Vectors"
(mapcar
:eval (mapcar #'identity [1 2 3]))
diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el
index 947390b3de3..9e906930b92 100644
--- a/lisp/emacs-lisp/subr-x.el
+++ b/lisp/emacs-lisp/subr-x.el
@@ -81,18 +81,22 @@ Note how the single `-' got converted into a list before
threading."
(declare (indent 0) (debug thread-first))
`(internal--thread-argument nil ,@forms))
+
(defsubst hash-table-empty-p (hash-table)
"Check whether HASH-TABLE is empty (has 0 elements)."
+ (declare (side-effect-free t))
(zerop (hash-table-count hash-table)))
(defsubst hash-table-keys (hash-table)
"Return a list of keys in HASH-TABLE."
+ (declare (side-effect-free t))
(let ((keys nil))
(maphash (lambda (k _) (push k keys)) hash-table)
keys))
(defsubst hash-table-values (hash-table)
"Return a list of values in HASH-TABLE."
+ (declare (side-effect-free t))
(let ((values nil))
(maphash (lambda (_ v) (push v values)) hash-table)
values))
@@ -149,6 +153,7 @@ carriage return."
All sequences of whitespaces in STRING are collapsed into a
single space character, and leading/trailing whitespace is
removed."
+ (declare (important-return-value t))
(let ((blank "[[:blank:]\r\n]+"))
(string-trim (replace-regexp-in-string blank " " string t t)
blank blank)))
@@ -158,6 +163,7 @@ removed."
Wrapping is done where there is whitespace. If there are
individual words in STRING that are longer than LENGTH, the
result will have lines that are longer than LENGTH."
+ (declare (important-return-value t))
(with-temp-buffer
(insert string)
(goto-char (point-min))
@@ -189,6 +195,7 @@ coding system that doesn't specify a BOM, like `utf-16le' or `utf-16be'.
When shortening strings for display purposes,
`truncate-string-to-width' is almost always a better alternative
than this function."
+ (declare (important-return-value t))
(unless (natnump length)
(signal 'wrong-type-argument (list 'natnump length)))
(if coding-system
@@ -324,6 +331,7 @@ as the new values of the bound variables in the recursive invocation."
;;;###autoload
(defun string-pixel-width (string)
"Return the width of STRING in pixels."
+ (declare (important-return-value t))
(if (zerop (length string))
0
;; Keeping a work buffer around is more efficient than creating a
@@ -344,6 +352,7 @@ This takes into account combining characters and grapheme clusters:
if compositions are enabled, each sequence of characters composed
on display into a single grapheme cluster is treated as a single
indivisible unit."
+ (declare (side-effect-free t))
(let ((result nil)
(start 0)
comp)
diff --git a/lisp/emacs-lisp/text-property-search.el b/lisp/emacs-lisp/text-property-search.el
index 920278b903a..669cdd97319 100644
--- a/lisp/emacs-lisp/text-property-search.el
+++ b/lisp/emacs-lisp/text-property-search.el
@@ -31,40 +31,41 @@
(defun text-property-search-forward (property &optional value predicate
not-current)
- "Search for the next region of text where PREDICATE is true.
-PREDICATE is used to decide whether a value of PROPERTY should be
-considered as matching VALUE.
+ "Search for next region of text where PREDICATE returns non-nil for PROPERTY.
+PREDICATE is used to decide whether the value of PROPERTY at a given
+buffer position should be considered as a match for VALUE.
+VALUE defaults to nil if omitted.
If PREDICATE is a function, it will be called with two arguments:
-VALUE and the value of PROPERTY. The function should return
-non-nil if these two values are to be considered a match.
+VALUE and the value of PROPERTY at some buffer position. The function
+should return non-nil if these two values are to be considered a match.
Two special values of PREDICATE can also be used:
-If PREDICATE is t, that means a value must `equal' VALUE to be
-considered a match.
-If PREDICATE is nil (which is the default value), a value will
-match if is not `equal' to VALUE. Furthermore, a nil PREDICATE
-means that the match region is ended if the value changes. For
+If PREDICATE is t, that means the value of PROPERTY must `equal' VALUE
+to be considered a match.
+If PREDICATE is nil (which is the default), the value of PROPERTY will
+match if it is not `equal' to VALUE. Furthermore, a nil PREDICATE
+means that the match region ends where the value changes. For
instance, this means that if you loop with
(while (setq prop (text-property-search-forward \\='face))
...)
-you will get all distinct regions with non-nil `face' values in
+you will get all the distinct regions with non-nil `face' values in
the buffer, and the `prop' object will have the details about the
match. See the manual for more details and examples about how
VALUE and PREDICATE interact.
-If NOT-CURRENT is non-nil, the function will search for the first
-region that doesn't include point and has a value of PROPERTY
-that matches VALUE.
+If NOT-CURRENT is non-nil, current buffer position is not examined for
+matches: the function will search for the first region that doesn't
+include point and has a value of PROPERTY that matches VALUE.
If no matches can be found, return nil and don't move point.
If found, move point to the end of the region and return a
`prop-match' object describing the match. To access the details
of the match, use `prop-match-beginning' and `prop-match-end' for
-the buffer positions that limit the region, and
-`prop-match-value' for the value of PROPERTY in the region."
+the buffer positions that limit the region, and `prop-match-value'
+for the value of PROPERTY in the region."
(interactive
(list
(let ((string (completing-read "Search for property: " obarray)))
@@ -134,7 +135,7 @@ the buffer positions that limit the region, and
(defun text-property-search-backward (property &optional value predicate
not-current)
- "Search for the previous region of text whose PROPERTY matches VALUE.
+ "Search for previous region of text where PREDICATE returns non-nil for PROPERTY.
Like `text-property-search-forward', which see, but searches backward,
and if a matching region is found, place point at the start of the region."
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el
index 783c01058e2..ecbcace2dd4 100644
--- a/lisp/emulation/viper-ex.el
+++ b/lisp/emulation/viper-ex.el
@@ -294,7 +294,8 @@
"\\|"
"bash$\\|bash.exe$"
"\\)")
- shell-file-name)))
+ shell-file-name)
+ t))
"Is the user using a unix-type shell under a non-OS?"
:type 'boolean)
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el
index 986d1fe6bc6..c39e3cf5142 100644
--- a/lisp/emulation/viper-init.el
+++ b/lisp/emulation/viper-init.el
@@ -47,7 +47,8 @@
(defun viper-window-display-p ()
(and window-system (not (memq window-system '(tty stream pc)))))
-(defcustom viper-ms-style-os-p (memq system-type '(ms-dos windows-nt))
+(defcustom viper-ms-style-os-p
+ (not (not (memq system-type '(ms-dos windows-nt))))
"Non-nil if Emacs is running under an MS-style OS: MS-DOS, or MS-Windows."
:type 'boolean
:tag "Is it Microsoft-made OS?"
diff --git a/lisp/env.el b/lisp/env.el
index faafcb6250f..281934af054 100644
--- a/lisp/env.el
+++ b/lisp/env.el
@@ -76,6 +76,7 @@ If it is non-nil and not a function, references to undefined variables are
left unchanged.
Use `$$' to insert a single dollar sign."
+ (declare (important-return-value t))
(let ((start 0))
(while (string-match env--substitute-vars-regexp string start)
(cond ((match-beginning 1)
@@ -94,6 +95,7 @@ Use `$$' to insert a single dollar sign."
string))
(defun substitute-env-in-file-name (filename)
+ (declare (important-return-value t))
(substitute-env-vars filename
;; How 'bout we lookup other tables than the env?
;; E.g. we could accept bookmark names as well!
@@ -104,6 +106,7 @@ Use `$$' to insert a single dollar sign."
(defun setenv-internal (env variable value keep-empty)
"Set VARIABLE to VALUE in ENV, adding empty entries if KEEP-EMPTY.
Changes ENV by side-effect, and returns its new value."
+ (declare (important-return-value t))
(let ((pattern (concat "\\`" (regexp-quote variable) "\\(=\\|\\'\\)"))
(case-fold-search nil)
(scan env)
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index bdf4e2ddca2..f1b51f9234a 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -102,11 +102,12 @@
(require 'erc-common)
(defvar erc--target)
-(defvar erc-auto-query)
+(defvar erc--user-from-nick-function)
(defvar erc-channel-list)
(defvar erc-channel-users)
(defvar erc-default-nicks)
(defvar erc-default-recipients)
+(defvar erc-ensure-target-buffer-on-privmsg)
(defvar erc-format-nick-function)
(defvar erc-format-query-as-channel-p)
(defvar erc-hide-prompt)
@@ -123,6 +124,8 @@
(defvar erc-nick-change-attempt-count)
(defvar erc-prompt-for-channel-key)
(defvar erc-prompt-hidden)
+(defvar erc-receive-query-display)
+(defvar erc-receive-query-display-defer)
(defvar erc-reuse-buffers)
(defvar erc-verbose-server-ping)
(defvar erc-whowas-on-nosuchnick)
@@ -297,6 +300,12 @@ function `erc-server-process-alive' instead.")
(defvar-local erc-server-reconnect-count 0
"Number of times we have failed to reconnect to the current server.")
+(defvar-local erc--server-reconnect-display-timer nil
+ "Timer that resets `erc--server-last-reconnect-count' to zero.
+Becomes non-nil in all server buffers when an IRC connection is
+first \"established\" and carries out its duties
+`erc-reconnect-display-timeout' seconds later.")
+
(defvar-local erc--server-last-reconnect-count 0
"Snapshot of reconnect count when the connection was established.")
@@ -419,8 +428,8 @@ If this value is too low, servers may reject your initial nick
request upon reconnecting because they haven't yet noticed that
your previous connection is dead. If this happens, try setting
this value to 120 or greater and/or exploring the option
-`erc-nickname-in-use-functions', which may provide a more
-proactive means of handling this situation on some servers."
+`erc-regain-services-alist', which may provide a more proactive
+means of handling this situation on some servers."
:type 'number)
(defcustom erc-server-reconnect-function 'erc-server-delayed-reconnect
@@ -564,6 +573,47 @@ If this is set to nil, never try to reconnect."
;;;; Helper functions
+(defvar erc--reject-unbreakable-lines nil
+ "Signal an error when a line exceeds `erc-split-line-length'.
+Sending such lines and hoping for the best is no longer supported
+in ERC 5.6. This internal var exists as a possibly temporary
+escape hatch for inhibiting their transmission.")
+
+(defun erc--split-line (longline)
+ (let* ((coding (erc-coding-system-for-target nil))
+ (original-window-buf (window-buffer (selected-window)))
+ out)
+ (when (consp coding)
+ (setq coding (car coding)))
+ (setq coding (coding-system-change-eol-conversion coding 'unix))
+ (unwind-protect
+ (with-temp-buffer
+ (set-window-buffer (selected-window) (current-buffer))
+ (insert longline)
+ (goto-char (point-min))
+ (while (not (eobp))
+ (let ((upper (filepos-to-bufferpos erc-split-line-length
+ 'exact coding)))
+ (goto-char (or upper (point-max)))
+ (unless (eobp)
+ (skip-chars-backward "^ \t"))
+ (when (bobp)
+ (when erc--reject-unbreakable-lines
+ (user-error
+ (substitute-command-keys
+ (concat "Unbreakable line encountered "
+ "(Recover input with \\[erc-previous-command])"))))
+ (goto-char upper))
+ (when-let ((cmp (find-composition (point) (1+ (point)))))
+ (if (= (car cmp) (point-min))
+ (goto-char (nth 1 cmp))
+ (goto-char (car cmp)))))
+ (cl-assert (/= (point-min) (point)))
+ (push (buffer-substring-no-properties (point-min) (point)) out)
+ (delete-region (point-min) (point)))
+ (or (nreverse out) (list "")))
+ (set-window-buffer (selected-window) original-window-buf))))
+
;; From Circe
(defun erc-split-line (longline)
"Return a list of lines which are not too long for IRC.
@@ -901,6 +951,22 @@ EVENT is the message received from the closed connection process."
erc-server-reconnecting)
(erc--server-reconnect-p event)))
+(defun erc--server-last-reconnect-on-disconnect (&rest _)
+ (remove-hook 'erc-disconnected-hook
+ #'erc--server-last-reconnect-on-disconnect t)
+ (erc--server-last-reconnect-display-reset (current-buffer)))
+
+(defun erc--server-last-reconnect-display-reset (buffer)
+ "Deactivate `erc-reconnect-display'."
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (when erc--server-reconnect-display-timer
+ (cancel-timer erc--server-reconnect-display-timer)
+ (remove-hook 'erc-disconnected-hook
+ #'erc--server-last-reconnect-display-reset t)
+ (setq erc--server-reconnect-display-timer nil
+ erc--server-last-reconnect-count 0)))))
+
(defconst erc--mode-line-process-reconnecting
'(:eval (erc-with-server-buffer
(and erc--server-reconnect-timer
@@ -1435,8 +1501,6 @@ Finds hooks by looking in the `erc-server-responses' hash table."
(erc-with-server-buffer
(run-hook-with-args 'erc-timer-hook (erc-current-time)))))
-(add-hook 'erc-default-server-functions #'erc-handle-unknown-server-response)
-
(defun erc-handle-unknown-server-response (proc parsed)
"Display unknown server response's message."
(let ((line (concat (erc-response.sender parsed)
@@ -1831,11 +1895,16 @@ add things to `%s' instead."
(unless (or buffer noticep (string-empty-p tgt) (eq ?$ (aref tgt 0))
(erc-is-message-ctcp-and-not-action-p msg))
(if privp
- (when erc-auto-query
- (let ((erc-join-buffer erc-auto-query))
- (setq buffer (erc--open-target nick))))
- ;; A channel buffer has been killed but is still joined
- (setq buffer (erc--open-target tgt))))
+ (when-let ((erc-join-buffer
+ (or (and (not erc-receive-query-display-defer)
+ erc-receive-query-display)
+ (and erc-ensure-target-buffer-on-privmsg
+ (or erc-receive-query-display
+ erc-join-buffer)))))
+ (setq buffer (erc--open-target nick)))
+ ;; A channel buffer has been killed but is still joined.
+ (when erc-ensure-target-buffer-on-privmsg
+ (setq buffer (erc--open-target tgt)))))
(when buffer
(with-current-buffer buffer
(when privp (erc--unhide-prompt))
@@ -1844,7 +1913,8 @@ add things to `%s' instead."
;; at this point.
(erc-update-channel-member (if privp nick tgt) nick nick
privp nil nil nil nil nil host login nil nil t)
- (let ((cdata (erc-get-channel-user nick)))
+ (let ((cdata (funcall erc--user-from-nick-function
+ (erc-downcase nick) sndr parsed)))
(setq fnick (funcall erc-format-nick-function
(car cdata) (cdr cdata))))))
(cond
diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el
index 33e69f3b0b8..0c616a6026d 100644
--- a/lisp/erc/erc-button.el
+++ b/lisp/erc/erc-button.el
@@ -52,14 +52,16 @@
;;;###autoload(autoload 'erc-button-mode "erc-button" nil t)
(define-erc-module button nil
"This mode buttonizes all messages according to `erc-button-alist'."
- ((erc-button--check-nicknames-entry)
- (add-hook 'erc-insert-modify-hook #'erc-button-add-buttons 'append)
- (add-hook 'erc-send-modify-hook #'erc-button-add-buttons 'append)
- (add-hook 'erc-complete-functions #'erc-button-next-function)
+ ((add-hook 'erc-insert-modify-hook #'erc-button-add-buttons 30)
+ (add-hook 'erc-send-modify-hook #'erc-button-add-buttons 30)
+ (add-hook 'erc-mode-hook #'erc-button-setup 91)
+ (unless erc--updating-modules-p (erc-buffer-do #'erc-button-setup))
+ (add-hook 'erc--tab-functions #'erc-button-next)
(erc--modify-local-map t "<backtab>" #'erc-button-previous))
((remove-hook 'erc-insert-modify-hook #'erc-button-add-buttons)
(remove-hook 'erc-send-modify-hook #'erc-button-add-buttons)
- (remove-hook 'erc-complete-functions #'erc-button-next-function)
+ (remove-hook 'erc-mode-hook #'erc-button-setup)
+ (remove-hook 'erc--tab-functions #'erc-button-next)
(erc--modify-local-map nil "<backtab>" #'erc-button-previous)))
;;; Variables
@@ -103,7 +105,10 @@ longer than `erc-fill-column'."
:type '(choice integer boolean))
(defcustom erc-button-buttonize-nicks t
- "Flag indicating whether nicks should be buttonized or not."
+ "Flag indicating whether nicks should be buttonized.
+Note that beginning in ERC 5.6, some functionality provided by
+other modules, such as `fill-wrap', may depend on this option
+being non-nil."
:type 'boolean)
(defcustom erc-button-rfc-url "https://tools.ietf.org/html/rfc%s"
@@ -126,9 +131,8 @@ longer than `erc-fill-column'."
;; a button, it makes no sense to optimize performance by
;; bytecompiling lambdas in this alist. On the other hand, it makes
;; things hard to maintain.
- '((nicknames 0 erc-button-buttonize-nicks erc-nick-popup 0)
- (erc-button-url-regexp 0 t browse-url-button-open-url 0)
- ("<URL: *\\([^<> ]+\\) *>" 0 t browse-url-button-open-url 1)
+ '((erc-button-url-regexp 0 t browse-url-button-open-url 0)
+ ;; ("<URL: *\\([^<> ]+\\) *>" 0 t browse-url-button-open-url 1)
;;; ("(\\(\\([^~\n \t@][^\n \t@]*\\)@\\([a-zA-Z0-9.:-]+\\)\\)" 1 t finger 2 3)
;; emacs internal
("[`‘]\\([a-zA-Z][-a-zA-Z_0-9!*<=>+]+\\)['’]"
@@ -159,44 +163,45 @@ REGEXP is the string matching text around the button or a symbol
strings, or an alist with the strings in the car. Note that
entries in lists or alists are considered to be nicks or other
complete words. Therefore they are enclosed in \\< and \\>
- while searching. REGEXP can also be the symbol
- `nicknames', which matches the nickname of any user on the
- current server.
+ while searching. Also, use of the special symbol `nicknames'
+ for this slot was deprecated in ERC 5.6, but users can still
+ use `erc-button-buttonize-nicks' to control whether nicks get
+ buttonized. And because customizing a corresponding CALLBACK
+ is no longer possible, an escape hatch has been provided via
+ the variable `erc-button-nickname-callback-function'.
BUTTON is the number of the regexp grouping actually matching the
- button. This is ignored if REGEXP is `nicknames'.
-
-FORM is a Lisp symbol for a special variable whose value must be
- true for the button to be added. Alternatively, when REGEXP is
- not `nicknames', FORM can be a function whose arguments are BEG
- and END, the bounds of the button in the current buffer. It's
- expected to return a cons of (possibly identical) bounds or
- nil, to deny. For the extent of the call, all face options
- defined for the button module are re-bound, shadowing
- themselves, so the function is free to change their values.
- When regexp is the special symbol `nicknames', FORM must be the
- symbol `erc-button-buttonize-nicks'. Specifying anything else
- is deprecated.
+ button.
+
+FORM is either a boolean or a special variable whose value must
+ be non-nil for the button to be added. It can also be a
+ function to call in place of `erc-button-add-button' with the
+ exact same arguments. When FORM is also a special variable,
+ ERC disregards the variable and calls the function. Note that
+ arbitrary s-expressions were deprecated in ERC 5.6 and may not
+ be respected in the future. If necessary, users can instead
+ supply a function that calls `erc-button-add-button' when such
+ an expression is non-nil.
CALLBACK is the function to call when the user push this button.
CALLBACK can also be a symbol. Its variable value will be used
as the callback function.
PAR is a number of a regexp grouping whose text will be passed to
- CALLBACK. There can be several PAR arguments. If REGEXP is
- `nicknames', these are ignored, and CALLBACK will be called with
- the nickname matched as the argument."
+ CALLBACK. There can be several PAR arguments."
:package-version '(ERC . "5.6") ; FIXME sync on release
:type '(repeat
(list :tag "Button"
(choice :tag "Matches"
regexp
(variable :tag "Variable containing regexp")
- (const :tag "Nicknames" nicknames))
+ (repeat :tag "List of words" string)
+ (alist :key-type string :value-type sexp))
(integer :tag "Number of the regexp section that matches")
(choice :tag "When to buttonize"
(const :tag "Always" t)
- (sexp :tag "Only when this evaluates to non-nil"))
+ (function :tag "Alternative buttonizing function")
+ (variable :tag "Var with value treated as boolean"))
(function :tag "Function to call when button is pressed")
(repeat :tag "Sections of regexp to send to the function"
:inline t
@@ -242,15 +247,40 @@ constituents.")
(defvar erc-button-keys-added nil
"Internal variable used to keep track of whether we've added the
global-level ERC button keys yet.")
+(make-obsolete-variable 'erc-button-keys-added "no longer relevant" "30.1")
+
+(defvar-local erc-button--has-nickname-entry nil
+ "Whether `erc-button-alist' contains a legacy `nicknames' entry.")
-;; Maybe deprecate this function and `erc-button-keys-added' if they
-;; continue to go unused for a another version (currently 5.6).
(defun erc-button-setup ()
- "Add ERC mode-level button movement keys. This is only done once."
- ;; Add keys.
- (unless erc-button-keys-added
- (define-key erc-mode-map (kbd "<backtab>") #'erc-button-previous)
- (setq erc-button-keys-added t)))
+ "Perform major-mode setup for ERC's button module.
+Note that prior to ERC 5.6, this function used to modify
+`erc-mode-map', but that's now handled by the mode toggles
+themselves."
+ (setq erc-button-keys-added t)
+ (cl-assert (derived-mode-p 'erc-mode))
+ ;; It would probably suffice to run this in server buffers alone,
+ ;; even though buttonizing happens in all ERC buffers and users have
+ ;; been known to set `erc-button-alist' locally.
+ (dolist (entry erc-button-alist)
+ (pcase entry
+ ((or `(nicknames ,_ ,sym . ,_) `('nicknames ,_ ,sym . ,_))
+ (setq erc-button--has-nickname-entry t)
+ (unless (eq sym 'erc-button-buttonize-nicks)
+ (erc--warn-once-before-connect 'erc-button-mode
+ "The legacy `nicknames' entry in `erc-button-alist'"
+ " is deprecated. See doc string for details.")))
+ ((and `(,_ ,_ ,form . ,_)
+ (guard (not (or (and (symbolp form)
+ (special-variable-p form))
+ (functionp form)))))
+ (erc--warn-once-before-connect 'erc-button-mode
+ "Arbitrary sexps for the third, FORM slot of `erc-button-alist'"
+ " entries are deprecated. Either use a variable or a function"
+ " that conditionally calls `erc-button-add-button'.")))))
+
+(defvar erc-button-nickname-callback-function #'erc-nick-popup
+ "Escape hatch for those needing a different nickname callback.")
(defun erc-button-add-buttons ()
"Find external references in the current buffer and make buttons of them.
@@ -264,6 +294,11 @@ specified by `erc-button-alist'."
(alist erc-button-alist)
regexp)
(erc-button-remove-old-buttons)
+ (unless (or erc-button--has-nickname-entry
+ (not erc-button-buttonize-nicks))
+ (erc-button-add-nickname-buttons
+ `(_ _ erc-button--modify-nick-function
+ ,erc-button-nickname-callback-function)))
(dolist (entry alist)
(if (or (eq (car entry) 'nicknames)
;; Old form retained for backward compatibility.
@@ -287,29 +322,45 @@ specified by `erc-button-alist'."
(concat "\\<" (regexp-quote (car elem)) "\\>")
entry)))))))))))
-(defun erc-button--maybe-warn-arbitrary-sexp (form)
- (if (and (symbolp form) (special-variable-p form))
- (symbol-value form)
- (unless (get 'erc-button--maybe-warn-arbitrary-sexp 'warned-arbitrary-sexp)
- (put 'erc-button--maybe-warn-arbitrary-sexp 'warned-arbitrary-sexp t)
- (lwarn 'erc :warning
- (concat "Arbitrary sexps for the third FORM"
- " slot of `erc-button-alist' entries"
- " have been deprecated.")))
- (eval form t)))
-
-(defun erc-button--check-nicknames-entry ()
- ;; This helper exists because the module is defined after its options.
- (when-let (((eq major-mode 'erc-mode))
- (entry (alist-get 'nicknames erc-button-alist)))
- (unless (eq 'erc-button-buttonize-nicks (nth 1 entry))
- (erc-button--display-error-notice-with-keys-and-warn
- "Values other than `erc-button-buttonize-nicks' in the third slot of "
- "the `nicknames' entry of `erc-button-alist' are deprecated."))))
-
-(defun erc-button--preserve-bounds (bounds _ server-user _)
- "Return BOUNDS.\n\n(fn BOUNDS NICKNAME SERVER-USER CHANNEL-USER)"
- (and server-user bounds))
+(defun erc-button--extract-form (form)
+ ;; If a special-variable is also a function, favor the function.
+ (cond ((eq t form) t)
+ ((functionp form) form)
+ ((and (symbolp form) (special-variable-p form))
+ (while (let ((val (symbol-value form)))
+ (prog1 (and (not (eq val form))
+ (symbolp val)
+ (special-variable-p val))
+ (setq form val))))
+ form)
+ (t (eval form t))))
+
+(cl-defstruct erc-button--nick
+ ( bounds nil :type cons
+ ;; Indicates the nick's position in the current message. BEG is
+ ;; normally also point.
+ :documentation "A cons of (BEG . END).")
+ ( data nil :type (or null cons)
+ ;; When non-nil, the CAR must be a non-casemapped nickname. For
+ ;; compatibility, the CDR should probably be nil, but this may
+ ;; have to change eventually. If non-nil, the entire cons should
+ ;; be mutated rather than replaced because it's used as a key in
+ ;; hash tables and text-property searches.
+ :documentation "A unique cons whose car is a nickname.")
+ ( downcased nil :type (or null string)
+ :documentation "The case-mapped nickname sans text properties.")
+ ( user nil :type (or null erc-server-user)
+ ;; Not necessarily present in `erc-server-users'.
+ :documentation "A possibly nil or spoofed `erc-server-user'.")
+ ( cuser nil :type (or null erc-channel-user)
+ ;; The CDR of a value from an `erc-channel-users' table.
+ :documentation "A possibly nil `erc-channel-user'.")
+ ( face erc-button-face :type symbol
+ :documentation "Temp `erc-button-face' while buttonizing.")
+ ( nickname-face erc-button-nickname-face :type symbol
+ :documentation "Temp `erc-button-nickname-face' while buttonizing.")
+ ( mouse-face erc-button-mouse-face :type symbol
+ :documentation "Temp `erc-button-mouse-face' while buttonizing."))
;; This variable is intended to serve as a "core" to be wrapped by
;; (built-in) modules during setup. It's unclear whether
@@ -318,77 +369,74 @@ specified by `erc-button-alist'."
;; mostly concerned with ensuring one "piece" precedes or follows
;; another (specific piece), which may not yet (or ever) be present.
-(defvar erc-button--modify-nick-function #'erc-button--preserve-bounds
+(defvar erc-button--modify-nick-function #'identity
"Function to possibly modify aspects of nick being buttonized.
-Called with four args: BOUNDS NICKNAME SERVER-USER CHANNEL-USER.
-BOUNDS is a cons of (BEG . END) marking the position of the nick
-in the current message, which occupies the whole of the narrowed
-buffer. BEG is normally also point. NICKNAME is a case-mapped
-string without text properties. SERVER-USER and CHANNEL-USER are
-the nick's `erc-server-users' entry and its associated (though
-possibly nil) `erc-channel-user' object. The function should
-return BOUNDS or a suitable replacement to indicate that
-buttonizing ought to proceed, and nil if it should be inhibited.")
+Called with one argument, an `erc-button--nick' object, or nil.
+The function should return the same (or similar) object when
+buttonizing ought to proceed and nil otherwise. While running,
+all faces defined in `erc-button' are bound temporarily and can
+be updated at will.")
(defvar-local erc-button--phantom-users nil)
-(defun erc-button--add-phantom-speaker (args)
- "Maybe substitute fake `server-user' for speaker at point."
- (pcase args
- (`(,bounds ,downcased-nick nil ,channel-user)
- (list bounds downcased-nick
- ;; Like `with-memoization' but don't cache when value is nil.
- (or (gethash downcased-nick erc-button--phantom-users)
- (and-let* ((user (erc-button--get-user-from-speaker-naive
- (car bounds))))
- (puthash downcased-nick user erc-button--phantom-users)))
- channel-user))
- (_ args)))
-
+(defvar erc-button--fallback-user-function #'ignore
+ "Function to determine `erc-server-user' if not found in the usual places.
+Called with DOWNCASED-NICK, NICK, and NICK-BOUNDS when
+`erc-button-add-nickname-buttons' cannot find a user object for
+DOWNCASED-NICK in `erc-channel-users' or `erc-server-users'.")
+
+(defun erc-button--add-phantom-speaker (downcased nuh _parsed)
+ "Stash fictitious `erc-server-user' while processing \"PRIVMSG\".
+Expect DOWNCASED to be the downcased nickname, NUH to be a triple
+of (NICK LOGIN HOST), and parsed to be an `erc-response' object."
+ (pcase-let* ((`(,nick ,login ,host) nuh)
+ (user (or (gethash downcased erc-button--phantom-users)
+ (make-erc-server-user
+ :nickname nick
+ :host (and (not (string-empty-p host)) host)
+ :login (and (not (string-empty-p login)) login)))))
+ (list (puthash downcased user erc-button--phantom-users))))
+
+(defun erc-button--get-phantom-user (down _word _bounds)
+ (gethash down erc-button--phantom-users))
+
+;; In the future, we'll most likely create temporary
+;; `erc-channel-users' tables during BATCH chathistory playback, thus
+;; obviating the need for this mode entirely.
(define-minor-mode erc-button--phantom-users-mode
"Minor mode to recognize unknown speakers.
Expect to be used by module setup code for creating placeholder
users on the fly during history playback. Treat an unknown
-PRIVMSG speaker, like <bob>, as if they were present in a 353 and
-are thus a member of the channel. However, don't bother creating
-an actual `erc-channel-user' object because their status prefix
-is unknown. Instead, just spoof an `erc-server-user' by applying
-early (outer), args-filtering advice wrapping
-`erc-button--modify-nick-function'."
+\"PRIVMSG\" speaker, like \"<bob>\", as if they previously
+appeared in a prior \"353\" message and are thus a known member
+of the channel. However, don't bother creating an actual
+`erc-channel-user' object because their status prefix is unknown.
+Instead, just spoof an `erc-server-user' and stash it during
+\"PRIVMSG\" handling via `erc--user-from-nick-function' and
+retrieve it during buttonizing via
+`erc-button--fallback-user-function'."
:interactive nil
(if erc-button--phantom-users-mode
(progn
- (add-function :filter-args (local 'erc-button--modify-nick-function)
- #'erc-button--add-phantom-speaker '((depth . -90)))
+ (add-function :after-until (local 'erc--user-from-nick-function)
+ #'erc-button--add-phantom-speaker '((depth . -50)))
+ (add-function :after-until (local 'erc-button--fallback-user-function)
+ #'erc-button--get-phantom-user '((depth . 50)))
(setq erc-button--phantom-users (make-hash-table :test #'equal)))
- (remove-function (local 'erc-button--modify-nick-function)
+ (remove-function (local 'erc--user-from-nick-function)
#'erc-button--add-phantom-speaker)
+ (remove-function (local 'erc-button--fallback-user-function)
+ #'erc-button--get-phantom-user)
(kill-local-variable 'erc-nicks--phantom-users)))
-;; FIXME replace this after making ERC account-aware.
-(defun erc-button--get-user-from-speaker-naive (point)
- "Return `erc-server-user' object for nick at POINT."
- (when-let*
- (((eql ?< (char-before point)))
- ((eq (get-text-property point 'font-lock-face) 'erc-nick-default-face))
- (parsed (erc-get-parsed-vector point)))
- (pcase-let* ((`(,nick ,login ,host)
- (erc-parse-user (erc-response.sender parsed))))
- (make-erc-server-user
- :nickname nick
- :host (and (not (string-empty-p host)) host)
- :login (and (not (string-empty-p login)) login)))))
-
(defun erc-button-add-nickname-buttons (entry)
"Search through the buffer for nicknames, and add buttons."
(let ((form (nth 2 entry))
(fun (nth 3 entry))
+ (erc-button-buttonize-nicks (and erc-button-buttonize-nicks
+ erc-button--modify-nick-function))
bounds word)
- (when (eq form 'erc-button-buttonize-nicks)
- (setq form (and (symbol-value form) erc-button--modify-nick-function)))
- (when (or (functionp form)
- (eq t form)
- (and form (erc-button--maybe-warn-arbitrary-sexp form)))
+ (when (and form (setq form (erc-button--extract-form form)))
(goto-char (point-min))
(while (erc-forward-word)
(when (setq bounds (erc-bounds-of-word-at-point))
@@ -402,32 +450,45 @@ early (outer), args-filtering advice wrapping
(gethash down erc-channel-users)))
(user (or (and cuser (car cuser))
(and erc-server-users
- (gethash down erc-server-users)))))
+ (gethash down erc-server-users))
+ (funcall erc-button--fallback-user-function
+ down word bounds)))
+ (data (list word)))
(when (or (not (functionp form))
- (setq bounds
- (funcall form bounds down user (cdr cuser))))
+ (and-let* ((user)
+ (obj (funcall form (make-erc-button--nick
+ :bounds bounds :data data
+ :downcased down :user user
+ :cuser (cdr cuser)))))
+ (setq bounds (erc-button--nick-bounds obj)
+ data (erc-button--nick-data obj)
+ erc-button-mouse-face
+ (erc-button--nick-mouse-face obj)
+ erc-button-nickname-face
+ (erc-button--nick-nickname-face obj)
+ erc-button-face
+ (erc-button--nick-face obj))))
(erc-button-add-button (car bounds) (cdr bounds)
- fun t (list word)))))))))
+ fun t data))))))))
(defun erc-button-add-buttons-1 (regexp entry)
"Search through the buffer for matches to ENTRY and add buttons."
(goto-char (point-min))
- (while (re-search-forward regexp nil t)
- (let ((start (match-beginning (nth 1 entry)))
- (end (match-end (nth 1 entry)))
- (form (nth 2 entry))
- (fun (nth 3 entry))
- (data (mapcar #'match-string-no-properties (nthcdr 4 entry))))
- (when (or (eq t form)
- (and (functionp form)
- (let* ((erc-button-face erc-button-face)
- (erc-button-mouse-face erc-button-mouse-face)
- (erc-button-nickname-face erc-button-nickname-face)
- (rv (funcall form start end)))
- (when rv
- (setq end (cdr rv) start (car rv)))))
- (erc-button--maybe-warn-arbitrary-sexp form))
- (erc-button-add-button start end fun nil data regexp)))))
+ (let (buttonizer)
+ (while
+ (and (re-search-forward regexp nil t)
+ (or buttonizer
+ (setq buttonizer
+ (and-let*
+ ((raw-form (nth 2 entry))
+ (res (or (eq t raw-form)
+ (erc-button--extract-form raw-form))))
+ (if (functionp res) res #'erc-button-add-button)))))
+ (let ((start (match-beginning (nth 1 entry)))
+ (end (match-end (nth 1 entry)))
+ (fun (nth 3 entry))
+ (data (mapcar #'match-string-no-properties (nthcdr 4 entry))))
+ (funcall buttonizer start end fun nil data regexp)))))
(defun erc-button-remove-old-buttons ()
"Remove all existing buttons.
@@ -529,6 +590,7 @@ call it with the value of the `erc-data' text property."
(defun erc-button-next-function ()
"Pseudo completion function that actually jumps to the next button.
For use on `completion-at-point-functions'."
+ (declare (obsolete erc-nickserv-identify "30.1"))
;; FIXME: This is an abuse of completion-at-point-functions.
(when (< (point) (erc-beg-of-input-line))
(let ((start (point)))
@@ -546,27 +608,71 @@ For use on `completion-at-point-functions'."
(error "No next button"))
t)))))
-(defun erc-button-next ()
- "Go to the next button in this buffer."
- (interactive)
- (let ((f (erc-button-next-function)))
- (if f (funcall f))))
-
-(defun erc-button-previous ()
- "Go to the previous button in this buffer."
- (interactive)
- (let ((here (point)))
- (when (< here (erc-beg-of-input-line))
- (while (and (get-text-property here 'erc-callback)
- (not (= here (point-min))))
- (setq here (1- here)))
- (while (and (not (get-text-property here 'erc-callback))
- (not (= here (point-min))))
- (setq here (1- here)))
- (if (> here (point-min))
- (goto-char here)
- (error "No previous button"))
- t)))
+(defvar erc-button--prev-next-predicate-functions
+ '(erc-button--end-of-button-p)
+ "Abnormal hook whose members can return non-nil to continue searching.
+Otherwise, if all members return nil, point will stay at the
+current button. Called with a single arg, a buffer position
+greater than `point-min' with a text property of `erc-callback'.")
+
+(defun erc-button--end-of-button-p (point)
+ (get-text-property (1- point) 'erc-callback))
+
+(defun erc--button-next (arg)
+ (let* ((nextp (prog1 (>= arg 1) (setq arg (max 1 (abs arg)))))
+ (search-fn (if nextp
+ #'next-single-char-property-change
+ #'previous-single-char-property-change))
+ (start (point))
+ (p start))
+ (while (progn
+ ;; Break out of current search context.
+ (when-let ((low (max (point-min) (1- (pos-bol))))
+ (high (min (point-max) (1+ (pos-eol))))
+ (prop (get-text-property p 'erc-callback))
+ (q (if nextp
+ (text-property-not-all p high
+ 'erc-callback prop)
+ (funcall search-fn p 'erc-callback nil low)))
+ ((< low q high)))
+ (setq p q))
+ ;; Assume that buttons occur frequently enough that
+ ;; omitting LIMIT is acceptable.
+ (while
+ (and (setq p (funcall search-fn p 'erc-callback))
+ (if nextp (< p erc-insert-marker) (/= p (point-min)))
+ (run-hook-with-args-until-success
+ 'erc-button--prev-next-predicate-functions p)))
+ (and arg
+ (< (point-min) p erc-insert-marker)
+ (goto-char p)
+ (not (zerop (cl-decf arg))))))
+ (when (= (point) start)
+ (user-error (if nextp "No next button" "No previous button")))
+ t))
+
+(defun erc-button-next (&optional arg)
+ "Go to the ARGth next button."
+ (declare (advertised-calling-convention (arg) "30.1"))
+ (interactive "p")
+ (erc--button-next (or arg 1)))
+
+(defun erc-button-previous (&optional arg)
+ "Go to ARGth previous button."
+ (declare (advertised-calling-convention (arg) "30.1"))
+ (interactive "p")
+ (erc--button-next (- (or arg 1))))
+
+(defun erc-button-previous-of-nick (arg)
+ "Go to ARGth previous button for nick at point."
+ (interactive "p")
+ (if-let* ((prop (get-text-property (point) 'erc-data))
+ (erc-button--prev-next-predicate-functions
+ (cons (lambda (p)
+ (not (equal (get-text-property p 'erc-data) prop)))
+ erc-button--prev-next-predicate-functions)))
+ (erc--button-next (- arg))
+ (user-error "No nick at point")))
(defun erc-browse-emacswiki (thing)
"Browse to THING in the emacs-wiki."
@@ -579,20 +685,20 @@ For use on `completion-at-point-functions'."
;;; Nickname buttons:
(defcustom erc-nick-popup-alist
- '(("DeOp" . (erc-cmd-DEOP nick))
- ("Kick" . (erc-cmd-KICK (concat nick " "
- (read-from-minibuffer
- (concat "Kick " nick ", reason: ")))))
- ("Msg" . (erc-cmd-MSG (concat nick " "
- (read-from-minibuffer
- (concat "Message to " nick ": ")))))
- ("Op" . (erc-cmd-OP nick))
- ("Query" . (erc-cmd-QUERY nick))
- ("Whois" . (erc-cmd-WHOIS nick))
- ("Lastlog" . (erc-cmd-LASTLOG nick)))
+ '(("DeOp" . erc-cmd-DEOP)
+ ("Kick" . erc-button-cmd-KICK)
+ ("Msg" . erc-button-cmd-MSG)
+ ("Op" . erc-cmd-OP)
+ ("Query" . erc-cmd-QUERY)
+ ("Whois" . erc-cmd-WHOIS)
+ ("Lastlog" . erc-cmd-LASTLOG))
"An alist of possible actions to take on a nickname.
-An entry looks like (\"Action\" . SEXP) where SEXP is evaluated with
-the variable `nick' bound to the nick in question.
+For all entries (ACTION . FUNC), ERC offers ACTION as a possible
+completion item and calls the selected entry's FUNC with the
+buttonized nickname at point as the only argument. For
+historical reasons, FUNC can also be an arbitrary sexp, in which
+case, ERC binds the nick in question to the variable `nick' and
+evaluates the expression.
Examples:
(\"DebianDB\" .
@@ -600,18 +706,48 @@ Examples:
(format
\"ldapsearch -x -P 2 -h db.debian.org -b dc=debian,dc=org ircnick=%s\"
nick)))"
+ :package-version '(ERC . "5.6") ; FIXME sync on release
:type '(repeat (cons (string :tag "Op")
- sexp)))
+ (choice function sexp))))
+
+(defun erc-button-cmd-KICK (nick)
+ "Prompt for a reason, then kick NICK via `erc-cmd-KICK'.
+In server buffers, also prompt for a channel."
+ (erc-cmd-KICK
+ (or (and erc--target (erc-default-target))
+ (let ((targets (mapcar (lambda (b)
+ (cons (erc--target-string
+ (buffer-local-value 'erc--target b))
+ b))
+ (erc-channel-list erc-server-process))))
+ (completing-read (format "Channel (%s): " (caar targets))
+ targets (pcase-lambda (`(,_ . ,buf))
+ (with-current-buffer buf
+ (erc-get-channel-user nick)))
+ t nil t (caar targets))))
+ nick
+ (read-from-minibuffer "Reason: ")))
+
+(defun erc-button-cmd-MSG (nick)
+ "Prompt for a message to NICK, and send it via `erc-cmd-MSG'."
+ (let ((msg (read-from-minibuffer (concat "Message to " nick ": "))))
+ (erc-cmd-MSG (concat nick " " msg))))
+
+(defvar-local erc-button--nick-popup-alist nil
+ "Internally controlled items for `erc-nick-popup-alist'.")
(defun erc-nick-popup (nick)
(let* ((completion-ignore-case t)
+ (alist (append erc-nick-popup-alist erc-button--nick-popup-alist))
(action (completing-read (format-message
"What action to take on `%s'? " nick)
- erc-nick-popup-alist))
- (code (cdr (assoc action erc-nick-popup-alist))))
+ alist))
+ (code (cdr (assoc action alist))))
(when code
(erc-set-active-buffer (current-buffer))
- (eval code `((nick . ,nick))))))
+ (if (functionp code)
+ (funcall code nick)
+ (eval code `((nick . ,nick)))))))
;;; Callback functions
(defun erc-button-describe-symbol (symbol-name)
@@ -635,15 +771,15 @@ and `apropos' for other symbols."
(message "@%s is %d:%02d local time"
beats hours minutes)))
-(defun erc-button--substitute-command-keys-in-region (beg end)
+(defun erc-button--display-error-with-buttons
+ (from to fun nick-p &optional data regexp)
"Replace command in region with keys and return new bounds"
- (let* ((o (buffer-substring beg end))
- (s (substitute-command-keys o)))
- (unless (equal o s)
- (setq erc-button-face nil))
- (delete-region beg end)
- (insert s))
- (cons beg (point)))
+ (let* ((o (buffer-substring from to))
+ (s (substitute-command-keys o))
+ (erc-button-face (and (equal o s) erc-button-face)))
+ (delete-region from to)
+ (insert s)
+ (erc-button-add-button from (point) fun nick-p data regexp)))
;;;###autoload
(defun erc-button--display-error-notice-with-keys (&optional parsed buffer
@@ -680,7 +816,7 @@ non-strings, concatenate leading string members before applying
erc-insert-post-hook))
(erc-button-alist
`((,(rx "\\[" (group (+ (not "]"))) "]") 0
- erc-button--substitute-command-keys-in-region
+ erc-button--display-error-with-buttons
erc-button-describe-symbol 1)
,@erc-button-alist)))
(erc-display-message parsed '(notice error) (or buffer 'active) string)
diff --git a/lisp/erc/erc-common.el b/lisp/erc/erc-common.el
index 6c015c71ff9..f152a1a32d9 100644
--- a/lisp/erc/erc-common.el
+++ b/lisp/erc/erc-common.el
@@ -30,8 +30,11 @@
(defvar erc--casemapping-rfc1459-strict)
(defvar erc-channel-users)
(defvar erc-dbuf)
+(defvar erc-insert-this)
(defvar erc-log-p)
(defvar erc-modules)
+(defvar erc-send-this)
+(defvar erc-server-process)
(defvar erc-server-users)
(defvar erc-session-server)
@@ -40,15 +43,24 @@
(declare-function erc-server-buffer "erc" nil)
(declare-function widget-apply-action "wid-edit" (widget &optional event))
(declare-function widget-at "wid-edit" (&optional pos))
+(declare-function widget-create-child-and-convert "wid-edit"
+ (parent type &rest args))
+(declare-function widget-default-format-handler "wid-edit" (widget escape))
(declare-function widget-get-sibling "wid-edit" (widget))
(declare-function widget-move "wid-edit" (arg &optional suppress-echo))
(declare-function widget-type "wid-edit" (widget))
(cl-defstruct erc-input
- string insertp sendp)
+ string insertp sendp refoldp)
-(cl-defstruct (erc--input-split (:include erc-input))
- lines cmdp)
+(cl-defstruct (erc--input-split (:include erc-input
+ (string :read-only)
+ (insertp erc-insert-this)
+ (sendp (with-suppressed-warnings
+ ((obsolete erc-send-this))
+ erc-send-this))))
+ (lines nil :type (list-of string))
+ (cmdp nil :type boolean))
(cl-defstruct (erc-server-user (:type vector) :named)
;; User data
@@ -195,16 +207,6 @@ instead of a `set' state, which precludes any actual saving."
(throw 'found found)))
'erc))
-(defun erc--neuter-custom-variable-state (variable)
- "Lie to Customize about VARIABLE's true state.
-Do so by always returning its standard value, namely nil."
- ;; Make a module's global minor-mode toggle blind to Customize, so
- ;; that `customize-variable-state' never sees it as "changed",
- ;; regardless of its value. This snippet is
- ;; `custom--standard-value' from Emacs 28+.
- (cl-assert (null (eval (car (get variable 'standard-value)) t)))
- nil)
-
;; This exists as a separate, top-level function to prevent the byte
;; compiler from warning about widget-related dependencies not being
;; loaded at runtime.
@@ -230,25 +232,42 @@ Do so by always returning its standard value, namely nil."
(substitute-command-keys "\\[Custom-set]")
(substitute-command-keys "\\[Custom-save]"))))
+;; This stands apart to avoid needing forward declarations for
+;; `wid-edit' functions in every file requiring `erc-common'.
+(defun erc--make-show-me-widget (widget escape &rest plist)
+ (if (eq escape ?i)
+ (apply #'widget-create-child-and-convert widget 'push-button plist)
+ (widget-default-format-handler widget escape)))
+
(defun erc--prepare-custom-module-type (name)
`(let* ((name (erc--normalize-module-symbol ',name))
(fmtd (format " `%s' " name)))
`(boolean
- :button-face '(custom-variable-obsolete custom-button)
- :format "%{%t%}: %[Deprecated Toggle%] \n%h\n"
+ :format "%{%t%}: %i %[Deprecated Toggle%] %v \n%h\n"
+ :format-handler
+ ,(lambda (widget escape)
+ (erc--make-show-me-widget
+ widget escape
+ :button-face '(custom-variable-obsolete custom-button)
+ :tag "Show Me"
+ :action (apply-partially #'erc--tick-module-checkbox name)
+ :help-echo (lambda (_)
+ (let ((hasp (memq name erc-modules)))
+ (concat (if hasp "Remove" "Add") fmtd
+ (if hasp "from" "to")
+ " `erc-modules'.")))))
+ :action widget-toggle-action
:documentation-property
,(lambda (_)
(let ((hasp (memq name erc-modules)))
- (concat "Setting a module's minor-mode variable is "
- (propertize "ineffective" 'face 'error)
- ".\nPlease " (if hasp "remove" "add") fmtd
- (if hasp "from" "to") " `erc-modules' directly instead.\n"
- "You can do so now by clicking the scary button above.")))
- :help-echo ,(lambda (_)
- (let ((hasp (memq name erc-modules)))
- (concat (if hasp "Remove" "Add") fmtd
- (if hasp "from" "to") " `erc-modules'.")))
- :action ,(apply-partially #'erc--tick-module-checkbox name))))
+ (concat
+ "Setting a module's minor-mode variable is "
+ (propertize "ineffective" 'face 'error)
+ ".\nPlease " (if hasp "remove" "add") fmtd
+ (if hasp "from" "to") " `erc-modules' directly instead.\n"
+ "You can do so now by clicking "
+ (propertize "Show Me" 'face 'custom-variable-obsolete)
+ " above."))))))
(defun erc--fill-module-docstring (&rest strings)
(with-temp-buffer
@@ -264,6 +283,12 @@ Do so by always returning its standard value, namely nil."
(goto-char (point-min))
(nth 3 (read (current-buffer)))))
+(defmacro erc--find-feature (name alias)
+ `(pcase (erc--find-group ',name ,(and alias (list 'quote alias)))
+ ('erc (and-let* ((file (or (macroexp-file-name) buffer-file-name)))
+ (intern (file-name-base file))))
+ (v v)))
+
(defmacro define-erc-module (name alias doc enable-body disable-body
&optional local-p)
"Define a new minor mode using ERC conventions.
@@ -310,7 +335,7 @@ if ARG is omitted or nil.
\n%s" name name doc))
:global ,(not local-p)
:group (erc--find-group ',name ,(and alias (list 'quote alias)))
- ,@(unless local-p '(:get #'erc--neuter-custom-variable-state))
+ ,@(unless local-p `(:require ',(erc--find-feature name alias)))
,@(unless local-p `(:type ,(erc--prepare-custom-module-type name)))
(if ,mode
(,enable)
@@ -371,12 +396,13 @@ If no server buffer exists, return nil."
(not (cdr body))
(special-variable-p (car body))))
(buffer (make-symbol "buffer")))
- `(let ((,buffer (erc-server-buffer)))
- (when (buffer-live-p ,buffer)
- ,(if varp
- `(buffer-local-value ',(car body) ,buffer)
- `(with-current-buffer ,buffer
- ,@body))))))
+ `(when-let* (((processp erc-server-process))
+ (,buffer (process-buffer erc-server-process))
+ ((buffer-live-p ,buffer)))
+ ,(if varp
+ `(buffer-local-value ',(car body) ,buffer)
+ `(with-current-buffer ,buffer
+ ,@body)))))
(defmacro erc-with-all-buffers-of-server (process pred &rest forms)
"Execute FORMS in all buffers which have same process as this server.
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el
index 2012bcadae1..cc2dcc9a788 100644
--- a/lisp/erc/erc-dcc.el
+++ b/lisp/erc/erc-dcc.el
@@ -1213,9 +1213,8 @@ other client."
erc-dcc-from nick
erc-dcc-entry-data entry
erc-dcc-unprocessed-output ""
- erc-insert-marker (point-max-marker)
erc-input-marker (make-marker))
- (erc-display-prompt buffer (point-max))
+ (erc--initialize-markers (point) nil)
(set-process-buffer proc buffer)
(add-hook 'kill-buffer-hook #'erc-dcc-chat-buffer-killed nil t)
(run-hook-with-args 'erc-dcc-chat-connect-hook proc))
diff --git a/lisp/erc/erc-fill.el b/lisp/erc/erc-fill.el
index c29d292abce..5115e45210d 100644
--- a/lisp/erc/erc-fill.el
+++ b/lisp/erc/erc-fill.el
@@ -49,8 +49,8 @@ the channel buffers are filled."
;; other modules. Ideally, this module's processing should happen
;; after "morphological" modifications to a message's text but
;; before superficial decorations.
- ((add-hook 'erc-insert-modify-hook #'erc-fill)
- (add-hook 'erc-send-modify-hook #'erc-fill))
+ ((add-hook 'erc-insert-modify-hook #'erc-fill 40)
+ (add-hook 'erc-send-modify-hook #'erc-fill 40))
((remove-hook 'erc-insert-modify-hook #'erc-fill)
(remove-hook 'erc-send-modify-hook #'erc-fill)))
@@ -116,12 +116,30 @@ Set to nil to disable."
"The column at which a filled paragraph is broken."
:type 'integer)
+(defcustom erc-fill-line-spacing nil
+ "Extra space between messages on graphical displays.
+This may need adjusting depending on how your faces are
+configured. Its value should be larger than that of the variable
+`line-spacing', if set. If unsure, try 0.5."
+ :package-version '(ERC . "5.6") ; FIXME sync on release
+ :type '(choice (const nil) number))
+
+(defcustom erc-fill-spaced-commands '(PRIVMSG NOTICE)
+ "Types of messages to add space between on graphical displays.
+Only considered when `erc-fill-line-spacing' is non-nil."
+ :package-version '(ERC . "5.6") ; FIXME sync on release
+ :type '(repeat (choice integer symbol)))
+
+(defvar-local erc-fill--function nil
+ "Internal copy of `erc-fill-function'.
+Takes precedence over the latter when non-nil.")
+
;;;###autoload
(defun erc-fill ()
"Fill a region using the function referenced in `erc-fill-function'.
You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'."
(unless (erc-string-invisible-p (buffer-substring (point-min) (point-max)))
- (when erc-fill-function
+ (when (or erc-fill--function erc-fill-function)
;; skip initial empty lines
(goto-char (point-min))
(save-match-data
@@ -130,7 +148,19 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'."
(unless (eobp)
(save-restriction
(narrow-to-region (point) (point-max))
- (funcall erc-fill-function))))))
+ (funcall (or erc-fill--function erc-fill-function))
+ (when-let* ((erc-fill-line-spacing)
+ (p (point-min)))
+ (widen)
+ (when (or (and-let* ((cmd (get-text-property p 'erc-command)))
+ (memq cmd erc-fill-spaced-commands))
+ (and-let* ((cmd (save-excursion
+ (forward-line -1)
+ (get-text-property (point)
+ 'erc-command))))
+ (memq cmd erc-fill-spaced-commands)))
+ (put-text-property (1- p) p
+ 'line-spacing erc-fill-line-spacing))))))))
(defun erc-fill-static ()
"Fills a text such that messages start at column `erc-fill-static-center'."
@@ -221,8 +251,13 @@ messages less than a day apart."
(let ((inhibit-field-text-motion t))
(erc-fill--wrap-move #'move-beginning-of-line
#'beginning-of-visual-line arg))
- (when (get-text-property (point) 'erc-prompt)
- (goto-char erc-input-marker)))
+ (if (get-text-property (point) 'erc-prompt)
+ (goto-char erc-input-marker)
+ ;; Mimic what `move-beginning-of-line' does with invisible text.
+ (when-let ((erc-fill-wrap-merge)
+ (empty (get-text-property (point) 'display))
+ ((string-empty-p empty)))
+ (goto-char (text-property-not-all (point) (pos-eol) 'display empty)))))
(defun erc-fill--wrap-end-of-line (arg)
"Defer to `move-end-of-line' or `end-of-visual-line'."
@@ -259,70 +294,66 @@ is 0, reset to value of `erc-fill-wrap-visual-keys'."
(defvar erc-button-mode)
(defvar erc-match--hide-fools-offset-bounds)
-(defun erc-fill--make-module-dependency-msg (module)
- (concat "Enabling default global module `" module "' needed by local"
- " module `fill-wrap'. This will impact \C-]all\C-] ERC"
- " sessions. Add `" module "' to `erc-modules' to avoid this"
- " warning. See Info:\"(erc) Modules\" for more."))
+(defun erc-fill--wrap-ensure-dependencies ()
+ (let (missing-deps)
+ (unless erc-fill-mode
+ (push 'fill missing-deps)
+ (erc-fill-mode +1))
+ (when erc-fill-wrap-merge
+ (require 'erc-button)
+ (unless erc-button-mode
+ (push 'button missing-deps)
+ (erc-button-mode +1))
+ (require 'erc-stamp)
+ (unless erc-stamp-mode
+ (push 'stamp missing-deps)
+ (erc-stamp-mode +1)))
+ (when missing-deps
+ (erc--warn-once-before-connect 'erc-fill-wrap-mode
+ "Enabling missing global modules %s needed by local"
+ " module `fill-wrap'. This will impact \C-]all\C-] ERC"
+ " sessions. Add them to `erc-modules' to avoid this"
+ " warning. See Info:\"(erc) Modules\" for more."
+ (mapcar (lambda (s) (format "`%s'" s)) missing-deps)))))
;;;###autoload(put 'fill-wrap 'erc--feature 'erc-fill)
(define-erc-module fill-wrap nil
"Fill style leveraging `visual-line-mode'.
-This module displays nickname labels for speakers as overhanging
-leftward (and thus right-aligned) to a common offset, as
-determined by the option `erc-fill-static-center'. It depends on
-the `fill' and `button' modules and assumes the option
+This local module displays nicks overhanging leftward to a common
+offset, as determined by the option `erc-fill-static-center'. It
+depends on the `fill' and `button' modules and assumes the option
`erc-insert-timestamp-function' is `erc-insert-timestamp-right'
-or `erc-insert-timestamp-left-and-right' (recommended) so that it
+or the default `erc-insert-timestamp-left-and-right', so that it
can display right-hand stamps in the right margin. A value of
-`erc-insert-timestamp-left' is unsupported. This local module
-depends on the global `fill' module. To use it, either include
-`fill-wrap' in `erc-modules' or set `erc-fill-function' to
-`erc-fill-wrap' (recommended). You can also manually invoke one
-of the minor-mode toggles as usual."
- ((let (msg)
- (unless erc-fill-mode
- (unless (memq 'fill erc-modules)
- (setq msg
- ;; FIXME use `erc-button--display-error-notice-with-keys'
- ;; when bug#60933 is ready.
- (erc-fill--make-module-dependency-msg "fill")))
- (erc-fill-mode +1))
- (when erc-fill-wrap-merge
- (require 'erc-button)
- (unless erc-button-mode
- (unless (memq 'button erc-modules)
- (setq msg (concat msg (and msg " ")
- (erc-fill--make-module-dependency-msg "button"))))
- (erc-with-server-buffer
- (erc-button-mode +1))))
- ;; Set local value of user option (can we avoid this somehow?)
- (unless (eq erc-fill-function #'erc-fill-wrap)
- (setq-local erc-fill-function #'erc-fill-wrap))
- (when-let* ((vars (or erc--server-reconnecting erc--target-priors))
- ((alist-get 'erc-fill-wrap-mode vars)))
- (setq erc-fill--wrap-visual-keys (alist-get 'erc-fill--wrap-visual-keys
- vars)
- erc-fill--wrap-value (alist-get 'erc-fill--wrap-value vars)))
- (add-function :filter-args (local 'erc-stamp--insert-date-function)
- #'erc-fill--wrap-stamp-insert-prefixed-date)
- (when (or erc-stamp-mode (memq 'stamp erc-modules))
- (erc-stamp--display-margin-mode +1))
- (when (or (bound-and-true-p erc-match-mode) (memq 'match erc-modules))
- (require 'erc-match)
- (setq erc-match--hide-fools-offset-bounds t))
- (setq erc-fill--wrap-value
- (or erc-fill--wrap-value erc-fill-static-center))
- (visual-line-mode +1)
- (unless (local-variable-p 'erc-fill--wrap-visual-keys)
- (setq erc-fill--wrap-visual-keys erc-fill-wrap-visual-keys))
- (when msg
- (erc-display-error-notice nil msg))))
+`erc-insert-timestamp-left' is unsupported. To use it, either
+include `fill-wrap' in `erc-modules' or set `erc-fill-function'
+to `erc-fill-wrap' (recommended). You can also manually invoke
+one of the minor-mode toggles if really necessary."
+ ((erc-fill--wrap-ensure-dependencies)
+ ;; Restore or initialize local state variables.
+ (erc--restore-initialize-priors erc-fill-wrap-mode
+ erc-fill--wrap-visual-keys erc-fill-wrap-visual-keys
+ erc-fill--wrap-value erc-fill-static-center)
+ (setq erc-fill--function #'erc-fill-wrap)
+ ;; Internal integrations.
+ (add-function :after (local 'erc-stamp--insert-date-function)
+ #'erc-fill--wrap-stamp-insert-prefixed-date)
+ (when (or erc-stamp-mode (memq 'stamp erc-modules))
+ (erc-stamp--display-margin-mode +1))
+ (when (or (bound-and-true-p erc-match-mode) (memq 'match erc-modules))
+ (require 'erc-match)
+ (setq erc-match--hide-fools-offset-bounds t))
+ (when erc-fill-wrap-merge
+ (add-hook 'erc-button--prev-next-predicate-functions
+ #'erc-fill--wrap-merged-button-p nil t))
+ (visual-line-mode +1))
((when erc-stamp--display-margin-mode
(erc-stamp--display-margin-mode -1))
(kill-local-variable 'erc-fill--wrap-value)
- (kill-local-variable 'erc-fill-function)
+ (kill-local-variable 'erc-fill--function)
(kill-local-variable 'erc-fill--wrap-visual-keys)
+ (remove-hook 'erc-button--prev-next-predicate-functions
+ #'erc-fill--wrap-merged-button-p t)
(remove-function (local 'erc-stamp--insert-date-function)
#'erc-fill--wrap-stamp-insert-prefixed-date)
(visual-line-mode -1))
@@ -363,17 +394,28 @@ parties.")
erc-fill--wrap-max-lull))
(nick (buffer-substring-no-properties
(1+ (point-min)) (- (point) 2)))
- ((equal (car props) (erc-downcase nick)))))
+ (props)
+ ((erc-nick-equal-p (car props) nick))))
(set-marker erc-fill--wrap-last-msg (point-min))))
-(defun erc-fill--wrap-stamp-insert-prefixed-date (args)
+(defun erc-fill--wrap-stamp-insert-prefixed-date (&rest args)
"Apply `line-prefix' property to args."
- (let* ((ts-left (car args)))
- (put-text-property 0 (length ts-left) 'line-prefix
- `(space :width
- (- erc-fill--wrap-value
- ,(length (string-trim-left ts-left))))
- ts-left))
+ (let* ((ts-left (car args))
+ (start)
+ ;; Insert " " to simulate gap between <speaker> and msg beg.
+ (end (save-excursion (skip-chars-backward "\n")
+ (setq start (pos-bol))
+ (insert " ")
+ (point)))
+ (width (if (and erc-fill-wrap-use-pixels
+ (fboundp 'buffer-text-pixel-size))
+ (save-restriction (narrow-to-region start end)
+ (list (car (buffer-text-pixel-size))))
+ (length (string-trim-left ts-left)))))
+ (delete-region (1- end) end)
+ ;; Use `point-min' instead of `start' to cover leading newilnes.
+ (put-text-property (point-min) (point) 'line-prefix
+ `(space :width (- erc-fill--wrap-value ,width))))
args)
(defun erc-fill-wrap ()
@@ -388,6 +430,9 @@ See `erc-fill-wrap-mode' for details."
(progn
(skip-syntax-forward "^-")
(forward-char)
+ ;; Using the `invisible' property might make more
+ ;; sense, but that would require coordination
+ ;; with other modules, like `erc-match'.
(cond ((and erc-fill-wrap-merge
(erc-fill--wrap-continued-message-p))
(put-text-property (point-min) (point)
@@ -399,33 +444,14 @@ See `erc-fill-wrap-mode' for details."
(narrow-to-region (point-min) (point))
(list (car (buffer-text-pixel-size)))))
(t (- (point) (point-min))))))))
- ;; Leaving out the final newline doesn't seem to affect anything.
- (erc-put-text-properties (point-min) (point-max)
+ (erc-put-text-properties (point-min) (1- (point-max)) ; exclude "\n"
'(line-prefix wrap-prefix) nil
`((space :width (- erc-fill--wrap-value ,len))
(space :width erc-fill--wrap-value))))))
-;; This is an experimental helper for third-party modules. You could,
-;; for example, use this to automatically resize the prefix to a
-;; fraction of the window's width on some event change. Another use
-;; case would be to fix lines affected by toggling a display-oriented
-;; mode, like `display-line-numbers-mode'.
-
-(defun erc-fill--wrap-fix (&optional value)
- "Re-wrap from `point-min' to `point-max'.
-That is, recalculate the width of all accessible lines and reset
-local prefix VALUE when non-nil."
- (save-excursion
- (when value
- (setq erc-fill--wrap-value value))
- (let ((inhibit-field-text-motion t)
- (inhibit-read-only t))
- (goto-char (point-min))
- (while (and (zerop (forward-line))
- (< (point) (min (point-max) erc-insert-marker)))
- (save-restriction
- (narrow-to-region (line-beginning-position) (line-end-position))
- (erc-fill-wrap))))))
+;; FIXME use own text property to avoid false positives.
+(defun erc-fill--wrap-merged-button-p (point)
+ (equal "" (get-text-property point 'display)))
(defun erc-fill--wrap-nudge (arg)
(when (zerop arg)
@@ -446,8 +472,7 @@ Offer to repeat command in a manner similar to
\\`)' Reset the right margin to the default
Note that misalignment may occur when messages contain
-decorations applied by third-party modules. See
-`erc-fill--wrap-fix' for a temporary workaround."
+decorations applied by third-party modules."
(interactive "p")
(unless erc-fill--wrap-value
(cl-assert (not erc-fill-wrap-mode))
diff --git a/lisp/erc/erc-goodies.el b/lisp/erc/erc-goodies.el
index 6235de5f1c0..afc05148506 100644
--- a/lisp/erc/erc-goodies.el
+++ b/lisp/erc/erc-goodies.el
@@ -53,9 +53,7 @@ argument to `recenter'."
"This mode causes the prompt to stay at the end of the window."
((add-hook 'erc-mode-hook #'erc-add-scroll-to-bottom)
(add-hook 'erc-insert-done-hook #'erc-possibly-scroll-to-bottom)
- (dolist (buffer (erc-buffer-list))
- (with-current-buffer buffer
- (erc-add-scroll-to-bottom))))
+ (unless erc--updating-modules-p (erc-buffer-do #'erc-add-scroll-to-bottom)))
((remove-hook 'erc-mode-hook #'erc-add-scroll-to-bottom)
(remove-hook 'erc-insert-done-hook #'erc-possibly-scroll-to-bottom)
(dolist (buffer (erc-buffer-list))
@@ -120,9 +118,7 @@ Put this function on `erc-insert-post-hook' and/or `erc-send-post-hook'."
(define-erc-module move-to-prompt nil
"This mode causes the point to be moved to the prompt when typing text."
((add-hook 'erc-mode-hook #'erc-move-to-prompt-setup)
- (dolist (buffer (erc-buffer-list))
- (with-current-buffer buffer
- (erc-move-to-prompt-setup))))
+ (unless erc--updating-modules-p (erc-buffer-do #'erc-move-to-prompt-setup)))
((remove-hook 'erc-mode-hook #'erc-move-to-prompt-setup)
(dolist (buffer (erc-buffer-list))
(with-current-buffer buffer
@@ -154,21 +150,21 @@ displays an arrow in the left fringe or margin. When it's
`face', ERC adds the face `erc-keep-place-indicator-line' to the
appropriate line. A value of t does both."
:group 'erc
- :package-version '(ERC . "5.6")
+ :package-version '(ERC . "5.6") ; FIXME sync on release
:type '(choice (const t) (const server) (const target)))
(defcustom erc-keep-place-indicator-buffer-type t
"ERC buffer type in which to display `keep-place-indicator'.
A value of t means \"all\" ERC buffers."
:group 'erc
- :package-version '(ERC . "5.6")
+ :package-version '(ERC . "5.6") ; FIXME sync on release
:type '(choice (const t) (const server) (const target)))
(defcustom erc-keep-place-indicator-follow nil
"Whether to sync visual kept place to window's top when reading.
For use with `erc-keep-place-indicator-mode'."
:group 'erc
- :package-version '(ERC . "5.6")
+ :package-version '(ERC . "5.6") ; FIXME sync on release
:type 'boolean)
(defface erc-keep-place-indicator-line
@@ -209,11 +205,8 @@ the active frame."
(defun erc--keep-place-indicator-setup ()
"Initialize buffer for maintaining `erc--keep-place-indicator-overlay'."
(require 'fringe)
- (setq erc--keep-place-indicator-overlay
- (if-let* ((vars (or erc--server-reconnecting erc--target-priors))
- ((alist-get 'erc-keep-place-indicator-mode vars)))
- (alist-get 'erc--keep-place-indicator-overlay vars)
- (make-overlay 0 0)))
+ (erc--restore-initialize-priors erc-keep-place-indicator-mode
+ erc--keep-place-indicator-overlay (make-overlay 0 0))
(add-hook 'window-configuration-change-hook
#'erc--keep-place-indicator-on-window-configuration-change nil t)
(when-let* (((memq erc-keep-place-indicator-style '(t arrow)))
@@ -232,13 +225,10 @@ the active frame."
"`keep-place' with a fringe arrow and/or highlighted face."
((unless erc-keep-place-mode
(unless (memq 'keep-place erc-modules)
- ;; FIXME use `erc-button--display-error-notice-with-keys'
- ;; to display this message when bug#60933 is ready.
- (erc-display-error-notice
- nil (concat
- "Local module `keep-place-indicator' needs module `keep-place'."
- " Enabling now. This will affect \C-]all\C-] ERC sessions."
- " Add `keep-place' to `erc-modules' to silence this message.")))
+ (erc--warn-once-before-connect 'erc-keep-place-mode
+ "Local module `keep-place-indicator' needs module `keep-place'."
+ " Enabling now. This will affect \C-]all\C-] ERC sessions."
+ " Add `keep-place' to `erc-modules' to silence this message."))
(erc-keep-place-mode +1))
(if (pcase erc-keep-place-indicator-buffer-type
('target erc--target)
@@ -338,8 +328,9 @@ does not appear in the ERC buffer after the user presses ENTER.")
"This mode distinguishes non-commands.
Commands listed in `erc-insert-this' know how to display
themselves."
- ((add-hook 'erc-pre-send-functions #'erc-send-distinguish-noncommands))
- ((remove-hook 'erc-pre-send-functions #'erc-send-distinguish-noncommands)))
+ ((add-hook 'erc--input-review-functions #'erc-send-distinguish-noncommands))
+ ((remove-hook 'erc--input-review-functions
+ #'erc-send-distinguish-noncommands)))
(defun erc-send-distinguish-noncommands (state)
"If STR is an ERC non-command, set `insertp' in STATE to nil."
diff --git a/lisp/erc/erc-imenu.el b/lisp/erc/erc-imenu.el
index 526afd32249..f053c6279b8 100644
--- a/lisp/erc/erc-imenu.el
+++ b/lisp/erc/erc-imenu.el
@@ -41,6 +41,10 @@
(require 'erc)
(require 'imenu)
+(defgroup erc-imenu nil
+ "Imenu integration for ERC."
+ :group 'erc)
+
(defun erc-unfill-notice ()
"Return text from point to a computed end as a string unfilled.
Don't rely on this function, read it first!"
@@ -138,9 +142,10 @@ Don't rely on this function, read it first!"
;;;###autoload(autoload 'erc-imenu-mode "erc-imenu" nil t)
(define-erc-module imenu nil
"Simple Imenu integration for ERC."
- ((add-hook 'erc-mode-hook #'erc-imenu-setup))
+ ((add-hook 'erc-mode-hook #'erc-imenu-setup)
+ (unless erc--updating-modules-p (erc-buffer-do #'erc-imenu-setup)))
((remove-hook 'erc-mode-hook #'erc-imenu-setup)
- (erc-with-all-buffers-of-server erc-server-process nil
+ (erc-with-all-buffers-of-server nil nil
(when erc-imenu--create-index-function
(setq imenu-create-index-function erc-imenu--create-index-function)
(kill-local-variable 'erc-imenu--create-index-function)))))
diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el
index 17104da1a8b..45cfd565f89 100644
--- a/lisp/erc/erc-join.el
+++ b/lisp/erc/erc-join.el
@@ -78,10 +78,11 @@ keeps track of what channels you are on, and will join them
again when you get disconnected. When you restart Emacs, however,
those changes are lost, and the customization you saved the last
time is used again."
- :type '(repeat (cons :tag "Server"
- (regexp :tag "Name")
- (repeat :tag "Channels"
- (string :tag "Name")))))
+ :type '(alist :options (Libera.Chat)
+ :key-type (choice :tag "Server"
+ (symbol :tag "Network")
+ (regexp :tag "Host or domain"))
+ :value-type (repeat :tag "Channels" (string :tag "Name"))))
(defcustom erc-autojoin-timing 'connect
"When ERC should attempt to autojoin a channel.
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index 2b58a7c56ed..d3106da4017 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -124,6 +124,7 @@ custom function which returns the directory part and set
(defcustom erc-truncate-buffer-on-save nil
"Erase the contents of any ERC (channel, query, server) buffer when it is saved."
:type 'boolean)
+(make-obsolete 'erc-truncate-buffer-on-save 'erc-cmd-CLEAR "30.1")
(defcustom erc-enable-logging t
"If non-nil, ERC will log IRC conversations.
@@ -230,6 +231,7 @@ also be a predicate function. To only log when you are not set away, use:
(add-hook 'erc-part-hook #'erc-conditional-save-buffer)
;; append, so that 'erc-initialize-log-marker runs first
(add-hook 'erc-connect-pre-hook #'erc-log-setup-logging 'append)
+ (add-hook 'erc--pre-clear-functions #'erc-save-buffer-in-logs)
(dolist (buffer (erc-buffer-list))
(erc-log-setup-logging buffer))
(erc--modify-local-map t "C-c C-l" #'erc-save-buffer-in-logs))
@@ -242,6 +244,7 @@ also be a predicate function. To only log when you are not set away, use:
(remove-hook 'erc-quit-hook #'erc-conditional-save-queries)
(remove-hook 'erc-part-hook #'erc-conditional-save-buffer)
(remove-hook 'erc-connect-pre-hook #'erc-log-setup-logging)
+ (remove-hook 'erc--pre-clear-functions #'erc-save-buffer-in-logs)
(dolist (buffer (erc-buffer-list))
(erc-log-disable-logging buffer))
(erc--modify-local-map nil "C-c C-l" #'erc-save-buffer-in-logs)))
@@ -301,6 +304,8 @@ Returns nil if `erc-server-buffer-p' returns t."
(dolist (buffer (erc-buffer-list))
(erc-save-buffer-in-logs buffer)))
+(defvar erc-log--save-in-progress-p nil)
+
;;;###autoload
(defun erc-logging-enabled (&optional buffer)
"Return non-nil if logging is enabled for BUFFER.
@@ -310,6 +315,7 @@ is writable (it will be created as necessary) and
`erc-enable-logging' returns a non-nil value."
(or buffer (setq buffer (current-buffer)))
(and erc-log-channels-directory
+ (not erc-log--save-in-progress-p)
(or (functionp erc-log-channels-directory)
(erc-directory-writable-p erc-log-channels-directory))
(if (functionp erc-enable-logging)
@@ -399,7 +405,7 @@ automatically.
You can save every individual message by putting this function on
`erc-insert-post-hook'."
(interactive)
- (or buffer (setq buffer (current-buffer)))
+ (unless (bufferp buffer) (setq buffer (current-buffer)))
(when (erc-logging-enabled buffer)
(let ((file (erc-current-logfile buffer))
(coding-system erc-log-file-coding-system))
@@ -423,10 +429,11 @@ You can save every individual message by putting this function on
(write-region start end file t 'nomessage))))
(if (and erc-truncate-buffer-on-save
(called-interactively-p 'interactive))
- (progn
- (let ((inhibit-read-only t)) (erase-buffer))
- (move-marker erc-last-saved-position (point-max))
- (erc-display-prompt))
+ (let ((erc-log--save-in-progress-p t))
+ (erc-cmd-CLEAR)
+ (erc-button--display-error-notice-with-keys
+ (erc-server-buffer) "Option `%s' is deprecated."
+ " Use /CLEAR instead." 'erc-truncate-buffer-on-save))
(move-marker erc-last-saved-position
;; If we place erc-last-saved-position at
;; erc-insert-marker, because text gets
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el
index 82b821503a8..2b7fff87ff0 100644
--- a/lisp/erc/erc-match.el
+++ b/lisp/erc/erc-match.el
@@ -52,8 +52,10 @@ they are hidden or highlighted. This is controlled via the variables
`erc-current-nick-highlight-type'. For all these highlighting types,
you can decide whether the entire message or only the sending nick is
highlighted."
- ((add-hook 'erc-insert-modify-hook #'erc-match-message 'append)
+ ((add-hook 'erc-insert-modify-hook #'erc-match-message 50)
(add-hook 'erc-mode-hook #'erc-match--modify-invisibility-spec)
+ (unless erc--updating-modules-p
+ (erc-buffer-do #'erc-match--modify-invisibility-spec))
(erc--modify-local-map t "C-c C-k" #'erc-go-to-log-matches-buffer))
((remove-hook 'erc-insert-modify-hook #'erc-match-message)
(remove-hook 'erc-mode-hook #'erc-match--modify-invisibility-spec)
@@ -231,10 +233,11 @@ for beeping to work."
(const :tag "Don't beep" nil)))
(defcustom erc-text-matched-hook '(erc-log-matches)
- "Hook run when text matches a given match-type.
-Functions in this hook are passed as arguments:
-\(match-type nick!user@host message) where MATCH-TYPE is a symbol of:
-current-nick, keyword, pal, dangerous-host, fool."
+ "Abnormal hook for visiting text matching a predefined \"type\".
+ERC calls members with the arguments (MATCH-TYPE NUH MESSAGE),
+where MATCH-TYPE is one of the symbols `current-nick', `keyword',
+`pal', `dangerous-host', `fool', and NUH is an `erc-response'
+sender, like bob!~bob@example.org."
:options '(erc-log-matches erc-hide-fools erc-beep-on-match)
:type 'hook)
@@ -654,6 +657,8 @@ See `erc-log-match-format'."
(defvar-local erc-match--hide-fools-offset-bounds nil)
+;; FIXME this should merge with instead of overwrite existing
+;; `invisible' values.
(defun erc-hide-fools (match-type _nickuserhost _message)
"Hide foolish comments.
This function should be called from `erc-text-matched-hook'."
diff --git a/lisp/erc/erc-netsplit.el b/lisp/erc/erc-netsplit.el
index f3572014f27..5dd11ab1869 100644
--- a/lisp/erc/erc-netsplit.el
+++ b/lisp/erc/erc-netsplit.el
@@ -117,7 +117,9 @@ join from that split has been detected or not.")
parsed 'notice (process-buffer proc)
'netjoin-done ?s (car elt))
(setq erc-netsplit-list (delq elt erc-netsplit-list)))
- (delete nick elt))
+ ;; Avoid `ignored-return-value' warning for `delete'.
+ (let ((tail (nthcdr 2 elt))) ; (t n1 ... nN)
+ (setcdr tail (delete nick (cdr tail)))))
(setq no-next-hook t))))
no-next-hook))
diff --git a/lisp/erc/erc-ring.el b/lisp/erc/erc-ring.el
index 2451ac56f6f..4534e913204 100644
--- a/lisp/erc/erc-ring.el
+++ b/lisp/erc/erc-ring.el
@@ -46,10 +46,10 @@
(define-erc-module ring nil
"Stores input in a ring so that previous commands and messages can
be recalled using M-p and M-n."
- ((add-hook 'erc-pre-send-functions #'erc-add-to-input-ring)
+ ((add-hook 'erc--input-review-functions #'erc-add-to-input-ring 90)
(define-key erc-mode-map "\M-p" #'erc-previous-command)
(define-key erc-mode-map "\M-n" #'erc-next-command))
- ((remove-hook 'erc-pre-send-functions #'erc-add-to-input-ring)
+ ((remove-hook 'erc--input-review-functions #'erc-add-to-input-ring)
(define-key erc-mode-map "\M-p" #'undefined)
(define-key erc-mode-map "\M-n" #'undefined)))
diff --git a/lisp/erc/erc-sasl.el b/lisp/erc/erc-sasl.el
index bfe17285a68..c6922b1b26b 100644
--- a/lisp/erc/erc-sasl.el
+++ b/lisp/erc/erc-sasl.el
@@ -137,12 +137,12 @@ that symbol is `:password', in which case, use a non-nil
`erc-session-password' instead. Otherwise, just defer to
`erc-auth-source-search' to pick a suitable `:host'. Expect
PLIST to contain keyword params known to `auth-source-search'."
- (when erc-sasl-password
- (when-let ((host (if (eq :password erc-sasl-password)
- (and (not (functionp erc-session-password))
- erc-session-password)
- erc-sasl-password)))
- (setq plist `(,@plist :host ,(format "%s" host)))))
+ (when-let* ((erc-sasl-password)
+ (host (if (eq :password erc-sasl-password)
+ (and (not (functionp erc-session-password))
+ erc-session-password)
+ erc-sasl-password)))
+ (setq plist `(,@plist :host ,(format "%s" host))))
(apply #'erc-auth-source-search plist))
(defun erc-sasl--read-password (prompt)
@@ -297,21 +297,6 @@ If necessary, pass PROMPT to `read-passwd'."
(sasl-client-set-property client 'ecdsa-keyfile keyfile)
client)))))
-;; This stands alone because it's also used by bug#49860.
-(defun erc-sasl--init ()
- (setq erc-sasl--state (make-erc-sasl--state))
- ;; If the previous attempt failed during registration, this may be
- ;; non-nil and contain erroneous values, but how can we detect that?
- ;; What if the server dropped the connection for some other reason?
- (setq erc-sasl--options
- (or (and erc--server-reconnecting
- (alist-get 'erc-sasl--options erc--server-reconnecting))
- `((user . ,erc-sasl-user)
- (password . ,erc-sasl-password)
- (mechanism . ,erc-sasl-mechanism)
- (authfn . ,erc-sasl-auth-source-function)
- (authzid . ,erc-sasl-authzid)))))
-
(defun erc-sasl--mechanism-offered-p (offered)
"Return non-nil when OFFERED appears among a list of mechanisms."
(string-match-p (rx-to-string
@@ -334,7 +319,16 @@ If necessary, pass PROMPT to `read-passwd'."
This doesn't solicit or validate a suite of supported mechanisms."
;; See bug#49860 for a CAP 3.2-aware WIP implementation.
((unless erc--target
- (erc-sasl--init)
+ (setq erc-sasl--state (make-erc-sasl--state))
+ ;; If the previous attempt failed during registration, this may be
+ ;; non-nil and contain erroneous values, but how can we detect that?
+ ;; What if the server dropped the connection for some other reason?
+ (erc--restore-initialize-priors erc-sasl-mode
+ erc-sasl--options `((user . ,erc-sasl-user)
+ (password . ,erc-sasl-password)
+ (mechanism . ,erc-sasl-mechanism)
+ (authfn . ,erc-sasl-auth-source-function)
+ (authzid . ,erc-sasl-authzid)))
(let* ((mech (alist-get 'mechanism erc-sasl--options))
(client (erc-sasl--create-client mech)))
(unless client
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el
index 5408ba405db..47c59f76b5c 100644
--- a/lisp/erc/erc-services.el
+++ b/lisp/erc/erc-services.el
@@ -513,6 +513,127 @@ Returns t if the identify message could be sent, nil otherwise."
nick)
nil))
+
+;;;; Regaining nicknames
+
+(defcustom erc-services-regain-alist nil
+ "Alist mapping networks to nickname-regaining functions.
+This option depends on the `services-regain' module being loaded.
+Keys can also be symbols for user-provided \"context IDs\" (see
+Info node `Network Identifier'). Functions run once, when first
+establishing a logical IRC connection. Although ERC currently
+calls them with one argument, the desired but rejected nickname,
+robust user implementations should leave room for later additions
+by defining an &rest _ parameter, as well.
+
+The simplest value is `erc-services-retry-nick-on-connect', which
+attempts to kill off stale connections without engaging services
+at all. Others, like `erc-services-issue-regain', and
+`erc-services-issue-ghost-and-retry-nick', only speak a
+particular flavor of NickServ. See their respective doc strings
+for details and use cases."
+ :package-version '(ERC . "5.6")
+ :group 'erc-hooks
+ :type '(alist :key-type (symbol :tag "Network")
+ :value-type
+ (choice :tag "Strategy function"
+ (function-item erc-services-retry-nick-on-connect)
+ (function-item erc-services-issue-regain)
+ (function-item erc-services-issue-ghost-and-retry-nick)
+ function)))
+
+(defun erc-services-retry-nick-on-connect (want)
+ "Try at most once to grab nickname WANT after reconnecting.
+Expect to be used when automatically reconnecting to servers
+that are slow to abandon the previous connection.
+
+Note that this strategy may only work under certain conditions,
+such as when a user's account name matches their nick."
+ (erc-cmd-NICK want))
+
+(defun erc-services-issue-regain (want)
+ "Ask NickServ to regain nickname WANT.
+Assume WANT belongs to the user and that the services suite
+offers a \"REGAIN\" sub-command."
+ (erc-cmd-MSG (concat "NickServ REGAIN " want)))
+
+(defun erc-services-issue-ghost-and-retry-nick (want)
+ "Ask NickServ to \"GHOST\" nickname WANT.
+After which, attempt to grab WANT before the contending party
+reconnects. Assume the ERC user owns WANT and that the server's
+services suite lacks a \"REGAIN\" command.
+
+Note that this function will only work for a specific services
+implementation and is meant primarily as an example for adapting
+as needed."
+ ;; While heuristics based on error text may seem brittle, consider
+ ;; the fact that \"is not online\" has been present in Atheme's
+ ;; \"GHOST\" responses since at least 2005.
+ (letrec ((attempts 3)
+ (on-notice
+ (lambda (_proc parsed)
+ (when-let ((nick (erc-extract-nick
+ (erc-response.sender parsed)))
+ ((erc-nick-equal-p nick "nickserv"))
+ (contents (erc-response.contents parsed))
+ (case-fold-search t)
+ ((string-match (rx (or "ghost" "is not online"))
+ contents)))
+ (setq attempts 1)
+ (erc-server-send (concat "NICK " want) 'force))
+ (when (zerop (cl-decf attempts))
+ (remove-hook 'erc-server-NOTICE-functions on-notice t))
+ nil)))
+ (add-hook 'erc-server-NOTICE-functions on-notice nil t)
+ (erc-message "PRIVMSG" (concat "NickServ GHOST " want))))
+
+;;;###autoload(put 'services-regain 'erc--feature 'erc-services)
+(define-erc-module services-regain nil
+ "Reacquire a nickname from your past self or some interloper.
+This module only concerns itself with initial nick rejections
+that occur during connection registration in response to an
+opening \"NICK\" command. More specifically, the following
+conditions must be met for ERC to activate this mechanism and
+consider its main option, `erc-services-regain-alist':
+
+ - the server must reject the opening \"NICK\" request
+ - ERC must request a temporary nickname
+ - the user must successfully authenticate
+
+In practical terms, this means that this module, which is still
+somewhat experimental, is likely only useful in conjunction with
+SASL authentication rather than the traditional approach provided
+by the `services' module it shares a library with (see Info
+node `(erc) SASL' for more)."
+ nil nil 'local)
+
+(cl-defmethod erc--nickname-in-use-make-request
+ ((want string) temp &context (erc-server-connected null)
+ (erc-services-regain-mode (eql t))
+ (erc-services-regain-alist cons))
+ "Schedule possible regain attempt upon establishing connection.
+Expect WANT to be the desired nickname and TEMP to be the current
+one."
+ (letrec
+ ((after-connect
+ (lambda (_ nick)
+ (remove-hook 'erc-after-connect after-connect t)
+ (when-let*
+ (((equal temp nick))
+ (conn (or (erc-networks--id-given erc-networks--id)
+ (erc-network)))
+ (found (alist-get conn erc-services-regain-alist)))
+ (funcall found want))))
+ (on-900
+ (lambda (_ parsed)
+ (remove-hook 'erc-server-900-functions on-900 t)
+ (unless erc-server-connected
+ (when (equal (car (erc-response.command-args parsed)) temp)
+ (add-hook 'erc-after-connect after-connect nil t)))
+ nil)))
+ (add-hook 'erc-server-900-functions on-900 nil t))
+ (cl-call-next-method))
+
(provide 'erc-services)
diff --git a/lisp/erc/erc-sound.el b/lisp/erc/erc-sound.el
index 9da9202f0cf..083d72805df 100644
--- a/lisp/erc/erc-sound.el
+++ b/lisp/erc/erc-sound.el
@@ -47,6 +47,10 @@
(require 'erc)
+(defgroup erc-sound nil
+ "Make ERC play bells and whistles while chatting with people."
+ :group 'erc)
+
;;;###autoload(put 'ctcp-sound 'erc--module 'sound)
;;;###autoload(autoload 'erc-sound-mode "erc-sound")
(define-erc-module sound ctcp-sound
@@ -61,10 +65,6 @@ and play sound files as requested."
(erc-define-catalog-entry 'english 'CTCP-SOUND "%n (%u@%h) plays %s:%m")
-(defgroup erc-sound nil
- "Make ERC play bells and whistles while chatting with people."
- :group 'erc)
-
(defcustom erc-play-sound t
"Play sounds when you receive CTCP SOUND requests."
:type 'boolean)
diff --git a/lisp/erc/erc-spelling.el b/lisp/erc/erc-spelling.el
index 8fce2508ceb..83eb849f1b4 100644
--- a/lisp/erc/erc-spelling.el
+++ b/lisp/erc/erc-spelling.el
@@ -33,14 +33,19 @@
(require 'erc)
(require 'flyspell)
+(defgroup erc-spelling nil
+ "Flyspell integration for ERC."
+ :group 'erc)
+
;;;###autoload(autoload 'erc-spelling-mode "erc-spelling" nil t)
(define-erc-module spelling nil
"Enable flyspell mode in ERC buffers."
;; Use erc-connect-pre-hook instead of erc-mode-hook as pre-hook is
;; called AFTER the server buffer is initialized.
((add-hook 'erc-connect-pre-hook #'erc-spelling-init)
- (dolist (buffer (erc-buffer-list))
- (erc-spelling-init buffer)))
+ (unless erc--updating-modules-p
+ (erc-with-all-buffers-of-server nil nil
+ (erc-spelling-init (current-buffer)))))
((remove-hook 'erc-connect-pre-hook #'erc-spelling-init)
(dolist (buffer (erc-buffer-list))
(with-current-buffer buffer (flyspell-mode 0)))))
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el
index 61f289a8753..5035e60a87d 100644
--- a/lisp/erc/erc-stamp.el
+++ b/lisp/erc/erc-stamp.el
@@ -163,13 +163,21 @@ from entering them and instead jump over them."
(define-erc-module stamp timestamp
"This mode timestamps messages in the channel buffers."
((add-hook 'erc-mode-hook #'erc-munge-invisibility-spec)
- (add-hook 'erc-insert-modify-hook #'erc-add-timestamp t)
- (add-hook 'erc-send-modify-hook #'erc-add-timestamp t)
- (add-hook 'erc-mode-hook #'erc-stamp--recover-on-reconnect))
+ (add-hook 'erc-insert-modify-hook #'erc-add-timestamp 60)
+ (add-hook 'erc-send-modify-hook #'erc-add-timestamp 60)
+ (add-hook 'erc-mode-hook #'erc-stamp--recover-on-reconnect)
+ (add-hook 'erc--pre-clear-functions #'erc-stamp--reset-on-clear)
+ (unless erc--updating-modules-p
+ (erc-buffer-do #'erc-munge-invisibility-spec)))
((remove-hook 'erc-mode-hook #'erc-munge-invisibility-spec)
(remove-hook 'erc-insert-modify-hook #'erc-add-timestamp)
(remove-hook 'erc-send-modify-hook #'erc-add-timestamp)
- (remove-hook 'erc-mode-hook #'erc-stamp--recover-on-reconnect)))
+ (remove-hook 'erc-mode-hook #'erc-stamp--recover-on-reconnect)
+ (remove-hook 'erc--pre-clear-functions #'erc-stamp--reset-on-clear)
+ (erc-with-all-buffers-of-server nil nil
+ (kill-local-variable 'erc-timestamp-last-inserted)
+ (kill-local-variable 'erc-timestamp-last-inserted-left)
+ (kill-local-variable 'erc-timestamp-last-inserted-right))))
(defun erc-stamp--recover-on-reconnect ()
(when-let ((priors (or erc--server-reconnecting erc--target-priors)))
@@ -198,13 +206,15 @@ may not be unique, `equal'-wise."
This function is meant to be called from `erc-insert-modify-hook'
or `erc-send-modify-hook'."
- (unless (get-text-property (point-min) 'invisible)
+ (progn ; remove this `progn' on next major refactor
(let* ((ct (erc-stamp--current-time))
+ (invisible (get-text-property (point-min) 'invisible))
(erc-stamp--current-time ct))
- (funcall erc-insert-timestamp-function
- (erc-format-timestamp ct erc-timestamp-format))
+ (unless invisible
+ (funcall erc-insert-timestamp-function
+ (erc-format-timestamp ct erc-timestamp-format)))
;; FIXME this will error when advice has been applied.
- (when (and (fboundp erc-insert-away-timestamp-function)
+ (when (and (not invisible) (fboundp erc-insert-away-timestamp-function)
erc-away-timestamp-format
(erc-away-time)
(not erc-timestamp-format))
@@ -576,6 +586,20 @@ enabled when the message was inserted."
(defun erc--echo-ts-csf (_window _before dir)
(erc-echo-timestamp dir (get-text-property (point) 'erc-timestamp)))
+(defun erc-stamp--update-saved-position (&rest _)
+ (remove-function (local 'erc-stamp--insert-date-function)
+ #'erc-stamp--update-saved-position)
+ (move-marker erc-last-saved-position (1- (point))))
+
+(defun erc-stamp--reset-on-clear (pos)
+ "Forget last-inserted stamps when POS is at insert marker."
+ (when (= pos (1- erc-insert-marker))
+ (add-function :after (local 'erc-stamp--insert-date-function)
+ #'erc-stamp--update-saved-position)
+ (setq erc-timestamp-last-inserted nil
+ erc-timestamp-last-inserted-left nil
+ erc-timestamp-last-inserted-right nil)))
+
(provide 'erc-stamp)
;;; erc-stamp.el ends here
diff --git a/lisp/erc/erc-truncate.el b/lisp/erc/erc-truncate.el
index b8fd4ae2e14..8430a68d92b 100644
--- a/lisp/erc/erc-truncate.el
+++ b/lisp/erc/erc-truncate.el
@@ -50,9 +50,9 @@ This prevents the query buffer from getting too large, which can
bring any grown Emacs to its knees after a few days worth of
tracking heavy-traffic channels."
;;enable
- ((add-hook 'erc-insert-post-hook #'erc-truncate-buffer))
+ ((add-hook 'erc-insert-done-hook #'erc-truncate-buffer))
;; disable
- ((remove-hook 'erc-insert-post-hook #'erc-truncate-buffer)))
+ ((remove-hook 'erc-insert-done-hook #'erc-truncate-buffer)))
;;;###autoload
(defun erc-truncate-buffer-to-size (size &optional buffer)
@@ -75,9 +75,11 @@ region is logged if `erc-logging-enabled' returns non-nil."
(save-restriction
(widen)
(let ((end (- erc-insert-marker size)))
- ;; truncate at line boundaries
+ ;; Truncate at message boundary (formerly line boundary
+ ;; before 5.6).
(goto-char end)
- (beginning-of-line)
+ (goto-char (or (previous-single-property-change (point) 'erc-command)
+ (pos-bol)))
(setq end (point))
;; try to save the current buffer using
;; `erc-save-buffer-in-logs'. We use this, in case the
@@ -91,10 +93,7 @@ region is logged if `erc-logging-enabled' returns non-nil."
;; (not (memq 'erc-save-buffer-in-logs
;; erc-insert-post-hook))
;; Comments?
- (when (and (boundp 'erc-enable-logging)
- erc-enable-logging
- (erc-logging-enabled buffer))
- (erc-save-buffer-in-logs))
+ (run-hook-with-args 'erc--pre-clear-functions end)
;; disable undoing for the truncating
(buffer-disable-undo)
(let ((inhibit-read-only t))
@@ -103,10 +102,10 @@ region is logged if `erc-logging-enabled' returns non-nil."
;;;###autoload
(defun erc-truncate-buffer ()
- "Truncates the current buffer to `erc-max-buffer-size'.
-Meant to be used in hooks, like `erc-insert-post-hook'."
+ "Truncate current buffer to `erc-max-buffer-size'."
(interactive)
- (erc-truncate-buffer-to-size erc-max-buffer-size))
+ (save-excursion
+ (erc-truncate-buffer-to-size erc-max-buffer-size)))
(provide 'erc-truncate)
;;; erc-truncate.el ends here
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 284990e2d43..e23185934f7 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -98,7 +98,9 @@
:group 'erc)
(defgroup erc-display nil
- "Settings for how various things are displayed."
+ "Settings controlling how various things are displayed.
+See the customization group `erc-buffers' for display options
+concerning buffers."
:group 'erc)
(defgroup erc-mode-line-and-header nil
@@ -142,6 +144,8 @@
(declare-function word-at-point "thingatpt" (&optional no-properties))
(autoload 'word-at-point "thingatpt") ; for hl-nicks
+(declare-function gnutls-negotiate "gnutls" (&rest rest))
+(declare-function socks-open-network-stream "socks" (name buffer host service))
(declare-function url-host "url-parse" (cl-x))
(declare-function url-password "url-parse" (cl-x))
(declare-function url-portspec "url-parse" (cl-x))
@@ -352,7 +356,7 @@ simply because we do not necessarily receive the QUIT event."
:type 'hook)
(defcustom erc-complete-functions nil
- "These functions get called when the user hits TAB in ERC.
+ "These functions get called when the user hits \\`TAB' in ERC.
Each function in turn is called until one returns non-nil to
indicate it has handled the input."
:group 'erc-hooks
@@ -399,24 +403,6 @@ Each function should accept two arguments, NEW-NICK and OLD-NICK."
:group 'erc-hooks
:type 'hook)
-(defcustom erc-nickname-in-use-functions nil
- "Function to run before trying for a different nickname.
-Called with two arguments: the desired but just rejected nickname
-and the alternate nickname about to be requested. Use cases
-include special handling during connection registration and
-wrestling with nickname services. For example, value
-`erc-regain-nick-on-connect' is aimed at dealing with reaping
-lingering connections that may prevent you from being issued a
-requested nick immediately when reconnecting. It's meant to be
-used with an `erc-server-reconnect-function' value of
-`erc-server-delayed-check-reconnect' alongside SASL
-authentication."
- :package-version '(ERC . "5.6")
- :group 'erc-hooks
- :type '(choice (function-item erc-regain-nick-on-connect)
- function
- (const nil)))
-
(defcustom erc-connect-pre-hook '(erc-initialize-log-marker)
"Hook called just before `erc' calls `erc-connect'.
Functions are passed a buffer as the first argument."
@@ -907,6 +893,9 @@ Flooding is sending too much information to the server in too
short of an interval, which may cause the server to terminate the
connection.
+Note that older code conflated rate limiting and line splitting.
+Starting in ERC 5.6, this option no longer influences the latter.
+
See `erc-server-flood-margin' for other flood-related parameters.")
;; Script parameters
@@ -1089,33 +1078,40 @@ The struct has three slots:
`string': The current input string.
`insertp': Whether the string should be inserted into the erc buffer.
- `sendp': Whether the string should be sent to the irc server."
+ `sendp': Whether the string should be sent to the irc server.
+ `refoldp': Whether the string should be re-split per protocol limits.
+
+This hook runs after protocol line splitting has taken place, so
+the value of `string' is originally \"pre-filled\". If you need
+ERC to refill the entire payload before sending it, set the
+`refoldp' slot to a non-nil value. Preformatted text and encoded
+subprotocols should probably be handled manually."
:group 'erc
:type 'hook
:version "27.1")
-;; This is being auditioned for possible exporting (as a custom hook
-;; option). Likewise for (public versions of) `erc--input-split' and
-;; `erc--discard-trailing-multiline-nulls'. If unneeded, we'll just
-;; run the latter on the input after `erc-pre-send-functions', and
-;; remove this hook and the struct completely. IOW, if you need this,
-;; please say so.
-
-(defvar erc--pre-send-split-functions '(erc--discard-trailing-multiline-nulls)
- "Special hook for modifying individual lines in multiline prompt input.
-The functions are called with one argument, an `erc--input-split'
-struct, which they can optionally modify.
+(define-obsolete-variable-alias 'erc--pre-send-split-functions
+ 'erc--input-review-functions "30.1")
+(defvar erc--input-review-functions '(erc--discard-trailing-multiline-nulls
+ erc--split-lines
+ erc--run-input-validation-checks)
+ "Special hook for reviewing and modifying prompt input.
+ERC runs this before clearing the prompt and before running any
+send-related hooks, such as `erc-pre-send-functions'. Thus, it's
+quite \"safe\" to bail out of this hook with a `user-error', if
+necessary. The hook's members are called with one argument, an
+`erc--input-split' struct, which they can optionally modify.
The struct has five slots:
- `string': the input string delivered by `erc-pre-send-functions'
- `insertp': whether to insert the lines into the buffer
- `sendp': whether the lines should be sent to the IRC server
+ `string': the original input as a read-only reference
+ `insertp': same as in `erc-pre-send-functions'
+ `sendp': same as in `erc-pre-send-functions'
+ `refoldp': same as in `erc-pre-send-functions'
`lines': a list of lines to be sent, each one a `string'
`cmdp': whether to interpret input as a command, like /ignore
-The `string' field is effectively read-only. When `cmdp' is
-non-nil, all but the first line will be discarded.")
+When `cmdp' is non-nil, all but the first line will be discarded.")
(defvar erc-insert-this t
"Insert the text into the target buffer or not.
@@ -1157,8 +1153,8 @@ preserve point if needed."
(defcustom erc-send-modify-hook nil
"Sending hook for functions that will change the text's appearance.
-This hook is called just after `erc-send-pre-hook' when the values
-of `erc-send-this' and `erc-insert-this' are both t.
+ERC runs this just after `erc-pre-send-functions' if its shared
+`erc-input' object's `sendp' and `insertp' slots remain non-nil.
While this hook is run, narrowing is in effect and `current-buffer' is
the buffer where the text got inserted.
@@ -1229,7 +1225,7 @@ which the local user typed."
(define-key map "\C-c\C-u" #'erc-kill-input)
(define-key map "\C-c\C-x" #'erc-quit-server)
(define-key map "\M-\t" #'ispell-complete-word)
- (define-key map "\t" #'completion-at-point)
+ (define-key map "\t" #'erc-tab)
;; Suppress `font-lock-fontify-block' key binding since it
;; destroys face properties.
@@ -1351,6 +1347,20 @@ See also `erc-show-my-nick'."
Bound to local variables from an existing (logical) session's
buffer during local-module setup and `erc-mode-hook' activation.")
+(defmacro erc--restore-initialize-priors (mode &rest vars)
+ "Restore local VARS for MODE from a previous session."
+ (declare (indent 1))
+ (let ((existing (make-symbol "existing"))
+ ;;
+ restore initialize)
+ (while-let ((k (pop vars)) (v (pop vars)))
+ (push `(,k (alist-get ',k ,existing)) restore)
+ (push `(,k ,v) initialize))
+ `(if-let* ((,existing (or erc--server-reconnecting erc--target-priors))
+ ((alist-get ',mode ,existing)))
+ (setq ,@(mapcan #'identity (nreverse restore)))
+ (setq ,@(mapcan #'identity (nreverse initialize))))))
+
(defun erc--target-from-string (string)
"Construct an `erc--target' variant from STRING."
(funcall (if (erc-channel-p string)
@@ -1400,6 +1410,37 @@ capabilities."
(add-hook hook fun nil t)
fun))
+(defun erc--warn-once-before-connect (mode-var &rest args)
+ "Display an \"error notice\" once.
+Expect ARGS to be `erc-button--display-error-notice-with-keys'
+compatible parameters, except without any leading buffers or
+processes. If we're in an ERC buffer with a network process when
+called, print the notice immediately. Otherwise, if we're in a
+server buffer, arrange to do so after local modules have been set
+up and mode hooks have run. Otherwise, if MODE-VAR is a global
+module, try again at most once the next time `erc-mode-hook'
+runs."
+ (declare (indent 1))
+ (cl-assert (stringp (car args)))
+ (if (derived-mode-p 'erc-mode)
+ (unless (or (erc-with-server-buffer ; needs `erc-server-process'
+ (apply #'erc-button--display-error-notice-with-keys
+ (current-buffer) args)
+ t)
+ erc--target) ; unlikely
+ (let (hook)
+ (setq hook
+ (lambda (_)
+ (remove-hook 'erc-connect-pre-hook hook t)
+ (apply #'erc-button--display-error-notice-with-keys args)))
+ (add-hook 'erc-connect-pre-hook hook nil t)))
+ (when (custom-variable-p mode-var)
+ (let (hook)
+ (setq hook (lambda ()
+ (remove-hook 'erc-mode-hook hook)
+ (apply #'erc--warn-once-before-connect 'erc-fake args)))
+ (add-hook 'erc-mode-hook hook)))))
+
(defun erc-server-buffer ()
"Return the server buffer for the current buffer's process.
The buffer-local variable `erc-server-process' is used to find
@@ -1507,9 +1548,9 @@ Defaults to the server buffer."
"IRC port to use for encrypted connections if it cannot be \
detected otherwise.")
-(defvaralias 'erc-buffer-display 'erc-join-buffer)
-(defcustom erc-join-buffer 'bury
- "Determines how to display a newly created IRC buffer.
+(defvaralias 'erc-join-buffer 'erc-buffer-display)
+(defcustom erc-buffer-display 'bury
+ "How to display a newly created ERC buffer.
The available choices are:
@@ -1518,7 +1559,9 @@ The available choices are:
`frame' - in another frame,
`bury' - bury it in a new buffer,
`buffer' - in place of the current buffer,
- any other value - in place of the current buffer."
+
+See related options `erc-interactive-display',
+`erc-reconnect-display', and `erc-receive-query-display'."
:package-version '(ERC . "5.5")
:group 'erc-buffers
:type '(choice (const :tag "Split window and select" window)
@@ -1528,13 +1571,17 @@ The available choices are:
(const :tag "Use current buffer" buffer)
(const :tag "Use current buffer" t)))
-(defcustom erc-interactive-display 'buffer
- "How and whether to display server buffers for M-x erc.
-See `erc-buffer-display' and friends for a description of
-possible values."
+(defvaralias 'erc-query-display 'erc-interactive-display)
+(defcustom erc-interactive-display 'window
+ "How to display buffers as a result of user interaction.
+This affects commands like /QUERY and /JOIN when issued
+interactively at the prompt. It does not apply when calling a
+handler for such a command, like `erc-cmd-JOIN', from lisp code.
+See `erc-buffer-display' for a full description of available
+values."
:package-version '(ERC . "5.6") ; FIXME sync on release
:group 'erc-buffers
- :type '(choice (const :tag "Use value of `erc-join-buffer'" nil)
+ :type '(choice (const :tag "Use value of `erc-buffer-display'" nil)
(const :tag "Split window and select" window)
(const :tag "Split window, don't select" window-noselect)
(const :tag "New frame" frame)
@@ -1542,21 +1589,27 @@ possible values."
(const :tag "Use current buffer" buffer)))
(defcustom erc-reconnect-display nil
- "How (and whether) to display a channel buffer upon reconnecting.
-
-This only affects automatic reconnections and is ignored when
-issuing a /reconnect command or reinvoking `erc-tls' with the
-same args (assuming success, of course). See `erc-join-buffer'
-for a description of possible values."
+ "How and whether to display a channel buffer when auto-reconnecting.
+This only affects automatic reconnections and is ignored, like
+all other buffer-display options, when issuing a /RECONNECT or
+successfully reinvoking `erc-tls' with similar arguments. See
+`erc-buffer-display' for a description of possible values."
:package-version '(ERC . "5.5")
:group 'erc-buffers
- :type '(choice (const :tag "Use value of `erc-join-buffer'" nil)
+ :type '(choice (const :tag "Use value of `erc-buffer-display'" nil)
(const :tag "Split window and select" window)
(const :tag "Split window, don't select" window-noselect)
(const :tag "New frame" frame)
(const :tag "Bury in new buffer" bury)
(const :tag "Use current buffer" buffer)))
+(defcustom erc-reconnect-display-timeout 10
+ "Duration `erc-reconnect-display' remains active.
+The countdown starts on MOTD and is canceled early by any
+\"slash\" command."
+ :type 'integer
+ :group 'erc-buffers)
+
(defcustom erc-frame-alist nil
"Alist of frame parameters for creating erc frames.
A value of nil means to use `default-frame-alist'."
@@ -1573,23 +1626,14 @@ This only has effect when `erc-join-buffer' is set to `frame'."
(defcustom erc-reuse-frames t
"Determines whether new frames are always created.
-
-A value of t means only create a frame for undisplayed buffers.
-`displayed' means use any existing, potentially hidden frame
-already displaying a buffer from the same network context or,
-failing that, a frame showing any ERC buffer. As a last resort,
-`displayed' defaults to the selected frame, except for brand new
-connections, for which the invoking frame is always used. When
-this option is nil, a new frame is always created.
-
-Regardless of its value, this option is ignored unless
-`erc-join-buffer' is set to `frame'. And like most options in
-the `erc-buffer' customize group, this has no effect on server
-buffers while reconnecting because those are always buried."
- :package-version '(ERC . "5.6") ; FIXME sync on release
+Non-nil means only create a frame for undisplayed buffers. Nil
+means always create a new frame. Regardless of its value, ERC
+ignores this option unless `erc-join-buffer' is `frame'. And
+like most options in the `erc-buffer' customize group, this has
+no effect on server buffers while reconnecting because ERC always
+buries those."
:group 'erc-buffers
- :type '(choice boolean
- (const displayed)))
+ :type 'boolean)
(defun erc-channel-p (channel)
"Return non-nil if CHANNEL seems to be an IRC channel name."
@@ -1759,8 +1803,9 @@ If PROC is not supplied, all processes are searched."
(defun erc-buffer-filter (predicate &optional proc)
"Return a list of `erc-mode' buffers matching certain criteria.
-PREDICATE is a function executed with each buffer, if it returns t, that buffer
-is considered a valid match.
+Call PREDICATE without arguments in all ERC buffers or only those
+belonging to a non-nil PROC. Expect it to return non-nil in
+buffers that should be included in the returned list.
PROC is either an `erc-server-process', identifying a certain
server connection, or nil which means all open connections."
@@ -1772,15 +1817,21 @@ server connection, or nil which means all open connections."
(erc--buffer-p buf predicate proc)))
(buffer-list)))))
+(defalias 'erc-buffer-do 'erc-buffer-filter
+ "Call FUNCTION in all ERC buffers or only those for PROC.
+Expect users to prefer this alias to `erc-buffer-filter' in cases
+where the latter would only be called for effect and its return
+value thrown away.
+
+\(fn FUNCTION &optional PROC)")
+
(defun erc-buffer-list (&optional predicate proc)
"Return a list of ERC buffers.
PREDICATE is a function which executes with every buffer satisfying
the predicate. If PREDICATE is passed as nil, return a list of all ERC
buffers. If PROC is given, the buffers local variable `erc-server-process'
needs to match PROC."
- (unless predicate
- (setq predicate (lambda () t)))
- (erc-buffer-filter predicate proc))
+ (erc-buffer-filter (or predicate #'always) proc))
(define-obsolete-function-alias 'erc-iswitchb #'erc-switch-to-buffer "25.1")
(defun erc--switch-to-buffer (&optional arg)
@@ -2015,34 +2066,28 @@ Except ignore all local modules, which were introduced in ERC 5.5."
(push mode local-modes))
(error "`%s' is not a known ERC module" module)))))
-(defun erc--setup-buffer-first-window (frame a b)
- (catch 'found
- (walk-window-tree
- (lambda (w)
- (when (cond ((functionp a) (with-current-buffer (window-buffer w)
- (funcall a b)))
- (t (eq (buffer-local-value a (window-buffer w)) b)))
- (throw 'found t)))
- frame nil 0)))
-
-(defun erc--display-buffer-use-some-frame (buffer alist)
- "Maybe display BUFFER in an existing frame for the same connection.
-If performed, return window used; otherwise, return nil. Forward ALIST
-to display-buffer machinery."
- (when-let*
- ((idp (lambda (value)
- (and erc-networks--id
- (erc-networks--id-equal-p erc-networks--id value))))
- (procp (lambda (frame)
- (erc--setup-buffer-first-window frame idp erc-networks--id)))
- (ercp (lambda (frame)
- (erc--setup-buffer-first-window frame 'major-mode 'erc-mode)))
- ((or (cdr (frame-list)) (funcall ercp (selected-frame)))))
- ;; Workaround to avoid calling `window--display-buffer' directly
- (or (display-buffer-use-some-frame buffer
- `((frame-predicate . ,procp) ,@alist))
- (display-buffer-use-some-frame buffer
- `((frame-predicate . ,ercp) ,@alist)))))
+(defvar erc--updating-modules-p nil
+ "Non-nil when running `erc--update-modules' in `erc-open'.
+This allows global modules with known or likely dependents (or
+some other reason for activating after session initialization) to
+conditionally run setup code traditionally reserved for
+`erc-mode-hook' in the setup portion of their mode toggle. Note
+that being \"global\", they'll likely want to do so in all ERC
+buffers and ensure the code is idempotent. For example:
+
+ (add-hook \\='erc-mode-hook #\\='erc-foo-setup-fn)
+ (unless erc--updating-modules-p
+ (erc-with-all-buffers-of-server nil
+ (lambda () some-condition-p)
+ (erc-foo-setup-fn)))
+
+This means that when a dependent module is initializing and
+realizes it's missing some required module \"foo\", it can
+confidently call (erc-foo-mode 1) without having to learn
+anything about the dependency's implementation.")
+
+(defvar erc--setup-buffer-hook nil
+ "Internal hook for module setup involving windows and frames.")
(defun erc-setup-buffer (buffer)
"Consults `erc-join-buffer' to find out how to display `BUFFER'."
@@ -2059,21 +2104,15 @@ to display-buffer machinery."
('bury
nil)
('frame
- (cond
- ((and (eq erc-reuse-frames 'displayed)
- (not (get-buffer-window buffer t)))
- (display-buffer buffer '((erc--display-buffer-use-some-frame)
- (inhibit-switch-frame . t)
- (inhibit-same-window . t))))
- ((or (not erc-reuse-frames)
- (not (get-buffer-window buffer t)))
+ (when (or (not erc-reuse-frames)
+ (not (get-buffer-window buffer t)))
(let ((frame (make-frame (or erc-frame-alist
default-frame-alist))))
(raise-frame frame)
(select-frame frame))
(switch-to-buffer buffer)
(when erc-frame-dedicated-flag
- (set-window-dedicated-p (selected-window) t)))))
+ (set-window-dedicated-p (selected-window) t))))
(_
(if (active-minibuffer-window)
(display-buffer buffer)
@@ -2113,8 +2152,8 @@ nil."
(alist-get 'erc-insert-marker continued-session))
(set-marker erc-input-marker
(alist-get 'erc-input-marker continued-session))
- (goto-char erc-insert-marker)
- (cl-assert (= (field-end) erc-input-marker))
+ (set-marker-insertion-type erc-insert-marker t)
+ (cl-assert (= (field-end erc-insert-marker) erc-input-marker))
(goto-char old-point)
(erc--unhide-prompt))
(cl-assert (not (get-text-property (point) 'erc-prompt)))
@@ -2125,6 +2164,7 @@ nil."
(insert "\n\n")
(set-marker erc-insert-marker (point))
(erc-display-prompt)
+ (set-marker-insertion-type erc-insert-marker t)
(cl-assert (= (point) (point-max)))))
(defun erc-open (&optional server port nick full-name
@@ -2171,7 +2211,8 @@ Returns the buffer for the given server or channel."
(set-buffer buffer)
(setq old-point (point))
(setq delayed-modules
- (erc--merge-local-modes (erc--update-modules)
+ (erc--merge-local-modes (let ((erc--updating-modules-p t))
+ (erc--update-modules))
(or erc--server-reconnecting
erc--target-priors)))
@@ -2251,7 +2292,8 @@ Returns the buffer for the given server or channel."
;; we can't log to debug buffer, it may not exist yet
(message "erc: old buffer %s, switching to %s"
old-buffer buffer))
- (erc-setup-buffer buffer))
+ (erc-setup-buffer buffer)
+ (run-hooks 'erc--setup-buffer-hook))
buffer))
@@ -2302,9 +2344,9 @@ parameters SERVER and NICK."
(defun erc--ensure-url (input)
(unless (string-match (rx bot "irc" (? "6") (? "s") "://") input)
- (when (and (string-match (rx (? (+ any) "@")
- (or (group (* (not "[")) ":" (* any))
- (+ any))
+ (when (and (string-match (rx (? (+ nonl) "@")
+ (or (group (* (not "[")) ":" (* nonl))
+ (+ nonl))
":" (+ (not (any ":]"))) eot)
input)
(match-beginning 1))
@@ -2504,6 +2546,22 @@ PARAMETERS should be a sequence of keywords and values, per
(setq args `(,name ,buffer ,host ,port ,@p))
(apply #'open-network-stream args)))
+(defun erc-open-socks-tls-stream (name buffer host service &rest parameters)
+ "Connect to an IRC server via SOCKS proxy over TLS.
+Bind `erc-server-connect-function' to this function around calls
+to `erc-tls'. See `erc-open-network-stream' for the meaning of
+NAME and BUFFER. HOST should be a \".onion\" URL, SERVICE a TLS
+port number, and PARAMETERS a sequence of key/value pairs, per
+`open-network-stream'. See Info node `(erc) SOCKS' for more
+info."
+ (require 'gnutls)
+ (require 'socks)
+ (let ((proc (socks-open-network-stream name buffer host service))
+ (cert-info (plist-get parameters :client-certificate)))
+ (gnutls-negotiate :process proc
+ :hostname host
+ :keylist (and cert-info (list cert-info)))))
+
;;; Displaying error messages
(defun erc-error (&rest args)
@@ -2663,9 +2721,12 @@ If ARG is non-nil, show the *erc-protocol* buffer."
(defun erc-send-action (tgt str &optional force)
"Send CTCP ACTION information described by STR to TGT."
(erc-send-ctcp-message tgt (format "ACTION %s" str) force)
- (erc-display-message
- nil 'input (current-buffer)
- 'ACTION ?n (erc-current-nick) ?a str ?u "" ?h ""))
+ (let ((erc-insert-pre-hook
+ (cons (lambda (s) ; Leave newline be.
+ (put-text-property 0 (1- (length s)) 'erc-command 'PRIVMSG s))
+ erc-insert-pre-hook)))
+ (erc-display-message nil 'input (current-buffer)
+ 'ACTION ?n (erc-current-nick) ?a str ?u "" ?h "")))
;; Display interface
@@ -2693,6 +2754,20 @@ this option to nil."
(cl-assert (< erc-insert-marker erc-input-marker))
(cl-assert (= (field-end erc-insert-marker) erc-input-marker)))))
+(defun erc--refresh-prompt ()
+ "Re-render ERC's prompt when the option `erc-prompt' is a function."
+ (erc--assert-input-bounds)
+ (when (functionp erc-prompt)
+ (save-excursion
+ (goto-char erc-insert-marker)
+ (set-marker-insertion-type erc-insert-marker nil)
+ ;; Avoid `erc-prompt' (the named function), which appends a
+ ;; space, and `erc-display-prompt', which propertizes all but
+ ;; that space.
+ (insert-and-inherit (funcall erc-prompt))
+ (set-marker-insertion-type erc-insert-marker t)
+ (delete-region (point) (1- erc-input-marker)))))
+
(defun erc-display-line-1 (string buffer)
"Display STRING in `erc-mode' BUFFER.
Auxiliary function used in `erc-display-line'. The line gets filtered to
@@ -2726,7 +2801,7 @@ If STRING is nil, the function does nothing."
(save-restriction
(widen)
(goto-char insert-position)
- (insert-before-markers string)
+ (insert string)
(erc--assert-input-bounds)
;; run insertion hook, with point at restored location
(save-restriction
@@ -2736,7 +2811,7 @@ If STRING is nil, the function does nothing."
(when erc-remove-parsed-property
(remove-text-properties (point-min) (point-max)
'(erc-parsed nil))))
- (erc--assert-input-bounds)))))
+ (erc--refresh-prompt)))))
(run-hooks 'erc-insert-done-hook)
(erc-update-undo-list (- (or (marker-position erc-insert-marker)
(point-max))
@@ -3057,13 +3132,20 @@ present."
(let ((prop-val (erc-get-parsed-vector position)))
(and prop-val (member (erc-response.command prop-val) list))))
-(defvar-local erc-send-input-line-function 'erc-send-input-line
- "Function for sending lines lacking a leading user command.
-When a line typed into a buffer contains an explicit command, like /msg,
-a corresponding handler (here, erc-cmd-MSG) is called. But lines typed
-into a channel or query buffer already have an implicit target and
-command (PRIVMSG). This function is called on such occasions and also
-for special purposes (see erc-dcc.el).")
+(defvar erc--called-as-input-p nil
+ "Non-nil when a user types a \"/slash\" command.
+Remains bound until `erc-cmd-SLASH' returns.")
+
+(defvar-local erc-send-input-line-function #'erc-send-input-line
+ "Function for sending lines lacking a leading \"slash\" command.
+When prompt input starts with a \"slash\" command, like \"/MSG\",
+ERC calls a corresponding handler, like `erc-cmd-MSG'. But
+normal \"chat\" input also needs processing, for example, to
+convert it into a proper IRC command. ERC calls this variable's
+value to perform that task, which, by default, simply involves
+constructing a \"PRIVMSG\" with the current channel or query
+partner as the target. Some libraries, like `erc-dcc', use this
+for other purposes.")
(defun erc-send-input-line (target line &optional force)
"Send LINE to TARGET."
@@ -3110,7 +3192,9 @@ this function from interpreting the line as a command."
(if (and command-list
(not no-command))
(let* ((cmd (nth 0 command-list))
- (args (nth 1 command-list)))
+ (args (nth 1 command-list))
+ (erc--called-as-input-p t))
+ (erc--server-last-reconnect-display-reset (erc-server-buffer))
(condition-case nil
(if (listp args)
(apply cmd args)
@@ -3306,10 +3390,17 @@ If no USER argument is specified, list the contents of `erc-ignore-list'."
(erc-with-server-buffer
(setq erc-ignore-list (delete user erc-ignore-list))))))
+(defvar erc--pre-clear-functions nil
+ "Abnormal hook run when truncating buffers.
+Called with position indicating boundary of interval to be excised.")
+
(defun erc-cmd-CLEAR ()
"Clear the window content."
(let ((inhibit-read-only t))
- (delete-region (point-min) (line-beginning-position)))
+ (run-hook-with-args 'erc--pre-clear-functions (1- erc-insert-marker))
+ ;; Ostensibly, `line-beginning-position' is for use in lisp code.
+ (delete-region (point-min) (min (line-beginning-position)
+ (1- erc-insert-marker))))
t)
(put 'erc-cmd-CLEAR 'process-not-needed t)
@@ -3583,7 +3674,21 @@ were most recently invited. See also `invitation'."
((with-current-buffer existing
(erc-get-channel-user (erc-current-nick)))))
(switch-to-buffer existing)
- (setq erc--server-last-reconnect-count 0)
+ (when-let* ; bind `erc-join-buffer' when /JOIN issued
+ ((erc--called-as-input-p)
+ (fn (lambda (proc parsed)
+ (when-let* ; `fn' wrapper already removed from hook
+ (((equal (car (erc-response.command-args parsed))
+ channel))
+ (sn (erc-extract-nick (erc-response.sender parsed)))
+ ((erc-nick-equal-p sn (erc-current-nick)))
+ (erc-join-buffer (or erc-interactive-display
+ erc-join-buffer)))
+ (run-hook-with-args-until-success
+ 'erc-server-JOIN-functions proc parsed)
+ t))))
+ (erc-with-server-buffer
+ (erc-once-with-server-event "JOIN" fn)))
(erc-server-join-channel nil chnl key))))
t)
@@ -3947,27 +4052,10 @@ just as you provided it. Use this command with care!"
(t nil)))
(put 'erc-cmd-QUOTE 'do-not-parse-args t)
-(defcustom erc-query-display 'window
- "How to display query buffers when using the /QUERY command to talk to someone.
-
-The default behavior is to display the message in a new window
-and bring it to the front. See the documentation for
-`erc-join-buffer' for a description of the available choices.
-
-See also `erc-auto-query' to decide how private messages from
-other people should be displayed."
- :group 'erc-query
- :type '(choice (const :tag "Split window and select" window)
- (const :tag "Split window, don't select" window-noselect)
- (const :tag "New frame" frame)
- (const :tag "Bury in new buffer" bury)
- (const :tag "Use current buffer" buffer)
- (const :tag "Use current buffer" t)))
-
(defun erc-cmd-QUERY (&optional user)
"Open a query with USER.
How the query is displayed (in a new window, frame, etc.) depends
-on the value of `erc-query-display'."
+on the value of `erc-interactive-display'."
;; FIXME: The doc string used to say at the end:
;; "If USER is omitted, close the current query buffer if one exists
;; - except this is broken now ;-)"
@@ -3978,8 +4066,8 @@ on the value of `erc-query-display'."
(unless user
;; currently broken, evil hack to display help anyway
;(erc-delete-query))))
- (signal 'wrong-number-of-arguments ""))
- (let ((erc-join-buffer erc-query-display))
+ (signal 'wrong-number-of-arguments '(erc-cmd-QUERY 0)))
+ (let ((erc-join-buffer erc-interactive-display))
(erc-with-server-buffer
(erc--open-target user))))
@@ -4654,6 +4742,19 @@ This places `point' just after the prompt, or at the beginning of the line."
(setq erc-input-ring-index nil))
(kill-line)))
+(defvar erc--tab-functions nil
+ "Functions to try when user hits \\`TAB' outside of input area.
+Called with a numeric prefix arg.")
+
+(defun erc-tab (arg)
+ "Call `completion-at-point' when typing in the input area.
+Otherwise call members of `erc--tab-functions' with a numeric
+prefix ARG until one of them returns non-nil."
+ (interactive "p")
+ (if (>= (point) erc-input-marker)
+ (completion-at-point)
+ (run-hook-with-args-until-success 'erc--tab-functions arg)))
+
(defun erc-complete-word-at-point ()
(run-hook-with-args-until-success 'erc-complete-functions))
@@ -4668,9 +4769,13 @@ This places `point' just after the prompt, or at the beginning of the line."
; Stolen from ZenIRC. I just wanna test this code, so here is
; experiment area.
-(defcustom erc-default-server-hook '(erc-debug-missing-hooks
- erc-default-server-handler)
- "Default for server messages which aren't covered by `erc-server-hooks'."
+;; This shouldn't be a user option but remains so for compatibility.
+(define-obsolete-variable-alias
+ 'erc-default-server-hook 'erc-default-server-functions "30.1")
+(defcustom erc-default-server-functions '(erc-handle-unknown-server-response)
+ "Abnormal hook for incoming messages without their own handlers.
+See `define-erc-response-handler' for more."
+ :package-version '(ERC . "5.6")
:group 'erc-server-hooks
:type 'hook)
@@ -4678,6 +4783,7 @@ This places `point' just after the prompt, or at the beginning of the line."
"Default server handler.
Displays PROC and PARSED appropriately using `erc-display-message'."
+ (declare (obsolete erc-handle-unknown-server-response "29.1"))
(erc-display-message
parsed 'notice proc
(mapconcat
@@ -4700,7 +4806,7 @@ See `erc-debug-missing-hooks'.")
"Add PARSED server message ERC does not yet handle to `erc-server-vectors'.
These vectors can be helpful when adding new server message handlers to ERC.
See `erc-default-server-hook'."
- (nconc erc-server-vectors (list parsed))
+ (setq erc-server-vectors `(,@erc-server-vectors ,parsed))
nil)
(defun erc--open-target (target)
@@ -4722,23 +4828,30 @@ See `erc-default-server-hook'."
"Open a query buffer on TARGET using SERVER-BUFFER.
To change how this query window is displayed, use `let' to bind
`erc-join-buffer' before calling this."
- (declare (obsolete "bind `erc-cmd-query' and call `erc-cmd-QUERY'" "29.1"))
+ (declare (obsolete "call `erc-open' in a live server buffer" "29.1"))
(unless (buffer-live-p server-buffer)
(error "Couldn't switch to server buffer"))
(with-current-buffer server-buffer
(erc--open-target target)))
-(defvaralias 'erc-receive-query-display 'erc-auto-query)
-(defcustom erc-auto-query 'window-noselect
+(defvaralias 'erc-auto-query 'erc-receive-query-display)
+(defcustom erc-receive-query-display 'window-noselect
"If non-nil, create a query buffer each time you receive a private message.
If the buffer doesn't already exist, it is created.
This can be set to a symbol, to control how the new query window
should appear. The default behavior is to display the buffer in
-a new window, but not to select it. See the documentation for
-`erc-join-buffer' for a description of the available choices."
+a new window but not to select it. See the documentation for
+`erc-buffer-display' for a description of available values.
+
+Note that the legacy behavior of forgoing buffer creation
+entirely when this option is nil requires setting the
+compatibility flag `erc-receive-query-display-defer' to nil. Use
+`erc-ensure-target-buffer-on-privmsg' to achieve the same effect."
+ :package-version '(ERC . "5.6")
+ :group 'erc-buffers
:group 'erc-query
- :type '(choice (const :tag "Don't create query window" nil)
+ :type '(choice (const :tag "Defer to value of `erc-buffer-display'" nil)
(const :tag "Split window and select" window)
(const :tag "Split window, don't select" window-noselect)
(const :tag "New frame" frame)
@@ -4746,15 +4859,37 @@ a new window, but not to select it. See the documentation for
(const :tag "Use current buffer" buffer)
(const :tag "Use current buffer" t)))
-;; FIXME either retire this or put it to use after determining how
-;; it's meant to work. Clearly, the doc string does not describe
-;; current behavior. It's currently only used by the obsolete
-;; function `erc-auto-query'.
-(defcustom erc-query-on-unjoined-chan-privmsg t
- "If non-nil create query buffer on receiving any PRIVMSG at all.
+(defvar erc-receive-query-display-defer t
+ "How to interpret a null `erc-receive-query-display'.
+When this variable is non-nil, ERC defers to `erc-buffer-display'
+upon seeing a nil value for `erc-receive-query-display', much
+like it does with other buffer-display options, like
+`erc-interactive-display'. Otherwise, when this option is nil,
+ERC retains the legacy behavior of not creating a new query
+buffer.")
+
+(defvaralias 'erc-query-on-unjoined-chan-privmsg
+ 'erc-ensure-target-buffer-on-privmsg)
+(defcustom erc-ensure-target-buffer-on-privmsg t
+ "When non-nil, create a target buffer upon receiving a PRIVMSG.
This includes PRIVMSGs directed to channels. If you are using an IRC
bouncer, such as dircproxy, to keep a log of channels when you are
-disconnected, you should set this option to t."
+disconnected, you should set this option to t.
+
+For queries (direct messages), this option's non-nil meaning is
+straightforward: if a buffer doesn't exist for the sender, create
+one. For channels, the use case is more niche and usually
+involves receiving playback (via commands like ZNC's
+\"PLAYBUFFER\") for channels to which your bouncer is joined but
+from which you've \"detached\".
+
+Note that this option was absent from ERC 5.5 because knowledge
+of its intended role was \"unavailable\" during a major
+refactoring involving buffer management. The option has since
+been restored in ERC 5.6 but now also affects queries in the
+manner implied above, which was lost sometime before ERC 5.4."
+ :package-version '(ERC . "5.6") ; revived
+ :group 'erc-buffers
:group 'erc-query
:type 'boolean)
@@ -4795,33 +4930,9 @@ E.g. \"Read error to Nick [user@some.host]: 110\" would be shortened to
(match-string 1 reason))
reason))
-(defun erc-regain-nick-on-connect (want temp)
- "Try at most once to grab nickname WANT after settling for TEMP.
-Only do so during connection registration, likely prior to
-authenticating with SASL. Assume the prior connection was lost
-due to connectivity failure and that the server hasn't yet
-noticed. Also assume that the server won't process any
-authentication-related messages until it has accepted a mulligan
-nick or at least sent a 433 and thus triggered
-`erc-nickname-in-use-functions'. Expect authentication to have
-succeeded by the time a logical IRC connection has been
-established and that the contending connection may otherwise
-still be alive and require manual intervention involving
-NickServ."
- (unless erc-server-connected
- (letrec ((after-connect
- (lambda (_ nick)
- (remove-hook 'erc-after-connect after-connect t)
- (when (equal temp nick)
- (erc-cmd-NICK want))))
- (on-900
- (lambda (_ parsed)
- (remove-hook 'erc-server-900-functions on-900 t)
- (unless erc-server-connected
- (when (equal (car (erc-response.command-args parsed)) temp)
- (add-hook 'erc-after-connect after-connect nil t)))
- nil)))
- (add-hook 'erc-server-900-functions on-900 nil t))))
+(cl-defmethod erc--nickname-in-use-make-request (_nick temp)
+ "Request nickname TEMP in place of rejected NICK."
+ (erc-cmd-NICK temp))
(defun erc-nickname-in-use (nick reason)
"If NICK is unavailable, tell the user the REASON.
@@ -4856,8 +4967,7 @@ See also `erc-display-error-notice'."
;; established a connection yet
(- 9 (length erc-nick-uniquifier))))
erc-nick-uniquifier)))
- (run-hook-with-args 'erc-nickname-in-use-functions nick newnick)
- (erc-cmd-NICK newnick)
+ (erc--nickname-in-use-make-request nick newnick)
(erc-display-error-notice
nil
(format "Nickname %s is %s, trying %s"
@@ -4865,6 +4975,9 @@ See also `erc-display-error-notice'."
;;; Server messages
+;; FIXME remove on next major version release. This group is all but
+;; unused because most `erc-server-FOO-functions' are plain variables
+;; and not user options as implied by this doc string.
(defgroup erc-server-hooks nil
"Server event callbacks.
Every server event - like numeric replies - has its own hook.
@@ -4912,6 +5025,16 @@ and as second argument the event parsed as a vector."
(and (erc-is-message-ctcp-p message)
(not (string-match "^\C-aACTION.*\C-a$" message))))
+(defvar erc--user-from-nick-function #'erc--examine-nick
+ "Function to possibly consider unknown user.
+Must return either nil or a cons of an `erc-server-user' and a
+possibly nil `erc-channel-user' for formatting a server user's
+nick. Called in the appropriate buffer with the downcased nick,
+the parsed NUH, and the original `erc-response' object.")
+
+(defun erc--examine-nick (downcased _nuh _parsed)
+ (and erc-channel-users (gethash downcased erc-channel-users)))
+
(defun erc-format-privmessage (nick msg privp msgp)
"Format a PRIVMSG in an insertable fashion."
(let* ((mark-s (if msgp (if privp "*" "<") "-"))
@@ -5161,6 +5284,12 @@ Set user modes and run `erc-after-connect' hook."
(setq erc-server-connected t)
(setq erc--server-last-reconnect-count erc-server-reconnect-count
erc-server-reconnect-count 0)
+ (setq erc--server-reconnect-display-timer
+ (run-at-time erc-reconnect-display-timeout nil
+ #'erc--server-last-reconnect-display-reset
+ (current-buffer)))
+ (add-hook 'erc-disconnected-hook
+ #'erc--server-last-reconnect-on-disconnect nil t)
(erc-update-mode-line)
(erc-set-initial-user-mode nick buffer)
(erc-server-setup-periodical-ping buffer)
@@ -5994,17 +6123,37 @@ If that function has never been called, the value is 0.")
"Minimum time, in seconds, before sending new lines via IRC.
If the value is a number, `erc-send-current-line' signals an error
if its previous invocation was fewer than this many seconds ago.
-This is useful so that if you accidentally enter large amounts of text
-into the ERC buffer, that text is not sent to the IRC server.
-
If the value is nil, `erc-send-current-line' always considers any
-submitted line to be intentional."
+submitted line to be intentional.
+
+This option mainly prevents text accidentally entered into Emacs
+from being sent to the server. Offending sources include
+terminal multiplexers, desktop-automation scripts, and anything
+capable of rapidly submitting successive lines of prompt input.
+For example, entering \"one\\ntwo\\nthree\\n\" will send \"one\"
+to the server, leave \"two\" at the prompt, and insert \"three\"
+into an \"overflow\" buffer. See `erc-inhibit-multiline-input'
+and `erc-warn-about-blank-lines' for suppression involving input
+yanked from the clipboard or the kill ring, which is a related
+but separate concern.
+
+Users of terminal multiplexers, in particular, should look into
+support for \"bracketed pasting\", provided on the Emacs side by
+libraries like `xterm' (and usually enabled by default). When
+everything's working smoothly, Emacs transparently arranges for
+pasted text to appear on the kill ring, regardless of any
+read-only warnings you may encounter. And when point is in the
+prompt area, ERC automatically yanks that text for previewing but
+holds off on submitting it, for obvious reasons."
:group 'erc
:version "26.1"
:type '(choice number (other :tag "disabled" nil)))
(defvar erc--input-line-delim-regexp (rx (| (: (? ?\r) ?\n) ?\r)))
+(defvar erc-command-regexp "^/\\([A-Za-z']+\\)\\(\\s-+.*\\|\\s-*\\)$"
+ "Regular expression used for matching commands in ERC.")
+
(defun erc--blank-in-multiline-input-p (lines)
"Detect whether LINES contains a blank line.
When `erc-send-whitespace-lines' is in effect, return nil if
@@ -6022,16 +6171,18 @@ is empty or consists of one or more spaces, tabs, or form-feeds."
(defun erc--check-prompt-input-for-excess-lines (_ lines)
"Return non-nil when trying to send too many LINES."
(when erc-inhibit-multiline-input
- ;; Assume `erc--discard-trailing-multiline-nulls' is set to run
- (let ((reversed (seq-drop-while #'string-empty-p (reverse lines)))
- (max (if (eq erc-inhibit-multiline-input t)
+ (let ((max (if (eq erc-inhibit-multiline-input t)
2
erc-inhibit-multiline-input))
(seen 0)
- msg)
- (while (and (pop reversed) (< (cl-incf seen) max)))
+ last msg)
+ (while (and lines (setq last (pop lines)) (< (cl-incf seen) max)))
(when (= seen max)
- (setq msg (format "(exceeded by %d)" (1+ (length reversed))))
+ (push last lines)
+ (setq msg
+ (format "-- exceeded by %d (%d chars)"
+ (length lines)
+ (apply #'+ (mapcar #'length lines))))
(unless (and erc-ask-about-multiline-input
(y-or-n-p (concat "Send input " msg "?")))
(concat "Too many lines " msg))))))
@@ -6054,16 +6205,34 @@ is empty or consists of one or more spaces, tabs, or form-feeds."
(erc-command-no-process-p string))
"ERC: No process running"))
+(defun erc--check-prompt-input-for-multiline-command (line lines)
+ "Return non-nil when non-blank lines follow a command line."
+ (when (and (cdr lines)
+ (string-match erc-command-regexp line)
+ (seq-drop-while #'string-empty-p (reverse (cdr lines))))
+ "Excess input after command line"))
+
(defvar erc--check-prompt-input-functions
'(erc--check-prompt-input-for-point-in-bounds
erc--check-prompt-input-for-multiline-blanks
erc--check-prompt-input-for-running-process
- erc--check-prompt-input-for-excess-lines)
+ erc--check-prompt-input-for-excess-lines
+ erc--check-prompt-input-for-multiline-command)
"Validators for user input typed at prompt.
Called with latest input string submitted by user and the list of
lines produced by splitting it. If any member function returns
non-nil, processing is abandoned and input is left untouched.
-When the returned value is a string, pass it to `erc-error'.")
+When the returned value is a string, ERC passes it to `erc-error'.")
+
+(defun erc--run-input-validation-checks (state)
+ "Run input checkers from STATE, an `erc--input-split' object."
+ (when-let ((msg (run-hook-with-args-until-success
+ 'erc--check-prompt-input-functions
+ (erc--input-split-string state)
+ (erc--input-split-lines state))))
+ (unless (stringp msg)
+ (setq msg (format "Input error: %S" msg)))
+ (user-error msg)))
(defun erc-send-current-line ()
"Parse current line and send it to IRC."
@@ -6078,12 +6247,15 @@ When the returned value is a string, pass it to `erc-error'.")
(eolp))
(expand-abbrev))
(widen)
- (if-let* ((str (erc-user-input))
- (msg (run-hook-with-args-until-success
- 'erc--check-prompt-input-functions str
- (split-string str erc--input-line-delim-regexp))))
- (when (stringp msg)
- (erc-error msg))
+ (let* ((str (erc-user-input))
+ (state (make-erc--input-split
+ :string str
+ :insertp erc-insert-this
+ :sendp erc-send-this
+ :lines (split-string
+ str erc--input-line-delim-regexp)
+ :cmdp (string-match erc-command-regexp str))))
+ (run-hook-with-args 'erc--input-review-functions state)
(let ((inhibit-read-only t)
(old-buf (current-buffer)))
(progn ; unprogn this during next major surgery
@@ -6091,7 +6263,7 @@ When the returned value is a string, pass it to `erc-error'.")
;; Kill the input and the prompt
(delete-region erc-input-marker (erc-end-of-input-line))
(unwind-protect
- (erc-send-input str 'skip-ws-chk)
+ (erc--send-input-lines (erc--run-send-hooks state))
;; Fix the buffer if the command didn't kill it
(when (buffer-live-p old-buf)
(with-current-buffer old-buf
@@ -6113,19 +6285,69 @@ When the returned value is a string, pass it to `erc-error'.")
erc-input-marker
(erc-end-of-input-line)))
-(defvar erc-command-regexp "^/\\([A-Za-z']+\\)\\(\\s-+.*\\|\\s-*\\)$"
- "Regular expression used for matching commands in ERC.")
-
(defun erc--discard-trailing-multiline-nulls (state)
"Ensure last line of STATE's string is non-null.
But only when `erc-send-whitespace-lines' is non-nil. STATE is
an `erc--input-split' object."
(when (and erc-send-whitespace-lines (erc--input-split-lines state))
(let ((reversed (nreverse (erc--input-split-lines state))))
- (when (string-empty-p (car reversed))
- (pop reversed)
- (setf (erc--input-split-cmdp state) nil))
- (nreverse (seq-drop-while #'string-empty-p reversed)))))
+ (while (and reversed (string-empty-p (car reversed)))
+ (setq reversed (cdr reversed)))
+ (setf (erc--input-split-lines state) (nreverse reversed)))))
+
+(defun erc--split-lines (state)
+ "Partition non-command input into lines of protocol-compliant length."
+ ;; Prior to ERC 5.6, line splitting used to be predicated on
+ ;; `erc-flood-protect' being non-nil.
+ (unless (erc--input-split-cmdp state)
+ (setf (erc--input-split-lines state)
+ (mapcan #'erc--split-line (erc--input-split-lines state)))))
+
+(defun erc--run-send-hooks (lines-obj)
+ "Run send-related hooks that operate on the entire prompt input.
+Sequester some of the back and forth involved in honoring old
+interfaces, such as the reconstituting and re-splitting of
+multiline input. Optionally readjust lines to protocol length
+limits and pad empty ones, knowing full well that additional
+processing may still corrupt messages before they reach the send
+queue. Expect LINES-OBJ to be an `erc--input-split' object."
+ (when (or erc-send-pre-hook erc-pre-send-functions)
+ (with-suppressed-warnings ((lexical str) (obsolete erc-send-this))
+ (defvar str) ; see note in string `erc-send-input'.
+ (let* ((str (string-join (erc--input-split-lines lines-obj) "\n"))
+ (erc-send-this (erc--input-split-sendp lines-obj))
+ (erc-insert-this (erc--input-split-insertp lines-obj))
+ (state (progn
+ ;; This may change `str' and `erc-*-this'.
+ (run-hook-with-args 'erc-send-pre-hook str)
+ (make-erc-input :string str
+ :insertp erc-insert-this
+ :sendp erc-send-this))))
+ (run-hook-with-args 'erc-pre-send-functions state)
+ (setf (erc--input-split-sendp lines-obj) (erc-input-sendp state)
+ (erc--input-split-insertp lines-obj) (erc-input-insertp state)
+ ;; See note in test of same name re trailing newlines.
+ (erc--input-split-lines lines-obj)
+ (cl-nsubst " " "" (split-string (erc-input-string state)
+ erc--input-line-delim-regexp)
+ :test #'equal))
+ (when (erc-input-refoldp state)
+ (erc--split-lines lines-obj)))))
+ (when (and (erc--input-split-cmdp lines-obj)
+ (cdr (erc--input-split-lines lines-obj)))
+ (user-error "Multiline command detected" ))
+ lines-obj)
+
+(defun erc--send-input-lines (lines-obj)
+ "Send lines in `erc--input-split-lines' object LINES-OBJ."
+ (when (erc--input-split-sendp lines-obj)
+ (dolist (line (erc--input-split-lines lines-obj))
+ (unless (erc--input-split-cmdp lines-obj)
+ (when (erc--input-split-insertp lines-obj)
+ (erc-display-msg line)))
+ (erc-process-input-line (concat line "\n")
+ (null erc-flood-protect)
+ (not (erc--input-split-cmdp lines-obj))))))
(defun erc-send-input (input &optional skip-ws-chk)
"Treat INPUT as typed in by the user.
@@ -6157,23 +6379,22 @@ Return non-nil only if we actually send anything."
:insertp erc-insert-this
:sendp erc-send-this))
(run-hook-with-args 'erc-pre-send-functions state)
- (setq state (make-erc--input-split
- :string (erc-input-string state)
- :insertp (erc-input-insertp state)
- :sendp (erc-input-sendp state)
- :lines (split-string (erc-input-string state)
- erc--input-line-delim-regexp)
- :cmdp (string-match erc-command-regexp
- (erc-input-string state))))
- (run-hook-with-args 'erc--pre-send-split-functions state)
(when (and (erc-input-sendp state)
erc-send-this)
- (let ((lines (erc--input-split-lines state)))
- (if (and (erc--input-split-cmdp state) (not (cdr lines)))
- (erc-process-input-line (concat (car lines) "\n") t nil)
+ (if-let* ((first (split-string (erc-input-string state)
+ erc--input-line-delim-regexp))
+ (split (mapcan #'erc--split-line first))
+ (lines (nreverse (seq-drop-while #'string-empty-p
+ (nreverse split))))
+ ((string-match erc-command-regexp (car lines))))
+ (progn
+ ;; Asking users what to do here might make more sense.
+ (cl-assert (not (cdr lines)))
+ ;; The `force' arg (here t) is ignored for command lines.
+ (erc-process-input-line (concat (car lines) "\n") t nil))
+ (progn ; temporarily preserve indentation
(dolist (line lines)
- (dolist (line (or (and erc-flood-protect (erc-split-line line))
- (list line)))
+ (progn ; temporarily preserve indentation
(when (erc-input-insertp state)
(erc-display-msg line))
(erc-process-input-line (concat line "\n")
@@ -6185,19 +6406,19 @@ Return non-nil only if we actually send anything."
(when erc-insert-this
(save-excursion
(erc--assert-input-bounds)
- (let ((insert-position (marker-position erc-insert-marker))
+ (let ((insert-position (marker-position (goto-char erc-insert-marker)))
beg)
- (goto-char insert-position)
- (insert-before-markers (erc-format-my-nick))
+ (insert (erc-format-my-nick))
(setq beg (point))
- (insert-before-markers line)
+ (insert line)
(erc-put-text-property beg (point) 'font-lock-face 'erc-input-face)
- (insert-before-markers "\n")
+ (erc-put-text-property insert-position (point) 'erc-command 'PRIVMSG)
+ (insert "\n")
(save-restriction
(narrow-to-region insert-position (point))
(run-hooks 'erc-send-modify-hook)
(run-hooks 'erc-send-post-hook))
- (erc--assert-input-bounds)))))
+ (erc--refresh-prompt)))))
(defun erc-command-symbol (command)
"Return the ERC command symbol for COMMAND if it exists and is bound."
@@ -7155,6 +7376,54 @@ If BUFFER is nil, update the mode line in all ERC buffers."
(goto-char (point-min))
(insert "X-Debbugs-CC: emacs-erc@gnu.org\n")))
+(defconst erc--news-url
+ "https://git.savannah.gnu.org/cgit/emacs.git/plain/etc/ERC-NEWS")
+
+(defvar erc--news-temp-file nil)
+
+(defun erc-news (arg)
+ "Show ERC news in a manner similar to `view-emacs-news'.
+With ARG, download and display the latest revision, which may
+contain more up-to-date information, even for older versions."
+ (interactive "P")
+ (find-file
+ (or (and erc--news-temp-file
+ (time-less-p (current-time) (car erc--news-temp-file))
+ (not (and arg (y-or-n-p (format "Re-fetch? "))))
+ (cdr erc--news-temp-file))
+ (and arg
+ (with-current-buffer (url-retrieve-synchronously erc--news-url)
+ (goto-char (point-min))
+ (search-forward "200 OK" (pos-eol))
+ (search-forward "\n\n")
+ (delete-region (point-min) (point))
+ ;; May warn about file having changed on disk (unless
+ ;; `query-about-changed-file' is nil on 28+).
+ (let ((tempfile (or (cdr erc--news-temp-file)
+ (make-temp-file "erc-news."))))
+ (write-region (point-min) (point-max) tempfile)
+ (kill-buffer)
+ (cdr (setq erc--news-temp-file
+ (cons (time-add (current-time) (* 60 60 12))
+ tempfile))))))
+ (and-let* ((file (or (eval-when-compile (macroexp-file-name))
+ (locate-library "erc")))
+ (dir (file-name-directory file))
+ (adjacent (expand-file-name "ERC-NEWS" dir))
+ ((file-exists-p adjacent)))
+ adjacent)
+ (expand-file-name "ERC-NEWS" data-directory)))
+ (when (fboundp 'emacs-news-view-mode)
+ (emacs-news-view-mode))
+ (goto-char (point-min))
+ (let ((v (mapcar #'number-to-string
+ (seq-take-while #'natnump (version-to-list erc-version)))))
+ (while (and v (not (search-forward (concat "\014\n* Changes in ERC "
+ (string-join v "."))
+ nil t)))
+ (setq v (butlast v))))
+ (beginning-of-line))
+
(defun erc-port-to-string (p)
"Convert port P to a string.
P may be an integer or a service name."
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index 9402df43065..d00f8c93cd1 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -79,7 +79,7 @@ by zsh for filename generation."
:type 'boolean
:group 'eshell-glob)
-(defcustom eshell-glob-case-insensitive (eshell-under-windows-p)
+(defcustom eshell-glob-case-insensitive (not (not (eshell-under-windows-p)))
"If non-nil, glob pattern matching will ignore case."
:type 'boolean
:group 'eshell-glob)
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index 56c5f262789..9b53bf29559 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -199,9 +199,9 @@ calling FUNC with FILE as an argument."
`(let ((owner (file-attribute-user-id ,attrs))
(modes (file-attribute-modes ,attrs)))
(cond ((cond ((numberp owner)
- (= owner (user-uid)))
+ (= owner (file-user-uid)))
((stringp owner)
- (or (string-equal owner (user-login-name))
+ (or (string-equal owner (eshell-user-login-name))
(member owner (eshell-current-ange-uids)))))
;; The user owns this file.
(not (eq (aref modes ,index) ?-)))
@@ -919,7 +919,7 @@ to use, and each member of which is the width of that column
((not (eshell-ls-filetype-p (cdr file) ?-))
'eshell-ls-special)
- ((and (/= (user-uid) 0) ; root can execute anything
+ ((and (/= (file-user-uid) 0) ; root can execute anything
(eshell-ls-applicable (cdr file) 3
'file-executable-p (car file)))
'eshell-ls-executable)
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index 2ccca092b86..bfb0dad60ef 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -87,11 +87,11 @@ ordinary strings."
(?U . (lambda (file) ; owned by effective uid
(if (file-exists-p file)
(= (file-attribute-user-id (file-attributes file))
- (user-uid)))))
+ (file-user-uid)))))
(?G . (lambda (file) ; owned by effective gid
(if (file-exists-p file)
(= (file-attribute-group-id (file-attributes file))
- (group-gid)))))
+ (file-group-gid)))))
(?* . (lambda (file)
(and (file-regular-p file)
(not (file-symlink-p file))
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el
index 9f9e58e83d7..42f8f273b52 100644
--- a/lisp/eshell/em-prompt.el
+++ b/lisp/eshell/em-prompt.el
@@ -180,7 +180,8 @@ negative, find the Nth next match."
(text-property-search-forward 'field 'prompt t))
(setq n (1- n)))
(let (match this-match)
- (forward-line 0) ; Don't count prompt on current line.
+ ;; Don't count the current prompt.
+ (text-property-search-backward 'field 'prompt t)
(while (and (< n 0)
(setq this-match (text-property-search-backward
'field 'prompt t)))
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el
index 75a2848a9d5..e4579497edc 100644
--- a/lisp/eshell/em-rebind.el
+++ b/lisp/eshell/em-rebind.el
@@ -29,14 +29,17 @@
(progn
(defgroup eshell-rebind nil
"This module allows for special keybindings that only take effect
-while the point is in a region of input text. By default, it binds
-C-a to move to the beginning of the input text (rather than just the
-beginning of the line), and C-p and C-n to move through the input
-history, C-u kills the current input text, etc. It also, if
-`eshell-confine-point-to-input' is non-nil, does not allow certain
-commands to cause the point to leave the input area, such as
-`backward-word', `previous-line', etc. This module intends to mimic
-the behavior of normal shells while the user editing new input text."
+while the point is in a region of input text. The default
+keybindings mimic the bindings used in other shells when the user
+is editing new input text.
+
+For example, it binds C-u to kill the current input text and C-w
+to `backward-kill-word'. If the history module is enabled, it
+also binds C-p and C-n to move through the input history, etc.
+
+If `eshell-confine-point-to-input' is non-nil, this module prevents
+certain commands from causing the point to leave the input area, such
+as `backward-word', `previous-line', etc."
:tag "Rebind keys at input"
:group 'eshell-module))
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index a792493e071..b7ef0f0c40c 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -91,14 +91,29 @@ Otherwise, `rmdir' is required."
:type 'boolean
:group 'eshell-unix)
-(defcustom eshell-rm-interactive-query (= (user-uid) 0)
- "If non-nil, `rm' will query before removing anything."
- :type 'boolean
+(define-widget 'eshell-interactive-query 'radio
+ "When to interatively query the user about a particular operation.
+If t, always query. If nil, never query. If `root', query when
+the user is logged in as root (including when `default-directory'
+is remote with a root user)."
+ :args '((const :tag "Never" nil)
+ (const :tag "Always" t)
+ (const :tag "When root" root)))
+
+(defcustom eshell-rm-interactive-query 'root
+ "When `rm' should query before removing anything.
+If t, always query. If nil, never query. If `root', query when
+the user is logged in as root (including when `default-directory'
+is remote with a root user)."
+ :type 'eshell-interactive-query
:group 'eshell-unix)
-(defcustom eshell-mv-interactive-query (= (user-uid) 0)
- "If non-nil, `mv' will query before overwriting anything."
- :type 'boolean
+(defcustom eshell-mv-interactive-query 'root
+ "When `mv' should query before overwriting anything.
+If t, always query. If nil, never query. If `root', query when
+the user is logged in as root (including when `default-directory'
+is remote with a root user)."
+ :type 'eshell-interactive-query
:group 'eshell-unix)
(defcustom eshell-mv-overwrite-files t
@@ -106,9 +121,12 @@ Otherwise, `rmdir' is required."
:type 'boolean
:group 'eshell-unix)
-(defcustom eshell-cp-interactive-query (= (user-uid) 0)
- "If non-nil, `cp' will query before overwriting anything."
- :type 'boolean
+(defcustom eshell-cp-interactive-query 'root
+ "When `cp' should query before overwriting anything.
+If t, always query. If nil, never query. If `root', query when
+the user is logged in as root (including when `default-directory'
+is remote with a root user)."
+ :type 'eshell-interactive-query
:group 'eshell-unix)
(defcustom eshell-cp-overwrite-files t
@@ -116,9 +134,12 @@ Otherwise, `rmdir' is required."
:type 'boolean
:group 'eshell-unix)
-(defcustom eshell-ln-interactive-query (= (user-uid) 0)
- "If non-nil, `ln' will query before overwriting anything."
- :type 'boolean
+(defcustom eshell-ln-interactive-query 'root
+ "When `ln' should query before overwriting anything.
+If t, always query. If nil, never query. If `root', query when
+the user is logged in as root (including when `default-directory'
+is remote with a root user)."
+ :type 'eshell-interactive-query
:group 'eshell-unix)
(defcustom eshell-ln-overwrite-files nil
@@ -159,6 +180,17 @@ Otherwise, Emacs will attempt to use rsh to invoke du on the remote machine."
(defvar em-recursive)
(defvar em-verbose)
+(defun eshell-interactive-query-p (value)
+ "Return non-nil if a command should query the user according to VALUE.
+If VALUE is nil, return nil (never query). If `root', return
+non-nil if the user is logged in as root (including when
+`default-directory' is remote with a root user; see
+`file-user-uid'). If VALUE is any other non-nil value, return
+non-nil (always query)."
+ (if (eq value 'root)
+ (= (file-user-uid) 0)
+ value))
+
(defun eshell/man (&rest args)
"Invoke man, flattening the arguments appropriately."
(funcall 'man (apply 'eshell-flatten-and-stringify args)))
@@ -249,7 +281,8 @@ argument."
:usage "[OPTION]... FILE...
Remove (unlink) the FILE(s).")
(unless em-interactive
- (setq em-interactive eshell-rm-interactive-query))
+ (setq em-interactive (eshell-interactive-query-p
+ eshell-rm-interactive-query)))
(if (and force-removal em-interactive)
(setq em-interactive nil))
(while args
@@ -523,7 +556,8 @@ Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
[OPTION] DIRECTORY...")
(let ((no-dereference t))
(eshell-mvcpln-template "mv" "moving" 'rename-file
- eshell-mv-interactive-query
+ (eshell-interactive-query-p
+ eshell-mv-interactive-query)
eshell-mv-overwrite-files))))
(put 'eshell/mv 'eshell-no-numeric-conversions t)
@@ -561,7 +595,8 @@ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.")
(if archive
(setq preserve t no-dereference t em-recursive t))
(eshell-mvcpln-template "cp" "copying" 'copy-file
- eshell-cp-interactive-query
+ (eshell-interactive-query-p
+ eshell-cp-interactive-query)
eshell-cp-overwrite-files preserve)))
(put 'eshell/cp 'eshell-no-numeric-conversions t)
@@ -594,7 +629,8 @@ with `--symbolic'. When creating hard links, each TARGET must exist.")
(if symbolic
'make-symbolic-link
'add-name-to-file)
- eshell-ln-interactive-query
+ (eshell-interactive-query-p
+ eshell-ln-interactive-query)
eshell-ln-overwrite-files))))
(put 'eshell/ln 'eshell-no-numeric-conversions t)
@@ -960,7 +996,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
(defun eshell/whoami (&rest _args)
"Make \"whoami\" Tramp aware."
- (or (file-remote-p default-directory 'user) (user-login-name)))
+ (eshell-user-login-name))
(defvar eshell-diff-window-config nil)
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index c0685757789..3608c78ba2b 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -502,6 +502,11 @@ list."
(sit-for 0)
(error nil)))
+(defun eshell-user-login-name ()
+ "Return the connection-aware value of the user's login name.
+See also `user-login-name'."
+ (or (file-remote-p default-directory 'user) (user-login-name)))
+
(defun eshell-read-passwd-file (file)
"Return an alist correlating gids to group names in FILE."
(let (names)
diff --git a/lisp/faces.el b/lisp/faces.el
index 8bf7e4429d9..44d64c743ba 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -794,19 +794,25 @@ around them. If VALUE is nil, explicitly don't draw boxes. If
VALUE is t, draw a box with lines of width 1 in the foreground color
of the face. If VALUE is a string, the string must be a color name,
and the box is drawn in that color with a line width of 1. Otherwise,
-VALUE must be a property list of the form `(:line-width WIDTH
-:color COLOR :style STYLE)'. If a keyword/value pair is missing from
-the property list, a default value will be used for the value, as
-specified below. WIDTH specifies the width of the lines to draw; it
-defaults to 1. If WIDTH is negative, the absolute value is the width
-of the lines, and draw top/bottom lines inside the characters area,
-not around it. COLOR is the name of the color to draw in, default is
-the background color of the face for 3D boxes and `flat-button', and
-the foreground color of the face for other boxes. STYLE specifies
-whether a 3D box should be draw. If STYLE is `released-button', draw
-a box looking like a released 3D button. If STYLE is `pressed-button'
-draw a box that appears like a pressed button. If STYLE is nil,
-`flat-button' or omitted, draw a 2D box.
+VALUE must be a property list of the following form:
+
+ (:line-width WIDTH :color COLOR :style STYLE)
+
+If a keyword/value pair is missing from the property list, a default
+value will be used for the value, as specified below.
+
+WIDTH specifies the width of the lines to draw; it defaults to 1.
+If WIDTH is negative, the absolute value is the width of the lines,
+and draw top/bottom lines inside the characters area, not around it.
+WIDTH can also be a cons (VWIDTH . HWIDTH), which specifies different
+values for the vertical and the horizontal line width.
+COLOR is the name of the color to use for the box lines, default is
+the background color of the face for 3D and `flat-button' boxes, and
+the foreground color of the face for the other boxes.
+STYLE specifies whether a 3D box should be drawn. If STYLE
+is `released-button', draw a box looking like a released 3D button.
+If STYLE is `pressed-button', draw a box that looks like a pressed
+button. If STYLE is nil, `flat-button', or omitted, draw a 2D box.
`:inverse-video'
@@ -2696,7 +2702,7 @@ non-nil."
:version "22.1")
(defface mode-line
- '((((class color) (min-colors 88))
+ '((((class color grayscale) (min-colors 88))
:box (:line-width -1 :style released-button)
:background "grey75" :foreground "black")
(t
@@ -2719,11 +2725,11 @@ This inherits from the `mode-line' face."
(defface mode-line-inactive
'((default
:inherit mode-line)
- (((class color) (min-colors 88) (background light))
+ (((class color grayscale) (min-colors 88) (background light))
:weight light
:box (:line-width -1 :color "grey75" :style nil)
:foreground "grey20" :background "grey90")
- (((class color) (min-colors 88) (background dark) )
+ (((class color grayscale) (min-colors 88) (background dark) )
:weight light
:box (:line-width -1 :color "grey40" :style nil)
:foreground "grey80" :background "grey30"))
@@ -2733,7 +2739,7 @@ This inherits from the `mode-line' face."
:group 'basic-faces)
(defface mode-line-highlight
- '((((supports :box t) (class color) (min-colors 88))
+ '((((supports :box t) (class color grayscale) (min-colors 88))
:box (:line-width 2 :color "grey40" :style released-button))
(t
:inherit highlight))
diff --git a/lisp/filecache.el b/lisp/filecache.el
index c211a02b2d2..42225509eca 100644
--- a/lisp/filecache.el
+++ b/lisp/filecache.el
@@ -213,7 +213,7 @@ Defaults to the value of `case-fold-search'."
:type 'boolean)
(defcustom file-cache-ignore-case
- (memq system-type '(ms-dos windows-nt cygwin))
+ (not (not (memq system-type '(ms-dos windows-nt cygwin))))
"Non-nil means ignore case when checking completions in the file cache.
Defaults to nil on DOS and Windows, and t on other systems."
:type 'boolean)
diff --git a/lisp/files-x.el b/lisp/files-x.el
index 548d9efc193..9b1a7a17902 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -674,15 +674,21 @@ variables for a connection profile are defined using
(dolist (profile profiles)
(unless (assq profile connection-local-profile-alist)
(error "No such connection profile `%s'" (symbol-name profile))))
- (let* ((criteria (connection-local-normalize-criteria criteria))
+ ;; Avoid saving the changed user option to file unless triggered
+ ;; explicitly by user. This workaround can be removed once there is
+ ;; a solution for bug#63891.
+ (let* ((saved-value (get 'connection-local-criteria-alist 'saved-value))
+ (criteria (connection-local-normalize-criteria criteria))
(slot (assoc criteria connection-local-criteria-alist)))
(if slot
(setcdr slot (delete-dups (append (cdr slot) profiles)))
(setq connection-local-criteria-alist
(cons (cons criteria (delete-dups profiles))
- connection-local-criteria-alist))))
- (custom-set-variables
- `(connection-local-criteria-alist ',connection-local-criteria-alist now)))
+ connection-local-criteria-alist)))
+ (custom-set-variables
+ `(connection-local-criteria-alist ',connection-local-criteria-alist now))
+ (unless saved-value
+ (put 'connection-local-criteria-alist 'saved-value nil))))
(defsubst connection-local-get-profile-variables (profile)
"Return the connection-local variable list for PROFILE."
@@ -701,9 +707,15 @@ connection profile using `connection-local-set-profiles'. Then
variables are set in the server's process buffer according to the
VARIABLES list of the connection profile. The list is processed
in order."
- (setf (alist-get profile connection-local-profile-alist) variables)
- (custom-set-variables
- `(connection-local-profile-alist ',connection-local-profile-alist now)))
+ ;; Avoid saving the changed user option to file unless triggered
+ ;; explicitly by user. This workaround can be removed once there is
+ ;; a solution for bug#63891.
+ (let ((saved-value (get 'connection-local-profile-alist 'saved-value)))
+ (setf (alist-get profile connection-local-profile-alist) variables)
+ (custom-set-variables
+ `(connection-local-profile-alist ',connection-local-profile-alist now))
+ (unless saved-value
+ (put 'connection-local-profile-alist 'saved-value nil))))
;;;###autoload
(defun connection-local-update-profile-variables (profile variables)
diff --git a/lisp/files.el b/lisp/files.el
index c6f53e5eaf8..148f47cbc97 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -681,7 +681,8 @@ The command \\[normal-mode], when used interactively,
always obeys file local variable specifications and the -*- line,
and ignores this variable.
-Also see the `permanently-enabled-local-variables' variable."
+Also see the `permanently-enabled-local-variables' and
+`safe-local-variable-directories' variables."
:risky t
:type '(choice (const :tag "Query Unsafe" t)
(const :tag "Safe Only" :safe)
@@ -3696,6 +3697,18 @@ variable to set.")
"A list of file-local variables that are always enabled.
This overrides any `enable-local-variables' setting.")
+(defcustom safe-local-variable-directories '()
+ "A list of directories where local variables are always enabled.
+Directory-local variables loaded from these directories, such as the
+variables in .dir-locals.el, will be enabled even if they are risky.
+The names of the directories in the list must be absolute, and must
+end in a slash. Remote directories can be included if the
+variable `enable-remote-dir-locals' is non-nil."
+ :version "30.1"
+ :type '(repeat string)
+ :risky t
+ :group 'find-file)
+
(defun hack-local-variables-confirm (all-vars unsafe-vars risky-vars dir-name)
"Get confirmation before setting up local variable values.
ALL-VARS is the list of all variables to be set up.
@@ -3734,7 +3747,11 @@ n -- to ignore the local variables list.")
! -- to apply the local variables list, and permanently mark these
values (*) as safe (in the future, they will be set automatically.)
i -- to ignore the local variables list, and permanently mark these
- values (*) as ignored\n\n")
+ values (*) as ignored"
+ (if dir-name "
++ -- to apply the local variables list, and trust all directory-local
+ variables in this directory\n\n"
+ "\n\n"))
(insert "\n\n"))
(dolist (elt all-vars)
(cond ((member elt unsafe-vars)
@@ -3758,7 +3775,11 @@ i -- to ignore the local variables list, and permanently mark these
(pop-to-buffer buf '(display-buffer--maybe-at-bottom))
(let* ((exit-chars '(?y ?n ?\s))
(prompt (format "Please type %s%s: "
- (if offer-save "y, n, ! or i" "y or n")
+ (if offer-save
+ (if dir-name
+ "y, n, !, i, +"
+ "y, n, !, i")
+ "y or n")
(if (< (line-number-at-pos (point-max))
(window-body-height))
""
@@ -3766,8 +3787,13 @@ i -- to ignore the local variables list, and permanently mark these
char)
(when offer-save
(push ?i exit-chars)
- (push ?! exit-chars))
+ (push ?! exit-chars)
+ (when dir-name
+ (push ?+ exit-chars)))
(setq char (read-char-choice prompt exit-chars))
+ (when (and offer-save dir-name (= char ?+))
+ (customize-push-and-save 'safe-local-variable-directories
+ (list dir-name)))
(when (and offer-save
(or (= char ?!) (= char ?i))
unsafe-vars)
@@ -3776,7 +3802,7 @@ i -- to ignore the local variables list, and permanently mark these
'safe-local-variable-values
'ignored-local-variable-values)
unsafe-vars))
- (prog1 (memq char '(?! ?\s ?y))
+ (prog1 (memq char '(?! ?\s ?y ?+))
(quit-window t)))))))
(defconst hack-local-variable-regexp
@@ -3908,6 +3934,10 @@ DIR-NAME is the name of the associated directory. Otherwise it is nil."
(null unsafe-vars)
(null risky-vars))
(memq enable-local-variables '(:all :safe))
+ (delq nil (mapcar (lambda (dir)
+ (and dir-name dir
+ (file-equal-p dir dir-name)))
+ safe-local-variable-directories))
(hack-local-variables-confirm all-vars unsafe-vars
risky-vars dir-name))
(dolist (elt all-vars)
diff --git a/lisp/filesets.el b/lisp/filesets.el
index 1b7e6ffa81f..81a194a45e6 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -1807,7 +1807,6 @@ If no fileset name is provided, prompt for NAME."
(defun filesets-convert-patterns (name)
"Change fileset NAME's mode from :pattern to :files."
- (interactive)
(let ((entry (assoc name filesets-data)))
(if entry
(let ((pattern (filesets-entry-get-pattern entry))
diff --git a/lisp/foldout.el b/lisp/foldout.el
index 5a3afc9508a..ace242ffbc7 100644
--- a/lisp/foldout.el
+++ b/lisp/foldout.el
@@ -229,7 +229,7 @@ An end marker of nil means the fold ends after (point-max).")
(error "Can't find outline-minor-mode in minor-mode-alist"))
;; slip our fold announcement into the list
- (setcdr outl-entry (nconc foldout-entry (cdr outl-entry)))))
+ (setcdr outl-entry (append foldout-entry (cdr outl-entry)))))
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 6a7a3f41746..6f201f9c3df 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -8331,11 +8331,10 @@ url is put as the `gnus-button-url' overlay property on the button."
(when (looking-at "\\([A-Za-z]+\\):")
(setq scheme (match-string 1))
(goto-char (match-end 0)))
- (when (looking-at "//\\([^:/]+\\)\\(:?\\)\\([0-9]+\\)?/")
+ (when (looking-at "//\\([^:/]+\\):?\\([0-9]+\\)?/")
(setq server (match-string 1))
- (setq port (if (stringp (match-string 3))
- (string-to-number (match-string 3))
- (match-string 3)))
+ (setq port (and (match-beginning 2)
+ (string-to-number (match-string 2))))
(goto-char (match-end 0)))
(cond
diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el
index adbc39547ff..b0efe689636 100644
--- a/lisp/gnus/gnus-icalendar.el
+++ b/lisp/gnus/gnus-icalendar.el
@@ -642,16 +642,16 @@ is searched."
(delete-region (point) entry-end))
;; put new event description in the entry body
- (when description
- (save-restriction
- (narrow-to-region (point) (point))
- (insert "\n"
- (gnus-icalendar-event:org-timestamp event)
- "\n\n"
- (replace-regexp-in-string "[\n]+$" "\n" description)
- "\n")
- (indent-region (point-min) (point-max) (1+ entry-outline-level))
- (fill-region (point-min) (point-max))))
+ (save-restriction
+ (narrow-to-region (point) (point))
+ (insert "\n"
+ (gnus-icalendar-event:org-timestamp event)
+ "\n\n"
+ (replace-regexp-in-string "[\n]+$" "\n"
+ (or description "No description"))
+ "\n")
+ (indent-region (point-min) (point-max) (1+ entry-outline-level))
+ (fill-region (point-min) (point-max)))
;; update entry properties
(cl-labels
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 12d9dacf132..98a7e23428b 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -2183,7 +2183,8 @@ checked for articles; if t all groups on the server containing
the article's group will be searched; if a list then all servers
in this list will be searched. If possible the newly found
articles are added to the summary buffer; otherwise the full
-thread is displayed in a new ephemeral nnselect buffer."
+thread along with the original articles are displayed in a new
+ephemeral nnselect buffer."
(let* ((group (or group gnus-newsgroup-name))
(server (or server (gnus-group-server group)))
(query
@@ -2207,22 +2208,48 @@ thread is displayed in a new ephemeral nnselect buffer."
(cons 'search-group-spec
(list (list server group))))))
#'<) nil t)
- ;; Otherwise create an ephemeral search group. If we return to
- ;; the current summary buffer after exiting the thread we would
- ;; end up overwriting any changes we made, so we exit the
- ;; current summary buffer first.
- (gnus-summary-exit)
- (gnus-group-read-ephemeral-search-group
- nil
- (list (cons 'search-query-spec query)
- (cons 'search-group-spec
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
- (list (list server))))))
- (if (gnus-id-to-article (mail-header-id header))
- (gnus-summary-goto-subject
- (gnus-id-to-article (mail-header-id header)))
- (message "Thread search failed")))))
+ ;; Otherwise create an ephemeral search group: record the
+ ;; current summary contents; exit the current group (so that
+ ;; changes are saved); then create a new ephemeral group with
+ ;; the original articles plus those of the thread.
+ (let ((selection (seq-map (lambda (x) (vector group x 100))
+ gnus-newsgroup-articles))
+ (thread (gnus-search-run-query
+ (list (cons 'search-query-spec query)
+ (cons 'search-group-spec
+ (if (listp gnus-refer-thread-use-search)
+ gnus-refer-thread-use-search
+ (list (list server))))))))
+ (if (< (nnselect-artlist-length thread) 2)
+ (message "No other articles in thread")
+ (setq selection
+ (seq-into
+ (seq-union selection thread
+ (lambda (x y)
+ (and (equal (nnselect-artitem-group x)
+ (nnselect-artitem-group y))
+ (eql (nnselect-artitem-number x)
+ (nnselect-artitem-number y)))))
+ 'vector))
+ (gnus-summary-exit)
+ (gnus-group-read-ephemeral-group
+ (concat "nnselect-" (message-unique-id))
+ (list 'nnselect "nnselect")
+ nil
+ (cons (current-buffer) gnus-current-window-configuration)
+ nil nil
+ (list
+ (cons 'nnselect-specs
+ (list
+ (cons 'nnselect-function 'identity)
+ (cons 'nnselect-args
+ selection)))
+ (cons 'nnselect-artlist nil))
+ (nnselect-artlist-length selection))
+ (if (gnus-id-to-article (mail-header-id header))
+ (gnus-summary-goto-subject
+ (gnus-id-to-article (mail-header-id header)))
+ (message "Thread search failed")))))))
(defun gnus-search-get-active (srv)
(let ((method (gnus-server-to-method srv))
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 35e867a3508..a3be5577f7a 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -9029,7 +9029,6 @@ is non-numeric or nil fetch the number specified by the
(id (mail-header-id header))
(gnus-inhibit-demon t)
(gnus-summary-ignore-duplicates t)
- (gnus-read-all-available-headers t)
(gnus-refer-thread-use-search
(if (or (null limit) (numberp limit))
gnus-refer-thread-use-search
@@ -9049,7 +9048,8 @@ is non-numeric or nil fetch the number specified by the
(gnus-search-thread header))
;; Otherwise just retrieve some headers.
(t
- (let* ((limit (if (numberp limit)
+ (let* ((gnus-read-all-available-headers t)
+ (limit (if (numberp limit)
limit
gnus-refer-thread-limit))
(last (if (numberp limit)
@@ -9081,8 +9081,8 @@ is non-numeric or nil fetch the number specified by the
(cl-merge 'list gnus-newsgroup-headers new-headers
'gnus-article-sort-by-number)))
(setq gnus-newsgroup-articles
- (gnus-sorted-nunion gnus-newsgroup-articles article-ids))
- (gnus-summary-limit-include-thread id gnus-refer-thread-limit-to-thread)))
+ (gnus-sorted-nunion gnus-newsgroup-articles article-ids)))
+ (gnus-summary-limit-include-thread id gnus-refer-thread-limit-to-thread))
(gnus-summary-show-thread))
(defun gnus-summary-open-group-with-article (message-id)
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 8d3fe010af4..45cc21701b3 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4359,8 +4359,10 @@ If COND is a function, METHOD will be inserted if COND returns
a non-nil value when called in the message buffer without any
arguments. If METHOD is nil in this case, the return value of
the function will be inserted instead.
-If the buffer already has a\"X-Message-SMTP-Method\" header,
-it is left unchanged."
+
+Note: if the buffer already has a \"X-Message-SMTP-Method\"
+header, these rules are ignored, and the header is left
+unchanged."
:type '(alist :key-type (choice
(string :tag "From Address")
(function :tag "Predicate"))
@@ -5007,30 +5009,34 @@ Each line should be no more than 79 characters long."
"Send the current buffer to `message-send-mail-function'.
Or, if there's a header that specifies a different method, use
that instead."
- (let ((method (message-field-value "X-Message-SMTP-Method")))
+ (let ((method (message-field-value "X-Message-SMTP-Method"))
+ send-function)
(if (not method)
- (funcall message-send-mail-function)
+ (funcall message-send-mail-function)
(message-remove-header "X-Message-SMTP-Method")
(setq method (split-string method))
+ (setq send-function
+ (symbol-function
+ (intern-soft (format "message-send-mail-with-%s" (car method)))))
(cond
- ((equal (car method) "sendmail")
- (message-send-mail-with-sendmail))
((equal (car method) "smtp")
- (require 'smtpmail)
- (let* ((smtpmail-store-queue-variables t)
+ (require 'smtpmail)
+ (let* ((smtpmail-store-queue-variables t)
(smtpmail-smtp-server (nth 1 method))
- (service (nth 2 method))
- (port (string-to-number service))
- ;; If we're talking to the TLS SMTP port, then force a
- ;; TLS connection.
- (smtpmail-stream-type (if (= port 465)
- 'tls
- smtpmail-stream-type))
- (smtpmail-smtp-service (if (> port 0) port service))
- (smtpmail-smtp-user (or (nth 3 method) smtpmail-smtp-user)))
- (message-smtpmail-send-it)))
+ (service (nth 2 method))
+ (port (string-to-number service))
+ ;; If we're talking to the TLS SMTP port, then force a
+ ;; TLS connection.
+ (smtpmail-stream-type (if (= port 465)
+ 'tls
+ smtpmail-stream-type))
+ (smtpmail-smtp-service (if (> port 0) port service))
+ (smtpmail-smtp-user (or (nth 3 method) smtpmail-smtp-user)))
+ (message-smtpmail-send-it)))
+ (send-function
+ (funcall send-function))
(t
- (error "Unknown method %s" method))))))
+ (error "Unknown mail method %s" method))))))
(defun message-send-mail-with-sendmail ()
"Send off the prepared buffer with sendmail."
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el
index b8dd61de3b9..21bb46b8fa7 100644
--- a/lisp/gnus/mml2015.el
+++ b/lisp/gnus/mml2015.el
@@ -752,7 +752,7 @@ If set, it overrides the setting of `mml2015-sign-with-sender'."
(if (not key-image)
""
(condition-case nil
- (let ((result " "))
+ (let ((result (copy-sequence " ")))
(put-text-property
1 2 'display
(gnus-rescale-image key-image
diff --git a/lisp/gnus/nnagent.el b/lisp/gnus/nnagent.el
index 61ec66155e4..30d5514a8b7 100644
--- a/lisp/gnus/nnagent.el
+++ b/lisp/gnus/nnagent.el
@@ -118,17 +118,18 @@
(gnus-request-accept-article "nndraft:queue" nil t t))
(deffoo nnagent-request-set-mark (group action server)
- (insert "(gnus-agent-synchronize-group-flags \""
- group
- "\" '")
- (gnus-pp action)
- (insert " \""
- (gnus-method-to-server gnus-command-method)
- "\"")
- (insert ")\n")
- (let ((coding-system-for-write nnheader-file-coding-system))
- (write-region (point-min) (point-max) (gnus-agent-lib-file "flags")
- t 'silent))
+ (with-temp-buffer
+ (insert "(gnus-agent-synchronize-group-flags \""
+ group
+ "\" '")
+ (gnus-pp action)
+ (insert " \""
+ (gnus-method-to-server gnus-command-method)
+ "\"")
+ (insert ")\n")
+ (let ((coding-system-for-write nnheader-file-coding-system))
+ (write-region (point-min) (point-max) (gnus-agent-lib-file "flags")
+ t 'silent)))
;; Also set the marks for the original back end that keeps marks in
;; the local system.
(let ((gnus-agent nil))
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index 20c176f2269..fb9d8fa53bf 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -314,7 +314,9 @@ retried once before actually displaying the error report."
(when nntp-record-commands
(nntp-record-command "*** CALLED nntp-report ***"))
- (nnheader-report 'nntp args)))
+ (nnheader-report 'nntp args)
+
+ (apply #'error args)))
(defsubst nntp-copy-to-buffer (buffer start end)
"Copy string from unibyte current buffer to multibyte buffer."
@@ -643,8 +645,7 @@ connection timeouts (which may be several minutes) or
`nntp-with-open-group', opens a new connection then re-issues the NNTP
command whose response triggered the error."
(declare (indent 2) (debug (form form [&optional symbolp] def-body)))
- (when (and (listp connectionless)
- (not (eq connectionless nil)))
+ (when (consp connectionless)
(setq forms (cons connectionless forms)
connectionless nil))
`(nntp-with-open-group-function ,group ,server ,connectionless
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index a939cc0b509..b9388b45397 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -592,22 +592,22 @@ the C sources, too."
;; First collect all the printed representations of menus.
(dolist (menu menus)
(let ((map (lookup-key global-map (seq-take menu 1)))
- (string nil))
+ (string nil)
+ (sep (if (char-displayable-p ?→) " → " " => ")))
(seq-do-indexed
(lambda (entry level)
(when (symbolp map)
(setq map (symbol-function map)))
(when-let ((elem (assq entry (cdr map))))
(when (> level 0)
- (push (if (char-displayable-p ?→)
- " → "
- " => ")
- string))
+ (push sep string))
(if (eq (nth 1 elem) 'menu-item)
(progn
- (push (nth 2 elem) string)
+ (push (propertize (nth 2 elem) 'face 'help-key-binding)
+ string)
(setq map (cadddr elem)))
- (push (nth 1 elem) string)
+ (push (propertize (nth 1 elem) 'face 'help-key-binding)
+ string)
(setq map (cddr elem)))))
(cdr (seq-into menu 'list)))
(when string
@@ -622,8 +622,7 @@ the C sources, too."
(cond ((zerop i) "")
((= i (1- (length menus))) " and ")
(t ", "))
- (propertize (string-join (nreverse string))
- 'face 'help-key-binding)))
+ (string-join (nreverse string))))
strings))))
(defun help-fns--compiler-macro (function)
@@ -711,7 +710,15 @@ the C sources, too."
(high-doc (cdr high)))
(unless (and (symbolp function)
(get function 'reader-construct))
- (insert high-usage "\n"))
+ (insert high-usage "\n")
+ (when-let* ((res (comp-function-type-spec function))
+ (type-spec (car res))
+ (kind (cdr res)))
+ (insert (format
+ (if (eq kind 'inferred)
+ "\nInferred type: %s\n"
+ "\nType: %s\n")
+ type-spec))))
(fill-region fill-begin (point))
high-doc)))))
diff --git a/lisp/help.el b/lisp/help.el
index 6eac037df2c..6f55136049b 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -727,6 +727,21 @@ Return nil if KEYS is nil."
:group 'help
:version "29.1")
+(defcustom describe-bindings-outline-rules '((match-regexp . "Key translations"))
+ "Visibility rules for outline sections of `describe-bindings'.
+This is used as the value of `outline-default-rules' in the
+output buffer of `describe-bindings' when
+`describe-bindings-outline' is non-nil, otherwise this option
+doesn't have any effect."
+ :type '(choice (const :tag "Hide unconditionally" nil)
+ (set :tag "Show section unless"
+ (cons :tag "Heading matches regexp"
+ (const match-regexp) string)
+ (cons :tag "Custom function to show/hide sections"
+ (const custom-function) function)))
+ :group 'help
+ :version "30.1")
+
(declare-function outline-hide-subtree "outline")
(defun describe-bindings (&optional prefix buffer)
@@ -756,8 +771,7 @@ or a buffer name."
outline-minor-mode-use-buttons 'insert
;; Hide the longest body.
outline-default-state 1
- outline-default-rules
- '((match-regexp . "Key translations")))
+ outline-default-rules describe-bindings-outline-rules)
(outline-minor-mode 1)
(save-excursion
(goto-char (point-min))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 6ed2cbe395c..e6fdd1f1836 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -427,7 +427,10 @@ if that doesn't produce a completion match."
for (cat . alist) in completion-category-defaults collect
`(,cat . ,(cl-loop
for entry in alist for (prop . val) = entry
- if (eq prop 'styles)
+ if (and (eq prop 'styles)
+ ;; Never step in front of 'external', as that
+ ;; might lose us completions.
+ (not (memq 'external val)))
collect `(,prop . (flex ,@(delq 'flex val)))
else collect entry))))
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 7858ed58774..da45e30cd36 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -733,7 +733,11 @@ Return nil if there is nothing appropriate in the buffer near point."
(let ((str (string-join str-list " ")))
(when (assoc str completions)
(throw 'result str))
- (nbutlast str-list)))))))
+ ;; 'nbutlast' will not destructively set its argument
+ ;; to nil when the argument is a list of 1 element.
+ (if (= (length str-list) 1)
+ (setq str-list nil)
+ (nbutlast str-list))))))))
(error nil)))
;;;###autoload
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index 518436bd961..9aea5e27063 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -695,6 +695,16 @@ with L, LRE, or LRO Unicode bidi character type.")
(set-case-syntax c "_" tbl)
(setq c (1+ c)))
+ ;; Traditional Mongolian
+ (setq c #x1800)
+ (while (<= c #x180A)
+ (set-case-syntax c "." tbl)
+ (setq c (1+ c)))
+ (setq c #x11660)
+ (while (<= c #x1166C)
+ (set-case-syntax c "." tbl)
+ (setq c (1+ c)))
+
;; Coptic
;; There's no Coptic category. However, Coptic letters that are
;; part of the Greek block above get the Greek category, and those
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index eb1c7f53d36..b72c68d9d59 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -648,6 +648,8 @@
(nil . "MuleArabic-1")
(nil . "MuleArabic-2")
(nil . "ISO8859-6"))
+ (mongolian ,(font-spec :registry "iso10646-1"
+ :otf '(mong nil (init medi fina isol))))
(hebrew ,(font-spec :registry "iso10646-1" :script 'hebrew)
(nil . "ISO8859-8"))
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el
index 9ce31f11d91..5477473ae8c 100644
--- a/lisp/international/ja-dic-cnv.el
+++ b/lisp/international/ja-dic-cnv.el
@@ -484,7 +484,7 @@ To get complete usage, invoke:
(defmacro skkdic-set-postfix (&rest entries)
`(defconst skkdic-postfix
',(let ((l entries)
- (map '(nil))
+ (map (list nil))
(longest 1)
len entry)
(while l
@@ -507,7 +507,7 @@ To get complete usage, invoke:
(defmacro skkdic-set-prefix (&rest entries)
`(defconst skkdic-prefix
',(let ((l entries)
- (map '(nil))
+ (map (list nil))
(longest 1)
len entry)
(while l
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 25b90b49c8f..2b44a2e0645 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -2484,10 +2484,12 @@ This function is intended to be added to `auto-coding-functions'."
;; called as part of visiting a file, as opposed
;; to when saving a buffer to a file.
(if (and enable-multibyte-characters
- ;; 'charset' will signal an error in
- ;; coding-system-equal, since it isn't a
- ;; coding-system. So test that up front.
+ ;; 'charset' and 'iso-2022' will signal
+ ;; an error in coding-system-equal, since
+ ;; they aren't coding-systems. So test
+ ;; that up front.
(not (equal sym-type 'charset))
+ (not (equal sym-type 'iso-2022))
(coding-system-equal 'utf-8 sym-type)
(coding-system-equal 'utf-8 bfcs-type))
buffer-file-coding-system
@@ -2540,11 +2542,13 @@ This function is intended to be added to `auto-coding-functions'."
(bfcs-type
(coding-system-type buffer-file-coding-system)))
(if (and enable-multibyte-characters
- ;; 'charset' will signal an error in
- ;; coding-system-equal, since it isn't a
- ;; coding-system. So test that up front.
+ ;; 'charset' and 'iso-2022' will signal an error
+ ;; in coding-system-equal, since they aren't
+ ;; coding-systems. So test that up front.
(not (equal sym-type 'charset))
(not (equal bfcs-type 'charset))
+ (not (equal sym-type 'iso-2022))
+ (not (equal bfcs-type 'iso-2022))
(coding-system-equal 'utf-8 sym-type)
(coding-system-equal 'utf-8 bfcs-type))
buffer-file-coding-system
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 317ea8495de..894378bda8b 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -804,13 +804,12 @@ The format of KBD-LAYOUT is the same as `quail-keyboard-layout'."
(setq i (1+ i)))
(let ((pos (point))
- (bar "|")
+ (bar (propertize "|" 'face 'bold))
lower upper row)
;; Make table without horizontal lines. Each column for a key
;; has the form "| LU |" where L is for lower key and U is
;; for a upper key. If width of L (U) is greater than 1,
;; preceding (following) space is not inserted.
- (put-text-property 0 1 'face 'bold bar)
(setq i 0)
(while (< i quail-keyboard-layout-len)
(when (= (% i 30) 0)
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 094e02d605e..3d2bbda4975 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -633,9 +633,9 @@ This is like `describe-bindings', but displays only Isearch keys."
(define-key map "\M-\t" 'isearch-complete)
- ;; Pass frame events transparently so they won't exit the search.
- ;; In particular, if we have more than one display open, then a
- ;; switch-frame might be generated by someone typing at another keyboard.
+ ;; Frame events should exit the search, because such frame events
+ ;; as `switch-frame’ and `delete-frame’ change the current buffer.
+ ;; See Bug#41338 for details.
(define-key map [switch-frame] nil)
(define-key map [delete-frame] nil)
(define-key map [iconify-frame] nil)
diff --git a/lisp/kmacro.el b/lisp/kmacro.el
index 64aa7a27bde..7489076ea2e 100644
--- a/lisp/kmacro.el
+++ b/lisp/kmacro.el
@@ -504,8 +504,9 @@ ARG is the number of times to execute the item.")
(defun kmacro-call-ring-2nd (arg)
- "Execute second keyboard macro in macro ring."
- (interactive "P")
+ "Execute second keyboard macro in macro ring.
+With numeric argument ARG, execute the macro that many times."
+ (interactive "p")
(unless (kmacro-ring-empty-p)
(funcall (car kmacro-ring) arg)))
@@ -514,7 +515,7 @@ ARG is the number of times to execute the item.")
"Execute second keyboard macro in macro ring.
This is like `kmacro-call-ring-2nd', but allows repeating macro commands
without repeating the prefix."
- (interactive "P")
+ (interactive "p")
(let ((keys (kmacro-get-repeat-prefix)))
(kmacro-call-ring-2nd arg)
(if (and kmacro-ring keys)
@@ -650,10 +651,10 @@ The macro is now available for use via \\[kmacro-call-macro],
or it can be given a name with \\[kmacro-name-last-macro] and then invoked
under that name.
-With numeric arg, repeat macro now that many times,
+With numeric ARG, repeat the macro that many times,
counting the definition just completed as the first repetition.
An argument of zero means repeat until error."
- (interactive "P")
+ (interactive "p")
;; Isearch may push the kmacro-end-macro key sequence onto the macro.
;; Just ignore it when executing the macro.
(unless executing-kbd-macro
@@ -787,7 +788,7 @@ Zero argument means repeat until there is an error.
To give a macro a name, so you can call it even after defining other
macros, use \\[kmacro-name-last-macro]."
- (interactive "P")
+ (interactive "p")
(if defining-kbd-macro
(kmacro-end-macro nil))
(kmacro-call-macro arg no-repeat))
diff --git a/lisp/language/cyrillic.el b/lisp/language/cyrillic.el
index ffed1c808f7..7af87e65703 100644
--- a/lisp/language/cyrillic.el
+++ b/lisp/language/cyrillic.el
@@ -256,6 +256,16 @@ Support for Russian using koi8-r and the russian-computer input method.")
\(The name Belarusian replaced Byelorussian in the early 1990s.)"))
'("Cyrillic"))
+;; The Mongolian-traditional language environment is in misc-lang.el.
+(set-language-info-alist
+ "Mongolian-cyrillic" '((coding-system utf-8)
+ (coding-priority utf-8)
+ (input-method . "cyrillic-mongolian")
+ (sample-text . "Mongolian (монгол Ñ…Ñл) Сайн байна уу?")
+ (documentation
+ . "Support for Mongolian language with Cyrillic alphabet."))
+ '("Cyrillic"))
+
(provide 'cyrillic)
;;; cyrillic.el ends here
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index fe283e8769c..792155f1de5 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -74,10 +74,11 @@ and Italian.")))
(coding-priority utf-8 iso-8859-6 windows-1256)
(input-method . "farsi-transliterate-banan")
(sample-text . "Persian Ùارسی")
- (documentation . "Bidirectional editing is supported.")))
+ (documentation . "Bidirectional editing is supported.")
+ (tutorial . "TUTORIAL.fa")))
(defcustom arabic-shaper-ZWNJ-handling nil
- "How to handle ZWMJ in Arabic text rendering.
+ "How to handle ZWNJ (Zero-width Non-Joiner) in Arabic text rendering.
This variable controls the way to handle a glyph for ZWNJ
returned by the underling shaping engine.
@@ -339,6 +340,30 @@ Coptic language using the Coptic script is supported in this
language environment."))
'("Misc"))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Traditional Mongolian
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; The Mongolian-cyrillic language environment is in cyrillic.el.
+(set-language-info-alist
+ "Mongolian-traditional" '((coding-system utf-8)
+ (coding-priority utf-8)
+ ; (input-method . "FIXME")
+ (sample-text . "Mongolian Traditional (ᠮᠣᠩᠭᠣᠯ ᠪᠢᠴᠢᠭ᠋) ᠰᠠᠶᠢᠨ ᠪᠠᠶᠢᠨ᠎ᠠ ᠤᠤ?")
+ (documentation
+ . "Support for Mongolian language with traditional script."))
+ '("Misc"))
+
+;; Composition rules for Mongolian Traditional script.
+(set-char-table-range
+ composition-function-table
+ '(#x1820 . #x18AF)
+ (list (vector "[\u200C\u200D][\u1820-\u18AF][\u200C\u200D]?"
+ 1 'font-shape-gstring)
+ (vector "[\u1820-\u18AF][\u200C\u200D]" 0 'font-shape-gstring)
+ (vector "[\u1820-\u18AF\u202F\u180B-\u180F\u1807]+"
+ 0 'font-shape-gstring)))
+
(provide 'misc-lang)
;;; misc-lang.el ends here
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index acf8a1d2556..898dcd55f58 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -2428,7 +2428,12 @@ narrowed.
(fn &optional BUFFER)" t)
(autoload 'browse-url-of-dired-file "browse-url" "\
-In Dired, ask a WWW browser to display the file named on this line." t)
+In Dired, ask a WWW browser to display the file named on this line.
+With prefix arg, use the secondary browser instead (e.g. EWW if
+`browse-url-secondary-browser-function' is set to
+`eww-browse-url'.
+
+(fn &optional SECONDARY)" t)
(autoload 'browse-url-of-region "browse-url" "\
Use a web browser to display the current region.
See `browse-url' for details.
@@ -2965,6 +2970,10 @@ To use tree-sitter C/C++ modes by default, evaluate
in your configuration.
+Since this mode uses a parser, unbalanced brackets might cause
+some breakage in indentation/fontification. Therefore, it's
+recommended to enable `electric-pair-mode' with this mode.
+
(fn)" t)
(autoload 'c-or-c++-ts-mode "c-ts-mode" "\
Analyze buffer and enable either C or C++ mode.
@@ -4920,6 +4929,16 @@ The variable `native-comp-async-jobs-number' specifies the number
of (commands) to run simultaneously.
(fn FILES &optional RECURSIVELY LOAD SELECTOR)")
+(autoload 'comp-function-type-spec "comp" "\
+Return the type specifier of FUNCTION.
+
+This function returns a cons cell whose car is the function
+specifier, and cdr is a symbol, either `inferred' or `know'.
+If the symbol is `inferred', the type specifier is automatically
+inferred from the code itself by the native compiler; if it is
+`know', the type specifier comes from `comp-known-type-specifiers'.
+
+(fn FUNCTION)")
(register-definition-prefixes "comp" '("comp-" "make-comp-edge" "native-" "no-native-compile"))
@@ -5129,8 +5148,6 @@ evaluate `compilation-shell-minor-mode'.
The mode's hook is called both when the mode is enabled and when
it is disabled.
-\\{compilation-shell-minor-mode-map}
-
(fn &optional ARG)" t)
(autoload 'compilation-minor-mode "compile" "\
Toggle Compilation minor mode.
@@ -5154,8 +5171,6 @@ evaluate `compilation-minor-mode'.
The mode's hook is called both when the mode is enabled and when
it is disabled.
-\\{compilation-minor-mode-map}
-
(fn &optional ARG)" t)
(autoload 'compilation-next-error-function "compile" "\
Advance to the next error message and visit the file where the error was.
@@ -7279,7 +7294,7 @@ the context menu will contain an item that searches
the word at mouse click.
(fn MENU CLICK)")
-(register-definition-prefixes "dictionary" '("dictionary-" "global-dictionary-tooltip-mode"))
+(register-definition-prefixes "dictionary" '("dictionary-" "global-dictionary-tooltip-mode" "help-word"))
;;; Generated autoloads from cedet/srecode/dictionary.el
@@ -8618,7 +8633,7 @@ A second call of this function without changing point inserts the next match.
A call with prefix PREFIX reads the symbol to insert from the minibuffer with
completion.
-(fn PREFIX)" t)
+(fn PREFIX)" '("P"))
(autoload 'ebrowse-tags-loop-continue "ebrowse" "\
Repeat last operation on files in tree.
FIRST-TIME non-nil means this is not a repetition, but the first time.
@@ -9230,24 +9245,25 @@ Turn on EDT Emulation." t)
;;; Generated autoloads from progmodes/eglot.el
-(push (purecopy '(eglot 1 13)) package--builtin-versions)
+(push (purecopy '(eglot 1 15)) package--builtin-versions)
(autoload 'eglot "eglot" "\
-Start LSP server in support of PROJECT's buffers under MANAGED-MAJOR-MODE.
+Start LSP server for PROJECT's buffers under MANAGED-MAJOR-MODES.
-This starts a Language Server Protocol (LSP) server suitable for the
-buffers of PROJECT whose `major-mode' is MANAGED-MAJOR-MODE.
-CLASS is the class of the LSP server to start and CONTACT specifies
-how to connect to the server.
+This starts a Language Server Protocol (LSP) server suitable for
+the buffers of PROJECT whose `major-mode' is among
+MANAGED-MAJOR-MODES. CLASS is the class of the LSP server to
+start and CONTACT specifies how to connect to the server.
-Interactively, the command attempts to guess MANAGED-MAJOR-MODE
-from the current buffer's `major-mode', CLASS and CONTACT from
-`eglot-server-programs' looked up by the major mode, and PROJECT from
-`project-find-functions'. The search for active projects in this
-context binds `eglot-lsp-context' (which see).
+Interactively, the command attempts to guess MANAGED-MAJOR-MODES,
+CLASS, CONTACT, and LANGUAGE-IDS from `eglot-server-programs',
+according to the current buffer's `major-mode'. PROJECT is
+guessed from `project-find-functions'. The search for active
+projects in this context binds `eglot-lsp-context' (which see).
-If it can't guess, it prompts the user for the mode and the server.
-With a single \\[universal-argument] prefix arg, it always prompts for COMMAND.
-With two \\[universal-argument], it also always prompts for MANAGED-MAJOR-MODE.
+If it can't guess, it prompts the user for the mode and the
+server. With a single \\[universal-argument] prefix arg, it
+always prompts for COMMAND. With two \\[universal-argument], it
+also always prompts for MANAGED-MAJOR-MODE.
The LSP server of CLASS is started (or contacted) via CONTACT.
If this operation is successful, current *and future* file
@@ -9265,14 +9281,19 @@ CONTACT specifies how to contact the server. It is a
keyword-value plist used to initialize CLASS or a plain list as
described in `eglot-server-programs', which see.
-LANGUAGE-ID is the language ID string to send to the server for
-MANAGED-MAJOR-MODE, which matters to a minority of servers.
+LANGUAGE-IDS is a list of language ID string to send to the
+server for each element in MANAGED-MAJOR-MODES.
INTERACTIVE is ignored and provided for backward compatibility.
-(fn MANAGED-MAJOR-MODE PROJECT CLASS CONTACT LANGUAGE-ID &optional INTERACTIVE)" t)
+(fn MANAGED-MAJOR-MODES PROJECT CLASS CONTACT LANGUAGE-IDS &optional INTERACTIVE)" t)
(autoload 'eglot-ensure "eglot" "\
Start Eglot session for current buffer if there isn't one.")
+(autoload 'eglot-upgrade-eglot "eglot" "\
+Update Eglot to latest version.
+
+(fn &rest _)" t)
+(define-obsolete-function-alias 'eglot-update 'eglot-upgrade-eglot "29.1")
(put 'eglot-workspace-configuration 'safe-local-variable 'listp)
(put 'eglot--debbugs-or-github-bug-uri 'bug-reference-url-format t)
(defun eglot--debbugs-or-github-bug-uri nil (format (if (string= (match-string 2) "github") "https://github.com/joaotavora/eglot/issues/%s" "https://debbugs.gnu.org/%s") (match-string 3)))
@@ -9400,7 +9421,7 @@ Describe CTR if it is a class constructor.
;;; Generated autoloads from emacs-lisp/eldoc.el
-(push (purecopy '(eldoc 1 13 0)) package--builtin-versions)
+(push (purecopy '(eldoc 1 14 0)) package--builtin-versions)
;;; Generated autoloads from elec-pair.el
@@ -9830,6 +9851,8 @@ FACTOR is the multiplication factor for the size.
(fn &optional FACTOR)" t)
(autoload 'emoji-zoom-decrease "emoji" "\
Decrease the size of the character under point." t)
+(autoload 'emoji-zoom-reset "emoji" "\
+Reset the size of the character under point." t)
(register-definition-prefixes "emoji" '("emoji-"))
@@ -10207,9 +10230,10 @@ Look at CONFIG and try to expand GROUP.
;;; Generated autoloads from erc/erc.el
-(push (purecopy '(erc 5 5)) package--builtin-versions)
+(push (purecopy '(erc 5 6 -4)) package--builtin-versions)
(autoload 'erc-select-read-args "erc" "\
-Prompt the user for values of nick, server, port, and password.")
+Prompt the user for values of nick, server, port, and password.
+With prefix arg, also prompt for user and full name.")
(autoload 'erc "erc" "\
ERC is a powerful, modular, and extensible IRC client.
This function is the main entry point for ERC.
@@ -10235,7 +10259,7 @@ for the values of the other parameters.
See `erc-tls' for the meaning of ID.
-(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) (USER (erc-compute-user)) PASSWORD (FULL-NAME (erc-compute-full-name)) ID)" t)
+(fn &key SERVER PORT NICK USER PASSWORD FULL-NAME ID)" '((erc-select-read-args)))
(defalias 'erc-select #'erc)
(autoload 'erc-tls "erc" "\
ERC is a powerful, modular, and extensible IRC client.
@@ -10279,11 +10303,11 @@ Example usage:
When present, ID should be a symbol or a string to use for naming
the server buffer and identifying the connection unequivocally.
-See Info node `(erc) Network Identifier' for details. Like USER
-and CLIENT-CERTIFICATE, this parameter cannot be specified
+See Info node `(erc) Network Identifier' for details. Like
+CLIENT-CERTIFICATE, this parameter cannot be specified
interactively.
-(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port \\='ircs-u)) (NICK (erc-compute-nick)) (USER (erc-compute-user)) PASSWORD (FULL-NAME (erc-compute-full-name)) CLIENT-CERTIFICATE ID)" t)
+(fn &key SERVER PORT NICK USER PASSWORD FULL-NAME CLIENT-CERTIFICATE ID)" '((let ((erc-default-port erc-default-port-tls)) (erc-select-read-args))))
(autoload 'erc-handle-irc-url "erc" "\
Use ERC to IRC on HOST:PORT in CHANNEL.
If ERC is already connected to HOST:PORT, simply /join CHANNEL.
@@ -10363,7 +10387,7 @@ Customize `erc-url-connect-function' to override this.
;;; Generated autoloads from erc/erc-imenu.el
-(register-definition-prefixes "erc-imenu" '("erc-unfill-notice"))
+(register-definition-prefixes "erc-imenu" '("erc-"))
;;; Generated autoloads from erc/erc-join.el
@@ -10512,9 +10536,7 @@ it has to be wrapped in `(eval (quote ...))'.
If NAME is already defined as a test and Emacs is running
in batch mode, an error is signaled.
-(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \\='(TAG...)] BODY...)" nil t)
-(function-put 'ert-deftest 'doc-string-elt 3)
-(function-put 'ert-deftest 'lisp-indent-function 2)
+(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \\='(TAG...)] BODY...)" nil 'macro)
(autoload 'ert-run-tests-batch "ert" "\
Run the tests specified by SELECTOR, printing results to the terminal.
@@ -10649,9 +10671,10 @@ information on Eshell, see Info node `(eshell)Top'.
(fn &optional ARG)" t)
(autoload 'eshell-command "eshell" "\
Execute the Eshell command string COMMAND.
-With prefix ARG, insert output into the current buffer at point.
+If TO-CURRENT-BUFFER is non-nil (interactively, with the prefix
+argument), then insert output into the current buffer at point.
-(fn &optional COMMAND ARG)" t)
+(fn COMMAND &optional TO-CURRENT-BUFFER)" t)
(autoload 'eshell-command-result "eshell" "\
Execute the given Eshell COMMAND, and return the result.
The result might be any Lisp object.
@@ -11338,7 +11361,7 @@ fourth arg NOSEP non-nil inhibits this.
;;; Generated autoloads from net/eww.el
-(defvar eww-suggest-uris '(eww-links-at-point thing-at-point-url-at-point eww-current-url) "\
+(defvar eww-suggest-uris '(eww-links-at-point thing-at-point-url-at-point eww-current-url eww-bookmark-urls) "\
List of functions called to form the list of default URIs for `eww'.
Each of the elements is a function returning either a string or a list
of strings. The results will be joined into a single list with
@@ -12352,7 +12375,7 @@ Variables of interest include:
If non-nil, always attempt to create the other file if it was not found.
- `ff-quiet-mode'
- If non-nil, traces which directories are being searched.
+ If non-nil, does not trace which directories are being searched.
- `ff-special-constructs'
A list of regular expressions specifying how to recognize special
@@ -12620,7 +12643,7 @@ lines.
;;; Generated autoloads from progmodes/flymake.el
-(push (purecopy '(flymake 1 2 2)) package--builtin-versions)
+(push (purecopy '(flymake 1 3 4)) package--builtin-versions)
(autoload 'flymake-log "flymake" "\
Log, at level LEVEL, the message MSG formatted with ARGS.
LEVEL is passed to `display-warning', which is used to display
@@ -12719,8 +12742,6 @@ evaluate `flymake-mode'.
The mode's hook is called both when the mode is enabled and when
it is disabled.
-\\{flymake-mode-map}
-
(fn &optional ARG)" t)
(autoload 'flymake-mode-on "flymake" "\
Turn Flymake mode on.")
@@ -16388,8 +16409,7 @@ 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 t)
-(function-put 'define-ibuffer-column 'lisp-indent-function 'defun)
+(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil 'macro)
(autoload 'define-ibuffer-sorter "ibuf-macs" "\
Define a method of sorting named NAME.
DOCUMENTATION is the documentation of the function, which will be called
@@ -16400,9 +16420,7 @@ 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 t)
-(function-put 'define-ibuffer-sorter 'lisp-indent-function 1)
-(function-put 'define-ibuffer-sorter 'doc-string-elt 2)
+(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil 'macro)
(autoload 'define-ibuffer-op "ibuf-macs" "\
Generate a function which operates on a buffer.
OP becomes the name of the function; if it doesn't begin with
@@ -16441,9 +16459,7 @@ 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 t)
-(function-put 'define-ibuffer-op 'lisp-indent-function 2)
-(function-put 'define-ibuffer-op 'doc-string-elt 3)
+(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil 'macro)
(autoload 'define-ibuffer-filter "ibuf-macs" "\
Define a filter named NAME.
DOCUMENTATION is the documentation of the function.
@@ -16458,9 +16474,7 @@ 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 t)
-(function-put 'define-ibuffer-filter 'lisp-indent-function 2)
-(function-put 'define-ibuffer-filter 'doc-string-elt 2)
+(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil 'macro)
(register-definition-prefixes "ibuf-macs" '("ibuffer-"))
@@ -17271,8 +17285,8 @@ Put image IMAGE in front of POS in the current buffer.
IMAGE must be an image created with `create-image' or `defimage'.
IMAGE is displayed by putting an overlay into the current buffer with a
`before-string' STRING that has a `display' property whose value is the
-image. STRING is defaulted if you omit it.
-The overlay created will have the `put-image' property set to t.
+image. STRING defaults to \"x\" if it's nil or omitted.
+The overlay created by this function has the `put-image' property set to t.
POS may be an integer or marker.
AREA is where to display the image. AREA nil or omitted means
display it in the text area, a value of `left-margin' means
@@ -17406,14 +17420,31 @@ Cut a rectangle from the image under point, filling it with COLOR.
COLOR defaults to the value of `image-cut-color'.
Interactively, with prefix argument, prompt for COLOR to use.
+This command presents the image with a rectangular area superimposed
+on it, and allows moving and resizing the area to define which
+part of it to cut.
+
+While moving/resizing the cutting area, the following key bindings
+are available:
+
+`q': Exit without changing anything.
+`RET': Crop/cut the image.
+`m': Make mouse movements move the rectangle instead of altering the
+ rectangle shape.
+`s': Same as `m', but make the rectangle into a square first.
+
+After cutting the image, you can save it by `M-x image-save' or
+\\<image-map>\\[image-save] when point is over the image.
+
(fn &optional COLOR)" t)
(autoload 'image-crop "image-crop" "\
Crop the image under point.
-If CUT is non-nil, remove a rectangle from the image instead of
-cropping the image. In that case CUT should be the name of a
-color to fill the rectangle.
+This command presents the image with a rectangular area superimposed
+on it, and allows moving and resizing the area to define which
+part of it to crop.
-While cropping the image, the following key bindings are available:
+While moving/resizing the cropping area, the following key bindings
+are available:
`q': Exit without changing anything.
`RET': Crop/cut the image.
@@ -17421,9 +17452,13 @@ While cropping the image, the following key bindings are available:
rectangle shape.
`s': Same as `m', but make the rectangle into a square first.
-After cropping an image, you can save it by `M-x image-save' or
+After cropping the image, you can save it by `M-x image-save' or
\\<image-map>\\[image-save] when point is over the image.
+When called from Lisp, if CUT is non-nil, remove a rectangle from
+the image instead of cropping the image. In that case, CUT should
+be the name of a color to fill the rectangle.
+
(fn &optional CUT)" t)
(register-definition-prefixes "image-crop" '("image-c"))
@@ -18534,6 +18569,11 @@ sequence inside of a word.
Standard ispell choices are then available.
+This command uses a word-list file specified
+by `ispell-alternate-dictionary' or by `ispell-complete-word-dict';
+if none of those name an existing word-list file, this command
+signals an error.
+
(fn &optional INTERIOR-FRAG)" t)
(autoload 'ispell-complete-word-interior-frag "ispell" "\
Completes word matching character sequence inside a word." t)
@@ -20696,15 +20736,17 @@ Uppercasify ARG chars starting from point. Point doesn't move.
(fn ARG)" t)
(autoload 'forward-to-word "misc" "\
-Move forward until encountering the beginning of a word.
-With argument, do this that many times.
+Move forward until encountering the beginning of the ARGth word.
+ARG defaults to 1. When called interactively, ARG is the prefix
+numeric argument.
-(fn ARG)" t)
+(fn &optional ARG)" t)
(autoload 'backward-to-word "misc" "\
-Move backward until encountering the end of a word.
-With argument, do this that many times.
+Move backward until encountering the end of the ARGth word.
+ARG defaults to 1. When called interactively, ARG is the prefix
+numeric argument.
-(fn ARG)" t)
+(fn &optional ARG)" t)
(autoload 'butterfly "misc" "\
Use butterflies to flip the desired bit on the drive platter.
Open hands and let the delicate wings flap once. The disturbance
@@ -22466,7 +22508,7 @@ Coloring:
;;; Generated autoloads from org/org.el
-(push (purecopy '(org 9 6 2)) package--builtin-versions)
+(push (purecopy '(org 9 6 6)) package--builtin-versions)
(autoload 'org-babel-do-load-languages "org" "\
Load the languages defined in `org-babel-load-languages'.
@@ -23458,8 +23500,7 @@ If PACKAGE is a `package-desc' object, MIN-VERSION is ignored.
(autoload 'package-install "package" "\
Install the package PKG.
PKG can be a `package-desc' or a symbol naming one of the
-available packages in an archive in `package-archives'. When
-called interactively, prompt for the package name.
+available packages in an archive in `package-archives'.
Mark the installed package as selected by adding it to
`package-selected-packages'.
@@ -23471,16 +23512,26 @@ non-nil, install the package but do not add it to
If PKG is a `package-desc' and it is already installed, don't try
to install it but still mark it as selected.
+If the command is invoked with a prefix argument, it will allow
+upgrading of built-in packages, as if `package-install-upgrade-built-in'
+had been enabled.
+
(fn PKG &optional DONT-SELECT)" t)
-(autoload 'package-update "package" "\
-Update package NAME if a newer version exists.
+(autoload 'package-upgrade "package" "\
+Upgrade package NAME if a newer version exists.
(fn NAME)" t)
-(autoload 'package-update-all "package" "\
+(autoload 'package-upgrade-all "package" "\
Refresh package list and upgrade all packages.
-If QUERY, ask the user before updating packages. When called
+If QUERY, ask the user before upgrading packages. When called
interactively, QUERY is always true.
+Currently, packages which are part of the Emacs distribution are
+not upgraded by this command. To enable upgrading such a package
+using this command, first upgrade the package to a newer version
+from ELPA by either using `\\[package-upgrade]' or
+`\\<package-menu-mode-map>\\[package-menu-mark-install]' after `\\[list-packages]'.
+
(fn &optional QUERY)" t)
(autoload 'package-install-from-buffer "package" "\
Install a package from the current buffer.
@@ -23565,10 +23616,10 @@ DESC must be a `package-desc' object.
(autoload 'package-vc-install-selected-packages "package-vc" "\
Ensure packages specified in `package-vc-selected-packages' are installed." t)
-(autoload 'package-vc-update-all "package-vc" "\
-Attempt to update all installed VC packages." t)
-(autoload 'package-vc-update "package-vc" "\
-Attempt to update the package PKG-DESC.
+(autoload 'package-vc-upgrade-all "package-vc" "\
+Attempt to upgrade all installed VC packages." t)
+(autoload 'package-vc-upgrade "package-vc" "\
+Attempt to upgrade the package PKG-DESC.
(fn PKG-DESC)" t)
(autoload 'package-vc-install "package-vc" "\
@@ -23584,11 +23635,13 @@ indicating the package name and SPEC is a plist as described in
symbol whose name is the package name, and the URL for the
package will be taken from the package's metadata.
-By default, this function installs the last version of the package
-available from its repository, but if REV is given and non-nil, it
-specifies the revision to install. If REV has the special value
-`:last-release' (interactively, the prefix argument), that stands
-for the last released version of the package.
+By default, this function installs the last revision of the
+package available from its repository. If REV is a string, it
+describes the revision to install, as interpreted by the VC
+backend. The special value `:last-release' (interactively, the
+prefix argument), will use the commit of the latest release, if
+it exists. The last release is the latest revision which changed
+the \"Version:\" header of the package's main Lisp file.
Optional argument BACKEND specifies the VC backend to use for cloning
the package's repository; this is only possible if NAME-OR-URL is a URL,
@@ -23625,7 +23678,7 @@ Rebuilding an installation means scraping for new autoload
cookies, re-compiling Emacs Lisp files, building and installing
any documentation, downloading any missing dependencies. This
command does not fetch new revisions from a remote server. That
-is the responsibility of `package-vc-update'. Interactively,
+is the responsibility of `package-vc-upgrade'. Interactively,
prompt for the name of the package to rebuild.
(fn PKG-DESC)" t)
@@ -23680,7 +23733,9 @@ The values returned are identical to those of `decode-time', but
any unknown values other than DST are returned as nil, and an
unknown DST value is returned as -1.
-(fn STRING)")
+See `decode-time' for the meaning of FORM.
+
+(fn STRING &optional FORM)")
(register-definition-prefixes "parse-time" '("parse-"))
@@ -24434,6 +24489,11 @@ they are not by default assigned to keys." t)
(register-definition-prefixes "picture" '("picture-"))
+;;; Generated autoloads from language/pinyin.el
+
+(register-definition-prefixes "pinyin" '("pinyin-character-map"))
+
+
;;; Generated autoloads from textmodes/pixel-fill.el
(register-definition-prefixes "pixel-fill" '("pixel-fill-"))
@@ -24508,7 +24568,7 @@ Create a plstore instance associated with FILE.
(fn FILE)")
(autoload 'plstore-mode "plstore" "\
-Major mode for editing PLSTORE files.
+Major mode for editing plstore files.
(fn)" t)
(register-definition-prefixes "plstore" '("plstore-"))
@@ -25214,6 +25274,11 @@ See the doc string of `project-find-functions' for the general form
of the project instance object.
(fn &optional MAYBE-PROMPT DIRECTORY)")
+(put 'project-vc-ignores 'safe-local-variable #'listp)
+(put 'project-vc-merge-submodules 'safe-local-variable #'booleanp)
+(put 'project-vc-include-untracked 'safe-local-variable #'booleanp)
+(put 'project-vc-name 'safe-local-variable #'stringp)
+(put 'project-vc-extra-root-markers 'safe-local-variable (lambda (val) (and (listp val) (not (memq nil (mapcar #'stringp val))))))
(defvar project-prefix-map (let ((map (make-sparse-keymap))) (define-key map "!" 'project-shell-command) (define-key map "&" 'project-async-shell-command) (define-key map "f" 'project-find-file) (define-key map "F" 'project-or-external-find-file) (define-key map "b" 'project-switch-to-buffer) (define-key map "s" 'project-shell) (define-key map "d" 'project-find-dir) (define-key map "D" 'project-dired) (define-key map "v" 'project-vc-dir) (define-key map "c" 'project-compile) (define-key map "e" 'project-eshell) (define-key map "k" 'project-kill-buffers) (define-key map "p" 'project-switch-project) (define-key map "g" 'project-find-regexp) (define-key map "G" 'project-or-external-find-regexp) (define-key map "r" 'project-query-replace-regexp) (define-key map "x" 'project-execute-extended-command) (define-key map "\2" 'project-list-buffers) map) "\
Keymap for project commands.")
(define-key ctl-x-map "p" project-prefix-map)
@@ -25363,6 +25428,7 @@ start with a space (which are for internal use). With prefix argument
ARG, show only buffers that are visiting files.
(fn &optional ARG)" t)
+(put 'project-kill-buffers-display-buffer-list 'safe-local-variable #'booleanp)
(autoload 'project-kill-buffers "project" "\
Kill the buffers belonging to the current project.
Two buffers belong to the same project if their project
@@ -26037,7 +26103,7 @@ ENCRYPTION, CERTFP, SERVER-ALIAS are interpreted as in
`rcirc-server-alist'. STARTUP-CHANNELS is a list of channels
that are joined after authentication.
-(fn SERVER &optional PORT NICK USER-NAME FULL-NAME STARTUP-CHANNELS PASSWORD ENCRYPTION CERTFP SERVER-ALIAS)")
+(fn SERVER &optional PORT NICK USER-NAME FULL-NAME STARTUP-CHANNELS PASSWORD ENCRYPTION SERVER-ALIAS CERTFP)")
(defvar rcirc-track-minor-mode nil "\
Non-nil if Rcirc-Track minor mode is enabled.
See the `rcirc-track-minor-mode' command
@@ -26280,8 +26346,6 @@ evaluate `rectangle-mark-mode'.
The mode's hook is called both when the mode is enabled and when
it is disabled.
-\\{rectangle-mark-mode-map}
-
(fn &optional ARG)" t)
(register-definition-prefixes "rect" '("apply-on-rectangle" "clear-rectangle-line" "delete-" "extract-rectangle-" "killed-rectangle" "ope" "rectangle-" "spaces-string" "string-rectangle-"))
@@ -26503,6 +26567,8 @@ This means the number of non-shy regexp grouping constructs
(parenthesized expressions) in REGEXP.
(fn REGEXP)")
+(function-put 'regexp-opt-depth 'pure 't)
+(function-put 'regexp-opt-depth 'side-effect-free 't)
(register-definition-prefixes "regexp-opt" '("regexp-opt-"))
@@ -27497,6 +27563,7 @@ group.
For extending the `rx' notation in FORM, use `rx-define' or `rx-let-eval'.
(fn FORM &optional NO-GROUP)")
+(function-put 'rx-to-string 'important-return-value 't)
(autoload 'rx "rx" "\
Translate regular expressions REGEXPS in sexp form to a regexp string.
Each argument is one of the forms below; RX is a subform, and RX... stands
@@ -29256,7 +29323,7 @@ it is disabled.
;;; Generated autoloads from net/soap-client.el
-(push (purecopy '(soap-client 3 2 1)) package--builtin-versions)
+(push (purecopy '(soap-client 3 2 3)) package--builtin-versions)
(register-definition-prefixes "soap-client" '("soap-"))
@@ -30329,6 +30396,7 @@ single space character, and leading/trailing whitespace is
removed.
(fn STRING)")
+(function-put 'string-clean-whitespace 'important-return-value 't)
(autoload 'named-let "subr-x" "\
Looping construct taken from Scheme.
Like `let', bind variables in BINDINGS and then evaluate BODY,
@@ -30342,6 +30410,7 @@ as the new values of the bound variables in the recursive invocation.
Return the width of STRING in pixels.
(fn STRING)")
+(function-put 'string-pixel-width 'important-return-value 't)
(autoload 'string-glyph-split "subr-x" "\
Split STRING into a list of strings representing separate glyphs.
This takes into account combining characters and grapheme clusters:
@@ -30350,6 +30419,7 @@ on display into a single grapheme cluster is treated as a single
indivisible unit.
(fn STRING)")
+(function-put 'string-glyph-split 'side-effect-free 't)
(autoload 'add-display-text-property "subr-x" "\
Add display property PROP with VALUE to the text from START to END.
If any text in the region has a non-nil `display' property, those
@@ -30363,7 +30433,7 @@ this defaults to the current buffer.
Query the user for a process and return the process object.
(fn PROMPT)")
-(register-definition-prefixes "subr-x" '("emacs-etc--hide-local-variables" "hash-table-" "internal--thread-argument" "replace-region-contents" "string-" "thread-" "with-buffer-unmodified-if-unchanged"))
+(register-definition-prefixes "subr-x" '("emacs-etc--hide-local-variables" "eval-command-interactive-spec" "hash-table-" "internal--thread-argument" "replace-region-contents" "string-" "thread-" "with-buffer-unmodified-if-unchanged"))
;;; Generated autoloads from progmodes/subword.el
@@ -31778,7 +31848,7 @@ Entering Texinfo mode calls the value of `text-mode-hook', and then the
value of `texinfo-mode-hook'.
(fn)" t)
-(register-definition-prefixes "texinfo" '("texinfo-"))
+(register-definition-prefixes "texinfo" '("fill-paragraph-separate" "texinfo-"))
;;; Generated autoloads from textmodes/texnfo-upd.el
@@ -32922,7 +32992,9 @@ Build and install the tree-sitter language grammar library for LANG.
Interactively, if `treesit-language-source-alist' doesn't already
have data for building the grammar for LANG, prompt for its
-repository URL and the C/C++ compiler to use.
+repository URL and the C/C++ compiler to use. The recipe built
+by the prompts are saved for the current session if the
+installation is successful and the grammar is loadable.
This command requires Git, a C compiler and (sometimes) a C++ compiler,
and the linker to be installed and on PATH. It also requires that the
@@ -32931,7 +33003,12 @@ recipe for LANG exists in `treesit-language-source-alist'.
See `exec-path' for the current path where Emacs looks for
executable programs, such as the C/C++ compiler and linker.
-(fn LANG)" t)
+Interactively, prompt for the directory in which to install the
+compiled grammar files. Non-interactively, use OUT-DIR; if it's
+nil, the grammar is installed to the standard location, the
+\"tree-sitter\" directory under `user-emacs-directory'.
+
+(fn LANG &optional OUT-DIR)" t)
(register-definition-prefixes "treesit" '("treesit-"))
@@ -33157,7 +33234,15 @@ Major mode for editing TypeScript.
(fn)" t)
(autoload 'tsx-ts-mode "typescript-ts-mode" "\
-Major mode for editing TypeScript.
+Major mode for editing TSX and JSX documents.
+
+This major mode defines two additional JSX-specific faces:
+`typescript-ts-jsx-attribute-face' and
+`typescript-ts-jsx-attribute-face' that are used for HTML tags
+and attributes, respectively.
+
+The JSX-specific faces are used when `treesit-font-lock-level' is
+at least 3 (which is the default value).
(fn)" t)
(register-definition-prefixes "typescript-ts-mode" '("typescript-ts-mode-"))
@@ -33995,6 +34080,8 @@ Usage:
:custom-face Call `custom-set-faces' with each face definition.
:ensure Loads the package using package.el if necessary.
:pin Pin the package to an archive.
+:vc Install the package directly from a version control system
+ (using `package-vc.el').
(fn NAME &rest ARGS)" nil t)
(function-put 'use-package 'lisp-indent-function 'defun)
@@ -34364,35 +34451,58 @@ Visit the next conflicted file in the current project." t)
(autoload 'vc-create-tag "vc" "\
Descending recursively from DIR, make a tag called NAME.
For each registered file, the working revision becomes part of
-the named configuration. If the prefix argument BRANCHP is
-given, the tag is made as a new branch and the files are
-checked out in that new branch.
+the configuration identified by the tag.
+If BRANCHP is non-nil (interactively, the prefix argument), the
+tag NAME is a new branch, and the files are checked out and
+updated to reflect their revisions on that branch.
+In interactive use, DIR is `default-directory' for repository-granular
+VCSes (all the modern decentralized VCSes belong to this group),
+otherwise the command will prompt for DIR.
(fn DIR NAME BRANCHP)" t)
(autoload 'vc-create-branch "vc" "\
-Descending recursively from DIR, make a branch called NAME.
-After a new branch is made, the files are checked out in that new branch.
-Uses `vc-create-tag' with the non-nil arg `branchp'.
+Make a branch called NAME in directory DIR.
+After making the new branch, check out the branch, i.e. update the
+files in the tree to their revisions on the branch.
+
+Interactively, prompt for the NAME of the branch.
+
+With VCSes that maintain version information per file, this command also
+prompts for the directory DIR whose files, recursively, will be tagged
+with the NAME of new branch. For VCSes that maintain version
+information for the entire repository (all the modern decentralized
+VCSes belong to this group), DIR is always the `default-directory'.
+
+Finally, this command might prompt for the branch or tag from which to
+start (\"fork\") the new branch, with completion candidates including
+all the known branches and tags in the repository.
+
+This command invokes `vc-create-tag' with the non-nil BRANCHP argument.
(fn DIR NAME)" t)
(autoload 'vc-retrieve-tag "vc" "\
-For each file in or below DIR, retrieve their tagged version NAME.
+For each file in or below DIR, retrieve their version identified by tag NAME.
NAME can name a branch, in which case this command will switch to the
named branch in the directory DIR.
Interactively, prompt for DIR only for VCS that works at file level;
-otherwise use the repository root of the current buffer.
+otherwise use the root directory of the current buffer's VC tree.
If NAME is empty, it refers to the latest revisions of the current branch.
If locking is used for the files in DIR, then there must not be any
locked files at or below DIR (but if NAME is empty, locked files are
allowed and simply skipped).
-If the prefix argument BRANCHP is given, switch the branch
-and check out the files in that branch.
+If BRANCHP is non-nil (interactively, the prefix argument), switch to the
+branch and check out and update the files to their version on that branch.
This function runs the hook `vc-retrieve-tag-hook' when finished.
(fn DIR NAME &optional BRANCHP)" t)
(autoload 'vc-switch-branch "vc" "\
Switch to the branch NAME in the directory DIR.
-If NAME is empty, it refers to the latest revisions of the current branch.
+If NAME is empty, it refers to the latest revision of the current branch.
+Interactively, prompt for DIR only for VCS that works at file level;
+otherwise use the root directory of the current buffer's VC tree.
+Interactively, prompt for the NAME of the branch.
+After switching to the branch, check out and update the files to their
+version on that branch.
Uses `vc-retrieve-tag' with the non-nil arg `branchp'.
(fn DIR NAME)" t)
@@ -34425,7 +34535,8 @@ with its diffs (if the underlying VCS backend supports that).
(fn &optional LIMIT REVISION)" t)
(autoload 'vc-print-branch-log "vc" "\
-Show the change log for BRANCH root in a window.
+Show the change log for BRANCH in another window.
+The command prompts for the branch whose change log to show.
(fn BRANCH)" t)
(autoload 'vc-log-incoming "vc" "\
@@ -34846,7 +34957,7 @@ Key bindings:
;;; Generated autoloads from progmodes/verilog-mode.el
-(push (purecopy '(verilog-mode 2022 12 18 181110314)) package--builtin-versions)
+(push (purecopy '(verilog-mode 2023 6 6 141322628)) package--builtin-versions)
(autoload 'verilog-mode "verilog-mode" "\
Major mode for editing Verilog code.
\\<verilog-mode-map>
@@ -37169,9 +37280,9 @@ run a specific program. The program must be a member of
(provide 'loaddefs)
;; Local Variables:
-;; no-byte-compile: t
;; version-control: never
;; no-update-autoloads: t
+;; no-byte-compile: t
;; no-native-compile: t
;; coding: utf-8-emacs-unix
;; End:
diff --git a/lisp/leim/quail/greek.el b/lisp/leim/quail/greek.el
index 107f4131e38..0829097af5f 100644
--- a/lisp/leim/quail/greek.el
+++ b/lisp/leim/quail/greek.el
@@ -1116,6 +1116,7 @@ nil t t nil nil nil nil nil nil nil t)
("'U" ?á¿«)
("`R" ?Ῥ)
+ ("(R" ?Ῥ)
("+`" ?á¿­) ; #x1fed
("+'" ?á¿®) ; #x1fee
diff --git a/lisp/leim/quail/latin-ltx.el b/lisp/leim/quail/latin-ltx.el
index 21a01c85737..9be3d722504 100644
--- a/lisp/leim/quail/latin-ltx.el
+++ b/lisp/leim/quail/latin-ltx.el
@@ -244,7 +244,8 @@ system, including many technical ones. Examples:
;; (which is \varphi) are reversed in `ucs-names', so we define
;; them manually. Also ignore "GREEK SMALL LETTER EPSILON" and
;; add the correct value for \epsilon manually.
- (unless (string-match-p "\\<\\(?:PHI\\|GREEK SMALL LETTER EPSILON\\)\\>" name)
+ (unless (string-match-p "\\<GREEK SMALL LETTER \\(?:EPSILON\\|PHI\\)\\>"
+ name)
(concat "\\" (funcall (if (match-end 1) #' capitalize #'downcase)
(match-string 2 name)))))
"\\`GREEK \\(?:SMALL\\|CAPITA\\(L\\)\\) LETTER \\([^- ]+\\)\\'")
diff --git a/lisp/leim/quail/persian.el b/lisp/leim/quail/persian.el
index 2915f362ee6..758d2951292 100644
--- a/lisp/leim/quail/persian.el
+++ b/lisp/leim/quail/persian.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2011-2023 Free Software Foundation, Inc.
-;; Author: Mohsen BANAN <libre@mohsen.1.banan.byname.net>
+;; Author: Mohsen BANAN <emacs@mohsen.1.banan.byname.net>
;; URL: http://mohsen.1.banan.byname.net/contact
;; Keywords: multilingual, input method, Farsi, Persian, keyboard
@@ -23,7 +23,7 @@
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
-
+;;
;; This file contains a collection of input methods for
;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...)
;;
@@ -395,6 +395,7 @@
("u" ?Ùˆ)
("V" ?ؤ)
("h" ?Ù‡)
+ ("Hh" ?ه) ;; to take care of هه -- hHh
("y" ?ی)
("i" ?ی)
("I" ?ئ)
@@ -402,7 +403,7 @@
;;;;;;;;;;; isiri-6219 Table 6 -- جدول Û¶ - حروÙÙ٠عربی
("F" ?Ø¥)
- ("D" ?\u0671) ;; (insert-char #x0671)Ù± named: حرÙ٠الÙ٠وصل
+ ("D" ?\u0671) ;; (ucs-insert #x0671)Ù± named: حرÙ٠الÙ٠وصل
("K" ?Ùƒ) ;; Arabic kaf
("Th" ?Ø©) ;; ta marbuteh
("Y" ?ÙŠ)
@@ -421,40 +422,40 @@
("8" ?Û¸)
("9" ?Û¹)
- ("\\/" ?\u066B) ;; (insert-char #x066B)Ù« named: ممیز٠Ùارسی
- ("\\," ?\u066C) ;; (insert-char #x066C)Ù¬ named: جداکننده‌ی هزارهای Ùارسی
- ("%" ?\u066A) ;; (insert-char #x066A)Ùª named: درصد٠Ùارسی
- ("+" ?\u002B) ;; (insert-char #x002B)+ named: علامت٠به‌اضاÙÙ‡
- ("-" ?\u2212) ;; (insert-char #x2212)− named: علامت٠منها
- ("\\*" ?\u00D7) ;; (insert-char #x00D7)× named: علامت٠ضرب
- ("\\-" ?\u00F7) ;; (insert-char #x00F7)÷ named: علامت٠تقسیم
- ("<" ?\u003C) ;; (insert-char #x003C)< named: علامت٠کوچکتر
- ("=" ?\u003D) ;; (insert-char #x003D)= named: علامت٠مساوی
- (">" ?\u003E) ;; (insert-char #x003E)> named: علامت٠بزرگتر
+ ("\\/" ?\u066B) ;; (ucs-insert #x066B)Ù« named: ممیز٠Ùارسی
+ ("\\," ?\u066C) ;; (ucs-insert #x066C)Ù¬ named: جداکننده‌ی هزارهای Ùارسی
+ ("%" ?\u066A) ;; (ucs-insert #x066A)Ùª named: درصد٠Ùارسی
+ ("+" ?\u002B) ;; (ucs-insert #x002B)+ named: علامت٠به‌اضاÙÙ‡
+ ("-" ?\u2212) ;; (ucs-insert #x2212)− named: علامت٠منها
+ ("\\*" ?\u00D7) ;; (ucs-insert #x00D7)× named: علامت٠ضرب
+ ("\\-" ?\u00F7) ;; (ucs-insert #x00F7)÷ named: علامت٠تقسیم
+ ("<" ?\u003C) ;; (ucs-insert #x003C)< named: علامت٠کوچکتر
+ ("=" ?\u003D) ;; (ucs-insert #x003D)= named: علامت٠مساوی
+ (">" ?\u003E) ;; (ucs-insert #x003E)> named: علامت٠بزرگتر
;;;;;;;;;;; isiri-6219 Table 2 -- جدول ۲ - علائم نقطه گذاری٠مشترک
;;; Space
("." ?.) ;;
- (":" ?\u003A) ;; (insert-char #x003A): named:
- ("!" ?\u0021) ;; (insert-char #x0021)! named:
- ("\\." ?\u2026) ;; (insert-char #x2026)… named:
- ("\\-" ?\u2010) ;; (insert-char #x2010)†named:
- ("-" ?\u002D) ;; (insert-char #x002D)- named:
+ (":" ?\u003A) ;; (ucs-insert #x003A): named:
+ ("!" ?\u0021) ;; (ucs-insert #x0021)! named:
+ ("\\." ?\u2026) ;; (ucs-insert #x2026)… named:
+ ("\\-" ?\u2010) ;; (ucs-insert #x2010)†named:
+ ("-" ?\u002D) ;; (ucs-insert #x002D)- named:
("|" ?|)
;;("\\\\" ?\)
("//" ?/)
- ("*" ?\u002A) ;; (insert-char #x002A)* named:
- ("(" ?\u0028) ;; (insert-char #x0028)( named:
- (")" ?\u0029) ;; (insert-char #x0029)) named:
- ("[" ?\u005B) ;; (insert-char #x005B)[ named:
- ("[" ?\u005D) ;; (insert-char #x005D)] named:
- ("{" ?\u007B) ;; (insert-char #x007B){ named:
- ("}" ?\u007D) ;; (insert-char #x007D)} named:
- ("\\<" ?\u00AB) ;; (insert-char #x00AB)« named:
- ("\\>" ?\u00BB) ;; (insert-char #x00BB)» named:
- ("N" ?\u00AB) ;; (insert-char #x00AB)« named:
- ("M" ?\u00BB) ;; (insert-char #x00BB)» named:
+ ("*" ?\u002A) ;; (ucs-insert #x002A)* named:
+ ("(" ?\u0028) ;; (ucs-insert #x0028)( named:
+ (")" ?\u0029) ;; (ucs-insert #x0029)) named:
+ ("[" ?\u005B) ;; (ucs-insert #x005B)[ named:
+ ("[" ?\u005D) ;; (ucs-insert #x005D)] named:
+ ("{" ?\u007B) ;; (ucs-insert #x007B){ named:
+ ("}" ?\u007D) ;; (ucs-insert #x007D)} named:
+ ("\\<" ?\u00AB) ;; (ucs-insert #x00AB)« named:
+ ("\\>" ?\u00BB) ;; (ucs-insert #x00BB)» named:
+ ("N" ?\u00AB) ;; (ucs-insert #x00AB)« named:
+ ("M" ?\u00BB) ;; (ucs-insert #x00BB)» named:
;;;;;;;;;;; isiri-6219 Table 3 -- جدول Û³ - علائم نقطه گذاری٠Ùارسی
("," ?،) ;; farsi
@@ -463,24 +464,49 @@
("_" ?Ù€) ;;
-;;;;;;;;;;; isiri-6219 Table 1 -- جدول ۱ - نویسه‌های کنترلی
+;;;;;;;;;;; isiri-6219 Table 1 (plus bidi updates) - جدول ۱ - نویسه‌های کنترلی
;; LF
;; CR
- ("&zwnj;" ?\u200C) ;; (insert-char #x200C)‌ named: Ùاصله‌ی مجازی
+ ("&zwnj;" ?\u200C) ;; (ucs-insert #x200C)‌ named: Ùاصله‌ی مجازی
("/" ?\u200C) ;;
- ("&zwj;" ?\u200D) ;; (insert-char #x200D)†named: اتصال٠مجازی
+ ("&zwj;" ?\u200D) ;; (ucs-insert #x200D)†named: اتصال٠مجازی
("J" ?\u200D) ;;
- ("&lrm;" ?\u200E) ;; (insert-char #x200E)‎ named: نشانه‌ی چپ‌به‌راست
- ("&rlm;" ?\u200F) ;; (insert-char #x200F)†named: نشانه‌ی راست‌به‌چپ
- ("&ls;" ?\u2028) ;; (insert-char #x2028)
 named: جداکننده‌ی سطرها
- ("&ps;" ?\u2028) ;; (insert-char #x2029)
 named: جداکننده‌ی بندها
- ("&lre;" ?\u202A) ;; (insert-char #x202A)‪ named: زیرمتن٠چپ‌به‌راست
- ("&rle;" ?\u202B) ;; (insert-char #x202B) named: زیرمتن٠راست‌به‌چپ
- ("&pdf;" ?\u202C) ;; (insert-char #x202C) named: پایان٠زیرمتن
- ("&lro;" ?\u202D) ;; (insert-char #x202D) named: زیرمتن٠اکیداً چپ‌به‌راست
- ("&rlo;" ?\u202D) ;; (insert-char #x202E) named: زیرمتن٠اکیداً راست‌به‌چپ
- ("&bom;" ?\uFEFF) ;; (insert-char #xFEFF) named: نشانه‌ی ترتیب٠بایت‌ها
-
+ ("&ls;" ?\u2028) ;; (ucs-insert #x2028)
 named: جداکننده‌ی سطرها
+ ("&ps;" ?\u2029) ;; (ucs-insert #x2029)
 named: جداکننده‌ی بندها
+ ;;
+ ;; Byte Order Mark (Historic)
+ ("&bom;" ?\uFEFF) ;; (ucs-insert #xFEFF) named: نشانه‌ی ترتیب٠بایت‌ها
+ ;; BIDI Controls
+ ;; -------
+ ;; LEFT-TO-RIGHT MARK (strongly typed LTR character)
+ ("&lrm;" ?\u200E) ;; (ucs-insert #x200E) named: نشانه‌ی چپ‌به‌راست
+ ("L" ?\u200E)
+ ;; RIGHT-TO-LEFT MARK (strongly typed RTL character)
+ ("&rlm;" ?\u200F) ;; (ucs-insert #x200F) named: نشانه‌ی راست‌به‌چپ
+ ("R" ?\u200F)
+ ;; LEFT-TO-RIGHT ISOLATE (sets base direction to LTR & isolates the embedded)
+ ("&lri;" ?\u2066) ;; (ucs-insert #x2066)
+ ;; RIGHT-TO-LEFT ISOLATE (sets base direction to RTL & isolates the embedded)
+ ("&rli;" ?\u2067) ;; (ucs-insert #x2067)
+ ;; FIRST-STRONG ISOLATE (isolates content & sets dir to first strongly typed)
+ ("&fsi;" ?\u2068) ;; (ucs-insert #x2068)
+ ;; POP DIRECTIONAL ISOLATE (used for RLI, LRI or FSI)
+ ;; EMACS BUG
+ ;; If ("&pdi;" ?\u2069) is included Emacs fully hangs with a (describe-input-method 'farsi-transliterate-banan)
+ ;;("&pdi;" ?\u2069) ;; (ucs-insert #x2069)
+ ;; LEFT-TO-RIGHT EMBEDDING (sets base dir to LTR but allows embedded text)
+ ("&lre;" ?\u202A) ;; (ucs-insert #x202A) named: زیرمتن٠چپ‌به‌راست
+ ("B" ?\u202A)
+ ;; RIGHT-TO-LEFT EMBEDDING (sets base dir to RTL but allows embedded text)
+ ("&rle;" ?\u202B) ;; (ucs-insert #x202B) named: زیرمتن٠راست‌به‌چپ
+ ;; POP DIRECTIONAL FORMATTING (used for RLE or LRE and RLO or LRO)
+ ;; EMACS ANOMOLY --- Why does &pdf not show up in (describe-input-method 'farsi-transliterate-banan)
+ ("&pdf;" ?\u202C) ;; (ucs-insert #x202C) named: پایان٠زیرمتن
+ ("P" ?\u202C)
+ ;; LEFT-TO-RIGHT OVERRIDE (overrides the bidirectional algorithm, display LTR)
+ ("&lro;" ?\u202D) ;; (ucs-insert #x202D) named: زیرمتن٠اکیداً چپ‌به‌راست
+ ;; RIGHT-TO-LEFT OVERRIDE (overrides the bidirectional algorithm, display RTL)
+ ("&rlo;" ?\u202E) ;; (ucs-insert #x202E) named: زیرمتن٠اکیداً راست‌به‌چپ
;;;;;;;;;;; isiri-6219 Table 7 -- جدول Û· - نشانه‌های٠Ùارسی
("^" ?ÙŽ) ;; zbar ;; زبر Ùارسى
@@ -491,14 +517,14 @@
("O" ?ÙŒ) ;; دو پيش Ùارسى -- تنوين رÙع
("~" ?Ù‘) ;; tashdid ;; تشديد Ùارسى
("@" ?Ù’) ;; ساکن Ùارسى
- ("U" ?\u0653) ;; (insert-char #x0653)Ù“ named: مد٠Ùارسی
+ ("U" ?\u0653) ;; (ucs-insert #x0653)Ù“ named: مد٠Ùارسی
("`" ?Ù”) ;; همزه Ùارسى بالا
- ("C" ?\u0655) ;; (insert-char #x0655)Ù• named: همزه Ùارسى پایین
- ("$" ?\u0670) ;; (insert-char #x0670)Ù° named: الÙ٠مقصوره‌ی Ùارسی
+ ("C" ?\u0655) ;; (ucs-insert #x0655)Ù• named: همزه Ùارسى پایین
+ ("$" ?\u0670) ;; (ucs-insert #x0670)Ù° named: الÙ٠مقصوره‌ی Ùارسی
;;;;;;;;;;; isiri-6219 Table 8 - Forbidden Characters -- جدول ۸ - نویسه‌های٠ممنوع
-;; ;; he ye (insert-char 1728) (insert-char #x06c0) kills emacs-24.0.90
+;; ;; he ye (ucs-insert 1728) (ucs-insert #x06c0) kills emacs-24.0.90
;; arabic digits 0-9
@@ -508,7 +534,7 @@
("\\~" ?~)
("\\@" ?@)
("\\#" ?#)
- ("\\$" ?\uFDFC) ;; (insert-char #xFDFC)ï·¼ named:
+ ("\\$" ?\uFDFC) ;; (ucs-insert #xFDFC)ï·¼ named:
("\\^" ?^)
("\\1" ?1)
("\\2" ?2)
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 1cc70348267..532d2ca176d 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -103,7 +103,7 @@
;; During bootstrapping the byte-compiler is run interpreted
;; when compiling itself, which uses a lot more stack
;; than usual.
- (setq max-lisp-eval-depth 2200)))
+ (setq max-lisp-eval-depth (max max-lisp-eval-depth 3400))))
(if (eq t purify-flag)
;; Hash consing saved around 11% of pure space in my tests.
diff --git a/lisp/lpr.el b/lisp/lpr.el
index af59a953f38..6b8343b695d 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -73,7 +73,8 @@ switch on this list.
See `lpr-command'."
:type '(repeat (string :tag "Argument")))
-(defcustom lpr-add-switches (memq system-type '(berkeley-unix gnu/linux))
+(defcustom lpr-add-switches
+ (not (not (memq system-type '(berkeley-unix gnu/linux))))
"Non-nil means construct `-T' and `-J' options for the printer program.
These are made assuming that the program is `lpr';
if you are using some other incompatible printer program,
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 81ff14932c6..485ac4476ef 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -101,7 +101,7 @@ update the dependent variables."
:group 'ls-lisp)
(defcustom ls-lisp-ignore-case
- (memq ls-lisp-emulation '(MS-Windows MacOS))
+ (not (not (memq ls-lisp-emulation '(MS-Windows MacOS))))
"Non-nil causes ls-lisp alphabetic sorting to ignore case."
:set-after '(ls-lisp-emulation)
:type 'boolean
diff --git a/lisp/mail/binhex.el b/lisp/mail/binhex.el
index 4b903578a28..15f598fa224 100644
--- a/lisp/mail/binhex.el
+++ b/lisp/mail/binhex.el
@@ -49,7 +49,7 @@ input and write the converted data to its standard output."
:type '(repeat string))
(defcustom binhex-use-external
- (executable-find binhex-decoder-program)
+ (not (not (executable-find binhex-decoder-program)))
"Use external binhex program."
:version "22.1"
:type 'boolean)
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index f686c04536c..7a66089aec9 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -455,12 +455,16 @@ and send the mail again%s."
(setq send-mail-function (sendmail-query-user-about-smtp))
(when (derived-mode-p 'message-mode)
(setq message-send-mail-function (message-default-send-mail-function))
- (add-hook 'message-sent-hook
- (lambda ()
- (when (y-or-n-p "Save this mail sending choice?")
- (customize-save-variable 'send-mail-function
- send-mail-function)))
- nil t)))
+ ;; Don't ask the question below if we are going to ignore it in
+ ;; 'customize-save-variable' anyway.
+ (unless (or (null user-init-file)
+ (and (null custom-file) init-file-had-error))
+ (add-hook 'message-sent-hook
+ (lambda ()
+ (when (y-or-n-p "Save this mail sending choice?")
+ (customize-save-variable 'send-mail-function
+ send-mail-function)))
+ nil t))))
(or report-emacs-bug-no-confirmation
;; mailclient.el does not need a valid From
(eq send-mail-function 'mailclient-send-it)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index c56f4ce62dc..872299c2415 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -40,6 +40,7 @@
(require 'mail-utils)
(require 'rfc2047)
(require 'auth-source)
+(require 'rfc6068)
(declare-function compilation--message->loc "compile" (cl-x) t)
(declare-function epa--find-coding-system-for-mime-charset "epa" (mime-charset))
@@ -1120,10 +1121,36 @@ The buffer is expected to be narrowed to just the header of the message."
(define-key map [menu-bar mail]
(cons "Mail" (make-sparse-keymap "Mail")))
+ (define-key map [menu-bar mail mailing-list]
+ (cons "Mailing List" (make-sparse-keymap "Mailing List")))
+
+ (define-key map [menu-bar mail mailing-list list-help]
+ '(menu-item "Mailing List Help" rmail-mailing-list-help
+ :enable (rmail-get-header "List-Help")
+ :help "Compose email requesting help about this mailing list"))
+
+ (define-key map [menu-bar mail mailing-list list-archive]
+ '(menu-item "Mailing List Archive" rmail-mailing-list-archive
+ :enable (rmail-get-header "List-Archive")
+ :help "Browse the archive of this mailing list"))
+
+ (define-key map [menu-bar mail mailing-list list-unsubscribe]
+ '(menu-item "Unsubscribe From List" rmail-mailing-list-unsubscribe
+ :enable (rmail-get-header "List-Unsubscribe")
+ :help "Compose email to unsubscribe from this mailing list"))
+
+ (define-key map [menu-bar mail mailing-list list-post]
+ '(menu-item "Post To List" rmail-mailing-list-post
+ :enable (rmail-get-header "List-Post")
+ :help "Compose email to post to this mailing list"))
+
+ (define-key map [menu-bar mail lambda1]
+ '("----"))
+
(define-key map [menu-bar mail rmail-get-new-mail]
'("Get New Mail" . rmail-get-new-mail))
- (define-key map [menu-bar mail lambda]
+ (define-key map [menu-bar mail lambda2]
'("----"))
(define-key map [menu-bar mail continue]
@@ -2285,7 +2312,7 @@ significant attribute change was made."
(insert value)))
;; Otherwise add a header line to record the attributes and set
;; all but this one to no.
- (let ((header-value "--------"))
+ (let ((header-value (copy-sequence "--------")))
(aset header-value attr value)
(goto-char (if limit (1- limit) (point-max)))
(setq altered (/= value ?-))
@@ -4765,6 +4792,69 @@ Content-Transfer-Encoding: base64\n")
(setq buffer-file-coding-system rmail-message-encoding))))
(add-hook 'after-save-hook 'rmail-after-save-hook)
+
+;;; Mailing list support
+(defun rmail--mailing-list-message (which)
+ "Send a message to mailing list whose purpose is identified by WHICH.
+WHICH is a symbol, one of `help', `unsubscribe', or `post'."
+ (let ((header
+ (cond ((eq which 'help) "List-Help")
+ ((eq which 'unsubscribe) "List-Unsubscribe")
+ ((eq which 'post) "List-Post")))
+ (msg
+ (cond ((eq which 'post)
+ "Write Subject and body, then type \\[%s] to send the message.")
+ (t
+ "Type \\[%s] to send the message.")))
+ address header-list to subject)
+ (setq address (rmail-get-header header))
+ (cond ((and address (string-match "<\\(mailto:[^>]*\\)>" address))
+ (setq address (match-string 1 address))
+ (setq header-list (rfc6068-parse-mailto-url address)
+ to (cdr (assoc-string "To" header-list t))
+ subject (or (cdr (assoc-string "Subject" header-list t)) ""))
+ (rmail-start-mail nil to subject nil nil rmail-buffer)
+ (message (substitute-command-keys
+ (format msg (get mail-user-agent 'sendfunc)))))
+ (t
+ (user-error "This message does not specify \"%s\" address"
+ header)))))
+
+(defun rmail-mailing-list-help ()
+ "Send Help request to the mailing list which delivered the current message.
+This command starts composing an email message to the mailing list
+requesting help about the list. When the message is ready, send it
+as usual, via your MUA's send-email command."
+ (interactive nil rmail-mode)
+ (rmail--mailing-list-message 'help))
+
+(defun rmail-mailing-list-post ()
+ "Post a message to the mailing list which delivered the current message.
+This command starts composing an email message to the mailing list.
+Fill the Subject and the body of the message. When the message is
+ready, send it as usual, via your MUA's send-email command."
+ (interactive nil rmail-mode)
+ (rmail--mailing-list-message 'post))
+
+(defun rmail-mailing-list-unsubscribe ()
+ "Send unsubscribe request to the mailing list which delivered current message.
+This command starts composing an email message to the mailing list
+requesting to unsubscribe you from the list. When the message is
+ready, send it as usual, via your MUA's send-email command."
+ (interactive nil rmail-mode)
+ (rmail--mailing-list-message 'unsubscribe))
+
+(defun rmail-mailing-list-archive ()
+ "Browse the archive of the mailing list which delivered the current message."
+ (interactive nil rmail-mode)
+ (let* ((header (rmail-get-header "List-Archive"))
+ (url (and (stringp header)
+ (string-match " *<\\([^>]*\\)>" header)
+ (match-string 1 header))))
+ (if url
+ (browse-url url)
+ (user-error
+ "This message does not specify a valid \"List-Archive\" URL"))))
(provide 'rmail)
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 21dec2bbeb7..e3a6c16933b 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -742,13 +742,14 @@ message."
(setq rmail-summary-buffer nil)))
(save-excursion
(let ((rbuf (current-buffer))
- (total rmail-total-messages))
+ (total 0))
(set-buffer sumbuf)
;; Set up the summary buffer's contents.
(let ((buffer-read-only nil))
(erase-buffer)
(while summary-msgs
(princ (cdr (car summary-msgs)) sumbuf)
+ (setq total (1+ total))
(setq summary-msgs (cdr summary-msgs)))
(goto-char (point-min)))
;; Set up the rest of its state and local variables.
diff --git a/lisp/mail/uudecode.el b/lisp/mail/uudecode.el
index 7b3bad9e25c..4b9acd922d8 100644
--- a/lisp/mail/uudecode.el
+++ b/lisp/mail/uudecode.el
@@ -40,7 +40,7 @@ input and write the converted data to its standard output."
:type '(repeat string))
(defcustom uudecode-use-external
- (executable-find uudecode-decoder-program)
+ (not (not (executable-find uudecode-decoder-program)))
"Use external uudecode program."
:version "22.1"
:type 'boolean)
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index d020cf6e90a..21785e43a6e 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -219,10 +219,18 @@
'(menu-item "Insert File..." insert-file
:enable (menu-bar-non-minibuffer-window-p)
:help "Insert another file into current buffer"))
+ (bindings--define-key menu [project-dired]
+ '(menu-item "Open Project Directory" project-dired
+ :enable (menu-bar-non-minibuffer-window-p)
+ :help "Read the root directory of the current project, to operate on its files"))
(bindings--define-key menu [dired]
'(menu-item "Open Directory..." dired
:enable (menu-bar-non-minibuffer-window-p)
:help "Read a directory, to operate on its files"))
+ (bindings--define-key menu [project-open-file]
+ '(menu-item "Open File In Project..." project-find-file
+ :enable (menu-bar-non-minibuffer-window-p)
+ :help "Read existing file that belongs to current project into an Emacs buffer"))
(bindings--define-key menu [open-file]
'(menu-item "Open File..." menu-find-file-existing
:enable (menu-bar-non-minibuffer-window-p)
@@ -347,6 +355,9 @@
(bindings--define-key menu [tags-srch]
'(menu-item "Search Tagged Files..." tags-search
:help "Search for a regexp in all tagged files"))
+ (bindings--define-key menu [project-search]
+ '(menu-item "Search in Project Files..." project-find-regexp
+ :help "Search for a regexp in files belonging to current project"))
(bindings--define-key menu [separator-tag-search] menu-bar-separator)
(bindings--define-key menu [repeat-search-back]
@@ -398,6 +409,9 @@
(bindings--define-key menu [tags-repl]
'(menu-item "Replace in Tagged Files..." tags-query-replace
:help "Interactively replace a regexp in all tagged files"))
+ (bindings--define-key menu [project-replace]
+ '(menu-item "Replace in Project Files..." project-query-replace-regexp
+ :help "Interactively replace a regexp in files belonging to current project"))
(bindings--define-key menu [separator-replace-tags]
menu-bar-separator)
@@ -1746,8 +1760,12 @@ mail status in mode line"))
(defvar menu-bar-shell-commands-menu
(let ((menu (make-sparse-keymap "Shell Commands")))
+ (bindings--define-key menu [project-interactive-shell]
+ '(menu-item "Run Shell In Project" project-shell
+ :help "Run a subshell interactively, in the current project's root directory"))
+
(bindings--define-key menu [interactive-shell]
- '(menu-item "Run Shell Interactively" shell
+ '(menu-item "Run Shell" shell
:help "Run a subshell interactively"))
(bindings--define-key menu [async-shell-command]
@@ -1765,6 +1783,31 @@ mail status in mode line"))
menu))
+(defvar menu-bar-project-menu
+ (let ((menu (make-sparse-keymap "Project")))
+ (bindings--define-key menu [project-execute-extended-command] '(menu-item "Execute Extended Command..." project-execute-extended-command :help "Execute an extended command in project root directory"))
+ (bindings--define-key menu [project-query-replace-regexp] '(menu-item "Query Replace Regexp..." project-query-replace-regexp :help "Interactively replace a regexp in files belonging to current project"))
+ (bindings--define-key menu [project-or-external-find-regexp] '(menu-item "Find Regexp Including External Roots..." project-or-external-find-regexp :help "Search for a regexp in files belonging to current project or external files"))
+ (bindings--define-key menu [project-find-regexp] '(menu-item "Find Regexp..." project-find-regexp :help "Search for a regexp in files belonging to current project"))
+ (bindings--define-key menu [separator-project-search] menu-bar-separator)
+ (bindings--define-key menu [project-kill-buffers] '(menu-item "Kill Buffers..." project-kill-buffers :help "Kill the buffers belonging to the current project"))
+ (bindings--define-key menu [project-list-buffers] '(menu-item "List Buffers..." project-list-buffers :help "Pop up a window listing all Emacs buffers belonging to current project"))
+ (bindings--define-key menu [project-switch-to-buffer] '(menu-item "Switch To Buffer..." project-switch-to-buffer :help "Prompt for a buffer belonging to current project, and switch to it"))
+ (bindings--define-key menu [separator-project-buffers] menu-bar-separator)
+ (bindings--define-key menu [project-async-shell-command] '(menu-item "Async Shell Command..." project-async-shell-command :help "Invoke a shell command in project root asynchronously in background"))
+ (bindings--define-key menu [project-shell-command] '(menu-item "Shell Command..." project-shell-command :help "Invoke a shell command in project root and catch its output"))
+ (bindings--define-key menu [project-eshell] '(menu-item "Run Eshell" project-eshell :help "Run eshell for the current project"))
+ (bindings--define-key menu [project-shell] '(menu-item "Run Shell" project-shell :help "Run a subshell interactively, in the current project's root directory"))
+ (bindings--define-key menu [project-compile] '(menu-item "Compile..." project-compile :help "Invoke compiler or Make for current project, view errors"))
+ (bindings--define-key menu [separator-project-programs] menu-bar-separator)
+ (bindings--define-key menu [project-switch-project] '(menu-item "Switch Project..." project-switch-project :help "Switch to another project and then run a command"))
+ (bindings--define-key menu [project-vc-dir] '(menu-item "VC Dir..." project-vc-dir :help "Show the VC status of the project repository"))
+ (bindings--define-key menu [project-dired] '(menu-item "Open Project Root" project-dired :help "Read the root directory of the current project, to operate on its files"))
+ (bindings--define-key menu [project-find-dir] '(menu-item "Open Directory..." project-find-dir :help "Open existing directory that belongs to current project"))
+ (bindings--define-key menu [project-or-external-find-file] '(menu-item "Open File Including External Roots..." project-or-external-find-file :help "Open existing file that belongs to current project or its external roots"))
+ (bindings--define-key menu [project-open-file] '(menu-item "Open File..." project-find-file :help "Open an existing file that belongs to current project"))
+ menu))
+
(defun menu-bar-read-mail ()
"Read mail using `read-mail-command'."
(interactive)
@@ -1851,6 +1894,9 @@ mail status in mode line"))
'(menu-item "Language Server Support (Eglot)" eglot
:help "Start language server suitable for this buffer's major-mode"))
+ (bindings--define-key menu [project]
+ `(menu-item "Project" ,menu-bar-project-menu))
+
(bindings--define-key menu [ede]
'(menu-item "Project Support (EDE)"
global-ede-mode
@@ -1860,9 +1906,13 @@ mail status in mode line"))
(bindings--define-key menu [gdb]
'(menu-item "Debugger (GDB)..." gdb
:help "Debug a program from within Emacs with GDB"))
+ (bindings--define-key menu [project-compile]
+ '(menu-item "Compile Project..." project-compile
+ :help "Invoke compiler or Make for current project, view errors"))
+
(bindings--define-key menu [compile]
'(menu-item "Compile..." compile
- :help "Invoke compiler or Make, view compilation errors"))
+ :help "Invoke compiler or Make in current buffer's directory, view errors"))
(bindings--define-key menu [shell-commands]
`(menu-item "Shell Commands"
@@ -2347,7 +2397,17 @@ Buffers menu is regenerated."
'menu-item
"List All Buffers"
'list-buffers
- :help "Pop up a window listing all Emacs buffers"))
+ :help "Pop up a window listing all Emacs buffers")
+ (list 'select-buffer-in-project
+ 'menu-item
+ "Select Buffer In Project..."
+ 'project-switch-to-buffer
+ :help "Prompt for a buffer belonging to current project, and switch to it")
+ (list 'list-buffers-in-project
+ 'menu-item
+ "List Buffers In Project..."
+ 'project-list-buffers
+ :help "Pop up a window listing all Emacs buffers belonging to current project"))
"Entries to be included at the end of the \"Buffers\" menu.")
(defvar menu-bar-select-buffer-function 'switch-to-buffer
@@ -2567,10 +2627,11 @@ See `menu-bar-mode' for more information."
binding)))
(defun popup-menu (menu &optional position prefix from-menu-bar)
- "Popup the given menu and call the selected option.
+ "Popup MENU and call the selected option.
MENU can be a keymap, an easymenu-style menu or a list of keymaps as for
`x-popup-menu'.
-The menu is shown at the place where POSITION specifies.
+The menu is shown at the location specified by POSITION, which
+defaults to the place of the mouse click that popped the menu.
For the form of POSITION, see `popup-menu-normalize-position'.
PREFIX is the prefix argument (if any) to pass to the command.
FROM-MENU-BAR, if non-nil, means we are dropping one of menu-bar's menus."
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index a3dc1b0cfbf..5e86d265dd3 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -715,11 +715,21 @@ for use at QPOS."
"Text properties added to the text shown by `minibuffer-message'.")
(defun minibuffer-message (message &rest args)
- "Temporarily display MESSAGE at the end of the minibuffer.
-The text is displayed for `minibuffer-message-timeout' seconds,
-or until the next input event arrives, whichever comes first.
-Enclose MESSAGE in [...] if this is not yet the case.
-If ARGS are provided, then pass MESSAGE through `format-message'."
+ "Temporarily display MESSAGE at the end of minibuffer text.
+This function is designed to be called from the minibuffer, i.e.,
+when Emacs prompts the user for some input, and the user types
+into the minibuffer. If called when the current buffer is not
+the minibuffer, this function just calls `message', and thus
+displays MESSAGE in the echo-area.
+When called from the minibuffer, this function displays MESSAGE
+at the end of minibuffer text for `minibuffer-message-timeout'
+seconds, or until the next input event arrives, whichever comes first.
+It encloses MESSAGE in [...] if it is not yet enclosed.
+The intent is to show the message without hiding what the user typed.
+If ARGS are provided, then the function first passes MESSAGE
+through `format-message'.
+If some of the minibuffer text has the `minibuffer-message' text
+property, MESSAGE is shown at that position instead of EOB."
(if (not (minibufferp (current-buffer) t))
(progn
(if args
@@ -796,7 +806,7 @@ The minibuffer message functions include `minibuffer-message' and
(next-single-property-change pt 'minibuffer-message nil (point-max)))))
(defun set-minibuffer-message (message)
- "Temporarily display MESSAGE at the end of the minibuffer.
+ "Temporarily display MESSAGE at the end of the active minibuffer window.
If some part of the minibuffer text has the `minibuffer-message' property,
the message will be displayed before the first such character, instead of
at the end of the minibuffer.
@@ -954,7 +964,7 @@ is at its default value `grow-only'."
multi-message-separator)))
(defun clear-minibuffer-message ()
- "Clear minibuffer message.
+ "Clear message temporarily shown in the minibuffer.
Intended to be called via `clear-message-function'."
(when (not noninteractive)
(when (timerp minibuffer-message-timer)
@@ -2021,11 +2031,14 @@ completions."
(defcustom completions-header-format
(propertize "%s possible completions:\n" 'face 'shadow)
- "Format of completions header.
-It may contain one %s to show the total count of completions.
-When nil, no header is shown."
- :type '(choice (const :tag "No header" nil)
- (string :tag "Header format string"))
+ "If non-nil, the format string for completions heading line.
+The heading line is inserted before the completions, and is intended
+to summarize the completions.
+The format string may include one %s, which will be replaced with
+the total count of possible completions.
+If this is nil, no heading line will be shown."
+ :type '(choice (const :tag "No heading line" nil)
+ (string :tag "Format string for heading line"))
:version "29.1")
(defun completion--insert-strings (strings &optional group-fun)
@@ -2381,16 +2394,22 @@ These include:
;; If there are no completions, or if the current input is already
;; the sole completion, then hide (previous&stale) completions.
(minibuffer-hide-completions)
- (ding)
- (completion--message
- (if completions "Sole completion" "No completions")))
+ (if completions
+ (completion--message "Sole completion")
+ (unless completion-fail-discreetly
+ (ding)
+ (completion--message "No match"))))
(let* ((last (last completions))
(base-size (or (cdr last) 0))
(prefix (unless (zerop base-size) (substring string 0 base-size)))
(base-prefix (buffer-substring (minibuffer--completion-prompt-end)
(+ start base-size)))
- (base-suffix (buffer-substring (point) (point-max)))
+ (base-suffix
+ (if (eq (alist-get 'category (cdr md)) 'file)
+ (buffer-substring (save-excursion (or (search-forward "/" nil t) (point-max)))
+ (point-max))
+ ""))
(all-md (completion--metadata (buffer-substring-no-properties
start (point))
base-size md
@@ -4390,9 +4409,9 @@ after the end of the prompt, move to the end of the prompt.
Otherwise move to the start of the buffer."
(declare (interactive-only "use `(goto-char (point-min))' instead."))
(interactive "^P")
- (when (or (consp arg)
- (region-active-p))
- (push-mark))
+ (or (consp arg)
+ (region-active-p)
+ (push-mark))
(goto-char (cond
;; We want to go N/10th of the way from the beginning.
((and arg (not (consp arg)))
@@ -4501,7 +4520,7 @@ of `completion-no-auto-exit'.
If NO-QUIT is non-nil, insert the completion at point to the
minibuffer, but don't quit the completions window."
(interactive "P")
- (with-minibuffer-completions-window
+ (with-minibuffer-completions-window
(let ((completion-use-base-affixes t))
(choose-completion nil no-exit no-quit))))
diff --git a/lisp/misc.el b/lisp/misc.el
index ca013d5f72f..fad8d545e11 100644
--- a/lisp/misc.el
+++ b/lisp/misc.el
@@ -63,23 +63,60 @@ Also see the `duplicate-line' command."
(+ n (point)))))))
(insert string)))
+(defcustom duplicate-line-final-position 0
+ "Where to put point after `duplicate-line' or `duplicate-dwim'.
+When 0, leave point on the original line.
+When 1, move point to the first new line.
+When -1, move point to the last new line.
+The same column is preserved after moving to a new line."
+ :type '(choice (const :tag "Leave point on old line" 0)
+ (const :tag "Move point to first new line" 1)
+ (const :tag "Move point to last new line" -1)
+ (integer))
+ :group 'editing
+ :version "29.1")
+
+(defun duplicate--insert-copies (n string)
+ "Insert N copies of STRING at point."
+ (insert (mapconcat #'identity (make-list n string))))
+
;;;###autoload
(defun duplicate-line (&optional n)
"Duplicate the current line N times.
Interactively, N is the prefix numeric argument, and defaults to 1.
+The user option `duplicate-line-final-position' specifies where to
+move point after duplicating the line.
Also see the `copy-from-above-command' command."
(interactive "p")
(unless n
(setq n 1))
- (let ((line (buffer-substring (line-beginning-position) (line-end-position))))
- (save-excursion
- (forward-line 1)
- (unless (bolp)
- (insert "\n"))
- (dotimes (_ n)
- (insert line "\n")))))
-
-(declare-function rectangle--duplicate-right "rect" (n))
+ (let ((line (concat (buffer-substring (line-beginning-position)
+ (line-end-position))
+ "\n"))
+ (pos (point))
+ (col (current-column)))
+ (forward-line 1)
+ (unless (bolp)
+ (insert "\n"))
+ (duplicate--insert-copies n line)
+ (unless (< duplicate-line-final-position 0)
+ (goto-char pos))
+ (unless (eq duplicate-line-final-position 0)
+ (forward-line duplicate-line-final-position)
+ (move-to-column col))))
+
+(defcustom duplicate-region-final-position 0
+ "Where the region ends up after duplicating a region with `duplicate-dwim'.
+When 0, leave the region in place.
+When 1, put the region around the first copy.
+When -1, put the region around the last copy."
+ :type '(choice (const :tag "Leave region in place" 0)
+ (const :tag "Put region around first copy" 1)
+ (const :tag "Put region around last copy" -1))
+ :group 'editing
+ :version "29.1")
+
+(declare-function rectangle--duplicate-right "rect" (n displacement))
;; `duplicate-dwim' preserves an active region and changes the buffer
;; outside of it: disregard the region when immediately undoing the
@@ -92,25 +129,40 @@ Also see the `copy-from-above-command' command."
If the region is inactive, duplicate the current line (like `duplicate-line').
Otherwise, duplicate the region, which remains active afterwards.
If the region is rectangular, duplicate on its right-hand side.
-Interactively, N is the prefix numeric argument, and defaults to 1."
+Interactively, N is the prefix numeric argument, and defaults to 1.
+The variables `duplicate-line-final-position' and
+`duplicate-region-final-position' control the position of point
+and the region after the duplication."
(interactive "p")
(unless n
(setq n 1))
(cond
+ ((<= n 0) nil)
;; Duplicate rectangle.
((bound-and-true-p rectangle-mark-mode)
- (rectangle--duplicate-right n)
+ (rectangle--duplicate-right n
+ (if (< duplicate-region-final-position 0)
+ n
+ duplicate-region-final-position))
(setq deactivate-mark nil))
;; Duplicate (contiguous) region.
((use-region-p)
(let* ((beg (region-beginning))
(end (region-end))
- (text (buffer-substring beg end)))
+ (text (buffer-substring beg end))
+ (pt (point))
+ (mk (mark)))
(save-excursion
(goto-char end)
- (dotimes (_ n)
- (insert text))))
+ (duplicate--insert-copies n text))
+ (let* ((displace (if (< duplicate-region-final-position 0)
+ n
+ duplicate-region-final-position))
+ (d (* displace (- end beg))))
+ (unless (zerop d)
+ (push-mark (+ mk d))
+ (goto-char (+ pt d)))))
(setq deactivate-mark nil))
;; Duplicate line.
@@ -166,18 +218,22 @@ is an upper-case character."
(upcase-region (point) (progn (forward-char arg) (point)))))
;;;###autoload
-(defun forward-to-word (arg)
- "Move forward until encountering the beginning of a word.
-With argument, do this that many times."
+(defun forward-to-word (&optional arg)
+ "Move forward until encountering the beginning of the ARGth word.
+ARG defaults to 1. When called interactively, ARG is the prefix
+numeric argument."
(interactive "^p")
+ (unless arg (setq arg 1))
(or (re-search-forward (if (> arg 0) "\\W\\b" "\\b\\W") nil t arg)
(goto-char (if (> arg 0) (point-max) (point-min)))))
;;;###autoload
-(defun backward-to-word (arg)
- "Move backward until encountering the end of a word.
-With argument, do this that many times."
+(defun backward-to-word (&optional arg)
+ "Move backward until encountering the end of the ARGth word.
+ARG defaults to 1. When called interactively, ARG is the prefix
+numeric argument."
(interactive "^p")
+ (unless arg (setq arg 1))
(forward-to-word (- arg)))
;;;###autoload
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index e21367135d3..16ec33f92dc 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -4242,6 +4242,7 @@ directory, so that Emacs will know its current contents."
((eq identification 'user) user)
((eq identification 'host) host)
((eq identification 'localname) localname)
+ ((eq identification 'hop) nil)
(t (ange-ftp-replace-name-component file ""))))))
(defun ange-ftp-load (file &optional noerror nomessage nosuffix must-suffix)
@@ -4381,7 +4382,11 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
(ange-ftp-real-find-backup-file-name fn)))
(defun ange-ftp-file-user-uid ()
- ;; Return "don't know" value.
+ ;; Return "don't know" value.
+ -1)
+
+(defun ange-ftp-file-group-gid ()
+ ;; Return "don't know" value.
-1)
;;; Define the handler for special file names
@@ -4524,8 +4529,9 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
(put 'file-notify-rm-watch 'ange-ftp 'ignore)
(put 'file-notify-valid-p 'ange-ftp 'ignore)
-;; Return the "don't know' value for remote user uid.
+;; Return the "don't know" value for remote user uid and group gid.
(put 'file-user-uid 'ange-ftp 'ange-ftp-file-user-uid)
+(put 'file-group-gid 'ange-ftp 'ange-ftp-file-group-gid)
;;; Define ways of getting at unmodified Emacs primitives,
;;; turning off our handler.
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 0177d12f236..39513b8f602 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -825,10 +825,17 @@ If optional arg TEMP-FILE-NAME is non-nil, delete it instead."
(&optional localp no-error-if-not-filep))
;;;###autoload
-(defun browse-url-of-dired-file ()
- "In Dired, ask a WWW browser to display the file named on this line."
- (interactive)
+(defun browse-url-of-dired-file (&optional secondary)
+ "In Dired, ask a WWW browser to display the file named on this line.
+With prefix arg, use the secondary browser instead (e.g. EWW if
+`browse-url-secondary-browser-function' is set to
+`eww-browse-url'."
+ (interactive "P")
(let ((tem (dired-get-filename t t))
+ (browse-url-browser-function
+ (if secondary
+ browse-url-secondary-browser-function
+ browse-url-browser-function))
;; Some URL handlers open files in Emacs. We want to always
;; open in a browser, so disable those.
(browse-url-default-handlers nil))
diff --git a/lisp/net/dictionary.el b/lisp/net/dictionary.el
index d9973b831ba..8d81b3ec9d8 100644
--- a/lisp/net/dictionary.el
+++ b/lisp/net/dictionary.el
@@ -38,6 +38,8 @@
(require 'custom)
(require 'dictionary-connection)
(require 'button)
+(require 'help-mode)
+(require 'external-completion)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Stuff for customizing.
@@ -247,6 +249,65 @@ is utf-8"
)))
:version "28.1")
+(defcustom dictionary-read-word-prompt "Search word"
+ "Prompt string to use when prompting for a word."
+ :type 'string
+ :version "30.1")
+
+(defcustom dictionary-display-definition-function nil
+ "Function to use for displaying dictionary definitions.
+It is called with three string arguments: the word being defined,
+the dictionary name, and the full definition."
+ :type '(choice (const :tag "Dictionary buffer" nil)
+ (const :tag "Help buffer"
+ dictionary-display-definition-in-help-buffer)
+ (function :tag "Custom function"))
+ :version "30.1")
+
+(defcustom dictionary-read-word-function #'dictionary-read-word-default
+ "Function to use for prompting for a word.
+It is called with one string argument, the name of the dictionary to use, and
+must return a string."
+ :type '(choice (const :tag "Default" dictionary-read-word-default)
+ (const :tag "Dictionary-based completion"
+ dictionary-completing-read-word)
+ (function :tag "Custom function"))
+ :version "30.1")
+
+(defcustom dictionary-read-dictionary-function
+ #'dictionary-read-dictionary-default
+ "Function to use for prompting for a dictionary.
+It is called with no arguments and must return a string."
+ :type '(choice (const :tag "Default" dictionary-read-dictionary-default)
+ (const :tag "Choose among server-provided dictionaries"
+ dictionary-completing-read-dictionary)
+ (function :tag "Custom function"))
+ :version "30.1")
+
+(defcustom dictionary-search-interface nil
+ "Controls how `dictionary-search' prompts for words and displays definitions.
+
+When set to `help', `dictionary-search' displays definitions in a *Help* buffer,
+and provides completion for word selection based on dictionary matches.
+
+Otherwise, `dictionary-search' displays definitions in a *Dictionary* buffer."
+ :type '(choice (const :tag "Dictionary buffer" nil)
+ (const :tag "Help buffer" help))
+ :set (lambda (symbol value)
+ (let ((vals (pcase value
+ ('help '(dictionary-display-definition-in-help-buffer
+ dictionary-completing-read-word
+ dictionary-completing-read-dictionary))
+ (_ '(nil
+ dictionary-read-word-default
+ dictionary-read-dictionary-default)))))
+ (seq-setq (dictionary-display-definition-function
+ dictionary-read-word-function
+ dictionary-read-dictionary-function)
+ vals))
+ (set-default-toplevel-value symbol value))
+ :version "30.1")
+
(defface dictionary-word-definition-face
'((((supports (:family "DejaVu Serif")))
(:family "DejaVu Serif"))
@@ -366,6 +427,8 @@ is utf-8"
'()
"History list of searched word.")
+(defvar dictionary--last-match nil)
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Basic function providing startup actions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -683,7 +746,6 @@ previous state."
"Save the current state and start a new search based on ARGS.
The parameter ARGS is a cons cell where car is the word to search
and cdr is the dictionary where to search the word in."
- (interactive)
(dictionary-store-positions)
(let ((word (car args))
(dictionary (cdr args)))
@@ -1140,6 +1202,20 @@ If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
((car (get-char-property (point) 'data)))
(t (current-word t))))
+(defun dictionary-read-dictionary-default ()
+ "Prompt for a dictionary name."
+ (read-string (if dictionary-default-dictionary
+ (format "Dictionary (%s): "
+ dictionary-default-dictionary)
+ "Dictionary: ")
+ nil nil dictionary-default-dictionary))
+
+(defun dictionary-read-word-default (_dictionary)
+ "Prompt for a word to search in the dictionary."
+ (let ((default (dictionary-search-default)))
+ (read-string (format-prompt dictionary-read-word-prompt default)
+ nil 'dictionary-word-history default)))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; User callable commands
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -1150,23 +1226,22 @@ If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
It presents the selection or word at point as default input and
allows editing it."
(interactive
- (list (let ((default (dictionary-search-default)))
- (read-string (format-prompt "Search word" default)
- nil 'dictionary-word-history default))
- (if current-prefix-arg
- (read-string (if dictionary-default-dictionary
- (format "Dictionary (%s): " dictionary-default-dictionary)
- "Dictionary: ")
- nil nil dictionary-default-dictionary)
- dictionary-default-dictionary)))
-
- ;; if called by pressing the button
- (unless word
- (setq word (read-string "Search word: " nil 'dictionary-word-history)))
- ;; just in case non-interactively called
+ (let ((dict
+ (if current-prefix-arg
+ (funcall dictionary-read-dictionary-function)
+ dictionary-default-dictionary)))
+ (list (funcall dictionary-read-word-function dict) dict)))
(unless dictionary
(setq dictionary dictionary-default-dictionary))
- (dictionary-new-search (cons word dictionary)))
+ (if dictionary-display-definition-function
+ (if-let ((definition (dictionary-define-word word dictionary)))
+ (funcall dictionary-display-definition-function word dictionary definition)
+ (user-error "No definition found for \"%s\"" word))
+ ;; if called by pressing the button
+ (unless word
+ (setq word (read-string "Search word: " nil 'dictionary-word-history)))
+ ;; just in case non-interactively called
+ (dictionary-new-search (cons word dictionary))))
;;;###autoload
(defun dictionary-lookup-definition ()
@@ -1258,7 +1333,6 @@ allows editing it."
:version "28.1")
(defun dictionary-definition (word &optional dictionary)
- (interactive)
(unwind-protect
(let ((dictionary (or dictionary dictionary-default-dictionary)))
(dictionary-do-search word dictionary 'dictionary-read-definition t))
@@ -1315,7 +1389,6 @@ tooltip mode. The hook function will check the value of the
variable `dictionary-tooltip-mode' to decide if some action must be
taken. When disabling the tooltip mode the value of this variable
will be set to nil."
- (interactive)
(tooltip-mode on)
(if on
(add-hook 'tooltip-functions #'dictionary-display-tooltip)
@@ -1389,5 +1462,102 @@ the word at mouse click."
'dictionary-separator))
menu)
+(defun dictionary-define-word (word dictionary)
+ "Return the definition of WORD in DICTIONARY, or nil if not found."
+ (dictionary-send-command
+ (format "define %s \"%s\"" dictionary word))
+ (when (and (= (read (dictionary-read-reply)) 150)
+ (= (read (dictionary-read-reply)) 151))
+ (dictionary-read-answer)))
+
+(defun dictionary-match-word (word &rest _)
+ "Return dictionary matches for WORD as a list of strings.
+Further arguments are currently ignored."
+ (unless (string-empty-p word)
+ (if (string= (car dictionary--last-match) word)
+ (cdr dictionary--last-match)
+ (dictionary-send-command
+ (format "match %s %s \"%s\""
+ dictionary-default-dictionary
+ dictionary-default-strategy
+ word))
+ (when (and (= (read (dictionary-read-reply)) 152))
+ (with-temp-buffer
+ (insert (dictionary-read-answer))
+ (goto-char (point-min))
+ (let ((result nil))
+ (while (not (eobp))
+ (search-forward " " nil t)
+ (push (read (current-buffer)) result)
+ (search-forward "\n" nil t))
+ (setq result (reverse result))
+ (setq dictionary--last-match (cons word result))
+ result))))))
+
+(defun dictionary-completing-read-word (dictionary)
+ "Prompt for a word with completion based on matches in DICTIONARY."
+ (let* ((completion-ignore-case t)
+ (dictionary-default-dictionary dictionary)
+ (word-at-point (thing-at-point 'word t))
+ (default (dictionary-match-word word-at-point)))
+ (completing-read (format-prompt dictionary-read-word-prompt default)
+ (external-completion-table 'dictionary-definition
+ #'dictionary-match-word)
+ nil t nil 'dictionary-word-history default t)))
+
+(defun dictionary-dictionaries ()
+ "Return the list of dictionaries the server supports."
+ (dictionary-send-command "show db")
+ (when (and (= (read (dictionary-read-reply)) 110))
+ (with-temp-buffer
+ (insert (dictionary-read-answer))
+ (goto-char (point-min))
+ (let ((result '(("!" . "First matching dictionary")
+ ("*" . "All dictionaries"))))
+ (while (not (eobp))
+ (push (cons (buffer-substring
+ (search-forward "\n" nil t)
+ (1- (search-forward " " nil t)))
+ (read (current-buffer)))
+ result))
+ (reverse result)))))
+
+(defun dictionary-completing-read-dictionary ()
+ "Prompt for a dictionary the server supports."
+ (let* ((dicts (dictionary-dictionaries))
+ (len (apply #'max (mapcar #'length (mapcar #'car dicts))))
+ (completion-extra-properties
+ (list :annotation-function
+ (lambda (key)
+ (concat (make-string (1+ (- len (length key))) ?\s)
+ (alist-get key dicts nil nil #'string=))))))
+ (completing-read (format-prompt "Select dictionary"
+ dictionary-default-dictionary)
+ dicts nil t nil nil dictionary-default-dictionary)))
+
+(define-button-type 'help-word
+ :supertype 'help-xref
+ 'help-function 'dictionary-search
+ 'help-echo "mouse-2, RET: describe this word")
+
+(defun dictionary-display-definition-in-help-buffer (word dictionary definition)
+ "Display DEFINITION, the definition of WORD in DICTIONARY."
+ (let ((help-buffer-under-preparation t))
+ (help-setup-xref (list #'dictionary-search word dictionary)
+ (called-interactively-p 'interactive))
+ (with-help-window (help-buffer)
+ (with-current-buffer (help-buffer)
+ (insert definition)
+ ;; Buttonize references to other definitions. These appear as
+ ;; words enclosed with curly braces.
+ (goto-char (point-min))
+ (while (re-search-forward (rx "{"
+ (group-n 1 (* (not (any ?}))))
+ "}")
+ nil t)
+ (help-xref-button 1 'help-word
+ (match-string 1)
+ dictionary))))))
+
(provide 'dictionary)
;;; dictionary.el ends here
diff --git a/lisp/net/eudc-vars.el b/lisp/net/eudc-vars.el
index 12f5347bd35..b6b06f0c9fa 100644
--- a/lisp/net/eudc-vars.el
+++ b/lisp/net/eudc-vars.el
@@ -441,7 +441,12 @@ BBDB fields. SPECs are sexps which are evaluated:
"LDAP attributes which are always searched for without wildcard character.
This is the list of special dictionary-valued attributes, where
wildcarded search may fail. For example, it fails with
-objectclass in Active Directory servers."
+objectclass in Active Directory servers.
+
+You may not want functions like `eudc-query-form' and
+`eudc-expand-inline' to do LDAP wildcard expansion by default on
+certain fields. If so, add the relevant symbol to this list, for
+example `mail' for the \"E-Mail\" field."
:type '(repeat (symbol :tag "Directory attribute")))
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 99450356b7c..2e743751427 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -94,7 +94,8 @@ no parameters) that returns a directory name."
(defcustom eww-suggest-uris
'(eww-links-at-point
thing-at-point-url-at-point
- eww-current-url)
+ eww-current-url
+ eww-bookmark-urls)
"List of functions called to form the list of default URIs for `eww'.
Each of the elements is a function returning either a string or a list
of strings. The results will be joined into a single list with
@@ -104,7 +105,8 @@ duplicate entries (if any) removed."
:type 'hook
:options '(eww-links-at-point
thing-at-point-url-at-point
- eww-current-url))
+ eww-current-url
+ eww-bookmark-urls))
(defcustom eww-bookmarks-directory user-emacs-directory
"Directory where bookmark files will be stored."
@@ -329,6 +331,12 @@ parameter, and should return the (possibly) transformed URL."
:parent shr-image-map
"RET" #'eww-follow-link)
+(defvar-keymap eww-minibuffer-url-keymap
+ :doc "Keymap used in the minibuffer prompt for URLs or keywords."
+ :parent minibuffer-local-completion-map
+ "SPC" #'self-insert-command
+ "?" #'self-insert-command)
+
(defun eww-suggested-uris nil
"Return the list of URIs to suggest at the `eww' prompt.
This list can be customized via `eww-suggest-uris'."
@@ -377,10 +385,12 @@ killed after rendering.
For more information, see Info node `(eww) Top'."
(interactive
- (let ((uris (eww-suggested-uris)))
- (list (read-string (format-prompt "Enter URL or keywords"
- (and uris (car uris)))
- nil 'eww-prompt-history uris)
+ (let ((uris (eww-suggested-uris))
+ (minibuffer-local-completion-map eww-minibuffer-url-keymap))
+ (list (completing-read (format-prompt "Enter URL or keywords"
+ (and uris (car uris)))
+ (seq-uniq (append eww-prompt-history uris))
+ nil nil nil 'eww-prompt-history uris)
current-prefix-arg)))
(setq url (eww--dwim-expand-url url))
(pop-to-buffer-same-window
@@ -1076,6 +1086,7 @@ the like."
"&" #'eww-browse-with-external-browser
"d" #'eww-download
"w" #'eww-copy-page-url
+ "A" #'eww-copy-alternate-url
"C" #'url-cookie-list
"v" #'eww-view-source
"R" #'eww-readable
@@ -2227,6 +2238,12 @@ If ERROR-OUT, signal user-error if there are no bookmarks."
'eww-bookmark)))
(eww-browse-url (plist-get bookmark :url))))
+(defun eww-bookmark-urls ()
+ "Get the URLs from the current list of bookmarks."
+ (interactive nil eww-boomark-mode)
+ (eww-read-bookmarks)
+ (mapcar (lambda (x) (plist-get x :url)) eww-bookmarks))
+
(defvar-keymap eww-bookmark-mode-map
"C-k" #'eww-bookmark-kill
"C-y" #'eww-bookmark-yank
@@ -2560,4 +2577,83 @@ Otherwise, the restored buffer will contain a prompt to do so by using
(provide 'eww)
+;;; Alternate links (RSS and Atom feeds, etc.)
+
+(defun eww--alternate-urls (dom &optional base)
+ "Return an alist of alternate links in DOM.
+
+Each element is a list of the form (URL TYPE TITLE) where URL is
+the href attribute of the link expanded relative to BASE, TYPE is
+its type attribute, and TITLE is its title attribute. If any of
+these attributes is absent, the corresponding element is nil."
+ (let ((alternates
+ (seq-filter
+ (lambda (attrs) (string= (alist-get 'rel attrs)
+ "alternate"))
+ (mapcar #'dom-attributes (dom-by-tag dom 'link)))))
+ (mapcar (lambda (alternate)
+ (list (url-expand-file-name (alist-get 'href alternate)
+ base)
+ (alist-get 'type alternate)
+ (alist-get 'title alternate)))
+ alternates)))
+
+(defun eww-read-alternate-url ()
+ "Get the URL of an alternate link of this page.
+
+If there is just one alternate link, return its URL. If there
+are multiple alternate links, prompt for one in the minibuffer
+with completion. If there are none, return nil."
+ (when-let ((alternates (eww--alternate-urls
+ (plist-get eww-data :dom)
+ (plist-get eww-data :url))))
+ (let ((url-max-width
+ (seq-max (mapcar #'string-pixel-width
+ (mapcar #'car alternates))))
+ (title-max-width
+ (seq-max (mapcar #'string-pixel-width
+ (mapcar #'caddr alternates))))
+ (sep-width (string-pixel-width " ")))
+ (if (cdr alternates)
+ (let ((completion-extra-properties
+ (list :annotation-function
+ (lambda (feed)
+ (let* ((attrs (alist-get feed
+ alternates
+ nil
+ nil
+ #'string=))
+ (type (car attrs))
+ (title (cadr attrs)))
+ (concat
+ (propertize " " 'display
+ `(space :align-to
+ (,(+ sep-width
+ url-max-width))))
+ title
+ (when type
+ (concat
+ (propertize " " 'display
+ `(space :align-to
+ (,(+ (* 2 sep-width)
+ url-max-width
+ title-max-width))))
+ "[" type "]"))))))))
+ (completing-read "Alternate URL: " alternates nil t))
+ (caar alternates)))))
+
+(defun eww-copy-alternate-url ()
+ "Copy the alternate URL of the current page into the kill ring.
+If there are multiple alternate links on the current page, prompt
+for one in the minibuffer, with completion.
+Alternate links are references that an HTML page may include to
+point to its alternative representations, such as a translated
+version or an RSS feed."
+ (interactive nil eww-mode)
+ (if-let ((url (eww-read-alternate-url)))
+ (progn
+ (kill-new url)
+ (message "Copied %s to kill ring" url))
+ (user-error "No alternate links found on this page!")))
+
;;; eww.el ends here
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el
index 78405414a28..5c3766a76b3 100644
--- a/lisp/net/ldap.el
+++ b/lisp/net/ldap.el
@@ -472,7 +472,8 @@ the associated values.
If WITHDN is non-nil, each entry in the result will be prepended with
its distinguished name WITHDN.
Additional search parameters can be specified through
-`ldap-host-parameters-alist', which see."
+`ldap-host-parameters-alist', which see.
+See `ldap-search-internal' for the description of return value."
(interactive "sFilter:")
(or host
(setq host ldap-default-host)
@@ -487,7 +488,9 @@ Additional search parameters can be specified through
(if ldap-ignore-attribute-codings
result
(mapcar (lambda (record)
- (mapcar #'ldap-decode-attribute record))
+ (append (and withdn (list (car record)))
+ (mapcar #'ldap-decode-attribute
+ (if withdn (cdr record) record))))
result))))
(defun ldap-password-read (host)
@@ -570,8 +573,13 @@ RFC 1779 syntax).
`sizelimit' is the maximum number of matches to return.
`withdn' if non-nil each entry in the result will be prepended with
its distinguished name DN.
-The function returns a list of matching entries. Each entry is itself
-an alist of attribute/value pairs."
+
+The function returns a list of matching entries. Each entry is
+itself a list ATTRS of (ATTR VALUE) pairs; `dn' attribute is not
+included.
+When `withdn' is non-nil the result is instead an alist with
+elements (DN . ATTRS), where DN is a string value and ATTRS is
+same as above."
(let* ((buf (get-buffer-create " *ldap-search*"))
(bufval (get-buffer-create " *ldap-value*"))
(host (or (plist-get search-plist 'host)
@@ -703,35 +711,42 @@ an alist of attribute/value pairs."
(while (progn
(skip-chars-forward " \t\n")
(not (eobp)))
- (setq dn (buffer-substring (point) (line-end-position)))
- (forward-line 1)
(while (looking-at "^\\([A-Za-z][-A-Za-z0-9]*\
\\|[0-9]+\\(?:\\.[0-9]+\\)*\\)\\(;[-A-Za-z0-9]+\\)*[=:\t ]+\
\\(<[\t ]*file://\\)?\\(.*\\)$")
(setq name (match-string 1)
value (match-string 4))
- ;; Need to handle file:///D:/... as generated by OpenLDAP
- ;; on DOS/Windows as local files.
- (if (and (memq system-type '(windows-nt ms-dos))
- (eq (string-match "/\\(.:.*\\)$" value) 0))
- (setq value (match-string 1 value)))
- ;; Do not try to open non-existent files
- (if (match-string 3)
- (with-current-buffer bufval
- (erase-buffer)
- (set-buffer-multibyte nil)
- (insert-file-contents-literally value)
- (delete-file value)
- (setq value (buffer-string)))
- (setq value " "))
- (setq record (cons (list name value)
- record))
+ (when (memq system-type '(windows-nt ms-dos))
+ ;; Need to handle file:///D:/... as generated by
+ ;; OpenLDAP on DOS/Windows as local files.
+ (save-match-data
+ (when (eq (string-match "/\\(.:.*\\)$" value) 0)
+ (setq value (match-string 1 value)))))
+ (cond ((match-string 3) ;normal value written to a file
+ (with-current-buffer bufval
+ (erase-buffer)
+ (set-buffer-multibyte nil)
+ (insert-file-contents-literally value)
+ (delete-file value)
+ (setq value (buffer-string))))
+ (;; dn is output inline
+ (string-equal-ignore-case name "dn")
+ (setq dn value
+ name nil
+ value nil))
+ (t (setq value " ")))
+ (and name value
+ (setq record (cons (list name value)
+ record)))
(forward-line 1))
- (cond (withdn
- (push (cons dn (nreverse record)) result))
- (record
- (push (nreverse record) result)))
- (setq record nil)
+ (when dn
+ (cond (withdn
+ (push (cons dn (nreverse record))
+ result))
+ (record
+ (push (nreverse record) result))))
+ (setq record nil
+ dn nil)
(message "Parsing results... %d" numres)
(setq numres (1+ numres)))
(message "Parsing results... done")
diff --git a/lisp/net/mailcap.el b/lisp/net/mailcap.el
index 10c5a7744c1..4d01737e3e6 100644
--- a/lisp/net/mailcap.el
+++ b/lisp/net/mailcap.el
@@ -979,7 +979,7 @@ If NO-DECODE is non-nil, don't decode STRING."
(".vox" . "audio/basic")
(".vrml" . "x-world/x-vrml")
(".wav" . "audio/x-wav")
- (".xls" . "application/vnd\\.ms-excel")
+ (".xls" . "application/vnd.ms-excel")
(".wrl" . "x-world/x-vrml")
(".xbm" . "image/xbm")
(".xpm" . "image/xpm")
@@ -1051,8 +1051,7 @@ If FORCE, re-parse even if already parsed."
(setq save-pos (point))
(skip-chars-forward "^ \t\n")
(downcase-region save-pos (point))
- (setq type (mailcap--regexp-quote-type
- (buffer-substring save-pos (point))))
+ (setq type (buffer-substring save-pos (point)))
(while (not (eolp))
(skip-chars-forward " \t")
(setq save-pos (point))
@@ -1065,12 +1064,6 @@ If FORCE, re-parse even if already parsed."
(setq mailcap-mime-extensions (append extns mailcap-mime-extensions)
extns nil)))))
-(defun mailcap--regexp-quote-type (type)
- (if (not (string-search "/" type))
- type
- (pcase-let ((`(,major ,minor) (split-string type "/")))
- (concat major "/" (regexp-quote minor)))))
-
(defun mailcap-extension-to-mime (extn)
"Return the MIME content type of the file extensions EXTN."
(mailcap-parse-mimetypes)
@@ -1107,7 +1100,7 @@ For instance, `image/png' will result in `png'."
(dolist (info (cdr data))
(setq type (cdr (assq 'type (cdr info))))
(unless (string-search "*" type)
- (push type res))))
+ (push (string-replace "\\" "" type) res))))
(nreverse res)))))
;;;
diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el
index ea4318e21b5..cb725c0674e 100644
--- a/lisp/net/net-utils.el
+++ b/lisp/net/net-utils.el
@@ -774,11 +774,11 @@ and `network-connection-service-alist', which see."
(process-name (concat "Finger [" user-and-host "]"))
(regexps finger-X.500-host-regexps)
) ;; found
- (and regexps
- (while (not (string-match (car regexps) host))
- (setq regexps (cdr regexps)))
- (when regexps
- (setq user-and-host user)))
+ (when regexps
+ (while (not (string-match (car regexps) host))
+ (setq regexps (cdr regexps)))
+ (when regexps
+ (setq user-and-host user)))
(run-network-program
process-name
host
diff --git a/lisp/net/ntlm.el b/lisp/net/ntlm.el
index 356bf95669f..c92c90bf694 100644
--- a/lisp/net/ntlm.el
+++ b/lisp/net/ntlm.el
@@ -98,7 +98,6 @@ USER is a string representing a user name to be authenticated and
DOMAIN is a NT domain. USER can include a NT domain part as in
user@domain where the string after @ is used as the domain if DOMAIN
is not given."
- (interactive)
(let ((request-ident (concat "NTLMSSP" (make-string 1 0)))
(request-msgType (concat (make-string 1 1) (make-string 3 0)))
;0x01 0x00 0x00 0x00
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 5e4aa5e1198..0ee52d8ef6c 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -584,7 +584,7 @@ If ARG is non-nil, instead prompt for connection parameters."
(condition-case nil
(let ((process (rcirc-connect server port nick user-name
full-name channels password encryption
- client-cert server-alias)))
+ server-alias client-cert)))
(when rcirc-display-server-buffer
(pop-to-buffer-same-window (process-buffer process))))
(quit (message "Quit connecting to %s"
@@ -680,7 +680,7 @@ See `rcirc-connect' for more details on these variables.")
;;;###autoload
(defun rcirc-connect (server &optional port nick user-name
full-name startup-channels password encryption
- certfp server-alias)
+ server-alias certfp)
"Connect to SERVER.
The arguments PORT, NICK, USER-NAME, FULL-NAME, PASSWORD,
ENCRYPTION, CERTFP, SERVER-ALIAS are interpreted as in
@@ -1233,9 +1233,9 @@ If SILENT is non-nil, do not print the message in any irc buffer."
(let ((response (if noticep "NOTICE" "PRIVMSG")))
(rcirc-get-buffer-create process target)
(dolist (msg (rcirc-split-message message))
- (rcirc-send-string process response target : msg)
(unless silent
- (rcirc-print process (rcirc-nick process) response target msg)))))
+ (rcirc-print process (rcirc-nick process) response target msg))
+ (rcirc-send-string process response target : msg))))
(defvar-local rcirc-input-ring nil
"Ring object for input.")
@@ -2034,7 +2034,7 @@ connection."
(not (string= sender (rcirc-nick process))))
(let* ((buffer (rcirc-target-buffer process sender response target text))
(time (if-let ((time (rcirc-get-tag "time")))
- (parse-iso8601-time-string time)
+ (parse-iso8601-time-string time t)
(current-time)))
(inhibit-read-only t))
(with-current-buffer buffer
@@ -2204,7 +2204,7 @@ The message is logged in `rcirc-log', and is later written to
disk. PROCESS is the process object for the current connection."
(let ((filename (funcall rcirc-log-filename-function process target))
(time (and-let* ((time (rcirc-get-tag "time")))
- (parse-iso8601-time-string time))))
+ (parse-iso8601-time-string time t))))
(unless (null filename)
(let ((cell (assoc-string filename rcirc-log-alist))
(line (concat (format-time-string rcirc-time-format time)
@@ -2998,7 +2998,7 @@ If ARG is given, opens the URL in a new browser window."
"Insert a timestamp."
(goto-char (point-min))
(let ((time (and-let* ((time (rcirc-get-tag "time")))
- (parse-iso8601-time-string time))))
+ (parse-iso8601-time-string time t))))
(insert (rcirc-facify (format-time-string rcirc-time-format time)
'rcirc-timestamp))))
diff --git a/lisp/net/secrets.el b/lisp/net/secrets.el
index f4e68d7b817..08ab942fddb 100644
--- a/lisp/net/secrets.el
+++ b/lisp/net/secrets.el
@@ -687,13 +687,38 @@ ITEM can also be an object path, which is returned if contained in COLLECTION."
item (secrets-get-item-property item-path "Label"))
(throw 'item-found item-path)))))))
+(defun secrets-lock-item (collection item)
+ "Lock collection item labeled ITEM in COLLECTION.
+If successful, return the object path of the item. Does not lock
+the collection."
+ (let ((item-path (secrets-item-path collection item)))
+ (unless (secrets-empty-path item-path)
+ (secrets-prompt
+ (cadr
+ (dbus-call-method
+ :session secrets-service secrets-path secrets-interface-service
+ "Lock" `(:array :object-path ,item-path)))))
+ item-path))
+
+(defun secrets-unlock-item (collection item)
+ "Unlock item labeled ITEM from collection labeled COLLECTION.
+If successful, return the object path of the item."
+ (let ((item-path (secrets-item-path collection item)))
+ (unless (secrets-empty-path item-path)
+ (secrets-prompt
+ (cadr
+ (dbus-call-method
+ :session secrets-service secrets-path secrets-interface-service
+ "Unlock" `(:array :object-path ,item-path)))))
+ item-path))
+
(defun secrets-get-secret (collection item)
"Return the secret of item labeled ITEM in COLLECTION.
If there are several items labeled ITEM, it is undefined which
one is returned. If there is no such item, return nil.
ITEM can also be an object path, which is used if contained in COLLECTION."
- (let ((item-path (secrets-item-path collection item)))
+ (let ((item-path (secrets-unlock-item collection item)))
(unless (secrets-empty-path item-path)
(dbus-byte-array-to-string
(nth 2
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 4e44dfbef03..9b19a1b3980 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1215,7 +1215,6 @@ START, and END. Note that START and END should be markers."
(add-text-properties
start (point)
(list 'shr-url url
- 'shr-tab-stop t
'button t
'category 'shr ; For button.el button buffers.
'help-echo (let ((parsed (url-generic-parse-url
@@ -1240,6 +1239,8 @@ START, and END. Note that START and END should be markers."
;; Make separate regions not `eq' so that they'll get
;; separate mouse highlights.
'mouse-face (list 'highlight)))
+ (when (< start (point))
+ (add-text-properties start (1+ start) '(shr-tab-stop t)))
;; Don't overwrite any keymaps that are already in the buffer (i.e.,
;; image keymaps).
(while (and start
@@ -2529,7 +2530,7 @@ flags that control whether to collect or render objects."
(setq natural-width
(or (dom-attr dom 'shr-td-cache-natural)
(let ((natural (max (shr-pixel-buffer-width)
- (shr-dom-max-natural-width dom 0))))
+ (shr-dom-max-natural-width dom))))
(dom-set-attribute dom 'shr-td-cache-natural natural)
natural))))
(if (and natural-width
@@ -2558,22 +2559,18 @@ flags that control whether to collect or render objects."
(cdr (assq 'color shr-stylesheet))
(cdr (assq 'background-color shr-stylesheet))))))
-(defun shr-dom-max-natural-width (dom max)
- (if (eq (dom-tag dom) 'table)
- (max max (or
- (cl-loop
- for line in (dom-attr dom 'shr-suggested-widths)
- maximize (+
- shr-table-separator-length
- (cl-loop for elem in line
- summing
- (+ (cdr elem)
- (* 2 shr-table-separator-length)))))
- 0))
- (dolist (child (dom-children dom))
- (unless (stringp child)
- (setq max (max (shr-dom-max-natural-width child max)))))
- max))
+(defun shr-dom-max-natural-width (dom)
+ (or (if (eq (dom-tag dom) 'table)
+ (cl-loop for line in (dom-attr dom 'shr-suggested-widths)
+ maximize (+ shr-table-separator-length
+ (cl-loop for elem in line
+ summing
+ (+ (cdr elem)
+ (* 2 shr-table-separator-length)))))
+ (cl-loop for child in (dom-children dom)
+ unless (stringp child)
+ maximize (shr-dom-max-natural-width child)))
+ 0))
(defun shr-buffer-width ()
(goto-char (point-min))
diff --git a/lisp/net/soap-client.el b/lisp/net/soap-client.el
index e4b8bbd9cb5..010e86354b6 100644
--- a/lisp/net/soap-client.el
+++ b/lisp/net/soap-client.el
@@ -5,7 +5,7 @@
;; Author: Alexandru Harsanyi <AlexHarsanyi@gmail.com>
;; Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
;; Created: December, 2009
-;; Version: 3.2.1
+;; Version: 3.2.3
;; Keywords: soap, web-services, comm, hypermedia
;; Package: soap-client
;; URL: https://github.com/alex-hhh/emacs-soap-client
@@ -717,9 +717,9 @@ representing leap seconds."
second)
minute hour day month year second-fraction datatype time-zone)
(let ((time
- (encode-time (list
- (if new-decode-time new-decode-time-second second)
- minute hour day month year nil nil time-zone))))
+ ;; Call encode-time the old way, for Emacs<27.
+ (encode-time (if new-decode-time new-decode-time-second second)
+ minute hour day month year time-zone)))
(if new-decode-time
(with-no-warnings (decode-time time nil t))
(decode-time time))))))
@@ -946,7 +946,7 @@ This is a specialization of `soap-encode-attributes' for
(t nil)))
(defun soap-type-is-array? (type)
- "Return t if TYPE defines an ARRAY."
+ "Return t if TYPE is an ARRAY."
(and (soap-xs-complex-type-p type)
(eq (soap-xs-complex-type-indicator type) 'array)))
diff --git a/lisp/net/socks.el b/lisp/net/socks.el
index adf8b357dc3..968a28d2be8 100644
--- a/lisp/net/socks.el
+++ b/lisp/net/socks.el
@@ -328,7 +328,6 @@
(advice-add 'open-network-stream :around #'socks--open-network-stream))
(defun socks-open-connection (server-info)
- (interactive)
(save-excursion
(let ((proc
(let ((socks-override-functions nil))
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index 14c63ba5834..2b5369ea3b5 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -130,6 +130,7 @@ It is used for TCP/IP devices."
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-adb-handle-file-executable-p)
(file-exists-p . tramp-adb-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-adb-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -1000,6 +1001,7 @@ implementation will be used."
;; deleted.
(when (bufferp stderr)
(ignore-errors
+ (tramp-taint-remote-process-buffer stderr)
(with-current-buffer stderr
(insert-file-contents-literally
remote-tmpstderr 'visit)))
@@ -1237,8 +1239,6 @@ connection if a previous connection has died for some reason."
tramp-adb-program args)))
(prompt (md5 (concat (prin1-to-string process-environment)
(current-time-string)))))
- (tramp-message
- vec 6 "%s" (string-join (process-command p) " "))
;; Wait for initial prompt. On some devices, it needs an
;; initial RET, in order to get it.
(sleep-for 0.1)
@@ -1247,11 +1247,9 @@ connection if a previous connection has died for some reason."
(unless (process-live-p p)
(tramp-error vec 'file-error "Terminated!"))
- ;; Set sentinel and query flag. Initialize variables.
+ ;; Set sentinel. Initialize variables.
(set-process-sentinel p #'tramp-process-sentinel)
- (process-put p 'tramp-vector vec)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)
@@ -1311,6 +1309,7 @@ connection if a previous connection has died for some reason."
(tramp-set-connection-property p "connected" t)))))))
;;; Default connection-local variables for Tramp.
+
(defconst tramp-adb-connection-local-default-shell-variables
'((shell-file-name . "/system/bin/sh")
(shell-command-switch . "-c"))
diff --git a/lisp/net/tramp-archive.el b/lisp/net/tramp-archive.el
index c2175612fa8..6fcb0ae5e69 100644
--- a/lisp/net/tramp-archive.el
+++ b/lisp/net/tramp-archive.el
@@ -242,6 +242,7 @@ It must be supported by libarchive(3).")
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-archive-handle-file-executable-p)
(file-exists-p . tramp-archive-handle-file-exists-p)
+ (file-group-gid . tramp-archive-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-archive-handle-file-local-copy)
(file-locked-p . ignore)
@@ -644,6 +645,13 @@ offered."
"Like `file-exists-p' for file archives."
(file-exists-p (tramp-archive-gvfs-file-name filename)))
+(defun tramp-archive-handle-file-group-gid ()
+ "Like `file-group-gid' for file archives."
+ (with-parsed-tramp-archive-file-name default-directory nil
+ (let ((default-directory (file-name-directory archive)))
+ ;; `file-group-gid' exists since Emacs 30.1.
+ (tramp-compat-funcall 'file-group-gid))))
+
(defun tramp-archive-handle-file-local-copy (filename)
"Like `file-local-copy' for file archives."
(file-local-copy (tramp-archive-gvfs-file-name filename)))
@@ -672,7 +680,7 @@ offered."
(concat (file-truename archive) local))))
(defun tramp-archive-handle-file-user-uid ()
- "Like `user-uid' for file archives."
+ "Like `file-user-uid' for file archives."
(with-parsed-tramp-archive-file-name default-directory nil
(let ((default-directory (file-name-directory archive)))
;; `file-user-uid' exists since Emacs 30.1.
diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el
index c5864e7fa5e..e0d38853956 100644
--- a/lisp/net/tramp-cache.el
+++ b/lisp/net/tramp-cache.el
@@ -496,12 +496,12 @@ PROPERTIES is a list of file properties (strings)."
(cons property (gethash property hash tramp-cache-undefined)))
,properties)))
(unwind-protect (progn ,@body)
- ;; Reset PROPERTIES. Recompute hash, it could have been flushed.
- (setq hash (tramp-get-hash-table ,key))
- (dolist (value values)
- (if (not (eq (cdr value) tramp-cache-undefined))
- (puthash (car value) (cdr value) hash)
- (remhash (car value) hash)))))))
+ ;; Reset PROPERTIES. Recompute hash, it could have been flushed.
+ (setq hash (tramp-get-hash-table ,key))
+ (dolist (value values)
+ (if (not (eq (cdr value) tramp-cache-undefined))
+ (puthash (car value) (cdr value) hash)
+ (remhash (car value) hash)))))))
;;;###tramp-autoload
(defun tramp-cache-print (table)
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el
index 1a9d8003530..07f449a3a2e 100644
--- a/lisp/net/tramp-cmds.el
+++ b/lisp/net/tramp-cmds.el
@@ -207,17 +207,76 @@ This includes password cache, file cache, connection cache, buffers."
;; The end.
(run-hooks 'tramp-cleanup-all-connections-hook))
+(defcustom tramp-cleanup-some-buffers-hook nil
+ "Hook for `tramp-cleanup-some-buffers'.
+The functions determine which buffers shall be killed. This
+happens when at least one of the functions returns non-nil. The
+functions are called with `current-buffer' set."
+ :group 'tramp
+ :version "30.1"
+ :type 'hook)
+
+(add-hook 'tramp-cleanup-some-buffers-hook
+ #'buffer-file-name)
+
+(defun tramp-cleanup-dired-buffer-p ()
+ "Return t if current buffer runs `dired-mode'."
+ (derived-mode-p 'dired-mode))
+
+(add-hook 'tramp-cleanup-some-buffers-hook
+ #'tramp-cleanup-dired-buffer-p)
+
+(defvar tramp-tainted-remote-process-buffers nil
+ "List of process buffers to be cleaned up.")
+
+(defun tramp-delete-tainted-remote-process-buffer-function ()
+ "Delete current buffer from `tramp-tainted-remote-process-buffers'."
+ (setq tramp-tainted-remote-process-buffers
+ (delete (current-buffer) tramp-tainted-remote-process-buffers)))
+
;;;###tramp-autoload
-(defun tramp-cleanup-all-buffers ()
- "Kill all remote buffers."
+(defun tramp-taint-remote-process-buffer (buffer)
+ "Mark buffer as related to remote processes."
+ (add-to-list 'tramp-tainted-remote-process-buffers buffer))
+
+(add-hook 'kill-buffer-hook
+ #'tramp-delete-tainted-remote-process-buffer-function)
+(add-hook 'tramp-unload-hook
+ (lambda ()
+ (remove-hook 'kill-buffer-hook
+ #'tramp-delete-tainted-remote-process-buffer-function)))
+
+(defun tramp-cleanup-remote-process-p ()
+ "Return t if current buffer belongs to a remote process."
+ (memq (current-buffer) tramp-tainted-remote-process-buffers))
+
+(add-hook 'tramp-cleanup-some-buffers-hook
+ #'tramp-cleanup-remote-process-p)
+
+;;;###tramp-autoload
+(defun tramp-cleanup-some-buffers ()
+ "Kill some remote buffers.
+A buffer is killed when it has a remote `default-directory', and
+one of the functions in `tramp-cleanup-some-buffers-hook' returns
+non-nil."
(interactive)
;; Remove all Tramp related connections.
(tramp-cleanup-all-connections)
- ;; Remove all buffers with a remote default-directory.
+ ;; Remove all buffers with a remote default-directory which fit the hook.
(dolist (name (tramp-list-remote-buffers))
- (when (bufferp (get-buffer name)) (kill-buffer name))))
+ (and (buffer-live-p (get-buffer name))
+ (with-current-buffer (get-buffer name)
+ (run-hook-with-args-until-success 'tramp-cleanup-some-buffers-hook))
+ (kill-buffer name))))
+
+;;;###tramp-autoload
+(defun tramp-cleanup-all-buffers ()
+ "Kill all remote buffers."
+ (interactive)
+ (let ((tramp-cleanup-some-buffers-hook '(tramp-compat-always)))
+ (tramp-cleanup-some-buffers)))
(defcustom tramp-default-rename-alist nil
"Default target for renaming remote buffer file names.
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index 420d6cadb9c..bb7b266dd35 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -29,12 +29,13 @@
;;; Code:
+(require 'ansi-color)
(require 'auth-source)
(require 'format-spec)
-(require 'ls-lisp) ;; Due to `tramp-handle-insert-directory'.
(require 'parse-time)
(require 'shell)
(require 'subr-x)
+(require 'xdg)
(declare-function tramp-error "tramp")
(declare-function tramp-tramp-file-p "tramp")
@@ -64,9 +65,16 @@
(with-no-warnings (funcall ,function ,@arguments))))
;; We must use a local directory. If it is remote, we could run into
-;; an infloop.
+;; an infloop. We try to follow the XDG specification, for security reasons.
(defconst tramp-compat-temporary-file-directory
- (eval (car (get 'temporary-file-directory 'standard-value)) t)
+ (file-name-as-directory
+ (if-let ((xdg (xdg-cache-home))
+ ((file-directory-p xdg))
+ ((file-writable-p xdg)))
+ ;; We can use `file-name-concat' starting with Emacs 28.1.
+ (prog1 (setq xdg (concat (file-name-as-directory xdg) "emacs"))
+ (make-directory xdg t))
+ (eval (car (get 'temporary-file-directory 'standard-value)) t)))
"The default value of `temporary-file-directory'.")
(defsubst tramp-compat-make-temp-name ()
@@ -219,6 +227,16 @@ Add the extension of F, if existing."
(lambda (sequence length)
(= (length sequence) length))))
+;; `always' is introduced with Emacs 28.1.
+(defalias 'tramp-compat-always
+ (if (fboundp 'always)
+ #'always
+ (lambda (&rest _arguments)
+ "Do nothing and return t.
+This function accepts any number of ARGUMENTS, but ignores them.
+Also see `ignore'."
+ t)))
+
;; `permission-denied' is introduced in Emacs 29.1.
(defconst tramp-permission-denied
(if (get 'permission-denied 'error-conditions) 'permission-denied 'file-error)
diff --git a/lisp/net/tramp-container.el b/lisp/net/tramp-container.el
index 5ae9ebaefb2..7f8d4473ad7 100644
--- a/lisp/net/tramp-container.el
+++ b/lisp/net/tramp-container.el
@@ -37,19 +37,20 @@
;; C-x C-f /podman:USER@CONTAINER:/path/to/file
;;
;; Where:
-;; USER is the user on the container to connect as (optional)
-;; CONTAINER is the container to connect to
+;; USER is the user on the container to connect as (optional).
+;; CONTAINER is the container to connect to.
;;
;;
;;
;; Open file in a Kubernetes container:
;;
-;; C-x C-f /kubernetes:POD:/path/to/file
+;; C-x C-f /kubernetes:[CONTAINER.]POD:/path/to/file
;;
;; Where:
-;; POD is the pod to connect to.
-;; By default, the first container in that pod will be
-;; used.
+;; POD is the pod to connect to.
+;; CONTAINER is the container to connect to (optional).
+;; By default, the first container in that pod will
+;; be used.
;;
;; Completion for POD and accessing it operate in the current
;; namespace, use this command to change it:
@@ -58,15 +59,25 @@
;;
;;
;;
-;; Open a file on an existing toolbox container via Toolbox:
+;; Open a file on an existing Toolbox container:
;;
;; C-x C-f /toolbox:CONTAINER:/path/to/file
;;
;; Where:
-;; CONTAINER is the container to connect to (optional)
+;; CONTAINER is the container to connect to (optional).
;;
;; If the container is not running, it is started. If no container is
;; specified, the default Toolbox container is used.
+;;
+;;
+;;
+;; Open a file on a running Flatpak sandbox:
+;;
+;; C-x C-f /flatpak:SANDBOX:/path/to/file
+;;
+;; Where:
+;; SANDBOX is the running sandbox to connect to.
+;; It could be an application ID, an instance ID, or a PID.
;;; Code:
@@ -96,6 +107,20 @@
:type '(choice (const "kubectl")
(string)))
+(defcustom tramp-kubernetes-context nil
+ "Context of Kubernetes.
+If it is nil, the default context will be used."
+ :group 'tramp
+ :version "30.1"
+ :type '(choice (const :tag "Use default" nil)
+ (string)))
+
+(defcustom tramp-kubernetes-namespace "default"
+ "Namespace of Kubernetes."
+ :group 'tramp
+ :version "30.1"
+ :type 'string)
+
;;;###tramp-autoload
(defcustom tramp-toolbox-program "toolbox"
"Name of the Toolbox client program."
@@ -105,6 +130,14 @@
(string)))
;;;###tramp-autoload
+(defcustom tramp-flatpak-program "flatpak"
+ "Name of the Flatpak client program."
+ :group 'tramp
+ :version "30.1"
+ :type '(choice (const "flatpak")
+ (string)))
+
+;;;###tramp-autoload
(defconst tramp-docker-method "docker"
"Tramp method name to use to connect to Docker containers.")
@@ -121,6 +154,10 @@
"Tramp method name to use to connect to Toolbox containers.")
;;;###tramp-autoload
+(defconst tramp-flatpak-method "flatpak"
+ "Tramp method name to use to connect to Flatpak sandboxes.")
+
+;;;###tramp-autoload
(defun tramp-container--completion-function (program)
"List running containers available for connection.
PROGRAM is the program to be run for \"ps\", either
@@ -150,29 +187,83 @@ This function is used by `tramp-set-completion-function', please
see its function help for a description of the format."
(when-let ((default-directory tramp-compat-temporary-file-directory)
(raw-list (shell-command-to-string
- (concat tramp-kubernetes-program
- " get pods --no-headers "
- "-o custom-columns=NAME:.metadata.name")))
- (names (split-string raw-list "\n" 'omit)))
- (mapcar (lambda (name) (list nil name)) (delq nil names))))
+ (concat
+ tramp-kubernetes-program " "
+ (tramp-kubernetes--context-namespace nil)
+ " get pods --no-headers"
+ ;; We separate pods by "|". Inside a pod,
+ ;; its name is separated from the containers
+ ;; by ":". Containers are separated by ",".
+ " -o jsonpath='{range .items[*]}{\"|\"}{.metadata.name}"
+ "{\":\"}{range .spec.containers[*]}{.name}{\",\"}"
+ "{end}{end}'")))
+ (lines (split-string raw-list "|" 'omit)))
+ (let (names)
+ (dolist (line lines)
+ (setq line (split-string line ":" 'omit))
+ ;; Pod name.
+ (push (car line) names)
+ ;; Container names.
+ (dolist (elt (split-string (cadr line) "," 'omit))
+ (push (concat elt "." (car line)) names)))
+ (mapcar (lambda (name) (list nil name)) (delq nil names)))))
+
+(defconst tramp-kubernetes--host-name-regexp
+ (rx (? (group (regexp tramp-host-regexp)) ".")
+ (group (regexp tramp-host-regexp)))
+ "The CONTAINER.POD syntax of kubernetes host names in Tramp.")
+
+;;;###tramp-autoload
+(defun tramp-kubernetes--container (vec)
+ "Extract the container name from a kubernetes host name in VEC."
+ (or (let ((host (tramp-file-name-host vec)))
+ (and (string-match tramp-kubernetes--host-name-regexp host)
+ (match-string 1 host)))
+ ""))
+
+;;;###tramp-autoload
+(defun tramp-kubernetes--pod (vec)
+ "Extract the pod name from a kubernetes host name in VEC."
+ (or (let ((host (tramp-file-name-host vec)))
+ (and (string-match tramp-kubernetes--host-name-regexp host)
+ (match-string 2 host)))
+ ""))
+
+(defun tramp-kubernetes--current-context (vec)
+ "Return Kubernetes current context.
+Obey `tramp-kubernetes-context'"
+ (or tramp-kubernetes-context
+ (with-tramp-connection-property nil "current-context"
+ (with-temp-buffer
+ (when (zerop
+ (tramp-call-process
+ vec tramp-kubernetes-program nil t nil
+ "config" "current-context"))
+ (goto-char (point-min))
+ (buffer-substring (point) (line-end-position)))))))
(defun tramp-kubernetes--current-context-data (vec)
"Return Kubernetes current context data as JSON string."
- (with-temp-buffer
- (when (zerop
- (tramp-call-process
- vec tramp-kubernetes-program nil t nil
- "config" "current-context"))
- (goto-char (point-min))
- (let ((current-context (buffer-substring (point) (line-end-position))))
- (erase-buffer)
- (when (zerop
- (tramp-call-process
- vec tramp-kubernetes-program nil t nil
- "config" "view" "-o"
- (format
- "jsonpath='{.contexts[?(@.name == \"%s\")]}'" current-context)))
- (buffer-string))))))
+ (when-let ((current-context (tramp-kubernetes--current-context vec)))
+ (with-temp-buffer
+ (when (zerop
+ (tramp-call-process
+ vec tramp-kubernetes-program nil t nil
+ "config" "view" "-o"
+ (format
+ "jsonpath='{.contexts[?(@.name == \"%s\")]}'" current-context)))
+ (buffer-string)))))
+
+;;;###tramp-autoload
+(defun tramp-kubernetes--context-namespace (vec)
+ "The kubectl options for context and namespace as string."
+ (mapconcat
+ #'identity
+ `(,(when-let ((context (tramp-kubernetes--current-context vec)))
+ (format "--context=%s" context))
+ ,(when tramp-kubernetes-namespace
+ (format "--namespace=%s" tramp-kubernetes-namespace)))
+ " "))
;;;###tramp-autoload
(defun tramp-toolbox--completion-function (&rest _args)
@@ -196,6 +287,30 @@ see its function help for a description of the format."
(mapcar (lambda (name) (list nil name)) (delq nil names))))
;;;###tramp-autoload
+(defun tramp-flatpak--completion-function (&rest _args)
+ "List Flatpak sandboxes available for connection.
+It returns application IDs or, in case there is no application
+ID, instance IDs.
+
+This function is used by `tramp-set-completion-function', please
+see its function help for a description of the format."
+ (when-let ((default-directory tramp-compat-temporary-file-directory)
+ (raw-list
+ (shell-command-to-string
+ (concat tramp-flatpak-program
+ " ps --columns=instance,application")))
+ (lines (split-string raw-list "\n" 'omit))
+ (names (mapcar
+ (lambda (line)
+ (when (string-match
+ (rx bol (* space) (group (+ (not space)))
+ (? (+ space) (group (+ (not space)))) eol)
+ line)
+ (or (match-string 2 line) (match-string 1 line))))
+ lines)))
+ (mapcar (lambda (name) (list nil name)) (delq nil names))))
+
+;;;###tramp-autoload
(defvar tramp-default-remote-shell) ;; Silence byte compiler.
;;;###tramp-autoload
@@ -229,12 +344,13 @@ see its function help for a description of the format."
(add-to-list 'tramp-methods
`(,tramp-kubernetes-method
(tramp-login-program ,tramp-kubernetes-program)
- (tramp-login-args (("exec")
+ (tramp-login-args (("%x") ; context and namespace.
+ ("exec")
+ ("-c" "%a") ; container.
("%h")
("-it")
("--")
("%l")))
- (tramp-config-check tramp-kubernetes--current-context-data)
(tramp-direct-async (,tramp-default-remote-shell "-c"))
(tramp-remote-shell ,tramp-default-remote-shell)
(tramp-remote-shell-login ("-l"))
@@ -253,6 +369,17 @@ see its function help for a description of the format."
(add-to-list 'tramp-default-host-alist `(,tramp-toolbox-method nil ""))
+ (add-to-list 'tramp-methods
+ `(,tramp-flatpak-method
+ (tramp-login-program ,tramp-flatpak-program)
+ (tramp-login-args (("enter")
+ ("%h")
+ ("%l")))
+ (tramp-direct-async (,tramp-default-remote-shell "-c"))
+ (tramp-remote-shell ,tramp-default-remote-shell)
+ (tramp-remote-shell-login ("-l"))
+ (tramp-remote-shell-args ("-c"))))
+
(tramp-set-completion-function
tramp-docker-method
`((tramp-container--completion-function
@@ -269,7 +396,42 @@ see its function help for a description of the format."
(tramp-set-completion-function
tramp-toolbox-method
- '((tramp-toolbox--completion-function ""))))
+ '((tramp-toolbox--completion-function "")))
+
+ (tramp-set-completion-function
+ tramp-flatpak-method
+ '((tramp-flatpak--completion-function "")))
+
+ ;; Default connection-local variables for Tramp.
+
+ (defconst tramp-kubernetes-connection-local-default-variables
+ '((tramp-config-check . tramp-kubernetes--current-context-data)
+ ;; This variable will be eval'ed in `tramp-expand-args'.
+ (tramp-extra-expand-args
+ . (?a (tramp-kubernetes--container (car tramp-current-connection))
+ ?h (tramp-kubernetes--pod (car tramp-current-connection))
+ ?x (tramp-kubernetes--context-namespace (car tramp-current-connection)))))
+ "Default connection-local variables for remote kubernetes connections.")
+
+ (connection-local-set-profile-variables
+ 'tramp-kubernetes-connection-local-default-profile
+ tramp-kubernetes-connection-local-default-variables)
+
+ (connection-local-set-profiles
+ `(:application tramp :protocol ,tramp-kubernetes-method)
+ 'tramp-kubernetes-connection-local-default-profile)
+
+ (defconst tramp-flatpak-connection-local-default-variables
+ `((tramp-remote-path . ,(cons "/app/bin" tramp-remote-path)))
+ "Default connection-local variables for remote flatpak connections.")
+
+ (connection-local-set-profile-variables
+ 'tramp-flatpak-connection-local-default-profile
+ tramp-flatpak-connection-local-default-variables)
+
+ (connection-local-set-profiles
+ `(:application tramp :protocol ,tramp-flatpak-method)
+ 'tramp-flatpak-connection-local-default-profile))
(add-hook 'tramp-unload-hook
(lambda ()
diff --git a/lisp/net/tramp-crypt.el b/lisp/net/tramp-crypt.el
index 4d15695ccbf..9d52966b817 100644
--- a/lisp/net/tramp-crypt.el
+++ b/lisp/net/tramp-crypt.el
@@ -180,7 +180,8 @@ If NAME doesn't belong to an encrypted remote directory, return nil."
(file-directory-p . tramp-handle-file-directory-p)
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-crypt-handle-file-executable-p)
- (file-exists-p . tramp-handle-file-exists-p)
+ (file-exists-p . tramp-crypt-handle-file-exists-p)
+ ;; `file-group-gid' performed by default-handler.
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-handle-file-local-copy)
(file-locked-p . tramp-crypt-handle-file-locked-p)
@@ -316,8 +317,7 @@ connection if a previous connection has died for some reason."
:name (tramp-get-connection-name vec)
:buffer (tramp-get-connection-buffer vec)
:server t :host 'local :service t :noquery t)))
- (process-put p 'tramp-vector vec)
- (set-process-query-on-exit-flag p nil)))
+ (tramp-post-process-creation p vec)))
;; The following operations must be performed without
;; `tramp-crypt-file-name-handler'.
@@ -723,6 +723,11 @@ absolute file names."
(let (tramp-crypt-enabled)
(file-executable-p (tramp-crypt-encrypt-file-name filename))))
+(defun tramp-crypt-handle-file-exists-p (filename)
+ "Like `file-exists-p' for Tramp files."
+ (let (tramp-crypt-enabled)
+ (file-exists-p (tramp-crypt-encrypt-file-name filename))))
+
(defun tramp-crypt-handle-file-locked-p (filename)
"Like `file-locked-p' for Tramp files."
(let (tramp-crypt-enabled)
diff --git a/lisp/net/tramp-fuse.el b/lisp/net/tramp-fuse.el
index 8112e564a2c..aadc64666a5 100644
--- a/lisp/net/tramp-fuse.el
+++ b/lisp/net/tramp-fuse.el
@@ -95,6 +95,11 @@
(with-tramp-file-property v localname "file-executable-p"
(file-executable-p (tramp-fuse-local-file-name filename)))))
+(defun tramp-fuse-handle-file-exists-p (filename)
+ "Like `file-exists-p' for Tramp files."
+ (tramp-skeleton-file-exists-p filename
+ (file-exists-p (tramp-fuse-local-file-name filename))))
+
(defun tramp-fuse-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for Tramp files."
(tramp-fuse-remove-hidden-files
@@ -139,23 +144,24 @@
(format "%s@%s:/" user host)
(format "%s:/" host)))
-(defun tramp-fuse-mount-point (vec)
- "Return local mount point of VEC."
- (or (tramp-get-connection-property vec "mount-point")
- (expand-file-name
- (concat
- tramp-temp-name-prefix
- (tramp-file-name-method vec) "."
- (when (tramp-file-name-user vec)
- (concat (tramp-file-name-user-domain vec) "@"))
- (tramp-file-name-host-port vec))
- tramp-compat-temporary-file-directory)))
-
(defconst tramp-fuse-mount-timeout
(eval (car (get 'remote-file-name-inhibit-cache 'standard-value)) t)
"Time period to check whether the mount point still exists.
It has the same meaning as `remote-file-name-inhibit-cache'.")
+(defun tramp-fuse-mount-point (vec)
+ "Return local mount point of VEC."
+ (let ((remote-file-name-inhibit-cache tramp-fuse-mount-timeout))
+ (or (tramp-get-file-property vec "/" "mount-point")
+ (expand-file-name
+ (concat
+ tramp-temp-name-prefix
+ (tramp-file-name-method vec) "."
+ (when (tramp-file-name-user vec)
+ (concat (tramp-file-name-user-domain vec) "@"))
+ (tramp-file-name-host-port vec))
+ tramp-compat-temporary-file-directory))))
+
(defun tramp-fuse-mounted-p (vec)
"Check, whether fuse volume determined by VEC is mounted."
;; Remember the mount status by using a file property on "/",
@@ -168,13 +174,25 @@ It has the same meaning as `remote-file-name-inhibit-cache'.")
(or (tramp-get-file-property vec "/" "mounted")
(let* ((default-directory tramp-compat-temporary-file-directory)
(command (format "mount -t fuse.%s" (tramp-file-name-method vec)))
- (mount (shell-command-to-string command)))
+ (mount (shell-command-to-string command))
+ (mount-spec (split-string (tramp-fuse-mount-spec vec) ":" 'omit)))
(tramp-message vec 6 "%s\n%s" command mount)
+ ;; The mount-spec contains a trailing local file name part,
+ ;; which might not be visible, for example with rclone
+ ;; mounts of type "memory" or "gdrive". Make it optional.
+ (setq mount-spec
+ (if (cdr mount-spec)
+ (rx (literal (car mount-spec))
+ ":" (? (literal (cadr mount-spec))))
+ (car mount-spec)))
(tramp-set-file-property
vec "/" "mounted"
(when (string-match
- (rx bol (group (literal (tramp-fuse-mount-spec vec))) blank)
+ (rx bol (group (regexp mount-spec))
+ " on " (group (+ (not blank))) blank)
mount)
+ (tramp-set-file-property
+ vec "/" "mount-point" (match-string 2 mount))
(match-string 1 mount)))))))
(defun tramp-fuse-get-fusermount ()
@@ -194,6 +212,7 @@ It has the same meaning as `remote-file-name-inhibit-cache'.")
(command (format "%s -u %s" (tramp-fuse-get-fusermount) mount-point)))
(tramp-message vec 6 "%s\n%s" command (shell-command-to-string command))
(tramp-flush-file-property vec "/" "mounted")
+ (tramp-flush-file-property vec "/" "mount-point")
(setq tramp-fuse-mount-points
(delete (tramp-file-name-unify vec) tramp-fuse-mount-points))
;; Give the caches a chance to expire.
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index d44fd55b225..27dbf324924 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -114,6 +114,7 @@
(declare-function zeroconf-service-host "zeroconf")
(declare-function zeroconf-service-port "zeroconf")
(declare-function zeroconf-service-txt "zeroconf")
+(defvar tramp-gvfs-dbus-event-vector)
;; We don't call `dbus-ping', because this would load dbus.el.
(defconst tramp-gvfs-enabled
@@ -807,6 +808,7 @@ It has been changed in GVFS 1.14.")
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-gvfs-handle-file-executable-p)
(file-exists-p . tramp-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -881,8 +883,6 @@ Operations not mentioned here will be handled by the default Emacs primitives.")
(let ((method (tramp-file-name-method vec)))
(and (stringp method) (member method tramp-gvfs-methods)))))
-(defvar tramp-gvfs-dbus-event-vector)
-
;;;###tramp-autoload
(defun tramp-gvfs-file-name-handler (operation &rest args)
"Invoke the GVFS related OPERATION and ARGS.
@@ -1068,6 +1068,8 @@ file names."
(when (and (file-directory-p newname)
(not (directory-name-p newname)))
(tramp-error v 'file-error "File is a directory %s" newname))
+ (when (file-regular-p newname)
+ (delete-file newname))
(cond
;; We cannot rename volatile files, as used by Google-drive.
@@ -1498,15 +1500,11 @@ If FILE-SYSTEM is non-nil, return file system attributes."
(if (not (processp p))
(tramp-error
v 'file-notify-error "Monitoring not supported for `%s'" file-name)
- (tramp-message
- v 6 "Run `%s', %S" (string-join (process-command p) " ") p)
- (process-put p 'tramp-vector v)
(process-put p 'tramp-events events)
(process-put p 'tramp-watch-name localname)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
(set-process-filter p #'tramp-gvfs-monitor-process-filter)
(set-process-sentinel p #'tramp-file-notify-process-sentinel)
+ (tramp-post-process-creation p v)
;; There might be an error if the monitor is not supported.
;; Give the filter a chance to read the output.
(while (tramp-accept-process-output p))
@@ -2187,11 +2185,12 @@ connection if a previous connection has died for some reason."
;; Sanity check.
(let ((method (tramp-file-name-method vec)))
(unless (member
- (or (rassoc method '(("smb" . "smb-share")
- ("davs" . "dav")
- ("nextcloud" . "dav")
- ("afp". "afp-volume")
- ("gdrive" . "google-drive")))
+ (or (assoc-default
+ method '(("smb" . "smb-share")
+ ("davs" . "dav")
+ ("nextcloud" . "dav")
+ ("afp". "afp-volume")
+ ("gdrive" . "google-drive")))
method)
tramp-gvfs-mounttypes)
(tramp-error vec 'file-error "Method `%s' not supported by GVFS" method)))
@@ -2204,8 +2203,7 @@ connection if a previous connection has died for some reason."
:name (tramp-get-connection-name vec)
:buffer (tramp-get-connection-buffer vec)
:server t :host 'local :service t :noquery t)))
- (process-put p 'tramp-vector vec)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)))
@@ -2540,7 +2538,8 @@ This uses \"avahi-browse\" in case D-Bus is not enabled in Avahi."
(let ((tramp-verbose 0)
tramp-gvfs-dbus-event-vector fun)
(when (and (autoload 'zeroconf-init "zeroconf")
- (tramp-compat-funcall 'dbus-get-unique-name :system))
+ (ignore-error dbus-error
+ (tramp-compat-funcall 'dbus-get-unique-name :system)))
;; Add completion functions for services announced by DNS-SD.
;; See <http://www.dns-sd.org/ServiceTypes.html> for valid service types.
(zeroconf-init tramp-gvfs-zeroconf-domain)
diff --git a/lisp/net/tramp-rclone.el b/lisp/net/tramp-rclone.el
index ec6a1da684f..df46bd5e20e 100644
--- a/lisp/net/tramp-rclone.el
+++ b/lisp/net/tramp-rclone.el
@@ -95,6 +95,7 @@
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-fuse-handle-file-executable-p)
(file-exists-p . tramp-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -225,6 +226,7 @@ file names."
(let ((t1 (tramp-tramp-file-p filename))
(t2 (tramp-tramp-file-p newname))
+ (equal-remote (tramp-equal-remote filename newname))
(rclone-operation (if (eq op 'copy) "copyto" "moveto"))
(msg-operation (if (eq op 'copy) "Copying" "Renaming")))
@@ -235,8 +237,12 @@ file names."
(when (and (file-directory-p newname)
(not (directory-name-p newname)))
(tramp-error v 'file-error "File is a directory %s" newname))
+ (when (file-regular-p newname)
+ (delete-file newname))
- (if (or (and t1 (not (tramp-rclone-file-name-p filename)))
+ (if (or (and equal-remote
+ (tramp-get-connection-property v "direct-copy-failed"))
+ (and t1 (not (tramp-rclone-file-name-p filename)))
(and t2 (not (tramp-rclone-file-name-p newname))))
;; We cannot copy or rename directly.
@@ -256,9 +262,20 @@ file names."
v rclone-operation
(tramp-rclone-remote-file-name filename)
(tramp-rclone-remote-file-name newname)))
- (tramp-error
- v 'file-error
- "Error %s `%s' `%s'" msg-operation filename newname)))
+ (if (or (not equal-remote)
+ (and equal-remote
+ (tramp-get-connection-property
+ v "direct-copy-failed")))
+ (tramp-error
+ v 'file-error
+ "Error %s `%s' `%s'" msg-operation filename newname)
+
+ ;; Some WebDAV server, like the one from QNAP, do
+ ;; not support direct copy/move. Try a fallback.
+ (tramp-set-connection-property v "direct-copy-failed" t)
+ (tramp-rclone-do-copy-or-rename-file
+ op filename newname ok-if-already-exists keep-date
+ preserve-uid-gid preserve-extended-attributes))))
(when (and t1 (eq op 'rename))
(while (file-exists-p filename)
@@ -299,25 +316,25 @@ file names."
(setq filename (file-name-directory filename)))
(with-parsed-tramp-file-name (expand-file-name filename) nil
(tramp-message v 5 "file system info: %s" localname)
- (tramp-rclone-send-command v "about" (concat host ":"))
- (with-current-buffer (tramp-get-connection-buffer v)
- (let (total used free)
- (goto-char (point-min))
- (while (not (eobp))
- (when (looking-at (rx "Total: " (+ blank) (group (+ digit))))
- (setq total (string-to-number (match-string 1))))
- (when (looking-at (rx "Used: " (+ blank) (group (+ digit))))
- (setq used (string-to-number (match-string 1))))
- (when (looking-at (rx "Free: " (+ blank) (group (+ digit))))
- (setq free (string-to-number (match-string 1))))
- (forward-line))
- (when used
- ;; The used number of bytes is not part of the result. As
- ;; side effect, we store it as file property.
- (tramp-set-file-property v localname "used-bytes" used))
- ;; Result.
- (when (and total free)
- (list total free (- total free))))))))
+ (when (zerop (tramp-rclone-send-command v "about" (concat host ":")))
+ (with-current-buffer (tramp-get-connection-buffer v)
+ (let (total used free)
+ (goto-char (point-min))
+ (while (not (eobp))
+ (when (looking-at (rx "Total: " (+ blank) (group (+ digit))))
+ (setq total (string-to-number (match-string 1))))
+ (when (looking-at (rx "Used: " (+ blank) (group (+ digit))))
+ (setq used (string-to-number (match-string 1))))
+ (when (looking-at (rx "Free: " (+ blank) (group (+ digit))))
+ (setq free (string-to-number (match-string 1))))
+ (forward-line))
+ (when used
+ ;; The used number of bytes is not part of the result.
+ ;; As side effect, we store it as file property.
+ (tramp-set-file-property v localname "used-bytes" used))
+ ;; Result.
+ (when (and total free)
+ (list total free (- total free)))))))))
(defun tramp-rclone-handle-rename-file
(filename newname &optional ok-if-already-exists)
@@ -371,8 +388,7 @@ connection if a previous connection has died for some reason."
:name (tramp-get-connection-name vec)
:buffer (tramp-get-connection-buffer vec)
:server t :host 'local :service t :noquery t)))
- (process-put p 'tramp-vector vec)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 2df3006c1d9..d8231bd5bd2 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -38,6 +38,7 @@
(declare-function dired-compress-file "dired-aux")
(declare-function dired-remove-file "dired-aux")
(defvar dired-compress-file-suffixes)
+(defvar ls-lisp-use-insert-directory-program)
;; Added in Emacs 28.1.
(defvar process-file-return-signal-string)
(defvar vc-handled-backends)
@@ -80,13 +81,6 @@ the default storage location, e.g. \"$HOME/.sh_history\"."
(const :tag "Unset HISTFILE" t)
(string :tag "Redirect to a file")))
-;;;###tramp-autoload
-(defconst tramp-display-escape-sequence-regexp (rx "\e" (+ (any ";[" digit)) "m")
- "Terminal control escape sequences for display attributes.")
-
-(defconst tramp-device-escape-sequence-regexp (rx "\e" (+ (any "[" digit)) "n")
- "Terminal control escape sequences for device status.")
-
;; ksh on OpenBSD 4.5 requires that $PS1 contains a `#' character for
;; root users. It uses the `$' character for other users. In order
;; to guarantee a proper prompt, we use "#$ " for the prompt.
@@ -1073,6 +1067,7 @@ Format specifiers \"%s\" are replaced before the script is used.")
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-sh-handle-file-executable-p)
(file-exists-p . tramp-sh-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-sh-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -2426,14 +2421,11 @@ The method used must be an out-of-band method."
(tramp-get-connection-name v)
(tramp-get-connection-buffer v)
copy-program copy-args)))
- (tramp-message v 6 "%s" (string-join (process-command p) " "))
- (process-put p 'tramp-vector v)
;; This is neded for ssh or PuTTY based processes, and
;; only if the respective options are set. Perhaps,
;; the setting could be more fine-grained.
;; (process-put p 'tramp-shared-socket t)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p v)
;; We must adapt `tramp-local-end-of-line' for sending
;; the password. Also, we indicate that perhaps
@@ -2560,7 +2552,7 @@ The method used must be an out-of-band method."
(access-file filename "Reading directory"))
(with-parsed-tramp-file-name (expand-file-name filename) nil
(if (and (featurep 'ls-lisp)
- (not (symbol-value 'ls-lisp-use-insert-directory-program)))
+ (not ls-lisp-use-insert-directory-program))
(tramp-handle-insert-directory
filename switches wildcard full-directory-p)
(when (stringp switches)
@@ -2568,7 +2560,7 @@ The method used must be an out-of-band method."
(setq switches
(append switches (split-string (tramp-sh--quoting-style-options v))))
(unless (tramp-get-ls-command-with v "--dired")
- (setq switches (delete "--dired" switches)))
+ (setq switches (delete "-N" (delete "--dired" switches))))
(when wildcard
(setq wildcard (tramp-run-real-handler
#'file-name-nondirectory (list localname)))
@@ -2656,7 +2648,7 @@ The method used must be an out-of-band method."
(unless (tramp-compat-string-search
"color" (tramp-get-connection-property v "ls" ""))
(goto-char (point-min))
- (while (re-search-forward tramp-display-escape-sequence-regexp nil t)
+ (while (re-search-forward ansi-color-control-seq-regexp nil t)
(replace-match "")))
;; Now decode what read if necessary. Stolen from `insert-directory'.
@@ -2934,6 +2926,7 @@ implementation will be used."
v 'file-error "Stderr buffer `%s' not supported" stderr))
(with-current-buffer stderr
(setq buffer-read-only nil))
+ (tramp-taint-remote-process-buffer stderr)
;; Create named pipe.
(tramp-send-command
v (format (tramp-get-remote-mknod-or-mkfifo v) tmpstderr))
@@ -3135,7 +3128,7 @@ implementation will be used."
(if (tramp-compat-string-search "=" elt)
(setq env (append env `(,elt)))
(setq uenv (cons elt uenv)))))
- (setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep)
+ (setq env (setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep))
(when env
(setq command
(format
@@ -3759,8 +3752,6 @@ Fall back to normal file name handler if no Tramp handler exists."
v 'file-notify-error
"`%s' failed to start on remote host"
(string-join sequence " "))
- (tramp-message v 6 "Run `%s', %S" (string-join sequence " ") p)
- (process-put p 'tramp-vector v)
;; This is neded for ssh or PuTTY based processes, and only if
;; the respective options are set. Perhaps, the setting could
;; be more fine-grained.
@@ -3768,9 +3759,9 @@ Fall back to normal file name handler if no Tramp handler exists."
;; Needed for process filter.
(process-put p 'tramp-events events)
(process-put p 'tramp-watch-name localname)
- (set-process-query-on-exit-flag p nil)
(set-process-filter p filter)
(set-process-sentinel p #'tramp-file-notify-process-sentinel)
+ (tramp-post-process-creation p v)
;; There might be an error if the monitor is not supported.
;; Give the filter a chance to read the output.
(while (tramp-accept-process-output p))
@@ -4326,12 +4317,21 @@ seconds. If not, it produces an error message with the given ERROR-ARGS."
proc timeout
(rx
(| (regexp shell-prompt-pattern) (regexp tramp-shell-prompt-pattern))
+ (? (regexp ansi-color-control-seq-regexp))
eos))
(error
(delete-process proc)
(apply #'tramp-error-with-buffer
(tramp-get-connection-buffer vec) vec 'file-error error-args)))))
+(defvar tramp-config-check nil
+ "A function to be called with one argument, VEC.
+It should return a string which is used to check, whether the
+configuration of the remote host has been changed (which would
+require to flush the cache data). This string is kept as
+connection property \"config-check-data\".
+This variable is intended as connection-local variable.")
+
(defun tramp-open-connection-setup-interactive-shell (proc vec)
"Set up an interactive shell.
Mainly sets the prompt and the echo correctly. PROC is the shell
@@ -4378,7 +4378,7 @@ process to set up. VEC specifies the connection."
vec "uname"
(tramp-send-command-and-read vec "echo \\\"`uname -sr`\\\""))))
(config-check-function
- (tramp-get-method-parameter vec 'tramp-config-check))
+ (buffer-local-value 'tramp-config-check (process-buffer proc)))
(old-config-check
(and config-check-function
(tramp-get-connection-property vec "config-check-data")))
@@ -4834,6 +4834,7 @@ Goes through the list `tramp-inline-compress-commands'."
"Check, whether local ssh OPTION is applicable."
;; We don't want to cache it persistently.
(with-tramp-connection-property nil option
+ ;; "ssh -G" is introduced in OpenSSH 6.7.
;; We use a non-existing IP address for check, in order to avoid
;; useless connections, and DNS timeouts.
(zerop
@@ -4859,26 +4860,33 @@ Goes through the list `tramp-inline-compress-commands'."
(stringp tramp-ssh-controlmaster-options))
tramp-ssh-controlmaster-options)
+ ;; We can't auto-compute the options.
+ ((ignore-errors
+ (not (tramp-ssh-option-exists-p vec "ControlMaster=auto")))
+ "")
+
;; Determine the options.
(t (ignore-errors
;; ControlMaster and ControlPath options are introduced in OpenSSH 3.9.
- (when (tramp-ssh-option-exists-p vec "ControlMaster=auto")
- (concat
- "-o ControlMaster="
- (if (eq tramp-use-connection-share 'suppress)
- "no" "auto")
-
- " -o ControlPath="
- (if (eq tramp-use-connection-share 'suppress)
- "none"
- ;; Hashed tokens are introduced in OpenSSH 6.7.
- (if (tramp-ssh-option-exists-p vec "ControlPath=tramp.%C")
- "tramp.%%C" "tramp.%%r@%%h:%%p"))
-
- ;; ControlPersist option is introduced in OpenSSH 5.6.
- (when (and (not (eq tramp-use-connection-share 'suppress))
- (tramp-ssh-option-exists-p vec "ControlPersist=no"))
- " -o ControlPersist=no")))))))
+ (concat
+ "-o ControlMaster="
+ (if (eq tramp-use-connection-share 'suppress)
+ "no" "auto")
+
+ " -o ControlPath="
+ (if (eq tramp-use-connection-share 'suppress)
+ "none"
+ ;; Hashed tokens are introduced in OpenSSH 6.7.
+ (expand-file-name
+ (if (tramp-ssh-option-exists-p vec "ControlPath=tramp.%C")
+ "tramp.%%C" "tramp.%%r@%%h:%%p")
+ (or small-temporary-file-directory
+ tramp-compat-temporary-file-directory)))
+
+ ;; ControlPersist option is introduced in OpenSSH 5.6.
+ (when (and (not (eq tramp-use-connection-share 'suppress))
+ (tramp-ssh-option-exists-p vec "ControlPersist=no"))
+ " -o ControlPersist=no"))))))
(defun tramp-scp-strict-file-name-checking (vec)
"Return the strict file name checking argument of the local scp."
@@ -5130,19 +5138,15 @@ connection if a previous connection has died for some reason."
(and tramp-encoding-command-interactive
(list tramp-encoding-command-interactive)))))))
- ;; Set sentinel and query flag. Initialize variables.
- (set-process-sentinel p #'tramp-process-sentinel)
- (process-put p 'tramp-vector vec)
;; This is neded for ssh or PuTTY based processes, and
;; only if the respective options are set. Perhaps,
;; the setting could be more fine-grained.
;; (process-put p 'tramp-shared-socket t)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ ;; Set sentinel. Initialize variables.
+ (set-process-sentinel p #'tramp-process-sentinel)
+ (tramp-post-process-creation p vec)
(setq tramp-current-connection (cons vec (current-time)))
- (tramp-message vec 6 "%s" (string-join (process-command p) " "))
-
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)
@@ -5302,14 +5306,14 @@ function waits for output unless NOOUTPUT is set."
(tramp-error proc 'file-error "Process `%s' not available, try again" proc))
(with-current-buffer (process-buffer proc)
(let* (;; Initially, `tramp-end-of-output' is "#$ ". There might
- ;; be leading escape sequences, which must be ignored.
- ;; Busyboxes built with the EDITING_ASK_TERMINAL config
- ;; option send also escape sequences, which must be
- ;; ignored.
+ ;; be leading ANSI control escape sequences, which must be
+ ;; ignored. Busyboxes built with the EDITING_ASK_TERMINAL
+ ;; config option send also ANSI control escape sequences,
+ ;; which must be ignored.
(regexp (rx
(* (not (any "#$\n")))
(literal tramp-end-of-output)
- (? (regexp tramp-device-escape-sequence-regexp))
+ (? (regexp ansi-color-control-seq-regexp))
(? "\r") eol))
;; Sometimes, the commands do not return a newline but a
;; null byte before the shell prompt, for example "git
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 13d5e17a9ff..dab85c5160e 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -246,6 +246,7 @@ See `tramp-actions-before-shell' for more info.")
(file-file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-handle-file-exists-p)
(file-exists-p . tramp-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-smb-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -556,13 +557,7 @@ arguments to pass to the OPERATION."
(tramp-get-connection-name v)
(tramp-get-connection-buffer v)
tramp-smb-program args)))
-
- (tramp-message
- v 6 "%s" (string-join (process-command p) " "))
- (process-put p 'tramp-vector v)
- (process-put
- p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p v)
(tramp-process-actions
p v nil tramp-smb-actions-with-tar)
@@ -642,9 +637,6 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
(not (directory-name-p newname)))
(tramp-error v 'file-error "File is a directory %s" newname))
- ;; We must also flush the cache of the directory, because
- ;; `file-attributes' reads the values from there.
- (tramp-flush-file-properties v localname)
(unless (tramp-smb-get-share v)
(tramp-error
v 'file-error "Target `%s' must contain a share name" newname))
@@ -653,7 +645,12 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
(tramp-smb-shell-quote-argument filename)
(tramp-smb-shell-quote-localname v)))
(tramp-error
- v 'file-error "Cannot copy `%s' to `%s'" filename newname)))))
+ v 'file-error "Cannot copy `%s' to `%s'" filename newname))
+
+ ;; When newname did exist, we have wrong cached values.
+ (when (tramp-tramp-file-p newname)
+ (with-parsed-tramp-file-name newname v2
+ (tramp-flush-file-properties v2 v2-localname))))))
;; KEEP-DATE handling.
(when keep-date
@@ -816,12 +813,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
(tramp-get-connection-name v)
(tramp-get-connection-buffer v)
tramp-smb-acl-program args)))
-
- (tramp-message
- v 6 "%s" (string-join (process-command p) " "))
- (process-put p 'tramp-vector v)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p v)
(tramp-process-actions p v nil tramp-smb-actions-get-acl)
(when (> (point-max) (point-min))
(substring-no-properties (buffer-string))))))))))))
@@ -1416,12 +1408,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
(tramp-get-connection-name v)
(tramp-get-connection-buffer v)
tramp-smb-acl-program args)))
-
- (tramp-message
- v 6 "%s" (string-join (process-command p) " "))
- (process-put p 'tramp-vector v)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p v)
(tramp-process-actions p v nil tramp-smb-actions-set-acl)
;; This is meant for traces, and returning from
;; the function. No error is propagated outside,
@@ -1965,11 +1952,7 @@ If ARGUMENT is non-nil, use it as argument for
(if argument
tramp-smb-winexe-program tramp-smb-program)
args))))
-
- (tramp-message vec 6 "%s" (string-join (process-command p) " "))
- (process-put p 'tramp-vector vec)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)
diff --git a/lisp/net/tramp-sshfs.el b/lisp/net/tramp-sshfs.el
index a4f6246ec23..e3c9e0b53b2 100644
--- a/lisp/net/tramp-sshfs.el
+++ b/lisp/net/tramp-sshfs.el
@@ -100,7 +100,8 @@
(file-directory-p . tramp-handle-file-directory-p)
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-fuse-handle-file-executable-p)
- (file-exists-p . tramp-handle-file-exists-p)
+ (file-exists-p . tramp-fuse-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -399,8 +400,7 @@ connection if a previous connection has died for some reason."
:name (tramp-get-connection-name vec)
:buffer (tramp-get-connection-buffer vec)
:server t :host 'local :service t :noquery t)))
- (process-put p 'tramp-vector vec)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)))
diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el
index defd4f430bc..e41a4a590e2 100644
--- a/lisp/net/tramp-sudoedit.el
+++ b/lisp/net/tramp-sudoedit.el
@@ -90,6 +90,7 @@ See `tramp-actions-before-shell' for more info.")
(file-equal-p . tramp-handle-file-equal-p)
(file-executable-p . tramp-sudoedit-handle-file-executable-p)
(file-exists-p . tramp-sudoedit-handle-file-exists-p)
+ (file-group-gid . tramp-handle-file-group-gid)
(file-in-directory-p . tramp-handle-file-in-directory-p)
(file-local-copy . tramp-handle-file-local-copy)
(file-locked-p . tramp-handle-file-locked-p)
@@ -720,8 +721,7 @@ connection if a previous connection has died for some reason."
:name (tramp-get-connection-name vec)
:buffer (tramp-get-connection-buffer vec)
:server t :host 'local :service t :noquery t)))
- (process-put p 'tramp-vector vec)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)
@@ -755,12 +755,9 @@ in case of error, t otherwise."
(tramp-cache-read-persistent-data t)
;; We do not want to save the password.
auth-source-save-behavior)
- (tramp-message vec 6 "%s" (string-join (process-command p) " "))
;; Avoid process status message in output buffer.
(set-process-sentinel p #'ignore)
- (process-put p 'tramp-vector vec)
- (process-put p 'adjust-window-size-function #'ignore)
- (set-process-query-on-exit-flag p nil)
+ (tramp-post-process-creation p vec)
(tramp-set-connection-property p "password-vector" tramp-sudoedit-null-hop)
(tramp-process-actions p vec nil tramp-sudoedit-sudo-actions)
(tramp-message vec 6 "%s\n%s" (process-exit-status p) (buffer-string))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 3420bb76d14..4820feb276e 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -63,6 +63,23 @@
(declare-function file-notify-rm-watch "filenotify")
(declare-function netrc-parse "netrc")
(defvar auto-save-file-name-transforms)
+(defvar ls-lisp-use-insert-directory-program)
+(defvar tramp-prefix-format)
+(defvar tramp-prefix-regexp)
+(defvar tramp-method-regexp)
+(defvar tramp-postfix-method-format)
+(defvar tramp-postfix-method-regexp)
+(defvar tramp-prefix-ipv6-format)
+(defvar tramp-prefix-ipv6-regexp)
+(defvar tramp-postfix-ipv6-format)
+(defvar tramp-postfix-ipv6-regexp)
+(defvar tramp-postfix-host-format)
+(defvar tramp-postfix-host-regexp)
+(defvar tramp-remote-file-name-spec-regexp)
+(defvar tramp-file-name-structure)
+(defvar tramp-file-name-regexp)
+(defvar tramp-completion-method-regexp)
+(defvar tramp-completion-file-name-regexp)
;; Reload `tramp-compat' when we reload `tramp-autoloads' of the GNU
;; ELPA package.
@@ -120,7 +137,7 @@ Any level x includes messages for all levels 1 .. x-1. The levels are
(defcustom tramp-debug-to-file nil
"Whether Tramp debug messages shall be saved to file.
The debug file has the same name as the debug buffer, written to
-`temporary-file-directory'."
+`tramp-compat-temporary-file-directory'."
:version "28.1"
:type 'boolean)
@@ -283,13 +300,6 @@ pair of the form (KEY VALUE). The following KEYs are defined:
and container methods do. If it is a list of strings, they
are used to construct the remote command.
- * `tramp-config-check'
- A function to be called with one argument, VEC. It should
- return a string which is used to check, whether the
- configuration of the remote host has been changed (which
- would require to flush the cache data). This string is kept
- as connection property \"config-check-data\".
-
* `tramp-copy-program'
This specifies the name of the program to use for remotely copying
the file; this might be the absolute filename of scp or the name of
@@ -520,6 +530,11 @@ interpreted as a regular expression which always matches."
:version "24.3"
:type 'boolean)
+(defcustom tramp-show-ad-hoc-proxies nil
+ "Whether to show ad-hoc proxies in file names."
+ :version "29.2"
+ :type 'boolean)
+
;; For some obscure technical reasons, `system-name' on w32 returns
;; either lower case or upper case letters. See
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38079#20>.
@@ -624,9 +639,7 @@ Sometimes the prompt is reported to look like \"login as:\"."
;; connection initialization; Tramp redefines the prompt afterwards.
(rx (| bol "\r")
(* (not (any "\n#$%>]")))
- (? "#") (any "#$%>]") (* blank)
- ;; Escape characters.
- (* "[" (* (any ";" digit)) alpha (* blank)))
+ (? "#") (any "#$%>]") (* blank))
"Regexp to match prompts from remote shell.
Normally, Tramp expects you to configure `shell-prompt-pattern'
correctly, but sometimes it happens that you are connecting to a
@@ -665,6 +678,7 @@ The `sudo' program appears to insert a `^@' character into the prompt."
"Sorry, try again."
"Name or service not known"
"Host key verification failed."
+ "Authentication failed"
"No supported authentication methods left to try!"
(: "Login " (| "Incorrect" "incorrect"))
(: "Connection " (| "refused" "closed"))
@@ -698,7 +712,7 @@ See also `tramp-yesno-prompt-regexp'."
(defcustom tramp-terminal-type "dumb"
"Value of TERM environment variable for logging in to remote host.
Because Tramp wants to parse the output of the remote shell, it is easily
-confused by ANSI color escape sequences and suchlike. Often, shell init
+confused by ANSI control escape sequences and suchlike. Often, shell init
files conditionalize this setup based on the TERM environment variable."
:group 'tramp
:type 'string)
@@ -815,23 +829,6 @@ Customize. See also `tramp-change-syntax'."
:initialize #'custom-initialize-default
:set #'tramp-set-syntax)
-(defvar tramp-prefix-format)
-(defvar tramp-prefix-regexp)
-(defvar tramp-method-regexp)
-(defvar tramp-postfix-method-format)
-(defvar tramp-postfix-method-regexp)
-(defvar tramp-prefix-ipv6-format)
-(defvar tramp-prefix-ipv6-regexp)
-(defvar tramp-postfix-ipv6-format)
-(defvar tramp-postfix-ipv6-regexp)
-(defvar tramp-postfix-host-format)
-(defvar tramp-postfix-host-regexp)
-(defvar tramp-remote-file-name-spec-regexp)
-(defvar tramp-file-name-structure)
-(defvar tramp-file-name-regexp)
-(defvar tramp-completion-method-regexp)
-(defvar tramp-completion-file-name-regexp)
-
(defun tramp-set-syntax (symbol value)
"Set SYMBOL to value VALUE.
Used in user option `tramp-syntax'. There are further variables
@@ -1349,6 +1346,7 @@ let-bind this variable."
;; IRIX64: /usr/bin
;; QNAP QTS: ---
;; Hydra: /run/current-system/sw/bin:/bin:/usr/bin
+;;;###tramp-autoload
(defcustom tramp-remote-path
'(tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin"
"/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin"
@@ -1802,7 +1800,9 @@ the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)."
(when (cadr args)
(setq localname (and (stringp (cadr args)) (cadr args))))
(when hop
- (setq hop nil)
+ ;; Keep hop in file name for completion or when indicated.
+ (unless (or minibuffer-completing-file-name tramp-show-ad-hoc-proxies)
+ (setq hop nil))
;; Assure that the hops are in `tramp-default-proxies-alist'.
;; In tramp-archive.el, the slot `hop' is used for the archive
;; file name.
@@ -1851,7 +1851,7 @@ the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)."
(replace-regexp-in-string
(rx (regexp tramp-postfix-host-regexp) eos)
tramp-postfix-hop-format
- (tramp-make-tramp-file-name vec 'noloc)))))
+ (tramp-make-tramp-file-name (tramp-file-name-unify vec))))))
(defun tramp-completion-make-tramp-file-name (method user host localname)
"Construct a Tramp file name from METHOD, USER, HOST and LOCALNAME.
@@ -1950,8 +1950,11 @@ version, the function does nothing."
"Return contents of BUFFER.
If BUFFER is not a buffer or a buffer name, return the contents
of `current-buffer'."
- (with-current-buffer (or buffer (current-buffer))
- (substring-no-properties (buffer-string))))
+ (or (let ((buf (or buffer (current-buffer))))
+ (when (bufferp buf)
+ (with-current-buffer (or buffer (current-buffer))
+ (substring-no-properties (buffer-string)))))
+ ""))
(defun tramp-debug-buffer-name (vec)
"A name for the debug buffer for VEC."
@@ -1969,7 +1972,7 @@ of `current-buffer'."
(+ digit) ":" (+ digit) ":" (+ digit) "." (+ digit) blank
;; Thread.
(? (group "#<thread " (+ nonl) ">") blank)
- ;; Function name, verbosity.
+ ;; Function name, verbosity.
(+ (any "-" alnum)) " (" (group (+ digit)) ") #")
"Used for highlighting Tramp debug buffers in `outline-mode'.")
@@ -2108,18 +2111,23 @@ ARGUMENTS to actually emit the message (if applicable)."
(insert "\n"))
;; Timestamp.
(insert (format-time-string "%T.%6N "))
+ ;; Threads. `current-thread' might not exist when Emacs is
+ ;; configured --without-threads.
+ ;; (unless (eq (tramp-compat-funcall 'current-thread) main-thread)
+ ;; (insert (format "%s " (tramp-compat-funcall 'current-thread))))
;; Calling Tramp function. We suppress compat and trace
;; functions from being displayed.
- (let ((btn 1) btf fn)
+ (let ((frames (backtrace-frames))
+ btf fn)
(while (not fn)
- (setq btf (nth 1 (backtrace-frame btn)))
+ (setq btf (cadadr frames))
(if (not btf)
(setq fn "")
(and (symbolp btf) (setq fn (symbol-name btf))
(or (not (string-prefix-p "tramp" fn))
(get btf 'tramp-suppress-trace))
(setq fn nil))
- (setq btn (1+ btn))))
+ (setq frames (cdr frames))))
;; The following code inserts filename and line number.
;; Should be inactive by default, because it is time consuming.
;; (let ((ffn (find-function-noselect (intern fn))))
@@ -2649,7 +2657,7 @@ Must be handled by the callers."
;; Emacs 29+ only.
list-system-processes memory-info process-attributes
;; Emacs 30+ only.
- file-user-uid))
+ file-group-gid file-user-uid))
default-directory)
;; PROC.
((member operation '(file-notify-rm-watch file-notify-valid-p))
@@ -3789,14 +3797,14 @@ BODY is the backend specific code."
;; VISIT, for example `jka-compr-handler'. We must respect this.
;; See Bug#55166.
`(let* ((filename (expand-file-name ,filename))
- (lockname (file-truename (or ,lockname filename)))
- (handler (and (stringp ,visit)
- (let ((inhibit-file-name-handlers
- `(tramp-file-name-handler
- tramp-crypt-file-name-handler
- . inhibit-file-name-handlers))
- (inhibit-file-name-operation 'write-region))
- (find-file-name-handler ,visit 'write-region)))))
+ (lockname (file-truename (or ,lockname filename)))
+ (handler (and (stringp ,visit)
+ (let ((inhibit-file-name-handlers
+ `(tramp-file-name-handler
+ tramp-crypt-file-name-handler
+ . inhibit-file-name-handlers))
+ (inhibit-file-name-operation 'write-region))
+ (find-file-name-handler ,visit 'write-region)))))
(with-parsed-tramp-file-name filename nil
(if handler
(progn
@@ -3930,7 +3938,7 @@ Let-bind it when necessary.")
(tramp-make-tramp-file-name (tramp-dissect-file-name filename)))))
(defun tramp-handle-file-user-uid ()
- "Like `user-uid' for Tramp files."
+ "Like `file-user-uid' for Tramp files."
(let ((v (tramp-dissect-file-name default-directory)))
(or (tramp-get-remote-uid v 'integer)
;; Some handlers for `tramp-get-remote-uid' return nil if they
@@ -3938,6 +3946,15 @@ Let-bind it when necessary.")
;; consistency.
tramp-unknown-id-integer)))
+(defun tramp-handle-file-group-gid ()
+ "Like `file-group-gid' for Tramp files."
+ (let ((v (tramp-dissect-file-name default-directory)))
+ (or (tramp-get-remote-gid v 'integer)
+ ;; Some handlers for `tramp-get-remote-gid' return nil if they
+ ;; can't get the GID; always return -1 in this case for
+ ;; consistency.
+ tramp-unknown-id-integer)))
+
(defun tramp-handle-access-file (filename string)
"Like `access-file' for Tramp files."
(setq filename (file-truename filename))
@@ -4121,8 +4138,10 @@ Let-bind it when necessary.")
(defun tramp-handle-file-name-as-directory (file)
"Like `file-name-as-directory' for Tramp files."
;; `file-name-as-directory' would be sufficient except localname is
- ;; the empty string.
- (let ((v (tramp-dissect-file-name file t)))
+ ;; the empty string. Suppress adding a hop to
+ ;; `tramp-default-proxies-alist' due to non-expanded default values.
+ (let ((v (tramp-dissect-file-name file t))
+ tramp-default-proxies-alist)
;; Run the command on the localname portion only unless we are in
;; completion mode.
(tramp-make-tramp-file-name
@@ -4211,8 +4230,10 @@ Let-bind it when necessary.")
"Like `file-name-directory' for Tramp files."
;; Everything except the last filename thing is the directory. We
;; cannot apply `with-parsed-tramp-file-name', because this expands
- ;; the remote file name parts.
- (let ((v (tramp-dissect-file-name file t)))
+ ;; the remote file name parts. Suppress adding a hop to
+ ;; `tramp-default-proxies-alist' due to non-expanded default values.
+ (let ((v (tramp-dissect-file-name file t))
+ tramp-default-proxies-alist)
;; Run the command on the localname portion only. If this returns
;; nil, mark also the localname part of `v' as nil.
(tramp-make-tramp-file-name
@@ -4382,6 +4403,7 @@ Let-bind it when necessary.")
(defun tramp-handle-insert-directory
(filename switches &optional wildcard full-directory-p)
"Like `insert-directory' for Tramp files."
+ (require 'ls-lisp)
(unless switches (setq switches ""))
;; Mark trailing "/".
(when (and (directory-name-p filename)
@@ -4394,7 +4416,6 @@ Let-bind it when necessary.")
(with-tramp-progress-reporter v 0 (format "Opening directory %s" filename)
(let (ls-lisp-use-insert-directory-program start)
;; Silence byte compiler.
- (ignore ls-lisp-use-insert-directory-program)
(tramp-run-real-handler
#'insert-directory
(list filename switches wildcard full-directory-p))
@@ -4831,25 +4852,29 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.")
"Add ad-hoc proxy definitions to `tramp-default-proxies-alist'."
(when-let ((hops (tramp-file-name-hop vec))
(item vec))
- (dolist (proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit)))
- (let* ((host-port (tramp-file-name-host-port item))
- (user-domain (tramp-file-name-user-domain item))
- (proxy (concat
- tramp-prefix-format proxy tramp-postfix-host-format))
- (entry
- (list (and (stringp host-port)
- (rx bol (literal host-port) eol))
- (and (stringp user-domain)
- (rx bol (literal user-domain) eol))
- (propertize proxy 'tramp-ad-hoc t))))
- (tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry)
- ;; Add the hop.
- (add-to-list 'tramp-default-proxies-alist entry)
- (setq item (tramp-dissect-file-name proxy))))
- ;; Save the new value.
- (when tramp-save-ad-hoc-proxies
- (customize-save-variable
- 'tramp-default-proxies-alist tramp-default-proxies-alist))))
+ (let (signal-hook-function changed)
+ (dolist
+ (proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit)))
+ (let* ((host-port (tramp-file-name-host-port item))
+ (user-domain (tramp-file-name-user-domain item))
+ (proxy (concat
+ tramp-prefix-format proxy tramp-postfix-host-format))
+ (entry
+ (list (and (stringp host-port)
+ (rx bol (literal host-port) eol))
+ (and (stringp user-domain)
+ (rx bol (literal user-domain) eol))
+ (propertize proxy 'tramp-ad-hoc t))))
+ ;; Add the hop.
+ (unless (member entry tramp-default-proxies-alist)
+ (tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry)
+ (add-to-list 'tramp-default-proxies-alist entry)
+ (setq changed t))
+ (setq item (tramp-dissect-file-name proxy))))
+ ;; Save the new value.
+ (when (and tramp-save-ad-hoc-proxies changed)
+ (customize-save-variable
+ 'tramp-default-proxies-alist tramp-default-proxies-alist)))))
(defun tramp-compute-multi-hops (vec)
"Expands VEC according to `tramp-default-proxies-alist'."
@@ -4925,14 +4950,31 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.")
;; Result.
target-alist))
+(defvar tramp-extra-expand-args nil
+ "Method specific arguments.")
+
(defun tramp-expand-args (vec parameter &rest spec-list)
"Expand login arguments as given by PARAMETER in `tramp-methods'.
PARAMETER is a symbol like `tramp-login-args', denoting a list of
list of strings from `tramp-methods', containing %-sequences for
-substitution. SPEC-LIST is a list of char/value pairs used for
-`format-spec-make'."
+substitution.
+SPEC-LIST is a list of char/value pairs used for
+`format-spec-make'. It is appended by `tramp-extra-expand-args',
+a connection-local variable."
(let ((args (tramp-get-method-parameter vec parameter))
- (spec (apply 'format-spec-make spec-list)))
+ (extra-spec-list
+ (mapcar
+ #'eval
+ (buffer-local-value
+ 'tramp-extra-expand-args (tramp-get-connection-buffer vec))))
+ spec)
+ ;; Merge both spec lists. Remove duplicate entries.
+ (while spec-list
+ (unless (member (car spec-list) extra-spec-list)
+ (setq extra-spec-list
+ (append (tramp-compat-take 2 spec-list) extra-spec-list)))
+ (setq spec-list (cddr spec-list)))
+ (setq spec (apply #'format-spec-make extra-spec-list))
;; Expand format spec.
(flatten-tree
(mapcar
@@ -4941,6 +4983,16 @@ substitution. SPEC-LIST is a list of char/value pairs used for
(unless (member "" x) x))
args))))
+(defun tramp-post-process-creation (proc vec)
+ "Apply actions after creation of process PROC."
+ (process-put proc 'tramp-vector vec)
+ (process-put proc 'adjust-window-size-function #'ignore)
+ (set-process-query-on-exit-flag proc nil)
+ (tramp-taint-remote-process-buffer (process-buffer proc))
+ (tramp-message vec 6 "%s" (string-join (process-command proc) " ")))
+
+(put #'tramp-post-process-creation 'tramp-suppress-trace t)
+
(defun tramp-direct-async-process-p (&rest args)
"Whether direct async `make-process' can be called."
(let ((v (tramp-dissect-file-name default-directory))
@@ -5090,15 +5142,19 @@ substitution. SPEC-LIST is a list of char/value pairs used for
;; t. See Bug#51177.
(when filter
(set-process-filter p filter))
- (process-put p 'tramp-vector v)
+ (tramp-post-process-creation p v)
+ ;; Query flag is overwritten in `tramp-post-process-creation',
+ ;; so we reset it.
+ (set-process-query-on-exit-flag p (null noquery))
;; This is neded for ssh or PuTTY based processes, and
;; only if the respective options are set. Perhaps, the
;; setting could be more fine-grained.
;; (process-put p 'tramp-shared-socket t)
(process-put p 'remote-command orig-command)
(tramp-set-connection-property p "remote-command" orig-command)
+ (when (bufferp stderr)
+ (tramp-taint-remote-process-buffer stderr))
- (tramp-message v 6 "%s" (string-join (process-command p) " "))
p))))))
(defun tramp-handle-make-symbolic-link
@@ -5112,7 +5168,7 @@ support symbolic links."
(defun tramp-handle-memory-info ()
"Like `memory-info' for Tramp files."
- (let ((result '(0 0 0 0))
+ (let ((result (list 0 0 0 0))
process-file-side-effects)
(with-temp-buffer
(cond
@@ -5687,11 +5743,16 @@ See `tramp-process-actions' for the format of ACTIONS."
;; Reread output once all actions have been performed.
;; Obviously, the output was not complete.
(while (tramp-accept-process-output proc))
+ ;; Remove ANSI control escape sequences.
+ (with-current-buffer (tramp-get-connection-buffer vec)
+ (goto-char (point-min))
+ (while (re-search-forward ansi-color-control-seq-regexp nil t)
+ (replace-match "")))
(setq todo actions)
(while todo
(setq item (pop todo)
tramp-process-action-regexp (symbol-value (nth 0 item))
- pattern (format "\\(%s\\)\\'" tramp-process-action-regexp)
+ pattern (rx (group (regexp tramp-process-action-regexp)) eos)
action (nth 1 item))
(tramp-message
vec 5 "Looking for regexp \"%s\" from remote shell" pattern)
@@ -5797,11 +5858,14 @@ Mostly useful to protect BODY from being interrupted by timers."
(throw 'non-essential 'non-essential)
(tramp-error
,proc 'remote-file-error "Forbidden reentrant call of Tramp"))
- (unwind-protect
- (progn
- (tramp-set-connection-property ,proc "locked" t)
- ,@body)
- (tramp-flush-connection-property ,proc "locked"))))
+ (let ((stimers (with-timeout-suspend))
+ timer-list timer-idle-list)
+ (unwind-protect
+ (progn
+ (tramp-set-connection-property ,proc "locked" t)
+ ,@body)
+ (tramp-flush-connection-property ,proc "locked")
+ (with-timeout-unsuspend stimers)))))
(defun tramp-accept-process-output (proc &optional _timeout)
"Like `accept-process-output' for Tramp processes.
@@ -6243,10 +6307,9 @@ to cache the result. Return the modified ATTR."
(with-tramp-file-property ,vec ,localname "file-attributes"
(when-let ((attr ,attr))
(save-match-data
- ;; Remove color escape sequences from symlink.
+ ;; Remove ANSI control escape sequences from symlink.
(when (stringp (car attr))
- (while (string-match
- tramp-display-escape-sequence-regexp (car attr))
+ (while (string-match ansi-color-control-seq-regexp (car attr))
(setcar attr (replace-match "" nil nil (car attr)))))
;; Convert uid and gid. Use `tramp-unknown-id-integer'
;; as indication of unusable value.
@@ -6375,7 +6438,7 @@ ID-FORMAT valid values are `string' and `integer'."
(defun tramp-read-id-output (vec)
"Read in connection buffer the output of the `id' command.
-Set connection properties \"{uid,gid.groups}-{integer,string}\"."
+Set connection properties \"{uid,gid,groups}-{integer,string}\"."
(with-current-buffer (tramp-get-connection-buffer vec)
(let (uid-integer uid-string
gid-integer gid-string
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 022bf3059be..9ae7de70a0e 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -1356,10 +1356,15 @@ is passed on to the respective function."
"Call the comment command you want (Do What I Mean).
If the region is active and `transient-mark-mode' is on, call
`comment-region' (unless it only consists of comments, in which
-case it calls `uncomment-region').
+case it calls `uncomment-region'); in this case, prefix numeric
+argument ARG specifies how many characters to remove from each
+comment delimiter (so don't specify a prefix argument whose value
+is greater than the total length of the comment delimiters).
Else, if the current line is empty, call `comment-insert-comment-function'
if it is defined, otherwise insert a comment and indent it.
-Else if a prefix ARG is specified, call `comment-kill'.
+Else, if a prefix ARG is specified, call `comment-kill'; in this
+case, prefix numeric argument ARG specifies on how many lines to kill
+the comments.
Else, call `comment-indent'.
You can configure `comment-style' to change the way regions are commented."
(interactive "*P")
diff --git a/lisp/nxml/rng-nxml.el b/lisp/nxml/rng-nxml.el
index 568cf24451b..fd1f4fb904e 100644
--- a/lisp/nxml/rng-nxml.el
+++ b/lisp/nxml/rng-nxml.el
@@ -180,7 +180,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil."
(insert " "))))
((member completion extra-strings)
(insert ">"))))
- :company-kind ,(lambda () 'property))))))
+ :company-kind ,(lambda (_) 'property))))))
(defconst rng-in-end-tag-name-regex
(replace-regexp-in-string
diff --git a/lisp/nxml/xmltok.el b/lisp/nxml/xmltok.el
index 6f9df554da0..78fa91b5cdc 100644
--- a/lisp/nxml/xmltok.el
+++ b/lisp/nxml/xmltok.el
@@ -738,7 +738,7 @@ and VALUE-END, otherwise a STRING giving the value."
;; avoid slowdowns due to the quadratic
;; complexity of the regexp. See bug#61514.
(when (with-restriction
- (point) (min (+ (point) 10000) (point-max))
+ (point) (min (+ (point) 10000) (point-max))
(looking-at (concat "[^<>\n]+?"
(xmltok-attribute regexp))))
(unless recovering
diff --git a/lisp/obsolete/autoload.el b/lisp/obsolete/autoload.el
index fae5db0fd52..ecf931d0881 100644
--- a/lisp/obsolete/autoload.el
+++ b/lisp/obsolete/autoload.el
@@ -723,7 +723,7 @@ autoloads into the specified file instead."
;;;###autoload
(defun make-directory-autoloads (dir output-file)
- "Update autoload definitions for Lisp files in the directories DIRS.
+ "Update autoload definitions for Lisp files in the directories DIR.
DIR can be either a single directory or a list of
directories. (The latter usage is discouraged.)
diff --git a/lisp/obsolete/mantemp.el b/lisp/obsolete/mantemp.el
index 5349ec32cab..9fd6c91cc4e 100644
--- a/lisp/obsolete/mantemp.el
+++ b/lisp/obsolete/mantemp.el
@@ -152,7 +152,7 @@ the lines."
(while (re-search-forward "^.+" nil t)
(progn
(beginning-of-line)
- (if (looking-at "struct[\\t ]+\\|class[\\t ]+")
+ (if (looking-at "struct[\t ]+\\|class[\t ]+")
(insert "template ")
(insert "template class "))))
(goto-char (point-min))
diff --git a/lisp/org/ob-R.el b/lisp/org/ob-R.el
index 4ee091118e4..f2cc069aa5e 100644
--- a/lisp/org/ob-R.el
+++ b/lisp/org/ob-R.el
@@ -36,7 +36,7 @@
(require 'ob)
(declare-function orgtbl-to-tsv "org-table" (table params))
-(declare-function R "ext:essd-r" (&optional start-args))
+(declare-function run-ess-r "ext:ess-r-mode" (&optional start-args))
(declare-function inferior-ess-send-input "ext:ess-inf" ())
(declare-function ess-make-buffer-current "ext:ess-inf" ())
(declare-function ess-eval-buffer "ext:ess-inf" (vis))
@@ -276,7 +276,8 @@ This function is called by `org-babel-execute-src-block'."
(when (get-buffer session)
;; Session buffer exists, but with dead process
(set-buffer session))
- (require 'ess) (R)
+ (require 'ess-r-mode)
+ (set-buffer (run-ess-r))
(let ((R-proc (get-process (or ess-local-process-name
ess-current-process-name))))
(while (process-get R-proc 'callbacks)
diff --git a/lisp/org/ob-js.el b/lisp/org/ob-js.el
index 910c1168667..de7ea91317f 100644
--- a/lisp/org/ob-js.el
+++ b/lisp/org/ob-js.el
@@ -69,7 +69,10 @@
:safe #'stringp)
(defvar org-babel-js-function-wrapper
- "require('process').stdout.write(require('util').inspect(function(){%s}()));"
+ ;; Note that newline after %s - it makes sure that closing
+ ;; parenthesis are not shadowed if the last line of the body is a
+ ;; line comment.
+ "require('process').stdout.write(require('util').inspect(function(){%s\n}()));"
"Javascript code to print value of body.")
(defun org-babel-execute:js (body params)
diff --git a/lisp/org/ob-tangle.el b/lisp/org/ob-tangle.el
index 27443fc2e81..980d4a12054 100644
--- a/lisp/org/ob-tangle.el
+++ b/lisp/org/ob-tangle.el
@@ -158,9 +158,9 @@ result. The default value is `org-remove-indentation'."
:version "24.1"
:type 'function)
-(defcustom org-babel-tangle-default-file-mode #o544
+(defcustom org-babel-tangle-default-file-mode #o644
"The default mode used for tangled files, as an integer.
-The default value 356 correspands to the octal #o544, which is
+The default value 420 correspands to the octal #o644, which is
read-write permissions for the user, read-only for everyone else."
:group 'org-babel-tangle
:package-version '(Org . "9.6")
@@ -361,9 +361,9 @@ Did you give the decimal value %1$d by mistake?" mode)))
;; Match regexp taken from `file-modes-symbolic-to-number'.
(file-modes-symbolic-to-number mode org-babel-tangle-default-file-mode))
((string-match-p "^[r-][w-][xs-][r-][w-][xs-][r-][w-][x-]$" mode)
- (file-modes-symbolic-to-number (concat "u=" (substring mode 0 3)
- ",g=" (substring mode 3 6)
- ",o=" (substring mode 6 9))
+ (file-modes-symbolic-to-number (concat "u=" (delete ?- (substring mode 0 3))
+ ",g=" (delete ?- (substring mode 3 6))
+ ",o=" (delete ?- (substring mode 6 9)))
0))
(t (error "File mode %S not recognized as a valid format. See `org-babel-interpret-file-mode'." mode))))
diff --git a/lisp/org/oc.el b/lisp/org/oc.el
index 260a4d3e1a7..8a7b662098a 100644
--- a/lisp/org/oc.el
+++ b/lisp/org/oc.el
@@ -1232,7 +1232,9 @@ from the processor set in `org-cite-activate-processor'."
(let ((cite (org-with-point-at (match-beginning 0)
(org-element-citation-parser))))
(when cite
- (funcall activate cite)
+ ;; Do not alter match data as font-lock expects us to set it
+ ;; appropriately.
+ (save-match-data (funcall activate cite))
;; Move after cite object and make sure to return
;; a non-nil value.
(goto-char (org-element-property :end cite)))))))
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 2ec2f4c00bc..d3e61643190 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -7724,8 +7724,7 @@ The optional argument TYPE tells the agenda type."
(unless (string= org-agenda-todo-keyword-format "")
;; Remove `display' property as the icon could leak
;; on the white space.
- (org-add-props " " (org-plist-delete (text-properties-at 0 x)
- 'display)))
+ (apply #'propertize " " (org-plist-delete (text-properties-at 0 x) 'display)))
(substring x (match-end 3)))))))
x)))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index f9daf3f14d8..d7fe14cd5e1 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -3062,57 +3062,58 @@ PROPERTIES: The list properties specified in the `:properties' parameter
Otherwise, return nil."
(interactive)
(let ((origin (point))) ;; `save-excursion' may not work when deleting.
- (save-excursion
- (beginning-of-line 1)
- (skip-chars-forward " \t")
- (when (looking-at org-clock-string)
- (let ((re (concat "[ \t]*" org-clock-string
- " *[[<]\\([^]>]+\\)[]>]\\(-+[[<]\\([^]>]+\\)[]>]"
- "\\([ \t]*=>.*\\)?\\)?"))
- ts te h m s neg)
- (cond
- ((not (looking-at re))
- nil)
- ((not (match-end 2))
- (when (and (equal (marker-buffer org-clock-marker) (current-buffer))
- (> org-clock-marker (point))
- (<= org-clock-marker (line-end-position)))
- ;; The clock is running here
- (setq org-clock-start-time
- (org-time-string-to-time (match-string 1)))
- (org-clock-update-mode-line)))
- (t
- ;; Prevent recursive call from `org-timestamp-change'.
- (cl-letf (((symbol-function 'org-clock-update-time-maybe) #'ignore))
- ;; Update timestamps.
- (save-excursion
- (goto-char (match-beginning 1)) ; opening timestamp
- (save-match-data (org-timestamp-change 0 'day)))
- ;; Refresh match data.
- (looking-at re)
- (save-excursion
- (goto-char (match-beginning 3)) ; closing timestamp
- (save-match-data (org-timestamp-change 0 'day))))
- ;; Refresh match data.
- (looking-at re)
- (and (match-end 4) (delete-region (match-beginning 4) (match-end 4)))
- (end-of-line 1)
- (setq ts (match-string 1)
- te (match-string 3))
- (setq s (- (org-time-string-to-seconds te)
- (org-time-string-to-seconds ts))
- neg (< s 0)
- s (abs s)
- h (floor (/ s 3600))
- s (- s (* 3600 h))
- m (floor (/ s 60))
- s (- s (* 60 s)))
- (insert " => " (format (if neg "-%d:%02d" "%2d:%02d") h m))
- t)))))
- ;; Move back to initial position, but never beyond updated
- ;; clock.
- (unless (< (point) origin)
- (goto-char origin))))
+ (prog1
+ (save-excursion
+ (beginning-of-line 1)
+ (skip-chars-forward " \t")
+ (when (looking-at org-clock-string)
+ (let ((re (concat "[ \t]*" org-clock-string
+ " *[[<]\\([^]>]+\\)[]>]\\(-+[[<]\\([^]>]+\\)[]>]"
+ "\\([ \t]*=>.*\\)?\\)?"))
+ ts te h m s neg)
+ (cond
+ ((not (looking-at re))
+ nil)
+ ((not (match-end 2))
+ (when (and (equal (marker-buffer org-clock-marker) (current-buffer))
+ (> org-clock-marker (point))
+ (<= org-clock-marker (line-end-position)))
+ ;; The clock is running here
+ (setq org-clock-start-time
+ (org-time-string-to-time (match-string 1)))
+ (org-clock-update-mode-line)))
+ (t
+ ;; Prevent recursive call from `org-timestamp-change'.
+ (cl-letf (((symbol-function 'org-clock-update-time-maybe) #'ignore))
+ ;; Update timestamps.
+ (save-excursion
+ (goto-char (match-beginning 1)) ; opening timestamp
+ (save-match-data (org-timestamp-change 0 'day)))
+ ;; Refresh match data.
+ (looking-at re)
+ (save-excursion
+ (goto-char (match-beginning 3)) ; closing timestamp
+ (save-match-data (org-timestamp-change 0 'day))))
+ ;; Refresh match data.
+ (looking-at re)
+ (and (match-end 4) (delete-region (match-beginning 4) (match-end 4)))
+ (end-of-line 1)
+ (setq ts (match-string 1)
+ te (match-string 3))
+ (setq s (- (org-time-string-to-seconds te)
+ (org-time-string-to-seconds ts))
+ neg (< s 0)
+ s (abs s)
+ h (floor (/ s 3600))
+ s (- s (* 3600 h))
+ m (floor (/ s 60))
+ s (- s (* 60 s)))
+ (insert " => " (format (if neg "-%d:%02d" "%2d:%02d") h m))
+ t)))))
+ ;; Move back to initial position, but never beyond updated
+ ;; clock.
+ (unless (< (point) origin)
+ (goto-char origin)))))
(defun org-clock-save ()
"Persist various clock-related data to disk.
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index 51729b3f33d..517d45b0224 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -5329,7 +5329,7 @@ seconds.")
"Duration, as a time value, of the pause between synchronizations.
See `org-element-cache-sync-duration' for more information.")
-(defvar org-element--cache-self-verify t
+(defvar org-element--cache-self-verify nil
"Activate extra consistency checks for the cache.
This may cause serious performance degradation depending on the value
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index 8d7b0b034f8..4efa8ba6800 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -36,6 +36,17 @@
;;; Org version verification.
+(defvar org--inhibit-version-check nil
+ "When non-nil, skip the detection of mixed-versions situations.
+For internal use only. See Emacs bug #62762.
+This variable is only supposed to be changed by Emacs build scripts.
+When nil, Org tries to detect when Org source files were compiled with
+a different version of Org (which tends to lead to incorrect `.elc' files),
+or when the current Emacs session has loaded a mix of files from different
+Org versions (typically the one bundled with Emacs and another one installed
+from GNU ELPA), which can happen if some parts of Org were loaded before
+`load-path' was changed (e.g. before the GNU-ELPA-installed Org is activated
+by `package-activate-all').")
(defmacro org-assert-version ()
"Assert compile time and runtime version match."
;; We intentionally use a more permissive `org-release' instead of
@@ -45,7 +56,7 @@
;; `org-assert-version' calls would fail using strict
;; `org-git-version' check because the generated Org version strings
;; will not match.
- `(unless (equal (org-release) ,(org-release))
+ `(unless (or org--inhibit-version-check (equal (org-release) ,(org-release)))
(warn "Org version mismatch. Org loading aborted.
This warning usually appears when a built-in Org version is loaded
prior to the more recent Org version.
@@ -1277,7 +1288,7 @@ so values can contain further %-escapes if they are define later in TABLE."
(setq re (concat "%-?[0-9.]*" (substring (car e) 1)))
(when (and (cdr e) (string-match re (cdr e)))
(let ((sref (substring (cdr e) (match-beginning 0) (match-end 0)))
- (safe "SREF"))
+ (safe (copy-sequence "SREF")))
(add-text-properties 0 3 (list 'sref sref) safe)
(setcdr e (replace-match safe t t (cdr e)))))
(while (string-match re string)
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index a38f2a283d7..9a72eb5f314 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -5414,12 +5414,10 @@ overwritten, and the table is not marked as requiring realignment."
(self-insert-command N))
(setq org-table-may-need-update t)
(let* (orgtbl-mode
- a
(cmd (or (key-binding
(or (and (listp function-key-map)
- (setq a (assoc last-input-event function-key-map))
- (cdr a))
- (vector last-input-event)))
+ (cdr (assoc last-command-event function-key-map)))
+ (vector last-command-event)))
'self-insert-command)))
(call-interactively cmd)
(if (and org-self-insert-cluster-for-undo
@@ -6134,9 +6132,13 @@ supported."
(with-temp-buffer
(insert (orgtbl-to-orgtbl table params))
(org-table-align)
- (replace-regexp-in-string
- "-|" "-+"
- (replace-regexp-in-string "|-" "+-" (buffer-substring 1 (buffer-size))))))
+ (goto-char (point-min))
+ (while (search-forward "-|" nil t)
+ (replace-match "-+"))
+ (goto-char (point-min))
+ (while (search-forward "|-" nil t)
+ (replace-match "+-"))
+ (buffer-string)))
(defun orgtbl-to-unicode (table params)
"Convert the `orgtbl-mode' TABLE into a table with unicode characters.
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index 43fdcb82832..8d93af2c20d 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -5,13 +5,13 @@
(defun org-release ()
"The release version of Org.
Inserted by installing Org mode or when a release is made."
- (let ((org-release "9.6.3"))
+ (let ((org-release "9.6.6"))
org-release))
;;;###autoload
(defun org-git-version ()
"The Git version of Org mode.
Inserted by installing Org or when a release is made."
- (let ((org-git-version "release_9.6.3-2-gf2949d"))
+ (let ((org-git-version "release_9.6.6"))
org-git-version))
(provide 'org-version)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index be9d0e32dd0..b81630fdc07 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -9,7 +9,7 @@
;; URL: https://orgmode.org
;; Package-Requires: ((emacs "26.1"))
-;; Version: 9.6.3
+;; Version: 9.6.6
;; This file is part of GNU Emacs.
;;
@@ -3483,13 +3483,17 @@ Make sure that you only list packages here which:
:group 'org-export-latex
:set 'org-set-packages-alist
:get 'org-get-packages-alist
- :type '(repeat
- (choice
- (list :tag "options/package pair"
- (string :tag "options")
- (string :tag "package")
- (boolean :tag "Snippet"))
- (string :tag "A line of LaTeX"))))
+ :type
+ '(repeat
+ (choice
+ (list :tag "options/package pair"
+ (string :tag "options")
+ (string :tag "package")
+ (boolean :tag "snippet")
+ (choice
+ (const :tag "All compilers include this package" nil)
+ (repeat :tag "Only include from these compilers" string)))
+ (string :tag "A line of LaTeX"))))
(defgroup org-appearance nil
"Settings for Org mode appearance."
@@ -5370,7 +5374,7 @@ by a #."
(zero-or-more (any " \t"))
(group (group (zero-or-more (not (any " \t\n"))))
(zero-or-more (any " \t"))
- (group (zero-or-more any)))))
+ (group (zero-or-more nonl)))))
limit t)
(let ((beg (match-beginning 0))
(end-of-beginline (match-end 0))
@@ -5396,7 +5400,7 @@ by a #."
"#+end"
,(match-string 4)
word-end
- (zero-or-more any)))))
+ (zero-or-more nonl)))))
;; We look further than LIMIT on purpose.
nil t)
;; We do have a matching #+end line.
@@ -5469,7 +5473,7 @@ by a #."
(beginning-of-line)
(looking-at (rx (group (zero-or-more (any " \t"))
"#+caption"
- (optional "[" (zero-or-more any) "]")
+ (optional "[" (zero-or-more nonl) "]")
":")
(zero-or-more (any " \t")))))
(add-text-properties (line-beginning-position) (match-end 1)
@@ -8440,7 +8444,10 @@ a link."
(dolist (link (if (stringp links) (list links) links))
(search-forward link nil links-end)
(goto-char (match-beginning 0))
- (org-open-at-point arg)))))))
+ ;; When opening file link, current buffer may be
+ ;; altered.
+ (save-current-buffer
+ (org-open-at-point arg))))))))
;; On a footnote reference or at definition's label.
((or (eq type 'footnote-reference)
(and (eq type 'footnote-definition)
@@ -9143,7 +9150,8 @@ nil or a string to be used for the todo mark." )
(replace-match "0" t nil nil 1)))))
(defvar org-state)
-(defvar org-blocked-by-checkboxes)
+;; FIXME: We should refactor this and similar dynamically scoped blocker flags.
+(defvar org-blocked-by-checkboxes nil) ; dynamically scoped
(defun org-todo (&optional arg)
"Change the TODO state of an item.
@@ -16414,7 +16422,7 @@ buffer boundaries with possible narrowing."
(defun org-display-inline-remove-overlay (ov after _beg _end &optional _len)
"Remove inline-display overlay if a corresponding region is modified."
(when (and ov after)
- (delete ov org-inline-image-overlays)
+ (setq org-inline-image-overlays (delete ov org-inline-image-overlays))
;; Clear image from cache to avoid image not updating upon
;; changing on disk. See Emacs bug#59902.
(when (overlay-get ov 'org-image-overlay)
@@ -18594,6 +18602,10 @@ block from point."
(throw 'exit n)))))
nil)))
+;; Defined in org-agenda.el
+(defvar org-agenda-restrict)
+(defvar org-agenda-restrict-begin)
+(defvar org-agenda-restrict-end)
(defun org-occur-in-agenda-files (regexp &optional _nlines)
"Call `multi-occur' with buffers for all agenda files."
(interactive "sOrg-files matching: ")
diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el
index 50a0950aa04..768bf402b70 100644
--- a/lisp/org/ox-latex.el
+++ b/lisp/org/ox-latex.el
@@ -1820,9 +1820,11 @@ INFO is a plist used as a communication channel. See
"Protect special chars, then wrap TEXT in \"\\texttt{}\"."
(format "\\texttt{%s}"
(replace-regexp-in-string
- "--\\|[\\{}$%&_#~^]"
+ "--\\|<<\\|>>\\|[\\{}$%&_#~^]"
(lambda (m)
- (cond ((equal m "--") "-{}-")
+ (cond ((equal m "--") "-{}-{}")
+ ((equal m "<<") "<{}<{}")
+ ((equal m ">>") ">{}>{}")
((equal m "\\") "\\textbackslash{}")
((equal m "~") "\\textasciitilde{}")
((equal m "^") "\\textasciicircum{}")
diff --git a/lisp/org/ox-odt.el b/lisp/org/ox-odt.el
index cf217c9e781..dd96ed8e064 100644
--- a/lisp/org/ox-odt.el
+++ b/lisp/org/ox-odt.el
@@ -2923,21 +2923,28 @@ contextual information."
;; not be desired in scripts that do not separate words with
;; spaces (for example, Han script). `fill-region' is able to
;; handle such situations.
- ;; FIXME: The unnecessary spaced may still remain when a newline
+ ;; FIXME: The unnecessary spacing may still remain when a newline
;; is at a boundary between Org objects (e.g. italics markup
;; followed by newline).
- (setq output
- (with-temp-buffer
- (insert output)
- (save-match-data
- (let ((leading (and (string-match (rx bos (1+ blank)) output)
- (match-string 0 output)))
- (trailing (and (string-match (rx (1+ blank) eos) output)
- (match-string 0 output))))
- ;; Unfill, retaining leading/trailing space.
- (let ((fill-column most-positive-fixnum))
- (fill-region (point-min) (point-max)))
- (concat leading (buffer-string) trailing))))))
+ (when (org-string-nw-p output) ; blank string needs not to be re-filled
+ (setq output
+ (with-temp-buffer
+ (save-match-data
+ (let ((leading (and (string-match (rx bos (1+ blank)) output)
+ (match-string 0 output)))
+ (trailing (and (string-match (rx (1+ blank) eos) output)
+ (match-string 0 output))))
+ (insert
+ (substring
+ output
+ (length leading)
+ (pcase (length trailing)
+ (0 nil)
+ (n (- n)))))
+ ;; Unfill, retaining leading/trailing space.
+ (let ((fill-column most-positive-fixnum))
+ (fill-region (point-min) (point-max)))
+ (concat leading (buffer-string) trailing)))))))
;; Return value.
output))
diff --git a/lisp/outline.el b/lisp/outline.el
index 0e90c59c285..97a51c9b92a 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -1500,8 +1500,10 @@ corresponding level. See `outline-default-rules' to customize
visibility of the subtree at that level.
If equal to a lambda function or function name, this function is
-expected to toggle headings visibility, and will be
-called without arguments after the mode is enabled."
+expected to toggle headings visibility, and will be called
+without arguments after the mode is enabled. Heading visibility
+can be changed with functions such as `outline-show-subtree',
+`outline-show-entry', `outline-hide-entry' etc."
:version "29.1"
:type '(choice (const :tag "Disabled" nil)
(const :tag "Show all" outline-show-all)
diff --git a/lisp/pcmpl-linux.el b/lisp/pcmpl-linux.el
index 082072d87d2..589b4799c8d 100644
--- a/lisp/pcmpl-linux.el
+++ b/lisp/pcmpl-linux.el
@@ -119,7 +119,8 @@ Test is done using `equal'."
(with-temp-buffer
(apply #'call-process
"systemctl" nil '(t nil) nil
- "list-units" "--full" "--legend=no" "--plain" args)
+ ;; "--legend=no" doesn't exist before systemd v248
+ "list-units" "--full" "--no-legend" "--plain" args)
(goto-char (point-min))
(let (result)
(while (re-search-forward (rx bol (group (+ (not space)))
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index 487144144f5..5f412bf418a 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -290,6 +290,10 @@ This is and alternative of `scroll-down'. Scope moves upward."
(scroll-down 1) ; relay on robust method
(pixel-scroll-pixel-down amt))))))
+;; isearch-scroll support
+(put 'pixel-scroll-up 'scroll-command t)
+(put 'pixel-scroll-down 'scroll-command t)
+
(defun pixel-bob-at-top-p (amt)
"Return non-nil if window-start is at beginning of the current buffer.
Window must be vertically scrolled by not more than AMT pixels."
@@ -728,6 +732,9 @@ wheel."
(message (error-message-string '(end-of-buffer))))))))))
(mwheel-scroll event nil))))
+;; isearch-scroll support
+(put 'pixel-scroll-precision 'scroll-command t)
+
(defun pixel-scroll-kinetic-state (&optional window)
"Return the kinetic scroll state of WINDOW.
If WINDOW is nil, return the state of the current window.
diff --git a/lisp/plstore.el b/lisp/plstore.el
index 0276a752a0f..d18d461d7d1 100644
--- a/lisp/plstore.el
+++ b/lisp/plstore.el
@@ -24,6 +24,14 @@
;; Plist based data store providing search and partial encryption.
;;
+;; By default, this package uses symmetric encryption, which means
+;; that you have to enter the password protecting your store more
+;; often than you probably expect to. To use public key encryption
+;; with this package, create a GnuPG key and customize user option
+;; `plstore-encrypt-to' to use it. You can then configure the GnuPG
+;; agent to adjust caching and expiration of the passphrase for your
+;; store.
+;;
;; Creating:
;;
;; ;; Open a new store associated with ~/.emacs.d/auth.plist.
@@ -43,12 +51,16 @@
;; ;; Kill the buffer visiting ~/.emacs.d/auth.plist.
;; (plstore-close store)
;;
+;; Avoid marking one property both as public *and* secret, as the
+;; behavior of this package with respect to such duplicate properties
+;; is not (yet) defined.
+;;
;; Searching:
;;
;; (setq store (plstore-open (expand-file-name "~/.emacs.d/auth.plist")))
;;
;; ;; As the entry "foo" associated with "foo.example.org" has no
-;; ;; secret properties, no need to decryption.
+;; ;; secret properties, no need for decryption.
;; (plstore-find store '(:host ("foo.example.org")))
;;
;; ;; As the entry "bar" associated with "bar.example.org" has a
@@ -66,17 +78,119 @@
;; Editing:
;;
;; This file also provides `plstore-mode', a major mode for editing
-;; the PLSTORE format file. Visit a non-existing file and put the
+;; the plstore format file. Visit a non-existing file and put the
;; following line:
;;
;; (("foo" :host "foo.example.org" :secret-user "user"))
;;
;; where the prefixing `:secret-' means the property (without
;; `:secret-' prefix) is marked as secret. Thus, when you save the
-;; buffer, the `:secret-user' property is encrypted as `:user'.
+;; buffer, the `:secret-user' property is encrypted as `:user'. Do
+;; not use a property consisting solely of the prefix, as the behavior
+;; of this package with respect to such properties is not (yet)
+;; defined.
;;
;; You can toggle the view between encrypted form and the decrypted
;; form with C-c C-c.
+;;
+;; If you have opened a plstore with `plstore-open' you should not
+;; edit its underlying buffer in `plstore-mode' or in any other way at
+;; the same time, since your manual changes will be overwritten when
+;; `plstore-save' is called on that plstore.
+;;
+;; Internals:
+;;
+;; This is information on the internal data structure and functions of
+;; this package. None of it should be necessary to actually use it.
+;; For easier reading, we usually do not distinguish in this internal
+;; documentation between a Lisp object and its printed representation.
+;;
+;; A plstore corresponds to an alist mapping strings to property
+;; lists. Internally, that alist is organized as two alists, one
+;; mapping to the non-secret properties and placeholders for the
+;; secret properties (called "template alist" with identifier ALIST)
+;; and one mapping to the secret properties ("secret alist",
+;; SECRET-ALIST). The secret alist is read from and written to file
+;; as pgp-encrypted printed representation of the alist ("encrypted
+;; data", ENCRYPTED-DATA).
+;;
+;; During the lifetime of a plstore, a third type of alist may pop up,
+;; which maps to the merged non-secret properties and plain-text
+;; secret properties ("merged alist", MERGED-ALIST).
+;;
+;; After executing the "foo", "bar", "baz" example from above the
+;; alists described above look like the following:
+;;
+;; Template Alist:
+;;
+;; (("foo" :host "foo.example.org" :port 80)
+;; ("bar" :secret-user t :host "bar.example.org")
+;; ("baz" :secret-password t :host "baz.example.org"))
+;;
+;; Secret Alist:
+;;
+;; (("bar" :user "test")
+;; ("baz" :password "test"))
+;;
+;; Merged Alist:
+;;
+;; (("foo" :host "foo.example.org" :port 80)
+;; ("bar" :user "test" :host "bar.example.org")
+;; ("baz" :password "test" :host "baz.example.org"))
+;;
+;; Finally, a plstore requires a buffer ("plstore buffer", BUFFER) for
+;; conversion between its Lisp objects and its file representation.
+;; It is important to note that this buffer is *not* continuously
+;; synchronized as the plstore changes. During the lifetime of a
+;; plstore, its buffer is read from in function `plstore-open' and
+;; (destructively) written to in `plstore-save', but not touched
+;; otherwise. We call the file visited by the plstore buffer the
+;; associated file of the plstore.
+;;
+;; With the identifiers defined above a plstore is a vector with the
+;; following elements and accessor functions:
+;;
+;; [
+;; BUFFER ; plstore--get/set-buffer
+;; ALIST ; plstore--get/set-alist
+;; ENCRYPTED-DATA ; plstore--get/set-encrypted-data
+;; SECRET-ALIST ; plstore--get/set-secret-alist
+;; MERGED-ALIST ; plstore--get/set-merged-alist
+;; ]
+;;
+;; When a plstore is created through `plstore-open', its ALIST and
+;; ENCRYPTED-DATA are initialized from the contents of BUFFER without
+;; any decryption taking place, and MERGED-ALIST is initialized as a
+;; copy of ALIST. (Which means that at that stage the merged alist
+;; still contains the secret property placeholders!)
+;;
+;; During on-demand decryption of a plstore through function
+;; `plstore--decrypt', SECRET-ALIST is populated from ENCRYPTED-DATA,
+;; which is in turn replaced by value nil. (Which further serves as
+;; an indicator that the plstore has been decrypted already.) In
+;; addition, MERGED-ALIST is recomputed by function
+;; `plstore--merge-secret' to replace the secret property placeholders
+;; by their plain-text secret property equivalents.
+;;
+;; The file representation of a plstore consists of two Lisp forms plus
+;; markers to introduce them:
+;;
+;; ;;; public entries
+;; ALIST
+;; ;;; secret entries
+;; ENCRYPTED-DATA
+;;
+;; Both of these are optional, but the first section must be present
+;; if the second one is. If both sections are missing, the plstore is
+;; empty. If the second section is missing, it contains only
+;; non-secret data. If present, the printed representation of the
+;; encrypted data includes the delimiting double quotes.
+;;
+;; The plstore API (`plstore-open', `plstore-put', etc.) and the
+;; plstore mode implemented by `plstore-mode' are orthogonal to each
+;; other and should not be mixed up. In particular, encoding and
+;; decoding a plstore mode buffer with `plstore-mode-toggle-display'
+;; is not related in any way to the state of the plstore buffer.
;;; Code:
@@ -121,10 +235,13 @@ symmetric encryption will be used."
(put 'plstore-encrypt-to 'permanent-local t)
-(defvar plstore-encoded nil)
+(defvar plstore-encoded nil
+ "Non-nil if the current buffer shows the decoded alist.") ; [sic!]
(put 'plstore-encoded 'permanent-local t)
+;;; EasyPG callback functions.
+
(defvar plstore-cache-passphrase-for-symmetric-encryption nil)
(defvar plstore-passphrase-alist nil)
@@ -141,11 +258,11 @@ symmetric encryption will be used."
(cons entry
plstore-passphrase-alist)))
(setq passphrase
- (read-passwd (format "Passphrase for PLSTORE %s: "
+ (read-passwd (format "Passphrase for plstore %s: "
(plstore--get-buffer plstore))))
(setcdr entry (copy-sequence passphrase))
passphrase)))
- (read-passwd (format "Passphrase for PLSTORE %s: "
+ (read-passwd (format "Passphrase for plstore %s: "
(plstore--get-buffer plstore)))))
(defun plstore-progress-callback-function (_context _what _char current total
@@ -155,6 +272,8 @@ symmetric encryption will be used."
(message "%s...%d%%" handback
(if (> total 0) (floor (* (/ current (float total)) 100)) 0))))
+;;; Core functions.
+
(defun plstore--get-buffer (arg)
(aref arg 0))
@@ -193,6 +312,7 @@ symmetric encryption will be used."
(vector buffer alist encrypted-data secret-alist merged-alist))
(defun plstore--init-from-buffer (plstore)
+ "Parse current buffer and initialize PLSTORE from it."
(goto-char (point-min))
(when (looking-at ";;; public entries")
(forward-line)
@@ -223,16 +343,20 @@ symmetric encryption will be used."
store)))
(defun plstore-revert (plstore)
- "Replace current data in PLSTORE with the file on disk."
+ "Replace current data in PLSTORE from its associated file."
(with-current-buffer (plstore--get-buffer plstore)
(revert-buffer t t)
(plstore--init-from-buffer plstore)))
(defun plstore-close (plstore)
- "Destroy a plstore instance PLSTORE."
+ "Destroy plstore instance PLSTORE."
(kill-buffer (plstore--get-buffer plstore)))
(defun plstore--merge-secret (plstore)
+ "Determine the merged alist of PLSTORE.
+Create the merged alist as a copy of the template alist with all
+placeholder properties that have corresponding properties in the
+secret alist replaced by their plain-text secret properties."
(let ((alist (plstore--get-secret-alist plstore))
modified-alist
modified-plist
@@ -251,19 +375,26 @@ symmetric encryption will be used."
modified-entry (assoc (car entry) modified-alist)
modified-plist (cdr modified-entry))
(while plist
+ ;; Search for a placeholder property in the merged alist
+ ;; corresponding to the current secret property.
(setq placeholder
(plist-member
modified-plist
(intern (concat ":secret-"
(substring (symbol-name (car plist)) 1)))))
+ ;; Replace its name with the real, secret property name.
(if placeholder
(setcar placeholder (car plist)))
+ ;; Update its value to the plain-text secret property value.
(setq modified-plist
(plist-put modified-plist (car plist) (car (cdr plist))))
(setq plist (nthcdr 2 plist)))
(setcdr modified-entry modified-plist))))
(defun plstore--decrypt (plstore)
+ "Decrypt the encrypted data of PLSTORE.
+Update its internal alists and other data structures
+accordingly."
(if (plstore--get-encrypted-data plstore)
(let ((context (epg-make-context 'OpenPGP))
plain)
@@ -290,6 +421,11 @@ symmetric encryption will be used."
(plstore--set-encrypted-data plstore nil))))
(defun plstore--match (entry keys skip-if-secret-found)
+ "Return whether plist KEYS matches ENTRY.
+ENTRY should be a key of the merged alist of a PLSTORE. This
+function returns nil if KEYS do not match ENTRY, t if they match,
+and symbol `secret' if the secret alist needs to be consulted to
+perform a match."
(let ((result t) key-name key-value prop-value secret-name)
(while keys
(setq key-name (car keys)
@@ -311,11 +447,10 @@ symmetric encryption will be used."
result))
(defun plstore-find (plstore keys)
- "Perform search on PLSTORE with KEYS.
-KEYS is a plist."
+ "Return all PLSTORE entries matching plist KEYS."
(let (entries alist entry match decrypt plist)
- ;; First, go through the merged plist alist and collect entries
- ;; matched with keys.
+ ;; First, go through the merged alist and collect entries matched
+ ;; by the keys.
(setq alist (plstore--get-merged-alist plstore))
(while alist
(setq entry (car alist)
@@ -331,7 +466,7 @@ KEYS is a plist."
plist nil))
(setq plist (nthcdr 2 plist)))
(setq entries (cons entry entries)))))
- ;; Second, decrypt the encrypted plist and try again.
+ ;; Second, decrypt the plstore and try again.
(when decrypt
(setq entries nil)
(plstore--decrypt plstore)
@@ -345,7 +480,8 @@ KEYS is a plist."
(nreverse entries)))
(defun plstore-get (plstore name)
- "Get an entry with NAME in PLSTORE."
+ "Return the entry named NAME in PLSTORE.
+Return nil if there is none."
(let ((entry (assoc name (plstore--get-merged-alist plstore)))
plist)
(setq plist (cdr entry))
@@ -359,7 +495,7 @@ KEYS is a plist."
entry))
(defun plstore-put (plstore name keys secret-keys)
- "Put an entry with NAME in PLSTORE.
+ "Put an entry named NAME in PLSTORE.
KEYS is a plist containing non-secret data.
SECRET-KEYS is a plist containing secret data."
(let (entry
@@ -398,7 +534,7 @@ SECRET-KEYS is a plist containing secret data."
(plstore--merge-secret plstore)))
(defun plstore-delete (plstore name)
- "Delete an entry with NAME from PLSTORE."
+ "Delete the first entry named NAME from PLSTORE."
(let ((entry (assoc name (plstore--get-alist plstore))))
(if entry
(plstore--set-alist
@@ -417,6 +553,8 @@ SECRET-KEYS is a plist containing secret data."
(defvar pp-escape-newlines)
(defun plstore--insert-buffer (plstore)
+ "Insert the file representation of PLSTORE at point.
+Assumes that PLSTORE has been decrypted."
(insert ";;; public entries -*- mode: plstore -*- \n"
(pp-to-string (plstore--get-alist plstore)))
(if (plstore--get-secret-alist plstore)
@@ -451,13 +589,31 @@ If no one is selected, symmetric encryption will be performed. "
(insert ";;; secret entries\n" (pp-to-string cipher)))))
(defun plstore-save (plstore)
- "Save the contents of PLSTORE associated with a FILE."
+ "Save PLSTORE to its associated file."
(with-current-buffer (plstore--get-buffer plstore)
(erase-buffer)
(plstore--insert-buffer plstore)
(save-buffer)))
+;;; plstore mode.
+
+;; The functions related to plstore mode unfortunately introduce yet
+;; another alist format ("decoded alist"). After executing the "foo",
+;; "bar", "baz" example from above the decoded alist of the plstore
+;; would look like the following:
+;;
+;; (("foo" :host "foo.example.org" :port 80)
+;; ("bar" :secret-user "test" :host "bar.example.org")
+;; ("baz" :secret-password "test" :host "baz.example.org"))
+;;
+;; Even more unfortunately, variable and function names of the
+;; following are a bit mixed up IMHO: With the current names, the
+;; result of function `plstore--encode' is used to create what is
+;; presented as "decoded form of a plstore" to the user. And variable
+;; `plstore-encoded' is non-nil if a buffer shows the decoded form.
+
(defun plstore--encode (plstore)
+ "Return the printed representation of the decoded alist of PLSTORE."
(plstore--decrypt plstore)
(let ((merged-alist (plstore--get-merged-alist plstore)))
(concat "("
@@ -482,6 +638,9 @@ If no one is selected, symmetric encryption will be performed. "
")")))
(defun plstore--decode (string)
+ "Create a plstore instance from STRING.
+STRING should be the printed representation of a decoded alist of
+some plstore."
(let* ((alist (car (read-from-string string)))
(pointer alist)
secret-alist
@@ -489,7 +648,7 @@ If no one is selected, symmetric encryption will be performed. "
entry)
(while pointer
(unless (stringp (car (car pointer)))
- (error "Invalid PLSTORE format %s" string))
+ (error "Invalid plstore format %s" string))
(setq plist (cdr (car pointer)))
(while plist
(when (string-match "\\`:secret-" (symbol-name (car plist)))
@@ -509,6 +668,10 @@ If no one is selected, symmetric encryption will be performed. "
(plstore--make nil alist nil secret-alist)))
(defun plstore--write-contents-functions ()
+ "Convert the decoded form of a plstore in the current buffer.
+Convert it to the regular file representation of a plstore if
+needed. This function is used on hook `write-contents-functions'
+in plstore mode buffers."
(when plstore-encoded
(let ((store (plstore--decode (buffer-string)))
(file (buffer-file-name)))
@@ -546,7 +709,7 @@ If no one is selected, symmetric encryption will be performed. "
(erase-buffer)
(insert
(substitute-command-keys "\
-;;; You are looking at the decoded form of the PLSTORE file.\n\
+;;; You are looking at the decoded form of the plstore file.\n\
;;; To see the original form content, do \\[plstore-mode-toggle-display]\n\n"))
(insert (plstore--encode store))
(set-buffer-modified-p nil)
@@ -561,7 +724,7 @@ If no one is selected, symmetric encryption will be performed. "
;;;###autoload
(define-derived-mode plstore-mode emacs-lisp-mode "PLSTORE"
- "Major mode for editing PLSTORE files."
+ "Major mode for editing plstore files."
(make-local-variable 'plstore-encoded)
(add-hook 'write-contents-functions #'plstore--write-contents-functions)
(define-key plstore-mode-map "\C-c\C-c" #'plstore-mode-toggle-display)
diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index e93a0fec707..f16e06942b9 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -80,6 +80,8 @@
(declare-function treesit-node-prev-sibling "treesit.c")
(declare-function treesit-node-first-child-for-pos "treesit.c")
(declare-function treesit-node-next-sibling "treesit.c")
+(declare-function treesit-parser-set-included-ranges "treesit.c")
+(declare-function treesit-query-compile "treesit.c")
;;; Custom variables
@@ -136,6 +138,10 @@ symbol."
(loop (append res (list buffer)) (cdr buffers))
(loop res (cdr buffers))))))))
+(defun c-ts-indent-style-safep (style)
+ "Non-nil if STYLE's value is safe for file-local variables."
+ (and (symbolp style) (not (functionp style))))
+
(defcustom c-ts-mode-indent-style 'gnu
"Style used for indentation.
@@ -150,6 +156,7 @@ follows the form of `treesit-simple-indent-rules'."
(symbol :tag "BSD" bsd)
(function :tag "A function for user customized style" ignore))
:set #'c-ts-mode--indent-style-setter
+ :safe 'c-ts-indent-style-safep
:group 'c)
(defun c-ts-mode--get-indent-style (mode)
@@ -193,9 +200,17 @@ To set the default indent style globally, use
(c-ts-mode--get-indent-style
(if (derived-mode-p 'c-ts-mode) 'c 'cpp))))))
-(defvar c-ts-mode-emacs-devel nil
- "If the value is t, enable Emacs source-specific features.
-This needs to be set before enabling `c-ts-mode'.")
+(defcustom c-ts-mode-emacs-sources-support t
+ "Whether to enable Emacs source-specific features.
+This enables detection of definitions of Lisp function using
+the DEFUN macro.
+This needs to be set before enabling `c-ts-mode'; if you change
+the value after enabling `c-ts-mode', toggle the mode off and on
+again."
+ :version "29.1"
+ :type 'boolean
+ :safe 'booleanp
+ :group 'c)
;;; Syntax table
@@ -344,7 +359,9 @@ PARENT, BOL, ARGS are the same as other anchor functions."
"Indent rules supported by `c-ts-mode'.
MODE is either `c' or `cpp'."
(let ((common
- `(((parent-is "translation_unit") column-0 0)
+ `((c-ts-mode--for-each-tail-body-matcher prev-line c-ts-mode-indent-offset)
+
+ ((parent-is "translation_unit") column-0 0)
((query "(ERROR (ERROR)) @indent") column-0 0)
((node-is ")") parent 1)
((node-is "]") parent-bol 0)
@@ -487,10 +504,10 @@ NODE should be a labeled_statement. PARENT is its parent."
"C/C++ keywords for tree-sitter font-locking.
MODE is either `c' or `cpp'."
(let ((c-keywords
- '("break" "case" "const" "continue"
+ '("_Atomic" "break" "case" "const" "continue"
"default" "do" "else" "enum"
"extern" "for" "goto" "if" "inline"
- "register" "return"
+ "register" "restrict" "return"
"sizeof" "static" "struct"
"switch" "typedef" "union"
"volatile" "while")))
@@ -519,6 +536,11 @@ MODE is either `c' or `cpp'."
"+=" "*=" "/=" "%=" "|=" "&=" "^=" ">>=" "<<=" "--" "++")
"C/C++ operators for tree-sitter font-locking.")
+(defvar c-ts-mode--for-each-tail-regexp
+ (rx "FOR_EACH_" (or "TAIL" "TAIL_SAFE" "ALIST_VALUE"
+ "LIVE_BUFFER" "FRAME"))
+ "A regexp matching all the variants of the FOR_EACH_* macro.")
+
(defun c-ts-mode--font-lock-settings (mode)
"Tree-sitter font-lock settings.
MODE is either `c' or `cpp'."
@@ -605,6 +627,13 @@ MODE is either `c' or `cpp'."
(function_definition
declarator: (_) @c-ts-mode--fontify-declarator)
+ ;; When a function definition has preproc directives in its body,
+ ;; it can't correctly parse into a function_definition. We still
+ ;; want to highlight the function_declarator correctly, hence
+ ;; this rule. See bug#63390 for more detail.
+ ((function_declarator) @c-ts-mode--fontify-declarator
+ (:pred c-ts-mode--top-level-declarator
+ @c-ts-mode--fontify-declarator))
(parameter_declaration
declarator: (_) @c-ts-mode--fontify-declarator)
@@ -669,10 +698,14 @@ MODE is either `c' or `cpp'."
:language mode
:feature 'emacs-devel
:override t
- '(((call_expression
+ `(((call_expression
(call_expression function: (identifier) @fn)
- @c-ts-mode--fontify-defun)
- (:match "^DEFUN$" @fn)))))
+ @c-ts-mode--fontify-DEFUN)
+ (:match "\\`DEFUN\\'" @fn))
+
+ ((function_definition type: (_) @for-each-tail)
+ @c-ts-mode--fontify-for-each-tail
+ (:match ,c-ts-mode--for-each-tail-regexp @for-each-tail)))))
;;; Font-lock helpers
@@ -724,6 +757,19 @@ For NODE, OVERRIDE, START, END, and ARGS, see
(treesit-node-start identifier) (treesit-node-end identifier)
face override start end))))
+(defun c-ts-mode--top-level-declarator (node)
+ "Return non-nil if NODE is a top-level function_declarator."
+ ;; These criterion are observed in
+ ;; xterm.c:x_draw_glyphless_glyph_string_foreground on emacs-29
+ ;; branch, described in bug#63390. They might not cover all cases
+ ;; where a function_declarator is at top-level, outside of a
+ ;; function_definition. We might need to amend them as we discover
+ ;; more cases.
+ (let* ((parent (treesit-node-parent node))
+ (grandparent (treesit-node-parent parent)))
+ (and (equal (treesit-node-type parent) "ERROR")
+ (null grandparent))))
+
(defun c-ts-mode--fontify-variable (node override start end &rest _)
"Fontify an identifier node if it is a variable.
Don't fontify if it is a function identifier. For NODE,
@@ -735,14 +781,14 @@ OVERRIDE, START, END, and ARGS, see `treesit-font-lock-rules'."
(treesit-node-start node) (treesit-node-end node)
'font-lock-variable-use-face override start end)))
-(defun c-ts-mode--fontify-defun (node override start end &rest _)
- "Correctly fontify the DEFUN macro.
+(defun c-ts-mode--fontify-DEFUN (node override start end &rest _)
+ "Correctly fontify calls to the DEFUN macro in Emacs sources.
For NODE, OVERRIDE, START, and END, see
`treesit-font-lock-rules'. The captured NODE is a
-call_expression where DEFUN is the function.
+call_expression node, where DEFUN is the function.
-This function corrects the fontification on the colon in
-\"doc:\", and the parameter list."
+This function corrects the fontification of the colon in
+\"doc:\", and of the parameter list."
(let* ((parent (treesit-node-parent node))
;; ARG-LIST-1 and 2 are like this:
;;
@@ -774,6 +820,20 @@ This function corrects the fontification on the colon in
(treesit-node-start arg) (treesit-node-end arg)
'default override start end))))))
+(defun c-ts-mode--fontify-for-each-tail (node override start end &rest _)
+ "Fontify FOR_EACH_* macro variants in Emacs sources.
+For NODE, OVERRIDE, START, and END, see
+`treesit-font-lock-rules'. The captured NODE is a
+function_definition node."
+ (let ((for-each-tail (treesit-node-child-by-field-name node "type"))
+ (args (treesit-node-child-by-field-name node "declarator")))
+ (treesit-fontify-with-override
+ (treesit-node-start for-each-tail) (treesit-node-end for-each-tail)
+ 'default override start end)
+ (treesit-fontify-with-override
+ (1+ (treesit-node-start args)) (1- (treesit-node-end args))
+ 'default override start end)))
+
(defun c-ts-mode--fontify-error (node override start end &rest _)
"Fontify the error nodes.
For NODE, OVERRIDE, START, and END, see
@@ -808,7 +868,7 @@ Return nil if NODE is not a defun node or doesn't have a name."
"union_specifier" "class_specifier"
"namespace_definition")
(treesit-node-child-by-field-name node "name"))
- ;; DEFUNs in Emacs source.
+ ;; DEFUNs in Emacs sources.
("expression_statement"
(let* ((call-exp-1 (treesit-node-child node 0))
(call-exp-2 (treesit-node-child call-exp-1 0))
@@ -885,7 +945,9 @@ the semicolon. This function skips the semicolon."
(list node parent bol)))
(defun c-ts-mode--emacs-defun-p (node)
- "Return non-nil if NODE is a DEFUN in Emacs source files."
+ "Return non-nil if NODE is a Lisp function defined using DEFUN.
+This function detects Lisp primitives defined in Emacs source
+files using the DEFUN macro."
(and (equal (treesit-node-type node) "expression_statement")
(equal (treesit-node-text
(treesit-node-child-by-field-name
@@ -896,23 +958,25 @@ the semicolon. This function skips the semicolon."
"DEFUN")))
(defun c-ts-mode--emacs-defun-at-point (&optional range)
- "Return the current defun node.
+ "Return the defun node at point.
-This function recognizes DEFUNs in Emacs source files.
+In addition to regular C functions, this function recognizes
+definitions of Lisp primitrives in Emacs source files using DEFUN,
+if `c-ts-mode-emacs-sources-support' is non-nil.
-Note that for the case of a DEFUN, it is made of two separate
-nodes, one for the declaration and one for the body, this
+Note that DEFUN is parsed by tree-sitter as two separate
+nodes, one for the declaration and one for the body; this
function returns the declaration node.
If RANGE is non-nil, return (BEG . END) where BEG end END
-encloses the whole defun. This solves the problem of only
-returning the declaration part for DEFUN."
+encloses the whole defun. This is for when the entire defun
+is required, not just the declaration part for DEFUN."
(or (when-let ((node (treesit-defun-at-point)))
(if range
(cons (treesit-node-start node)
(treesit-node-end node))
node))
- (and c-ts-mode-emacs-devel
+ (and c-ts-mode-emacs-sources-support
(let ((candidate-1 ; For when point is in the DEFUN statement.
(treesit-node-prev-sibling
(treesit-node-top-level
@@ -945,12 +1009,91 @@ returning the declaration part for DEFUN."
(defun c-ts-mode--emacs-current-defun-name ()
"Return the name of the current defun.
-This is used for `add-log-current-defun-function'. This
-recognizes DEFUN in Emacs sources, in addition to normal function
-definitions."
+This is used for `add-log-current-defun-function'.
+In addition to regular C functions, this function also recognizes
+Emacs primitives defined using DEFUN in Emacs sources,
+if `c-ts-mode-emacs-sources-support' is non-nil."
(or (treesit-add-log-current-defun)
(c-ts-mode--defun-name (c-ts-mode--emacs-defun-at-point))))
+;;; Support for FOR_EACH_* macros
+;;
+;; FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE, FOR_EACH_FRAME etc., followed by
+;; an unbracketed body will mess up the parser, which parses the thing
+;; as a function declaration. We "fix" it by adding a shadow parser
+;; for a language 'emacs-c' (which is just 'c' but under a different
+;; name). We use 'emacs-c' to find each FOR_EACH_* macro with a
+;; unbracketed body, and set the ranges of the C parser so that it
+;; skips those FOR_EACH_*'s. Note that we only ignore FOR_EACH_*'s
+;; with a unbracketed body. Those with a bracketed body parse more
+;; or less fine.
+;;
+;; In the meantime, we have a special fontification rule for
+;; FOR_EACH_* macros with a bracketed body that removes any applied
+;; fontification (which are wrong anyway), to keep them consistent
+;; with the skipped FOR_EACH_* macros (which have no fontification).
+;; The rule is in 'emacs-devel' feature.
+
+(defun c-ts-mode--for-each-tail-body-matcher (_n _p bol &rest _)
+ "A matcher that matches the first line after a FOR_EACH_* macro.
+For BOL see `treesit-simple-indent-rules'."
+ (when c-ts-mode-emacs-sources-support
+ (save-excursion
+ (goto-char bol)
+ (forward-line -1)
+ (skip-chars-forward " \t")
+ (looking-at c-ts-mode--for-each-tail-regexp))))
+
+(defvar c-ts-mode--emacs-c-range-query
+ (when (treesit-available-p)
+ (treesit-query-compile
+ 'emacs-c `(((declaration
+ type: (macro_type_specifier
+ name: (identifier) @_name)
+ @for-each-tail)
+ (:match ,c-ts-mode--for-each-tail-regexp
+ @_name)))))
+ "Query that finds a FOR_EACH_* macro with an unbracketed body.")
+
+(defvar-local c-ts-mode--for-each-tail-ranges nil
+ "Ranges covering all the FOR_EACH_* macros in the buffer.")
+
+(defun c-ts-mode--reverse-ranges (ranges beg end)
+ "Reverse RANGES and return the new ranges between BEG and END.
+Positions that were included RANGES are not in the returned
+ranges, and vice versa.
+
+Return nil if RANGES is nil. This way, passing the returned
+ranges to `treesit-parser-set-included-ranges' will make the
+parser parse the whole buffer."
+ (if (null ranges)
+ nil
+ (let ((new-ranges nil)
+ (prev-end beg))
+ (dolist (range ranges)
+ (when (< prev-end (car range))
+ (push (cons prev-end (car range)) new-ranges))
+ (setq prev-end (cdr range)))
+ (when (< prev-end end)
+ (push (cons prev-end end) new-ranges))
+ (nreverse new-ranges))))
+
+(defun c-ts-mode--emacs-set-ranges (beg end)
+ "Set ranges for the C parser to skip some FOR_EACH_* macros.
+BEG and END are described in `treesit-range-rules'."
+ (let* ((c-parser (treesit-parser-create 'c))
+ (old-ranges c-ts-mode--for-each-tail-ranges)
+ (new-ranges (treesit-query-range
+ 'emacs-c c-ts-mode--emacs-c-range-query beg end))
+ (set-ranges (treesit--clip-ranges
+ (treesit--merge-ranges
+ old-ranges new-ranges beg end)
+ (point-min) (point-max)))
+ (reversed-ranges (c-ts-mode--reverse-ranges
+ set-ranges (point-min) (point-max))))
+ (setq-local c-ts-mode--for-each-tail-ranges set-ranges)
+ (treesit-parser-set-included-ranges c-parser reversed-ranges)))
+
;;; Modes
(defvar-keymap c-ts-base-mode-map
@@ -1063,6 +1206,8 @@ definitions."
( assignment constant escape-sequence label literal)
( bracket delimiter error function operator property variable))))
+(defvar treesit-load-name-override-list)
+
;;;###autoload
(define-derived-mode c-ts-mode c-ts-base-mode "C"
"Major mode for editing C, powered by tree-sitter.
@@ -1083,6 +1228,17 @@ in your configuration."
:after-hook (c-ts-mode-set-modeline)
(when (treesit-ready-p 'c)
+ ;; Add a fake "emacs-c" language which is just C. Used for
+ ;; skipping FOR_EACH_* macros, see `c-ts-mode--emacs-set-ranges'.
+ (setf (alist-get 'emacs-c treesit-load-name-override-list)
+ '("libtree-sitter-c" "tree_sitter_c"))
+ ;; If Emacs source support is enabled, make sure emacs-c parser is
+ ;; after c parser in the parser list. This way various tree-sitter
+ ;; functions will automatically use the c parser rather than the
+ ;; emacs-c parser.
+ (when c-ts-mode-emacs-sources-support
+ (treesit-parser-create 'emacs-c))
+
(treesit-parser-create 'c)
;; Comments.
(setq-local comment-start "/* ")
@@ -1096,9 +1252,17 @@ in your configuration."
(setq-local treesit-defun-tactic 'top-level)
(treesit-major-mode-setup)
- (when c-ts-mode-emacs-devel
+ ;; Emacs source support: handle DEFUN and FOR_EACH_* gracefully.
+ (when c-ts-mode-emacs-sources-support
(setq-local add-log-current-defun-function
- #'c-ts-mode--emacs-current-defun-name))))
+ #'c-ts-mode--emacs-current-defun-name)
+
+ (setq-local treesit-range-settings
+ (treesit-range-rules 'c-ts-mode--emacs-set-ranges))
+
+ (setq-local treesit-language-at-point-function
+ (lambda (_pos) 'c))
+ (treesit-font-lock-recompute-features '(emacs-devel)))))
;;;###autoload
(define-derived-mode c++-ts-mode c-ts-base-mode "C++"
@@ -1141,7 +1305,8 @@ recommended to enable `electric-pair-mode' with this mode."
;; Font-lock.
(setq-local treesit-font-lock-settings (c-ts-mode--font-lock-settings 'cpp))
(treesit-major-mode-setup)
- (when c-ts-mode-emacs-devel
+
+ (when c-ts-mode-emacs-sources-support
(setq-local add-log-current-defun-function
#'c-ts-mode--emacs-current-defun-name))))
@@ -1190,7 +1355,7 @@ recommended to enable `electric-pair-mode' with this mode."
"\\|" id "::"
"\\|" id ws-maybe "=\\)"
"\\|" "\\(?:inline" ws "\\)?namespace"
- "\\(:?" ws "\\(?:" id "::\\)*" id "\\)?" ws-maybe "{"
+ "\\(?:" ws "\\(?:" id "::\\)*" id "\\)?" ws-maybe "{"
"\\|" "class" ws id
"\\(?:" ws "final" "\\)?" ws-maybe "[:{;\n]"
"\\|" "struct" ws id "\\(?:" ws "final" ws-maybe "[:{\n]"
diff --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el
index 34ef0b9c1af..91a7665edbb 100644
--- a/lisp/progmodes/cc-align.el
+++ b/lisp/progmodes/cc-align.el
@@ -940,6 +940,16 @@ Works with: template-args-cont."
(zerop (c-forward-token-2 1 nil (c-point 'eol))))
(vector (current-column)))))
+(defun c-lineup-template-args-indented-from-margin (_langelem)
+ "Indent a template argument line `c-basic-offset' from the margin
+of the line with the containing <.
+
+Works with: template-args-cont."
+ (save-excursion
+ (goto-char (c-langelem-2nd-pos c-syntactic-element))
+ (back-to-indentation)
+ (vector (+ (current-column) c-basic-offset))))
+
(defun c-lineup-ObjC-method-call (langelem)
"Line up selector args as Emacs Lisp mode does with function args:
Go to the position right after the message receiver, and if you are at
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 1d98b215525..1d7f90ed428 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1284,6 +1284,29 @@ MODE is either a mode symbol or a list of mode symbols."
pos)
(most-positive-fixnum))))
+(defmacro c-put-char-properties (from to property value)
+ ;; FIXME!!! Doc comment here!
+ (declare (debug t))
+ (setq property (eval property))
+ `(let ((-to- ,to) (-from- ,from))
+ ,(if c-use-extents
+ ;; XEmacs
+ `(progn
+ (map-extents (lambda (ext ignored)
+ (delete-extent ext))
+ nil -from- -to- nil nil ',property)
+ (set-extent-properties (make-extent -from- -to-)
+ (cons property
+ (cons ,value
+ '(start-open t
+ end-open t)))))
+ ;; Emacs
+ `(progn
+ ,@(when (and (fboundp 'syntax-ppss)
+ (eq `,property 'syntax-table))
+ `((setq c-syntax-table-hwm (min c-syntax-table-hwm -from-))))
+ (put-text-property -from- -to- ',property ,value)))))
+
(defmacro c-clear-char-properties (from to property)
;; Remove all the occurrences of the given property in the given
;; region that has been put with `c-put-char-property'. PROPERTY is
@@ -1379,7 +1402,8 @@ isn't found, return nil; point is then left undefined."
value)
(t (let ((place (c-next-single-property-change
(point) ,property nil -limit-)))
- (when place
+ (when (and place
+ (< place -limit-))
(goto-char (1+ place))
(c-get-char-property place ,property)))))))
@@ -1846,9 +1870,9 @@ with value CHAR in the region [FROM to)."
'(looking-at
"\\([;#]\\|\\'\\|\\s(\\|\\s)\\|\\s\"\\|\\s\\\\|\\s$\\|\\s<\\|\\s>\\|\\s!\\)")
'(or (looking-at
- "\\([;#]\\|\\'\\|\\s(\\|\\s)\\|\\s\"\\|\\s\\\\|\\s$\\|\\s<\\|\\s>\\)"
+ "\\([;#]\\|\\'\\|\\s(\\|\\s)\\|\\s\"\\|\\s\\\\|\\s$\\|\\s<\\|\\s>\\)")
(let ((prop (c-get-char-property (point) 'syntax-table)))
- (equal prop '(14))))))) ; '(14) is generic comment delimiter.
+ (equal prop '(14)))))) ; '(14) is generic comment delimiter.
(defsubst c-intersect-lists (list alist)
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index f7320da5629..721daf9d53f 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2672,6 +2672,7 @@ comment at the start of cc-engine.el for more info."
(progn (goto-char beg)
(c-skip-ws-forward end+1)
(eq (point) end+1))))))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; We maintain a sopisticated cache of positions which are in a literal,
@@ -6244,6 +6245,9 @@ comment at the start of cc-engine.el for more info."
;; prefix". The declaration prefix is the earlier of `cfd-prop-match' and
;; `cfd-re-match'. `cfd-match-pos' is set to the decl prefix.
;;
+ ;; The variables which this macro should set for `c-find-decl-spots' are
+ ;; `cfd-match-pos' and `cfd-continue-pos'.
+ ;;
;; This macro might do hidden buffer changes.
'(progn
@@ -6586,11 +6590,17 @@ comment at the start of cc-engine.el for more info."
;; and so we can continue the search from this point. If we
;; didn't hit `c-find-decl-syntactic-pos' then we're now in
;; the right spot to begin searching anyway.
- (if (and (eq (point) c-find-decl-syntactic-pos)
- c-find-decl-match-pos)
- (setq cfd-match-pos c-find-decl-match-pos
- cfd-continue-pos syntactic-pos)
-
+ (cond
+ ((and (eq (point) c-find-decl-syntactic-pos)
+ c-find-decl-match-pos)
+ (setq cfd-match-pos c-find-decl-match-pos
+ cfd-continue-pos syntactic-pos))
+ ((save-excursion (c-beginning-of-macro))
+ ;; The `c-backward-syntactic-ws' ~40 lines up failed to find non
+ ;; syntactic-ws and hit its limit, leaving us in a macro.
+ (setq cfd-match-pos cfd-start-pos
+ cfd-continue-pos cfd-start-pos))
+ (t
(setq c-find-decl-syntactic-pos syntactic-pos)
(when (if (bobp)
@@ -6608,7 +6618,7 @@ comment at the start of cc-engine.el for more info."
(c-find-decl-prefix-search)) ; sets cfd-continue-pos
(setq c-find-decl-match-pos (and (< cfd-match-pos cfd-start-pos)
- cfd-match-pos))))) ; end of `cond'
+ cfd-match-pos)))))) ; end of `cond'
;; Advance `cfd-continue-pos' if it's before the start position.
;; The closest continue position that might have effect at or
@@ -7030,8 +7040,8 @@ comment at the start of cc-engine.el for more info."
;; POS (default point) is at a < character. If it is both marked
;; with open/close paren syntax-table property, and has a matching >
;; (also marked) which is after LIM, remove the property both from
- ;; the current > and its partner. Return t when this happens, nil
- ;; when it doesn't.
+ ;; the current > and its partner. Return the position after the >
+ ;; when this happens, nil when it doesn't.
(save-excursion
(if pos
(goto-char pos)
@@ -7045,15 +7055,15 @@ comment at the start of cc-engine.el for more info."
c->-as-paren-syntax)) ; should always be true.
(c-unmark-<->-as-paren (1- (point)))
(c-unmark-<->-as-paren pos)
- (c-truncate-lit-pos-cache pos))
- t)))
+ (c-truncate-lit-pos-cache pos)
+ (point)))))
(defun c-clear->-pair-props-if-match-before (lim &optional pos)
;; POS (default point) is at a > character. If it is both marked
;; with open/close paren syntax-table property, and has a matching <
;; (also marked) which is before LIM, remove the property both from
- ;; the current < and its partner. Return t when this happens, nil
- ;; when it doesn't.
+ ;; the current < and its partner. Return the position of the < when
+ ;; this happens, nil when it doesn't.
(save-excursion
(if pos
(goto-char pos)
@@ -7067,8 +7077,8 @@ comment at the start of cc-engine.el for more info."
c-<-as-paren-syntax)) ; should always be true.
(c-unmark-<->-as-paren (point))
(c-truncate-lit-pos-cache (point))
- (c-unmark-<->-as-paren pos))
- t)))
+ (c-unmark-<->-as-paren pos)
+ (point)))))
;; Set by c-common-init in cc-mode.el.
(defvar c-new-BEG)
@@ -7076,7 +7086,48 @@ comment at the start of cc-engine.el for more info."
;; Set by c-before-change-check-raw-strings.
(defvar c-old-END-literality)
-(defun c-before-change-check-<>-operators (beg end)
+(defun c-end-of-literal (pt-s pt-search)
+ ;; If a literal is open in the `c-semi-pp-to-literal' state PT-S, return the
+ ;; end point of this literal (or point-max) assuming PT-S is valid at
+ ;; PT-SEARCH. Otherwise, return nil.
+ (when (car (cddr pt-s)) ; Literal start
+ (let ((lit-type (cadr pt-s))
+ (lit-beg (car (cddr pt-s)))
+ ml-end-re
+ )
+ (save-excursion
+ (cond
+ ((eq lit-type 'string)
+ (if (and c-ml-string-opener-re
+ (c-ml-string-opener-at-or-around-point lit-beg))
+ (progn
+ (setq ml-end-re
+ (funcall c-make-ml-string-closer-re-function
+ (match-string 1)))
+ (goto-char (max (- pt-search (1- (length ml-end-re)))
+ (point-min)))
+ (re-search-forward ml-end-re nil 'stay))
+ ;; For an ordinary string, we can't use `parse-partial-sexp' since
+ ;; not all syntax-table properties have yet been set.
+ (goto-char pt-search)
+ (re-search-forward
+ "\\(?:\\\\\\(?:.\\|\n\\)\\|[^\"\n\\]\\)*[\"\n]" nil 'stay)))
+ ((memq lit-type '(c c++))
+ ;; To work around a bug in parse-partial-sexp, where effect is given
+ ;; to the syntax of a backslash, even the the scan starts with point
+ ;; just after it.
+ (if (and (eq (char-before pt-search) ?\\)
+ (eq (char-after pt-search) ?\n))
+ (progn
+ (c-put-char-property (1- pt-search) 'syntax-table '(1))
+ (parse-partial-sexp pt-search (point-max) nil nil (car pt-s)
+ 'syntax-table)
+ (c-clear-char-property (1- pt-search) 'syntax-table))
+ (parse-partial-sexp pt-search (point-max) nil nil (car pt-s)
+ 'syntax-table))))
+ (point)))))
+
+(defun c-unmark-<>-around-region (beg end &optional old-len)
;; Unmark certain pairs of "< .... >" which are currently marked as
;; template/generic delimiters. (This marking is via syntax-table text
;; properties), and expand the (c-new-BEG c-new-END) region to include all
@@ -7090,66 +7141,200 @@ comment at the start of cc-engine.el for more info."
;; enclose a brace or semicolon, so we use these as bounds on the
;; region we must work on.
;;
+ ;; The buffer is widened, and point is undefined, both at entry and exit.
+ ;;
+ ;; FIXME!!! This routine ignores the possibility of macros entirely.
+ ;; 2010-01-29.
+
+ (when (> end beg)
+ ;; Extend the region (BEG END) to deal with any complicating literals.
+ (let* ((lit-search-beg (if (memq (char-before beg) '(?/ ?*))
+ (1- beg) beg))
+ (lit-search-end (if (memq (char-after end) '(?/ ?*))
+ (1+ end) end))
+ ;; Note we can't use c-full-pp-to-literal here, since we haven't
+ ;; yet applied syntax-table properties to ends of lines, etc.
+ (lit-search-beg-s (c-semi-pp-to-literal lit-search-beg))
+ (beg-literal-beg (car (cddr lit-search-beg-s)))
+ (lit-search-end-s (c-semi-pp-to-literal lit-search-end))
+ (end-literal-beg (car (cddr lit-search-end-s)))
+ (beg-literal-end (c-end-of-literal lit-search-beg-s lit-search-beg))
+ (end-literal-end (c-end-of-literal lit-search-end-s lit-search-end))
+ new-beg new-end search-region)
+
+ ;; Determine any new end of literal resulting from the insertion/deletion.
+ (setq search-region
+ (if (and (eq beg-literal-beg end-literal-beg)
+ (eq beg-literal-end end-literal-end))
+ (if beg-literal-beg
+ nil
+ (cons beg
+ (max end
+ (or beg-literal-end (point-min))
+ (or end-literal-end (point-min)))))
+ (cons (or beg-literal-beg beg)
+ (max end
+ (or beg-literal-end (point-min))
+ (or end-literal-end (point-min))))))
+
+ (when search-region
+ ;; If we've just inserted text, mask its syntaxes temporarily so that
+ ;; they won't interfere with the undoing of the properties on the <s
+ ;; and >s.
+ (c-save-buffer-state (syn-tab-settings syn-tab-value
+ swap-open-string-ends)
+ (unwind-protect
+ (progn
+ (when old-len
+ ;; Special case: If a \ has just been inserted into a
+ ;; string, escaping or unescaping a LF, temporarily swap
+ ;; the LF's syntax-table text property with that of the
+ ;; former end of the open string.
+ (goto-char end)
+ (when (and (eq (cadr lit-search-beg-s) 'string)
+ (not (eq beg-literal-end end-literal-end))
+ (skip-chars-forward "\\\\")
+ (eq (char-after) ?\n)
+ (not (zerop (skip-chars-backward "\\\\"))))
+ (setq swap-open-string-ends t)
+ (if (c-get-char-property (1- beg-literal-end)
+ 'syntax-table)
+ (progn
+ (c-clear-char-property (1- beg-literal-end)
+ 'syntax-table)
+ (c-put-char-property (1- end-literal-end)
+ 'syntax-table '(15)))
+ (c-put-char-property (1- beg-literal-end)
+ 'syntax-table '(15))
+ (c-clear-char-property (1- end-literal-end)
+ 'syntax-table)))
+
+ ;; Save current settings of the 'syntax-table property in
+ ;; (BEG END), then splat these with the punctuation value.
+ (goto-char beg)
+ (while (setq syn-tab-value
+ (c-search-forward-non-nil-char-property
+ 'syntax-table end))
+ (when (not (c-get-char-property (1- (point)) 'category))
+ (push (cons (1- (point)) syn-tab-value)
+ syn-tab-settings)))
+
+ (c-put-char-properties beg end 'syntax-table '(1))
+ ;; If an open string's opener has just been neutralized,
+ ;; do the same to the terminating LF.
+ (when (and end-literal-end
+ (eq (char-before end-literal-end) ?\n)
+ (equal (c-get-char-property
+ (1- end-literal-end) 'syntax-table)
+ '(15)))
+ (push (cons (1- end-literal-end) '(15)) syn-tab-settings)
+ (c-put-char-property (1- end-literal-end) 'syntax-table
+ '(1))))
+
+ (let
+ ((beg-lit-start (progn (goto-char beg) (c-literal-start)))
+ beg-limit end-limit <>-pos)
+ ;; Locate the earliest < after the barrier before the
+ ;; changed region, which isn't already marked as a paren.
+ (goto-char (or beg-lit-start beg))
+ (setq beg-limit (c-determine-limit 5000))
+
+ ;; Remove the syntax-table/category properties from each pertinent <...>
+ ;; pair. Firstly, the ones with the < before beg and > after beg....
+ (goto-char (cdr search-region))
+ (while (progn (c-syntactic-skip-backward "^;{}<" beg-limit)
+ (eq (char-before) ?<))
+ (c-backward-token-2)
+ (when (eq (char-after) ?<)
+ (when (setq <>-pos (c-clear-<-pair-props-if-match-after
+ (car search-region)))
+ (setq new-end <>-pos))
+ (setq new-beg (point))))
+
+ ;; ...Then the ones with < before end and > after end.
+ (goto-char (car search-region))
+ (setq end-limit (c-determine-+ve-limit 5000))
+ (while (and (c-syntactic-re-search-forward "[;{}>]" end-limit 'end)
+ (eq (char-before) ?>))
+ (when (eq (char-before) ?>)
+ (if (and (looking-at c->-op-cont-regexp)
+ (not (eq (char-after) ?>)))
+ (goto-char (match-end 0))
+ (when
+ (and (setq <>-pos
+ (c-clear->-pair-props-if-match-before
+ (cdr search-region)
+ (1- (point))))
+ (or (not new-beg)
+ (< <>-pos new-beg)))
+ (setq new-beg <>-pos))
+ (when (or (not new-end) (> (point) new-end))
+ (setq new-end (point))))))))
+
+ (when old-len
+ (c-clear-char-properties beg end 'syntax-table)
+ (dolist (elt syn-tab-settings)
+ (if (cdr elt)
+ (c-put-char-property (car elt) 'syntax-table (cdr elt)))))
+ ;; Swap the '(15) syntax-table property on open string LFs back
+ ;; again.
+ (when swap-open-string-ends
+ (if (c-get-char-property (1- beg-literal-end)
+ 'syntax-table)
+ (progn
+ (c-clear-char-property (1- beg-literal-end)
+ 'syntax-table)
+ (c-put-char-property (1- end-literal-end)
+ 'syntax-table '(15)))
+ (c-put-char-property (1- beg-literal-end)
+ 'syntax-table '(15))
+ (c-clear-char-property (1- end-literal-end)
+ 'syntax-table)))))
+ ;; Extend the fontification region, if needed.
+ (and new-beg
+ (< new-beg c-new-BEG)
+ (setq c-new-BEG new-beg))
+ (and new-end
+ (> new-end c-new-END)
+ (setq c-new-END new-end))))))
+
+(defun c-before-change-check-<>-operators (beg end)
+ ;; When we're deleting text, unmark certain pairs of "< .... >" which are
+ ;; currently marked as template/generic delimiters. (This marking is via
+ ;; syntax-table text properties), and expand the (c-new-BEG c-new-END)
+ ;; region to include all unmarked < and > operators within the certain
+ ;; bounds (see below).
+ ;;
+ ;; These pairs are those which are in the current "statement" (i.e.,
+ ;; the region between the {, }, or ; before BEG and the one after
+ ;; END), and which enclose any part of the interval (BEG END).
+ ;; Also unmark a < or > which is about to become part of a multi-character
+ ;; operator, e.g. <=.
+ ;;
+ ;; Note that in C++ (?and Java), template/generic parens cannot
+ ;; enclose a brace or semicolon, so we use these as bounds on the
+ ;; region we must work on.
+ ;;
;; This function is called from before-change-functions (via
;; c-get-state-before-change-functions). Thus the buffer is widened,
;; and point is undefined, both at entry and exit.
;;
;; FIXME!!! This routine ignores the possibility of macros entirely.
;; 2010-01-29.
- (when (and (or (> end beg)
- (and (> c-<-pseudo-digraph-cont-len 0)
- (goto-char beg)
- (progn
- (skip-chars-backward
- "^<" (max (- (point) c-<-pseudo-digraph-cont-len)
- (point-min)))
- (eq (char-before) ?<))
- (looking-at c-<-pseudo-digraph-cont-regexp)))
- (or
- (progn
- (goto-char beg)
- (search-backward "<" (max (- (point) 1024) (point-min)) t))
- (progn
- (goto-char end)
- (search-forward ">" (min (+ (point) 1024) (point-max)) t))))
- (save-excursion
- (c-save-buffer-state
- ((beg-lit-start (progn (goto-char beg) (c-literal-start)))
- (end-lit-limits (progn (goto-char end) (c-literal-limits)))
- new-beg new-end beg-limit end-limit)
- ;; Locate the earliest < after the barrier before the changed region,
- ;; which isn't already marked as a paren.
- (goto-char (or beg-lit-start beg))
- (setq beg-limit (c-determine-limit 512))
-
- ;; Remove the syntax-table/category properties from each pertinent <...>
- ;; pair. Firstly, the ones with the < before beg and > after beg....
- (while (progn (c-syntactic-skip-backward "^;{}<" beg-limit)
- (eq (char-before) ?<))
- (c-backward-token-2)
- (when (eq (char-after) ?<)
- (c-clear-<-pair-props-if-match-after beg)
- (setq new-beg (point))))
- (c-forward-syntactic-ws)
-
- ;; ...Then the ones with < before end and > after end.
- (goto-char (if end-lit-limits (cdr end-lit-limits) end))
- (setq end-limit (c-determine-+ve-limit 512))
- (while (and (c-syntactic-re-search-forward "[;{}>]" end-limit 'end)
- (eq (char-before) ?>))
- (c-end-of-current-token)
- (when (eq (char-before) ?>)
- (c-clear->-pair-props-if-match-before end (1- (point)))
- (setq new-end (point))))
- (c-backward-syntactic-ws)
-
- ;; Extend the fontification region, if needed.
- (and new-beg
- (< new-beg c-new-BEG)
- (setq c-new-BEG new-beg))
- (and new-end
- (> new-end c-new-END)
- (setq c-new-END new-end))))))
+ (when (> end beg)
+ ;; Cope with removing (beg end) coalescing a < or > with, say, an = sign.
+ (goto-char beg)
+ (let ((ch (char-before)))
+ (if (and (memq ch '(?< ?>))
+ (c-get-char-property (1- (point)) 'syntax-table)
+ (progn
+ (goto-char end)
+ (looking-at (if (eq ch ?<)
+ c-<-op-cont-regexp
+ c->-op-cont-regexp)))
+ (or (eq ch ?<)
+ (not (eq (char-after) ?>))))
+ (c-unmark-<>-around-region (1- beg) beg)))))
(defun c-after-change-check-<>-operators (beg end)
;; This is called from `after-change-functions' when
@@ -7189,29 +7374,38 @@ comment at the start of cc-engine.el for more info."
(c-clear-<>-pair-props)
(forward-char)))))))
+(defun c-<>-get-restricted ()
+ ;; With point at the < at the start of the purported <>-arglist, determine
+ ;; the value of `c-restricted-<>-arglists' to use for the call of
+ ;; `c-forward-<>-arglist' starting there.
+ (save-excursion
+ (c-backward-token-2)
+ (and (not (looking-at c-opt-<>-sexp-key))
+ (progn (c-backward-syntactic-ws) ; to ( or ,
+ (and (memq (char-before) '(?\( ?,)) ; what about <?
+ (not (eq (c-get-char-property (point) 'c-type)
+ 'c-decl-arg-start)))))))
+
(defun c-restore-<>-properties (_beg _end _old-len)
;; This function is called as an after-change function. It restores the
;; category/syntax-table properties on template/generic <..> pairs between
;; c-new-BEG and c-new-END. It may do hidden buffer changes.
- (c-save-buffer-state ((c-parse-and-markup-<>-arglists t)
- c-restricted-<>-arglists lit-limits)
+ (c-save-buffer-state ((c-parse-and-markup-<>-arglists t) lit-limits)
(goto-char c-new-BEG)
(if (setq lit-limits (c-literal-limits))
(goto-char (cdr lit-limits)))
(while (and (< (point) c-new-END)
- (c-syntactic-re-search-forward "<" c-new-END 'bound))
- (backward-char)
- (save-excursion
- (c-backward-token-2)
- (setq c-restricted-<>-arglists
- (and (not (looking-at c-opt-<>-sexp-key))
- (progn (c-backward-syntactic-ws) ; to ( or ,
- (and (memq (char-before) '(?\( ?,)) ; what about <?
- (not (eq (c-get-char-property (point) 'c-type)
- 'c-decl-arg-start)))))))
- (or (c-forward-<>-arglist nil)
- (c-forward-over-token-and-ws)
- (goto-char c-new-END)))))
+ (c-syntactic-re-search-forward "[<>]" c-new-END 'bound))
+ (if (eq (char-before) ?<)
+ (progn
+ (backward-char)
+ (let ((c-restricted-<>-arglists (c-<>-get-restricted)))
+ (or (c-forward-<>-arglist nil)
+ (c-forward-over-token-and-ws)
+ (goto-char c-new-END))))
+ (save-excursion
+ (when (c-backward-<>-arglist nil nil #'c-<>-get-restricted)
+ (setq c-new-BEG (min c-new-BEG (point)))))))))
;; Handling of CC Mode multi-line strings.
@@ -7363,13 +7557,13 @@ multi-line strings (but not C++, for example)."
(defun c-ml-string-opener-intersects-region (&optional start finish)
;; If any part of the region [START FINISH] is inside an ml-string opener,
- ;; return a dotted list of the start, end and double-quote position of that
- ;; opener. That list will not include any "context characters" before or
- ;; after the opener. If an opener is found, the match-data will indicate
- ;; it, with (match-string 1) being the entire delimiter, and (match-string
- ;; 2) the "main" double-quote. Otherwise, the match-data is undefined.
- ;; Both START and FINISH default to point. FINISH may not be at an earlier
- ;; buffer position than START.
+ ;; return a dotted list of the start, end and double-quote position of the
+ ;; first such opener. That list wlll not include any "context characters"
+ ;; before or after the opener. If an opener is found, the match-data will
+ ;; indicate it, with (match-string 1) being the entire delimiter, and
+ ;; (match-string 2) the "main" double-quote. Otherwise, the match-data is
+ ;; undefined. Both START and FINISH default to point. FINISH may not be at
+ ;; an earlier buffer position than START.
(let ((here (point)) found)
(or finish (setq finish (point)))
(or start (setq start (point)))
@@ -7393,7 +7587,10 @@ multi-line strings (but not C++, for example)."
;; If POSITION (default point) is at or inside an ml string opener, return a
;; dotted list of the start and end of that opener, and the position of the
;; double-quote in it. That list will not include any "context characters"
- ;; before or after the opener.
+ ;; before or after the opener. If an opener is found, the match-data will
+ ;; indicate it, with (match-string 1) being the entire delimiter, and
+ ;; (match-string 2) the "main" double-quote. Otherwise, the match-data is
+ ;; undefined.
(let ((here (point))
found)
(or position (setq position (point)))
@@ -7405,7 +7602,7 @@ multi-line strings (but not C++, for example)."
c-ml-string-opener-re
(min (+ position c-ml-string-max-opener-len) (point-max))
'bound))
- (<= (match-end 1) position)))
+ (< (match-end 1) position)))
(prog1
(and found
(<= (match-beginning 1) position)
@@ -8812,7 +9009,7 @@ multi-line strings (but not C++, for example)."
(if res
(or c-record-found-types t)))))
-(defun c-backward-<>-arglist (all-types &optional limit)
+(defun c-backward-<>-arglist (all-types &optional limit restricted-function)
;; The point is assumed to be directly after a ">". Try to treat it
;; as the close paren of an angle bracket arglist and move back to
;; the corresponding "<". If successful, the point is left at
@@ -8821,7 +9018,12 @@ multi-line strings (but not C++, for example)."
;; `c-forward-<>-arglist'.
;;
;; If the optional LIMIT is given, it bounds the backward search.
- ;; It's then assumed to be at a syntactically relevant position.
+ ;; It's then assumed to be at a syntactically relevant position. If
+ ;; RESTRICTED-FUNCTION is non-nil, it should be a function taking no
+ ;; arguments, called with point at a < at the start of a purported
+ ;; <>-arglist, which will return the value of
+ ;; `c-restricted-<>-arglists' to be used in the `c-forward-<>-arglist'
+ ;; call starting at that <.
;;
;; This is a wrapper around `c-forward-<>-arglist'. See that
;; function for more details.
@@ -8857,7 +9059,11 @@ multi-line strings (but not C++, for example)."
t
(backward-char)
- (let ((beg-pos (point)))
+ (let ((beg-pos (point))
+ (c-restricted-<>-arglists
+ (if restricted-function
+ (funcall restricted-function)
+ c-restricted-<>-arglists)))
(if (c-forward-<>-arglist all-types)
(cond ((= (point) start)
;; Matched the arglist. Break the while.
@@ -9279,7 +9485,11 @@ multi-line strings (but not C++, for example)."
(setq pos (point))
(c-forward-syntactic-ws)
(and (not (looking-at c-symbol-start))
- (not (looking-at c-type-decl-prefix-key)))))
+ (or
+ (not (looking-at c-type-decl-prefix-key))
+ (and (eq (char-after) ?\()
+ (not (save-excursion
+ (c-forward-declarator))))))))
;; A C specifier followed by an implicit int, e.g.
;; "register count;"
(goto-char prefix-end-pos)
@@ -10623,6 +10833,10 @@ This function might do hidden buffer changes."
got-parens
;; True if there is a terminated argument list.
got-arglist
+ ;; True when `got-arglist' and the token after the end of the
+ ;; arglist is an opening brace. Used only when we have a
+ ;; suspected typeless function name.
+ got-stmt-block
;; True if there is an identifier in the declarator.
got-identifier
;; True if we find a number where an identifier was expected.
@@ -10775,6 +10989,10 @@ This function might do hidden buffer changes."
(setq got-arglist t))
t)
(when (cond
+ ((and (eq (char-after) ?\()
+ (c-safe (c-forward-sexp 1) t))
+ (when (eq (char-before) ?\))
+ (setq got-arglist t)))
((save-match-data (looking-at "\\s("))
(c-safe (c-forward-sexp 1) t))
((save-match-data
@@ -10789,6 +11007,11 @@ This function might do hidden buffer changes."
(setq got-suffix-after-parens (match-beginning 0)))
(setq got-suffix t))))
+ ((and got-arglist
+ (eq (char-after) ?{))
+ (setq got-stmt-block t)
+ nil)
+
(t
;; No suffix matched. We might have matched the
;; identifier as a type and the open paren of a
@@ -10857,9 +11080,17 @@ This function might do hidden buffer changes."
(not (memq context '(arglist decl))))
(or (and new-style-auto
(looking-at c-auto-ops-re))
- (and (or maybe-typeless backup-maybe-typeless)
- (not got-prefix)
- at-type)))
+ (and (not got-prefix)
+ at-type
+ (or maybe-typeless backup-maybe-typeless
+ ;; Do we have a (typeless) constructor?
+ (and got-stmt-block
+ (save-excursion
+ (goto-char type-start)
+ (and
+ (looking-at c-identifier-key)
+ (c-directly-in-class-called-p
+ (match-string 0)))))))))
;; Have found no identifier but `c-typeless-decl-kwds' has
;; matched so we know we're inside a declaration. The
;; preceding type must be the identifier instead.
@@ -12541,7 +12772,8 @@ comment at the start of cc-engine.el for more info."
(looking-at c-class-key))
(goto-char (match-end 1))
(c-forward-syntactic-ws)
- (looking-at name))))))
+ (and (looking-at c-identifier-key)
+ (string= (match-string 0) name)))))))
(defun c-search-uplist-for-classkey (paren-state)
;; Check if the closest containing paren sexp is a declaration
@@ -12765,11 +12997,19 @@ comment at the start of cc-engine.el for more info."
(defvar c-laomib-cache nil)
(make-variable-buffer-local 'c-laomib-cache)
-(defun c-laomib-get-cache (containing-sexp)
- ;; Get an element from `c-laomib-cache' matching CONTAINING-SEXP.
+(defun c-laomib-get-cache (containing-sexp start)
+ ;; Get an element from `c-laomib-cache' matching CONTAINING-SEXP, and which
+ ;; is suitable for start postiion START.
;; Return that element or nil if one wasn't found.
- (let ((elt (assq containing-sexp c-laomib-cache)))
- (when elt
+ (let ((ptr c-laomib-cache)
+ elt)
+ (while
+ (and ptr
+ (setq elt (car ptr))
+ (or (not (eq (car elt) containing-sexp))
+ (< start (car (cddr elt)))))
+ (setq ptr (cdr ptr)))
+ (when ptr
;; Move the fetched `elt' to the front of the cache.
(setq c-laomib-cache (delq elt c-laomib-cache))
(push elt c-laomib-cache)
@@ -12781,18 +13021,26 @@ comment at the start of cc-engine.el for more info."
;; the components of the new element (see comment for `c-laomib-cache').
;; The return value is of no significance.
(when lim
- (let ((old-elt (assq lim c-laomib-cache))
- ;; (elt (cons containing-sexp (cons start nil)))
+ (let (old-elt
(new-elt (list lim start end result))
big-ptr
(cur-ptr c-laomib-cache)
- togo (size 0) cur-size
- )
- (if old-elt (setq c-laomib-cache (delq old-elt c-laomib-cache)))
+ togo (size 0) cur-size)
+
+ ;; If there is an elt which overlaps with the new element, remove it.
+ (while
+ (and cur-ptr
+ (setq old-elt (car cur-ptr))
+ (or (not (eq (car old-elt) lim))
+ (not (and (> start (car (cddr old-elt)))
+ (<= start (cadr old-elt))))))
+ (setq cur-ptr (cdr cur-ptr)))
+ (when (and cur-ptr old-elt)
+ (setq c-laomib-cache (delq old-elt c-laomib-cache)))
(while (>= (length c-laomib-cache) 4)
;; We delete the least recently used elt which doesn't enclose START,
- ;; or..
+ ;; or ...
(dolist (elt c-laomib-cache)
(if (or (<= start (cadr elt))
(> start (car (cddr elt))))
@@ -12800,8 +13048,10 @@ comment at the start of cc-engine.el for more info."
;; ... delete the least recently used elt which isn't the biggest.
(when (not togo)
+ (setq cur-ptr c-laomib-cache)
(while (cdr cur-ptr)
- (setq cur-size (- (nth 2 (cadr cur-ptr)) (car (cadr cur-ptr))))
+ (setq cur-size (- (cadr (cadr cur-ptr))
+ (car (cddr (cadr cur-ptr)))))
(when (> cur-size size)
(setq size cur-size
big-ptr cur-ptr))
@@ -12993,7 +13243,7 @@ comment at the start of cc-engine.el for more info."
(goto-char pos)
(when (eq braceassignp 'dontknow)
(let* ((cache-entry (and containing-sexp
- (c-laomib-get-cache containing-sexp)))
+ (c-laomib-get-cache containing-sexp pos)))
(lim2 (or (cadr cache-entry) lim))
sub-bassign-p)
(if cache-entry
@@ -13015,6 +13265,8 @@ comment at the start of cc-engine.el for more info."
)
(setq braceassignp (nth 3 cache-entry))
(goto-char (nth 2 cache-entry)))
+ (c-laomib-put-cache containing-sexp
+ start (point) sub-bassign-p)
(setq braceassignp sub-bassign-p)))
(t))
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 9118e3253c2..afbf841bcb1 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -1890,6 +1890,38 @@ casts and declarations are fontified. Used on level 2 and higher."
(c-font-lock-declarators limit t in-typedef
(not (c-bs-at-toplevel-p (point)))))))))))
+(defun c-font-lock-ids-with-dollar (limit)
+ ;; Maybe fontify identifiers with a dollar using `font-lock-warning-face'.
+ ;; This is done only for languages which tolerate a $ in ids, and only when
+ ;; the flag variable `c-warn-ids-with-dollar' is set to non-nil. This
+ ;; function only works after functions such as `c-font-lock-declarations'
+ ;; have already been run.
+ ;;
+ ;; This function will be called from font-lock for a region bounded by POINT
+ ;; and LIMIT, as though it were to identify a keyword for
+ ;; font-lock-keyword-face. It always returns NIL to inhibit this and
+ ;; prevent a repeat invocation. See elisp/lispref page "Search-based
+ ;; Fontification".
+ (when c-warn-ids-with-dollar
+ (let (id-start)
+ (while (and (< (point) limit)
+ (skip-chars-forward "^$" limit)
+ (< (point) limit)
+ (eq (char-after) ?$))
+ (if (and (memq (c-get-char-property (point) 'face)
+ '(font-lock-variable-name-face
+ font-lock-function-name-face
+ font-lock-type-face))
+ (setq id-start (c-on-identifier)))
+ (progn
+ (goto-char id-start)
+ (looking-at c-identifier-key)
+ (c-put-font-lock-face (match-beginning 0) (match-end 0)
+ 'font-lock-warning-face)
+ (goto-char (match-end 0)))
+ (forward-char)))
+ nil)))
+
(defun c-font-lock-ml-strings (limit)
;; Fontify multi-line strings.
;;
@@ -2290,7 +2322,12 @@ on level 2 only and so aren't combined with `c-complex-decl-matchers'."
;; Fontify generic colon labels in languages that support them.
,@(when (c-lang-const c-recognize-colon-labels)
- '(c-font-lock-labels))))
+ '(c-font-lock-labels))
+
+ ;; Maybe fontify identifiers containing a dollar sign with
+ ;; `font-lock-warning-face'.
+ ,@(when (c-lang-const c-dollar-in-ids)
+ `(c-font-lock-ids-with-dollar))))
(c-lang-defconst c-complex-decl-matchers
"Complex font lock matchers for types and declarations. Used on level
@@ -2366,7 +2403,11 @@ on level 2 only and so aren't combined with `c-complex-decl-matchers'."
;; (see Elisp page "Search-based Fontification").
'(("\\<new\\>"
(c-font-lock-c++-new))))
- ))
+
+ ;; Maybe fontify identifiers containing a dollar sign with
+ ;; `font-lock-warning-face'.
+ ,@(when (c-lang-const c-dollar-in-ids)
+ `(c-font-lock-ids-with-dollar))))
(defun c-font-lock-labels (limit)
;; Fontify all statement labels from the point to LIMIT. Assumes
@@ -2659,7 +2700,9 @@ need for `c-font-lock-extra-types'.")
;; prevent a repeat invocation. See elisp/lispref page "Search-based
;; fontification".
(let (pos)
- (while (c-syntactic-re-search-forward c-using-key limit 'end)
+ (while
+ (and (< (point) limit)
+ (c-syntactic-re-search-forward c-using-key limit 'end))
(while ; Do one declarator of a comma separated list, each time around.
(progn
(c-forward-syntactic-ws)
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 3b4fdc6e141..2422cf3deb0 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -455,6 +455,7 @@ so that all identifiers are recognized as words.")
c++ '(c-extend-region-for-CPP
c-depropertize-CPP
c-before-change-check-ml-strings
+ c-unmark-<>-around-region
c-before-change-check-<>-operators
c-before-after-change-check-c++-modules
c-truncate-bs-cache
@@ -468,6 +469,7 @@ so that all identifiers are recognized as words.")
c-parse-quotes-before-change
c-before-change-fix-comment-escapes)
java '(c-parse-quotes-before-change
+ c-unmark-<>-around-region
c-before-change-check-unbalanced-strings
c-before-change-check-<>-operators)
pike '(c-before-change-check-ml-strings
@@ -516,6 +518,7 @@ parameters \(point-min) and \(point-max).")
c-after-change-unmark-ml-strings
c-parse-quotes-after-change
c-after-change-mark-abnormal-strings
+ c-unmark-<>-around-region
c-extend-font-lock-region-for-macros
c-before-after-change-check-c++-modules
c-neutralize-syntax-in-CPP
@@ -524,6 +527,7 @@ parameters \(point-min) and \(point-max).")
java '(c-depropertize-new-text
c-after-change-escape-NL-in-string
c-parse-quotes-after-change
+ c-unmark-<>-around-region
c-after-change-mark-abnormal-strings
c-restore-<>-properties
c-change-expand-fl-region)
@@ -739,11 +743,11 @@ When non-nil, this variable should end in \"\\\\\\==\". Note that
such a backward search will match a minimal string, so a
\"context character\" is probably needed at the start of the
regexp. The value for csharp-mode would be something like
-\"\\\\(:?\\\\`\\\\|[^\\\"]\\\\)\\\"*\\\\\\==\"."
+\"\\\\(?:\\\\`\\\\|[^\\\"]\\\\)\\\"*\\\\\\==\"."
t nil
- pike "\\(:?\\`\\|[^\\\"]\\)\\(:?\\\\.\\)*\\="
+ pike "\\(?:\\`\\|[^\\\"]\\)\\(?:\\\\.\\)*\\="
;;pike ;; 2
- ;; "\\(:?\\`\\|[^\"]\\)\"*\\="
+ ;; "\\(?:\\`\\|[^\"]\\)\"*\\="
)
(c-lang-defvar c-ml-string-back-closer-re
(c-lang-const c-ml-string-back-closer-re))
@@ -830,8 +834,9 @@ which `c-backward-sexp' needs to be called twice to move backwards over."
keyword. It's unspecified how far it matches. Does not contain a \\|
operator at the top level."
t (concat "[" c-alpha "_]")
+ (c c++) (concat "[" c-alpha "_$]")
java (concat "[" c-alpha "_@]")
- objc (concat "[" c-alpha "_@]")
+ objc (concat "[" c-alpha "_@$]")
pike (concat "[" c-alpha "_`]"))
(c-lang-defvar c-symbol-start (c-lang-const c-symbol-start))
@@ -844,6 +849,10 @@ This is of the form that fits inside [ ] in a regexp."
objc (concat c-alnum "_$@"))
(c-lang-defvar c-symbol-chars (c-lang-const c-symbol-chars))
+(c-lang-defconst c-dollar-in-ids
+ "Non-nil when a dollar (can be) a non-standard constituent of an identifier."
+ t (string-match (c-lang-const c-symbol-start) "$"))
+
(c-lang-defconst c-symbol-char-key
"Regexp matching a sequence of at least one identifier character."
t (concat "[" (c-lang-const c-symbol-chars) "]+"))
@@ -855,9 +864,9 @@ to match if `c-symbol-start' matches on the same position."
t (concat (c-lang-const c-symbol-start)
"[" (c-lang-const c-symbol-chars) "]\\{,1000\\}")
pike (concat
- ;; Use the value from C here since the operator backquote is
+ ;; Use the value from AWK here since the operator backquote is
;; covered by the other alternative.
- (c-lang-const c-symbol-key c)
+ (c-lang-const c-symbol-key awk)
"\\|"
(c-make-keywords-re nil
(c-lang-const c-overloadable-operators))))
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 330202bb5f9..dd699b9a119 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1367,7 +1367,9 @@ Note that the style variables are always made local to the buffer."
(and ;(< (point) end)
(not (nth 3 s))
(c-get-char-property (1- (point)) 'c-fl-syn-tab))
- (c-put-char-property pos 'syntax-table '(1)))
+ (c-put-char-property pos 'syntax-table '(1))
+ (c-put-char-properties (1+ pos) (c-point 'eol pos)
+ 'syntax-table '(1)))
(setq pos (point)))
(setq pos (1+ pos)))))))))
@@ -1384,6 +1386,9 @@ Note that the style variables are always made local to the buffer."
(setq pos
(c-min-property-position pos c-max-syn-tab-mkr 'c-fl-syn-tab))
(< pos c-max-syn-tab-mkr))
+ (when (and (equal (c-get-char-property pos 'syntax-table) '(1))
+ (equal (c-get-char-property pos 'c-fl-syn-tab) '(15)))
+ (c-clear-char-properties (1+ pos) (c-point 'eol pos) 'syntax-table))
(c-put-char-property pos 'syntax-table
(c-get-char-property pos 'c-fl-syn-tab))
(setq pos (1+ pos))))))
@@ -2444,8 +2449,6 @@ with // and /*, not more generic line and block comments."
(setq pseudo (c-cheap-inside-bracelist-p (c-parse-state)))))))
(goto-char pseudo))
t)
- (or (> (point) bod-lim)
- (eq bod-lim (point-min)))
;; Move forward to the start of the next declaration.
(progn (c-forward-syntactic-ws)
;; Have we got stuck in a comment at EOB?
@@ -2861,7 +2864,7 @@ Key bindings:
"\\|" id "::"
"\\|" id ws-maybe "=\\)"
"\\|" "\\(?:inline" ws "\\)?namespace"
- "\\(:?" ws "\\(?:" id "::\\)*" id "\\)?" ws-maybe "{"
+ "\\(?:" ws "\\(?:" id "::\\)*" id "\\)?" ws-maybe "{"
"\\|" "class" ws id
"\\(?:" ws "final" "\\)?" ws-maybe "[:{;\n]"
"\\|" "struct" ws id "\\(?:" ws "final" ws-maybe "[:{\n]"
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el
index fc4f723915c..e412a52cfb8 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -658,8 +658,9 @@ any reason to call this function directly."
(let ((func (if this-buf-only-p
'make-local-variable
'make-variable-buffer-local))
- (varsyms (cons 'c-indentation-style (copy-alist c-style-variables))))
- (delq 'c-special-indent-hook varsyms)
+ (varsyms (cons 'c-indentation-style
+ (delq 'c-special-indent-hook
+ (copy-alist c-style-variables)))))
(mapc func varsyms)
;; Hooks must be handled specially
(if this-buf-only-p
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 72d4b93ee59..c7b66f040cd 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -280,6 +280,14 @@ anchoring position to indent the line in that case."
:type 'boolean
:group 'c)
+(defcustom c-warn-ids-with-dollar nil
+ "Fontify identifiers with a dollar character in font-lock-warn-face.
+This has effect only for languages in which `c-dollar-in-ids' is
+non-nil, e.g. C, C++, Objective C. It covers languages where
+\"$\" is permitted in ids \"informally\", but only by some compilers."
+ :type 'boolean
+ :group 'c)
+
(defcustom-c-stylevar c-basic-offset 4
"Amount of basic offset used by + and - symbols in `c-offsets-alist'.
Also used as the indentation step when `c-syntactic-indentation' is
@@ -1219,7 +1227,8 @@ can always override the use of `c-default-style' by making calls to
(incomposition . +)
;; Anchor pos: At the extern/namespace/etc block open brace if
;; it's at boi, otherwise boi at the keyword.
- (template-args-cont . (c-lineup-template-args +))
+ (template-args-cont . (c-lineup-template-args
+ c-lineup-template-args-indented-from-margin))
;; Anchor pos: Boi at the decl start. This might be changed;
;; the logical position is clearly the opening '<'.
(inlambda . 0)
diff --git a/lisp/progmodes/cmake-ts-mode.el b/lisp/progmodes/cmake-ts-mode.el
index d83a956af21..9d35d8077bd 100644
--- a/lisp/progmodes/cmake-ts-mode.el
+++ b/lisp/progmodes/cmake-ts-mode.el
@@ -134,7 +134,8 @@
:language 'cmake
:feature 'number
'(((unquoted_argument) @font-lock-number-face
- (:match "^[[:digit:]]*\\.?[[:digit:]]*\\.?[[:digit:]]+$" @font-lock-number-face)))
+ (:match "\\`[[:digit:]]*\\.?[[:digit:]]*\\.?[[:digit:]]+\\'"
+ @font-lock-number-face)))
:language 'cmake
:feature 'string
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index b6f0e9bca41..0b3cee7d2d0 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -275,7 +275,7 @@ Can be overwritten by `cperl-hairy' if nil."
:type '(choice (const null) boolean)
:group 'cperl-affected-by-hairy)
-(defcustom cperl-electric-parens-mark window-system
+(defcustom cperl-electric-parens-mark (not (not window-system))
"Not-nil means that electric parens look for active mark.
Default is yes if there is visual feedback on mark."
:type 'boolean
@@ -1187,8 +1187,7 @@ The expansion is entirely correct because it uses the C preprocessor."
"A regular expression for the name of a \"basic\" Perl variable.
Neither namespace separators nor sigils are included. As is,
this regular expression applies to labels,subroutine calls where
-the ampersand sigil is not required, and names of subroutine
-attributes.")
+the ampersand sigil is not required, and names of attributes.")
(defconst cperl--label-rx
`(sequence symbol-start
@@ -1225,6 +1224,30 @@ is a legal variable name).")
(in "!\"$%&'()+,-./:;<=>?@\\]^_`|~")) ; $., $|, $", ... but not $^ or ${
"The list of Perl \"punctuation\" variables, as listed in perlvar.")
+ (defconst cperl--basic-scalar-rx
+ `(sequence "$" ,cperl--basic-identifier-rx)
+ "Regular expression for a scalar (without package).
+This regexp intentionally does not support spaces (nor newlines
+and comments) between the sigil and the identifier, for
+educational reasons. So \"$foo\" will be matched, but \"$ foo\"
+or \"${ foo }\" will not.")
+
+ (defconst cperl--basic-array-rx
+ `(sequence "@" ,cperl--basic-identifier-rx)
+ "Regular expression for an array variable (without package).
+This regexp intentionally does not support spaces (nor newlines
+and comments) between the sigil and the identifier, for
+educational reasons. So \"@foo\" will be matched, but \"@ foo\"
+or \"@{ foo }\" will not.")
+
+ (defconst cperl--basic-hash-rx
+ `(sequence "%" ,cperl--basic-identifier-rx)
+ "Regular expression for a hash variable (without package).
+This regexp intentionally does not support spaces (nor newlines
+and comments) between the sigil and the identifier, for
+educational reasons. So \"%foo\" will be matched, but \"% foo\"
+or \"%{ foo }\" will not.")
+
(defconst cperl--ws-rx
'(sequence (or space "\n"))
"Regular expression for a single whitespace in Perl.")
@@ -1246,6 +1269,27 @@ is a legal variable name).")
`(1+ ,cperl--ws-or-comment-rx)
"Regular expression for a sequence of whitespace and comments in Perl.")
+ (defconst cperl--basic-variable-rx
+ `(sequence (in "$@%") ,cperl--basic-identifier-rx)
+ "Regular expression for a Perl variable (scalar, array or hash).
+This regexp intentionally does not support spaces (nor newlines
+and comments) between the sigil and the identifier, for
+educational reasons. So \"$foo\" will be matched, but \"$ foo\"
+or \"${ foo }\" will not.")
+
+ (defconst cperl--variable-list-rx
+ `(sequence "("
+ (optional (sequence
+ ,cperl--ws*-rx
+ ,cperl--basic-variable-rx
+ (0+ (sequence
+ ,cperl--ws*-rx
+ ","
+ ,cperl--ws*-rx
+ ,cperl--basic-variable-rx))
+ ,cperl--ws*-rx)))
+ "Regular expression for a list of Perl variables for declarations.")
+
;; This is left as a string regexp. There are many version schemes in
;; the wild, so people might want to fiddle with this variable.
(defconst cperl--version-regexp
@@ -1260,6 +1304,69 @@ is a legal variable name).")
(optional (sequence "_" (1+ word))))))
"A sequence for recommended version number schemes in Perl.")
+ (defconst cperl--single-attribute-rx
+ `(sequence ,cperl--basic-identifier-rx
+ (optional (sequence "("
+ (0+ (not (in ")")))
+ ")")))
+ "A regular expression for a single attribute, without leading colon.
+It may have parameters in parens, but parens within the
+parameter's value are not supported.. This regexp does not have
+capture groups.")
+
+ (defconst cperl--attribute-list-rx
+ `(sequence ":"
+ (0+ (sequence
+ ,cperl--ws*-rx
+ ,cperl--single-attribute-rx
+ ,cperl--ws*-rx
+ (optional ":"))))
+ "A regular expression for an attribute list.
+Attribute lists may only occur in certain declarations. A colon
+is required before the first attribute but optional between
+subsequent attributes. This regexp does not have capture groups.")
+
+ (defconst cperl--prototype-rx
+ `(sequence "("
+ (0+ (any "$@%&*;\\[]"))
+ ")")
+ "A regular expression for a subroutine prototype. Not as strict
+as the actual prototype syntax, but good enough to distinguish
+prototypes from signatures.")
+
+ (defconst cperl--signature-rx
+ `(sequence "("
+ (optional
+ (sequence
+ (0+ (sequence ,cperl--ws*-rx
+ ,cperl--basic-scalar-rx
+ ,cperl--ws*-rx
+ ","))
+ ,cperl--ws*-rx
+ (or ,cperl--basic-scalar-rx
+ ,cperl--basic-array-rx
+ ,cperl--basic-hash-rx)))
+ (optional (sequence ,cperl--ws*-rx) "," )
+ ,cperl--ws*-rx
+ ")")
+ "A rx sequence subroutine signature without initializers.
+These are a bit more restricted than \"my\" declaration lists
+because they allow only one slurpy variable, and only in the last
+place.")
+
+ (defconst cperl--sloppy-signature-rx
+ `(sequence "("
+ ,cperl--ws*-rx
+ (or ,cperl--basic-scalar-rx
+ ,cperl--basic-array-rx
+ ,cperl--basic-hash-rx)
+ ,cperl--ws*-rx
+ (or "," "=" "||=" "//=" ")"))
+ "A rx sequence for the begin of a signature with initializers.
+Initializers can contain almost all Perl constructs and thus can
+not be covered by regular expressions. This sequence captures
+enough to distinguish a signature from a prototype.")
+
(defconst cperl--package-rx
`(sequence (group "package")
,cperl--ws+-rx
@@ -1327,6 +1434,15 @@ Covers packages, subroutines, and POD headings.")
)
+(defun cperl-declaration-header-p (pos)
+ "Return t if POS is in the header of a declaration.
+Perl syntax can have various constructs between a
+keyword (e.g. \"sub\") and its associated block of code, and
+these can span several lines. These blocks are identified and
+marked with a text-property in `cperl-find-pods-heres'. This
+function tests that property."
+ (equal (get-text-property pos 'syntax-type) 'sub-decl))
+
(defun cperl-block-declaration-p ()
"Test whether the following ?\\{ opens a declaration block.
Returns the column where the declarating keyword is found, or nil
@@ -1345,6 +1461,9 @@ statement, so there's no semicolon."
((looking-at (rx (eval cperl--block-declaration-rx)))
(setq is-block-declaration (current-column)
continue-searching nil))
+ ((cperl-declaration-header-p (point))
+ (setq is-block-declaration (current-column)
+ continue-searching nil))
;; Another brace means this is no block declaration
((looking-at "{")
(setq continue-searching nil))
@@ -1476,8 +1595,6 @@ the last)."
;; Fix for msb.el
(defvar cperl-msb-fixed nil)
(defvar cperl-use-major-mode 'cperl-mode)
-(defvar cperl-font-lock-multiline-start nil)
-(defvar cperl-font-lock-multiline nil)
(defvar cperl-font-locking nil)
(defvar cperl-compilation-error-regexp-list
@@ -1686,7 +1803,6 @@ or as help on variables `cperl-tips', `cperl-problems',
(when (< emacs-major-version 27)
(setq-local open-paren-in-column-0-is-defun-start nil))
;; Until Emacs is multi-threaded, we do not actually need it local:
- (make-local-variable 'cperl-font-lock-multiline-start)
(make-local-variable 'cperl-font-locking)
(setq-local outline-regexp cperl-outline-regexp)
(setq-local outline-level 'cperl-outline-level)
@@ -1713,6 +1829,8 @@ or as help on variables `cperl-tips', `cperl-problems',
(concat "^[ \t]*\\("
cperl-sub-regexp
(cperl-after-sub-regexp 'named 'attr-groups)
+ (rx (eval cperl--ws*-rx))
+ (rx (optional (eval cperl--signature-rx)))
"\\|" ; per toke.c
"\\(BEGIN\\|UNITCHECK\\|CHECK\\|INIT\\|END\\|AUTOLOAD\\|DESTROY\\)"
"\\)"
@@ -1759,7 +1877,6 @@ or as help on variables `cperl-tips', `cperl-problems',
;; to re-apply them.
(setq cperl-syntax-done-to start)
(cperl-fontify-syntactically end))))
- (setq cperl-font-lock-multiline t) ; Not localized...
(setq-local font-lock-multiline t)
(setq-local font-lock-fontify-region-function
#'cperl-font-lock-fontify-region-function)
@@ -2557,6 +2674,9 @@ PRESTART is the position basing on which START was found."
(<= parse-start start-point))
(goto-char parse-start)
(beginning-of-defun)
+ (when (cperl-declaration-header-p (point))
+ (goto-char (cperl-beginning-of-property (point) 'syntax-type))
+ (beginning-of-line))
(setq start-state nil))
(setq prestart (point))
(if start-state nil
@@ -2748,10 +2868,13 @@ Will not look before LIM."
;; Back up over label lines, since they don't
;; affect whether our line is a continuation.
;; (Had \, too)
- (while (and (eq (preceding-char) ?:)
+ (while (save-excursion
+ (and (eq (preceding-char) ?:)
(re-search-backward
(rx (sequence (eval cperl--label-rx) point))
- nil t))
+ nil t)
+ ;; Ignore if in comment or RE
+ (not (nth 3 (syntax-ppss)))))
;; This is always FALSE?
(if (eq (preceding-char) ?\,)
;; Will go to beginning of line, essentially.
@@ -2763,12 +2886,15 @@ Will not look before LIM."
(if (not (or (eq (1- (point)) containing-sexp)
(and cperl-indent-parens-as-block
(not is-block))
- (save-excursion (cperl-block-declaration-p))
+ (and (looking-at "{")
+ (save-excursion (cperl-block-declaration-p)))
(memq (preceding-char)
(append (if is-block " ;{" " ,;{") '(nil)))
(and (eq (preceding-char) ?\})
(cperl-after-block-and-statement-beg
containing-sexp))
+ (and (cperl-declaration-header-p indent-point)
+ (not (cperl-declaration-header-p char-after-pos)))
(get-text-property (point) 'first-format-line)))
;; This line is continuation of preceding line's statement;
;; indent `cperl-continued-statement-offset' more than the
@@ -2847,12 +2973,11 @@ Will not look before LIM."
;; anonymous sub in a hash.
(if (and;; Is it a sub in group starting on this line?
cperl-indent-subs-specially
- (cond ((get-text-property (point) 'attrib-group)
- (goto-char (cperl-beginning-of-property
- (point) 'attrib-group)))
- ((eq (preceding-char) ?b)
- (forward-sexp -1)
- (looking-at (concat cperl-sub-regexp "\\>"))))
+ (cond
+ ((cperl-declaration-header-p (point))
+ (goto-char
+ (cperl-beginning-of-property (point)
+ 'syntax-type))))
(setq p (nth 1 ; start of innermost containing list
(parse-partial-sexp
(line-beginning-position)
@@ -2996,6 +3121,9 @@ and closing parentheses and brackets."
(goto-char (elt i 1)) ; statement-start
(+ (if (or (memq (elt i 2) (append "}])" nil)) ; char-after
(eq 'continuation ; do not stagger continuations
+ ;; FIXME: This clobbers the syntax state in parse-data
+ ;; for the *following* lines and makes the state
+ ;; useless for indent-region -- haj 2023-06-30
(elt (cperl-sniff-for-indent parse-data) 0)))
0 ; Closing parenthesis or continuation of a continuation
cperl-continued-statement-offset)
@@ -3006,7 +3134,8 @@ and closing parentheses and brackets."
;; Now it is a hash reference
(+ cperl-indent-level cperl-close-paren-offset))
;; Labels do not take :: ...
- (if (looking-at "\\(\\w\\|_\\)+[ \t]*:[^:]")
+ (if (and (looking-at "\\(\\w\\|_\\)+[ \t]*:[^:]")
+ (not (looking-at (rx (eval cperl--false-label-rx)))))
(if (> (current-indentation) cperl-min-label-indent)
(- (current-indentation) cperl-label-offset)
;; Do not move `parse-data', this should
@@ -3394,7 +3523,9 @@ position of the end of the unsafe construct."
(goto-char (nth 8 state)) ; beginning of this here-doc
(cperl-backward-to-noncomment ; skip back over more
(point-min)) ; here-documents (if any)
- (beginning-of-line)))) ; skip back over here-doc starters
+ (beginning-of-line)) ; skip back over here-doc starters
+ ((nth 4 state) ; in a comment (or POD)
+ (goto-char (nth 8 state))))) ; ...so go to its beginning
(while (and pos (progn
(beginning-of-line)
(get-text-property (setq pos (point)) 'syntax-type)))
@@ -3427,7 +3558,7 @@ position of the end of the unsafe construct."
(setq end (point)))))
(or end pos)))))
-(defun cperl-find-sub-attrs (&optional st-l b-fname e-fname pos)
+(defun cperl-find-sub-attrs (&optional st-l _b-fname _e-fname pos)
"Syntactically mark (and fontify) attributes of a subroutine.
Should be called with the point before leading colon of an attribute."
;; Works *before* syntax recognition is done
@@ -3469,22 +3600,36 @@ Should be called with the point before leading colon of an attribute."
"L%d: attribute `%s': %s"
(count-lines (point-min) (point))
(and start1 end1 (buffer-substring start1 end1)) b)
- (setq start nil)))
- (and start
- (progn
- (put-text-property start (point)
- 'attrib-group (if (looking-at "{") t 0))
- (and pos
- (< 1 (count-lines (+ 3 pos) (point))) ; end of `sub'
- ;; Apparently, we do not need `multiline': faces added now
- (put-text-property (+ 3 pos) (cperl-1+ (point))
- 'syntax-type 'sub-decl))
- (and b-fname ; Fontify here: the following condition
- (cperl-postpone-fontification ; is too hard to determine by
- b-fname e-fname 'face ; a REx, so do it here
- (if (looking-at "{")
- font-lock-function-name-face
- font-lock-variable-name-face)))))
+ ; (setq start nil) I'd like to keep trying -- haj 2023-06-26
+ ))
+ (cond
+ ;; Allow for a complete signature and trailing spaces here
+ ((search-forward-regexp (rx (sequence point
+ (eval cperl--ws*-rx)
+ (eval cperl--signature-rx)
+ (eval cperl--ws*-rx)))
+ nil
+ t)) ; NOERROR
+ ((looking-at (rx "("))
+ ;; We might be in the process of typing a prototype or
+ ;; signature. These start with a left paren, so we want this to
+ ;; be included into the area marked as sub-decl.
+ nil)
+ ;; Else, we are in no mans land. Just keep trying.
+ (t
+ ))
+ (when (looking-at (rx (in ";{")))
+ ;; A semicolon ends the declaration, an opening brace begins the
+ ;; BLOCK. Neither is part of the declaration.
+ (backward-char))
+ (when start
+ (put-text-property start (point)
+ 'attrib-group (if (looking-at "{") t 0))
+ (and pos
+ (progn
+ ;; Apparently, we do not need `multiline': faces added now
+ (put-text-property (+ 3 pos) (cperl-1+ (point))
+ 'syntax-type 'sub-decl))))
;; now restore the initial state
(if st
(progn
@@ -3607,7 +3752,7 @@ move point but does change match data."
delim-begin delim-end)
"Process a here-document's delimiters and body.
The parameters MIN, MAX, END, OVERSHOOT, STOP-POINT, ERR-L are
-used for recursive calls to `cperl-find-pods-here' to handle the
+used for recursive calls to `cperl-find-pods-heres' to handle the
rest of the line which contains the delimiter. MATCHED-POS and
TODO-POS are initial values for this function's result.
END-OF-HERE-DOC is the end of a previous here-doc in the same
@@ -3775,8 +3920,10 @@ recursive calls in starting lines of here-documents."
max))
(search
(concat
- "\\(\\`\n?\\|^\n\\)=" ; POD
+ ;; -------- POD using capture group 1
+ "\\(\\`\n?\\|^\n\\)="
"\\|"
+ ;; -------- HERE-document capture groups 2-7
;; One extra () before this:
"<<\\(~?\\)" ; HERE-DOC, indented-p = capture 2
"\\(" ; 2 + 1
@@ -3792,38 +3939,49 @@ recursive calls in starting lines of here-documents."
;; "\\([^= \t0-9$@%&]\\|[ \t]+[^ \t\n0-9$@%&]\\)" ; 6 + 1
"\\)"
"\\|"
+ ;; -------- format capture groups 8-9
;; 1+6 extra () before this:
- "^[ \t]*\\(format\\)[ \t]*\\([a-zA-Z0-9_]+\\)?[ \t]*=[ \t]*$" ;FRMAT
+ "^[ \t]*\\(format\\)[ \t]*\\([a-zA-Z0-9_]+\\)?[ \t]*=[ \t]*$"
(if cperl-use-syntax-table-text-property
(concat
"\\|"
+ ;; -------- quoted constructs and regexps, group 10
;; 1+6+2=9 extra () before this:
- "\\<\\(q[wxqr]?\\|[msy]\\|tr\\)\\>" ; QUOTED CONSTRUCT
+ "\\<\\(q[wxqr]?\\|[msy]\\|tr\\)\\>"
"\\|"
+ ;; -------- "bare" regex or glob, group 11
;; 1+6+2+1=10 extra () before this:
"\\([/<]\\)" ; /blah/ or <file*glob>
"\\|"
+ ;; -------- subroutine declarations, groups 12-17
;; 1+6+2+1+1=11 extra () before this
- "\\<" cperl-sub-regexp "\\>" ; sub with proto/attr
- "\\("
- cperl-white-and-comment-rex
- (rx (opt (group (eval cperl--normal-identifier-rx))))
- "\\)"
- "\\("
- cperl-maybe-white-and-comment-rex
- "\\(([^()]*)\\|:[^:]\\)\\)" ; prototype or attribute start
+ (rx (sequence
+ word-start
+ (group (regexp cperl-sub-regexp)) ; #12
+ (eval cperl--ws+-rx)
+ (opt (group (eval cperl--normal-identifier-rx))) ; #13
+ (eval cperl--ws*-rx)
+ (group (or (group (eval cperl--prototype-rx)) ; #14,#15
+ ;; (group (eval cperl--signature-rx)) ; #16
+ (group unmatchable) ; #16
+ (group (or anything buffer-end)))))) ; #17
"\\|"
- ;; 1+6+2+1+1+6=17 extra () before this:
+ ;; -------- weird variables, capture group 18
+ ;; FIXME: We don't need that group -- haj 2023-06-21
+ ;; 1+6+2+1+1+6=17 extra () before this
"\\$\\(['{]\\)" ; $' or ${foo}
"\\|"
+ ;; -------- old-style ' as package separator, group 19
;; 1+6+2+1+1+6+1=18 extra () before this (old pack'var syntax;
;; we do not support intervening comments...):
"\\(\\<" cperl-sub-regexp "[ \t\n\f]+\\|[&*$@%]\\)[a-zA-Z0-9_]*'"
- ;; 1+6+2+1+1+6+1+1=19 extra () before this:
"\\|"
+ ;; -------- __END__ and __DATA__ tokens, group 20
+ ;; 1+6+2+1+1+6+1+1=19 extra () before this:
"__\\(END\\|DATA\\)__" ; __END__ or __DATA__
;; 1+6+2+1+1+6+1+1+1=20 extra () before this:
"\\|"
+ ;; -------- backslash-escaped stuff, don't interpret it
"\\\\\\(['`\"($]\\)") ; BACKWACKED something-hairy
"")))
warning-message)
@@ -4693,28 +4851,28 @@ recursive calls in starting lines of here-documents."
'REx-part2 t)))))
(if (> (point) max)
(setq tmpend tb))))
- ((match-beginning 17) ; sub with prototype or attribute
+ ((match-beginning 14) ; sub with prototype or attribute
;; 1+6+2+1+1=11 extra () before this (sub with proto/attr):
- ;;"\\<sub\\>\\(" ;12
- ;; cperl-white-and-comment-rex ;13
- ;; "\\([a-zA-Z_:'0-9]+\\)\\)?" ; name ;14
- ;;"\\(" cperl-maybe-white-and-comment-rex ;15,16
- ;; "\\(([^()]*)\\|:[^:]\\)\\)" ; 17:proto or attribute start
- (setq b1 (match-beginning 14) e1 (match-end 14))
+ ;; match-string 12: Keyword "sub"
+ ;; match-string 13: Name of the subroutine (optional)
+ ;; match-string 14: Indicator for proto/attr/signature
+ ;; match-string 15: Prototype
+ ;; match-string 16: unused
+ ;; match-string 17: Distinguish declaration/definition
+ (setq b1 (match-beginning 13) e1 (match-end 13))
(if (memq (char-after (1- b))
'(?\$ ?\@ ?\% ?\& ?\*))
- nil
+ nil ;; we found $sub or @sub etc
(goto-char b)
- (if (eq (char-after (match-beginning 17)) ?\( )
+ (if (match-beginning 15) ; a complete prototype
(progn
(cperl-commentify ; Prototypes; mark as string
- (match-beginning 17) (match-end 17) t)
+ (match-beginning 15) (match-end 15) t)
(goto-char (match-end 0))
;; Now look for attributes after prototype:
(forward-comment (buffer-size))
- (and (looking-at ":[^:]")
- (cperl-find-sub-attrs st-l b1 e1 b)))
- ;; treat attributes without prototype
+ (cperl-find-sub-attrs st-l b1 e1 b))
+ ;; treat attributes without prototype and incomplete stuff
(goto-char (match-beginning 17))
(cperl-find-sub-attrs st-l b1 e1 b))))
;; 1+6+2+1+1+6+1=18 extra () before this:
@@ -5315,6 +5473,10 @@ conditional/loop constructs."
(let ((comment-column new-comm-indent))
(indent-for-comment)))
(progn
+ ;; FIXME: It would be nice to keep indent-info, but this
+ ;; doesn not work if the region contains continuation
+ ;; lines (see `cperl-calculate-indent') -- haj 2023-06-30
+ (setq indent-info (list nil nil nil))
(setq i (cperl-indent-line indent-info))
(or comm
(not i)
@@ -5621,7 +5783,6 @@ comment, or POD."
(cond ((featurep 'ps-print)
(or cperl-faces-init
(progn
- (setq cperl-font-lock-multiline t)
(cperl-init-faces))))
((not cperl-faces-init)
(add-hook 'font-lock-mode-hook
@@ -5671,7 +5832,11 @@ default function."
(setq
t-font-lock-keywords
(list
+ ;; -------- trailing spaces -> use invalid-face as a warning
+ ;; (matcher subexp facespec)
`("[ \t]+$" 0 ',cperl-invalid-face t)
+ ;; -------- flow control
+ ;; (matcher . subexp) font-lock-keyword-face by default
(cons
(concat
"\\(^\\|[^$@%&\\]\\)\\<\\("
@@ -5691,6 +5856,8 @@ default function."
"\\)\\>") 2) ; was "\\)[ \n\t;():,|&]"
; In what follows we use `type' style
; for overwritable builtins
+ ;; -------- builtin functions
+ ;; (matcher subexp facespec)
(list
(concat
"\\(^\\|[^$@%&\\]\\)\\<\\("
@@ -5733,6 +5900,10 @@ default function."
2 'font-lock-type-face)
;; In what follows we use `other' style
;; for nonoverwritable builtins
+ ;; This is a bit shaky because the status
+ ;; "nonoverwritable" can change between Perl versions.
+ ;; -------- "non overridable" functions
+ ;; (matcher subexp facespec)
(list
(concat
"\\(^\\|[^$@%&\\]\\)\\<\\("
@@ -5753,44 +5924,75 @@ default function."
;; '("#endif" "#else" "#ifdef" "#ifndef" "#if"
;; "#include" "#define" "#undef")
;; "\\|")
+ ;; -------- -X file tests
+ ;; (matcher subexp facespec)
'("-[rwxoRWXOezsfdlpSbctugkTBMAC]\\>\\([ \t]+_\\>\\)?" 0
font-lock-function-name-face keep) ; Not very good, triggers at "[a-z]"
;; This highlights declarations and definitions differently.
;; We do not try to highlight in the case of attributes:
;; it is already done by `cperl-find-pods-heres'
+ ;; -------- function definition _and_ declaration
+ ;; (matcher (subexp facespec))
+ ;; facespec is evaluated depending on whether the
+ ;; statement ends in a "{" (definition) or ";"
+ ;; (declaration without body)
(list (concat "\\<" cperl-sub-regexp
- cperl-white-and-comment-rex ; whitespace/comments
- "\\([^ \n\t{;()]+\\)" ; 2=name (assume non-anonymous)
- "\\("
- cperl-maybe-white-and-comment-rex ;whitespace/comments?
- "([^()]*)\\)?" ; prototype
- cperl-maybe-white-and-comment-rex ; whitespace/comments?
- "[{;]")
- 2 (if cperl-font-lock-multiline
- '(if (eq (char-after (cperl-1- (match-end 0))) ?\{ )
- 'font-lock-function-name-face
- 'font-lock-variable-name-face)
- ;; need to manually set 'multiline' for older font-locks
- '(progn
- (if (< 1 (count-lines (match-beginning 0)
- (match-end 0)))
- (put-text-property
- (+ 3 (match-beginning 0)) (match-end 0)
- 'syntax-type 'multiline))
- (if (eq (char-after (cperl-1- (match-end 0))) ?\{ )
- 'font-lock-function-name-face
- 'font-lock-variable-name-face))))
+ ;; group 1: optional subroutine name
+ (rx
+ (sequence (eval cperl--ws+-rx)
+ (group (optional
+ (eval cperl--normal-identifier-rx)))))
+ ;; "fontified" elsewhere: Prototype
+ (rx (optional
+ (sequence (eval cperl--ws*-rx)
+ (eval cperl--prototype-rx))))
+ ;; fontified elsewhere: Attributes
+ (rx (optional (sequence (eval cperl--ws*-rx)
+ (eval cperl--attribute-list-rx))))
+ (rx (eval cperl--ws*-rx))
+ ;; group 2: Identifies the start of the anchor
+ (rx (group
+ (or (group-n 3 ";") ; Either a declaration...
+ "{" ; ... or a code block
+ ;; ... or a complete signature
+ (sequence (eval cperl--signature-rx)
+ (eval cperl--ws*-rx))
+ ;; ... or the start of a "sloppy" signature
+ (sequence (eval cperl--sloppy-signature-rx)
+ ;; arbtrarily continue "a few lines"
+ (repeat 0 200 (not (in "{"))))))))
+ '(1 (if (match-beginning 3)
+ 'font-lock-variable-name-face
+ 'font-lock-function-name-face)
+ t ;; override
+ t) ;; laxmatch in case of anonymous subroutines
+ ;; -------- anchored: Signature
+ `(,(rx (sequence (in "(,")
+ (eval cperl--ws*-rx)
+ (group (or (eval cperl--basic-scalar-rx)
+ (eval cperl--basic-array-rx)
+ (eval cperl--basic-hash-rx)))))
+ (progn
+ (goto-char (match-beginning 2)) ; pre-match: Back to sig
+ (match-end 2))
+ nil
+ (1 font-lock-variable-name-face)))
+ ;; -------- various stuff calling for a package name
+ ;; (matcher subexp facespec)
`(,(rx (sequence symbol-start
(or "package" "require" "use" "import"
"no" "bootstrap")
(eval cperl--ws+-rx)
(group-n 1 (eval cperl--normal-identifier-rx))
- (any " \t;"))) ; require A if B;
+ (any " \t\n;"))) ; require A if B;
1 font-lock-function-name-face)
+ ;; -------- formats
+ ;; (matcher subexp facespec)
'("^[ \t]*format[ \t]+\\([a-zA-Z_][a-zA-Z_0-9:]*\\)[ \t]*=[ \t]*$"
1 font-lock-function-name-face)
- ;; bareword hash key: $foo{bar}
- `(,(rx (or (in "]}\\%@>*&") ; What Perl is this?
+ ;; -------- bareword hash key: $foo{bar}, $foo[1]{bar}
+ ;; (matcher (subexp facespec) ...
+ `(,(rx (or (in "]}\\%@>*&")
(sequence "$" (eval cperl--normal-identifier-rx)))
(0+ blank) "{" (0+ blank)
(group-n 1 (sequence (opt "-")
@@ -5798,24 +6000,27 @@ default function."
(0+ blank) "}")
;; '("\\([]}\\%@>*&]\\|\\$[a-zA-Z0-9_:]*\\)[ \t]*{[ \t]*\\(-?[a-zA-Z0-9_:]+\\)[ \t]*}"
(1 font-lock-string-face t)
- ;; anchored bareword hash key: $foo{bar}{baz}
+ ;; -------- anchored bareword hash key: $foo{bar}{baz}
+ ;; ... (anchored-matcher pre-form post-form subex-highlighters)
(,(rx point
- (0+ blank) "{" (0+ blank)
- (group-n 1 (sequence (opt "-")
- (eval cperl--basic-identifier-rx)))
- (0+ blank) "}")
- ;; ("\\=[ \t]*{[ \t]*\\(-?[a-zA-Z0-9_:]+\\)[ \t]*}"
+ (0+ blank) "{" (0+ blank)
+ (group-n 1 (sequence (opt "-")
+ (eval cperl--basic-identifier-rx)))
+ (0+ blank) "}")
+ ;; ("\\=[ \t]*{[ \t]*\\(-?[a-zA-Z0-9_:]+\\)[ \t]*}"
nil nil
(1 font-lock-string-face t)))
- ;; hash element assignments with bareword key => value
- `(,(rx (in "[ \t{,()")
- (group-n 1 (sequence (opt "-")
- (eval cperl--basic-identifier-rx)))
- (0+ blank) "=>")
- 1 font-lock-string-face t)
-;; '("[[ \t{,(]\\(-?[a-zA-Z0-9_:]+\\)[ \t]*=>" 1
-;; font-lock-string-face t)
- ;; labels
+ ;; -------- hash element assignments with bareword key => value
+ ;; (matcher subexp facespec)
+ `(,(rx (in "[ \t{,()")
+ (group-n 1 (sequence (opt "-")
+ (eval cperl--basic-identifier-rx)))
+ (0+ blank) "=>")
+ 1 font-lock-string-face t)
+ ;; '("[[ \t{,(]\\(-?[a-zA-Z0-9_:]+\\)[ \t]*=>" 1
+ ;; font-lock-string-face t)
+ ;; -------- labels
+ ;; (matcher subexp facespec)
`(,(rx
(sequence
(0+ space)
@@ -5826,7 +6031,8 @@ default function."
(or "until" "while" "for" "foreach" "do")
word-end))))
1 font-lock-constant-face)
- ;; labels as targets (no trailing colon!)
+ ;; -------- labels as targets (no trailing colon!)
+ ;; (matcher subexp facespec)
`(,(rx
(sequence
symbol-start
@@ -5838,10 +6044,12 @@ default function."
;;; '("[$*]{?\\(\\sw+\\)" 1 font-lock-variable-name-face)
;;; '("\\([@%]\\|\\$#\\)\\(\\sw+\\)"
;;; (2 (cons font-lock-variable-name-face '(underline))))
- ;; 1=my_etc, 2=white? 3=(+white? 4=white? 5=var
+ ;; 1=my_etc, 2=white? 3=(+white? 4=white? 5=var
+ ;; -------- variable declarations
+ ;; (matcher (subexp facespec) ...
`(,(rx (sequence (or "state" "my" "local" "our"))
(eval cperl--ws*-rx)
- (opt (sequence "(" (eval cperl--ws*-rx)))
+ (opt (group (sequence "(" (eval cperl--ws*-rx))))
(group
(in "$@%*")
(or
@@ -5854,12 +6062,8 @@ default function."
;; "\\(("
;; cperl-maybe-white-and-comment-rex
;; "\\)?\\([$@%*]\\([a-zA-Z0-9_:]+\\|[^a-zA-Z0-9_]\\)\\)")
- ;; (5 ,(if cperl-font-lock-multiline
- (1 ,(if cperl-font-lock-multiline
- 'font-lock-variable-name-face
- '(progn (setq cperl-font-lock-multiline-start
- (match-beginning 0))
- 'font-lock-variable-name-face)))
+ (2 font-lock-variable-name-face)
+ ;; ... (anchored-matcher pre-form post-form subex-highlighters)
(,(rx (sequence point
(eval cperl--ws*-rx)
","
@@ -5880,37 +6084,21 @@ default function."
;; Bug in font-lock: limit is used not only to limit
;; searches, but to set the "extend window for
;; facification" property. Thus we need to minimize.
- ,(if cperl-font-lock-multiline
- '(if (match-beginning 1)
- (save-excursion
- (goto-char (match-beginning 1))
- (condition-case nil
- (forward-sexp 1)
- (error
- (condition-case nil
- (forward-char 200)
- (error nil)))) ; typeahead
- (1- (point))) ; report limit
- (forward-char -2)) ; disable continued expr
- '(if (match-beginning 1)
- (point-max) ; No limit for continuation
- (forward-char -2))) ; disable continued expr
- ,(if cperl-font-lock-multiline
- nil
- '(progn ; Do at end
- ;; "my" may be already fontified (POD),
- ;; so cperl-font-lock-multiline-start is nil
- (if (or (not cperl-font-lock-multiline-start)
- (> 2 (count-lines
- cperl-font-lock-multiline-start
- (point))))
- nil
- (put-text-property
- (1+ cperl-font-lock-multiline-start) (point)
- 'syntax-type 'multiline))
- (setq cperl-font-lock-multiline-start nil)))
+ (if (match-beginning 1) ; list declaration
+ (save-excursion
+ (goto-char (match-beginning 1))
+ (condition-case nil
+ (forward-sexp 1)
+ (error
+ (condition-case nil
+ (forward-char 200)
+ (error nil)))) ; typeahead
+ (1- (point))) ; report limit
+ (forward-char -2)) ; disable continued expr
+ nil
(1 font-lock-variable-name-face)))
- ;; foreach my $foo (
+ ;; ----- foreach my $foo (
+ ;; (matcher subexp facespec)
`(,(rx symbol-start "for" (opt "each")
(opt (sequence (1+ blank)
(or "state" "my" "local" "our")))
@@ -5921,12 +6109,18 @@ default function."
;; '("\\<for\\(each\\)?\\([ \t]+\\(state\\|my\\|local\\|our\\)\\)?[ \t]*\\(\\$[a-zA-Z_][a-zA-Z_0-9]*\\)[ \t]*("
1 font-lock-variable-name-face)
;; Avoid $!, and s!!, qq!! etc. when not fontifying syntactically
+ ;; -------- ! as a negation char like $false = !$true
+ ;; (matcher subexp facespec)
'("\\(?:^\\|[^smywqrx$]\\)\\(!\\)" 1 font-lock-negation-char-face)
+ ;; -------- ^ as a negation char in character classes m/[^abc]/
+ ;; (matcher subexp facespec)
'("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend)))
(setq
t-font-lock-keywords-1
`(
- ;; arrays and hashes. Access to elements is fixed below
+ ;; -------- arrays and hashes. Access to elements is fixed below
+ ;; (matcher subexp facespec)
+ ;; facespec is an expression to distinguish between arrays and hashes
(,(rx (group-n 1 (group-n 2 (or (in "@%") "$#"))
(eval cperl--normal-identifier-rx)))
1
@@ -5934,8 +6128,10 @@ default function."
(if (eq (char-after (match-beginning 2)) ?%)
'cperl-hash-face
'cperl-array-face)
- nil) ; arrays and hashes
- ;; access to array/hash elements
+ nil)
+ ;; -------- access to array/hash elements
+ ;; (matcher subexp facespec)
+ ;; facespec is an expression to distinguish between arrays and hashes
(,(rx (group-n 1 (group-n 2 (in "$@%"))
(eval cperl--normal-identifier-rx))
(0+ blank)
@@ -5948,7 +6144,8 @@ default function."
'cperl-array-face) ; arrays and hashes
font-lock-variable-name-face) ; Just to put something
t) ; override previous
- ;; @$ array dereferences, $#$ last array index
+ ;; -------- @$ array dereferences, $#$ last array index
+ ;; (matcher (subexp facespec) (subexp facespec))
(,(rx (group-n 1 (or "@" "$#"))
(group-n 2 (sequence "$"
(or (eval cperl--normal-identifier-rx)
@@ -5956,7 +6153,8 @@ default function."
;; ("\\(@\\|\\$#\\)\\(\\$+\\([a-zA-Z_:][a-zA-Z0-9_:]*\\|[^ \t\n]\\)\\)"
(1 'cperl-array-face)
(2 font-lock-variable-name-face))
- ;; %$ hash dereferences
+ ;; -------- %$ hash dereferences
+ ;; (matcher (subexp facespec) (subexp facespec))
(,(rx (group-n 1 "%")
(group-n 2 (sequence "$"
(or (eval cperl--normal-identifier-rx)
diff --git a/lisp/progmodes/csharp-mode.el b/lisp/progmodes/csharp-mode.el
index ea4977254ce..db036aab685 100644
--- a/lisp/progmodes/csharp-mode.el
+++ b/lisp/progmodes/csharp-mode.el
@@ -464,11 +464,23 @@ compilation and evaluation time conflicts."
(defun csharp-guess-basic-syntax (orig-fun &rest args)
(cond
+ (;; enum
+ (save-excursion
+ (goto-char (c-point 'boi))
+ (and
+ (eq (char-after) ?\{)
+ (save-excursion
+ (goto-char (c-point 'iopl))
+ (looking-at ".*enum.*"))))
+ `((class-open ,(c-point 'iopl))))
(;; Attributes
(save-excursion
(goto-char (c-point 'iopl))
(and
- (eq (char-after) ?\[)
+ (eq (save-excursion
+ (skip-chars-forward " \t\n")
+ (char-after))
+ ?\[)
(save-excursion
(c-go-list-forward)
(and (eq (char-before) ?\])
@@ -908,7 +920,6 @@ Return nil if there is no name or if NODE is not a defun node."
"struct_declaration"
"enum_declaration"
"interface_declaration"
- "class_declaration"
"class_declaration")
(treesit-node-text
(treesit-node-child-by-field-name
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index 0bb1a01f902..cf589762e8f 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -1396,7 +1396,7 @@ regexps in `dcl-electric-reindent-regexps'."
;;;-------------------------------------------------------------------------
(defun dcl-indent-to (col &optional minimum)
"Like `indent-to', but only indents if indentation would change."
- (interactive)
+ (interactive "NIndent to column: ")
(let (cur-indent collapsed indent)
(save-excursion
(skip-chars-forward " \t")
diff --git a/lisp/progmodes/dockerfile-ts-mode.el b/lisp/progmodes/dockerfile-ts-mode.el
index c9125bc6cbd..333158e20f6 100644
--- a/lisp/progmodes/dockerfile-ts-mode.el
+++ b/lisp/progmodes/dockerfile-ts-mode.el
@@ -123,8 +123,9 @@ continuation to the previous entry."
(let* ((node (treesit-buffer-root-node))
(stage-tree (treesit-induce-sparse-tree
node "from_instruction"
- nil 1000)))
- `(("Stage" . ,(dockerfile-ts-mode--imenu-1 stage-tree)))))
+ nil 1000))
+ (stage-index (dockerfile-ts-mode--imenu-1 stage-tree)))
+ (when stage-index `(("Stage" . ,stage-index)))))
(defun dockerfile-ts-mode--imenu-1 (node)
"Helper for `dockerfile-ts-mode--imenu'.
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 4563b83389f..5ca2f09b141 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -1130,7 +1130,7 @@ If given a numeric N-TIMES argument, mark that many classes."
(defun ebrowse-redraw-marks (start end)
"Display class marker signs in the tree between START and END."
- (interactive)
+ (interactive "r")
(save-excursion
(with-silent-modifications
(catch 'end
@@ -1494,9 +1494,9 @@ and possibly kill the viewed buffer."
(defun ebrowse-view-file-other-frame (file)
- "View a file FILE in another frame.
+ "View FILE in another frame.
The new frame is deleted when you quit viewing the file in that frame."
- (interactive)
+ (interactive "fIn other frame view file: ")
(let ((old-frame-configuration (current-frame-configuration))
(had-a-buf (get-file-buffer file))
(buf-to-view (find-file-noselect file)))
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 24f2fda5ae5..f09c348143d 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2018-2023 Free Software Foundation, Inc.
-;; Version: 1.14
+;; Version: 1.15
;; Author: João Távora <joaotavora@gmail.com>
;; Maintainer: João Távora <joaotavora@gmail.com>
;; URL: https://github.com/joaotavora/eglot
@@ -215,11 +215,11 @@ chosen (interactively or automatically)."
((R-mode ess-r-mode) . ("R" "--slave" "-e"
"languageserver::run()"))
((java-mode java-ts-mode) . ("jdtls"))
- (dart-mode . ("dart" "language-server"
- "--client-id" "emacs.eglot-dart"))
+ ((dart-mode dart-ts-mode)
+ . ("dart" "language-server"
+ "--client-id" "emacs.eglot-dart"))
((elixir-mode elixir-ts-mode heex-ts-mode)
- . ,(if (and (fboundp 'w32-shell-dos-semantics)
- (w32-shell-dos-semantics))
+ . ,(if (and (fboundp 'w32-shell-dos-semantics) (w32-shell-dos-semantics))
'("language_server.bat")
'("language_server.sh")))
(ada-mode . ("ada_language_server"))
@@ -230,7 +230,8 @@ chosen (interactively or automatically)."
. ,(eglot-alternatives '("digestif" "texlab")))
(erlang-mode . ("erlang_ls" "--transport" "stdio"))
((yaml-ts-mode yaml-mode) . ("yaml-language-server" "--stdio"))
- (nix-mode . ,(eglot-alternatives '("nil" "rnix-lsp")))
+ (nix-mode . ,(eglot-alternatives '("nil" "rnix-lsp" "nixd")))
+ (nickel-mode . ("nls"))
(gdscript-mode . ("localhost" 6008))
((fortran-mode f90-mode) . ("fortls"))
(futhark-mode . ("futhark" "lsp"))
@@ -724,8 +725,23 @@ treated as in `eglot--dbind'."
(cl-defgeneric eglot-handle-notification (server method &rest params)
"Handle SERVER's METHOD notification with PARAMS.")
-(cl-defgeneric eglot-execute-command (server command arguments)
- "Ask SERVER to execute COMMAND with ARGUMENTS.")
+(cl-defgeneric eglot-execute-command (_ _ _)
+ (declare (obsolete eglot-execute "30.1"))
+ (:method
+ (server command arguments)
+ (eglot--request server :workspace/executeCommand
+ `(:command ,(format "%s" command) :arguments ,arguments))))
+
+(cl-defgeneric eglot-execute (server action)
+ "Ask SERVER to execute ACTION.
+ACTION is an LSP object of either `CodeAction' or `Command' type."
+ (:method
+ (server action) "Default implementation."
+ (eglot--dcase action
+ (((Command)) (eglot--request server :workspace/executeCommand action))
+ (((CodeAction) edit command)
+ (when edit (eglot--apply-workspace-edit edit))
+ (when command (eglot--request server :workspace/executeCommand command))))))
(cl-defgeneric eglot-initialization-options (server)
"JSON object to send under `initializationOptions'."
@@ -830,7 +846,8 @@ treated as in `eglot--dbind'."
`(:valueSet
[,@(mapcar
#'car eglot--tag-faces)])))
- :window `(:workDoneProgress t)
+ :window `(:showDocument (:support t)
+ :workDoneProgress t)
:general (list :positionEncodings ["utf-32" "utf-8" "utf-16"])
:experimental eglot--{})))
@@ -871,7 +888,7 @@ treated as in `eglot--dbind'."
:documentation "Generalized boolean inhibiting auto-reconnection if true."
:accessor eglot--inhibit-autoreconnect)
(file-watches
- :documentation "Map ID to list of WATCHES for `didChangeWatchedFiles'."
+ :documentation "Map (DIR -> (WATCH ID1 ID2...)) for `didChangeWatchedFiles'."
:initform (make-hash-table :test #'equal) :accessor eglot--file-watches)
(managed-buffers
:documentation "List of buffers managed by server."
@@ -942,8 +959,8 @@ PRESERVE-BUFFERS as in `eglot-shutdown', which see."
(eglot-autoshutdown nil))
(eglot--when-live-buffer buffer (eglot--managed-mode-off))))
;; Kill any expensive watches
- (maphash (lambda (_id watches)
- (mapcar #'file-notify-rm-watch watches))
+ (maphash (lambda (_dir watch-and-ids)
+ (file-notify-rm-watch (car watch-and-ids)))
(eglot--file-watches server))
;; Kill any autostarted inferior processes
(when-let (proc (eglot--inferior-process server))
@@ -1707,7 +1724,7 @@ under cursor."
(const :tag "Go to definition" :definitionProvider)
(const :tag "Go to type definition" :typeDefinitionProvider)
(const :tag "Go to implementation" :implementationProvider)
- (const :tag "Go to declaration" :implementationProvider)
+ (const :tag "Go to declaration" :declarationProvider)
(const :tag "Find references" :referencesProvider)
(const :tag "Highlight symbols automatically" :documentHighlightProvider)
(const :tag "List symbols in buffer" :documentSymbolProvider)
@@ -1935,10 +1952,9 @@ Use `eglot-managed-p' to determine if current buffer is managed.")
"Return logical Eglot server for current buffer, nil if none."
(setq eglot--cached-server
(or eglot--cached-server
- (cl-find major-mode
- (gethash (eglot--current-project) eglot--servers-by-project)
- :key #'eglot--major-modes
- :test #'memq)
+ (cl-find-if #'eglot--languageId
+ (gethash (eglot--current-project)
+ eglot--servers-by-project))
(and eglot-extend-to-xref
buffer-file-name
(gethash (expand-file-name buffer-file-name)
@@ -2003,6 +2019,19 @@ If it is activated, also signal textDocument/didOpen."
(declare (obsolete info "1.10"))
(interactive) (info "(eglot)"))
+;;;###autoload
+(defun eglot-upgrade-eglot (&rest _) "Update Eglot to latest version."
+ (interactive)
+ (with-no-warnings
+ (require 'package)
+ (unless package-archive-contents (package-refresh-contents))
+ (when-let ((existing (cadr (assoc 'eglot package-alist))))
+ (package-delete existing t))
+ (package-install (cadr (assoc 'eglot package-archive-contents)))))
+
+;;;###autoload
+(define-obsolete-function-alias 'eglot-update 'eglot-upgrade-eglot "29.1")
+
(easy-menu-define eglot-menu nil "Eglot"
`("Eglot"
;; Commands for getting information and customization.
@@ -2169,13 +2198,6 @@ still unanswered LSP requests to the server\n")))
(when (memq 'disallow-unknown-methods eglot-strict-mode)
(jsonrpc-error "Unknown request method `%s'" method)))
-(cl-defmethod eglot-execute-command
- (server command arguments)
- "Execute COMMAND on SERVER with `:workspace/executeCommand'.
-COMMAND is a symbol naming the command."
- (eglot--request server :workspace/executeCommand
- `(:command ,(format "%s" command) :arguments ,arguments)))
-
(cl-defmethod eglot-handle-notification
(_server (_method (eql window/showMessage)) &key type message)
"Handle notification window/showMessage."
@@ -2228,7 +2250,7 @@ COMMAND is a symbol naming the command."
((eq (car pr) 'eglot--mode-line-reporter)
(setcdr (cddr pr) (list msg pcnt))
(force-mode-line-update t))
- (pr (progress-reporter-update pr pcnt msg)))))
+ (pr (eglot--reporter-update pr pcnt msg)))))
(eglot--dbind ((WorkDoneProgress) kind title percentage message) value
(pcase kind
("begin"
@@ -2256,7 +2278,9 @@ COMMAND is a symbol naming the command."
(buffer (find-buffer-visiting path)))
(with-current-buffer buffer
(cl-loop
- initially (assoc-delete-all path flymake-list-only-diagnostics)
+ initially
+ (setq flymake-list-only-diagnostics
+ (assoc-delete-all path flymake-list-only-diagnostics))
for diag-spec across diagnostics
collect (eglot--dbind ((Diagnostic) range code message severity source tags)
diag-spec
@@ -2346,6 +2370,36 @@ THINGS are either registrations or unregisterations (sic)."
"Handle server request workspace/workspaceFolders."
(eglot-workspace-folders server))
+(cl-defmethod eglot-handle-request
+ (_server (_method (eql window/showDocument)) &key
+ uri external takeFocus selection)
+ "Handle request window/showDocument."
+ (let ((success t)
+ (filename))
+ (cond
+ ((eq external t) (browse-url uri))
+ ((file-readable-p (setq filename (eglot--uri-to-path uri)))
+ ;; Use run-with-timer to avoid nested client requests like the
+ ;; "synchronous imenu" floated in bug#62116 presumably caused by
+ ;; which-func-mode.
+ (run-with-timer
+ 0 nil
+ (lambda ()
+ (with-current-buffer (find-file-noselect filename)
+ (cond (takeFocus
+ (pop-to-buffer (current-buffer))
+ (select-frame-set-input-focus (selected-frame)))
+ ((display-buffer (current-buffer))))
+ (when selection
+ (pcase-let ((`(,beg . ,end) (eglot--range-region selection)))
+ ;; FIXME: it is very naughty to use someone else's `--'
+ ;; function, but `xref--goto-char' happens to have
+ ;; exactly the semantics we want vis-a-vis widening.
+ (xref--goto-char beg)
+ (pulse-momentary-highlight-region beg end 'highlight)))))))
+ (t (setq success :json-false)))
+ `(:success ,success)))
+
(defun eglot--TextDocumentIdentifier ()
"Compute TextDocumentIdentifier object for current buffer."
`(:uri ,(eglot--path-to-uri (or buffer-file-name
@@ -2360,12 +2414,20 @@ THINGS are either registrations or unregisterations (sic)."
(append (eglot--TextDocumentIdentifier)
`(:version ,eglot--versioned-identifier)))
+(cl-defun eglot--languageId (&optional (server (eglot--current-server-or-lose)))
+ "Compute LSP \\='languageId\\=' string for current buffer.
+Doubles as an predicate telling if SERVER can manage current
+buffer."
+ (cl-loop for (mode . languageid) in
+ (eglot--languages server)
+ when (provided-mode-derived-p major-mode mode)
+ return languageid))
+
(defun eglot--TextDocumentItem ()
"Compute TextDocumentItem object for current buffer."
(append
(eglot--VersionedTextDocumentIdentifier)
- (list :languageId
- (alist-get major-mode (eglot--languages (eglot--current-server-or-lose)))
+ (list :languageId (eglot--languageId)
:text
(eglot--widening
(buffer-substring-no-properties (point-min) (point-max))))))
@@ -3122,8 +3184,7 @@ for which LSP on-type-formatting should be requested."
(funcall snippet-fn (or insertText label))))
(when (cl-plusp (length additionalTextEdits))
(eglot--apply-text-edits additionalTextEdits)))
- (eglot--signal-textDocument/didChange)
- (eldoc)))))))))
+ (eglot--signal-textDocument/didChange)))))))))
(defun eglot--hover-info (contents &optional _range)
(mapconcat #'eglot--format-markup
@@ -3135,49 +3196,51 @@ for which LSP on-type-formatting should be requested."
((:documentation sigdoc)) parameters activeParameter)
sig
(with-temp-buffer
- (save-excursion (insert siglabel))
+ (insert siglabel)
;; Ad-hoc attempt to parse label as <name>(<params>)
- (when (looking-at "\\([^(]*\\)(\\([^)]+\\))")
- (add-face-text-property (match-beginning 1) (match-end 1)
- 'font-lock-function-name-face))
- ;; Add documentation, indented so we can distinguish multiple signatures
- (when-let (doc (and (not briefp) sigdoc (eglot--format-markup sigdoc)))
- (goto-char (point-max))
- (insert "\n" (replace-regexp-in-string "^" " " doc)))
- ;; Now to the parameters
- (cl-loop
- with active-param = (or sig-active activeParameter)
- for i from 0 for parameter across parameters do
- (eglot--dbind ((ParameterInformation)
- ((:label parlabel))
- ((:documentation pardoc)))
- parameter
- ;; ...perhaps highlight it in the formals list
- (when (and (eq i active-param))
- (save-excursion
- (goto-char (point-min))
- (pcase-let
- ((`(,beg ,end)
- (if (stringp parlabel)
- (let ((case-fold-search nil))
- (and (search-forward parlabel (line-end-position) t)
- (list (match-beginning 0) (match-end 0))))
- (mapcar #'1+ (append parlabel nil)))))
- (if (and beg end)
- (add-face-text-property
- beg end
- 'eldoc-highlight-function-argument)))))
- ;; ...and/or maybe add its doc on a line by its own.
- (let (fpardoc)
- (when (and pardoc (not briefp)
- (not (string-empty-p
- (setq fpardoc (eglot--format-markup pardoc)))))
- (insert "\n "
- (propertize
- (if (stringp parlabel) parlabel
- (apply #'substring siglabel (mapcar #'1+ parlabel)))
- 'face (and (eq i active-param) 'eldoc-highlight-function-argument))
- ": " fpardoc)))))
+ ;; Add documentation, indented so we can distinguish multiple signatures
+ (when-let (doc (and (not briefp) sigdoc (eglot--format-markup sigdoc)))
+ (goto-char (point-max))
+ (insert "\n" (replace-regexp-in-string "^" " " doc)))
+ ;; Now to the parameters
+ (cl-loop
+ with active-param = (or sig-active activeParameter)
+ for i from 0 for parameter across parameters do
+ (eglot--dbind ((ParameterInformation)
+ ((:label parlabel))
+ ((:documentation pardoc)))
+ parameter
+ (when (zerop i)
+ (goto-char (elt parlabel 0))
+ (skip-syntax-backward "^w")
+ (add-face-text-property (point-min) (point)
+ 'font-lock-function-name-face))
+ ;; ...perhaps highlight it in the formals list
+ (when (= i active-param)
+ (save-excursion
+ (goto-char (point-min))
+ (pcase-let
+ ((`(,beg ,end)
+ (if (stringp parlabel)
+ (let ((case-fold-search nil))
+ (and (search-forward parlabel (line-end-position) t)
+ (list (match-beginning 0) (match-end 0))))
+ (mapcar #'1+ (append parlabel nil)))))
+ (if (and beg end)
+ (add-face-text-property
+ beg end
+ 'eldoc-highlight-function-argument)))))
+ ;; ...and/or maybe add its doc on a line by its own.
+ (let (fpardoc)
+ (when (and pardoc (not briefp)
+ (not (string-empty-p
+ (setq fpardoc (eglot--format-markup pardoc)))))
+ (insert "\n "
+ (propertize
+ (if (stringp parlabel) parlabel
+ (apply #'substring siglabel (mapcar #'1+ parlabel)))
+ 'face (and (eq i active-param) 'eldoc-highlight-function-argument))
+ ": " fpardoc)))))
(buffer-string))))
(defun eglot-signature-eldoc-function (cb)
@@ -3287,18 +3350,21 @@ for which LSP on-type-formatting should be requested."
(mapcar (lambda (c) (apply #'dfs c)) children))))))
(mapcar (lambda (s) (apply #'dfs s)) res)))
-(defun eglot-imenu ()
+(cl-defun eglot-imenu ()
"Eglot's `imenu-create-index-function'.
Returns a list as described in docstring of `imenu--index-alist'."
+ (unless (eglot--server-capable :textDocument/documentSymbol)
+ (cl-return-from eglot-imenu))
(let* ((res (eglot--request (eglot--current-server-or-lose)
:textDocument/documentSymbol
`(:textDocument
,(eglot--TextDocumentIdentifier))
:cancel-on-input non-essential))
- (head (and res (elt res 0))))
- (eglot--dcase head
- (((SymbolInformation)) (eglot--imenu-SymbolInformation res))
- (((DocumentSymbol)) (eglot--imenu-DocumentSymbol res)))))
+ (head (and (cl-plusp (length res)) (elt res 0))))
+ (when head
+ (eglot--dcase head
+ (((SymbolInformation)) (eglot--imenu-SymbolInformation res))
+ (((DocumentSymbol)) (eglot--imenu-DocumentSymbol res))))))
(cl-defun eglot--apply-text-edits (edits &optional version)
"Apply EDITS for current buffer if at VERSION, or if it's nil."
@@ -3324,7 +3390,7 @@ Returns a list as described in docstring of `imenu--index-alist'."
(save-restriction
(narrow-to-region beg end)
(replace-buffer-contents temp)))
- (progress-reporter-update reporter (cl-incf done)))))))
+ (eglot--reporter-update reporter (cl-incf done)))))))
(mapcar (eglot--lambda ((TextEdit) range newText)
(cons newText (eglot--range-region range 'markers)))
(reverse edits)))
@@ -3445,14 +3511,7 @@ at point. With prefix argument, prompt for ACTION-KIND."
default-action)
menu-items nil t nil nil default-action)
menu-items))))))
- (eglot--dcase chosen
- (((Command) command arguments)
- (eglot-execute-command server (intern command) arguments))
- (((CodeAction) edit command)
- (when edit (eglot--apply-workspace-edit edit))
- (when command
- (eglot--dbind ((Command) command arguments) command
- (eglot-execute-command server (intern command) arguments)))))))
+ (eglot-execute server chosen)))
(defmacro eglot--code-action (name kind)
"Define NAME to execute KIND code action."
@@ -3488,8 +3547,7 @@ at point. With prefix argument, prompt for ACTION-KIND."
(project-files
(eglot--project server))))))
(cl-labels
- ((handle-event
- (event)
+ ((handle-event (event)
(pcase-let* ((`(,desc ,action ,file ,file1) event)
(action-type (cl-case action
(created 1) (changed 2) (deleted 3)))
@@ -3503,16 +3561,24 @@ at point. With prefix argument, prompt for ACTION-KIND."
(jsonrpc-notify
server :workspace/didChangeWatchedFiles
`(:changes ,(vector `(:uri ,(eglot--path-to-uri file)
- :type ,action-type)))))
+ :type ,action-type))))
+ (when (and (eq action 'created)
+ (file-directory-p file))
+ (watch-dir file)))
((eq action 'renamed)
(handle-event `(,desc 'deleted ,file))
- (handle-event `(,desc 'created ,file1)))))))
+ (handle-event `(,desc 'created ,file1))))))
+ (watch-dir (dir)
+ (when-let ((probe
+ (and (file-readable-p dir)
+ (or (gethash dir (eglot--file-watches server))
+ (puthash dir (list (file-notify-add-watch
+ dir '(change) #'handle-event))
+ (eglot--file-watches server))))))
+ (push id (cdr probe)))))
(unwind-protect
(progn
- (dolist (dir dirs-to-watch)
- (when (file-readable-p dir)
- (push (file-notify-add-watch dir '(change) #'handle-event)
- (gethash id (eglot--file-watches server)))))
+ (mapc #'watch-dir dirs-to-watch)
(setq
success
`(:message ,(format "OK, watching %s directories in %s watchers"
@@ -3523,8 +3589,12 @@ at point. With prefix argument, prompt for ACTION-KIND."
(cl-defmethod eglot-unregister-capability
(server (_method (eql workspace/didChangeWatchedFiles)) id)
"Handle dynamic unregistration of workspace/didChangeWatchedFiles."
- (mapc #'file-notify-rm-watch (gethash id (eglot--file-watches server)))
- (remhash id (eglot--file-watches server))
+ (maphash (lambda (dir watch-and-ids)
+ (setcdr watch-and-ids (delete id (cdr watch-and-ids)))
+ (when (null (cdr watch-and-ids))
+ (file-notify-rm-watch (car watch-and-ids))
+ (remhash dir (eglot--file-watches server))))
+ (eglot--file-watches server))
(list t "OK"))
@@ -3703,8 +3773,9 @@ If NOERROR, return predicate, else erroring function."
(if peg-after-p
(make-overlay (point) (1+ (point)) nil t)
(make-overlay (1- (point)) (point) nil nil nil)))
- (do-it (label lpad rpad firstp)
- (let* ((tweak-cursor-p (and firstp peg-after-p))
+ (do-it (label lpad rpad i n)
+ (let* ((firstp (zerop i))
+ (tweak-cursor-p (and firstp peg-after-p))
(ov (make-ov))
(text (concat lpad label rpad)))
(when tweak-cursor-p (put-text-property 0 1 'cursor 1 text))
@@ -3715,17 +3786,18 @@ If NOERROR, return predicate, else erroring function."
(1 'eglot-type-hint-face)
(2 'eglot-parameter-hint-face)
(_ 'eglot-inlay-hint-face))))
+ (overlay-put ov 'priority (if peg-after-p i (- n i)))
(overlay-put ov 'eglot--inlay-hint t)
(overlay-put ov 'evaporate t)
(overlay-put ov 'eglot--overlay t))))
- (if (stringp label) (do-it label left-pad right-pad t)
+ (if (stringp label) (do-it label left-pad right-pad 0 1)
(cl-loop
for i from 0 for ldetail across label
do (eglot--dbind ((InlayHintLabelPart) value) ldetail
(do-it value
(and (zerop i) left-pad)
(and (= i (1- (length label))) right-pad)
- (zerop i))))))))))
+ i (length label))))))))))
(jsonrpc-async-request
(eglot--current-server-or-lose)
:textDocument/inlayHint
@@ -3735,7 +3807,19 @@ If NOERROR, return predicate, else erroring function."
:success-fn (lambda (hints)
(eglot--when-live-buffer buf
(eglot--widening
- (remove-overlays from to 'eglot--inlay-hint t)
+ ;; Overlays ending right at FROM with an
+ ;; `after-string' property logically belong to
+ ;; the (FROM TO) region. Likewise, such
+ ;; overlays ending at TO don't logically belong
+ ;; to it.
+ (dolist (o (overlays-in (1- from) to))
+ (when (and (overlay-get o 'eglot--inlay-hint)
+ (cond ((eq (overlay-end o) from)
+ (overlay-get o 'after-string))
+ ((eq (overlay-end o) to)
+ (overlay-get o 'before-string))
+ (t)))
+ (delete-overlay o)))
(mapc paint-hint hints))))
:deferred 'eglot--update-hints-1)))
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 45e3848362e..955b708aee9 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -215,6 +215,8 @@ All commands in `lisp-mode-shared-map' are inherited by this map."
(load (byte-compile-dest-file buffer-file-name)))
(declare-function native-compile "comp")
+(declare-function comp-write-bytecode-file "comp")
+
(defun emacs-lisp-native-compile-and-load ()
"Native-compile synchronously the current file (if it has changed).
Load the compiled code when finished.
@@ -224,8 +226,10 @@ Use `emacs-lisp-byte-compile-and-load' in combination with
native compilation."
(interactive nil emacs-lisp-mode)
(emacs-lisp--before-compile-buffer)
- (when-let ((out (native-compile buffer-file-name)))
- (load out)))
+ (let ((byte+native-compile t)
+ (byte-to-native-output-buffer-file nil))
+ (when-let ((eln (native-compile buffer-file-name)))
+ (load (file-name-sans-extension (comp-write-bytecode-file eln))))))
(defun emacs-lisp-macroexpand ()
"Macroexpand the form after point.
@@ -250,6 +254,9 @@ Comments in the form will be lost."
;; Empty symbol.
("##" (0 (unless (nth 8 (syntax-ppss))
(string-to-syntax "_"))))
+ ;; Prevent the @ from becoming part of a following symbol.
+ (",@" (0 (unless (nth 8 (syntax-ppss))
+ (string-to-syntax "'"))))
;; Unicode character names. (The longest name is 88 characters
;; long.)
("\\?\\\\N{[-A-Za-z0-9 ]\\{,100\\}}"
diff --git a/lisp/progmodes/elixir-ts-mode.el b/lisp/progmodes/elixir-ts-mode.el
index c58854c41c3..7175fe4bff8 100644
--- a/lisp/progmodes/elixir-ts-mode.el
+++ b/lisp/progmodes/elixir-ts-mode.el
@@ -89,7 +89,7 @@
(rx bol
(or "call" "stab_clause" "binary_operator" "list" "tuple" "map" "pair"
"sigil" "string" "atom" "alias" "arguments" "identifier"
- "boolean" "quoted_content")
+ "boolean" "quoted_content" "bitstring")
eol))
(defconst elixir-ts--test-definition-keywords
@@ -231,6 +231,7 @@
((node-is "^]$") ,'elixir-ts--parent-expression-start 0)
((node-is "^}$") ,'elixir-ts--parent-expression-start 0)
((node-is "^)$") ,'elixir-ts--parent-expression-start 0)
+ ((node-is "^>>$") ,'elixir-ts--parent-expression-start 0)
((node-is "^else_block$") grand-parent 0)
((node-is "^catch_block$") grand-parent 0)
((node-is "^rescue_block$") grand-parent 0)
@@ -250,12 +251,12 @@
,'elixir-ts--argument-indent-anchor
,'elixir-ts--argument-indent-offset)
((parent-is "^pair$") parent ,offset)
+ ((parent-is "^bitstring$") parent ,offset)
((parent-is "^map_content$") parent-bol 0)
((parent-is "^map$") ,'elixir-ts--parent-expression-start ,offset)
((node-is "^stab_clause$") parent-bol ,offset)
((query ,elixir-ts--capture-operator-parent) grand-parent 0)
((node-is "^when$") parent 0)
- ((node-is "^keywords$") parent-bol ,offset)
((parent-is "^body$")
(lambda (node parent _)
(save-excursion
@@ -270,6 +271,7 @@
,'elixir-ts--argument-indent-anchor
,'elixir-ts--argument-indent-offset)
;; Handle incomplete maps when parent is ERROR.
+ ((node-is "^keywords$") parent-bol ,offset)
((n-p-gp "^binary_operator$" "ERROR" nil) parent-bol 0)
;; When there is an ERROR, just indent to prev-line.
((parent-is "ERROR") prev-line ,offset)
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index ac408145696..f03b9ab56a0 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -446,6 +446,27 @@ verify FILTER, a function, and sort them by COMPARE (using KEY)."
"Face used for showing summarized descriptions of notes."
:package-version '(Flymake . "1.3.4"))
+(defface flymake-end-of-line-diagnostics-face
+ '((t :height 0.85 :box (:line-width -1)))
+ "Face used for end-of-line diagnostics.
+See variable `flymake-show-diagnostics-at-end-of-line'."
+ :package-version '(Flymake . "1.3.5"))
+
+(defface flymake-error-echo-at-eol
+ '((t :inherit (flymake-end-of-line-diagnostics-face compilation-error)))
+ "Face like `flymake-error-echo', but for end-of-line overlays."
+ :package-version '(Flymake . "1.3.5"))
+
+(defface flymake-warning-echo-at-eol
+ '((t :inherit (flymake-end-of-line-diagnostics-face compilation-warning)))
+ "Face like `flymake-warning-echo', but for end-of-line overlays."
+ :package-version '(Flymake . "1.3.5"))
+
+(defface flymake-note-echo-at-eol
+ '((t :inherit (flymake-end-of-line-diagnostics-face flymake-note)))
+ "Face like `flymake-note-echo', but for end-of-line overlays."
+ :package-version '(Flymake . "1.3.5"))
+
(defcustom flymake-show-diagnostics-at-end-of-line nil
"If non-nil, add diagnostic summary messages at end-of-line."
:type 'boolean
@@ -606,7 +627,7 @@ Node `(Flymake)Flymake error types'"
(put 'flymake-error 'severity (warning-numeric-level :error))
(put 'flymake-error 'mode-line-face 'flymake-error-echo)
(put 'flymake-error 'echo-face 'flymake-error-echo)
-(put 'flymake-error 'eol-face 'flymake-error-echo)
+(put 'flymake-error 'eol-face 'flymake-error-echo-at-eol)
(put 'flymake-error 'flymake-type-name "error")
(put 'flymake-warning 'face 'flymake-warning)
@@ -614,7 +635,7 @@ Node `(Flymake)Flymake error types'"
(put 'flymake-warning 'severity (warning-numeric-level :warning))
(put 'flymake-warning 'mode-line-face 'flymake-warning-echo)
(put 'flymake-warning 'echo-face 'flymake-warning-echo)
-(put 'flymake-warning 'eol-face 'flymake-warning-echo)
+(put 'flymake-warning 'eol-face 'flymake-warning-echo-at-eol)
(put 'flymake-warning 'flymake-type-name "warning")
(put 'flymake-note 'face 'flymake-note)
@@ -622,7 +643,7 @@ Node `(Flymake)Flymake error types'"
(put 'flymake-note 'severity (warning-numeric-level :debug))
(put 'flymake-note 'mode-line-face 'flymake-note-echo)
(put 'flymake-note 'echo-face 'flymake-note-echo)
-(put 'flymake-note 'eol-face 'flymake-note-echo)
+(put 'flymake-note 'eol-face 'flymake-note-echo-at-eol)
(put 'flymake-note 'flymake-type-name "note")
(defun flymake--lookup-type-property (type prop &optional default)
@@ -768,7 +789,7 @@ Return nil or the overlay created."
(end (min (1+ start) (point-max)))
(eolov (car
(cl-remove-if-not
- (lambda (o) (overlay-get o 'flymake-source-ovs))
+ (lambda (o) (overlay-get o 'flymake-eol-source-region))
(overlays-at start))))
(bs (flymake-diagnostic-oneliner diagnostic t)))
(setq bs (propertize bs 'face eol-face))
@@ -779,15 +800,17 @@ Return nil or the overlay created."
(cond (eolov
(overlay-put eolov 'before-string
(concat (overlay-get eolov 'before-string) " " bs))
- (overlay-put eolov 'flymake-source-ovs
- (cons ov (overlay-get eolov 'flymake-source-ovs))))
+ (let ((e (overlay-get eolov 'flymake-eol-source-region)))
+ (setcar e (min (car e) (overlay-start ov)))
+ (setcdr e (max (cdr e) (overlay-end ov)))))
(t
(setq eolov (make-overlay start end nil t nil))
(setq bs (concat " " bs))
(put-text-property 0 1 'cursor t bs)
(overlay-put eolov 'before-string bs)
(overlay-put eolov 'evaporate (not (= start end)))
- (overlay-put eolov 'flymake-source-ovs (list ov))
+ (overlay-put eolov 'flymake-eol-source-region
+ (cons (overlay-start ov) (overlay-end ov)))
(overlay-put ov 'eol-ov eolov))))))
;; Now ensure some essential defaults are set
;;
@@ -1308,12 +1331,27 @@ Do it only if `flymake-no-changes-timeout' is non-nil."
(make-obsolete 'flymake-mode-on 'flymake-mode "26.1")
(make-obsolete 'flymake-mode-off 'flymake-mode "26.1")
-(defun flymake-after-change-function (start stop _len)
+(defun flymake-after-change-function (start stop pre-change-len)
"Start syntax check for current buffer if it isn't already running.
START and STOP and LEN are as in `after-change-functions'."
(let((new-text (buffer-substring start stop)))
(push (list start stop new-text) flymake--recent-changes)
- (flymake--schedule-timer-maybe)))
+ (flymake--schedule-timer-maybe))
+ ;; Some special handling to prevent eol overlays from temporarily
+ ;; moving to wrong line
+ (when (and flymake-show-diagnostics-at-end-of-line
+ (zerop pre-change-len))
+ (save-excursion
+ (goto-char start)
+ (when-let* ((probe (search-forward "\n" stop t))
+ (eolovs (cl-remove-if-not
+ (lambda (o)
+ (let ((reg (overlay-get o 'flymake-eol-source-region)))
+ (and reg (< (car reg) (1- probe)))))
+ (overlays-at (line-end-position)))))
+ (goto-char start)
+ (let ((newend (line-end-position)))
+ (dolist (ov eolovs) (move-overlay ov newend (1+ newend))))))))
(defun flymake-after-save-hook ()
(when flymake-start-on-save-buffer
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 060957eac29..c9afe502a50 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -453,7 +453,9 @@ valid signal handlers.")
(const :tag "Unlimited" nil))
:version "22.1")
-(defcustom gdb-non-stop-setting (not (eq system-type 'windows-nt))
+;; This is disabled by default because we don't really support
+;; asynchronous execution of the debuggee; see bug#63084. FIXME.
+(defcustom gdb-non-stop-setting nil
"If non-nil, GDB sessions are expected to support the non-stop mode.
When in the non-stop mode, stopped threads can be examined while
other threads continue to execute.
@@ -468,7 +470,7 @@ don't support the non-stop mode.
GDB session needs to be restarted for this setting to take effect."
:type 'boolean
:group 'gdb-non-stop
- :version "26.1")
+ :version "29.1")
(defcustom gdb-debuginfod-enable-setting
;; debuginfod servers are only for ELF executables, and elfutils, of
@@ -2406,7 +2408,7 @@ a GDB/MI reply message."
("+" . ())
("=" . (("thread-created" . (gdb-thread-created . atomic))
("thread-selected" . (gdb-thread-selected . atomic))
- ("thread-existed" . (gdb-ignored-notification . atomic))
+ ("thread-exited" . (gdb-thread-exited . atomic))
('default . (gdb-ignored-notification . atomic)))))
"Alist of alists, mapping the type and class of message to a handler function.
Handler functions are all flagged as either `progressive' or `atomic'.
@@ -3244,7 +3246,8 @@ Place breakpoint icon in its buffer."
(if (re-search-forward gdb-source-file-regexp nil t)
(progn
(setq source-file (gdb-mi--c-string-from-string (match-string 1)))
- (delete (cons bptno "File not found") gdb-location-alist)
+ (setq gdb-location-alist
+ (delete (cons bptno "File not found") gdb-location-alist))
(push (cons bptno source-file) gdb-location-alist))
(gdb-resync)
(unless (assoc bptno gdb-location-alist)
diff --git a/lisp/progmodes/go-ts-mode.el b/lisp/progmodes/go-ts-mode.el
index fda6a36e42d..46b631e5af2 100644
--- a/lisp/progmodes/go-ts-mode.el
+++ b/lisp/progmodes/go-ts-mode.el
@@ -59,6 +59,7 @@
(modify-syntax-entry ?< "." table)
(modify-syntax-entry ?> "." table)
(modify-syntax-entry ?\\ "\\" table)
+ (modify-syntax-entry ?\' "\"" table)
(modify-syntax-entry ?/ ". 124b" table)
(modify-syntax-entry ?* ". 23" table)
(modify-syntax-entry ?\n "> b" table)
@@ -79,6 +80,7 @@
((parent-is "const_declaration") parent-bol go-ts-mode-indent-offset)
((parent-is "default_case") parent-bol go-ts-mode-indent-offset)
((parent-is "expression_case") parent-bol go-ts-mode-indent-offset)
+ ((parent-is "selector_expression") parent-bol go-ts-mode-indent-offset)
((parent-is "expression_switch_statement") parent-bol 0)
((parent-is "field_declaration_list") parent-bol go-ts-mode-indent-offset)
((parent-is "import_spec_list") parent-bol go-ts-mode-indent-offset)
@@ -106,6 +108,11 @@
">>" "%=" ">>=" "--" "!" "..." "&^" "&^=" "~")
"Go operators for tree-sitter font-locking.")
+(defun go-ts-mode--iota-query-supported-p ()
+ "Return t if the iota query is supported by the tree-sitter-go grammar."
+ (ignore-errors
+ (or (treesit-query-string "" '((iota) @font-lock-constant-face) 'go) t)))
+
(defvar go-ts-mode--font-lock-settings
(treesit-font-lock-rules
:language 'go
@@ -118,7 +125,9 @@
:language 'go
:feature 'constant
- '([(false) (iota) (nil) (true)] @font-lock-constant-face
+ `([(false) (nil) (true)] @font-lock-constant-face
+ ,@(when (go-ts-mode--iota-query-supported-p)
+ '((iota) @font-lock-constant-face))
(const_declaration
(const_spec name: (identifier) @font-lock-constant-face)))
@@ -296,7 +305,7 @@ Methods are prefixed with the receiver name, unless SKIP-PREFIX is t."
(treesit-search-subtree node "type_alias" nil nil 1)))
(defun go-ts-mode--other-type-node-p (node)
- "Return t if NODE is a type, other than interface, struct or alias."
+ "Return t if NODE is a type other than interface, struct, or alias."
(and
(string-equal "type_declaration" (treesit-node-type node))
(not (go-ts-mode--interface-node-p node))
@@ -351,7 +360,7 @@ comment already exists, jump to it."
"Tree-sitter indent rules for `go-mod-ts-mode'.")
(defun go-mod-ts-mode--in-directive-p ()
- "Return non-nil if inside a directive.
+ "Return non-nil if point is inside a directive.
When entering an empty directive or adding a new entry to one, no node
will be present meaning none of the indentation rules will match,
because there is no parent to match against. This function determines
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index d5c8e37a37b..2b178e50684 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3150,7 +3150,7 @@ Obeying it means displaying in another window the specified file and line."
(defun gud-basic-call (command)
"Invoke the debugger COMMAND displaying source in other window."
- (interactive)
+ (interactive "sInvoke debugger command: ")
(gud-set-buffer)
(let ((proc (get-buffer-process gud-comint-buffer)))
(or proc (error "Current buffer has no process"))
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 0b5ed93068a..488e6aa3d2d 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -3891,7 +3891,7 @@ you specify /."
(while (and item)
;;
;; Call etags
- (if (not (string-match "^[ \\t]*$" item))
+ (if (not (string-match "^[ \t]*$" item))
(progn
(message "%s" (concat "Tagging " item "..."))
(setq errbuf (get-buffer-create "*idltags-error*"))
@@ -4653,7 +4653,7 @@ Gets set in cached XML rinfo, or `idlw-rinfo.el'.")
(setcar alias (car x))
(push alias idlwave-system-routines)))
(cl-loop for x in remove-list do
- (delq x idlwave-system-routines))))
+ (setq idlwave-system-routines (delq x idlwave-system-routines)))))
(defun idlwave-convert-xml-clean-sysvar-aliases (aliases)
;; Duplicate and trim original routine aliases from rinfo list
@@ -4666,7 +4666,8 @@ Gets set in cached XML rinfo, or `idlw-rinfo.el'.")
(setcar alias (car x))
(push alias idlwave-system-variables-alist)))
(cl-loop for x in remove-list do
- (delq x idlwave-system-variables-alist))))
+ (setq idlwave-system-variables-alist
+ (delq x idlwave-system-variables-alist)))))
(defun idlwave-xml-create-sysvar-alist (xml-entry)
diff --git a/lisp/progmodes/java-ts-mode.el b/lisp/progmodes/java-ts-mode.el
index 47d87112ffb..121c8550be0 100644
--- a/lisp/progmodes/java-ts-mode.el
+++ b/lisp/progmodes/java-ts-mode.el
@@ -168,7 +168,7 @@ the available version of Tree-sitter for java."
:override t
:feature 'constant
`(((identifier) @font-lock-constant-face
- (:match "^[A-Z_][A-Z_\\d]*$" @font-lock-constant-face))
+ (:match "\\`[A-Z_][0-9A-Z_]*\\'" @font-lock-constant-face))
[(true) (false)] @font-lock-constant-face)
:language 'java
:override t
@@ -226,6 +226,9 @@ the available version of Tree-sitter for java."
(constructor_declaration
name: (identifier) @font-lock-type-face)
+ (compact_constructor_declaration
+ name: (identifier) @font-lock-type-face)
+
(field_access
object: (identifier) @font-lock-type-face)
@@ -234,7 +237,7 @@ the available version of Tree-sitter for java."
(scoped_identifier (identifier) @font-lock-constant-face)
((scoped_identifier name: (identifier) @font-lock-type-face)
- (:match "^[A-Z]" @font-lock-type-face))
+ (:match "\\`[A-Z]" @font-lock-type-face))
(type_identifier) @font-lock-type-face
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index f68ecb6fa6c..de1a820ba11 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -106,7 +106,7 @@ name.")
(defconst js--plain-method-re
(concat "^\\s-*?\\(" js--dotted-name-re "\\)\\.prototype"
- "\\.\\(" js--name-re "\\)\\s-*?=\\s-*?\\(\\(:?async[ \t\n]+\\)function\\)\\_>")
+ "\\.\\(" js--name-re "\\)\\s-*?=\\s-*?\\(\\(?:async[ \t\n]+\\)function\\)\\_>")
"Regexp matching an explicit JavaScript prototype \"method\" declaration.
Group 1 is a (possibly-dotted) class name, group 2 is a method name,
and group 3 is the `function' keyword.")
@@ -1024,38 +1024,45 @@ Return the pitem of the function we went to the beginning of."
"Helper function for `js-beginning-of-defun'."
(let ((pstate (js--beginning-of-defun-raw)))
(when pstate
- (goto-char (js--pitem-h-begin (car pstate))))))
+ (goto-char (js--pitem-h-begin (car pstate)))
+ t)))
(defun js-beginning-of-defun (&optional arg)
"Value of `beginning-of-defun-function' for `js-mode'."
(setq arg (or arg 1))
- (while (and (not (eobp)) (< arg 0))
- (cl-incf arg)
- (when (and (not js-flat-functions)
- (or (eq (js-syntactic-context) 'function)
- (js--function-prologue-beginning)))
- (js-end-of-defun))
-
- (if (js--re-search-forward
- "\\_<function\\_>" nil t)
- (goto-char (js--function-prologue-beginning))
- (goto-char (point-max))))
+ (let ((found))
+ (while (and (not (eobp)) (< arg 0))
+ (cl-incf arg)
+ (when (and (not js-flat-functions)
+ (or (eq (js-syntactic-context) 'function)
+ (js--function-prologue-beginning)))
+ (js-end-of-defun))
+
+ (if (js--re-search-forward
+ "\\_<function\\_>" nil t)
+ (progn (goto-char (js--function-prologue-beginning))
+ (setq found t))
+ (goto-char (point-max))
+ (setq found nil)))
+
+ (while (> arg 0)
+ (cl-decf arg)
+ ;; If we're just past the end of a function, the user probably wants
+ ;; to go to the beginning of *that* function
+ (when (eq (char-before) ?})
+ (backward-char))
- (while (> arg 0)
- (cl-decf arg)
- ;; If we're just past the end of a function, the user probably wants
- ;; to go to the beginning of *that* function
- (when (eq (char-before) ?})
- (backward-char))
-
- (let ((prologue-begin (js--function-prologue-beginning)))
- (cond ((and prologue-begin (< prologue-begin (point)))
- (goto-char prologue-begin))
+ (let ((prologue-begin (js--function-prologue-beginning)))
+ (cond ((and prologue-begin (< prologue-begin (point)))
+ (goto-char prologue-begin)
+ (setq found t))
- (js-flat-functions
- (js--beginning-of-defun-flat))
- (t
- (js--beginning-of-defun-nested))))))
+ (js-flat-functions
+ (setq found (js--beginning-of-defun-flat)))
+ (t
+ (when (js--beginning-of-defun-nested)
+ (setq found t))))))
+ found))
(defun js--flush-caches (&optional beg _ignored)
"Flush the `js-mode' syntax cache after position BEG.
@@ -3493,7 +3500,7 @@ This function is intended for use in `after-change-functions'."
:language 'javascript
:feature 'constant
'(((identifier) @font-lock-constant-face
- (:match "^[A-Z_][A-Z_\\d]*$" @font-lock-constant-face))
+ (:match "\\`[A-Z_][0-9A-Z_]*\\'" @font-lock-constant-face))
[(true) (false) (null)] @font-lock-constant-face)
@@ -3612,7 +3619,7 @@ This function is intended for use in `after-change-functions'."
:feature 'number
'((number) @font-lock-number-face
((identifier) @font-lock-number-face
- (:match "^\\(:?NaN\\|Infinity\\)$" @font-lock-number-face)))
+ (:match "\\`\\(?:NaN\\|Infinity\\)\\'" @font-lock-number-face)))
:language 'javascript
:feature 'operator
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 04071703184..a434c7e9058 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -36,6 +36,7 @@
(declare-function treesit-available-p "treesit.c")
(declare-function treesit-parser-list "treesit.c")
(declare-function treesit-node-type "treesit.c")
+(declare-function treesit-node-at "treesit.c")
(defgroup prog-mode nil
"Generic programming mode, from which others derive."
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 04c67710d71..56c524bcab5 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -412,8 +412,8 @@ the buffer's value of `default-directory'."
(defcustom project-vc-ignores nil
"List of patterns to add to `project-ignores'."
- :type '(repeat string)
- :safe #'listp)
+ :type '(repeat string))
+;;;###autoload(put 'project-vc-ignores 'safe-local-variable #'listp)
(defcustom project-vc-merge-submodules t
"Non-nil to consider submodules part of the parent project.
@@ -422,14 +422,14 @@ After changing this variable (using Customize or .dir-locals.el)
you might have to restart Emacs to see the effect."
:type 'boolean
:version "28.1"
- :package-version '(project . "0.2.0")
- :safe #'booleanp)
+ :package-version '(project . "0.2.0"))
+;;;###autoload(put 'project-vc-merge-submodules 'safe-local-variable #'booleanp)
(defcustom project-vc-include-untracked t
"When non-nil, the VC-aware project backend includes untracked files."
:type 'boolean
- :version "29.1"
- :safe #'booleanp)
+ :version "29.1")
+;;;###autoload(put 'project-vc-include-untracked 'safe-local-variable #'booleanp)
(defcustom project-vc-name nil
"When non-nil, the name of the current VC-aware project.
@@ -439,8 +439,8 @@ its name, is by setting this in .dir-locals.el."
:type '(choice (const :tag "Default to the base name" nil)
(string :tag "Custom name"))
:version "29.1"
- :package-version '(project . "0.9.0")
- :safe #'stringp)
+ :package-version '(project . "0.9.0"))
+;;;###autoload(put 'project-vc-name 'safe-local-variable #'stringp)
;; Not using regexps because these wouldn't work in Git pathspecs, in
;; case we decide we need to be able to list nested projects.
@@ -467,8 +467,8 @@ In either case, their behavior will still obey the relevant
variables, such as `project-vc-ignores' or `project-vc-name'."
:type '(repeat string)
:version "29.1"
- :package-version '(project . "0.9.0")
- :safe (lambda (val) (and (listp val) (cl-every #'stringp val))))
+ :package-version '(project . "0.9.0"))
+;;;###autoload(put 'project-vc-extra-root-markers 'safe-local-variable (lambda (val) (and (listp val) (not (memq nil (mapcar #'stringp val))))))
;; FIXME: Using the current approach, major modes are supposed to set
;; this variable to a buffer-local value. So we don't have access to
@@ -816,8 +816,8 @@ DIRS must contain directory names."
(push buf bufs)))
(nreverse bufs)))
-(cl-defmethod project-name ((_project (head vc)))
- (or project-vc-name
+(cl-defmethod project-name ((project (head vc)))
+ (or (project--value-in-dir 'project-vc-name (project-root project))
(cl-call-next-method)))
@@ -1327,13 +1327,23 @@ general form of conditions."
(and (memq (cdr buffer) buffers)
(not
(project--buffer-check
- (cdr buffer) project-ignore-buffer-conditions))))))
- (read-buffer
- "Switch to buffer: "
- (when (funcall predicate (cons other-name other-buffer))
- other-name)
- nil
- predicate)))
+ (cdr buffer) project-ignore-buffer-conditions)))))
+ (buffer (read-buffer
+ "Switch to buffer: "
+ (when (funcall predicate (cons other-name other-buffer))
+ other-name)
+ nil
+ predicate)))
+ ;; XXX: This check hardcodes the default buffer-belonging relation
+ ;; which `project-buffers' is allowed to override. Straighten
+ ;; this up sometime later. Or not. Since we can add a method
+ ;; `project-contains-buffer-p', but a separate method to create a
+ ;; new project buffer seems too much.
+ (if (or (get-buffer buffer)
+ (file-in-directory-p default-directory (project-root pr)))
+ buffer
+ (let ((default-directory (project-root pr)))
+ (get-buffer-create buffer)))))
;;;###autoload
(defun project-switch-to-buffer (buffer-or-name)
@@ -1466,8 +1476,8 @@ Used by `project-kill-buffers'."
:type 'boolean
:version "29.1"
:group 'project
- :package-version '(project . "0.8.2")
- :safe #'booleanp)
+ :package-version '(project . "0.8.2"))
+;;;###autoload(put 'project-kill-buffers-display-buffer-list 'safe-local-variable #'booleanp)
(defun project--buffer-check (buf conditions)
"Check if buffer BUF matches any element of the list CONDITIONS.
@@ -1798,11 +1808,12 @@ invoked immediately without any dispatch menu."
(symbol :tag "Single command")))
(defcustom project-switch-use-entire-map nil
- "Make `project-switch-project' use entire `project-prefix-map'.
+ "Whether `project-switch-project' will use the entire `project-prefix-map'.
If nil, `project-switch-project' will only recognize commands
-listed in `project-switch-commands' and signal an error when
-others are invoked. Otherwise, all keys in `project-prefix-map'
-are legal even if they aren't listed in the dispatch menu."
+listed in `project-switch-commands', and will signal an error
+when other commands are invoked. If this is non-nil, all the
+keys in `project-prefix-map' are valid even if they aren't
+listed in the dispatch menu produced from `project-switch-commands'."
:type 'boolean
:group 'project
:version "28.1")
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index bbabce80b4d..50d712ebb0c 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -415,7 +415,6 @@ instead."
"Python mode specialized rx macro.
This variant of `rx' supports common Python named REGEXPS."
`(rx-let ((sp-bsnl (or space (and ?\\ ?\n)))
- (sp-nl (or space (and (? ?\\) ?\n)))
(block-start (seq symbol-start
(or "def" "class" "if" "elif" "else" "try"
"except" "finally" "for" "while" "with"
@@ -650,9 +649,9 @@ the {...} holes that appear within f-strings."
finally return (and result-valid result))))
(defvar python-font-lock-keywords-level-1
- `((,(python-rx symbol-start "def" (1+ sp-bsnl) (group symbol-name))
+ `((,(python-rx symbol-start "def" (1+ space) (group symbol-name))
(1 font-lock-function-name-face))
- (,(python-rx symbol-start "class" (1+ sp-bsnl) (group symbol-name))
+ (,(python-rx symbol-start "class" (1+ space) (group symbol-name))
(1 font-lock-type-face)))
"Font lock keywords to use in `python-mode' for level 1 decoration.
@@ -792,12 +791,12 @@ sign in chained assignment."
;; [*a] = 5, 6
;; are handled separately below
(,(python-font-lock-assignment-matcher
- (python-rx (? (or "[" "(") (* sp-nl))
- grouped-assignment-target (* sp-nl) ?, (* sp-nl)
- (* assignment-target (* sp-nl) ?, (* sp-nl))
- (? assignment-target (* sp-nl))
- (? ?, (* sp-nl))
- (? (or ")" "]") (* sp-bsnl))
+ (python-rx (? (or "[" "(") (* space))
+ grouped-assignment-target (* space) ?, (* space)
+ (* assignment-target (* space) ?, (* space))
+ (? assignment-target (* space))
+ (? ?, (* space))
+ (? (or ")" "]") (* space))
(group assignment-operator)))
(1 font-lock-variable-name-face)
(2 'font-lock-operator-face)
@@ -813,9 +812,9 @@ sign in chained assignment."
;; c: Collection = {1, 2, 3}
;; d: Mapping[int, str] = {1: 'bar', 2: 'baz'}
(,(python-font-lock-assignment-matcher
- (python-rx (or line-start ?\;) (* sp-bsnl)
- grouped-assignment-target (* sp-bsnl)
- (? ?: (* sp-bsnl) (+ not-simple-operator) (* sp-bsnl))
+ (python-rx (or line-start ?\;) (* space)
+ grouped-assignment-target (* space)
+ (? ?: (* space) (+ not-simple-operator) (* space))
(group assignment-operator)))
(1 font-lock-variable-name-face)
(2 'font-lock-operator-face))
@@ -824,10 +823,10 @@ sign in chained assignment."
;; [a] = 5,
;; [*a] = 5, 6
(,(python-font-lock-assignment-matcher
- (python-rx (or line-start ?\; ?=) (* sp-bsnl)
- (or "[" "(") (* sp-nl)
- grouped-assignment-target (* sp-nl)
- (or ")" "]") (* sp-bsnl)
+ (python-rx (or line-start ?\; ?=) (* space)
+ (or "[" "(") (* space)
+ grouped-assignment-target (* space)
+ (or ")" "]") (* space)
(group assignment-operator)))
(1 font-lock-variable-name-face)
(2 'font-lock-operator-face))
@@ -869,18 +868,6 @@ decorators, exceptions, and assignments.")
Which one will be chosen depends on the value of
`font-lock-maximum-decoration'.")
-(defun python-font-lock-extend-region (beg end _old-len)
- "Extend font-lock region given by BEG and END to statement boundaries."
- (save-excursion
- (save-match-data
- (goto-char beg)
- (python-nav-beginning-of-statement)
- (setq beg (point))
- (goto-char end)
- (python-nav-end-of-statement)
- (setq end (point))
- (cons beg end))))
-
(defconst python-syntax-propertize-function
(syntax-propertize-rules
@@ -1119,7 +1106,7 @@ fontified."
:language 'python
`([,@python--treesit-keywords] @font-lock-keyword-face
((identifier) @font-lock-keyword-face
- (:match "^self$" @font-lock-keyword-face)))
+ (:match "\\`self\\'" @font-lock-keyword-face)))
:feature 'definition
:language 'python
@@ -1265,11 +1252,59 @@ For NODE, OVERRIDE, START, END, and ARGS, see
:type '(repeat symbol))
(defcustom python-indent-def-block-scale 2
- "Multiplier applied to indentation inside multi-line def blocks."
+ "Multiplier applied to indentation inside multi-line blocks.
+The indentation in parens in the block header will be the current
+indentation plus `python-indent-offset' multiplied by this
+variable. For example, the arguments are indented as follows if
+this variable is 1:
+
+ def do_something(
+ arg1,
+ arg2):
+ print('hello')
+
+if this variable is 2 (default):
+
+ def do_something(
+ arg1,
+ arg2):
+ print('hello')
+
+This variable has an effect on all blocks, not just def block.
+This variable only works if the opening paren is not followed by
+non-whitespace characters on the same line. Modify
+`python-indent-block-paren-deeper' to customize the case where
+non-whitespace characters follow the opening paren on the same
+line."
:version "26.1"
:type 'integer
:safe 'natnump)
+(defcustom python-indent-block-paren-deeper nil
+ "Increase indentation inside parens of a block.
+If non-nil, increase the indentation of the lines inside parens
+in a header of a block when they are indented to the same level
+as the body of the block:
+
+ if (some_expression
+ and another_expression):
+ do_something()
+
+instead of:
+
+ if (some_expression
+ and another_expression):
+ do_something()
+
+This variable only works if the opening paren is followed by
+non-whitespace characters on the same line. Modify
+`python-indent-def-block-scale' to customize the case where
+non-whitespace character does not follow the opening paren on the
+same line."
+ :version "30.1"
+ :type 'boolean
+ :safe 'booleanp)
+
(defvar python-indent-current-level 0
"Deprecated var available for compatibility.")
@@ -1367,6 +1402,14 @@ keyword
- Point is inside a paren with items starting in their own line
from a block start.
- START is the position of the open paren.
+:inside-paren-from-block
+ - Point is inside a paren from a block start followed by some
+ items on the same line.
+ - START is the first non space char position *after* the open paren.
+:inside-paren-continuation-line
+ - Point is on a continuation line inside a paren.
+ - START is the position where the previous line (excluding lines
+ for inner parens) starts.
:after-backslash
- Fallback case when point is after backslash.
@@ -1421,7 +1464,21 @@ keyword
(= (line-number-at-pos)
(progn
(python-util-forward-comment)
- (line-number-at-pos))))))))
+ (line-number-at-pos)))))))
+ (continuation-start
+ (when start
+ (save-excursion
+ (forward-line -1)
+ (back-to-indentation)
+ ;; Skip inner parens.
+ (cl-loop with prev-start = (python-syntax-context 'paren)
+ while (and prev-start (>= prev-start start))
+ if (= prev-start start)
+ return (point)
+ else do (goto-char prev-start)
+ (back-to-indentation)
+ (setq prev-start
+ (python-syntax-context 'paren)))))))
(when start
(cond
;; Current line only holds the closing paren.
@@ -1437,6 +1494,9 @@ keyword
(back-to-indentation)
(python-syntax-closing-paren-p))
(cons :inside-paren-at-closing-nested-paren start))
+ ;; This line is a continuation of the previous line.
+ (continuation-start
+ (cons :inside-paren-continuation-line continuation-start))
;; This line starts from an opening block in its own line.
((save-excursion
(goto-char start)
@@ -1450,12 +1510,16 @@ keyword
(starts-in-newline
(cons :inside-paren-newline-start start))
;; General case.
- (t (cons :inside-paren
- (save-excursion
- (goto-char (1+ start))
- (skip-syntax-forward "(" 1)
- (skip-syntax-forward " ")
- (point))))))))
+ (t (let ((after-start (save-excursion
+ (goto-char (1+ start))
+ (skip-syntax-forward "(" 1)
+ (skip-syntax-forward " ")
+ (point))))
+ (if (save-excursion
+ (python-nav-beginning-of-statement)
+ (python-info-looking-at-beginning-of-block))
+ (cons :inside-paren-from-block after-start)
+ (cons :inside-paren after-start))))))))
;; After backslash.
((let ((start (when (not (python-syntax-comment-or-string-p ppss))
(python-info-line-ends-backslash-p
@@ -1548,7 +1612,8 @@ possibilities can be narrowed to specific indentation points."
(`(,(or :after-line
:after-comment
:inside-string
- :after-backslash) . ,start)
+ :after-backslash
+ :inside-paren-continuation-line) . ,start)
;; Copy previous indentation.
(goto-char start)
(current-indentation))
@@ -1603,7 +1668,17 @@ possibilities can be narrowed to specific indentation points."
(`(,(or :inside-paren-newline-start-from-block) . ,start)
(goto-char start)
(+ (current-indentation)
- (* python-indent-offset python-indent-def-block-scale))))))
+ (* python-indent-offset python-indent-def-block-scale)))
+ (`(,:inside-paren-from-block . ,start)
+ (goto-char start)
+ (let ((column (current-column)))
+ (if (and python-indent-block-paren-deeper
+ (= column (+ (save-excursion
+ (python-nav-beginning-of-statement)
+ (current-indentation))
+ python-indent-offset)))
+ (+ column python-indent-offset)
+ column))))))
(defun python-indent--calculate-levels (indentation)
"Calculate levels list given INDENTATION.
@@ -2654,8 +2729,7 @@ dedicated to the current buffer or its project (if one is found)."
(defmacro python-shell--add-to-path-with-priority (pathvar paths)
"Modify PATHVAR and ensure PATHS are added only once at beginning."
`(dolist (path (reverse ,paths))
- (cl-delete path ,pathvar :test #'string=)
- (cl-pushnew path ,pathvar :test #'string=)))
+ (setq ,pathvar (cons path (cl-delete path ,pathvar :test #'string=)))))
(defun python-shell-calculate-pythonpath ()
"Calculate the PYTHONPATH using `python-shell-extra-pythonpaths'."
@@ -4964,11 +5038,6 @@ the if condition."
(not (python-syntax-comment-or-string-p))
python-skeleton-autoinsert)))
-(defun python--completion-predicate (_ buffer)
- (provided-mode-derived-p
- (buffer-local-value 'major-mode buffer)
- 'python-mode))
-
(defmacro python-skeleton-define (name doc &rest skel)
"Define a `python-mode' skeleton using NAME DOC and SKEL.
The skeleton will be bound to python-skeleton-NAME and will
@@ -4977,7 +5046,7 @@ be added to `python-mode-skeleton-abbrev-table'."
(let* ((name (symbol-name name))
(function-name (intern (concat "python-skeleton-" name))))
`(progn
- (put ',function-name 'completion-predicate #'python--completion-predicate)
+ (function-put ',function-name 'command-modes '(python-base-mode))
(define-abbrev python-mode-skeleton-abbrev-table
,name "" ',function-name :system t)
(setq python-skeleton-available
@@ -5004,7 +5073,7 @@ The skeleton will be bound to python-skeleton-NAME."
`(< ,(format "%s:" name) \n \n
> _ \n)))
`(progn
- (put ',function-name 'completion-predicate #'ignore)
+ (function-put ',function-name 'completion-predicate #'ignore)
(define-skeleton ,function-name
,(or doc
(format "Auxiliary skeleton for %s statement." name))
@@ -6018,8 +6087,7 @@ point's current `syntax-ppss'."
(let ((counter 1)
(indentation (current-indentation))
(backward-sexp-point)
- (re (concat "[uU]?[rR]?"
- (python-rx string-delimiter))))
+ (re "[uU]?[rR]?[\"']"))
(when (and
(not (python-info-assignment-statement-p))
(looking-at-p re)
@@ -6040,9 +6108,7 @@ point's current `syntax-ppss'."
backward-sexp-point))
(setq last-backward-sexp-point
backward-sexp-point))
- (looking-at-p
- (concat "[uU]?[rR]?"
- (python-rx string-delimiter))))))
+ (looking-at-p re))))
;; Previous sexp was a string, restore point.
(goto-char backward-sexp-point)
(cl-incf counter))
@@ -6110,7 +6176,8 @@ Optional argument REGEXP selects variables to clone and defaults
to \"^python-\"."
(mapc
(lambda (pair)
- (and (symbolp (car pair))
+ (and (consp pair)
+ (symbolp (car pair))
(string-match (or regexp "^python-")
(symbol-name (car pair)))
(set (make-local-variable (car pair))
@@ -6694,8 +6761,6 @@ implementations: `python-mode' and `python-ts-mode'."
(setq-local prettify-symbols-alist python-prettify-symbols-alist)
- (python-skeleton-add-menu-items)
-
(make-local-variable 'python-shell-internal-buffer)
(add-hook 'flymake-diagnostic-functions #'python-flymake nil t))
@@ -6709,9 +6774,7 @@ implementations: `python-mode' and `python-ts-mode'."
`(,python-font-lock-keywords
nil nil nil nil
(font-lock-syntactic-face-function
- . python-font-lock-syntactic-face-function)
- (font-lock-extend-after-change-region-function
- . python-font-lock-extend-region)))
+ . python-font-lock-syntactic-face-function)))
(setq-local syntax-propertize-function
python-syntax-propertize-function)
(setq-local imenu-create-index-function
@@ -6719,6 +6782,8 @@ implementations: `python-mode' and `python-ts-mode'."
(add-hook 'which-func-functions #'python-info-current-defun nil t)
+ (python-skeleton-add-menu-items)
+
(when python-indent-guess-indent-offset
(python-indent-guess-indent-offset)))
@@ -6745,6 +6810,8 @@ implementations: `python-mode' and `python-ts-mode'."
#'python--treesit-defun-name)
(treesit-major-mode-setup)
+ (python-skeleton-add-menu-items)
+
(when python-indent-guess-indent-offset
(python-indent-guess-indent-offset))
@@ -6752,7 +6819,7 @@ implementations: `python-mode' and `python-ts-mode'."
(add-to-list 'interpreter-mode-alist '("python[0-9.]*" . python-ts-mode))))
;;; Completion predicates for M-x
-;; Commands that only make sense when editing Python code
+;; Commands that only make sense when editing Python code.
(dolist (sym '(python-add-import
python-check
python-fill-paragraph
@@ -6786,12 +6853,7 @@ implementations: `python-mode' and `python-ts-mode'."
python-shell-send-defun
python-shell-send-statement
python-sort-imports))
- (put sym 'completion-predicate #'python--completion-predicate))
-
-(defun python-shell--completion-predicate (_ buffer)
- (provided-mode-derived-p
- (buffer-local-value 'major-mode buffer)
- 'python-mode 'inferior-python-mode))
+ (function-put sym 'command-modes '(python-base-mode)))
;; Commands that only make sense in the Python shell or when editing
;; Python code.
@@ -6806,8 +6868,8 @@ implementations: `python-mode' and `python-ts-mode'."
python-shell-font-lock-turn-off
python-shell-font-lock-turn-on
python-shell-package-enable
- python-shell-completion-complete-or-indent ))
- (put sym 'completion-predicate #'python-shell--completion-predicate))
+ python-shell-completion-complete-or-indent))
+ (function-put sym 'command-modes '(python-base-mode inferior-python-mode)))
(provide 'python)
diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el
index 7a00977f14a..adbf18786cb 100644
--- a/lisp/progmodes/ruby-ts-mode.el
+++ b/lisp/progmodes/ruby-ts-mode.el
@@ -1021,7 +1021,7 @@ leading double colon is not added."
(:match "\\`\\$[#\"'`:?]" @global_var))
;; ?' ?" ?` are character literals.
((character) @char
- (:match "\\`?[#\"'`:?]" @char))
+ (:match "\\`\\?[#\"'`:?]" @char))
;; Symbols like :+, :<=> or :foo=.
((simple_symbol) @symbol
(:match "\\s." @symbol))
diff --git a/lisp/progmodes/rust-ts-mode.el b/lisp/progmodes/rust-ts-mode.el
index be06acde3e3..999c1d7ae96 100644
--- a/lisp/progmodes/rust-ts-mode.el
+++ b/lisp/progmodes/rust-ts-mode.el
@@ -143,7 +143,7 @@
eol))
@font-lock-builtin-face)))
((identifier) @font-lock-type-face
- (:match "^\\(:?Err\\|Ok\\|None\\|Some\\)$" @font-lock-type-face)))
+ (:match "\\`\\(?:Err\\|Ok\\|None\\|Some\\)\\'" @font-lock-type-face)))
:language 'rust
:feature 'comment
@@ -212,11 +212,11 @@
(scoped_use_list path: (scoped_identifier
name: (identifier) @font-lock-constant-face))
((use_as_clause alias: (identifier) @font-lock-type-face)
- (:match "^[A-Z]" @font-lock-type-face))
+ (:match "\\`[A-Z]" @font-lock-type-face))
((use_as_clause path: (identifier) @font-lock-type-face)
- (:match "^[A-Z]" @font-lock-type-face))
+ (:match "\\`[A-Z]" @font-lock-type-face))
((use_list (identifier) @font-lock-type-face)
- (:match "^[A-Z]" @font-lock-type-face))
+ (:match "\\`[A-Z]" @font-lock-type-face))
(use_wildcard [(identifier) @rust-ts-mode--fontify-scope
(scoped_identifier
name: (identifier) @rust-ts-mode--fontify-scope)])
@@ -232,9 +232,12 @@
(type_identifier) @font-lock-type-face
((scoped_identifier name: (identifier) @rust-ts-mode--fontify-tail))
((scoped_identifier path: (identifier) @font-lock-type-face)
- (:match
- "^\\(u8\\|u16\\|u32\\|u64\\|u128\\|usize\\|i8\\|i16\\|i32\\|i64\\|i128\\|isize\\|char\\|str\\)$"
- @font-lock-type-face))
+ (:match ,(rx bos
+ (or "u8" "u16" "u32" "u64" "u128" "usize"
+ "i8" "i16" "i32" "i64" "i128" "isize"
+ "char" "str")
+ eos)
+ @font-lock-type-face))
((scoped_identifier path: (identifier) @rust-ts-mode--fontify-scope))
((scoped_type_identifier path: (identifier) @rust-ts-mode--fontify-scope))
(type_identifier) @font-lock-type-face)
@@ -249,7 +252,7 @@
:feature 'constant
`((boolean_literal) @font-lock-constant-face
((identifier) @font-lock-constant-face
- (:match "^[A-Z][A-Z\\d_]*$" @font-lock-constant-face)))
+ (:match "\\`[A-Z][0-9A-Z_]*\\'" @font-lock-constant-face)))
:language 'rust
:feature 'variable
@@ -350,7 +353,12 @@ Return nil if there is no name or if NODE is not a defun node."
(treesit-node-child-by-field-name node "name") t))))
(defun rust-ts-mode--syntax-propertize (beg end)
- "Apply syntax text property to template delimiters between BEG and END.
+ "Apply syntax properties to special characters between BEG and END.
+
+Apply syntax properties to various special characters with
+contextual meaning between BEG and END.
+
+The apostrophe \\=' should be treated as string when used for char literals.
< and > are usually punctuation, e.g., as greater/less-than. But
when used for types, they should be considered pairs.
@@ -359,11 +367,18 @@ This function checks for < and > in the changed RANGES and apply
appropriate text property to alter the syntax of template
delimiters < and >'s."
(goto-char beg)
+ (while (search-forward "'" end t)
+ (when (string-equal "char_literal"
+ (treesit-node-type
+ (treesit-node-at (match-beginning 0))))
+ (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-table (string-to-syntax "\""))))
+ (goto-char beg)
(while (re-search-forward (rx (or "<" ">")) end t)
(pcase (treesit-node-type
(treesit-node-parent
(treesit-node-at (match-beginning 0))))
- ("type_arguments"
+ ((or "type_arguments" "type_parameters")
(put-text-property (match-beginning 0)
(match-end 0)
'syntax-table
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index 38cb19f5a12..e6fcc684729 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -155,7 +155,7 @@
,(rx bol (zero-or-more space)
"(define-module"
(one-or-more space)
- (group "(" (one-or-more any) ")"))
+ (group "(" (one-or-more nonl) ")"))
1)
("Macros"
,(rx bol (zero-or-more space) "("
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 0cde1f387e0..cfc10878922 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -864,10 +864,13 @@ See `sh-feature'.")
("\\${?\\([[:alpha:]_][[:alnum:]_]*\\|[0-9]+\\|[$*_]\\)" 1
font-lock-variable-name-face))
(rpm sh-append rpm2
- ("%{?\\(\\sw+\\)" 1 font-lock-keyword-face))
+ ("^\\s-*%\\(\\sw+\\)" 1 font-lock-keyword-face)
+ ("%{?\\([!?]*[[:alpha:]_][[:alnum:]_]*\\|[0-9]+\\|[%*#]\\*?\\|!?-[[:alpha:]]\\*?\\)"
+ 1 font-lock-variable-name-face))
(rpm2 sh-append shell
("^Summary:\\(.*\\)$" (1 font-lock-doc-face t))
- ("^\\(\\sw+\\):" 1 font-lock-variable-name-face)))
+ ("^\\(\\sw+\\)\\((\\(\\sw+\\))\\)?:" (1 font-lock-variable-name-face)
+ (3 font-lock-string-face nil t))))
"Default expressions to highlight in Shell Script modes. See `sh-feature'.")
(defvar sh-font-lock-keywords-var-1
@@ -1489,6 +1492,7 @@ Return the name of the shell suitable for `sh-set-shell'."
((string-match "[.]t?csh\\(rc\\)?\\>" buffer-file-name) "csh")
((string-match "[.]zsh\\(rc\\|env\\)?\\>" buffer-file-name) "zsh")
((equal (file-name-nondirectory buffer-file-name) ".profile") "sh")
+ ((equal (file-name-nondirectory buffer-file-name) "PKGBUILD") "bash")
(t sh-shell-file)))
;;;###autoload
@@ -3374,7 +3378,7 @@ See `sh-mode--treesit-other-keywords' and
:feature 'number
:language 'bash
`(((word) @font-lock-number-face
- (:match "^[0-9]+$" @font-lock-number-face)))
+ (:match "\\`[0-9]+\\'" @font-lock-number-face)))
:feature 'bracket
:language 'bash
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index d8bd6bc2685..c6667c075f6 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -2192,14 +2192,17 @@ to add functions and PL/SQL keywords.")
;; Postgres Data Types
(sql-font-lock-keywords-builder 'font-lock-type-face nil
-"bigint" "bigserial" "bit" "bool" "boolean" "box" "bytea" "char"
-"character" "cidr" "circle" "date" "decimal" "double" "float4"
-"float8" "inet" "int" "int2" "int4" "int8" "integer" "interval" "line"
-"lseg" "macaddr" "money" "name" "numeric" "path" "point" "polygon"
-"precision" "real" "serial" "serial4" "serial8" "sequences" "smallint" "text"
-"time" "timestamp" "timestamptz" "timetz" "tsquery" "tsvector"
-"txid_snapshot" "unknown" "uuid" "varbit" "varchar" "varying" "without"
-"xml" "zone"
+ "bigint" "bigserial" "bit" "bool" "boolean" "box" "bytea" "char" "character"
+"cidr" "circle" "date" "daterange" "decimal" "double" "float4" "float8" "inet"
+"int" "int2" "int4" "int4range" "int8" "int8range" "integer" "interval"
+"jsonb" "jsonpath" "line" "lseg" "macaddr" "macaddr8" "money" "name" "numeric"
+"numrange" "oid" "path" "point" "polygon" "precision" "real" "regclass"
+"regcollation" "regconfig" "regdictionary" "regnamespace " "regoper"
+"regoperator" "regproc" "regprocedure" "regrole" "regtype" "sequences"
+"serial" "serial4" "serial8" "smallint" "smallserial" "text" "time"
+"timestamp" "timestamptz" "timetz" "tsquery" "tsrange" "tstzrange" "tsvector"
+"txid_snapshot" "unknown" "uuid" "varbit" "varchar" "varying" "without" "xml"
+"zone"
)))
"Postgres SQL keywords used by font-lock.
diff --git a/lisp/progmodes/typescript-ts-mode.el b/lisp/progmodes/typescript-ts-mode.el
index 3f198e9f180..ccf0026d7ba 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -128,7 +128,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
"case" "catch" "class" "const" "continue" "debugger"
"declare" "default" "delete" "do" "else" "enum"
"export" "extends" "finally" "for" "from" "function"
- "get" "if" "implements" "import" "in" "instanceof" "interface"
+ "get" "if" "implements" "import" "in" "instanceof" "interface" "is" "infer"
"keyof" "let" "namespace" "new" "of" "private" "protected"
"public" "readonly" "return" "set" "static" "switch"
"target" "throw" "try" "type" "typeof" "var" "void"
@@ -153,7 +153,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:language language
:feature 'constant
`(((identifier) @font-lock-constant-face
- (:match "^[A-Z_][A-Z_\\d]*$" @font-lock-constant-face))
+ (:match "\\`[A-Z_][0-9A-Z_]*\\'" @font-lock-constant-face))
[(true) (false) (null)] @font-lock-constant-face)
:language language
@@ -173,9 +173,10 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:feature 'declaration
`((function
name: (identifier) @font-lock-function-name-face)
-
(function_declaration
name: (identifier) @font-lock-function-name-face)
+ (function_signature
+ name: (identifier) @font-lock-function-name-face)
(method_definition
name: (property_identifier) @font-lock-function-name-face)
@@ -310,7 +311,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:feature 'number
`((number) @font-lock-number-face
((identifier) @font-lock-number-face
- (:match "^\\(:?NaN\\|Infinity\\)$" @font-lock-number-face)))
+ (:match "\\`\\(?:NaN\\|Infinity\\)\\'" @font-lock-number-face)))
:language language
:feature 'operator
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index ac6fd382a46..855ba4b50cf 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -9,7 +9,7 @@
;; Keywords: languages
;; The "Version" is the date followed by the decimal rendition of the Git
;; commit hex.
-;; Version: 2022.12.18.181110314
+;; Version: 2023.06.06.141322628
;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this
;; file on 19/3/2008, and the maintainer agreed that when a bug is
@@ -124,7 +124,7 @@
;;
;; This variable will always hold the version number of the mode
-(defconst verilog-mode-version "2022-12-18-acb862a-vpo-GNU"
+(defconst verilog-mode-version "2023-06-06-86c6984-vpo-GNU"
"Version of this Verilog mode.")
(defconst verilog-mode-release-emacs t
"If non-nil, this version of Verilog mode was released with Emacs itself.")
@@ -356,7 +356,9 @@ wherever possible, since it is slow."
(eval-and-compile
;; Both xemacs and emacs
(condition-case nil
- (require 'diff) ; diff-command and diff-switches
+ ;; `diff-command' and `diff-switches',
+ ;; although XEmacs lacks the former.
+ (require 'diff)
(error nil))
(condition-case nil
(require 'compile) ; compilation-error-regexp-alist-alist
@@ -5002,21 +5004,31 @@ More specifically, point @ in the line foo : @ begin"
"Return non-nil if in a generate region.
More specifically, after a generate and before an endgenerate."
(interactive)
- (let ((pos (point))
- gen-beg-point gen-end-point)
- (save-match-data
- (save-excursion
- (and (verilog-re-search-backward "\\<\\(generate\\)\\>" nil t)
- (forward-word)
- (setq gen-beg-point (point))
- (verilog-forward-sexp)
- (backward-word)
- (setq gen-end-point (point)))))
- (if (and gen-beg-point gen-end-point
- (>= pos gen-beg-point)
- (<= pos gen-end-point))
- t
- nil)))
+ (let ((nest 1))
+ (save-excursion
+ (catch 'done
+ (while (and
+ (/= nest 0)
+ (verilog-re-search-backward
+ "\\<\\(module\\)\\|\\(connectmodule\\)\\|\\(endmodule\\)\\|\\(generate\\)\\|\\(endgenerate\\)\\|\\(if\\)\\|\\(case\\)\\|\\(for\\)\\>" nil 'move)
+ (cond
+ ((match-end 1) ; module - we have crawled out
+ (throw 'done 1))
+ ((match-end 2) ; connectmodule - we have crawled out
+ (throw 'done 1))
+ ((match-end 3) ; endmodule - we were outside of module block
+ (throw 'done -1))
+ ((match-end 4) ; generate
+ (setq nest (1- nest)))
+ ((match-end 5) ; endgenerate
+ (setq nest (1+ nest)))
+ ((match-end 6) ; if
+ (setq nest (1- nest)))
+ ((match-end 7) ; case
+ (setq nest (1- nest)))
+ ((match-end 8) ; for
+ (setq nest (1- nest))))))))
+ (= nest 0) )) ; return nest
(defun verilog-in-fork-region-p ()
"Return non-nil if between a fork and join."
@@ -6735,7 +6747,8 @@ Optional BOUND limits search."
(defun verilog-pos-at-end-of-statement ()
"Return point position at the end of current statement."
(save-excursion
- (verilog-end-of-statement)))
+ (verilog-end-of-statement)
+ (point)))
(defun verilog-col-at-end-of-statement ()
"Return current column at the end of current statement."
@@ -8036,7 +8049,8 @@ Region is defined by B and ENDPOS."
"Return non-nil if current line should ignore indentation."
(or (and verilog-indent-ignore-multiline-defines
;; Line with multiline define, ends with "\" or "\" plus trailing whitespace
- (or (looking-at ".*\\\\\\s-*$")
+ (or (save-excursion
+ (verilog-re-search-forward ".*\\\\\\s-*$" (line-end-position) t))
(save-excursion ; Last line after multiline define
(verilog-backward-syntactic-ws)
(unless (bobp)
@@ -9311,7 +9325,8 @@ Return an array of [outputs inouts inputs wire reg assign const gparam intf]."
((looking-at "(\\*")
;; To advance past either "(*)" or "(* ... *)" don't forward past first *
(forward-char 1)
- (or (search-forward "*)")
+ (or (looking-at "\\*\\s-*)") ; (* )
+ (search-forward "*)") ; end attribute
(error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
((eq ?\" (following-char))
(or (re-search-forward "[^\\]\"" nil t) ; don't forward-char first, since we look for a non backslash first
@@ -11883,31 +11898,33 @@ If optional REGEXP, ignore differences matching it."
This requires the external program `diff-command' to be in your `exec-path',
and uses `diff-switches' in which you may want to have \"-u\" flag.
Ignores WHITESPACE if t, and writes output to stdout if SHOW."
- ;; Similar to `diff-buffer-with-file' but works on XEmacs, and doesn't
- ;; call `diff' as `diff' has different calling semantics on different
- ;; versions of Emacs.
+ ;; Similar to `diff-buffer-with-file' but works on Emacs 21, and
+ ;; doesn't call `diff' as `diff' has different calling semantics on
+ ;; different versions of Emacs.
(if (not (file-exists-p f1))
- (message "Buffer `%s' has no associated file on disk" (buffer-name b2))
- (with-temp-buffer "*Verilog-Diff*"
- (let ((outbuf (current-buffer))
- (f2 (make-temp-file "vm-diff-auto-")))
- (unwind-protect
- (progn
- (with-current-buffer b2
- (save-restriction
- (widen)
- (write-region (point-min) (point-max) f2 nil 'nomessage)))
- (call-process diff-command nil outbuf t
- diff-switches ; User may want -u in diff-switches
- (if whitespace "-b" "")
- f1 f2)
- ;; Print out results. Alternatively we could have call-processed
- ;; ourself, but this way we can reuse diff switches
- (when show
- (with-current-buffer outbuf (message "%s" (buffer-string))))))
- (sit-for 0)
- (when (file-exists-p f2)
- (delete-file f2))))))
+ (message "Buffer `%s' has no associated file on disk" b2)
+ (let ((outbuf (get-buffer "*Verilog-Diff*"))
+ (f2 (make-temp-file "vm-diff-auto-")))
+ (unwind-protect
+ ;; User may want -u in `diff-switches'.
+ (let ((args `(,@(if (listp diff-switches)
+ diff-switches
+ (list diff-switches))
+ ,@(and whitespace '("-b"))
+ ,f1 ,f2)))
+ (with-current-buffer b2
+ (save-restriction
+ (widen)
+ (write-region (point-min) (point-max) f2 nil 'nomessage)))
+ (apply #'call-process diff-command nil outbuf t args)
+ ;; Print out results. Alternatively we could have call-processed
+ ;; ourself, but this way we can reuse diff switches.
+ (when show
+ (with-current-buffer outbuf (message "%s" (buffer-string)))))
+ (sit-for 0)
+ (condition-case nil
+ (delete-file f2)
+ (error nil))))))
(defun verilog-diff-report (b1 b2 diffpt)
"Report differences detected with `verilog-diff-auto'.
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 45fd17f65c4..77d862f1a17 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -16,7 +16,7 @@
;; Reto also said in Apr 2021 that he preferred to keep the XEmacs
;; compatibility code.
-(defconst vhdl-version "3.38.1"
+(defconst vhdl-version "3.38.5"
"VHDL Mode version number.")
(defconst vhdl-time-stamp "2015-03-12"
@@ -229,20 +229,20 @@ Overrides local variable `indent-tabs-mode'."
;; [Error] Assignment error: variable is illegal target of signal assignment
("ADVance MS" "vacom" "-work \\1" "make" "-f \\1"
nil "valib \\1; vamap \\2 \\1" "./" "work/" "Makefile" "adms"
- ("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil) ("^Compiling file \\(.+\\)" 1)
+ ("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil nil) ("^Compiling file \\(.+\\)" 1)
("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif"
"PACK/\\1.vif" "BODY/\\1.vif" upcase))
;; Aldec
;; COMP96 ERROR COMP96_0018: "Identifier expected." "test.vhd" 66 3
("Aldec" "vcom" "-work \\1" "make" "-f \\1"
nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "aldec"
- ("^.* ERROR [^:]+: \".*\" \"\\([^ \t\n]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3) ("" 0)
+ ("^.* ERROR [^:]+: \".*\" \"\\([^ \t\n]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3 nil) ("" 0)
nil)
;; Cadence Leapfrog: cv -file test.vhd
;; duluth: *E,430 (test.vhd,13): identifier (POSITIV) is not declared
("Cadence Leapfrog" "cv" "-work \\1 -file" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "leapfrog"
- ("^duluth: \\*E,[0-9]+ (\\([^ \t\n]+\\),\\([0-9]+\\)):" 1 2 nil) ("" 0)
+ ("^duluth: \\*E,[0-9]+ (\\([^ \t\n]+\\),\\([0-9]+\\)):" 1 2 nil nil) ("" 0)
("\\1/entity" "\\2/\\1" "\\1/configuration"
"\\1/package" "\\1/body" downcase))
;; Cadence Affirma NC vhdl: ncvhdl test.vhd
@@ -250,7 +250,7 @@ Overrides local variable `indent-tabs-mode'."
;; (PLL_400X_TOP) is not declared [10.3].
("Cadence NC" "ncvhdl" "-work \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "ncvhdl"
- ("^ncvhdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0)
+ ("^ncvhdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3 nil) ("" 0)
("\\1/entity/pc.db" "\\2/\\1/pc.db" "\\1/configuration/pc.db"
"\\1/package/pc.db" "\\1/body/pc.db" downcase))
;; ghdl vhdl
@@ -258,21 +258,21 @@ Overrides local variable `indent-tabs-mode'."
;; bad_counter.vhdl:13:14: operator "=" is overloaded
("GHDL" "ghdl" "-i --workdir=\\1 --ieee=synopsys -fexplicit " "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "ghdl"
- ("^ghdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0)
+ ("^ghdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3 nil) ("" 0)
("\\1/entity" "\\2/\\1" "\\1/configuration"
"\\1/package" "\\1/body" downcase))
;; IBM Compiler
;; 00 COACHDL* | [CCHDL-1]: File: adder.vhd, line.column: 120.6
("IBM Compiler" "g2tvc" "-src" "precomp" "\\1"
nil "mkdir \\1" "./" "work/" "Makefile" "ibm"
- ("^[0-9]+ COACHDL.*: File: \\([^ \t\n]+\\), *line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3) (" " 0)
+ ("^[0-9]+ COACHDL.*: File: \\([^ \t\n]+\\), *line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3 nil) (" " 0)
nil)
;; Ikos Voyager: analyze test.vhd
;; analyze test.vhd
;; E L4/C5: this library unit is inaccessible
("Ikos" "analyze" "-l \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "ikos"
- ("^E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2)
+ ("^E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2 nil)
("^analyze +\\(.+ +\\)*\\(.+\\)$" 2)
nil)
;; ModelSim, Model Technology: vcom test.vhd
@@ -286,7 +286,7 @@ Overrides local variable `indent-tabs-mode'."
;; counter_rtl.vhd(29):Conditional signal assignment line__29
("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1"
nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim"
- ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
+ ("^\\(?:\\(?1:ERROR\\|\\*\\* Error\\)\\|\\(?2:WARNING\\|\\*\\* Warning\\)\\|\\(?3:NOTE\\|\\*\\* Note\\)\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\(?4:[^ \t\n]+\\)(\\(?5:[0-9]+\\)):" 4 5 nil (2 . 3))
("" 0)
("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
"\\1/_primary.dat" "\\1/body.dat" downcase))
@@ -294,7 +294,7 @@ Overrides local variable `indent-tabs-mode'."
;; test.vhd:34: error message
("LEDA ProVHDL" "provhdl" "-w \\1 -f" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "provhdl"
- ("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0)
+ ("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil nil) ("" 0)
("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif"
"PACK/\\1.vif" "BODY/BODY-\\1.vif" upcase))
;; Quartus compiler
@@ -305,21 +305,21 @@ Overrides local variable `indent-tabs-mode'."
;; Warning: VHDL Process Statement warning at dvi2sdi_tst.vhd(172): ...
("Quartus" "make" "-work \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "quartus"
- ("^\\(Error\\|Warning\\): .* \\([^ \t\n]+\\)(\\([0-9]+\\))" 2 3 nil) ("" 0)
+ ("^\\(Error\\|Warning\\): .* \\([^ \t\n]+\\)(\\([0-9]+\\))" 2 3 nil nil) ("" 0)
nil)
;; QuickHDL, Mentor Graphics: qvhcom test.vhd
;; ERROR: test.vhd(24): near "dnd": expecting: END
;; WARNING[4]: test.vhd(30): A space is required between ...
("QuickHDL" "qvhcom" "-work \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "quickhdl"
- ("^\\(ERROR\\|WARNING\\)[^:]*: \\([^ \t\n]+\\)(\\([0-9]+\\)):" 2 3 nil) ("" 0)
+ ("^\\(ERROR\\|WARNING\\)[^:]*: \\([^ \t\n]+\\)(\\([0-9]+\\)):" 2 3 nil nil) ("" 0)
("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
"\\1/_primary.dat" "\\1/body.dat" downcase))
;; Savant: scram -publish-cc test.vhd
;; test.vhd:87: _set_passed_through_out_port(IIR_Boolean) not defined for
("Savant" "scram" "-publish-cc -design-library-name \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work._savant_lib/" "Makefile" "savant"
- ("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0)
+ ("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil nil) ("" 0)
("\\1_entity.vhdl" "\\2_secondary_units._savant_lib/\\2_\\1.vhdl"
"\\1_config.vhdl" "\\1_package.vhdl"
"\\1_secondary_units._savant_lib/\\1_package_body.vhdl" downcase))
@@ -327,39 +327,39 @@ Overrides local variable `indent-tabs-mode'."
;; Error: CSVHDL0002: test.vhd: (line 97): Invalid prefix
("Simili" "vhdlp" "-work \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "simili"
- ("^\\(Error\\|Warning\\): \\w+: \\([^ \t\n]+\\): (line \\([0-9]+\\)): " 2 3 nil) ("" 0)
+ ("^\\(Error\\|Warning\\): \\w+: \\([^ \t\n]+\\): (line \\([0-9]+\\)): " 2 3 nil nil) ("" 0)
("\\1/prim.var" "\\2/_\\1.var" "\\1/prim.var"
"\\1/prim.var" "\\1/_body.var" downcase))
;; Speedwave (Innoveda): analyze -libfile vsslib.ini -src test.vhd
;; ERROR[11]::File test.vhd Line 100: Use of undeclared identifier
("Speedwave" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "speedwave"
- ("^ *ERROR\\[[0-9]+]::File \\([^ \t\n]+\\) Line \\([0-9]+\\):" 1 2 nil) ("" 0)
+ ("^ *ERROR\\[[0-9]+]::File \\([^ \t\n]+\\) Line \\([0-9]+\\):" 1 2 nil nil) ("" 0)
nil)
;; Synopsys, VHDL Analyzer (sim): vhdlan -nc test.vhd
;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context.
("Synopsys" "vhdlan" "-nc -work \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "synopsys"
- ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0)
+ ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil nil) ("" 0)
("\\1.sim" "\\2__\\1.sim" "\\1.sim" "\\1.sim" "\\1__.sim" upcase))
;; Synopsys, VHDL Analyzer (syn): vhdlan -nc -spc test.vhd
;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context.
("Synopsys Design Compiler" "vhdlan" "-nc -spc -work \\1" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "synopsys_dc"
- ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0)
+ ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil nil) ("" 0)
("\\1.syn" "\\2__\\1.syn" "\\1.syn" "\\1.syn" "\\1__.syn" upcase))
;; Synplify:
;; @W:"test.vhd":57:8:57:9|Optimizing register bit count_x(5) to a constant 0
("Synplify" "n/a" "n/a" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "synplify"
- ("^@[EWN]:\"\\([^ \t\n]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3) ("" 0)
+ ("^@[EWN]:\"\\([^ \t\n]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3 nil) ("" 0)
nil)
;; Vantage: analyze -libfile vsslib.ini -src test.vhd
;; Compiling "test.vhd" line 1...
;; **Error: LINE 49 *** No aggregate value is valid in this context.
("Vantage" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "vantage"
- ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil)
+ ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil nil)
("^ *Compiling \"\\(.+\\)\" " 1)
nil)
;; VeriBest: vc vhdl test.vhd
@@ -369,22 +369,29 @@ Overrides local variable `indent-tabs-mode'."
;; [Error] Name BITA is unknown
("VeriBest" "vc" "vhdl" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "veribest"
- ("^ +\\([0-9]+\\): +[^ ]" nil 1 nil) ("" 0)
+ ("^ +\\([0-9]+\\): +[^ ]" nil 1 nil nil) ("" 0)
nil)
;; Viewlogic: analyze -libfile vsslib.ini -src test.vhd
;; Compiling "test.vhd" line 1...
;; **Error: LINE 49 *** No aggregate value is valid in this context.
("Viewlogic" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "viewlogic"
- ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil)
+ ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil nil)
("^ *Compiling \"\\(.+\\)\" " 1)
nil)
;; Xilinx XST:
;; ERROR:HDLParsers:164 - "test.vhd" Line 3. parse error
("Xilinx XST" "xflow" "" "make" "-f \\1"
nil "mkdir \\1" "./" "work/" "Makefile" "xilinx"
- ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0)
+ ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil nil) ("" 0)
nil)
+ ;; Xilinx Vivado:
+ ;; ERROR: [VRFC 10-1412] syntax error near o_idle [test.vhd:23]
+ ("Xilinx Vivado" "xvhdl" "" "make" "-f \\1"
+ nil "mkdir \\1" "./" "work/" "Makefile" "vivado"
+ ("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ \t\n]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0)
+ ("\\1/entity" "\\2/\\1" "\\1/configuration"
+ "\\1/package" "\\1/body" downcase))
)
"List of available VHDL compilers and their properties.
Each list entry specifies the following items for a compiler:
@@ -407,6 +414,13 @@ Error message:
File subexp index: index of subexpression that matches the file name
Line subexp index: index of subexpression that matches the line number
Column subexp idx: index of subexpression that matches the column number
+ Type subexp : message type, can be nil for a real error, 1 for warning
+ or 0 for info. Type can also be detected using the form
+ (WARNING . INFO). In that case this will be equivalent to
+ 1 if the WARNING’th subexpression matched or else
+ equivalent to 0 if the INFO’th subexpression matched, or
+ else equivalent to nil if neither of them matched. See
+ also `compilation-error-regexp-alist'.
File message:
Regexp : regular expression to match a file name message
File subexp index: index of subexpression that matches the file name
@@ -476,7 +490,14 @@ NOTE: Activate new error and file message regexps and reflect the new setting
(integer :tag "Line subexp index")
(choice :tag "Column subexp "
(integer :tag "Index")
- (const :tag "No column number" nil)))
+ (const :tag "No column number" nil))
+ (choice :tag "Type "
+ (const :tag "Info" 0)
+ (const :tag "Warning" 1)
+ (const :tag "Error" nil)
+ (cons :tag "Type detection"
+ (natnum :tag "Warning subexp index")
+ (natnum :tag "Info subexp index "))))
(list :tag "File message" :indent 4
(regexp :tag "Regexp ")
(integer :tag "File subexp index"))
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index d77024136d0..643eea1b0a3 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -1820,16 +1820,22 @@ IGNORES is a list of glob patterns for files to ignore."
;; Ripgrep gets jumbled output, though, even with --line-buffered.
;; But Grep seems to be stable. Even without --line-buffered.
(defcustom xref-search-program-alist
- '((grep
- .
- ;; '-s' because 'git ls-files' can output broken symlinks.
- "xargs -0 grep <C> --null -snHE -e <R>")
- (ripgrep
- .
- ;; '!*/' is there to filter out dirs (e.g. submodules).
- "xargs -0 rg <C> --null -nH --no-heading --no-messages -g '!*/' -e <R>"
- )
- (ugrep . "xargs -0 ugrep <C> --null -ns -e <R>"))
+ (let ((xargs-max-chars
+ (and (memq system-type '(windows-nt ms-dos))
+ "-s 10000 ")))
+ `((grep
+ .
+ ;; '-s' because 'git ls-files' can output broken symlinks.
+ ,(concat "xargs -0 " xargs-max-chars "grep <C> --null -snHE -e <R>"))
+ (ripgrep
+ .
+ ;; '!*/' is there to filter out dirs (e.g. submodules).
+ ,(concat "xargs -0 "
+ xargs-max-chars
+ "rg <C> --null -nH --no-heading --no-messages -g '!*/' -e <R>"))
+ (ugrep
+ .
+ ,(concat "xargs -0 " xargs-max-chars "ugrep <C> --null -ns -e <R>"))))
"Association list mapping program identifiers to command templates.
Program identifier should be a symbol, named after the search program.
@@ -1844,7 +1850,7 @@ The template should have the following fields:
:type '(repeat
(cons (symbol :tag "Program identifier")
(string :tag "Command template")))
- :version "28.1"
+ :version "29.1"
:package-version '(xref . "1.0.4"))
(defcustom xref-search-program 'grep
diff --git a/lisp/rect.el b/lisp/rect.el
index 5ff821abb3f..8dc188b1de0 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -930,8 +930,9 @@ Ignores `line-move-visual'."
(mapc #'delete-overlay (nthcdr 5 rol))
(setcar (cdr rol) nil)))
-(defun rectangle--duplicate-right (n)
- "Duplicate the rectangular region N times on the right-hand side."
+(defun rectangle--duplicate-right (n displacement)
+ "Duplicate the rectangular region N times on the right-hand side.
+Leave the region moved DISPLACEMENT region-wide steps to the right."
(let ((cols (rectangle--pos-cols (point) (mark))))
(apply-on-rectangle
(lambda (startcol endcol)
@@ -940,16 +941,22 @@ Ignores `line-move-visual'."
(move-to-column endcol t)
(dotimes (_ n)
(insert (cadr lines)))))
- (region-beginning) (region-end))
- ;; Recompute the rectangle state; no crutches should be needed now.
- (let ((p (point))
- (m (mark)))
+ (min (point) (mark))
+ (max (point) (mark)))
+ ;; Recompute the rectangle state.
+ (let* ((p (point))
+ (m (mark))
+ (point-col (car cols))
+ (mark-col (cdr cols))
+ (d (* displacement (abs (- point-col mark-col)))))
(rectangle--reset-crutches)
(goto-char m)
- (move-to-column (cdr cols) t)
- (set-mark (point))
+ (move-to-column (+ mark-col d) t)
+ (if (= d 0)
+ (set-mark (point))
+ (push-mark (point)))
(goto-char p)
- (move-to-column (car cols) t))))
+ (move-to-column (+ point-col d) t))))
(provide 'rect)
diff --git a/lisp/register.el b/lisp/register.el
index d30114bfbc7..56ab089efb7 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -69,10 +69,12 @@ A list of the form (file . FILE-NAME) represents the file named FILE-NAME.
A list of the form (file-query FILE-NAME POSITION) represents
position POSITION in the file named FILE-NAME, but query before
visiting it.
+A list of the form (buffer . BUFFER-NAME) represents the buffer BUFFER-NAME.
A list of the form (WINDOW-CONFIGURATION POSITION)
represents a saved window configuration plus a saved value of point.
A list of the form (FRAME-CONFIGURATION POSITION)
- represents a saved frame configuration plus a saved value of point.")
+ represents a saved frame configuration (a.k.a. \"frameset\") plus
+ a saved value of point.")
(defgroup register nil
"Register commands."
@@ -90,7 +92,7 @@ of the marked text."
(character :tag "Use register" :value ?+)))
(defcustom register-preview-delay 1
- "If non-nil, time to wait in seconds before popping up a preview window.
+ "If non-nil, time to wait in seconds before popping up register preview window.
If nil, do not show register previews, unless `help-char' (or a member of
`help-event-list') is pressed."
:version "24.4"
@@ -107,7 +109,7 @@ See the documentation of the variable `register-alist' for possible VALUEs."
(setf (alist-get register register-alist) value))
(defun register-describe-oneline (c)
- "One-line description of register C."
+ "Return a one-line description of register C."
(let ((d (replace-regexp-in-string
"\n[ \t]*" " "
(with-output-to-string (describe-register-1 c)))))
@@ -116,19 +118,19 @@ See the documentation of the variable `register-alist' for possible VALUEs."
d)))
(defun register-preview-default (r)
- "Default function for the variable `register-preview-function'."
+ "Function that is the default value of the variable `register-preview-function'."
(format "%s: %s\n"
(single-key-description (car r))
(register-describe-oneline (car r))))
(defvar register-preview-function #'register-preview-default
"Function to format a register for previewing.
-Takes one argument, a cons (NAME . CONTENTS) as found in `register-alist'.
-Returns a string.")
+Called with one argument, a cons (NAME . CONTENTS) as found in `register-alist'.
+The function should return a string, the description of teh argument.")
(defun register-preview (buffer &optional show-empty)
- "Pop up a window to show register preview in BUFFER.
-If SHOW-EMPTY is non-nil show the window even if no registers.
+ "Pop up a window showing the registers preview in BUFFER.
+If SHOW-EMPTY is non-nil, show the window even if no registers.
Format of each entry is controlled by the variable `register-preview-function'."
(when (or show-empty (consp register-alist))
(with-current-buffer-window
@@ -178,12 +180,12 @@ display such a window regardless."
(and (get-buffer buffer) (kill-buffer buffer)))))
(defun point-to-register (register &optional arg)
- "Store current location of point in register REGISTER.
-With prefix argument, store current frame configuration.
+ "Store current location of point in REGISTER.
+With prefix argument ARG, store current frame configuration (a.k.a. \"frameset\").
Use \\[jump-to-register] to go to that location or restore that configuration.
-Argument is a character, naming the register.
+Argument is a character, the name of the register.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list (register-read-with-preview
(if current-prefix-arg
"Frame configuration to register: "
@@ -196,11 +198,11 @@ Interactively, reads the register using `register-read-with-preview'."
(point-marker))))
(defun window-configuration-to-register (register &optional _arg)
- "Store the window configuration of the selected frame in register REGISTER.
+ "Store the window configuration of the selected frame in REGISTER.
Use \\[jump-to-register] to restore the configuration.
-Argument is a character, naming the register.
+Argument is a character, the name of the register.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list (register-read-with-preview
"Window configuration to register: ")
current-prefix-arg))
@@ -213,11 +215,12 @@ Interactively, reads the register using `register-read-with-preview'."
'(register) "24.4")
(defun frame-configuration-to-register (register &optional _arg)
- "Store the window configuration of all frames in register REGISTER.
+ "Store the window configurations of all frames in REGISTER.
+\(This window configuration is also known as \"frameset\").
Use \\[jump-to-register] to restore the configuration.
-Argument is a character, naming the register.
+Argument is a character, the name of the register.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list (register-read-with-preview
"Frame configuration to register: ")
current-prefix-arg))
@@ -233,18 +236,21 @@ Interactively, reads the register using `register-read-with-preview'."
(defalias 'register-to-point 'jump-to-register)
(defun jump-to-register (register &optional delete)
- "Move point to location stored in a register.
-Push the mark if jumping moves point, unless called in succession.
+ "Go to location stored in REGISTER, or restore configuration stored there.
+Push the mark if going to the location moves point, unless called in succession.
If the register contains a file name, find that file.
-\(To put a file name in a register, you must use `set-register'.)
+If the register contains a buffer name, switch to that buffer.
+\(To put a file or buffer name in a register, you must use `set-register'.)
If the register contains a window configuration (one frame) or a frameset
-\(all frames), restore that frame or all frames accordingly.
-First argument is a character, naming the register.
-Optional second arg non-nil (interactively, prefix argument) says to
-delete any existing frames that the frameset doesn't mention.
-\(Otherwise, these frames are iconified.)
-
-Interactively, reads the register using `register-read-with-preview'."
+\(all frames), restore the configuration of that frame or of all frames
+accordingly.
+First argument REGISTER is a character, the name of the register.
+Optional second arg DELETE non-nil (interactively, prefix argument) says
+to delete any existing frames that the frameset doesn't mention.
+\(Otherwise, these frames are iconified.) This argument is currently
+ignored if the register contains anything but a frameset.
+
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list (register-read-with-preview "Jump to register: ")
current-prefix-arg))
(let ((val (get-register register)))
@@ -252,6 +258,7 @@ Interactively, reads the register using `register-read-with-preview'."
(cl-defgeneric register-val-jump-to (_val _arg)
"Execute the \"jump\" operation of VAL.
+VAL is the contents of a register as returned by `get-register'.
ARG is the value of the prefix argument or nil."
(user-error "Register doesn't contain a buffer position or configuration"))
@@ -301,13 +308,13 @@ ARG is the value of the prefix argument or nil."
(marker-position (cdr elem))))))))
(defun number-to-register (number register)
- "Store a number in a register.
-Two args, NUMBER and REGISTER (a character, naming the register).
-If NUMBER is nil, a decimal number is read from the buffer starting
+ "Store NUMBER in REGISTER.
+REGISTER is a character, the name of the register.
+If NUMBER is nil, a decimal number is read from the buffer
at point, and point moves to the end of that number.
Interactively, NUMBER is the prefix arg (none means nil).
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list current-prefix-arg
(register-read-with-preview "Number to register: ")))
(set-register register
@@ -320,8 +327,8 @@ Interactively, reads the register using `register-read-with-preview'."
0))))
(defun increment-register (prefix register)
- "Augment contents of REGISTER.
-Interactively, PREFIX is in raw form.
+ "Augment contents of REGISTER using PREFIX.
+Interactively, PREFIX is the raw prefix argument.
If REGISTER contains a number, add `prefix-numeric-value' of
PREFIX to it.
@@ -329,7 +336,7 @@ PREFIX to it.
If REGISTER is empty or if it contains text, call
`append-to-register' with `delete-flag' set to PREFIX.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list current-prefix-arg
(register-read-with-preview "Increment register: ")))
(let ((register-val (get-register register)))
@@ -342,10 +349,10 @@ Interactively, reads the register using `register-read-with-preview'."
(t (user-error "Register does not contain a number or text")))))
(defun view-register (register)
- "Display what is contained in register named REGISTER.
-The Lisp value REGISTER is a character.
+ "Display the description of the contents of REGISTER.
+REGISTER is a character, the name of the register.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (list (register-read-with-preview "View register: ")))
(let ((val (get-register register)))
(if (null val)
@@ -354,7 +361,7 @@ Interactively, reads the register using `register-read-with-preview'."
(describe-register-1 register t)))))
(defun list-registers ()
- "Display a list of nonempty registers saying briefly what they contain."
+ "Display the list of nonempty registers with brief descriptions of contents."
(interactive)
(let ((list (copy-sequence register-alist)))
(setq list (sort list (lambda (a b) (< (car a) (car b)))))
@@ -372,7 +379,10 @@ Interactively, reads the register using `register-read-with-preview'."
(register-val-describe val verbose)))
(cl-defgeneric register-val-describe (val verbose)
- "Print description of register value VAL to `standard-output'."
+ "Print description of register value VAL to `standard-output'.
+Second argument VERBOSE is ignored, unless VAL is not one of the
+supported kinds of register contents, in which case it is displayed
+using `prin1'."
(princ "Garbage:\n")
(if verbose (prin1 val)))
@@ -467,13 +477,14 @@ Interactively, reads the register using `register-read-with-preview'."
(princ "the empty string")))))
(defun insert-register (register &optional arg)
- "Insert contents of register REGISTER. (REGISTER is a character.)
-Normally puts point before and mark after the inserted text.
-If optional second arg is non-nil, puts mark before and point after.
-Interactively, second arg is nil if prefix arg is supplied and t
-otherwise.
-
-Interactively, reads the register using `register-read-with-preview'."
+ "Insert contents of REGISTER at point.
+REGISTER is a character, the name of the register.
+Normally puts point before and mark after the inserted text, but
+if optional second argument ARG is non-nil, puts mark before and
+point after. Interactively, ARG is nil if prefix arg is supplied,
+and t otherwise.
+
+Interactively, prompt for REGISTER using `register-read-with-preview'."
(interactive (progn
(barf-if-buffer-read-only)
(list (register-read-with-preview "Insert register: ")
@@ -484,7 +495,7 @@ Interactively, reads the register using `register-read-with-preview'."
(if (not arg) (exchange-point-and-mark)))
(cl-defgeneric register-val-insert (_val)
- "Insert register value VAL."
+ "Insert register value VAL in current buffer at point."
(user-error "Register does not contain text"))
(cl-defmethod register-val-insert ((val registerv))
@@ -507,14 +518,17 @@ Interactively, reads the register using `register-read-with-preview'."
(cl-call-next-method val)))
(defun copy-to-register (register start end &optional delete-flag region)
- "Copy region into register REGISTER.
-With prefix arg, delete as well.
-Called from program, takes five args: REGISTER, START, END, DELETE-FLAG,
+ "Copy region of text between START and END into REGISTER.
+If DELETE-FLAG is non-nil (interactively, prefix arg), delete the region
+after copying.
+Called from Lisp, takes five args: REGISTER, START, END, DELETE-FLAG,
and REGION. START and END are buffer positions indicating what to copy.
-The optional argument REGION if non-nil, indicates that we're not just
-copying some text between START and END, but we're copying the region.
+The optional argument REGION, if non-nil, means START..END denotes the
+region.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview'
+and use mark and point as START and END; REGION is always non-nil in
+this case."
(interactive (list (register-read-with-preview "Copy to register: ")
(region-beginning)
(region-end)
@@ -530,12 +544,14 @@ Interactively, reads the register using `register-read-with-preview'."
(indicate-copied-region))))
(defun append-to-register (register start end &optional delete-flag)
- "Append region to text in register REGISTER.
-With prefix arg, delete as well.
-Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
+ "Append region of text between START and END to REGISTER.
+If DELETE-FLAG is non-nil (interactively, prefix arg), delete the region
+after appending.
+Called from Lisp, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to append.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview',
+and use mark and point as START and END."
(interactive (list (register-read-with-preview "Append to register: ")
(region-beginning)
(region-end)
@@ -554,12 +570,14 @@ Interactively, reads the register using `register-read-with-preview'."
(indicate-copied-region))))
(defun prepend-to-register (register start end &optional delete-flag)
- "Prepend region to text in register REGISTER.
-With prefix arg, delete as well.
+ "Prepend region of text between START and END to REGISTER.
+If DELETE-FLAG is non-nil (interactively, prefix arg), delete the region
+after prepending.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to prepend.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview',
+and use mark and point as START and END."
(interactive (list (register-read-with-preview "Prepend to register: ")
(region-beginning)
(region-end)
@@ -578,14 +596,16 @@ Interactively, reads the register using `register-read-with-preview'."
(indicate-copied-region))))
(defun copy-rectangle-to-register (register start end &optional delete-flag)
- "Copy rectangular region into register REGISTER.
-With prefix arg, delete as well.
-To insert this register in the buffer, use \\[insert-register].
+ "Copy rectangular region of text between START and END into REGISTER.
+If DELETE-FLAG is non-nil (interactively, prefix arg), delete the region
+after copying.
+To insert this register into a buffer, use \\[insert-register].
-Called from a program, takes four args: REGISTER, START, END and DELETE-FLAG.
+Called from Lisp, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions giving two corners of rectangle.
-Interactively, reads the register using `register-read-with-preview'."
+Interactively, prompt for REGISTER using `register-read-with-preview',
+and use mark and point as START and END."
(interactive (list (register-read-with-preview
"Copy rectangle to register: ")
(region-beginning)
diff --git a/lisp/replace.el b/lisp/replace.el
index 3c2b925ea92..1555731f6e3 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -436,6 +436,8 @@ Fourth and fifth arg START and END specify the region to operate on.
Arguments FROM-STRING, TO-STRING, DELIMITED, START, END, BACKWARD, and
REGION-NONCONTIGUOUS-P are passed to `perform-replace' (which see).
+\(TO-STRING is passed to `perform-replace' as REPLACEMENTS and
+DELIMITED is passed as DELIMITED-FLAG.)
To customize possible responses, change the bindings in `query-replace-map'."
(declare (interactive-args
@@ -533,7 +535,10 @@ text, TO-STRING is actually made a list instead of a string.
Use \\[repeat-complex-command] after this command for details.
Arguments REGEXP, TO-STRING, DELIMITED, START, END, BACKWARD, and
-REGION-NONCONTIGUOUS-P are passed to `perform-replace' (which see)."
+REGION-NONCONTIGUOUS-P are passed to `perform-replace' (which see).
+\(REGEXP is passed to `perform-replace' as FROM-STRING,
+TO-STRING is passed as REPLACEMENTS, and DELIMITED is passed
+as DELIMITED-FLAG.)"
(declare (interactive-args
(start (use-region-beginning))
(end (use-region-end))
diff --git a/lisp/select.el b/lisp/select.el
index 7f089c62dd5..09c678867d0 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -807,19 +807,24 @@ This function returns the string \"emacs\"."
(defun xselect-convert-to-username (_selection _type _value)
(user-real-login-name))
-(defun xselect-convert-to-text-uri-list (_selection _type value)
- (let ((string
- (if (stringp value)
- (xselect--encode-string 'TEXT
- (concat (url-encode-url value) "\n"))
- (when (vectorp value)
- (with-temp-buffer
- (cl-loop for tem across value
- do (progn
- (insert (url-encode-url tem))
- (insert "\n")))
- (xselect--encode-string 'TEXT (buffer-string)))))))
- (cons 'text/uri-list (cdr string))))
+(defun xselect-convert-to-text-uri-list (selection _type value)
+ ;; While `xselect-uri-list-available-p' ensures that this target
+ ;; will not be reported in the TARGETS of non-drag-and-drop
+ ;; selections, Firefox stupidly converts to it anyway. Check that
+ ;; the conversion request is being made for the correct selection.
+ (and (eq selection 'XdndSelection)
+ (let ((string
+ (if (stringp value)
+ (xselect--encode-string 'TEXT
+ (concat (url-encode-url value) "\n"))
+ (when (vectorp value)
+ (with-temp-buffer
+ (cl-loop for tem across value
+ do (progn
+ (insert (url-encode-url tem))
+ (insert "\n")))
+ (xselect--encode-string 'TEXT (buffer-string)))))))
+ (cons 'text/uri-list (cdr string)))))
(defun xselect-convert-to-xm-file (selection _type value)
(when (and (stringp value)
diff --git a/lisp/server.el b/lisp/server.el
index 608e5df3a5b..c3325e5a24c 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -1143,8 +1143,18 @@ The following commands are accepted by the client:
(process-put proc :authenticated t)
(server-log "Authentication successful" proc))
(server-log "Authentication failed" proc)
+ ;; Display the error as a message and give the user time to see
+ ;; it, in case the error written by emacsclient to stderr is not
+ ;; visible for some reason.
+ (message "Authentication failed")
+ (sit-for 2)
(server-send-string
proc (concat "-error " (server-quote-arg "Authentication failed")))
+ (unless (eq system-type 'windows-nt)
+ (let ((terminal (process-get proc 'terminal)))
+ ;; Only delete the terminal if it is non-nil.
+ (when (and terminal (eq (terminal-live-p terminal) t))
+ (delete-terminal terminal))))
;; Before calling `delete-process', give emacsclient time to
;; receive the error string and shut down on its own.
(sit-for 1)
@@ -1462,10 +1472,20 @@ The following commands are accepted by the client:
(defun server-return-error (proc err)
(ignore-errors
+ ;; Display the error as a message and give the user time to see
+ ;; it, in case the error written by emacsclient to stderr is not
+ ;; visible for some reason.
+ (message (error-message-string err))
+ (sit-for 2)
(server-send-string
proc (concat "-error " (server-quote-arg
(error-message-string err))))
(server-log (error-message-string err) proc)
+ (unless (eq system-type 'windows-nt)
+ (let ((terminal (process-get proc 'terminal)))
+ ;; Only delete the terminal if it is non-nil.
+ (when (and terminal (eq (terminal-live-p terminal) t))
+ (delete-terminal terminal))))
;; Before calling `delete-process', give emacsclient time to
;; receive the error string and shut down on its own.
(sit-for 5)
diff --git a/lisp/simple.el b/lisp/simple.el
index b621e1603bd..646da8aafaa 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1520,7 +1520,8 @@ the actual saved text might be different from what was killed."
(let ((from (car cmp))
(to (cadr cmp)))
(cond
- ((= (length cmp) 2) ; static composition
+ ((and (= (length cmp) 3) ; static composition
+ (booleanp (nth 2 cmp)))
to)
;; TO can be at POS, in which case we want
;; to make sure we advance at least by 1
@@ -2225,7 +2226,10 @@ are available:
This excludes from completion candidates those commands
which have been marked specific to modes other than the
current buffer's mode. Commands that are not specific
- to any mode are included.
+ to any mode are included. If a command has a
+ `(declare completion...' form which specifies a predicate,
+ that predicate will be called to determine whether to
+ include the command in the completion candidates.
`command-completion-using-modes-p'
This includes in completion candidates only commands
@@ -4463,17 +4467,23 @@ whose `car' is BUFFER."
'(nil (inhibit-switch-frame . t)))))
(set-window-point win pos)))))))))
+;; Implementation note: the next function intentionally tries to use
+;; the same signature as 'shell-command', although the 3rd arg is
+;; currently ignored, to allow us to implement support for specifying
+;; ERROR-BUFFER in the future.
(defun async-shell-command (command &optional output-buffer error-buffer)
"Execute string COMMAND asynchronously in background.
Like `shell-command', but adds `&' at the end of COMMAND
to execute it asynchronously.
-The output appears in the buffer whose name is stored in the
-variable `shell-command-buffer-name-async'. That buffer is in
-shell mode.
+The output appears in OUTPUT-BUFFER, which could be a buffer or
+the name of a buffer, and defaults to `shell-command-buffer-name-async'
+if nil or omitted. That buffer is in shell mode. Note that, unlike
+with `shell-command', OUTPUT-BUFFER can only be a buffer, a buffer's
+name (a string), or nil.
-You can configure `async-shell-command-buffer' to specify what to do
+You can customize `async-shell-command-buffer' to specify what to do
when the buffer specified by `shell-command-buffer-name-async' is
already taken by another running shell command.
@@ -4482,6 +4492,10 @@ configure `display-buffer-alist' to use the action
`display-buffer-no-window' for the buffer given by
`shell-command-buffer-name-async'.
+Optional argument ERROR-BUFFER is for backward compatibility; it
+is ignored, and error output of the async command is always
+mingled with its regular output.
+
In Elisp, you will often be better served by calling `start-process'
directly, since it offers more control and does not impose the use of
a shell (with its need to quote arguments)."
@@ -4499,7 +4513,10 @@ a shell (with its need to quote arguments)."
((eq major-mode 'dired-mode)
(dired-get-filename nil t)))))
(and filename (file-relative-name filename))))
- current-prefix-arg
+ nil
+ ;; FIXME: the following argument is always ignored by 'shell-commnd',
+ ;; when the command is invoked asynchronously, except, perhaps, when
+ ;; 'default-directory' is remote.
shell-command-default-error-buffer))
(unless (string-match "&[ \t]*\\'" command)
(setq command (concat command " &")))
@@ -4753,6 +4770,18 @@ this function will instead return -1."
(funcall handler 'file-user-uid)
(user-uid)))
+(defun file-group-gid ()
+ "Return the connection-local effective gid.
+This is similar to `group-gid', but may invoke a file name handler
+based on `default-directory'. See Info node `(elisp)Magic File
+Names'.
+
+If a file name handler is unable to retrieve the effective gid,
+this function will instead return -1."
+ (if-let ((handler (find-file-name-handler default-directory 'file-group-gid)))
+ (funcall handler 'file-group-gid)
+ (group-gid)))
+
(defun max-mini-window-lines (&optional frame)
"Compute maximum number of lines for echo area in FRAME.
As defined by `max-mini-window-height'. FRAME defaults to the
@@ -8702,12 +8731,22 @@ node `(elisp) Word Motion' for details."
(forward-word (- (or arg 1))))
(defun mark-word (&optional arg allow-extend)
- "Set mark ARG words away from point.
-The place mark goes is the same place \\[forward-word] would
-move to with the same argument.
-Interactively, if this command is repeated
-or (in Transient Mark mode) if the mark is active,
-it marks the next ARG words after the ones already marked."
+ "Set mark ARG words from point or move mark one word.
+When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is
+set ARG words from point.
+With ARG and ALLOW-EXTEND both non-nil (interactively, with prefix
+argument), the place to which mark goes is the same place \\[forward-word]
+would move to with the same argument; if the mark is active, it moves
+ARG words from its current position, otherwise it is set ARG words
+from point.
+When invoked interactively without a prefix argument and no active
+region, mark moves one word forward.
+When invoked interactively without a prefix argument, and region
+is active, mark moves one word away of point (i.e., forward
+if mark is at or after point, back if mark is before point), thus
+extending the region by one word. Since the direction of region
+extension depends on the relative position of mark and point, you
+can change the direction by \\[exchange-point-and-mark]."
(interactive "P\np")
(cond ((and allow-extend
(or (and (eq last-command this-command) (mark t))
@@ -9215,6 +9254,21 @@ it skips the contents of comments that end before point."
:type 'boolean
:group 'paren-blinking)
+(defcustom blink-matching-paren-highlight-offscreen nil
+ "If non-nil, highlight matched off-screen open paren in the echo area.
+This highlighting uses the `blink-matching-paren-offscreen' face."
+ :type 'boolean
+ :version "30.1"
+ :group 'paren-blinking)
+
+(defface blink-matching-paren-offscreen
+ '((t :foreground "green"))
+ "Face for showing in the echo area matched open paren that is off-screen.
+This face is used only when `blink-matching-paren-highlight-offscreen'
+is non-nil."
+ :version "30.1"
+ :group 'paren-blinking)
+
(defun blink-matching-check-mismatch (start end)
"Return whether or not START...END are matching parens.
END is the current point and START is the blink position.
@@ -9312,47 +9366,78 @@ The function should return non-nil if the two tokens do not match.")
(delete-overlay blink-matching--overlay)))))
((not show-paren-context-when-offscreen)
(minibuffer-message
- "Matches %s"
- (substring-no-properties
- (blink-paren-open-paren-line-string blinkpos))))))))
+ "%s%s"
+ (propertize "Matches " 'face 'shadow)
+ (blink-paren-open-paren-line-string blinkpos)))))))
(defun blink-paren-open-paren-line-string (pos)
- "Return the line string that contains the openparen at POS."
+ "Return the line string that contains the openparen at POS.
+Remove the line string's properties but give the openparen a distinct
+face if `blink-matching-paren-highlight-offscreen' is non-nil."
(save-excursion
(goto-char pos)
;; Capture the regions in terms of (beg . end) conses whose
;; buffer-substrings we want to show as a context string. Ensure
;; they are font-locked (bug#59527).
- (let (regions)
- ;; Show what precedes the open in its line, if anything.
+ (let (regions
+ openparen-idx)
(cond
+ ;; Show what precedes the open in its line, if anything.
((save-excursion (skip-chars-backward " \t") (not (bolp)))
- (setq regions (list (cons (line-beginning-position)
- (1+ pos)))))
+ (let ((bol (line-beginning-position)))
+ (setq regions (list (cons bol (1+ pos)))
+ openparen-idx (- pos bol))))
;; Show what follows the open in its line, if anything.
((save-excursion
(forward-char 1)
(skip-chars-forward " \t")
(not (eolp)))
- (setq regions (list (cons pos (line-end-position)))))
+ (setq regions (list (cons pos (line-end-position)))
+ openparen-idx 0))
;; Otherwise show the previous nonblank line,
;; if there is one.
((save-excursion (skip-chars-backward "\n \t") (not (bobp)))
- (setq regions (list (cons (progn
- (skip-chars-backward "\n \t")
- (line-beginning-position))
- (progn (end-of-line)
- (skip-chars-backward " \t")
- (point)))
+ (setq regions (list (cons
+ (let (bol)
+ (skip-chars-backward "\n \t")
+ (setq bol (line-beginning-position)
+ openparen-idx (- bol))
+ bol)
+ (let (eol)
+ (end-of-line)
+ (skip-chars-backward " \t")
+ (setq eol (point)
+ openparen-idx (+ openparen-idx
+ eol
+ ;; (length "...")
+ 3))
+ eol))
(cons pos (1+ pos)))))
;; There is nothing to show except the char itself.
- (t (setq regions (list (cons pos (1+ pos))))))
+ (t (setq regions (list (cons pos (1+ pos)))
+ openparen-idx 0)))
;; Ensure we've font-locked the context region.
(font-lock-ensure (caar regions) (cdar (last regions)))
- (mapconcat (lambda (region)
- (buffer-substring (car region) (cdr region)))
- regions
- "..."))))
+ (let ((line-string
+ (mapconcat
+ (lambda (region)
+ (buffer-substring (car region) (cdr region)))
+ regions
+ "..."))
+ (openparen-next-char-idx (1+ openparen-idx)))
+ (setq line-string (substring-no-properties line-string))
+ (concat
+ (substring line-string
+ 0 openparen-idx)
+ (let ((matched-offscreen-openparen
+ (substring line-string
+ openparen-idx openparen-next-char-idx)))
+ (if blink-matching-paren-highlight-offscreen
+ (propertize matched-offscreen-openparen
+ 'face 'blink-matching-paren-offscreen)
+ matched-offscreen-openparen))
+ (substring line-string
+ openparen-next-char-idx))))))
(defvar blink-paren-function 'blink-matching-open
"Function called, if non-nil, whenever a close parenthesis is inserted.
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 29f351ca021..0115a6f4ae4 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -3550,9 +3550,7 @@ This variable is ignored if `speedbar-use-imenu-flag' is t."
"Toggle FLAG in `speedbar-fetch-etags-arguments'.
FLAG then becomes a member of etags command line arguments. If flag
is \"sort\", then toggle the value of `speedbar-sort-tags'. If its
-value is \"show\" then toggle the value of
-`speedbar-show-unknown-files'."
- (interactive)
+value is \"show\" then toggle the value of `speedbar-show-unknown-files'."
(cond
((equal flag "sort")
(setq speedbar-sort-tags (not speedbar-sort-tags)))
diff --git a/lisp/startup.el b/lisp/startup.el
index 8d163684f55..77f7169d147 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -837,12 +837,16 @@ It is the default value of the variable `top-level'."
(let ((display (frame-parameter nil 'display)))
;; Be careful which DISPLAY to remove from process-environment: follow
;; the logic of `callproc.c'.
- (if (stringp display) (setq display (concat "DISPLAY=" display))
- (dolist (varval initial-environment)
- (if (string-match "\\`DISPLAY=" varval)
- (setq display varval))))
+ (if (stringp display)
+ (setq display (concat "DISPLAY=" display))
+ (let ((env initial-environment))
+ (while (and env (or (not (string-match "\\`DISPLAY=" (car env)))
+ (progn
+ (setq display (car env))
+ nil)))
+ (setq env (cdr env)))))
(when display
- (delete display process-environment))))
+ (setq process-environment (delete display process-environment)))))
(startup--honor-delayed-native-compilations))
;; Precompute the keyboard equivalents in the menu bar items.
@@ -1021,13 +1025,21 @@ init-file, or to a default value if loading is not possible."
(debug-on-error-should-be-set nil)
(debug-on-error-initial
(if (eq init-file-debug t)
- 'startup
+ 'startup--witness ;Dummy but recognizable non-nil value.
init-file-debug))
+ (d-i-e-from-init-file nil)
+ (d-i-e-initial
+ ;; Use (startup--witness) instead of nil, so we can detect when the
+ ;; init files set `debug-ignored-errors' to nil.
+ (if init-file-debug '(startup--witness) debug-ignored-errors))
;; The init file might contain byte-code with embedded NULs,
;; which can cause problems when read back, so disable nul
;; byte detection. (Bug#52554)
(inhibit-null-byte-detection t))
- (let ((debug-on-error debug-on-error-initial))
+ (let ((debug-on-error debug-on-error-initial)
+ ;; If they specified --debug-init, enter the debugger
+ ;; on any error whatsoever.
+ (debug-ignored-errors d-i-e-initial))
(condition-case-unless-debug error
(when init-file-user
(let ((init-file-name (funcall filename-function)))
@@ -1108,10 +1120,14 @@ the `--debug-init' option to view a complete error backtrace."
;; If we can tell that the init file altered debug-on-error,
;; arrange to preserve the value that it set up.
+ (or (eq debug-ignored-errors d-i-e-initial)
+ (setq d-i-e-from-init-file (list debug-ignored-errors)))
(or (eq debug-on-error debug-on-error-initial)
(setq debug-on-error-should-be-set t
debug-on-error-from-init-file debug-on-error)))
+ (when d-i-e-from-init-file
+ (setq debug-ignored-errors (car d-i-e-from-init-file)))
(when debug-on-error-should-be-set
(setq debug-on-error debug-on-error-from-init-file))))
diff --git a/lisp/subr.el b/lisp/subr.el
index 427014cedc3..4c462830120 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -205,6 +205,7 @@ buffer-local wherever it is set."
(defun buffer-local-boundp (symbol buffer)
"Return non-nil if SYMBOL is bound in BUFFER.
Also see `local-variable-p'."
+ (declare (side-effect-free t))
(condition-case nil
(buffer-local-value symbol buffer)
(:success t)
@@ -298,6 +299,7 @@ value of last one, or nil if there are none."
(defsubst subr-primitive-p (object)
"Return t if OBJECT is a built-in primitive function."
+ (declare (side-effect-free error-free))
(and (subrp object)
(not (subr-native-elisp-p object))))
@@ -415,6 +417,7 @@ The CONDITION argument is not evaluated. Do not quote it."
"Return a new uninterned symbol.
The name is made by appending `gensym-counter' to PREFIX.
PREFIX is a string, and defaults to \"g\"."
+ (declare (important-return-value t))
(let ((num (prog1 gensym-counter
(setq gensym-counter (1+ gensym-counter)))))
(make-symbol (format "%s%d" (or prefix "g") num))))
@@ -497,6 +500,7 @@ Defaults to `error'."
"Return non-nil if OBJECT seems to be a frame configuration.
Any list whose car is `frame-configuration' is assumed to be a frame
configuration."
+ (declare (pure t) (side-effect-free error-free))
(and (consp object)
(eq (car object) 'frame-configuration)))
@@ -506,6 +510,7 @@ ARGS is a list of the first N arguments to pass to FUN.
The result is a new function which does the same as FUN, except that
the first N arguments are fixed at the values with which this function
was called."
+ (declare (side-effect-free error-free))
(lambda (&rest args2)
(apply fun (append args args2))))
@@ -824,26 +829,31 @@ of course, also replace TO with a slightly larger value
next (+ from (* n inc)))))
(nreverse seq))))
-(defun copy-tree (tree &optional vecp)
+(defun copy-tree (tree &optional vectors-and-records)
"Make a copy of TREE.
If TREE is a cons cell, this recursively copies both its car and its cdr.
-Contrast to `copy-sequence', which copies only along the cdrs. With second
-argument VECP, this copies vectors as well as conses."
+Contrast to `copy-sequence', which copies only along the cdrs.
+With the second argument VECTORS-AND-RECORDS non-nil, this
+traverses and copies vectors and records as well as conses."
(declare (side-effect-free error-free))
(if (consp tree)
(let (result)
(while (consp tree)
(let ((newcar (car tree)))
- (if (or (consp (car tree)) (and vecp (vectorp (car tree))))
- (setq newcar (copy-tree (car tree) vecp)))
+ (if (or (consp (car tree))
+ (and vectors-and-records
+ (or (vectorp (car tree)) (recordp (car tree)))))
+ (setq newcar (copy-tree (car tree) vectors-and-records)))
(push newcar result))
(setq tree (cdr tree)))
(nconc (nreverse result)
- (if (and vecp (vectorp tree)) (copy-tree tree vecp) tree)))
- (if (and vecp (vectorp tree))
+ (if (and vectors-and-records (or (vectorp tree) (recordp tree)))
+ (copy-tree tree vectors-and-records)
+ tree)))
+ (if (and vectors-and-records (or (vectorp tree) (recordp tree)))
(let ((i (length (setq tree (copy-sequence tree)))))
(while (>= (setq i (1- i)) 0)
- (aset tree i (copy-tree (aref tree i) vecp)))
+ (aset tree i (copy-tree (aref tree i) vectors-and-records)))
tree)
tree)))
@@ -862,6 +872,7 @@ If that is non-nil, the element matches; then `assoc-default'
If no element matches, the value is nil.
If TEST is omitted or nil, `equal' is used."
+ (declare (important-return-value t))
(let (found (tail alist) value)
(while (and tail (not found))
(let ((elt (car tail)))
@@ -887,6 +898,7 @@ Non-strings in LIST are ignored."
Compare keys with TEST. Defaults to `equal'.
Return the modified alist.
Elements of ALIST that are not conses are ignored."
+ (declare (important-return-value t))
(unless test (setq test #'equal))
(while (and (consp (car alist))
(funcall test (caar alist) key))
@@ -903,12 +915,14 @@ Elements of ALIST that are not conses are ignored."
"Delete from ALIST all elements whose car is `eq' to KEY.
Return the modified alist.
Elements of ALIST that are not conses are ignored."
+ (declare (important-return-value t))
(assoc-delete-all key alist #'eq))
(defun rassq-delete-all (value alist)
"Delete from ALIST all elements whose cdr is `eq' to VALUE.
Return the modified alist.
Elements of ALIST that are not conses are ignored."
+ (declare (important-return-value t))
(while (and (consp (car alist))
(eq (cdr (car alist)) value))
(setq alist (cdr alist)))
@@ -951,6 +965,7 @@ Example:
(setf (alist-get \\='b foo nil \\='remove) nil)
foo => ((a . 1))"
+ (declare (important-return-value t))
(ignore remove) ;;Silence byte-compiler.
(let ((x (if (not testfn)
(assq key alist)
@@ -1066,6 +1081,7 @@ any corresponding binding in PARENT, but it does not override corresponding
bindings in other keymaps of MAPS.
MAPS can be a list of keymaps or a single keymap.
PARENT if non-nil should be a keymap."
+ (declare (side-effect-free t))
`(keymap
,@(if (keymapp maps) (list maps) maps)
,@parent))
@@ -1206,6 +1222,7 @@ This resolves inheritance and redefinitions. The returned keymap
should behave identically to a copy of KEYMAP w.r.t `lookup-key'
and use in active keymaps and menus.
Subkeymaps may be modified but are not canonicalized."
+ (declare (important-return-value t))
;; FIXME: Problem with the difference between a nil binding
;; that hides a binding in an inherited map and a nil binding that's ignored
;; to let some further binding visible. Currently a nil binding hides all.
@@ -1528,6 +1545,7 @@ See also `current-global-map'.")
(defun listify-key-sequence (key)
"Convert a key sequence to a list of events."
+ (declare (side-effect-free t))
(if (vectorp key)
(append key nil)
(mapcar (lambda (c)
@@ -1555,6 +1573,7 @@ EVENT may be an event or an event type. If EVENT is a symbol
that has never been used in an event that has been read as input
in the current Emacs session, then this function may fail to include
the `click' modifier."
+ (declare (side-effect-free t))
(unless (stringp event)
(let ((type event))
(if (listp type)
@@ -1588,6 +1607,7 @@ The value is a printing character (not upper case) or a symbol.
EVENT may be an event or an event type. If EVENT is a symbol
that has never been used in an event that has been read as input
in the current Emacs session, then this function may return nil."
+ (declare (side-effect-free t))
(unless (stringp event)
(if (consp event)
(setq event (car event)))
@@ -1608,6 +1628,7 @@ in the current Emacs session, then this function may return nil."
(defun mouse-event-p (object)
"Return non-nil if OBJECT is a mouse click event."
+ (declare (side-effect-free t))
;; is this really correct? maybe remove mouse-movement?
(memq (event-basic-type object) '(mouse-1 mouse-2 mouse-3 mouse-movement)))
@@ -1653,6 +1674,7 @@ nil or (STRING . POSITION)'.
`posn-timestamp': The time the event occurred, in milliseconds.
For more information, see Info node `(elisp)Click Events'."
+ (declare (side-effect-free t))
(or (and (consp event) (nth 1 event))
(event--posn-at-point)))
@@ -1661,17 +1683,20 @@ For more information, see Info node `(elisp)Click Events'."
EVENT should be a click, drag, or key press event.
See `event-start' for a description of the value returned."
+ (declare (side-effect-free t))
(or (and (consp event) (nth (if (consp (nth 2 event)) 2 1) event))
(event--posn-at-point)))
(defsubst event-click-count (event)
"Return the multi-click count of EVENT, a click or drag event.
The return value is a positive integer."
+ (declare (side-effect-free t))
(if (and (consp event) (integerp (nth 2 event))) (nth 2 event) 1))
(defsubst event-line-count (event)
"Return the line count of EVENT, a mousewheel event.
The return value is a positive integer."
+ (declare (side-effect-free t))
(if (and (consp event) (integerp (nth 3 event))) (nth 3 event) 1))
;;;; Extracting fields of the positions in an event.
@@ -1681,6 +1706,7 @@ The return value is a positive integer."
A `posn' object is returned from functions such as `event-start'.
If OBJ is a valid `posn' object, but specifies a frame rather
than a window, return nil."
+ (declare (side-effect-free error-free))
;; FIXME: Correct the behavior of this function so that all valid
;; `posn' objects are recognized, after updating other code that
;; depends on its present behavior.
@@ -1694,12 +1720,14 @@ than a window, return nil."
If POSITION is outside the frame where the event was initiated,
return that frame instead. POSITION should be a list of the form
returned by the `event-start' and `event-end' functions."
+ (declare (side-effect-free t))
(nth 0 position))
(defsubst posn-area (position)
"Return the window area recorded in POSITION, or nil for the text area.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
+ (declare (side-effect-free t))
(let ((area (if (consp (nth 1 position))
(car (nth 1 position))
(nth 1 position))))
@@ -1711,6 +1739,7 @@ POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.
Returns nil if POSITION does not correspond to any buffer location (e.g.
a click on a scroll bar)."
+ (declare (side-effect-free t))
(or (nth 5 position)
(let ((pt (nth 1 position)))
(or (car-safe pt)
@@ -1736,6 +1765,7 @@ Select the corresponding window as well."
The return value has the form (X . Y), where X and Y are given in
pixels. POSITION should be a list of the form returned by
`event-start' and `event-end'."
+ (declare (side-effect-free t))
(nth 2 position))
(declare-function scroll-bar-scale "scroll-bar" (num-denom whole))
@@ -1755,6 +1785,7 @@ corresponds to the vertical position of the click in the scroll bar.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
+ (declare (side-effect-free t))
(let* ((pair (posn-x-y position))
(frame-or-window (posn-window position))
(frame (if (framep frame-or-window)
@@ -1800,12 +1831,14 @@ This function does not account for the width on display, like the
number of visual columns taken by a TAB or image. If you need
the coordinates of POSITION in character units, you should use
`posn-col-row', not this function."
+ (declare (side-effect-free t))
(nth 6 position))
(defsubst posn-timestamp (position)
"Return the timestamp of POSITION.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
+ (declare (side-effect-free t))
(nth 3 position))
(defun posn-string (position)
@@ -1813,6 +1846,7 @@ and `event-end' functions."
Value is a cons (STRING . STRING-POS), or nil if not a string.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
+ (declare (side-effect-free t))
(let ((x (nth 4 position)))
;; Apparently this can also be `handle' or `below-handle' (bug#13979).
(when (consp x) x)))
@@ -1822,6 +1856,7 @@ and `event-end' functions."
Value is a list (image ...), or nil if not an image.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
+ (declare (side-effect-free t))
(nth 7 position))
(defsubst posn-object (position)
@@ -1830,6 +1865,7 @@ Value is a list (image ...) for an image object, a cons cell
\(STRING . STRING-POS) for a string object, and nil for a buffer position.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions."
+ (declare (side-effect-free t))
(or (posn-image position) (posn-string position)))
(defsubst posn-object-x-y (position)
@@ -1838,12 +1874,14 @@ The return value has the form (DX . DY), where DX and DY are
given in pixels, and they are relative to the top-left corner of
the clicked glyph of object at POSITION. POSITION should be a
list of the form returned by `event-start' and `event-end'."
+ (declare (side-effect-free t))
(nth 8 position))
(defsubst posn-object-width-height (position)
"Return the pixel width and height of the object of POSITION.
The return value has the form (WIDTH . HEIGHT). POSITION should
be a list of the form returned by `event-start' and `event-end'."
+ (declare (side-effect-free t))
(nth 9 position))
(defun values--store-value (value)
@@ -1884,8 +1922,8 @@ be a list of the form returned by `event-start' and `event-end'."
(set-advertised-calling-convention 'unintern '(name obarray) "23.3")
(set-advertised-calling-convention 'indirect-function '(object) "25.1")
(set-advertised-calling-convention 'redirect-frame-focus '(frame focus-frame) "24.3")
-(set-advertised-calling-convention 'libxml-parse-xml-region '(start end &optional base-url) "27.1")
-(set-advertised-calling-convention 'libxml-parse-html-region '(start end &optional base-url) "27.1")
+(set-advertised-calling-convention 'libxml-parse-xml-region '(&optional start end base-url) "27.1")
+(set-advertised-calling-convention 'libxml-parse-html-region '(&optional start end base-url) "27.1")
(set-advertised-calling-convention 'time-convert '(time form) "29.1")
;;;; Obsolescence declarations for variables, and aliases.
@@ -2604,6 +2642,7 @@ The variable list SPEC is the same as in `if-let*'."
Uses the `derived-mode-parent' property of the symbol to trace backwards.
If you just want to check `major-mode', use `derived-mode-p'."
;; If MODE is an alias, then look up the real mode function first.
+ (declare (side-effect-free t))
(when-let ((alias (symbol-function mode)))
(when (symbolp alias)
(setq mode alias)))
@@ -2618,6 +2657,7 @@ If you just want to check `major-mode', use `derived-mode-p'."
(defun derived-mode-p (&rest modes)
"Non-nil if the current major mode is derived from one of MODES.
Uses the `derived-mode-parent' property of the symbol to trace backwards."
+ (declare (side-effect-free t))
(apply #'provided-mode-derived-p major-mode modes))
(defvar-local major-mode--suspended nil)
@@ -2741,6 +2781,7 @@ If TOGGLE has a `:menu-tag', that is used for the menu item's label."
(defsubst autoloadp (object)
"Non-nil if OBJECT is an autoload."
+ (declare (side-effect-free error-free))
(eq 'autoload (car-safe object)))
;; (defun autoload-type (object)
@@ -2785,6 +2826,7 @@ This is to `put' what `defalias' is to `fset'."
(defun locate-eln-file (eln-file)
"Locate a natively-compiled ELN-FILE by searching its load path.
This function looks in directories named by `native-comp-eln-load-path'."
+ (declare (important-return-value t))
(or (locate-file-internal (concat comp-native-version-dir "/" eln-file)
native-comp-eln-load-path)
(locate-file-internal
@@ -2816,6 +2858,7 @@ instead.
This function only works for symbols defined in Lisp files. For
symbols that are defined in C files, use `help-C-file-name'
instead."
+ (declare (important-return-value t))
(if (and (or (null type) (eq type 'defun))
(symbolp symbol)
(autoloadp (symbol-function symbol)))
@@ -2942,6 +2985,7 @@ argument, which will be called with the exit status of the
program before the output is collected. If STATUS-HANDLER is
nil, an error is signaled if the program returns with a non-zero
exit status."
+ (declare (important-return-value t))
(with-temp-buffer
(let ((status (apply #'call-process program nil (current-buffer) nil args)))
(if status-handler
@@ -2962,12 +3006,14 @@ exit status."
"Execute PROGRAM with ARGS, returning its output as a list of lines.
Signal an error if the program returns with a non-zero exit status.
Also see `process-lines-ignore-status'."
+ (declare (important-return-value t))
(apply #'process-lines-handling-status program nil args))
(defun process-lines-ignore-status (program &rest args)
"Execute PROGRAM with ARGS, returning its output as a list of lines.
The exit status of the program is ignored.
Also see `process-lines'."
+ (declare (important-return-value t))
(apply #'process-lines-handling-status program #'ignore args))
(defun process-live-p (process)
@@ -2996,6 +3042,7 @@ process."
(defun process-get (process propname)
"Return the value of PROCESS' PROPNAME property.
This is the last value stored with `(process-put PROCESS PROPNAME VALUE)'."
+ (declare (side-effect-free t))
(plist-get (process-plist process) propname))
(defun process-put (process propname value)
@@ -3581,6 +3628,8 @@ confusing to some users.")
"Return non-nil if the current command should prompt the user via a dialog box."
(and last-input-event ; not during startup
(or (consp last-nonmenu-event) ; invoked by a mouse event
+ (and (null last-nonmenu-event)
+ (consp last-input-event))
from--tty-menu-p) ; invoked via TTY menu
use-dialog-box))
@@ -3589,7 +3638,9 @@ confusing to some users.")
Return t if answer is \"y\" and nil if it is \"n\".
PROMPT is the string to display to ask the question; `y-or-n-p'
-adds \"(y or n) \" to it.
+adds \"(y or n) \" to it. If PROMPT is a non-empty string, and
+it ends with a non-space character, a space character will be
+appended to it.
If you bind the variable `help-form' to a non-nil value
while calling this function, then pressing `help-char'
@@ -3611,8 +3662,9 @@ If the user enters `recenter', `scroll-up', or `scroll-down'
responses, perform the requested window recentering or scrolling
and ask again.
-Under a windowing system a dialog box will be used if `last-nonmenu-event'
-is nil and `use-dialog-box' is non-nil.
+If dialog boxes are supported, this function will use a dialog box
+if `use-dialog-box' is non-nil and the last input event was produced
+by a mouse, or by some window-system gesture, or via a menu.
By default, this function uses the minibuffer to read the key.
If `y-or-n-p-use-read-key' is non-nil, `read-key' is used
@@ -3721,6 +3773,9 @@ This means that if BODY exits abnormally,
all of its changes to the current buffer are undone.
This works regardless of whether undo is enabled in the buffer.
+Do not call functions which edit the undo list within BODY; see
+`prepare-change-group'.
+
This mechanism is transparent to ordinary use of undo;
if undo is enabled in the buffer and BODY succeeds, the
user can undo the change normally."
@@ -3787,6 +3842,12 @@ Once you finish the group, don't use the handle again--don't try to
finish the same group twice. For a simple example of correct use, see
the source code of `atomic-change-group'.
+As long as this handle is still in use, do not call functions
+which edit the undo list: if it no longer contains its current
+value, Emacs will not be able to cancel the change group. This
+includes any \"amalgamating\" commands, such as `delete-char',
+which call `undo-auto-amalgamate'.
+
The handle records only the specified buffer. To make a multibuffer
change group, call this function once for each buffer you want to
cover, then use `nconc' to combine the returned values, like this:
@@ -3909,6 +3970,7 @@ If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there."
(defun copy-overlay (o)
"Return a copy of overlay O."
+ (declare (important-return-value t))
(let ((o1 (if (overlay-buffer o)
(make-overlay (overlay-start o) (overlay-end o)
;; FIXME: there's no easy way to find the
@@ -3991,6 +4053,7 @@ See also `locate-user-emacs-file'.")
(defsubst buffer-narrowed-p ()
"Return non-nil if the current buffer is narrowed."
+ (declare (side-effect-free t))
(/= (- (point-max) (point-min)) (buffer-size)))
(defmacro with-restriction (start end &rest rest)
@@ -4005,7 +4068,7 @@ to other portions of the buffer, use `without-restriction' with the
same LABEL argument.
\(fn START END [:label LABEL] BODY)"
- (declare (indent 0) (debug t))
+ (declare (indent 2) (debug t))
(if (eq (car rest) :label)
`(internal--with-restriction ,start ,end (lambda () ,@(cddr rest))
,(cadr rest))
@@ -4015,7 +4078,7 @@ same LABEL argument.
"Helper function for `with-restriction', which see."
(save-restriction
(narrow-to-region start end)
- (if label (internal--lock-narrowing label))
+ (if label (internal--label-restriction label))
(funcall body)))
(defmacro without-restriction (&rest rest)
@@ -4037,7 +4100,7 @@ are lifted.
(defun internal--without-restriction (body &optional label)
"Helper function for `without-restriction', which see."
(save-restriction
- (if label (internal--unlock-narrowing label))
+ (if label (internal--unlabel-restriction label))
(widen)
(funcall body)))
@@ -4117,7 +4180,8 @@ See Info node `(elisp)Security Considerations'.
If the optional POSIX argument is non-nil, ARGUMENT is quoted
according to POSIX shell quoting rules, regardless of the
system's shell."
-(cond
+ (declare (important-return-value t))
+ (cond
((and (not posix) (eq system-type 'ms-dos))
;; Quote using double quotes, but escape any existing quotes in
;; the argument with backslashes.
@@ -4234,6 +4298,7 @@ or byte-code."
(defun field-at-pos (pos)
"Return the field at position POS, taking stickiness etc into account."
+ (declare (important-return-value t))
(let ((raw-field (get-char-property (field-beginning pos) 'field)))
(if (eq raw-field 'boundary)
(get-char-property (1- (field-end pos)) 'field)
@@ -4249,6 +4314,7 @@ string; otherwise returna 40-character string.
Note that SHA-1 is not collision resistant and should not be used
for anything security-related. See `secure-hash' for
alternatives."
+ (declare (side-effect-free t))
(secure-hash 'sha1 object start end binary))
(defun function-get (f prop &optional autoload)
@@ -4256,6 +4322,7 @@ alternatives."
If AUTOLOAD is non-nil and F is autoloaded, try to load it
in the hope that it will set PROP. If AUTOLOAD is `macro', do it only
if it's an autoloaded macro."
+ (declare (important-return-value t))
(let ((val nil))
(while (and (symbolp f)
(null (setq val (get f prop)))
@@ -5211,6 +5278,7 @@ In other words, all back-references in the form `\\&' and `\\N'
are substituted with actual strings matched by the last search.
Optional FIXEDCASE, LITERAL, STRING and SUBEXP have the same
meaning as for `replace-match'."
+ (declare (side-effect-free t))
(let ((match (match-string 0 string)))
(save-match-data
(match-data--translate (- (match-beginning 0)))
@@ -5272,6 +5340,7 @@ A non-subregexp context is for example within brackets, or within a
repetition bounds operator `\\=\\{...\\}', or right after a `\\'.
If START is non-nil, it should be a position in REGEXP, smaller
than POS, and known to be in a subregexp context."
+ (declare (important-return-value t))
;; Here's one possible implementation, with the great benefit that it
;; reuses the regexp-matcher's own parser, so it understands all the
;; details of the syntax. A disadvantage is that it needs to match the
@@ -5353,6 +5422,7 @@ case that you wish to retain zero-length substrings when splitting on
whitespace, use `(split-string STRING split-string-default-separators)'.
Modifies the match data; use `save-match-data' if necessary."
+ (declare (important-return-value t))
(let* ((keep-nulls (not (if separators omit-nulls t)))
(rexp (or separators split-string-default-separators))
(start 0)
@@ -5410,6 +5480,7 @@ Only some SEPARATORs will work properly.
Note that this is not intended to protect STRINGS from
interpretation by shells, use `shell-quote-argument' for that."
+ (declare (important-return-value t))
(let* ((sep (or separator " "))
(re (concat "[\\\"]" "\\|" (regexp-quote sep))))
(mapconcat
@@ -5424,6 +5495,7 @@ interpretation by shells, use `shell-quote-argument' for that."
It understands Emacs Lisp quoting within STRING, such that
(split-string-and-unquote (combine-and-quote-strings strs)) == strs
The SEPARATOR regexp defaults to \"\\s-+\"."
+ (declare (important-return-value t))
(let ((sep (or separator "\\s-+"))
(i (string-search "\"" string)))
(if (null i)
@@ -5491,6 +5563,7 @@ To replace only the first match (if any), make REGEXP match up to \\\\='
and replace a sub-expression, e.g.
(replace-regexp-in-string \"\\\\(foo\\\\).*\\\\\\='\" \"bar\" \" foo foo\" nil nil 1)
=> \" bar foo\""
+ (declare (important-return-value t))
;; To avoid excessive consing from multiple matches in long strings,
;; don't just call `replace-match' continually. Walk down the
@@ -5846,6 +5919,7 @@ from `standard-syntax-table' otherwise."
(defun syntax-after (pos)
"Return the raw syntax descriptor for the char after POS.
If POS is outside the buffer's accessible portion, return nil."
+ (declare (important-return-value t))
(unless (or (< pos (point-min)) (>= pos (point-max)))
(let ((st (if parse-sexp-lookup-properties
(get-char-property pos 'syntax-table))))
@@ -6660,6 +6734,7 @@ Examples of version conversion:
\"22.8beta3\" (22 8 -2 3)
See documentation for `version-separator' and `version-regexp-alist'."
+ (declare (side-effect-free t))
(unless (stringp ver)
(error "Version must be a string"))
;; Change .x.y to 0.x.y
@@ -6790,6 +6865,7 @@ etc. That is, the trailing \".0\"s are insignificant. Also, version
string \"1\" is higher (newer) than \"1pre\", which is higher than \"1beta\",
which is higher than \"1alpha\", which is higher than \"1snapshot\".
Also, \"-GIT\", \"-CVS\" and \"-NNN\" are treated as snapshot versions."
+ (declare (side-effect-free t))
(version-list-< (version-to-list v1) (version-to-list v2)))
(defun version<= (v1 v2)
@@ -6800,6 +6876,7 @@ etc. That is, the trailing \".0\"s are insignificant. Also, version
string \"1\" is higher (newer) than \"1pre\", which is higher than \"1beta\",
which is higher than \"1alpha\", which is higher than \"1snapshot\".
Also, \"-GIT\", \"-CVS\" and \"-NNN\" are treated as snapshot versions."
+ (declare (side-effect-free t))
(version-list-<= (version-to-list v1) (version-to-list v2)))
(defun version= (v1 v2)
@@ -6810,6 +6887,7 @@ etc. That is, the trailing \".0\"s are insignificant. Also, version
string \"1\" is higher (newer) than \"1pre\", which is higher than \"1beta\",
which is higher than \"1alpha\", which is higher than \"1snapshot\".
Also, \"-GIT\", \"-CVS\" and \"-NNN\" are treated as snapshot versions."
+ (declare (side-effect-free t))
(version-list-= (version-to-list v1) (version-to-list v2)))
(defvar package--builtin-versions
@@ -6932,7 +7010,11 @@ returned list are in the same order as in TREE.
"Trim STRING of leading string matching REGEXP.
REGEXP defaults to \"[ \\t\\n\\r]+\"."
- (if (string-match (concat "\\`\\(?:" (or regexp "[ \t\n\r]+") "\\)") string)
+ (declare (important-return-value t))
+ (if (string-match (if regexp
+ (concat "\\`\\(?:" regexp "\\)")
+ "\\`[ \t\n\r]+")
+ string)
(substring string (match-end 0))
string))
@@ -6941,7 +7023,9 @@ REGEXP defaults to \"[ \\t\\n\\r]+\"."
REGEXP defaults to \"[ \\t\\n\\r]+\"."
(declare (side-effect-free t))
- (let ((i (string-match-p (concat "\\(?:" (or regexp "[ \t\n\r]+") "\\)\\'")
+ (let ((i (string-match-p (if regexp
+ (concat "\\(?:" regexp "\\)\\'")
+ "[ \t\n\r]+\\'")
string)))
(if i (substring string 0 i) string)))
@@ -6949,6 +7033,7 @@ REGEXP defaults to \"[ \\t\\n\\r]+\"."
"Trim STRING of leading and trailing strings matching TRIM-LEFT and TRIM-RIGHT.
TRIM-LEFT and TRIM-RIGHT default to \"[ \\t\\n\\r]+\"."
+ (declare (important-return-value t))
(string-trim-left (string-trim-right string trim-right) trim-left))
;; The initial anchoring is for better performance in searching matches.
diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 7c3069ca269..87ca80ce00a 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -1333,8 +1333,8 @@ Negative TAB-NUMBER counts tabs from the end of the tab bar."
(ws
;; `window-state-put' fails when called in the minibuffer
- (when (minibuffer-selected-window)
- (select-window (minibuffer-selected-window)))
+ (when (window-minibuffer-p)
+ (select-window (get-mru-window)))
(window-state-put ws nil 'safe)))
;; Select the minibuffer when it was active before switching tabs
@@ -1345,8 +1345,8 @@ Negative TAB-NUMBER counts tabs from the end of the tab bar."
;; another tab, then after going back to the first tab, it has
;; such inconsistent state that the current buffer is the minibuffer,
;; but its window is not active. So try to undo this mess.
- (when (and (minibufferp) (not (active-minibuffer-window)))
- (other-window 1))
+ (when (and (window-minibuffer-p) (not (active-minibuffer-window)))
+ (select-window (get-mru-window)))
(when tab-bar-history-mode
(setq tab-bar-history-omit t))
@@ -1569,24 +1569,26 @@ After the tab is created, the hooks in
(when tab-bar-new-tab-choice
;; Handle the case when it's called in the active minibuffer.
- (when (minibuffer-selected-window)
- (select-window (minibuffer-selected-window)))
- ;; Remove window parameters that can cause problems
- ;; with `delete-other-windows' and `split-window'.
- (unless (eq tab-bar-new-tab-choice 'clone)
- (set-window-parameter nil 'window-atom nil)
- (set-window-parameter nil 'window-side nil))
- (let ((ignore-window-parameters t))
+ (when (window-minibuffer-p)
+ (select-window (get-mru-window)))
+ (let ((ignore-window-parameters t)
+ (window--sides-inhibit-check t))
(if (eq tab-bar-new-tab-choice 'clone)
;; Create new unique windows with the same layout
(window-state-put (window-state-get))
+ ;; Remove window parameters that can cause problems
+ ;; with `delete-other-windows' and `split-window'.
+ (set-window-parameter nil 'window-atom nil)
(delete-other-windows)
(if (eq tab-bar-new-tab-choice 'window)
;; Create new unique window from remaining window
- (window-state-put (window-state-get))
+ (progn
+ (set-window-parameter nil 'window-side nil)
+ (window-state-put (window-state-get)))
;; Create a new window to get rid of old window parameters
;; (e.g. prev/next buffers) of old window.
- (split-window) (delete-window))))
+ (split-window nil window-safe-min-width t)
+ (delete-window))))
(let ((buffer
(if (and (functionp tab-bar-new-tab-choice)
diff --git a/lisp/term.el b/lisp/term.el
index e1392908b90..73f583ff718 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -948,6 +948,9 @@ underlying shell."
(define-key map [next] 'term-send-next)
(define-key map [xterm-paste] #'term--xterm-paste)
(define-key map [?\C-/] #'term-send-C-_)
+ (define-key map [?\C- ] #'term-send-C-@)
+ (define-key map [?\C-\M-/] #'term-send-C-M-_)
+ (define-key map [?\C-\M- ] #'term-send-C-M-@)
(when term-bind-function-keys
(dotimes (key 21)
@@ -1411,6 +1414,9 @@ Entry to this mode runs the hooks on `term-mode-hook'."
(defun term-send-del () (interactive) (term-send-raw-string "\e[3~"))
(defun term-send-backspace () (interactive) (term-send-raw-string "\C-?"))
(defun term-send-C-_ () (interactive) (term-send-raw-string "\C-_"))
+(defun term-send-C-@ () (interactive) (term-send-raw-string "\C-@"))
+(defun term-send-C-M-_ () (interactive) (term-send-raw-string "\e\C-_"))
+(defun term-send-C-M-@ () (interactive) (term-send-raw-string "\e\C-@"))
(defun term-send-function-key ()
"If bound to a function key, this will send that key to the underlying shell."
diff --git a/lisp/term/haiku-win.el b/lisp/term/haiku-win.el
index ae5a2f2fc6b..50c9cb5b9d4 100644
--- a/lisp/term/haiku-win.el
+++ b/lisp/term/haiku-win.el
@@ -36,6 +36,9 @@
(require 'menu-bar)
(require 'fontset)
(require 'dnd)
+;; For when building a --without-x configuration, where this is not
+;; preloaded.
+(eval-when-compile (require 'mwheel))
(add-to-list 'display-format-alist '(".*" . haiku))
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index ec3046decd4..92be5a52bf2 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -192,6 +192,7 @@ The value is a list of \(VAR VALUE VAR VALUE...).")
(define-key map "\C-c[" #'set-left-margin)
(define-key map "\C-c]" #'set-right-margin)
(define-key map "\M-o" #'facemenu-keymap)
+ (define-key map "\M-om" #'enriched-toggle-markup)
map)
"Keymap for Enriched mode.")
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index 9aa9b72c513..f98c3963b6f 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -383,7 +383,7 @@ Interactively, ARG is the numeric argument, and defaults to 1."
The syntax for this variable is like the syntax used inside of `[...]'
in a regular expression--but without the `[' and the `]'.
It is NOT a regular expression, and should follow the usual
-rules for the contents of a character alternative.
+rules for the contents of a bracket expression.
It defines a set of \"interesting characters\" to look for when setting
\(or searching for) tab stops, initially \"!-~\" (all printing characters).
For example, suppose that you are editing a table which is formatted thus:
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index 57284db36b1..916e0d89a1d 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -477,9 +477,9 @@ will deactivate it."
changed t)
(setq list (delete style list))))
(t
- (if (member style list)
- (delete style list)
- (setq list (append list (list style))))
+ (setq list (if (member style list)
+ (delete style list)
+ (append list (list style))))
(setq reftex-tables-dirty t
changed t)))
(when changed
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index fcb01fb6c08..294c9792f39 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -2025,7 +2025,7 @@ In the tex shell buffer this command behaves like `comint-send-input'."
(defun tex-display-shell ()
"Make the TeX shell buffer visible in a window."
- (display-buffer (tex-shell-buf) display-comint-buffer-action)
+ (display-buffer (tex-shell-buf) display-tex-shell-buffer-action)
(tex-recenter-output-buffer nil))
(defun tex-shell-sentinel (proc _msg)
@@ -2426,7 +2426,7 @@ Only applies the FSPEC to the args part of FORMAT."
(if cmds (tex-format-cmd (caar cmds) fspec))))))
(defun tex-cmd-doc-view (file)
- (pop-to-buffer (find-file-noselect file) display-comint-buffer-action))
+ (pop-to-buffer (find-file-noselect file)))
(defun tex-compile (dir cmd)
"Run a command CMD on current TeX buffer's file in DIR."
@@ -2681,7 +2681,7 @@ line LINE of the window, or centered if LINE is nil."
(window))
(if (null tex-shell)
(message "No TeX output buffer")
- (setq window (display-buffer tex-shell display-comint-buffer-action))
+ (setq window (display-buffer tex-shell display-tex-shell-buffer-action))
(with-selected-window window
(bury-buffer tex-shell)
(goto-char (point-max))
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el
index 7416c631c9f..bedf9ec92a5 100644
--- a/lisp/textmodes/texinfo.el
+++ b/lisp/textmodes/texinfo.el
@@ -409,6 +409,8 @@ REPORT-FN is the callback function."
;;; Texinfo mode
+(defvar fill-paragraph-separate nil)
+
;;;###autoload
(define-derived-mode texinfo-mode text-mode "Texinfo"
"Major mode for editing Texinfo files.
@@ -482,6 +484,10 @@ value of `texinfo-mode-hook'."
"\\)\\>"))
(setq-local require-final-newline mode-require-final-newline)
(setq-local indent-tabs-mode nil)
+ ;; This is used in 'texinfo--fill-paragraph'.
+ (setq-local fill-paragraph-separate (default-value 'paragraph-separate))
+ (setq-local paragraph-separate
+ (concat "@[a-zA-Z]*[ \n]\\|" paragraph-separate))
(setq-local paragraph-start (concat "@[a-zA-Z]*[ \n]\\|"
paragraph-start))
(setq-local fill-paragraph-function 'texinfo--fill-paragraph)
@@ -536,7 +542,13 @@ value of `texinfo-mode-hook'."
(defun texinfo--fill-paragraph (justify)
"Function to fill a paragraph in `texinfo-mode'."
- (let ((command-re "\\(@[a-zA-Z]+\\)[ \t\n]"))
+ (let ((command-re "\\(@[a-zA-Z]+\\)[ \t\n]")
+ ;; Kludge alert: we override paragraph-separate here because
+ ;; that is needed for filling @noindent and similar lines.
+ ;; The default Texinfo-specific paragraph-separate value,
+ ;; OTOH, is needed for auto-fill-mode, which doesn't call
+ ;; mode-specific functions.
+ (paragraph-separate fill-paragraph-separate))
(catch 'no-fill
(save-restriction
;; First check whether we're on a command line that can be
diff --git a/lisp/tmm.el b/lisp/tmm.el
index 1f9a877c20b..a4058594622 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -28,6 +28,7 @@
;;; Code:
(require 'electric)
+(require 'text-property-search)
(defgroup tmm nil
"Text mode access to menu-bar."
@@ -169,9 +170,11 @@ instead of executing it."
(error "Empty menu reached"))
(and tmm-km-list
(let ((index-of-default 0))
- (if tmm-mid-prompt
- (setq tmm-km-list (tmm-add-shortcuts tmm-km-list))
- t)
+ (setq tmm-km-list
+ (if tmm-mid-prompt
+ (tmm-add-shortcuts tmm-km-list)
+ ;; tmm-add-shortcuts reverses tmm-km-list internally.
+ (reverse tmm-km-list)))
;; Find the default item's index within the menu bar.
;; We use this to decide the initial minibuffer contents
;; and initial history position.
@@ -192,7 +195,11 @@ instead of executing it."
(or (not visible) (eval visible))))))
(setq index-of-default (1+ index-of-default)))
(setq tail (cdr tail)))))
- (let ((prompt (concat "^." (regexp-quote tmm-mid-prompt))))
+ (let ((prompt
+ (concat "^"
+ (if (stringp tmm-mid-prompt)
+ (concat "."
+ (regexp-quote tmm-mid-prompt))))))
(setq tmm--history
(reverse (delq nil
(mapcar
@@ -320,8 +327,22 @@ Stores a list of all the shortcuts in the free variable `tmm-short-cuts'."
(defun tmm-completion-delete-prompt ()
(with-current-buffer standard-output
- (goto-char (point-min))
- (delete-region (point) (search-forward "Possible completions are:\n"))))
+ (goto-char (point-min))
+ (let* (;; First candidate: first string with mouse-face
+ (menu-start-1 (or (and (get-text-property (point) 'mouse-face) (point))
+ (next-single-char-property-change (point) 'mouse-face)))
+ ;; Second candidate: an inactive menu item with tmm-inactive face
+ (tps-result (save-excursion
+ (text-property-search-forward 'face 'tmm-inactive t)))
+ (menu-start-2 (and tps-result (prop-match-beginning tps-result))))
+ (or (and (null menu-start-1) (null menu-start-2))
+ (delete-region (point)
+ ;; Use the smallest position of the two candidates.
+ (or (and menu-start-1 menu-start-2
+ (min menu-start-1 menu-start-2))
+ ;; Otherwise use the one that is non-nil.
+ menu-start-1
+ menu-start-2))))))
(defun tmm-remove-inactive-mouse-face ()
"Remove the mouse-face property from inactive menu items."
diff --git a/lisp/transient.el b/lisp/transient.el
index 4affc414fa6..78496843284 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -6,7 +6,7 @@
;; URL: https://github.com/magit/transient
;; Keywords: extensions
-;; Package-Version: 0.3.7.50
+;; Package-Version: 0.4.1
;; Package-Requires: ((emacs "26.1"))
;; SPDX-License-Identifier: GPL-3.0-or-later
@@ -1071,7 +1071,8 @@ example, sets a variable, use `transient-define-infix' instead.
(if (and desc (or (stringp desc) (symbolp desc)))
desc
(plist-get args :key)))))))
- (setq args (plist-put args :command `(defalias ',sym ,cmd)))))
+ (setq args (plist-put args :command
+ `(defalias ',sym ,(macroexp-quote cmd))))))
((or (stringp car)
(and car (listp car)))
(let ((arg pop))
@@ -1642,6 +1643,7 @@ of the corresponding object."
"<transient-history-prev>" #'transient--do-stay
"<transient-history-next>" #'transient--do-stay
"<universal-argument>" #'transient--do-stay
+ "<universal-argument-more>" #'transient--do-stay
"<negative-argument>" #'transient--do-minus
"<digit-argument>" #'transient--do-stay
"<top-level>" #'transient--do-quit-all
@@ -2188,39 +2190,35 @@ value. Otherwise return CHILDREN as is."
(defun transient--wrap-command ()
(let* ((prefix transient--prefix)
- (suffix this-command)
- (advice nil)
- (advice-interactive
- (lambda (spec)
- (let ((abort t))
- (unwind-protect
- (prog1 (advice-eval-interactive-spec spec)
- (setq abort nil))
- (when abort
+ (suffix this-command))
+ (letrec ((advice
+ (lambda (fn &rest args)
+ (interactive
+ (lambda (spec)
+ (let ((abort t))
+ (unwind-protect
+ (prog1 (advice-eval-interactive-spec spec)
+ (setq abort nil))
+ (when abort
+ (when-let ((unwind (oref prefix unwind-suffix)))
+ (transient--debug 'unwind-interactive)
+ (funcall unwind suffix))
+ (if (symbolp suffix)
+ (advice-remove suffix advice)
+ (remove-function suffix advice))
+ (oset prefix unwind-suffix nil))))))
+ (unwind-protect
+ (apply fn args)
(when-let ((unwind (oref prefix unwind-suffix)))
- (transient--debug 'unwind-interactive)
+ (transient--debug 'unwind-command)
(funcall unwind suffix))
(if (symbolp suffix)
(advice-remove suffix advice)
(remove-function suffix advice))
- (oset prefix unwind-suffix nil))))))
- (advice-body
- (lambda (fn &rest args)
- (unwind-protect
- (apply fn args)
- (when-let ((unwind (oref prefix unwind-suffix)))
- (transient--debug 'unwind-command)
- (funcall unwind suffix))
- (if (symbolp suffix)
- (advice-remove suffix advice)
- (remove-function suffix advice))
- (oset prefix unwind-suffix nil)))))
- (setq advice `(lambda (fn &rest args)
- (interactive ,advice-interactive)
- (apply ',advice-body fn args)))
- (if (symbolp suffix)
- (advice-add suffix :around advice '((depth . -99)))
- (add-function :around (var suffix) advice '((depth . -99))))))
+ (oset prefix unwind-suffix nil)))))
+ (if (symbolp suffix)
+ (advice-add suffix :around advice '((depth . -99)))
+ (add-function :around (var suffix) advice '((depth . -99)))))))
(defun transient--premature-post-command ()
(and (equal (this-command-keys-vector) [])
@@ -3042,10 +3040,12 @@ prompt."
(progn
(cl-call-next-method obj value)
(dolist (arg incomp)
- (when-let ((obj (cl-find-if (lambda (obj)
- (and (slot-boundp obj 'argument)
- (equal (oref obj argument) arg)))
- transient--suffixes)))
+ (when-let ((obj (cl-find-if
+ (lambda (obj)
+ (and (slot-exists-p obj 'argument)
+ (slot-boundp obj 'argument)
+ (equal (oref obj argument) arg)))
+ transient--suffixes)))
(let ((transient--unset-incompatible nil))
(transient-infix-set obj nil)))))
(cl-call-next-method obj value))))
@@ -3252,6 +3252,8 @@ have a history of their own.")
(with-current-buffer buf
(when transient-enable-popup-navigation
(setq focus (or (button-get (point) 'command)
+ (and (not (bobp))
+ (button-get (1- (point)) 'command))
(transient--heading-at-point))))
(erase-buffer)
(setq window-size-fixed t)
@@ -3383,7 +3385,9 @@ have a history of their own.")
(insert ?\n)
(insert (propertize " " 'display
`(space :align-to (,(nth (1+ c) cc)))))))
- (insert (make-string (max 1 (- (nth c cc) (current-column))) ?\s))
+ (when (> c 0)
+ (insert (make-string (max 1 (- (nth c cc) (current-column)))
+ ?\s)))
(when-let ((cell (nth r (nth c columns))))
(insert cell))
(when (= c (1- cs))
@@ -3933,8 +3937,13 @@ search instead."
(defun transient-isearch-abort ()
"Like `isearch-abort' but adapted for `transient'."
(interactive)
- (condition-case nil (isearch-abort) (quit))
- (transient--isearch-exit))
+ (let ((around (lambda (fn)
+ (condition-case nil (funcall fn) (quit))
+ (transient--isearch-exit))))
+ (advice-add 'isearch-cancel :around around)
+ (unwind-protect
+ (isearch-abort)
+ (advice-remove 'isearch-cancel around))))
(defun transient--isearch-setup ()
(select-window transient--window)
diff --git a/lisp/treesit.el b/lisp/treesit.el
index ed7ad280684..9556b315eab 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -251,8 +251,7 @@ than using NODE's type. PRED can also be a predicate function,
and more. See `treesit-thing-settings' for details.
If INCLUDE-NODE is non-nil, return NODE if it satisfies PRED."
- (let ((pred (or pred (rx-to-string
- `(bos ,(treesit-node-type node) eos))))
+ (let ((pred (or pred (rx bos (literal (treesit-node-type node)) eos)))
(result nil))
(cl-loop for cursor = (if include-node node
(treesit-node-parent node))
@@ -421,13 +420,16 @@ See `treesit-query-capture' for QUERY."
(defun treesit-query-range (node query &optional beg end)
"Query the current buffer and return ranges of captured nodes.
-QUERY, NODE, BEG, END are the same as in
-`treesit-query-capture'. This function returns a list
-of (START . END), where START and END specifics the range of each
-captured node. Capture names don't matter."
+QUERY, NODE, BEG, END are the same as in `treesit-query-capture'.
+This function returns a list of (START . END), where START and
+END specifics the range of each captured node. Capture names
+generally don't matter, but names that starts with an underscore
+are ignored."
(cl-loop for capture
in (treesit-query-capture node query beg end)
+ for name = (car capture)
for node = (cdr capture)
+ if (not (string-prefix-p "_" (symbol-name name)))
collect (cons (treesit-node-start node)
(treesit-node-end node))))
@@ -442,6 +444,9 @@ When updating the range of each parser in the buffer,
range to the range spanned by captured nodes. QUERY must be a
compiled query.
+Capture names generally don't matter, but names that starts with
+an underscore are ignored.
+
QUERY can also be a function, in which case it is called with 2
arguments, START and END. It should ensure parsers' ranges are
correct in the region between START and END.
@@ -461,6 +466,9 @@ like this:
Each QUERY is a tree-sitter query in either the string,
s-expression or compiled form.
+Capture names generally don't matter, but names that starts with
+an underscore are ignored.
+
For each QUERY, :KEYWORD and VALUE pairs add meta information to
it. For example,
@@ -1106,7 +1114,8 @@ parser notifying of the change."
(when treesit--font-lock-verbose
(message "Notifier received range: %s-%s"
(car range) (cdr range)))
- (put-text-property (car range) (cdr range) 'fontified nil))))
+ (with-silent-modifications
+ (put-text-property (car range) (cdr range) 'fontified nil)))))
;;; Indent
@@ -1202,7 +1211,6 @@ See `treesit-simple-indent-presets'.")
(save-excursion
(goto-char bol)
(looking-at-p comment-end-skip))))
- ;; TODO: Document.
(cons 'catch-all (lambda (&rest _) t))
(cons 'query (lambda (pattern)
@@ -1216,7 +1224,6 @@ See `treesit-simple-indent-presets'.")
(cons 'first-sibling (lambda (_n parent &rest _)
(treesit-node-start
(treesit-node-child parent 0))))
- ;; TODO: Document.
(cons 'nth-sibling (lambda (n &optional named)
(lambda (_n parent &rest _)
(treesit-node-start
@@ -1258,7 +1265,6 @@ See `treesit-simple-indent-presets'.")
(or (and this-line-has-prefix
(match-beginning 1))
(match-end 0)))))))
- ;; TODO: Document.
(cons 'grand-parent
(lambda (_n parent &rest _)
(treesit-node-start (treesit-node-parent parent))))
@@ -1329,10 +1335,10 @@ See `treesit-simple-indent-presets'.")
(mapcar (lambda (fn)
(funcall fn node parent bol))
fns)))))
- "A list of presets.
-These presets that can be used as MATHER and ANCHOR in
-`treesit-simple-indent-rules'. MACHTERs and ANCHORs are
-functions that take 3 arguments: NODE, PARENT and BOL.
+ "A list of indent rule presets.
+These presets can be used as MATCHER and ANCHOR values in
+`treesit-simple-indent-rules'. MATCHERs and ANCHORs are
+functions that take 3 arguments: NODE, PARENT, and BOL.
MATCHER:
@@ -1363,6 +1369,10 @@ no-node
Checks that NODE's type matches regexp TYPE.
+\(field-is NAME)
+
+ Checks that NODE's field name in PARENT matches regexp NAME.
+
\(n-p-gp NODE-TYPE PARENT-TYPE GRANDPARENT-TYPE)
Checks for NODE's, its parent's, and its grandparent's type.
@@ -1376,16 +1386,33 @@ comment-end
Matches if text after point matches `treesit-comment-end'.
+catch-all
+
+ Always matches.
+
ANCHOR:
first-sibling
Returns the start of the first child of PARENT.
+\(nth-sibling N &optional NAMED)
+
+ Returns the start of the Nth child of PARENT.
+ NAMED non-nil means count only named nodes.
+
parent
Returns the start of PARENT.
+grand-parent
+
+ Returns the start of PARENT's parent.
+
+great-grand-parent
+
+ Returns the start of PARENT's parent's parent.
+
parent-bol
Returns the beginning of non-space characters on the line where
@@ -1393,8 +1420,8 @@ parent-bol
standalone-parent
- Finds the first ancestor node (parent, grandparent, etc) that
- starts on its own line, and return the start of that node.
+ Finds the first ancestor node (parent, grandparent, etc.) that
+ starts on its own line, and returns the start of that node.
prev-sibling
@@ -1425,7 +1452,7 @@ prev-adaptive-prefix
end of the match, otherwise return nil. However, if the
current line begins with a prefix, return the beginning of
the prefix of the previous line instead, so that the two
- prefixes aligns. This is useful for a `indent-relative'-like
+ prefixes aligns. This is useful for an `indent-relative'-like
indent behavior for block comments.")
(defun treesit--simple-indent-eval (exp)
@@ -1783,12 +1810,28 @@ however, smaller in scope than sentences. This is used by
(defun treesit-forward-sexp (&optional arg)
"Tree-sitter implementation for `forward-sexp-function'.
-ARG is described in the docstring of `forward-sexp-function'."
+
+ARG is described in the docstring of `forward-sexp-function'. If
+there are no further sexps to move across, signal `scan-error'
+like `forward-sexp' does. If point is already at top-level,
+return nil without moving point."
(interactive "^p")
- (or arg (setq arg 1))
- (funcall
- (if (> arg 0) #'treesit-end-of-thing #'treesit-beginning-of-thing)
- treesit-sexp-type-regexp (abs arg) 'restricted))
+ (let ((arg (or arg 1))
+ (pred treesit-sexp-type-regexp))
+ (or (if (> arg 0)
+ (treesit-end-of-thing pred (abs arg) 'restricted)
+ (treesit-beginning-of-thing pred (abs arg) 'restricted))
+ ;; If we couldn't move, we should signal an error and report
+ ;; the obstacle, like `forward-sexp' does. If we couldn't
+ ;; find a parent, we simply return nil without moving point,
+ ;; then functions like `up-list' will signal "at top level".
+ (when-let* ((parent (nth 2 (treesit--things-around (point) pred)))
+ (boundary (if (> arg 0)
+ (treesit-node-child parent -1)
+ (treesit-node-child parent 0))))
+ (signal 'scan-error (list "No more sexp to move across"
+ (treesit-node-start boundary)
+ (treesit-node-end boundary)))))))
(defun treesit-transpose-sexps (&optional arg)
"Tree-sitter `transpose-sexps' function.
@@ -1944,6 +1987,10 @@ This is a tree-sitter equivalent of `beginning-of-defun'.
Behavior of this function depends on `treesit-defun-type-regexp'
and `treesit-defun-skipper'."
(interactive "^p")
+ (or (not (eq this-command 'treesit-beginning-of-defun))
+ (eq last-command 'treesit-beginning-of-defun)
+ (and transient-mark-mode mark-active)
+ (push-mark))
(let ((orig-point (point))
(success nil))
(catch 'done
@@ -1975,6 +2022,10 @@ this function depends on `treesit-defun-type-regexp' and
(interactive "^p\nd")
(let ((orig-point (point)))
(if (or (null arg) (= arg 0)) (setq arg 1))
+ (or (not (eq this-command 'treesit-end-of-defun))
+ (eq last-command 'treesit-end-of-defun)
+ (and transient-mark-mode mark-active)
+ (push-mark))
(catch 'done
(dotimes (_ 2) ; Not making progress is better than infloop.
@@ -2408,7 +2459,10 @@ instead of emitting a warning."
;; Check for each condition and set MSG.
(catch 'term
(when (not (treesit-available-p))
- (setq msg "tree-sitter library is not compiled with Emacs")
+ (setq msg (if (fboundp 'treesit-node-p)
+ ;; Windows loads tree-sitter dynakically.
+ "tree-sitter library is not available or failed to load"
+ "Emacs is not compiled with tree-sitter library"))
(throw 'term nil))
(when (> (position-bytes (max (point-min) (1- (point-max))))
treesit-max-buffer-size)
@@ -2437,24 +2491,24 @@ instead of emitting a warning."
(defun treesit-major-mode-setup ()
"Activate tree-sitter to power major-mode features.
-If `treesit-font-lock-settings' is non-nil, setup fontification and
-enable `font-lock-mode'.
+If `treesit-font-lock-settings' is non-nil, set up fontification
+and enable `font-lock-mode'.
-If `treesit-simple-indent-rules' is non-nil, setup indentation.
+If `treesit-simple-indent-rules' is non-nil, set up indentation.
-If `treesit-defun-type-regexp' is non-nil, setup
-`beginning/end-of-defun' functions.
+If `treesit-defun-type-regexp' is non-nil, set up
+`beginning-of-defun-function' and `end-of-defun-function'.
-If `treesit-defun-name-function' is non-nil, setup
+If `treesit-defun-name-function' is non-nil, set up
`add-log-current-defun'.
-If `treesit-simple-imenu-settings' is non-nil, setup Imenu.
+If `treesit-simple-imenu-settings' is non-nil, set up Imenu.
Make sure necessary parsers are created for the current buffer
before calling this function."
;; Font-lock.
(when treesit-font-lock-settings
- ;; `font-lock-mode' wouldn't setup properly if
+ ;; `font-lock-mode' wouldn't set up properly if
;; `font-lock-defaults' is nil, see `font-lock-specified-p'.
(setq-local font-lock-defaults
'( nil nil nil nil
@@ -2744,7 +2798,6 @@ in the region."
(defun treesit--explorer-jump (button)
"Mark the original text corresponding to BUTTON."
- (interactive)
(when (and (derived-mode-p 'treesit--explorer-tree-mode)
(buffer-live-p treesit--explorer-source-buffer))
(with-current-buffer treesit--explorer-source-buffer
@@ -2915,7 +2968,7 @@ window."
(display-buffer treesit--explorer-buffer
(cons nil '((inhibit-same-window . t))))
(treesit--explorer-refresh)
- ;; Setup variables and hooks.
+ ;; Set up variables and hooks.
(add-hook 'post-command-hook
#'treesit--explorer-post-command 0 t)
(add-hook 'kill-buffer-hook
@@ -2994,58 +3047,76 @@ See `treesit-language-source-alist' for details."
"History for OUT-DIR for `treesit-install-language-grammar'.")
;;;###autoload
-(defun treesit-install-language-grammar (lang)
+(defun treesit-install-language-grammar (lang &optional out-dir)
"Build and install the tree-sitter language grammar library for LANG.
Interactively, if `treesit-language-source-alist' doesn't already
have data for building the grammar for LANG, prompt for its
-repository URL and the C/C++ compiler to use.
+repository URL and the C/C++ compiler to use. The recipe built
+by the prompts are saved for the current session if the
+installation is successful and the grammar is loadable.
This command requires Git, a C compiler and (sometimes) a C++ compiler,
and the linker to be installed and on PATH. It also requires that the
recipe for LANG exists in `treesit-language-source-alist'.
See `exec-path' for the current path where Emacs looks for
-executable programs, such as the C/C++ compiler and linker."
+executable programs, such as the C/C++ compiler and linker.
+
+Interactively, prompt for the directory in which to install the
+compiled grammar files. Non-interactively, use OUT-DIR; if it's
+nil, the grammar is installed to the standard location, the
+\"tree-sitter\" directory under `user-emacs-directory'."
(interactive (list (intern
(completing-read
"Language: "
- (mapcar #'car treesit-language-source-alist)))))
+ (mapcar #'car treesit-language-source-alist)))
+ 'interactive))
(when-let ((recipe
(or (assoc lang treesit-language-source-alist)
- (treesit--install-language-grammar-build-recipe
- lang)))
+ (if (eq out-dir 'interactive)
+ (treesit--install-language-grammar-build-recipe
+ lang)
+ (signal 'treesit-error `("Cannot find recipe for this language" ,lang)))))
(default-out-dir
(or (car treesit--install-language-grammar-out-dir-history)
(locate-user-emacs-file "tree-sitter")))
(out-dir
- (read-string
- (format "Install to (default: %s): "
- default-out-dir)
- nil
- 'treesit--install-language-grammar-out-dir-history
- default-out-dir)))
+ (if (eq out-dir 'interactive)
+ (read-string
+ (format "Install to (default: %s): "
+ default-out-dir)
+ nil
+ 'treesit--install-language-grammar-out-dir-history
+ default-out-dir)
+ ;; When called non-interactively, OUT-DIR should
+ ;; default to DEFAULT-OUT-DIR.
+ (or out-dir default-out-dir))))
(condition-case err
- (apply #'treesit--install-language-grammar-1
- (cons out-dir recipe))
+ (progn
+ (apply #'treesit--install-language-grammar-1
+ (cons out-dir recipe))
+
+ ;; Check that the installed language grammar is loadable.
+ (pcase-let ((`(,available . ,err)
+ (treesit-language-available-p lang t)))
+ (if (not available)
+ (display-warning
+ 'treesit
+ (format "The installed language grammar for %s cannot be located or has problems (%s): %s"
+ lang (nth 0 err)
+ (string-join
+ (mapcar (lambda (x) (format "%s" x))
+ (cdr err))
+ " ")))
+ ;; If success, Save the recipe for the current session.
+ (setf (alist-get lang treesit-language-source-alist)
+ recipe))))
(error
(display-warning
'treesit
(format "Error encountered when installing language grammar: %s"
- err)))))
-
- ;; Check that the installed language grammar is loadable.
- (pcase-let ((`(,available . ,err)
- (treesit-language-available-p lang t)))
- (when (not available)
- (display-warning
- 'treesit
- (format "The installed language grammar for %s cannot be located or has problems (%s): %s"
- lang (nth 0 err)
- (string-join
- (mapcar (lambda (x) (format "%s" x))
- (cdr err))
- " "))))))
+ err))))))
(defun treesit--call-process-signal (&rest args)
"Run `call-process' with ARGS.
diff --git a/lisp/tutorial.el b/lisp/tutorial.el
index 0afe565c80b..eb494be8d4d 100644
--- a/lisp/tutorial.el
+++ b/lisp/tutorial.el
@@ -650,6 +650,7 @@ with some explanatory links."
(delete-region prop-start prop-end))))))
(defvar tutorial--starting-point)
+(put 'tutorial--starting-point 'permanent-local t)
(defun tutorial--save-on-kill ()
"Query the user about saving the tutorial when killing Emacs."
(when (buffer-live-p tutorial--buffer)
diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el
index 7ab5bdc276f..e0e16134ed3 100644
--- a/lisp/use-package/use-package-core.el
+++ b/lisp/use-package/use-package-core.el
@@ -76,6 +76,7 @@
:functions
:preface
:if :when :unless
+ :vc
:no-require
:catch
:after
@@ -1151,7 +1152,8 @@ meaning:
#'use-package-normalize-paths))
(defun use-package-handler/:load-path (name _keyword arg rest state)
- (let ((body (use-package-process-keywords name rest state)))
+ (let ((body (use-package-process-keywords name rest
+ (plist-put state :load-path arg))))
(use-package-concat
(mapcar #'(lambda (path)
`(eval-and-compile (add-to-list 'load-path ,path)))
@@ -1577,6 +1579,110 @@ no keyword implies `:all'."
(when use-package-compute-statistics
`((use-package-statistics-gather :config ',name t))))))
+;;;; :vc
+
+(defun use-package-vc-install (arg &optional local-path)
+ "Install a package with `package-vc.el'.
+ARG is a list of the form (NAME OPTIONS REVISION), as returned by
+`use-package-normalize--vc-arg'. If LOCAL-PATH is non-nil, call
+`package-vc-install-from-checkout'; otherwise, indicating a
+remote host, call `package-vc-install' instead."
+ (pcase-let* ((`(,name ,opts ,rev) arg)
+ (spec (if opts (cons name opts) name)))
+ (unless (package-installed-p name)
+ (if local-path
+ (package-vc-install-from-checkout local-path (symbol-name name))
+ (package-vc-install spec rev)))))
+
+(defun use-package-handler/:vc (name _keyword arg rest state)
+ "Generate code to install package NAME, or do so directly.
+When the use-package declaration is part of a byte-compiled file,
+install the package during compilation; otherwise, add it to the
+macro expansion and wait until runtime. The remaining arguments
+are as follows:
+
+_KEYWORD is ignored.
+
+ARG is the normalized input to the `:vc' keyword, as returned by
+the `use-package-normalize/:vc' function.
+
+REST is a plist of other (following) keywords and their
+arguments, each having already been normalised by the respective
+function.
+
+STATE is a plist of any state that keywords processed before
+`:vc' (see `use-package-keywords') may have accumulated.
+
+Also see the Info node `(use-package) Creating an extension'."
+ (let ((body (use-package-process-keywords name rest state))
+ (local-path (car (plist-get state :load-path))))
+ ;; See `use-package-handler/:ensure' for an explanation.
+ (if (bound-and-true-p byte-compile-current-file)
+ (funcall #'use-package-vc-install arg local-path) ; compile time
+ (push `(use-package-vc-install ',arg ,local-path) body)) ; runtime
+ body))
+
+(defun use-package-normalize--vc-arg (arg)
+ "Normalize possible arguments to the `:vc' keyword.
+ARG is a cons-cell of approximately the form that
+`package-vc-selected-packages' accepts, plus an additional `:rev'
+keyword. If `:rev' is not given, it defaults to `:last-release'.
+
+Returns a list (NAME SPEC REV), where (NAME . SPEC) is compliant
+with `package-vc-selected-packages' and REV is a (possibly nil,
+indicating the latest commit) revision."
+ (cl-flet* ((ensure-string (s)
+ (if (and s (stringp s)) s (symbol-name s)))
+ (ensure-symbol (s)
+ (if (and s (stringp s)) (intern s) s))
+ (normalize (k v)
+ (pcase k
+ (:rev (cond ((or (eq v :last-release) (not v)) :last-release)
+ ((eq v :newest) nil)
+ (t (ensure-string v))))
+ (:vc-backend (ensure-symbol v))
+ (_ (ensure-string v)))))
+ (pcase-let ((valid-kws '(:url :branch :lisp-dir :main-file :vc-backend :rev))
+ (`(,name . ,opts) arg))
+ (if (stringp opts) ; (NAME . VERSION-STRING) ?
+ (list name opts)
+ ;; Error handling
+ (cl-loop for (k _) on opts by #'cddr
+ if (not (member k valid-kws))
+ do (use-package-error
+ (format "Keyword :vc received unknown argument: %s. Supported keywords are: %s"
+ k valid-kws)))
+ ;; Actual normalization
+ (list name
+ (cl-loop for (k v) on opts by #'cddr
+ if (not (eq k :rev))
+ nconc (list k (normalize k v)))
+ (normalize :rev (plist-get opts :rev)))))))
+
+(defun use-package-normalize/:vc (name _keyword args)
+ "Normalize possible arguments to the `:vc' keyword.
+NAME is the name of the `use-package' declaration, _KEYWORD is
+ignored, and ARGS it a list of arguments given to the `:vc'
+keyword, the cdr of which is ignored.
+
+See `use-package-normalize--vc-arg' for most of the actual
+normalization work. Also see the Info
+node `(use-package) Creating an extension'."
+ (let ((arg (car args)))
+ (pcase arg
+ ((or 'nil 't) (list name)) ; guess name
+ ((pred symbolp) (list arg)) ; use this name
+ ((pred stringp) (list name arg)) ; version string + guess name
+ ((pred plistp) ; plist + guess name
+ (use-package-normalize--vc-arg (cons name arg)))
+ (`(,(pred symbolp) . ,(or (pred plistp) ; plist/version string + name
+ (pred stringp)))
+ (use-package-normalize--vc-arg arg))
+ (_ (use-package-error "Unrecognised argument to :vc.\
+ The keyword wants an argument of nil, t, a name of a package,\
+ or a cons-cell as accepted by `package-vc-selected-packages', where \
+ the accepted plist is augmented by a `:rev' keyword.")))))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; The main macro
@@ -1666,7 +1772,9 @@ Usage:
(compare with `custom-set-variables').
:custom-face Call `custom-set-faces' with each face definition.
:ensure Loads the package using package.el if necessary.
-:pin Pin the package to an archive."
+:pin Pin the package to an archive.
+:vc Install the package directly from a version control system
+ (using `package-vc.el')."
(declare (indent defun))
(unless (memq :disabled args)
(macroexp-progn
diff --git a/lisp/use-package/use-package-ensure.el b/lisp/use-package/use-package-ensure.el
index e0ea982594e..395a0bbda00 100644
--- a/lisp/use-package/use-package-ensure.el
+++ b/lisp/use-package/use-package-ensure.el
@@ -182,7 +182,8 @@ manually updated package."
;;;###autoload
(defun use-package-handler/:ensure (name _keyword ensure rest state)
- (let* ((body (use-package-process-keywords name rest state)))
+ (let* ((body (use-package-process-keywords name rest state))
+ (ensure (and (not (plist-member rest :vc)) ensure)))
;; We want to avoid installing packages when the `use-package' macro is
;; being macro-expanded by elisp completion (see `lisp--local-variables'),
;; but still install packages when byte-compiling, to avoid requiring
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el
index 832e3933df9..42c313b3f07 100644
--- a/lisp/vc/ediff-diff.el
+++ b/lisp/vc/ediff-diff.el
@@ -142,7 +142,7 @@ The status can be =diff(A), =diff(B), or =diff(A+B).")
;;; Fine differences
-(ediff-defvar-local ediff-auto-refine (if (ediff-has-face-support-p) 'on 'nix)
+(ediff-defvar-local ediff-auto-refine 'on
"If `on', Ediff auto-highlights fine diffs for the current diff region.
If `off', auto-highlighting is not used. If `nix', no fine diffs are shown
at all, unless the user force-refines the region by hitting `*'.
diff --git a/lisp/vc/vc-annotate.el b/lisp/vc/vc-annotate.el
index 70057a6aac7..d83660f9d79 100644
--- a/lisp/vc/vc-annotate.el
+++ b/lisp/vc/vc-annotate.el
@@ -330,7 +330,7 @@ cover the range from the oldest annotation to the newest."
["Show changeset diff of revision at line"
vc-annotate-show-changeset-diff-revision-at-line
:enable
- (eq 'repository (vc-call-backend ,vc-annotate-backend 'revision-granularity))
+ (eq 'repository (vc-call-backend vc-annotate-backend 'revision-granularity))
:help "Visit the diff of the revision at line from its previous revision"]
["Visit revision at line" vc-annotate-find-revision-at-line
:help "Visit the revision identified in the current line"]))
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index 6e0246ea762..145697d1b06 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -26,6 +26,7 @@
(require 'vc-rcs)
(eval-when-compile (require 'vc))
+(eval-when-compile (require 'cl-lib))
(require 'log-view)
(declare-function vc-checkout "vc" (file &optional rev))
@@ -813,7 +814,10 @@ individually should stay local."
'yes 'no))))))))))))
(defun vc-cvs-repository-hostname (dirname)
- "Hostname of the CVS server associated to workarea DIRNAME."
+ "Hostname of the CVS server associated to workarea DIRNAME.
+
+Return nil if there is no hostname, or the hostname could not be
+determined because the CVS/Root specification is invalid."
(let ((rootname (expand-file-name "CVS/Root" dirname)))
(when (file-readable-p rootname)
(with-temp-buffer
@@ -822,73 +826,146 @@ individually should stay local."
default-file-name-coding-system)))
(vc-insert-file rootname))
(goto-char (point-min))
- (nth 2 (vc-cvs-parse-root
- (buffer-substring (point)
- (line-end-position))))))))
-
-(defun vc-cvs-parse-uhp (path)
- "Parse user@host/path into (user@host /path)."
- (if (string-match "\\([^/]+\\)\\(/.*\\)" path)
- (list (match-string 1 path) (match-string 2 path))
- (list nil path)))
-
-(defun vc-cvs-parse-root (root)
- "Split CVS ROOT specification string into a list of fields.
-A CVS root specification of the form
- [:METHOD:][[USER@]HOSTNAME]:?/path/to/repository
-is converted to a normalized record with the following structure:
- \(METHOD USER HOSTNAME CVS-ROOT).
-The default METHOD for a CVS root of the form
- /path/to/repository
-is `local'.
-The default METHOD for a CVS root of the form
- [USER@]HOSTNAME:/path/to/repository
-is `ext'.
-For an empty string, nil is returned (invalid CVS root)."
- ;; Split CVS root into colon separated fields (0-4).
- ;; The `x:' makes sure, that leading colons are not lost;
- ;; `HOST:/PATH' is then different from `:METHOD:/PATH'.
- (let* ((root-list (cdr (split-string (concat "x:" root) ":")))
- (len (length root-list))
- ;; All syntactic varieties will get a proper METHOD.
- (root-list
- (cond
- ((= len 0)
- ;; Invalid CVS root
- nil)
- ((= len 1)
- (let ((uhp (vc-cvs-parse-uhp (car root-list))))
- (cons (if (car uhp) "ext" "local") uhp)))
- ((= len 2)
- ;; [USER@]HOST:PATH => method `ext'
- (and (not (equal (car root-list) ""))
- (cons "ext" root-list)))
- ((= len 3)
- ;; :METHOD:PATH or :METHOD:USER@HOSTNAME/PATH
- (cons (cadr root-list)
- (vc-cvs-parse-uhp (nth 2 root-list))))
- (t
- ;; :METHOD:[USER@]HOST:PATH
- (cdr root-list)))))
- (if root-list
- (let ((method (car root-list))
- (uhost (or (cadr root-list) ""))
- (root (nth 2 root-list))
- user host)
- ;; Split USER@HOST
- (if (string-match "\\(.*\\)@\\(.*\\)" uhost)
- (setq user (match-string 1 uhost)
- host (match-string 2 uhost))
- (setq host uhost))
- ;; Remove empty HOST
- (and (equal host "")
- (setq host nil))
- ;; Fix windows style CVS root `:local:C:\\project\\cvs\\some\\dir'
- (and host
- (equal method "local")
- (setq root (concat host ":" root) host nil))
- ;; Normalize CVS root record
- (list method user host root)))))
+ (let ((hostname
+ (nth 2 (vc-cvs-parse-root
+ (buffer-substring (point)
+ (line-end-position))))))
+ (unless (string= hostname "")
+ hostname))))))
+
+(cl-defun vc-cvs-parse-root (root)
+ "Split CVS Root specification string into a list of fields.
+
+Convert a CVS Root specification of the form
+
+ [:METHOD:][[[USER][:PASSWORD]@]HOSTNAME][:[PORT]]/path/to/repository
+
+to a normalized record with the following structure:
+
+ \(METHOD USER HOSTNAME FILENAME).
+
+The default METHOD for a CVS root of the form /path/to/repository
+is \"local\". The default METHOD for a CVS root of the
+form [USER@]HOSTNAME:/path/to/repository is \"ext\".
+
+If METHOD is explicitly \"local\" or \"fork\", then the repository's
+file name starts immediately after the [:METHOD:] part. This must be
+used on MS-Windows platforms where absolute file names start with a
+drive letter.
+
+Note that, except for METHOD, which is defaulted if not present,
+other optional parts will default to nil if not syntactically
+present, or to an empty string if present and delimited, but empty.
+
+Return nil in case of an unparsable CVS Root (including the
+empty string), and issue a warning in that case.
+
+This function doesn't check that an explicit method is valid, or
+that some fields which should not be empty for a given method,
+are empty or nil."
+ (let (method user password hostname port filename
+ ;; IDX set by `next-delim' as a side-effect
+ idx)
+ (cl-labels
+ ((invalid (reason &rest args)
+ (apply #'lwarn '(vc-cvs) :warning
+ (concat "vc-cvs-parse-root: Can't parse '%s': " reason)
+ root args)
+ (cl-return-from vc-cvs-parse-root))
+ (no-filename ()
+ (invalid "No repository file name"))
+ (next-delim (start)
+ ;; Search for a :, @ or /. If none is found, there can be
+ ;; no file name at the end, which is an error.
+ (setq idx (string-match-p "[:@/]" root start))
+ (if idx (aref root idx) (no-filename)))
+ (grab-user (start end)
+ (setq user (substring root start end)))
+ (at-hostname-block (start)
+ (let ((cand (next-delim start)))
+ (cl-ecase cand
+ (?:
+ ;; Could be : before PORT and /path/to/repository, or
+ ;; before PASSWORD. We search for a @ to disambiguate.
+ (let ((colon-idx idx)
+ (cand (next-delim (1+ idx))))
+ (cl-ecase cand
+ (?:
+ (invalid
+ (eval-when-compile
+ (concat "Hostname block: Superfluous : at %s "
+ "or missing @ before"))
+ idx))
+ (?@
+ ;; USER:PASSWORD case
+ (grab-user start colon-idx)
+ (delimited-password (1+ colon-idx) idx))
+ (?/
+ ;; HOSTNAME[:[PORT]] case
+ (grab-hostname start colon-idx)
+ (delimited-port (1+ colon-idx) idx)))))
+ (?@
+ (grab-user start idx)
+ (at-hostname (1+ idx)))
+ (?/
+ (if (/= idx start)
+ (grab-hostname start idx))
+ (at-filename idx)))))
+ (delimited-password (start end)
+ (setq password (substring root start end))
+ (at-hostname (1+ end)))
+ (grab-hostname (start end)
+ (setq hostname (substring root start end)))
+ (at-hostname (start)
+ (let ((cand (next-delim start)))
+ (cl-ecase cand
+ (?:
+ (grab-hostname start idx)
+ (at-port (1+ idx)))
+ (?@
+ (invalid "Hostname: Unexpected @ after index %s" start))
+ (?/
+ (grab-hostname start idx)
+ (at-filename idx)))))
+ (delimited-port (start end)
+ (setq port (substring root start end))
+ (at-filename end))
+ (at-port (start)
+ (let ((end (string-match-p "/" root start)))
+ (if end (delimited-port start end) (no-filename))))
+ (at-filename (start)
+ (setq filename (substring root start))))
+ (when (string= root "")
+ (invalid "Empty Root string"))
+ ;; Check for a starting ":"
+ (if (= (aref root 0) ?:)
+ ;; 3 possible cases:
+ ;; - :METHOD: at start. METHOD doesn't have any @.
+ ;; - :PASSWORD@ at start. Must be followed by HOSTNAME.
+ ;; - :[PORT] at start. Must be followed immediately by a "/".
+ ;; So, find the next character equal to ":", "@" or "/".
+ (let ((cand (next-delim 1)))
+ (cl-ecase cand
+ (?:
+ ;; :METHOD: case
+ (setq method (substring root 1 idx))
+ ;; Continue
+ (if (member method '("local" "fork"))
+ (at-filename (1+ idx))
+ (at-hostname-block (1+ idx))))
+ (?@
+ ;; :PASSWORD@HOSTNAME case
+ (delimited-password 1 idx))
+ (?/
+ ;; :[PORT] case.
+ (at-port 1 idx))))
+ ;; No starting ":", there can't be any METHOD.
+ (at-hostname-block 0)))
+ (unless method
+ ;; Default the method if not specified
+ (setq method
+ (if (or user password hostname port) "ext" "local")))
+ (list method user hostname filename)))
;; XXX: This does not work correctly for subdirectories. "cvs status"
;; information is context sensitive, it contains lines like:
@@ -899,7 +976,7 @@ For an empty string, nil is returned (invalid CVS root)."
(defun vc-cvs-parse-status (&optional full)
"Parse output of \"cvs status\" command in the current buffer.
Set file properties accordingly. Unless FULL is t, parse only
-essential information. Note that this can never set the `ignored'
+essential information. Note that this can never set the `ignored'
state."
(let (file status missing)
(goto-char (point-min))
@@ -955,13 +1032,16 @@ state."
(cdr (assoc (char-after) translation)))
result)
(cond
- ((looking-at "cvs update: warning: \\(.*\\) was lost")
+ ((looking-at "cvs update: warning: .* was lost")
;; Format is:
;; cvs update: warning: FILENAME was lost
;; U FILENAME
- (push (list (match-string 1) 'missing) result)
- ;; Skip the "U" line
- (forward-line 1))
+ ;; with FILENAME in the first line possibly enclosed in
+ ;; quotes (since CVS 1.12.3). To avoid problems, use the U
+ ;; line where name is never quoted.
+ (forward-line 1)
+ (when (looking-at "^U \\(.*\\)$")
+ (push (list (match-string 1) 'missing) result)))
((looking-at "cvs update: New directory `\\(.*\\)' -- ignored")
(push (list (match-string 1) 'unregistered) result))))
(forward-line 1))
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index a3469b71386..dfca944dc74 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1723,14 +1723,19 @@ This requires git 1.8.4 or later, for the \"-L\" option of \"git log\"."
(declare-function vc-annotate-convert-time "vc-annotate" (&optional time))
+(autoload 'decoded-time-set-defaults "time-date")
+(autoload 'iso8601-parse "iso8601")
+
(defun vc-git-annotate-time ()
- (and (re-search-forward "^[0-9a-f^]+[^()]+(.*?\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\) \\(:?\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\) \\([-+0-9]+\\)\\)? *[0-9]+) " nil t)
- (vc-annotate-convert-time
- (apply #'encode-time (mapcar (lambda (match)
- (if (match-beginning match)
- (string-to-number (match-string match))
- 0))
- '(6 5 4 3 2 1 7))))))
+ (and (re-search-forward "^[0-9a-f^]+[^()]+(.*?\\([0-9]+-[0-9]+-[0-9]+\\)\\(?: \\([0-9]+:[0-9]+:[0-9]+\\) \\([-+0-9]+\\)\\)? +[0-9]+) " nil t)
+ (let* ((dt (match-string 1))
+ (dt (if (not (match-beginning 2)) dt
+ ;; Format as ISO 8601.
+ (concat dt "T" (match-string 2) (match-string 3))))
+ (decoded (ignore-errors (iso8601-parse dt))))
+ (and decoded
+ (vc-annotate-convert-time
+ (encode-time (decoded-time-set-defaults decoded)))))))
(defun vc-git-annotate-extract-revision-at-line ()
(save-excursion
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 5bab9aa529e..182d76882bb 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -578,7 +578,7 @@ This requires hg 4.4 or later, for the \"-L\" option of \"hg log\"."
(defun vc-hg-annotate-command (file buffer &optional revision)
"Execute \"hg annotate\" on FILE, inserting the contents in BUFFER.
Optional arg REVISION is a revision to annotate from."
- (apply #'vc-hg-command buffer 0 file "annotate" "-dq" "-n"
+ (apply #'vc-hg-command buffer 'async file "annotate" "-dq" "-n"
(append (vc-switches 'hg 'annotate)
(if revision (list (concat "-r" revision))))))
@@ -1372,17 +1372,28 @@ REV is the revision to check out into WORKFILE."
;; Follows vc-exec-after.
(declare-function vc-set-async-update "vc-dispatcher" (process-buffer))
+(defvar vc-hg--program-version nil)
+
+(defun vc-hg--program-version ()
+ (or vc-hg--program-version
+ (setq vc-hg--program-version
+ (with-temp-buffer
+ (condition-case _ (vc-hg-command t 0 nil "version")
+ (error "0")
+ (:success
+ (goto-char (point-min))
+ (re-search-forward "Mercurial Distributed SCM (version \\([0-9][0-9.]+\\)")
+ (string-trim-right (match-string 1) "\\.")))))))
+
(defun vc-hg-dir-status-files (dir files update-function)
;; XXX: We can't pass DIR directly to 'hg status' because that
;; returns all ignored files if FILES is non-nil (bug#22481).
(let ((default-directory dir))
- ;; TODO: Use "--config 'status.relative=1'" instead of "re:"
- ;; when we're allowed to depend on Mercurial 4.2+
- ;; (it's a bit faster).
- (vc-hg-command (current-buffer) 'async files
- "status" "re:" "-I" "."
- (concat "-mardu" (if files "i"))
- "-C"))
+ (apply #'vc-hg-command (current-buffer) 'async files
+ "status" (concat "-mardu" (if files "i")) "-C"
+ (if (version<= "4.2" (vc-hg--program-version))
+ '("--config" "commands.status.relative=1")
+ '("re:" "-I" "."))))
(vc-run-delayed
(vc-hg-after-dir-status update-function)))
diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el
index e242d1e48e2..00a7659209e 100644
--- a/lisp/vc/vc-hooks.el
+++ b/lisp/vc/vc-hooks.el
@@ -897,6 +897,15 @@ In the latter case, VC mode is deactivated for this buffer."
(bindings--define-key map [vc-create-tag]
'(menu-item "Create Tag" vc-create-tag
:help "Create version tag"))
+ (bindings--define-key map [vc-print-branch-log]
+ '(menu-item "Show Branch History..." vc-print-branch-log
+ :help "List the change log for another branch"))
+ (bindings--define-key map [vc-switch-branch]
+ '(menu-item "Switch Branch..." vc-switch-branch
+ :help "Switch to another branch"))
+ (bindings--define-key map [vc-create-branch]
+ '(menu-item "Create Branch..." vc-create-branch
+ :help "Make a new branch"))
(bindings--define-key map [separator1] menu-bar-separator)
(bindings--define-key map [vc-annotate]
'(menu-item "Annotate" vc-annotate
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 32b0d5d7556..6c3094719ed 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1121,10 +1121,15 @@ possible values of STATE are explained in `vc-state', and MODEL in
the returned list.
BEWARE: this function may change the current buffer."
- (with-current-buffer (or (buffer-base-buffer) (current-buffer))
- (vc-deduce-fileset-1 not-state-changing
- allow-unregistered
- state-model-only-files)))
+ (let (new-buf res)
+ (with-current-buffer (or (buffer-base-buffer) (current-buffer))
+ (setq res
+ (vc-deduce-fileset-1 not-state-changing
+ allow-unregistered
+ state-model-only-files))
+ (setq new-buf (current-buffer)))
+ (set-buffer new-buf)
+ res))
(defun vc-deduce-fileset-1 (not-state-changing
allow-unregistered
@@ -2504,9 +2509,13 @@ Otherwise, return nil."
(defun vc-create-tag (dir name branchp)
"Descending recursively from DIR, make a tag called NAME.
For each registered file, the working revision becomes part of
-the named configuration. If the prefix argument BRANCHP is
-given, the tag is made as a new branch and the files are
-checked out in that new branch."
+the configuration identified by the tag.
+If BRANCHP is non-nil (interactively, the prefix argument), the
+tag NAME is a new branch, and the files are checked out and
+updated to reflect their revisions on that branch.
+In interactive use, DIR is `default-directory' for repository-granular
+VCSes (all the modern decentralized VCSes belong to this group),
+otherwise the command will prompt for DIR."
(interactive
(let ((granularity
(vc-call-backend (vc-responsible-backend default-directory)
@@ -2529,9 +2538,23 @@ checked out in that new branch."
;;;###autoload
(defun vc-create-branch (dir name)
- "Descending recursively from DIR, make a branch called NAME.
-After a new branch is made, the files are checked out in that new branch.
-Uses `vc-create-tag' with the non-nil arg `branchp'."
+ "Make a branch called NAME in directory DIR.
+After making the new branch, check out the branch, i.e. update the
+files in the tree to their revisions on the branch.
+
+Interactively, prompt for the NAME of the branch.
+
+With VCSes that maintain version information per file, this command also
+prompts for the directory DIR whose files, recursively, will be tagged
+with the NAME of new branch. For VCSes that maintain version
+information for the entire repository (all the modern decentralized
+VCSes belong to this group), DIR is always the `default-directory'.
+
+Finally, this command might prompt for the branch or tag from which to
+start (\"fork\") the new branch, with completion candidates including
+all the known branches and tags in the repository.
+
+This command invokes `vc-create-tag' with the non-nil BRANCHP argument."
(interactive
(let ((granularity
(vc-call-backend (vc-responsible-backend default-directory)
@@ -2545,17 +2568,17 @@ Uses `vc-create-tag' with the non-nil arg `branchp'."
;;;###autoload
(defun vc-retrieve-tag (dir name &optional branchp)
- "For each file in or below DIR, retrieve their tagged version NAME.
+ "For each file in or below DIR, retrieve their version identified by tag NAME.
NAME can name a branch, in which case this command will switch to the
named branch in the directory DIR.
Interactively, prompt for DIR only for VCS that works at file level;
-otherwise use the repository root of the current buffer.
+otherwise use the root directory of the current buffer's VC tree.
If NAME is empty, it refers to the latest revisions of the current branch.
If locking is used for the files in DIR, then there must not be any
locked files at or below DIR (but if NAME is empty, locked files are
allowed and simply skipped).
-If the prefix argument BRANCHP is given, switch the branch
-and check out the files in that branch.
+If BRANCHP is non-nil (interactively, the prefix argument), switch to the
+branch and check out and update the files to their version on that branch.
This function runs the hook `vc-retrieve-tag-hook' when finished."
(interactive
(let* ((granularity
@@ -2596,7 +2619,12 @@ This function runs the hook `vc-retrieve-tag-hook' when finished."
;;;###autoload
(defun vc-switch-branch (dir name)
"Switch to the branch NAME in the directory DIR.
-If NAME is empty, it refers to the latest revisions of the current branch.
+If NAME is empty, it refers to the latest revision of the current branch.
+Interactively, prompt for DIR only for VCS that works at file level;
+otherwise use the root directory of the current buffer's VC tree.
+Interactively, prompt for the NAME of the branch.
+After switching to the branch, check out and update the files to their
+version on that branch.
Uses `vc-retrieve-tag' with the non-nil arg `branchp'."
(interactive
(let* ((granularity
@@ -2851,7 +2879,8 @@ with its diffs (if the underlying VCS backend supports that)."
;;;###autoload
(defun vc-print-branch-log (branch)
- "Show the change log for BRANCH root in a window."
+ "Show the change log for BRANCH in another window.
+The command prompts for the branch whose change log to show."
(interactive
(let* ((backend (vc-responsible-backend default-directory))
(rootdir (vc-call-backend backend 'root default-directory)))
@@ -3604,7 +3633,8 @@ to provide the `find-revision' operation instead."
(file-buffer (or (get-file-buffer file) (current-buffer))))
(message "Checking out %s..." file)
(let ((failed t)
- (backup-name (car (find-backup-file-name file))))
+ (backup-name (when (file-exists-p file)
+ (car (find-backup-file-name file)))))
(when backup-name
(copy-file file backup-name 'ok-if-already-exists 'keep-date)
(unless (file-writable-p file)
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index bb19706129e..d9b91cfb6ea 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -331,7 +331,7 @@ names."
(vminor
(w32-read-registry 'HKLM key
"CurrentMinorVersionNumber")))
- (if (and vmajor vmajor)
+ (if (and vmajor vminor)
(format "%d.%d" vmajor vminor)
(w32-read-registry 'HKLM key "CurrentVersion")))))
(os-csd (w32-read-registry 'HKLM key "CSDVersion"))
diff --git a/lisp/wdired.el b/lisp/wdired.el
index 5572dcb32f3..5c745cc9aab 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -470,6 +470,8 @@ non-nil means return old filename."
(insert wdired--old-content)
(goto-char wdired--old-point))
(wdired-change-to-dired-mode)
+ ;; Update markers in `dired-subdir-alist'
+ (dired-build-subdir-alist)
(set-buffer-modified-p nil)
(setq buffer-undo-list nil)
(message "Changes aborted"))
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 60bd2baa6fb..234f3d9b74d 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -281,71 +281,79 @@ The user is asked to choose between each NAME from ITEMS.
If ITEMS has simple item definitions, then this function returns the VALUE of
the chosen element. If ITEMS is a keymap, then the return value is the symbol
in the key vector, as in the argument of `define-key'."
- (cond ((and (< (length items) widget-menu-max-size)
- event (display-popup-menus-p))
- ;; Mouse click.
- (if (keymapp items)
- ;; Modify the keymap prompt, and then restore the old one, if any.
- (let ((prompt (keymap-prompt items)))
- (unwind-protect
- (progn
- (setq items (delete prompt items))
- (push title (cdr items))
- ;; Return just the first element of the list of events.
- (car (x-popup-menu event items)))
- (setq items (delete title items))
- (when prompt
- (push prompt (cdr items)))))
- (x-popup-menu event (list title (cons "" items)))))
- ((or widget-menu-minibuffer-flag
- (> (length items) widget-menu-max-shortcuts))
- (when (keymapp items)
- (setq items (widget--simplify-menu items)))
- ;; Read the choice of name from the minibuffer.
- (setq items (cl-remove-if 'stringp items))
- (let ((val (completing-read (concat title ": ") items nil t)))
- (if (stringp val)
- (let ((try (try-completion val items)))
- (when (stringp try)
- (setq val try))
- (cdr (assoc val items))))))
- (t
- (when (keymapp items)
- (setq items (widget--simplify-menu items)))
- ;; Construct a menu of the choices
- ;; and then use it for prompting for a single character.
- (let* ((next-digit ?0)
- alist choice some-choice-enabled value)
- (with-current-buffer (get-buffer-create " widget-choose")
- (erase-buffer)
- (insert "Available choices:\n\n")
- (while items
- (setq choice (pop items))
- (when (consp choice)
- (let* ((name (substitute-command-keys (car choice)))
- (function (cdr choice)))
- (insert (format "%c = %s\n" next-digit name))
- (push (cons next-digit function) alist)
- (setq some-choice-enabled t)))
- ;; Allocate digits to disabled alternatives
- ;; so that the digit of a given alternative never varies.
- (setq next-digit (1+ next-digit)))
- (insert "\nC-g = Quit")
- (goto-char (point-min))
- (forward-line))
- (or some-choice-enabled
- (error "None of the choices is currently meaningful"))
- (save-window-excursion
- ;; Select window to be able to scroll it from minibuffer
- (with-selected-window
- (display-buffer (get-buffer " widget-choose")
- '(display-buffer-in-direction
- (direction . bottom)
- (window-height . fit-window-to-buffer)))
- (setq value (read-char-choice
- (format "%s: " title)
- (mapcar #'car alist)))))
- (cdr (assoc value alist))))))
+ ;; Apply quote substitution to customize choice menu item text,
+ ;; whether it occurs in a widget buffer or in a popup menu.
+ (let ((items (mapc (lambda (x)
+ (when (consp x)
+ (dotimes (i (1- (length x)))
+ (when (char-or-string-p (nth i x))
+ (setcar (nthcdr i x)
+ (substitute-command-keys
+ (car (nthcdr i x))))))))
+ items)))
+ (cond ((and (< (length items) widget-menu-max-size)
+ event (display-popup-menus-p))
+ ;; Mouse click.
+ (if (keymapp items)
+ ;; Modify the keymap prompt, and then restore the old one, if any.
+ (let ((prompt (keymap-prompt items)))
+ (unwind-protect
+ (progn
+ (setq items (delete prompt items))
+ (push title (cdr items))
+ ;; Return just the first element of the list of events.
+ (car (x-popup-menu event items)))
+ (setq items (delete title items))
+ (when prompt
+ (push prompt (cdr items)))))
+ (x-popup-menu event (list title (cons "" items)))))
+ ((or widget-menu-minibuffer-flag
+ (> (length items) widget-menu-max-shortcuts))
+ (when (keymapp items)
+ (setq items (widget--simplify-menu items)))
+ ;; Read the choice of name from the minibuffer.
+ (setq items (cl-remove-if 'stringp items))
+ (let ((val (completing-read (concat title ": ") items nil t)))
+ (if (stringp val)
+ (let ((try (try-completion val items)))
+ (when (stringp try)
+ (setq val try))
+ (cdr (assoc val items))))))
+ (t
+ (when (keymapp items)
+ (setq items (widget--simplify-menu items)))
+ ;; Construct a menu of the choices
+ ;; and then use it for prompting for a single character.
+ (let ((next-digit ?0)
+ alist choice some-choice-enabled value)
+ (with-current-buffer (get-buffer-create " widget-choose")
+ (erase-buffer)
+ (insert "Available choices:\n\n")
+ (while items
+ (setq choice (pop items))
+ (when (consp choice)
+ (insert (format "%c = %s\n" next-digit (car choice)))
+ (push (cons next-digit (cdr choice)) alist)
+ (setq some-choice-enabled t))
+ ;; Allocate digits to disabled alternatives
+ ;; so that the digit of a given alternative never varies.
+ (setq next-digit (1+ next-digit)))
+ (insert "\nC-g = Quit")
+ (goto-char (point-min))
+ (forward-line))
+ (or some-choice-enabled
+ (error "None of the choices is currently meaningful"))
+ (save-window-excursion
+ ;; Select window to be able to scroll it from minibuffer
+ (with-selected-window
+ (display-buffer (get-buffer " widget-choose")
+ '(display-buffer-in-direction
+ (direction . bottom)
+ (window-height . fit-window-to-buffer)))
+ (setq value (read-char-choice
+ (format "%s: " title)
+ (mapcar #'car alist)))))
+ (cdr (assoc value alist)))))))
;;; Widget text specifications.
;;
@@ -499,7 +507,7 @@ With CHECK-AFTER non-nil, considers also the content after point, if needed."
(defmacro widget-specify-insert (&rest form)
"Execute FORM without inheriting any text properties."
- (declare (debug body))
+ (declare (debug (body)))
`(save-restriction
(let ((inhibit-read-only t)
(inhibit-modification-hooks t))
@@ -4038,6 +4046,7 @@ is inline."
:button-prefix 'widget-push-button-prefix
:button-suffix 'widget-push-button-suffix
:format "%{%t%}: %[Toggle%] %v\n"
+ :match (lambda (_widget value) (booleanp value))
:on "on (non-nil)"
:off "off (nil)")
diff --git a/lisp/windmove.el b/lisp/windmove.el
index 06ce16c0d42..746a440bacb 100644
--- a/lisp/windmove.el
+++ b/lisp/windmove.el
@@ -724,6 +724,8 @@ from the opposite side of the frame."
nil windmove-wrap-around 'nomini)))
(cond ((or (null other-window) (window-minibuffer-p other-window))
(user-error "No window %s from selected window" dir))
+ ((window-minibuffer-p (selected-window))
+ (user-error "Can't swap window with the minibuffer"))
(t
(window-swap-states nil other-window)))))
diff --git a/lisp/window.el b/lisp/window.el
index aa7520f30fa..5964fe37ee6 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -6391,7 +6391,7 @@ windows can get as small as `window-safe-min-height' and
(selected-window)))
(delete-other-windows-internal window root)
;; Create a new window to replace the existing one.
- (setq window (prog1 (split-window window)
+ (setq window (prog1 (split-window window window-safe-min-width t)
(delete-window window)))))
(set-window-dedicated-p window nil)
@@ -8785,6 +8785,14 @@ another window."
:group 'windows
:group 'comint)
+(defcustom display-tex-shell-buffer-action '(display-buffer-in-previous-window)
+ "`display-buffer' action for displaying TeX shell buffers."
+ :type display-buffer--action-custom-type
+ :risky t
+ :version "29.1"
+ :group 'windows
+ :group 'tex-run)
+
(defun read-buffer-to-switch (prompt)
"Read the name of a buffer to switch to, prompting with PROMPT.
Return the name of the buffer as a string.
diff --git a/lisp/woman.el b/lisp/woman.el
index 24f23c8e8f0..e4e3d176d08 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -1846,7 +1846,6 @@ Argument EVENT is the invoking mouse event."
(defun woman-reset-emulation (value)
"Reset `woman-emulation' to VALUE and reformat, for menu use."
- (interactive)
(setq woman-emulation value)
(woman-reformat-last-file))
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index 9286a1858cf..b87fc97f8fd 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -31,6 +31,9 @@
;;; Code:
(require 'dnd)
+;; For when building a --without-x configuration, where this is not
+;; preloaded.
+(eval-when-compile (require 'mwheel))
;;; Customizable variables
(defcustom x-dnd-test-function #'x-dnd-default-test-function
@@ -609,8 +612,9 @@ message (format 32) that caused EVENT to be generated."
(defun x-dnd-after-move-frame (frame)
"Handle FRAME moving to a different position.
Clear any cached root window position."
- (set-frame-parameter frame 'dnd-root-window-position
- nil))
+ (and (frame-live-p frame)
+ (set-frame-parameter frame 'dnd-root-window-position
+ nil)))
(add-hook 'move-frame-functions #'x-dnd-after-move-frame)
diff --git a/lisp/xml.el b/lisp/xml.el
index 58d17a4b340..5a7501dcf41 100644
--- a/lisp/xml.el
+++ b/lisp/xml.el
@@ -265,7 +265,7 @@ See also `xml-get-attribute-or-nil'."
"\\)*\"\\|'\\(?:[^%&']\\|"
xml-pe-reference-re "\\|"
xml-reference-re "\\)*'\\)"))
-) ; End of `eval-when-compile'
+) ; End of `eval-and-compile'
;; [75] ExternalID ::= 'SYSTEM' S SystemLiteral
@@ -669,10 +669,7 @@ Leave point at the first non-blank character after the tag."
(if (assoc name attlist)
(error "XML: (Not Well-Formed) Each attribute must be unique within an element"))
- ;; Multiple whitespace characters should be replaced with a single one
- ;; in the attributes
(let ((string (match-string-no-properties 1)))
- (replace-regexp-in-string "\\s-\\{2,\\}" " " string)
(let ((expansion (xml-substitute-special string)))
(unless (stringp expansion)
;; We say this is the constraint. It is actually that
diff --git a/m4/acl.m4 b/m4/acl.m4
index dc9853a156d..38b1dc66212 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,5 +1,5 @@
# acl.m4 - check for access control list (ACL) primitives
-# serial 27
+# serial 29
# Copyright (C) 2002, 2004-2023 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -12,7 +12,7 @@ AC_DEFUN([gl_FUNC_ACL_ARG],
[
gl_need_lib_has_acl=
AC_ARG_ENABLE([acl],
- AS_HELP_STRING([--disable-acl], [do not support ACLs]),
+ AS_HELP_STRING([[--disable-acl]], [do not support ACLs]),
, [enable_acl=auto])
])
@@ -177,37 +177,23 @@ AC_DEFUN([gl_ACL_GET_FILE],
AS_IF([test "$gl_cv_func_working_acl_get_file" != no], [$1], [$2])
])
-# On GNU/Linux, testing if a file has an acl can be done with the getxattr
-# syscall which doesn't require linking against additional libraries.
+# On GNU/Linux, testing if a file has an acl can be done with the
+# listxattr and getxattr syscalls, which don't require linking
+# against additional libraries. Assume this works if linux/attr.h
+# and listxattr are present.
AC_DEFUN([gl_FILE_HAS_ACL],
[
AC_REQUIRE([gl_FUNC_ACL_ARG])
- if test "$enable_acl" != no; then
- AC_CACHE_CHECK([for getxattr with XATTR_NAME_POSIX_ACL macros],
- [gl_cv_getxattr_with_posix_acls],
- [gl_cv_getxattr_with_posix_acls=no
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <sys/types.h>
- #include <sys/xattr.h>
- #include <linux/xattr.h>
- ]],
- [[ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0);
- ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0);
- return a < 0 || b < 0;
- ]])],
- [gl_cv_getxattr_with_posix_acls=yes])])
- fi
- if test "$gl_cv_getxattr_with_posix_acls" = yes; then
- FILE_HAS_ACL_LIB=
- AC_DEFINE([GETXATTR_WITH_POSIX_ACLS], 1,
- [Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS
- and XATTR_NAME_POSIX_ACL_DEFAULT.])
- else
- dnl Set gl_need_lib_has_acl to a nonempty value, so that any
- dnl later gl_FUNC_ACL call will set FILE_HAS_ACL_LIB=$LIB_ACL.
- gl_need_lib_has_acl=1
- FILE_HAS_ACL_LIB=$LIB_ACL
- fi
+ AC_CHECK_HEADERS_ONCE([linux/xattr.h])
+ AC_CHECK_FUNCS_ONCE([listxattr])
+ FILE_HAS_ACL_LIB=
+ AS_CASE([$enable_acl,$ac_cv_header_linux_xattr_h,$ac_cv_func_listxattr],
+ [no,*,*], [],
+ [*,yes,yes], [],
+ [*],
+ [dnl Set gl_need_lib_has_acl to a nonempty value, so that any
+ dnl later gl_FUNC_ACL call will set FILE_HAS_ACL_LIB=$LIB_ACL.
+ gl_need_lib_has_acl=1
+ FILE_HAS_ACL_LIB=$LIB_ACL])
AC_SUBST([FILE_HAS_ACL_LIB])
])
diff --git a/m4/codeset.m4 b/m4/codeset.m4
new file mode 100644
index 00000000000..5804f472e9a
--- /dev/null
+++ b/m4/codeset.m4
@@ -0,0 +1,24 @@
+# codeset.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2023 Free Software
+dnl Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <langinfo.h>]],
+ [[char* cs = nl_langinfo(CODESET); return !cs;]])],
+ [am_cv_langinfo_codeset=yes],
+ [am_cv_langinfo_codeset=no])
+ ])
+ if test $am_cv_langinfo_codeset = yes; then
+ AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
diff --git a/m4/copy-file-range.m4 b/m4/copy-file-range.m4
index d41f2c48313..fa6ab341091 100644
--- a/m4/copy-file-range.m4
+++ b/m4/copy-file-range.m4
@@ -39,21 +39,9 @@ AC_DEFUN([gl_FUNC_COPY_FILE_RANGE],
case $host_os in
linux*)
- AC_CACHE_CHECK([whether copy_file_range is known to work],
- [gl_cv_copy_file_range_known_to_work],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <linux/version.h>
- ]],
- [[#if LINUX_VERSION_CODE < KERNEL_VERSION (5, 3, 0)
- #error "copy_file_range is buggy"
- #endif
- ]])],
- [gl_cv_copy_file_range_known_to_work=yes],
- [gl_cv_copy_file_range_known_to_work=no])])
- if test "$gl_cv_copy_file_range_known_to_work" = no; then
- REPLACE_COPY_FILE_RANGE=1
- fi;;
+ # See copy-file-range.c comment re pre-5.3 Linux kernel bugs.
+ # We should be able to remove this hack in 2025.
+ REPLACE_COPY_FILE_RANGE=1;;
esac
fi
])
diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4
index 2a232a7622e..b6c189c0d9f 100644
--- a/m4/dirent_h.m4
+++ b/m4/dirent_h.m4
@@ -1,4 +1,4 @@
-# dirent_h.m4 serial 19
+# dirent_h.m4 serial 20
dnl Copyright (C) 2008-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -21,12 +21,29 @@ AC_DEFUN_ONCE([gl_DIRENT_H],
fi
AC_SUBST([HAVE_DIRENT_H])
+ gl_DIRENT_DIR
+
dnl Check for declarations of anything we want to poison if the
dnl corresponding gnulib module is not in use.
gl_WARN_ON_USE_PREPARE([[#include <dirent.h>
]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir])
])
+dnl Determine whether <dirent.h> needs to override the DIR type.
+AC_DEFUN_ONCE([gl_DIRENT_DIR],
+[
+ dnl Set DIR_HAS_FD_MEMBER if dirfd() works, i.e. not always returns -1,
+ dnl or has the __KLIBC__ workaround as in lib/dirfd.c.
+ dnl We could use the findings from gl_FUNC_DIRFD and gl_PREREQ_DIRFD, but
+ dnl it's simpler since we know the affected platforms.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case "$host_os" in
+ mingw*) DIR_HAS_FD_MEMBER=0 ;;
+ *) DIR_HAS_FD_MEMBER=1 ;;
+ esac
+ AC_SUBST([DIR_HAS_FD_MEMBER])
+])
+
# gl_DIRENT_MODULE_INDICATOR([modulename])
# sets the shell variable that indicates the presence of the given module
# to a C preprocessor expression that will evaluate to 1.
@@ -73,6 +90,8 @@ AC_DEFUN([gl_DIRENT_H_DEFAULTS],
HAVE_SCANDIR=1; AC_SUBST([HAVE_SCANDIR])
HAVE_ALPHASORT=1; AC_SUBST([HAVE_ALPHASORT])
REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR])
+ REPLACE_READDIR=0; AC_SUBST([REPLACE_READDIR])
+ REPLACE_REWINDDIR=0; AC_SUBST([REPLACE_REWINDDIR])
REPLACE_CLOSEDIR=0; AC_SUBST([REPLACE_CLOSEDIR])
REPLACE_DIRFD=0; AC_SUBST([REPLACE_DIRFD])
REPLACE_FDOPENDIR=0; AC_SUBST([REPLACE_FDOPENDIR])
diff --git a/m4/dirfd.m4 b/m4/dirfd.m4
index 2135535042b..7968b1287ce 100644
--- a/m4/dirfd.m4
+++ b/m4/dirfd.m4
@@ -1,4 +1,4 @@
-# serial 26 -*- Autoconf -*-
+# serial 28 -*- Autoconf -*-
dnl Find out how to get the file descriptor associated with an open DIR*.
@@ -12,7 +12,7 @@ dnl From Jim Meyering
AC_DEFUN([gl_FUNC_DIRFD],
[
AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([AC_CANONICAL_HOST])
dnl Persuade glibc <dirent.h> to declare dirfd().
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
@@ -36,15 +36,20 @@ AC_DEFUN([gl_FUNC_DIRFD],
[gl_cv_func_dirfd_macro=yes],
[gl_cv_func_dirfd_macro=no])])
- # Use the replacement if we have no function or macro with that name,
- # or if OS/2 kLIBC whose dirfd() does not work.
- # Replace only if the system declares dirfd already.
- case $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro,$host_os,$ac_cv_have_decl_dirfd in
- no,no,*,yes | *,*,os2*,yes)
+ if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+ HAVE_DIRFD=0
+ else
+ HAVE_DIRFD=1
+ dnl Replace dirfd() on native Windows, to support fdopendir().
+ AC_REQUIRE([gl_DIRENT_DIR])
+ if test $DIR_HAS_FD_MEMBER = 0; then
REPLACE_DIRFD=1
- AC_DEFINE([REPLACE_DIRFD], [1],
- [Define to 1 if gnulib's dirfd() replacement is used.]);;
- esac
+ fi
+ dnl OS/2 kLIBC dirfd() does not work.
+ case "$host_os" in
+ os2*) REPLACE_DIRFD=1 ;;
+ esac
+ fi
])
dnl Prerequisites of lib/dirfd.c.
diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4
index c001b1cff7d..f9894d7fe5c 100644
--- a/m4/extern-inline.m4
+++ b/m4/extern-inline.m4
@@ -79,7 +79,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
# define _GL_EXTERN_INLINE_STDHEADER_BUG
#endif
#if ((__GNUC__ \
- ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ && !defined __PCC__) \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !defined __PGI \
@@ -89,6 +90,7 @@ AC_DEFUN([gl_EXTERN_INLINE],
# define _GL_EXTERN_INLINE extern inline
# define _GL_EXTERN_INLINE_IN_USE
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+ && !defined __PCC__ \
&& !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index c84a2afd9c5..2426eb63985 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 82
+# gnulib-common.m4 serial 87
dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -15,6 +15,10 @@ AC_DEFUN([gl_COMMON], [
AC_REQUIRE([gl_ZZGNULIB])
])
AC_DEFUN([gl_COMMON_BODY], [
+ AH_VERBATIM([0witness],
+[/* Witness that <config.h> has been included. */
+#define _GL_CONFIG_H_INCLUDED 1
+])
AH_VERBATIM([_GL_GNUC_PREREQ],
[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */
#if defined __GNUC__ && defined __GNUC_MINOR__
@@ -116,6 +120,20 @@ AC_DEFUN([gl_COMMON_BODY], [
# pragma GCC diagnostic ignored "-Wpedantic"
#endif
+/* Define if, in a function declaration, the attributes in bracket syntax
+ [[...]] must come before the attributes in __attribute__((...)) syntax.
+ If this is defined, it is best to avoid the bracket syntax, so that the
+ various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any
+ order. */
+#ifdef __cplusplus
+# if defined __clang__
+# define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#else
+# if defined __GNUC__ && !defined __clang__
+# define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#endif
]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead.
[
/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
@@ -223,9 +241,11 @@ AC_DEFUN([gl_COMMON_BODY], [
- typedef,
in C++ also: namespace, class, template specialization. */
#ifndef _GL_ATTRIBUTE_DEPRECATED
-# ifdef __has_c_attribute
-# if __has_c_attribute (__deprecated__)
-# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# ifdef __has_c_attribute
+# if __has_c_attribute (__deprecated__)
+# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+# endif
# endif
# endif
# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated)
@@ -355,13 +375,15 @@ AC_DEFUN([gl_COMMON_BODY], [
__has_c_attribute (__maybe_unused__) yields true but the use of
[[__maybe_unused__]] nevertheless produces a warning. */
#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
-# if defined __clang__ && defined __cplusplus
-# if !defined __apple_build_version__ && __clang_major__ >= 10
-# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
-# endif
-# elif defined __has_c_attribute
-# if __has_c_attribute (__maybe_unused__)
-# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
+# if !defined __apple_build_version__ && __clang_major__ >= 10
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# elif defined __has_c_attribute
+# if __has_c_attribute (__maybe_unused__)
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
# endif
# endif
# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
@@ -379,18 +401,20 @@ AC_DEFUN([gl_COMMON_BODY], [
the return value, unless the caller uses something like ignore_value. */
/* Applies to: function, enumeration, class. */
#ifndef _GL_ATTRIBUTE_NODISCARD
-# if defined __clang__ && defined __cplusplus
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
/* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces
a warning.
The 1000 below means a yet unknown threshold. When clang++ version X
starts supporting [[__nodiscard__]] without warning about it, you can
replace the 1000 with X. */
-# if __clang_major__ >= 1000
-# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
-# endif
-# elif defined __has_c_attribute
-# if __has_c_attribute (__nodiscard__)
-# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# if __clang_major__ >= 1000
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# endif
+# elif defined __has_c_attribute
+# if __has_c_attribute (__nodiscard__)
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# endif
# endif
# endif
# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result)
@@ -528,6 +552,18 @@ AC_DEFUN([gl_COMMON_BODY], [
# endif
#endif
])
+ AH_VERBATIM([c_linkage],
+[/* In C++, there is the concept of "language linkage", that encompasses
+ name mangling and function calling conventions.
+ The following macros start and end a block of "C" linkage. */
+#ifdef __cplusplus
+# define _GL_BEGIN_C_LINKAGE extern "C" {
+# define _GL_END_C_LINKAGE }
+#else
+# define _GL_BEGIN_C_LINKAGE
+# define _GL_END_C_LINKAGE
+#endif
+])
AH_VERBATIM([async_safe],
[/* The _GL_ASYNC_SAFE marker should be attached to functions that are
signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
@@ -583,7 +619,7 @@ AC_DEFUN([gl_COMMON_BODY], [
dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad),
dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad).
AC_ARG_ENABLE([cross-guesses],
- [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}],
+ [AS_HELP_STRING([[--enable-cross-guesses={conservative|risky}]],
[specify policy for cross-compilation guesses])],
[if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then
AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 1bd16a779eb..882b5869755 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -176,6 +176,7 @@ AC_DEFUN([gl_EARLY],
# Code from module stddef:
# Code from module stdint:
# Code from module stdio:
+ gl_STDIO_H_EARLY
# Code from module stdlib:
# Code from module stpcpy:
# Code from module string:
@@ -209,6 +210,8 @@ AC_DEFUN([gl_EARLY],
# Code from module vla:
# Code from module warnings:
# Code from module xalloc-oversized:
+ # Code from module year2038:
+ AC_REQUIRE([AC_SYS_YEAR2038])
])
# This macro should be invoked from ./configure.ac, in the section
@@ -660,7 +663,7 @@ AC_DEFUN([gl_INIT],
gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false
func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
{
- if ! $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then
+ if $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then :; else
AC_REQUIRE([AC_CANONICAL_HOST])
gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=true
if case $host_os in mingw*) false;; *) :;; esac; then
@@ -670,17 +673,17 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_cloexec ()
{
- if ! $gl_gnulib_enabled_cloexec; then
+ if $gl_gnulib_enabled_cloexec; then :; else
gl_MODULE_INDICATOR_FOR_TESTS([cloexec])
gl_gnulib_enabled_cloexec=true
fi
}
func_gl_gnulib_m4code_dirfd ()
{
- if ! $gl_gnulib_enabled_dirfd; then
+ if $gl_gnulib_enabled_dirfd; then :; else
gl_FUNC_DIRFD
gl_CONDITIONAL([GL_COND_OBJ_DIRFD],
- [test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no || test $REPLACE_DIRFD = 1])
+ [test $HAVE_DIRFD = 0 || test $REPLACE_DIRFD = 1])
AM_COND_IF([GL_COND_OBJ_DIRFD], [
gl_PREREQ_DIRFD
])
@@ -690,13 +693,13 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_925677f0343de64b89a9f0c790b4104c ()
{
- if ! $gl_gnulib_enabled_925677f0343de64b89a9f0c790b4104c; then
+ if $gl_gnulib_enabled_925677f0343de64b89a9f0c790b4104c; then :; else
gl_gnulib_enabled_925677f0343de64b89a9f0c790b4104c=true
fi
}
func_gl_gnulib_m4code_euidaccess ()
{
- if ! $gl_gnulib_enabled_euidaccess; then
+ if $gl_gnulib_enabled_euidaccess; then :; else
gl_FUNC_EUIDACCESS
gl_CONDITIONAL([GL_COND_OBJ_EUIDACCESS], [test $HAVE_EUIDACCESS = 0])
AM_COND_IF([GL_COND_OBJ_EUIDACCESS], [
@@ -712,7 +715,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_getdtablesize ()
{
- if ! $gl_gnulib_enabled_getdtablesize; then
+ if $gl_gnulib_enabled_getdtablesize; then :; else
gl_FUNC_GETDTABLESIZE
gl_CONDITIONAL([GL_COND_OBJ_GETDTABLESIZE],
[test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1])
@@ -725,7 +728,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_getgroups ()
{
- if ! $gl_gnulib_enabled_getgroups; then
+ if $gl_gnulib_enabled_getgroups; then :; else
gl_FUNC_GETGROUPS
gl_CONDITIONAL([GL_COND_OBJ_GETGROUPS],
[test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1])
@@ -738,7 +741,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36 ()
{
- if ! $gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36; then
+ if $gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36; then :; else
AC_SUBST([LIBINTL])
AC_SUBST([LTLIBINTL])
gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=true
@@ -746,14 +749,14 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_fd38c7e463b54744b77b98aeafb4fa7c ()
{
- if ! $gl_gnulib_enabled_fd38c7e463b54744b77b98aeafb4fa7c; then
+ if $gl_gnulib_enabled_fd38c7e463b54744b77b98aeafb4fa7c; then :; else
AC_PROG_MKDIR_P
gl_gnulib_enabled_fd38c7e463b54744b77b98aeafb4fa7c=true
fi
}
func_gl_gnulib_m4code_8444034ea779b88768865bb60b4fb8c9 ()
{
- if ! $gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9; then
+ if $gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9; then :; else
AC_PROG_MKDIR_P
gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9=true
func_gl_gnulib_m4code_ef455225c00f5049c808c2eda3e76866
@@ -762,7 +765,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_a9786850e999ae65a836a6041e8e5ed1 ()
{
- if ! $gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1; then
+ if $gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1; then :; else
gl_FUNC_GROUP_MEMBER
gl_CONDITIONAL([GL_COND_OBJ_GROUP_MEMBER], [test $HAVE_GROUP_MEMBER = 0])
AM_COND_IF([GL_COND_OBJ_GROUP_MEMBER], [
@@ -780,7 +783,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_lchmod ()
{
- if ! $gl_gnulib_enabled_lchmod; then
+ if $gl_gnulib_enabled_lchmod; then :; else
gl_FUNC_LCHMOD
gl_CONDITIONAL([GL_COND_OBJ_LCHMOD], [test $HAVE_LCHMOD = 0])
AM_COND_IF([GL_COND_OBJ_LCHMOD], [
@@ -792,7 +795,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_e80bf6f757095d2e5fc94dafb8f8fc8b ()
{
- if ! $gl_gnulib_enabled_e80bf6f757095d2e5fc94dafb8f8fc8b; then
+ if $gl_gnulib_enabled_e80bf6f757095d2e5fc94dafb8f8fc8b; then :; else
gl_FUNC_MALLOC_GNU
if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 1; then
AC_LIBOBJ([malloc])
@@ -807,7 +810,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_ef455225c00f5049c808c2eda3e76866 ()
{
- if ! $gl_gnulib_enabled_ef455225c00f5049c808c2eda3e76866; then
+ if $gl_gnulib_enabled_ef455225c00f5049c808c2eda3e76866; then :; else
AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
AC_LIBOBJ([malloc])
@@ -821,7 +824,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31 ()
{
- if ! $gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31; then
+ if $gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31; then :; else
gl_FUNC_MKTIME_INTERNAL
if test $WANT_MKTIME_INTERNAL = 1; then
AC_LIBOBJ([mktime])
@@ -832,7 +835,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_open ()
{
- if ! $gl_gnulib_enabled_open; then
+ if $gl_gnulib_enabled_open; then :; else
gl_FUNC_OPEN
gl_CONDITIONAL([GL_COND_OBJ_OPEN], [test $REPLACE_OPEN = 1])
AM_COND_IF([GL_COND_OBJ_OPEN], [
@@ -847,13 +850,13 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 ()
{
- if ! $gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7; then
+ if $gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7; then :; else
gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=true
fi
}
func_gl_gnulib_m4code_rawmemchr ()
{
- if ! $gl_gnulib_enabled_rawmemchr; then
+ if $gl_gnulib_enabled_rawmemchr; then :; else
gl_FUNC_RAWMEMCHR
gl_CONDITIONAL([GL_COND_OBJ_RAWMEMCHR], [test $HAVE_RAWMEMCHR = 0])
AM_COND_IF([GL_COND_OBJ_RAWMEMCHR], [
@@ -865,7 +868,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_d3b2383720ee0e541357aa2aac598e2b ()
{
- if ! $gl_gnulib_enabled_d3b2383720ee0e541357aa2aac598e2b; then
+ if $gl_gnulib_enabled_d3b2383720ee0e541357aa2aac598e2b; then :; else
gl_FUNC_REALLOC_GNU
if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then
AC_LIBOBJ([realloc])
@@ -883,7 +886,7 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_61bcaca76b3e6f9ae55d57a1c3193bc4 ()
{
- if ! $gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4; then
+ if $gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4; then :; else
gl_FUNC_REALLOC_POSIX
if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then
AC_LIBOBJ([realloc])
@@ -900,13 +903,13 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_6099e9737f757db36c47fa9d9f02e88c ()
{
- if ! $gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c; then
+ if $gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c; then :; else
gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=true
fi
}
func_gl_gnulib_m4code_strtoll ()
{
- if ! $gl_gnulib_enabled_strtoll; then
+ if $gl_gnulib_enabled_strtoll; then :; else
gl_FUNC_STRTOLL
gl_CONDITIONAL([GL_COND_OBJ_STRTOLL],
[test $HAVE_STRTOLL = 0 || test $REPLACE_STRTOLL = 1])
@@ -919,14 +922,14 @@ AC_DEFUN([gl_INIT],
}
func_gl_gnulib_m4code_utimens ()
{
- if ! $gl_gnulib_enabled_utimens; then
+ if $gl_gnulib_enabled_utimens; then :; else
gl_UTIMENS
gl_gnulib_enabled_utimens=true
fi
}
func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec ()
{
- if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
+ if $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then :; else
gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=true
fi
}
@@ -1246,6 +1249,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/count-trailing-zeros.c
lib/count-trailing-zeros.h
lib/diffseq.h
+ lib/dirent-private.h
lib/dirent.in.h
lib/dirfd.c
lib/dtoastr.c
@@ -1429,6 +1433,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/c-bool.m4
m4/canonicalize.m4
m4/clock_time.m4
+ m4/codeset.m4
m4/copy-file-range.m4
m4/d-type.m4
m4/dirent_h.m4
@@ -1474,6 +1479,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/lchmod.m4
m4/libgmp.m4
m4/limits-h.m4
+ m4/locale-fr.m4
m4/lstat.m4
m4/malloc.m4
m4/manywarnings-c++.m4
@@ -1489,6 +1495,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/mktime.m4
m4/mode_t.m4
m4/multiarch.m4
+ m4/musl.m4
m4/nanosleep.m4
m4/nocrash.m4
m4/nproc.m4
diff --git a/m4/largefile.m4 b/m4/largefile.m4
index 7fb81b864af..a2adb533ae6 100644
--- a/m4/largefile.m4
+++ b/m4/largefile.m4
@@ -10,7 +10,7 @@
# It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this
# setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko
# and ftello in C++ mode as well.
-# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038.
+# This problem occurs in Autoconf 2.71 and earlier, which lack AC_SYS_YEAR2038.
AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
m4_ifndef([AC_SYS_YEAR2038], [[
AC_REQUIRE([AC_CANONICAL_HOST])
@@ -24,29 +24,9 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
]])
)
-# Work around a problem in autoconf <= 2.69:
-# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
-# or configures them incorrectly in some cases.
-m4_version_prereq([2.70], [], [
-
-# _AC_SYS_LARGEFILE_TEST_INCLUDES
-# -------------------------------
-m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
-[#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1]];[]dnl
-])
-])# m4_version_prereq 2.70
-
-# Support AC_SYS_YEAR2038, even if Autoconf 2.71 or earlier.
-# This code is taken from Autoconf master.
-m4_ifndef([AC_SYS_YEAR2038], [
+m4_ifndef([AC_SYS_YEAR2038_RECOMMENDED], [
+# Support AC_SYS_YEAR2038_RECOMMENDED and related macros, even if
+# Autoconf 2.71 or earlier. This code is taken from Autoconf master.
# _AC_SYS_YEAR2038_TEST_CODE
# --------------------------
@@ -78,8 +58,8 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
dnl 32-bit MinGW (misconfiguration)
))
-# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
-# -----------------------------------------
+# _AC_SYS_YEAR2038_PROBE
+# ----------------------
# Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent
# time points more than 2**31 - 1 seconds after the epoch (dates after
# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
@@ -92,13 +72,10 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
# AC_TRY_RUN. Note also that some systems only support large time_t
# together with large off_t.
#
-# If support is not detected, the behavior depends on which of the
-# top-level AC_SYS_YEAR2038 macros was used (see below).
-#
# If you change this macro you may also need to change
# _AC_SYS_YEAR2038_OPTIONS.
AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
-[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
+[AC_CACHE_CHECK([for $CC option for timestamps after 2038],
[ac_cv_sys_year2038_opts],
[ac_save_CPPFLAGS="$CPPFLAGS"
ac_opt_found=no
@@ -117,40 +94,20 @@ ac_have_year2038=yes
AS_CASE([$ac_cv_sys_year2038_opts],
["none needed"], [],
["support not detected"],
- [ac_have_year2038=no
- AS_CASE([$enable_year2038],
- [yes],
- [# If we're not cross compiling and 'touch' works with a large
- # timestamp, then we can presume the system supports wider time_t
- # *somehow* and we just weren't able to detect it. One common
- # case that we deliberately *don't* probe for is a system that
- # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
- # wide time_t. (It would be inappropriate for us to override an
- # intentional use of -m32.) Error out, demanding use of
- # --disable-year2038 if this is intentional.
- AS_IF([test $cross_compiling = no],
- [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
- [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
- [*'Feb 7 2106'* | *'Feb 7 17:10'*],
- [AC_MSG_FAILURE(m4_text_wrap(
- [this system appears to support timestamps after January 2038,
- but no mechanism for enabling wide 'time_t' was detected.
- Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
- To proceed with 32-bit time_t, configure with '--disable-year2038'.],
- [], [], [55]))])])])])],
+ [ac_have_year2038=no],
["-D_TIME_BITS=64"],
[AC_DEFINE([_TIME_BITS], [64],
[Number of bits in time_t, on hosts where this is settable.])],
- ["-D__MINGW_USE_VC2005_COMPAT=1"],
+ ["-D__MINGW_USE_VC2005_COMPAT"],
[AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
[Define to 1 on platforms where this makes time_t a 64-bit type.])],
["-U_USE_32_BIT_TIME_T"*],
[AC_MSG_FAILURE(m4_text_wrap(
[the 'time_t' type is currently forced to be 32-bit.
- It will stop working after January 2038.
+ It will stop working after mid-January 2038.
Remove _USE_32BIT_TIME_T from the compiler flags.],
[], [], [55]))],
@@ -160,12 +117,11 @@ AS_CASE([$ac_cv_sys_year2038_opts],
# _AC_SYS_YEAR2038_ENABLE
# -----------------------
-# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
# Depending on which of the YEAR2038 macros was used, add either an
-# --enable-year2038, or a --disable-year2038, or no option at all to
-# the configure script. Note that this is expanded very late and
+# --enable-year2038 or a --disable-year2038 to
+# the configure script. This is expanded very late and
# therefore there cannot be any code in the AC_ARG_ENABLE. The
-# default value for enable_year2038 is emitted unconditionally
+# default value for 'enable_year2038' is emitted unconditionally
# because the generated code always looks at this variable.
m4_define([_AC_SYS_YEAR2038_ENABLE],
[m4_divert_text([DEFAULTS],
@@ -175,35 +131,50 @@ m4_define([_AC_SYS_YEAR2038_ENABLE],
[AC_ARG_ENABLE([year2038],
m4_provide_if([AC_SYS_YEAR2038],
[AS_HELP_STRING([--disable-year2038],
- [do not support timestamps after 2038])],
+ [don't support timestamps after 2038])],
[AS_HELP_STRING([--enable-year2038],
[support timestamps after 2038])]))])
-# _AC_SYS_YEAR2038_OPT_IN
-# -----------------------
-# If the --enable-year2038 option is given to configure, attempt to
-# detect and activate support for large time_t on 32-bit systems.
-# This macro is automatically invoked by AC_SYS_LARGEFILE when large
-# *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE
-# to avoid a dependency loop, and is therefore unsafe to expose as a
-# documented macro.
-AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
-])])
-
# AC_SYS_YEAR2038
# ---------------
# Attempt to detect and activate support for large time_t.
# On systems where time_t is not always 64 bits, this probe can be
# skipped by passing the --disable-year2038 option to configure.
AC_DEFUN([AC_SYS_YEAR2038],
-[AC_REQUIRE([AC_SYS_LARGEFILE])]dnl
-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
-])])
+[AC_REQUIRE([AC_SYS_LARGEFILE])dnl
+AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no],
+ [# If we're not cross compiling and 'touch' works with a large
+ # timestamp, then we can presume the system supports wider time_t
+ # *somehow* and we just weren't able to detect it. One common
+ # case that we deliberately *don't* probe for is a system that
+ # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
+ # wide time_t. (It would be inappropriate for us to override an
+ # intentional use of -m32.) Error out, demanding use of
+ # --disable-year2038 if this is intentional.
+ AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
+ [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
+ [*'Feb 7 2106'* | *'Feb 7 17:10'*],
+ [AC_MSG_FAILURE(m4_text_wrap(
+ [this system appears to support timestamps after mid-January 2038,
+ but no mechanism for enabling wide 'time_t' was detected.
+ Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
+ To proceed with 32-bit time_t, configure with '--disable-year2038'.],
+ [], [], [55]))])])])])
+
+# AC_SYS_YEAR2038_RECOMMENDED
+# ---------------------------
+# Same as AC_SYS_YEAR2038, but recommend support for large time_t.
+# If we cannot find any way to make time_t capable of representing
+# values larger than 2**31 - 1, error out unless --disable-year2038 is given.
+AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
+[AC_REQUIRE([AC_SYS_YEAR2038])dnl
+AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
+ [AC_MSG_FAILURE(m4_text_wrap(
+ [could not enable timestamps after mid-January 2038.
+ This package recommends support for these later timestamps.
+ However, to proceed with signed 32-bit time_t even though it
+ will fail then, configure with '--disable-year2038'.],
+ [], [], [55]))])])
# _AC_SYS_LARGEFILE_TEST_CODE
# ---------------------------
@@ -219,6 +190,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1]];[]dnl
])
+# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
+m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE])
# _AC_SYS_LARGEFILE_OPTIONS
# -------------------------
@@ -228,8 +201,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
["none needed"] dnl Most current systems
["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec
- ["-D_LARGE_FILES=1"] dnl AIX (which versions?)
- ["-n32"] dnl Irix 6.2 w/ SGI compiler
+ ["-D_LARGE_FILES=1"] dnl 32-bit AIX 4.2.1+, 32-bit z/OS
+ ["-n32"] dnl 32-bit IRIX 6, SGI cc (obsolete)
))
# _AC_SYS_LARGEFILE_PROBE
@@ -259,11 +232,24 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
test $ac_opt_found = no || break
done
CC="$ac_save_CC"
+ dnl Gnulib implements large file support for native Windows, based on the
+ dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE.
+ m4_ifdef([gl_LARGEFILE], [
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ if test $ac_opt_found != yes; then
+ AS_CASE([$host_os],
+ [mingw*],
+ [ac_cv_sys_largefile_opts="supported through gnulib"
+ ac_opt_found=yes]
+ )
+ fi
+ ])
test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
ac_have_largefile=yes
AS_CASE([$ac_cv_sys_largefile_opts],
["none needed"], [],
+ ["supported through gnulib"], [],
["support not detected"],
[ac_have_largefile=no],
@@ -281,21 +267,9 @@ AS_CASE([$ac_cv_sys_largefile_opts],
[AC_MSG_ERROR(
[internal error: bad value for \$ac_cv_sys_largefile_opts])])
-_AC_SYS_YEAR2038_OPT_IN
-])
-
-# _AC_SYS_LARGEFILE_ENABLE
-# ------------------------
-# Subroutine of AC_SYS_LARGEFILE. Note that this
-# is expanded very late and therefore there cannot be any code in the
-# AC_ARG_ENABLE. The default value for enable_largefile is emitted
-# unconditionally because the generated shell code always looks at
-# this variable.
-m4_define([_AC_SYS_LARGEFILE_ENABLE],
-[m4_divert_text([DEFAULTS],
- enable_largefile=yes)]dnl
-[AC_ARG_ENABLE([largefile],
- [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])
+AS_IF([test "$enable_year2038" != no],
+ [_AC_SYS_YEAR2038_PROBE])
+AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
# AC_SYS_LARGEFILE
# ----------------
@@ -306,14 +280,13 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE],
# Additionally, on Linux file systems with 64-bit inodes a file that happens
# to have a 64-bit inode number cannot be accessed by 32-bit applications on
# Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
-# This macro allows configuration to continue if the system doesn't support
-# large files.
AC_DEFUN([AC_SYS_LARGEFILE],
-[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
- AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
- AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
-])])
-])# m4_ifndef AC_SYS_YEAR2038
+[AC_ARG_ENABLE([largefile],
+ [AS_HELP_STRING([--disable-largefile],
+ [omit support for large files])])dnl
+AS_IF([test "$enable_largefile,$enable_year2038" != no,no],
+ [_AC_SYS_LARGEFILE_PROBE])])
+])# m4_ifndef AC_SYS_YEAR2038_RECOMMENDED
# Enable large files on systems where this is implemented by Gnulib, not by the
# system headers.
diff --git a/m4/libgmp.m4 b/m4/libgmp.m4
index 58576c4d0c5..eb20ada0fa5 100644
--- a/m4/libgmp.m4
+++ b/m4/libgmp.m4
@@ -1,4 +1,4 @@
-# libgmp.m4 serial 7
+# libgmp.m4 serial 8
# Configure the GMP library or a replacement.
dnl Copyright 2020-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
@@ -15,7 +15,7 @@ dnl empty.
AC_DEFUN([gl_LIBGMP],
[
AC_ARG_WITH([libgmp],
- [AS_HELP_STRING([--without-libgmp],
+ [AS_HELP_STRING([[--without-libgmp]],
[do not use the GNU Multiple Precision (GMP) library;
this is the default on systems lacking libgmp.])])
HAVE_LIBGMP=no
diff --git a/m4/limits-h.m4 b/m4/limits-h.m4
index 4f8ce41098a..6a5983ebc25 100644
--- a/m4/limits-h.m4
+++ b/m4/limits-h.m4
@@ -24,14 +24,26 @@ AC_DEFUN_ONCE([gl_LIMITS_H],
int ullw = ULLONG_WIDTH;
int bw = BOOL_WIDTH;
int bm = BOOL_MAX;
+ int mblm = MB_LEN_MAX;
]])],
[gl_cv_header_limits_width=yes],
[gl_cv_header_limits_width=no])])
- if test "$gl_cv_header_limits_width" = yes; then
- GL_GENERATE_LIMITS_H=false
- else
- GL_GENERATE_LIMITS_H=true
- fi
+ GL_GENERATE_LIMITS_H=true
+ AS_IF([test "$gl_cv_header_limits_width" = yes],
+ [AC_CACHE_CHECK([whether limits.h has SSIZE_MAX],
+ [gl_cv_header_limits_ssize_max],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+ [[#include <limits.h>
+ #ifndef SSIZE_MAX
+ #error "SSIZE_MAX is not defined"
+ #endif
+ ]])],
+ [gl_cv_header_limits_ssize_max=yes],
+ [gl_cv_header_limits_ssize_max=no])])
+ if test "$gl_cv_header_limits_ssize_max" = yes; then
+ GL_GENERATE_LIMITS_H=false
+ fi])
])
dnl Unconditionally enables the replacement of <limits.h>.
diff --git a/m4/locale-fr.m4 b/m4/locale-fr.m4
new file mode 100644
index 00000000000..5e13f3945d2
--- /dev/null
+++ b/m4/locale-fr.m4
@@ -0,0 +1,253 @@
+# locale-fr.m4 serial 21
+dnl Copyright (C) 2003, 2005-2023 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl Determine the name of a french locale with traditional encoding.
+AC_DEFUN_ONCE([gt_LOCALE_FR],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AM_LANGINFO_CODESET])
+ AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if defined __BEOS__ || defined __HAIKU__
+ return 1;
+#else
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+ one byte long. This excludes the UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+# endif
+ return 0;
+#endif
+}
+ ]])])
+ if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the native Windows locale name.
+ if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=French_France.1252
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO-8859-1
+ else
+ # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
+ if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO8859-1
+ else
+ # Test for the HP-UX locale name.
+ if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.iso88591
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ])
+ LOCALE_FR=$gt_cv_locale_fr
+ AC_SUBST([LOCALE_FR])
+])
+
+dnl Determine the name of a french locale with UTF-8 encoding.
+AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8],
+[
+ AC_REQUIRE([AM_LANGINFO_CODESET])
+ AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if !(defined __BEOS__ || defined __HAIKU__)
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail. */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
+ two bytes long, with UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 4
+ || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
+ return 1;
+#endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
+ return 0;
+}
+ ]])])
+ if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Windows locale name.
+ if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=French_France.65001
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ])
+ LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ AC_SUBST([LOCALE_FR_UTF8])
+])
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index 2fac86e20be..a06f26f672e 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,4 +1,4 @@
-# manywarnings.m4 serial 23
+# manywarnings.m4 serial 24
dnl Copyright (C) 2008-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -6,6 +6,8 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Simon Josefsson
+AC_PREREQ([2.64])
+
# gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR)
# --------------------------------------------------
# Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR.
@@ -21,7 +23,7 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT],
*" $gl_warn_item "*)
;;
*)
- gl_AS_VAR_APPEND([gl_warn_set], [" $gl_warn_item"])
+ AS_VAR_APPEND([gl_warn_set], [" $gl_warn_item"])
;;
esac
done
@@ -46,43 +48,31 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
dnl First, check for some issues that only occur when combining multiple
dnl gcc warning categories.
AC_REQUIRE([AC_PROG_CC])
- if test -n "$GCC"; then
-
- dnl Check if -Wextra -Werror -Wno-missing-field-initializers is supported
- dnl with the current $CC $CFLAGS $CPPFLAGS.
- AC_CACHE_CHECK([whether -Wno-missing-field-initializers is supported],
- [gl_cv_cc_nomfi_supported],
- [gl_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Wextra -Werror -Wno-missing-field-initializers"
+ AS_IF([test -n "$GCC"], [
+ AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed],
+ [gl_cv_cc_nomfi_needed],
+ [gl_cv_cc_nomfi_needed=no
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Wextra -Werror"
AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([[]], [[]])],
- [gl_cv_cc_nomfi_supported=yes],
- [gl_cv_cc_nomfi_supported=no])
+ [AC_LANG_PROGRAM(
+ [[struct file_data { int desc, name; };
+ struct cmp { struct file_data file[1]; };
+ void f (struct cmp *r)
+ {
+ typedef struct { int a; int b; } s_t;
+ s_t s1 = { 0, };
+ struct cmp cmp = { .file[0].desc = r->file[0].desc + s1.a };
+ *r = cmp;
+ }
+ ]],
+ [[]])],
+ [],
+ [CFLAGS="$CFLAGS -Wno-missing-field-initializers"
+ AC_COMPILE_IFELSE([],
+ [gl_cv_cc_nomfi_needed=yes])])
CFLAGS="$gl_save_CFLAGS"
- ])
-
- if test "$gl_cv_cc_nomfi_supported" = yes; then
- dnl Now check whether -Wno-missing-field-initializers is needed
- dnl for the { 0, } construct.
- AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed],
- [gl_cv_cc_nomfi_needed],
- [gl_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Wextra -Werror"
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[int f (void)
- {
- typedef struct { int a; int b; } s_t;
- s_t s1 = { 0, };
- return s1.b;
- }
- ]],
- [[]])],
- [gl_cv_cc_nomfi_needed=no],
- [gl_cv_cc_nomfi_needed=yes])
- CFLAGS="$gl_save_CFLAGS"
- ])
- fi
+ ])
dnl Next, check if -Werror -Wuninitialized is useful with the
dnl user's choice of $CFLAGS; some versions of gcc warn that it
@@ -97,8 +87,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
[gl_cv_cc_uninitialized_supported=no])
CFLAGS="$gl_save_CFLAGS"
])
-
- fi
+ ])
# List all gcc warning categories.
# To compare this list to your installed GCC's, run this Bash command:
@@ -109,7 +98,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
# <(LC_ALL=C gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort)
$1=
- for gl_manywarn_item in -fanalyzer -fno-common \
+ for gl_manywarn_item in -fanalyzer -fstrict-flex-arrays \
-Wall \
-Warith-conversion \
-Wbad-function-cast \
@@ -137,6 +126,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
-Wpointer-arith \
-Wshadow \
-Wstack-protector \
+ -Wstrict-flex-arrays \
-Wstrict-overflow \
-Wstrict-prototypes \
-Wsuggest-attribute=cold \
@@ -160,46 +150,51 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
-Wwrite-strings \
\
; do
- gl_AS_VAR_APPEND([$1], [" $gl_manywarn_item"])
+ AS_VAR_APPEND([$1], [" $gl_manywarn_item"])
done
# gcc --help=warnings outputs an unusual form for these options; list
# them here so that the above 'comm' command doesn't report a false match.
- gl_AS_VAR_APPEND([$1], [' -Warray-bounds=2'])
- gl_AS_VAR_APPEND([$1], [' -Wattribute-alias=2'])
- gl_AS_VAR_APPEND([$1], [' -Wbidi-chars=any,ucn'])
- gl_AS_VAR_APPEND([$1], [' -Wformat-overflow=2'])
- gl_AS_VAR_APPEND([$1], [' -Wformat=2'])
- gl_AS_VAR_APPEND([$1], [' -Wformat-truncation=2'])
- gl_AS_VAR_APPEND([$1], [' -Wimplicit-fallthrough=5'])
- gl_AS_VAR_APPEND([$1], [' -Wshift-overflow=2'])
- gl_AS_VAR_APPEND([$1], [' -Wuse-after-free=3'])
- gl_AS_VAR_APPEND([$1], [' -Wunused-const-variable=2'])
- gl_AS_VAR_APPEND([$1], [' -Wvla-larger-than=4031'])
+ AS_VAR_APPEND([$1], [' -Warray-bounds=2'])
+ AS_VAR_APPEND([$1], [' -Wattribute-alias=2'])
+ AS_VAR_APPEND([$1], [' -Wbidi-chars=any,ucn'])
+ AS_VAR_APPEND([$1], [' -Wformat-overflow=2'])
+ AS_VAR_APPEND([$1], [' -Wformat=2'])
+ AS_VAR_APPEND([$1], [' -Wformat-truncation=2'])
+ AS_VAR_APPEND([$1], [' -Wimplicit-fallthrough=5'])
+ AS_VAR_APPEND([$1], [' -Wshift-overflow=2'])
+ AS_VAR_APPEND([$1], [' -Wuse-after-free=3'])
+ AS_VAR_APPEND([$1], [' -Wunused-const-variable=2'])
+ AS_VAR_APPEND([$1], [' -Wvla-larger-than=4031'])
# These are needed for older GCC versions.
- if test -n "$GCC"; then
- case `($CC --version) 2>/dev/null` in
+ if test -n "$GCC" && gl_gcc_version=`($CC --version) 2>/dev/null`; then
+ case $gl_gcc_version in
'gcc (GCC) '[[0-3]].* | \
'gcc (GCC) '4.[[0-7]].*)
- gl_AS_VAR_APPEND([$1], [' -fdiagnostics-show-option'])
- gl_AS_VAR_APPEND([$1], [' -funit-at-a-time'])
+ AS_VAR_APPEND([$1], [' -fdiagnostics-show-option'])
+ AS_VAR_APPEND([$1], [' -funit-at-a-time'])
+ ;;
+ esac
+ case $gl_gcc_version in
+ 'gcc (GCC) '[[0-9]].*)
+ AS_VAR_APPEND([$1], [' -fno-common'])
;;
esac
fi
# Disable specific options as needed.
if test "$gl_cv_cc_nomfi_needed" = yes; then
- gl_AS_VAR_APPEND([$1], [' -Wno-missing-field-initializers'])
+ AS_VAR_APPEND([$1], [' -Wno-missing-field-initializers'])
fi
if test "$gl_cv_cc_uninitialized_supported" = no; then
- gl_AS_VAR_APPEND([$1], [' -Wno-uninitialized'])
+ AS_VAR_APPEND([$1], [' -Wno-uninitialized'])
fi
# This warning have too many false alarms in GCC 11.2.1.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101713
- gl_AS_VAR_APPEND([$1], [' -Wno-analyzer-malloc-leak'])
+ AS_VAR_APPEND([$1], [' -Wno-analyzer-malloc-leak'])
AC_LANG_POP([C])
])
diff --git a/m4/musl.m4 b/m4/musl.m4
new file mode 100644
index 00000000000..e28a3fed677
--- /dev/null
+++ b/m4/musl.m4
@@ -0,0 +1,20 @@
+# musl.m4 serial 4
+dnl Copyright (C) 2019-2023 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Test for musl libc, despite the musl libc authors don't like it
+# <https://wiki.musl-libc.org/faq.html>
+# <https://lists.gnu.org/archive/html/bug-gnulib/2018-02/msg00079.html>.
+# From Bruno Haible.
+
+AC_DEFUN_ONCE([gl_MUSL_LIBC],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case "$host_os" in
+ *-musl* | midipix*)
+ AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.])
+ ;;
+ esac
+])
diff --git a/m4/regex.m4 b/m4/regex.m4
index c89a1432a7b..7acadc48343 100644
--- a/m4/regex.m4
+++ b/m4/regex.m4
@@ -1,4 +1,4 @@
-# serial 73
+# serial 74
# Copyright (C) 1996-2001, 2003-2023 Free Software Foundation, Inc.
#
@@ -15,7 +15,7 @@ AC_DEFUN([gl_REGEX],
[
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_ARG_WITH([included-regex],
- [AS_HELP_STRING([--without-included-regex],
+ [AS_HELP_STRING([[--without-included-regex]],
[don't compile regex; this is the default on systems
with recent-enough versions of the GNU C Library
(use with caution on other systems).])])
diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4
index 1c12c33ea09..52bd77d2aeb 100644
--- a/m4/ssize_t.m4
+++ b/m4/ssize_t.m4
@@ -1,23 +1,37 @@
-# ssize_t.m4 serial 5 (gettext-0.18.2)
+# ssize_t.m4 serial 6
dnl Copyright (C) 2001-2003, 2006, 2010-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
-dnl Test whether ssize_t is defined.
+dnl Define ssize_t if it does not already exist.
AC_DEFUN([gt_TYPE_SSIZE_T],
[
- AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
+ AC_CACHE_CHECK([for ssize_t], [gl_cv_ssize_t],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/types.h>]],
[[int x = sizeof (ssize_t *) + sizeof (ssize_t);
return !x;]])],
- [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])])
- if test $gt_cv_ssize_t = no; then
- AC_DEFINE([ssize_t], [int],
- [Define as a signed type of the same size as size_t.])
+ [gl_cv_ssize_t=yes], [gl_cv_ssize_t=no])])
+ if test $gl_cv_ssize_t = no; then
+ dnl On 64-bit native Windows, ssize_t needs to be defined as 'long long',
+ dnl for consistency with the 64-bit size_t.
+ AC_CACHE_CHECK([whether size_t is wider than 'long'], [gl_cv_size_t_large],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1];
+ ]])],
+ [gl_cv_size_t_large=yes], [gl_cv_size_t_large=no])])
+ if test $gl_cv_size_t_large = yes; then
+ gl_def_ssize_t='long long'
+ else
+ gl_def_ssize_t='long'
+ fi
+ AC_DEFINE_UNQUOTED([ssize_t], [$gl_def_ssize_t],
+ [Define as a signed type of the same size as size_t.])
fi
])
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index f49cf8ec162..1a236d66d2f 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -151,22 +151,22 @@ AC_DEFUN([gl_ALIGNASOF],
- alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
*/
-# if !HAVE_STDALIGN_H
-# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
-# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignas(a) alignas (a)
-# elif (!defined __attribute__ \
- && ((defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__ && !defined __ibmxl__) \
- || (4 <= __clang_major__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-# elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
-# endif
+# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
+# define _Alignas(a) alignas (a)
+# elif (!defined __attribute__ \
+ && ((defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__ && !defined __ibmxl__) \
+ || (4 <= __clang_major__) \
+ || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+ || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+# elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
# endif
+# endif
+# if !HAVE_STDALIGN_H
# if ((defined _Alignas \
&& !(defined __cplusplus \
&& (201103 <= __cplusplus || defined _MSC_VER))) \
diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4
index a2322ebb7ee..aa012219fcd 100644
--- a/m4/stddef_h.m4
+++ b/m4/stddef_h.m4
@@ -1,4 +1,4 @@
-# stddef_h.m4 serial 13
+# stddef_h.m4 serial 14
dnl Copyright (C) 2009-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -68,6 +68,21 @@ AC_DEFUN_ONCE([gl_STDDEF_H],
GL_GENERATE_STDDEF_H=true
fi
+ AC_CACHE_CHECK([for unreachable],
+ [gl_cv_func_unreachable],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ ]],
+ [[unreachable ();
+ ]])],
+ [gl_cv_func_unreachable=yes],
+ [gl_cv_func_unreachable=no])
+ ])
+ if test $gl_cv_func_unreachable = no; then
+ GL_GENERATE_STDDEF_H=true
+ fi
+
if $GL_GENERATE_STDDEF_H; then
gl_NEXT_HEADERS([stddef.h])
fi
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 07569961f8b..dbfa0d5d61b 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,12 +1,22 @@
-# stdio_h.m4 serial 61
+# stdio_h.m4 serial 63
dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN_ONCE([gl_STDIO_H],
+AC_DEFUN([gl_STDIO_H_EARLY],
[
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because
+ dnl the results of several configure tests depend on it: The tests
+ dnl - checking whether snprintf returns a byte count as in C99...
+ dnl - checking whether snprintf truncates the result as in C99...
+ dnl - checking whether printf supports the 'F' directive...
+ dnl - checking whether printf supports the grouping flag...
+ dnl - checking whether printf supports the zero flag correctly...
+ dnl - checking whether printf supports infinite 'double' arguments...
+ dnl - checking whether printf supports large precisions...
+ dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if
+ dnl __USE_MINGW_ANSI_STDIO is not set.
AH_VERBATIM([MINGW_ANSI_STDIO],
[/* Use GNU style printf and scanf. */
#ifndef __USE_MINGW_ANSI_STDIO
@@ -14,6 +24,11 @@ AC_DEFUN_ONCE([gl_STDIO_H],
#endif
])
AC_DEFINE([__USE_MINGW_ANSI_STDIO])
+])
+
+AC_DEFUN_ONCE([gl_STDIO_H],
+[
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
gl_NEXT_HEADERS([stdio.h])
dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
@@ -40,6 +55,9 @@ AC_DEFUN_ONCE([gl_STDIO_H],
attribute "__gnu_printf__" instead of "__printf__"])
fi
+ dnl For defining _PRINTF_NAN_LEN_MAX.
+ gl_MUSL_LIBC
+
dnl This ifdef is an optimization, to avoid performing a configure check whose
dnl result is not used. But it does not make the test of
dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant.
diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4
index 249ef657224..f47c1eb37b3 100644
--- a/m4/stdlib_h.m4
+++ b/m4/stdlib_h.m4
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 71
+# stdlib_h.m4 serial 75
dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -24,14 +24,57 @@ AC_DEFUN_ONCE([gl_STDLIB_H],
#endif
]], [_Exit aligned_alloc atoll canonicalize_file_name free
getloadavg getprogname getsubopt grantpt
- initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps
- posix_memalign posix_openpt ptsname ptsname_r qsort_r
+ initstate initstate_r mbstowcs mbtowc mkdtemp mkostemp mkostemps mkstemp
+ mkstemps posix_memalign posix_openpt ptsname ptsname_r qsort_r
random random_r reallocarray realpath rpmatch secure_getenv setenv
setstate setstate_r srandom srandom_r
strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv])
AC_REQUIRE([AC_C_RESTRICT])
+ dnl Test whether MB_CUR_MAX needs to be overridden.
+ dnl On Solaris 10, in UTF-8 locales, its value is 3 but needs to be 4.
+ dnl Fortunately, we can do this because on this platform MB_LEN_MAX is 5.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gt_LOCALE_FR_UTF8])
+ AC_CACHE_CHECK([whether MB_CUR_MAX is correct],
+ [gl_cv_macro_MB_CUR_MAX_good],
+ [
+ dnl Initial guess, used when cross-compiling or when no suitable locale
+ dnl is present.
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no on Solaris.
+ solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;;
+ esac
+changequote([,])dnl
+ if test $LOCALE_FR_UTF8 != none; then
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <locale.h>
+#include <stdlib.h>
+int main ()
+{
+ int result = 0;
+ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ {
+ if (MB_CUR_MAX < 4)
+ result |= 1;
+ }
+ return result;
+}]])],
+ [gl_cv_macro_MB_CUR_MAX_good=yes],
+ [gl_cv_macro_MB_CUR_MAX_good=no],
+ [:])
+ fi
+ ])
+ case "$gl_cv_macro_MB_CUR_MAX_good" in
+ *yes) ;;
+ *) REPLACE_MB_CUR_MAX=1 ;;
+ esac
+
AC_CHECK_DECLS_ONCE([ecvt])
if test $ac_cv_have_decl_ecvt = no; then
HAVE_DECL_ECVT=0
@@ -78,6 +121,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOWCS])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP])
@@ -131,6 +175,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT])
HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT])
HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
+ HAVE_DECL_PROGRAM_INVOCATION_NAME=1; AC_SUBST([HAVE_DECL_PROGRAM_INVOCATION_NAME])
HAVE_GETPROGNAME=1; AC_SUBST([HAVE_GETPROGNAME])
HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
@@ -180,6 +225,8 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE])
REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU])
REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX])
+ REPLACE_MB_CUR_MAX=0; AC_SUBST([REPLACE_MB_CUR_MAX])
+ REPLACE_MBSTOWCS=0; AC_SUBST([REPLACE_MBSTOWCS])
REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
REPLACE_MKOSTEMP=0; AC_SUBST([REPLACE_MKOSTEMP])
REPLACE_MKOSTEMPS=0; AC_SUBST([REPLACE_MKOSTEMPS])
diff --git a/m4/strtoll.m4 b/m4/strtoll.m4
index ede630c6061..a0cbc805bc9 100644
--- a/m4/strtoll.m4
+++ b/m4/strtoll.m4
@@ -1,4 +1,4 @@
-# strtoll.m4 serial 9
+# strtoll.m4 serial 11
dnl Copyright (C) 2002, 2004, 2006, 2008-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -19,10 +19,23 @@ AC_DEFUN([gl_FUNC_STRTOLL],
char *term;
/* This test fails on Minix and native Windows. */
{
- const char input[] = "0x";
- (void) strtoll (input, &term, 16);
- if (term != input + 1)
- result |= 1;
+ static char const input[2][3] = {"0x", "0b"};
+ static int const base[] = {0, 2, 10};
+ int i, j;
+ for (i = 0; i < 2; i++)
+ for (j = 0; j < 3; j++)
+ {
+ (void) strtoll (input[i], &term, base[j]);
+ if (term != input[i] + 1)
+ result |= 1;
+ }
+ }
+ /* This test fails on pre-C23 platforms. */
+ {
+ const char input[] = "0b1";
+ (void) strtoll (input, &term, 2);
+ if (term != input + 3)
+ result |= 2;
}
return result;
]])
@@ -30,9 +43,13 @@ AC_DEFUN([gl_FUNC_STRTOLL],
[gl_cv_func_strtoll_works=yes],
[gl_cv_func_strtoll_works=no],
[case "$host_os" in
- # Guess no on native Windows.
- mingw*) gl_cv_func_strtoll_works="guessing no" ;;
- *) gl_cv_func_strtoll_works="$gl_cross_guess_normal" ;;
+ # Guess no on native Windows.
+ mingw*) gl_cv_func_strtoll_works="guessing no" ;;
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_strtoll_works="guessing no" ;;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_strtoll_works="guessing no" ;;
+ *) gl_cv_func_strtoll_works="$gl_cross_guess_normal" ;;
esac
])
])
diff --git a/m4/warnings.m4 b/m4/warnings.m4
index 063bc5ca64a..1a3107f846d 100644
--- a/m4/warnings.m4
+++ b/m4/warnings.m4
@@ -1,4 +1,4 @@
-# warnings.m4 serial 16
+# warnings.m4 serial 18
dnl Copyright (C) 2008-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -6,14 +6,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Simon Josefsson
-# gl_AS_VAR_APPEND(VAR, VALUE)
-# ----------------------------
-# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
-m4_ifdef([AS_VAR_APPEND],
-[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])],
-[m4_define([gl_AS_VAR_APPEND],
-[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])
-
+AC_PREREQ([2.64])
# gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED],
# [PROGRAM = AC_LANG_PROGRAM()])
@@ -34,7 +27,7 @@ esac
m4_pushdef([gl_Positive], [$gl_positive])])dnl
AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], [gl_Warn], [
gl_save_compiler_FLAGS="$gl_Flags"
- gl_AS_VAR_APPEND(m4_defn([gl_Flags]),
+ AS_VAR_APPEND(m4_defn([gl_Flags]),
[" $gl_unknown_warnings_are_errors ]m4_defn([gl_Positive])["])
AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([[]])])],
[AS_VAR_SET([gl_Warn], [yes])],
@@ -97,7 +90,7 @@ AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL],
AC_DEFUN([gl_WARN_ADD],
[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS(]_AC_LANG[)])
gl_COMPILER_OPTION_IF([$1],
- [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_]_AC_LANG_PREFIX[FLAGS]], [[$2]]), [" $1"])],
+ [AS_VAR_APPEND(m4_if([$2], [], [[WARN_]_AC_LANG_PREFIX[FLAGS]], [[$2]]), [" $1"])],
[],
[$3])
m4_ifval([$2],
@@ -105,6 +98,67 @@ m4_ifval([$2],
[AC_SUBST([WARN_]_AC_LANG_PREFIX[FLAGS])])dnl
])
+
+# gl_CC_INHIBIT_WARNINGS
+# sets and substitutes a variable GL_CFLAG_INHIBIT_WARNINGS, to a $(CC) option
+# that reverts all preceding -W* options, if available.
+# This is expected to be '-w' at least on gcc, clang, AIX xlc, xlclang, Sun cc,
+# "compile cl" (MSVC), "compile clang-cl" (MSVC-compatible clang). Or it can be
+# empty.
+AC_DEFUN([gl_CC_INHIBIT_WARNINGS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_CACHE_CHECK([for C compiler option to inhibit all warnings],
+ [gl_cv_cc_winhibit],
+ [rm -f conftest*
+ echo 'int dummy;' > conftest.c
+ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null
+ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -w -c conftest.c 2>conftest2.err]) >/dev/null
+ if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+ gl_cv_cc_winhibit='-w'
+ else
+ gl_cv_cc_winhibit=none
+ fi
+ rm -f conftest*
+ ])
+ case "$gl_cv_cc_winhibit" in
+ none) GL_CFLAG_INHIBIT_WARNINGS='' ;;
+ *) GL_CFLAG_INHIBIT_WARNINGS="$gl_cv_cc_winhibit" ;;
+ esac
+ AC_SUBST([GL_CFLAG_INHIBIT_WARNINGS])
+])
+
+# gl_CXX_INHIBIT_WARNINGS
+# sets and substitutes a variable GL_CXXFLAG_INHIBIT_WARNINGS, to a $(CC) option
+# that reverts all preceding -W* options, if available.
+AC_DEFUN([gl_CXX_INHIBIT_WARNINGS],
+[
+ dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX.
+ if test -n "$CXX" && test "$CXX" != no; then
+ AC_CACHE_CHECK([for C++ compiler option to inhibit all warnings],
+ [gl_cv_cxx_winhibit],
+ [rm -f conftest*
+ echo 'int dummy;' > conftest.cc
+ AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null
+ AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -w -c conftest.cc 2>conftest2.err]) >/dev/null
+ if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+ gl_cv_cxx_winhibit='-w'
+ else
+ gl_cv_cxx_winhibit=none
+ fi
+ rm -f conftest*
+ ])
+ case "$gl_cv_cxx_winhibit" in
+ none) GL_CXXFLAG_INHIBIT_WARNINGS='' ;;
+ *) GL_CXXFLAG_INHIBIT_WARNINGS="$gl_cv_cxx_winhibit" ;;
+ esac
+ else
+ GL_CXXFLAG_INHIBIT_WARNINGS=''
+ fi
+ AC_SUBST([GL_CXXFLAG_INHIBIT_WARNINGS])
+])
+
+
# Local Variables:
# mode: autoconf
# End:
diff --git a/m4/xattr.m4 b/m4/xattr.m4
index 0e179cc0d1d..70bf0db4419 100644
--- a/m4/xattr.m4
+++ b/m4/xattr.m4
@@ -1,5 +1,5 @@
# xattr.m4 - check for Extended Attributes (Linux)
-# serial 6
+# serial 7
# Copyright (C) 2003-2023 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -9,7 +9,7 @@
AC_DEFUN([gl_FUNC_XATTR],
[
AC_ARG_ENABLE([xattr],
- AS_HELP_STRING([--disable-xattr],
+ AS_HELP_STRING([[--disable-xattr]],
[do not support extended attributes]),
[use_xattr=$enableval], [use_xattr=yes])
diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site
index 425eaace30d..9962cc46642 100644
--- a/nt/mingw-cfg.site
+++ b/nt/mingw-cfg.site
@@ -124,7 +124,7 @@ gl_cv_func_pthread_sigmask_return_works=yes
gl_cv_func_pthread_sigmask_unblock_works="not relevant"
gl_cv_func_pthread_sigmask_macro=no
# Implemented in w32proc.c
-emacs_cv_langinfo_codeset=yes
+am_cv_langinfo_codeset=yes
emacs_cv_langinfo__nl_paper_width=yes
# Declared in ms-w32.h
ac_cv_have_decl_alarm=yes
diff --git a/src/Makefile.in b/src/Makefile.in
index e08e5eead28..1dae6376c0f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -873,6 +873,11 @@ elnlisp := $(addprefix ${lispsource}/,${elnlisp}) $(lisp:.elc=.eln)
## native-lisp where the *.eln files will be produced, and the exact
## names of those *.eln files, cannot be known in advance; we must ask
## Emacs to produce them.
+## If AOT native compilation is requested, we additionally
+## native-compile all the *.el files in ../lisp that need to be
+## compiled and haven't yet been compiled. ELDONE holds the list
+## of *.el files that were already native-compiled.
+NATIVE_COMPILATION_AOT = @NATIVE_COMPILATION_AOT@
../native-lisp: | $(pdmp)
@if test ! -d $@; then \
mkdir $@ && $(MAKE) $(AM_V_NO_PD) $(elnlisp); \
@@ -883,6 +888,9 @@ elnlisp := $(addprefix ${lispsource}/,${elnlisp}) $(lisp:.elc=.eln)
--bin-dest $(BIN_DESTDIR) --eln-dest $(ELN_DESTDIR) \
&& cp -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT) \
&& cp -f $(pdmp) $(bootstrap_pdmp); \
+ if test $(NATIVE_COMPILATION_AOT) = yes; then \
+ $(MAKE) $(AM_V_NO_PD) -C ../lisp compile-eln-aot EMACS="../src/emacs$(EXEEXT)" ELNDONE="$(addprefix %,$(notdir $(elnlisp))))"; \
+ fi; \
fi
endif
diff --git a/src/alloc.c b/src/alloc.c
index d09fc41dec6..17ca5c725d0 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -398,7 +398,7 @@ static ptrdiff_t pure_bytes_used_non_lisp;
/* If positive, garbage collection is inhibited. Otherwise, zero. */
-static intptr_t garbage_collection_inhibited;
+intptr_t garbage_collection_inhibited;
/* The GC threshold in bytes, the last time it was calculated
from gc-cons-threshold and gc-cons-percentage. */
@@ -863,7 +863,7 @@ xnmalloc (ptrdiff_t nitems, ptrdiff_t item_size)
{
eassert (0 <= nitems && 0 < item_size);
ptrdiff_t nbytes;
- if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes) || SIZE_MAX < nbytes)
+ if (ckd_mul (&nbytes, nitems, item_size) || SIZE_MAX < nbytes)
memory_full (SIZE_MAX);
return xmalloc (nbytes);
}
@@ -877,7 +877,7 @@ xnrealloc (void *pa, ptrdiff_t nitems, ptrdiff_t item_size)
{
eassert (0 <= nitems && 0 < item_size);
ptrdiff_t nbytes;
- if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes) || SIZE_MAX < nbytes)
+ if (ckd_mul (&nbytes, nitems, item_size) || SIZE_MAX < nbytes)
memory_full (SIZE_MAX);
return xrealloc (pa, nbytes);
}
@@ -924,13 +924,13 @@ xpalloc (void *pa, ptrdiff_t *nitems, ptrdiff_t nitems_incr_min,
NITEMS_MAX, and what the C language can represent safely. */
ptrdiff_t n, nbytes;
- if (INT_ADD_WRAPV (n0, n0 >> 1, &n))
+ if (ckd_add (&n, n0, n0 >> 1))
n = PTRDIFF_MAX;
if (0 <= nitems_max && nitems_max < n)
n = nitems_max;
ptrdiff_t adjusted_nbytes
- = ((INT_MULTIPLY_WRAPV (n, item_size, &nbytes) || SIZE_MAX < nbytes)
+ = ((ckd_mul (&nbytes, n, item_size) || SIZE_MAX < nbytes)
? min (PTRDIFF_MAX, SIZE_MAX)
: nbytes < DEFAULT_MXFAST ? DEFAULT_MXFAST : 0);
if (adjusted_nbytes)
@@ -942,9 +942,9 @@ xpalloc (void *pa, ptrdiff_t *nitems, ptrdiff_t nitems_incr_min,
if (! pa)
*nitems = 0;
if (n - n0 < nitems_incr_min
- && (INT_ADD_WRAPV (n0, nitems_incr_min, &n)
+ && (ckd_add (&n, n0, nitems_incr_min)
|| (0 <= nitems_max && nitems_max < n)
- || INT_MULTIPLY_WRAPV (n, item_size, &nbytes)))
+ || ckd_mul (&nbytes, n, item_size)))
memory_full (SIZE_MAX);
pa = xrealloc (pa, nbytes);
*nitems = n;
@@ -2375,7 +2375,7 @@ a multibyte string even if INIT is an ASCII character. */)
ptrdiff_t len = CHAR_STRING (c, str);
EMACS_INT string_len = XFIXNUM (length);
- if (INT_MULTIPLY_WRAPV (len, string_len, &nbytes))
+ if (ckd_mul (&nbytes, len, string_len))
string_overflow ();
val = make_clear_multibyte_string (string_len, nbytes, clearit);
if (!clearit)
@@ -5226,7 +5226,7 @@ mark_memory (void const *start, void const *end)
a Lisp_Object might be split into registers saved into
non-adjacent words and P might be the low-order word's value. */
intptr_t ip;
- INT_ADD_WRAPV ((intptr_t) p, (intptr_t) lispsym, &ip);
+ ckd_add (&ip, (intptr_t) p, (intptr_t) lispsym);
mark_maybe_pointer ((void *) ip, true);
}
}
@@ -5338,15 +5338,6 @@ typedef union
#endif
} stacktop_sentry;
-/* Yield an address close enough to the top of the stack that the
- garbage collector need not scan above it. Callers should be
- declared NO_INLINE. */
-#ifdef HAVE___BUILTIN_FRAME_ADDRESS
-# define NEAR_STACK_TOP(addr) ((void) (addr), __builtin_frame_address (0))
-#else
-# define NEAR_STACK_TOP(addr) (addr)
-#endif
-
/* Set *P to the address of the top of the stack. This must be a
macro, not a function, so that it is executed in the caller's
environment. It is not inside a do-while so that its storage
diff --git a/src/bignum.c b/src/bignum.c
index e64653b2873..22ed171533f 100644
--- a/src/bignum.c
+++ b/src/bignum.c
@@ -354,7 +354,7 @@ emacs_mpz_pow_ui (mpz_t rop, mpz_t const base, unsigned long exp)
enum { lim = min (NLIMBS_LIMIT, GMP_NLIMBS_MAX - pow_ui_extra_limbs) };
int nbase = emacs_mpz_size (base), n;
- if (INT_MULTIPLY_WRAPV (nbase, exp, &n) || lim < n)
+ if (ckd_mul (&n, nbase, exp) || lim < n)
overflow_error ();
mpz_pow_ui (rop, base, exp);
}
diff --git a/src/buffer.c b/src/buffer.c
index 3e3be805a6d..0c46b201586 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -50,6 +50,14 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include "w32heap.h" /* for mmap_* */
#endif
+/* Work around GCC bug 109847
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109847
+ which causes GCC to mistakenly complain about
+ AUTO_STRING with "*scratch*". */
+#if GNUC_PREREQ (13, 0, 0)
+# pragma GCC diagnostic ignored "-Wanalyzer-out-of-bounds"
+#endif
+
/* This structure holds the default values of the buffer-local variables
defined with DEFVAR_PER_BUFFER, that have special slots in each buffer.
The default value occupies the same slot in this structure
@@ -2386,6 +2394,7 @@ Any narrowing restriction in effect (see `narrow-to-region') is removed,
so the buffer is truly empty after this. */)
(void)
{
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
del_range (BEG, Z);
@@ -3334,7 +3343,7 @@ record_overlay_string (struct sortstrlist *ssl, Lisp_Object str,
else
nbytes = SBYTES (str);
- if (INT_ADD_WRAPV (ssl->bytes, nbytes, &nbytes))
+ if (ckd_add (&nbytes, nbytes, ssl->bytes))
memory_full (SIZE_MAX);
ssl->bytes = nbytes;
@@ -3348,7 +3357,7 @@ record_overlay_string (struct sortstrlist *ssl, Lisp_Object str,
else
nbytes = SBYTES (str2);
- if (INT_ADD_WRAPV (ssl->bytes, nbytes, &nbytes))
+ if (ckd_add (&nbytes, nbytes, ssl->bytes))
memory_full (SIZE_MAX);
ssl->bytes = nbytes;
}
@@ -3420,7 +3429,7 @@ overlay_strings (ptrdiff_t pos, struct window *w, unsigned char **pstr)
unsigned char *p;
ptrdiff_t total;
- if (INT_ADD_WRAPV (overlay_heads.bytes, overlay_tails.bytes, &total))
+ if (ckd_add (&total, overlay_heads.bytes, overlay_tails.bytes))
memory_full (SIZE_MAX);
if (total > overlay_str_len)
overlay_str_buf = xpalloc (overlay_str_buf, &overlay_str_len,
diff --git a/src/bytecode.c b/src/bytecode.c
index 74a94859aba..4207ff0b71f 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1327,7 +1327,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
Lisp_Object v1 = TOP;
intmax_t res;
if (FIXNUMP (v1) && FIXNUMP (v2)
- && !INT_MULTIPLY_WRAPV (XFIXNUM (v1), XFIXNUM (v2), &res)
+ && !ckd_mul (&res, XFIXNUM (v1), XFIXNUM (v2))
&& !FIXNUM_OVERFLOW_P (res))
TOP = make_fixnum (res);
else
diff --git a/src/callproc.c b/src/callproc.c
index 5e1e1a8cc0a..6f3d4fad9be 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -1113,6 +1113,7 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
{
/* No need to save restrictions since we delete everything
anyway. */
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
del_range (BEG, Z);
}
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 1a959b1c07b..d567a5e353a 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -283,8 +283,8 @@ do_casify_multibyte_string (struct casing_context *ctx, Lisp_Object obj)
ptrdiff_t size = SCHARS (obj), n;
USE_SAFE_ALLOCA;
- if (INT_MULTIPLY_WRAPV (size, MAX_MULTIBYTE_LENGTH, &n)
- || INT_ADD_WRAPV (n, sizeof (struct casing_str_buf), &n))
+ if (ckd_mul (&n, size, MAX_MULTIBYTE_LENGTH)
+ || ckd_add (&n, n, sizeof (struct casing_str_buf)))
n = PTRDIFF_MAX;
unsigned char *dst = SAFE_ALLOCA (n);
unsigned char *dst_end = dst + n;
diff --git a/src/ccl.c b/src/ccl.c
index 6e780ef9f0c..67f2a275841 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -605,6 +605,14 @@ do \
} \
while (0)
+/* Work around GCC bug 109579
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109579
+ which causes GCC to mistakenly complain about
+ popping the mapping stack. */
+#if GNUC_PREREQ (13, 0, 0)
+# pragma GCC diagnostic ignored "-Wanalyzer-out-of-bounds"
+#endif
+
#define POP_MAPPING_STACK(restlen, orig) \
do \
{ \
@@ -1148,9 +1156,9 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size
ccl_expr_self:
switch (op)
{
- case CCL_PLUS: INT_ADD_WRAPV (reg[rrr], i, &reg[rrr]); break;
- case CCL_MINUS: INT_SUBTRACT_WRAPV (reg[rrr], i, &reg[rrr]); break;
- case CCL_MUL: INT_MULTIPLY_WRAPV (reg[rrr], i, &reg[rrr]); break;
+ case CCL_PLUS: ckd_add (&reg[rrr], reg[rrr], i); break;
+ case CCL_MINUS: ckd_sub (&reg[rrr], reg[rrr], i); break;
+ case CCL_MUL: ckd_mul (&reg[rrr], reg[rrr], i); break;
case CCL_DIV:
if (!i)
CCL_INVALID_CMD;
@@ -1186,7 +1194,7 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size
if (i == -1)
{
reg[7] = 0;
- INT_SUBTRACT_WRAPV (0, reg[rrr], &reg[rrr]);
+ ckd_sub (&reg[rrr], 0, reg[rrr]);
}
else
{
@@ -1243,9 +1251,9 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size
ccl_set_expr:
switch (op)
{
- case CCL_PLUS: INT_ADD_WRAPV (i, j, &reg[rrr]); break;
- case CCL_MINUS: INT_SUBTRACT_WRAPV (i, j, &reg[rrr]); break;
- case CCL_MUL: INT_MULTIPLY_WRAPV (i, j, &reg[rrr]); break;
+ case CCL_PLUS: ckd_add (&reg[rrr], i, j); break;
+ case CCL_MINUS: ckd_sub (&reg[rrr], i, j); break;
+ case CCL_MUL: ckd_mul (&reg[rrr], i, j); break;
case CCL_DIV:
if (!j)
CCL_INVALID_CMD;
@@ -1280,7 +1288,7 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size
CCL_INVALID_CMD;
if (j == -1)
{
- INT_SUBTRACT_WRAPV (0, reg[rrr], &reg[rrr]);
+ ckd_sub (&reg[rrr], 0, reg[rrr]);
reg[7] = 0;
}
else
@@ -2161,8 +2169,8 @@ usage: (ccl-execute-on-string CCL-PROGRAM STATUS STRING &optional CONTINUE UNIBY
buf_magnification = ccl.buf_magnification ? ccl.buf_magnification : 1;
outbufsize = str_bytes;
- if (INT_MULTIPLY_WRAPV (buf_magnification, outbufsize, &outbufsize)
- || INT_ADD_WRAPV (256, outbufsize, &outbufsize))
+ if (ckd_mul (&outbufsize, outbufsize, buf_magnification)
+ || ckd_add (&outbufsize, outbufsize, 256))
memory_full (SIZE_MAX);
outp = outbuf = xmalloc (outbufsize);
diff --git a/src/character.c b/src/character.c
index d0b18367a83..ae153a579d6 100644
--- a/src/character.c
+++ b/src/character.c
@@ -250,7 +250,7 @@ char_width (int c, struct Lisp_Char_Table *dp)
if (c >= 0)
{
int w = CHARACTER_WIDTH (c);
- if (INT_ADD_WRAPV (width, w, &width))
+ if (ckd_add (&width, width, w))
string_overflow ();
}
}
@@ -301,7 +301,7 @@ c_string_width (const unsigned char *str, ptrdiff_t len, int precision,
*nbytes = i_byte;
return width;
}
- if (INT_ADD_WRAPV (thiswidth, width, &width))
+ if (ckd_add (&width, width, thiswidth))
string_overflow ();
i++;
i_byte += bytes;
@@ -441,7 +441,7 @@ lisp_string_width (Lisp_Object string, ptrdiff_t from, ptrdiff_t to,
*nbytes = i_byte - from_byte;
return width;
}
- if (INT_ADD_WRAPV (thiswidth, width, &width))
+ if (ckd_add (&width, width, thiswidth))
string_overflow ();
i += chars;
i_byte += bytes;
@@ -664,7 +664,7 @@ count_size_as_multibyte (const unsigned char *str, ptrdiff_t len)
for (ptrdiff_t i = 0; i < len; i++)
nonascii += str[i] >> 7;
ptrdiff_t bytes;
- if (INT_ADD_WRAPV (len, nonascii, &bytes))
+ if (ckd_add (&bytes, len, nonascii))
string_overflow ();
return bytes;
}
@@ -780,21 +780,21 @@ string_escape_byte8 (Lisp_Object string)
if (byte8_count == 0)
return string;
- if (INT_MULTIPLY_WRAPV (byte8_count, 3, &thrice_byte8_count))
+ if (ckd_mul (&thrice_byte8_count, byte8_count, 3))
string_overflow ();
if (multibyte)
{
/* Convert 2-byte sequence of byte8 chars to 4-byte octal. */
- if (INT_ADD_WRAPV (nchars, thrice_byte8_count, &uninit_nchars)
- || INT_ADD_WRAPV (nbytes, 2 * byte8_count, &uninit_nbytes))
+ if (ckd_add (&uninit_nchars, nchars, thrice_byte8_count)
+ || ckd_add (&uninit_nbytes, nbytes, 2 * byte8_count))
string_overflow ();
val = make_uninit_multibyte_string (uninit_nchars, uninit_nbytes);
}
else
{
/* Convert 1-byte sequence of byte8 chars to 4-byte octal. */
- if (INT_ADD_WRAPV (thrice_byte8_count, nbytes, &uninit_nbytes))
+ if (ckd_add (&uninit_nbytes, thrice_byte8_count, nbytes))
string_overflow ();
val = make_uninit_string (uninit_nbytes);
}
diff --git a/src/cmds.c b/src/cmds.c
index 15caa4a6972..37e1779296a 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -453,7 +453,7 @@ internal_self_insert (int c, EMACS_INT n)
}
ptrdiff_t to;
- if (INT_ADD_WRAPV (PT, chars_to_delete, &to))
+ if (ckd_add (&to, PT, chars_to_delete))
to = PTRDIFF_MAX;
replace_range (PT, to, string, 1, 1, 1, 0, false);
Fforward_char (make_fixnum (n));
diff --git a/src/coding.c b/src/coding.c
index a2e0d7040f8..f014749c4ea 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -989,7 +989,7 @@ static void
coding_alloc_by_realloc (struct coding_system *coding, ptrdiff_t bytes)
{
ptrdiff_t newbytes;
- if (INT_ADD_WRAPV (coding->dst_bytes, bytes, &newbytes)
+ if (ckd_add (&newbytes, coding->dst_bytes, bytes)
|| SIZE_MAX < newbytes)
string_overflow ();
coding->destination = xrealloc (coding->destination, newbytes);
@@ -7059,9 +7059,8 @@ produce_chars (struct coding_system *coding, Lisp_Object translation_table,
{
eassert (growable_destination (coding));
ptrdiff_t dst_size;
- if (INT_MULTIPLY_WRAPV (to_nchars, MAX_MULTIBYTE_LENGTH,
- &dst_size)
- || INT_ADD_WRAPV (buf_end - buf, dst_size, &dst_size))
+ if (ckd_mul (&dst_size, to_nchars, MAX_MULTIBYTE_LENGTH)
+ || ckd_add (&dst_size, dst_size, buf_end - buf))
memory_full (SIZE_MAX);
dst = alloc_destination (coding, dst_size, dst);
if (EQ (coding->src_object, coding->dst_object))
diff --git a/src/comp.c b/src/comp.c
index 9ff3efedbdd..013ac6358c1 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -1,7 +1,7 @@
/* Compile Emacs Lisp into native code.
Copyright (C) 2019-2023 Free Software Foundation, Inc.
-Author: Andrea Corallo <akrl@sdf.org>
+Author: Andrea Corallo <acorallo@gnu.org>
This file is part of GNU Emacs.
diff --git a/src/composite.c b/src/composite.c
index 164eeb39598..9332c1cb9a3 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -1040,7 +1040,9 @@ inhibit_auto_composition (void)
composition closest to CHARPOS is found, set cmp_it->stop_pos to
the last character of the composition. STRING, if non-nil, is
the string (as opposed to a buffer) whose characters should be
- tested for being composable.
+ tested for being composable. INCLUDE_STATIC non-zero means
+ consider both static and automatic compositions; if zero, look
+ only for potential automatic compositions.
If no composition is found, set cmp_it->ch to -2. If a static
composition is found, set cmp_it->ch to -1. Otherwise, set
@@ -1050,7 +1052,7 @@ inhibit_auto_composition (void)
void
composition_compute_stop_pos (struct composition_it *cmp_it, ptrdiff_t charpos,
ptrdiff_t bytepos, ptrdiff_t endpos,
- Lisp_Object string)
+ Lisp_Object string, bool include_static)
{
ptrdiff_t start, end;
int c;
@@ -1075,7 +1077,7 @@ composition_compute_stop_pos (struct composition_it *cmp_it, ptrdiff_t charpos,
with long lines, however, NL might be far away, so
pretend that the buffer is smaller. */
if (current_buffer->long_line_optimizations_p)
- endpos = get_closer_narrowed_begv (cmp_it->parent_it->w, charpos);
+ endpos = get_small_narrowing_begv (cmp_it->parent_it->w, charpos);
}
}
cmp_it->id = -1;
@@ -1084,8 +1086,10 @@ composition_compute_stop_pos (struct composition_it *cmp_it, ptrdiff_t charpos,
cmp_it->stop_pos = endpos;
if (charpos == endpos)
return;
+ /* Look for static compositions. */
/* FIXME: Bidi is not yet handled well in static composition. */
- if (charpos < endpos
+ if (include_static
+ && charpos < endpos
&& find_composition (charpos, endpos, &start, &end, &prop, string)
&& start >= charpos
&& composition_valid_p (start, end, prop))
@@ -1106,6 +1110,7 @@ composition_compute_stop_pos (struct composition_it *cmp_it, ptrdiff_t charpos,
bytepos = string_char_to_byte (string, charpos);
}
+ /* Look for automatic compositions. */
start = charpos;
if (charpos < endpos)
{
@@ -1285,7 +1290,8 @@ composition_reseat_it (struct composition_it *cmp_it, ptrdiff_t charpos,
{
if (cmp_it->ch == -2)
{
- composition_compute_stop_pos (cmp_it, charpos, bytepos, endpos, string);
+ composition_compute_stop_pos (cmp_it, charpos, bytepos, endpos, string,
+ true);
if (cmp_it->ch == -2 || cmp_it->stop_pos != charpos)
/* The current position is not composed. */
return 0;
@@ -1424,7 +1430,7 @@ composition_reseat_it (struct composition_it *cmp_it, ptrdiff_t charpos,
}
if (cmp_it->reversed_p)
endpos = -1;
- composition_compute_stop_pos (cmp_it, charpos, bytepos, endpos, string);
+ composition_compute_stop_pos (cmp_it, charpos, bytepos, endpos, string, true);
return 0;
}
@@ -1654,7 +1660,7 @@ find_automatic_composition (ptrdiff_t pos, ptrdiff_t limit, ptrdiff_t backlim,
{
/* In buffers with very long lines, this function becomes very
slow. Pretend that the buffer is narrowed to make it fast. */
- ptrdiff_t begv = get_closer_narrowed_begv (w, window_point (w));
+ ptrdiff_t begv = get_small_narrowing_begv (w, window_point (w));
if (pos > begv)
head = begv;
}
diff --git a/src/composite.h b/src/composite.h
index e81465d90cc..0f791c1ea62 100644
--- a/src/composite.h
+++ b/src/composite.h
@@ -348,7 +348,7 @@ extern bool find_automatic_composition (ptrdiff_t, ptrdiff_t, ptrdiff_t,
extern void composition_compute_stop_pos (struct composition_it *,
ptrdiff_t, ptrdiff_t, ptrdiff_t,
- Lisp_Object);
+ Lisp_Object, bool);
extern bool composition_reseat_it (struct composition_it *, ptrdiff_t,
ptrdiff_t, ptrdiff_t, struct window *,
signed char, struct face *, Lisp_Object);
diff --git a/src/data.c b/src/data.c
index 8f9ee63e779..9d7e7effdcd 100644
--- a/src/data.c
+++ b/src/data.c
@@ -3190,9 +3190,9 @@ arith_driver (enum arithop code, ptrdiff_t nargs, Lisp_Object *args,
intmax_t a;
switch (code)
{
- case Aadd : overflow = INT_ADD_WRAPV (accum, next, &a); break;
- case Amult: overflow = INT_MULTIPLY_WRAPV (accum, next, &a); break;
- case Asub : overflow = INT_SUBTRACT_WRAPV (accum, next, &a); break;
+ case Aadd : overflow = ckd_add (&a, accum, next); break;
+ case Amult: overflow = ckd_mul (&a, accum, next); break;
+ case Asub : overflow = ckd_sub (&a, accum, next); break;
case Adiv:
if (next == 0)
xsignal0 (Qarith_error);
diff --git a/src/dbusbind.c b/src/dbusbind.c
index d96b735c79a..97094e407d7 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -276,7 +276,7 @@ XD_OBJECT_TO_STRING (Lisp_Object object)
#define XD_DBUS_VALIDATE_BUS_ADDRESS(bus) \
do { \
- char const *session_bus_address = getenv ("DBUS_SESSION_BUS_ADDRESS"); \
+ char const *session_bus_address = egetenv ("DBUS_SESSION_BUS_ADDRESS"); \
if (STRINGP (bus)) \
{ \
DBusAddressEntry **entries; \
diff --git a/src/decompress.c b/src/decompress.c
index 6ef17db07d6..162f6167b73 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -151,7 +151,7 @@ md5_gz_stream (FILE *source, void *resblock)
return -1;
accumulate_and_process_md5 (out, MD5_BLOCKSIZE - stream.avail_out, &ctx);
- } while (!stream.avail_out);
+ } while (stream.avail_in && !stream.avail_out);
} while (res != Z_STREAM_END);
diff --git a/src/dispextern.h b/src/dispextern.h
index 4dcab113ea2..ece128949f5 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -2334,21 +2334,20 @@ struct it
with which display_string was called. */
ptrdiff_t end_charpos;
- /* Alternate begin position of the buffer that may be used to
- optimize display (see the SET_WITH_NARROWED_BEGV macro). */
- ptrdiff_t narrowed_begv;
-
- /* Alternate end position of the buffer that may be used to
- optimize display. */
- ptrdiff_t narrowed_zv;
-
- /* Begin position of the buffer for the locked narrowing around
- low-level hooks. */
- ptrdiff_t locked_narrowing_begv;
-
- /* End position of the buffer for the locked narrowing around
- low-level hooks. */
- ptrdiff_t locked_narrowing_zv;
+ /* Alternate begin and end positions of the buffer that are used to
+ optimize display of buffers with long lines. These two fields
+ hold the return value of the 'get_medium_narrowing_begv' and
+ 'get_medium_narrowing_zv' functions. */
+ ptrdiff_t medium_narrowing_begv;
+ ptrdiff_t medium_narrowing_zv;
+
+ /* Alternate begin and end positions of the buffer that are used for
+ labeled narrowings around low-level hooks in buffers with long
+ lines. These two fields hold the return value of the
+ 'get_large_narrowing_begv' and 'get_large_narrowing_zv'
+ functions. */
+ ptrdiff_t large_narrowing_begv;
+ ptrdiff_t large_narrowing_zv;
/* C string to iterate over. Non-null means get characters from
this string, otherwise characters are read from current_buffer
@@ -3410,11 +3409,9 @@ void mark_window_display_accurate (Lisp_Object, bool);
void redisplay_preserve_echo_area (int);
void init_iterator (struct it *, struct window *, ptrdiff_t,
ptrdiff_t, struct glyph_row *, enum face_id);
-ptrdiff_t get_narrowed_begv (struct window *, ptrdiff_t);
-ptrdiff_t get_narrowed_zv (struct window *, ptrdiff_t);
-ptrdiff_t get_closer_narrowed_begv (struct window *, ptrdiff_t);
-ptrdiff_t get_locked_narrowing_begv (ptrdiff_t);
-ptrdiff_t get_locked_narrowing_zv (ptrdiff_t);
+ptrdiff_t get_small_narrowing_begv (struct window *, ptrdiff_t);
+ptrdiff_t get_large_narrowing_begv (ptrdiff_t);
+ptrdiff_t get_large_narrowing_zv (ptrdiff_t);
void init_iterator_to_row_start (struct it *, struct window *,
struct glyph_row *);
void start_display (struct it *, struct window *, struct text_pos);
diff --git a/src/dispnew.c b/src/dispnew.c
index 43306043a0c..82524d8cb8d 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -1385,7 +1385,7 @@ realloc_glyph_pool (struct glyph_pool *pool, struct dim matrix_dim)
|| matrix_dim.width != pool->ncolumns);
/* Enlarge the glyph pool. */
- if (INT_MULTIPLY_WRAPV (matrix_dim.height, matrix_dim.width, &needed))
+ if (ckd_mul (&needed, matrix_dim.height, matrix_dim.width))
memory_full (SIZE_MAX);
if (needed > pool->nglyphs)
{
@@ -2212,10 +2212,16 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
w->pixel_left = 0;
w->left_col = 0;
- w->pixel_top = FRAME_MENU_BAR_HEIGHT (f)
- + (!NILP (Vtab_bar_position) ? FRAME_TOOL_BAR_HEIGHT (f) : 0);
- w->top_line = FRAME_MENU_BAR_LINES (f)
- + (!NILP (Vtab_bar_position) ? FRAME_TOOL_BAR_LINES (f) : 0);
+
+ /* Note that tab and tool bar windows appear above the internal
+ border, as enforced by WINDOW_TOP_EDGE_Y. */
+
+ w->pixel_top = (FRAME_MENU_BAR_HEIGHT (f)
+ + (!NILP (Vtab_bar_position)
+ ? FRAME_TOOL_BAR_TOP_HEIGHT (f) : 0));
+ w->top_line = (FRAME_MENU_BAR_LINES (f)
+ + (!NILP (Vtab_bar_position)
+ ? FRAME_TOOL_BAR_TOP_LINES (f) : 0));
w->total_cols = FRAME_TOTAL_COLS (f);
w->pixel_width = (FRAME_PIXEL_WIDTH (f)
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
@@ -2244,10 +2250,29 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
w->pixel_left = 0;
w->left_col = 0;
- w->pixel_top = FRAME_MENU_BAR_HEIGHT (f)
- + (NILP (Vtab_bar_position) ? FRAME_TAB_BAR_HEIGHT (f) : 0);
- w->top_line = FRAME_MENU_BAR_LINES (f)
- + (NILP (Vtab_bar_position) ? FRAME_TAB_BAR_LINES (f) : 0);
+
+ /* If the tool bar should be placed at the bottom of the frame,
+ place it there instead, outside the internal border. */
+
+ if (EQ (FRAME_TOOL_BAR_POSITION (f), Qbottom))
+ {
+ w->pixel_top = (FRAME_PIXEL_HEIGHT (f)
+ - FRAME_TOOL_BAR_HEIGHT (f));
+ w->top_line = (FRAME_LINES (f)
+ - FRAME_TOOL_BAR_LINES (f));
+ }
+ else
+ {
+ /* Otherwise, place the window at the top of the frame. */
+
+ w->pixel_top = (FRAME_MENU_BAR_HEIGHT (f)
+ + (NILP (Vtab_bar_position)
+ ? FRAME_TAB_BAR_HEIGHT (f) : 0));
+ w->top_line = (FRAME_MENU_BAR_LINES (f)
+ + (NILP (Vtab_bar_position)
+ ? FRAME_TAB_BAR_LINES (f) : 0));
+ }
+
w->total_cols = FRAME_TOTAL_COLS (f);
w->pixel_width = (FRAME_PIXEL_WIDTH (f)
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
@@ -3748,6 +3773,14 @@ update_window (struct window *w, bool force_p)
}
}
+ /* If the window doesn't display its mode line, make sure the
+ corresponding row of the current glyph matrix is disabled, so
+ that if and when the mode line is displayed again, it will be
+ cleared and completely redrawn. */
+ if (!window_wants_mode_line (w))
+ SET_MATRIX_ROW_ENABLED_P (w->current_matrix,
+ w->current_matrix->nrows - 1, false);
+
/* Was display preempted? */
paused_p = row < end;
@@ -6639,8 +6672,8 @@ init_display_interactive (void)
change. It's not clear what better we could do. The rest of
the code assumes that (width + 2) * height * sizeof (struct glyph)
does not overflow and does not exceed PTRDIFF_MAX or SIZE_MAX. */
- if (INT_ADD_WRAPV (width, 2, &area)
- || INT_MULTIPLY_WRAPV (height, area, &area)
+ if (ckd_add (&area, width, 2)
+ || ckd_mul (&area, area, height)
|| min (PTRDIFF_MAX, SIZE_MAX) / sizeof (struct glyph) < area)
fatal ("screen size %dx%d too big", width, height);
}
diff --git a/src/doprnt.c b/src/doprnt.c
index 3ebb957e9f2..e8911fad252 100644
--- a/src/doprnt.c
+++ b/src/doprnt.c
@@ -134,8 +134,8 @@ parse_format_integer (char const *fmt, int *value)
bool overflow = false;
for (; '0' <= *fmt && *fmt <= '9'; fmt++)
{
- overflow |= INT_MULTIPLY_WRAPV (n, 10, &n);
- overflow |= INT_ADD_WRAPV (n, *fmt - '0', &n);
+ overflow |= ckd_mul (&n, n, 10);
+ overflow |= ckd_add (&n, n, *fmt - '0');
}
if (overflow || min (PTRDIFF_MAX, SIZE_MAX) - SIZE_BOUND_EXTRA < n)
error ("Format width or precision too large");
diff --git a/src/editfns.c b/src/editfns.c
index f83c5c7259b..b920857b664 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -55,6 +55,11 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#ifdef WINDOWSNT
# include "w32common.h"
#endif
+
+#ifdef HAVE_TREE_SITTER
+#include "treesit.h"
+#endif
+
static void update_buffer_properties (ptrdiff_t, ptrdiff_t);
static Lisp_Object styled_format (ptrdiff_t, Lisp_Object *, bool);
@@ -2027,8 +2032,8 @@ nil. */)
ptrdiff_t ins_bytes = size_b / CHAR_BIT + 1;
ptrdiff_t *buffer;
ptrdiff_t bytes_needed;
- if (INT_MULTIPLY_WRAPV (diags, 2 * sizeof *buffer, &bytes_needed)
- || INT_ADD_WRAPV (del_bytes + ins_bytes, bytes_needed, &bytes_needed))
+ if (ckd_mul (&bytes_needed, diags, 2 * sizeof *buffer)
+ || ckd_add (&bytes_needed, bytes_needed, del_bytes + ins_bytes))
memory_full (SIZE_MAX);
USE_SAFE_ALLOCA;
buffer = SAFE_ALLOCA (bytes_needed);
@@ -2391,6 +2396,14 @@ Both characters must have the same length of multi-byte form. */)
if (NILP (noundo))
record_change (pos, 1);
for (i = 0; i < len; i++) *p++ = tostr[i];
+
+#ifdef HAVE_TREE_SITTER
+ /* In the previous branch, replace_range() notifies
+ changes to tree-sitter, but in this branch, we
+ modified buffer content manually, so we need to
+ notify tree-sitter manually. */
+ treesit_record_change (pos_byte, pos_byte + len, pos_byte + len);
+#endif
}
last_changed = pos + 1;
}
@@ -2590,6 +2603,15 @@ It returns the number of characters changed. */)
*p++ = *str++;
signal_after_change (pos, 1, 1);
update_compositions (pos, pos + 1, CHECK_BORDER);
+
+#ifdef HAVE_TREE_SITTER
+ /* In the previous branch, replace_range() notifies
+ changes to tree-sitter, but in this branch, we
+ modified buffer content manually, so we need to
+ notify tree-sitter manually. */
+ treesit_record_change (pos_byte, pos_byte + len,
+ pos_byte + len);
+#endif
}
characters_changed++;
}
@@ -2653,182 +2675,203 @@ DEFUN ("delete-and-extract-region", Fdelete_and_extract_region,
return del_range_1 (XFIXNUM (start), XFIXNUM (end), 1, 1);
}
-/* Alist of buffers in which locked narrowing is used. The car of
- each list element is a buffer, the cdr is a list of triplets (tag
- begv-marker zv-marker). The last element of that list always uses
- the (uninterned) Qoutermost_narrowing tag and records the narrowing
- bounds that were set by the user and that are visible on display.
- This alist is used internally by narrow-to-region, widen,
- internal--lock-narrowing, internal--unlock-narrowing and
- save-restriction. For efficiency reasons, an alist is used instead
- of a buffer-local variable: otherwise reset_outermost_narrowings,
- which is called during each redisplay cycle, would have to loop
- through all live buffers. */
-static Lisp_Object narrowing_locks;
-
-/* Add BUF with its LOCKS in the narrowing_locks alist. */
+/* Alist of buffers in which labeled restrictions are used. The car
+ of each list element is a buffer, the cdr is a list of triplets
+ (label begv-marker zv-marker). The last triplet of that list
+ always uses the (uninterned) Qoutermost_restriction label, and
+ records the restriction bounds that were current when the first
+ labeled restriction was entered (which may be a narrowing that was
+ set by the user and is visible on display). This alist is used
+ internally by narrow-to-region, widen, internal--label-restriction,
+ internal--unlabel-restriction and save-restriction. For efficiency
+ reasons, an alist is used instead of a buffer-local variable:
+ otherwise reset_outermost_restrictions, which is called during each
+ redisplay cycle, would have to loop through all live buffers. */
+static Lisp_Object labeled_restrictions;
+
+/* Add BUF with its list of labeled RESTRICTIONS in the
+ labeled_restrictions alist. */
static void
-narrowing_locks_add (Lisp_Object buf, Lisp_Object locks)
+labeled_restrictions_add (Lisp_Object buf, Lisp_Object restrictions)
{
- narrowing_locks = nconc2 (list1 (list2 (buf, locks)), narrowing_locks);
+ labeled_restrictions = nconc2 (list1 (list2 (buf, restrictions)),
+ labeled_restrictions);
}
-/* Remove BUF and its locks from the narrowing_locks alist. Do
- nothing if BUF is not present in narrowing_locks. */
+/* Remove BUF and its list of labeled restrictions from the
+ labeled_restrictions alist. Do nothing if BUF is not present in
+ labeled_restrictions. */
static void
-narrowing_locks_remove (Lisp_Object buf)
+labeled_restrictions_remove (Lisp_Object buf)
{
- narrowing_locks = Fdelq (Fassoc (buf, narrowing_locks, Qnil),
- narrowing_locks);
+ labeled_restrictions = Fdelq (Fassoc (buf, labeled_restrictions, Qnil),
+ labeled_restrictions);
}
-/* Retrieve one of the BEGV/ZV bounds of a narrowing in BUF from the
- narrowing_locks alist, as a pointer to a struct Lisp_Marker, or
- NULL if BUF is not in narrowing_locks or is a killed buffer. When
- OUTERMOST is true, the bounds that were set by the user and that
- are visible on display are returned. Otherwise the innermost
- locked narrowing bounds are returned. */
-static struct Lisp_Marker *
-narrowing_lock_get_bound (Lisp_Object buf, bool begv, bool outermost)
+/* Retrieve one of the labeled restriction bounds in BUF from the
+ labeled_restrictions alist, as a marker, or return nil if BUF is
+ not in labeled_restrictions or is a killed buffer. When OUTERMOST
+ is true, the restriction bounds that were current when the first
+ labeled restriction was entered are returned. Otherwise the bounds
+ of the innermost labeled restriction are returned. */
+static Lisp_Object
+labeled_restrictions_get_bound (Lisp_Object buf, bool begv, bool outermost)
{
if (NILP (Fbuffer_live_p (buf)))
- return NULL;
- Lisp_Object buffer_locks = assq_no_quit (buf, narrowing_locks);
- if (NILP (buffer_locks))
- return NULL;
- buffer_locks = XCAR (XCDR (buffer_locks));
+ return Qnil;
+ Lisp_Object restrictions = assq_no_quit (buf, labeled_restrictions);
+ if (NILP (restrictions))
+ return Qnil;
+ restrictions = XCAR (XCDR (restrictions));
Lisp_Object bounds
= outermost
- ? XCDR (assq_no_quit (Qoutermost_narrowing, buffer_locks))
- : XCDR (XCAR (buffer_locks));
+ ? XCDR (assq_no_quit (Qoutermost_restriction, restrictions))
+ : XCDR (XCAR (restrictions));
eassert (! NILP (bounds));
Lisp_Object marker = begv ? XCAR (bounds) : XCAR (XCDR (bounds));
eassert (EQ (Fmarker_buffer (marker), buf));
- return XMARKER (marker);
+ return marker;
}
-/* Retrieve the tag of the innermost narrowing in BUF. Return nil if
- BUF is not in narrowing_locks or is a killed buffer. */
+/* Retrieve the label of the innermost labeled restriction in BUF.
+ Return nil if BUF is not in labeled_restrictions or is a killed
+ buffer. */
static Lisp_Object
-narrowing_lock_peek_tag (Lisp_Object buf)
+labeled_restrictions_peek_label (Lisp_Object buf)
{
if (NILP (Fbuffer_live_p (buf)))
return Qnil;
- Lisp_Object buffer_locks = assq_no_quit (buf, narrowing_locks);
- if (NILP (buffer_locks))
+ Lisp_Object restrictions = assq_no_quit (buf, labeled_restrictions);
+ if (NILP (restrictions))
return Qnil;
- Lisp_Object tag = XCAR (XCAR (XCAR (XCDR (buffer_locks))));
- eassert (! NILP (tag));
- return tag;
+ Lisp_Object label = XCAR (XCAR (XCAR (XCDR (restrictions))));
+ eassert (! NILP (label));
+ return label;
}
-/* Add a LOCK for BUF in the narrowing_locks alist. */
+/* Add a labeled RESTRICTION for BUF in the labeled_restrictions
+ alist. */
static void
-narrowing_lock_push (Lisp_Object buf, Lisp_Object lock)
+labeled_restrictions_push (Lisp_Object buf, Lisp_Object restriction)
{
- Lisp_Object buffer_locks = assq_no_quit (buf, narrowing_locks);
- if (NILP (buffer_locks))
- narrowing_locks_add (buf, list1 (lock));
+ Lisp_Object restrictions = assq_no_quit (buf, labeled_restrictions);
+ if (NILP (restrictions))
+ labeled_restrictions_add (buf, list1 (restriction));
else
- XSETCDR (buffer_locks, list1 (nconc2 (list1 (lock),
- XCAR (XCDR (buffer_locks)))));
+ XSETCDR (restrictions, list1 (nconc2 (list1 (restriction),
+ XCAR (XCDR (restrictions)))));
}
-/* Remove the innermost lock in BUF from the narrowing_locks alist.
- Do nothing if BUF is not present in narrowing_locks. */
+/* Remove the innermost labeled restriction in BUF from the
+ labeled_restrictions alist. Do nothing if BUF is not present in
+ labeled_restrictions. */
static void
-narrowing_lock_pop (Lisp_Object buf)
+labeled_restrictions_pop (Lisp_Object buf)
{
- Lisp_Object buffer_locks = assq_no_quit (buf, narrowing_locks);
- if (NILP (buffer_locks))
+ Lisp_Object restrictions = assq_no_quit (buf, labeled_restrictions);
+ if (NILP (restrictions))
return;
- if (EQ (narrowing_lock_peek_tag (buf), Qoutermost_narrowing))
- narrowing_locks_remove (buf);
+ if (EQ (labeled_restrictions_peek_label (buf), Qoutermost_restriction))
+ labeled_restrictions_remove (buf);
else
- XSETCDR (buffer_locks, list1 (XCDR (XCAR (XCDR (buffer_locks)))));
+ XSETCDR (restrictions, list1 (XCDR (XCAR (XCDR (restrictions)))));
+}
+
+/* Unconditionally remove all labeled restrictions in current_buffer. */
+void
+labeled_restrictions_remove_in_current_buffer (void)
+{
+ labeled_restrictions_remove (Fcurrent_buffer ());
}
static void
-unwind_reset_outermost_narrowing (Lisp_Object buf)
+unwind_reset_outermost_restriction (Lisp_Object buf)
{
- struct Lisp_Marker *begv = narrowing_lock_get_bound (buf, true, false);
- struct Lisp_Marker *zv = narrowing_lock_get_bound (buf, false, false);
- if (begv != NULL && zv != NULL)
+ Lisp_Object begv = labeled_restrictions_get_bound (buf, true, false);
+ Lisp_Object zv = labeled_restrictions_get_bound (buf, false, false);
+ if (! NILP (begv) && ! NILP (zv))
{
- SET_BUF_BEGV_BOTH (XBUFFER (buf), begv->charpos, begv->bytepos);
- SET_BUF_ZV_BOTH (XBUFFER (buf), zv->charpos, zv->bytepos);
+ SET_BUF_BEGV_BOTH (XBUFFER (buf),
+ marker_position (begv), marker_byte_position (begv));
+ SET_BUF_ZV_BOTH (XBUFFER (buf),
+ marker_position (zv), marker_byte_position (zv));
}
else
- narrowing_locks_remove (buf);
+ labeled_restrictions_remove (buf);
}
-/* Restore the narrowing bounds that were set by the user, and restore
- the bounds of the locked narrowing upon return.
+/* Restore the restriction bounds that were current when the first
+ labeled restriction was entered, and restore the bounds of the
+ innermost labeled restriction upon return.
In particular, this function is called when redisplay starts, so
that if a Lisp function executed during redisplay calls (redisplay)
- while a locked narrowing is in effect, the locked narrowing will
- not be visible on display.
+ while labeled restrictions are in effect, these restrictions will
+ not become visible on display.
See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57207#140 and
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57207#254 for example
recipes that demonstrate why this is necessary. */
void
-reset_outermost_narrowings (void)
+reset_outermost_restrictions (void)
{
Lisp_Object val, buf;
- for (val = narrowing_locks; CONSP (val); val = XCDR (val))
+ for (val = labeled_restrictions; CONSP (val); val = XCDR (val))
{
buf = XCAR (XCAR (val));
eassert (BUFFERP (buf));
- struct Lisp_Marker *begv = narrowing_lock_get_bound (buf, true, true);
- struct Lisp_Marker *zv = narrowing_lock_get_bound (buf, false, true);
- if (begv != NULL && zv != NULL)
+ Lisp_Object begv = labeled_restrictions_get_bound (buf, true, true);
+ Lisp_Object zv = labeled_restrictions_get_bound (buf, false, true);
+ if (! NILP (begv) && ! NILP (zv))
{
- SET_BUF_BEGV_BOTH (XBUFFER (buf), begv->charpos, begv->bytepos);
- SET_BUF_ZV_BOTH (XBUFFER (buf), zv->charpos, zv->bytepos);
- record_unwind_protect (unwind_reset_outermost_narrowing, buf);
+ SET_BUF_BEGV_BOTH (XBUFFER (buf),
+ marker_position (begv), marker_byte_position (begv));
+ SET_BUF_ZV_BOTH (XBUFFER (buf),
+ marker_position (zv), marker_byte_position (zv));
+ record_unwind_protect (unwind_reset_outermost_restriction, buf);
}
else
- narrowing_locks_remove (buf);
+ labeled_restrictions_remove (buf);
}
}
-/* Helper functions to save and restore the narrowing locks of the
- current buffer in Fsave_restriction. */
+/* Helper functions to save and restore the labeled restrictions of
+ the current buffer in Fsave_restriction. */
static Lisp_Object
-narrowing_locks_save (void)
+labeled_restrictions_save (void)
{
Lisp_Object buf = Fcurrent_buffer ();
- Lisp_Object locks = assq_no_quit (buf, narrowing_locks);
- if (!NILP (locks))
- locks = XCAR (XCDR (locks));
- return Fcons (buf, Fcopy_sequence (locks));
+ Lisp_Object restrictions = assq_no_quit (buf, labeled_restrictions);
+ if (! NILP (restrictions))
+ restrictions = XCAR (XCDR (restrictions));
+ return Fcons (buf, Fcopy_sequence (restrictions));
}
static void
-narrowing_locks_restore (Lisp_Object buf_and_saved_locks)
+labeled_restrictions_restore (Lisp_Object buf_and_restrictions)
{
- Lisp_Object buf = XCAR (buf_and_saved_locks);
- Lisp_Object saved_locks = XCDR (buf_and_saved_locks);
- narrowing_locks_remove (buf);
- if (!NILP (saved_locks))
- narrowing_locks_add (buf, saved_locks);
+ Lisp_Object buf = XCAR (buf_and_restrictions);
+ Lisp_Object restrictions = XCDR (buf_and_restrictions);
+ labeled_restrictions_remove (buf);
+ if (! NILP (restrictions))
+ labeled_restrictions_add (buf, restrictions);
}
static void
-unwind_narrow_to_region_locked (Lisp_Object tag)
+unwind_labeled_narrow_to_region (Lisp_Object label)
{
- Finternal__unlock_narrowing (tag);
+ Finternal__unlabel_restriction (label);
Fwiden ();
}
-/* Narrow current_buffer to BEGV-ZV with a narrowing locked with TAG. */
+/* Narrow current_buffer to BEGV-ZV with a restriction labeled with
+ LABEL. */
void
-narrow_to_region_locked (Lisp_Object begv, Lisp_Object zv, Lisp_Object tag)
+labeled_narrow_to_region (Lisp_Object begv, Lisp_Object zv,
+ Lisp_Object label)
{
Fnarrow_to_region (begv, zv);
- Finternal__lock_narrowing (tag);
+ Finternal__label_restriction (label);
record_unwind_protect (restore_point_unwind, Fpoint_marker ());
- record_unwind_protect (unwind_narrow_to_region_locked, tag);
+ record_unwind_protect (unwind_labeled_narrow_to_region, label);
}
DEFUN ("widen", Fwiden, Swiden, 0, 0, "",
@@ -2842,11 +2885,11 @@ To gain access to other portions of the buffer, use
`without-restriction' with the same label. */)
(void)
{
- Fset (Qoutermost_narrowing, Qnil);
+ Fset (Qoutermost_restriction, Qnil);
Lisp_Object buf = Fcurrent_buffer ();
- Lisp_Object tag = narrowing_lock_peek_tag (buf);
+ Lisp_Object label = labeled_restrictions_peek_label (buf);
- if (NILP (tag))
+ if (NILP (label))
{
if (BEG != BEGV || Z != ZV)
current_buffer->clip_changed = 1;
@@ -2856,19 +2899,23 @@ To gain access to other portions of the buffer, use
}
else
{
- struct Lisp_Marker *begv = narrowing_lock_get_bound (buf, true, false);
- struct Lisp_Marker *zv = narrowing_lock_get_bound (buf, false, false);
- eassert (begv != NULL && zv != NULL);
- if (begv->charpos != BEGV || zv->charpos != ZV)
+ Lisp_Object begv = labeled_restrictions_get_bound (buf, true, false);
+ Lisp_Object zv = labeled_restrictions_get_bound (buf, false, false);
+ eassert (! NILP (begv) && ! NILP (zv));
+ ptrdiff_t begv_charpos = marker_position (begv);
+ ptrdiff_t zv_charpos = marker_position (zv);
+ if (begv_charpos != BEGV || zv_charpos != ZV)
current_buffer->clip_changed = 1;
- SET_BUF_BEGV_BOTH (current_buffer, begv->charpos, begv->bytepos);
- SET_BUF_ZV_BOTH (current_buffer, zv->charpos, zv->bytepos);
- /* If the only remaining bounds in narrowing_locks for
+ SET_BUF_BEGV_BOTH (current_buffer,
+ begv_charpos, marker_byte_position (begv));
+ SET_BUF_ZV_BOTH (current_buffer,
+ zv_charpos, marker_byte_position (zv));
+ /* If the only remaining bounds in labeled_restrictions for
current_buffer are the bounds that were set by the user, no
- locked narrowing is in effect in current_buffer anymore:
- remove it from the narrowing_locks alist. */
- if (EQ (tag, Qoutermost_narrowing))
- narrowing_lock_pop (buf);
+ labeled restriction is in effect in current_buffer anymore:
+ remove it from the labeled_restrictions alist. */
+ if (EQ (label, Qoutermost_restriction))
+ labeled_restrictions_pop (buf);
}
/* Changing the buffer bounds invalidates any recorded current column. */
invalidate_current_column ();
@@ -2905,25 +2952,27 @@ argument. To gain access to other portions of the buffer, use
args_out_of_range (start, end);
Lisp_Object buf = Fcurrent_buffer ();
- if (! NILP (narrowing_lock_peek_tag (buf)))
+ if (! NILP (labeled_restrictions_peek_label (buf)))
{
- struct Lisp_Marker *begv = narrowing_lock_get_bound (buf, true, false);
- struct Lisp_Marker *zv = narrowing_lock_get_bound (buf, false, false);
- eassert (begv != NULL && zv != NULL);
- /* Limit the start and end positions to those of the locked
- narrowing. */
- if (s < begv->charpos) s = begv->charpos;
- if (s > zv->charpos) s = zv->charpos;
- if (e < begv->charpos) e = begv->charpos;
- if (e > zv->charpos) e = zv->charpos;
+ /* Limit the start and end positions to those of the innermost
+ labeled restriction. */
+ Lisp_Object begv = labeled_restrictions_get_bound (buf, true, false);
+ Lisp_Object zv = labeled_restrictions_get_bound (buf, false, false);
+ eassert (! NILP (begv) && ! NILP (zv));
+ ptrdiff_t begv_charpos = marker_position (begv);
+ ptrdiff_t zv_charpos = marker_position (zv);
+ if (s < begv_charpos) s = begv_charpos;
+ if (s > zv_charpos) s = zv_charpos;
+ if (e < begv_charpos) e = begv_charpos;
+ if (e > zv_charpos) e = zv_charpos;
}
/* Record the accessible range of the buffer when narrow-to-region
- is called, that is, before applying the narrowing. It is used
- only by internal--lock-narrowing. */
- Fset (Qoutermost_narrowing, list3 (Qoutermost_narrowing,
- Fpoint_min_marker (),
- Fpoint_max_marker ()));
+ is called, that is, before applying the narrowing. That
+ information is used only by internal--label-restriction. */
+ Fset (Qoutermost_restriction, list3 (Qoutermost_restriction,
+ Fpoint_min_marker (),
+ Fpoint_max_marker ()));
if (BEGV != s || ZV != e)
current_buffer->clip_changed = 1;
@@ -2940,38 +2989,38 @@ argument. To gain access to other portions of the buffer, use
return Qnil;
}
-DEFUN ("internal--lock-narrowing", Finternal__lock_narrowing,
- Sinternal__lock_narrowing, 1, 1, 0,
- doc: /* Lock the current narrowing with LABEL.
+DEFUN ("internal--label-restriction", Finternal__label_restriction,
+ Sinternal__label_restriction, 1, 1, 0,
+ doc: /* Label the current restriction with LABEL.
This is an internal function used by `with-restriction'. */)
- (Lisp_Object tag)
+ (Lisp_Object label)
{
Lisp_Object buf = Fcurrent_buffer ();
- Lisp_Object outermost_narrowing
- = buffer_local_value (Qoutermost_narrowing, buf);
- /* If internal--lock-narrowing is ever called without being preceded
- by narrow-to-region, do nothing. */
- if (NILP (outermost_narrowing))
+ Lisp_Object outermost_restriction
+ = buffer_local_value (Qoutermost_restriction, buf);
+ /* If internal--label-restriction is ever called without being
+ preceded by narrow-to-region, do nothing. */
+ if (NILP (outermost_restriction))
return Qnil;
- if (NILP (narrowing_lock_peek_tag (buf)))
- narrowing_lock_push (buf, outermost_narrowing);
- narrowing_lock_push (buf, list3 (tag,
- Fpoint_min_marker (),
- Fpoint_max_marker ()));
+ if (NILP (labeled_restrictions_peek_label (buf)))
+ labeled_restrictions_push (buf, outermost_restriction);
+ labeled_restrictions_push (buf, list3 (label,
+ Fpoint_min_marker (),
+ Fpoint_max_marker ()));
return Qnil;
}
-DEFUN ("internal--unlock-narrowing", Finternal__unlock_narrowing,
- Sinternal__unlock_narrowing, 1, 1, 0,
- doc: /* Unlock a narrowing locked with LABEL.
+DEFUN ("internal--unlabel-restriction", Finternal__unlabel_restriction,
+ Sinternal__unlabel_restriction, 1, 1, 0,
+ doc: /* If the current restriction is labeled with LABEL, remove its label.
This is an internal function used by `without-restriction'. */)
- (Lisp_Object tag)
+ (Lisp_Object label)
{
Lisp_Object buf = Fcurrent_buffer ();
- if (EQ (narrowing_lock_peek_tag (buf), tag))
- narrowing_lock_pop (buf);
+ if (EQ (labeled_restrictions_peek_label (buf), label))
+ labeled_restrictions_pop (buf);
return Qnil;
}
@@ -3071,15 +3120,15 @@ save_restriction_restore_1 (Lisp_Object data)
Lisp_Object
save_restriction_save (void)
{
- Lisp_Object restr = save_restriction_save_1 ();
- Lisp_Object locks = narrowing_locks_save ();
- return Fcons (restr, locks);
+ Lisp_Object restriction = save_restriction_save_1 ();
+ Lisp_Object labeled_restrictions = labeled_restrictions_save ();
+ return Fcons (restriction, labeled_restrictions);
}
void
save_restriction_restore (Lisp_Object data)
{
- narrowing_locks_restore (XCDR (data));
+ labeled_restrictions_restore (XCDR (data));
save_restriction_restore_1 (XCAR (data));
}
@@ -3269,7 +3318,7 @@ str2num (char *str, char **str_end)
{
ptrdiff_t n = 0;
for (; c_isdigit (*str); str++)
- if (INT_MULTIPLY_WRAPV (n, 10, &n) || INT_ADD_WRAPV (n, *str - '0', &n))
+ if (ckd_mul (&n, n, 10) || ckd_add (&n, n, *str - '0'))
n = PTRDIFF_MAX;
*str_end = str;
return n;
@@ -3437,8 +3486,8 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
/* Allocate the info and discarded tables. */
ptrdiff_t info_size, alloca_size;
- if (INT_MULTIPLY_WRAPV (nspec_bound, sizeof *info, &info_size)
- || INT_ADD_WRAPV (formatlen, info_size, &alloca_size)
+ if (ckd_mul (&info_size, nspec_bound, sizeof *info)
+ || ckd_add (&alloca_size, formatlen, info_size)
|| SIZE_MAX < alloca_size)
memory_full (SIZE_MAX);
info = SAFE_ALLOCA (alloca_size);
@@ -3985,8 +4034,8 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
/* Compute the total bytes needed for this item, including
excess precision and padding. */
ptrdiff_t numwidth;
- if (INT_ADD_WRAPV (prefixlen + sprintf_bytes, excess_precision,
- &numwidth))
+ if (ckd_add (&numwidth, prefixlen + sprintf_bytes,
+ excess_precision))
numwidth = PTRDIFF_MAX;
ptrdiff_t padding
= numwidth < field_width ? field_width - numwidth : 0;
@@ -4146,7 +4195,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
ptrdiff_t used = p - buf;
ptrdiff_t buflen_needed;
- if (INT_ADD_WRAPV (used, convbytes, &buflen_needed))
+ if (ckd_add (&buflen_needed, used, convbytes))
string_overflow ();
if (bufsize <= buflen_needed)
{
@@ -4736,6 +4785,13 @@ ring. */)
adjust_markers_bytepos (start1, start1_byte, end2, end2_byte, 0);
}
+#ifdef HAVE_TREE_SITTER
+ /* I don't think it's common to transpose two far-apart regions, so
+ amalgamating the edit into one should be fine. This is what the
+ signal_after_change below does, too. */
+ treesit_record_change (start1_byte, end2_byte, end2_byte);
+#endif
+
signal_after_change (start1, end2 - start1, end2 - start1);
return Qnil;
}
@@ -4748,7 +4804,7 @@ syms_of_editfns (void)
DEFSYM (Qwall, "wall");
DEFSYM (Qpropertize, "propertize");
- staticpro (&narrowing_locks);
+ staticpro (&labeled_restrictions);
DEFVAR_LISP ("inhibit-field-text-motion", Vinhibit_field_text_motion,
doc: /* Non-nil means text motion commands don't notice fields. */);
@@ -4809,12 +4865,12 @@ This variable is experimental; email 32252@debbugs.gnu.org if you need
it to be non-nil. */);
binary_as_unsigned = false;
- DEFVAR_LISP ("outermost-narrowing", Voutermost_narrowing,
+ DEFVAR_LISP ("outermost-restriction", Voutermost_restriction,
doc: /* Outermost narrowing bounds, if any. Internal use only. */);
- Voutermost_narrowing = Qnil;
- Fmake_variable_buffer_local (Qoutermost_narrowing);
- DEFSYM (Qoutermost_narrowing, "outermost-narrowing");
- Funintern (Qoutermost_narrowing, Qnil);
+ Voutermost_restriction = Qnil;
+ Fmake_variable_buffer_local (Qoutermost_restriction);
+ DEFSYM (Qoutermost_restriction, "outermost-restriction");
+ Funintern (Qoutermost_restriction, Qnil);
defsubr (&Spropertize);
defsubr (&Schar_equal);
@@ -4907,8 +4963,8 @@ it to be non-nil. */);
defsubr (&Sdelete_and_extract_region);
defsubr (&Swiden);
defsubr (&Snarrow_to_region);
- defsubr (&Sinternal__lock_narrowing);
- defsubr (&Sinternal__unlock_narrowing);
+ defsubr (&Sinternal__label_restriction);
+ defsubr (&Sinternal__unlabel_restriction);
defsubr (&Ssave_restriction);
defsubr (&Stranspose_regions);
}
diff --git a/src/emacs-module.c b/src/emacs-module.c
index d158e243139..10699ec25d9 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -416,7 +416,7 @@ module_global_reference_p (emacs_value v, ptrdiff_t *n)
}
/* Only used for debugging, so we don't care about overflow, just
make sure the operation is defined. */
- INT_ADD_WRAPV (*n, h->count, n);
+ ckd_add (n, *n, h->count);
return false;
}
@@ -435,7 +435,7 @@ module_make_global_ref (emacs_env *env, emacs_value value)
{
Lisp_Object value = HASH_VALUE (h, i);
struct module_global_reference *ref = XMODULE_GLOBAL_REFERENCE (value);
- bool overflow = INT_ADD_WRAPV (ref->refcount, 1, &ref->refcount);
+ bool overflow = ckd_add (&ref->refcount, ref->refcount, 1);
if (overflow)
overflow_error ();
return &ref->value;
@@ -662,7 +662,7 @@ module_funcall (emacs_env *env, emacs_value func, ptrdiff_t nargs,
Lisp_Object *newargs;
USE_SAFE_ALLOCA;
ptrdiff_t nargs1;
- if (INT_ADD_WRAPV (nargs, 1, &nargs1))
+ if (ckd_add (&nargs1, nargs, 1))
overflow_error ();
SAFE_ALLOCA_LISP (newargs, nargs1);
newargs[0] = value_to_lisp (func);
diff --git a/src/eval.c b/src/eval.c
index cd3eb0a3676..3f4e77cd3b1 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -254,7 +254,7 @@ init_eval (void)
static void
max_ensure_room (intmax_t *m, intmax_t a, intmax_t b)
{
- intmax_t sum = INT_ADD_WRAPV (a, b, &sum) ? INTMAX_MAX : sum;
+ intmax_t sum = ckd_add (&sum, a, b) ? INTMAX_MAX : sum;
*m = max (*m, sum);
}
diff --git a/src/fileio.c b/src/fileio.c
index b80f8d61de4..0a967a6631f 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4447,6 +4447,8 @@ by calling `format-decode', which see. */)
if (unprocessed > 0)
{
+ BUF_TEMP_SET_PT (XBUFFER (conversion_buffer),
+ BUF_Z (XBUFFER (conversion_buffer)));
coding.mode |= CODING_MODE_LAST_BLOCK;
decode_coding_c_string (&coding, (unsigned char *) read_buf,
unprocessed, conversion_buffer);
@@ -5246,6 +5248,7 @@ write_region (Lisp_Object start, Lisp_Object end, Lisp_Object filename,
}
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
/* Special kludge to simplify auto-saving. */
if (NILP (start))
@@ -6275,7 +6278,7 @@ static Lisp_Object
blocks_to_bytes (uintmax_t blocksize, uintmax_t blocks, bool negate)
{
intmax_t n;
- if (!INT_MULTIPLY_WRAPV (blocksize, blocks, &n))
+ if (!ckd_mul (&n, blocksize, blocks))
return make_int (negate ? -n : n);
Lisp_Object bs = make_uint (blocksize);
if (negate)
diff --git a/src/floatfns.c b/src/floatfns.c
index 13f0ca3e129..e40364f8188 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -55,8 +55,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <math.h>
-#include <count-leading-zeros.h>
-
/* Emacs needs proper handling of +/-inf; correct printing as well as
important packages depend on it. Make sure the user didn't specify
-ffinite-math-only, either directly or implicitly with -Ofast or
@@ -304,14 +302,6 @@ DEFUN ("float", Ffloat, Sfloat, 1, 1, 0,
return FLOATP (arg) ? arg : make_float (XFLOATINT (arg));
}
-static int
-ecount_leading_zeros (EMACS_UINT x)
-{
- return (EMACS_UINT_WIDTH == UINT_WIDTH ? count_leading_zeros (x)
- : EMACS_UINT_WIDTH == ULONG_WIDTH ? count_leading_zeros_l (x)
- : count_leading_zeros_ll (x));
-}
-
DEFUN ("logb", Flogb, Slogb, 1, 1, 0,
doc: /* Returns largest integer <= the base 2 log of the magnitude of ARG.
This is the same as the exponent of a float. */)
@@ -338,7 +328,7 @@ This is the same as the exponent of a float. */)
EMACS_INT i = XFIXNUM (arg);
if (i == 0)
return make_float (-HUGE_VAL);
- value = EMACS_UINT_WIDTH - 1 - ecount_leading_zeros (eabs (i));
+ value = elogb (eabs (i));
}
return make_fixnum (value);
diff --git a/src/fns.c b/src/fns.c
index e92ef7e4c81..602c0868c5b 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <intprops.h>
#include <vla.h>
#include <errno.h>
+#include <ctype.h>
#include "lisp.h"
#include "bignum.h"
@@ -1966,6 +1967,20 @@ assq_no_quit (Lisp_Object key, Lisp_Object alist)
return Qnil;
}
+/* Assq but doesn't signal. Unlike assq_no_quit, this function still
+ detects circular lists; like assq_no_quit, this function does not
+ allow quits and never signals. If anything goes wrong, it returns
+ Qnil. */
+Lisp_Object
+assq_no_signal (Lisp_Object key, Lisp_Object alist)
+{
+ Lisp_Object tail = alist;
+ FOR_EACH_TAIL_SAFE (tail)
+ if (CONSP (XCAR (tail)) && EQ (XCAR (XCAR (tail)), key))
+ return XCAR (tail);
+ return Qnil;
+}
+
DEFUN ("assoc", Fassoc, Sassoc, 2, 3, 0,
doc: /* Return non-nil if KEY is equal to the car of an element of ALIST.
The value is actually the first element of ALIST whose car equals KEY.
@@ -2923,8 +2938,7 @@ ARRAY is a vector, string, char-table, or bool-vector. */)
else
{
ptrdiff_t product;
- if (INT_MULTIPLY_WRAPV (size, len, &product)
- || product != size_byte)
+ if (ckd_mul (&product, size, len) || product != size_byte)
error ("Attempt to change byte length of a string");
for (idx = 0; idx < size_byte; idx++)
*p++ = str[idx % len];
@@ -3188,7 +3202,9 @@ DEFUN ("yes-or-no-p", Fyes_or_no_p, Syes_or_no_p, 1, 1, 0,
Return t if answer is yes, and nil if the answer is no.
PROMPT is the string to display to ask the question; `yes-or-no-p'
-appends `yes-or-no-prompt' (default \"(yes or no) \") to it.
+appends `yes-or-no-prompt' (default \"(yes or no) \") to it. If
+PROMPT is a non-empty string, and it ends with a non-space character,
+a space character will be appended to it.
The user must confirm the answer with RET, and can edit it until it
has been confirmed.
@@ -3197,16 +3213,21 @@ If the `use-short-answers' variable is non-nil, instead of asking for
\"yes\" or \"no\", this function will ask for \"y\" or \"n\" (and
ignore the value of `yes-or-no-prompt').
-If dialog boxes are supported, a dialog box will be used
-if `last-nonmenu-event' is nil, and `use-dialog-box' is non-nil. */)
+If dialog boxes are supported, this function will use a dialog box
+if `use-dialog-box' is non-nil and the last input event was produced
+by a mouse, or by some window-system gesture, or via a menu. */)
(Lisp_Object prompt)
{
- Lisp_Object ans;
+ Lisp_Object ans, val;
CHECK_STRING (prompt);
- if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event))
- && use_dialog_box && ! NILP (last_input_event))
+ if (!NILP (last_input_event)
+ && (CONSP (last_nonmenu_event)
+ || (NILP (last_nonmenu_event) && CONSP (last_input_event))
+ || (val = find_symbol_value (Qfrom__tty_menu_p),
+ (!NILP (val) && !EQ (val, Qunbound))))
+ && use_dialog_box)
{
Lisp_Object pane, menu, obj;
redisplay_preserve_echo_area (4);
@@ -3220,6 +3241,12 @@ if `last-nonmenu-event' is nil, and `use-dialog-box' is non-nil. */)
if (use_short_answers)
return call1 (intern ("y-or-n-p"), prompt);
+ {
+ char *s = SSDATA (prompt);
+ ptrdiff_t len = strlen (s);
+ if ((len > 0) && !isspace (s[len - 1]))
+ prompt = CALLN (Fconcat, prompt, build_string (" "));
+ }
prompt = CALLN (Fconcat, prompt, Vyes_or_no_prompt);
specpdl_ref count = SPECPDL_INDEX ();
@@ -6127,29 +6154,40 @@ second optional argument ABSOLUTE is non-nil, the value counts the lines
from the absolute start of the buffer, disregarding the narrowing. */)
(register Lisp_Object position, Lisp_Object absolute)
{
- ptrdiff_t pos, start = BEGV_BYTE;
+ ptrdiff_t pos_byte, start_byte = BEGV_BYTE;
if (MARKERP (position))
- pos = marker_position (position);
+ {
+ /* We don't trust the byte position if the marker's buffer is
+ not the current buffer. */
+ if (XMARKER (position)->buffer != current_buffer)
+ pos_byte = CHAR_TO_BYTE (marker_position (position));
+ else
+ pos_byte = marker_byte_position (position);
+ }
else if (NILP (position))
- pos = PT;
+ pos_byte = PT_BYTE;
else
{
CHECK_FIXNUM (position);
- pos = XFIXNUM (position);
+ ptrdiff_t pos = XFIXNUM (position);
+ /* Check that POSITION is valid. */
+ if (pos < BEG || pos > Z)
+ args_out_of_range_3 (position, make_int (BEG), make_int (Z));
+ pos_byte = CHAR_TO_BYTE (pos);
}
if (!NILP (absolute))
- start = BEG_BYTE;
+ start_byte = BEG_BYTE;
+ else if (NILP (absolute))
+ pos_byte = clip_to_bounds (BEGV_BYTE, pos_byte, ZV_BYTE);
- /* Check that POSITION is in the accessible range of the buffer, or,
- if we're reporting absolute positions, in the buffer. */
- if (NILP (absolute) && (pos < BEGV || pos > ZV))
- args_out_of_range_3 (make_int (pos), make_int (BEGV), make_int (ZV));
- else if (!NILP (absolute) && (pos < 1 || pos > Z))
- args_out_of_range_3 (make_int (pos), make_int (1), make_int (Z));
+ /* Check that POSITION is valid. */
+ if (pos_byte < BEG_BYTE || pos_byte > Z_BYTE)
+ args_out_of_range_3 (make_int (BYTE_TO_CHAR (pos_byte)),
+ make_int (BEG), make_int (Z));
- return make_int (count_lines (start, CHAR_TO_BYTE (pos)) + 1);
+ return make_int (count_lines (start_byte, pos_byte) + 1);
}
@@ -6364,4 +6402,5 @@ For best results this should end in a space. */);
defsubr (&Sbuffer_line_statistics);
DEFSYM (Qreal_this_command, "real-this-command");
+ DEFSYM (Qfrom__tty_menu_p, "from--tty-menu-p");
}
diff --git a/src/font.c b/src/font.c
index de8748dd857..e586277a5d3 100644
--- a/src/font.c
+++ b/src/font.c
@@ -279,7 +279,7 @@ font_intern_prop (const char *str, ptrdiff_t len, bool force_symbol)
{
if (i == len)
return make_fixnum (n);
- if (INT_MULTIPLY_WRAPV (n, 10, &n))
+ if (ckd_mul (&n, n, 10))
break;
}
diff --git a/src/fontset.c b/src/fontset.c
index f196dee8259..c0e00cfa346 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -967,6 +967,15 @@ face_for_char (struct frame *f, struct face *face, int c,
#endif
}
+ /* If the parent face has no fontset we could work with, and has no
+ font, just return that same face, so that the caller will
+ consider the character to have no font capable of displaying it,
+ and display it as "glyphless". That is certainly better than
+ violating the assertion below or crashing when assertions are not
+ compiled in. */
+ if (face->fontset < 0 && !face->font)
+ return face->id;
+
eassert (fontset_id_valid_p (face->fontset));
fontset = FONTSET_FROM_ID (face->fontset);
eassert (!BASE_FONTSET_P (fontset));
diff --git a/src/frame.c b/src/frame.c
index 2cea96d4a32..83925d4742a 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -710,10 +710,10 @@ adjust_frame_size (struct frame *f, int new_text_width, int new_text_height,
? old_native_height
: max (FRAME_TEXT_TO_PIXEL_HEIGHT (f, new_text_height),
min_inner_height
- + FRAME_TOP_MARGIN_HEIGHT (f)
+ + FRAME_MARGIN_HEIGHT (f)
+ 2 * FRAME_INTERNAL_BORDER_WIDTH (f)));
new_inner_height = (new_native_height
- - FRAME_TOP_MARGIN_HEIGHT (f)
+ - FRAME_MARGIN_HEIGHT (f)
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
new_text_height = FRAME_PIXEL_TO_TEXT_HEIGHT (f, new_native_height);
new_text_lines = new_text_height / unit_height;
@@ -940,11 +940,9 @@ make_frame (bool mini_p)
f = allocate_frame ();
XSETFRAME (frame, f);
-#ifdef USE_GTK
/* Initialize Lisp data. Note that allocate_frame initializes all
Lisp data to nil, so do it only for slots which should not be nil. */
fset_tool_bar_position (f, Qtop);
-#endif
/* Initialize non-Lisp data. Note that allocate_frame zeroes out all
non-Lisp data, so do it only for slots which should not be zero.
@@ -1444,6 +1442,10 @@ affects all frames on the same terminal device. */)
If FRAME is a switch-frame event `(switch-frame FRAME1)', use
FRAME1 as frame.
+ If TRACK is non-zero and the frame that currently has the focus
+ redirects its focus to the selected frame, redirect that focused
+ frame's focus to FRAME instead.
+
FOR_DELETION non-zero means that the selected frame is being
deleted, which includes the possibility that the frame's terminal
is dead.
@@ -1451,7 +1453,7 @@ affects all frames on the same terminal device. */)
The value of NORECORD is passed as argument to Fselect_window. */
Lisp_Object
-do_switch_frame (Lisp_Object frame, int for_deletion, Lisp_Object norecord)
+do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object norecord)
{
struct frame *sf = SELECTED_FRAME (), *f;
@@ -1473,6 +1475,44 @@ do_switch_frame (Lisp_Object frame, int for_deletion, Lisp_Object norecord)
else if (f == sf)
return frame;
+ /* If the frame with GUI focus has had it's Emacs focus redirected
+ toward the currently selected frame, we should change the
+ redirection to point to the newly selected frame. This means
+ that if the focus is redirected from a minibufferless frame to a
+ surrogate minibuffer frame, we can use `other-window' to switch
+ between all the frames using that minibuffer frame, and the focus
+ redirection will follow us around. This code is necessary when
+ we have a minibufferless frame using the MB in another (normal)
+ frame (bug#64152) (ACM, 2023-06-20). */
+#ifdef HAVE_WINDOW_SYSTEM
+ if (track && FRAME_WINDOW_P (f) && FRAME_TERMINAL (f)->get_focus_frame)
+ {
+ Lisp_Object gfocus; /* The frame which still has focus on the
+ current terminal, according to the GUI
+ system. */
+ Lisp_Object focus; /* The frame to which Emacs has redirected
+ the focus from `gfocus'. This might be a
+ frame with a minibuffer when `gfocus'
+ doesn't have a MB. */
+
+ gfocus = FRAME_TERMINAL (f)->get_focus_frame (f);
+ if (FRAMEP (gfocus))
+ {
+ focus = FRAME_FOCUS_FRAME (XFRAME (gfocus));
+ if (FRAMEP (focus) && XFRAME (focus) == SELECTED_FRAME ())
+ /* Redirect frame focus also when FRAME has its minibuffer
+ window on the selected frame (see Bug#24500).
+
+ Don't do that: It causes redirection problem with a
+ separate minibuffer frame (Bug#24803) and problems
+ when updating the cursor on such frames.
+ || (NILP (focus)
+ && EQ (FRAME_MINIBUF_WINDOW (f), sf->selected_window))) */
+ Fredirect_frame_focus (gfocus, frame);
+ }
+ }
+#endif /* HAVE_X_WINDOWS */
+
if (!for_deletion && FRAME_HAS_MINIBUF_P (sf))
resize_mini_window (XWINDOW (FRAME_MINIBUF_WINDOW (sf)), 1);
@@ -1574,7 +1614,7 @@ This function returns FRAME, or nil if FRAME has been deleted. */)
/* Do not select a tooltip frame (Bug#47207). */
error ("Cannot select a tooltip frame");
else
- return do_switch_frame (frame, 0, norecord);
+ return do_switch_frame (frame, 1, 0, norecord);
}
DEFUN ("handle-switch-frame", Fhandle_switch_frame,
@@ -1590,7 +1630,7 @@ necessarily represent user-visible input focus. */)
kset_prefix_arg (current_kboard, Vcurrent_prefix_arg);
run_hook (Qmouse_leave_buffer_hook);
- return do_switch_frame (event, 0, Qnil);
+ return do_switch_frame (event, 0, 0, Qnil);
}
DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0,
@@ -2157,7 +2197,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
Fraise_frame (frame1);
#endif
- do_switch_frame (frame1, 1, Qnil);
+ do_switch_frame (frame1, 0, 1, Qnil);
sf = SELECTED_FRAME ();
}
else
@@ -3729,7 +3769,7 @@ check_frame_pixels (Lisp_Object size, Lisp_Object pixelwise, int item_size)
item_size = 1;
if (!integer_to_intmax (size, &sz)
- || INT_MULTIPLY_WRAPV (sz, item_size, &pixel_size))
+ || ckd_mul (&pixel_size, sz, item_size))
args_out_of_range_3 (size, make_int (INT_MIN / item_size),
make_int (INT_MAX / item_size));
@@ -6769,4 +6809,17 @@ iconify the top level frame instead. */);
defsubr (&Sx_parse_geometry);
defsubr (&Sreconsider_frame_fonts);
#endif
+
+#ifdef HAVE_WINDOW_SYSTEM
+ DEFSYM (Qmove_toolbar, "move-toolbar");
+
+ /* The `tool-bar-position' frame parameter is supported on GTK and
+ builds using the internal tool bar. Providing this feature
+ causes menu-bar.el to provide `tool-bar-position' as a user
+ option. */
+
+#if !defined HAVE_EXT_TOOL_BAR || defined USE_GTK
+ Fprovide (Qmove_toolbar, Qnil);
+#endif /* !HAVE_EXT_TOOL_BAR || USE_GTK */
+#endif /* HAVE_WINDOW_SYSTEM */
}
diff --git a/src/frame.h b/src/frame.h
index b95b94c7685..44eefa357fc 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -205,11 +205,9 @@ struct frame
Lisp_Object current_tool_bar_string;
#endif
-#ifdef USE_GTK
/* Where tool bar is, can be left, right, top or bottom.
Except with GTK, the only supported position is `top'. */
Lisp_Object tool_bar_position;
-#endif
#if defined (HAVE_XFT) || defined (HAVE_FREETYPE)
/* List of data specific to font-driver and frame, but common to faces. */
@@ -782,14 +780,9 @@ fset_tool_bar_items (struct frame *f, Lisp_Object val)
{
f->tool_bar_items = val;
}
-#ifdef USE_GTK
-INLINE void
-fset_tool_bar_position (struct frame *f, Lisp_Object val)
-{
- f->tool_bar_position = val;
-}
-#endif /* USE_GTK */
+
#if defined (HAVE_WINDOW_SYSTEM) && ! defined (HAVE_EXT_TOOL_BAR)
+
INLINE void
fset_tool_bar_window (struct frame *f, Lisp_Object val)
{
@@ -805,7 +798,14 @@ fset_desired_tool_bar_string (struct frame *f, Lisp_Object val)
{
f->desired_tool_bar_string = val;
}
-#endif /* HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS */
+
+#endif /* HAVE_WINDOW_SYSTEM && !HAVE_EXT_TOOL_BAR */
+
+INLINE void
+fset_tool_bar_position (struct frame *f, Lisp_Object val)
+{
+ f->tool_bar_position = val;
+}
INLINE double
NUMVAL (Lisp_Object x)
@@ -984,27 +984,70 @@ default_pixels_per_inch_y (void)
#define FRAME_EXTERNAL_TOOL_BAR(f) false
#endif
-/* This is really supported only with GTK. */
-#ifdef USE_GTK
+/* Position of F's tool bar; one of Qtop, Qleft, Qright, or
+ Qbottom.
+
+ Qleft and Qright are not supported outside GTK+. */
#define FRAME_TOOL_BAR_POSITION(f) (f)->tool_bar_position
-#else
-#define FRAME_TOOL_BAR_POSITION(f) ((void) (f), Qtop)
-#endif
/* Size of frame F's internal tool bar in frame lines and pixels. */
#define FRAME_TOOL_BAR_LINES(f) (f)->tool_bar_lines
#define FRAME_TOOL_BAR_HEIGHT(f) (f)->tool_bar_height
+/* Size of F's tool bar if it is placed at the top of the
+ frame, else 0. */
+
+#define FRAME_TOOL_BAR_TOP_HEIGHT(f) \
+ ((BASE_EQ ((f)->tool_bar_position, Qtop)) \
+ ? (f)->tool_bar_height : 0)
+
+#define FRAME_TOOL_BAR_TOP_LINES(f) \
+ ((BASE_EQ ((f)->tool_bar_position, Qtop)) \
+ ? (f)->tool_bar_height : 0)
+
+/* Size of F's tool bar if it is placed at the bottom of the
+ frame. */
+#define FRAME_TOOL_BAR_BOTTOM_HEIGHT(f) \
+ ((BASE_EQ ((f)->tool_bar_position, Qbottom)) \
+ ? (f)->tool_bar_height : 0)
+
+#define FRAME_TOOL_BAR_BOTTOM_LINES(f) \
+ ((BASE_EQ ((f)->tool_bar_position, Qbottom)) \
+ ? (f)->tool_bar_lines : 0)
+
/* Height of frame F's top margin in frame lines. */
#define FRAME_TOP_MARGIN(F) \
(FRAME_MENU_BAR_LINES (F) \
+ FRAME_TAB_BAR_LINES (F) \
- + FRAME_TOOL_BAR_LINES (F))
+ + FRAME_TOOL_BAR_TOP_LINES (F))
/* Pixel height of frame F's top margin. */
+
#define FRAME_TOP_MARGIN_HEIGHT(F) \
(FRAME_MENU_BAR_HEIGHT (F) \
+ FRAME_TAB_BAR_HEIGHT (F) \
+ + FRAME_TOOL_BAR_TOP_HEIGHT (F))
+
+/* Height of F's bottom margin in frame lines. */
+
+#define FRAME_BOTTOM_MARGIN(f) \
+ (FRAME_TOOL_BAR_BOTTOM_LINES (f))
+
+/* Pixel height of frame F's bottom margin. */
+
+#define FRAME_BOTTOM_MARGIN_HEIGHT(f) \
+ (FRAME_TOOL_BAR_BOTTOM_HEIGHT (f))
+
+/* Size of both vertical margins combined. */
+
+#define FRAME_MARGINS(F) \
+ (FRAME_MENU_BAR_LINES (F) \
+ + FRAME_TAB_BAR_LINES (F) \
+ + FRAME_TOOL_BAR_LINES (F))
+
+#define FRAME_MARGIN_HEIGHT(F) \
+ (FRAME_MENU_BAR_HEIGHT (F) \
+ + FRAME_TAB_BAR_HEIGHT (F) \
+ FRAME_TOOL_BAR_HEIGHT (F))
/* True if frame F is currently visible. */
@@ -1625,7 +1668,7 @@ IMAGE_OPT_FROM_ID (struct frame *f, int id)
#define FRAME_PIXEL_HEIGHT_TO_TEXT_LINES(f, height) \
(((height) \
- - FRAME_TOP_MARGIN_HEIGHT (f) \
+ - FRAME_MARGIN_HEIGHT (f) \
- FRAME_SCROLL_BAR_AREA_HEIGHT (f) \
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f)) \
/ FRAME_LINE_HEIGHT (f))
@@ -1640,7 +1683,7 @@ IMAGE_OPT_FROM_ID (struct frame *f, int id)
#define FRAME_TEXT_TO_PIXEL_HEIGHT(f, height) \
((height) \
- + FRAME_TOP_MARGIN_HEIGHT (f) \
+ + FRAME_MARGIN_HEIGHT (f) \
+ FRAME_SCROLL_BAR_AREA_HEIGHT (f) \
+ 2 * FRAME_INTERNAL_BORDER_WIDTH (f))
@@ -1654,7 +1697,7 @@ IMAGE_OPT_FROM_ID (struct frame *f, int id)
#define FRAME_PIXEL_TO_TEXT_HEIGHT(f, height) \
((height) \
- - FRAME_TOP_MARGIN_HEIGHT (f) \
+ - FRAME_MARGIN_HEIGHT (f) \
- FRAME_SCROLL_BAR_AREA_HEIGHT (f) \
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f))
@@ -1664,7 +1707,7 @@ IMAGE_OPT_FROM_ID (struct frame *f, int id)
#define FRAME_INNER_HEIGHT(f) \
(FRAME_PIXEL_HEIGHT (f) \
- - FRAME_TOP_MARGIN_HEIGHT (f) \
+ - FRAME_MARGIN_HEIGHT (f) \
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f))
/* Value is the smallest width of any character in any font on frame F. */
diff --git a/src/fringe.c b/src/fringe.c
index 5fcb1b27272..ed257c073b9 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -211,14 +211,14 @@ static unsigned short right_curly_arrow_bits[] = {
/* Large circle bitmap. */
/*
- ........
..xxxx..
.xxxxxx.
xxxxxxxx
xxxxxxxx
+ xxxxxxxx
+ xxxxxxxx
.xxxxxx.
..xxxx..
- ........
*/
static unsigned short large_circle_bits[] = {
0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c};
diff --git a/src/ftcrfont.c b/src/ftcrfont.c
index c9a4de8137b..49564692b75 100644
--- a/src/ftcrfont.c
+++ b/src/ftcrfont.c
@@ -590,7 +590,6 @@ ftcrfont_draw (struct glyph_string *s,
GREEN_FROM_ULONG (col) / 255.0,
BLUE_FROM_ULONG (col) / 255.0);
#endif
- s->background_filled_p = 1;
cairo_rectangle (cr, x, y - FONT_BASE (s->font),
s->width, FONT_HEIGHT (s->font));
cairo_fill (cr);
diff --git a/src/gnutls.c b/src/gnutls.c
index ca7e9fc4c73..8f0e2d01703 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -1083,8 +1083,8 @@ gnutls_hex_string (unsigned char *buf, ptrdiff_t buf_size, const char *prefix)
{
ptrdiff_t prefix_length = strlen (prefix);
ptrdiff_t retlen;
- if (INT_MULTIPLY_WRAPV (buf_size, 3, &retlen)
- || INT_ADD_WRAPV (prefix_length - (buf_size != 0), retlen, &retlen))
+ if (ckd_mul (&retlen, buf_size, 3)
+ || ckd_add (&retlen, retlen, prefix_length - (buf_size != 0)))
string_overflow ();
Lisp_Object ret = make_uninit_string (retlen);
char *string = SSDATA (ret);
@@ -2378,7 +2378,7 @@ gnutls_symmetric_aead (bool encrypting, gnutls_cipher_algorithm_t gca,
ptrdiff_t cipher_tag_size = gnutls_cipher_get_tag_size (gca);
ptrdiff_t tagged_size;
- if (INT_ADD_WRAPV (isize, cipher_tag_size, &tagged_size)
+ if (ckd_add (&tagged_size, isize, cipher_tag_size)
|| SIZE_MAX < tagged_size)
memory_full (SIZE_MAX);
size_t storage_length = tagged_size;
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 4cc0f9f15b4..22b2a70f279 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -694,8 +694,8 @@ get_utf8_string (const char *str)
len = strlen (str);
ptrdiff_t alloc;
- if (INT_MULTIPLY_WRAPV (nr_bad, 4, &alloc)
- || INT_ADD_WRAPV (len + 1, alloc, &alloc)
+ if (ckd_mul (&alloc, nr_bad, 4)
+ || ckd_add (&alloc, alloc, len + 1)
|| SIZE_MAX < alloc)
memory_full (SIZE_MAX);
up = utf8_str = xmalloc (alloc);
diff --git a/src/haikufns.c b/src/haikufns.c
index b591c143900..8028a73abd1 100644
--- a/src/haikufns.c
+++ b/src/haikufns.c
@@ -259,6 +259,33 @@ haiku_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval
}
static void
+haiku_set_tool_bar_position (struct frame *f,
+ Lisp_Object new_value,
+ Lisp_Object old_value)
+{
+ if (!EQ (new_value, Qtop) && !EQ (new_value, Qbottom))
+ error ("Tool bar position must be either `top' or `bottom'");
+
+ if (EQ (new_value, old_value))
+ return;
+
+ /* Set the tool bar position. */
+ fset_tool_bar_position (f, new_value);
+
+ /* Now reconfigure frame glyphs to place the tool bar at the bottom.
+ While the inner height has not changed, call
+ `resize_frame_windows' to place each of the windows at its new
+ position. */
+
+ adjust_frame_size (f, -1, -1, 3, false, Qtool_bar_position);
+ adjust_frame_glyphs (f);
+ SET_FRAME_GARBAGED (f);
+
+ if (FRAME_HAIKU_WINDOW (f))
+ haiku_clear_under_internal_border (f);
+}
+
+static void
haiku_set_tab_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
{
if (FRAME_TOOLTIP_P (f))
@@ -1420,10 +1447,11 @@ haiku_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval
}
/* Return geometric attributes of FRAME. According to the value of
- ATTRIBUTES return the outer edges of FRAME (Qouter_edges), the inner
- edges of FRAME, the root window edges of frame (Qroot_edges). Any
- other value means to return the geometry as returned by
+ ATTRIBUTES return the outer edges of FRAME (Qouter_edges), the
+ inner edges of FRAME, the root window edges of frame (Qroot_edges).
+ Any other value means to return the geometry as returned by
Fx_frame_geometry. */
+
static Lisp_Object
frame_geometry (Lisp_Object frame, Lisp_Object attribute)
{
@@ -1432,6 +1460,9 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
int outer_x, outer_y, outer_width, outer_height;
int right_off, bottom_off, top_off;
int native_x, native_y;
+ int inner_left, inner_top, inner_right, inner_bottom;
+ int internal_border_width, tab_bar_height;
+ int tool_bar_height, tab_bar_width;
f = decode_window_system_frame (frame);
parent = FRAME_PARENT_FRAME (f);
@@ -1457,6 +1488,31 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
native_y -= FRAME_OUTPUT_DATA (parent)->frame_y;
}
+ internal_border_width = FRAME_INTERNAL_BORDER_WIDTH (f);
+ inner_left = native_x + internal_border_width;
+ inner_top = native_y + internal_border_width;
+ inner_right = (native_x + FRAME_PIXEL_WIDTH (f)
+ - internal_border_width);
+ inner_bottom = (native_y + FRAME_PIXEL_HEIGHT (f)
+ - internal_border_width);
+
+ tab_bar_height = FRAME_TAB_BAR_HEIGHT (f);
+ tab_bar_width = (tab_bar_height
+ ? (FRAME_PIXEL_WIDTH (f) - 2
+ * internal_border_width)
+ : 0);
+ inner_top += tab_bar_height;
+
+ tool_bar_height = FRAME_TOOL_BAR_HEIGHT (f);
+
+ /* Subtract or add to the inner dimensions based on the tool bar
+ position. */
+
+ if (EQ (FRAME_TOOL_BAR_POSITION (f), Qtop))
+ inner_top += tool_bar_height;
+ else
+ inner_bottom -= tool_bar_height;
+
if (EQ (attribute, Qouter_edges))
return list4i (outer_x, outer_y,
outer_x + outer_width,
@@ -1466,14 +1522,7 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
native_x + FRAME_PIXEL_WIDTH (f),
native_y + FRAME_PIXEL_HEIGHT (f));
else if (EQ (attribute, Qinner_edges))
- return list4i (native_x + FRAME_INTERNAL_BORDER_WIDTH (f),
- native_y + FRAME_INTERNAL_BORDER_WIDTH (f)
- + FRAME_MENU_BAR_HEIGHT (f) + FRAME_TOOL_BAR_HEIGHT (f),
- native_x - FRAME_INTERNAL_BORDER_WIDTH (f)
- + FRAME_PIXEL_WIDTH (f),
- native_y + FRAME_PIXEL_HEIGHT (f)
- - FRAME_INTERNAL_BORDER_WIDTH (f));
-
+ return list4i (inner_left, inner_top, inner_right, inner_bottom);
else
return list (Fcons (Qouter_position,
Fcons (make_fixnum (outer_x),
@@ -1490,13 +1539,18 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
Fcons (Qmenu_bar_external, Qnil),
Fcons (Qmenu_bar_size,
Fcons (make_fixnum (FRAME_PIXEL_WIDTH (f)
- - (FRAME_INTERNAL_BORDER_WIDTH (f) * 2)),
+ - (FRAME_INTERNAL_BORDER_WIDTH (f)
+ * 2)),
make_fixnum (FRAME_MENU_BAR_HEIGHT (f)))),
+ Fcons (Qtab_bar_size,
+ Fcons (make_fixnum (tab_bar_width),
+ make_fixnum (tab_bar_height))),
Fcons (Qtool_bar_external, Qnil),
- Fcons (Qtool_bar_position, Qtop),
+ Fcons (Qtool_bar_position, FRAME_TOOL_BAR_POSITION (f)),
Fcons (Qtool_bar_size,
Fcons (make_fixnum (FRAME_PIXEL_WIDTH (f)
- - (FRAME_INTERNAL_BORDER_WIDTH (f) * 2)),
+ - (FRAME_INTERNAL_BORDER_WIDTH (f)
+ * 2)),
make_fixnum (FRAME_TOOL_BAR_HEIGHT (f)))),
Fcons (Qinternal_border_width,
make_fixnum (FRAME_INTERNAL_BORDER_WIDTH (f))));
@@ -3136,7 +3190,7 @@ frame_parm_handler haiku_frame_parm_handlers[] =
gui_set_font_backend,
gui_set_alpha,
haiku_set_sticky,
- NULL, /* set tool bar pos */
+ haiku_set_tool_bar_position,
haiku_set_inhibit_double_buffering,
haiku_set_undecorated,
haiku_set_parent_frame,
diff --git a/src/haikufont.c b/src/haikufont.c
index b4c2e547247..b6a9cb34c4d 100644
--- a/src/haikufont.c
+++ b/src/haikufont.c
@@ -1127,7 +1127,6 @@ haikufont_draw (struct glyph_string *s, int from, int to,
haiku_draw_background_rect (s, s->face, x, y - ascent,
s->width, height);
- s->background_filled_p = 1;
}
BView_SetHighColor (view, foreground);
diff --git a/src/haikuterm.c b/src/haikuterm.c
index 8733b82fb2b..ed28a806ff2 100644
--- a/src/haikuterm.c
+++ b/src/haikuterm.c
@@ -4165,7 +4165,8 @@ haiku_flash (struct frame *f)
BView_InvertRect (view, flash_left,
(height - flash_height
- - FRAME_INTERNAL_BORDER_WIDTH (f)),
+ - FRAME_INTERNAL_BORDER_WIDTH (f)
+ - FRAME_BOTTOM_MARGIN_HEIGHT (f)),
width, flash_height);
}
else
@@ -4210,7 +4211,8 @@ haiku_flash (struct frame *f)
BView_InvertRect (view, flash_left,
(height - flash_height
- - FRAME_INTERNAL_BORDER_WIDTH (f)),
+ - FRAME_INTERNAL_BORDER_WIDTH (f)
+ - FRAME_BOTTOM_MARGIN_HEIGHT (f)),
width, flash_height);
}
else
@@ -4420,7 +4422,7 @@ haiku_term_init (void)
{
nbytes = sizeof "GNU Emacs" + sizeof " at ";
- if (INT_ADD_WRAPV (nbytes, SBYTES (system_name), &nbytes))
+ if (ckd_add (&nbytes, nbytes, SBYTES (system_name)))
memory_full (SIZE_MAX);
name_buffer = alloca (nbytes);
@@ -4465,14 +4467,16 @@ haiku_clear_under_internal_border (struct frame *f)
int width = FRAME_PIXEL_WIDTH (f);
int height = FRAME_PIXEL_HEIGHT (f);
int margin = FRAME_TOP_MARGIN_HEIGHT (f);
- int face_id =
- (FRAME_PARENT_FRAME (f)
- ? (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, CHILD_FRAME_BORDER_FACE_ID)
- : CHILD_FRAME_BORDER_FACE_ID)
- : (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID)
- : INTERNAL_BORDER_FACE_ID));
+ int bottom_margin = FRAME_BOTTOM_MARGIN_HEIGHT (f);
+ int face_id = (FRAME_PARENT_FRAME (f)
+ ? (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ CHILD_FRAME_BORDER_FACE_ID)
+ : CHILD_FRAME_BORDER_FACE_ID)
+ : (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ INTERNAL_BORDER_FACE_ID)
+ : INTERNAL_BORDER_FACE_ID));
struct face *face = FACE_FROM_ID_OR_NULL (f, face_id);
void *view = FRAME_HAIKU_DRAWABLE (f);
@@ -4492,7 +4496,8 @@ haiku_clear_under_internal_border (struct frame *f)
BView_FillRectangle (view, 0, 0, border, height);
BView_FillRectangle (view, 0, margin, width, border);
BView_FillRectangle (view, width - border, 0, border, height);
- BView_FillRectangle (view, 0, height - border, width, border);
+ BView_FillRectangle (view, 0, height - bottom_margin - border,
+ width, border);
BView_EndClip (view);
BView_draw_unlock (view);
unblock_input ();
diff --git a/src/image.c b/src/image.c
index e78c0abb0db..c9420b48f4a 100644
--- a/src/image.c
+++ b/src/image.c
@@ -479,7 +479,8 @@ image_create_bitmap_from_data (struct frame *f, char *bits,
#ifdef HAVE_X_WINDOWS
Pixmap bitmap;
- bitmap = XCreateBitmapFromData (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
+ bitmap = XCreateBitmapFromData (FRAME_X_DISPLAY (f),
+ dpyinfo->root_window,
bits, width, height);
if (! bitmap)
return -1;
@@ -729,8 +730,10 @@ image_create_bitmap_from_file (struct frame *f, Lisp_Object file)
filename = SSDATA (found);
- result = XReadBitmapFile (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
- filename, &width, &height, &bitmap, &xhot, &yhot);
+ result = XReadBitmapFile (FRAME_X_DISPLAY (f),
+ dpyinfo->root_window,
+ filename, &width, &height, &bitmap,
+ &xhot, &yhot);
if (result != BitmapSuccess)
return -1;
@@ -839,9 +842,17 @@ static void
free_bitmap_record (Display_Info *dpyinfo, Bitmap_Record *bm)
{
#ifdef HAVE_X_WINDOWS
- XFreePixmap (dpyinfo->display, bm->pixmap);
- if (bm->have_mask)
- XFreePixmap (dpyinfo->display, bm->mask);
+ /* Free the pixmap and mask. Only do this if DPYINFO->display is
+ still set, which may not be the case if the connection has
+ already been closed in response to an IO error. */
+
+ if (dpyinfo->display)
+ {
+ XFreePixmap (dpyinfo->display, bm->pixmap);
+ if (bm->have_mask)
+ XFreePixmap (dpyinfo->display, bm->mask);
+ }
+
#ifdef USE_CAIRO
if (bm->stipple)
cairo_pattern_destroy (bm->stipple);
@@ -4000,7 +4011,7 @@ xbm_scan (char **s, char *end, char *sval, int *ival)
digit = char_hexdigit (c);
if (digit < 0)
break;
- overflow |= INT_MULTIPLY_WRAPV (value, 16, &value);
+ overflow |= ckd_mul (&value, value, 16);
value += digit;
}
}
@@ -4010,7 +4021,7 @@ xbm_scan (char **s, char *end, char *sval, int *ival)
while (*s < end
&& (c = *(*s)++, '0' <= c && c <= '7'))
{
- overflow |= INT_MULTIPLY_WRAPV (value, 8, &value);
+ overflow |= ckd_mul (&value, value, 8);
value += c - '0';
}
}
@@ -4021,8 +4032,8 @@ xbm_scan (char **s, char *end, char *sval, int *ival)
while (*s < end
&& (c = *(*s)++, c_isdigit (c)))
{
- overflow |= INT_MULTIPLY_WRAPV (value, 10, &value);
- overflow |= INT_ADD_WRAPV (value, c - '0', &value);
+ overflow |= ckd_mul (&value, value, 10);
+ overflow |= ckd_add (&value, value, c - '0');
}
}
@@ -4066,7 +4077,7 @@ xbm_scan (char **s, char *end, char *sval, int *ival)
if (digit < 0)
return 0;
- overflow |= INT_MULTIPLY_WRAPV (value, 16, &value);
+ overflow |= ckd_mul (&value, value, 16);
value += digit;
}
}
@@ -6133,8 +6144,8 @@ image_to_emacs_colors (struct frame *f, struct image *img, bool rgb_p)
HGDIOBJ prev;
#endif /* HAVE_NTGUI */
- if (INT_MULTIPLY_WRAPV (sizeof *colors, img->width, &nbytes)
- || INT_MULTIPLY_WRAPV (img->height, nbytes, &nbytes)
+ if (ckd_mul (&nbytes, sizeof *colors, img->width)
+ || ckd_mul (&nbytes, nbytes, img->height)
|| SIZE_MAX < nbytes)
memory_full (SIZE_MAX);
colors = xmalloc (nbytes);
@@ -6279,8 +6290,8 @@ image_detect_edges (struct frame *f, struct image *img,
#define COLOR(A, X, Y) ((A) + (Y) * img->width + (X))
- if (INT_MULTIPLY_WRAPV (sizeof *new, img->width, &nbytes)
- || INT_MULTIPLY_WRAPV (img->height, nbytes, &nbytes))
+ if (ckd_mul (&nbytes, sizeof *new, img->width)
+ || ckd_mul (&nbytes, nbytes, img->height))
memory_full (SIZE_MAX);
new = xmalloc (nbytes);
@@ -7652,8 +7663,8 @@ png_load_body (struct frame *f, struct image *img, struct png_load_context *c)
row_bytes = png_get_rowbytes (png_ptr, info_ptr);
/* Allocate memory for the image. */
- if (INT_MULTIPLY_WRAPV (row_bytes, sizeof *pixels, &nbytes)
- || INT_MULTIPLY_WRAPV (nbytes, height, &nbytes))
+ if (ckd_mul (&nbytes, row_bytes, sizeof *pixels)
+ || ckd_mul (&nbytes, nbytes, height))
memory_full (SIZE_MAX);
c->pixels = pixels = xmalloc (nbytes);
c->rows = rows = xmalloc (height * sizeof *rows);
diff --git a/src/indent.c b/src/indent.c
index 08d2bf5ea28..c3cbc49c81b 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -616,7 +616,7 @@ scan_for_column (ptrdiff_t *endpos, EMACS_INT *goalcol,
memset (&cmp_it, 0, sizeof cmp_it);
cmp_it.id = -1;
- composition_compute_stop_pos (&cmp_it, scan, scan_byte, end, Qnil);
+ composition_compute_stop_pos (&cmp_it, scan, scan_byte, end, Qnil, true);
/* Scan forward to the target position. */
while (scan < end)
@@ -681,7 +681,7 @@ scan_for_column (ptrdiff_t *endpos, EMACS_INT *goalcol,
{
cmp_it.id = -1;
composition_compute_stop_pos (&cmp_it, scan, scan_byte, end,
- Qnil);
+ Qnil, true);
}
else
cmp_it.from = cmp_it.to;
@@ -1290,7 +1290,7 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, EMACS_INT fromvpos,
prev_tab_offset = tab_offset;
memset (&cmp_it, 0, sizeof cmp_it);
cmp_it.id = -1;
- composition_compute_stop_pos (&cmp_it, pos, pos_byte, to, Qnil);
+ composition_compute_stop_pos (&cmp_it, pos, pos_byte, to, Qnil, true);
unsigned short int quit_count = 0;
@@ -1600,7 +1600,7 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, EMACS_INT fromvpos,
{
cmp_it.id = -1;
composition_compute_stop_pos (&cmp_it, pos, pos_byte, to,
- Qnil);
+ Qnil, true);
}
else
cmp_it.from = cmp_it.to;
@@ -2065,6 +2065,7 @@ line_number_display_width (struct window *w, int *width, int *pixel_width)
{
record_unwind_protect (save_restriction_restore,
save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
saved_restriction = true;
}
diff --git a/src/itree.c b/src/itree.c
index bd3e62a374a..ecf7d67422a 100644
--- a/src/itree.c
+++ b/src/itree.c
@@ -817,14 +817,13 @@ itree_remove_fix (struct itree_tree *tree,
{
struct itree_node *other = parent->right;
- if (null_safe_is_red (other)) /* case 1.a */
+ if (other->red) /* case 1.a */
{
other->red = false;
parent->red = true;
itree_rotate_left (tree, parent);
other = parent->right;
}
- eassume (other != NULL);
if (null_safe_is_black (other->left) /* 2.a */
&& null_safe_is_black (other->right))
@@ -855,14 +854,13 @@ itree_remove_fix (struct itree_tree *tree,
{
struct itree_node *other = parent->left;
- if (null_safe_is_red (other)) /* 1.b */
+ if (other->red) /* 1.b */
{
other->red = false;
parent->red = true;
itree_rotate_right (tree, parent);
other = parent->left;
}
- eassume (other != NULL);
if (null_safe_is_black (other->right) /* 2.b */
&& null_safe_is_black (other->left))
diff --git a/src/keyboard.c b/src/keyboard.c
index f7aa496bb81..b61b1766856 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -318,6 +318,8 @@ static Lisp_Object command_loop (void);
static void echo_now (void);
static ptrdiff_t echo_length (void);
+static void safe_run_hooks_maybe_narrowed (Lisp_Object, struct window *);
+
/* Incremented whenever a timer is run. */
unsigned timers_run;
@@ -1434,6 +1436,7 @@ command_loop_1 (void)
prev_buffer = current_buffer;
prev_modiff = MODIFF;
last_point_position = PT;
+ ptrdiff_t last_pt = PT;
/* By default, we adjust point to a boundary of a region that
has such a property that should be treated intangible
@@ -1511,6 +1514,9 @@ command_loop_1 (void)
unbind_to (scount, Qnil);
#endif
}
+ /* Restore last PT position value, possibly clobbered by
+ recursive-edit invoked by the command we just executed. */
+ last_point_position = last_pt;
kset_last_prefix_arg (current_kboard, Vcurrent_prefix_arg);
safe_run_hooks_maybe_narrowed (Qpost_command_hook,
@@ -1909,7 +1915,7 @@ safe_run_hooks (Lisp_Object hook)
unbind_to (count, Qnil);
}
-void
+static void
safe_run_hooks_maybe_narrowed (Lisp_Object hook, struct window *w)
{
specpdl_ref count = SPECPDL_INDEX ();
@@ -1919,11 +1925,11 @@ safe_run_hooks_maybe_narrowed (Lisp_Object hook, struct window *w)
if (current_buffer->long_line_optimizations_p
&& long_line_optimizations_region_size > 0)
{
- ptrdiff_t begv = get_locked_narrowing_begv (PT);
- ptrdiff_t zv = get_locked_narrowing_zv (PT);
+ ptrdiff_t begv = get_large_narrowing_begv (PT);
+ ptrdiff_t zv = get_large_narrowing_zv (PT);
if (begv != BEG || zv != Z)
- narrow_to_region_locked (make_fixnum (begv), make_fixnum (zv),
- Qlong_line_optimizations_in_command_hooks);
+ labeled_narrow_to_region (make_fixnum (begv), make_fixnum (zv),
+ Qlong_line_optimizations_in_command_hooks);
}
run_hook_with_args (2, ((Lisp_Object []) {hook, hook}),
@@ -11159,7 +11165,7 @@ DEFUN ("recursion-depth", Frecursion_depth, Srecursion_depth, 0, 0, 0,
(void)
{
EMACS_INT sum;
- INT_ADD_WRAPV (command_loop_level, minibuf_level, &sum);
+ ckd_add (&sum, command_loop_level, minibuf_level);
return make_fixnum (sum);
}
@@ -11559,7 +11565,7 @@ quit_throw_to_read_char (bool from_signal)
if (FRAMEP (internal_last_event_frame)
&& !EQ (internal_last_event_frame, selected_frame))
do_switch_frame (make_lispy_switch_frame (internal_last_event_frame),
- 0, Qnil);
+ 0, 0, Qnil);
sys_longjmp (getcjmp, 1);
}
diff --git a/src/keymap.c b/src/keymap.c
index efac410d317..da2af98c2d6 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1363,7 +1363,7 @@ recognize the default bindings, just as `read-key-sequence' does. */)
{
USE_SAFE_ALLOCA;
ptrdiff_t size = SCHARS (key_item), n;
- if (INT_MULTIPLY_WRAPV (size, MAX_MULTIBYTE_LENGTH, &n))
+ if (ckd_mul (&n, size, MAX_MULTIBYTE_LENGTH))
n = PTRDIFF_MAX;
unsigned char *dst = SAFE_ALLOCA (n);
unsigned char *p = dst;
@@ -1411,7 +1411,7 @@ recognize the default bindings, just as `read-key-sequence' does. */)
USE_SAFE_ALLOCA;
ptrdiff_t size = SCHARS (lc_key), n;
- if (INT_MULTIPLY_WRAPV (size, MAX_MULTIBYTE_LENGTH, &n))
+ if (ckd_mul (&n, size, MAX_MULTIBYTE_LENGTH))
n = PTRDIFF_MAX;
unsigned char *dst = SAFE_ALLOCA (n);
@@ -2097,7 +2097,7 @@ For an approximate inverse of this, see `kbd'. */)
/* This has one extra element at the end that we don't pass to Fconcat. */
ptrdiff_t size4;
- if (INT_MULTIPLY_WRAPV (nkeys + nprefix, 4, &size4))
+ if (ckd_mul (&size4, nkeys + nprefix, 4))
memory_full (SIZE_MAX);
SAFE_ALLOCA_LISP (args, size4);
@@ -3308,13 +3308,18 @@ describe_vector (Lisp_Object vector, Lisp_Object prefix, Lisp_Object args,
if (this_shadowed)
{
SET_PT (PT - 1);
- static char const fmt[] = " (currently shadowed by `%s')";
- USE_SAFE_ALLOCA;
- char *buffer = SAFE_ALLOCA (sizeof fmt +
- SBYTES (SYMBOL_NAME (shadowed_by)));
- esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by)));
- insert_string (buffer);
- SAFE_FREE();
+ if (SYMBOLP (shadowed_by))
+ {
+ static char const fmt[] = " (currently shadowed by `%s')";
+ USE_SAFE_ALLOCA;
+ char *buffer =
+ SAFE_ALLOCA (sizeof fmt + SBYTES (SYMBOL_NAME (shadowed_by)));
+ esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by)));
+ insert_string (buffer);
+ SAFE_FREE();
+ }
+ else /* Could be a keymap, a lambda, or a keyboard macro. */
+ insert_string (" (currently shadowed)");
SET_PT (PT + 1);
}
}
diff --git a/src/lisp.h b/src/lisp.h
index 78b68880702..f10bce86b45 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <alloca.h>
#include <setjmp.h>
#include <stdarg.h>
+#include <stdckdint.h>
#include <stddef.h>
#include <string.h>
#include <float.h>
@@ -30,6 +31,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <limits.h>
#include <attribute.h>
+#include <count-leading-zeros.h>
#include <intprops.h>
#include <verify.h>
@@ -810,24 +812,24 @@ typedef struct { void const *fwdptr; } lispfwd;
enum symbol_interned
{
- SYMBOL_UNINTERNED = 0,
- SYMBOL_INTERNED = 1,
- SYMBOL_INTERNED_IN_INITIAL_OBARRAY = 2
+ SYMBOL_UNINTERNED, /* not interned anywhere */
+ SYMBOL_INTERNED, /* interned but not in initial obarray */
+ SYMBOL_INTERNED_IN_INITIAL_OBARRAY /* interned in initial obarray */
};
enum symbol_redirect
{
- SYMBOL_PLAINVAL = 4,
- SYMBOL_VARALIAS = 1,
- SYMBOL_LOCALIZED = 2,
- SYMBOL_FORWARDED = 3
+ SYMBOL_PLAINVAL, /* plain var, value is in the `value' field */
+ SYMBOL_VARALIAS, /* var alias, value is really in the `alias' symbol */
+ SYMBOL_LOCALIZED, /* localized var, value is in the `blv' object */
+ SYMBOL_FORWARDED /* forwarding var, value is in `forward' */
};
enum symbol_trapped_write
{
- SYMBOL_UNTRAPPED_WRITE = 0,
- SYMBOL_NOWRITE = 1,
- SYMBOL_TRAPPED_WRITE = 2
+ SYMBOL_UNTRAPPED_WRITE, /* normal case, just set the value */
+ SYMBOL_NOWRITE, /* constant, cannot set, e.g. nil, t, :keyword */
+ SYMBOL_TRAPPED_WRITE /* trap the write, call watcher functions */
};
struct Lisp_Symbol
@@ -838,21 +840,13 @@ struct Lisp_Symbol
{
bool_bf gcmarkbit : 1;
- /* Indicates where the value can be found:
- 0 : it's a plain var, the value is in the `value' field.
- 1 : it's a varalias, the value is really in the `alias' symbol.
- 2 : it's a localized var, the value is in the `blv' object.
- 3 : it's a forwarding variable, the value is in `forward'. */
- ENUM_BF (symbol_redirect) redirect : 3;
+ /* Indicates where the value can be found. */
+ ENUM_BF (symbol_redirect) redirect : 2;
- /* 0 : normal case, just set the value
- 1 : constant, cannot set, e.g. nil, t, :keywords.
- 2 : trap the write, call watcher functions. */
ENUM_BF (symbol_trapped_write) trapped_write : 2;
- /* Interned state of the symbol. This is an enumerator from
- enum symbol_interned. */
- unsigned interned : 2;
+ /* Interned state of the symbol. */
+ ENUM_BF (symbol_interned) interned : 2;
/* True means that this variable has been explicitly declared
special (with `defvar' etc), and shouldn't be lexically bound. */
@@ -3912,6 +3906,13 @@ integer_to_uintmax (Lisp_Object num, uintmax_t *n)
}
}
+/* Return floor (log2 (N)) as an int, where 0 < N <= ULLONG_MAX. */
+INLINE int
+elogb (unsigned long long int n)
+{
+ return ULLONG_WIDTH - 1 - count_leading_zeros_ll (n);
+}
+
/* A modification count. These are wide enough, and incremented
rarely enough, so that they should never overflow a 60-bit counter
in practice, and the code below assumes this so a compiler can
@@ -3921,12 +3922,13 @@ typedef intmax_t modiff_count;
INLINE modiff_count
modiff_incr (modiff_count *a, ptrdiff_t len)
{
- modiff_count a0 = *a; int incr = len ? 1 : 0;
+ modiff_count a0 = *a;
/* Increase the counter more for a large modification and less for a
small modification. Increase it logarithmically to avoid
increasing it too much. */
- while (len >>= 1) incr++;
- bool modiff_overflow = INT_ADD_WRAPV (a0, incr, a);
+ verify (PTRDIFF_MAX <= ULLONG_MAX);
+ int incr = len == 0 ? 1 : elogb (len) + 1;
+ bool modiff_overflow = ckd_add (a, a0, incr);
eassert (!modiff_overflow && *a >> 30 >> 30 == 0);
return a0;
}
@@ -4039,6 +4041,7 @@ extern Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object);
extern bool equal_no_quit (Lisp_Object, Lisp_Object);
extern Lisp_Object nconc2 (Lisp_Object, Lisp_Object);
extern Lisp_Object assq_no_quit (Lisp_Object, Lisp_Object);
+extern Lisp_Object assq_no_signal (Lisp_Object, Lisp_Object);
extern Lisp_Object assoc_no_quit (Lisp_Object, Lisp_Object);
extern void clear_string_char_byte_cache (void);
extern ptrdiff_t string_char_to_byte (Lisp_Object, ptrdiff_t);
@@ -4687,8 +4690,9 @@ extern void save_restriction_restore (Lisp_Object);
extern Lisp_Object make_buffer_string (ptrdiff_t, ptrdiff_t, bool);
extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t,
ptrdiff_t, bool);
-extern void narrow_to_region_locked (Lisp_Object, Lisp_Object, Lisp_Object);
-extern void reset_outermost_narrowings (void);
+extern void labeled_narrow_to_region (Lisp_Object, Lisp_Object, Lisp_Object);
+extern void reset_outermost_restrictions (void);
+extern void labeled_restrictions_remove_in_current_buffer (void);
extern void init_editfns (void);
extern void syms_of_editfns (void);
@@ -4857,7 +4861,6 @@ extern bool detect_input_pending (void);
extern bool detect_input_pending_ignore_squeezables (void);
extern bool detect_input_pending_run_timers (bool);
extern void safe_run_hooks (Lisp_Object);
-extern void safe_run_hooks_maybe_narrowed (Lisp_Object, struct window *);
extern void safe_run_hooks_2 (Lisp_Object, Lisp_Object, Lisp_Object);
extern void cmd_error_internal (Lisp_Object, const char *);
extern Lisp_Object command_loop_2 (Lisp_Object);
@@ -4878,7 +4881,7 @@ extern void syms_of_indent (void);
/* Defined in frame.c. */
extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object);
extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object);
-extern Lisp_Object do_switch_frame (Lisp_Object, int, Lisp_Object);
+extern Lisp_Object do_switch_frame (Lisp_Object, int, int, Lisp_Object);
extern Lisp_Object get_frame_param (struct frame *, Lisp_Object);
extern void frames_discard_buffer (Lisp_Object);
extern void init_frame_once (void);
@@ -5406,14 +5409,22 @@ safe_free_unbind_to (specpdl_ref count, specpdl_ref sa_count, Lisp_Object val)
return unbind_to (count, val);
}
+/* Work around GCC bug 109577
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109577
+ which causes GCC to mistakenly complain about the
+ memory allocation in SAFE_ALLOCA_LISP_EXTRA. */
+#if GNUC_PREREQ (13, 0, 0)
+# pragma GCC diagnostic ignored "-Wanalyzer-allocation-size"
+#endif
+
/* Set BUF to point to an allocated array of NELT Lisp_Objects,
immediately followed by EXTRA spare bytes. */
#define SAFE_ALLOCA_LISP_EXTRA(buf, nelt, extra) \
do { \
ptrdiff_t alloca_nbytes; \
- if (INT_MULTIPLY_WRAPV (nelt, word_size, &alloca_nbytes) \
- || INT_ADD_WRAPV (alloca_nbytes, extra, &alloca_nbytes) \
+ if (ckd_mul (&alloca_nbytes, nelt, word_size) \
+ || ckd_add (&alloca_nbytes, alloca_nbytes, extra) \
|| SIZE_MAX < alloca_nbytes) \
memory_full (SIZE_MAX); \
else if (alloca_nbytes <= sa_avail) \
diff --git a/src/lread.c b/src/lread.c
index 273120315df..51d0d2a3c24 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2255,6 +2255,7 @@ readevalloop (Lisp_Object readcharfun,
record_unwind_protect_excursion ();
/* Save ZV in it. */
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
/* Those get unbound after we read one expression. */
/* Set point and ZV around stuff to be read. */
@@ -2639,12 +2640,6 @@ character_name_to_code (char const *name, ptrdiff_t name_len,
Unicode 9.0.0 the maximum is 83, so this should be safe. */
enum { UNICODE_CHARACTER_NAME_LENGTH_BOUND = 200 };
-static AVOID
-invalid_escape_syntax_error (void)
-{
- error ("Invalid escape character syntax");
-}
-
/* Read a character escape sequence, assuming we just read a backslash
and one more character (next_char). */
static int
@@ -2676,7 +2671,7 @@ read_char_escape (Lisp_Object readcharfun, int next_char)
case '\n':
/* ?\LF is an error; it's probably a user mistake. */
- error ("Invalid escape character syntax");
+ error ("Invalid escape char syntax: \\<newline>");
/* \M-x etc: set modifier bit and parse the char to which it applies,
allowing for chains such as \M-\S-\A-\H-\s-\C-q. */
@@ -2700,7 +2695,7 @@ read_char_escape (Lisp_Object readcharfun, int next_char)
}
else
/* \M, \S, \H, \A not followed by a hyphen is an error. */
- invalid_escape_syntax_error ();
+ error ("Invalid escape char syntax: \\%c not followed by -", c);
}
modifiers |= mod;
c1 = READCHAR;
@@ -2720,7 +2715,7 @@ read_char_escape (Lisp_Object readcharfun, int next_char)
{
int c1 = READCHAR;
if (c1 != '-')
- invalid_escape_syntax_error ();
+ error ("Invalid escape char syntax: \\%c not followed by -", c);
}
FALLTHROUGH;
/* The prefixes \C- and \^ are equivalent. */
@@ -2785,7 +2780,7 @@ read_char_escape (Lisp_Object readcharfun, int next_char)
}
if (count == 0)
- invalid_escape_syntax_error ();
+ error ("Invalid escape char syntax: \\x not followed by hex digit");
if (count < 3 && i >= 0x80)
i = BYTE8_TO_CHAR (i);
modifiers |= i & CHAR_MODIFIER_MASK;
@@ -3293,7 +3288,7 @@ bytecode_from_rev_list (Lisp_Object elems, Lisp_Object readcharfun)
Convert them back to the original unibyte form. */
vec[COMPILED_BYTECODE] = Fstring_as_unibyte (vec[COMPILED_BYTECODE]);
}
- // Bytecode must be immovable.
+ /* Bytecode must be immovable. */
pin_string (vec[COMPILED_BYTECODE]);
}
@@ -3382,8 +3377,8 @@ read_bool_vector (Lisp_Object readcharfun)
invalid_syntax ("#&", readcharfun);
break;
}
- if (INT_MULTIPLY_WRAPV (length, 10, &length)
- || INT_ADD_WRAPV (length, c - '0', &length))
+ if (ckd_mul (&length, length, 10)
+ || ckd_add (&length, length, c - '0'))
invalid_syntax ("#&", readcharfun);
}
@@ -3407,8 +3402,9 @@ read_bool_vector (Lisp_Object readcharfun)
}
/* Skip (and optionally remember) a lazily-loaded string
- preceded by "#@". */
-static void
+ preceded by "#@". Return true if this was a normal skip,
+ false if we read #@00 (which skips to EOB/EOF). */
+static bool
skip_lazy_string (Lisp_Object readcharfun)
{
ptrdiff_t nskip = 0;
@@ -3428,15 +3424,15 @@ skip_lazy_string (Lisp_Object readcharfun)
UNREAD (c);
break;
}
- if (INT_MULTIPLY_WRAPV (nskip, 10, &nskip)
- || INT_ADD_WRAPV (nskip, c - '0', &nskip))
+ if (ckd_mul (&nskip, nskip, 10)
+ || ckd_add (&nskip, nskip, c - '0'))
invalid_syntax ("#@", readcharfun);
digits++;
if (digits == 2 && nskip == 0)
{
- /* #@00 means "skip to end" */
+ /* #@00 means "read nil and skip to end" */
skip_dyn_eof (readcharfun);
- return;
+ return false;
}
}
@@ -3483,6 +3479,8 @@ skip_lazy_string (Lisp_Object readcharfun)
else
/* Skip that many bytes. */
skip_dyn_bytes (readcharfun, nskip);
+
+ return true;
}
/* Given a lazy-loaded string designator VAL, return the actual string.
@@ -3940,8 +3938,10 @@ read0 (Lisp_Object readcharfun, bool locate_syms)
/* #@NUMBER is used to skip NUMBER following bytes.
That's used in .elc files to skip over doc strings
and function definitions that can be loaded lazily. */
- skip_lazy_string (readcharfun);
- goto read_obj;
+ if (skip_lazy_string (readcharfun))
+ goto read_obj;
+ obj = Qnil; /* #@00 skips to EOB/EOF and yields nil. */
+ break;
case '$':
/* #$ -- reference to lazy-loaded string */
@@ -3993,8 +3993,8 @@ read0 (Lisp_Object readcharfun, bool locate_syms)
c = READCHAR;
if (c < '0' || c > '9')
break;
- if (INT_MULTIPLY_WRAPV (n, 10, &n)
- || INT_ADD_WRAPV (n, c - '0', &n))
+ if (ckd_mul (&n, n, 10)
+ || ckd_add (&n, n, c - '0'))
invalid_syntax ("#", readcharfun);
}
if (c == 'r' || c == 'R')
diff --git a/src/minibuf.c b/src/minibuf.c
index d5f95968ae1..6e54d8c3ba5 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1125,8 +1125,8 @@ read_minibuf_unwind (void)
found:
if (!EQ (exp_MB_frame, saved_selected_frame)
&& !NILP (exp_MB_frame))
- do_switch_frame (exp_MB_frame, 0, Qt); /* This also sets
- minibuf_window */
+ do_switch_frame (exp_MB_frame, 0, 0, Qt); /* This also sets
+ minibuf_window */
/* To keep things predictable, in case it matters, let's be in the
minibuffer when we reset the relevant variables. Don't depend on
@@ -1238,7 +1238,7 @@ read_minibuf_unwind (void)
/* Restore the selected frame. */
if (!EQ (exp_MB_frame, saved_selected_frame)
&& !NILP (exp_MB_frame))
- do_switch_frame (saved_selected_frame, 0, Qt);
+ do_switch_frame (saved_selected_frame, 0, 0, Qt);
}
/* Replace the expired minibuffer in frame exp_MB_frame with the next less
@@ -1266,9 +1266,6 @@ minibuffer_unwind (void)
set_window_buffer (window, Fcar (entry), 0, 0);
Fset_window_start (window, Fcar (Fcdr (entry)), Qnil);
Fset_window_point (window, Fcar (Fcdr (Fcdr (entry))));
- /* set-window-configuration may/will have unselected the
- mini-window as the selected window. Restore it. */
- Fset_frame_selected_window (exp_MB_frame, window, Qnil);
}
else
set_window_buffer (window, nth_minibuffer (0), 0, 0);
diff --git a/src/nsfns.m b/src/nsfns.m
index 8804a7df7cf..90159533128 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -706,8 +706,10 @@ ns_set_tab_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
ns_change_tab_bar_height (f, nlines * FRAME_LINE_HEIGHT (f));
}
+
+
+/* Tool bar support. */
-/* toolbar support */
static void
ns_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
{
@@ -760,7 +762,16 @@ ns_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
}
static void
-ns_set_child_frame_border_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
+ns_set_tool_bar_position (struct frame *f, Lisp_Object arg,
+ Lisp_Object oldval)
+{
+ if (!EQ (arg, Qtop))
+ error ("Tool bar position must be `top'");
+}
+
+static void
+ns_set_child_frame_border_width (struct frame *f, Lisp_Object arg,
+ Lisp_Object oldval)
{
int border;
@@ -1055,7 +1066,7 @@ frame_parm_handler ns_frame_parm_handlers[] =
gui_set_font_backend, /* generic OK */
gui_set_alpha,
0, /* x_set_sticky */
- 0, /* x_set_tool_bar_position */
+ ns_set_tool_bar_position,
0, /* x_set_inhibit_double_buffering */
ns_set_undecorated,
ns_set_parent_frame,
diff --git a/src/nsterm.m b/src/nsterm.m
index ecbf80ff72d..78089906752 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1624,7 +1624,7 @@ ns_free_frame_resources (struct frame *f)
[f->output_data.ns->miniimage release];
[[view window] close];
- [view release];
+ [view removeFromSuperview];
xfree (f->output_data.ns);
f->output_data.ns = NULL;
@@ -2704,11 +2704,12 @@ ns_scroll_run (struct window *w, struct run *run)
{
NSRect srcRect = NSMakeRect (x, from_y, width, height);
NSPoint dest = NSMakePoint (x, to_y);
+ NSRect destRect = NSMakeRect (x, from_y, width, height);
EmacsView *view = FRAME_NS_VIEW (f);
[view copyRect:srcRect to:dest];
#ifdef NS_IMPL_COCOA
- [view setNeedsDisplayInRect:srcRect];
+ [view setNeedsDisplayInRect:destRect];
#endif
}
@@ -2727,6 +2728,7 @@ ns_clear_under_internal_border (struct frame *f)
int width = FRAME_PIXEL_WIDTH (f);
int height = FRAME_PIXEL_HEIGHT (f);
int margin = FRAME_TOP_MARGIN_HEIGHT (f);
+ int bottom_margin = FRAME_BOTTOM_MARGIN_HEIGHT (f);
int face_id =
(FRAME_PARENT_FRAME (f)
? (!NILP (Vface_remapping_alist)
@@ -2752,7 +2754,8 @@ ns_clear_under_internal_border (struct frame *f)
NSRectFill (NSMakeRect (0, 0, border, height));
NSRectFill (NSMakeRect (0, margin, width, border));
NSRectFill (NSMakeRect (width - border, 0, border, height));
- NSRectFill (NSMakeRect (0, height - border, width, border));
+ NSRectFill (NSMakeRect (0, height - bottom_margin - border,
+ width, border));
ns_unfocus (f);
}
}
@@ -7930,6 +7933,10 @@ ns_in_echo_area (void)
[self setLayerContentsRedrawPolicy:
NSViewLayerContentsRedrawOnSetNeedsDisplay];
[self setLayerContentsPlacement:NSViewLayerContentsPlacementTopLeft];
+
+ /* initWithEmacsFrame can't create the toolbar before the layer is
+ set, so have another go at creating the toolbar here. */
+ [(EmacsWindow*)[self window] createToolbar:f];
#endif
if (ns_drag_types)
@@ -9174,11 +9181,18 @@ ns_in_echo_area (void)
- (void)createToolbar: (struct frame *)f
{
- if (FRAME_UNDECORATED (f) || !FRAME_EXTERNAL_TOOL_BAR (f))
+ if (FRAME_UNDECORATED (f) || !FRAME_EXTERNAL_TOOL_BAR (f) || [self toolbar] != nil)
return;
EmacsView *view = (EmacsView *)FRAME_NS_VIEW (f);
+#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+ /* If the view's layer isn't an EmacsLayer then we can't create the
+ toolbar yet. */
+ if (! [[view layer] isKindOfClass:[EmacsLayer class]])
+ return;
+#endif
+
EmacsToolbar *toolbar = [[EmacsToolbar alloc]
initForView:view
withIdentifier:[NSString stringWithFormat:@"%p", f]];
diff --git a/src/pdumper.c b/src/pdumper.c
index 2c3828081fa..34998549cc8 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -103,7 +103,6 @@ verify (sizeof (intptr_t) == sizeof (ptrdiff_t));
verify (sizeof (void (*) (void)) == sizeof (void *));
verify (sizeof (ptrdiff_t) <= sizeof (Lisp_Object));
verify (sizeof (ptrdiff_t) <= sizeof (EMACS_INT));
-verify (CHAR_BIT == 8);
static size_t
divide_round_up (size_t x, size_t y)
@@ -133,6 +132,7 @@ static int nr_remembered_data = 0;
typedef int_least32_t dump_off;
#define DUMP_OFF_MIN INT_LEAST32_MIN
#define DUMP_OFF_MAX INT_LEAST32_MAX
+#define DUMP_OFF_WIDTH INT_LEAST32_WIDTH
#define PRIdDUMP_OFF PRIdLEAST32
enum { EMACS_INT_XDIGITS = (EMACS_INT_WIDTH + 3) / 4 };
@@ -222,8 +222,7 @@ enum emacs_reloc_type
enum
{
EMACS_RELOC_TYPE_BITS = 3,
- EMACS_RELOC_LENGTH_BITS = (sizeof (dump_off) * CHAR_BIT
- - EMACS_RELOC_TYPE_BITS)
+ EMACS_RELOC_LENGTH_BITS = DUMP_OFF_WIDTH - EMACS_RELOC_TYPE_BITS
};
struct emacs_reloc
@@ -273,7 +272,7 @@ enum
dump. Always suitable for heap objects; may be more aligned. */
DUMP_ALIGNMENT = max (GCALIGNMENT, DUMP_RELOCATION_ALIGNMENT),
- DUMP_RELOC_OFFSET_BITS = sizeof (dump_off) * CHAR_BIT - DUMP_RELOC_TYPE_BITS
+ DUMP_RELOC_OFFSET_BITS = DUMP_OFF_WIDTH - DUMP_RELOC_TYPE_BITS
};
verify (RELOC_DUMP_TO_EMACS_LV + 8 < (1 << DUMP_RELOC_TYPE_BITS));
@@ -2459,10 +2458,10 @@ dump_symbol (struct dump_context *ctx,
Lisp_Object object,
dump_off offset)
{
-#if CHECK_STRUCTS && !defined HASH_Lisp_Symbol_999DC26DEC
+#if CHECK_STRUCTS && !defined HASH_Lisp_Symbol_61B174C9F4
# error "Lisp_Symbol changed. See CHECK_STRUCTS comment in config.h."
#endif
-#if CHECK_STRUCTS && !defined (HASH_symbol_redirect_ADB4F5B113)
+#if CHECK_STRUCTS && !defined (HASH_symbol_redirect_EA72E4BFF5)
# error "symbol_redirect changed. See CHECK_STRUCTS comment in config.h."
#endif
@@ -4997,6 +4996,7 @@ dump_mmap_contiguous (struct dump_memory_map *maps, int nr_maps)
}
typedef uint_fast32_t dump_bitset_word;
+#define DUMP_BITSET_WORD_WIDTH UINT_FAST32_WIDTH
struct dump_bitset
{
@@ -5007,9 +5007,9 @@ struct dump_bitset
static bool
dump_bitsets_init (struct dump_bitset bitset[2], size_t number_bits)
{
- int xword_size = sizeof (bitset[0].bits[0]);
- int bits_per_word = xword_size * CHAR_BIT;
- ptrdiff_t words_needed = divide_round_up (number_bits, bits_per_word);
+ int xword_size = sizeof (dump_bitset_word);
+ ptrdiff_t words_needed = divide_round_up (number_bits,
+ DUMP_BITSET_WORD_WIDTH);
dump_bitset_word *bits = calloc (words_needed, 2 * xword_size);
if (!bits)
return false;
@@ -5024,9 +5024,7 @@ static dump_bitset_word *
dump_bitset__bit_slot (const struct dump_bitset *bitset,
size_t bit_number)
{
- int xword_size = sizeof (bitset->bits[0]);
- int bits_per_word = xword_size * CHAR_BIT;
- ptrdiff_t word_number = bit_number / bits_per_word;
+ ptrdiff_t word_number = bit_number / DUMP_BITSET_WORD_WIDTH;
eassert (word_number < bitset->number_words);
return &bitset->bits[word_number];
}
@@ -5035,10 +5033,8 @@ static bool
dump_bitset_bit_set_p (const struct dump_bitset *bitset,
size_t bit_number)
{
- unsigned xword_size = sizeof (bitset->bits[0]);
- unsigned bits_per_word = xword_size * CHAR_BIT;
dump_bitset_word bit = 1;
- bit <<= bit_number % bits_per_word;
+ bit <<= bit_number % DUMP_BITSET_WORD_WIDTH;
return *dump_bitset__bit_slot (bitset, bit_number) & bit;
}
@@ -5047,11 +5043,9 @@ dump_bitset__set_bit_value (struct dump_bitset *bitset,
size_t bit_number,
bool bit_is_set)
{
- int xword_size = sizeof (bitset->bits[0]);
- int bits_per_word = xword_size * CHAR_BIT;
dump_bitset_word *slot = dump_bitset__bit_slot (bitset, bit_number);
dump_bitset_word bit = 1;
- bit <<= bit_number % bits_per_word;
+ bit <<= bit_number % DUMP_BITSET_WORD_WIDTH;
if (bit_is_set)
*slot = *slot | bit;
else
diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index 6e5bb22375a..c154d37f47f 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -398,13 +398,6 @@ pgtk_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
pgtk_set_name_internal (f, name);
}
-
-void
-pgtk_set_doc_edited (void)
-{
-}
-
-
static void
pgtk_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
{
@@ -3458,7 +3451,6 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
tab_bar_height = FRAME_TAB_BAR_HEIGHT (f);
tab_bar_width = (tab_bar_height
? native_width - 2 * internal_border_width : 0);
- /* inner_top += tab_bar_height; */
/* Construct list. */
if (EQ (attribute, Qouter_edges))
@@ -3471,10 +3463,12 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
else if (EQ (attribute, Qinner_edges))
return list4 (make_fixnum (native_left + internal_border_width),
make_fixnum (native_top
- + tool_bar_height
+ + tab_bar_height
+ + FRAME_TOOL_BAR_TOP_HEIGHT (f)
+ internal_border_width),
make_fixnum (native_right - internal_border_width),
- make_fixnum (native_bottom - internal_border_width));
+ make_fixnum (native_bottom - internal_border_width
+ - FRAME_TOOL_BAR_BOTTOM_HEIGHT (f)));
else
return
list (Fcons (Qouter_position,
@@ -3571,7 +3565,9 @@ menu bar or tool bar of FRAME. */)
? type : Qnative_edges));
}
-DEFUN ("pgtk-set-mouse-absolute-pixel-position", Fpgtk_set_mouse_absolute_pixel_position, Spgtk_set_mouse_absolute_pixel_position, 2, 2, 0,
+DEFUN ("pgtk-set-mouse-absolute-pixel-position",
+ Fpgtk_set_mouse_absolute_pixel_position,
+ Spgtk_set_mouse_absolute_pixel_position, 2, 2, 0,
doc: /* Move mouse pointer to absolute pixel position (X, Y).
The coordinates X and Y are interpreted in pixels relative to a position
\(0, 0) of the selected frame's display. */)
@@ -3590,7 +3586,9 @@ The coordinates X and Y are interpreted in pixels relative to a position
return Qnil;
}
-DEFUN ("pgtk-mouse-absolute-pixel-position", Fpgtk_mouse_absolute_pixel_position, Spgtk_mouse_absolute_pixel_position, 0, 0, 0,
+DEFUN ("pgtk-mouse-absolute-pixel-position",
+ Fpgtk_mouse_absolute_pixel_position,
+ Spgtk_mouse_absolute_pixel_position, 0, 0, 0,
doc: /* Return absolute position of mouse cursor in pixels.
The position is returned as a cons cell (X . Y) of the
coordinates of the mouse cursor position in pixels relative to a
@@ -3612,7 +3610,8 @@ position (0, 0) of the selected frame's terminal. */)
}
-DEFUN ("pgtk-page-setup-dialog", Fpgtk_page_setup_dialog, Spgtk_page_setup_dialog, 0, 0, 0,
+DEFUN ("pgtk-page-setup-dialog", Fpgtk_page_setup_dialog,
+ Spgtk_page_setup_dialog, 0, 0, 0,
doc: /* Pop up a page setup dialog.
The current page setup can be obtained using `x-get-page-setup'. */)
(void)
@@ -3624,7 +3623,8 @@ The current page setup can be obtained using `x-get-page-setup'. */)
return Qnil;
}
-DEFUN ("pgtk-get-page-setup", Fpgtk_get_page_setup, Spgtk_get_page_setup, 0, 0, 0,
+DEFUN ("pgtk-get-page-setup", Fpgtk_get_page_setup,
+ Spgtk_get_page_setup, 0, 0, 0,
doc: /* Return the value of the current page setup.
The return value is an alist containing the following keys:
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index c00e13550bd..dc2d6477bb5 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -376,6 +376,13 @@ mark_pgtkterm (void)
for (i = 0; i < n; i++)
{
union buffered_input_event *ev = &evq->q[i];
+
+ /* Selection requests don't have Lisp object members. */
+
+ if (ev->ie.kind == SELECTION_REQUEST_EVENT
+ || ev->ie.kind == SELECTION_CLEAR_EVENT)
+ continue;
+
mark_object (ev->ie.x);
mark_object (ev->ie.y);
mark_object (ev->ie.frame_or_window);
@@ -3759,7 +3766,8 @@ pgtk_flash (struct frame *f)
cairo_rectangle (cr,
flash_left,
(height - flash_height
- - FRAME_INTERNAL_BORDER_WIDTH (f)),
+ - FRAME_INTERNAL_BORDER_WIDTH (f)
+ - FRAME_BOTTOM_MARGIN_HEIGHT (f)),
width, flash_height);
cairo_fill (cr);
}
@@ -4940,36 +4948,38 @@ pgtk_clear_under_internal_border (struct frame *f)
int width = FRAME_PIXEL_WIDTH (f);
int height = FRAME_PIXEL_HEIGHT (f);
int margin = FRAME_TOP_MARGIN_HEIGHT (f);
- int face_id =
- (FRAME_PARENT_FRAME (f)
- ? (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, CHILD_FRAME_BORDER_FACE_ID)
- : CHILD_FRAME_BORDER_FACE_ID)
- : (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID)
- : INTERNAL_BORDER_FACE_ID));
+ int bottom_margin = FRAME_BOTTOM_MARGIN_HEIGHT (f);
+ int face_id = (FRAME_PARENT_FRAME (f)
+ ? (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ CHILD_FRAME_BORDER_FACE_ID)
+ : CHILD_FRAME_BORDER_FACE_ID)
+ : (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ INTERNAL_BORDER_FACE_ID)
+ : INTERNAL_BORDER_FACE_ID));
struct face *face = FACE_FROM_ID_OR_NULL (f, face_id);
block_input ();
if (face)
{
-#define x_fill_rectangle(f, gc, x, y, w, h) \
- fill_background_by_face (f, face, x, y, w, h)
- x_fill_rectangle (f, gc, 0, margin, width, border);
- x_fill_rectangle (f, gc, 0, 0, border, height);
- x_fill_rectangle (f, gc, width - border, 0, border, height);
- x_fill_rectangle (f, gc, 0, height - border, width, border);
-#undef x_fill_rectangle
+ fill_background_by_face (f, face, 0, margin, width, border);
+ fill_background_by_face (f, face, 0, 0, border, height);
+ fill_background_by_face (f, face, width - border, 0, border,
+ height);
+ fill_background_by_face (f, face, 0, (height
+ - bottom_margin
+ - border),
+ width, border);
}
else
{
-#define x_clear_area(f, x, y, w, h) pgtk_clear_area (f, x, y, w, h)
- x_clear_area (f, 0, 0, border, height);
- x_clear_area (f, 0, margin, width, border);
- x_clear_area (f, width - border, 0, border, height);
- x_clear_area (f, 0, height - border, width, border);
-#undef x_clear_area
+ pgtk_clear_area (f, 0, 0, border, height);
+ pgtk_clear_area (f, 0, margin, width, border);
+ pgtk_clear_area (f, width - border, 0, border, height);
+ pgtk_clear_area (f, 0, height - bottom_margin - border,
+ width, border);
}
unblock_input ();
@@ -6835,8 +6845,7 @@ pgtk_term_init (Lisp_Object display_name, char *resource_name)
Lisp_Object system_name = Fsystem_name ();
ptrdiff_t nbytes;
- if (INT_ADD_WRAPV (SBYTES (Vinvocation_name), SBYTES (system_name) + 2,
- &nbytes))
+ if (ckd_add (&nbytes, SBYTES (Vinvocation_name), SBYTES (system_name) + 2))
memory_full (SIZE_MAX);
dpyinfo->x_id = ++x_display_id;
dpyinfo->x_id_name = xmalloc (nbytes);
diff --git a/src/pgtkterm.h b/src/pgtkterm.h
index 202c6622ce3..8f2f00efdad 100644
--- a/src/pgtkterm.h
+++ b/src/pgtkterm.h
@@ -553,7 +553,6 @@ extern void pgtk_clear_frame (struct frame *);
extern char *pgtk_xlfd_to_fontname (const char *);
/* Implemented in pgtkfns.c. */
-extern void pgtk_set_doc_edited (void);
extern const char *pgtk_get_defaults_value (const char *);
extern const char *pgtk_get_string_resource (XrmDatabase, const char *, const char *);
extern void pgtk_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object);
diff --git a/src/print.c b/src/print.c
index e65b4c40b0e..5c95aeb9a20 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2202,9 +2202,9 @@ print_object (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag)
char buf[max (sizeof "from..to..in " + 2 * INT_STRLEN_BOUND (EMACS_INT),
max (sizeof " . #" + INT_STRLEN_BOUND (intmax_t),
max ((sizeof " with data 0x"
- + (sizeof (uintmax_t) * CHAR_BIT + 4 - 1) / 4),
+ + (UINTMAX_WIDTH + 4 - 1) / 4),
40)))];
- current_thread->stack_top = buf;
+ current_thread->stack_top = NEAR_STACK_TOP (buf);
print_obj:
maybe_quit ();
diff --git a/src/regex-emacs.c b/src/regex-emacs.c
index 746779490ad..9e298b81ebb 100644
--- a/src/regex-emacs.c
+++ b/src/regex-emacs.c
@@ -1716,7 +1716,8 @@ regex_compile (re_char *pattern, ptrdiff_t size,
/* Address of start of the most recently finished expression.
This tells, e.g., postfix * where to find the start of its
- operand. Reset at the beginning of groups and alternatives. */
+ operand. Reset at the beginning of groups and alternatives,
+ and after ^ and \` for dusty-deck compatibility. */
unsigned char *laststart = 0;
/* Address of beginning of regexp, or inside of last group. */
@@ -1847,12 +1848,16 @@ regex_compile (re_char *pattern, ptrdiff_t size,
case '^':
if (! (p == pattern + 1 || at_begline_loc_p (pattern, p)))
goto normal_char;
+ /* Special case for compatibility: postfix ops after ^ become
+ literals. */
+ laststart = 0;
BUF_PUSH (begline);
break;
case '$':
if (! (p == pend || at_endline_loc_p (p, pend)))
goto normal_char;
+ laststart = b;
BUF_PUSH (endline);
break;
@@ -1892,7 +1897,7 @@ regex_compile (re_char *pattern, ptrdiff_t size,
/* Star, etc. applied to an empty pattern is equivalent
to an empty pattern. */
- if (!laststart || laststart == b)
+ if (laststart == b)
break;
/* Now we know whether or not zero matches is allowed
@@ -2202,9 +2207,8 @@ regex_compile (re_char *pattern, ptrdiff_t size,
FALLTHROUGH;
case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- if (INT_MULTIPLY_WRAPV (regnum, 10, &regnum)
- || INT_ADD_WRAPV (regnum, c - '0',
- &regnum))
+ if (ckd_mul (&regnum, regnum, 10)
+ || ckd_add (&regnum, regnum, c - '0'))
FREE_STACK_RETURN (REG_ESIZE);
break;
default:
@@ -2545,18 +2549,24 @@ regex_compile (re_char *pattern, ptrdiff_t size,
break;
case 'b':
+ laststart = b;
BUF_PUSH (wordbound);
break;
case 'B':
+ laststart = b;
BUF_PUSH (notwordbound);
break;
case '`':
+ /* Special case for compatibility: postfix ops after \` become
+ literals, as for ^ (see above). */
+ laststart = 0;
BUF_PUSH (begbuf);
break;
case '\'':
+ laststart = b;
BUF_PUSH (endbuf);
break;
@@ -2598,7 +2608,7 @@ regex_compile (re_char *pattern, ptrdiff_t size,
/* If followed by a repetition operator. */
|| (p != pend
- && (*p == '*' || *p == '+' || *p == '?' || *p == '^'))
+ && (*p == '*' || *p == '+' || *p == '?'))
|| (p + 1 < pend && p[0] == '\\' && p[1] == '{'))
{
/* Start building a new exactn. */
diff --git a/src/regex-emacs.h b/src/regex-emacs.h
index 1bc973363e9..bc357633135 100644
--- a/src/regex-emacs.h
+++ b/src/regex-emacs.h
@@ -187,7 +187,8 @@ typedef enum { RECC_ERROR = 0,
RECC_DIGIT, RECC_XDIGIT,
RECC_BLANK, RECC_SPACE,
RECC_MULTIBYTE, RECC_NONASCII,
- RECC_ASCII, RECC_UNIBYTE
+ RECC_ASCII, RECC_UNIBYTE,
+ RECC_NUM_CLASSES = RECC_UNIBYTE
} re_wctype_t;
extern bool re_iswctype (int ch, re_wctype_t cc);
diff --git a/src/sort.c b/src/sort.c
index 34d0d690198..706c057dab0 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -40,7 +40,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
minimal length. So the number of bits in a ptrdiff_t is plenty large
enough for all cases. */
-#define MAX_MERGE_PENDING (sizeof (ptrdiff_t) * 8)
+#define MAX_MERGE_PENDING PTRDIFF_WIDTH
/* Once we get into galloping mode, we stay there as long as both runs
win at least GALLOP_WIN_MIN consecutive times. */
diff --git a/src/sqlite.c b/src/sqlite.c
index 0361514766a..fd528f2b0d5 100644
--- a/src/sqlite.c
+++ b/src/sqlite.c
@@ -23,6 +23,8 @@ YOSHIDA <syohex@gmail.com>, which can be found at:
https://github.com/syohex/emacs-sqlite3 */
#include <config.h>
+
+#include <c-strcase.h>
#include "lisp.h"
#include "coding.h"
@@ -30,6 +32,17 @@ YOSHIDA <syohex@gmail.com>, which can be found at:
#include <sqlite3.h>
+/* Support for loading SQLite extensions requires the ability to
+ enable and disable loading of extensions (by default this is
+ disabled, and we want to keep it that way). The required macro is
+ available since SQLite 3.13. */
+# if defined HAVE_SQLITE3_LOAD_EXTENSION && \
+ defined SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION
+# define HAVE_LOAD_EXTENSION 1
+# else
+# define HAVE_LOAD_EXTENSION 0
+# endif
+
#ifdef WINDOWSNT
# include <windows.h>
@@ -75,11 +88,14 @@ DEF_DLL_FN (SQLITE_API int, sqlite3_exec,
DEF_DLL_FN (SQLITE_API int, sqlite3_prepare_v2,
(sqlite3*, const char*, int, sqlite3_stmt**, const char**));
-# ifdef HAVE_SQLITE3_LOAD_EXTENSION
+# if HAVE_LOAD_EXTENSION
DEF_DLL_FN (SQLITE_API int, sqlite3_load_extension,
(sqlite3*, const char*, const char*, char**));
# undef sqlite3_load_extension
# define sqlite3_load_extension fn_sqlite3_load_extension
+DEF_DLL_FN (SQLITE_API int, sqlite3_db_config, (sqlite3*, int, ...));
+# undef sqlite3_db_config
+# define sqlite3_db_config fn_sqlite3_db_config
# endif
# undef sqlite3_finalize
@@ -170,8 +186,9 @@ load_dll_functions (HMODULE library)
LOAD_DLL_FN (library, sqlite3_column_text);
LOAD_DLL_FN (library, sqlite3_column_name);
LOAD_DLL_FN (library, sqlite3_exec);
-# ifdef HAVE_SQLITE3_LOAD_EXTENSION
+# if HAVE_LOAD_EXTENSION
LOAD_DLL_FN (library, sqlite3_load_extension);
+ LOAD_DLL_FN (library, sqlite3_db_config);
# endif
LOAD_DLL_FN (library, sqlite3_prepare_v2);
return true;
@@ -669,7 +686,7 @@ DEFUN ("sqlite-pragma", Fsqlite_pragma, Ssqlite_pragma, 2, 2, 0,
SSDATA (concat2 (build_string ("PRAGMA "), pragma)));
}
-#ifdef HAVE_SQLITE3_LOAD_EXTENSION
+#if HAVE_LOAD_EXTENSION
DEFUN ("sqlite-load-extension", Fsqlite_load_extension,
Ssqlite_load_extension, 2, 2, 0,
doc: /* Load an SQlite MODULE into DB.
@@ -684,9 +701,28 @@ Only modules on Emacs' list of allowed modules can be loaded. */)
CHECK_STRING (module);
/* Add names of useful and free modules here. */
- const char *allowlist[3] = { "pcre", "csvtable", NULL };
+ const char *allowlist[] = {
+ "base64",
+ "cksumvfs",
+ "compress",
+ "csv",
+ "csvtable",
+ "fts3",
+ "icu",
+ "pcre",
+ "percentile",
+ "regexp",
+ "rot13",
+ "rtree",
+ "sha1",
+ "uuid",
+ "vfslog",
+ "zipfile",
+ NULL
+ };
char *name = SSDATA (Ffile_name_nondirectory (module));
- /* Possibly skip past a common prefix. */
+ /* Possibly skip past a common prefix (libsqlite3_mod_ is used by
+ Debian, see https://packages.debian.org/source/sid/sqliteodbc). */
const char *prefix = "libsqlite3_mod_";
if (!strncmp (name, prefix, strlen (prefix)))
name += strlen (prefix);
@@ -694,10 +730,12 @@ Only modules on Emacs' list of allowed modules can be loaded. */)
bool do_allow = false;
for (const char **allow = allowlist; *allow; allow++)
{
- if (strlen (*allow) < strlen (name)
- && !strncmp (*allow, name, strlen (*allow))
- && (!strcmp (name + strlen (*allow), ".so")
- || !strcmp (name + strlen (*allow), ".DLL")))
+ ptrdiff_t allow_len = strlen (*allow);
+ if (allow_len < strlen (name)
+ && !strncmp (*allow, name, allow_len)
+ && (!strcmp (name + allow_len, ".so")
+ ||!strcmp (name + allow_len, ".dylib")
+ || !strcasecmp (name + allow_len, ".dll")))
{
do_allow = true;
break;
@@ -707,15 +745,25 @@ Only modules on Emacs' list of allowed modules can be loaded. */)
if (!do_allow)
xsignal1 (Qsqlite_error, build_string ("Module name not on allowlist"));
- int result = sqlite3_load_extension
- (XSQLITE (db)->db,
- SSDATA (ENCODE_FILE (Fexpand_file_name (module, Qnil))),
- NULL, NULL);
- if (result == SQLITE_OK)
- return Qt;
+ /* Expand all Lisp data explicitly, so as to avoid signaling an
+ error while extension loading is enabled -- we don't want to
+ "leak" this outside this function. */
+ sqlite3 *sdb = XSQLITE (db)->db;
+ char *ext_fn = SSDATA (ENCODE_FILE (Fexpand_file_name (module, Qnil)));
+ /* Temporarily enable loading extensions via the C API. */
+ int result = sqlite3_db_config (sdb, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, 1,
+ NULL);
+ if (result == SQLITE_OK)
+ {
+ result = sqlite3_load_extension (sdb, ext_fn, NULL, NULL);
+ /* Disable loading extensions via C API. */
+ sqlite3_db_config (sdb, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, 0, NULL);
+ if (result == SQLITE_OK)
+ return Qt;
+ }
return Qnil;
}
-#endif /* HAVE_SQLITE3_LOAD_EXTENSION */
+#endif /* HAVE_LOAD_EXTENSION */
DEFUN ("sqlite-next", Fsqlite_next, Ssqlite_next, 1, 1, 0,
doc: /* Return the next result set from SET.
@@ -825,7 +873,7 @@ syms_of_sqlite (void)
defsubr (&Ssqlite_commit);
defsubr (&Ssqlite_rollback);
defsubr (&Ssqlite_pragma);
-#ifdef HAVE_SQLITE3_LOAD_EXTENSION
+#if HAVE_LOAD_EXTENSION
defsubr (&Ssqlite_load_extension);
#endif
defsubr (&Ssqlite_next);
diff --git a/src/syntax.c b/src/syntax.c
index e9e04e2d638..0cac923bba7 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -178,14 +178,14 @@ static ptrdiff_t find_start_begv;
static modiff_count find_start_modiff;
-static Lisp_Object skip_chars (bool, Lisp_Object, Lisp_Object, bool);
+static Lisp_Object skip_chars (bool, Lisp_Object, Lisp_Object);
static Lisp_Object skip_syntaxes (bool, Lisp_Object, Lisp_Object);
static Lisp_Object scan_lists (EMACS_INT, EMACS_INT, EMACS_INT, bool);
static void scan_sexps_forward (struct lisp_parse_state *,
ptrdiff_t, ptrdiff_t, ptrdiff_t, EMACS_INT,
bool, int);
static void internalize_parse_state (Lisp_Object, struct lisp_parse_state *);
-static bool in_classes (int, Lisp_Object);
+static bool in_classes (int c, int num_classes, const unsigned char *classes);
static void parse_sexp_propertize (ptrdiff_t charpos);
/* This setter is used only in this file, so it can be private. */
@@ -1607,7 +1607,7 @@ Char classes, e.g. `[:alpha:]', are supported.
Returns the distance traveled, either zero or positive. */)
(Lisp_Object string, Lisp_Object lim)
{
- return skip_chars (1, string, lim, 1);
+ return skip_chars (1, string, lim);
}
DEFUN ("skip-chars-backward", Fskip_chars_backward, Sskip_chars_backward, 1, 2, 0,
@@ -1616,7 +1616,7 @@ See `skip-chars-forward' for details.
Returns the distance traveled, either zero or negative. */)
(Lisp_Object string, Lisp_Object lim)
{
- return skip_chars (0, string, lim, 1);
+ return skip_chars (0, string, lim);
}
DEFUN ("skip-syntax-forward", Fskip_syntax_forward, Sskip_syntax_forward, 1, 2, 0,
@@ -1643,8 +1643,7 @@ of this is the distance traveled. */)
}
static Lisp_Object
-skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
- bool handle_iso_classes)
+skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim)
{
int c;
char fastmap[0400];
@@ -1661,11 +1660,9 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
ptrdiff_t size_byte;
const unsigned char *str;
int len;
- Lisp_Object iso_classes;
USE_SAFE_ALLOCA;
CHECK_STRING (string);
- iso_classes = Qnil;
if (NILP (lim))
XSETINT (lim, forwardp ? ZV : BEGV);
@@ -1700,6 +1697,8 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
If STRING contains non-ASCII characters, setup char_ranges for
them and use fastmap only for their leading codes. */
+ int nclasses = 0;
+ unsigned char classes[RECC_NUM_CLASSES];
if (! string_multibyte)
{
bool string_has_eight_bit = 0;
@@ -1707,18 +1706,16 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
/* At first setup fastmap. */
while (i_byte < size_byte)
{
- if (handle_iso_classes)
+ const unsigned char *ch = str + i_byte;
+ re_wctype_t cc = re_wctype_parse (&ch, size_byte - i_byte);
+ if (cc == 0)
+ error ("Invalid ISO C character class");
+ if (cc != -1)
{
- const unsigned char *ch = str + i_byte;
- re_wctype_t cc = re_wctype_parse (&ch, size_byte - i_byte);
- if (cc == 0)
- error ("Invalid ISO C character class");
- if (cc != -1)
- {
- iso_classes = Fcons (make_fixnum (cc), iso_classes);
- i_byte = ch - str;
- continue;
- }
+ if (!(nclasses && memchr (classes, cc, nclasses)))
+ classes[nclasses++] = cc;
+ i_byte = ch - str;
+ continue;
}
c = str[i_byte++];
@@ -1803,18 +1800,16 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
{
int leading_code = str[i_byte];
- if (handle_iso_classes)
+ const unsigned char *ch = str + i_byte;
+ re_wctype_t cc = re_wctype_parse (&ch, size_byte - i_byte);
+ if (cc == 0)
+ error ("Invalid ISO C character class");
+ if (cc != -1)
{
- const unsigned char *ch = str + i_byte;
- re_wctype_t cc = re_wctype_parse (&ch, size_byte - i_byte);
- if (cc == 0)
- error ("Invalid ISO C character class");
- if (cc != -1)
- {
- iso_classes = Fcons (make_fixnum (cc), iso_classes);
- i_byte = ch - str;
- continue;
- }
+ if (!(nclasses && memchr (classes, cc, nclasses)))
+ classes[nclasses++] = cc;
+ i_byte = ch - str;
+ continue;
}
if (leading_code== '\\')
@@ -1960,7 +1955,7 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
stop = endp;
}
c = string_char_and_length (p, &nbytes);
- if (! NILP (iso_classes) && in_classes (c, iso_classes))
+ if (nclasses && in_classes (c, nclasses, classes))
{
if (negate)
break;
@@ -2001,7 +1996,7 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
stop = endp;
}
- if (!NILP (iso_classes) && in_classes (*p, iso_classes))
+ if (nclasses && in_classes (*p, nclasses, classes))
{
if (negate)
break;
@@ -2035,7 +2030,7 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
c = STRING_CHAR (p);
- if (! NILP (iso_classes) && in_classes (c, iso_classes))
+ if (nclasses && in_classes (c, nclasses, classes))
{
if (negate)
break;
@@ -2069,7 +2064,7 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim,
stop = endp;
}
- if (! NILP (iso_classes) && in_classes (p[-1], iso_classes))
+ if (nclasses && in_classes (p[-1], nclasses, classes))
{
if (negate)
break;
@@ -2253,26 +2248,16 @@ skip_syntaxes (bool forwardp, Lisp_Object string, Lisp_Object lim)
}
}
-/* Return true if character C belongs to one of the ISO classes
- in the list ISO_CLASSES. Each class is represented by an
- integer which is its type according to re_wctype. */
+/* Return true if character C belongs to one of the ISO classes in the
+ array. */
static bool
-in_classes (int c, Lisp_Object iso_classes)
+in_classes (int c, int nclasses, const unsigned char *classes)
{
- bool fits_class = 0;
-
- while (CONSP (iso_classes))
- {
- Lisp_Object elt;
- elt = XCAR (iso_classes);
- iso_classes = XCDR (iso_classes);
-
- if (re_iswctype (c, XFIXNAT (elt)))
- fits_class = 1;
- }
-
- return fits_class;
+ for (int i = 0; i < nclasses; i++)
+ if (re_iswctype (c, classes[i]))
+ return true;
+ return false;
}
/* Jump over a comment, assuming we are at the beginning of one.
@@ -2338,13 +2323,16 @@ forw_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
return 0;
}
c = FETCH_CHAR_AS_MULTIBYTE (from_byte);
+ prev_syntax = syntax;
syntax = SYNTAX_WITH_FLAGS (c);
code = syntax & 0xff;
if (code == Sendcomment
&& SYNTAX_FLAGS_COMMENT_STYLE (syntax, 0) == style
&& (SYNTAX_FLAGS_COMMENT_NESTED (syntax) ?
(nesting > 0 && --nesting == 0) : nesting < 0)
- && !(comment_end_can_be_escaped && char_quoted (from, from_byte)))
+ && !(comment_end_can_be_escaped
+ && ((prev_syntax & 0xff) == Sescape
+ || (prev_syntax & 0xff) == Scharquote)))
/* We have encountered a comment end of the same style
as the comment sequence which began this comment
section. */
@@ -2368,7 +2356,11 @@ forw_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
inc_both (&from, &from_byte);
UPDATE_SYNTAX_TABLE_FORWARD (from);
if (from == stop) continue; /* Failure */
- }
+ c = FETCH_CHAR_AS_MULTIBYTE (from_byte);
+ prev_syntax = syntax;
+ syntax = Smax;
+ code = syntax;
+ }
inc_both (&from, &from_byte);
UPDATE_SYNTAX_TABLE_FORWARD (from);
@@ -3349,7 +3341,14 @@ do { prev_from = from; \
are invalid now. Luckily, the `done' doesn't use them
and the INC_FROM sets them to a sane value without
looking at them. */
- if (!found) goto done;
+ if (!found)
+ {
+ if ((prev_from_syntax & 0xff) == Sescape
+ || (prev_from_syntax & 0xff) == Scharquote)
+ goto endquoted;
+ else
+ goto done;
+ }
INC_FROM;
state->incomment = 0;
state->comstyle = 0; /* reset the comment style */
diff --git a/src/sysdep.c b/src/sysdep.c
index a5b3117d262..443602a2d6d 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -2005,7 +2005,9 @@ init_signals (void)
signal (SIGPIPE, SIG_IGN);
sigaction (SIGQUIT, &process_fatal_action, 0);
+#ifndef __vax__
sigaction (SIGILL, &thread_fatal_action, 0);
+#endif /* __vax__ */
sigaction (SIGTRAP, &thread_fatal_action, 0);
/* Typically SIGFPE is thread-specific and is fatal, like SIGILL.
@@ -2018,6 +2020,11 @@ init_signals (void)
{
emacs_sigaction_init (&action, deliver_arith_signal);
sigaction (SIGFPE, &action, 0);
+#ifdef __vax__
+ /* NetBSD/vax generates SIGILL upon some floating point errors,
+ such as taking the log of 0.0. */
+ sigaction (SIGILL, &action, 0);
+#endif /* __vax__ */
}
#ifdef SIGUSR1
diff --git a/src/term.c b/src/term.c
index d881dee39fe..4df3de8f4a5 100644
--- a/src/term.c
+++ b/src/term.c
@@ -533,7 +533,7 @@ encode_terminal_code (struct glyph *src, int src_len,
multibyte-form. But, it may be enlarged on demand if
Vglyph_table contains a string or a composite glyph is
encountered. */
- if (INT_MULTIPLY_WRAPV (src_len, MAX_MULTIBYTE_LENGTH, &required))
+ if (ckd_mul (&required, src_len, MAX_MULTIBYTE_LENGTH))
memory_full (SIZE_MAX);
if (encode_terminal_src_size < required)
encode_terminal_src = xpalloc (encode_terminal_src,
@@ -3319,7 +3319,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
active submenu. */
if (i != statecount - 2
|| state[i].menu->submenu[dy] != state[i + 1].menu)
- while (i != statecount - 1)
+ while (i < statecount - 1)
{
statecount--;
screen_update (sf, state[statecount].screen_behind);
@@ -4163,7 +4163,15 @@ use the Bourne shell command 'TERM=...; export TERM' (C-shell:\n\
tty->TS_enter_alt_charset_mode = tgetstr ("as", address);
tty->TS_exit_alt_charset_mode = tgetstr ("ae", address);
tty->TS_exit_attribute_mode = tgetstr ("me", address);
+#ifdef TERMINFO
+ tty->TS_enter_strike_through_mode = tigetstr ("smxx");
+ if (tty->TS_enter_strike_through_mode == (char *) (intptr_t) -1)
+ tty->TS_enter_strike_through_mode = NULL;
+#else
+ /* FIXME: Is calling tgetstr here for non-terminfo case correct,
+ even though "smxx" is more than 2 characters? */
tty->TS_enter_strike_through_mode = tgetstr ("smxx", address);
+#endif
MultiUp (tty) = tgetstr ("UP", address);
MultiDown (tty) = tgetstr ("DO", address);
diff --git a/src/termcap.c b/src/termcap.c
index d2688b3838d..1e989b6e2de 100644
--- a/src/termcap.c
+++ b/src/termcap.c
@@ -296,7 +296,7 @@ tputs (register const char *str, int nlines, int (*outfun) (int))
BAUD_RATE is measured in characters per 10 seconds.
Compute PADFACTOR = 100000 * (how many padding bytes are needed). */
intmax_t padfactor;
- if (INT_MULTIPLY_WRAPV (padcount, baud_rate, &padfactor))
+ if (ckd_mul (&padfactor, padcount, baud_rate))
padfactor = baud_rate < 0 ? INTMAX_MIN : INTMAX_MAX;
for (; 50000 <= padfactor; padfactor -= 100000)
diff --git a/src/textconv.c b/src/textconv.c
index d5db6d11717..7ed8ede3544 100644
--- a/src/textconv.c
+++ b/src/textconv.c
@@ -125,7 +125,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query)
overflows, move back to point or to the extremes of the
accessible region. */
- if (INT_ADD_WRAPV (pos, query->position, &pos))
+ if (ckd_add (&pos, pos, query->position))
pos = PT;
if (pos < BEGV)
@@ -145,7 +145,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query)
{
case TEXTCONV_FORWARD_CHAR:
/* Move forward by query->factor characters. */
- if (INT_ADD_WRAPV (pos, query->factor, &end) || end > ZV)
+ if (ckd_add (&end, pos, query->factor) || end > ZV)
end = ZV;
end_byte = CHAR_TO_BYTE (end);
@@ -153,7 +153,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query)
case TEXTCONV_BACKWARD_CHAR:
/* Move backward by query->factor characters. */
- if (INT_SUBTRACT_WRAPV (pos, query->factor, &end) || end < BEGV)
+ if (ckd_sub (&end, pos, query->factor) || end < BEGV)
end = BEGV;
end_byte = CHAR_TO_BYTE (end);
diff --git a/src/thread.h b/src/thread.h
index f0e9ee01173..9b14cc44f35 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -33,6 +33,15 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include "sysselect.h" /* FIXME */
#include "systhread.h"
+/* Yield an address close enough to the top of the stack that the
+ garbage collector need not scan above it. Callers should be
+ declared NO_INLINE. */
+#ifdef HAVE___BUILTIN_FRAME_ADDRESS
+# define NEAR_STACK_TOP(addr) ((void) (addr), __builtin_frame_address (0))
+#else
+# define NEAR_STACK_TOP(addr) (addr)
+#endif
+
INLINE_HEADER_BEGIN
/* Byte-code interpreter thread state. */
diff --git a/src/timefns.c b/src/timefns.c
index 87971cf4563..151f5b482a3 100644
--- a/src/timefns.c
+++ b/src/timefns.c
@@ -514,8 +514,8 @@ timespec_ticks (struct timespec t)
/* For speed, use intmax_t arithmetic if it will do. */
intmax_t accum;
if (FASTER_TIMEFNS
- && !INT_MULTIPLY_WRAPV (t.tv_sec, TIMESPEC_HZ, &accum)
- && !INT_ADD_WRAPV (t.tv_nsec, accum, &accum))
+ && !ckd_mul (&accum, t.tv_sec, TIMESPEC_HZ)
+ && !ckd_add (&accum, accum, t.tv_nsec))
return make_int (accum);
/* Fall back on bignum arithmetic. */
@@ -543,7 +543,7 @@ lisp_time_hz_ticks (struct lisp_time t, Lisp_Object hz)
/* For speed, use intmax_t arithmetic if it will do. */
intmax_t ticks;
if (FASTER_TIMEFNS && FIXNUMP (t.ticks) && FIXNUMP (t.hz)
- && !INT_MULTIPLY_WRAPV (XFIXNUM (t.ticks), XFIXNUM (hz), &ticks))
+ && !ckd_mul (&ticks, XFIXNUM (t.ticks), XFIXNUM (hz)))
return make_int (ticks / XFIXNUM (t.hz)
- (ticks % XFIXNUM (t.hz) < 0));
}
@@ -1557,12 +1557,10 @@ usage: (decode-time &optional TIME ZONE FORM) */)
Lisp_Object ticks;
intmax_t n;
if (FASTER_TIMEFNS && FIXNUMP (lt.ticks) && FIXNUMP (hz)
- && !INT_MULTIPLY_WRAPV (XFIXNUM (hz), local_tm.tm_sec, &n)
- && ! (INT_ADD_WRAPV
- (n, (XFIXNUM (lt.ticks) % XFIXNUM (hz)
- + (XFIXNUM (lt.ticks) % XFIXNUM (hz) < 0
- ? XFIXNUM (hz) : 0)),
- &n)))
+ && !ckd_mul (&n, XFIXNUM (hz), local_tm.tm_sec)
+ && !ckd_add (&n, n, (XFIXNUM (lt.ticks) % XFIXNUM (hz)
+ + (XFIXNUM (lt.ticks) % XFIXNUM (hz) < 0
+ ? XFIXNUM (hz) : 0))))
ticks = make_int (n);
else
{
@@ -1603,7 +1601,7 @@ check_tm_member (Lisp_Object obj, int offset)
CHECK_FIXNUM (obj);
EMACS_INT n = XFIXNUM (obj);
int i;
- if (INT_SUBTRACT_WRAPV (n, offset, &i))
+ if (ckd_sub (&i, n, offset))
time_overflow ();
return i;
}
diff --git a/src/tparam.c b/src/tparam.c
index 1a5eab37452..a0d2ee74d99 100644
--- a/src/tparam.c
+++ b/src/tparam.c
@@ -173,8 +173,7 @@ tparam1 (const char *string, char *outstring, int len,
doup++, append_len_incr = strlen (up);
else
doleft++, append_len_incr = strlen (left);
- if (INT_ADD_WRAPV (append_len_incr,
- append_len, &append_len))
+ if (ckd_add (&append_len, append_len, append_len_incr))
memory_full (SIZE_MAX);
}
}
diff --git a/src/treesit.c b/src/treesit.c
index d2dd83b29fe..87aa1eeb377 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -404,6 +404,9 @@ init_treesit_functions (void)
static Lisp_Object Vtreesit_str_libtree_sitter;
static Lisp_Object Vtreesit_str_tree_sitter;
+#ifndef WINDOWSNT
+static Lisp_Object Vtreesit_str_dot_0;
+#endif
static Lisp_Object Vtreesit_str_dot;
static Lisp_Object Vtreesit_str_question_mark;
static Lisp_Object Vtreesit_str_star;
@@ -543,8 +546,21 @@ treesit_load_language_push_for_each_suffix (Lisp_Object lib_base_name,
suffixes = Vdynamic_library_suffixes;
FOR_EACH_TAIL (suffixes)
- *path_candidates = Fcons (concat2 (lib_base_name, XCAR (suffixes)),
- *path_candidates);
+ {
+ Lisp_Object candidate1 = concat2 (lib_base_name, XCAR (suffixes));
+#ifndef WINDOWSNT
+ /* On Posix hosts, support libraries named with ABI version
+ numbers. In the foreseeable future we only need to support
+ version 0.0. For more details, see
+ https://lists.gnu.org/archive/html/emacs-devel/2023-04/msg00386.html. */
+ Lisp_Object candidate2 = concat2 (candidate1, Vtreesit_str_dot_0);
+ Lisp_Object candidate3 = concat2 (candidate2, Vtreesit_str_dot_0);
+
+ *path_candidates = Fcons (candidate3, *path_candidates);
+ *path_candidates = Fcons (candidate2, *path_candidates);
+#endif
+ *path_candidates = Fcons (candidate1, *path_candidates);
+ }
}
/* Load the dynamic library of LANGUAGE_SYMBOL and return the pointer
@@ -2283,6 +2299,49 @@ produced by tree-sitter. */)
/*** Query functions */
+/* Convert a Lisp string to its printed representation in the tree-sitter
+ query syntax. */
+static Lisp_Object
+treesit_query_string_string (Lisp_Object str)
+{
+ /* Strings in the treesit query syntax only have the escapes
+ \n \r \t \0 and any other escaped char stands for that character.
+ Literal LF, NUL and " are forbidden. */
+ ptrdiff_t nbytes = SBYTES (str);
+ ptrdiff_t escapes = 0;
+ for (ptrdiff_t i = 0; i < nbytes; i++)
+ {
+ unsigned char c = SREF (str, i);
+ escapes += (c == '\0' || c == '\n' || c == '\r' || c == '\t'
+ || c == '"' || c == '\\');
+ }
+ ptrdiff_t nchars = SCHARS (str);
+ ptrdiff_t extra = escapes + 2; /* backslashes + double quotes */
+ Lisp_Object dst = (STRING_MULTIBYTE (str)
+ ? make_uninit_multibyte_string (nchars + extra,
+ nbytes + extra)
+ : make_uninit_string (nbytes + extra));
+ unsigned char *d = SDATA (dst);
+ *d++ = '"';
+ for (ptrdiff_t i = 0; i < nbytes; i++)
+ {
+ unsigned char c = SREF (str, i);
+ switch (c)
+ {
+ case '\0': *d++ = '\\'; *d++ = '0'; break;
+ case '\n': *d++ = '\\'; *d++ = 'n'; break;
+ case '\r': *d++ = '\\'; *d++ = 'r'; break;
+ case '\t': *d++ = '\\'; *d++ = 't'; break;
+ case '"':
+ case '\\': *d++ = '\\'; *d++ = c; break;
+ default: *d++ = c; break;
+ }
+ }
+ *d++ = '"';
+ eassert (d == SDATA (dst) + SBYTES (dst));
+ return dst;
+}
+
DEFUN ("treesit-pattern-expand",
Ftreesit_pattern_expand,
Streesit_pattern_expand, 1, 1, 0,
@@ -2333,6 +2392,9 @@ See Info node `(elisp)Pattern Matching' for detailed explanation. */)
pattern,
Vtreesit_str_space),
closing_delimiter);
+ if (STRINGP (pattern))
+ return treesit_query_string_string (pattern);
+
return Fprin1_to_string (pattern, Qnil, Qt);
}
@@ -3153,17 +3215,6 @@ treesit_traverse_child_helper (TSTreeCursor *cursor,
}
}
-/* Assq but doesn't signal. */
-static Lisp_Object
-safe_assq (Lisp_Object key, Lisp_Object alist)
-{
- Lisp_Object tail = alist;
- FOR_EACH_TAIL_SAFE (tail)
- if (CONSP (XCAR (tail)) && EQ (XCAR (XCAR (tail)), key))
- return XCAR (tail);
- return Qnil;
-}
-
/* Given a symbol THING, and a language symbol LANGUAGE, find the
corresponding predicate definition in treesit-things-settings.
Don't check for the type of THING and LANGUAGE.
@@ -3172,11 +3223,11 @@ safe_assq (Lisp_Object key, Lisp_Object alist)
static Lisp_Object
treesit_traverse_get_predicate (Lisp_Object thing, Lisp_Object language)
{
- Lisp_Object cons = safe_assq (language, Vtreesit_thing_settings);
+ Lisp_Object cons = assq_no_quit (language, Vtreesit_thing_settings);
if (NILP (cons))
return Qnil;
Lisp_Object definitions = XCDR (cons);
- Lisp_Object entry = safe_assq (thing, definitions);
+ Lisp_Object entry = assq_no_quit (thing, definitions);
if (NILP (entry))
return Qnil;
/* ENTRY looks like (THING PRED). */
@@ -3218,7 +3269,7 @@ treesit_traverse_validate_predicate (Lisp_Object pred,
{
*signal_data = list2 (build_string ("Cannot find the definition "
"of the predicate in "
- "`treesit-things-settings'"),
+ "`treesit-thing-settings'"),
pred);
return false;
}
@@ -3716,7 +3767,7 @@ DEFUN ("treesit-node-match-p",
doc: /* Check whether NODE matches PREDICATE.
PREDICATE can be a regexp matching node type, a predicate function,
-and more, see `treesit-things-definition' for detail. Return non-nil
+and more, see `treesit-thing-settings' for detail. Return non-nil
if NODE matches PRED, nil otherwise. */)
(Lisp_Object node, Lisp_Object predicate)
{
@@ -3881,9 +3932,9 @@ syms_of_treesit (void)
define_error (Qtreesit_parse_error, "Parse failed",
Qtreesit_error);
define_error (Qtreesit_range_invalid,
- "RANGES are invalid, they have to be ordered and not overlapping",
+ "RANGES are invalid: they have to be ordered and should not overlap",
Qtreesit_error);
- define_error (Qtreesit_buffer_too_large, "Buffer too large (> 4GB)",
+ define_error (Qtreesit_buffer_too_large, "Buffer too large (> 4GiB)",
Qtreesit_error);
define_error (Qtreesit_load_language_error,
"Cannot load language definition",
@@ -3959,6 +4010,10 @@ the symbol of that THING. For example, (or block sexp). */);
Vtreesit_str_libtree_sitter = build_pure_c_string ("libtree-sitter-");
staticpro (&Vtreesit_str_tree_sitter);
Vtreesit_str_tree_sitter = build_pure_c_string ("tree-sitter-");
+#ifndef WINDOWSNT
+ staticpro (&Vtreesit_str_dot_0);
+ Vtreesit_str_dot_0 = build_pure_c_string (".0");
+#endif
staticpro (&Vtreesit_str_dot);
Vtreesit_str_dot = build_pure_c_string (".");
staticpro (&Vtreesit_str_question_mark);
diff --git a/src/w32fns.c b/src/w32fns.c
index 745f561e6b1..dcf9a212bdd 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -1537,14 +1537,16 @@ w32_clear_under_internal_border (struct frame *f)
{
int width = FRAME_PIXEL_WIDTH (f);
int height = FRAME_PIXEL_HEIGHT (f);
- int face_id =
- (FRAME_PARENT_FRAME (f)
- ? (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, CHILD_FRAME_BORDER_FACE_ID)
- : CHILD_FRAME_BORDER_FACE_ID)
- : (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID)
- : INTERNAL_BORDER_FACE_ID));
+ int bottom_margin = FRAME_BOTTOM_MARGIN_HEIGHT (f);
+ int face_id = (FRAME_PARENT_FRAME (f)
+ ? (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ CHILD_FRAME_BORDER_FACE_ID)
+ : CHILD_FRAME_BORDER_FACE_ID)
+ : (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ INTERNAL_BORDER_FACE_ID)
+ : INTERNAL_BORDER_FACE_ID));
struct face *face = FACE_FROM_ID_OR_NULL (f, face_id);
block_input ();
@@ -1554,17 +1556,21 @@ w32_clear_under_internal_border (struct frame *f)
/* Fill border with internal border face. */
unsigned long color = face->background;
- w32_fill_area (f, hdc, color, 0, FRAME_TOP_MARGIN_HEIGHT (f), width, border);
+ w32_fill_area (f, hdc, color, 0, FRAME_TOP_MARGIN_HEIGHT (f),
+ width, border);
w32_fill_area (f, hdc, color, 0, 0, border, height);
w32_fill_area (f, hdc, color, width - border, 0, border, height);
- w32_fill_area (f, hdc, color, 0, height - border, width, border);
+ w32_fill_area (f, hdc, color, 0, height - bottom_margin - border,
+ width, border);
}
else
{
- w32_clear_area (f, hdc, 0, FRAME_TOP_MARGIN_HEIGHT (f), width, border);
+ w32_clear_area (f, hdc, 0, FRAME_TOP_MARGIN_HEIGHT (f),
+ width, border);
w32_clear_area (f, hdc, 0, 0, border, height);
w32_clear_area (f, hdc, width - border, 0, border, height);
- w32_clear_area (f, hdc, 0, height - border, width, border);
+ w32_clear_area (f, hdc, 0, height - bottom_margin - border,
+ width, border);
}
release_frame_dc (f, hdc);
unblock_input ();
@@ -1806,6 +1812,33 @@ w32_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
w32_change_tool_bar_height (f, nlines * FRAME_LINE_HEIGHT (f));
}
+static void
+w32_set_tool_bar_position (struct frame *f,
+ Lisp_Object new_value,
+ Lisp_Object old_value)
+{
+ if (!EQ (new_value, Qtop) && !EQ (new_value, Qbottom))
+ error ("Tool bar position must be either `top' or `bottom'");
+
+ if (EQ (new_value, old_value))
+ return;
+
+ /* Set the tool bar position. */
+ fset_tool_bar_position (f, new_value);
+
+ /* Now reconfigure frame glyphs to place the tool bar at the
+ bottom. While the inner height has not changed, call
+ `resize_frame_windows' to place each of the windows at its
+ new position. */
+
+ adjust_frame_size (f, -1, -1, 3, false, Qtool_bar_position);
+ adjust_frame_glyphs (f);
+ SET_FRAME_GARBAGED (f);
+
+ if (FRAME_W32_WINDOW (f))
+ w32_clear_under_internal_border (f);
+}
+
/* Enable or disable double buffering on frame F.
When double buffering is enabled, all drawing happens on a back
@@ -8993,7 +9026,9 @@ and width values are in pixels.
: 0),
make_fixnum (tab_bar_height))),
Fcons (Qtool_bar_external, Qnil),
- Fcons (Qtool_bar_position, tool_bar_height ? Qtop : Qnil),
+ Fcons (Qtool_bar_position, (tool_bar_height
+ ? FRAME_TOOL_BAR_POSITION (f)
+ : Qnil)),
Fcons (Qtool_bar_size,
Fcons (make_fixnum
(tool_bar_height
@@ -9084,10 +9119,11 @@ menu bar or tool bar of FRAME. */)
return list4 (make_fixnum (left + internal_border_width),
make_fixnum (top
+ FRAME_TAB_BAR_HEIGHT (f)
- + FRAME_TOOL_BAR_HEIGHT (f)
+ + FRAME_TOOL_BAR_TOP_HEIGHT (f)
+ internal_border_width),
make_fixnum (right - internal_border_width),
- make_fixnum (bottom - internal_border_width));
+ make_fixnum (bottom - internal_border_width
+ - FRAME_TOOL_BAR_BOTTOM_HEIGHT (f)));
}
else
return list4 (make_fixnum (left), make_fixnum (top),
@@ -10556,7 +10592,7 @@ frame_parm_handler w32_frame_parm_handlers[] =
gui_set_font_backend,
gui_set_alpha,
0, /* x_set_sticky */
- 0, /* x_set_tool_bar_position */
+ w32_set_tool_bar_position,
w32_set_inhibit_double_buffering,
w32_set_undecorated,
w32_set_parent_frame,
diff --git a/src/w32term.c b/src/w32term.c
index 2899e82b295..57dc6b465e4 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -7378,7 +7378,7 @@ w32_initialize_display_info (Lisp_Object display_name)
{
static char const at[] = " at ";
ptrdiff_t nbytes = sizeof (title) + sizeof (at);
- if (INT_ADD_WRAPV (nbytes, SCHARS (Vsystem_name), &nbytes))
+ if (ckd_add (&nbytes, nbytes, SCHARS (Vsystem_name)))
memory_full (SIZE_MAX);
dpyinfo->w32_id_name = xmalloc (nbytes);
sprintf (dpyinfo->w32_id_name, "%s%s%s", title, at, SDATA (Vsystem_name));
diff --git a/src/window.c b/src/window.c
index f4e09f49eae..2a0c62f5d53 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4828,10 +4828,9 @@ values. */)
return Qt;
}
+/* Resize frame F's windows when F's inner height (inner width if
+ HORFLAG is true) has been set to SIZE pixels. */
-/**
-Resize frame F's windows when F's inner height (inner width if HORFLAG
-is true) has been set to SIZE pixels. */
void
resize_frame_windows (struct frame *f, int size, bool horflag)
{
@@ -7414,7 +7413,7 @@ the return value is nil. Otherwise the value is t. */)
do_switch_frame (NILP (dont_set_frame)
? data->selected_frame
: old_frame
- , 0, Qnil);
+ , 0, 0, Qnil);
}
FRAME_WINDOW_CHANGE (f) = true;
diff --git a/src/window.h b/src/window.h
index 32b5fe14f4f..2f793ebe438 100644
--- a/src/window.h
+++ b/src/window.h
@@ -750,7 +750,7 @@ wset_next_buffers (struct window *w, Lisp_Object val)
#endif
/* True if W is a tab bar window. */
-#if defined (HAVE_WINDOW_SYSTEM) && !defined (HAVE_PGTK)
+#if defined (HAVE_WINDOW_SYSTEM)
# define WINDOW_TAB_BAR_P(W) \
(WINDOWP (WINDOW_XFRAME (W)->tab_bar_window) \
&& (W) == XWINDOW (WINDOW_XFRAME (W)->tab_bar_window))
diff --git a/src/xdisp.c b/src/xdisp.c
index 76d6592bf00..a3464c2c375 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -602,8 +602,8 @@ fill_column_indicator_column (struct it *it, int char_width)
if (RANGED_FIXNUMP (0, col, INT_MAX))
{
int icol = XFIXNUM (col);
- if (!INT_MULTIPLY_WRAPV (char_width, icol, &icol)
- && !INT_ADD_WRAPV (it->lnum_pixel_width, icol, &icol))
+ if (!ckd_mul (&icol, icol, char_width)
+ && !ckd_add (&icol, icol, it->lnum_pixel_width))
return icol;
}
}
@@ -1194,6 +1194,7 @@ static void get_cursor_offset_for_mouse_face (struct window *w,
#endif /* HAVE_WINDOW_SYSTEM */
static void produce_special_glyphs (struct it *, enum display_element_type);
+static void pad_mode_line (struct it *, bool);
static void show_mouse_face (Mouse_HLInfo *, enum draw_glyphs_face);
static bool coords_in_mouse_face_p (struct window *, int, int);
static void reset_box_start_end_flags (struct it *);
@@ -3482,7 +3483,7 @@ init_iterator (struct it *it, struct window *w,
/* This is set only when long_line_optimizations_p is non-zero
for the current buffer. */
- it->narrowed_begv = 0;
+ it->medium_narrowing_begv = 0;
/* Compute faces etc. */
reseat (it, it->current.pos, true);
@@ -3491,17 +3492,104 @@ init_iterator (struct it *it, struct window *w,
CHECK_IT (it);
}
-/* Compute a suitable alternate value for BEGV and ZV that may be used
- temporarily to optimize display if the buffer in window W contains
- long lines. */
+/* How Emacs deals with long lines.
+
+ (1) When a buffer is about to be (re)displayed, 'redisplay_window'
+ detects, with a heuristic, whether it contains long lines.
+
+ This happens in 'redisplay_window' because it is only displaying
+ buffers with long lines that is problematic. In other words, none
+ of the optimizations described below is ever used in buffers that
+ are never displayed.
+
+ This happens with a heuristic, which checks whether a buffer
+ contains long lines, each time its contents have changed "enough"
+ between two redisplay cycles, because a buffer without long lines
+ can become a buffer with long lines at any time, for example after
+ a yank command, or after a replace command, or while the output of
+ an external process is inserted in a buffer.
+
+ When Emacs has detected that a buffer contains long lines, the
+ buffer-local variable 'long_line_optimizations_p' (in 'struct
+ buffer') is set, and Emacs does not try to detect whether the
+ buffer does or does not contain long lines anymore.
+
+ What a long line is depends on the variable 'long-line-threshold',
+ whose default value is 50000 (characters).
+
+ (2) When a buffer with long lines is (re)displayed, the amount of
+ data that the display routines consider is, in a few well-chosen
+ places, limited with a temporary restriction, whose bounds are
+ calculated with the functions below.
+
+ (2.1) 'get_small_narrowing_begv' is used to create a restriction
+ which starts a few hundred characters before point. The exact
+ number of characters depends on the width of the window in which
+ the buffer is displayed.
+
+ There is no corresponding 'get_small_narrowing_zv' function,
+ because it is not necessary to set the end limit of that
+ restriction.
+
+ This restriction is used in four places, namely:
+ 'back_to_previous_line_start' and 'move_it_vertically_backward'
+ (with the 'SET_WITH_NARROWED_BEGV' macro), and in
+ 'composition_compute_stop_pos' and 'find_automatic_composition' (in
+ a conditional statement depending on 'long_line_optimizations_p').
+
+ (2.2) 'get_medium_narrowing_begv' is used to create a restriction
+ which starts a few thousand characters before point. The exact
+ number of characters depends on the size (width and height) of the
+ window in which the buffer is displayed. For performance reasons,
+ the return value of that function is cached in 'struct it', in the
+ 'medium_narrowing_begv' field.
+
+ The corresponding function 'get_medium_narrowing_zv' (and
+ 'medium_narrowing_zv' field in 'struct it') is not used to set the
+ end limit of the restriction, which is again unnecessary, but to
+ determine, in 'reseat', whether the iterator has moved far enough
+ from its original position, and whether the start position of the
+ restriction must be computed anew.
+
+ This restriction is used in a single place:
+ 'get_visually_first_element', with the 'SET_WITH_NARROWED_BEGV'
+ macro.
+
+ (2.3) 'get_large_narrowing_begv' and 'get_large_narrowing_zv' are
+ used to create a restriction which starts a few hundred thousand
+ characters before point and ends a few hundred thousand characters
+ after point. The size of that restriction depends on the variable
+ 'long-line-optimizations-region-size', whose default value is
+ 500000 (characters); it can be adjusted by a few hundred characters
+ depending on 'long-line-optimizations-bol-search-limit', whose
+ default value is 128 (characters).
+
+ For performance reasons again, the return values of these functions
+ are stored in the 'large_narrowing_begv' and 'large_narrowing_zv'
+ fields in 'struct it'.
+
+ The restriction defined by these values is used around three
+ low-level hooks: around 'fontification-functions', in
+ 'handle_fontified_prop', and around 'pre-command-hook' and
+ 'post-command-hook', in 'safe_run_hooks_maybe_narrowed', which is
+ called in 'command_loop_1'. These restrictions are set around
+ these hooks with 'labeled_narrow_to_region'; the restrictions are
+ labeled, and cannot be removed with a call to 'widen', but can be
+ removed with 'without-restriction' with a :label argument.
+*/
static int
get_narrowed_width (struct window *w)
{
/* In a character-only terminal, only one font size is used, so we
can use a smaller factor. */
- int fact = EQ (Fterminal_live_p (Qnil), Qt) ? 2 : 3;
- int width = window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS);
+ int fact = FRAME_WINDOW_P (XFRAME (w->frame)) ? 3 : 2;
+ /* If the window has no fringes (in a character-only terminal or in
+ a GUI frame without fringes), subtract 1 from the width for the
+ '\' line wrapping character. */
+ int width = window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS)
+ - ((WINDOW_RIGHT_FRINGE_WIDTH (w) == 0
+ || WINDOW_LEFT_FRINGE_WIDTH (w) == 0) ? 1 : 0);
return fact * max (1, width);
}
@@ -3512,29 +3600,63 @@ get_narrowed_len (struct window *w)
return get_narrowed_width (w) * max (1, height);
}
-ptrdiff_t
-get_narrowed_begv (struct window *w, ptrdiff_t pos)
+static ptrdiff_t
+get_medium_narrowing_begv (struct window *w, ptrdiff_t pos)
{
int len = get_narrowed_len (w);
return max ((pos / len - 1) * len, BEGV);
}
-ptrdiff_t
-get_narrowed_zv (struct window *w, ptrdiff_t pos)
+static ptrdiff_t
+get_medium_narrowing_zv (struct window *w, ptrdiff_t pos)
{
int len = get_narrowed_len (w);
return min ((pos / len + 1) * len, ZV);
}
+/* Find the position of the last BOL before POS, unless it is too far
+ away. The buffer portion in which the search occurs is gradually
+ enlarged: [POS-500..POS], [POS-5500..POS-500],
+ [POS-55500..POS-5500], and finally [POS-555500..POS-55500]. Return
+ BEGV-1 if no BOL was found in [POS-555500..POS]. */
+static ptrdiff_t
+get_nearby_bol_pos (ptrdiff_t pos)
+{
+ ptrdiff_t start, pos_bytepos, cur, next, found, bol = BEGV - 1, init_pos = pos;
+ int dist;
+ for (dist = 500; dist <= 500000; dist *= 10)
+ {
+ pos_bytepos = pos == BEGV ? BEGV_BYTE : CHAR_TO_BYTE (pos);
+ start = pos - dist < BEGV ? BEGV : pos - dist;
+ for (cur = start; cur < pos; cur = next)
+ {
+ next = find_newline1 (cur, CHAR_TO_BYTE (cur),
+ pos, pos_bytepos,
+ 1, &found, NULL, false);
+ if (found)
+ bol = next;
+ else
+ break;
+ }
+ if (bol >= BEGV || start == BEGV)
+ break;
+ else
+ pos = pos - dist < BEGV ? BEGV : pos - dist;
+ }
+ eassert (bol <= init_pos);
+ return bol;
+}
+
ptrdiff_t
-get_closer_narrowed_begv (struct window *w, ptrdiff_t pos)
+get_small_narrowing_begv (struct window *w, ptrdiff_t pos)
{
int len = get_narrowed_width (w);
- return max ((pos / len - 1) * len, BEGV);
+ ptrdiff_t bol_pos = max (get_nearby_bol_pos (pos), BEGV);
+ return max (bol_pos + ((pos - bol_pos) / len - 1) * len, BEGV);
}
ptrdiff_t
-get_locked_narrowing_begv (ptrdiff_t pos)
+get_large_narrowing_begv (ptrdiff_t pos)
{
if (long_line_optimizations_region_size <= 0)
return BEGV;
@@ -3552,7 +3674,7 @@ get_locked_narrowing_begv (ptrdiff_t pos)
}
ptrdiff_t
-get_locked_narrowing_zv (ptrdiff_t pos)
+get_large_narrowing_zv (ptrdiff_t pos)
{
if (long_line_optimizations_region_size <= 0)
return ZV;
@@ -3571,7 +3693,7 @@ unwind_narrowed_begv (Lisp_Object point_min)
#define SET_WITH_NARROWED_BEGV(IT,DST,EXPR,BV) \
do { \
- if (IT->narrowed_begv) \
+ if (IT->medium_narrowing_begv) \
{ \
specpdl_ref count = SPECPDL_INDEX (); \
record_unwind_protect (unwind_narrowed_begv, Fpoint_min ()); \
@@ -4056,7 +4178,7 @@ compute_stop_pos (struct it *it)
{
register INTERVAL iv, next_iv;
Lisp_Object object, limit, position;
- ptrdiff_t charpos, bytepos;
+ ptrdiff_t charpos, bytepos, cmp_limit_pos = -1;
if (STRINGP (it->string))
{
@@ -4126,7 +4248,10 @@ compute_stop_pos (struct it *it)
}
}
if (found)
- pos--;
+ {
+ pos--;
+ cmp_limit_pos = pos;
+ }
else if (it->stop_charpos < endpos)
pos = it->stop_charpos;
else
@@ -4184,14 +4309,25 @@ compute_stop_pos (struct it *it)
}
}
- if (it->cmp_it.id < 0)
+ if (it->cmp_it.id < 0
+ && (STRINGP (it->string)
+ || ((!it->bidi_p || it->bidi_it.scan_dir >= 0)
+ && it->cmp_it.stop_pos <= IT_CHARPOS (*it))))
{
ptrdiff_t stoppos = it->end_charpos;
+ /* If we found, above, a buffer position that cannot be part of
+ an automatic composition, limit the search of composable
+ characters to that position. */
if (it->bidi_p && it->bidi_it.scan_dir < 0)
stoppos = -1;
+ else if (cmp_limit_pos > 0)
+ stoppos = cmp_limit_pos;
+ /* Force composition_compute_stop_pos avoid the costly search
+ for static compositions, since those were already found by
+ looking at text properties, above. */
composition_compute_stop_pos (&it->cmp_it, charpos, bytepos,
- stoppos, it->string);
+ stoppos, it->string, false);
}
eassert (STRINGP (it->string)
@@ -4396,17 +4532,17 @@ handle_fontified_prop (struct it *it)
if (current_buffer->long_line_optimizations_p
&& long_line_optimizations_region_size > 0)
{
- ptrdiff_t begv = it->locked_narrowing_begv;
- ptrdiff_t zv = it->locked_narrowing_zv;
+ ptrdiff_t begv = it->large_narrowing_begv;
+ ptrdiff_t zv = it->large_narrowing_zv;
ptrdiff_t charpos = IT_CHARPOS (*it);
if (charpos < begv || charpos > zv)
{
- begv = get_locked_narrowing_begv (charpos);
- zv = get_locked_narrowing_zv (charpos);
+ begv = get_large_narrowing_begv (charpos);
+ zv = get_large_narrowing_zv (charpos);
}
if (begv != BEG || zv != Z)
- narrow_to_region_locked (make_fixnum (begv), make_fixnum (zv),
- Qlong_line_optimizations_in_fontification_functions);
+ labeled_narrow_to_region (make_fixnum (begv), make_fixnum (zv),
+ Qlong_line_optimizations_in_fontification_functions);
}
/* Don't allow Lisp that runs from 'fontification-functions'
@@ -7041,7 +7177,7 @@ back_to_previous_line_start (struct it *it)
dec_both (&cp, &bp);
SET_WITH_NARROWED_BEGV (it, IT_CHARPOS (*it),
find_newline_no_quit (cp, bp, -1, &IT_BYTEPOS (*it)),
- get_closer_narrowed_begv (it->w, IT_CHARPOS (*it)));
+ get_small_narrowing_begv (it->w, IT_CHARPOS (*it)));
}
/* Find in the current buffer the first display or overlay string
@@ -7345,7 +7481,7 @@ back_to_previous_visible_line_start (struct it *it)
it->continuation_lines_width = 0;
eassert (IT_CHARPOS (*it) >= BEGV);
- eassert (it->narrowed_begv > 0 /* long-line optimizations: all bets off */
+ eassert (it->medium_narrowing_begv > 0 /* long-line optimizations: all bets off */
|| IT_CHARPOS (*it) == BEGV
|| FETCH_BYTE (IT_BYTEPOS (*it) - 1) == '\n');
CHECK_IT (it);
@@ -7463,24 +7599,29 @@ reseat (struct it *it, struct text_pos pos, bool force_p)
if (current_buffer->long_line_optimizations_p)
{
- if (!it->narrowed_begv)
+ if (!it->medium_narrowing_begv)
{
- it->narrowed_begv = get_narrowed_begv (it->w, window_point (it->w));
- it->narrowed_zv = get_narrowed_zv (it->w, window_point (it->w));
- it->locked_narrowing_begv
- = get_locked_narrowing_begv (window_point (it->w));
- it->locked_narrowing_zv
- = get_locked_narrowing_zv (window_point (it->w));
+ it->medium_narrowing_begv
+ = get_medium_narrowing_begv (it->w, window_point (it->w));
+ it->medium_narrowing_zv
+ = get_medium_narrowing_zv (it->w, window_point (it->w));
+ it->large_narrowing_begv
+ = get_large_narrowing_begv (window_point (it->w));
+ it->large_narrowing_zv
+ = get_large_narrowing_zv (window_point (it->w));
}
- else if ((pos.charpos < it->narrowed_begv || pos.charpos > it->narrowed_zv)
+ else if ((pos.charpos < it->medium_narrowing_begv
+ || pos.charpos > it->medium_narrowing_zv)
&& (!redisplaying_p || it->line_wrap == TRUNCATE))
{
- it->narrowed_begv = get_narrowed_begv (it->w, pos.charpos);
- it->narrowed_zv = get_narrowed_zv (it->w, pos.charpos);
- it->locked_narrowing_begv
- = get_locked_narrowing_begv (window_point (it->w));
- it->locked_narrowing_zv
- = get_locked_narrowing_zv (window_point (it->w));
+ it->medium_narrowing_begv
+ = get_medium_narrowing_begv (it->w, pos.charpos);
+ it->medium_narrowing_zv
+ = get_medium_narrowing_zv (it->w, pos.charpos);
+ it->large_narrowing_begv
+ = get_large_narrowing_begv (window_point (it->w));
+ it->large_narrowing_zv
+ = get_large_narrowing_zv (window_point (it->w));
}
}
@@ -7716,7 +7857,7 @@ reseat_to_string (struct it *it, const char *s, Lisp_Object string,
if (endpos > it->end_charpos)
endpos = it->end_charpos;
composition_compute_stop_pos (&it->cmp_it, charpos, -1, endpos,
- it->string);
+ it->string, true);
}
CHECK_IT (it);
}
@@ -8404,7 +8545,7 @@ set_iterator_to_next (struct it *it, bool reseat_p)
where to stop. */
stop = -1;
composition_compute_stop_pos (&it->cmp_it, IT_CHARPOS (*it),
- IT_BYTEPOS (*it), stop, Qnil);
+ IT_BYTEPOS (*it), stop, Qnil, true);
}
}
else
@@ -8435,7 +8576,8 @@ set_iterator_to_next (struct it *it, bool reseat_p)
if (it->bidi_it.scan_dir < 0)
stop = -1;
composition_compute_stop_pos (&it->cmp_it, IT_CHARPOS (*it),
- IT_BYTEPOS (*it), stop, Qnil);
+ IT_BYTEPOS (*it), stop, Qnil,
+ true);
}
}
eassert (IT_BYTEPOS (*it) == CHAR_TO_BYTE (IT_CHARPOS (*it)));
@@ -8591,7 +8733,7 @@ set_iterator_to_next (struct it *it, bool reseat_p)
composition_compute_stop_pos (&it->cmp_it,
IT_STRING_CHARPOS (*it),
IT_STRING_BYTEPOS (*it), stop,
- it->string);
+ it->string, true);
}
}
else
@@ -8628,7 +8770,7 @@ set_iterator_to_next (struct it *it, bool reseat_p)
composition_compute_stop_pos (&it->cmp_it,
IT_STRING_CHARPOS (*it),
IT_STRING_BYTEPOS (*it), stop,
- it->string);
+ it->string, true);
}
}
}
@@ -8789,7 +8931,7 @@ get_visually_first_element (struct it *it)
SET_WITH_NARROWED_BEGV (it, bob,
string_p ? 0 :
IT_CHARPOS (*it) < BEGV ? obegv : BEGV,
- it->narrowed_begv);
+ it->medium_narrowing_begv);
if (STRINGP (it->string))
{
@@ -8833,7 +8975,7 @@ get_visually_first_element (struct it *it)
find_newline_no_quit (IT_CHARPOS (*it),
IT_BYTEPOS (*it), -1,
&it->bidi_it.bytepos),
- it->narrowed_begv);
+ it->medium_narrowing_begv);
bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it, true);
do
{
@@ -8879,7 +9021,7 @@ get_visually_first_element (struct it *it)
if (it->bidi_it.scan_dir < 0)
stop = -1;
composition_compute_stop_pos (&it->cmp_it, charpos, bytepos, stop,
- it->string);
+ it->string, true);
}
}
@@ -10722,7 +10864,7 @@ move_it_vertically_backward (struct it *it, int dy)
dec_both (&cp, &bp);
SET_WITH_NARROWED_BEGV (it, cp,
find_newline_no_quit (cp, bp, -1, NULL),
- get_closer_narrowed_begv (it->w, IT_CHARPOS (*it)));
+ get_small_narrowing_begv (it->w, IT_CHARPOS (*it)));
move_it_to (it, cp, -1, -1, -1, MOVE_TO_POS);
}
bidi_unshelve_cache (it3data, true);
@@ -12810,6 +12952,8 @@ truncate_message_1 (void *a1, Lisp_Object a2)
return false;
}
+extern intptr_t garbage_collection_inhibited;
+
/* Set the current message to STRING. */
static void
@@ -12819,7 +12963,11 @@ set_message (Lisp_Object string)
eassert (STRINGP (string));
- if (FUNCTIONP (Vset_message_function))
+ if (FUNCTIONP (Vset_message_function)
+ /* FIXME: (bug#63253) We should really make the regexp engine re-entrant,
+ but in the mean time, let's ignore `set-message-function` when
+ called from `probably_quit`. */
+ && !garbage_collection_inhibited)
{
specpdl_ref count = SPECPDL_INDEX ();
specbind (Qinhibit_quit, Qt);
@@ -12896,7 +13044,9 @@ clear_message (bool current_p, bool last_displayed_p)
if (current_p)
{
- if (FUNCTIONP (Vclear_message_function))
+ if (FUNCTIONP (Vclear_message_function)
+ /* FIXME: (bug#63253) Same as for `set-message-function` above. */
+ && !garbage_collection_inhibited)
{
specpdl_ref count = SPECPDL_INDEX ();
specbind (Qinhibit_quit, Qt);
@@ -15212,7 +15362,7 @@ redisplay_tool_bar (struct frame *f)
0, 0, 0, STRING_MULTIBYTE (f->desired_tool_bar_string));
/* FIXME: This should be controlled by a user option. But it
doesn't make sense to have an R2L tool bar if the menu bar cannot
- be drawn also R2L, and making the menu bar R2L is tricky due
+ be drawn also R2L, and making the menu bar R2L is tricky due to
toolkit-specific code that implements it. If an R2L tool bar is
ever supported, display_tool_bar_line should also be augmented to
call unproduce_glyphs like display_line and display_string
@@ -16394,7 +16544,7 @@ redisplay_internal (void)
FOR_EACH_FRAME (tail, frame)
XFRAME (frame)->already_hscrolled_p = false;
- reset_outermost_narrowings ();
+ reset_outermost_restrictions ();
retry:
/* Remember the currently selected window. */
@@ -20600,6 +20750,8 @@ try_window (Lisp_Object window, struct text_pos pos, int flags)
int bot_scroll_margin = top_scroll_margin;
if (window_wants_header_line (w))
top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w);
+ if (window_wants_tab_line (w))
+ top_scroll_margin += CURRENT_TAB_LINE_HEIGHT (w);
start_display (&it, w, pos);
if ((w->cursor.y >= 0
@@ -20945,8 +21097,10 @@ try_window_reusing_current_matrix (struct window *w)
pt_row = first_row_to_display;
}
+ if (first_row_to_display->y >= yb)
+ return false;
+
/* Start displaying at the start of first_row_to_display. */
- eassert (first_row_to_display->y < yb);
init_to_row_start (&it, w, first_row_to_display);
nrows_scrolled = (MATRIX_ROW_VPOS (first_reusable_row, w->current_matrix)
@@ -21944,17 +22098,23 @@ try_window_id (struct window *w)
/* Don't let the cursor end in the scroll margins. */
{
- int this_scroll_margin = window_scroll_margin (w, MARGIN_IN_PIXELS);
+ int top_scroll_margin = window_scroll_margin (w, MARGIN_IN_PIXELS);
+ int bot_scroll_margin = top_scroll_margin;
int cursor_height = MATRIX_ROW (w->desired_matrix, w->cursor.vpos)->height;
- if ((w->cursor.y < this_scroll_margin
+ if (window_wants_header_line (w))
+ top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w);
+ if (window_wants_tab_line (w))
+ top_scroll_margin += CURRENT_TAB_LINE_HEIGHT (w);
+
+ if ((w->cursor.y < top_scroll_margin
&& CHARPOS (start) > BEGV)
/* Old redisplay didn't take scroll margin into account at the bottom,
but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */
|| (w->cursor.y
+ (cursor_row_fully_visible_p (w, false, true, true)
? 1
- : cursor_height + this_scroll_margin)) > it.last_visible_y)
+ : cursor_height + bot_scroll_margin)) > it.last_visible_y)
{
w->cursor.vpos = -1;
clear_glyph_matrix (w->desired_matrix);
@@ -24113,6 +24273,7 @@ display_count_lines_logically (ptrdiff_t start_byte, ptrdiff_t limit_byte,
ptrdiff_t val;
specpdl_ref pdl_count = SPECPDL_INDEX ();
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
val = display_count_lines (start_byte, limit_byte, count, byte_pos_ptr);
unbind_to (pdl_count, Qnil);
@@ -28058,9 +28219,8 @@ decode_mode_spec (struct window *w, register int c, int field_width,
ptrdiff_t position;
ptrdiff_t distance
= (line_number_display_limit_width < 0 ? 0
- : INT_MULTIPLY_WRAPV (line_number_display_limit_width,
- height * 2 + 30,
- &distance)
+ : ckd_mul (&distance, line_number_display_limit_width,
+ height * 2 + 30)
? PTRDIFF_MAX : distance);
if (startpos - distance > limit)
@@ -28611,7 +28771,11 @@ display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_st
{
/* Add truncation mark, but don't do it if the line is
truncated at a padding space. */
- if (it_charpos < it->string_nchars)
+ /* Need to do the below for the last string character as
+ well, since it could be a double-width character, in
+ which case the previous character ends before
+ last_visible_x. Thus, comparison with <=, not <. */
+ if (it_charpos <= it->string_nchars)
{
if (!FRAME_WINDOW_P (it->f))
{
@@ -28619,6 +28783,18 @@ display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_st
if (it->current_x > it->last_visible_x)
{
+ /* This flag is true if we are displaying mode
+ line, false for header-line or tab-line. */
+ bool mode_line_p = false;
+
+ /* ROW->mode_line_p is true if we display mode
+ line or header-line or tab-line. */
+ if (row->mode_line_p)
+ {
+ struct window *w = it->w;
+ if (row == MATRIX_MODE_LINE_ROW (w->desired_matrix))
+ mode_line_p = true;
+ }
if (!row->reversed_p)
{
for (ii = row->used[TEXT_AREA] - 1; ii > 0; --ii)
@@ -28636,7 +28812,10 @@ display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_st
for (n = row->used[TEXT_AREA]; ii < n; ++ii)
{
row->used[TEXT_AREA] = ii;
- produce_special_glyphs (it, IT_TRUNCATION);
+ if (row->mode_line_p)
+ pad_mode_line (it, mode_line_p);
+ else
+ produce_special_glyphs (it, IT_TRUNCATION);
}
}
produce_special_glyphs (it, IT_TRUNCATION);
@@ -31462,6 +31641,38 @@ produce_special_glyphs (struct it *it, enum display_element_type what)
it->nglyphs = temp_it.nglyphs;
}
+/* Produce padding glyphs for mode/header/tab-line whose text needs to
+ be truncated. This is used when the last visible character leaves
+ one or more columns till the window edge, but the next character is
+ wider than that number of columns, and therefore cannot fit on the
+ line. We then replace these columns with the appropriate padding
+ character: '-' for the mode line and SPC for the other two. That's
+ because these lines should not show the usual truncation glyphs
+ there. This function is only used on TTY frames. */
+static void
+pad_mode_line (struct it *it, bool mode_line_p)
+{
+ struct it temp_it;
+ GLYPH glyph;
+
+ eassert (!FRAME_WINDOW_P (it->f));
+ temp_it = *it;
+ temp_it.object = Qnil;
+ memset (&temp_it.current, 0, sizeof temp_it.current);
+
+ SET_GLYPH (glyph, mode_line_p ? '-' : ' ', it->base_face_id);
+
+ temp_it.dp = NULL;
+ temp_it.what = IT_CHARACTER;
+ temp_it.c = temp_it.char_to_display = GLYPH_CHAR (glyph);
+ temp_it.face_id = GLYPH_FACE (glyph);
+ temp_it.len = CHAR_BYTES (temp_it.c);
+
+ PRODUCE_GLYPHS (&temp_it);
+ it->pixel_width = temp_it.pixel_width;
+ it->nglyphs = temp_it.nglyphs;
+}
+
#ifdef HAVE_WINDOW_SYSTEM
/* Calculate line-height and line-spacing properties.
@@ -36974,7 +37185,7 @@ shown in a window. Absolute line numbers count from the beginning of
the current narrowing, or from buffer beginning. The variable
`display-line-numbers-offset', if non-zero, is a signed offset added
to each absolute line number; it also forces line numbers to be counted
-from the beginning of the buffer, as if `display-line-numbers-wide'
+from the beginning of the buffer, as if `display-line-numbers-widen'
were non-nil. It has no effect when line numbers are not absolute.
If the value is `relative', display for each line not containing the
@@ -37329,7 +37540,7 @@ init_xdisp (void)
r->pixel_top = r->top_line * FRAME_LINE_HEIGHT (f);
r->total_cols = FRAME_COLS (f);
r->pixel_width = r->total_cols * FRAME_COLUMN_WIDTH (f);
- r->total_lines = FRAME_TOTAL_LINES (f) - 1 - FRAME_TOP_MARGIN (f);
+ r->total_lines = FRAME_TOTAL_LINES (f) - 1 - FRAME_MARGINS (f);
r->pixel_height = r->total_lines * FRAME_LINE_HEIGHT (f);
m->top_line = FRAME_TOTAL_LINES (f) - 1;
diff --git a/src/xfns.c b/src/xfns.c
index 9e004f6a678..5c9f58e3a96 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -807,23 +807,45 @@ x_set_tool_bar_position (struct frame *f,
Lisp_Object new_value,
Lisp_Object old_value)
{
- Lisp_Object choice = list4 (Qleft, Qright, Qtop, Qbottom);
+#ifdef USE_GTK
+ Lisp_Object choice;
+
+ choice = list4 (Qleft, Qright, Qtop, Qbottom);
if (!NILP (Fmemq (new_value, choice)))
{
-#ifdef USE_GTK
if (!EQ (new_value, old_value))
{
xg_change_toolbar_position (f, new_value);
fset_tool_bar_position (f, new_value);
}
-#else
- if (!EQ (new_value, Qtop))
- error ("The only supported tool bar position is top");
-#endif
+#else /* !USE_GTK */
+ if (!EQ (new_value, Qtop) && !EQ (new_value, Qbottom))
+ error ("Tool bar position must be either `top' or `bottom'");
+
+ if (EQ (new_value, old_value))
+ return;
+
+ /* Set the tool bar position. */
+ fset_tool_bar_position (f, new_value);
+
+ /* Now reconfigure frame glyphs to place the tool bar at the
+ bottom. While the inner height has not changed, call
+ `resize_frame_windows' to place each of the windows at its
+ new position. */
+
+ adjust_frame_size (f, -1, -1, 3, false, Qtool_bar_position);
+ adjust_frame_glyphs (f);
+ SET_FRAME_GARBAGED (f);
+
+ if (FRAME_X_WINDOW (f))
+ x_clear_under_internal_border (f);
+#endif /* USE_GTK */
+#ifdef USE_GTK
}
else
wrong_choice (choice, new_value);
+#endif /* USE_GTK */
}
#ifdef HAVE_XDBE
@@ -4252,9 +4274,9 @@ x_window (struct frame *f, long window_prompting)
#ifdef HAVE_X_I18N
FRAME_XIC (f) = NULL;
- if (use_xim)
+ if (FRAME_DISPLAY_INFO (f)->use_xim)
create_frame_xic (f);
-#endif
+#endif /* HAVE_X_I18N */
f->output_data.x->wm_hints.input = True;
f->output_data.x->wm_hints.flags |= InputHint;
@@ -4355,32 +4377,32 @@ x_window (struct frame *f)
#ifdef HAVE_X_I18N
FRAME_XIC (f) = NULL;
- if (use_xim)
- {
- block_input ();
- create_frame_xic (f);
- if (FRAME_XIC (f))
- {
- /* XIM server might require some X events. */
- unsigned long fevent = NoEventMask;
- XGetICValues (FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
+ if (FRAME_DISPLAY_INFO (f)->use_xim)
+ {
+ block_input ();
+ create_frame_xic (f);
+ if (FRAME_XIC (f))
+ {
+ /* XIM server might require some X events. */
+ unsigned long fevent = NoEventMask;
+ XGetICValues (FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
- if (fevent != NoEventMask)
- {
- XSetWindowAttributes attributes;
- XWindowAttributes wattr;
- unsigned long attribute_mask;
-
- XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
- &wattr);
- attributes.event_mask = wattr.your_event_mask | fevent;
- attribute_mask = CWEventMask;
- XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
- attribute_mask, &attributes);
- }
- }
- unblock_input ();
- }
+ if (fevent != NoEventMask)
+ {
+ XSetWindowAttributes attributes;
+ XWindowAttributes wattr;
+ unsigned long attribute_mask;
+
+ XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
+ &wattr);
+ attributes.event_mask = wattr.your_event_mask | fevent;
+ attribute_mask = CWEventMask;
+ XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
+ attribute_mask, &attributes);
+ }
+ }
+ unblock_input ();
+ }
#endif
append_wm_protocols (FRAME_DISPLAY_INFO (f), f);
@@ -4427,7 +4449,7 @@ x_window (struct frame *f)
initial_set_up_x_back_buffer (f);
#ifdef HAVE_X_I18N
- if (use_xim)
+ if (FRAME_DISPLAY_INFO (f)->use_xim)
{
create_frame_xic (f);
if (FRAME_XIC (f))
@@ -6673,10 +6695,11 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
}
/* Return geometric attributes of FRAME. According to the value of
- ATTRIBUTES return the outer edges of FRAME (Qouter_edges), the native
- edges of FRAME (Qnative_edges), or the inner edges of frame
+ ATTRIBUTES return the outer edges of FRAME (Qouter_edges), the
+ native edges of FRAME (Qnative_edges), or the inner edges of frame
(Qinner_edges). Any other value means to return the geometry as
returned by Fx_frame_geometry. */
+
static Lisp_Object
frame_geometry (Lisp_Object frame, Lisp_Object attribute)
{
@@ -6765,8 +6788,8 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
tab_bar_height = FRAME_TAB_BAR_HEIGHT (f);
tab_bar_width = (tab_bar_height
- ? native_width - 2 * internal_border_width
- : 0);
+ ? native_width - 2 * internal_border_width
+ : 0);
inner_top += tab_bar_height;
#ifdef HAVE_EXT_TOOL_BAR
@@ -6806,7 +6829,14 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
tool_bar_width = (tool_bar_height
? native_width - 2 * internal_border_width
: 0);
- inner_top += tool_bar_height;
+
+ /* Subtract or add to the inner dimensions based on the tool bar
+ position. */
+
+ if (EQ (FRAME_TOOL_BAR_POSITION (f), Qtop))
+ inner_top += tool_bar_height;
+ else
+ inner_bottom -= tool_bar_height;
#endif
/* Construct list. */
@@ -10426,7 +10456,6 @@ eliminated in future versions of Emacs. */);
accepts --with-x-toolkit=gtk. */
Fprovide (intern_c_string ("x-toolkit"), Qnil);
Fprovide (intern_c_string ("gtk"), Qnil);
- Fprovide (intern_c_string ("move-toolbar"), Qnil);
DEFVAR_LISP ("gtk-version-string", Vgtk_version_string,
doc: /* Version info for GTK+. */);
diff --git a/src/xml.c b/src/xml.c
index b55ac62cdd3..b4c849e6a65 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -280,7 +280,10 @@ DEFUN ("libxml-parse-html-region", Flibxml_parse_html_region,
If START is nil, it defaults to `point-min'. If END is nil, it
defaults to `point-max'.
-If BASE-URL is non-nil, it is used to expand relative URLs.
+If BASE-URL is non-nil, it is used if and when reporting errors and
+warnings from the underlying libxml2 library. Currently, errors and
+warnings from the library are suppressed, so this argument is largely
+ignored.
If you want comments to be stripped, use the `xml-remove-comments'
function to strip comments before calling this function. */)
@@ -298,7 +301,10 @@ DEFUN ("libxml-parse-xml-region", Flibxml_parse_xml_region,
If START is nil, it defaults to `point-min'. If END is nil, it
defaults to `point-max'.
-If BASE-URL is non-nil, it is used to expand relative URLs.
+If BASE-URL is non-nil, it is used if and when reporting errors and
+warnings from the underlying libxml2 library. Currently, errors and
+warnings from the library are suppressed, so this argument is largely
+ignored.
If you want comments to be stripped, use the `xml-remove-comments'
function to strip comments before calling this function. */)
diff --git a/src/xselect.c b/src/xselect.c
index 0586e46870b..c38a1f8b6a9 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -744,13 +744,13 @@ selection_data_size (struct selection_data *data)
return (size_t) data->size;
case 16:
- if (INT_MULTIPLY_WRAPV (data->size, 2, &scratch))
+ if (ckd_mul (&scratch, data->size, 2))
return SIZE_MAX;
return scratch;
case 32:
- if (INT_MULTIPLY_WRAPV (data->size, 4, &scratch))
+ if (ckd_mul (&scratch, data->size, 4))
return SIZE_MAX;
return scratch;
@@ -1989,9 +1989,22 @@ receive_incremental_selection (struct x_display_info *dpyinfo,
}
+
+/* Free the selection data allocated inside *DATA, which is actually a
+ pointer to unsigned char *. */
+
+static void
+x_free_selection_data (void *data)
+{
+ unsigned char **ptr;
+
+ ptr = data;
+ xfree (*ptr);
+}
+
/* Fetch a value from property PROPERTY of X window WINDOW on display
- DISPLAY. TARGET_TYPE and SELECTION_ATOM are used in error message
- if this fails. */
+ DISPLAY. TARGET_TYPE and SELECTION_ATOM are used in the error
+ message signaled if this fails. */
static Lisp_Object
x_get_window_property_as_lisp_data (struct x_display_info *dpyinfo,
@@ -2007,6 +2020,7 @@ x_get_window_property_as_lisp_data (struct x_display_info *dpyinfo,
ptrdiff_t bytes = 0, array_bytes;
Lisp_Object val;
Display *display = dpyinfo->display;
+ specpdl_ref count;
/* array_bytes is only used as an argument to xpalloc. The actual
size of the data inside the buffer is inside bytes. */
@@ -2042,6 +2056,13 @@ x_get_window_property_as_lisp_data (struct x_display_info *dpyinfo,
}
}
+ /* Make sure DATA is freed even if `receive_incremental_connection'
+ quits. Use xfree, not XFree, because x_get_window_property calls
+ xmalloc itself. */
+
+ count = SPECPDL_INDEX ();
+ record_unwind_protect_ptr (x_free_selection_data, &data);
+
if (!for_multiple && actual_type == dpyinfo->Xatom_INCR)
{
/* That wasn't really the data, just the beginning. */
@@ -2051,6 +2072,9 @@ x_get_window_property_as_lisp_data (struct x_display_info *dpyinfo,
/* Use xfree, not XFree, because x_get_window_property
calls xmalloc itself. */
xfree (data);
+
+ /* In case quitting happens below. */
+ data = NULL;
unblock_input ();
/* Clear bytes again. Previously, receive_incremental_selection
@@ -2077,10 +2101,8 @@ x_get_window_property_as_lisp_data (struct x_display_info *dpyinfo,
val = selection_data_to_lisp_data (dpyinfo, data, bytes,
actual_type, actual_format);
- /* Use xfree, not XFree, because x_get_window_property
- calls xmalloc itself. */
- xfree (data);
- return val;
+ /* This will also free `data'. */
+ return unbind_to (count, val);
}
/* These functions convert from the selection data read from the server into
@@ -3027,7 +3049,7 @@ x_property_data_to_lisp (struct frame *f, const unsigned char *data,
{
ptrdiff_t format_bytes = format >> 3;
ptrdiff_t data_bytes;
- if (INT_MULTIPLY_WRAPV (size, format_bytes, &data_bytes))
+ if (ckd_mul (&data_bytes, size, format_bytes))
memory_full (SIZE_MAX);
return selection_data_to_lisp_data (FRAME_DISPLAY_INFO (f), data,
data_bytes, type, format);
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 799c9fd1053..3cf5165242e 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -223,7 +223,7 @@ smc_save_yourself_CB (SmcConn smcConn,
props[props_idx]->name = xstrdup (SmRestartCommand);
props[props_idx]->type = xstrdup (SmLISTofARRAY8);
/* /path/to/emacs, --smid=xxx --no-splash --chdir=dir ... */
- if (INT_ADD_WRAPV (initial_argc, 3, &i))
+ if (ckd_add (&i, initial_argc, 3))
memory_full (SIZE_MAX);
props[props_idx]->num_vals = i;
vp = xnmalloc (i, sizeof *vp);
diff --git a/src/xterm.c b/src/xterm.c
index d621d94a2cf..f84eaeb8cbd 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -798,13 +798,6 @@ typedef int (*Emacs_XIOErrorHandler) (Display *);
#define USE_CAIRO_XCB_SURFACE
#endif
-/* Default to using XIM if available. */
-#ifdef USE_XIM
-bool use_xim = true;
-#else
-bool use_xim = false; /* configure --without-xim */
-#endif
-
#if XCB_SHAPE_MAJOR_VERSION > 1 \
|| (XCB_SHAPE_MAJOR_VERSION == 1 && \
XCB_SHAPE_MINOR_VERSION >= 1)
@@ -2322,13 +2315,10 @@ xm_setup_dnd_targets (struct x_display_info *dpyinfo,
target_count = header.target_list_count;
rc = false;
- if (INT_ADD_WRAPV (header.target_list_count, 1,
- &header.target_list_count)
- || INT_MULTIPLY_WRAPV (ntargets, 4, &size)
- || INT_ADD_WRAPV (header.total_data_size, size,
- &header.total_data_size)
- || INT_ADD_WRAPV (header.total_data_size, 2,
- &header.total_data_size))
+ if (ckd_add (&header.target_list_count, header.target_list_count, 1)
+ || ckd_mul (&size, ntargets, 4)
+ || ckd_add (&header.total_data_size, header.total_data_size, size)
+ || ckd_add (&header.total_data_size, header.total_data_size, 2))
{
/* Overflow, remove every entry from the targets table
and add one for our current targets list. This
@@ -6949,8 +6939,7 @@ x_sync_get_monotonic_time (struct x_display_info *dpyinfo,
return 0;
uint_fast64_t t;
- return (INT_SUBTRACT_WRAPV (timestamp, dpyinfo->server_time_offset, &t)
- ? 0 : t);
+ return ckd_sub (&t, timestamp, dpyinfo->server_time_offset) ? 0 : t;
}
# ifndef CLOCK_MONOTONIC
@@ -6968,8 +6957,8 @@ x_sync_current_monotonic_time (void)
return (((clock_gettime (CLOCK_MONOTONIC, &time) != 0
&& (CLOCK_MONOTONIC == CLOCK_REALTIME
|| clock_gettime (CLOCK_REALTIME, &time) != 0))
- || INT_MULTIPLY_WRAPV (time.tv_sec, 1000000, &t)
- || INT_ADD_WRAPV (t, time.tv_nsec / 1000, &t))
+ || ckd_mul (&t, time.tv_sec, 1000000)
+ || ckd_add (&t, t, time.tv_nsec / 1000))
? 0 : t);
}
@@ -6990,8 +6979,7 @@ x_sync_note_frame_times (struct x_display_info *dpyinfo,
time = x_sync_get_monotonic_time (dpyinfo, low | (high << 32));
if (!time || !output->temp_frame_time
- || INT_SUBTRACT_WRAPV (time, output->temp_frame_time,
- &output->last_frame_time))
+ || ckd_sub (&output->last_frame_time, time, output->temp_frame_time))
output->last_frame_time = 0;
#ifdef FRAME_DEBUG
@@ -7586,14 +7574,16 @@ x_clear_under_internal_border (struct frame *f)
int width = FRAME_PIXEL_WIDTH (f);
int height = FRAME_PIXEL_HEIGHT (f);
int margin = FRAME_TOP_MARGIN_HEIGHT (f);
- int face_id =
- (FRAME_PARENT_FRAME (f)
- ? (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, CHILD_FRAME_BORDER_FACE_ID)
- : CHILD_FRAME_BORDER_FACE_ID)
- : (!NILP (Vface_remapping_alist)
- ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID)
- : INTERNAL_BORDER_FACE_ID));
+ int bottom_margin = FRAME_BOTTOM_MARGIN_HEIGHT (f);
+ int face_id = (FRAME_PARENT_FRAME (f)
+ ? (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ CHILD_FRAME_BORDER_FACE_ID)
+ : CHILD_FRAME_BORDER_FACE_ID)
+ : (!NILP (Vface_remapping_alist)
+ ? lookup_basic_face (NULL, f,
+ INTERNAL_BORDER_FACE_ID)
+ : INTERNAL_BORDER_FACE_ID));
struct face *face = FACE_FROM_ID_OR_NULL (f, face_id);
if (face)
@@ -7606,7 +7596,8 @@ x_clear_under_internal_border (struct frame *f)
x_fill_rectangle (f, gc, 0, margin, width, border, false);
x_fill_rectangle (f, gc, 0, 0, border, height, false);
x_fill_rectangle (f, gc, width - border, 0, border, height, false);
- x_fill_rectangle (f, gc, 0, height - border, width, border, false);
+ x_fill_rectangle (f, gc, 0, height - bottom_margin - border,
+ width, border, false);
XSetForeground (display, gc, FRAME_FOREGROUND_PIXEL (f));
}
else
@@ -7614,7 +7605,8 @@ x_clear_under_internal_border (struct frame *f)
x_clear_area (f, 0, 0, border, height);
x_clear_area (f, 0, margin, width, border);
x_clear_area (f, width - border, 0, border, height);
- x_clear_area (f, 0, height - border, width, border);
+ x_clear_area (f, 0, height - bottom_margin - border,
+ width, border);
}
}
}
@@ -7967,7 +7959,7 @@ x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time,
dpyinfo->server_time_monotonic_p
= (monotonic_time != 0
- && !INT_SUBTRACT_WRAPV (time, monotonic_ms, &diff_ms)
+ && !ckd_sub (&diff_ms, time, monotonic_ms)
&& -500 < diff_ms && diff_ms < 500);
if (!dpyinfo->server_time_monotonic_p)
@@ -7976,10 +7968,9 @@ x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time,
time to estimate the monotonic time on the X server. */
if (!monotonic_time
- || INT_MULTIPLY_WRAPV (time, 1000, &dpyinfo->server_time_offset)
- || INT_SUBTRACT_WRAPV (dpyinfo->server_time_offset,
- monotonic_time,
- &dpyinfo->server_time_offset))
+ || ckd_mul (&dpyinfo->server_time_offset, time, 1000)
+ || ckd_sub (&dpyinfo->server_time_offset,
+ dpyinfo->server_time_offset, monotonic_time))
dpyinfo->server_time_offset = 0;
/* If the server time is reasonably close to the monotonic
@@ -7988,18 +7979,18 @@ x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time,
actual time in ms. */
monotonic_ms = monotonic_ms & 0xffffffff;
- if (!INT_SUBTRACT_WRAPV (time, monotonic_ms, &diff_ms)
+ if (!ckd_sub (&diff_ms, time, monotonic_ms)
&& -500 < diff_ms && diff_ms < 500)
{
/* The server timestamp overflowed. Make the time
offset exactly how much it overflowed by. */
- if (INT_SUBTRACT_WRAPV (monotonic_time / 1000, monotonic_ms,
- &dpyinfo->server_time_offset)
- || INT_MULTIPLY_WRAPV (dpyinfo->server_time_offset,
- 1000, &dpyinfo->server_time_offset)
- || INT_SUBTRACT_WRAPV (0, dpyinfo->server_time_offset,
- &dpyinfo->server_time_offset))
+ if (ckd_sub (&dpyinfo->server_time_offset,
+ monotonic_time / 1000, monotonic_ms)
+ || ckd_mul (&dpyinfo->server_time_offset,
+ dpyinfo->server_time_offset, 1000)
+ || ckd_sub (&dpyinfo->server_time_offset,
+ 0, dpyinfo->server_time_offset))
dpyinfo->server_time_offset = 0;
}
}
@@ -11331,7 +11322,8 @@ XTflash (struct frame *f)
XFillRectangle (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), gc,
flash_left,
(height - flash_height
- - FRAME_INTERNAL_BORDER_WIDTH (f)),
+ - FRAME_INTERNAL_BORDER_WIDTH (f)
+ - FRAME_BOTTOM_MARGIN_HEIGHT (f)),
width, flash_height);
}
@@ -11385,7 +11377,8 @@ XTflash (struct frame *f)
XFillRectangle (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), gc,
flash_left,
(height - flash_height
- - FRAME_INTERNAL_BORDER_WIDTH (f)),
+ - FRAME_INTERNAL_BORDER_WIDTH (f)
+ - FRAME_BOTTOM_MARGIN_HEIGHT (f)),
width, flash_height);
}
else
@@ -21178,14 +21171,28 @@ handle_one_xevent (struct x_display_info *dpyinfo,
x_cr_update_surface_desired_size (any,
configureEvent.xconfigure.width,
configureEvent.xconfigure.height);
- if (f || (any && configureEvent.xconfigure.window == FRAME_X_WINDOW (any)))
- x_update_opaque_region (f ? f : any, &configureEvent);
#endif
+
+#if !defined USE_X_TOOLKIT && !defined USE_GTK
+
+ /* Make the new size of the frame its opaque region. This is a
+ region describing areas of the window which are always
+ guaranteed to be completely opaque and can be treated as such
+ by the compositor. It is set to the width and height of the
+ only window in no-toolkit builds when `alpha_background' is
+ not set, and is cleared otherwise. */
+
+ if (f || (any && configureEvent.xconfigure.window
+ == FRAME_OUTER_WINDOW (any)))
+ x_update_opaque_region (f ? f : any, &configureEvent);
+
+#endif /* !defined USE_X_TOOLKIT && !defined USE_GTK */
+
#ifdef USE_GTK
if (!f
&& (f = any)
&& configureEvent.xconfigure.window == FRAME_X_WINDOW (f)
- && (FRAME_VISIBLE_P(f)
+ && (FRAME_VISIBLE_P (f)
|| !(configureEvent.xconfigure.width <= 1
&& configureEvent.xconfigure.height <= 1)))
{
@@ -21212,10 +21219,9 @@ handle_one_xevent (struct x_display_info *dpyinfo,
f = 0;
}
#endif
- if (f
- && (FRAME_VISIBLE_P(f)
- || !(configureEvent.xconfigure.width <= 1
- && configureEvent.xconfigure.height <= 1)))
+ if (f && (FRAME_VISIBLE_P (f)
+ || !(configureEvent.xconfigure.width <= 1
+ && configureEvent.xconfigure.height <= 1)))
{
#ifdef USE_GTK
/* For GTK+ don't call x_net_wm_state for the scroll bar
@@ -26139,7 +26145,7 @@ x_try_restore_frame (void)
FOR_EACH_FRAME (tail, frame)
{
- if (!NILP (do_switch_frame (frame, 1, Qnil)))
+ if (!NILP (do_switch_frame (frame, 0, 1, Qnil)))
return;
}
}
@@ -26659,7 +26665,12 @@ xim_destroy_callback (XIM xim, XPointer client_data, XPointer call_data)
/* No need to call XCloseIM. */
dpyinfo->xim = NULL;
- XFree (dpyinfo->xim_styles);
+
+ /* Also free IM values; those are allocated separately upon
+ XGetIMValues. */
+ if (dpyinfo->xim_styles)
+ XFree (dpyinfo->xim_styles);
+ dpyinfo->xim_styles = NULL;
unblock_input ();
}
@@ -26677,10 +26688,20 @@ xim_open_dpy (struct x_display_info *dpyinfo, char *resource_name)
XIM xim;
const char *locale;
- if (use_xim)
+ if (dpyinfo->use_xim)
{
if (dpyinfo->xim)
- XCloseIM (dpyinfo->xim);
+ {
+ XCloseIM (dpyinfo->xim);
+
+ /* Free values left over from the last time the IM
+ connection was established. */
+
+ if (dpyinfo->xim_styles)
+ XFree (dpyinfo->xim_styles);
+ dpyinfo->xim_styles = NULL;
+ }
+
xim = XOpenIM (dpyinfo->display, dpyinfo->rdb, resource_name,
emacs_class);
dpyinfo->xim = xim;
@@ -26709,7 +26730,6 @@ xim_open_dpy (struct x_display_info *dpyinfo, char *resource_name)
build_string (locale));
}
}
-
else
#endif /* HAVE_XIM */
dpyinfo->xim = NULL;
@@ -26778,7 +26798,7 @@ xim_initialize (struct x_display_info *dpyinfo, char *resource_name)
{
dpyinfo->xim = NULL;
#ifdef HAVE_XIM
- if (use_xim)
+ if (dpyinfo->use_xim)
{
#ifdef HAVE_X11R6_XIM
struct xim_inst_t *xim_inst = xmalloc (sizeof *xim_inst);
@@ -26787,15 +26807,19 @@ xim_initialize (struct x_display_info *dpyinfo, char *resource_name)
dpyinfo->xim_callback_data = xim_inst;
xim_inst->dpyinfo = dpyinfo;
xim_inst->resource_name = xstrdup (resource_name);
- ret = XRegisterIMInstantiateCallback
- (dpyinfo->display, dpyinfo->rdb, xim_inst->resource_name,
- emacs_class, xim_instantiate_callback,
- /* This is XPointer in XFree86 but (XPointer *) on Tru64, at
- least, but the configure test doesn't work because
- xim_instantiate_callback can either be XIMProc or
- XIDProc, so just cast to void *. */
- (void *) xim_inst);
- eassert (ret == True);
+
+ /* The last argument is XPointer in XFree86 but (XPointer *) on
+ Tru64, at least, but the configure test doesn't work because
+ xim_instantiate_callback can either be XIMProc or XIDProc, so
+ just cast to void *. */
+
+ ret = XRegisterIMInstantiateCallback (dpyinfo->display,
+ dpyinfo->rdb,
+ xim_inst->resource_name,
+ emacs_class,
+ xim_instantiate_callback,
+ (void *) xim_inst);
+ eassert (ret);
#else /* not HAVE_X11R6_XIM */
xim_open_dpy (dpyinfo, resource_name);
#endif /* not HAVE_X11R6_XIM */
@@ -26804,32 +26828,56 @@ xim_initialize (struct x_display_info *dpyinfo, char *resource_name)
}
-/* Close the connection to the XIM server on display DPYINFO. */
+/* Close the connection to the XIM server on display DPYINFO.
+ Unregister any IM instantiation callback previously installed,
+ close the connection to the IM server if possible, and free any
+ retrieved IM values. */
static void
xim_close_dpy (struct x_display_info *dpyinfo)
{
#ifdef HAVE_XIM
- if (use_xim)
- {
#ifdef HAVE_X11R6_XIM
- struct xim_inst_t *xim_inst = dpyinfo->xim_callback_data;
+ struct xim_inst_t *xim_inst;
+ Bool rc;
+
+ /* If dpyinfo->xim_callback_data is not set, then IM support wasn't
+ initialized, which can happen if Xlib doesn't understand the C
+ locale being used. */
+
+ if (dpyinfo->xim_callback_data)
+ {
+ xim_inst = dpyinfo->xim_callback_data;
if (dpyinfo->display)
{
- Bool ret = XUnregisterIMInstantiateCallback
- (dpyinfo->display, dpyinfo->rdb, xim_inst->resource_name,
- emacs_class, xim_instantiate_callback, (void *) xim_inst);
- eassert (ret == True);
+ rc = XUnregisterIMInstantiateCallback (dpyinfo->display,
+ dpyinfo->rdb,
+ xim_inst->resource_name,
+ emacs_class,
+ xim_instantiate_callback,
+ (void *) xim_inst);
+ eassert (rc);
}
+
xfree (xim_inst->resource_name);
xfree (xim_inst);
-#endif /* HAVE_X11R6_XIM */
- if (dpyinfo->display)
- XCloseIM (dpyinfo->xim);
- dpyinfo->xim = NULL;
- XFree (dpyinfo->xim_styles);
}
+#endif /* HAVE_X11R6_XIM */
+
+ /* Now close the connection to the input method server. This may
+ access the display connection, and isn't safe if the display has
+ already been closed. */
+
+ if (dpyinfo->display && dpyinfo->xim)
+ XCloseIM (dpyinfo->xim);
+ dpyinfo->xim = NULL;
+
+ /* Free the list of XIM styles retrieved. */
+
+ if (dpyinfo->xim_styles)
+ XFree (dpyinfo->xim_styles);
+ dpyinfo->xim_styles = NULL;
#endif /* HAVE_XIM */
}
@@ -30186,7 +30234,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
{
static char const at[] = " at ";
ptrdiff_t nbytes = sizeof (title) + sizeof (at);
- if (INT_ADD_WRAPV (nbytes, SBYTES (system_name), &nbytes))
+ if (ckd_add (&nbytes, nbytes, SBYTES (system_name)))
memory_full (SIZE_MAX);
dpyinfo->x_id_name = xmalloc (nbytes);
sprintf (dpyinfo->x_id_name, "%s%s%s", title, at, SDATA (system_name));
@@ -30759,14 +30807,6 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
dpyinfo->fixes_pointer_blanking = (egetenv ("EMACS_XFIXES") != NULL);
#endif
-#ifdef HAVE_X_I18N
- /* Avoid initializing input methods if the X library does not
- support Emacs's locale. When the current locale is not
- supported, decoding input method strings becomes undefined. */
- if (XSupportsLocale ())
- xim_initialize (dpyinfo, resource_name);
-#endif
-
xsettings_initialize (dpyinfo);
/* This is only needed for distinguishing keyboard and process input. */
@@ -30825,25 +30865,33 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
XSynchronize (dpyinfo->display, True);
}
+#ifdef HAVE_X_I18N
{
AUTO_STRING (useXIM, "useXIM");
AUTO_STRING (UseXIM, "UseXIM");
Lisp_Object value = gui_display_get_resource (dpyinfo, useXIM, UseXIM,
Qnil, Qnil);
+
+ /* `USE_XIM' controls whether Emacs should use X input methods by
+ default, not whether or not XIM is available. */
+
#ifdef USE_XIM
+ dpyinfo->use_xim = true;
+
if (STRINGP (value)
&& (!strcmp (SSDATA (value), "false")
|| !strcmp (SSDATA (value), "off")))
- use_xim = false;
-#else
+ dpyinfo->use_xim = false;
+#else /* !USE_XIM */
+ dpyinfo->use_xim = false;
+
if (STRINGP (value)
&& (!strcmp (SSDATA (value), "true")
|| !strcmp (SSDATA (value), "on")))
- use_xim = true;
-#endif
+ dpyinfo->use_xim = true;
+#endif /* USE_XIM */
}
-#ifdef HAVE_X_I18N
{
AUTO_STRING (inputStyle, "inputStyle");
AUTO_STRING (InputStyle, "InputStyle");
@@ -30865,10 +30913,19 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
#ifdef USE_GTK
else if (!strcmp (SSDATA (value), "native"))
dpyinfo->prefer_native_input = true;
-#endif
+#endif /* HAVE_GTK */
}
}
-#endif
+
+ /* Now that defaults have been set up, initialize input method
+ support. */
+
+ /* Avoid initializing input methods if the X library does not
+ support Emacs's locale. When the current locale is not
+ supported, decoding input method strings becomes undefined. */
+ if (XSupportsLocale ())
+ xim_initialize (dpyinfo, resource_name);
+#endif /* HAVE_X_I18N */
#ifdef HAVE_X_SM
/* Only do this for the very first display in the Emacs session.
@@ -31261,14 +31318,22 @@ x_delete_terminal (struct terminal *terminal)
#ifdef HAVE_X_I18N
/* We must close our connection to the XIM server before closing the
X display. */
- if (dpyinfo->xim)
- xim_close_dpy (dpyinfo);
+ xim_close_dpy (dpyinfo);
#endif
+ /* Destroy all bitmap images created on the display. */
+ image_destroy_all_bitmaps (dpyinfo);
+
+ /* Free the storage allocated to hold bitmap records. */
+ xfree (dpyinfo->bitmaps);
+
+ /* In case someone decides to use `bitmaps' again... */
+ dpyinfo->bitmaps = NULL;
+ dpyinfo->bitmaps_last = 0;
+
/* Normally, the display is available... */
if (dpyinfo->display)
{
- image_destroy_all_bitmaps (dpyinfo);
XSetCloseDownMode (dpyinfo->display, DestroyAll);
/* Delete the scratch cursor GC, should it exist. */
diff --git a/src/xterm.h b/src/xterm.h
index 28ae00ca190..34a713ea2ca 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -649,7 +649,11 @@ struct x_display_info
/* The named coding system to use for this input method. */
Lisp_Object xim_coding;
-#endif
+
+ /* Whether or not X input methods should be used on this
+ display. */
+ bool use_xim;
+#endif /* HAVE_X_I18N */
/* A cache mapping color names to RGB values. */
struct color_name_cache_entry **color_names;
@@ -922,11 +926,6 @@ struct x_display_info
#endif
};
-#ifdef HAVE_X_I18N
-/* Whether or not to use XIM if we have it. */
-extern bool use_xim;
-#endif
-
#ifdef HAVE_XINPUT2
/* Defined in xmenu.c. */
extern int popup_activated_flag;
diff --git a/test/infra/Dockerfile.emba b/test/infra/Dockerfile.emba
index 689573236da..584e4444dc1 100644
--- a/test/infra/Dockerfile.emba
+++ b/test/infra/Dockerfile.emba
@@ -83,6 +83,56 @@ RUN ./autogen.sh autoconf
RUN ./configure
RUN make bootstrap
+# Debian bullseye doesn't provide proper packages. So we use Debian
+# sid for this.
+FROM debian:sid as emacs-tree-sitter
+
+# This corresponds to emacs-base.
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
+ libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \
+ libdbus-1-dev libacl1-dev acl git texinfo gdb \
+ && rm -rf /var/lib/apt/lists/*
+
+# Install tree-sitter library.
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
+ libtree-sitter0 libtree-sitter-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+COPY . /checkout
+WORKDIR /checkout
+RUN ./autogen.sh autoconf
+RUN ./configure --with-tree-sitter
+RUN make bootstrap
+
+# Install language grammars.
+RUN mkdir -p /root/.emacs.d/tree-sitter
+RUN git config --global http.sslverify "false"
+# See https://github.com/emacs-tree-sitter/tree-sitter-langs/tree/master/repos
+RUN src/emacs -Q --batch \
+ --eval '(setq \
+ treesit-extra-load-path (list "/root/.emacs.d/tree-sitter") \
+ treesit-language-source-alist \
+ (quote ((bash "https://github.com/tree-sitter/tree-sitter-bash") \
+ (c "https://github.com/tree-sitter/tree-sitter-c") \
+ (cpp "https://github.com/tree-sitter/tree-sitter-cpp") \
+ (css "https://github.com/tree-sitter/tree-sitter-css") \
+ (elixir "https://github.com/elixir-lang/tree-sitter-elixir") \
+ (go "https://github.com/tree-sitter/tree-sitter-go") \
+ (gomod "https://github.com/camdencheek/tree-sitter-go-mod") \
+ (heex "https://github.com/phoenixframework/tree-sitter-heex") \
+ (html "https://github.com/tree-sitter/tree-sitter-html") \
+ (java "https://github.com/tree-sitter/tree-sitter-java") \
+ (javascript "https://github.com/tree-sitter/tree-sitter-javascript") \
+ (json "https://github.com/tree-sitter/tree-sitter-json") \
+ (python "https://github.com/tree-sitter/tree-sitter-python") \
+ (ruby "https://github.com/tree-sitter/tree-sitter-ruby") \
+ (tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src") \
+ (typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src"))))' \
+ --eval '(dolist (lang (mapcar (quote car) treesit-language-source-alist)) \
+ (treesit-install-language-grammar lang "/root/.emacs.d/tree-sitter"))'
+
FROM emacs-base as emacs-gnustep
RUN apt-get update && \
diff --git a/test/infra/Makefile.in b/test/infra/Makefile.in
index c6538c093c0..fff7281b566 100644
--- a/test/infra/Makefile.in
+++ b/test/infra/Makefile.in
@@ -41,10 +41,18 @@ define subdir_template
SUBDIR_TARGETS += $(target)
$(eval
- ifeq ($(findstring src, $(1)), src)
+ ifeq ($(findstring lib-src, $(1)), lib-src)
define changes
@echo ' - $(1)/*.{h,c}' >>$(FILE)
endef
+ else ifeq ($(findstring src, $(1)), src)
+ define changes
+ @echo ' - $(1)/treesit.{h,c}' >>$(FILE)
+ @echo ' - test/$(1)/treesit-tests.el' >>$(FILE)
+ @echo ' when: never' >>$(FILE)
+ @echo ' - changes:' >>$(FILE)
+ @echo ' - $(1)/*.{h,c}' >>$(FILE)
+ endef
else ifeq ($(findstring eieio, $(1)), eieio)
define changes
@echo ' - lisp/emacs-lisp/eieio*.el' >>$(FILE)
@@ -53,6 +61,17 @@ define subdir_template
define changes
@echo ' - lisp/emacs-lisp/faceup*.el' >>$(FILE)
endef
+ else ifeq ($(findstring progmodes, $(1)), progmodes)
+ define changes
+ @echo ' - $(1)/eglot.el' >>$(FILE)
+ @echo ' - $(1)/*-ts-mode.el' >>$(FILE)
+ @echo ' - test/$(1)/eglot-tests.el' >>$(FILE)
+ @echo ' - test/$(1)/*-ts-mode-resources/**' >>$(FILE)
+ @echo ' - test/$(1)/*-ts-mode-tests.el' >>$(FILE)
+ @echo ' when: never' >>$(FILE)
+ @echo ' - changes:' >>$(FILE)
+ @echo ' - $(1)/*.el' >>$(FILE)
+ endef
else ifeq ($(findstring so-long, $(1)), so-long)
define changes
@echo ' - lisp/so-long*.el' >>$(FILE)
@@ -80,8 +99,8 @@ define subdir_template
@echo ' when: never' >>$(FILE)
@echo ' - changes:' >>$(FILE)
$(changes)
- @echo ' - test/$(1)/*.el' >>$(FILE)
@echo ' - test/$(1)/*resources/**' >>$(FILE)
+ @echo ' - test/$(1)/*.el' >>$(FILE)
@echo ' variables:' >>$(FILE)
@echo ' target: emacs-inotify' >>$(FILE)
@echo ' make_params: "-k -C test $(target)"' >>$(FILE)
@@ -89,11 +108,22 @@ endef
$(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir))))
+TREE-SITTER-FILES ?= $(shell cd .. ; \
+ find lisp src \( -name "*-ts-mode-tests.el" -o -name "treesit-tests.el" \) | \
+ sort | sed s/\\.el/.log/)
+
all: generate-test-jobs
-.PHONY: generate-test-jobs $(FILE) $(SUBDIR_TARGETS)
+.PHONY: generate-test-jobs $(FILE) $(SUBDIR_TARGETS) tree-sitter-files-template
+
+generate-test-jobs: $(FILE) $(SUBDIR_TARGETS) tree-sitter-files-template
-generate-test-jobs: $(FILE) $(SUBDIR_TARGETS)
+tree-sitter-files-template:
+ @echo >>$(FILE)
+ @echo '.tree-sitter-files-template:' >>$(FILE)
+ @echo ' variables:' >>$(FILE)
+ @echo ' tree_sitter_files: >-' >>$(FILE)
+ @for name in $(TREE-SITTER-FILES) ; do echo " $${name}" >>$(FILE) ; done
$(FILE):
$(AM_V_GEN)
diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml
index d1fef0187d4..6884c32848e 100644
--- a/test/infra/gitlab-ci.yml
+++ b/test/infra/gitlab-ci.yml
@@ -86,7 +86,7 @@ default:
# TODO: with make -j4 several of the tests were failing, for
# example shadowfile-tests, but passed without it.
- 'export PWD=$(pwd)'
- - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_JUNIT_REPORT=${EMACS_TEST_JUNIT_REPORT} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --volumes-from $(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -c "git fetch ${PWD} HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j4 && make ${make_params}"'
+ - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_JUNIT_REPORT=${EMACS_TEST_JUNIT_REPORT} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --volumes-from $(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -xvc "git fetch ${PWD} HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j4 && make ${make_params}"'
after_script:
# - docker ps -a
# - printenv
@@ -176,6 +176,17 @@ default:
- test/infra/*
- test/lisp/progmodes/eglot-tests.el
+.tree-sitter-template:
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "web"'
+ - if: '$CI_PIPELINE_SOURCE == "schedule"'
+ changes:
+ - "**.in"
+ - lisp/progmodes/*-ts-mode.el
+ - test/infra/*
+ - test/lisp/progmodes/*-ts-mode-resources/**
+ - test/lisp/progmodes/*-ts-mode-tests.el
+
.native-comp-template:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
@@ -256,6 +267,23 @@ test-eglot:
# This is needed in order to get a JUnit test report.
make_params: '-k -C test check-expensive LOGFILES="lisp/progmodes/eglot-tests.log"'
+build-image-tree-sitter:
+ stage: platform-images
+ extends: [.job-template, .build-template, .tree-sitter-template]
+ variables:
+ target: emacs-tree-sitter
+
+test-tree-sitter:
+ stage: platforms
+ extends: [.job-template, .test-template, .tree-sitter-template, .tree-sitter-files-template]
+ needs:
+ - job: build-image-tree-sitter
+ optional: true
+ variables:
+ target: emacs-tree-sitter
+ # This is needed in order to get a JUnit test report.
+ make_params: '-k -C test check-expensive TEST_HOME=/root LOGFILES="$tree_sitter_files"'
+
build-image-gnustep:
stage: platform-images
extends: [.job-template, .build-template, .gnustep-template]
diff --git a/test/infra/test-jobs.yml b/test/infra/test-jobs.yml
index 55ce590af89..2f6e0dab4d5 100644
--- a/test/infra/test-jobs.yml
+++ b/test/infra/test-jobs.yml
@@ -11,8 +11,8 @@ test-lib-src-inotify:
when: never
- changes:
- lib-src/*.{h,c}
- - test/lib-src/*.el
- test/lib-src/*resources/**
+ - test/lib-src/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lib-src"
@@ -28,8 +28,8 @@ test-lisp-inotify:
when: never
- changes:
- lisp/*.el
- - test/lisp/*.el
- test/lisp/*resources/**
+ - test/lisp/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp"
@@ -45,8 +45,8 @@ test-lisp-calc-inotify:
when: never
- changes:
- lisp/calc/*.el
- - test/lisp/calc/*.el
- test/lisp/calc/*resources/**
+ - test/lisp/calc/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-calc"
@@ -62,8 +62,8 @@ test-lisp-calendar-inotify:
when: never
- changes:
- lisp/calendar/*.el
- - test/lisp/calendar/*.el
- test/lisp/calendar/*resources/**
+ - test/lisp/calendar/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-calendar"
@@ -79,8 +79,8 @@ test-lisp-cedet-inotify:
when: never
- changes:
- lisp/cedet/*.el
- - test/lisp/cedet/*.el
- test/lisp/cedet/*resources/**
+ - test/lisp/cedet/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-cedet"
@@ -96,8 +96,8 @@ test-lisp-cedet-semantic-inotify:
when: never
- changes:
- lisp/cedet/semantic/*.el
- - test/lisp/cedet/semantic/*.el
- test/lisp/cedet/semantic/*resources/**
+ - test/lisp/cedet/semantic/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-cedet-semantic"
@@ -113,8 +113,8 @@ test-lisp-cedet-semantic-bovine-inotify:
when: never
- changes:
- lisp/cedet/semantic/bovine/*.el
- - test/lisp/cedet/semantic/bovine/*.el
- test/lisp/cedet/semantic/bovine/*resources/**
+ - test/lisp/cedet/semantic/bovine/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-cedet-semantic-bovine"
@@ -130,8 +130,8 @@ test-lisp-cedet-srecode-inotify:
when: never
- changes:
- lisp/cedet/srecode/*.el
- - test/lisp/cedet/srecode/*.el
- test/lisp/cedet/srecode/*resources/**
+ - test/lisp/cedet/srecode/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-cedet-srecode"
@@ -147,8 +147,8 @@ test-lisp-emacs-lisp-inotify:
when: never
- changes:
- lisp/emacs-lisp/*.el
- - test/lisp/emacs-lisp/*.el
- test/lisp/emacs-lisp/*resources/**
+ - test/lisp/emacs-lisp/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-emacs-lisp"
@@ -164,8 +164,8 @@ test-lisp-emacs-lisp-eieio-tests-inotify:
when: never
- changes:
- lisp/emacs-lisp/eieio*.el
- - test/lisp/emacs-lisp/eieio-tests/*.el
- test/lisp/emacs-lisp/eieio-tests/*resources/**
+ - test/lisp/emacs-lisp/eieio-tests/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-emacs-lisp-eieio-tests"
@@ -181,8 +181,8 @@ test-lisp-emacs-lisp-faceup-tests-inotify:
when: never
- changes:
- lisp/emacs-lisp/faceup*.el
- - test/lisp/emacs-lisp/faceup-tests/*.el
- test/lisp/emacs-lisp/faceup-tests/*resources/**
+ - test/lisp/emacs-lisp/faceup-tests/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-emacs-lisp-faceup-tests"
@@ -198,8 +198,8 @@ test-lisp-emulation-inotify:
when: never
- changes:
- lisp/emulation/*.el
- - test/lisp/emulation/*.el
- test/lisp/emulation/*resources/**
+ - test/lisp/emulation/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-emulation"
@@ -215,8 +215,8 @@ test-lisp-erc-inotify:
when: never
- changes:
- lisp/erc/*.el
- - test/lisp/erc/*.el
- test/lisp/erc/*resources/**
+ - test/lisp/erc/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-erc"
@@ -232,8 +232,8 @@ test-lisp-eshell-inotify:
when: never
- changes:
- lisp/eshell/*.el
- - test/lisp/eshell/*.el
- test/lisp/eshell/*resources/**
+ - test/lisp/eshell/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-eshell"
@@ -249,8 +249,8 @@ test-lisp-gnus-inotify:
when: never
- changes:
- lisp/gnus/*.el
- - test/lisp/gnus/*.el
- test/lisp/gnus/*resources/**
+ - test/lisp/gnus/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-gnus"
@@ -266,8 +266,8 @@ test-lisp-image-inotify:
when: never
- changes:
- lisp/image/*.el
- - test/lisp/image/*.el
- test/lisp/image/*resources/**
+ - test/lisp/image/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-image"
@@ -283,8 +283,8 @@ test-lisp-international-inotify:
when: never
- changes:
- lisp/international/*.el
- - test/lisp/international/*.el
- test/lisp/international/*resources/**
+ - test/lisp/international/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-international"
@@ -300,8 +300,8 @@ test-lisp-mail-inotify:
when: never
- changes:
- lisp/mail/*.el
- - test/lisp/mail/*.el
- test/lisp/mail/*resources/**
+ - test/lisp/mail/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-mail"
@@ -317,8 +317,8 @@ test-lisp-mh-e-inotify:
when: never
- changes:
- lisp/mh-e/*.el
- - test/lisp/mh-e/*.el
- test/lisp/mh-e/*resources/**
+ - test/lisp/mh-e/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-mh-e"
@@ -334,8 +334,8 @@ test-lisp-net-inotify:
when: never
- changes:
- lisp/net/*.el
- - test/lisp/net/*.el
- test/lisp/net/*resources/**
+ - test/lisp/net/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-net"
@@ -351,8 +351,8 @@ test-lisp-nxml-inotify:
when: never
- changes:
- lisp/nxml/*.el
- - test/lisp/nxml/*.el
- test/lisp/nxml/*resources/**
+ - test/lisp/nxml/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-nxml"
@@ -368,8 +368,8 @@ test-lisp-obsolete-inotify:
when: never
- changes:
- lisp/obsolete/*.el
- - test/lisp/obsolete/*.el
- test/lisp/obsolete/*resources/**
+ - test/lisp/obsolete/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-obsolete"
@@ -385,8 +385,8 @@ test-lisp-org-inotify:
when: never
- changes:
- lisp/org/*.el
- - test/lisp/org/*.el
- test/lisp/org/*resources/**
+ - test/lisp/org/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-org"
@@ -402,8 +402,8 @@ test-lisp-play-inotify:
when: never
- changes:
- lisp/play/*.el
- - test/lisp/play/*.el
- test/lisp/play/*resources/**
+ - test/lisp/play/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-play"
@@ -418,9 +418,16 @@ test-lisp-progmodes-inotify:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: never
- changes:
+ - lisp/progmodes/eglot.el
+ - lisp/progmodes/*-ts-mode.el
+ - test/lisp/progmodes/eglot-tests.el
+ - test/lisp/progmodes/*-ts-mode-resources/**
+ - test/lisp/progmodes/*-ts-mode-tests.el
+ when: never
+ - changes:
- lisp/progmodes/*.el
- - test/lisp/progmodes/*.el
- test/lisp/progmodes/*resources/**
+ - test/lisp/progmodes/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-progmodes"
@@ -436,8 +443,8 @@ test-lisp-so-long-tests-inotify:
when: never
- changes:
- lisp/so-long*.el
- - test/lisp/so-long-tests/*.el
- test/lisp/so-long-tests/*resources/**
+ - test/lisp/so-long-tests/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-so-long-tests"
@@ -453,8 +460,8 @@ test-lisp-term-inotify:
when: never
- changes:
- lisp/term/*.el
- - test/lisp/term/*.el
- test/lisp/term/*resources/**
+ - test/lisp/term/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-term"
@@ -470,8 +477,8 @@ test-lisp-textmodes-inotify:
when: never
- changes:
- lisp/textmodes/*.el
- - test/lisp/textmodes/*.el
- test/lisp/textmodes/*resources/**
+ - test/lisp/textmodes/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-textmodes"
@@ -487,8 +494,8 @@ test-lisp-url-inotify:
when: never
- changes:
- lisp/url/*.el
- - test/lisp/url/*.el
- test/lisp/url/*resources/**
+ - test/lisp/url/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-url"
@@ -504,8 +511,8 @@ test-lisp-use-package-inotify:
when: never
- changes:
- lisp/use-package/*.el
- - test/lisp/use-package/*.el
- test/lisp/use-package/*resources/**
+ - test/lisp/use-package/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-use-package"
@@ -521,8 +528,8 @@ test-lisp-vc-inotify:
when: never
- changes:
- lisp/vc/*.el
- - test/lisp/vc/*.el
- test/lisp/vc/*resources/**
+ - test/lisp/vc/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-lisp-vc"
@@ -538,8 +545,8 @@ test-misc-inotify:
when: never
- changes:
- admin/*.el
- - test/misc/*.el
- test/misc/*resources/**
+ - test/misc/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-misc"
@@ -554,9 +561,25 @@ test-src-inotify:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: never
- changes:
+ - src/treesit.{h,c}
+ - test/src/treesit-tests.el
+ when: never
+ - changes:
- src/*.{h,c}
- - test/src/*.el
- test/src/*resources/**
+ - test/src/*.el
variables:
target: emacs-inotify
make_params: "-k -C test check-src"
+
+.tree-sitter-files-template:
+ variables:
+ tree_sitter_files: >-
+ lisp/progmodes/c-ts-mode-tests.log
+ lisp/progmodes/elixir-ts-mode-tests.log
+ lisp/progmodes/go-ts-mode-tests.log
+ lisp/progmodes/heex-ts-mode-tests.log
+ lisp/progmodes/java-ts-mode-tests.log
+ lisp/progmodes/ruby-ts-mode-tests.log
+ lisp/progmodes/typescript-ts-mode-tests.log
+ src/treesit-tests.log
diff --git a/test/lisp/arc-mode-tests.el b/test/lisp/arc-mode-tests.el
index 32bce1b71bd..c42fd8d432c 100644
--- a/test/lisp/arc-mode-tests.el
+++ b/test/lisp/arc-mode-tests.el
@@ -46,6 +46,85 @@
(when (buffer-live-p zip-buffer) (kill-buffer zip-buffer))
(when (buffer-live-p gz-buffer) (kill-buffer gz-buffer)))))
+(ert-deftest arc-mode-test-zip-ensure-ext ()
+ "Regression test for bug#61326."
+ (skip-unless (executable-find "zip"))
+ (let* ((default-directory arc-mode-tests-data-directory)
+ (created-files nil)
+ (base-zip-1 "base-1.zip")
+ (base-zip-2 "base-2.zip")
+ (content-1 '("1" "2"))
+ (content-2 '("3" "4"))
+ (make-file (lambda (name)
+ (push name created-files)
+ (with-temp-buffer
+ (insert name)
+ (write-file name))))
+ (make-zip
+ (lambda (zip files)
+ (delete-file zip nil)
+ (push zip created-files)
+ (funcall (archive--act-files '("zip") files) zip)))
+ (update-fn
+ (lambda (zip-nonempty)
+ (with-current-buffer (find-file-noselect zip-nonempty)
+ (save-excursion
+ (goto-char archive-file-list-start)
+ (save-current-buffer
+ (archive-extract)
+ (save-excursion
+ (goto-char (point-max))
+ (insert ?a)
+ (save-buffer))
+ (kill-buffer (current-buffer)))
+ (archive-extract)
+ ;; [2] must be ?a; [3] must be (eobp)
+ (should (eq (char-after 2) ?a))
+ (should (eq (point-max) 3))))))
+ (delete-fn
+ (lambda (zip-nonempty)
+ (with-current-buffer (find-file-noselect zip-nonempty)
+ ;; mark delete and expunge first entry
+ (save-excursion
+ (goto-char archive-file-list-start)
+ (should (length= archive-files 2))
+ (archive-flag-deleted 1)
+ (archive--expunge-maybe-force t)
+ (should (length= archive-files 1))))))
+ (test-modify
+ (lambda (zip mod-fn)
+ (let ((zip-base (concat zip ".zip"))
+ (tag (gensym)))
+ (push zip created-files)
+ (copy-file base-zip-1 zip t)
+ (push zip-base created-files)
+ (copy-file base-zip-2 zip-base t)
+ (file-has-changed-p zip tag)
+ (file-has-changed-p zip-base tag)
+ (funcall mod-fn zip)
+ (should-not (file-has-changed-p zip-base tag))
+ (should (file-has-changed-p zip tag))))))
+ (unwind-protect
+ (progn
+ ;; setup: make two zip files with different contents
+ (mapc make-file (append content-1 content-2))
+ (funcall make-zip base-zip-1 content-1)
+ (funcall make-zip base-zip-2 content-2)
+
+ ;; test 1: with "test-update" and "test-update.zip", update
+ ;; "test-update": (1) ensure only "test-update" is modified, (2)
+ ;; ensure the contents of the new member is expected.
+ (funcall test-modify "test-update" update-fn)
+
+ ;; test 2: with "test-delete" and "test-delete.zip", delete entry
+ ;; from "test-delete": (1) ensure only "test-delete" is modified,
+ ;; (2) ensure the file list is reduced as expected.
+ (funcall test-modify "test-delete" delete-fn))
+
+ ;; Clean up created files.
+ (dolist (file created-files)
+ (ignore-errors (delete-file file))))))
+
(provide 'arc-mode-tests)
;;; arc-mode-tests.el ends here
diff --git a/test/lisp/calendar/cal-julian-tests.el b/test/lisp/calendar/cal-julian-tests.el
index e0d74e8a6cd..4207d1ee285 100644
--- a/test/lisp/calendar/cal-julian-tests.el
+++ b/test/lisp/calendar/cal-julian-tests.el
@@ -47,7 +47,7 @@
(progn
(calendar)
,@body)
- (kill-buffer "*Calendar*"))))
+ (kill-buffer calendar-buffer))))
(ert-deftest cal-julian-test-goto-date ()
(with-cal-julian-test
diff --git a/test/lisp/calendar/todo-mode-tests.el b/test/lisp/calendar/todo-mode-tests.el
index 8d4ea69e9eb..3b49dd56b69 100644
--- a/test/lisp/calendar/todo-mode-tests.el
+++ b/test/lisp/calendar/todo-mode-tests.el
@@ -934,5 +934,70 @@ since all non-initial item lines must begin with whitespace."
(insert (concat "\n" item1))
(should-error (todo-edit-quit) :type 'user-error))))
+(ert-deftest todo-test-item-insertion-with-priority-1 ()
+ "Test inserting new item when point is not on a todo item.
+When point is on the empty line at the end of the todo items
+section, insertion with priority setting should succeed."
+ (with-todo-test
+ (todo-test--show 1)
+ (goto-char (point-max))
+ ;; Now point should not be on a todo item.
+ (should-not (todo-item-start))
+ (let ((item "Point was on empty line at end of todo items section."))
+ (todo-test--insert-item item 1)
+ ;; Move point to item that was just inserted.
+ (goto-char (point-min))
+ (re-search-forward (concat todo-date-string-start todo-date-pattern
+ (regexp-quote todo-nondiary-end) " ")
+ (pos-eol) t)
+ (should (looking-at (regexp-quote item))))))
+
+(ert-deftest todo-test-item-insertion-with-priority-2 ()
+ "Test inserting new item when point is not on a todo item.
+When point is on the empty line at the end of the done items
+section, insertion with priority setting should succeed."
+ (with-todo-test
+ (todo-test--show 1)
+ (goto-char (point-max))
+ ;; See comment about recentering in todo-test-raise-lower-priority.
+ (set-window-buffer nil (current-buffer))
+ (todo-toggle-view-done-items)
+ (todo-next-item)
+ (goto-char (point-max))
+ ;; Now point should be at end of done items section, so not be on a
+ ;; todo item.
+ (should (todo-done-item-section-p))
+ (should-not (todo-item-start))
+ (let ((item "Point was on empty line at end of done items section."))
+ (todo-test--insert-item item 1)
+ ;; Move point to item that was just inserted.
+ (goto-char (point-min))
+ (re-search-forward (concat todo-date-string-start todo-date-pattern
+ (regexp-quote todo-nondiary-end) " ")
+ (pos-eol) t)
+ (should (looking-at (regexp-quote item))))))
+
+(ert-deftest todo-test-item-insertion-with-priority-3 ()
+ "Test inserting new item when point is not on a todo item.
+When point is on a done item, insertion with priority setting
+should succeed."
+ (with-todo-test
+ (todo-test--show 1)
+ (goto-char (point-max))
+ ;; See comment about recentering in todo-test-raise-lower-priority.
+ (set-window-buffer nil (current-buffer))
+ (todo-toggle-view-done-items)
+ (todo-next-item)
+ ;; Now point should be on first done item.
+ (should (and (todo-item-start) (todo-done-item-section-p)))
+ (let ((item "Point was on a done item."))
+ (todo-test--insert-item item 1)
+ ;; Move point to item that was just inserted.
+ (goto-char (point-min))
+ (re-search-forward (concat todo-date-string-start todo-date-pattern
+ (regexp-quote todo-nondiary-end) " ")
+ (pos-eol) t)
+ (should (looking-at (regexp-quote item))))))
+
(provide 'todo-mode-tests)
;;; todo-mode-tests.el ends here
diff --git a/test/lisp/dnd-tests.el b/test/lisp/dnd-tests.el
index a603f29eb6d..9f97d739cec 100644
--- a/test/lisp/dnd-tests.el
+++ b/test/lisp/dnd-tests.el
@@ -172,7 +172,7 @@ This function only tries to handle strings."
(extracted-1 (dnd-tests-extract-selection-data string-data-1 t))
(extracted (dnd-tests-extract-selection-data string-data t)))
(should (and (stringp extracted) (stringp extracted-1)))
- (should (equal extracted extracted)))
+ (should (equal extracted extracted-1)))
;; Now check text/plain.
(let ((string-data (dnd-tests-verify-selection-data
'text/plain)))
diff --git a/test/lisp/emacs-lisp/backtrace-tests.el b/test/lisp/emacs-lisp/backtrace-tests.el
index 794488edae8..e5899446ee4 100644
--- a/test/lisp/emacs-lisp/backtrace-tests.el
+++ b/test/lisp/emacs-lisp/backtrace-tests.el
@@ -226,6 +226,9 @@
"Forms in backtrace frames can be on a single line or on multiple lines."
(ert-with-test-buffer (:name "single-multi-line")
(let* ((arg '(lambda (x) ; Quote this so it isn't made into a closure.
+ ;; Make the form long enough so `number' should not
+ ;; appear on the first line once pretty-printed.
+ (interactive (region-beginning))
(let ((number (1+ x)))
(+ x number))))
(header-string "Test header: ")
@@ -280,7 +283,8 @@ line contains the strings \"lambda\" and \"number\"."
;; Verify that the form is now back on one line,
;; and that point is at the same place.
(should (string= (backtrace-tests--get-substring
- (- (point) 6) (point)) "number"))
+ (- (point) 6) (point))
+ "number"))
(should-not (= (point) (pos-bol)))
(should (string= (backtrace-tests--get-substring
(pos-bol) (1+ (pos-eol)))
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el b/test/lisp/emacs-lisp/bytecomp-tests.el
index 9ade47331df..278496f5259 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -766,6 +766,20 @@ inner loops respectively."
((eq x 2) (setq y 'c)))
(list x y)))))
(mapcar fn (bytecomp-test-identity '(0 1 2 3 10 11))))
+
+ ;; `nconc' nil arg elimination
+ (nconc (list 1 2 3 4) nil)
+ (nconc (list 1 2 3 4) nil nil)
+ (let ((x (cons 1 (cons 2 (cons 3 4)))))
+ (nconc x nil))
+ (let ((x (cons 1 (cons 2 (cons 3 4)))))
+ (nconc x nil nil))
+ (let ((x (cons 1 (cons 2 (cons 3 4)))))
+ (nconc nil x nil (list 5 6) nil))
+
+ ;; (+ 0 -0.0) etc
+ (let ((x (bytecomp-test-identity -0.0)))
+ (list x (+ x) (+ 0 x) (+ x 0) (+ 1 2 -3 x) (+ 0 x 0)))
)
"List of expressions for cross-testing interpreted and compiled code.")
@@ -1508,6 +1522,36 @@ literals (Bug#20852)."
))
'((empty-body with-suppressed-warnings))
"Warning: `with-suppressed-warnings' with empty body")
+
+ (test-suppression
+ '(defun zot ()
+ (setcar '(1 2) 3))
+ '((mutate-constant setcar))
+ "Warning: `setcar' on constant list (arg 1)")
+
+ (test-suppression
+ '(defun zot ()
+ (aset [1 2] 1 3))
+ '((mutate-constant aset))
+ "Warning: `aset' on constant vector (arg 1)")
+
+ (test-suppression
+ '(defun zot ()
+ (aset "abc" 1 ?d))
+ '((mutate-constant aset))
+ "Warning: `aset' on constant string (arg 1)")
+
+ (test-suppression
+ '(defun zot (x y)
+ (nconc x y '(1 2) '(3 4)))
+ '((mutate-constant nconc))
+ "Warning: `nconc' on constant list (arg 3)")
+
+ (test-suppression
+ '(defun zot ()
+ (put-text-property 0 2 'prop 'val "abc"))
+ '((mutate-constant put-text-property))
+ "Warning: `put-text-property' on constant string (arg 5)")
)
(ert-deftest bytecomp-tests--not-writable-directory ()
@@ -1759,11 +1803,11 @@ EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
(TEST-IN-COMMENTS t) (TEST-IN-STRINGS t) (TEST-IN-CODE t) \
(FIXTURE-FN \\='#\\='electric-pair-mode))" fill-column)))
-(defun test-bytecomp-defgroup-choice ()
- (should-not (byte-compile--suspicious-defcustom-choice 'integer))
- (should-not (byte-compile--suspicious-defcustom-choice
+(ert-deftest bytecomp-test-defcustom-type-quoted ()
+ (should-not (byte-compile--defcustom-type-quoted 'integer))
+ (should-not (byte-compile--defcustom-type-quoted
'(choice (const :tag "foo" bar))))
- (should (byte-compile--suspicious-defcustom-choice
+ (should (byte-compile--defcustom-type-quoted
'(choice (const :tag "foo" 'bar)))))
(ert-deftest bytecomp-function-attributes ()
diff --git a/test/lisp/emacs-lisp/cl-lib-tests.el b/test/lisp/emacs-lisp/cl-lib-tests.el
index 4e1a0fd63a2..b14731c4d0a 100644
--- a/test/lisp/emacs-lisp/cl-lib-tests.el
+++ b/test/lisp/emacs-lisp/cl-lib-tests.el
@@ -530,7 +530,7 @@
(ert-deftest old-struct ()
(cl-defstruct foo x)
- (let ((x [cl-struct-foo])
+ (let ((x (vector 'cl-struct-foo))
(saved cl-old-struct-compat-mode))
(cl-old-struct-compat-mode -1)
(should (eq (type-of x) 'vector))
@@ -540,7 +540,7 @@
(let ((cl-struct-foo (cl--struct-get-class 'foo)))
(setf (symbol-function 'cl-struct-foo) :quick-object-witness-check)
(should (eq (type-of x) 'foo))
- (should (eq (type-of [foo]) 'vector)))
+ (should (eq (type-of (vector 'foo)) 'vector)))
(cl-old-struct-compat-mode (if saved 1 -1))))
diff --git a/test/lisp/emacs-lisp/cl-macs-tests.el b/test/lisp/emacs-lisp/cl-macs-tests.el
index a9ec0b76ae8..983cbfc8bc7 100644
--- a/test/lisp/emacs-lisp/cl-macs-tests.el
+++ b/test/lisp/emacs-lisp/cl-macs-tests.el
@@ -535,7 +535,7 @@ collection clause."
(eval '(let ((l (list 1))) (cl-symbol-macrolet ((x 1)) (setq (car l) 0))) t))
;; Make sure `gv-synthetic-place' isn't macro-expanded before `setf' gets to
;; see its `gv-expander'.
- (should (equal (let ((l '(0)))
+ (should (equal (let ((l (list 0)))
(let ((cl (car l)))
(cl-symbol-macrolet
((p (gv-synthetic-place cl (lambda (v) `(setcar l ,v)))))
@@ -803,10 +803,30 @@ See Bug#57915."
(macroexpand form)
(should (string-empty-p messages))))))))
+(defvar cl--test-a)
+
(ert-deftest cl-&key-arguments ()
(cl-flet ((fn (&key x) x))
(should-error (fn :x))
- (should (eq (fn :x :a) :a))))
-
+ (should (eq (fn :x :a) :a)))
+ ;; In ELisp function arguments are always statically scoped (bug#47552).
+ (let ((cl--test-a 'dyn)
+ ;; FIXME: How do we silence the "Lexical argument shadows" warning?
+ (f
+ (with-suppressed-warnings ((lexical cl--test-a))
+ (cl-function (lambda (&key cl--test-a b)
+ (list cl--test-a (symbol-value 'cl--test-a) b))))))
+ (should (equal (funcall f :cl--test-a 'lex :b 2) '(lex dyn 2)))))
+
+(cl-defstruct cl--test-s
+ cl--test-a b)
+
+(ert-deftest cl-defstruct-dynbound-label-47552 ()
+ "Check that labels can have the same name as dynbound vars."
+ (let ((cl--test-a 'dyn))
+ (let ((x (make-cl--test-s :cl--test-a 4 :b cl--test-a)))
+ (should (cl--test-s-p x))
+ (should (equal (cl--test-s-cl--test-a x) 4))
+ (should (equal (cl--test-s-b x) 'dyn)))))
;;; cl-macs-tests.el ends here
diff --git a/test/lisp/emacs-lisp/cl-print-tests.el b/test/lisp/emacs-lisp/cl-print-tests.el
index 7161035d75a..af94dae310c 100644
--- a/test/lisp/emacs-lisp/cl-print-tests.el
+++ b/test/lisp/emacs-lisp/cl-print-tests.el
@@ -90,7 +90,7 @@
(ert-deftest cl-print-tests-ellipsis-circular ()
"Ellipsis expansion works with circular objects."
(let ((wide-obj (list 0 1 2 3 4))
- (deep-obj `(0 (1 (2 (3 (4))))))
+ (deep-obj (list 0 (list 1 (list 2 (list 3 (list 4))))))
(print-length 4)
(print-level 3))
(setf (nth 4 wide-obj) wide-obj)
diff --git a/test/lisp/emacs-lisp/comp-cstr-tests.el b/test/lisp/emacs-lisp/comp-cstr-tests.el
index aeb620326b0..78d9bb49b98 100644
--- a/test/lisp/emacs-lisp/comp-cstr-tests.el
+++ b/test/lisp/emacs-lisp/comp-cstr-tests.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/lisp/emacs-lisp/edebug-tests.el b/test/lisp/emacs-lisp/edebug-tests.el
index de2fff5ef19..28a7f38c576 100644
--- a/test/lisp/emacs-lisp/edebug-tests.el
+++ b/test/lisp/emacs-lisp/edebug-tests.el
@@ -116,6 +116,7 @@ back to the top level.")
(with-current-buffer (find-file edebug-tests-temp-file)
(read-only-mode)
(setq lexical-binding t)
+ (syntax-ppss)
(eval-buffer)
,@body
(when edebug-tests-failure-in-post-command
diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
index 4feaebed452..4f13881dbd4 100644
--- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
+++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
@@ -40,7 +40,7 @@ This is usually a symbol that starts with `:'."
(car tuple)
nil)))
-(defun hash-equal (hash1 hash2)
+(defun eieio-test--hash-equal (hash1 hash2)
"Compare two hash tables to see whether they are equal."
(and (= (hash-table-count hash1)
(hash-table-count hash2))
@@ -78,7 +78,7 @@ This is usually a symbol that starts with `:'."
(if initarg-p
(unless
(cond ((and (hash-table-p origvalue) (hash-table-p fromdiskvalue))
- (hash-equal origvalue fromdiskvalue))
+ (eieio-test--hash-equal origvalue fromdiskvalue))
(t (equal origvalue fromdiskvalue)))
(error "Slot %S Original Val %S != Persistent Val %S"
oneslot origvalue fromdiskvalue))
@@ -87,7 +87,7 @@ This is usually a symbol that starts with `:'."
(diskval fromdiskvalue))
(unless
(cond ((and (hash-table-p origval) (hash-table-p diskval))
- (hash-equal origval diskval))
+ (eieio-test--hash-equal origval diskval))
(t (equal origval diskval)))
(error "Slot %S Persistent Val %S != Default Value %S"
oneslot diskval origvalue))))))))
@@ -329,8 +329,8 @@ persistent class.")
"container-" emacs-version ".eieio")))
(john (make-instance 'person :name "John"))
(alexie (make-instance 'person :name "Alexie"))
- (alst '(("first" (one two three))
- ("second" (four five six)))))
+ (alst (list (list "first" (list 'one 'two 'three))
+ (list "second" (list 'four 'five 'six)))))
(setf (slot-value thing 'alist) alst)
(puthash "alst" alst (slot-value thing 'htab))
(aset (slot-value thing 'vec) 0 alst)
diff --git a/test/lisp/emacs-lisp/package-tests.el b/test/lisp/emacs-lisp/package-tests.el
index 0016fb586b7..113b4ec12a8 100644
--- a/test/lisp/emacs-lisp/package-tests.el
+++ b/test/lisp/emacs-lisp/package-tests.el
@@ -219,9 +219,14 @@ Must called from within a `tar-mode' buffer."
(ert-deftest package-test-desc-from-buffer ()
"Parse an elisp buffer to get a `package-desc' object."
- (with-package-test (:basedir (ert-resource-directory) :file "simple-single-1.3.el")
- (should (package-test--compatible-p
- (package-buffer-info) simple-single-desc 'kind)))
+ (with-package-test (:basedir (ert-resource-directory)
+ :file "simple-single-1.3.el")
+ (let ((pi (package-buffer-info)))
+ (should (package-test--compatible-p pi simple-single-desc 'kind))
+ ;; The terminating line is not mandatory any more.
+ (re-search-forward "^;;; .* ends here")
+ (delete-region (match-beginning 0) (point-max))
+ (should (equal (package-buffer-info) pi))))
(with-package-test (:basedir (ert-resource-directory) :file "simple-depend-1.0.el")
(should (package-test--compatible-p
(package-buffer-info) simple-depend-desc 'kind)))
diff --git a/test/lisp/emacs-lisp/pp-tests.el b/test/lisp/emacs-lisp/pp-tests.el
index 72c7cb880d2..1b248e19a31 100644
--- a/test/lisp/emacs-lisp/pp-tests.el
+++ b/test/lisp/emacs-lisp/pp-tests.el
@@ -23,8 +23,8 @@
(require 'ert-x)
(ert-deftest pp-print-quote ()
- (should (string= (pp-to-string 'quote) "quote"))
- (should (string= (pp-to-string ''quote) "'quote"))
+ (should (string= (pp-to-string 'quote) "quote\n"))
+ (should (string= (pp-to-string ''quote) "'quote\n"))
(should (string= (pp-to-string '('a 'b)) "('a 'b)\n"))
(should (string= (pp-to-string '(''quote 'quote)) "(''quote 'quote)\n"))
(should (string= (pp-to-string '(quote)) "(quote)\n"))
diff --git a/test/lisp/emacs-lisp/subr-x-tests.el b/test/lisp/emacs-lisp/subr-x-tests.el
index e4c270a114f..63d8fcd080c 100644
--- a/test/lisp/emacs-lisp/subr-x-tests.el
+++ b/test/lisp/emacs-lisp/subr-x-tests.el
@@ -709,14 +709,15 @@
[(raise 0.5) (height 2.0)]))
(should (equal (get-text-property 9 'display) '(raise 0.5))))
(with-temp-buffer
- (should (equal (let ((str "some useless string"))
- (add-display-text-property 4 8 'height 2.0 str)
- (add-display-text-property 2 12 'raise 0.5 str)
- str)
- #("some useless string"
- 2 4 (display (raise 0.5))
- 4 8 (display ((raise 0.5) (height 2.0)))
- 8 12 (display (raise 0.5)))))))
+ (should (equal-including-properties
+ (let ((str (copy-sequence "some useless string")))
+ (add-display-text-property 4 8 'height 2.0 str)
+ (add-display-text-property 2 12 'raise 0.5 str)
+ str)
+ #("some useless string"
+ 2 4 (display (raise 0.5))
+ 4 8 (display ((raise 0.5) (height 2.0)))
+ 8 12 (display (raise 0.5)))))))
(ert-deftest subr-x-named-let ()
(let ((funs ()))
diff --git a/test/lisp/erc/erc-button-tests.el b/test/lisp/erc/erc-button-tests.el
new file mode 100644
index 00000000000..6a6f6934389
--- /dev/null
+++ b/test/lisp/erc/erc-button-tests.el
@@ -0,0 +1,283 @@
+;;; erc-button-tests.el --- Tests for erc-button -*- lexical-binding:t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published
+;; by the Free Software Foundation, either version 3 of the License,
+;; or (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'erc-button)
+
+(ert-deftest erc-button-alist--url ()
+ (setq erc-server-process
+ (start-process "sleep" (current-buffer) "sleep" "1"))
+ (set-process-query-on-exit-flag erc-server-process nil)
+ (with-current-buffer (erc--open-target "#chan")
+ (let ((verify
+ (lambda (p url)
+ (should (equal (get-text-property p 'erc-data) (list url)))
+ (should (equal (get-text-property p 'mouse-face) 'highlight))
+ (should (eq (get-text-property p 'font-lock-face) 'erc-button))
+ (should (eq (get-text-property p 'erc-callback)
+ 'browse-url-button-open-url)))))
+ (goto-char (point-min))
+
+ ;; Most common (unbracketed)
+ (erc-display-message nil nil (current-buffer)
+ "Foo https://example.com bar.")
+ (search-forward "https")
+ (funcall verify (point) "https://example.com")
+
+ ;; The <URL: form> still works despite being removed in ERC 5.6.
+ (erc-display-message nil nil (current-buffer)
+ "Foo <URL: https://gnu.org> bar.")
+ (search-forward "https")
+ (funcall verify (point) "https://gnu.org")
+
+ ;; Bracketed
+ (erc-display-message nil nil (current-buffer) "Foo <ftp://gnu.org> bar.")
+ (search-forward "ftp")
+ (funcall verify (point) "ftp://gnu.org"))
+
+ (when noninteractive
+ (kill-buffer))))
+
+(defvar erc-button-tests--form nil)
+(defvar erc-button-tests--some-var nil)
+
+(defun erc-button-tests--form (&rest rest)
+ (push rest erc-button-tests--form)
+ (apply #'erc-button-add-button rest))
+
+(defun erc-button-tests--erc-button-alist--function-as-form (func)
+ (setq erc-server-process
+ (start-process "sleep" (current-buffer) "sleep" "1"))
+ (set-process-query-on-exit-flag erc-server-process nil)
+
+ (with-current-buffer (erc--open-target "#chan")
+ (let* ((erc-button-tests--form nil)
+ (entry (list (rx "+1") 0 func #'ignore 0))
+ (erc-button-alist (cons entry erc-button-alist)))
+
+ (erc-display-message nil 'notice (current-buffer) "Foo bar baz")
+ (erc-display-message nil nil (current-buffer) "+1")
+ (erc-display-message nil 'notice (current-buffer) "Spam")
+ (should (equal (pop erc-button-tests--form)
+ '(53 55 ignore nil ("+1") "\\+1")))
+ (should-not erc-button-tests--form)
+ (goto-char (point-min))
+ (search-forward "+")
+ (should (equal (get-text-property (point) 'erc-data) '("+1")))
+ (should (equal (get-text-property (point) 'mouse-face) 'highlight))
+ (should (eq (get-text-property (point) 'font-lock-face) 'erc-button))
+ (should (eq (get-text-property (point) 'erc-callback) 'ignore)))
+
+ (when noninteractive
+ (kill-buffer))))
+
+(ert-deftest erc-button-alist--function-as-form ()
+ (erc-button-tests--erc-button-alist--function-as-form
+ #'erc-button-tests--form)
+
+ (erc-button-tests--erc-button-alist--function-as-form
+ (symbol-function #'erc-button-tests--form))
+
+ (erc-button-tests--erc-button-alist--function-as-form
+ (lambda (&rest r) (push r erc-button-tests--form)
+ (apply #'erc-button-add-button r))))
+
+(defun erc-button-tests--erc-button-alist--nil-form (form)
+ (setq erc-server-process
+ (start-process "sleep" (current-buffer) "sleep" "1"))
+ (set-process-query-on-exit-flag erc-server-process nil)
+
+ (with-current-buffer (erc--open-target "#chan")
+ (let* ((erc-button-tests--form nil)
+ (entry (list (rx "+1") 0 form #'ignore 0))
+ (erc-button-alist (cons entry erc-button-alist)))
+
+ (erc-display-message nil 'notice (current-buffer) "Foo bar baz")
+ (erc-display-message nil nil (current-buffer) "+1")
+ (erc-display-message nil 'notice (current-buffer) "Spam")
+ (should-not erc-button-tests--form)
+ (goto-char (point-min))
+ (search-forward "+")
+ (should-not (get-text-property (point) 'erc-data))
+ (should-not (get-text-property (point) 'mouse-face))
+ (should-not (get-text-property (point) 'font-lock-face))
+ (should-not (get-text-property (point) 'erc-callback)))
+
+ (when noninteractive
+ (kill-buffer))))
+
+(ert-deftest erc-button-alist--nil-form ()
+ (erc-button-tests--erc-button-alist--nil-form nil)
+ (erc-button-tests--erc-button-alist--nil-form 'erc-button-tests--some-var))
+
+(defun erc-button-tests--insert-privmsg (speaker &rest msg-parts)
+ (declare (indent 1))
+ (let ((msg (erc-format-privmessage speaker
+ (apply #'concat msg-parts) nil t)))
+ (erc-display-message nil nil (current-buffer) msg)))
+
+(defun erc-button-tests--populate (test)
+ (let ((inhibit-message noninteractive)
+ erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
+
+ (with-current-buffer
+ (cl-letf
+ (((symbol-function 'erc-server-connect)
+ (lambda (&rest _)
+ (setq erc-server-process
+ (start-process "sleep" (current-buffer) "sleep" "1"))
+ (set-process-query-on-exit-flag erc-server-process nil))))
+
+ (erc-open "localhost" 6667 "tester" "Tester" 'connect
+ nil nil nil nil nil "tester" 'foonet))
+
+ (with-current-buffer (erc--open-target "#chan")
+ (erc-update-channel-member
+ "#chan" "alice" "alice" t nil nil nil nil nil "fake" "~u" nil nil t)
+
+ (erc-update-channel-member
+ "#chan" "bob" "bob" t nil nil nil nil nil "fake" "~u" nil nil t)
+
+ (erc-display-message
+ nil 'notice (current-buffer)
+ (concat "This server is in debug mode and is logging all user I/O. "
+ "Blah alice (1) bob (2) blah."))
+
+ (funcall test))
+
+ (when noninteractive
+ (kill-buffer "#chan")
+ (kill-buffer)))))
+
+(ert-deftest erc-button-next ()
+ (erc-button-tests--populate
+ (lambda ()
+ (erc-button-tests--insert-privmsg "alice"
+ "(3) bob (4) come, you are a tedious fool: to the purpose.")
+
+ (erc-button-tests--insert-privmsg "bob"
+ "(5) alice (6) Come me to what was done to her.")
+
+ (should (= erc-input-marker (point)))
+
+ ;; Break out of input area
+ (erc-button-previous 1)
+ (should (looking-at (rx "alice (6)")))
+
+ ;; No next button
+ (should-error (erc-button-next 1) :type 'user-error)
+ (should (looking-at (rx "alice (6)")))
+
+ ;; Next with negative arg is equivalent to previous
+ (erc-button-next -1)
+ (should (looking-at (rx "bob> (5)")))
+
+ ;; One past end of button
+ (forward-char 3)
+ (should (looking-at (rx "> (5)")))
+ (should-not (get-text-property (point) 'erc-callback))
+ (erc-button-previous 1)
+ (should (looking-at (rx "bob> (5)")))
+
+ ;; At end of button
+ (forward-char 2)
+ (should (looking-at (rx "b> (5)")))
+ (erc-button-previous 1)
+ (should (looking-at (rx "bob (4)")))
+
+ ;; Skip multiple buttons back
+ (erc-button-previous 2)
+ (should (looking-at (rx "bob (2)")))
+
+ ;; Skip multiple buttons forward
+ (erc-button-next 2)
+ (should (looking-at (rx "bob (4)")))
+
+ ;; No error as long as some progress made
+ (erc-button-previous 100)
+ (should (looking-at (rx "alice (1)")))
+
+ ;; Error when no progress made
+ (should-error (erc-button-previous 1) :type 'user-error)
+ (should (looking-at (rx "alice (1)"))))))
+
+;; See also `erc-scenarios-networks-announced-missing' in
+;; erc-scenarios-misc.el for a more realistic example.
+(ert-deftest erc-button--display-error-notice-with-keys ()
+ (with-current-buffer (get-buffer-create "*fake*")
+ (let ((mode erc-button-mode)
+ (inhibit-message noninteractive)
+ erc-modules
+ erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
+ (erc-mode)
+ (setq erc-server-process
+ (start-process "sleep" (current-buffer) "sleep" "1"))
+ (set-process-query-on-exit-flag erc-server-process nil)
+ (erc--initialize-markers (point) nil)
+ (erc-button-mode +1)
+ (should (equal (erc-button--display-error-notice-with-keys
+ "If \\[erc-bol] fails, "
+ "see \\[erc-bug] or `erc-mode-map'.")
+ "*** If C-a fails, see M-x erc-bug or `erc-mode-map'."))
+ (goto-char (point-min))
+
+ (ert-info ("Keymap substitution succeeds")
+ (erc-button-next 1)
+ (should (looking-at "C-a"))
+ (should (eq (get-text-property (point) 'mouse-face) 'highlight))
+ (erc-button-press-button)
+ (with-current-buffer "*Help*"
+ (goto-char (point-min))
+ (should (search-forward "erc-bol" nil t)))
+ (erc-button-next 1)
+ ;; End of interval correct
+ (erc-button-previous 1)
+ (should (looking-at "C-a fails")))
+
+ (ert-info ("Extended command mapping succeeds")
+ (erc-button-next 1)
+ (should (looking-at "M-x erc-bug"))
+ (erc-button-press-button)
+ (should (eq (get-text-property (point) 'mouse-face) 'highlight))
+ (with-current-buffer "*Help*"
+ (goto-char (point-min))
+ (should (search-forward "erc-bug" nil t))))
+
+ (ert-info ("Symbol-description face preserved") ; mutated by d-e-n-w-k
+ (erc-button-next 1)
+ (should (equal (get-text-property (point) 'font-lock-face)
+ '(erc-button erc-error-face)))
+ (should (eq (get-text-property (point) 'mouse-face) 'highlight))
+ (should (eq erc-button-face 'erc-button))) ; extent evaporates
+
+ (ert-info ("Format when trailing args include non-strings")
+ (should (equal (erc-button--display-error-notice-with-keys
+ "abc" " %d def" " 45%s" 123 '\6)
+ "*** abc 123 def 456")))
+
+ (when noninteractive
+ (unless mode
+ (erc-button-mode -1))
+ (kill-buffer "*Help*")
+ (kill-buffer)))))
+
+;;; erc-button-tests.el ends here
diff --git a/test/lisp/erc/erc-dcc-tests.el b/test/lisp/erc/erc-dcc-tests.el
index 7fb5f82e784..f02ddf228a2 100644
--- a/test/lisp/erc/erc-dcc-tests.el
+++ b/test/lisp/erc/erc-dcc-tests.el
@@ -57,11 +57,8 @@
(erc-mode)
(setq erc-server-process
(start-process "fake" (current-buffer) "sleep" "10")
- erc-input-marker (make-marker)
- erc-insert-marker (make-marker)
erc-server-current-nick "dummy")
- (erc-display-prompt)
- (set-marker erc-insert-marker (pos-bol))
+ (erc--initialize-markers (point) nil)
(set-process-query-on-exit-flag erc-server-process nil)
(should-not erc-dcc-list)
(erc-ctcp-query-DCC erc-server-process
@@ -121,17 +118,14 @@
calls)
(erc-mode)
(setq erc-server-process proc
- erc-input-marker (make-marker)
- erc-insert-marker (make-marker)
erc-server-current-nick "dummy")
+ (erc--initialize-markers (point) nil)
(set-process-query-on-exit-flag proc nil)
(cl-letf (((symbol-function 'read-file-name)
(lambda (&rest _) file))
((symbol-function 'erc-dcc-get-file)
(lambda (&rest r) (push r calls))))
(goto-char (point-max))
- (set-marker erc-insert-marker (point-max))
- (erc-display-prompt)
(ert-info ("No turbo")
(should-not (plist-member elt :turbo))
diff --git a/test/lisp/erc/erc-fill-tests.el b/test/lisp/erc/erc-fill-tests.el
index f249be8fb86..15a8087f848 100644
--- a/test/lisp/erc/erc-fill-tests.el
+++ b/test/lisp/erc/erc-fill-tests.el
@@ -94,6 +94,8 @@
;; Defend against non-local exits from `ert-skip'
(unwind-protect
(funcall test)
+ (when set-transient-map-timer
+ (timer-event-handler set-transient-map-timer))
(set-window-buffer (selected-window) original-window-buffer)
(when noninteractive
(while-let ((buf (pop erc-fill-tests--buffers)))
@@ -107,10 +109,12 @@
(dolist (prefix prefixes)
(should (search-forward prefix nil t))
(should (get-text-property (pos-bol) 'line-prefix))
- (should (get-text-property (pos-eol) 'line-prefix))
+ (should (get-text-property (1- (pos-eol)) 'line-prefix))
+ (should-not (get-text-property (pos-eol) 'line-prefix))
(should (equal (get-text-property (pos-bol) 'wrap-prefix)
'(space :width erc-fill--wrap-value)))
- (should (equal (get-text-property (pos-eol) 'wrap-prefix)
+ (should-not (get-text-property (pos-eol) 'wrap-prefix))
+ (should (equal (get-text-property (1- (pos-eol)) 'wrap-prefix)
'(space :width erc-fill--wrap-value))))))
;; Set this variable to t to generate new snapshots after carefully
@@ -118,10 +122,14 @@
;; Obviously, only run one test at a time.
(defvar erc-fill-tests--save-p nil)
+;; On graphical displays, echo .graphic >> .git/info/exclude
+(defvar erc-fill-tests--graphic-dir "fill/snapshots/.graphic")
+
(defun erc-fill-tests--compare (name)
- (when (display-graphic-p)
- (setq name (concat name "-graphic")))
- (let* ((dir (expand-file-name "fill/snapshots/" (ert-resource-directory)))
+ (let* ((dir (expand-file-name (if (display-graphic-p)
+ erc-fill-tests--graphic-dir
+ "fill/snapshots/")
+ (ert-resource-directory)))
(expect-file (file-name-with-extension (expand-file-name name dir)
"eld"))
(erc--own-property-names
@@ -203,18 +211,23 @@
(erc-fill-tests--wrap-populate
(lambda ()
+ (erc-update-channel-member
+ "#chan" "Dummy" "Dummy" t nil nil nil nil nil "fake" "~u" nil nil t)
+
;; Set this here so that the first few messages are from 1970
(let ((erc-fill-tests--time-vals (lambda () 1680332400)))
(erc-fill-tests--insert-privmsg "bob" "zero.")
(erc-fill-tests--insert-privmsg "alice" "one.")
(erc-fill-tests--insert-privmsg "alice" "two.")
(erc-fill-tests--insert-privmsg "bob" "three.")
- (erc-fill-tests--insert-privmsg "bob" "four."))
+ (erc-fill-tests--insert-privmsg "bob" "four.")
+ (erc-fill-tests--insert-privmsg "Dummy" "five.")
+ (erc-fill-tests--insert-privmsg "Dummy" "six."))
(should (= erc-fill--wrap-value 27))
(erc-fill-tests--wrap-check-prefixes
"*** " "<alice> " "<bob> "
- "<bob> " "<alice> " "<alice> " "<bob> " "<bob> ")
+ "<bob> " "<alice> " "<alice> " "<bob> " "<bob> " "<Dummy> " "<Dummy> ")
(erc-fill-tests--compare "merge-01-start")
(ert-info ("Shift right by one (plus)")
@@ -222,9 +235,23 @@
(should (= erc-fill--wrap-value 29))
(erc-fill-tests--wrap-check-prefixes
"*** " "<alice> " "<bob> "
- "<bob> " "<alice> " "<alice> " "<bob> " "<bob> ")
+ "<bob> " "<alice> " "<alice> " "<bob> " "<bob> " "<Dummy> " "<Dummy> ")
(erc-fill-tests--compare "merge-02-right")))))
+(ert-deftest erc-fill-line-spacing ()
+ :tags '(:unstable)
+ (unless (>= emacs-major-version 29)
+ (ert-skip "Emacs version too low, missing `buffer-text-pixel-size'"))
+
+ (let ((erc-fill-line-spacing 0.5))
+ (erc-fill-tests--wrap-populate
+ (lambda ()
+ (erc-fill-tests--insert-privmsg "bob" "This buffer is for text.")
+ (erc-display-message nil 'notice (current-buffer) "one two three")
+ (erc-display-message nil 'notice (current-buffer) "four five six")
+ (erc-fill-tests--insert-privmsg "bob" "Somebody stop me")
+ (erc-fill-tests--compare "spacing-01-mono")))))
+
(ert-deftest erc-fill-wrap-visual-keys--body ()
:tags '(:unstable)
(erc-fill-tests--wrap-populate
diff --git a/test/lisp/erc/erc-goodies-tests.el b/test/lisp/erc/erc-goodies-tests.el
index a1f53c5bf88..7acacb319f1 100644
--- a/test/lisp/erc/erc-goodies-tests.el
+++ b/test/lisp/erc/erc-goodies-tests.el
@@ -21,7 +21,6 @@
;;; Code:
(require 'ert-x)
(require 'erc-goodies)
-(declare-function erc--initialize-markers "erc" (old-point continued) t)
(defun erc-goodies-tests--assert-face (beg end-str present &optional absent)
(setq beg (+ beg (point-min)))
@@ -44,9 +43,6 @@
;; https://modern.ircdocs.horse/formatting.html
(ert-deftest erc-controls-highlight--examples ()
- ;; FIXME remove after adding
- (unless (fboundp 'erc--initialize-markers)
- (ert-skip "Missing required function"))
(should (eq t erc-interpret-controls-p))
(let ((erc-insert-modify-hook '(erc-controls-highlight))
erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
@@ -130,9 +126,6 @@
;; in a high-contrast face.
(ert-deftest erc-controls-highlight--inverse ()
- ;; FIXME remove after adding
- (unless (fboundp 'erc--initialize-markers)
- (ert-skip "Missing required function"))
(should (eq t erc-interpret-controls-p))
(let ((erc-insert-modify-hook '(erc-controls-highlight))
erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
@@ -212,9 +205,6 @@
(":- ")))
(ert-deftest erc-controls-highlight--motd ()
- ;; FIXME remove after adding
- (unless (fboundp 'erc--initialize-markers)
- (ert-skip "Missing required function"))
(should (eq t erc-interpret-controls-p))
(let ((erc-insert-modify-hook '(erc-controls-highlight))
erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
@@ -256,12 +246,12 @@
;; needed.
(ert-deftest erc-keep-place-indicator-mode ()
- ;; FIXME remove after adding
- (unless (fboundp 'erc--initialize-markers)
- (ert-skip "Missing required function"))
(with-current-buffer (get-buffer-create "*erc-keep-place-indicator-mode*")
(erc-mode)
(erc--initialize-markers (point) nil)
+ (setq erc-server-process
+ (start-process "sleep" (current-buffer) "sleep" "1"))
+ (set-process-query-on-exit-flag erc-server-process nil)
(let ((assert-off
(lambda ()
(should-not erc-keep-place-indicator-mode)
@@ -275,6 +265,7 @@
(should erc-keep-place-mode)))
;;
erc-insert-pre-hook
+ erc-connect-pre-hook
erc-modules)
(funcall assert-off)
diff --git a/test/lisp/erc/erc-networks-tests.el b/test/lisp/erc/erc-networks-tests.el
index b9d216f217b..f0fcbbc81c6 100644
--- a/test/lisp/erc/erc-networks-tests.el
+++ b/test/lisp/erc/erc-networks-tests.el
@@ -1233,10 +1233,7 @@
:contents "MOTD File is missing")))
(erc-mode) ; boilerplate displayable start (needs `erc-server-process')
- (insert "\n\n")
- (setq erc-input-marker (make-marker) erc-insert-marker (make-marker))
- (set-marker erc-insert-marker (point-max))
- (erc-display-prompt) ; boilerplate displayable end
+ (erc--initialize-markers (point) nil)
(erc-networks--ensure-announced erc-server-process parsed)
(goto-char (point-min))
@@ -1277,9 +1274,9 @@
(with-current-buffer old-buf
(erc-mode)
(insert "*** Old buf")
+ (erc--initialize-markers (point) nil)
(setq erc-network 'FooNet
erc-server-current-nick "tester"
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc
erc-networks--id (erc-networks--id-create nil)))
@@ -1328,10 +1325,10 @@
erc-reuse-buffers)
(with-current-buffer old-buf
(erc-mode)
+ (erc--initialize-markers (point) nil)
(insert "*** Old buf")
(setq erc-network 'FooNet
erc-server-current-nick "tester"
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc
erc-networks--id (erc-networks--id-create nil)))
(with-current-buffer (get-buffer-create "#chan")
@@ -1377,10 +1374,10 @@
(with-current-buffer old-buf
(erc-mode)
+ (erc--initialize-markers (point) nil)
(insert "*** Old buf")
(setq erc-network 'FooNet
erc-server-current-nick "tester"
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc
erc-networks--id (erc-networks--id-create nil)))
@@ -1415,10 +1412,10 @@
(with-current-buffer old-buf
(erc-mode)
+ (erc--initialize-markers (point) nil)
(insert "*** Old buf")
(setq erc-network 'FooNet
erc-networks--id (erc-networks--id-create 'MySession)
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc))
(with-current-buffer (get-buffer-create "#chan")
@@ -1454,10 +1451,10 @@
(with-current-buffer old-buf
(erc-mode)
+ (erc--initialize-markers (point) nil)
(insert "*** Old buf")
(setq erc-network 'FooNet
erc-server-current-nick "tester"
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc
erc-networks--id (erc-networks--id-create nil))
(should (erc-server-process-alive)))
@@ -1473,15 +1470,12 @@
(ert-info ("New buffer rejected, abandoned, not killed")
(with-current-buffer (get-buffer-create "irc.foonet.org")
(erc-mode)
+ (erc--initialize-markers (point) nil)
(setq erc-network 'FooNet
erc-server-current-nick "tester"
- erc-insert-marker (make-marker)
- erc-input-marker (make-marker)
erc-server-process (erc-networks-tests--create-live-proc)
erc-networks--id (erc-networks--id-create nil))
(set-process-sentinel erc-server-process #'ignore)
- (erc-display-prompt nil (point-max))
- (set-marker erc-insert-marker (pos-bol))
(erc-display-message nil 'notice (current-buffer) "notice")
(with-silent-modifications
(should-not (erc-networks--rename-server-buffer erc-server-process)))
@@ -1514,10 +1508,10 @@
(with-current-buffer old-buf
(erc-mode)
(insert "*** Old buf")
+ (erc--initialize-markers (point) nil)
(setq erc-network 'FooNet
erc-server-current-nick "tester"
erc-server-announced-name "us-east.foonet.org"
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc
erc--isupport-params (make-hash-table)
erc-networks--id (erc-networks--id-create nil))
@@ -1566,10 +1560,10 @@
(with-current-buffer old-buf
(erc-mode)
(insert "*** Old buf")
+ (erc--initialize-markers (point) nil)
(setq erc-network 'FooNet
erc-server-current-nick "tester"
erc-server-announced-name "us-west.foonet.org"
- erc-insert-marker (set-marker (make-marker) (point-max))
erc-server-process old-proc
erc--isupport-params (make-hash-table)
erc-networks--id (erc-networks--id-create nil))
diff --git a/test/lisp/erc/erc-scenarios-base-attach.el b/test/lisp/erc/erc-scenarios-base-attach.el
new file mode 100644
index 00000000000..ccf5d1f9582
--- /dev/null
+++ b/test/lisp/erc/erc-scenarios-base-attach.el
@@ -0,0 +1,191 @@
+;;; erc-scenarios-base-attach.el --- Reattach scenarios -*- lexical-binding: t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; See also: `erc-scenarios-base-channel-buffer-revival'.
+;;
+;; ERC 5.5 silently dropped support for the ancient option
+;; `erc-query-on-unjoined-chan-privmsg' because the tangled logic in
+;; and around the function `erc-auto-query' made it difficult to
+;; divine its purpose.
+;;
+;; Based on the name, it was thought this option likely involved
+;; controlling the creation of query buffers for unsolicited messages
+;; from users with whom you don't share a common channel. However,
+;; additional spelunking has recently revealed that it was instead
+;; meant to service a feature offered by most bouncers that sends
+;; PRIVMSGs directed at a channel you're no longer in and that you
+;; haven't received a(nother) JOIN message for. IOW, this is meant to
+;; support the following sequence of events:
+;;
+;; 1. /detach #chan
+;; 2. kill buffer #chan or reconnect in new Emacs session
+;; 3. /playbuffer #chan
+;;
+;; Note that the above slash commands are bouncer-specific aliases.
+;;
+;; Interested users can find more info by looking at this change set
+;; from the ancient CVS repo:
+;;
+;; Author: Mario Lang <mlang@delysid.org>
+;; AuthorDate: Mon Nov 26 18:33:19 2001 +0000
+;;
+;; * new function erc-BBDB-NICK to handle nickname anotation ...
+;; * Applied antifuchs/mhp patches, the latest on erc-help, unmodified
+;; * New variable: erc-reuse-buffers default to t.
+;; * Modified erc-generate-new-buffer-name to use it. it checks if
+;; server and port are the same, then one can assume thats the same
+;; channel/query target again.
+
+;;; Code:
+
+(require 'ert-x)
+(eval-and-compile
+ (let ((load-path (cons (ert-resource-directory) load-path)))
+ (require 'erc-scenarios-common)))
+
+(ert-deftest erc-scenarios-base-attach--ensure-target-buffer--enabled ()
+ :tags '(:expensive-test)
+ (should erc-ensure-target-buffer-on-privmsg)
+
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/channel-buffer-revival")
+ (dumb-server (erc-d-run "localhost" t 'reattach))
+ (port (process-contact dumb-server :service))
+ (erc-server-flood-penalty 0.1)
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :password "tester@vanilla/foonet:changeme"
+ :full-name "tester")
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))))
+
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "foonet"))
+ (erc-cmd-MSG "*status playbuffer #chan"))
+
+ (ert-info ("Playback appears in buffer #chan")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
+ (funcall expect 10 "Buffer Playback...")
+ (funcall expect 10 "Was I a child")
+ (funcall expect 10 "Thou counterfeit'st most lively")
+ (funcall expect 10 "Playback Complete")))
+
+ (with-current-buffer "foonet"
+ (erc-cmd-MSG "*status attach #chan"))
+
+ (ert-info ("Live output from #chan after more playback")
+ (with-current-buffer "#chan"
+ (funcall expect 10 "Buffer Playback...")
+ (funcall expect 10 "With what it loathes")
+ (funcall expect 10 "Not by his breath")
+ (funcall expect 10 "Playback Complete")
+ (funcall expect 10 "Ay, and the captain")
+ (erc-scenarios-common-say "bob: hi")
+ (funcall expect 10 "Pawn me to this")))))
+
+(ert-deftest erc-scenarios-base-attach--ensure-target-buffer--disabled ()
+ :tags '(:expensive-test)
+ (should erc-ensure-target-buffer-on-privmsg)
+
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/channel-buffer-revival")
+ (dumb-server (erc-d-run "localhost" t 'reattach))
+ (port (process-contact dumb-server :service))
+ (erc-server-flood-penalty 0.1)
+ (erc-ensure-target-buffer-on-privmsg nil) ; off
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :password "tester@vanilla/foonet:changeme"
+ :full-name "tester")
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))))
+
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "foonet"))
+ (erc-cmd-MSG "*status playbuffer #chan")
+ (ert-info ("Playback appears in buffer server buffer")
+ (erc-d-t-ensure-for -1 (not (get-buffer "#chan")))
+ (funcall expect 10 "Buffer Playback...")
+ (funcall expect 10 "Was I a child")
+ (funcall expect 10 "Thou counterfeit'st most lively")
+ (funcall expect 10 "Playback Complete"))
+ (should-not (get-buffer "#chan"))
+ (erc-cmd-MSG "*status attach #chan"))
+
+ (ert-info ("Buffer #chan joined")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
+ (funcall expect 10 "Buffer Playback...")
+ (funcall expect 10 "With what it loathes")
+ (funcall expect 10 "Not by his breath")
+ (funcall expect 10 "Playback Complete")
+ (funcall expect 10 "Ay, and the captain")
+ (erc-scenarios-common-say "bob: hi")
+ (funcall expect 10 "Pawn me to this")))))
+
+
+;; We omit the `enabled' case for queries because it's the default for
+;; this option and already covered many times over by other tests in
+;; this directory.
+
+(ert-deftest erc-scenarios-base-attach--ensure-target-buffer--disabled-query ()
+ :tags '(:expensive-test)
+ (should erc-ensure-target-buffer-on-privmsg)
+
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/assoc/queries")
+ (dumb-server (erc-d-run "localhost" t 'non-erc))
+ (port (process-contact dumb-server :service))
+ (expect (erc-d-t-make-expecter))
+ (erc-ensure-target-buffer-on-privmsg nil)
+ (erc-server-flood-penalty 0.1))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :user "tester"
+ :full-name "tester")
+ (erc-scenarios-common-assert-initial-buf-name nil port)
+ (erc-d-t-wait-for 5 (eq erc-network 'foonet))
+ (funcall expect 15 "debug mode")))
+
+ (ert-info ("User dummy's greeting appears in server buffer")
+ (erc-d-t-wait-for -1 (get-buffer "dummy"))
+ (with-current-buffer "foonet"
+ (funcall expect 5 "hi")
+
+ (ert-info ("Option being nil doesn't queries we create")
+ (with-current-buffer (erc-cmd-QUERY "nitwit")
+ (should (equal (buffer-name) "nitwit"))
+ (erc-scenarios-common-say "hola")
+ (funcall expect 5 "ciao")))
+
+ (erc-scenarios-common-say "howdy")
+ (funcall expect 5 "no target")
+ (erc-cmd-MSG "dummy howdy")
+ (funcall expect 5 "bye")
+ (erc-cmd-QUIT "")))))
+
+;;; erc-scenarios-base-attach.el ends here
diff --git a/test/lisp/erc/erc-scenarios-base-buffer-display.el b/test/lisp/erc/erc-scenarios-base-buffer-display.el
new file mode 100644
index 00000000000..548ad00e2d9
--- /dev/null
+++ b/test/lisp/erc/erc-scenarios-base-buffer-display.el
@@ -0,0 +1,235 @@
+;;; erc-scenarios-base-buffer-display.el --- Buffer display scenarios -*- lexical-binding: t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert-x)
+(eval-and-compile
+ (let ((load-path (cons (ert-resource-directory) load-path)))
+ (require 'erc-scenarios-common)))
+
+(eval-when-compile (require 'erc-join))
+
+;; These first couple `erc-reconnect-display' tests used to live in
+;; erc-scenarios-base-reconnect but have since been renamed.
+
+(defun erc-scenarios-base-buffer-display--reconnect-common
+ (assert-server assert-chan assert-rest)
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/reconnect")
+ (dumb-server (erc-d-run "localhost" t 'options 'options-again))
+ (port (process-contact dumb-server :service))
+ (expect (erc-d-t-make-expecter))
+ (erc-server-flood-penalty 0.1)
+ (erc-server-auto-reconnect t)
+ erc-autojoin-channels-alist)
+
+ (should (memq 'autojoin erc-modules))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :password "changeme"
+ :full-name "tester")
+ (funcall assert-server expect)
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))
+ (funcall expect 10 "debug mode")))
+
+ (ert-info ("Wait for some output in channels")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
+ (funcall assert-chan expect)
+ (funcall expect 10 "welcome")))
+
+ (ert-info ("Server buffer shows connection failed")
+ (with-current-buffer "FooNet"
+ (funcall expect 10 "Connection failed! Re-establishing")))
+
+ (should (equal erc-autojoin-channels-alist '((FooNet "#chan"))))
+ (delete-other-windows)
+ (pop-to-buffer-same-window "*Messages*")
+
+ (ert-info ("Wait for auto reconnect")
+ (with-current-buffer "FooNet" (funcall expect 10 "still in debug mode")))
+
+ (funcall assert-rest expect)
+
+ (ert-info ("Wait for activity to recommence in both channels")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
+ (funcall expect 10 "forest of Arden"))
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#spam"))
+ (funcall expect 10 "her elves come here anon")))))
+
+(ert-deftest erc-scenarios-base-buffer-display--defwin-recbury-intbuf ()
+ :tags '(:expensive-test)
+ (should (eq erc-buffer-display 'bury))
+ (should (eq erc-interactive-display 'window))
+ (should-not erc-reconnect-display)
+
+ (let ((erc-buffer-display 'window)
+ (erc-interactive-display 'buffer)
+ (erc-reconnect-display 'bury))
+
+ (erc-scenarios-base-buffer-display--reconnect-common
+
+ (lambda (_)
+ (should (eq (window-buffer) (current-buffer)))
+ (should-not (frame-root-window-p (selected-window))))
+
+ (lambda (_)
+ (should (eq (window-buffer) (current-buffer)))
+ (should (equal (get-buffer "FooNet") (window-buffer (next-window)))))
+
+ (lambda (_)
+ (with-current-buffer "FooNet"
+ (should (eq (window-buffer) (messages-buffer)))
+ (should (frame-root-window-p (selected-window))))
+
+ ;; A manual /JOIN command tells ERC we're done auto-reconnecting
+ (with-current-buffer "FooNet" (erc-scenarios-common-say "/JOIN #spam"))
+
+ (ert-info ("#spam ignores `erc-reconnect-display'")
+ ;; Uses `erc-interactive-display' instead.
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#spam"))
+ (should (eq (window-buffer) (get-buffer "#spam")))
+ ;; Option `buffer' replaces entire window (no split)
+ (erc-d-t-wait-for 5 (frame-root-window-p (selected-window)))))))))
+
+(ert-deftest erc-scenarios-base-buffer-display--defwino-recbury-intbuf ()
+ :tags '(:expensive-test)
+ (should (eq erc-buffer-display 'bury))
+ (should (eq erc-interactive-display 'window))
+ (should-not erc-reconnect-display)
+
+ (let ((erc-buffer-display 'window-noselect)
+ (erc-reconnect-display 'bury)
+ (erc-interactive-display 'buffer))
+ (erc-scenarios-base-buffer-display--reconnect-common
+
+ (lambda (_)
+ ;; Selected window shows some non-ERC buffer. New server
+ ;; buffer appears in another window (other side of split).
+ (should-not (frame-root-window-p (selected-window)))
+ (should-not (eq (window-buffer) (current-buffer)))
+ (with-current-buffer (window-buffer)
+ (should-not (derived-mode-p 'erc-mode)))
+ (should (eq (current-buffer) (window-buffer (next-window)))))
+
+ (lambda (_)
+ (should-not (frame-root-window-p (selected-window)))
+ ;; Current split likely shows scratch.
+ (with-current-buffer (window-buffer)
+ (should-not (derived-mode-p 'erc-mode)))
+ (should (eq (current-buffer) (window-buffer (next-window)))))
+
+ (lambda (_)
+ (with-current-buffer "FooNet"
+ (should (eq (window-buffer) (messages-buffer)))
+ (should (frame-root-window-p (selected-window))))
+
+ ;; A non-interactive JOIN command doesn't signal that we're
+ ;; done auto-reconnecting, and `erc-interactive-display' is
+ ;; ignored, so `erc-buffer-display' is again in charge (here,
+ ;; that means `window-noselect').
+ (ert-info ("Join chan noninteractively and open a /QUERY")
+ (with-current-buffer "FooNet"
+ (erc-cmd-JOIN "#spam")
+ ;; However this will reset the option.
+ (erc-scenarios-common-say "/QUERY bob")
+ (should (eq (window-buffer) (get-buffer "bob")))
+ (should (frame-root-window-p (selected-window)))))
+
+ (ert-info ("Newly joined chan ignores `erc-reconnect-display'")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#spam"))
+ (should (eq (window-buffer) (get-buffer "bob")))
+ (should-not (frame-root-window-p (selected-window)))
+ (should (eq (current-buffer) (window-buffer (next-window))))))))))
+
+(ert-deftest erc-scenarios-base-buffer-display--count-reset-timeout ()
+ :tags '(:expensive-test)
+ (should (eq erc-buffer-display 'bury))
+ (should (eq erc-interactive-display 'window))
+ (should (eq erc-reconnect-display-timeout 10))
+ (should-not erc-reconnect-display)
+
+ (let ((erc-buffer-display 'window-noselect)
+ (erc-reconnect-display 'bury)
+ (erc-interactive-display 'buffer)
+ (erc-reconnect-display-timeout 0.5))
+ (erc-scenarios-base-buffer-display--reconnect-common
+ #'ignore #'ignore ; These two are identical to the previous test.
+
+ (lambda (_)
+ (with-current-buffer "FooNet"
+ (should erc--server-reconnect-display-timer)
+ (should (eq (window-buffer) (messages-buffer)))
+ (should (frame-root-window-p (selected-window))))
+
+ ;; A non-interactive JOIN command doesn't signal that we're
+ ;; done auto-reconnecting
+ (ert-info ("Join chan noninteractively")
+ (with-current-buffer "FooNet"
+ (erc-d-t-wait-for 1 (null erc--server-reconnect-display-timer))
+ (erc-cmd-JOIN "#spam")))
+
+ (ert-info ("Newly joined chan ignores `erc-reconnect-display'")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#spam"))
+ (should (eq (window-buffer) (messages-buffer)))
+ ;; If `erc-reconnect-display-timeout' were left alone, this
+ ;; would be (frame-root-window-p #<window 1 on *scratch*>).
+ (should-not (frame-root-window-p (selected-window)))
+ (should (eq (current-buffer) (window-buffer (next-window))))))))))
+
+;; This shows that the option `erc-interactive-display' overrides
+;; `erc-join-buffer' during cold opens and interactive /JOINs.
+
+(ert-deftest erc-scenarios-base-buffer-display--interactive-default ()
+ :tags '(:expensive-test)
+ (should (eq erc-join-buffer 'bury))
+ (should (eq erc-interactive-display 'window))
+
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "join/legacy")
+ (dumb-server (erc-d-run "localhost" t 'foonet))
+ (port (process-contact dumb-server :service))
+ (url (format "tester:changeme@127.0.0.1:%d\r\r" port))
+ (expect (erc-d-t-make-expecter))
+ (erc-server-flood-penalty 0.1)
+ (erc-server-auto-reconnect t)
+ (erc-user-full-name "tester"))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (let (inhibit-interaction)
+ (ert-simulate-keys url
+ (call-interactively #'erc)))
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))
+
+ (erc-d-t-wait-for 10 "Server buffer shown"
+ (eq (window-buffer) (current-buffer)))
+ (funcall expect 10 "debug mode")
+ (erc-scenarios-common-say "/JOIN #chan")))
+
+ (ert-info ("Wait for output in #chan")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
+ (funcall expect 10 "welcome")
+ (erc-d-t-ensure-for 3 "Channel #chan shown"
+ (eq (window-buffer) (current-buffer)))
+ (funcall expect 10 "be prosperous")))))
+
+;;; erc-scenarios-base-buffer-display.el ends here
diff --git a/test/lisp/erc/erc-scenarios-base-reconnect.el b/test/lisp/erc/erc-scenarios-base-reconnect.el
index 5b4dc549042..7bd16d1ed14 100644
--- a/test/lisp/erc/erc-scenarios-base-reconnect.el
+++ b/test/lisp/erc/erc-scenarios-base-reconnect.el
@@ -65,95 +65,6 @@
(should (equal (list (get-buffer (format "127.0.0.1:%d" port)))
(erc-scenarios-common-buflist "127.0.0.1"))))))
-(defun erc-scenarios-common--base-reconnect-options (test)
- (erc-scenarios-common-with-cleanup
- ((erc-scenarios-common-dialog "base/reconnect")
- (dumb-server (erc-d-run "localhost" t 'options 'options-again))
- (port (process-contact dumb-server :service))
- (expect (erc-d-t-make-expecter))
- (erc-server-flood-penalty 0.1)
- (erc-server-auto-reconnect t)
- erc-autojoin-channels-alist
- erc-server-buffer)
-
- (should (memq 'autojoin erc-modules))
-
- (ert-info ("Connect to foonet")
- (setq erc-server-buffer (erc :server "127.0.0.1"
- :port port
- :nick "tester"
- :password "changeme"
- :full-name "tester"))
- (with-current-buffer erc-server-buffer
- (should (string= (buffer-name) (format "127.0.0.1:%d" port)))
- (funcall expect 10 "debug mode")))
-
- (ert-info ("Wait for some output in channels")
- (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
- (funcall expect 10 "welcome")))
-
- (ert-info ("Server buffer shows connection failed")
- (with-current-buffer erc-server-buffer
- (funcall expect 10 "Connection failed! Re-establishing")))
-
- (should (equal erc-autojoin-channels-alist '((FooNet "#chan"))))
-
- (funcall test)
-
- ;; A manual /JOIN command tells ERC we're done auto-reconnecting
- (with-current-buffer "FooNet" (erc-cmd-JOIN "#spam"))
-
- (erc-d-t-ensure-for 1 "Newly joined chan ignores `erc-reconnect-display'"
- (not (eq (window-buffer) (get-buffer "#spam"))))
-
- (ert-info ("Wait for auto reconnect")
- (with-current-buffer erc-server-buffer
- (funcall expect 10 "still in debug mode")))
-
- (ert-info ("Wait for activity to recommence in channels")
- (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
- (funcall expect 10 "forest of Arden"))
- (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#spam"))
- (funcall expect 10 "her elves come here anon")))))
-
-(ert-deftest erc-scenarios-base-reconnect-options--buffer ()
- :tags '(:expensive-test)
- (should (eq erc-join-buffer 'bury))
- (should-not erc-reconnect-display)
-
- ;; FooNet (the server buffer) is not switched to because it's
- ;; already current (but not shown) when `erc-open' is called. See
- ;; related conditional guard towards the end of that function.
-
- (let ((erc-reconnect-display 'buffer))
- (erc-scenarios-common--base-reconnect-options
- (lambda ()
- (pop-to-buffer-same-window "*Messages*")
-
- (erc-d-t-ensure-for 1 "Server buffer not shown"
- (not (eq (window-buffer) (get-buffer "FooNet"))))
-
- (erc-d-t-wait-for 5 "Channel #chan shown when autojoined"
- (eq (window-buffer) (get-buffer "#chan")))))))
-
-(ert-deftest erc-scenarios-base-reconnect-options--default ()
- :tags '(:expensive-test)
- (should (eq erc-join-buffer 'bury))
- (should-not erc-reconnect-display)
-
- (erc-scenarios-common--base-reconnect-options
-
- (lambda ()
- (pop-to-buffer-same-window "*Messages*")
-
- (erc-d-t-ensure-for 1 "Server buffer not shown"
- (not (eq (window-buffer) (get-buffer "FooNet"))))
-
- (erc-d-t-ensure-for 3 "Channel #chan not shown"
- (not (eq (window-buffer) (get-buffer "#chan"))))
-
- (eq (window-buffer) (messages-buffer)))))
-
;; Upon reconnecting, playback for channel and target buffers is
;; routed correctly. Autojoin is irrelevant here, but for the
;; skeptical, see `erc-scenarios-common--join-network-id', which
diff --git a/test/lisp/erc/erc-scenarios-base-renick.el b/test/lisp/erc/erc-scenarios-base-renick.el
index f8350676fb7..f1723200533 100644
--- a/test/lisp/erc/erc-scenarios-base-renick.el
+++ b/test/lisp/erc/erc-scenarios-base-renick.el
@@ -303,47 +303,4 @@
(should-not (search-forward "now known as frenemy" nil t))
(erc-d-t-search-for 25 "I have lost"))))
-;; The server rejects your nick during registration, so ERC acquires a
-;; placeholder and successfully renicks once the connection is up.
-;; See also `erc-scenarios-base-renick-self-auto'.
-
-(ert-deftest erc-scenarios-base-renick-auto-regain ()
- :tags '(:expensive-test)
- (erc-scenarios-common-with-cleanup
- ((erc-server-flood-penalty 0.1)
- (erc-scenarios-common-dialog "base/renick/regain")
- (dumb-server (erc-d-run "localhost" t 'normal 'normal-again))
- (port (process-contact dumb-server :service))
- (erc-server-auto-reconnect t)
- (erc-modules (cons 'sasl erc-modules))
- (erc-nickname-in-use-functions '(erc-regain-nick-on-connect))
- (expect (erc-d-t-make-expecter)))
-
- (ert-info ("Session succeeds but cut short")
- (with-current-buffer (erc :server "127.0.0.1"
- :port port
- :nick "tester"
- :user "tester"
- :password "changeme"
- :full-name "tester")
- (funcall expect 10 "Last login from")
- (erc-cmd-JOIN "#test")))
-
- (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#test"))
- (funcall expect 10 "was created on"))
-
- (ert-info ("Service restored")
- (with-current-buffer "Libera.Chat"
- (erc-d-t-wait-for 10 erc--server-reconnect-timer)
- (funcall expect 10 "Connection failed!")
- (funcall expect 10 "already in use")
- (funcall expect 10 "changed mode for tester`")
- (funcall expect 10 "Last login from")
- (funcall expect 10 "Your new nickname is tester")))
-
- (with-current-buffer (get-buffer "#test")
- (funcall expect 10 "tester ")
- (funcall expect 10 "was created on"))))
-
-
;;; erc-scenarios-base-renick.el ends here
diff --git a/test/lisp/erc/erc-scenarios-base-split-line.el b/test/lisp/erc/erc-scenarios-base-split-line.el
new file mode 100644
index 00000000000..f6d888c1f28
--- /dev/null
+++ b/test/lisp/erc/erc-scenarios-base-split-line.el
@@ -0,0 +1,202 @@
+;;; erc-scenarios-base-split-line.el --- ERC line splitting -*- lexical-binding: t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert-x)
+(eval-and-compile
+ (let ((load-path (cons (ert-resource-directory) load-path)))
+ (require 'erc-scenarios-common)))
+
+(ert-deftest erc-scenarios-base-split-line--koi8-r ()
+ :tags '(:expensive-test)
+ (should (equal erc-split-line-length 440))
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/flood")
+ (erc-server-flood-penalty 0.1)
+ (dumb-server (erc-d-run "localhost" t 'koi8-r))
+ (erc-encoding-coding-alist '(("#koi8" . cyrillic-koi8)))
+ (port (process-contact dumb-server :service))
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect to server")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :full-name "tester")
+ (funcall expect 10 "debug mode")
+ (erc-cmd-JOIN "#koi8")))
+
+ (with-current-buffer (erc-d-t-wait-for 8 (get-buffer "#koi8"))
+ (funcall expect 10 "короче теперь")
+ (ert-info ("Message well within `erc-split-line-length'")
+ (erc-scenarios-common-say
+ (concat
+ "короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"))
+ (funcall expect 1 "<tester>")
+ (funcall expect -0.1 "<tester>"))
+
+ (ert-info ("Message over `erc-split-line-length'")
+ (erc-scenarios-common-say
+ (concat
+ "короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " будет разрыв Ñтроки непонÑтно где"))
+ (funcall expect 1 "<tester>")
+ (funcall expect 1 "<tester> разрыв")))
+
+ (with-current-buffer "foonet"
+ (erc-cmd-QUIT "")
+ (funcall expect 10 "finished"))))
+
+(ert-deftest erc-scenarios-base-split-line--ascii ()
+ :tags '(:expensive-test)
+ (should (equal erc-split-line-length 440))
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/flood")
+ (msg-432 (string-join (make-list 18 "twenty-three characters") " "))
+ (erc-server-flood-penalty 0.1)
+ (dumb-server (erc-d-run "localhost" t 'ascii))
+ (port (process-contact dumb-server :service))
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect to server")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :full-name "tester")
+ (funcall expect 10 "debug mode")
+ (erc-cmd-JOIN "#ascii")))
+
+ (with-current-buffer (erc-d-t-wait-for 8 (get-buffer "#ascii"))
+ (ert-info ("Message with spaces fits exactly")
+ (funcall expect 10 "Welcome")
+ (should (= (length (concat msg-432 " 12345678")) 440))
+ (erc-scenarios-common-say (concat msg-432 " 12345678"))
+ (funcall expect 1 "<tester>")
+ ;; Sent in a single go, hence no second <speaker>.
+ (funcall expect -0.1 "<tester>")
+ (funcall expect 0.1 "12345678"))
+
+ (ert-info ("Message with spaces too long.")
+ (erc-scenarios-common-say (concat msg-432 " 123456789"))
+ (funcall expect 1 "<tester>")
+ ;; Sent in two passes, split at last word.
+ (funcall expect 0.1 "<tester> 123456789"))
+
+ (ert-info ("Message sans spaces fits exactly")
+ (erc-scenarios-common-say (make-string 440 ?x))
+ (funcall expect 1 "<tester>")
+ ;; Sent in a single go, hence no second <speaker>.
+ (funcall expect -0.1 "<tester>"))
+
+ (ert-info ("Message sans spaces too long.")
+ (erc-scenarios-common-say (concat (make-string 440 ?y) "z"))
+ (funcall expect 1 "<tester>")
+ ;; Sent in two passes, split at last word.
+ (funcall expect 0.1 "<tester> z"))
+
+ (ert-info ("Rejected when escape-hatch set")
+ (let ((erc--reject-unbreakable-lines t))
+ (should-error
+ (erc-scenarios-common-say
+ (concat
+ "https://mail.example.org/verify?token="
+ (string-join (make-list 18 "twenty-three_characters") "_")))))))
+
+ (with-current-buffer "foonet"
+ (erc-cmd-QUIT "")
+ (funcall expect 10 "finished"))))
+
+(ert-deftest erc-scenarios-base-split-line--utf-8 ()
+ :tags '(:expensive-test)
+ (unless (> emacs-major-version 27)
+ (ert-skip "No emojis in Emacs 27"))
+
+ (should (equal erc-split-line-length 440))
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/flood")
+ (msg-432 (string-join (make-list 18 "twenty-three characters") " "))
+ (erc-server-flood-penalty 0.1)
+ (dumb-server (erc-d-run "localhost" t 'utf-8))
+ (port (process-contact dumb-server :service))
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect to server")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :full-name "tester")
+ (funcall expect 10 "debug mode")
+ (erc-cmd-JOIN "#utf-8")))
+
+ (with-current-buffer (erc-d-t-wait-for 8 (get-buffer "#utf-8"))
+ (funcall expect 10 "Welcome")
+
+ (ert-info ("Message with spaces over `erc-split-line-length'")
+ (erc-scenarios-common-say
+ (concat
+ "короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " короче теперь еÑли по руÑÑки напиÑать вÑе четко или вÑе равно"
+ " будет разрыв Ñтроки непонÑтно где"
+ " будет разрыв Ñтроки непонÑтно где"))
+ (funcall expect 1 "<tester> короче")
+ (funcall expect 1 "<tester> вÑе")
+ (funcall expect 1 "<tester> разрыв")
+ (funcall expect 1 "Entirely honour"))
+
+ (ert-info ("Message sans spaces over `erc-split-line-length'")
+ (erc-scenarios-common-say
+ (concat "話說天下大勢,分久必åˆï¼Œåˆä¹…必分:周末七國分爭,并入於秦。"
+ "åŠç§¦æ»…之後,楚ã€æ¼¢åˆ†çˆ­ï¼Œåˆå¹¶å…¥æ–¼æ¼¢ã€‚æ¼¢æœè‡ªé«˜ç¥–斬白蛇而起義,"
+ "一統天下。後來光武中興,傳至ç»å¸ï¼Œé‚分為三國。推其致亂之由,"
+ "殆始於桓ã€éˆäºŒå¸ã€‚æ¡“å¸ç¦éŒ®å–„類,崇信宦官。åŠæ¡“å¸å´©ï¼Œéˆå¸å³ä½ï¼Œ"
+ "大將è»ç«‡æ­¦ã€å¤ªå‚…陳蕃,共相輔ä½ã€‚時有宦官曹節等弄權,竇武ã€é™³è•ƒè¬€èª…之,"
+ "作事ä¸å¯†ï¼Œå為所害。中涓自此愈橫"))
+ (funcall expect 1 "<tester>")
+ ;; Sent in two passes, split at last word.
+ (funcall expect 0.1 "<tester> 竇武")
+ (funcall expect 1 "this prey out"))
+
+ ;; Combining emojis are respected.
+ (ert-info ("Message sans spaces over small `erc-split-line-length'")
+ (let ((erc-split-line-length 100))
+ (erc-scenarios-common-say
+ "будет разрыв Ñтроки непонÑтно гдеðŸðŸš©ðŸŽŒðŸ´ðŸ³ï¸ðŸ³ï¸â€ðŸŒˆðŸ³ï¸â€âš§ï¸ðŸ´â€â˜ ï¸"))
+ (funcall expect 1 "<tester>")
+ (funcall expect 1 "<tester> ðŸ³ï¸â€ðŸŒˆ")))
+
+ (with-current-buffer "foonet"
+ (erc-cmd-QUIT "")
+ (funcall expect 10 "finished"))))
+
+;;; erc-scenarios-base-split-line.el ends here
diff --git a/test/lisp/erc/erc-scenarios-log.el b/test/lisp/erc/erc-scenarios-log.el
new file mode 100644
index 00000000000..c37e6b323aa
--- /dev/null
+++ b/test/lisp/erc/erc-scenarios-log.el
@@ -0,0 +1,207 @@
+;;; erc-scenarios-log.el --- erc-log scenarios -*- lexical-binding: t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ert-x)
+(eval-and-compile
+ (let ((load-path (cons (ert-resource-directory) load-path)))
+ (require 'erc-scenarios-common)))
+
+(require 'erc-log)
+(require 'erc-truncate)
+
+(defvar erc-timestamp-format-left)
+
+(ert-deftest erc-scenarios-log--kill-hook ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/assoc/bouncer-history")
+ (dumb-server (erc-d-run "localhost" t 'foonet))
+ (tempdir (make-temp-file "erc-tests-log." t nil nil))
+ (erc-log-channels-directory tempdir)
+ (erc-modules (cons 'log erc-modules))
+ (port (process-contact dumb-server :service))
+ (logfile (expand-file-name (format "#chan!tester@127.0.0.1:%d.txt" port)
+ tempdir))
+ (erc-server-flood-penalty 0.1)
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :password "foonet:changeme"
+ :full-name "tester")
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))
+ (funcall expect 5 "foonet")))
+
+ (with-current-buffer (erc-d-t-wait-for 5 (get-buffer "#chan"))
+ (funcall expect 10 "was created on")
+ (funcall expect 10 "please your lordship")
+ (with-current-buffer "foonet"
+ (delete-process erc-server-process)
+ (funcall expect 5 "failed"))
+ (should-not (file-exists-p logfile))
+ (kill-buffer)
+ (should (file-exists-p logfile)))
+
+ (with-temp-buffer
+ (insert-file-contents logfile)
+ (funcall expect 1 "You have joined")
+ (funcall expect 1 "Playback Complete.")
+ (funcall expect 1 "please your lordship"))
+
+ (erc-log-mode -1)
+ (if noninteractive
+ (delete-directory tempdir :recursive)
+ (add-hook 'kill-emacs-hook
+ (lambda () (delete-directory tempdir :recursive))))))
+
+;; This shows that, in addition to truncating the buffer, /clear also
+;; syncs the log.
+
+(ert-deftest erc-scenarios-log--clear-stamp ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/assoc/bouncer-history")
+ (dumb-server (erc-d-run "localhost" t 'foonet))
+ (tempdir (make-temp-file "erc-tests-log." t nil nil))
+ (erc-log-channels-directory tempdir)
+ (erc-modules (cons 'log erc-modules))
+ (erc-timestamp-format-left "\n[%a %b %e %Y @@STAMP@@]\n")
+ (port (process-contact dumb-server :service))
+ (logfile (expand-file-name (format "#chan!tester@127.0.0.1:%d.txt" port)
+ tempdir))
+ (erc-server-flood-penalty 0.1)
+ (expect (erc-d-t-make-expecter)))
+
+ (unless noninteractive
+ (add-hook 'kill-emacs-hook
+ (lambda () (delete-directory tempdir :recursive))))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :password "foonet:changeme"
+ :full-name "tester")
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))
+ (funcall expect 5 "foonet")))
+
+ (with-current-buffer (erc-d-t-wait-for 5 (get-buffer "#chan"))
+ (funcall expect 10 "@@STAMP@@")
+ (funcall expect 10 "Grows, lives")
+ (should-not (file-exists-p logfile))
+ (goto-char (point-max))
+ (erc-cmd-CLEAR)
+ (should (file-exists-p logfile))
+ (funcall expect 10 "please your lordship")
+ (ert-info ("Buffer truncated")
+ (goto-char (point-min))
+ (funcall expect 10 "@@STAMP@@" (point)) ; reset
+ (funcall expect -0.1 "Grows, lives")
+ (funcall expect 1 "For these two")))
+
+ (ert-info ("Current contents saved")
+ (with-temp-buffer
+ (insert-file-contents logfile)
+ (funcall expect 1 "@@STAMP@@")
+ (funcall expect 1 "You have joined")
+ (funcall expect 1 "Playback Complete.")
+ (funcall expect 1 "Grows, lives")
+ (funcall expect -0.01 "please your lordship")))
+
+ (ert-info ("Remainder saved, timestamp printed when option non-nil")
+ (with-current-buffer "foonet"
+ (delete-process erc-server-process)
+ (funcall expect 5 "failed"))
+ (kill-buffer "#chan")
+ (with-temp-buffer
+ (insert-file-contents logfile)
+ (funcall expect 1 "@@STAMP@@")
+ (funcall expect 1 "Grows, lives")
+ (funcall expect -0.01 "@@STAMP@@")
+ (forward-line 1) ; no blank, no timestamp
+ (should (looking-at (rx "<bob> alice: For these two hours,")))
+ (funcall expect 1 "please your lordship")))
+
+ (erc-log-mode -1)
+ (when noninteractive (delete-directory tempdir :recursive))))
+
+(ert-deftest erc-scenarios-log--truncate ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/assoc/bouncer-history")
+ (dumb-server (erc-d-run "localhost" t 'foonet))
+ (tempdir (make-temp-file "erc-tests-log." t nil nil))
+ (erc-log-channels-directory tempdir)
+ (erc-modules (cons 'truncate (cons 'log erc-modules)))
+ (erc-max-buffer-size 512)
+ (port (process-contact dumb-server :service))
+ (logchan (expand-file-name (format "#chan!tester@127.0.0.1:%d.txt" port)
+ tempdir))
+ (logserv (expand-file-name
+ (format "127.0.0.1:%d!tester@127.0.0.1:%d.txt" port port)
+ tempdir))
+ (erc-server-flood-penalty 0.1)
+ (expect (erc-d-t-make-expecter)))
+
+ (unless noninteractive
+ (add-hook 'kill-emacs-hook
+ (lambda () (delete-directory tempdir :recursive))))
+
+ (ert-info ("Connect to foonet")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :password "foonet:changeme"
+ :full-name "tester")
+ (should (string= (buffer-name) (format "127.0.0.1:%d" port)))
+ (should-not (file-exists-p logserv))
+ (should-not (file-exists-p logchan))
+ (funcall expect 10 "*** MAXLIST=beI:60")
+ (should (= (pos-bol) (point-min)))
+ (should (file-exists-p logserv))))
+
+ (ert-info ("Log file ahead of truncation point")
+ ;; Log contains lines still present in buffer.
+ (with-temp-buffer
+ (insert-file-contents logserv)
+ (funcall expect 10 "*** MAXLIST=beI:60")))
+
+ (with-current-buffer (erc-d-t-wait-for 5 (get-buffer "#chan"))
+ (funcall expect 10 "please your lordship")
+ (should (file-exists-p logchan))
+ (funcall expect -0.1 "[07:04:37] alice: Here," (point-min)))
+
+ (ert-info ("Log ahead of truncation point")
+ (with-temp-buffer
+ (insert-file-contents logchan)
+ (funcall expect 1 "You have joined")
+ (funcall expect 1 "[07:04:37] alice: Here,")
+ (funcall expect 1 "loathed enemy")
+ (funcall expect -0.1 "please your lordship")))
+
+ (erc-log-mode -1)
+ (when noninteractive (delete-directory tempdir :recursive))))
+
+;;; erc-scenarios-log.el ends here
diff --git a/test/lisp/erc/erc-scenarios-match.el b/test/lisp/erc/erc-scenarios-match.el
new file mode 100644
index 00000000000..782907bfc30
--- /dev/null
+++ b/test/lisp/erc/erc-scenarios-match.el
@@ -0,0 +1,123 @@
+;;; erc-scenarios-match.el --- Misc `erc-match' scenarios -*- lexical-binding: t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert-x)
+(eval-and-compile
+ (let ((load-path (cons (ert-resource-directory) load-path)))
+ (require 'erc-scenarios-common)))
+
+(require 'erc-stamp)
+(require 'erc-match)
+
+;; This defends against a regression in which all matching by the
+;; `erc-match-message' fails when `erc-add-timestamp' precedes it in
+;; `erc-insert-modify-hook'. Basically, `erc-match-message' used to
+;; expect an `erc-parsed' text property on the first character in a
+;; message, which doesn't exist, when the message content is prefixed
+;; by a leading timestamp.
+
+(ert-deftest erc-scenarios-match--stamp-left-current-nick ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "base/reconnect")
+ (dumb-server (erc-d-run "localhost" t 'unexpected-disconnect))
+ (port (process-contact dumb-server :service))
+ (erc-server-flood-penalty 0.1)
+ (erc-insert-timestamp-function 'erc-insert-timestamp-left)
+ (expect (erc-d-t-make-expecter)))
+
+ (ert-info ("Connect")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :full-name "tester"
+ :nick "tester")
+ ;; Module `timestamp' follows `match' in insertion hooks.
+ (should (memq 'erc-add-timestamp
+ (memq 'erc-match-message erc-insert-modify-hook)))
+ ;; The "match type" is `current-nick'.
+ (funcall expect 5 "tester")
+ (should (eq (get-text-property (1- (point)) 'font-lock-face)
+ 'erc-current-nick-face))))))
+
+;; This asserts that when stamps appear before a message,
+;; some non-nil invisibility property spans the entire message.
+(ert-deftest erc-scenarios-match--stamp-left-fools-invisible ()
+ :tags '(:expensive-test)
+ (ert-skip "WIP: fix included in bug#64301")
+ (erc-scenarios-common-with-cleanup
+ ((erc-scenarios-common-dialog "join/legacy")
+ (dumb-server (erc-d-run "localhost" t 'foonet))
+ (port (process-contact dumb-server :service))
+ (erc-server-flood-penalty 0.1)
+ (erc-insert-timestamp-function 'erc-insert-timestamp-left)
+ (erc-timestamp-only-if-changed-flag nil)
+ (erc-fools '("bob"))
+ (erc-text-matched-hook '(erc-hide-fools))
+ (erc-autojoin-channels-alist '((FooNet "#chan")))
+ (expect (erc-d-t-make-expecter))
+ (hiddenp (lambda ()
+ (and (eq (field-at-pos (pos-bol)) 'erc-timestamp)
+ (get-text-property (pos-bol) 'invisible)
+ (>= (next-single-property-change (pos-bol)
+ 'invisible nil)
+ (pos-eol))))))
+
+ (ert-info ("Connect")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :full-name "tester"
+ :password "changeme"
+ :nick "tester")
+ ;; Module `timestamp' follows `match' in insertion hooks.
+ (should (memq 'erc-add-timestamp
+ (memq 'erc-match-message erc-insert-modify-hook)))
+ (funcall expect 5 "This server is in debug mode")))
+
+ (ert-info ("Ensure lines featuring \"bob\" are invisible")
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
+ (should (funcall expect 10 "<bob> tester, welcome!"))
+ (should (funcall hiddenp))
+
+ ;; Alice's is the only one visible.
+ (should (funcall expect 10 "<alice> tester, welcome!"))
+ (should (eq (field-at-pos (pos-bol)) 'erc-timestamp))
+ (should (get-text-property (pos-bol) 'invisible))
+ (should-not (get-text-property (point) 'invisible))
+
+ (should (funcall expect 10 "<bob> alice: But, as it seems"))
+ (should (funcall hiddenp))
+
+ (should (funcall expect 10 "<alice> bob: Well, this is the forest"))
+ (should (funcall hiddenp))
+
+ (should (funcall expect 10 "<alice> bob: And will you"))
+ (should (funcall hiddenp))
+
+ (should (funcall expect 10 "<bob> alice: Live, and be prosperous"))
+ (should (funcall hiddenp))
+
+ (should (funcall expect 10 "ERC>"))
+ (should-not (get-text-property (pos-bol) 'invisible))
+ (should-not (get-text-property (point) 'invisible))))))
+
+(eval-when-compile (require 'erc-join))
+
+;;; erc-scenarios-match.el ends here
diff --git a/test/lisp/erc/erc-scenarios-services-misc.el b/test/lisp/erc/erc-scenarios-services-misc.el
index a1679d302f4..1113849578f 100644
--- a/test/lisp/erc/erc-scenarios-services-misc.el
+++ b/test/lisp/erc/erc-scenarios-services-misc.el
@@ -143,4 +143,109 @@
(erc-services-mode -1)))
+;; The server rejects your nick during registration, so ERC acquires a
+;; placeholder and successfully renicks once the connection is up.
+;; See also `erc-scenarios-base-renick-self-auto'.
+
+(ert-deftest erc-scenarios-services-misc--reconnect-retry-nick ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-server-flood-penalty 0.1)
+ (erc-scenarios-common-dialog "services/regain")
+ (dumb-server (erc-d-run "localhost" t 'reconnect-retry
+ 'reconnect-retry-again))
+ (port (process-contact dumb-server :service))
+ (erc-server-auto-reconnect t)
+ (erc-modules `(services-regain sasl ,@erc-modules))
+ (erc-services-regain-alist
+ '((Libera.Chat . erc-services-retry-nick-on-connect)))
+ (expect (erc-d-t-make-expecter)))
+
+ ;; FIXME figure out and explain why this is so.
+ (should (featurep 'erc-services))
+
+ (ert-info ("Session succeeds but cut short")
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "tester"
+ :user "tester"
+ :password "changeme"
+ :full-name "tester")
+ (funcall expect 10 "Last login from")
+ (erc-cmd-JOIN "#test")))
+
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#test"))
+ (funcall expect 10 "was created on"))
+
+ (ert-info ("Service restored")
+ (with-current-buffer "Libera.Chat"
+ (erc-d-t-wait-for 10 erc--server-reconnect-timer)
+ (funcall expect 10 "Connection failed!")
+ (funcall expect 10 "already in use")
+ (funcall expect 10 "changed mode for tester`")
+ (funcall expect 10 "Last login from")
+ (funcall expect 10 "Your new nickname is tester")))
+
+ (with-current-buffer (get-buffer "#test")
+ (funcall expect 10 "tester ")
+ (funcall expect 10 "was created on"))))
+
+;; This only asserts that the handler fires and issues the right
+;; NickServ command, but it doesn't accurately recreate a
+;; disconnection, but it probably should.
+(ert-deftest erc-scenarios-services-misc--regain-command ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-server-flood-penalty 0.1)
+ (erc-scenarios-common-dialog "services/regain")
+ (dumb-server (erc-d-run "localhost" t 'taken-regain))
+ (port (process-contact dumb-server :service))
+ (erc-server-auto-reconnect t)
+ (erc-modules `(services-regain sasl ,@erc-modules))
+ (erc-services-regain-alist
+ '((ExampleNet . erc-services-issue-regain)))
+ (expect (erc-d-t-make-expecter)))
+
+ (should (featurep 'erc-services)) ; see note in prior test
+
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "dummy"
+ :user "tester"
+ :password "changeme"
+ :full-name "tester"
+ :id 'ExampleNet)
+ (funcall expect 10 "dummy is already in use, trying dummy`")
+ (funcall expect 10 "You are now logged in as tester")
+ (funcall expect 10 "-NickServ- dummy has been regained.")
+ (funcall expect 10 "*** Your new nickname is dummy")
+ ;; Works with "given" `:id'.
+ (should (and (erc-network) (not (eq (erc-network) 'ExampleNet)))))))
+
+(ert-deftest erc-scenarios-services-misc--ghost-and-retry-nick ()
+ :tags '(:expensive-test)
+ (erc-scenarios-common-with-cleanup
+ ((erc-server-flood-penalty 0.1)
+ (erc-scenarios-common-dialog "services/regain")
+ (dumb-server (erc-d-run "localhost" t 'taken-ghost))
+ (port (process-contact dumb-server :service))
+ (erc-server-auto-reconnect t)
+ (erc-modules `(services-regain sasl ,@erc-modules))
+ (erc-services-regain-alist
+ '((FooNet . erc-services-issue-ghost-and-retry-nick)))
+ (expect (erc-d-t-make-expecter)))
+
+ (should (featurep 'erc-services)) ; see note in prior test
+
+ (with-current-buffer (erc :server "127.0.0.1"
+ :port port
+ :nick "dummy"
+ :user "tester"
+ :password "changeme"
+ :full-name "tester")
+ (funcall expect 10 "dummy is already in use, trying dummy`")
+ (funcall expect 10 "You are now logged in as tester")
+ (funcall expect 10 "-NickServ- dummy has been ghosted.")
+ (funcall expect 10 "*** Your new nickname is dummy"))))
+
;;; erc-scenarios-services-misc.el ends here
diff --git a/test/lisp/erc/erc-stamp-tests.el b/test/lisp/erc/erc-stamp-tests.el
index 01e71e348e0..6da7ed4503d 100644
--- a/test/lisp/erc/erc-stamp-tests.el
+++ b/test/lisp/erc/erc-stamp-tests.el
@@ -43,13 +43,10 @@
(with-current-buffer (get-buffer-create "*erc-stamp-tests--insert-right*")
(erc-mode)
(erc-munge-invisibility-spec)
+ (erc--initialize-markers (point) nil)
(setq erc-server-process (start-process "p" (current-buffer)
- "sleep" "1")
- erc-input-marker (make-marker)
- erc-insert-marker (make-marker))
+ "sleep" "1"))
(set-process-query-on-exit-flag erc-server-process nil)
- (set-marker erc-insert-marker (point-max))
- (erc-display-prompt)
(funcall test)
diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el
index 29bda7e742d..80c7c708fc5 100644
--- a/test/lisp/erc/erc-tests.el
+++ b/test/lisp/erc/erc-tests.el
@@ -269,6 +269,110 @@
(kill-buffer "bob")
(kill-buffer "ServNet"))))
+(ert-deftest erc--refresh-prompt ()
+ (let* ((counter 0)
+ (erc-prompt (lambda ()
+ (format "%s %d>"
+ (erc-format-target-and/or-network)
+ (cl-incf counter))))
+ erc-accidental-paste-threshold-seconds
+ erc-insert-modify-hook
+ erc--input-review-functions
+ erc-send-completed-hook)
+
+ (ert-info ("Server buffer")
+ (with-current-buffer (get-buffer-create "ServNet")
+ (erc-tests--send-prep)
+ (goto-char erc-insert-marker)
+ (should (looking-at-p "ServNet 3>"))
+ (erc-tests--set-fake-server-process "sleep" "1")
+ (set-process-sentinel erc-server-process #'ignore)
+ (setq erc-network 'ServNet
+ erc-server-current-nick "tester"
+ erc-networks--id (erc-networks--id-create nil)
+ erc-server-users (make-hash-table :test 'equal))
+ (set-process-query-on-exit-flag erc-server-process nil)
+ ;; Incoming message redraws prompt
+ (erc-display-message nil 'notice nil "Welcome")
+ (should (looking-at-p (rx "*** Welcome")))
+ (forward-line)
+ (should (looking-at-p "ServNet 4>"))
+ ;; Say something
+ (goto-char erc-input-marker)
+ (insert "Howdy")
+ (erc-send-current-line)
+ (save-excursion (forward-line -1)
+ (should (looking-at "No target"))
+ (forward-line -1)
+ (should (looking-at "<tester> Howdy")))
+ (should (looking-back "ServNet 6> "))
+ (should (= erc-input-marker (point)))
+ ;; Space after prompt is unpropertized
+ (should (get-text-property (1- erc-input-marker) 'erc-prompt))
+ (should-not (get-text-property erc-input-marker 'erc-prompt))
+ ;; No sign of old prompts
+ (save-excursion
+ (goto-char (point-min))
+ (should-not (search-forward (rx (any "3-5") ">") nil t)))))
+
+ (ert-info ("Channel buffer")
+ (with-current-buffer (get-buffer-create "#chan")
+ (erc-tests--send-prep)
+ (goto-char erc-insert-marker)
+ (should (looking-at-p "#chan 9>"))
+ (goto-char erc-input-marker)
+ (setq erc-server-process (buffer-local-value 'erc-server-process
+ (get-buffer "ServNet"))
+ erc-networks--id (erc-with-server-buffer erc-networks--id)
+ erc--target (erc--target-from-string "#chan")
+ erc-default-recipients (list "#chan")
+ erc-channel-users (make-hash-table :test 'equal))
+ (erc-update-current-channel-member "alice" "alice")
+ (erc-update-current-channel-member "bob" "bob")
+ (erc-update-current-channel-member "tester" "tester")
+ (erc-display-message nil nil (current-buffer)
+ (erc-format-privmessage "alice" "Hi" nil t))
+ (should (looking-back "#chan@ServNet 10> "))
+ (goto-char erc-input-marker)
+ (insert "Howdy")
+ (erc-send-current-line)
+ (save-excursion (forward-line -1)
+ (should (looking-at "<tester> Howdy")))
+ (should (looking-back "#chan@ServNet 11> "))
+ (should (= (point) erc-input-marker))
+ (insert "/query bob")
+ (erc-send-current-line)
+ ;; Query does not redraw (nor /help, only message input)
+ (should (looking-back "#chan@ServNet 11> "))
+ ;; No sign of old prompts
+ (save-excursion
+ (goto-char (point-min))
+ (should-not (search-forward (rx (or "9" "10") ">") nil t)))))
+
+ (ert-info ("Query buffer")
+ (with-current-buffer (get-buffer "bob")
+ (goto-char erc-insert-marker)
+ (should (looking-at-p "bob@ServNet 14>"))
+ (goto-char erc-input-marker)
+ (erc-display-message nil nil (current-buffer)
+ (erc-format-privmessage "bob" "Hi" nil t))
+ (should (looking-back "bob@ServNet 15> "))
+ (goto-char erc-input-marker)
+ (insert "Howdy")
+ (erc-send-current-line)
+ (save-excursion (forward-line -1)
+ (should (looking-at "<tester> Howdy")))
+ (should (looking-back "bob@ServNet 16> "))
+ ;; No sign of old prompts
+ (save-excursion
+ (goto-char (point-min))
+ (should-not (search-forward (rx (or "14" "15") ">") nil t)))))
+
+ (when noninteractive
+ (kill-buffer "#chan")
+ (kill-buffer "bob")
+ (kill-buffer "ServNet"))))
+
(ert-deftest erc--initialize-markers ()
(let ((proc (start-process "true" (current-buffer) "true"))
erc-modules
@@ -399,309 +503,6 @@
(dolist (b '("server" "other" "#chan" "#foo" "#fake"))
(kill-buffer b))))
-(defun erc-tests--run-in-term (&optional debug)
- (let* ((default-directory (getenv "EMACS_TEST_DIRECTORY"))
- (emacs (expand-file-name invocation-name invocation-directory))
- (process-environment (cons "ERC_TESTS_SUBPROCESS=1"
- process-environment))
- (name (ert-test-name (ert-running-test)))
- (temp-file (make-temp-file "erc-term-test-"))
- (cmd `(let ((stats 1))
- (setq enable-dir-local-variables nil)
- (unwind-protect
- (setq stats (ert-run-tests-batch ',name))
- (unless ',debug
- (let ((buf (with-current-buffer (messages-buffer)
- (buffer-string))))
- (with-temp-file ,temp-file
- (insert buf)))
- (kill-emacs (ert-stats-completed-unexpected stats))))))
- ;; `ert-test' object in Emacs 29 has a `file-name' field
- (file-name (symbol-file name 'ert--test))
- (default-directory (expand-file-name (file-name-directory file-name)))
- (package (if-let* ((found (getenv "ERC_PACKAGE_NAME"))
- ((string-prefix-p "erc-" found)))
- (intern found)
- 'erc))
- (setup (and (featurep 'compat)
- `(progn
- (require 'package)
- (let ((package-load-list '((compat t) (,package t))))
- (package-initialize)))))
- ;; Make subprocess terminal bigger than controlling.
- (buf (cl-letf (((symbol-function 'window-screen-lines)
- (lambda () 20))
- ((symbol-function 'window-max-chars-per-line)
- (lambda () 40)))
- (make-term (symbol-name name) emacs nil "-Q" "-nw"
- "-eval" (prin1-to-string setup)
- "-l" file-name "-eval" (format "%S" cmd))))
- (proc (get-buffer-process buf))
- (err (lambda ()
- (with-temp-buffer
- (insert-file-contents temp-file)
- (message "Subprocess: %s" (buffer-string))
- (delete-file temp-file)))))
- (with-current-buffer buf
- (set-process-query-on-exit-flag proc nil)
- (with-timeout (10 (funcall err) (error "Timed out awaiting result"))
- (while (process-live-p proc)
- (accept-process-output proc 0.1)))
- (while (accept-process-output proc))
- (goto-char (point-min))
- ;; Otherwise gives process exited abnormally with exit-code >0
- (unless (search-forward (format "Process %s finished" name) nil t)
- (funcall err)
- (ert-fail (when (search-forward "exited" nil t)
- (buffer-substring-no-properties (line-beginning-position)
- (line-end-position)))))
- (delete-file temp-file)
- (when noninteractive
- (kill-buffer)))))
-
-(defun erc-tests--servars (source &rest vars)
- (unless (bufferp source)
- (setq source (get-buffer source)))
- (dolist (var vars)
- (should (local-variable-if-set-p var))
- (set var (buffer-local-value var source))))
-
-(defun erc-tests--erc-reuse-frames (test &optional debug)
- (if (and (or debug noninteractive) (not (getenv "ERC_TESTS_SUBPROCESS")))
- (progn
- (when (memq system-type '(windows-nt ms-dos))
- (ert-skip "System must be UNIX"))
- (erc-tests--run-in-term debug))
- (should-not erc-frame-dedicated-flag)
- (should (eq erc-reuse-frames t))
- (let ((erc-join-buffer 'frame)
- (erc-reuse-frames t)
- (erc-frame-alist nil)
- (orig-frame (selected-frame))
- erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
- (delete-other-frames)
- (delete-other-windows)
- (set-window-buffer (selected-window) "*scratch*")
- (funcall test orig-frame)
- (delete-other-frames orig-frame)
- (delete-other-windows))))
-
-;; TODO add cases for frame-display behavior while reconnecting
-
-(defun erc-tests--erc-reuse-frames--t (_)
- (ert-info ("New server buffer creates and raises second frame")
- (with-current-buffer (generate-new-buffer "server")
- (erc-mode)
- (setq erc-server-process (start-process "server"
- (current-buffer) "sleep" "10")
- erc-frame-alist (cons '(name . "server") default-frame-alist)
- erc-network 'foonet
- erc-networks--id (erc-networks--id-create nil)
- erc--server-last-reconnect-count 0)
- (set-process-buffer erc-server-process (current-buffer))
- (set-process-query-on-exit-flag erc-server-process nil)
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- (should (equal "server" (frame-parameter (window-frame) 'name)))
- (should (get-buffer-window (current-buffer) t))))
-
- (ert-info ("New channel creates and raises third frame")
- (with-current-buffer (generate-new-buffer "#chan")
- (erc-mode)
- (erc-tests--servars "server" 'erc-server-process 'erc-networks--id
- 'erc-network)
- (setq erc-frame-alist (cons '(name . "#chan") default-frame-alist)
- erc-default-recipients '("#chan"))
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- (should (equal "#chan" (frame-parameter (window-frame) 'name)))
- (should (get-buffer-window (current-buffer) t))
- (should (cddr (frame-list))))))
-
-(ert-deftest erc-reuse-frames--t ()
- :tags '(:unstable :expensive-test)
- (erc-tests--erc-reuse-frames
- (lambda (orig-frame)
- (erc-tests--erc-reuse-frames--t orig-frame)
- (dolist (b '("server" "#chan"))
- (kill-buffer b)))))
-
-(defun erc-tests--erc-reuse-frames--displayed-single (_ server-name chan-name)
-
- (should (eq erc-reuse-frames 'displayed))
-
- (ert-info ("New server buffer shown in existing frame")
- (with-current-buffer (generate-new-buffer server-name)
- (erc-mode)
- (setq erc-server-process (start-process server-name (current-buffer)
- "sleep" "10")
- erc-frame-alist (cons `(name . ,server-name) default-frame-alist)
- erc-network (make-symbol server-name)
- erc-server-current-nick "tester"
- erc-networks--id (erc-networks--id-create nil)
- erc--server-last-reconnect-count 0)
- (set-process-buffer erc-server-process (current-buffer))
- (set-process-query-on-exit-flag erc-server-process nil)
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- (should-not (equal server-name (frame-parameter (window-frame) 'name)))
- ;; New server buffer window appears in split below ERT/scratch
- (should (get-buffer-window (current-buffer) t))))
-
- (ert-info ("New channel shown in existing frame")
- (with-current-buffer (generate-new-buffer chan-name)
- (erc-mode)
- (erc-tests--servars server-name 'erc-server-process 'erc-networks--id
- 'erc-network)
- (setq erc-frame-alist (cons `(name . ,chan-name) default-frame-alist)
- erc-default-recipients (list chan-name))
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- (should-not (equal chan-name (frame-parameter (window-frame) 'name)))
- ;; New channel buffer replaces server in lower window
- (should (get-buffer-window (current-buffer) t))
- (should-not (get-buffer-window server-name t)))))
-
-(ert-deftest erc-reuse-frames--displayed-single ()
- :tags '(:unstable :expensive-test)
- (erc-tests--erc-reuse-frames
- (lambda (orig-frame)
- (let ((erc-reuse-frames 'displayed))
- (erc-tests--erc-reuse-frames--displayed-single orig-frame
- "server" "#chan")
- (should-not (cdr (frame-list))))
- (dolist (b '("server" "#chan"))
- (kill-buffer b)))))
-
-(defun erc-tests--assert-server-split (buffer-or-name frame-name)
- ;; Assert current buffer resides on one side of a horizontal split
- ;; in the "server" frame but is not selected.
- (let* ((buffer-window (get-buffer-window buffer-or-name t))
- (buffer-frame (window-frame buffer-window)))
- (should (equal frame-name (frame-parameter buffer-frame 'name)))
- (should (memq buffer-window (car-safe (window-tree buffer-frame))))
- (should-not (eq buffer-window (frame-selected-window)))
- buffer-frame))
-
-(defun erc-tests--erc-reuse-frames--displayed-double (_)
- (should (eq erc-reuse-frames 'displayed))
-
- (make-frame '((name . "other")))
- (select-frame (make-frame '((name . "server"))) 'no-record)
- (set-window-buffer (selected-window) "*scratch*") ; invokes `erc'
-
- ;; A user invokes an entry point and switches immediately to a new
- ;; frame before autojoin kicks in (bug#55540).
-
- (ert-info ("New server buffer shown in selected frame")
- (with-current-buffer (generate-new-buffer "server")
- (erc-mode)
- (setq erc-server-process (start-process "server" (current-buffer)
- "sleep" "10")
- erc-network 'foonet
- erc-server-current-nick "tester"
- erc-networks--id (erc-networks--id-create nil)
- erc--server-last-reconnect-count 0)
- (set-process-buffer erc-server-process (current-buffer))
- (set-process-query-on-exit-flag erc-server-process nil)
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- (should (equal "server" (frame-parameter (window-frame) 'name)))
- (should (get-buffer-window (current-buffer) t))))
-
- (select-frame-by-name "other")
-
- (ert-info ("New channel shown in dedicated frame")
- (with-current-buffer (generate-new-buffer "#chan")
- (erc-mode)
- (erc-tests--servars "server" 'erc-server-process 'erc-networks--id
- 'erc-network)
- (setq erc-frame-alist (cons '(name . "#chan") default-frame-alist)
- erc-default-recipients '("#chan"))
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- (erc-tests--assert-server-split (current-buffer) "server")
- ;; New channel buffer replaces server in lower window of other frame
- (should-not (get-buffer-window "server" t)))))
-
-(ert-deftest erc-reuse-frames--displayed-double ()
- :tags '(:unstable :expensive-test)
- (erc-tests--erc-reuse-frames
- (lambda (orig-frame)
- (let ((erc-reuse-frames 'displayed))
- (erc-tests--erc-reuse-frames--displayed-double orig-frame))
- (dolist (b '("server" "#chan"))
- (kill-buffer b)))))
-
-;; If a frame showing ERC buffers exists among other frames, new,
-;; additional connections will use the existing IRC frame. However,
-;; if two or more frames exist with ERC buffers unique to a particular
-;; connection, the correct frame will be found.
-
-(defun erc-tests--erc-reuse-frames--displayed-full (orig-frame)
- (erc-tests--erc-reuse-frames--displayed-double orig-frame)
- ;; Server buffer is not displayed because #chan has replaced it in
- ;; the "server" frame, which is not selected.
- (should (equal "other" (frame-parameter (window-frame) 'name)))
- (erc-tests--erc-reuse-frames--displayed-single orig-frame "ircd" "#spam")
- (should (equal "other" (frame-parameter (window-frame) 'name)))
-
- ;; Buffer "#spam" has replaced "ircd", which earlier replaced
- ;; "#chan" in frame "server". But this is confusing, so...
- (ert-info ("Arrange windows for second connection in other frame")
- (set-window-buffer (selected-window) "ircd")
- (split-window-below)
- (set-window-buffer (next-window) "#spam")
- (should (equal (cddar (window-tree))
- (list (get-buffer-window "ircd" t)
- (get-buffer-window "#spam" t)))))
-
- (ert-info ("Arrange windows for first connection in server frame")
- (select-frame-by-name "server")
- (set-window-buffer (selected-window) "server")
- (set-window-buffer (next-window) "#chan")
- (should (equal (cddar (window-tree))
- (list (get-buffer-window "server" t)
- (get-buffer-window "#chan" t)))))
-
- ;; Select original ERT frame
- (ert-info ("New target for connection server finds appropriate frame")
- (select-frame orig-frame 'no-record)
- (with-current-buffer (window-buffer (selected-window))
- (should (member (buffer-name) '("*ert*" "*scratch*")))
- (with-current-buffer (generate-new-buffer "alice")
- (erc-mode)
- (erc-tests--servars "server" 'erc-server-process 'erc-networks--id)
- (setq erc-default-recipients '("alice"))
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- ;; Window created in frame "server"
- (should (eq (selected-frame) orig-frame))
- (erc-tests--assert-server-split (current-buffer) "server"))))
-
- (ert-info ("New target for connection ircd finds appropriate frame")
- (select-frame orig-frame 'no-record)
- (with-current-buffer (window-buffer (selected-window))
- (should (member (buffer-name) '("*ert*" "*scratch*")))
- (with-current-buffer (generate-new-buffer "bob")
- (erc-mode)
- (erc-tests--servars "ircd" 'erc-server-process 'erc-networks--id)
- (setq erc-default-recipients '("bob"))
- (should-not (get-buffer-window (current-buffer) t))
- (erc-setup-buffer (current-buffer))
- ;; Window created in frame "other"
- (should (eq (selected-frame) orig-frame))
- (erc-tests--assert-server-split (current-buffer) "other")))))
-
-(ert-deftest erc-reuse-frames--displayed-full ()
- :tags '(:unstable :expensive-test)
- (erc-tests--erc-reuse-frames
- (lambda (orig-frame)
- (let ((erc-reuse-frames 'displayed))
- (erc-tests--erc-reuse-frames--displayed-full orig-frame))
- (dolist (b '("server" "ircd" "bob" "alice" "#spam" "#chan"))
- (kill-buffer b)))))
-
(ert-deftest erc-lurker-maybe-trim ()
(let (erc-lurker-trim-nicks
(erc-lurker-ignore-chars "_`"))
@@ -868,6 +669,21 @@
(should-not (erc--valid-local-channel-p "#chan"))
(should (erc--valid-local-channel-p "&local")))))
+(ert-deftest erc--restore-initialize-priors ()
+ ;; This `pcase' expands to 100+k. Guess we could do something like
+ ;; (and `(,_ ((,e . ,_) . ,_) . ,_) v) first and then return a
+ ;; (equal `(if-let* ((,e ...)...)...) v) to cut it down to < 1k.
+ (should (pcase (macroexpand-1 '(erc--restore-initialize-priors erc-my-mode
+ foo (ignore 1 2 3)
+ bar #'spam))
+ (`(if-let* ((,e (or erc--server-reconnecting erc--target-priors))
+ ((alist-get 'erc-my-mode ,e)))
+ (setq foo (alist-get 'foo ,e)
+ bar (alist-get 'bar ,e))
+ (setq foo (ignore 1 2 3)
+ bar #'spam))
+ t))))
+
(ert-deftest erc--target-from-string ()
(should (equal (erc--target-from-string "#chan")
#s(erc--target-channel "#chan" \#chan)))
@@ -942,8 +758,8 @@
(should-not (local-variable-if-set-p 'erc-send-completed-hook))
(set (make-local-variable 'erc-send-completed-hook) nil) ; skip t (globals)
;; Just in case erc-ring-mode is already on
- (setq-local erc-pre-send-functions nil)
- (add-hook 'erc-pre-send-functions #'erc-add-to-input-ring)
+ (setq-local erc--input-review-functions nil)
+ (add-hook 'erc--input-review-functions #'erc-add-to-input-ring)
;;
(cl-letf (((symbol-function 'erc-process-input-line)
(lambda (&rest _)
@@ -1044,6 +860,48 @@
(kill-buffer "*erc-protocol*")
(should-not erc-debug-irc-protocol)))
+(ert-deftest erc--split-line ()
+ (let ((erc-default-recipients '("#chan"))
+ (erc-split-line-length 10))
+ (should (equal (erc--split-line "") '("")))
+ (should (equal (erc--split-line "0123456789") '("0123456789")))
+ (should (equal (erc--split-line "0123456789a") '("0123456789" "a")))
+
+ (should (equal (erc--split-line "0123456789 ") '("0123456789" " ")))
+ (should (equal (erc--split-line "01234567 89") '("01234567 " "89")))
+ (should (equal (erc--split-line "0123456 789") '("0123456 " "789")))
+ (should (equal (erc--split-line "0 123456789") '("0 " "123456789")))
+ (should (equal (erc--split-line " 0123456789") '(" " "0123456789")))
+ (should (equal (erc--split-line "012345678 9a") '("012345678 " "9a")))
+ (should (equal (erc--split-line "0123456789 a") '("0123456789" " a")))
+
+ ;; UTF-8 vs. KOI-8
+ (should (= 10 (string-bytes "РуÑÑк"))) ; utf-8
+ (should (equal (erc--split-line "РуÑÑк") '("РуÑÑк")))
+ (should (equal (erc--split-line "РуÑÑкийТекÑÑ‚") '("РуÑÑк" "ийТек" "ÑÑ‚")))
+ (should (equal (erc--split-line "РуÑÑкий ТекÑÑ‚") '("РуÑÑк" "ий " "ТекÑÑ‚")))
+ (let ((erc-encoding-coding-alist '(("#chan" . cyrillic-koi8))))
+ (should (equal (erc--split-line "РуÑÑк") '("РуÑÑк")))
+ (should (equal (erc--split-line "РуÑÑкийТекÑÑ‚") '("РуÑÑкийТек" "ÑÑ‚")))
+ (should (equal (erc--split-line "РуÑÑкий ТекÑÑ‚") '("РуÑÑкий " "ТекÑÑ‚"))))
+
+ ;; UTF-8 vs. Latin 1
+ (should (= 17 (string-bytes "Hyvää päivää")))
+ (should (equal (erc--split-line "Hyvää päivää") '("Hyvää " "päivää")))
+ (should (equal (erc--split-line "HyvääPäivää") '("HyvääPä" "ivää")))
+ (let ((erc-encoding-coding-alist '(("#chan" . latin-1))))
+ (should (equal (erc--split-line "Hyvää päivää") '("Hyvää " "päivää")))
+ (should (equal (erc--split-line "HyvääPäivää") '("HyvääPäivä" "ä"))))
+
+ ;; Combining characters
+ (should (= 10 (string-bytes "Åström")))
+ (should (equal (erc--split-line "_Åström") '("_Åströ" "m")))
+ (should (equal (erc--split-line "__Åström") '("__Åstr" "öm")))
+ (should (equal (erc--split-line "___Åström") '("___Åstr" "öm")))
+ (when (> emacs-major-version 27)
+ (should (equal (erc--split-line "ðŸðŸš©ðŸŽŒðŸ´ðŸ³ï¸ðŸ³ï¸â€ðŸŒˆðŸ³ï¸â€âš§ï¸ðŸ´â€â˜ ï¸")
+ '("ðŸðŸš©" "🎌ðŸ´" "ðŸ³ï¸" "ðŸ³ï¸â€ðŸŒˆ" "ðŸ³ï¸â€âš§ï¸" "ðŸ´â€â˜ ï¸"))))))
+
(ert-deftest erc--input-line-delim-regexp ()
(let ((p erc--input-line-delim-regexp))
;; none
@@ -1114,7 +972,9 @@
(defun erc-tests--with-process-input-spy (test)
(with-current-buffer (get-buffer-create "FakeNet")
- (let* ((erc-pre-send-functions
+ (let* ((erc--input-review-functions
+ (remove #'erc-add-to-input-ring erc--input-review-functions))
+ (erc-pre-send-functions
(remove #'erc-add-to-input-ring erc-pre-send-functions)) ; for now
(inhibit-message noninteractive)
(erc-server-current-nick "tester")
@@ -1181,8 +1041,9 @@
(ert-info ("Input cleared")
(erc-bol)
(should (eq (point) (point-max))))
- ;; Commands are forced (no flood protection)
- (should (equal (funcall next) '("/msg #chan hi\n" t nil))))
+ ;; The `force' argument is irrelevant here because it can't
+ ;; influence dispatched handlers, such as `erc-cmd-MSG'.
+ (should (pcase (funcall next) (`("/msg #chan hi\n" ,_ nil) t))))
(ert-info ("Simple non-command")
(insert "hi")
@@ -1190,7 +1051,8 @@
(should (eq (point) (point-max)))
(should (save-excursion (forward-line -1)
(search-forward "<tester> hi")))
- ;; Non-ommands are forced only when `erc-flood-protect' is nil
+ ;; Non-commands are forced only when `erc-flood-protect' is
+ ;; nil, which conflates two orthogonal concerns.
(should (equal (funcall next) '("hi\n" nil t))))
(should (consp erc-last-input-time)))))
@@ -1236,15 +1098,23 @@
(pcase-dolist (`(,p . ,q)
'(("/a b\r" "/a b\n") ("/a b\n" "/a b\n")
("/a b\n\n" "/a b\n") ("/a b\r\n" "/a b\n")
- ("a b\nc\n\n" "c\n" "a b\n")
- ("/a b\nc\n\n" "c\n" "/a b\n")
- ("/a b\n\nc\n\n" "c\n" "\n" "/a b\n")))
+ ("/a b\n\n\n" "/a b\n")))
(insert p)
(erc-send-current-line)
(erc-bol)
(should (eq (point) (point-max)))
(while q
- (should (equal (funcall next) (list (pop q) nil t))))
+ (should (pcase (funcall next)
+ (`(,cmd ,_ nil) (equal cmd (pop q))))))
+ (should-not (funcall next))))
+
+ (ert-info ("Multiline command with non-blanks errors")
+ (dolist (p '("/a b\nc\n\n" "/a b\n/c\n\n" "/a b\n\nc\n\n"
+ "/a\n c\n" "/a\nb\n" "/a\n/b\n" "/a \n \n"))
+ (insert p)
+ (should-error (erc-send-current-line))
+ (goto-char erc-input-marker)
+ (delete-region (point) (point-max))
(should-not (funcall next))))
(ert-info ("Multiline hunk with trailing whitespace not filtered")
@@ -1262,13 +1132,14 @@
(ert-info ("With `erc-inhibit-multiline-input' as t (2)")
(let ((erc-inhibit-multiline-input t))
(should-not (erc--check-prompt-input-for-excess-lines "" '("a")))
- (should-not (erc--check-prompt-input-for-excess-lines "" '("a" "")))
+ ;; Does not trim trailing blanks.
+ (should (erc--check-prompt-input-for-excess-lines "" '("a" "")))
(should (erc--check-prompt-input-for-excess-lines "" '("a" "b")))))
(ert-info ("With `erc-inhibit-multiline-input' as 3")
(let ((erc-inhibit-multiline-input 3))
(should-not (erc--check-prompt-input-for-excess-lines "" '("a" "b")))
- (should-not (erc--check-prompt-input-for-excess-lines "" '("a" "b" "")))
+ (should (erc--check-prompt-input-for-excess-lines "" '("a" "b" "")))
(should (erc--check-prompt-input-for-excess-lines "" '("a" "b" "c")))))
(ert-info ("With `erc-ask-about-multiline-input'")
@@ -1289,14 +1160,12 @@
(erc-default-recipients '("#chan"))
calls)
(with-temp-buffer
+ (erc-tests--set-fake-server-process "sleep" "1")
(cl-letf (((symbol-function 'erc-cmd-MSG)
(lambda (line)
(push line calls)
+ (should erc--called-as-input-p)
(funcall orig-erc-cmd-MSG line)))
- ((symbol-function 'erc-server-buffer)
- (lambda () (current-buffer)))
- ((symbol-function 'erc-server-process-alive)
- (lambda () t))
((symbol-function 'erc-server-send-queue)
#'ignore))
@@ -1349,6 +1218,94 @@
(should-not calls))))))
+
+;; The behavior of `erc-pre-send-functions' differs between versions
+;; in how hook members see and influence a trailing newline that's
+;; part of the original prompt submission:
+;;
+;; 5.4: both seen and sent
+;; 5.5: seen but not sent*
+;; 5.6: neither seen nor sent*
+;;
+;; * requires `erc-send-whitespace-lines' for hook to run
+;;
+;; Two aspects that have remained consistent are
+;;
+;; - a final nonempty line in any submission is always sent
+;; - a trailing newline appended by a hook member is always sent
+;;
+;; The last bullet would seem to contradict the "not sent" behavior of
+;; 5.5 and 5.6, but what's actually happening is that exactly one
+;; trailing newline is culled, so anything added always goes through.
+;; Also, in ERC 5.6, all empty lines are actually padded, but this is
+;; merely incidental WRT the above.
+;;
+;; Note that this test doesn't run any input-prep hooks and thus can't
+;; account for the "seen" dimension noted above.
+
+(ert-deftest erc--run-send-hooks ()
+ (with-suppressed-warnings ((obsolete erc-send-this)
+ (obsolete erc-send-pre-hook))
+ (should erc-insert-this)
+ (should erc-send-this) ; populates `erc--input-split-sendp'
+
+ (let (erc-pre-send-functions erc-send-pre-hook)
+
+ (ert-info ("String preserved, lines rewritten, empties padded")
+ (setq erc-pre-send-functions
+ (lambda (o) (setf (erc-input-string o) "bar\n\nbaz\n")))
+ (should (pcase (erc--run-send-hooks (make-erc--input-split
+ :string "foo" :lines '("foo")))
+ ((cl-struct erc--input-split
+ (string "foo") (sendp 't) (insertp 't)
+ (lines '("bar" " " "baz" " ")) (cmdp 'nil))
+ t))))
+
+ (ert-info ("Multiline commands rejected")
+ (should-error (erc--run-send-hooks (make-erc--input-split
+ :string "/mycmd foo"
+ :lines '("/mycmd foo")
+ :cmdp t))))
+
+ (ert-info ("Single-line commands pass")
+ (setq erc-pre-send-functions
+ (lambda (o) (setf (erc-input-sendp o) nil
+ (erc-input-string o) "/mycmd bar")))
+ (should (pcase (erc--run-send-hooks (make-erc--input-split
+ :string "/mycmd foo"
+ :lines '("/mycmd foo")
+ :cmdp t))
+ ((cl-struct erc--input-split
+ (string "/mycmd foo") (sendp 'nil) (insertp 't)
+ (lines '("/mycmd bar")) (cmdp 't))
+ t))))
+
+ (ert-info ("Legacy hook respected, special vars confined")
+ (setq erc-send-pre-hook (lambda (_) (setq erc-send-this nil))
+ erc-pre-send-functions (lambda (o) ; propagates
+ (should-not (erc-input-sendp o))))
+ (should (pcase (erc--run-send-hooks (make-erc--input-split
+ :string "foo" :lines '("foo")))
+ ((cl-struct erc--input-split
+ (string "foo") (sendp 'nil) (insertp 't)
+ (lines '("foo")) (cmdp 'nil))
+ t)))
+ (should erc-send-this))
+
+ (ert-info ("Request to resplit honored")
+ (setq erc-send-pre-hook nil
+ erc-pre-send-functions
+ (lambda (o) (setf (erc-input-string o) "foo bar baz"
+ (erc-input-refoldp o) t)))
+ (let ((erc-split-line-length 8))
+ (should
+ (pcase (erc--run-send-hooks (make-erc--input-split
+ :string "foo" :lines '("foo")))
+ ((cl-struct erc--input-split
+ (string "foo") (sendp 't) (insertp 't)
+ (lines '("foo bar " "baz")) (cmdp 'nil))
+ t))))))))
+
;; Note: if adding an erc-backend-tests.el, please relocate this there.
(ert-deftest erc-message ()
@@ -1469,7 +1426,7 @@
:nick (user-login-name)
'&interactive-env
'((erc-server-connect-function . erc-open-tls-stream)
- (erc-join-buffer . buffer))))))
+ (erc-join-buffer . window))))))
(ert-info ("Switches to TLS when port matches default TLS port")
(should (equal (ert-simulate-keys "irc.gnu.org\r6697\r\r\r"
@@ -1479,7 +1436,7 @@
:nick (user-login-name)
'&interactive-env
'((erc-server-connect-function . erc-open-tls-stream)
- (erc-join-buffer . buffer))))))
+ (erc-join-buffer . window))))))
(ert-info ("Switches to TLS when URL is ircs://")
(should (equal (ert-simulate-keys "ircs://irc.gnu.org\r\r\r\r"
@@ -1489,7 +1446,7 @@
:nick (user-login-name)
'&interactive-env
'((erc-server-connect-function . erc-open-tls-stream)
- (erc-join-buffer . buffer))))))
+ (erc-join-buffer . window))))))
(setq-local erc-interactive-display nil) ; cheat to save space
@@ -1625,7 +1582,7 @@
'("localhost" 6667 "nick" "unknown" t "sesame"
nil nil nil nil "user" nil)))
(should (equal (pop env)
- '((erc-join-buffer buffer)
+ '((erc-join-buffer window)
(erc-server-connect-function erc-open-tls-stream)))))
(ert-info ("Custom connect function")
@@ -1686,7 +1643,7 @@
'("irc.libera.chat" 6697 "tester" "unknown" t nil
nil nil nil nil "user" nil)))
(should (equal (pop env)
- '((erc-join-buffer buffer) (erc-server-connect-function
+ '((erc-join-buffer window) (erc-server-connect-function
erc-open-tls-stream)))))
(ert-info ("Nick supplied, decline TLS upgrade")
@@ -1696,7 +1653,7 @@
'("irc.libera.chat" 6667 "dummy" "unknown" t nil
nil nil nil nil "user" nil)))
(should (equal (pop env)
- '((erc-join-buffer buffer)
+ '((erc-join-buffer window)
(erc-server-connect-function
erc-open-network-stream))))))))
@@ -1830,48 +1787,77 @@
(should (eq (erc--normalize-module-symbol 'timestamp) 'stamp))
(should (eq (erc--normalize-module-symbol 'nickserv) 'services)))
-;; Worrying about which library a module comes from is mostly not
-;; worth the hassle so long as ERC can find its minor mode. However,
-;; bugs involving multiple modules living in the same library may slip
-;; by because a module's loading problems may remain hidden on account
-;; of its place in the default ordering.
-
-(ert-deftest erc--find-mode ()
+(defun erc-tests--assert-printed-in-subprocess (code expected)
(let* ((package (if-let* ((found (getenv "ERC_PACKAGE_NAME"))
((string-prefix-p "erc-" found)))
(intern found)
'erc))
+ ;; This is for integrations testing with managed configs
+ ;; ("starter kits") that use a different package manager.
+ (init (and-let* ((found (getenv "ERC_TESTS_INIT"))
+ (files (split-string found ","))
+ ((seq-every-p #'file-exists-p files)))
+ (mapcan (lambda (f) (list "-l" f)) files)))
(prog
- `(,@(and (featurep 'compat)
- `((progn
- (require 'package)
- (let ((package-load-list '((compat t) (,package t))))
- (package-initialize)))))
- (require 'erc)
- (let ((mods (mapcar #'cadddr
- (cdddr (get 'erc-modules 'custom-type))))
- moded)
- (setq mods
- (sort mods (lambda (a b) (if (zerop (random 2)) a b))))
- (dolist (mod mods)
- (unless (keywordp mod)
- (push (if-let ((mode (erc--find-mode mod)))
- mod
- (list :missing mod))
- moded)))
- (message "%S"
- (sort moded
- (lambda (a b)
- (string< (symbol-name a) (symbol-name b))))))))
- (proc (start-process "erc--module-mode-autoloads"
- (current-buffer)
- (concat invocation-directory invocation-name)
- "-batch" "-Q"
- "-eval" (format "%S" (cons 'progn prog)))))
+ `(progn
+ ,@(and (not init) (featurep 'compat)
+ `((require 'package)
+ (let ((package-load-list '((compat t) (,package t))))
+ (package-initialize))))
+ (require 'erc)
+ (cl-assert (equal erc-version ,erc-version) t)
+ ,code))
+ (proc (apply #'start-process
+ (symbol-name (ert-test-name (ert-running-test)))
+ (current-buffer)
+ (concat invocation-directory invocation-name)
+ `("-batch" ,@(or init '("-Q"))
+ "-eval" ,(format "%S" prog)))))
(set-process-query-on-exit-flag proc t)
(while (accept-process-output proc 10))
(goto-char (point-min))
- (should (equal (read (current-buffer)) erc-tests--modules))))
+ (unless (equal (read (current-buffer)) expected)
+ (message "Exepcted: %S\nGot: %s" expected (buffer-string))
+ (ert-fail "Mismatch"))))
+
+;; Worrying about which library a module comes from is mostly not
+;; worth the hassle so long as ERC can find its minor mode. However,
+;; bugs involving multiple modules living in the same library may slip
+;; by because a module's loading problems may remain hidden on account
+;; of its place in the default ordering.
+
+(ert-deftest erc--find-mode ()
+ (erc-tests--assert-printed-in-subprocess
+ `(let ((mods (mapcar #'cadddr (cdddr (get 'erc-modules 'custom-type))))
+ moded)
+ (setq mods (sort mods (lambda (a b) (if (zerop (random 2)) a b))))
+ (dolist (mod mods)
+ (unless (keywordp mod)
+ (push (if-let ((mode (erc--find-mode mod))) mod (list :missing mod))
+ moded)))
+ (message "%S"
+ (sort moded (lambda (a b)
+ (string< (symbol-name a) (symbol-name b))))))
+ erc-tests--modules))
+
+(ert-deftest erc--essential-hook-ordering ()
+ (erc-tests--assert-printed-in-subprocess
+ '(progn
+ (erc-update-modules)
+ (message "%S"
+ (list :erc-insert-modify-hook erc-insert-modify-hook
+ :erc-send-modify-hook erc-send-modify-hook)))
+
+ '( :erc-insert-modify-hook (erc-controls-highlight ; 0
+ erc-button-add-buttons ; 30
+ erc-fill ; 40
+ erc-match-message ; 50
+ erc-add-timestamp) ; 60
+
+ :erc-send-modify-hook ( erc-controls-highlight ; 0
+ erc-button-add-buttons ; 30
+ erc-fill ; 40
+ erc-add-timestamp)))) ; 50
(ert-deftest erc-migrate-modules ()
(should (equal (erc-migrate-modules '(autojoin timestamp button))
@@ -2017,7 +2003,7 @@ ARG is omitted or nil.
Some docstring."
:global t
:group (erc--find-group 'mname 'malias)
- :get #'erc--neuter-custom-variable-state
+ :require 'nil
:type "mname"
(if erc-mname-mode
(erc-mname-enable)
@@ -2109,65 +2095,4 @@ connection."
(put 'erc-mname-enable 'definition-name 'mname)
(put 'erc-mname-disable 'definition-name 'mname))))))
-
-;; XXX move erc-button tests to new file if more added.
-(require 'erc-button)
-
-;; See also `erc-scenarios-networks-announced-missing' in
-;; erc-scenarios-misc.el for a more realistic example.
-(ert-deftest erc-button--display-error-notice-with-keys ()
- (with-current-buffer (get-buffer-create "*fake*")
- (let ((mode erc-button-mode)
- (inhibit-message noninteractive)
- erc-modules
- erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
- (erc-mode)
- (erc-tests--set-fake-server-process "sleep" "1")
- (erc--initialize-markers (point) nil)
- (erc-button-mode +1)
- (should (equal (erc-button--display-error-notice-with-keys
- "If \\[erc-bol] fails, "
- "see \\[erc-bug] or `erc-mode-map'.")
- "*** If C-a fails, see M-x erc-bug or `erc-mode-map'."))
- (goto-char (point-min))
-
- (ert-info ("Keymap substitution succeeds")
- (erc-button-next)
- (should (looking-at "C-a"))
- (should (eq (get-text-property (point) 'mouse-face) 'highlight))
- (erc-button-press-button)
- (with-current-buffer "*Help*"
- (goto-char (point-min))
- (should (search-forward "erc-bol" nil t)))
- (erc-button-next)
- (erc-button-previous) ; end of interval correct
- (should (looking-at "a fails")))
-
- (ert-info ("Extended command mapping succeeds")
- (erc-button-next)
- (should (looking-at "M-x erc-bug"))
- (erc-button-press-button)
- (should (eq (get-text-property (point) 'mouse-face) 'highlight))
- (with-current-buffer "*Help*"
- (goto-char (point-min))
- (should (search-forward "erc-bug" nil t))))
-
- (ert-info ("Symbol-description face preserved") ; mutated by d-e-n-w-k
- (erc-button-next)
- (should (equal (get-text-property (point) 'font-lock-face)
- '(erc-button erc-error-face)))
- (should (eq (get-text-property (point) 'mouse-face) 'highlight))
- (should (eq erc-button-face 'erc-button))) ; extent evaporates
-
- (ert-info ("Format when trailing args include non-strings")
- (should (equal (erc-button--display-error-notice-with-keys
- "abc" " %d def" " 45%s" 123 '\6)
- "*** abc 123 def 456")))
-
- (when noninteractive
- (unless mode
- (erc-button-mode -1))
- (kill-buffer "*Help*")
- (kill-buffer)))))
-
;;; erc-tests.el ends here
diff --git a/test/lisp/erc/resources/base/channel-buffer-revival/reattach.eld b/test/lisp/erc/resources/base/channel-buffer-revival/reattach.eld
new file mode 100644
index 00000000000..c3791ac3d49
--- /dev/null
+++ b/test/lisp/erc/resources/base/channel-buffer-revival/reattach.eld
@@ -0,0 +1,56 @@
+;; -*- mode: lisp-data; -*-
+((pass 10 "PASS :tester@vanilla/foonet:changeme"))
+((nick 10 "NICK tester"))
+((user 10 "USER user 0 * :tester")
+ (0.00 ":irc.foonet.org 001 tester :Welcome to the foonet IRC Network tester")
+ (0.00 ":irc.foonet.org 002 tester :Your host is irc.foonet.org, running version ergo-v2.11.1")
+ (0.00 ":irc.foonet.org 003 tester :This server was created Thu, 13 Apr 2023 05:55:22 UTC")
+ (0.00 ":irc.foonet.org 004 tester irc.foonet.org ergo-v2.11.1 BERTZios CEIMRUabefhiklmnoqstuv Iabefhkloqv")
+ (0.00 ":irc.foonet.org 005 tester AWAYLEN=390 BOT=B CASEMAPPING=ascii CHANLIMIT=#:100 CHANMODES=Ibe,k,fl,CEMRUimnstu CHANNELLEN=64 CHANTYPES=# CHATHISTORY=1000 ELIST=U EXCEPTS EXTBAN=,m FORWARD=f INVEX :are supported by this server")
+ (0.00 ":irc.foonet.org 005 tester KICKLEN=390 MAXLIST=beI:60 MAXTARGETS=4 MODES MONITOR=100 NETWORK=foonet NICKLEN=32 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ TARGMAX=NAMES:1,LIST:1,KICK:,WHOIS:1,USERHOST:10,PRIVMSG:4,TAGMSG:4,NOTICE:4,MONITOR:100 TOPICLEN=390 UTF8ONLY WHOX :are supported by this server")
+ (0.00 ":irc.foonet.org 005 tester draft/CHATHISTORY=1000 :are supported by this server")
+ (0.00 ":irc.foonet.org 251 tester :There are 0 users and 3 invisible on 1 server(s)")
+ (0.01 ":irc.foonet.org 252 tester 0 :IRC Operators online")
+ (0.00 ":irc.foonet.org 254 tester 1 :channels formed")
+ (0.00 ":irc.foonet.org 255 tester :I have 3 clients and 0 servers")
+ (0.00 ":irc.foonet.org 265 tester 3 3 :Current local users 3, max 3")
+ (0.00 ":irc.foonet.org 266 tester 3 3 :Current global users 3, max 3")
+ (0.00 ":irc.foonet.org 422 tester :MOTD File is missing"))
+
+((mode 10 "MODE tester +i")
+ (0.01 ":irc.foonet.org 221 tester +Zi"))
+
+((privmsg-play 10 "PRIVMSG *status :playbuffer #chan")
+ (0.05 ":***!znc@znc.in PRIVMSG #chan :Buffer Playback...")
+ (0.02 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:08:24] alice: Was I a child, to fear I know not what.")
+ (0.02 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:08:29] bob: My lord, I do confess the ring was hers.")
+ (0.01 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:08:40] alice: My sons would never so dishonour me.")
+ (0.01 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:09:54] bob: By the hand of a soldier, I will undertake it.")
+ (0.01 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:09:57] alice: Thou counterfeit'st most lively.")
+ (0.01 ":***!znc@znc.in PRIVMSG #chan :Playback Complete."))
+
+((privmsg-attach 10 "PRIVMSG *status :attach #chan")
+ (0.01 ":tester!~u@78a58pgahbr24.irc JOIN #chan"))
+
+((mode-chan 10 "MODE #chan")
+ (0.01 ":irc.foonet.org 353 tester = #chan :@alice bob tester")
+ (0.00 ":irc.foonet.org 366 tester #chan :End of /NAMES list.")
+ (0.00 ":***!znc@znc.in PRIVMSG #chan :Buffer Playback...")
+ (0.00 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:10:01] bob: With what it loathes for that which is away.")
+ (0.00 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:10:30] alice: Ties up my tongue, and will not let me speak.")
+ (0.00 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:11:26] bob: They say he is already in the forest of Arden, and a many merry men with him; and there they live like the old Robin Hood of England. They say many young gentlemen flock to him every day, and fleet the time carelessly, as they did in the golden world.")
+ (0.01 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :[06:11:29] alice: Not by his breath that is more miserable.")
+ (0.00 ":***!znc@znc.in PRIVMSG #chan :Playback Complete.")
+ (0.00 ":*status!znc@znc.in PRIVMSG tester :There was 1 channel matching [#chan]")
+ (0.03 ":*status!znc@znc.in PRIVMSG tester :Attached 1 channel")
+ (0.00 ":irc.foonet.org 324 tester #chan +Cnt")
+ (0.00 ":irc.foonet.org 329 tester #chan 1681365340")
+ (0.03 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :bob: Five or six thousand horse, I said,I will say true,or thereabouts, set down, for I'll speak truth.")
+ (0.02 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :alice: Riddling confession finds but riddling shrift.")
+ (0.04 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :bob: Ay, and the captain of his horse, Count Rousillon."))
+
+((privmsg-bob 10 "PRIVMSG #chan :bob: hi")
+ (0.02 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :alice: But thankful even for hate, that is meant love.")
+ (0.02 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :tester: Come, come, elder brother, you are too young in this.")
+ (0.02 ":alice!~u@q2weir96jk3r2.irc PRIVMSG #chan :bob: Sir, we have known together in Orleans.")
+ (0.05 ":bob!~u@q2weir96jk3r2.irc PRIVMSG #chan :alice: Pawn me to this your honour, she is his."))
diff --git a/test/lisp/erc/resources/base/flood/ascii.eld b/test/lisp/erc/resources/base/flood/ascii.eld
new file mode 100644
index 00000000000..a3d127326c3
--- /dev/null
+++ b/test/lisp/erc/resources/base/flood/ascii.eld
@@ -0,0 +1,49 @@
+;; -*- mode: lisp-data; -*-
+((nick 10 "NICK tester"))
+((user 10 "USER user 0 * :tester")
+ (0.00 ":irc.foonet.org 001 tester :Welcome to the foonet IRC Network tester")
+ (0.01 ":irc.foonet.org 002 tester :Your host is irc.foonet.org, running version ergo-v2.11.1")
+ (0.01 ":irc.foonet.org 003 tester :This server was created Sun, 12 Mar 2023 02:30:29 UTC")
+ (0.00 ":irc.foonet.org 004 tester irc.foonet.org ergo-v2.11.1 BERTZios CEIMRUabefhiklmnoqstuv Iabefhkloqv")
+ (0.00 ":irc.foonet.org 005 tester AWAYLEN=390 BOT=B CASEMAPPING=ascii CHANLIMIT=#:100 CHANMODES=Ibe,k,fl,CEMRUimnstu CHANNELLEN=64 CHANTYPES=# CHATHISTORY=1000 ELIST=U EXCEPTS EXTBAN=,m FORWARD=f INVEX :are supported by this server")
+ (0.01 ":irc.foonet.org 005 tester KICKLEN=390 MAXLIST=beI:60 MAXTARGETS=4 MODES MONITOR=100 NETWORK=foonet NICKLEN=32 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ TARGMAX=NAMES:1,LIST:1,KICK:,WHOIS:1,USERHOST:10,PRIVMSG:4,TAGMSG:4,NOTICE:4,MONITOR:100 TOPICLEN=390 UTF8ONLY WHOX :are supported by this server")
+ (0.01 ":irc.foonet.org 005 tester draft/CHATHISTORY=1000 :are supported by this server")
+ (0.00 ":irc.foonet.org 251 tester :There are 0 users and 3 invisible on 1 server(s)")
+ (0.00 ":irc.foonet.org 252 tester 0 :IRC Operators online")
+ (0.00 ":irc.foonet.org 253 tester 0 :unregistered connections")
+ (0.00 ":irc.foonet.org 254 tester 1 :channels formed")
+ (0.00 ":irc.foonet.org 255 tester :I have 3 clients and 0 servers")
+ (0.00 ":irc.foonet.org 265 tester 3 3 :Current local users 3, max 3")
+ (0.00 ":irc.foonet.org 266 tester 3 3 :Current global users 3, max 3")
+ (0.00 ":irc.foonet.org 375 tester :- irc.foonet.org Message of the day - ")
+ (0.00 ":irc.foonet.org 372 tester :- This is the default Ergo MOTD.")
+ (0.01 ":irc.foonet.org 372 tester :- ")
+ (0.02 ":irc.foonet.org 372 tester :- For more information on using these, see MOTDFORMATTING.md")
+ (0.00 ":irc.foonet.org 376 tester :End of MOTD command"))
+
+((mode-tester 10 "MODE tester +i")
+ (0.00 ":irc.foonet.org 221 tester +i")
+ (0.00 ":irc.foonet.org NOTICE tester :This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.")
+ (0.05 ":irc.foonet.org 221 tester +i"))
+
+((join-spam 10 "JOIN #ascii")
+ (0 ":tester!~u@9g6b728983yd2.irc JOIN #ascii")
+ (0 ":irc.foonet.org 353 tester = #ascii :alice tester @bob")
+ (0 ":irc.foonet.org 366 tester #ascii :End of NAMES list"))
+
+((mode-spam 10 "MODE #ascii")
+ (0 ":irc.foonet.org 324 tester #ascii +nt")
+ (0 ":irc.foonet.org 329 tester #ascii 1620104779")
+ (0.1 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #ascii :tester, welcome!")
+ (0.0 ":alice!~u@rz2v467q4rwhy.irc PRIVMSG #ascii :tester, welcome!"))
+
+((privmsg 10 "PRIVMSG #ascii :twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters 12345678"))
+((privmsg 10 "PRIVMSG #ascii :twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters twenty-three characters "))
+((privmsg 10 "PRIVMSG #ascii :123456789"))
+((privmsg 10 "PRIVMSG #ascii :xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"))
+((privmsg 10 "PRIVMSG #ascii :yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"))
+((privmsg 10 "PRIVMSG #ascii :z"))
+
+((quit 10 "QUIT :\2ERC\2")
+ (0.07 ":tester!~u@h3f95zveyc38a.irc QUIT :Quit: \2ERC\2 5.5 (IRC client for GNU Emacs 30.0.50)")
+ (0.01 "ERROR :Quit: \2ERC\2 5.5 (IRC client for GNU Emacs 30.0.50)"))
diff --git a/test/lisp/erc/resources/base/flood/koi8-r.eld b/test/lisp/erc/resources/base/flood/koi8-r.eld
new file mode 100644
index 00000000000..0f10717fc2c
--- /dev/null
+++ b/test/lisp/erc/resources/base/flood/koi8-r.eld
@@ -0,0 +1,47 @@
+;; -*- mode: lisp-data; -*-
+((nick 10 "NICK tester"))
+((user 10 "USER user 0 * :tester")
+ (0.00 ":irc.foonet.org 001 tester :Welcome to the foonet IRC Network tester")
+ (0.01 ":irc.foonet.org 002 tester :Your host is irc.foonet.org, running version ergo-v2.11.1")
+ (0.01 ":irc.foonet.org 003 tester :This server was created Sun, 12 Mar 2023 02:30:29 UTC")
+ (0.00 ":irc.foonet.org 004 tester irc.foonet.org ergo-v2.11.1 BERTZios CEIMRUabefhiklmnoqstuv Iabefhkloqv")
+ (0.00 ":irc.foonet.org 005 tester AWAYLEN=390 BOT=B CASEMAPPING=ascii CHANLIMIT=#:100 CHANMODES=Ibe,k,fl,CEMRUimnstu CHANNELLEN=64 CHANTYPES=# CHATHISTORY=1000 ELIST=U EXCEPTS EXTBAN=,m FORWARD=f INVEX :are supported by this server")
+ (0.01 ":irc.foonet.org 005 tester KICKLEN=390 MAXLIST=beI:60 MAXTARGETS=4 MODES MONITOR=100 NETWORK=foonet NICKLEN=32 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ TARGMAX=NAMES:1,LIST:1,KICK:,WHOIS:1,USERHOST:10,PRIVMSG:4,TAGMSG:4,NOTICE:4,MONITOR:100 TOPICLEN=390 UTF8ONLY WHOX :are supported by this server")
+ (0.01 ":irc.foonet.org 005 tester draft/CHATHISTORY=1000 :are supported by this server")
+ (0.00 ":irc.foonet.org 251 tester :There are 0 users and 3 invisible on 1 server(s)")
+ (0.00 ":irc.foonet.org 252 tester 0 :IRC Operators online")
+ (0.00 ":irc.foonet.org 253 tester 0 :unregistered connections")
+ (0.00 ":irc.foonet.org 254 tester 1 :channels formed")
+ (0.00 ":irc.foonet.org 255 tester :I have 3 clients and 0 servers")
+ (0.00 ":irc.foonet.org 265 tester 3 3 :Current local users 3, max 3")
+ (0.00 ":irc.foonet.org 266 tester 3 3 :Current global users 3, max 3")
+ (0.00 ":irc.foonet.org 375 tester :- irc.foonet.org Message of the day - ")
+ (0.00 ":irc.foonet.org 372 tester :- This is the default Ergo MOTD.")
+ (0.01 ":irc.foonet.org 372 tester :- ")
+ (0.02 ":irc.foonet.org 372 tester :- For more information on using these, see MOTDFORMATTING.md")
+ (0.00 ":irc.foonet.org 376 tester :End of MOTD command"))
+
+((mode-tester 10 "MODE tester +i")
+ (0.00 ":irc.foonet.org 221 tester +i")
+ (0.00 ":irc.foonet.org NOTICE tester :This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.")
+ (0.05 ":irc.foonet.org 221 tester +i"))
+
+((join-chan 6 "JOIN #koi8")
+ (0 ":tester!~u@9g6b728983yd2.irc JOIN #koi8")
+ (0 ":irc.foonet.org 353 tester = #koi8 :alice tester @bob")
+ (0 ":irc.foonet.org 366 tester #koi8 :End of NAMES list"))
+
+((mode-chan 8 "MODE #koi8")
+ (0 ":irc.foonet.org 324 tester #koi8 +nt")
+ (0 ":irc.foonet.org 329 tester #koi8 1620104779")
+ (0.1 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #koi8 :tester, welcome!")
+ (0.0 ":alice!~u@rz2v467q4rwhy.irc PRIVMSG #koi8 :tester, welcome!")
+ (0.0 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #koi8 :\313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317"))
+
+((privmsg 10 "PRIVMSG #koi8 :\313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317"))
+((privmsg 10 "PRIVMSG #koi8 :\313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \313\317\322\317\336\305 \324\305\320\305\322\330 \305\323\314\311 \320\317 \322\325\323\323\313\311 \316\301\320\311\323\301\324\330 \327\323\305 \336\305\324\313\317 \311\314\311 \327\323\305 \322\301\327\316\317 \302\325\304\305\324 "))
+((privmsg 10 "PRIVMSG #koi8 :\322\301\332\322\331\327 \323\324\322\317\313\311 \316\305\320\317\316\321\324\316\317 \307\304\305"))
+
+((quit 10 "QUIT :\2ERC\2")
+ (0.07 ":tester!~u@h3f95zveyc38a.irc QUIT :Quit: \2ERC\2 5.5 (IRC client for GNU Emacs 30.0.50)")
+ (0.01 "ERROR :Quit: \2ERC\2 5.5 (IRC client for GNU Emacs 30.0.50)"))
diff --git a/test/lisp/erc/resources/base/flood/utf-8.eld b/test/lisp/erc/resources/base/flood/utf-8.eld
new file mode 100644
index 00000000000..8e7f8f7eed2
--- /dev/null
+++ b/test/lisp/erc/resources/base/flood/utf-8.eld
@@ -0,0 +1,54 @@
+;; -*- mode: lisp-data; -*-
+((nick 10 "NICK tester"))
+((user 10 "USER user 0 * :tester")
+ (0.00 ":irc.foonet.org 001 tester :Welcome to the foonet IRC Network tester")
+ (0.01 ":irc.foonet.org 002 tester :Your host is irc.foonet.org, running version ergo-v2.11.1")
+ (0.01 ":irc.foonet.org 003 tester :This server was created Sun, 12 Mar 2023 02:30:29 UTC")
+ (0.00 ":irc.foonet.org 004 tester irc.foonet.org ergo-v2.11.1 BERTZios CEIMRUabefhiklmnoqstuv Iabefhkloqv")
+ (0.00 ":irc.foonet.org 005 tester AWAYLEN=390 BOT=B CASEMAPPING=ascii CHANLIMIT=#:100 CHANMODES=Ibe,k,fl,CEMRUimnstu CHANNELLEN=64 CHANTYPES=# CHATHISTORY=1000 ELIST=U EXCEPTS EXTBAN=,m FORWARD=f INVEX :are supported by this server")
+ (0.01 ":irc.foonet.org 005 tester KICKLEN=390 MAXLIST=beI:60 MAXTARGETS=4 MODES MONITOR=100 NETWORK=foonet NICKLEN=32 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ TARGMAX=NAMES:1,LIST:1,KICK:,WHOIS:1,USERHOST:10,PRIVMSG:4,TAGMSG:4,NOTICE:4,MONITOR:100 TOPICLEN=390 UTF8ONLY WHOX :are supported by this server")
+ (0.01 ":irc.foonet.org 005 tester draft/CHATHISTORY=1000 :are supported by this server")
+ (0.00 ":irc.foonet.org 251 tester :There are 0 users and 3 invisible on 1 server(s)")
+ (0.00 ":irc.foonet.org 252 tester 0 :IRC Operators online")
+ (0.00 ":irc.foonet.org 253 tester 0 :unregistered connections")
+ (0.00 ":irc.foonet.org 254 tester 1 :channels formed")
+ (0.00 ":irc.foonet.org 255 tester :I have 3 clients and 0 servers")
+ (0.00 ":irc.foonet.org 265 tester 3 3 :Current local users 3, max 3")
+ (0.00 ":irc.foonet.org 266 tester 3 3 :Current global users 3, max 3")
+ (0.00 ":irc.foonet.org 375 tester :- irc.foonet.org Message of the day - ")
+ (0.00 ":irc.foonet.org 372 tester :- This is the default Ergo MOTD.")
+ (0.01 ":irc.foonet.org 372 tester :- ")
+ (0.02 ":irc.foonet.org 372 tester :- For more information on using these, see MOTDFORMATTING.md")
+ (0.00 ":irc.foonet.org 376 tester :End of MOTD command"))
+
+((mode-tester 10 "MODE tester +i")
+ (0.00 ":irc.foonet.org 221 tester +i")
+ (0.00 ":irc.foonet.org NOTICE tester :This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.")
+ (0.05 ":irc.foonet.org 221 tester +i"))
+
+((join-spam 10 "JOIN #utf-8")
+ (0 ":tester!~u@9g6b728983yd2.irc JOIN #utf-8")
+ (0 ":irc.foonet.org 353 tester = #utf-8 :alice tester @bob")
+ (0 ":irc.foonet.org 366 tester #utf-8 :End of NAMES list"))
+
+((mode-spam 10 "MODE #utf-8")
+ (0 ":irc.foonet.org 324 tester #utf-8 +nt")
+ (0 ":irc.foonet.org 329 tester #utf-8 1620104779")
+ (0.1 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #utf-8 :tester, welcome!")
+ (0.0 ":alice!~u@rz2v467q4rwhy.irc PRIVMSG #utf-8 :tester, welcome!"))
+
+((privmsg-a 10 "PRIVMSG #utf-8 :\320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 \320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 \320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 \320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 "))
+((privmsg-b 10 "PRIVMSG #utf-8 :\320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 \320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 \320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\272\320\276\321\200\320\276\321\207\320\265 \321\202\320\265\320\277\320\265\321\200\321\214 \320\265\321\201\320\273\320\270 \320\277\320\276 \321\200\321\203\321\201\321\201\320\272\320\270 \320\275\320\260\320\277\320\270\321\201\320\260\321\202\321\214 \320\262\321\201\320\265 \321\207\320\265\321\202\320\272\320\276 \320\270\320\273\320\270 \320\262\321\201\320\265 \321\200\320\260\320\262\320\275\320\276 \320\261\321\203\320\264\320\265\321\202 \321\200\320\260\320\267\321\200\321\213\320\262 \321\201\321\202\321\200\320\276\320\272\320\270 \320\275\320\265\320\277\320\276\320\275\321\217\321\202\320\275\320\276 \320\263\320\264\320\265 \320\261\321\203\320\264\320\265\321\202 "))
+((privmsg-c 10 "PRIVMSG #utf-8 :\321\200\320\260\320\267\321\200\321\213\320\262 \321\201\321\202\321\200\320\276\320\272\320\270 \320\275\320\265\320\277\320\276\320\275\321\217\321\202\320\275\320\276 \320\263\320\264\320\265")
+ (0.1 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #utf-8 :alice: Entirely honour; I would not be delay'd."))
+
+((privmsg-g 10 "PRIVMSG #utf-8 :\350\251\261\350\252\252\345\244\251\344\270\213\345\244\247\345\213\242\357\274\214\345\210\206\344\271\205\345\277\205\345\220\210\357\274\214\345\220\210\344\271\205\345\277\205\345\210\206\357\274\232\345\221\250\346\234\253\344\270\203\345\234\213\345\210\206\347\210\255\357\274\214\345\271\266\345\205\245\346\226\274\347\247\246\343\200\202\345\217\212\347\247\246\346\273\205\344\271\213\345\276\214\357\274\214\346\245\232\343\200\201\346\274\242\345\210\206\347\210\255\357\274\214\345\217\210\345\271\266\345\205\245\346\226\274\346\274\242\343\200\202\346\274\242\346\234\235\350\207\252\351\253\230\347\245\226\346\226\254\347\231\275\350\233\207\350\200\214\350\265\267\347\276\251\357\274\214\344\270\200\347\265\261\345\244\251\344\270\213\343\200\202\345\276\214\344\276\206\345\205\211\346\255\246\344\270\255\350\210\210\357\274\214\345\202\263\350\207\263\347\215\273\345\270\235\357\274\214\351\201\202\345\210\206\347\202\272\344\270\211\345\234\213\343\200\202\346\216\250\345\205\266\350\207\264\344\272\202\344\271\213\347\224\261\357\274\214\346\256\206\345\247\213\346\226\274\346\241\223\343\200\201\351\235\210\344\272\214\345\270\235\343\200\202\346\241\223\345\270\235\347\246\201\351\214\256\345\226\204\351\241\236\357\274\214\345\264\207\344\277\241\345\256\246\345\256\230\343\200\202\345\217\212\346\241\223\345\270\235\345\264\251\357\274\214\351\235\210\345\270\235\345\215\263\344\275\215\357\274\214\345\244\247\345\260\207\350\273\215\347\253\207\346\255\246\343\200\201\345\244\252\345\202\205\351\231\263\350\225\203\357\274\214\345\205\261\347\233\270\350\274\224\344\275\220\343\200\202\346\231\202\346\234\211\345\256\246\345\256\230\346\233\271\347\257\200\347\255\211\345\274\204\346\254\212\357\274\214"))
+((privmsg-h 10 "PRIVMSG #utf-8 :\347\253\207\346\255\246\343\200\201\351\231\263\350\225\203\350\254\200\350\252\205\344\271\213\357\274\214\344\275\234\344\272\213\344\270\215\345\257\206\357\274\214\345\217\215\347\202\272\346\211\200\345\256\263\343\200\202\344\270\255\346\266\223\350\207\252\346\255\244\346\204\210\346\251\253")
+ (0.0 ":alice!~u@rz2v467q4rwhy.irc PRIVMSG #utf-8 :Shall seize this prey out of his father's hands."))
+
+((privmsg-d 10 "PRIVMSG #utf-8 :\320\261\321\203\320\264\320\265\321\202\302\240\321\200\320\260\320\267\321\200\321\213\320\262\302\240\321\201\321\202\321\200\320\276\320\272\320\270\302\240\320\275\320\265\320\277\320\276\320\275\321\217\321\202\320\275\320\276\302\240\320\263\320\264\320\265\360\237\217\201\360\237\232\251\360\237\216\214\360\237\217\264\360\237\217\263\357\270\217"))
+((privmsg-e 10 "PRIVMSG #utf-8 :\360\237\217\263\357\270\217\342\200\215\360\237\214\210\360\237\217\263\357\270\217\342\200\215\342\232\247\357\270\217\360\237\217\264\342\200\215\342\230\240\357\270\217"))
+
+((quit 10 "QUIT :\2ERC\2")
+ (0.07 ":tester!~u@h3f95zveyc38a.irc QUIT :Quit: \2ERC\2 5.5 (IRC client for GNU Emacs 30.0.50)")
+ (0.01 "ERROR :Quit: \2ERC\2 5.5 (IRC client for GNU Emacs 30.0.50)"))
diff --git a/test/lisp/erc/resources/erc-d/erc-d-tests.el b/test/lisp/erc/resources/erc-d/erc-d-tests.el
index a501cd55494..0ae70087fd1 100644
--- a/test/lisp/erc/resources/erc-d/erc-d-tests.el
+++ b/test/lisp/erc/resources/erc-d/erc-d-tests.el
@@ -674,7 +674,7 @@ nonzero for this to work."
(ert-deftest erc-d-run-linger ()
:tags '(:unstable :expensive-test)
(erc-d-tests-with-server (dumb-s _) linger
- (with-current-buffer (erc-d-t-wait-for 6 (get-buffer "#chan"))
+ (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan"))
(erc-d-t-search-for 2 "hey"))
(with-current-buffer (process-buffer dumb-s)
(erc-d-t-search-for 2 "Lingering for 1.00 seconds"))
diff --git a/test/lisp/erc/resources/erc-d/erc-d.el b/test/lisp/erc/resources/erc-d/erc-d.el
index f4491bbb834..e9d880644d4 100644
--- a/test/lisp/erc/resources/erc-d/erc-d.el
+++ b/test/lisp/erc/resources/erc-d/erc-d.el
@@ -299,9 +299,10 @@ PROCESS should be a client connection or a server network process."
(concat (format-time-string "%s.%N: ")
,format-string)
,format-string))
- (want-insert (and ,process erc-d--in-process)))
- (when want-insert
- (with-current-buffer (process-buffer (process-get ,process :server))
+ (want-insert (and ,process erc-d--in-process))
+ (buffer (process-buffer (process-get ,process :server))))
+ (when (and want-insert (buffer-live-p buffer))
+ (with-current-buffer buffer
(goto-char (point-max))
(insert (concat (format ,format-string ,@args) "\n"))))
(when (or erc-d--m-debug (not want-insert))
@@ -455,7 +456,7 @@ including line delimiters."
(setq string (unless (= (match-end 0) (length string))
(substring string (match-end 0))))
(erc-d--log process line nil)
- (ring-insert queue (erc-d-i--parse-message line 'decode))))
+ (ring-insert queue (erc-d-i--parse-message line nil))))
(when string
(setf (process-get process :stashed-input) string))))
diff --git a/test/lisp/erc/resources/erc-scenarios-common.el b/test/lisp/erc/resources/erc-scenarios-common.el
index f259c88594b..32e7556d602 100644
--- a/test/lisp/erc/resources/erc-scenarios-common.el
+++ b/test/lisp/erc/resources/erc-scenarios-common.el
@@ -51,7 +51,7 @@
;; argument, a `let*'-style VAR-LIST. Relying on such a macro is
;; unfortunate because in many ways it actually hampers readability by
;; favoring magic over verbosity. But without it (or something
-;; similar), any failing test would cause all subsequent tests in this
+;; similar), any failing test would cause all subsequent tests in a
;; file to fail like dominoes (making all but the first backtrace
;; useless).
;;
diff --git a/test/lisp/erc/resources/fill/snapshots/merge-01-start.eld b/test/lisp/erc/resources/fill/snapshots/merge-01-start.eld
index db3136a9d9e..689bacc7012 100644
--- a/test/lisp/erc/resources/fill/snapshots/merge-01-start.eld
+++ b/test/lisp/erc/resources/fill/snapshots/merge-01-start.eld
@@ -1 +1 @@
-#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n\n[Sat Apr 1 2023]\n<bob> zero.[07:00]\n<alice> one.\n<alice> two.\n<bob> three.\n<bob> four.\n" 2 21 (erc-timestamp 0 line-prefix (space :width (- 27 18)) field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=(#6=(margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (wrap-prefix #2# line-prefix #3#) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (wrap-prefix #2# line-prefix #4#) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (wrap-prefix #2# line-prefix #5#) 436 455 (erc-timestamp 1680332400 line-prefix (space :width (- 27 18)) field erc-timestamp) 455 456 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #8=(space :width (- 27 (6))) erc-command PRIVMSG) 456 459 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #8# erc-command PRIVMSG) 459 466 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #8# erc-command PRIVMSG) 466 473 (erc-timestamp 1680332400 field erc-timestamp wrap-prefix #2# line-prefix #8# display #7=(#6# #("[07:00]" 0 7 (display #7# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 473 474 (wrap-prefix #2# line-prefix #8#) 474 475 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9=(space :width (- 27 (8))) erc-command PRIVMSG) 475 480 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 480 486 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 486 487 (wrap-prefix #2# line-prefix #9#) 487 488 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10=(space :width (- 27 0)) display #11="" erc-command PRIVMSG) 488 493 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 493 495 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 495 499 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# erc-command PRIVMSG) 499 500 (wrap-prefix #2# line-prefix #10#) 500 501 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12=(space :width (- 27 (6))) erc-command PRIVMSG) 501 504 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 504 512 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 512 513 (wrap-prefix #2# line-prefix #12#) 513 514 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13=(space :width (- 27 0)) display #11# erc-command PRIVMSG) 514 517 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 517 519 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 519 524 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# erc-command PRIVMSG) 524 525 (wrap-prefix #2# line-prefix #13#)) \ No newline at end of file
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n\n[Sat Apr 1 2023]\n<bob> zero.[07:00]\n<alice> one.\n<alice> two.\n<bob> three.\n<bob> four.\n<Dummy> five.\n<Dummy> six.\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 27 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=(#7=(margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 436 454 (erc-timestamp 1680332400 line-prefix (space :width (- 27 (18))) field erc-timestamp) 454 455 (erc-timestamp 1680332400 field erc-timestamp) 455 456 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #6=(space :width (- 27 (6))) erc-command PRIVMSG) 456 459 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #6# erc-command PRIVMSG) 459 466 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #6# erc-command PRIVMSG) 466 473 (erc-timestamp 1680332400 field erc-timestamp wrap-prefix #2# line-prefix #6# display #8=(#7# #("[07:00]" 0 7 (display #8# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 474 475 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9=(space :width (- 27 (8))) erc-command PRIVMSG) 475 480 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 480 486 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 487 488 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10=(space :width (- 27 0)) display #11="" erc-command PRIVMSG) 488 493 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 493 495 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 495 499 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# erc-command PRIVMSG) 500 501 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12=(space :width (- 27 (6))) erc-command PRIVMSG) 501 504 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 504 512 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 513 514 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13=(space :width (- 27 0)) display #11# erc-command PRIVMSG) 514 517 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 517 519 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 519 524 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# erc-command PRIVMSG) 525 526 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #14=(space :width (- 27 (8))) erc-command PRIVMSG) 526 531 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #14# erc-command PRIVMSG) 531 538 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #14# erc-command PRIVMSG) 539 540 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15=(space :width (- 27 0)) display #11# erc-command PRIVMSG) 540 545 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15# display #11# erc-command PRIVMSG) 545 547 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15# display #11# erc-command PRIVMSG) 547 551 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/fill/snapshots/merge-02-right.eld b/test/lisp/erc/resources/fill/snapshots/merge-02-right.eld
index fcb9e59b757..9fa23a7d332 100644
--- a/test/lisp/erc/resources/fill/snapshots/merge-02-right.eld
+++ b/test/lisp/erc/resources/fill/snapshots/merge-02-right.eld
@@ -1 +1 @@
-#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n\n[Sat Apr 1 2023]\n<bob> zero.[07:00]\n<alice> one.\n<alice> two.\n<bob> three.\n<bob> four.\n" 2 21 (erc-timestamp 0 line-prefix (space :width (- 29 18)) field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 29) line-prefix #3=(space :width (- 29 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=(#6=(margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (wrap-prefix #2# line-prefix #3#) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 29 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (wrap-prefix #2# line-prefix #4#) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 29 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (wrap-prefix #2# line-prefix #5#) 436 455 (erc-timestamp 1680332400 line-prefix (space :width (- 29 18)) field erc-timestamp) 455 456 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #8=(space :width (- 29 (6))) erc-command PRIVMSG) 456 459 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #8# erc-command PRIVMSG) 459 466 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #8# erc-command PRIVMSG) 466 473 (erc-timestamp 1680332400 field erc-timestamp wrap-prefix #2# line-prefix #8# display #7=(#6# #("[07:00]" 0 7 (display #7# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 473 474 (wrap-prefix #2# line-prefix #8#) 474 475 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9=(space :width (- 29 (8))) erc-command PRIVMSG) 475 480 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 480 486 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 486 487 (wrap-prefix #2# line-prefix #9#) 487 488 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10=(space :width (- 29 0)) display #11="" erc-command PRIVMSG) 488 493 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 493 495 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 495 499 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# erc-command PRIVMSG) 499 500 (wrap-prefix #2# line-prefix #10#) 500 501 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12=(space :width (- 29 (6))) erc-command PRIVMSG) 501 504 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 504 512 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 512 513 (wrap-prefix #2# line-prefix #12#) 513 514 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13=(space :width (- 29 0)) display #11# erc-command PRIVMSG) 514 517 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 517 519 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 519 524 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# erc-command PRIVMSG) 524 525 (wrap-prefix #2# line-prefix #13#)) \ No newline at end of file
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n\n[Sat Apr 1 2023]\n<bob> zero.[07:00]\n<alice> one.\n<alice> two.\n<bob> three.\n<bob> four.\n<Dummy> five.\n<Dummy> six.\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 29 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 29) line-prefix #3=(space :width (- 29 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=(#7=(margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 29 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 29 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 436 454 (erc-timestamp 1680332400 line-prefix (space :width (- 29 (18))) field erc-timestamp) 454 455 (erc-timestamp 1680332400 field erc-timestamp) 455 456 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #6=(space :width (- 29 (6))) erc-command PRIVMSG) 456 459 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #6# erc-command PRIVMSG) 459 466 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #6# erc-command PRIVMSG) 466 473 (erc-timestamp 1680332400 field erc-timestamp wrap-prefix #2# line-prefix #6# display #8=(#7# #("[07:00]" 0 7 (display #8# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 474 475 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9=(space :width (- 29 (8))) erc-command PRIVMSG) 475 480 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 480 486 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #9# erc-command PRIVMSG) 487 488 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10=(space :width (- 29 0)) display #11="" erc-command PRIVMSG) 488 493 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 493 495 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# display #11# erc-command PRIVMSG) 495 499 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #10# erc-command PRIVMSG) 500 501 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12=(space :width (- 29 (6))) erc-command PRIVMSG) 501 504 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 504 512 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #12# erc-command PRIVMSG) 513 514 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13=(space :width (- 29 0)) display #11# erc-command PRIVMSG) 514 517 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 517 519 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# display #11# erc-command PRIVMSG) 519 524 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #13# erc-command PRIVMSG) 525 526 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #14=(space :width (- 29 (8))) erc-command PRIVMSG) 526 531 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #14# erc-command PRIVMSG) 531 538 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #14# erc-command PRIVMSG) 539 540 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15=(space :width (- 29 0)) display #11# erc-command PRIVMSG) 540 545 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15# display #11# erc-command PRIVMSG) 545 547 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15# display #11# erc-command PRIVMSG) 547 551 (erc-timestamp 1680332400 wrap-prefix #2# line-prefix #15# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld b/test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld
index 67ebad542fb..80c9e1d80f5 100644
--- a/test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld
+++ b/test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld
@@ -1 +1 @@
-#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 21 (erc-timestamp 0 line-prefix (space :width (- 27 18)) field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (wrap-prefix #2# line-prefix #3#) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (wrap-prefix #2# line-prefix #4#) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (wrap-prefix #2# line-prefix #5#)) \ No newline at end of file
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 27 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld b/test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld
index 0bf8001475d..e675695f660 100644
--- a/test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld
+++ b/test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld
@@ -1 +1 @@
-#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 21 (erc-timestamp 0 line-prefix (space :width (- 29 18)) field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 29) line-prefix #3=(space :width (- 29 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (wrap-prefix #2# line-prefix #3#) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 29 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (wrap-prefix #2# line-prefix #4#) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 29 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (wrap-prefix #2# line-prefix #5#)) \ No newline at end of file
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 29 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 29) line-prefix #3=(space :width (- 29 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 29 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 29 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld b/test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld
index 7d231d19cef..a6070c2e3ff 100644
--- a/test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld
+++ b/test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld
@@ -1 +1 @@
-#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 21 (erc-timestamp 0 line-prefix (space :width (- 25 18)) field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 25) line-prefix #3=(space :width (- 25 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (wrap-prefix #2# line-prefix #3#) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 25 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (wrap-prefix #2# line-prefix #4#) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 25 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (wrap-prefix #2# line-prefix #5#)) \ No newline at end of file
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 25 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 25) line-prefix #3=(space :width (- 25 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 25 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 25 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld b/test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld
index 67ebad542fb..80c9e1d80f5 100644
--- a/test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld
+++ b/test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld
@@ -1 +1 @@
-#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 21 (erc-timestamp 0 line-prefix (space :width (- 27 18)) field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (wrap-prefix #2# line-prefix #3#) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (wrap-prefix #2# line-prefix #4#) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (wrap-prefix #2# line-prefix #5#)) \ No newline at end of file
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 27 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld b/test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld
new file mode 100644
index 00000000000..2b8766c27f4
--- /dev/null
+++ b/test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld
@@ -0,0 +1 @@
+#("\n\n\n[Thu Jan 1 1970]\n*** This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.[00:00]\n<alice> bob: come, you are a tedious fool: to the purpose. What was done to Elbow's wife, that he hath cause to complain of? Come me to what was done to her.\n<bob> alice: Either your unparagoned mistress is dead, or she's outprized by a trifle.\n<bob> This buffer is for text.\n*** one two three\n*** four five six\n<bob> Somebody stop me\n" 2 20 (erc-timestamp 0 line-prefix (space :width (- 27 (18))) field erc-timestamp) 20 21 (erc-timestamp 0 field erc-timestamp) 21 183 (erc-timestamp 0 wrap-prefix #2=(space :width 27) line-prefix #3=(space :width (- 27 (4)))) 183 190 (erc-timestamp 0 field erc-timestamp wrap-prefix #2# line-prefix #3# display #1=((margin right-margin) #("[00:00]" 0 7 (display #1# isearch-open-invisible timestamp invisible timestamp font-lock-face erc-timestamp-face)))) 190 191 (line-spacing 0.5) 191 192 (erc-timestamp 0 wrap-prefix #2# line-prefix #4=(space :width (- 27 (8))) erc-command PRIVMSG) 192 197 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 197 199 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 199 202 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 202 315 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 315 316 (erc-timestamp 0 erc-command PRIVMSG) 316 348 (erc-timestamp 0 wrap-prefix #2# line-prefix #4# erc-command PRIVMSG) 348 349 (line-spacing 0.5) 349 350 (erc-timestamp 0 wrap-prefix #2# line-prefix #5=(space :width (- 27 (6))) erc-command PRIVMSG) 350 353 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 353 355 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 355 360 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 360 435 (erc-timestamp 0 wrap-prefix #2# line-prefix #5# erc-command PRIVMSG) 435 436 (line-spacing 0.5) 436 437 (erc-timestamp 0 wrap-prefix #2# line-prefix #6=(space :width (- 27 0)) display #7="" erc-command PRIVMSG) 437 440 (erc-timestamp 0 wrap-prefix #2# line-prefix #6# display #7# erc-command PRIVMSG) 440 442 (erc-timestamp 0 wrap-prefix #2# line-prefix #6# display #7# erc-command PRIVMSG) 442 466 (erc-timestamp 0 wrap-prefix #2# line-prefix #6# erc-command PRIVMSG) 466 467 (line-spacing 0.5) 467 484 (erc-timestamp 0 wrap-prefix #2# line-prefix (space :width (- 27 (4)))) 485 502 (erc-timestamp 0 wrap-prefix #2# line-prefix (space :width (- 27 (4)))) 502 503 (line-spacing 0.5) 503 504 (erc-timestamp 0 wrap-prefix #2# line-prefix #8=(space :width (- 27 (6))) erc-command PRIVMSG) 504 507 (erc-timestamp 0 wrap-prefix #2# line-prefix #8# erc-command PRIVMSG) 507 525 (erc-timestamp 0 wrap-prefix #2# line-prefix #8# erc-command PRIVMSG)) \ No newline at end of file
diff --git a/test/lisp/erc/resources/base/renick/regain/normal-again.eld b/test/lisp/erc/resources/services/regain/reconnect-retry-again.eld
index c0529052c70..c0529052c70 100644
--- a/test/lisp/erc/resources/base/renick/regain/normal-again.eld
+++ b/test/lisp/erc/resources/services/regain/reconnect-retry-again.eld
diff --git a/test/lisp/erc/resources/base/renick/regain/normal.eld b/test/lisp/erc/resources/services/regain/reconnect-retry.eld
index 9f4df70e580..9f4df70e580 100644
--- a/test/lisp/erc/resources/base/renick/regain/normal.eld
+++ b/test/lisp/erc/resources/services/regain/reconnect-retry.eld
diff --git a/test/lisp/erc/resources/services/regain/taken-ghost.eld b/test/lisp/erc/resources/services/regain/taken-ghost.eld
new file mode 100644
index 00000000000..d5afd124a43
--- /dev/null
+++ b/test/lisp/erc/resources/services/regain/taken-ghost.eld
@@ -0,0 +1,42 @@
+;; -*- mode: lisp-data; -*-
+((cap 10 "CAP REQ :sasl")
+ (0.00 ":irc.example.net NOTICE * :*** Looking up your hostname...")
+ (0.01 ":irc.example.net NOTICE * :*** Could not resolve your hostname: Domain not found; using your IP address (10.0.2.100) instead."))
+((nick 10 "NICK dummy"))
+((user 10 "USER dummy 0 * :tester"))
+((authenticate 10 "AUTHENTICATE PLAIN")
+ (0.00 ":irc.example.net CAP * ACK :sasl")
+ (0.03 ":irc.example.net 433 * dummy :Nickname is already in use.")
+ (0.04 "AUTHENTICATE :+"))
+((nick 10 "NICK dummy`")
+ (0.00 "PING :orrMOjk^|V"))
+((~pong 10 "PONG :orrMOjk^|V"))
+((authenticate 10 "AUTHENTICATE AHRlc3RlcgBjaGFuZ2VtZQ==")
+ (0.01 ":irc.example.net 900 dummy` dummy`!dummy@10.0.2.100 tester :You are now logged in as tester")
+ (0.01 ":irc.example.net 903 dummy` :SASL authentication successful"))
+((cap 10 "CAP END")
+ (0.00 ":irc.example.net 001 dummy` :Welcome to the FooNet IRC Network dummy`!dummy@10.0.2.100")
+ (0.03 ":irc.example.net 002 dummy` :Your host is irc.example.net, running version InspIRCd-3")
+ (0.01 ":irc.example.net 003 dummy` :This server was created 13:01:55 Jun 08 2023")
+ (0.01 ":irc.example.net 004 dummy` irc.example.net InspIRCd-3 BIRcgikorsw ACHIKMORTXabcefghijklmnopqrstvz :HIXabefghjkloqv")
+ (0.00 ":irc.example.net 005 dummy` ACCEPT=30 AWAYLEN=200 BOT=B CALLERID=g CASEMAPPING=ascii CHANLIMIT=#:20 CHANMODES=IXbeg,k,Hfjl,ACKMORTcimnprstz CHANNELLEN=64 CHANTYPES=# ELIST=CMNTU ESILENCE=CcdiNnPpTtx EXCEPTS=e :are supported by this server")
+ (0.01 ":irc.example.net 005 dummy` EXTBAN=,ACORTUacjrwz HOSTLEN=64 INVEX=I KEYLEN=32 KICKLEN=255 LINELEN=512 MAXLIST=I:100,X:100,b:100,e:100,g:100 MAXTARGETS=20 MODES=20 MONITOR=30 NAMELEN=128 NAMESX NETWORK=FooNet :are supported by this server")
+ (0.01 ":irc.example.net 005 dummy` NICKLEN=30 PREFIX=(qaohv)~&@%+ SAFELIST SILENCE=32 STATUSMSG=~&@%+ TOPICLEN=307 UHNAMES USERIP USERLEN=10 USERMODES=,,s,BIRcgikorw WHOX :are supported by this server")
+ (0.01 ":irc.example.net 251 dummy` :There are 2 users and 1 invisible on 2 servers")
+ (0.01 ":irc.example.net 253 dummy` 1 :unknown connections")
+ (0.00 ":irc.example.net 254 dummy` 1 :channels formed")
+ (0.00 ":irc.example.net 255 dummy` :I have 3 clients and 1 servers")
+ (0.00 ":irc.example.net 265 dummy` :Current local users: 3 Max: 4")
+ (0.00 ":irc.example.net 266 dummy` :Current global users: 3 Max: 4")
+ (0.00 ":irc.example.net 375 dummy` :irc.example.net message of the day")
+ (0.00 ":irc.example.net 372 dummy` : Have fun with the image!")
+ (0.00 ":irc.example.net 376 dummy` :End of message of the day."))
+
+((mode 10 "MODE dummy` +i"))
+((privmsg 10 "PRIVMSG NickServ :GHOST dummy")
+ (0.00 ":irc.example.net 501 dummy` x :is not a recognised user mode.")
+ (0.00 ":irc.example.net NOTICE dummy` :*** You are connected to irc.example.net using TLS (SSL) cipher 'TLS1.3-ECDHE-RSA-AES-256-GCM-AEAD'")
+ (0.03 ":dummy`!dummy@10.0.2.100 MODE dummy` :+i")
+ (0.02 ":NickServ!NickServ@services.int NOTICE dummy` :\2dummy\2 has been ghosted."))
+((nick 10 "NICK dummy")
+ (0.02 ":dummy`!dummy@10.0.2.100 NICK :dummy"))
diff --git a/test/lisp/erc/resources/services/regain/taken-regain.eld b/test/lisp/erc/resources/services/regain/taken-regain.eld
new file mode 100644
index 00000000000..22635d4cc89
--- /dev/null
+++ b/test/lisp/erc/resources/services/regain/taken-regain.eld
@@ -0,0 +1,42 @@
+;; -*- mode: lisp-data; -*-
+((cap 10 "CAP REQ :sasl")
+ (0.00 ":irc.example.net NOTICE * :*** Looking up your hostname...")
+ (0.01 ":irc.example.net NOTICE * :*** Could not resolve your hostname: Domain not found; using your IP address (10.0.2.100) instead."))
+((nick 10 "NICK dummy"))
+((user 10 "USER dummy 0 * :tester"))
+;; This also happens to a test late ACK (see ghost variant for server-sent PING)
+((authenticate 10 "AUTHENTICATE PLAIN")
+ (0.00 ":irc.example.net CAP * ACK :sasl")
+ (0.09 ":irc.example.net 433 * dummy :Nickname is already in use.")
+ (0.04 "AUTHENTICATE :+"))
+((nick 10 "NICK dummy`"))
+((authenticate 10 "AUTHENTICATE AHRlc3RlcgBjaGFuZ2VtZQ==")
+ (0.00 ":irc.example.net 900 dummy` dummy`!dummy@10.0.2.100 tester :You are now logged in as tester")
+ (0.01 ":irc.example.net 903 dummy` :SASL authentication successful"))
+
+((cap 10 "CAP END")
+ (0.00 ":irc.example.net 001 dummy` :Welcome to the FooNet IRC Network dummy`!dummy@10.0.2.100")
+ (0.02 ":irc.example.net 002 dummy` :Your host is irc.example.net, running version InspIRCd-3")
+ (0.02 ":irc.example.net 003 dummy` :This server was created 08:16:52 Jun 08 2023")
+ (0.01 ":irc.example.net 004 dummy` irc.example.net InspIRCd-3 BIRcgikorsw ACHIKMORTXabcefghijklmnopqrstvz :HIXabefghjkloqv")
+ (0.00 ":irc.example.net 005 dummy` ACCEPT=30 AWAYLEN=200 BOT=B CALLERID=g CASEMAPPING=ascii CHANLIMIT=#:20 CHANMODES=IXbeg,k,Hfjl,ACKMORTcimnprstz CHANNELLEN=64 CHANTYPES=# ELIST=CMNTU ESILENCE=CcdiNnPpTtx EXCEPTS=e :are supported by this server")
+ (0.01 ":irc.example.net 005 dummy` EXTBAN=,ACORTUacjrwz HOSTLEN=64 INVEX=I KEYLEN=32 KICKLEN=255 LINELEN=512 MAXLIST=I:100,X:100,b:100,e:100,g:100 MAXTARGETS=20 MODES=20 MONITOR=30 NAMELEN=128 NAMESX NETWORK=FooNet :are supported by this server")
+ (0.01 ":irc.example.net 005 dummy` NICKLEN=30 PREFIX=(qaohv)~&@%+ SAFELIST SILENCE=32 STATUSMSG=~&@%+ TOPICLEN=307 UHNAMES USERIP USERLEN=10 USERMODES=,,s,BIRcgikorw WHOX :are supported by this server")
+ (0.01 ":irc.example.net 251 dummy` :There are 2 users and 1 invisible on 2 servers")
+ (0.01 ":irc.example.net 253 dummy` 1 :unknown connections")
+ (0.00 ":irc.example.net 254 dummy` 1 :channels formed")
+ (0.02 ":irc.example.net 255 dummy` :I have 3 clients and 1 servers")
+ (0.00 ":irc.example.net 265 dummy` :Current local users: 3 Max: 4")
+ (0.00 ":irc.example.net 266 dummy` :Current global users: 3 Max: 4")
+ (0.00 ":irc.example.net 375 dummy` :irc.example.net message of the day")
+ (0.00 ":irc.example.net 372 dummy` : Have fun with the image!")
+ (0.00 ":irc.example.net 376 dummy` :End of message of the day.")
+ (0.00 ":irc.example.net 501 dummy` x :is not a recognised user mode.")
+ (0.00 ":irc.example.net NOTICE dummy` :*** You are connected to irc.example.net using TLS (SSL) cipher 'TLS1.3-ECDHE-RSA-AES-256-GCM-AEAD'"))
+
+((mode 10 "MODE dummy` +i"))
+
+((privmsg 10 "PRIVMSG NickServ :REGAIN dummy")
+ (0.00 ":dummy`!dummy@10.0.2.100 MODE dummy` :+i")
+ (0.02 ":NickServ!NickServ@services.int NOTICE dummy` :\2dummy\2 has been regained.")
+ (0.02 ":dummy`!dummy@10.0.2.100 NICK :dummy"))
diff --git a/test/lisp/eshell/em-prompt-tests.el b/test/lisp/eshell/em-prompt-tests.el
index 257549e40fb..93bf9d84ab3 100644
--- a/test/lisp/eshell/em-prompt-tests.el
+++ b/test/lisp/eshell/em-prompt-tests.el
@@ -80,8 +80,13 @@ This tests the case when `eshell-highlight-prompt' is nil."
(apply #'propertize "hello\n"
eshell-command-output-properties)))))))
-(ert-deftest em-prompt-test/next-previous-prompt ()
- "Check that navigating forward/backward through old prompts works correctly."
+(defmacro em-prompt-test--with-multiline (&rest body)
+ "Execute BODY with a multiline Eshell prompt."
+ `(let ((eshell-prompt-function (lambda () "multiline prompt\n$ ")))
+ ,@body))
+
+(defun em-prompt-test/next-previous-prompt-with ()
+ "Helper for checking forward/backward navigation of old prompts."
(with-temp-eshell
(eshell-insert-command "echo one")
(eshell-insert-command "echo two")
@@ -98,8 +103,17 @@ This tests the case when `eshell-highlight-prompt' is nil."
(eshell-next-prompt 3)
(should (equal (eshell-get-old-input) "echo fou"))))
-(ert-deftest em-prompt-test/forward-backward-matching-input ()
- "Check that navigating forward/backward via regexps works correctly."
+(ert-deftest em-prompt-test/next-previous-prompt ()
+ "Check that navigating forward/backward through old prompts works correctly."
+ (em-prompt-test/next-previous-prompt-with))
+
+(ert-deftest em-prompt-test/next-previous-prompt-multiline ()
+ "Check old prompt forward/backward navigation for multiline prompts."
+ (em-prompt-test--with-multiline
+ (em-prompt-test/next-previous-prompt-with)))
+
+(defun em-prompt-test/forward-backward-matching-input-with ()
+ "Helper for checking forward/backward navigation via regexps."
(with-temp-eshell
(eshell-insert-command "echo one")
(eshell-insert-command "printnl something else")
@@ -117,4 +131,13 @@ This tests the case when `eshell-highlight-prompt' is nil."
(eshell-forward-matching-input "echo" 3)
(should (equal (eshell-get-old-input) "echo fou"))))
+(ert-deftest em-prompt-test/forward-backward-matching-input ()
+ "Check that navigating forward/backward via regexps works correctly."
+ (em-prompt-test/forward-backward-matching-input-with))
+
+(ert-deftest em-prompt-test/forward-backward-matching-input-multiline ()
+ "Check forward/backward regexp navigation for multiline prompts."
+ (em-prompt-test--with-multiline
+ (em-prompt-test/forward-backward-matching-input-with)))
+
;;; em-prompt-tests.el ends here
diff --git a/test/lisp/eshell/esh-util-tests.el b/test/lisp/eshell/esh-util-tests.el
index ed841e96c7e..8585677e14e 100644
--- a/test/lisp/eshell/esh-util-tests.el
+++ b/test/lisp/eshell/esh-util-tests.el
@@ -46,9 +46,15 @@
(ert-deftest esh-util-test/eshell-stringify/list ()
"Test that `eshell-stringify' correctly stringifies lists."
+ ;; These tests depend on the particulars of how Emacs pretty-prints
+ ;; lists; changes to the pretty-printer could result in different
+ ;; whitespace. We don't care about that, except to ensure there's
+ ;; no leading/trailing whitespace.
(should (equal (eshell-stringify '(1 2 3)) "(1 2 3)"))
- (should (equal (eshell-stringify '((1 2) (3 . 4)))
- "((1 2)\n (3 . 4))")))
+ (should (equal (replace-regexp-in-string
+ (rx (+ (any space "\n"))) " "
+ (eshell-stringify '((1 2) (3 . 4))))
+ "((1 2) (3 . 4))")))
(ert-deftest esh-util-test/eshell-stringify/complex ()
"Test that `eshell-stringify' correctly stringifies complex objects."
diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el
index bc094345ffe..0873910ddf9 100644
--- a/test/lisp/filenotify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -939,10 +939,13 @@ delivered."
:tags '(:expensive-test)
(skip-unless (file-notify--test-local-enabled))
- ;; `auto-revert-buffers' runs every 5". And we must wait, until the
- ;; file has been reverted.
- (let ((timeout (if (file-remote-p temporary-file-directory) 60 10))
- buf)
+ ;; Run with shortened `auto-revert-interval' for a faster test.
+ (let* ((auto-revert-interval 1)
+ (timeout (if (file-remote-p temporary-file-directory)
+ 60 ; FIXME: can this be shortened?
+ (* auto-revert-interval 2.5)))
+ buf)
+ (auto-revert-set-timer)
(unwind-protect
(progn
;; In the remote case, `vc-refresh-state' returns undesired
@@ -960,10 +963,9 @@ delivered."
(sleep-for 1)
(auto-revert-mode 1)
- ;; `auto-revert-buffers' runs every 5".
(with-timeout (timeout (ignore))
(while (null auto-revert-notify-watch-descriptor)
- (sleep-for 1)))
+ (sleep-for 0.2)))
;; `file-notify--test-monitor' needs to know
;; `file-notify--test-desc' in order to compute proper
@@ -1032,7 +1034,7 @@ delivered."
(file-notify--test-cleanup))))
(file-notify--deftest-remote file-notify-test04-autorevert
- "Check autorevert via file notification for remote files.")
+ "Check autorevert via file notification for remote files." t)
(ert-deftest file-notify-test05-file-validity ()
"Check `file-notify-valid-p' for files."
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index aadb60e1de7..f6c7be88b05 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -166,6 +166,27 @@ form.")
(hack-local-variables)
(should (eq lexical-binding nil)))))
+(ert-deftest files-tests-safe-local-variable-directories ()
+ ;; safe-local-variable-directories should be risky,
+ ;; so use it as an arbitrary risky variable.
+ (let ((test-alist '((safe-local-variable-directories . "some_val")))
+ (fakedir default-directory)
+ (enable-local-eval t))
+ (with-temp-buffer
+ (setq safe-local-variable-directories (list fakedir))
+ (hack-local-variables-filter test-alist fakedir)
+ (should (equal file-local-variables-alist test-alist)))
+ (with-temp-buffer
+ (setq safe-local-variable-directories (list fakedir))
+ (setq noninteractive t)
+ (hack-local-variables-filter test-alist "wrong")
+ (should-not (equal file-local-variables-alist test-alist)))
+ (with-temp-buffer
+ (setq safe-local-variable-directories '())
+ (setq noninteractive t)
+ (hack-local-variables-filter test-alist fakedir)
+ (should-not (equal file-local-variables-alist test-alist)))))
+
(defvar files-test-bug-18141-file
(ert-resource-file "files-bug18141.el.gz")
"Test file for bug#18141.")
diff --git a/test/lisp/find-cmd-tests.el b/test/lisp/find-cmd-tests.el
index a0b9a80ef47..3fbd0fc4ea3 100644
--- a/test/lisp/find-cmd-tests.el
+++ b/test/lisp/find-cmd-tests.el
@@ -25,7 +25,7 @@
(ert-deftest find-cmd-test-find-cmd ()
(should
(string-match
- (rx "find " (+ any)
+ (rx "find " (+ nonl)
" \\( \\( -name .svn -or -name .git -or -name .CVS \\)"
" -prune -or -true \\)"
" \\( \\( \\(" " -name \\*.pl -or -name \\*.pm -or -name \\*.t \\)"
diff --git a/test/lisp/minibuffer-tests.el b/test/lisp/minibuffer-tests.el
index 1de8e56cbd4..a67fc555772 100644
--- a/test/lisp/minibuffer-tests.el
+++ b/test/lisp/minibuffer-tests.el
@@ -353,12 +353,23 @@
'("a" "ab" "ac")
(execute-kbd-macro (kbd "a TAB TAB"))
(should (equal (car messages) "Complete, but not unique"))
- (should-not (get-buffer-window "*Completions*" 0))))
+ (should-not (get-buffer-window "*Completions*" 0))
+ (execute-kbd-macro (kbd "b TAB"))
+ (should (equal (car messages) "Sole completion"))))
(let ((completion-auto-help t))
(completing-read-with-minibuffer-setup
'("a" "ab" "ac")
(execute-kbd-macro (kbd "a TAB TAB"))
- (should (get-buffer-window "*Completions*" 0)))))))
+ (should (get-buffer-window "*Completions*" 0))
+ (execute-kbd-macro (kbd "b TAB"))
+ (should (equal (car messages) "Sole completion"))))
+ (let ((completion-auto-help 'visible))
+ (completing-read-with-minibuffer-setup
+ '("a" "ab" "ac" "achoo")
+ (execute-kbd-macro (kbd "a TAB TAB"))
+ (should (get-buffer-window "*Completions*" 0))
+ (execute-kbd-macro (kbd "ch TAB"))
+ (should (equal (car messages) "Sole completion")))))))
(ert-deftest completion-auto-select-test ()
(let ((completion-auto-select t))
diff --git a/test/lisp/misc-tests.el b/test/lisp/misc-tests.el
index f1d22e099b9..b9bafe4bd11 100644
--- a/test/lisp/misc-tests.el
+++ b/test/lisp/misc-tests.el
@@ -24,6 +24,7 @@
;;; Code:
(require 'ert)
+(require 'misc)
(defmacro with-misc-test (original result &rest body)
(declare (indent 2))
@@ -88,6 +89,20 @@
(duplicate-line 2)
(should (equal (buffer-string) "abc\ndefg\ndefg\ndefg\nh\n"))
(should (equal (point) 7)))
+ ;; Duplicate a line (twice) and move point to the first duplicated line.
+ (with-temp-buffer
+ (insert "abc\ndefg\nh\n")
+ (goto-char 7)
+ (let ((duplicate-line-final-position 1)) (duplicate-line 2))
+ (should (equal (buffer-string) "abc\ndefg\ndefg\ndefg\nh\n"))
+ (should (equal (point) 12)))
+ ;; Duplicate a line (twice) and move point to the last duplicated line.
+ (with-temp-buffer
+ (insert "abc\ndefg\nh\n")
+ (goto-char 7)
+ (let ((duplicate-line-final-position -1)) (duplicate-line 2))
+ (should (equal (buffer-string) "abc\ndefg\ndefg\ndefg\nh\n"))
+ (should (equal (point) 17)))
;; Duplicate a non-terminated line.
(with-temp-buffer
(insert "abc")
@@ -99,40 +114,70 @@
(require 'rect)
(ert-deftest misc--duplicate-dwim ()
- ;; Duplicate a line.
- (with-temp-buffer
- (insert "abc\ndefg\nh\n")
- (goto-char 7)
- (duplicate-dwim 2)
- (should (equal (buffer-string) "abc\ndefg\ndefg\ndefg\nh\n"))
- (should (equal (point) 7)))
+ (let ((duplicate-line-final-position 0)
+ (duplicate-region-final-position 0))
+ ;; Duplicate a line.
+ (dolist (final-pos '(0 -1 1))
+ (ert-info ((prin1-to-string final-pos) :prefix "final-pos: ")
+ (with-temp-buffer
+ (insert "abc\ndefg\nh\n")
+ (goto-char 7)
+ (let ((duplicate-line-final-position final-pos))
+ (duplicate-dwim 3))
+ (should (equal (buffer-string) "abc\ndefg\ndefg\ndefg\ndefg\nh\n"))
+ (let ((delta (* 5 (if (< final-pos 0) 3 final-pos))))
+ (should (equal (point) (+ 7 delta)))))))
+
+ ;; Duplicate a region.
+ (dolist (final-pos '(0 -1 1))
+ (ert-info ((prin1-to-string final-pos) :prefix "final-pos: ")
+ (with-temp-buffer
+ (insert "abCDEFghi")
+ (set-mark 3)
+ (goto-char 7)
+ (transient-mark-mode)
+ (should (use-region-p))
+ (let ((duplicate-region-final-position final-pos))
+ (duplicate-dwim 3))
+ (should (equal (buffer-string) "abCDEFCDEFCDEFCDEFghi"))
+ (should (region-active-p))
+ (let ((delta (* 4 (if (< final-pos 0) 3 final-pos))))
+ (should (equal (point) (+ 7 delta)))
+ (should (equal (mark) (+ 3 delta)))))))
+
+ ;; Duplicate a rectangular region (sparse).
+ (with-temp-buffer
+ (insert "x\n>a\n>bcde\n>fg\nyz\n")
+ (goto-char 4)
+ (rectangle-mark-mode)
+ (goto-char 15)
+ (rectangle-forward-char 1)
+ (duplicate-dwim)
+ (should (equal (buffer-string) "x\n>a a \n>bcdbcde\n>fg fg \nyz\n"))
+ (should (equal (point) 24))
+ (should (region-active-p))
+ (should rectangle-mark-mode)
+ (should (equal (mark) 4)))
+
+ ;; Idem (dense).
+ (dolist (final-pos '(0 -1 1))
+ (ert-info ((prin1-to-string final-pos) :prefix "final-pos: ")
+ (with-temp-buffer
+ (insert "aBCd\neFGh\niJKl\n")
+ (goto-char 2)
+ (rectangle-mark-mode)
+ (goto-char 14)
+ (let ((duplicate-region-final-position final-pos))
+ (duplicate-dwim 3))
+ (should (equal (buffer-string)
+ "aBCBCBCBCd\neFGFGFGFGh\niJKJKJKJKl\n"))
+ (should (region-active-p))
+ (should rectangle-mark-mode)
+ (let ((hdelta (* 2 (if (< final-pos 0) 3 final-pos)))
+ (vdelta 12))
+ (should (equal (point) (+ 14 vdelta hdelta)))
+ (should (equal (mark) (+ 2 hdelta)))))))))
- ;; Duplicate a region.
- (with-temp-buffer
- (insert "abc\ndef\n")
- (set-mark 2)
- (goto-char 7)
- (transient-mark-mode)
- (should (use-region-p))
- (duplicate-dwim)
- (should (equal (buffer-string) "abc\ndebc\ndef\n"))
- (should (equal (point) 7))
- (should (region-active-p))
- (should (equal (mark) 2)))
-
- ;; Duplicate a rectangular region.
- (with-temp-buffer
- (insert "x\n>a\n>bcde\n>fg\nyz\n")
- (goto-char 4)
- (rectangle-mark-mode)
- (goto-char 15)
- (rectangle-forward-char 1)
- (duplicate-dwim)
- (should (equal (buffer-string) "x\n>a a \n>bcdbcde\n>fg fg \nyz\n"))
- (should (equal (point) 24))
- (should (region-active-p))
- (should rectangle-mark-mode)
- (should (equal (mark) 4))))
(provide 'misc-tests)
;;; misc-tests.el ends here
diff --git a/test/lisp/net/tramp-archive-tests.el b/test/lisp/net/tramp-archive-tests.el
index 94ef40a1116..5485b12f74f 100644
--- a/test/lisp/net/tramp-archive-tests.el
+++ b/test/lisp/net/tramp-archive-tests.el
@@ -121,6 +121,12 @@ the origin of the temporary TMPFILE, have no write permissions."
(directory-files tmpfile 'full directory-files-no-dot-files-regexp))
(delete-directory tmpfile)))
+(defun tramp-archive--test-emacs28-p ()
+ "Check for Emacs version >= 28.1.
+Some semantics has been changed for there, without new functions or
+variables, so we check the Emacs version directly."
+ (>= emacs-major-version 28))
+
(ert-deftest tramp-archive-test00-availability ()
"Test availability of archive file name functions."
:expected-result (if tramp-archive-enabled :passed :failed)
@@ -587,11 +593,11 @@ This checks also `file-name-as-directory', `file-name-directory',
(mapcar (lambda (x) (concat tmp-name x)) files)))
(should (equal (directory-files
tmp-name nil directory-files-no-dot-files-regexp)
- (delete "." (delete ".." files))))
+ (remove "." (remove ".." files))))
(should (equal (directory-files
tmp-name 'full directory-files-no-dot-files-regexp)
(mapcar (lambda (x) (concat tmp-name x))
- (delete "." (delete ".." files))))))
+ (remove "." (remove ".." files))))))
;; Cleanup.
(tramp-archive-cleanup-hash))))
@@ -881,16 +887,19 @@ This tests also `file-executable-p', `file-writable-p' and `set-file-modes'."
(zerop (nth 1 fsi))
(zerop (nth 2 fsi))))))
-;; `file-user-uid' was introduced in Emacs 30.1.
-(ert-deftest tramp-archive-test44-file-user-uid ()
- "Check that `file-user-uid' returns proper values."
+;; `file-user-uid' and `file-group-gid' were introduced in Emacs 30.1.
+(ert-deftest tramp-archive-test44-user-group-ids ()
+ "Check results of user/group functions.
+`file-user-uid' and `file-group-gid' should return proper values."
(skip-unless tramp-archive-enabled)
- (skip-unless (fboundp 'file-user-uid))
+ (skip-unless (and (fboundp 'file-user-uid)
+ (fboundp 'file-group-gid)))
(let ((default-directory tramp-archive-test-archive))
- ;; `file-user-uid' exists since Emacs 30.1. We don't want to see
- ;; compiler warnings for older Emacsen.
- (should (integerp (with-no-warnings (file-user-uid))))))
+ ;; `file-user-uid' and `file-group-gid' exist since Emacs 30.1.
+ ;; We don't want to see compiler warnings for older Emacsen.
+ (should (integerp (with-no-warnings (file-user-uid))))
+ (should (integerp (with-no-warnings (file-group-gid))))))
(ert-deftest tramp-archive-test48-auto-load ()
"Check that `tramp-archive' autoloads properly."
@@ -909,12 +918,15 @@ This tests also `file-executable-p', `file-writable-p' and `set-file-modes'."
(featurep 'tramp-archive))))"))
(dolist (enabled '(t nil))
(dolist (default-directory
- `(,temporary-file-directory
+ (append
+ `(,temporary-file-directory)
;; Starting Emacs in a directory which has
;; `tramp-archive-file-name-regexp' syntax is
;; supported only with Emacs > 27.2 (sigh!).
;; (Bug#48476)
- ,(file-name-as-directory tramp-archive-test-directory)))
+ (and (tramp-archive--test-emacs28-p)
+ `(,(file-name-as-directory
+ tramp-archive-test-directory)))))
(dolist (file `("/mock::foo" ,(concat tramp-archive-test-archive "foo")))
(should
(string-match
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 9bca6a03754..45bcf23f790 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -66,13 +66,13 @@
(defvar ange-ftp-make-backup-files)
(defvar tramp-connection-properties)
(defvar tramp-copy-size-limit)
-(defvar tramp-display-escape-sequence-regexp)
(defvar tramp-fuse-remove-hidden-files)
(defvar tramp-fuse-unmount-on-cleanup)
(defvar tramp-inline-compress-start-size)
(defvar tramp-persistency-file-name)
(defvar tramp-remote-path)
(defvar tramp-remote-process-environment)
+(defvar tramp-use-connection-share)
;; Needed for Emacs 27.
(defvar lock-file-name-transforms)
@@ -297,16 +297,6 @@ is greater than 10.
(tramp--test-message
"%s %f sec" ,message (float-time (time-subtract nil start))))))
-;; `always' is introduced with Emacs 28.1.
-(defalias 'tramp--test-always
- (if (fboundp 'always)
- #'always
- (lambda (&rest _arguments)
- "Do nothing and return t.
-This function accepts any number of ARGUMENTS, but ignores them.
-Also see `ignore'."
- t)))
-
(ert-deftest tramp-test00-availability ()
"Test availability of Tramp functions."
:expected-result (if (tramp--test-enabled) :passed :failed)
@@ -531,6 +521,7 @@ Also see `ignore'."
tramp-default-method-alist
tramp-default-user-alist
tramp-default-host-alist
+ tramp-default-proxies-alist
;; Suppress method name check.
(non-essential t)
;; Suppress check for multihops.
@@ -857,154 +848,203 @@ Also see `ignore'."
"/path/to/file"))
;; Multihop.
- (should
- (string-equal
- (file-remote-p
- "/method1:user1@host1|method2:user2@host2:/path/to/file")
- "/method2:user2@host2:"))
- (should
- (string-equal
- (file-remote-p
- "/method1:user1@host1|method2:user2@host2:/path/to/file" 'method)
- "method2"))
- (should
- (string-equal
- (file-remote-p
- "/method1:user1@host1|method2:user2@host2:/path/to/file" 'user)
- "user2"))
- (should
- (string-equal
- (file-remote-p
- "/method1:user1@host1|method2:user2@host2:/path/to/file" 'host)
- "host2"))
- (should
- (string-equal
- (file-remote-p
- "/method1:user1@host1|method2:user2@host2:/path/to/file"
- 'localname)
- "/path/to/file"))
- (should
- (string-equal
- (file-remote-p
- "/method1:user1@host1|method2:user2@host2:/path/to/file" 'hop)
- (format "%s:%s@%s|"
- "method1" "user1" "host1")))
+ (dolist (tramp-show-ad-hoc-proxies '(nil t))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@host2"
- "|method3:user3@host3:/path/to/file"))
- "/method3:user3@host3:"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@host2"
- "|method3:user3@host3:/path/to/file")
- 'method)
- "method3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@host2"
- "|method3:user3@host3:/path/to/file")
- 'user)
- "user3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@host2"
- "|method3:user3@host3:/path/to/file")
- 'host)
- "host3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@host2"
- "|method3:user3@host3:/path/to/file")
- 'localname)
- "/path/to/file"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@host2"
- "|method3:user3@host3:/path/to/file")
- 'hop)
- (format "%s:%s@%s|%s:%s@%s|"
- "method1" "user1" "host1" "method2" "user2" "host2")))
-
- ;; Expand `tramp-default-method-alist'.
- (add-to-list 'tramp-default-method-alist '("host1" "user1" "method1"))
- (add-to-list 'tramp-default-method-alist '("host2" "user2" "method2"))
- (add-to-list 'tramp-default-method-alist '("host3" "user3" "method3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/-:user1@host1"
- "|-:user2@host2"
- "|-:user3@host3:/path/to/file"))
- "/method3:user3@host3:"))
-
- ;; Expand `tramp-default-user-alist'.
- (add-to-list 'tramp-default-user-alist '("method1" "host1" "user1"))
- (add-to-list 'tramp-default-user-alist '("method2" "host2" "user2"))
- (add-to-list 'tramp-default-user-alist '("method3" "host3" "user3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:host1"
- "|method2:host2"
- "|method3:host3:/path/to/file"))
- "/method3:user3@host3:"))
-
- ;; Expand `tramp-default-host-alist'.
- (add-to-list 'tramp-default-host-alist '("method1" "user1" "host1"))
- (add-to-list 'tramp-default-host-alist '("method2" "user2" "host2"))
- (add-to-list 'tramp-default-host-alist '("method3" "user3" "host3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@"
- "|method2:user2@"
- "|method3:user3@:/path/to/file"))
- "/method3:user3@host3:"))
-
- ;; Ad-hoc user name and host name expansion.
- (setq tramp-default-method-alist nil
- tramp-default-user-alist nil
- tramp-default-host-alist nil)
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:user1@host1"
- "|method2:user2@"
- "|method3:user3@:/path/to/file"))
- "/method3:user3@host1:"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/method1:%u@%h"
- "|method2:user2@host2"
- "|method3:%u@%h"
- "|method4:user4%domain4@host4#1234:/path/to/file"))
- "/method4:user4%domain4@host4#1234:")))
+ ;; Explicit settings in `tramp-default-proxies-alist'
+ ;; shouldn't show hops.
+ (setq tramp-default-proxies-alist
+ '(("^host2$" "^user2$" "/method1:user1@host1:")))
+ (should
+ (string-equal
+ (file-remote-p "/method2:user2@host2:/path/to/file")
+ "/method2:user2@host2:"))
+ (setq tramp-default-proxies-alist nil)
+
+ ;; Ad-hoc settings.
+ (should
+ (string-equal
+ (file-remote-p
+ "/method1:user1@host1|method2:user2@host2:/path/to/file")
+ (if tramp-show-ad-hoc-proxies
+ "/method1:user1@host1|method2:user2@host2:"
+ "/method2:user2@host2:")))
+ (should
+ (string-equal
+ (file-remote-p
+ "/method1:user1@host1|method2:user2@host2:/path/to/file" 'method)
+ "method2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/method1:user1@host1|method2:user2@host2:/path/to/file" 'user)
+ "user2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/method1:user1@host1|method2:user2@host2:/path/to/file" 'host)
+ "host2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/method1:user1@host1|method2:user2@host2:/path/to/file"
+ 'localname)
+ "/path/to/file"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/method1:user1@host1|method2:user2@host2:/path/to/file" 'hop)
+ (format "%s:%s@%s|"
+ "method1" "user1" "host1")))
+
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:")
+ "/method3:user3@host3:")))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:/path/to/file")
+ 'method)
+ "method3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:/path/to/file")
+ 'user)
+ "user3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:/path/to/file")
+ 'host)
+ "host3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:/path/to/file")
+ 'localname)
+ "/path/to/file"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:/path/to/file")
+ 'hop)
+ (format "%s:%s@%s|%s:%s@%s|"
+ "method1" "user1" "host1" "method2" "user2" "host2")))
+
+ ;; Expand `tramp-default-method-alist'.
+ (add-to-list
+ 'tramp-default-method-alist '("host1" "user1" "method1"))
+ (add-to-list
+ 'tramp-default-method-alist '("host2" "user2" "method2"))
+ (add-to-list
+ 'tramp-default-method-alist '("host3" "user3" "method3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/-:user1@host1"
+ "|-:user2@host2"
+ "|-:user3@host3:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:")
+ "/method3:user3@host3:")))
+
+ ;; Expand `tramp-default-user-alist'.
+ (add-to-list 'tramp-default-user-alist '("method1" "host1" "user1"))
+ (add-to-list 'tramp-default-user-alist '("method2" "host2" "user2"))
+ (add-to-list 'tramp-default-user-alist '("method3" "host3" "user3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:host1"
+ "|method2:host2"
+ "|method3:host3:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:")
+ "/method3:user3@host3:")))
+
+ ;; Expand `tramp-default-host-alist'.
+ (add-to-list 'tramp-default-host-alist '("method1" "user1" "host1"))
+ (add-to-list 'tramp-default-host-alist '("method2" "user2" "host2"))
+ (add-to-list 'tramp-default-host-alist '("method3" "user3" "host3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@"
+ "|method2:user2@"
+ "|method3:user3@:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host2"
+ "|method3:user3@host3:")
+ "/method3:user3@host3:")))
+
+ ;; Ad-hoc user name and host name expansion.
+ (setq tramp-default-method-alist nil
+ tramp-default-user-alist nil
+ tramp-default-host-alist nil)
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@"
+ "|method3:user3@:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/method1:user1@host1"
+ "|method2:user2@host1"
+ "|method3:user3@host1:")
+ "/method3:user3@host1:")))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/method1:%u@%h"
+ "|method2:user2@host2"
+ "|method3:%u@%h"
+ "|method4:user4%domain4@host4#1234:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/method1:user2@host2"
+ "|method2:user2@host2"
+ "|method3:user4@host4"
+ "|method4:user4%domain4@host4#1234:")
+ "/method4:user4%domain4@host4#1234:")))))
;; Exit.
(tramp-change-syntax syntax))))
@@ -1017,6 +1057,7 @@ Also see `ignore'."
(tramp-default-host "default-host")
tramp-default-user-alist
tramp-default-host-alist
+ tramp-default-proxies-alist
;; Suppress method name check.
(non-essential t)
;; Suppress check for multihops.
@@ -1188,137 +1229,178 @@ Also see `ignore'."
"/path/to/file"))
;; Multihop.
- (should
- (string-equal
- (file-remote-p "/user1@host1|user2@host2:/path/to/file")
- "/user2@host2:"))
- (should
- (string-equal
- (file-remote-p
- "/user1@host1|user2@host2:/path/to/file" 'method)
- "default-method"))
- (should
- (string-equal
- (file-remote-p
- "/user1@host1|user2@host2:/path/to/file" 'user)
- "user2"))
- (should
- (string-equal
- (file-remote-p
- "/user1@host1|user2@host2:/path/to/file" 'host)
- "host2"))
- (should
- (string-equal
- (file-remote-p
- "/user1@host1|user2@host2:/path/to/file" 'localname)
- "/path/to/file"))
- (should
- (string-equal
- (file-remote-p
- "/user1@host1|user2@host2:/path/to/file" 'hop)
- (format "%s@%s|" "user1" "host1")))
+ (dolist (tramp-show-ad-hoc-proxies '(nil t))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@host2"
- "|user3@host3:/path/to/file"))
- "/user3@host3:"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@host2"
- "|user3@host3:/path/to/file")
- 'method)
- "default-method"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@host2"
- "|user3@host3:/path/to/file")
- 'user)
- "user3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@host2"
- "|user3@host3:/path/to/file")
- 'host)
- "host3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@host2"
- "|user3@host3:/path/to/file")
- 'localname)
- "/path/to/file"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@host2"
- "|user3@host3:/path/to/file")
- 'hop)
- (format "%s@%s|%s@%s|"
- "user1" "host1" "user2" "host2")))
-
- ;; Expand `tramp-default-user-alist'.
- (add-to-list 'tramp-default-user-alist '(nil "host1" "user1"))
- (add-to-list 'tramp-default-user-alist '(nil "host2" "user2"))
- (add-to-list 'tramp-default-user-alist '(nil "host3" "user3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/host1"
- "|host2"
- "|host3:/path/to/file"))
- "/user3@host3:"))
-
- ;; Expand `tramp-default-host-alist'.
- (add-to-list 'tramp-default-host-alist '(nil "user1" "host1"))
- (add-to-list 'tramp-default-host-alist '(nil "user2" "host2"))
- (add-to-list 'tramp-default-host-alist '(nil "user3" "host3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@"
- "|user2@"
- "|user3@:/path/to/file"))
- "/user3@host3:"))
-
- ;; Ad-hoc user name and host name expansion.
- (setq tramp-default-user-alist nil
- tramp-default-host-alist nil)
- (should
- (string-equal
- (file-remote-p
- (concat
- "/user1@host1"
- "|user2@"
- "|user3@:/path/to/file"))
- "/user3@host1:"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/%u@%h"
- "|user2@host2"
- "|%u@%h"
- "|user4%domain4@host4#1234:/path/to/file"))
- "/user4%domain4@host4#1234:")))
+ ;; Explicit settings in `tramp-default-proxies-alist'
+ ;; shouldn't show hops.
+ (setq tramp-default-proxies-alist
+ '(("^host2$" "^user2$" "/user1@host1:")))
+ (should
+ (string-equal
+ (file-remote-p "/user2@host2:/path/to/file")
+ "/user2@host2:"))
+ (setq tramp-default-proxies-alist nil)
+
+ ;; Ad-hoc settings.
+ (should
+ (string-equal
+ (file-remote-p "/user1@host1|user2@host2:/path/to/file")
+ (if tramp-show-ad-hoc-proxies
+ "/user1@host1|user2@host2:"
+ "/user2@host2:")))
+ (should
+ (string-equal
+ (file-remote-p
+ "/user1@host1|user2@host2:/path/to/file" 'method)
+ "default-method"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/user1@host1|user2@host2:/path/to/file" 'user)
+ "user2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/user1@host1|user2@host2:/path/to/file" 'host)
+ "host2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/user1@host1|user2@host2:/path/to/file" 'localname)
+ "/path/to/file"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/user1@host1|user2@host2:/path/to/file" 'hop)
+ (format "%s@%s|" "user1" "host1")))
+
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:")
+ "/user3@host3:")))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:/path/to/file")
+ 'method)
+ "default-method"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:/path/to/file")
+ 'user)
+ "user3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:/path/to/file")
+ 'host)
+ "host3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:/path/to/file")
+ 'localname)
+ "/path/to/file"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:/path/to/file")
+ 'hop)
+ (format "%s@%s|%s@%s|"
+ "user1" "host1" "user2" "host2")))
+
+ ;; Expand `tramp-default-user-alist'.
+ (add-to-list 'tramp-default-user-alist '(nil "host1" "user1"))
+ (add-to-list 'tramp-default-user-alist '(nil "host2" "user2"))
+ (add-to-list 'tramp-default-user-alist '(nil "host3" "user3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/host1"
+ "|host2"
+ "|host3:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:")
+ "/user3@host3:")))
+
+ ;; Expand `tramp-default-host-alist'.
+ (add-to-list 'tramp-default-host-alist '(nil "user1" "host1"))
+ (add-to-list 'tramp-default-host-alist '(nil "user2" "host2"))
+ (add-to-list 'tramp-default-host-alist '(nil "user3" "host3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@"
+ "|user2@"
+ "|user3@:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/user1@host1"
+ "|user2@host2"
+ "|user3@host3:")
+ "/user3@host3:")))
+
+ ;; Ad-hoc user name and host name expansion.
+ (setq tramp-default-user-alist nil
+ tramp-default-host-alist nil)
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/user1@host1"
+ "|user2@"
+ "|user3@:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/user1@host1"
+ "|user2@host1"
+ "|user3@host1:")
+ "/user3@host1:")))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/%u@%h"
+ "|user2@host2"
+ "|%u@%h"
+ "|user4%domain4@host4#1234:/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/user2@host2"
+ "|user2@host2"
+ "|user4@host4"
+ "|user4%domain4@host4#1234:")
+ "/user4%domain4@host4#1234:")))))
;; Exit.
(tramp-change-syntax syntax))))
@@ -1332,6 +1414,7 @@ Also see `ignore'."
tramp-default-method-alist
tramp-default-user-alist
tramp-default-host-alist
+ tramp-default-proxies-alist
;; Suppress method name check.
(non-essential t)
;; Suppress check for multihops.
@@ -1804,154 +1887,203 @@ Also see `ignore'."
"/path/to/file"))
;; Multihop.
- (should
- (string-equal
- (file-remote-p
- "/[method1/user1@host1|method2/user2@host2]/path/to/file")
- "/[method2/user2@host2]"))
- (should
- (string-equal
- (file-remote-p
- "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'method)
- "method2"))
- (should
- (string-equal
- (file-remote-p
- "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'user)
- "user2"))
- (should
- (string-equal
- (file-remote-p
- "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'host)
- "host2"))
- (should
- (string-equal
- (file-remote-p
- "/[method1/user1@host1|method2/user2@host2]/path/to/file"
- 'localname)
- "/path/to/file"))
- (should
- (string-equal
- (file-remote-p
- "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'hop)
- (format "%s/%s@%s|"
- "method1" "user1" "host1")))
+ (dolist (tramp-show-ad-hoc-proxies '(nil t))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@host2"
- "|method3/user3@host3]/path/to/file"))
- "/[method3/user3@host3]"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@host2"
- "|method3/user3@host3]/path/to/file")
- 'method)
- "method3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@host2"
- "|method3/user3@host3]/path/to/file")
- 'user)
- "user3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@host2"
- "|method3/user3@host3]/path/to/file")
- 'host)
- "host3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@host2"
- "|method3/user3@host3]/path/to/file")
- 'localname)
- "/path/to/file"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@host2"
- "|method3/user3@host3]/path/to/file")
- 'hop)
- (format "%s/%s@%s|%s/%s@%s|"
- "method1" "user1" "host1" "method2" "user2" "host2")))
-
- ;; Expand `tramp-default-method-alist'.
- (add-to-list 'tramp-default-method-alist '("host1" "user1" "method1"))
- (add-to-list 'tramp-default-method-alist '("host2" "user2" "method2"))
- (add-to-list 'tramp-default-method-alist '("host3" "user3" "method3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[/user1@host1"
- "|/user2@host2"
- "|/user3@host3]/path/to/file"))
- "/[method3/user3@host3]"))
-
- ;; Expand `tramp-default-user-alist'.
- (add-to-list 'tramp-default-user-alist '("method1" "host1" "user1"))
- (add-to-list 'tramp-default-user-alist '("method2" "host2" "user2"))
- (add-to-list 'tramp-default-user-alist '("method3" "host3" "user3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/host1"
- "|method2/host2"
- "|method3/host3]/path/to/file"))
- "/[method3/user3@host3]"))
-
- ;; Expand `tramp-default-host-alist'.
- (add-to-list 'tramp-default-host-alist '("method1" "user1" "host1"))
- (add-to-list 'tramp-default-host-alist '("method2" "user2" "host2"))
- (add-to-list 'tramp-default-host-alist '("method3" "user3" "host3"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@"
- "|method2/user2@"
- "|method3/user3@]/path/to/file"))
- "/[method3/user3@host3]"))
-
- ;; Ad-hoc user name and host name expansion.
- (setq tramp-default-method-alist nil
- tramp-default-user-alist nil
- tramp-default-host-alist nil)
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/user1@host1"
- "|method2/user2@"
- "|method3/user3@]/path/to/file"))
- "/[method3/user3@host1]"))
- (should
- (string-equal
- (file-remote-p
- (concat
- "/[method1/%u@%h"
- "|method2/user2@host2"
- "|method3/%u@%h"
- "|method4/user4%domain4@host4#1234]/path/to/file"))
- "/[method4/user4%domain4@host4#1234]")))
+ ;; Explicit settings in `tramp-default-proxies-alist'
+ ;; shouldn't show hops.
+ (setq tramp-default-proxies-alist
+ '(("^host2$" "^user2$" "/[method1/user1@host1]")))
+ (should
+ (string-equal
+ (file-remote-p "/[method2/user2@host2]/path/to/file")
+ "/[method2/user2@host2]"))
+ (setq tramp-default-proxies-alist nil)
+
+ ;; Ad-hoc settings.
+ (should
+ (string-equal
+ (file-remote-p
+ "/[method1/user1@host1|method2/user2@host2]/path/to/file")
+ (if tramp-show-ad-hoc-proxies
+ "/[method1/user1@host1|method2/user2@host2]"
+ "/[method2/user2@host2]")))
+ (should
+ (string-equal
+ (file-remote-p
+ "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'method)
+ "method2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'user)
+ "user2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'host)
+ "host2"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/[method1/user1@host1|method2/user2@host2]/path/to/file"
+ 'localname)
+ "/path/to/file"))
+ (should
+ (string-equal
+ (file-remote-p
+ "/[method1/user1@host1|method2/user2@host2]/path/to/file" 'hop)
+ (format "%s/%s@%s|"
+ "method1" "user1" "host1")))
+
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]")
+ "/[method3/user3@host3]")))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]/path/to/file")
+ 'method)
+ "method3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]/path/to/file")
+ 'user)
+ "user3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]/path/to/file")
+ 'host)
+ "host3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]/path/to/file")
+ 'localname)
+ "/path/to/file"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]/path/to/file")
+ 'hop)
+ (format "%s/%s@%s|%s/%s@%s|"
+ "method1" "user1" "host1" "method2" "user2" "host2")))
+
+ ;; Expand `tramp-default-method-alist'.
+ (add-to-list
+ 'tramp-default-method-alist '("host1" "user1" "method1"))
+ (add-to-list
+ 'tramp-default-method-alist '("host2" "user2" "method2"))
+ (add-to-list
+ 'tramp-default-method-alist '("host3" "user3" "method3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[/user1@host1"
+ "|/user2@host2"
+ "|/user3@host3]/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]")
+ "/[method3/user3@host3]")))
+
+ ;; Expand `tramp-default-user-alist'.
+ (add-to-list 'tramp-default-user-alist '("method1" "host1" "user1"))
+ (add-to-list 'tramp-default-user-alist '("method2" "host2" "user2"))
+ (add-to-list 'tramp-default-user-alist '("method3" "host3" "user3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/host1"
+ "|method2/host2"
+ "|method3/host3]/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]")
+ "/[method3/user3@host3]")))
+
+ ;; Expand `tramp-default-host-alist'.
+ (add-to-list 'tramp-default-host-alist '("method1" "user1" "host1"))
+ (add-to-list 'tramp-default-host-alist '("method2" "user2" "host2"))
+ (add-to-list 'tramp-default-host-alist '("method3" "user3" "host3"))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@"
+ "|method2/user2@"
+ "|method3/user3@]/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host2"
+ "|method3/user3@host3]")
+ "/[method3/user3@host3]")))
+
+ ;; Ad-hoc user name and host name expansion.
+ (setq tramp-default-method-alist nil
+ tramp-default-user-alist nil
+ tramp-default-host-alist nil)
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@"
+ "|method3/user3@]/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/[method1/user1@host1"
+ "|method2/user2@host1"
+ "|method3/user3@host1]")
+ "/[method3/user3@host1]")))
+ (should
+ (string-equal
+ (file-remote-p
+ (concat
+ "/[method1/%u@%h"
+ "|method2/user2@host2"
+ "|method3/%u@%h"
+ "|method4/user4%domain4@host4#1234]/path/to/file"))
+ (if tramp-show-ad-hoc-proxies
+ (concat
+ "/[method1/user2@host2"
+ "|method2/user2@host2"
+ "|method3/user4@host4"
+ "|method4/user4%domain4@host4#1234]")
+ "/[method4/user4%domain4@host4#1234]")))))
;; Exit.
(tramp-change-syntax syntax))))
@@ -2450,15 +2582,19 @@ This checks also `file-name-as-directory', `file-name-directory',
`(,(expand-file-name tmp-name) 0)))
(should (string-equal (buffer-string) "foo"))
(should (= point (point))))
- (let ((point (point)))
- (replace-string-in-region "foo" "bar" (point-min) (point-max))
- (goto-char point)
- (should
- (equal
- (insert-file-contents tmp-name nil nil nil 'replace)
- `(,(expand-file-name tmp-name) 3)))
- (should (string-equal (buffer-string) "foo"))
- (should (= point (point))))
+ ;; Insert another string.
+ ;; `replace-string-in-region' was introduced in Emacs 28.1.
+ (when (tramp--test-emacs28-p)
+ (let ((point (point)))
+ (with-no-warnings
+ (replace-string-in-region "foo" "bar" (point-min) (point-max)))
+ (goto-char point)
+ (should
+ (equal
+ (insert-file-contents tmp-name nil nil nil 'replace)
+ `(,(expand-file-name tmp-name) 3)))
+ (should (string-equal (buffer-string) "foo"))
+ (should (= point (point)))))
;; Error case.
(delete-file tmp-name)
(should-error
@@ -2563,9 +2699,9 @@ This checks also `file-name-as-directory', `file-name-directory',
;; `tramp-test39-make-lock-file-name'.
;; Do not overwrite if excluded.
- (cl-letf (((symbol-function #'y-or-n-p) #'tramp--test-always)
+ (cl-letf (((symbol-function #'y-or-n-p) #'tramp-compat-always)
;; Ange-FTP.
- ((symbol-function 'yes-or-no-p) #'tramp--test-always))
+ ((symbol-function #'yes-or-no-p) #'tramp-compat-always))
(write-region "foo" nil tmp-name nil nil nil 'mustbenew))
(should-error
(cl-letf (((symbol-function #'y-or-n-p) #'ignore)
@@ -3991,7 +4127,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(should-error
(make-symbolic-link tmp-name1 tmp-name2 0)
:type 'file-already-exists)))
- (cl-letf (((symbol-function #'yes-or-no-p) #'tramp--test-always))
+ (cl-letf (((symbol-function #'yes-or-no-p) #'tramp-compat-always))
(make-symbolic-link tmp-name1 tmp-name2 0)
(should
(string-equal
@@ -4071,7 +4207,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(should-error
(add-name-to-file tmp-name1 tmp-name2 0)
:type 'file-already-exists))
- (cl-letf (((symbol-function #'yes-or-no-p) #'tramp--test-always))
+ (cl-letf (((symbol-function #'yes-or-no-p) #'tramp-compat-always))
(add-name-to-file tmp-name1 tmp-name2 0)
(should (file-regular-p tmp-name2)))
(add-name-to-file tmp-name1 tmp-name2 'ok-if-already-exists)
@@ -4755,7 +4891,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
tramp-prefix-format hop
(substring-no-properties
method 0 (min 2 (length method))))
- ,(concat tramp-prefix-format method-string)
+ ,(concat tramp-prefix-format hop method-string)
,method-string)))
;; Complete user name.
(unless (tramp-string-empty-or-nil-p user)
@@ -4764,7 +4900,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(substring-no-properties
user 0 (min 2 (length user))))
,(concat
- tramp-prefix-format method-string user-string)
+ tramp-prefix-format hop method-string user-string)
,user-string)))
;; Complete host name.
(unless (tramp-string-empty-or-nil-p host)
@@ -4774,9 +4910,9 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(substring-no-properties
host 0 (min 2 (length host))))
(,(concat
- tramp-prefix-format method-string host-string)
+ tramp-prefix-format hop method-string host-string)
,(concat
- tramp-prefix-format method-string
+ tramp-prefix-format hop method-string
user-string host-string))
,host-string)))
;; Complete user and host name.
@@ -4788,7 +4924,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(substring-no-properties
host 0 (min 2 (length host))))
,(concat
- tramp-prefix-format method-string
+ tramp-prefix-format hop method-string
user-string host-string)
,host-string)))))
@@ -4946,8 +5082,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(if (bufferp destination) destination (current-buffer))
;; "ls" could produce colorized output.
(goto-char (point-min))
- (while (re-search-forward
- tramp-display-escape-sequence-regexp nil t)
+ (while (re-search-forward ansi-color-control-seq-regexp nil t)
(replace-match "" nil nil))
(should
(string-equal (if destination (format "%s\n" fnnd) "")
@@ -4961,8 +5096,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(if (bufferp destination) destination (current-buffer))
;; "ls" could produce colorized output.
(goto-char (point-min))
- (while (re-search-forward
- tramp-display-escape-sequence-regexp nil t)
+ (while (re-search-forward ansi-color-control-seq-regexp nil t)
(replace-match "" nil nil))
(should
(string-equal
@@ -5202,7 +5336,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
;; `file-truename' does it by side-effect. Suppress
;; `tramp--test-enabled', in order to keep the connection.
;; Suppress "Process ... finished" messages.
- (cl-letf (((symbol-function #'tramp--test-enabled) #'tramp--test-always)
+ (cl-letf (((symbol-function #'tramp--test-enabled) #'tramp-compat-always)
((symbol-function #'internal-default-process-sentinel)
#'ignore))
(file-truename ert-remote-temporary-file-directory)
@@ -5676,8 +5810,7 @@ INPUT, if non-nil, is a string sent to the process."
(current-buffer))
;; "ls" could produce colorized output.
(goto-char (point-min))
- (while
- (re-search-forward tramp-display-escape-sequence-regexp nil t)
+ (while (re-search-forward ansi-color-control-seq-regexp nil t)
(replace-match "" nil nil))
(should
(string-equal
@@ -6003,8 +6136,7 @@ INPUT, if non-nil, is a string sent to the process."
(inhibit-message t)
kill-buffer-query-functions
(clpa connection-local-profile-alist)
- (clca connection-local-criteria-alist)
- connection-local-profile-alist connection-local-criteria-alist)
+ (clca connection-local-criteria-alist))
(unwind-protect
(progn
(make-directory tmp-name1)
@@ -6086,8 +6218,7 @@ INPUT, if non-nil, is a string sent to the process."
(let ((default-directory ert-remote-temporary-file-directory)
explicit-shell-file-name kill-buffer-query-functions
(clpa connection-local-profile-alist)
- (clca connection-local-criteria-alist)
- connection-local-profile-alist connection-local-criteria-alist)
+ (clca connection-local-criteria-alist))
(unwind-protect
(progn
(connection-local-set-profile-variables
@@ -6410,7 +6541,7 @@ INPUT, if non-nil, is a string sent to the process."
(tramp-cleanup-connection
tramp-test-vec 'keep-debug 'keep-password)
(cl-letf (((symbol-function #'yes-or-no-p)
- #'tramp--test-always))
+ #'tramp-compat-always))
(should (stringp (make-auto-save-file-name))))))))
;; Cleanup.
@@ -6556,8 +6687,7 @@ INPUT, if non-nil, is a string sent to the process."
:type 'file-error))
(tramp-cleanup-connection
tramp-test-vec 'keep-debug 'keep-password)
- (cl-letf (((symbol-function #'yes-or-no-p)
- #'tramp--test-always))
+ (cl-letf (((symbol-function #'yes-or-no-p) #'tramp-compat-always))
(should (stringp (car (find-backup-file-name tmp-name1)))))))
;; Cleanup.
@@ -6712,8 +6842,7 @@ INPUT, if non-nil, is a string sent to the process."
:type 'file-error))
(tramp-cleanup-connection
tramp-test-vec 'keep-debug 'keep-password)
- (cl-letf (((symbol-function #'yes-or-no-p)
- #'tramp--test-always))
+ (cl-letf (((symbol-function #'yes-or-no-p) #'tramp-compat-always))
(write-region "foo" nil tmp-name1))))
;; Cleanup.
@@ -6748,8 +6877,9 @@ INPUT, if non-nil, is a string sent to the process."
(insert "foo")
;; Bug#53207: with `create-lockfiles' nil, saving the
;; buffer results in a prompt.
- (cl-letf (((symbol-function 'yes-or-no-p)
- (lambda (_) (ert-fail "Test failed unexpectedly"))))
+ (cl-letf (((symbol-function #'read-from-minibuffer)
+ (lambda (&rest _)
+ (ert-fail "Test failed unexpectedly"))))
(should (buffer-modified-p))
(save-buffer)
(should-not (buffer-modified-p)))
@@ -6767,7 +6897,7 @@ INPUT, if non-nil, is a string sent to the process."
;; modification time properly, for them it doesn't
;; make sense to test.
(when (not (verify-visited-file-modtime))
- (cl-letf (((symbol-function 'read-char-choice)
+ (cl-letf (((symbol-function #'read-char-choice)
(lambda (prompt &rest _) (message "%s" prompt) ?y)))
(ert-with-message-capture captured-messages
(insert "bar")
@@ -6783,8 +6913,9 @@ INPUT, if non-nil, is a string sent to the process."
(should (file-locked-p tmp-name)))))
;; `save-buffer' removes the file lock.
- (cl-letf (((symbol-function 'yes-or-no-p) #'tramp--test-always)
- ((symbol-function 'read-char-choice)
+ (cl-letf (((symbol-function #'yes-or-no-p)
+ #'tramp-compat-always)
+ ((symbol-function #'read-char-choice)
(lambda (&rest _) ?y)))
(should (buffer-modified-p))
(save-buffer)
@@ -6940,6 +7071,13 @@ This does not support external Emacs calls."
"Check, whether an out-of-band method is used."
(tramp-method-out-of-band-p tramp-test-vec 1))
+(defun tramp--test-putty-p ()
+ "Check, whether the method method usaes PuTTY.
+This does not support connection share for more than two connections."
+ (member
+ (file-remote-p ert-remote-temporary-file-directory 'method)
+ '("plink" "plinkx" "pscp" "psftp")))
+
(defun tramp--test-rclone-p ()
"Check, whether the remote host is offered by rclone.
This requires restrictions of file name syntax."
@@ -7378,16 +7516,20 @@ This requires restrictions of file name syntax."
(dotimes (i (length fsi))
(should (natnump (or (nth i fsi) 0))))))
-;; `file-user-uid' was introduced in Emacs 30.1.
-(ert-deftest tramp-test44-file-user-uid ()
- "Check that `file-user-uid' and `tramp-get-remote-*' return proper values."
+;; `file-user-uid' and `file-group-gid' were introduced in Emacs 30.1.
+(ert-deftest tramp-test44-file-user-group-ids ()
+ "Check results of user/group functions.
+`file-user-uid', `file-group-gid', and `tramp-get-remote-*'
+should all return proper values."
(skip-unless (tramp--test-enabled))
(let ((default-directory ert-remote-temporary-file-directory))
- ;; `file-user-uid' exists since Emacs 30.1. We don't want to see
- ;; compiler warnings for older Emacsen.
+ ;; `file-user-uid' and `file-group-gid' exist since Emacs 30.1.
+ ;; We don't want to see compiler warnings for older Emacsen.
(when (fboundp 'file-user-uid)
(should (integerp (with-no-warnings (file-user-uid)))))
+ (when (fboundp 'file-group-gid)
+ (should (integerp (with-no-warnings (file-group-gid)))))
(with-parsed-tramp-file-name default-directory nil
(should (or (integerp (tramp-get-remote-uid v 'integer))
@@ -7451,12 +7593,7 @@ This is needed in timer functions as well as process filters and sentinels."
"Check parallel asynchronous requests.
Such requests could arrive from timers, process filters and
process sentinels. They shall not disturb each other."
- ;; :tags (append '(:expensive-test :tramp-asynchronous-processes)
- ;; (and (or (getenv "EMACS_HYDRA_CI")
- ;; (getenv "EMACS_EMBA_CI"))
- ;; '(:unstable)))
- ;; It doesn't work sufficiently.
- :tags '(:expensive-test :tramp-asynchronous-processes :unstable)
+ :tags '(:expensive-test :tramp-asynchronous-processes)
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-processes-p))
(skip-unless (not (tramp--test-container-p)))
@@ -7494,6 +7631,10 @@ process sentinels. They shall not disturb each other."
(string-to-number (getenv "REMOTE_PARALLEL_PROCESSES"))))
((getenv "EMACS_HYDRA_CI") 5)
(t 10)))
+ ;; PuTTY-based methods can only share up to 10 connections.
+ (tramp-use-connection-share
+ (if (and (tramp--test-putty-p) (>= number-proc 10))
+ 'suppress (bound-and-true-p tramp-use-connection-share)))
;; On hydra, timings are bad.
(timer-repeat
(cond
@@ -7524,14 +7665,12 @@ process sentinels. They shall not disturb each other."
(when buffers
(let ((time (float-time))
(default-directory tmp-name)
- (file (buffer-name (seq-random-elt buffers)))
- ;; A remote operation in a timer could
- ;; confuse Tramp heavily. So we ignore this
- ;; error here.
- (debug-ignored-errors
- (cons 'remote-file-error debug-ignored-errors)))
+ (file (buffer-name (seq-random-elt buffers))))
(tramp--test-message
"Start timer %s %s" file (current-time-string))
+ (dired-uncache file)
+ (tramp--test-message
+ "Continue timer %s %s" file (file-attributes file))
(vc-registered file)
(tramp--test-message
"Stop timer %s %s" file (current-time-string))
@@ -7587,34 +7726,37 @@ process sentinels. They shall not disturb each other."
;; Send a string to the processes. Use a random order of
;; the buffers. Mix with regular operation.
- (let ((buffers (copy-sequence buffers)))
+ (let ((buffers (copy-sequence buffers))
+ buf)
(while buffers
- (let* ((buf (seq-random-elt buffers))
- (proc (get-buffer-process buf))
- (file (process-get proc 'foo))
- (count (process-get proc 'bar)))
- (tramp--test-message
- "Start action %d %s %s" count buf (current-time-string))
- ;; Regular operation prior process action.
- (dired-uncache file)
- (if (= count 0)
- (should-not (file-attributes file))
- (should (file-attributes file)))
- ;; Send string to process.
- (process-send-string proc (format "%s\n" (buffer-name buf)))
- (while (accept-process-output nil 0))
- (tramp--test-message
- "Continue action %d %s %s" count buf (current-time-string))
- ;; Regular operation post process action.
- (dired-uncache file)
- (if (= count 2)
- (should-not (file-attributes file))
- (should (file-attributes file)))
- (tramp--test-message
- "Stop action %d %s %s" count buf (current-time-string))
- (process-put proc 'bar (1+ count))
- (unless (process-live-p proc)
- (setq buffers (delq buf buffers))))))
+ (setq buf (seq-random-elt buffers))
+ (if-let ((proc (get-buffer-process buf))
+ (file (process-get proc 'foo))
+ (count (process-get proc 'bar)))
+ (progn
+ (tramp--test-message
+ "Start action %d %s %s" count buf (current-time-string))
+ ;; Regular operation prior process action.
+ (dired-uncache file)
+ (if (= count 0)
+ (should-not (file-attributes file))
+ (should (file-attributes file)))
+ ;; Send string to process.
+ (process-send-string proc (format "%s\n" (buffer-name buf)))
+ (while (accept-process-output nil 0))
+ (tramp--test-message
+ "Continue action %d %s %s" count buf (current-time-string))
+ ;; Regular operation post process action.
+ (dired-uncache file)
+ (if (= count 2)
+ (should-not (file-attributes file))
+ (should (file-attributes file)))
+ (tramp--test-message
+ "Stop action %d %s %s" count buf (current-time-string))
+ (process-put proc 'bar (1+ count))
+ (unless (process-live-p proc)
+ (setq buffers (delq buf buffers))))
+ (setq buffers (delq buf buffers)))))
;; Checks. All process output shall exist in the
;; respective buffers. All created files shall be
diff --git a/test/lisp/proced-tests.el b/test/lisp/proced-tests.el
index 1f475665298..d53f25b00d8 100644
--- a/test/lisp/proced-tests.el
+++ b/test/lisp/proced-tests.el
@@ -95,7 +95,11 @@
(proced--move-to-column "PID")
(let ((pid (word-at-point)))
(proced-refine)
- (proced-update t)
+ ;; Don't use (proced-update t) since this will reset `proced-process-alist'
+ ;; and it's possible the process refined on would have exited by that
+ ;; point. In this case proced will skip the refinement and show all
+ ;; processes again, causing the test to fail.
+ (proced-update)
(while (not (eobp))
(proced--move-to-column "PID")
(should (string= pid (word-at-point)))
diff --git a/test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl b/test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl
new file mode 100644
index 00000000000..a474e431222
--- /dev/null
+++ b/test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl
@@ -0,0 +1,50 @@
+# This resource file can be run with cperl--run-testcases from
+# cperl-tests.el and works with both perl-mode and cperl-mode.
+
+# -------- Multiline declaration: input -------
+#!/usr/bin/env perl
+# -*- mode: cperl -*-
+
+sub foo
+ {
+ }
+
+sub bar
+ {
+ }
+# -------- Multiline declaration: expected output -------
+#!/usr/bin/env perl
+# -*- mode: cperl -*-
+
+sub foo
+{
+}
+
+sub bar
+{
+}
+# -------- Multiline declaration: end -------
+
+# -------- Fred Colon at work: input --------
+#!/usr/bin/env perl
+# -*- mode: cperl -*-
+
+while (<>)
+{
+m:^ \d+ p:
+or die;
+m:^ \d+ :
+or die;
+}
+# -------- Fred Colon at work: expected output --------
+#!/usr/bin/env perl
+# -*- mode: cperl -*-
+
+while (<>)
+ {
+ m:^ \d+ p:
+ or die;
+ m:^ \d+ :
+ or die;
+ }
+# -------- Fred Colon at work: end --------
diff --git a/test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl b/test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl
new file mode 100644
index 00000000000..c7621e1c47b
--- /dev/null
+++ b/test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl
@@ -0,0 +1,24 @@
+# Example 1
+
+my ($var1,
+ $var2,
+ $var3);
+
+# Example 2
+
+package Foo
+ 0.1;
+
+# Example 3 (intentionally incomplete, body is inserted by test)
+
+sub do_stuff
+
+# Example 4
+
+sub do_more_stuff ($param1,
+$param2)
+{
+ ...;
+}
+
+sub oops { ...; }
diff --git a/test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl b/test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl
new file mode 100644
index 00000000000..62ef6982f38
--- /dev/null
+++ b/test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl
@@ -0,0 +1,55 @@
+# This resource file can be run with cperl--run-testcases from
+# cperl-tests.el and works with both perl-mode and cperl-mode.
+
+# -------- Bug#64364: input -------
+package P {
+sub way { ...; }
+#
+sub bus
+:lvalue
+($sig,$na,@ture)
+{
+...;
+}
+}
+# -------- Bug#64364: expected output -------
+package P {
+ sub way { ...; }
+ #
+ sub bus
+ :lvalue
+ ($sig,$na,@ture)
+ {
+ ...;
+ }
+}
+# -------- Bug#64364: end -------
+
+# Now do this with multiline initializers
+# -------- signature with init: input -------
+package P {
+sub way { ...; }
+# perl 5.38 or newer
+sub bus
+:lvalue
+($sig,
+$na //= 42,
+@ture)
+{
+...;
+}
+}
+# -------- signature with init: expected output -------
+package P {
+ sub way { ...; }
+ # perl 5.38 or newer
+ sub bus
+ :lvalue
+ ($sig,
+ $na //= 42,
+ @ture)
+ {
+ ...;
+ }
+}
+# -------- signature with init: end -------
diff --git a/test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl b/test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl
index 7138bf631df..1f898250252 100644
--- a/test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl
+++ b/test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl
@@ -12,12 +12,10 @@ no warnings 'experimental::signatures';
# are somewhat frowned upon most of the times, but they are required
# for some Perl magic
-# FIXME: 2022-02-02 CPerl mode does not handle subroutine signatures.
-# In simple cases it mistakes them as prototypes, when attributes are
-# present, it doesn't handle them at all. Variables in signatures
-# SHOULD be fontified like variable declarations.
-
# Part 1: Named subroutines
+# A plain named subroutine without any optional stuff
+sub sub_0 { ...; }
+
# A prototype and a trivial subroutine attribute
{
no feature 'signatures'; # that's a prototype, not a signature
@@ -30,10 +28,24 @@ sub sub_2 :prototype($) { ...; }
# A signature (these will soon-ish leave the experimental state)
sub sub_3 ($foo,$bar) { ...; }
-# Attribute plus signature FIXME: Not yet supported
-sub bad_sub_4 :prototype($$$) ($foo,$bar,$baz) { ...; }
+# Attribute plus signature
+sub sub_4 :prototype($$$) ($foo,$bar,$baz) { ...; }
+
+# A signature with a trailing comma (weird, but legal)
+sub sub_5 ($foo,$bar,) { ...; }
+
+# Perl 5.38-style initializer
+sub sub_6
+ ($foo,
+ $bar //= "baz")
+{
+}
+
# Part 2: Same constructs for anonymous subs
+# A plain named subroutine without any optional stuff
+my $subref_0 = sub { ...; };
+
# A prototype and a trivial subroutine attribute
{
no feature 'signatures'; # that's a prototype, not a signature
diff --git a/test/lisp/progmodes/cperl-mode-tests.el b/test/lisp/progmodes/cperl-mode-tests.el
index 9bd250a38b5..8162953cefb 100644
--- a/test/lisp/progmodes/cperl-mode-tests.el
+++ b/test/lisp/progmodes/cperl-mode-tests.el
@@ -177,14 +177,19 @@ attributes, prototypes and signatures."
(should (equal (get-text-property (1+ (match-beginning 0)) 'face)
'font-lock-string-face)))
(goto-char start-of-sub)
+ ;; Attributes with their optional parameters
(when (search-forward-regexp "\\(:[a-z]+\\)\\((.*?)\\)?" end-of-sub t)
(should (equal (get-text-property (match-beginning 1) 'face)
'font-lock-constant-face))
(when (match-beginning 2)
(should (equal (get-text-property (match-beginning 2) 'face)
'font-lock-string-face))))
+ ;; Subroutine signatures
+ (goto-char start-of-sub)
+ (when (search-forward "$bar" end-of-sub t)
+ (should (equal (get-text-property (match-beginning 0) 'face)
+ 'font-lock-variable-name-face)))
(goto-char end-of-sub)))
-
;; Anonymous subroutines
(while (search-forward-regexp "= sub" nil t)
(let ((start-of-sub (match-beginning 0))
@@ -201,6 +206,11 @@ attributes, prototypes and signatures."
(when (match-beginning 2)
(should (equal (get-text-property (match-beginning 2) 'face)
'font-lock-string-face))))
+ ;; Subroutine signatures
+ (goto-char start-of-sub)
+ (when (search-forward "$bar" end-of-sub t)
+ (should (equal (get-text-property (match-beginning 0) 'face)
+ 'font-lock-variable-name-face)))
(goto-char end-of-sub))))))
(ert-deftest cperl-test-fontify-special-variables ()
@@ -306,6 +316,7 @@ issued by CPerl mode."
(defvar perl-continued-statement-offset)
(defvar perl-indent-level)
+(defvar perl-indent-parens-as-block)
(defconst cperl--tests-heredoc-face
(if (equal cperl-test-mode 'perl-mode) 'perl-heredoc
@@ -428,6 +439,62 @@ Also includes valid cases with whitespace in strange places."
(cperl-test--validate-regexp (rx (eval cperl--basic-identifier-rx))
valid invalid)))
+(ert-deftest cperl-test-attribute-rx ()
+ "Test attributes and attribute lists"
+ (skip-unless (eq cperl-test-mode #'cperl-mode))
+ (let ((valid
+ '("foo" "bar()" "baz(quux)"))
+ (invalid
+ '("+foo" ; not an identifier
+ "foo::bar" ; no package qualifiers allowed
+ "(no-identifier)" ; no attribute name
+ "baz (quux)"))) ; no space allowed before "("
+ (cperl-test--validate-regexp (rx (eval cperl--single-attribute-rx))
+ valid invalid)))
+
+(ert-deftest cperl-test-attribute-list-rx ()
+ "Test attributes and attribute lists"
+ (skip-unless (eq cperl-test-mode #'cperl-mode))
+ (let ((valid
+ '(":" ":foo" ": bar()" ":baz(quux):"
+ ":isa(Foo)does(Bar)" ":isa(Foo):does(Bar)" ":isa(Foo):does(Bar):"
+ ": isa(Foo::Bar) : does(Bar)"))
+ (invalid
+ '(":foo + bar" ; not an identifier
+ ": foo(bar : : baz" ; too many colons
+ ": baz (quux)"))) ; no space allowed before "("
+ (cperl-test--validate-regexp (rx (eval cperl--attribute-list-rx))
+ valid invalid)))
+
+(ert-deftest cperl-test-prototype-rx ()
+ "Test subroutine prototypes"
+ (skip-unless (eq cperl-test-mode #'cperl-mode))
+ (let ((valid
+ ;; Examples from perldoc perlsub
+ '("($$)" "($$$)" "($$;$)" "($$$;$)" "(@)" "($@)" "(\\@)" "(\\@$$@)"
+ "(\\[%@])" "(*;$)" "(**)" "(&@)" "(;$)" "()"))
+ (invalid
+ '("$" ; missing paren
+ "($self)" ; a variable, -> subroutine signature
+ "(!$)" ; not all punctuation is permitted
+ "{$$}"))) ; wrong type of paren
+ (cperl-test--validate-regexp (rx (eval cperl--prototype-rx))
+ valid invalid)))
+
+(ert-deftest cperl-test-signature-rx ()
+ "Test subroutine signatures."
+ (skip-unless (eq cperl-test-mode #'cperl-mode))
+ (let ((valid
+ '("()" "( )" "($self, %params)" "(@params)"))
+ (invalid
+ '("$self" ; missing paren
+ "($)" ; a subroutine signature
+ "($!)" ; globals not permitted in a signature
+ "(@par,%options)" ; two slurpy parameters
+ "{$self}"))) ; wrong type of paren
+ (cperl-test--validate-regexp (rx (eval cperl--signature-rx))
+ valid invalid)))
+
;;; Test unicode identifier in various places
(defun cperl--test-unicode-setup (code string)
@@ -788,6 +855,17 @@ under timeout control."
(should (string-match
"poop ('foo', \n 'bar')" (buffer-string))))))
+(ert-deftest cperl-test-bug-11733 ()
+ "Verify indentation of braces after newline and non-labels."
+ (skip-unless (eq cperl-test-mode #'cperl-mode))
+ (cperl--run-test-cases
+ (ert-resource-file "cperl-bug-11733.pl")
+ (goto-char (point-min))
+ (while (null (eobp))
+ (cperl-indent-command)
+ (forward-line 1))))
+
+
(ert-deftest cperl-test-bug-11996 ()
"Verify that we give the right syntax property to a backslash operator."
(with-temp-buffer
@@ -1145,6 +1223,79 @@ as a regex."
(funcall cperl-test-mode)
(should-not (nth 3 (syntax-ppss 3)))))
+(ert-deftest cperl-test-bug-64190 ()
+ "Verify correct fontification of multiline declarations"
+ (skip-unless (eq cperl-test-mode #'cperl-mode))
+ (let ((file (ert-resource-file "cperl-bug-64190.pl")))
+ (with-temp-buffer
+ (insert-file-contents file)
+ (goto-char (point-min))
+ (cperl-mode)
+ (font-lock-ensure)
+ ;; Example 1
+ (while (search-forward "var" nil t)
+ (should (equal (get-text-property (point) 'face)
+ 'font-lock-variable-name-face)))
+ ;; Example 2
+ (search-forward "package F")
+ (should (equal (get-text-property (point) 'face)
+ 'font-lock-function-name-face))
+
+ ;; Example 3 and 4 can't be directly tested because jit-lock and
+ ;; batch tests don't play together well. But we can approximate
+ ;; the behavior by calling the the fontification for the same
+ ;; region which would be used by jit-lock.
+ ;; Example 3
+ (search-forward "sub do_stuff")
+ (let ((start-change (point)))
+ (insert "\n{")
+ (cperl-font-lock-fontify-region-function start-change
+ (point-max)
+ nil) ; silent
+ (font-lock-ensure start-change (point-max))
+ (goto-char (1- start-change)) ; between the "ff" in "stuff"
+ (should (equal (get-text-property (point) 'face)
+ 'font-lock-function-name-face))
+ (search-forward "{")
+ (insert "}")) ; make it legal again
+
+ ;; Example 4
+ (search-forward "$param2")
+ (beginning-of-line)
+ (let ((start-change (point)))
+ (insert " ")
+ (cperl-font-lock-fontify-region-function start-change
+ (point-max)
+ nil) ; silent
+ (font-lock-ensure start-change (point-max))
+ (goto-char (1+ start-change))
+ (should (equal (get-text-property (point) 'face)
+ 'font-lock-variable-name-face))
+ (re-search-forward (rx (group "sub") " " (group "oops")))
+ (should (equal (get-text-property (match-beginning 1) 'face)
+ 'font-lock-keyword-face))
+ (should (equal (get-text-property (match-beginning 2) 'face)
+ 'font-lock-function-name-face))))))
+
+(ert-deftest cperl-test-bug-64364 ()
+ "Check that multi-line subroutine declarations indent correctly."
+ (cperl-set-style "PBP") ; make cperl-mode use the same settings as perl-mode
+ (cperl--run-test-cases
+ (ert-resource-file "cperl-bug-64364.pl")
+ (indent-region (point-min) (point-max)))
+ (cperl--run-test-cases
+ (ert-resource-file "cperl-bug-64364.pl")
+ (let ((tab-function
+ (if (equal cperl-test-mode 'perl-mode)
+ #'indent-for-tab-command
+ #'cperl-indent-command)))
+ (goto-char (point-min))
+ (while (null (eobp))
+ (funcall tab-function)
+ (forward-line 1))))
+ (cperl-set-style-back))
+
+
(ert-deftest test-indentation ()
(ert-test-erts-file (ert-resource-file "cperl-indents.erts")))
diff --git a/test/lisp/progmodes/eglot-tests.el b/test/lisp/progmodes/eglot-tests.el
index 518f8810bdf..725b877fd3c 100644
--- a/test/lisp/progmodes/eglot-tests.el
+++ b/test/lisp/progmodes/eglot-tests.el
@@ -1237,8 +1237,6 @@ GUESSED-MAJOR-MODES-SYM are bound to the useful return values of
(defvar tramp-histfile-override)
(defun eglot--call-with-tramp-test (fn)
- (unless (>= emacs-major-version 27)
- (ert-skip "Eglot Tramp support only on Emacs >= 27"))
;; Set up a Tramp method that’s just a shell so the remote host is
;; really just the local host.
(let* ((tramp-remote-path (cons 'tramp-own-remote-path
@@ -1260,6 +1258,9 @@ GUESSED-MAJOR-MODES-SYM are bound to the useful return values of
(when (and noninteractive (not (file-directory-p "~/")))
(setenv "HOME" temporary-file-directory)))))
(default-directory temporary-file-directory))
+ ;; We must check the remote LSP server. So far, just "clangd" is used.
+ (unless (ignore-errors (executable-find "clangd" 'remote))
+ (ert-skip "Remote clangd not found"))
(funcall fn)))
(ert-deftest eglot-test-tramp-test ()
diff --git a/test/lisp/progmodes/elixir-ts-mode-resources/indent.erts b/test/lisp/progmodes/elixir-ts-mode-resources/indent.erts
index 9ad604e5198..1f855d3c977 100644
--- a/test/lisp/progmodes/elixir-ts-mode-resources/indent.erts
+++ b/test/lisp/progmodes/elixir-ts-mode-resources/indent.erts
@@ -79,6 +79,18 @@ def foo() do
end
=-=-=
+Name: Bitstring mulitline
+
+=-=
+<<12, 22,
+22, 32
+ >>
+=-=
+<<12, 22,
+ 22, 32
+>>
+=-=-=
+
Name: Block assignments
=-=
@@ -181,7 +193,19 @@ tuple = {
}
=-=-=
-Name: Spec and method
+Name: Call with keywords
+
+=-=
+def foo() do
+ bar(:one,
+ :two,
+ one: 1,
+ two: 2
+ )
+end
+=-=-=
+
+Name: Call with @spec
=-=
@spec foobar(
diff --git a/test/lisp/progmodes/js-tests.el b/test/lisp/progmodes/js-tests.el
index 00fa78e8891..5db92b08f8a 100644
--- a/test/lisp/progmodes/js-tests.el
+++ b/test/lisp/progmodes/js-tests.el
@@ -237,6 +237,57 @@ if (!/[ (:,='\"]/.test(value)) {
(js-deftest-indent "jsx-unclosed-2.jsx")
(js-deftest-indent "jsx.jsx")
+;;;; Navigation tests.
+
+(ert-deftest js-mode-beginning-of-defun ()
+ (with-temp-buffer
+ (insert "function foo() {
+ var value = 1;
+}
+
+/** A comment. */
+function bar() {
+ var value = 1;
+}
+")
+ (js-mode)
+ ;; Move point inside `foo'.
+ (goto-char 18)
+ (beginning-of-defun)
+ (should (bobp))
+ ;; Move point between the two functions.
+ (goto-char 37)
+ (beginning-of-defun)
+ (should (bobp))
+ ;; Move point inside `bar'.
+ (goto-char 73)
+ (beginning-of-defun)
+ ;; Point should move to the beginning of `bar'.
+ (should (equal (point) 56))))
+
+(ert-deftest js-mode-end-of-defun ()
+ (with-temp-buffer
+ (insert "function foo() {
+ var value = 1;
+}
+
+/** A comment. */
+function bar() {
+ var value = 1;
+}
+")
+ (js-mode)
+ (goto-char (point-min))
+ (end-of-defun)
+ ;; end-of-defun from the beginning of the buffer should go to the
+ ;; end of `foo'.
+ (should (equal (point) 37))
+ ;; Move point to the beginning of /** A comment. */
+ (goto-char 38)
+ (end-of-defun)
+ ;; end-of-defun should move point to eob.
+ (should (eobp))))
+
(provide 'js-tests)
;;; js-tests.el ends here
diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el
index 50153e66da5..54e32cbf07b 100644
--- a/test/lisp/progmodes/python-tests.el
+++ b/test/lisp/progmodes/python-tests.el
@@ -136,20 +136,6 @@ STRING, it is skipped so the next STRING occurrence is selected."
while pos
collect (cons pos (get-text-property pos 'face))))
-(defun python-tests-assert-faces-after-change (content faces search replace)
- "Assert that font faces for CONTENT are equal to FACES after change.
-All occurrences of SEARCH are changed to REPLACE."
- (python-tests-with-temp-buffer
- content
- ;; Force enable font-lock mode without jit-lock.
- (rename-buffer "*python-font-lock-test*" t)
- (let (noninteractive font-lock-support-mode)
- (font-lock-mode))
- (while
- (re-search-forward search nil t)
- (replace-match replace))
- (should (equal faces (python-tests-get-buffer-faces)))))
-
(defun python-tests-self-insert (char-or-str)
"Call `self-insert-command' for chars in CHAR-OR-STR."
(let ((chars
@@ -297,13 +283,6 @@ p = (1 + 2)
"def 1func():"
'((1 . font-lock-keyword-face) (4))))
-(ert-deftest python-font-lock-keywords-level-1-3 ()
- (python-tests-assert-faces
- "def \\
- func():"
- '((1 . font-lock-keyword-face) (4)
- (15 . font-lock-function-name-face) (19))))
-
(ert-deftest python-font-lock-assignment-statement-1 ()
(python-tests-assert-faces
"a, b, c = 1, 2, 3"
@@ -495,129 +474,6 @@ def f(x: CustomInt) -> CustomInt:
(136 . font-lock-operator-face) (137)
(144 . font-lock-keyword-face) (150))))
-(ert-deftest python-font-lock-assignment-statement-multiline-1 ()
- (python-tests-assert-faces-after-change
- "
-[
- a,
- b
-] # (
- 1,
- 2
-)
-"
- '((1)
- (8 . font-lock-variable-name-face) (9)
- (15 . font-lock-variable-name-face) (16)
- (19 . font-lock-operator-face) (20))
- "#" "="))
-
-(ert-deftest python-font-lock-assignment-statement-multiline-2 ()
- (python-tests-assert-faces-after-change
- "
-[
- *a
-] # 5, 6
-"
- '((1)
- (8 . font-lock-operator-face)
- (9 . font-lock-variable-name-face) (10)
- (13 . font-lock-operator-face) (14))
- "#" "="))
-
-(ert-deftest python-font-lock-assignment-statement-multiline-3 ()
- (python-tests-assert-faces-after-change
- "a\\
- ,\\
- b\\
- ,\\
- c\\
- #\\
- 1\\
- ,\\
- 2\\
- ,\\
- 3"
- '((1 . font-lock-variable-name-face) (2)
- (15 . font-lock-variable-name-face) (16)
- (29 . font-lock-variable-name-face) (30)
- (36 . font-lock-operator-face) (37))
- "#" "="))
-
-(ert-deftest python-font-lock-assignment-statement-multiline-4 ()
- (python-tests-assert-faces-after-change
- "a\\
- :\\
- int\\
- #\\
- 5"
- '((1 . font-lock-variable-name-face) (2)
- (15 . font-lock-builtin-face) (18)
- (24 . font-lock-operator-face) (25))
- "#" "="))
-
-(ert-deftest python-font-lock-assignment-statement-multiline-5 ()
- (python-tests-assert-faces-after-change
- "(\\
- a\\
-)\\
- #\\
- 5\\
- ;\\
- (\\
- b\\
- )\\
- #\\
- 6"
- '((1)
- (8 . font-lock-variable-name-face) (9)
- (18 . font-lock-operator-face) (19)
- (46 . font-lock-variable-name-face) (47)
- (60 . font-lock-operator-face) (61))
- "#" "="))
-
-(ert-deftest python-font-lock-assignment-statement-multiline-6 ()
- (python-tests-assert-faces-after-change
- "(
- a
-)\\
- #\\
- 5\\
- ;\\
- (
- b
- )\\
- #\\
- 6"
- '((1)
- (7 . font-lock-variable-name-face) (8)
- (16 . font-lock-operator-face) (17)
- (43 . font-lock-variable-name-face) (44)
- (56 . font-lock-operator-face) (57))
- "#" "="))
-
-(ert-deftest python-font-lock-operator-1 ()
- (python-tests-assert-faces
- "1 << 2 ** 3 == +4%-5|~6&7^8%9"
- '((1)
- (3 . font-lock-operator-face) (5)
- (8 . font-lock-operator-face) (10)
- (13 . font-lock-operator-face) (15)
- (16 . font-lock-operator-face) (17)
- (18 . font-lock-operator-face) (20)
- (21 . font-lock-operator-face) (23)
- (24 . font-lock-operator-face) (25)
- (26 . font-lock-operator-face) (27)
- (28 . font-lock-operator-face) (29))))
-
-(ert-deftest python-font-lock-operator-2 ()
- "Keyword operators are font-locked as keywords."
- (python-tests-assert-faces
- "is_ is None"
- '((1)
- (5 . font-lock-keyword-face) (7)
- (8 . font-lock-constant-face))))
-
(ert-deftest python-font-lock-escape-sequence-string-newline ()
(python-tests-assert-faces
"'\\n'
@@ -729,6 +585,7 @@ u\"\\n\""
(845 . font-lock-string-face) (886))))
(ert-deftest python-font-lock-escape-sequence-bytes-newline ()
+ :expected-result :failed
(python-tests-assert-faces
"b'\\n'
b\"\\n\""
@@ -741,6 +598,7 @@ b\"\\n\""
(11 . font-lock-doc-face))))
(ert-deftest python-font-lock-escape-sequence-hex-octal ()
+ :expected-result :failed
(python-tests-assert-faces
"b'\\x12 \\777 \\1\\23'
'\\x12 \\777 \\1\\23'"
@@ -761,6 +619,7 @@ b\"\\n\""
(36 . font-lock-doc-face))))
(ert-deftest python-font-lock-escape-sequence-unicode ()
+ :expected-result :failed
(python-tests-assert-faces
"b'\\u1234 \\U00010348 \\N{Plus-Minus Sign}'
'\\u1234 \\U00010348 \\N{Plus-Minus Sign}'"
@@ -775,6 +634,7 @@ b\"\\n\""
(80 . font-lock-doc-face))))
(ert-deftest python-font-lock-raw-escape-sequence ()
+ :expected-result :failed
(python-tests-assert-faces
"rb'\\x12 \123 \\n'
r'\\x12 \123 \\n \\u1234 \\U00010348 \\N{Plus-Minus Sign}'"
@@ -823,7 +683,7 @@ def long_function_name(
(should (= (python-indent-calculate-indentation) 8))
(python-tests-look-at "var_four):")
(should (eq (car (python-indent-context))
- :inside-paren-newline-start-from-block))
+ :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 8))
(python-tests-look-at "print (var_one)")
(should (eq (car (python-indent-context))
@@ -847,8 +707,8 @@ foo = long_function_name(
(should (eq (car (python-indent-context)) :inside-paren-newline-start))
(should (= (python-indent-calculate-indentation) 4))
(python-tests-look-at "var_three, var_four)")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
- (should (= (python-indent-calculate-indentation) 4))))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
+ (should (= (python-indent-calculate-indentation) 2))))
(ert-deftest python-indent-hanging-close-paren ()
"Like first pep8 case, but with hanging close paren." ;; See Bug#20742.
@@ -1004,7 +864,7 @@ data = {
(should (eq (car (python-indent-context)) :inside-paren-newline-start))
(should (= (python-indent-calculate-indentation) 4))
(python-tests-look-at "{")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 4))
(python-tests-look-at "'objlist': [")
(should (eq (car (python-indent-context)) :inside-paren-newline-start))
@@ -1016,20 +876,20 @@ data = {
(should (eq (car (python-indent-context)) :inside-paren-newline-start))
(should (= (python-indent-calculate-indentation) 16))
(python-tests-look-at "'name': 'first',")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 16))
(python-tests-look-at "},")
(should (eq (car (python-indent-context))
:inside-paren-at-closing-nested-paren))
(should (= (python-indent-calculate-indentation) 12))
(python-tests-look-at "{")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 12))
(python-tests-look-at "'pk': 2,")
(should (eq (car (python-indent-context)) :inside-paren-newline-start))
(should (= (python-indent-calculate-indentation) 16))
(python-tests-look-at "'name': 'second',")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 16))
(python-tests-look-at "}")
(should (eq (car (python-indent-context))
@@ -1073,7 +933,7 @@ data = {'key': {
(should (eq (car (python-indent-context)) :inside-paren))
(should (= (python-indent-calculate-indentation) 9))
(python-tests-look-at "{'pk': 2,")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 8))
(python-tests-look-at "'name': 'second'}")
(should (eq (car (python-indent-context)) :inside-paren))
@@ -1106,10 +966,10 @@ data = ('these',
(should (eq (car (python-indent-context)) :inside-paren))
(should (= (python-indent-calculate-indentation) 8))
(forward-line 1)
- (should (eq (car (python-indent-context)) :inside-paren))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 8))
(forward-line 1)
- (should (eq (car (python-indent-context)) :inside-paren))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 8))))
(ert-deftest python-indent-inside-paren-4 ()
@@ -1139,7 +999,7 @@ while ((not some_condition) and
(should (eq (car (python-indent-context)) :no-indent))
(should (= (python-indent-calculate-indentation) 0))
(forward-line 1)
- (should (eq (car (python-indent-context)) :inside-paren))
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
(should (= (python-indent-calculate-indentation) 7))
(forward-line 1)
(should (eq (car (python-indent-context)) :after-block-start))
@@ -1163,7 +1023,7 @@ CHOICES = (('some', 'choice'),
(should (eq (car (python-indent-context)) :inside-paren))
(should (= (python-indent-calculate-indentation) 11))
(forward-line 1)
- (should (eq (car (python-indent-context)) :inside-paren))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 11))))
(ert-deftest python-indent-inside-paren-7 ()
@@ -1174,6 +1034,183 @@ CHOICES = (('some', 'choice'),
;; This signals an error if the test fails
(should (eq (car (python-indent-context)) :inside-paren-newline-start))))
+(ert-deftest python-indent-inside-paren-8 ()
+ "Test for Bug#63959."
+ (python-tests-with-temp-buffer
+ "
+for a in [ # comment
+ 'some', # Manually indented.
+ 'thing']: # Respect indentation of the previous line.
+"
+ (python-tests-look-at "for a in [ # comment")
+ (should (eq (car (python-indent-context)) :no-indent))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context))
+ :inside-paren-newline-start-from-block))
+ (should (= (python-indent-calculate-indentation) 8))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
+ (should (= (python-indent-calculate-indentation) 10))))
+
+(ert-deftest python-indent-inside-paren-9 ()
+ "Test `:inside-paren-continuation-line'."
+ (python-tests-with-temp-buffer
+ "
+a = (((
+ 1, 2),
+ 3), # Do not respect the indentation of the previous line
+ 4) # Do not respect the indentation of the previous line
+b = ((
+ 1, 2), # Manually indented
+ 3, # Do not respect the indentation of the previous line
+ 4, # Respect the indentation of the previous line
+ 5, # Manually indented
+ 6) # Respect the indentation of the previous line
+"
+ (python-tests-look-at "a = (((")
+ (should (eq (car (python-indent-context)) :no-indent))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (= (python-indent-calculate-indentation) 4))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren))
+ (should (= (python-indent-calculate-indentation) 6))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren))
+ (should (= (python-indent-calculate-indentation) 5))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-line))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (= (python-indent-calculate-indentation) 4))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren))
+ (should (= (python-indent-calculate-indentation) 5))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
+ (should (= (python-indent-calculate-indentation) 5))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
+ (should (= (python-indent-calculate-indentation) 5))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
+ (should (= (python-indent-calculate-indentation) 8))))
+
+(ert-deftest python-indent-inside-paren-block-1 ()
+ "`python-indent-block-paren-deeper' set to nil (default).
+See Bug#62696."
+ (python-tests-with-temp-buffer
+ "
+if ('VALUE' in my_unnecessarily_long_dictionary and
+ some_other_long_condition_case):
+ do_something()
+elif (some_case or
+ another_case):
+ do_another()
+"
+ (python-tests-look-at "if")
+ (should (eq (car (python-indent-context)) :no-indent))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
+ (should (= (python-indent-calculate-indentation) 4))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-block-start))
+ (should (= (python-indent-calculate-indentation) 4))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :at-dedenter-block-start))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
+ (should (= (python-indent-calculate-indentation) 6))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-block-start))
+ (should (= (python-indent-calculate-indentation) 4))))
+
+(ert-deftest python-indent-inside-paren-block-2 ()
+ "`python-indent-block-paren-deeper' set to t.
+See Bug#62696."
+ (python-tests-with-temp-buffer
+ "
+if ('VALUE' in my_unnecessarily_long_dictionary and
+ some_other_long_condition_case):
+ do_something()
+elif (some_case or
+ another_case):
+ do_another()
+"
+ (let ((python-indent-block-paren-deeper t))
+ (python-tests-look-at "if")
+ (should (eq (car (python-indent-context)) :no-indent))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
+ (should (= (python-indent-calculate-indentation) 8))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-block-start))
+ (should (= (python-indent-calculate-indentation) 4))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :at-dedenter-block-start))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
+ (should (= (python-indent-calculate-indentation) 6))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-block-start))
+ (should (= (python-indent-calculate-indentation) 4)))))
+
+(ert-deftest python-indent-inside-paren-block-3 ()
+ "With backslash. `python-indent-block-paren-deeper' set to nil (default).
+See Bug#62696."
+ (python-tests-with-temp-buffer
+ "
+if 'VALUE' in my_uncessarily_long_dictionary and\\
+ (some_other_long_condition_case or
+ another_case):
+ do_something()
+"
+ (python-tests-look-at "if")
+ (should (eq (car (python-indent-context)) :no-indent))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context))
+ :after-backslash-block-continuation))
+ (should (= (python-indent-calculate-indentation) 3))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
+ (should (= (python-indent-calculate-indentation) 4))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-block-start))
+ (should (= (python-indent-calculate-indentation) 4))))
+
+(ert-deftest python-indent-inside-paren-block-4 ()
+ "With backslash. `python-indent-block-paren-deeper' set to t.
+See Bug#62696."
+ (python-tests-with-temp-buffer
+ "
+if 'VALUE' in my_uncessarily_long_dictionary and\\
+ (some_other_long_condition_case or
+ another_case):
+ do_something()
+"
+ (let ((python-indent-block-paren-deeper t))
+ (python-tests-look-at "if")
+ (should (eq (car (python-indent-context)) :no-indent))
+ (should (= (python-indent-calculate-indentation) 0))
+ (forward-line 1)
+ (should (eq (car (python-indent-context))
+ :after-backslash-block-continuation))
+ (should (= (python-indent-calculate-indentation) 3))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
+ (should (= (python-indent-calculate-indentation) 8))
+ (forward-line 1)
+ (should (eq (car (python-indent-context)) :after-block-start))
+ (should (= (python-indent-calculate-indentation) 4)))))
+
(ert-deftest python-indent-after-block-1 ()
"The most simple after-block case that shouldn't fail."
(python-tests-with-temp-buffer
@@ -1299,7 +1336,7 @@ objects = Thing.objects.all() \\
(should (eq (car (python-indent-context)) :inside-paren-newline-start))
(should (= (python-indent-calculate-indentation) 27))
(python-tests-look-at "status='bought'")
- (should (eq (car (python-indent-context)) :inside-paren-newline-start))
+ (should (eq (car (python-indent-context)) :inside-paren-continuation-line))
(should (= (python-indent-calculate-indentation) 27))
(python-tests-look-at ") \\")
(should (eq (car (python-indent-context)) :inside-paren-at-closing-paren))
@@ -1670,7 +1707,7 @@ a == 4):
(should (= (python-indent-calculate-indentation) 0))
(should (= (python-indent-calculate-indentation t) 0))
(python-tests-look-at "a == 4):\n")
- (should (eq (car (python-indent-context)) :inside-paren))
+ (should (eq (car (python-indent-context)) :inside-paren-from-block))
(should (= (python-indent-calculate-indentation) 6))
(python-indent-line)
(should (= (python-indent-calculate-indentation t) 4))
@@ -6598,6 +6635,18 @@ class Class:
(python-tests-look-at "'''Not a method docstring.'''")
(should (not (python-info-docstring-p)))))
+(ert-deftest python-info-docstring-p-7 ()
+ "Test string in a dictionary."
+ (python-tests-with-temp-buffer
+ "
+{'Not a docstring': 1}
+'Also not a docstring'
+"
+ (python-tests-look-at "Not a docstring")
+ (should-not (python-info-docstring-p))
+ (python-tests-look-at "Also not a docstring")
+ (should-not (python-info-docstring-p))))
+
(ert-deftest python-info-triple-quoted-string-p-1 ()
"Test triple quoted string."
(python-tests-with-temp-buffer
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el
index 8f46c2af136..1c220b1da18 100644
--- a/test/lisp/subr-tests.el
+++ b/test/lisp/subr-tests.el
@@ -1206,5 +1206,55 @@ final or penultimate step during initialization."))
(should (equal a-dedup '("a" "b" "a" "b" "c")))
(should (eq a a-dedup))))
+(ert-deftest subr--copy-tree ()
+ ;; Check that values other than conses, vectors and records are
+ ;; neither copied nor traversed.
+ (let ((s (propertize "abc" 'prop (list 11 12)))
+ (h (make-hash-table :test #'equal)))
+ (puthash (list 1 2) (list 3 4) h)
+ (dolist (x (list nil 'a "abc" s h))
+ (should (eq (copy-tree x) x))
+ (should (eq (copy-tree x t) x))))
+
+ ;; Use the printer to detect common parts of Lisp values.
+ (let ((print-circle t))
+ (cl-labels ((prn3 (x y z) (prin1-to-string (list x y z)))
+ (cat3 (x y z) (concat "(" x " " y " " z ")")))
+ (let ((x '(a (b ((c) . d) e) (f))))
+ (should (equal (prn3 x (copy-tree x) (copy-tree x t))
+ (cat3 "(a (b ((c) . d) e) (f))"
+ "(a (b ((c) . d) e) (f))"
+ "(a (b ((c) . d) e) (f))"))))
+ (let ((x '(a [b (c d)] #s(e (f [g])))))
+ (should (equal (prn3 x (copy-tree x) (copy-tree x t))
+ (cat3 "(a #1=[b (c d)] #2=#s(e (f [g])))"
+ "(a #1# #2#)"
+ "(a [b (c d)] #s(e (f [g])))"))))
+ (let ((x [a (b #s(c d))]))
+ (should (equal (prn3 x (copy-tree x) (copy-tree x t))
+ (cat3 "#1=[a (b #s(c d))]"
+ "#1#"
+ "[a (b #s(c d))]"))))
+ (let ((x #s(a (b [c d]))))
+ (should (equal (prn3 x (copy-tree x) (copy-tree x t))
+ (cat3 "#1=#s(a (b [c d]))"
+ "#1#"
+ "#s(a (b [c d]))"))))
+ ;; Check cdr recursion.
+ (let ((x '(a b . [(c . #s(d))])))
+ (should (equal (prn3 x (copy-tree x) (copy-tree x t))
+ (cat3 "(a b . #1=[(c . #s(d))])"
+ "(a b . #1#)"
+ "(a b . [(c . #s(d))])"))))
+ ;; Check that we can copy DAGs (the result is a tree).
+ (let ((x (list '(a b) nil [c d] nil #s(e f) nil)))
+ (setf (nth 1 x) (nth 0 x))
+ (setf (nth 3 x) (nth 2 x))
+ (setf (nth 5 x) (nth 4 x))
+ (should (equal (prn3 x (copy-tree x) (copy-tree x t))
+ (cat3 "(#1=(a b) #1# #2=[c d] #2# #3=#s(e f) #3#)"
+ "((a b) (a b) #2# #2# #3# #3#)"
+ "((a b) (a b) [c d] [c d] #s(e f) #s(e f))")))))))
+
(provide 'subr-tests)
;;; subr-tests.el ends here
diff --git a/test/lisp/textmodes/reftex-tests.el b/test/lisp/textmodes/reftex-tests.el
index 5a137ba8a67..6aa12bc3b58 100644
--- a/test/lisp/textmodes/reftex-tests.el
+++ b/test/lisp/textmodes/reftex-tests.el
@@ -294,7 +294,8 @@ And this should be % \\cite{ignored}.
(find-file tex-file)
(setq keys (reftex-all-used-citation-keys))
(should (equal (sort keys #'string<)
- (sort '(;; Standard commands:
+ (sort (list
+ ;; Standard commands:
"cite:2022" "Cite:2022"
"parencite:2022" "Parencite:2022"
"footcite:2022" "footcitetext:2022"
diff --git a/test/lisp/use-package/use-package-tests.el b/test/lisp/use-package/use-package-tests.el
index 6374a0d1037..9181a8171a7 100644
--- a/test/lisp/use-package/use-package-tests.el
+++ b/test/lisp/use-package/use-package-tests.el
@@ -1951,6 +1951,71 @@
(should (eq (nth 1 binding) 'ignore))
(should (eq (nth 2 binding) nil))))
+(ert-deftest use-package-test/:vc-1 ()
+ (match-expansion
+ (use-package foo :vc (:url "bar"))
+ '(progn (use-package-vc-install '(foo (:url "bar") :last-release) nil)
+ (require 'foo nil nil))))
+
+(ert-deftest use-package-test/:vc-2 ()
+ (match-expansion
+ (use-package foo
+ :vc (baz . (:url "baz" :vc-backend "Git"
+ :main-file qux.el :rev "rev-string")))
+ '(progn (use-package-vc-install '(baz
+ (:url "baz" :vc-backend Git :main-file "qux.el")
+ "rev-string")
+ nil)
+ (require 'foo nil nil))))
+
+(ert-deftest use-package-test/:vc-3 ()
+ (match-expansion
+ (use-package foo :vc (bar . "baz"))
+ '(progn (use-package-vc-install '(bar "baz") nil)
+ (require 'foo nil nil))))
+
+(ert-deftest use-package-test/:vc-4 ()
+ (match-expansion
+ (use-package foo :vc (bar . (:url "baz" :rev :newest)))
+ '(progn (use-package-vc-install '(bar (:url "baz") nil) nil)
+ (require 'foo nil nil))))
+
+(ert-deftest use-package-test/:vc-5 ()
+ (let ((load-path? '(pred (apply-partially
+ #'string=
+ (expand-file-name "bar" user-emacs-directory)))))
+ (match-expansion
+ (use-package foo :vc other-name :load-path "bar")
+ `(progn (eval-and-compile
+ (add-to-list 'load-path ,load-path?))
+ (use-package-vc-install '(other-name) ,load-path?)
+ (require 'foo nil nil)))))
+
+(ert-deftest use-package-test-handler/:vc-6 ()
+ (let ((byte-compile-current-file "use-package-core.el")
+ tried-to-install)
+ (cl-letf (((symbol-function #'use-package-vc-install)
+ (lambda (arg &optional local-path)
+ (setq tried-to-install arg))))
+ (should (equal
+ (use-package-handler/:vc 'foo nil 'some-pkg '(:init (foo)) nil)
+ '(foo)))
+ (should (eq tried-to-install 'some-pkg)))))
+
+(ert-deftest use-package-test-normalize/:vc ()
+ (should (equal '(foo "version-string")
+ (use-package-normalize/:vc 'foo :vc '("version-string"))))
+ (should (equal '(bar "version-string")
+ (use-package-normalize/:vc 'foo :vc '((bar . "version-string")))))
+ (should (equal '(foo (:url "bar") "baz")
+ (use-package-normalize/:vc 'foo :vc '((:url "bar" :rev "baz")))))
+ (should (equal '(foo)
+ (use-package-normalize/:vc 'foo :vc '(t))))
+ (should (equal '(foo)
+ (use-package-normalize/:vc 'foo :vc nil)))
+ (should (equal '(bar)
+ (use-package-normalize/:vc 'foo :vc '(bar)))))
+
;; Local Variables:
;; no-byte-compile: t
;; no-update-autoloads: t
diff --git a/test/lisp/vc/vc-cvs-tests.el b/test/lisp/vc/vc-cvs-tests.el
new file mode 100644
index 00000000000..473ac69e24c
--- /dev/null
+++ b/test/lisp/vc/vc-cvs-tests.el
@@ -0,0 +1,107 @@
+;;; vc-cvs-tests.el --- tests for vc/vc-cvs.el -*- lexical-binding:t -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; Author: Olivier Certner <olce.emacs@certner.fr>
+;; Maintainer: emacs-devel@gnu.org
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'vc-cvs)
+
+(ert-deftest vc-cvs-test-parse-root--local-no-method ()
+ (vc-cvs-test--check-parse-root
+ "/home/joe/repo"
+ '("local" nil nil "/home/joe/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--local-windows-drive-letter ()
+ (vc-cvs-test--check-parse-root
+ ":local:c:/users/joe/repo"
+ '("local" nil nil "c:/users/joe/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--ext-no-method-host-no-port-colon ()
+ (vc-cvs-test--check-parse-root
+ "host/home/serv/repo"
+ '("ext" nil "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--pserver-host-no-port-colon ()
+ (vc-cvs-test--check-parse-root
+ ":pserver:host/home/serv/repo"
+ '("pserver" nil "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--pserver-host-port-colon ()
+ (vc-cvs-test--check-parse-root
+ ":pserver:host:/home/serv/repo"
+ '("pserver" nil "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--ext-no-method-user-host-no-port-colon ()
+ (vc-cvs-test--check-parse-root
+ "usr@host/home/serv/repo"
+ '("ext" "usr" "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--ext-no-method-user-host-port-colon ()
+ (vc-cvs-test--check-parse-root
+ "usr@host:/home/serv/repo"
+ '("ext" "usr" "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--pserver-user-password-host-no-port-colon ()
+ (vc-cvs-test--check-parse-root
+ ":pserver:usr:passwd@host/home/serv/repo"
+ '("pserver" "usr" "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--pserver-user-password-host-port-colon ()
+ (vc-cvs-test--check-parse-root
+ ":pserver:usr:passwd@host:/home/serv/repo"
+ '("pserver" "usr" "host" "/home/serv/repo")))
+
+(ert-deftest vc-cvs-test-parse-root--pserver-user-password-host-port ()
+ (vc-cvs-test--check-parse-root
+ ":pserver:usr:passwd@host:28/home/serv/repo"
+ '("pserver" "usr" "host" "/home/serv/repo")))
+
+;; Next 3 tests are just to err on the side of caution. It doesn't
+;; seem that CVS 1.12 can ever produce such lines.
+
+(ert-deftest
+ vc-cvs-test-parse-root--ext-no-method-user-password-host-no-port-colon
+ ()
+ (vc-cvs-test--check-parse-root
+ "usr:passwd@host/home/serv/repo"
+ '("ext" "usr" "host" "/home/serv/repo")))
+
+(ert-deftest
+ vc-cvs-test-parse-root--ext-no-method-user-password-host-port-colon
+ ()
+ (vc-cvs-test--check-parse-root
+ "usr:passwd@host:/home/serv/repo"
+ '("ext" "usr" "host" "/home/serv/repo")))
+
+(ert-deftest
+ vc-cvs-test-parse-root--ext-no-method-user-password-host-port
+ ()
+ (vc-cvs-test--check-parse-root
+ "usr:passwd@host:28/home/serv/repo"
+ '("ext" "usr" "host" "/home/serv/repo")))
+
+
+(defun vc-cvs-test--check-parse-root (input expected-output)
+ (should (equal (vc-cvs-parse-root input) expected-output)))
+
+;;; vc-cvs-tests.el ends here
diff --git a/test/lisp/vc/vc-git-tests.el b/test/lisp/vc/vc-git-tests.el
index f12c5d3434b..b331b77cf01 100644
--- a/test/lisp/vc/vc-git-tests.el
+++ b/test/lisp/vc/vc-git-tests.el
@@ -64,4 +64,21 @@
(actual-output (vc-git--program-version)))
(should (equal actual-output expected-output))))
+(ert-deftest vc-git-test-annotate-time ()
+ "Test `vc-git-annotate-time'."
+ (require 'vc-annotate)
+ (with-temp-buffer
+ (insert "\
+00000000 (Foo Bar 2023-06-14 1) a
+00000001 (Foo Bar 2023-06-14 00:00:00 -0130 2) b
+00000002 (Foo Bar 2023-06-14 00:00:00 +0145 3) c
+00000003 (Foo Bar 2023-06-14 00:00:00 4) d
+00000004 (Foo Bar 0-0-0 5) \n")
+ (goto-char (point-min))
+ (should (floatp (vc-git-annotate-time)))
+ (should (> (vc-git-annotate-time)
+ (vc-git-annotate-time)))
+ (should-not (vc-git-annotate-time))
+ (should-not (vc-git-annotate-time))))
+
;;; vc-git-tests.el ends here
diff --git a/test/src/comp-resources/comp-test-funcs-dyn.el b/test/src/comp-resources/comp-test-funcs-dyn.el
index 7f9daf67019..8cd127f7e1b 100644
--- a/test/src/comp-resources/comp-test-funcs-dyn.el
+++ b/test/src/comp-resources/comp-test-funcs-dyn.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/src/comp-resources/comp-test-funcs.el b/test/src/comp-resources/comp-test-funcs.el
index 73da7182a54..6d0cb353513 100644
--- a/test/src/comp-resources/comp-test-funcs.el
+++ b/test/src/comp-resources/comp-test-funcs.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
@@ -23,6 +23,8 @@
;;; Code:
+(require 'cl-lib)
+
(defvar comp-tests-var1 3)
(defun comp-tests-varref-f ()
@@ -530,6 +532,12 @@
(comp-test-62537-1-f))
t)
+(cl-defstruct comp-test-struct)
+
+(defun comp-test-63674-1-f (x)
+ (or
+ (if (comp-test-struct-p pkg) x)
+ t))
;;;;;;;;;;;;;;;;;;;;
diff --git a/test/src/comp-resources/comp-test-pure.el b/test/src/comp-resources/comp-test-pure.el
index 9b4c1ee2dae..cc5ba7edef7 100644
--- a/test/src/comp-resources/comp-test-pure.el
+++ b/test/src/comp-resources/comp-test-pure.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index 4682cac450e..ce7899d9d4c 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
@@ -305,7 +305,8 @@ Check that the resulting binaries do not differ."
(lambda () (throw 'foo 3)))
3))
(should (= (catch 'foo
- (comp-tests-throw-f 3)))))
+ (comp-tests-throw-f 3))
+ 3)))
(comp-deftest gc ()
"Try to do some longer computation to let the GC kick in."
@@ -875,6 +876,8 @@ Return a list of results."
ret-type))))
(cl-eval-when (compile eval load)
+ (cl-defstruct comp-foo a b)
+ (cl-defstruct (comp-bar (:include comp-foo)) c)
(defconst comp-tests-type-spec-tests
;; Why we quote everything here, you ask? So that values of
;; `most-positive-fixnum' and `most-negative-fixnum', which can be
@@ -1404,7 +1407,39 @@ Return a list of results."
(if (eq x 0)
(error "")
(1+ x)))
- 'number)))
+ 'number)
+
+ ;; 75
+ ((defun comp-tests-ret-type-spec-f ()
+ (make-comp-foo))
+ 'comp-foo)
+
+ ;; 76
+ ((defun comp-tests-ret-type-spec-f ()
+ (make-comp-bar))
+ 'comp-bar)
+
+ ;; 77
+ ((defun comp-tests-ret-type-spec-f (x)
+ (setf (comp-foo-a x) 2)
+ x)
+ 'comp-foo)
+
+ ;; 78
+ ((defun comp-tests-ret-type-spec-f (x)
+ (if x
+ (if (> x 11)
+ x
+ (make-comp-foo))
+ (make-comp-bar)))
+ '(or comp-foo float (integer 12 *)))
+
+ ;; 79
+ ((defun comp-tests-ret-type-spec-f (x)
+ (if (comp-foo-p x)
+ x
+ (error "")))
+ 'comp-foo)))
(defun comp-tests-define-type-spec-test (number x)
`(comp-deftest ,(intern (format "ret-type-spec-%d" number)) ()
diff --git a/test/src/fns-tests.el b/test/src/fns-tests.el
index 2859123da80..79ae4393f40 100644
--- a/test/src/fns-tests.el
+++ b/test/src/fns-tests.el
@@ -1101,7 +1101,7 @@
(ert-deftest test-vector-delete ()
(let ((v1 (make-vector 1000 1)))
- (should (equal (delete t [nil t]) [nil]))
+ (should (equal (delete t (vector nil t)) [nil]))
(should (equal (delete 1 v1) (vector)))
(should (equal (delete 2 v1) v1))))
diff --git a/test/src/lread-tests.el b/test/src/lread-tests.el
index fc00204ce7b..eae4893ee1b 100644
--- a/test/src/lread-tests.el
+++ b/test/src/lread-tests.el
@@ -360,4 +360,20 @@ literals (Bug#20852)."
(should (byte-code-function-p f))
(should (equal (aref f 4) "My little\ndoc string\nhere"))))))
+(ert-deftest lread-skip-to-eof ()
+ ;; Check the special #@00 syntax that, for compatibility, reads as
+ ;; nil while absorbing the remainder of the input.
+ (with-temp-buffer
+ (insert "#@00 and the rest\n"
+ "should be ignored) entirely\n")
+ (goto-char (point-min))
+ (should (equal (read (current-buffer)) nil))
+ (should (eobp))
+ ;; Add an unbalanced bracket to the beginning and try again;
+ ;; we should get an error.
+ (goto-char (point-min))
+ (insert "( ")
+ (goto-char (point-min))
+ (should-error (read (current-buffer)) :type 'end-of-file)))
+
;;; lread-tests.el ends here
diff --git a/test/src/regex-emacs-tests.el b/test/src/regex-emacs-tests.el
index 52d43775b8e..08a93dbf30e 100644
--- a/test/src/regex-emacs-tests.el
+++ b/test/src/regex-emacs-tests.el
@@ -883,4 +883,70 @@ This evaluates the TESTS test cases from glibc."
(should (looking-at "x*\\(=\\|:\\)*"))
(should (looking-at "x*=*?"))))
+(ert-deftest regexp-tests-zero-width-assertion-repetition ()
+ ;; Check compatibility behaviour with repetition operators after
+ ;; certain zero-width assertions (bug#64128).
+
+ ;; This function is just to hide ugly regexps from relint so that it
+ ;; doesn't complain about them.
+ (cl-flet ((smatch (re str) (string-match re str)))
+ ;; Postfix operators after ^ and \` become literals, for historical
+ ;; compatibility. Only the first character of a lazy operator (like *?)
+ ;; becomes a literal.
+ (should (equal (smatch "^*a" "x\n*a") 2))
+ (should (equal (smatch "^*?a" "x\n*a") 2))
+ (should (equal (smatch "^*?a" "x\na") 2))
+ (should (equal (smatch "^*?a" "x\n**a") nil))
+
+ (should (equal (smatch "\\`*a" "*a") 0))
+ (should (equal (smatch "\\`*?a" "*a") 0))
+ (should (equal (smatch "\\`*?a" "a") 0))
+ (should (equal (smatch "\\`*?a" "**a") nil))
+
+ ;; Other zero-width assertions are treated as normal elements, so postfix
+ ;; operators apply to them alone (which is pointless but valid).
+ (should (equal (smatch "\\b*!" "*!") 1))
+ (should (equal (smatch "!\\b+;" "!;") nil))
+ (should (equal (smatch "!\\b+a" "!a") 0))
+
+ (should (equal (smatch "\\B*!" "*!") 1))
+ (should (equal (smatch "!\\B+;" "!;") 0))
+ (should (equal (smatch "!\\B+a" "!a") nil))
+
+ (should (equal (smatch "\\<*b" "*b") 1))
+ (should (equal (smatch "a\\<*b" "ab") 0))
+ (should (equal (smatch ";\\<*b" ";b") 0))
+ (should (equal (smatch "a\\<+b" "ab") nil))
+ (should (equal (smatch ";\\<+b" ";b") 0))
+
+ (should (equal (smatch "\\>*;" "*;") 1))
+ (should (equal (smatch "a\\>*b" "ab") 0))
+ (should (equal (smatch "a\\>*;" "a;") 0))
+ (should (equal (smatch "a\\>+b" "ab") nil))
+ (should (equal (smatch "a\\>+;" "a;") 0))
+
+ (should (equal (smatch "a\\'" "ab") nil))
+ (should (equal (smatch "b\\'" "ab") 1))
+ (should (equal (smatch "a\\'*b" "ab") 0))
+ (should (equal (smatch "a\\'+" "ab") nil))
+ (should (equal (smatch "b\\'+" "ab") 1))
+ (should (equal (smatch "\\'+" "+") 1))
+
+ (should (equal (smatch "\\_<*b" "*b") 1))
+ (should (equal (smatch "a\\_<*b" "ab") 0))
+ (should (equal (smatch " \\_<*b" " b") 0))
+ (should (equal (smatch "a\\_<+b" "ab") nil))
+ (should (equal (smatch " \\_<+b" " b") 0))
+
+ (should (equal (smatch "\\_>*;" "*;") 1))
+ (should (equal (smatch "a\\_>*b" "ab") 0))
+ (should (equal (smatch "a\\_>* " "a ") 0))
+ (should (equal (smatch "a\\_>+b" "ab") nil))
+ (should (equal (smatch "a\\_>+ " "a ") 0))
+
+ (should (equal (smatch "\\=*b" "*b") 1))
+ (should (equal (smatch "a\\=*b" "a*b") nil))
+ (should (equal (smatch "a\\=*b" "ab") 0))
+ ))
+
;;; regex-emacs-tests.el ends here
diff --git a/test/src/sqlite-tests.el b/test/src/sqlite-tests.el
index 460651def78..f7144c15887 100644
--- a/test/src/sqlite-tests.el
+++ b/test/src/sqlite-tests.el
@@ -197,10 +197,13 @@
(sqlite-load-extension db "/usr/lib/sqlite3/"))
(should-error
(sqlite-load-extension db "/usr/lib/sqlite3"))
- (should
- (memq
- (sqlite-load-extension db "/usr/lib/sqlite3/pcre.so")
- '(nil t)))
+ (if (eq system-type 'windows-nt)
+ (should
+ (eq (sqlite-load-extension db "/usr/lib/sqlite3/pcre.dll")
+ (file-readable-p "/usr/lib/sqlite3/pcre.dll")))
+ (should
+ (eq (sqlite-load-extension db "/usr/lib/sqlite3/pcre.so")
+ (file-readable-p "/usr/lib/sqlite3/pcre.so"))))
(should-error
(sqlite-load-extension
@@ -211,11 +214,13 @@
(should-error
(sqlite-load-extension
db "/usr/lib/x86_64-linux-gnu/libsqlite3_mod_csvtable"))
- (should
- (memq
- (sqlite-load-extension
- db "/usr/lib/x86_64-linux-gnu/libsqlite3_mod_csvtable.so")
- '(nil t)))))
+ (if (eq system-type 'windows-nt)
+ (should
+ (eq (sqlite-load-extension db "/usr/lib/sqlite3/csvtable.dll")
+ (file-readable-p "/usr/lib/sqlite3/csvtable.dll")))
+ (should
+ (eq (sqlite-load-extension db "/usr/lib/x86_64-linux-gnu/libsqlite3_mod_csvtable.so")
+ (file-readable-p "/usr/lib/x86_64-linux-gnu/libsqlite3_mod_csvtable.so"))))))
(ert-deftest sqlite-blob ()
(skip-unless (sqlite-available-p))
diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el
index 5b2955c34e3..34540b463cd 100644
--- a/test/src/treesit-tests.el
+++ b/test/src/treesit-tests.el
@@ -54,6 +54,9 @@
(declare-function treesit-node-descendant-for-range "treesit.c")
(declare-function treesit-node-eq "treesit.c")
+(declare-function treesit-search-forward "treesit.c")
+(declare-function treesit-search-subtree "treesit.c")
+
;;; Basic API
(ert-deftest treesit-basic-parsing ()
@@ -66,7 +69,7 @@
(should
(equal (treesit-node-string
(treesit-parser-root-node parser))
- "(ERROR)"))
+ "(document)"))
(insert "[1,2,3]")
(should
@@ -422,14 +425,14 @@ BODY is the test body."
;; String query.
'("(string) @string
(pair key: (_) @keyword)
-((_) @bob (#match \"^B.b$\" @bob))
+((_) @bob (#match \"\\\\`B.b\\\\'\" @bob))
(number) @number
((number) @n3 (#equal \"3\" @n3))
((number) @n3p (#pred treesit--ert-pred-last-sibling @n3p))"
;; Sexp query.
((string) @string
(pair key: (_) @keyword)
- ((_) @bob (:match "^B.b$" @bob))
+ ((_) @bob (:match "\\`B.b\\'" @bob))
(number) @number
((number) @n3 (:equal "3" @n3))
((number) @n3p (:pred treesit--ert-pred-last-sibling
@@ -458,7 +461,12 @@ BODY is the test body."
"(type field: (_) @capture .) ? * + \"return\""
(treesit-query-expand
'((type field: (_) @capture :anchor)
- :? :* :+ "return")))))))
+ :? :* :+ "return"))))
+
+ ;; Test string conversion in `treesit-pattern-expand'.
+ (should (equal
+ (treesit-pattern-expand "a\nb\rc\td\0e\"f\1g\\h\fi")
+ "\"a\\nb\\rc\\td\\0e\\\"f\1g\\\\h\fi\"")))))
;;; Narrow
diff --git a/test/src/xdisp-tests.el b/test/src/xdisp-tests.el
index 52ed79b0f20..dfd38a9d4c1 100644
--- a/test/src/xdisp-tests.el
+++ b/test/src/xdisp-tests.el
@@ -40,7 +40,7 @@
(insert "hello")
(let ((ol (make-overlay (point) (point)))
(max-mini-window-height 1)
- (text "askdjfhaklsjdfhlkasjdfhklasdhflkasdhflkajsdhflkashdfkljahsdlfkjahsdlfkjhasldkfhalskdjfhalskdfhlaksdhfklasdhflkasdhflkasdhflkajsdhklajsdgh"))
+ (text (copy-sequence "askdjfhaklsjdfhlkasjdfhklasdhflkasdhflkajsdhflkashdfkljahsdlfkjahsdlfkjhasldkfhalskdjfhalskdfhlaksdhfklasdhflkasdhflkasdhflkajsdhklajsdgh")))
;; (save-excursion (insert text))
;; (sit-for 2)
;; (delete-region (point) (point-max))