]> git.eshelyaron.com Git - emacs.git/log
emacs.git
16 months agoIsolate fchmodat within the Android VFS layer
Po Lu [Thu, 3 Aug 2023 06:50:05 +0000 (14:50 +0800)]
Isolate fchmodat within the Android VFS layer

* src/android.h: Update prototypes.
* src/androidvfs.c (unix_vfs_ops, android_unix_chmod, afs_vfs_ops)
(android_afs_chmod, content_vfs_ops, android_content_chmod)
(authority_vfs_ops, android_authority_chmod, saf_root_vfs_ops)
(android_saf_root_chmod, saf_tree_vfs_ops, android_saf_tree_chmod)
(saf_file_vfs_ops, saf_new_vfs_ops, android_saf_new_chmod)
(root_vfs_ops): Add `chmod' to the list of functions implemented
by each vnode.
(android_fchmodat): New function.
* src/fileio.c (Fset_file_modes): Use `emacs_fchmodat'.
* src/lisp.h:
* src/sysdep.c (emacs_fchmodat): Delegate to android_fchmodat on
Android.

16 months agoUpdate Android port
Po Lu [Thu, 3 Aug 2023 02:41:40 +0000 (10:41 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSafThread.java (CacheToplevel):
(EmacsSafThread):
(DocIdEntry):
(getCache):
(pruneCache):
(cacheDirectoryFromCursor):
(run):
(documentIdFromName1):
(statDocument1):
(openDocumentDirectory1):
(openDocument1): Introduce a file status cache and populate
it with files within directories as they are opened.
* java/org/gnu/emacs/EmacsService.java (createDocument):
(createDirectory):
(moveDocument): Invalidate the file status cache wherever
needed.
* src/fileio.c (check_vfs_filename):
(Fset_file_modes): Permit `set-file-modes' to silently fail
on asset and content files.

16 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 3 Aug 2023 00:25:47 +0000 (08:25 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

16 months agoAdd python-mode tests for align.el
Stefan Kangas [Wed, 2 Aug 2023 22:48:23 +0000 (00:48 +0200)]
Add python-mode tests for align.el

* test/lisp/align-tests.el (align-python): New test.
* test/lisp/align-resources/python-mode.erts: New file.

16 months agocperl-mode.el: Subroutine names are fontified correctly in all places
Harald Jörg [Wed, 2 Aug 2023 21:53:42 +0000 (23:53 +0200)]
cperl-mode.el: Subroutine names are fontified correctly in all places

Subroutine names are fontified as subroutine names even if the name is also
the name of a builtin (fixing an ancient unreported bug).  Subroutine name
are just comments in comment and pod (fixing a bug introduced recently)

* lisp/progmodes/cperl-mode.el (cperl-init-faces): Move
fontification of sub declarations before that of builtins.  Don't
override existing faces when fontifying subroutine declarations.
Don't fontify method calls even if the sub names match those of
builtins.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-fontify-sub-names):
New tests with a subroutine name in several surroundings.

* test/lisp/progmodes/cperl-mode-resources/sub-names.pl: New resource
for the new test.

16 months ago; Prefer HTTPS to HTTP in more links
Stefan Kangas [Wed, 2 Aug 2023 21:26:52 +0000 (23:26 +0200)]
; Prefer HTTPS to HTTP in more links

16 months agoAdd nvim and ncmpcpp to eshell-visual-commands
Stefan Kangas [Wed, 2 Aug 2023 19:57:15 +0000 (21:57 +0200)]
Add nvim and ncmpcpp to eshell-visual-commands

* lisp/eshell/em-term.el (eshell-visual-commands): Add nvim and
ncmpcpp.

16 months agoMake use-package-statistics-mode non-interactive
Stefan Kangas [Wed, 2 Aug 2023 19:50:47 +0000 (21:50 +0200)]
Make use-package-statistics-mode non-interactive

* lisp/use-package/use-package-core.el
(use-package-statistics-mode): Make non-interactive; it only works in
buffers prepared by use-package-report.

16 months agoAdd let-alist to alist shortdoc group
Stefan Kangas [Wed, 2 Aug 2023 19:49:19 +0000 (21:49 +0200)]
Add let-alist to alist shortdoc group

* lisp/emacs-lisp/shortdoc.el (alist): Add let-alist.

16 months agoRefer to align-highlight-rule in face docstrings
Stefan Kangas [Wed, 2 Aug 2023 06:50:14 +0000 (08:50 +0200)]
Refer to align-highlight-rule in face docstrings

* lisp/align.el (align-highlight-change-face)
(align-highlight-nochange-face): Refer to align-highlight-rule.

16 months agoFix link to info node in prin1 docstring
Stefan Kangas [Tue, 1 Aug 2023 17:28:53 +0000 (19:28 +0200)]
Fix link to info node in prin1 docstring

* src/print.c (Fprin1): Fix linking to info node in docstring.

16 months agoDon't hardcode ruby version in interpreter-mode-alist
Stefan Kangas [Wed, 2 Aug 2023 19:46:55 +0000 (21:46 +0200)]
Don't hardcode ruby version in interpreter-mode-alist

* lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Don't hardcode
ruby version.  This adds support for modern versions of Ruby like
"ruby2.7", instead of the previously hardcoded "ruby1.9".

16 months agouse-package: Mark Emacs 25 support code obsolete
Stefan Kangas [Wed, 2 Aug 2023 19:42:54 +0000 (21:42 +0200)]
use-package: Mark Emacs 25 support code obsolete

* lisp/use-package/use-package-core.el
(use-package-font-lock-keywords): Make obsolete.
(font-lock-add-keywords): Only call for Emacs 25 or older.

16 months agorx: better not-wordchar and (syntax word) translation
Mattias Engdegård [Mon, 24 Jul 2023 07:44:01 +0000 (09:44 +0200)]
rx: better not-wordchar and (syntax word) translation

* lisp/emacs-lisp/rx.el:
Add tables of legacy syntax.
(rx--translate-symbol):
Translate the legacy construct `not-wordchar` as (not wordchar), which
is more intuitively obvious.
* lisp/emacs-lisp/rx.el (rx--translate-syntax):
Generate the shorter \w and \W instead of \sw and \Sw.
* test/lisp/emacs-lisp/rx-tests.el (rx-atoms, rx-syntax, rx-not):
Adapt tests.

16 months agorx performance improvements
Mattias Engdegård [Sun, 30 Jul 2023 19:53:06 +0000 (21:53 +0200)]
rx performance improvements

* lisp/emacs-lisp/rx.el (rx--generate-alt):
Treat the intervals and classes lists separately without joining,
to reduce allocation.  Handle special cases first.
(rx--union-intervals):
Implement directly instead of using intersection and complement.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Adapt test, as some
character alternatives are now slightly different.
(rx--complement-intervals, rx--union-intervals)
(rx--intersect-intervals): New unit tests.

16 months ago; * lisp/emacs-lisp/shortdoc.el (list): Move misplaced `remq` entry
Mattias Engdegård [Wed, 2 Aug 2023 09:21:37 +0000 (11:21 +0200)]
; * lisp/emacs-lisp/shortdoc.el (list): Move misplaced `remq` entry

16 months agoFix reporting of key events containing SYM and META
Po Lu [Wed, 2 Aug 2023 01:09:53 +0000 (09:09 +0800)]
Fix reporting of key events containing SYM and META

* doc/emacs/android.texi (Android)::(What is Android?):
(Android Startup, Android File System, Android Environment)
(Android Windowing, Android Fonts, Android Troubleshooting):
Improve section titles.
(Android Windowing): Describe the relation between keyboard
modifiers reported by Android and those in key events.
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Clear META_SYM_ON and META_META_MASK when retrieving ASCII
characters.
* src/androidgui.h: Add ANDROID_META_MASK.
* src/androidterm.c (android_android_to_emacs_modifiers)
(android_emacs_to_android_modifiers): Transform META to Alt, and
vice versa.

16 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 2 Aug 2023 00:10:59 +0000 (08:10 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

16 months agoMark Tramp test :unstable
Michael Albinus [Tue, 1 Aug 2023 18:25:34 +0000 (20:25 +0200)]
Mark Tramp test :unstable

* test/lisp/net/tramp-tests.el (tramp-test47-read-password):
Mark it :unstable.

16 months agoAdd more `tramp-suppress-trace' properties in Tramp
Michael Albinus [Tue, 1 Aug 2023 18:24:44 +0000 (20:24 +0200)]
Add more `tramp-suppress-trace' properties in Tramp

* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Use `tramp-archive-handle-file-symlink-p'.
(tramp-archive-handle-file-symlink-p): New defun.

* lisp/net/tramp-cache.el (tramp-loaddefs): Don't require.
(tramp-get-hash-table, tramp-cache-print)
(tramp-dump-connection-properties): Declare `tramp-suppress-trace'
property.

* lisp/net/tramp-cmds.el (tramp-cleanup-dired-buffer-p)
(tramp-delete-tainted-remote-process-buffer-function):
Declare `tramp-suppress-trace' property.

* lisp/net/tramp-compat.el (tramp-loaddefs): Require.
(tramp-error): Declare.

* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler): Fix typo.

* lisp/net/tramp-integration.el (tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay-regexp)
(tramp-rfn-eshadow-update-overlay): Declare `tramp-suppress-trace'
property.

* lisp/net/tramp-message.el (tramp-compat): Require (instead of
tramp-loaddefs.el).
(tramp-compat-string-replace, tramp-compat-temporary-file-directory):
Don't declare.
(tramp-byte-run--set-suppress-trace): Move to tramp.el.
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p, tramp-message)
(tramp-debug-button-action, tramp-debug-link-messages)
(tramp-debug-message-buttonize): Declare `tramp-suppress-trace' property.

* lisp/net/tramp.el (tramp-byte-run--set-suppress-trace):
New defun, moved from tramp-message.el.
(tramp-file-name-unify, tramp-file-name-equal-p)
(tramp-tramp-file-p, tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name, tramp-buffer-name)
(tramp-delete-temp-file-function, tramp-time-diff):
Declare `tramp-suppress-trace' property.

16 months ago; * lisp/emacs-lisp/package.el: doc string copy-edit
Mattias Engdegård [Tue, 1 Aug 2023 17:25:39 +0000 (19:25 +0200)]
; * lisp/emacs-lisp/package.el: doc string copy-edit

16 months agoUpdate Android port
Po Lu [Tue, 1 Aug 2023 13:06:06 +0000 (21:06 +0800)]
Update Android port

* doc/emacs/android.texi (Android File System): Describe how to
access real files named /assets or /contents if so required.
* java/org/gnu/emacs/EmacsService.java (validAuthority):
* src/android.c (android_init_emacs_service):
* src/android.h: New function.
* src/androidvfs.c (android_saf_valid_authority_p): New
function.  Wrap the Java function.
(android_saf_root_stat, android_saf_root_access): Don't return
success if no authority by vp->authority's name exists.
(android_saf_tree_from_name): Check validity of string data
before giving it to JNI.

16 months agoAdd tresitter modes to ibuffer-saved-filters
Stefan Kangas [Tue, 1 Aug 2023 12:34:09 +0000 (14:34 +0200)]
Add tresitter modes to ibuffer-saved-filters

* lisp/ibuf-ext.el (ibuffer-saved-filters): Add tresitter modes.

16 months agoAdd align tests for CSS
Stefan Kangas [Tue, 1 Aug 2023 12:26:51 +0000 (14:26 +0200)]
Add align tests for CSS

* test/lisp/align-tests.el (align-css): New test.
* test/lisp/align-resources/css-mode.erts: New file.

16 months agoUse `M-x align` toml rule also for toml-ts-mode
Stefan Kangas [Tue, 1 Aug 2023 10:59:32 +0000 (12:59 +0200)]
Use `M-x align` toml rule also for toml-ts-mode

* lisp/align.el (align-rules-list): Add toml-ts-mode to TOML rule.

16 months agoMake toml-ts-mode-indent-offset into natnum
Stefan Kangas [Tue, 1 Aug 2023 10:58:06 +0000 (12:58 +0200)]
Make toml-ts-mode-indent-offset into natnum

* lisp/textmodes/toml-ts-mode.el (toml-ts-mode-indent-offset):
Make into natnum instead of integer.

16 months agoFix font locking of booleans in conf-toml-mode
Stefan Kangas [Tue, 1 Aug 2023 10:18:12 +0000 (12:18 +0200)]
Fix font locking of booleans in conf-toml-mode

* lisp/textmodes/conf-mode.el (conf-toml-mode): Do not use case
folding when font locking.
* test/lisp/textmodes/conf-mode-tests.el (conf-test-toml-mode):
Expand test.

16 months agoAdd `M-x align` support to conf-toml-mode
Stefan Kangas [Tue, 1 Aug 2023 08:38:45 +0000 (10:38 +0200)]
Add `M-x align` support to conf-toml-mode

* lisp/align.el (align-rules-list): Add rule for conf-toml-mode.
* test/lisp/align-resources/conf-toml-mode.erts: New file.
* test/lisp/align-tests.el (align-toml): New test.

16 months agoConvert align-tests to use erts
Stefan Kangas [Mon, 31 Jul 2023 11:13:33 +0000 (13:13 +0200)]
Convert align-tests to use erts

16 months agoFix vacuous conf-mode-test
Mattias Engdegård [Mon, 31 Jul 2023 16:52:49 +0000 (18:52 +0200)]
Fix vacuous conf-mode-test

* test/lisp/textmodes/conf-mode-tests.el (conf-test-javaprop-mode):
Attempt to give the test some meaning by repairing regexps,
and fixing it so that it passes.

16 months agoRemove IE9 support tag from HTML5 skeleton
Stefan Kangas [Tue, 1 Aug 2023 07:55:01 +0000 (09:55 +0200)]
Remove IE9 support tag from HTML5 skeleton

This is no longer recommended in 2023, and in any case seems like
overkill in an otherwise bare-bones HTML5 template.
Ref: https://stackoverflow.com/a/6771584

16 months agoMicro-optimize PUSHW/PUSHB
Po Lu [Tue, 1 Aug 2023 06:54:30 +0000 (14:54 +0800)]
Micro-optimize PUSHW/PUSHB

* src/sfnt.c (CHECK_STACK_AVAILABLE): New macro.
(PUSH):
(PUSH_UNCHECKED): Always define to unchecked versions,
even if TEST.
(PUSH2_UNCHECKED): New macro.
(NPUSHB):
(NPUSHW):
(PUSHB):
(PUSHW): Check the number of remaining stack elements
once.
(stack_overflow_test_args): Expect zero stack arguments.

16 months agoFix stipple support on PGTK
Po Lu [Tue, 1 Aug 2023 02:34:33 +0000 (10:34 +0800)]
Fix stipple support on PGTK

* src/image.c (image_create_pattern_from_pixbuf): Remove function.
(image_bitmap_to_cr_pattern): New function.
(image_create_bitmap_from_data):
(image_create_bitmap_from_file): Create patterns with the correct
mask values directly from bitmap data.  Also, don't rely on GDK
to read XPMs, as that format isn't supported anymore.
* src/pgtkterm.c (pgtk_bitmap_icon): Disable already nonfunctional
code.
(pgtk_display_x_warning): Wrap warning message.
* src/pgtkterm.h (struct pgtk_bitmap_record): Remove `img' field.
(bug#64969)

16 months ago; * src/android.c (ANDROID_THROW): Remove unused macro.
Po Lu [Tue, 1 Aug 2023 00:44:24 +0000 (08:44 +0800)]
; * src/android.c (ANDROID_THROW): Remove unused macro.

16 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 1 Aug 2023 00:31:14 +0000 (08:31 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

16 months agoOptimizations on Tramp symlink handling
Michael Albinus [Mon, 31 Jul 2023 17:40:11 +0000 (19:40 +0200)]
Optimizations on Tramp symlink handling

* lisp/net/tramp-sh.el (cl-seq): Require.
(tramp-perl-file-truename): Print also whether the file is a symlink.
(tramp-bundle-read-file-names): Rename from
`tramp-vc-registered-read-file-names'.  Print also the
`file-directory-p: value.
(tramp-sh-handle-make-symbolic-link): Combine two commands.  Use
`tramp-skeleton-make-symbolic-link'.
(tramp-sh-handle-file-truename): Read also "file-symlink-marker"
property.
(tramp-sh-handle-file-directory-p): Simplify if-let clause.
(tramp-sh-handle-file-name-all-completions): Simplify command.
(tramp-bundle-read-file-names): New defun.
(tramp-sh-handle-vc-registered, tramp-get-remote-path): Use it.
(tramp-open-shell): Flush "scripts" connection property.
(tramp-open-connection-setup-interactive-shell): Combine two commands.

* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Use `tramp-skeleton-make-symbolic-link'.

* lisp/net/tramp.el (tramp-skeleton-make-symbolic-link): Rename from
`tramp-skeleton-handle-make-symbolic-link'.
(tramp-handle-file-symlink-p): Check file property
"file-symlink-marker".

16 months agoDrop duplicate vietnamese-tcvn coding system
Ulrich Müller [Fri, 28 Jul 2023 21:04:43 +0000 (23:04 +0200)]
Drop duplicate vietnamese-tcvn coding system

* lisp/language/vietnamese.el (vietnamese-vscii): Update docstring.
(vietnamese-tcvn, tcvn, tcvn-5712): Make them aliases of
vietnamese-vscii.
("Vietnamese"): Drop vietnamese-tcvn from coding-system values.
Update docstring.

* etc/NEWS: Announce this change.

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:24 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

3560dfdb868 ; Fix backport of help-fns--analyze-function bug fix

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29

525d05c1b8a Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
29ef2157116 ; * lisp/textmodes/paragraphs.el: Remove leftover comment.
80c9f491fc8 Update to Org 9.6.7-5-gd1d0c3
735f3700f65 ; * src/character.c (Fstring_width): Fix last change.
bf83fdba9e3 ; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
1198cdb5567 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
ba60070b81c Backport: Fix some tree-sitter :match regexps
092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf9 Fix bug#64923
0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f89444 Fix function help for advised aliases (bug#64797)
71419a60c37 Avoid crashes due to invalid 'mode-line-format'
b2cb6e82160 ; Better documentation of HOME on MS-Windows
54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcde Avoid crashes under 'which-key-mode'
cb1f7db2490 ; Minor documentation fixes
4a687bcc20d Bump Emacs version

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
ba60070b81c Backport: Fix some tree-sitter :match regexps

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29

092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf9 Fix bug#64923

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f89444 Fix function help for advised aliases (bug#64797)
71419a60c37 Avoid crashes due to invalid 'mode-line-format'
b2cb6e82160 ; Better documentation of HOME on MS-Windows
54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcde Avoid crashes under 'which-key-mode'
cb1f7db2490 ; Minor documentation fixes
4a687bcc20d Bump Emacs version

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29

a9b28224af0 ; Last-minute changes befor releasing 29.1
7da1cee56b3 Update CMake support due to upstream changes (bug#64922)
c2d95dd00e6 Remove nullptr named node from c++-ts-mode (bug#64818)
4e977136d31 Make compat check also check typescript
906ecf442c4 ; * etc/HISTORY: Fix the 28.3 entry.

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

31cef9a4eac ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29

82d6bb66fea Update HISTORY and ChangeLog.4

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

7d1737071fb Bump Emacs version

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29

6b00e1a197d Update AUTHORS and ChangeLog.4

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

76a142e265d ; * etc/NEWS: Prepare for Emacs 29.1 release.

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
Merge from origin/emacs-29

ee20b50dfed ; * lisp/progmodes/typescript-ts-mode.el (treesit-query-c...
2215298d90b Update JSX support due to upstream changes (bug#64647)
235561a2ccc Update TSX support due to upstream changes (bug#64647)
12ab82d3b35 ; Fix customization form of 'bookmark-watch-bookmark-file'
d149a4dc428 ; Improve documentation of automatic addition to minibuff...
42a99627948 ; Improve documentation of 'last-command-event'
101455cb853 ; * lisp/subr.el (ignore, always): Doc fixes.  (Bug#64776)

16 months ago; Merge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

6152a411905 Unbreak build with CHECK_STRUCTS.

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
Merge from origin/emacs-29

c692bbc6596 Revert "Improve commentary in nsfns.m"
bb885928d73 Fix NetBSD build --with-sound
39873d6d5d1 Fix typo in pre-filter for underline property

16 months ago; Fix backport of help-fns--analyze-function bug fix
Mattias Engdegård [Mon, 31 Jul 2023 14:14:07 +0000 (16:14 +0200)]
; Fix backport of help-fns--analyze-function bug fix

* lisp/help-fns.el (help-fns--analyze-function):
Add back the NOERROR argument to function-alias-p, needed because
Emacs 29 doesn't prevent the creation of circular function aliases.
This fixes a failure in help-fns-tests.

16 months agoUpdate Android port
Po Lu [Mon, 31 Jul 2023 12:33:27 +0000 (20:33 +0800)]
Update Android port

* src/sfnt.c (ISECT): Micro-optimize this instruction.
* src/sfntfont.c (sfnt_parse_style): Avoid GC safety problem.

16 months agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Mon, 31 Jul 2023 11:42:27 +0000 (14:42 +0300)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29

16 months ago; * lisp/textmodes/paragraphs.el: Remove leftover comment.
Eshel Yaron [Sun, 30 Jul 2023 08:22:26 +0000 (11:22 +0300)]
; * lisp/textmodes/paragraphs.el: Remove leftover comment.

* lisp/textmodes/paragraphs.el: Remove a comment referring to code
that was removed in cf605d5.  (Bug#64947)

16 months ago; Update Android port
Po Lu [Mon, 31 Jul 2023 09:59:26 +0000 (17:59 +0800)]
; Update Android port

* src/sfntfont.c (sfnt_parse_style): Fix misworded commentary.

16 months agoInitialize Android API level earlier
Po Lu [Mon, 31 Jul 2023 06:18:12 +0000 (14:18 +0800)]
Initialize Android API level earlier

* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* java/org/gnu/emacs/EmacsNoninteractive.java (main):
* java/org/gnu/emacs/EmacsService.java (run):
* java/org/gnu/emacs/EmacsThread.java (run):
* src/android.c (initEmacs, setEmacsParams): Set
`android_api_level' within setEmacsParams, not in initEmacs.
* src/androidvfs.c: Pacify compiler warnings.

16 months agoImplement cross-directory SAF rename operations
Po Lu [Mon, 31 Jul 2023 02:50:12 +0000 (10:50 +0800)]
Implement cross-directory SAF rename operations

* java/org/gnu/emacs/EmacsService.java (renameDocument): Don't
catch UnsupportedOperationException; handle ENOSYS in
android_saf_rename_document instead.
(moveDocument): New function.
* lisp/subr.el (y-or-n-p): Always change the text conversion
style.
* src/android.c (android_init_emacs_service)
(android_exception_check_4): New function.
* src/android.h: Update Java function table.
* src/androidvfs.c (android_saf_rename_document): Handle ENOSYS
here by setting errno to EXDEV.
(android_saf_move_document): New function.
(android_document_id_from_name): Take const `dir_name'.
(android_saf_tree_rename): Use delete-move-rename to implement
cross-directory renames.

16 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 31 Jul 2023 00:42:03 +0000 (08:42 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

16 months agoUpdate to Org 9.6.7-5-gd1d0c3
Kyle Meyer [Sun, 30 Jul 2023 20:52:11 +0000 (16:52 -0400)]
Update to Org 9.6.7-5-gd1d0c3

16 months ago; * src/character.c (Fstring_width): Fix last change.
Eli Zaretskii [Sun, 30 Jul 2023 19:09:05 +0000 (22:09 +0300)]
; * src/character.c (Fstring_width): Fix last change.

16 months ago; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
Eli Zaretskii [Sun, 30 Jul 2023 17:10:54 +0000 (20:10 +0300)]
; * src/character.c (Fstring_width, Fchar_width): Doc fixes.

16 months agoAvoid face attribute warnings in themes
Mattias Engdegård [Sun, 30 Jul 2023 16:42:13 +0000 (18:42 +0200)]
Avoid face attribute warnings in themes

* etc/themes/deeper-blue-theme.el (class):
* etc/themes/leuven-dark-theme.el (class):
* etc/themes/leuven-theme.el (class):
* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/whiteboard-theme.el (class):
Use `unspecified` instead of `nil` as attribute for :background and
:foreground to silence HANDLE_INVALID_NIL_VALUE warning.

16 months agoMerge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Sun, 30 Jul 2023 16:19:32 +0000 (12:19 -0400)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29

16 months agoFix rx wrong-code bug: ranges starting with ^
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^

(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.

* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.

(cherry picked from commit 5f5d668ac7917d61e9366fe0c3efd7b542671c3d)

16 months agoFix rx wrong-code bug: ranges starting with ^
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^

(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.

* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.

16 months agoBackport: Fix some tree-sitter :match regexps
Basil L. Contovounesios [Tue, 13 Jun 2023 12:53:31 +0000 (13:53 +0100)]
Backport: Fix some tree-sitter :match regexps

This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted.  This backport follows the Emacs 29.1
release (bug#64019).

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.

(cherry picked from commit cd8d3f3379ec7179fac4bb8e9c40658be15a64f6)

16 months ago; * admin/make-tarball.txt: Update based on latest experiences.
Eli Zaretskii [Sun, 30 Jul 2023 15:08:27 +0000 (18:08 +0300)]
; * admin/make-tarball.txt: Update based on latest experiences.

16 months ago; Fix admin/upload-manuals script
Eli Zaretskii [Sun, 30 Jul 2023 15:05:00 +0000 (11:05 -0400)]
; Fix admin/upload-manuals script

* admin/upload-manuals (html_mono): Chdir to the right directory
before committing.
(html_node): Avoid computing $stale in newly-created or empty
directories.

16 months ago; Fixh last change
Michael Albinus [Sun, 30 Jul 2023 14:53:37 +0000 (16:53 +0200)]
; Fixh last change

* lisp/net/tramp-message.el (tramp-file-name-host-port)
(tramp-file-name-user-domain): Declare.
(tramp-message): Remove declare form.  Add `tramp-suppress-trace'
function property.

* lisp/net/tramp.el (tramp-file-name-user-domain)
(tramp-file-name-host-port): Remove ;;;###tramp-autoload cookie.
(tramp-file-name-unify, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name): Remove declare form.  Add
`tramp-suppress-trace' function property.

16 months agoAllow default values in 'map-let' and the pcase 'map' form
Earl Hyatt [Fri, 21 Jul 2023 01:44:41 +0000 (21:44 -0400)]
Allow default values in 'map-let' and the pcase 'map' form

* lisp/emacs-lisp/map.el (map-let, map)
(map--make-pcase-bindings): Add a third argument for specifying a
default value, like in 'map-elt'. (Bug#49407)

* lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys
that aren't found aren't ignored, they actually get the value
nil (unless the new default value is given).  The overall pattern can
still fail to match if the sub-pattern for the unfound key doesn't
match nil.

* test/lisp/emacs-lisp/map-tests.el (test-map-let-default)
(test-map-plist-pcase-default, test-map-pcase-matches): Add tests,
including for the above item.

16 months agoFix bug#64923
Po Lu [Sun, 30 Jul 2023 13:18:54 +0000 (21:18 +0800)]
Fix bug#64923

* src/xfns.c (Fx_create_frame): Prevent cairo surface from being
left without a desired size.  (bug#64923)

16 months agoFinish Tramp reorganization
Michael Albinus [Sun, 30 Jul 2023 13:10:48 +0000 (15:10 +0200)]
Finish Tramp reorganization

* lisp/net/tramp-compat.el (subr-x): Don't require.
(top): Use `function-put' but `put'.

* lisp/net/tramp-gvfs.el (tramp-dbus-function): Add declare form.

* lisp/net/tramp-message.el (tramp-byte-run--set-suppress-trace):
New function.  Add it to `defun-declarations-alist'.
(tramp-setup-debug-buffer, tramp-debug-buffer-name)
(tramp-get-debug-buffer, tramp-get-debug-file-name)
(tramp-trace-buffer-name, tramp-debug-message, tramp-message):
Add declare form.
(tramp-debug-buffer-name): Use `tramp-string-empty-or-nil-p'.
(tramp-test-message): New defun.

* lisp/net/tramp.el (top): Use `function-put' but `put'.
(tramp-file-name-user-domain, tramp-file-name-host-port)
(tramp-file-name-port-or-default, tramp-file-name-unify)
(tramp-dissect-file-name, tramp-ensure-dissected-file-name)
(tramp-dissect-hop-name, tramp-make-tramp-file-name)
(tramp-signal-hook-function, tramp-post-process-creation)
(tramp-read-passwd, tramp-read-passwd-without-cache)
(tramp-clear-passwd): Add declare form.
(tramp-string-empty-or-nil-p): Add ;;;###tramp-autoload cookie.
(tramp-test-message): Move to tramp-message.el.

16 months agoAvoid spurious whitespace in the modeline of emacsclient frames
Ulrich Müller [Fri, 28 Jul 2023 10:21:42 +0000 (12:21 +0200)]
Avoid spurious whitespace in the modeline of emacsclient frames

* lisp/bindings.el (mode-line-client): Compute 'help-echotext
property in advance.  (Bug#58183)

(cherry picked from commit 8c3338f6ba354218aee12c223d778be4180f892b)

16 months agoFix function help for advised aliases (bug#64797)
Mattias Engdegård [Thu, 27 Jul 2023 14:13:54 +0000 (16:13 +0200)]
Fix function help for advised aliases (bug#64797)

* lisp/help-fns.el (help-fns--analyze-function):
For aliases, use the base function name if at the end of the chain.
This fixes a regression introduced in d30fde6b0cc.

Reported by Michael Heerdegen.

(cherry picked from commit 024bd1f09099ae186442001a75e578638070e296)

16 months agoAvoid crashes due to invalid 'mode-line-format'
Eli Zaretskii [Thu, 27 Jul 2023 12:34:38 +0000 (15:34 +0300)]
Avoid crashes due to invalid 'mode-line-format'

* src/xdisp.c (display_mode_element, redisplay_window_error):
Don't take XCAR of what can be Qnil.  (Bug#64893)

(cherry picked from commit 7ea3f39deec3d54914077455e70605a14eb7d200)

16 months ago; Better documentation of HOME on MS-Windows
Eli Zaretskii [Thu, 27 Jul 2023 06:51:39 +0000 (09:51 +0300)]
; Better documentation of HOME on MS-Windows

* doc/emacs/custom.texi (Find Init): Add footnote about HOME on
MS-Windows.  (Bug#64871)

(cherry picked from commit d59630e591cd49780e6554d1025c1879bb89680b)

16 months ago; Clarify documentation of 'server-after-make-frame-hook'
Eli Zaretskii [Thu, 27 Jul 2023 06:37:03 +0000 (09:37 +0300)]
; Clarify documentation of 'server-after-make-frame-hook'

* doc/lispref/frames.texi (Creating Frames):
* lisp/server.el (server-after-make-frame-hook): Clarify
documentation of 'server-after-make-frame-hook'.  (Bug#64873)

(cherry picked from commit e650a14f64b9ebea69615c19ca4466c14af35857)

16 months agoAvoid crashes under 'which-key-mode'
Eli Zaretskii [Tue, 25 Jul 2023 17:38:01 +0000 (20:38 +0300)]
Avoid crashes under 'which-key-mode'

* src/keyboard.c (Fthis_single_command_keys): Don't allow calls to
Fvector with negative first argument.  (Bug#64857)

(cherry picked from commit 65834b8f8d53402517da7fe2446f5bac0aa30c39)

16 months ago; Minor documentation fixes
Eli Zaretskii [Tue, 25 Jul 2023 13:49:18 +0000 (16:49 +0300)]
; Minor documentation fixes

* src/character.c (Fstring_width): Doc fix.

* doc/emacs/trouble.texi (Understanding Bug Reporting): Fix typo
(bug#64854).

(cherry picked from commit f6e4e77d23d0be79be83ef41c3ea9acd5c983af2)

16 months agoBump Emacs version
Eli Zaretskii [Sun, 30 Jul 2023 07:08:27 +0000 (10:08 +0300)]
Bump Emacs version

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* etc/NEWS: Bump Emacs version to 29.1.50.

16 months ago; Last-minute changes befor releasing 29.1 emacs-29.1
Eli Zaretskii [Sun, 30 Jul 2023 06:11:49 +0000 (02:11 -0400)]
; Last-minute changes befor releasing 29.1

* ChangeLog.4:
* etc/HISTORY: Update.

16 months agoPartially implement rename operations on SAF files
Po Lu [Sun, 30 Jul 2023 05:39:27 +0000 (13:39 +0800)]
Partially implement rename operations on SAF files

* java/org/gnu/emacs/EmacsSafThread.java
(postInvalidateCacheDir):
* java/org/gnu/emacs/EmacsService.java (renameDocument): New
functions.
* src/android.c (android_init_emacs_service):
* src/android.h (struct android_emacs_service): Link to new JNI
function.
* src/androidvfs.c (android_saf_rename_document): New function.
(android_saf_tree_rename): Implement in terms of that function
if possible.

16 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 30 Jul 2023 00:15:26 +0000 (08:15 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

16 months agoUpdate CMake support due to upstream changes (bug#64922)
Vincenzo Pupillo [Sat, 29 Jul 2023 19:10:57 +0000 (21:10 +0200)]
Update CMake support due to upstream changes (bug#64922)

A recent change in tree-sitter-cmake grammar support for CMake (commit
fe9b5e0), now put arguments are wrapped in a new argument_list node.
To support the old and new version of the grammar, a new function was
added on which string syntax highlighting now depends.

* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-compatibility-fe9b5e0): Indent helper
function to handle different tree-sitter-cmake version.
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Use the new function to handle
the new argument_list node.

16 months ago; * lisp/format.el (format-alist): Update URL in comment.
Ulrich Müller [Sat, 29 Jul 2023 15:20:06 +0000 (17:20 +0200)]
; * lisp/format.el (format-alist): Update URL in comment.

16 months ago; Fix conversions in format.el (bug#64928)
Ulrich Müller [Sat, 29 Jul 2023 09:37:45 +0000 (11:37 +0200)]
; Fix conversions in format.el (bug#64928)

* lisp/format.el (format-alist): Fix duden and de646 conversions.

16 months agoCorrect directory permissions reported for VFS files
Po Lu [Sat, 29 Jul 2023 12:53:21 +0000 (20:53 +0800)]
Correct directory permissions reported for VFS files

* java/org/gnu/emacs/EmacsSafThread.java (statDocument1):
* src/androidvfs.c (android_afs_stat, android_content_stat)
(android_saf_root_stat): Report search permissions for files.

16 months ago; * lisp/jsonrpc.el (jsonrpc-error): Fix typo.
Michael Albinus [Sat, 29 Jul 2023 11:23:19 +0000 (13:23 +0200)]
; * lisp/jsonrpc.el (jsonrpc-error): Fix typo.

16 months agoReorganize Tramp's messages
Michael Albinus [Sat, 29 Jul 2023 11:11:01 +0000 (13:11 +0200)]
Reorganize Tramp's messages

* doc/misc/tramp.texi (Traces and Profiles): Use proper buffer
names.  Add tramp-debug-command-messages.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler):
Set `tramp-debug-message-fnh-function'.

* lisp/net/tramp.el (tramp-file-name-handler):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
Wrap code `with-tramp-debug-message'.

* lisp/net/tramp-message.el: New file.

* lisp/net/tramp.el (tramp-message): Require.
(tramp-verbose, tramp-debug-to-file, tramp-debug-buffer-name)
(tramp-debug-outline-regexp, tramp-debug-font-lock-keywords)
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p)
(tramp-setup-debug-buffer, tramp-get-debug-buffer)
(tramp-get-debug-file-name, tramp-trace-buffer-name)
(tramp-trace-functions, tramp-debug-message, tramp-message)
(tramp-backtrace, tramp-error, tramp-error-show-message-timeout)
(tramp-error-with-buffer, tramp-user-error)
(tramp-with-demoted-errors): Move to tramp-message.el.
(tramp-current-connection, tramp-file-name-user-domain)
(tramp-file-name-host-port): Add ;;;###tramp-autoload cookie.
(tramp-inhibit-progress-reporter): Move down.
(tramp-post-process-creation): Write debug message only when there
is a command.

* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Add ;;;###tramp-autoload cookie.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Don't bind `trace-buffer'.

16 months agoJsonrpc: fix error code in jsonrpc-error function (bug#64888)
João Távora [Sat, 29 Jul 2023 10:15:14 +0000 (11:15 +0100)]
Jsonrpc: fix error code in jsonrpc-error function (bug#64888)

* lisp/jsonrpc.el (jsonrpc-error): Fix error code.

16 months agoJsonrpc: fix default value of success-fn (bug#64919)
João Távora [Sat, 29 Jul 2023 10:08:51 +0000 (11:08 +0100)]
Jsonrpc: fix default value of success-fn (bug#64919)

* lisp/jsonrpc.el (jsonrpc--async-request-1): Fix default value of
success-fn.

16 months ago; Update Android port
Po Lu [Sat, 29 Jul 2023 10:00:09 +0000 (18:00 +0800)]
; Update Android port

* src/androidvfs.c: Improve commentary.

16 months agoUpdate Android port
Po Lu [Sat, 29 Jul 2023 07:57:44 +0000 (15:57 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSafThread.java (postInvalidateCache):
New argument cacheName.  Remove that file from the cache.
(accessDocument1): Consult the storage cache as well.
* java/org/gnu/emacs/EmacsService.java (deleteDocument): New
argument NAME.

* src/android.c (android_init_emacs_service): Add new argument.
* src/androidvfs.c (android_saf_delete_document)
(android_saf_tree_rmdir, android_saf_file_unlink): Pass name of
file being deleted to `deleteDocument'.

16 months ago; Update Android port
Po Lu [Sat, 29 Jul 2023 04:50:06 +0000 (12:50 +0800)]
; Update Android port

* src/androidvfs.c (android_saf_exception_check): Describe
exceptions earlier.

16 months agoUpdate Android port
Po Lu [Sat, 29 Jul 2023 04:49:36 +0000 (12:49 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSafThread.java (DocIdEntry):
(getCacheEntry):
(CacheEntry):
(documentIdFromName1): Fix earlier change.

16 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 29 Jul 2023 03:29:42 +0000 (11:29 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

16 months agoUpdate Android port
Po Lu [Sat, 29 Jul 2023 03:29:25 +0000 (11:29 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSafThread.java (DocIdEntry)
(getCacheEntry, CacheEntry): Use `uptimeMillis' as the basis for
cache expiration.

16 months agoUpdate Android port
Po Lu [Sat, 29 Jul 2023 03:24:07 +0000 (11:24 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSafThread.java (EmacsSafThread, getCache)
(pruneCache1, pruneCache, cacheChild, cacheDirectoryFromCursor)
(documentIdFromName1, openDocumentDirectory1): Implement the
cache referred to by the commentary.
* java/org/gnu/emacs/EmacsService.java (deleteDocument):
Invalidate the cache upon document removal.
* src/androidvfs.c (android_saf_exception_check)
(android_document_id_from_name): Correctly preserve or set errno
in error cases.

16 months agoSimplify multi-frame behavior in erc-bufbar-mode
F. Jason Park [Mon, 24 Jul 2023 06:09:42 +0000 (23:09 -0700)]
Simplify multi-frame behavior in erc-bufbar-mode

* lisp/erc/erc-status-sidebar.el (erc-status-sidebar-singular,
erc-status-sidebar--singular-p): Replace option new in ERC 5.6 with
the latter, an internal flag.
(erc-status-sidebar-get-window): Use new name for option turned
ordinary variable `erc-status-sidebar--singular-p'.
(erc-status-sidebar-close): Add comment.
(erc-status-sidebar--open): New function containing the old body of
`erc-status-sidebar-open'.
(erc-bufbar-mode, erc-bufbar-enable, erc-bufbar-disable): Update
variable names.  Close sidebar window on all frames when disabling,
and don't set mode variable to nil when enabling.  These may have made
some practical sense but were illogical.  For example, it's confusing
to leave `erc-status-sidebar--open' in `erc--setup-buffer-hook' while
reporting the mode as being disabled.
(erc-status-sidebar-open): Move to slightly later in same file, after
defining `erc-bufbar-mode'.  When `erc-bufbar-mode' is active, always
create a sidebar if needed, even when another frame is already
displaying one.
(erc-status-toggle-sidebar): When `erc-bufbar-mode' is disabled,
revert to pre-5.6 behavior.  When the module is enabled, adopt new
behavior of ensuring the current frame shows a sidebar, even if
another frame already has one.
(erc-status-sidebar-refresh): Save and restore `window-start' in all
windows showing a sidebar buffer after refreshing.  Update option and
variable names.
(erc-status-sidebar-refresh-triggers): Add doc string, noting that the
variable is set locally when the option
`erc-status-sidebar-highlight-active-buffer' is non-nil.
(erc-status-sidebar--highlight-refresh-triggers): New variable
containing additional triggers enabled when the option
`erc-status-highlight-active-buffer' is non-nil.
(erc-status-sidebar--refresh-unless-input): New function to run
`erc-status-sidebar-refresh' unless input is pending or the selected
window's buffer is a minibuffer.
(erc-status-sidebar--post-refresh): Call `erc-status-sidebar-refresh'
wrapper `erc-status-sidebar--refresh-unless-input' instead.
(erc-status-sidebar-set-window-preserve-size): Update var name to
`erc-status-sidebar--singular-p'.
(erc-status-sidebar-mode): Run `erc-status-sidebar--post-refresh' on
`window-selection-change-functions' globally when highlighting active
buffers.  (bug#63595)