Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29
82d6bb66fea Update HISTORY and ChangeLog.4
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
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29
6b00e1a197d Update AUTHORS and ChangeLog.4
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.
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)
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.
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
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.
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.
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.
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.
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.
Ulrich Müller [Sat, 29 Jul 2023 15:20:06 +0000 (17:20 +0200)]
; * lisp/format.el (format-alist): Update URL in comment.
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.
Michael Albinus [Sat, 29 Jul 2023 11:23:19 +0000 (13:23 +0200)]
; * lisp/jsonrpc.el (jsonrpc-error): Fix typo.
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'.
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.
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.
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)
F. Jason Park [Sun, 23 Jul 2023 12:05:13 +0000 (05:05 -0700)]
; Add example buffer-display option to ERC's manual
* doc/misc/erc.texi: Add customization for `erc-interactive-display'
to Sample Configuration section.
* etc/ERC-NEWS: Improve various entries, like those for
`keep-place-indicator', `fill-wrap', `bufbar', etc.
F. Jason Park [Sat, 22 Jul 2023 21:07:38 +0000 (14:07 -0700)]
Fix CTCP ACTION regression in erc-fill-wrap
* lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Return
nil when current message is a CTCP ACTION. This fixes a regression
introduced by
63d8b2a59a4 "Make erc-fill-wrap work with left-sided
stamps".
* test/lisp/erc/erc-fill-tests.el: (erc-fill-wrap--merge-action):
New test.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: New
test data file. (Bug#60936)
Basil L. Contovounesios [Fri, 28 Jul 2023 16:35:20 +0000 (18:35 +0200)]
; Avoid recent tar-mode.el constant mutation
* lisp/tar-mode.el (tar-attr-vector): Initialize with fresh vector
to avoid constant vector mutation (bug#64686).
(tar-parse-pax-extended-header): Use fillarray.
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)
Tassilo Horn [Fri, 28 Jul 2023 10:26:49 +0000 (12:26 +0200)]
Make shell command status code checks more robust
* lisp/doc-view.el (doc-view-ghostscript-program)
(doc-view--revert-buffer, doc-view--pdf-outline): Compare
'shell-command' / 'call-process' return values with 'eql' instead of
'=' to cater for the situation where the process received a signal.
Mattias Engdegård [Fri, 28 Jul 2023 09:14:01 +0000 (11:14 +0200)]
Clarify docs about regexp syntax-dependent character classes
* doc/lispref/searching.texi (Char Classes, Rx Constructs)
(Regexp Problems): Note that character classes don't take syntax
properties into account.
Mattias Engdegård [Fri, 28 Jul 2023 09:12:09 +0000 (11:12 +0200)]
Make uniquify-tests work with out-of-tree builds and clean up
* test/lisp/uniquify-tests.el (uniquify-project-transform):
Set an explicit default-directory.
* test/lisp/uniquify-tests.el (uniquify-dirs): Remove temporary
directory after test.
Manuel Giraud [Thu, 27 Jul 2023 21:26:30 +0000 (23:26 +0200)]
Fix image-dired-utils-tests after
83b6a8a5147 (bug#61394)
Eli Zaretskii [Fri, 28 Jul 2023 06:31:25 +0000 (09:31 +0300)]
Fix userlock.el and filelock-tests in some rare cases
* lisp/userlock.el (userlock--check-content-unchanged): Don't
assume 'file-truename' of FILENAME is always non-nil. It could be
nil if we are called from a temporary buffer where some Lisp
program has forcibly set 'buffer-file-name'. (Bug#64821)
* test/src/filelock-tests.el (filelock-tests--fixture): Set
'buffer-file-name' to the true name of the temporary file.
Patch by Mattias Engdegård <mattias.engdegard@gmail.com>.
(filelock-tests-detect-external-change): Quote the file names
passed to shell commands.
Tassilo Horn [Fri, 28 Jul 2023 05:07:45 +0000 (07:07 +0200)]
; Make doc-viev-imenu-enabled default value a boolean again
Eli Zaretskii [Thu, 27 Jul 2023 16:09:33 +0000 (19:09 +0300)]
; * lisp/tar-mode.el (tar-header-block-tokenize): Fix logic (bug#64686).
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.
Mattias Engdegård [Thu, 27 Jul 2023 07:55:43 +0000 (09:55 +0200)]
* lisp/emacs-lisp/byte-opt.el (byte-compile-trueconstp): Extend
Add skip-chars-forward, skip-chars-backward, skip-syntax-forward,
skip-syntax-backward, current-column, current-indentation,
char-syntax, syntax-class-to-char, parse-partial-sexp, goto-char,
forward-line, next-window, previous-window, minibuffer-window,
selected-frame, selected-window, standard-case-table,
standard-syntax-table, syntax-table, frame-first-window,
frame-root-window and frame-selected-window as always-true functions.
Mattias Engdegård [Thu, 27 Jul 2023 09:51:26 +0000 (11:51 +0200)]
Better compilation of char-before, backward-char and backward-word
Implement char-before, backward-char and backward-word as compiler
macros instead of byte-compile handlers so that the source-level
optimiser gets to simplify the result. In particular, this removes
some branches.
* lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
(byte-compile-backward-char, byte-compile-backward-word): Remove.
(bytecomp--char-before, bytecomp--backward-char)
(bytecomp--backward-word): New.
Michael Albinus [Thu, 27 Jul 2023 14:52:38 +0000 (16:52 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Andrew Tropin [Thu, 27 Jul 2023 14:43:17 +0000 (16:43 +0200)]
notifications: Allow to use Icon Naming Specification for app-icon
* doc/lispref/os.texi (Desktop Notifications): Extend meaning of
:app-icon.
* etc/NEWS: Allow to use Icon Naming Specification for app-icon in
notifications-notify.
* lisp/notifications.el (notifications-notify): Allow to use Icon
Naming Specification for app-icon.
Manuel Giraud [Sat, 25 Feb 2023 18:27:07 +0000 (19:27 +0100)]
New option 'image-dired-thumb-naming' (bug#61394)
* lisp/image/image-dired.el (image-dired-thumb-naming): New user
option to control thumbnail name.
* lisp/image/image-dired-util.el (image-dired-thumb-name): Update
to use new user option and compute contents SHA-1 if needed.
(image-dired-contents-sha1): New function to compute the SHA-1 of the
first 4KiB of a file.
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)
Michael Albinus [Thu, 27 Jul 2023 11:36:48 +0000 (13:36 +0200)]
Fix problem with null-device in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
`null-device' could be nil. Reported by Richard Copley
<rcopley@gmail.com>.
Eli Zaretskii [Thu, 27 Jul 2023 08:36:00 +0000 (11:36 +0300)]
Support Posix-standard pax extended header in tar files
* lisp/tar-mode.el (pax-extended-attribute-record-regexp)
(tar-attr-vector): New variables.
(pax-gid-index, pax-gname-index, pax-linkpath-index)
(pax-mtime-index, pax-path-index, pax-size-index, pax-uid-index)
(pax-uname-index): New constants.
(pax-header-gid, pax-header-gname, pax-header-linkpath)
(pax-header-mtime, pax-header-path, pax-header-size)
(pax-header-uid, pax-header-uname): New accessors to pax header.
(pax-decode-string, tar-parse-pax-extended-header): New functions.
(tar-header-block-tokenize): Recognize and handle Posix-standard
pax extended header, and use its attributes instead of those in
the standard tar header. (Bug#64686)
Michael Albinus [Thu, 27 Jul 2023 07:30:41 +0000 (09:30 +0200)]
Fix Tramp error on macOS
* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
Don't use an absolute ControlPath on macOS. (Bug#64880)
Eli Zaretskii [Thu, 27 Jul 2023 07:28:43 +0000 (10:28 +0300)]
Fix image-dired-util-tests on MS-Windows
* test/lisp/image/image-dired-util-tests.el
(image-dired-thumb-name/image-dired)
(image-dired-thumb-name/per-directory): Make these tests work on
MS-Windows, where a file name such as "/foo/bar" gets added the
drive letter when passed through 'expand-file-name'.
Eli Zaretskii [Thu, 27 Jul 2023 07:01:25 +0000 (10:01 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
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)
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)
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)
Mattias Engdegård [Wed, 26 Jul 2023 16:39:36 +0000 (18:39 +0200)]
Fix broken byte-compilation of unary comparisons
* lisp/emacs-lisp/byte-opt.el (byte-opt--nary-comparison):
Fix a typo causing miscompilation of code such as (OP X),
where OP is <, >, <=, >= or =.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--test-cases): Add test case.
Reported by Richard Copley.
Mattias Engdegård [Tue, 25 Jul 2023 10:52:29 +0000 (12:52 +0200)]
* lisp/emacs-lisp/byte-opt.el (pure-fns): Add `max-char`
Mattias Engdegård [Tue, 25 Jul 2023 10:16:30 +0000 (12:16 +0200)]
Provide backtrace for byte-ops aref and aset
Produce synthetic backtrace entries for `aref` and `aset` byte-ops
when the index is non-fixnum, or is out of range for vector or record
arguments (bug#64613).
* src/bytecode.c (exec_byte_code): Detect type and range errors
in-line for aref and aset.
* src/data.c (syms_of_data): Declare symbols Qaref and Qaset.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--byte-op-error-cases): Add test cases.
Mattias Engdegård [Tue, 25 Jul 2023 10:15:00 +0000 (12:15 +0200)]
; bytecode backtrace test clean-up
Eli Zaretskii [Wed, 26 Jul 2023 15:11:49 +0000 (18:11 +0300)]
; Documentation followup to last change
* lisp/progmodes/project.el (project-uniquify-dirname-transform):
* lisp/uniquify.el (uniquify-dirname-transform): Doc fixes.
* etc/NEWS: Announce the change.
Spencer Baugh [Mon, 10 Jul 2023 02:21:03 +0000 (22:21 -0400)]
Support transforming the dirname used by uniquify
By transforming the buffer's directory name, we can add
additional information to use during uniquifying. A basic
one: uniquifying buffer names based on the project name.
* lisp/progmodes/project.el (project-uniquify-dirname-transform): Add.
* lisp/uniquify.el (uniquify-dirname-transform-default)
(uniquify-dirname-transform): Add. (Bug#62621)
(uniquify-rationalize-file-buffer-names, uniquify-buffer-file-name):
Use 'uniquify-dirname-transform'.
* test/lisp/uniquify-tests.el (uniquify-home)
(uniquify-project-transform): Add tests.
Eli Zaretskii [Wed, 26 Jul 2023 14:30:21 +0000 (17:30 +0300)]
Fix "M-x man RET [ RET"
* lisp/man.el (Man-completion-table): Quote special characters
before passing them to the shell.
(Man-name-regexp): Allow '@' and '[' in man-page names. (Bug#64795)
Neal Sidhwaney [Sun, 23 Jul 2023 23:25:51 +0000 (19:25 -0400)]
Add 'define-error' to font lock keywords for emacs-lisp-mode
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Add 'define-error'.
(Bug#64824)
* test/lisp/emacs-lisp/lisp-mode-tests.el
(test-font-lock-keywords): New test.
Copyright-paperwork-exempt: yes
Brian Leung [Mon, 24 Jul 2023 11:32:19 +0000 (04:32 -0700)]
lisp-mode.el: Add defvar-keymap to lisp-imenu-generic-expression
* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
Add defvar-keymap. We do not ignore (defvar-keymap FOO)
constructs in imenu as we do with (defvar FOO) since the former
constructs are generally not vacuous whereas the latter ones
often are. (Bug#64831)
Laurence Warne [Sat, 22 Jul 2023 19:47:21 +0000 (20:47 +0100)]
Fix unstable Proced refine tests
* test/lisp/proced-tests.el (proced-refine-test)
(proced-refine-with-update-test): Also check if the parent
process id of each process matches the process id refined
on before failing, since the refiner for process id returns
the children of a process in addition to the process itself.
(Bug#64800)
Valtteri Vuorikoski [Sat, 22 Jul 2023 17:08:42 +0000 (20:08 +0300)]
Fix build --with-sound on NetBSD and OpenBSD
* configure.ac: Use ossaudio by default on *BSD systems.
(Bug#64698)
* etc/NEWS: Announce the change.
Harald Jörg [Wed, 26 Jul 2023 07:55:34 +0000 (09:55 +0200)]
cperl-mode.el: Bring cperl-short-docs up to Perl 5.38.
* lisp/progmodes/cperl-mode.el (imenu-max-items): declare the
variable to silence an elint warning.
(cperl-short-docs): Reorder function description to match Perl's
perlfunc documentation. Add missing shortdocs from perlfunc.
Delete entries for operators which don't exist any more (EQ, NE
and friends). Shorten docstring lines to 80 chars or less.
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)
Eli Zaretskii [Tue, 25 Jul 2023 14:51:58 +0000 (17:51 +0300)]
Don't suggest to revert buffer from non-existing file
* lisp/files-x.el (modify-file-local-variable-message): Suggest to
revert from the buffer's file only if that file exists; otherwise
suggest 'normal-mode'. (Bug#64844)
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).
Eli Zaretskii [Mon, 24 Jul 2023 15:08:40 +0000 (18:08 +0300)]
Don't signal error when locking a file from non file-visiting buffer
* lisp/userlock.el (userlock--check-content-unchanged): Support
the case where a file is locked before being written to from a
non file-visiting buffer. (Bug#64821)
Eli Zaretskii [Sun, 23 Jul 2023 18:49:18 +0000 (14:49 -0400)]
; * src/xdisp.c (mark_window_display_accurate_1): Avoid more aborts.
Eli Zaretskii [Sun, 23 Jul 2023 17:44:40 +0000 (13:44 -0400)]
Fix rare aborts in CHECK_WINDOW_END
Those aborts happen because a window's window_end_vpos value
is inconsistent with the current matrix's number of rows, which
happens after resizing the mini-window.
* src/xdisp.c (mark_window_display_accurate_1): Don't validate the
window_end_valid flag if window_end_vpos is inconsistent with the
current_matrix's number of rows. This happens, e.g., when
Edebug wants to show a value in the mini-window that causes it to
resize, as the window above the mini-window was usually already
redisplayed, and we think its display is accurate.
Eli Zaretskii [Sun, 23 Jul 2023 07:54:44 +0000 (03:54 -0400)]
Update HISTORY and ChangeLog.4
* etc/HISTORY:
* ChangeLog.4: Update for the Emacs 29.1 release.
Eli Zaretskii [Sun, 23 Jul 2023 07:40:46 +0000 (03:40 -0400)]
Bump Emacs version
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 29.1.
Basil L. Contovounesios [Sun, 23 Jul 2023 07:39:17 +0000 (08:39 +0100)]
; * src/pdumper.c (dump_overlay): Update hash.
This follows commit
7ac947f34c745c61f8acc1fe2452a2c720d57a0d
of 2023-07-13 "; * src/lisp.h (struct Lisp_Overlay): Update
commentary (bug#64580)."
Eli Zaretskii [Sun, 23 Jul 2023 07:36:32 +0000 (03:36 -0400)]
Update AUTHORS and ChangeLog.4
* ChangeLog.4:
* etc/AUTHORS: Update for Emacs 29.1 release.
Eli Zaretskii [Sun, 23 Jul 2023 07:16:35 +0000 (03:16 -0400)]
; * etc/NEWS: Prepare for Emacs 29.1 release.
Do not merge to master.
Laurence Warne [Sat, 22 Jul 2023 13:35:15 +0000 (14:35 +0100)]
Fix Proced Start column alignment for different locales
* lisp/proced.el (proced-grammar-alist): Change the justify
value of the start attribute to 'left' instead of a fixed
value of 6. (Bug#64752)
(proced-format-start): Adjust the doc string.
Eli Zaretskii [Sun, 23 Jul 2023 05:16:14 +0000 (08:16 +0300)]
; * lisp/progmodes/typescript-ts-mode.el (treesit-query-capture): Declare.
Stefan Monnier [Sat, 22 Jul 2023 21:20:51 +0000 (17:20 -0400)]
* src/eval.c (get_backtrace): Don't skip the top frame
`profiler.el` was reporting incomplete backtraces.
I had a suspicion there was something off, but it became obvious
when I saw that `set-buffer-multibyte` did not appear in the
`profiler-report` output when opening a large compressed tarball,
even though I knew it to be a large contributor (which `elp-results`
confirmed).
I have no idea why this `backtrace_next` was there, sadly, but now
`profiler-report` gives me results that make a lot more sense.
Vincenzo Pupillo [Sat, 22 Jul 2023 11:38:48 +0000 (13:38 +0200)]
Update JSX support due to upstream changes (bug#64647)
A recent change in tree-sitter-javascript grammar support for
JSX (commit
bb1f97b), changed two things:
1. renamed nested_identifier to member_expression
2. removed jsx_fragment, jsx_text is used instead
* lisp/progmodes/js.el (js-jsx--treesit-indent-compatibility-
bb1f97b):
Indent helper function to handle different tree-sitter-javascript
version.
* lisp/progmodes/js.el (js--treesit-indent-rules): Use the new
function to handle both jsx_fragment and jsx_text.
* lisp/progmodes/js.el (js-jsx--treesit-font-lock-compatibility-
bb1f97b):
Font lock helper function for handle different tree-sitter-javascript
version.
* lisp/progmodes/js.el (js--treesit-font-lock-settings): Use the new
function to handle both nested_identifier and member_expression.
Vincenzo Pupillo [Sat, 22 Jul 2023 11:37:54 +0000 (13:37 +0200)]
Update TSX support due to upstream changes (bug#64647)
A recent change in tree-sitter-typescript grammar support for
TSX (commit
b893426), changed two things:
1. renamed nested_identifier to member_expression
2. removed jsx_fragment, jsx_text is used instead
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--indent-compatibility-
b893426): Indent helper function
to handle different tree-sitter-typescript version.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): use the new function to handle
both jsx_fragment and jsx_text.
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--font-lock-compatibility-
bb1f97b): Font lock helper
function for handle different tree-sitter-typescript version.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Use the new function to
handle both nested_identifier and member_expression.
Mattias Engdegård [Sat, 22 Jul 2023 15:26:11 +0000 (17:26 +0200)]
Fix regexp character class syntax property ghost matching bug
The syntax-table-dependent regexp character classes [:space:],
[:word:] and [:punct:] always use the buffer-local syntax table for
performance reasons. Fix a bug that could cause ghost (mis)matches
from use of lingering state by constructs that do use syntax
properties, such as `\sX`.
* src/regex-emacs.c (BUFFER_SYNTAX): New macro.
(ISPUNCT, ISSPACE, ISWORD): Use BUFFER_SYNTAX instead of SYNTAX.
(regex_compile): Delete syntax table setup code that is no longer
needed.
* test/src/regex-emacs-tests.el (regex-emacs-syntax-properties):
New regression test.
Eli Zaretskii [Sat, 22 Jul 2023 15:50:26 +0000 (18:50 +0300)]
; Fix documentation of last change.
* src/xdisp.c (syms_of_xdisp):
* src/dispnew.c (syms_of_display):
* doc/lispref/commands.texi (Accessing Mouse): Fix documentation
of last change.
Moritz Maxeiner [Sat, 22 Jul 2023 14:55:07 +0000 (16:55 +0200)]
* etc/NEWS: Announce the new option 'mouse-prefer-closest-glyph'.
Moritz Maxeiner [Sat, 22 Jul 2023 14:55:07 +0000 (16:55 +0200)]
Implement new option 'mouse-prefer-closest-glyph'
* src/dispnew.c (mouse_prefer_closest_glyph): New global
variable.
(buffer_posn_from_coords):
* src/xdisp.c (remember_mouse_glyph): Respect
'mouse_prefer_closest_glyph'.
(mouse_fine_grained_tracking): Update documentation to
include 'mouse_prefer_closest_glyph' effects.
* doc/lispref/commands.texi (Accessing Mouse): Update
documentation to say what the new option does when enabled.
* lisp/cus-start.el (standard): New user option
'mouse-prefer-closest-glyph'.
F. Jason Park [Sat, 15 Jul 2023 04:08:31 +0000 (21:08 -0700)]
Improve ERC's internal invisibility API
* etc/ERC-NEWS: Mention that line endings have moved from the end to
the beginning of hidden messages.
* lisp/erc/erc-fill.el (erc-fill--wrap-ensure-dependencies): Warn when
users have `erc-legacy-invisible-bounds-p' enabled, and force it to
its default value of nil in the current buffer.
(erc-fill-wrap-mode, erc-fill-wrap-enable): Move business involving
compat variable for enabling legacy hidden-message behavior to helper.
* lisp/erc/erc-match.el (erc-match--hide-fools-offset-bounds): Move
internal variable from to main library file and rename to
`erc-legacy-invisible-bounds-p'. Also make obsolete and flip
semantics so a non-nil value enables the traditional behavior.
(erc-match--hide-message): Move to main library file and rename to
`erc--hide-message'. Add a property-value parameter instead of
hard-coding to `erc-match'. Also, condition behavior on renamed
compatibility flag `erc-legacy-invisible-bounds-p'.
(erc-hide-fools): Call `erc--hide-message' with own value for
`invisible' property specifically for fools. That is, use
`match-fools' rather than `erc-match' or `erc-match-fools' to save
room when visually inspecting. This retains the module name as a
prefix to hopefully minimize collisions with invisibility spec members
owned by non-ERC minor modes. The `timestamp' spec member owned by
erc-stamp likewise lacks a namespace prefix, but its feature/group
affiliation is self-evident.
(erc-match--modify-invisibility-spec): Use toggle command
non-interactively for adding and removing invisibility spec member.
(erc-match-toggle-hidden-fools): Add explicit override argument and
defer to general helper for actually modifying spec.
(erc-match--toggle-hidden): New helper for toggling invisibility
spec.
* lisp/erc/erc.el (erc--merge-prop): If new value is a list, prepend
onto existing. Add note about possible space optimization.
(erc-legacy-invisible-bounds-p): New obsolete compat variable to
enable traditional pre-5.6 invisibility interval on hidden messages.
Replaces `erc-match--hide-fools-offset-bounds-p' but has an inverted
meaning. The new default value of nil means invisibility covers a
shifted interval consisting of the message body plus the line ending
immediately preceding it.
(erc--hide-message): New function, formerly `erc-match--hide-message'
from erc-match.el introduced in ERC 5.6.
* test/lisp/erc/erc-scenarios-match.el:
(erc-scenarios-match--invisible-stamp): Fix comment and use API
function in interactive convenience setup.
(erc-scenarios-match--find-bol): New test helper.
(erc-scenarios-match--find-eol): Fix bug affecting interactive use.
(erc-scenarios-match--stamp-left-fools-invisible,
erc-scenarios-match--stamp-right-fools-invisible,
erc-scenarios-match--stamp-right-invisible-fill-wrap,
erc-scenarios-match--stamp-both-invisible-fill-static): Update
`invisible' property from `erc-match' to `match-fools'.
(erc-scenarios-match--stamp-right-fools-invisible,
erc-scenarios-match--stamp-both-invisible-fill-static): Move test
body to function of same name for use in multiple cases.
(erc-scenarios-match--stamp-right-fools-invisible--nooffset,
erc-scenarios-match--stamp-both-invisible-fill-static--nooffset): New
test variants asserting proper hiding with old pre-5.6 invisibility
interval.
* test/lisp/erc/erc-tests.el (erc-tests--equal-including-properties):
Relocate macro higher in same file.
(erc--merge-prop): New test. (Bug#64301)
F. Jason Park [Fri, 14 Jul 2023 13:12:30 +0000 (06:12 -0700)]
Make erc-fill-wrap work with left-sided stamps
* etc/ERC-NEWS: Remove all mention of option `erc-timestamp-align-to'
supporting a value of `margin', which has been abandoned. Do mention
leading white space before stamps now having stamp-related properties.
* lisp/erc/erc-backend.el (erc--reveal-prompt, erc--conceal-prompt):
New generic functions with default implementations factored out from
`erc--unhide-prompt' and `erc--hide-prompt'.
(erc--prompt-hidden-p): New internal predicate function.
(erc--unhide-prompt): Defer to `erc--reveal-prompt', and set
`erc-prompt' text property to t.
(erc--hide-prompt): Defer to `erc--conceal-prompt', and set
`erc-prompt' text property to `hidden'.
* lisp/erc/erc-compat.el (erc-compat--29-browse-url-irc): Don't
use `function-equal'.
* lisp/erc/erc-fill.el (erc-fill-wrap-margin-width,
erc-fill-wrap-margin-side): New options to control side and initial
width of `fill-wrap' margin.
(erc-fill--wrap-beginning-of-line): Fix bug involving non-string
valued `display' props.
(erc-fill-wrap-toggle-truncate-lines): New command to re-enable
`visual-line-mode' when toggling off `truncate-lines'.
(erc-fill-wrap-mode-map): Remap `toggle-truncate-lines' to
`erc-fill-wrap-toggle-truncate-lines'.
(erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
Update doc string, persist a few local vars, and conditionally set
`erc-stamp--margin-left-p'. When deactivating, disable
`visual-line-mode' first.
(erc-fill--wrap-continued-message-p): Use `erc-speaker' instead of
heuristics when comparing nicks between consecutive messages.
(erc-fill-wrap-nudge): Update doc string and account for left-sided
stamps.
(erc-timestamp-offset): Add comment regarding conditional guard based
on function-valued option.
* lisp/erc/erc-stamp.el (erc-timestamp-use-align-to): Remove value
variant `margin', which was originally intended to be new in ERC 5.6.
This functionality was all but useless without the internal minor mode
`erc-stamp--display-margin-mode' active.
(erc-stamp-right-margin-width): Remove unused option new in 5.6.
(erc-stamp--display-margin-force): Remove unused function.
(erc-stamp--margin-width, erc-stamp--margin-left-p): New internal
variables.
(erc-stamp--init-margins-on-connect): New function for initializing
mode-managed margin after connecting.
(erc-stamp--adjust-right-margin, erc-stamp--adjust-margin): Rename
function to latter and accommodate left-hand stamps.
(erc-stamp--inherited-props): Move definition higher up in same file.
(erc-stamp--display-margin-mode): Update function name, and adjust
setup and teardown to accommodate left-handed stamps. Don't add
advice around `erc-insert-timestamp-function'.
(erc-stamp--last-prompt, erc-stamp--display-prompt-in-left-margin):
New function and helper var to convert a normal inserted prompt so
that it appears in the left margin.
(erc-stamp--refresh-left-margin-prompt): Helper for other modules to
quickly refresh prompt outside of insert hooks.
(erc--reveal-prompt, erc--conceal-prompt): New implementations for
when `erc-stamp--display-margin-mode' is active.
(erc-insert-timestamp-left): Convert to generic function and provide
implementation for `erc-stamp--display-margin-mode'.
(erc-stamp--omit-properties-on-folded-lines): New variable, an escape
hatch for propertizing white space before right-side stamps folded
over onto another line.
(erc-insert-timestamp-right): Don't expect `erc-timestamp-align-to' to
ever be the symbol `margin'. Move handling for that case to one
contingent on the internal minor mode `erc-stamp--display-margin-mode'
being active. Add text properties preceding stamps that occupy a line
by their lonesome. See related news entry for rationale. This is
arguably a breaking change.
* lisp/erc/erc.el (erc--refresh-prompt-hook): New hook variable for
modules to adjust prompt properties whenever it's refreshed.
(erc--refresh-prompt): Fix bug in which user-defined prompt functions
failed to hide when quitting in server buffers. Run new hook
`erc--refresh-prompt-hook'.
(erc-display-prompt): Add comment noting that the text property
`erc-prompt' now actually matters: it's t while a session is running
and `hidden' when disconnected.
* test/lisp/erc/erc-fill-tests.el (erc-fill--left-hand-stamps): New
test.
* test/lisp/erc/erc-stamp-tests.el
(erc-stamp-tests--use-align-to--nil,
erc-stamp-tests--use-align-to--t): New functions forged from old test
bodies to allow optionally asserting pre-5.6 behavior regarding
leading white space on right-hand stamps that exist on their own line.
(erc-timestamp-use-align-to--nil, erc-timestamp-use-align-to--t):
Parameterize with compatibility flag.
(erc-timestamp-use-align-to--margin,
erc-stamp--display-margin-mode--right): Rename test to latter.
* test/lisp/erc/erc-tests.el (erc-hide-prompt): Add some assertions
for new possible value of `erc-prompt' text property.
* test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: New test
data file. (Bug#60936)
Mauro Aranda [Sun, 16 Jul 2023 12:22:11 +0000 (09:22 -0300)]
Don't always toggle a choice when prompting
* lisp/wid-edit.el (widget-choice-prompt-value): Respect the value
of widget-choice-toggle. (Bug#60712)
Eli Zaretskii [Sat, 22 Jul 2023 12:56:50 +0000 (15:56 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Mauro Aranda [Sun, 16 Jul 2023 22:46:54 +0000 (19:46 -0300)]
Avoid prompting when creating a restricted-sexp widget
* lisp/wid-edit.el (restricted-sexp): Turn value into a
string before reading.
(widget-field-value-create): Guard against value being nil,
so the field can be created even if the widget has a bad
default value. (Bug#59937)
Eli Zaretskii [Sat, 22 Jul 2023 12:45:40 +0000 (15:45 +0300)]
; Fix customization form of 'bookmark-watch-bookmark-file'
* lisp/bookmark.el (bookmark-watch-bookmark-file): Fix the doc
string and the customization type. (Bug#64790)
João Távora [Sat, 22 Jul 2023 09:36:39 +0000 (10:36 +0100)]
; Eglot: adjust EGLOT-NEWS mention for last change
* etc/EGLOT-NEWS: Adjust.
João Távora [Sat, 22 Jul 2023 09:30:24 +0000 (10:30 +0100)]
Eglot: simplify and hopefully fix last change (bug#64784)
* lisp/progmodes/eglot.el (eglot--post-self-insert-hook): Use
last-command-event.
Michael Albinus [Sat, 22 Jul 2023 08:16:04 +0000 (10:16 +0200)]
Add inhibit-remote-files and without-remote-files
* doc/emacs/files.texi (Remote Files): Do not document tramp-mode
any longer. Describe inhibit-remote-files instead.
* doc/lispref/files.texi (Magic File Names): Add without-remote-files.
* doc/misc/tramp.texi (Frequently Asked Questions): Do not
document tramp-mode any longer. Describe inhibit-remote-files and
without-remote-files instead.
* etc/NEWS: Add inhibit-remote-files and without-remote-files.
Fix typos.
* lisp/net/tramp.el (inhibit-remote-files): New defun.
(without-remote-files): New defmacro.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test49-without-remote-files):
* test/lisp/net/tramp-tests.el (tramp-test49-without-remote-files):
New tests.
(tramp-test50-unload): Rename.
Eli Zaretskii [Sat, 22 Jul 2023 08:02:04 +0000 (11:02 +0300)]
; Improve documentation of automatic addition to minibuffer history
* doc/lispref/minibuf.texi (Minibuffer History)
(Minibuffer Commands, Text from Minibuffer)
(Minibuffer Completion): Document the behavior of 'M-n' and
"future history" when the value(s) in DEFAULT is/are exhausted.
(Bug#64656)
Philip Kaludercic [Sun, 16 Jul 2023 11:56:23 +0000 (13:56 +0200)]
Ensure 'existing-filename' has 'bounds-of-thing-at-point'
* lisp/thingatpt.el (existing-filename): Define
'bounds-of-thing-at-point' for 'existing-filename'. (Bug#64664)
Philip Kaludercic [Wed, 19 Jul 2023 19:14:40 +0000 (21:14 +0200)]
; Handle string-at-point at end of buffer gracefully
* lisp/thingatpt.el (thing-at-point-bounds-of-string-at-point): Check
if 'char-after' returns non-nil before passing it to
'char-syntax'. (Bug#64733)
Eli Zaretskii [Sat, 22 Jul 2023 06:34:15 +0000 (09:34 +0300)]
; Improve documentation of 'last-command-event'
* doc/lispref/text.texi (Commands for Insertion):
* doc/lispref/commands.texi (Command Loop Info):
* src/cmds.c (syms_of_cmds) <post-self-insert-hook>: Improve the
documentation of 'last-command-event' and 'post-self-insert-hook'.
Eli Zaretskii [Sat, 22 Jul 2023 06:13:35 +0000 (09:13 +0300)]
; * lisp/time.el (display-time-date-and-time): Fix last change.
Eli Zaretskii [Sat, 22 Jul 2023 05:36:08 +0000 (08:36 +0300)]
; * lisp/subr.el (ignore, always): Doc fixes. (Bug#64776)
Philipp Stephani [Fri, 21 Jul 2023 16:22:34 +0000 (18:22 +0200)]
Unbreak build with CHECK_STRUCTS.
The hash for the Lisp_Overlay structure has changed due to the (comment-only)
commit
7ac947f34c745c61f8acc1fe2452a2c720d57a0d.
* src/pdumper.c (dump_overlay): Update struct hash.
Stefan Monnier [Wed, 19 Jul 2023 15:29:32 +0000 (11:29 -0400)]
macroexp.el: Fix missing warning for intermediate expansions
When a macro expanded to a call to an obsolete macro, we failed
to emit a warning for that use of the obsolete macro.
* lisp/emacs-lisp/macroexp.el (macroexp-macroexpand):
Use `macroexpand-1` to check obsolecence of intermediate expansions.
* test/lisp/emacs-lisp/macroexp-tests.el
(macroexp--test-obsolete-macro): New test.
Mattias Engdegård [Fri, 21 Jul 2023 12:49:35 +0000 (14:49 +0200)]
Revert "Improve commentary in nsfns.m"
This reverts commit
3af27a4b815906c2ee38cbaf3a765289b3df061a,
because it missed the point completely.
Please talk to the original author next time.
Mattias Engdegård [Fri, 21 Jul 2023 12:44:53 +0000 (14:44 +0200)]
Use BASE_EQ instead of EQ in search.c
* src/search.c (clear_regexp_cache, compile_pattern, Fmatch_data):
Use BASE_EQ where appropriate.
Mattias Engdegård [Fri, 21 Jul 2023 09:56:42 +0000 (11:56 +0200)]
; Fix bug in regexp debug code
* src/regex-emacs.c (print_partial_compiled_pattern):
Only the 7 bottom bits of the first byte form the bitmap size.
Robert Pluim [Fri, 21 Jul 2023 12:38:15 +0000 (14:38 +0200)]
Fix failing native-compile test
* test/src/comp-tests.el (comp-tests-result-lambda): Use
'comp-deftest', not 'ert-deftest'. The latter doesn't check for
native-compile support.
Eli Zaretskii [Fri, 21 Jul 2023 12:19:02 +0000 (15:19 +0300)]
Fix Proced display header alignment under 'text-scale-adjust'
* lisp/proced.el (proced-mode): Force the header-line to scale
according to 'text-scale-adjust'.
(proced-header-line): Use width of the header-line's face's
characters as align-to units, not the width of the frame's
default face's font. (Bug#64752)
* src/xdisp.c (calc_pixel_width_or_height): Use font's
average_width or space_width, not max_width, as the correct
measure of the font's width. This is consistent with the rest of
the display engine.
Stephen Berman [Thu, 20 Jul 2023 19:51:24 +0000 (21:51 +0200)]
Fix last change to wid-edit.el
* lisp/wid-edit.el (widget-choose): Test for stringp instead of
char-or-string-p, since substitute-command-keys should only apply
to choice values that are strings. (Bug#64046, Message #37)