Mattias Engdegård [Sun, 6 Nov 2022 14:59:58 +0000 (15:59 +0100)]
; * lisp/emacs-lisp/package.el (package-load-all-descriptors): Use \`
Eli Zaretskii [Sun, 6 Nov 2022 14:45:30 +0000 (16:45 +0200)]
; Avoid compiler warnings in 'extend_face_to_end_of_line'
* src/xdisp.c (extend_face_to_end_of_line): Return if no
default_face is cached or could be realized. This avoids
compilation warnings about NULL pointer dereferences.
Stefan Kangas [Sun, 6 Nov 2022 14:40:19 +0000 (15:40 +0100)]
Prefer defvar-keymap in octave.el
* lisp/progmodes/octave.el (octave-mode-map): Prefer
defvar-keymap.
Stefan Kangas [Sun, 6 Nov 2022 14:34:58 +0000 (15:34 +0100)]
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)
Eli Zaretskii [Sun, 6 Nov 2022 14:31:25 +0000 (16:31 +0200)]
Revert "Pacify -Wnull-dereference"
This reverts commit
dad452552bebf832e737ebb946b5eea6cd57f63f.
Please don't assume I write such code by omission.
Po Lu [Sun, 6 Nov 2022 12:11:56 +0000 (20:11 +0800)]
; * src/image.c (syms_of_image): Add missed part of change.
Author:
Po Lu [Sun, 6 Nov 2022 12:07:49 +0000 (20:07 +0800)]
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.
Po Lu [Sun, 6 Nov 2022 11:42:36 +0000 (19:42 +0800)]
Pacify -Wnull-dereference
* src/xdisp.c (extend_face_to_end_of_line): Use FACE_FROM_ID,
not FACE_FROM_ID_OR_NULL, when the next line proceeds to
immediately dereference the face.
Po Lu [Sun, 6 Nov 2022 11:37:02 +0000 (19:37 +0800)]
Write more commentary on XI2 device management
* src/xterm.c (xi_populate_device_from_info): Take dpyinfo.
Describe what master and slave devices are, how they represent
seats, and how they are used to multiplex user input. Also
simplify ifdefs and avoid looping over scroll classes on XI 2.0.
(x_cache_xi_devices, handle_one_xevent): Adjust accordingly.
(x_term_init): Set dpyinfo->xi2_version before calling
x_cache_xi_devices.
Eli Zaretskii [Sun, 6 Nov 2022 10:22:11 +0000 (12:22 +0200)]
; * src/itree.h (forget_itree): Make the prototype conditional.
Eli Zaretskii [Sun, 6 Nov 2022 09:33:38 +0000 (11:33 +0200)]
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)
Davide Masserut [Thu, 3 Nov 2022 14:16:21 +0000 (15:16 +0100)]
Bind "DEL" in dictionary-mode
* lisp/net/dictionary.el (dictionary-mode-map): Bind DEL to
'scroll-down-command'. (Bug#58986)
Eli Zaretskii [Sun, 6 Nov 2022 08:08:58 +0000 (10:08 +0200)]
Improve documentation of Edebug overwriting buffer point
* doc/lispref/edebug.texi (Edebug Display Update)
(Edebug Options): More details about Edebug changing buffer point
position. Reported by Alan Mackenzie <acm@muc.de>.
Eli Zaretskii [Sun, 6 Nov 2022 07:43:32 +0000 (09:43 +0200)]
; Minor copyedits in Eglot manual
* doc/misc/eglot.texi (Customizing Eglot): More accurate wording
of how 'eglot-workspace-configuration' are sent to LSP servers.
(Bug#58986)
Juri Linkov [Sun, 6 Nov 2022 07:37:12 +0000 (09:37 +0200)]
* lisp/tab-bar.el (tab-bar-fixed-width-max): Change :type from cons to list.
This will allow possible future extensions to customize Double (HiDPI).
(tab-bar-fixed-width-min): Change :type from cons to list.
(tab-bar-fixed-width): Use the list instead of cons.
Matt Armstrong [Sat, 5 Nov 2022 23:31:19 +0000 (16:31 -0700)]
itree.c and buffer-tests.el: Incorporate code review feedback
* src/itree.c: Improve wording in `itree_insert_gap` comment.
* test/src/buffer-tests.el (test-overlay-insert-before-markers-at-start):
Don't rely on (point-min) being 1.
(test-overlay-insert-before-markers-at-end): ditto.
(test-overlay-insert-before-markers-empty): ditto.
Stefan Monnier [Sat, 5 Nov 2022 21:22:37 +0000 (17:22 -0400)]
buffer.c: evaporate overlays in all indirect buffers
This fixes bug#58928. The patch works by moving the
`evaporate_overlays` check closer to `itree_delete_gap`.
* src/buffer.c (adjust_overlays_for_delete_in_buffer): New function,
integrating the functionality of `evaporate_overlays`.
(adjust_overlays_for_delete): Use it.
(evaporate_overlays): Delete function.
* src/buffer.h (evaporate_overlays): Delete declaration.
* src/insdel.c (adjust_markers_for_replace): Minor optimization.
(adjust_after_replace, replace_range, replace_range_2, del_range_2):
Don't call `evaporate_overlays`.
* test/src/buffer-tests.el (buffer-tests--overlays-indirect-evaporate):
Remove the `:expected-result :failed` attribute.
Matt Armstrong [Wed, 2 Nov 2022 02:40:20 +0000 (19:40 -0700)]
Add a test for overlay evaporation across indirect buffers
* test/src/buffer-tests.el (buffer-tests--overlays-indirect-evaporate):
Test evaporation of overlays triggered by deleting text in base
and in indirect buffers. Test doesn't pass at the moment.
Matt Armstrong [Fri, 4 Nov 2022 22:24:40 +0000 (15:24 -0700)]
Minor tweaks to the fix for `insert-before-markers' overlay fix
(bug#58928)
* src/buffer.c (adjust_overlays_for_insert): wrap to less than 80
chars.
* src/itree.c: document BEFORE_MARKERS.
Matt Armstrong [Fri, 4 Nov 2022 22:02:17 +0000 (15:02 -0700)]
Tweak the overlay related `insert-before-markers' tests
* test/src/buffer-tests.el (test-overlay-insert-before-markers-empty):
Move code down to the other tests related to insertion. Test all
front/rear insert combinations. To make the test more clear, at least
to me, hard code all character positions.
(test-overlay-insert-before-markers-at-start): For both front-advance
modes verify that `insert-before-markers' at and overlay's start
advances it.
(test-overlay-insert-before-markers-at-end): For both rear-advance
modes test that `insert-before-markers' at an overlay's end advances
it.
(test-overlay-insert-before-markers-non-empty): Delete, replaced by
the two tests above.
Brian Cully [Mon, 31 Oct 2022 15:55:45 +0000 (11:55 -0400)]
lisp/eshell/em-tramp.el: Rename 'TRAMP' to 'Tramp'.
Brian Cully [Thu, 27 Oct 2022 01:10:21 +0000 (21:10 -0400)]
Add the "doas" alias to eshell.
* lisp/eshell/em-tramp.el (eshell/doas): new function.
(eshell--method-wrap-directory): new function.
(eshell/sudo): accept '-s'/'--shell' for interactive use.
* test/lisp/eshell/em-tramp-tests.el
(em-tramp-test/sudo-shell) (em-tramp-test/sudo-user-shell)
(em-tramp-test/doas-basic) (em-tramp-test/doas-user)
(em-tramp-test/doas-shell) (em-tramp-test/doas-user-shell): new
tests.
* etc/NEWS: mention new 'doas' eshell command.
* doc/misc/eshell.texi: add 'doas' command documentation.
Juri Linkov [Sat, 5 Nov 2022 17:45:57 +0000 (19:45 +0200)]
; * lisp/progmodes/project.el (project-kill-buffer-conditions): Fix typo.
Juri Linkov [Sat, 5 Nov 2022 17:40:48 +0000 (19:40 +0200)]
* etc/NEWS: Remove remark implemented by 'vc-default-checkin-patch'.
Juri Linkov [Sat, 5 Nov 2022 17:34:47 +0000 (19:34 +0200)]
* lisp/net/dictionary.el (dictionary-search): Use format-prompt.
Juri Linkov [Sat, 5 Nov 2022 17:15:42 +0000 (19:15 +0200)]
* lisp/tab-bar.el (tab-bar-fixed-width): Improve width calculations.
Philip Kaludercic [Sat, 5 Nov 2022 15:43:05 +0000 (16:43 +0100)]
Rephrase 'package-vc-ensure-packages' docstring
* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Make it
easier to read.
Philip Kaludercic [Sat, 5 Nov 2022 15:31:16 +0000 (16:31 +0100)]
; Rename 'package-vc-link-directory' to '-install-from-checkout'
* doc/emacs/package.texi (Fetching Package Sources): Rename instances
* etc/NEWS: Rename instances.
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Rename to
'package-vc-install-from-checkout'.
Michael Albinus [Sat, 5 Nov 2022 16:39:17 +0000 (17:39 +0100)]
* lisp/jka-compr.el (jka-compr-load): Add MUST-SUFFIX argument.
Eli Zaretskii [Sat, 5 Nov 2022 13:19:42 +0000 (15:19 +0200)]
Fix the unexec build
* src/itree.c (forget_itree): New function.
* src/emacs.c (Fdump_emacs): Call 'forget_itree'.
Eli Zaretskii [Sat, 5 Nov 2022 12:28:53 +0000 (14:28 +0200)]
Fix warnings in sqlite.c in the MS-Windows build
* src/sqlite.c (sqlite3_errstr) [WINDOWSNT]: Define and load from
the DLL only if the SQLite3 version is at least 3.7.15.
(sqlite_prepare_errdata) [SQLITE_VERSION_NUMBER >=
3007015]: Use
the original code if sqlite3_errstr is available.
Nicolas Graner [Thu, 3 Nov 2022 21:49:43 +0000 (22:49 +0100)]
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)
Po Lu [Sat, 5 Nov 2022 11:43:12 +0000 (19:43 +0800)]
Make sqlite.c build with SQlite in Fedora 9
* src/sqlite.c (sqlite_prepare_errdata): Use sqlite3_errmsg
instead of sqlite3_errstr.
Eli Zaretskii [Sat, 5 Nov 2022 11:12:32 +0000 (13:12 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Po Lu [Sat, 5 Nov 2022 11:09:42 +0000 (19:09 +0800)]
Simplify XI scroll class reporting code
* src/xterm.c (xi_populate_device_from_info): Use xnmalloc.
Avoid reading classes at all when the XI library only supports
2.0.
(xi_handle_new_classes): New function.
(xi_handle_device_changed): Move class parsing logic there to
avoid duplicating code.
Eli Zaretskii [Sat, 5 Nov 2022 11:11:28 +0000 (13:11 +0200)]
; Fix documentation of package-vc.el
* lisp/emacs-lisp/package-vc.el (package-vc-default-backend)
(package-vc-selected-packages, package-vc--archive-spec-alist)
(package-vc--archive-data-alist, package-vc--query-spec)
(package-vc--read-archive-data, package-vc-commit)
(package-vc--main-file, package-vc--generate-description-file)
(package-vc--build-documentation, package-vc--unpack-1)
(package-vc--guess-backend, package-vc--clone)
(package-vc--unpack, package-vc-update, package-vc--release-rev)
(package-vc-install, package-vc-checkout)
(package-vc-link-directory, package-vc-refresh)
(package-vc-prepare-patch, package-vc--archives-initialize): Doc fixes.
F. Jason Park [Sat, 5 Nov 2022 01:48:57 +0000 (18:48 -0700)]
; * etc/ERC-NEWS: Mention move to erc-common.el.
dickmao [Fri, 1 Jul 2022 15:06:51 +0000 (11:06 -0400)]
Move ERC's core dependencies to separate file
Asking people to order require's is about as effective
as asking kids to keep off the grass.
* lisp/erc/erc-backend.el (erc--target, erc-auto-query,
erc-channel-list, erc-channel-users, erc-default-nicks,
erc-default-recipients, erc-format-nick-function,
erc-format-query-as-channel-p, erc-hide-prompt, erc-input-marker,
erc-insert-marker, erc-invitation, erc-join-buffer,
erc-kill-buffer-on-part, erc-kill-server-buffer-on-quit, erc-log-p,
erc-minibuffer-ignored, erc-networks--id, erc-nick,
erc-nick-change-attempt-count, erc-prompt-for-channel-key,
erc-prompt-hidden, erc-reuse-buffers, erc-verbose-server-ping,
erc-whowas-on-nosuchnick): Forward-declare variables.
(erc--open-target, erc--target-from-string, erc-active-buffer,
erc-add-default-channel, erc-banlist-update, erc-buffer-filter,
erc-buffer-list-with-nick, erc-channel-begin-receiving-names,
erc-channel-end-receiving-names, erc-channel-p,
erc-channel-receive-names, erc-cmd-JOIN, erc-connection-established,
erc-current-nick, erc-current-nick-p, erc-current-time,
erc-default-target, erc-delete-default-channel,
erc-display-error-notice, erc-display-server-message,
erc-emacs-time-to-erc-time, erc-format-message,
erc-format-privmessage, erc-get-buffer, erc-handle-login,
erc-handle-user-status-change, erc-ignored-reply-p,
erc-ignored-user-p, erc-is-message-ctcp-and-not-action-p,
erc-is-message-ctcp-p, erc-log-irc-protocol, erc-login,
erc-make-notice, erc-network, erc-networks--id-given,
erc-networks--id-reload, erc-nickname-in-use, erc-parse-user,
erc-process-away, erc-process-ctcp-query, erc-query-buffer-p,
erc-remove-channel-member, erc-remove-channel-users, erc-remove-user,
erc-sec-to-time, erc-server-buffer, erc-set-active-buffer,
erc-set-current-nick, erc-set-modes, erc-time-diff, erc-trim-string,
erc-update-mode-line, erc-update-mode-line-buffer,
erc-wash-quit-reason, erc-display-message, erc-get-buffer-create,
erc-process-ctcp-reply, erc-update-channel-topic, erc-update-modes,
erc-update-user-nick, erc-open, erc-update-channel-member):
Forward-declare functions.
(erc-response): Move to lisp/erc/erc-common.el.
(erc-compat--with-memoization): Use "erc-compat-" prefixed macro.
* lisp/erc/erc-common.el: New file. Change indentation for
`erc-with-all-buffers-of-server' from 1 to 2.
* lisp/erc/erc-compat.el (erc-compat--with-memoization): Migrate macro
from `erc-backend' and rename.
* lisp/erc/erc-goodies.el: Require `erc-common' instead of `erc'.
(erc-controls-highlight-regexp, erc-controls-remove-regexp,
erc-input-marker, erc-insert-marker, erc-server-process, erc-modules,
erc-log-p): Forward declare variables.
(erc-buffer-list, erc-error, erc-extract-command-from-line):
Forward-declare functions.
* lisp/erc/erc-networks.el (erc--target, erc-insert-marker,
erc-kill-buffer-hook, erc-kill-server-hook, erc-modules,
erc-rename-buffers, erc-reuse-buffers, erc-server-announced-name,
erc-server-connected, erc-server-parameters, erc-server-process,
erc-session-server): Forward declare variables.
(erc--default-target, erc--get-isupport-entry, erc-buffer-filter,
erc-current-nick, erc-display-error-notice, erc-error, erc-get-buffer,
erc-server-buffer, erc-server-process-alive): Forward-declare
functions.
(erc-obsolete-var): Also suppress free-variable warnings.
* lisp/erc/erc.el: Require `erc-networks', `erc-goodies', and
`erc-backend' at top of file. Don't require `erc-compat'.
(erc--server-last-reconnect-count, erc--server-reconnecting,
erc-channel-members-changed-hook, erc-network, erc-networks--id,
erc-server-367-functions, erc-server-announced-name,
erc-server-connect-function, erc-server-connected,
erc-server-current-nick, erc-server-lag, erc-server-last-sent-time,
erc-server-process, erc-server-quitting, erc-server-reconnect-count,
erc-server-reconnecting, erc-session-client-certificate,
erc-session-connector, erc-session-port, erc-session-server,
erc-session-user-full-name) Remove superfluous forward declarations.
(erc-message-parsed, tabbar--local-hlf, motif-version-string):
Relocate forward declares to central location.
(erc-session-password): Move to `erc-backend'.
(erc-downcase, erc-with-server-buffer, erc-server-user,
erc-channel-user, erc-get-channel-user, erc-get-server-user): Move to
lisp/erc/erc-common.el.
(erc-add-server-user, erc-remove-server-user,
erc-channel-user-owner-p, erc-channel-user-admin-p,
erc-channel-user-op-p, erc-channel-user-halfop-p,
erc-channel-user-voice-p): Convert from inline functions to normal
functions.
(define-erc-module, erc--target, erc--target-channel,
erc--target-channel-local, erc-log, erc-log-aux, erc-with-buffer,
erc-with-all-buffers-of-server): Move to lisp/erc/erc-common.el.
(erc-channel-members-changed-hook): Relocate option to avoid compiler
warning.
(erc-input, erc--input-split): Move to lisp/erc/erc-common.el.
(erc-controls-strip): Remove forward declaration temporarily until
this file stops requiring `erc-goodies'.
* test/lisp/erc/erc-networks-tests.el: Require `erc' instead of
`erc-networks'.
* test/lisp/erc/erc.el (erc--meta--backend-dependencies): Remove
obsolete test. Don't require `erc-networks'. Bug#56340.
F. Jason Park [Fri, 4 Nov 2022 12:01:35 +0000 (05:01 -0700)]
Offer completions for GET subcommand flags in erc-dcc
* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): Add /DCC GET switches.
This is unfinished business from bug#54458.
* test/lisp/erc/erc-dcc-tests.el (erc-dcc-tests--pcomplete-common,
pcomplete/erc-mode/DCC--get-basic, pcomplete/erc-mode/DCC--get-1flag,
pcomplete/erc-mode/DCC--get-2flags,
pcomplete/erc-mode/DCC--get-2flags-reverse): Add helper and tests for
completing /DCC GET switches.
F. Jason Park [Fri, 4 Nov 2022 12:01:35 +0000 (05:01 -0700)]
* lisp/erc/erc.el (erc-cmd-RECONNECT): Fix macro arg.
F. Jason Park [Fri, 4 Nov 2022 12:01:35 +0000 (05:01 -0700)]
; * test/lisp/erc/erc-services-tests.el: Remove cruft.
Dmitry Gutov [Sat, 5 Nov 2022 00:54:20 +0000 (02:54 +0200)]
project-kill-buffer-conditions: Tweak
* lisp/progmodes/project.el (project-kill-buffer-conditions): Tweak.
Matt Armstrong [Fri, 4 Nov 2022 22:24:57 +0000 (15:24 -0700)]
; Make clang-format handle FOR_EACH_LIVE_BUFFER
* .clang-format (ForEachMacros): Add
FOR_EACH_LIVE_BUFFER. (Bug#59027)
Matt Armstrong [Thu, 3 Nov 2022 21:34:03 +0000 (14:34 -0700)]
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)
Philip Kaludercic [Fri, 28 Oct 2022 17:44:47 +0000 (19:44 +0200)]
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.
Philip Kaludercic [Fri, 4 Nov 2022 22:06:11 +0000 (23:06 +0100)]
* lisp/net/rcirc.el (rcirc-print): Replace misjudged assertion
Stefan Kangas [Fri, 4 Nov 2022 19:26:01 +0000 (20:26 +0100)]
* lisp/textmodes/css-mode.el (css-mode-map): Prefer defvar-keymap.
Stefan Kangas [Fri, 4 Nov 2022 19:23:55 +0000 (20:23 +0100)]
* lisp/dired-aux.el (dired-check-process): Use progress reporter.
Stefan Kangas [Fri, 4 Nov 2022 19:15:42 +0000 (20:15 +0100)]
; package-vc: Pacify byte-compiler
* lisp/emacs-lisp/package-vc.el (package-vc-selected-packages):
Declare.
Stefan Kangas [Fri, 4 Nov 2022 15:25:21 +0000 (16:25 +0100)]
Use progress reporter in cpp.el
* lisp/progmodes/cpp.el (cpp-highlight-buffer): Use progress
reporter.
(cpp-progress-time, cpp-progress-message): Make obsolete in favor
of 'make-progress-reporter'.
(cpp-message-min-time-interval): Doc fix.
Stefan Kangas [Fri, 4 Nov 2022 14:38:41 +0000 (15:38 +0100)]
* lisp/progmodes/cpp.el (cpp-edit-mode-map): Prefer defvar-keymap.
Paul Eggert [Fri, 4 Nov 2022 18:00:49 +0000 (11:00 -0700)]
Pacify gcc -Wanalyzer-null-dereference
This is for gcc 12.2.1
20220819 (Red Hat 12.2.1-2) x86-64
when Emacs is configured with --enable-gcc-warnings.
* 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.
Philip Kaludercic [Fri, 4 Nov 2022 17:57:45 +0000 (18:57 +0100)]
Merge branch 'feature/package+vc'
Philip Kaludercic [Fri, 4 Nov 2022 17:53:02 +0000 (18:53 +0100)]
* lisp/emacs-lisp/package-vc.el: Expand commentary
Philip Kaludercic [Fri, 4 Nov 2022 17:19:01 +0000 (18:19 +0100)]
; * lisp/emacs-lisp/package-vc.el (package-vc): Add missing :prefix
Philip Kaludercic [Fri, 4 Nov 2022 17:17:45 +0000 (18:17 +0100)]
Link to Manual from the package-vc group
* lisp/emacs-lisp/package-vc.el (package-vc): Add 'custom-manual'
link.
Philip Kaludercic [Fri, 4 Nov 2022 17:17:02 +0000 (18:17 +0100)]
; * doc/emacs/package.texi: Rename to "Fetching Package Sources"
Philip Kaludercic [Fri, 4 Nov 2022 17:04:35 +0000 (18:04 +0100)]
Document 'package-vc-selected-packages'
* doc/emacs/package.texi: Expand documentation and give example.
* etc/NEWS: Mention 'package-vc-selected-packages'.
* lisp/emacs-lisp/package-vc.el (package-vc--select-packages): Remove
function.
(package-vc-ensure-packages): Add function based on
'package-vc--select-packages'.
(package-vc-selected-packages): Call 'package-vc-ensure-packages' from
custom setter.
Stefan Monnier [Fri, 4 Nov 2022 15:59:51 +0000 (11:59 -0400)]
* lisp/simple.el (function-documentation): Fix bug#59014
Michael Albinus [Fri, 4 Nov 2022 14:39:58 +0000 (15:39 +0100)]
Fix calling file name handler for `load'.
* lisp/net/ange-ftp.el (ange-ftp-load): Add MUST-SUFFIX argument.
* lisp/net/tramp.el (tramp-handle-load): Adapt MUST_SUFFIX test.
* src/lread.c (Fload): Call handler with must_suffix.
* test/lisp/net/tramp-tests.el (tramp-test27-load): Extend test.
Stefan Kangas [Fri, 4 Nov 2022 14:00:02 +0000 (15:00 +0100)]
Normalize some syntax table definitions
* lisp/nxml/rng-cmpct.el (rng-c-syntax-table):
* lisp/progmodes/cperl-mode.el (cperl-mode-syntax-table)
(cperl-string-syntax-table2):
* lisp/progmodes/dcl-mode.el (dcl-mode-syntax-table): Normalize
definitions to better follow modern ELisp conventions.
Stefan Kangas [Fri, 4 Nov 2022 13:30:48 +0000 (14:30 +0100)]
* lisp/progmodes/dcl-mode.el (dcl-mode-map): Prefer defvar-keymap.
Stefan Kangas [Thu, 3 Nov 2022 15:58:17 +0000 (16:58 +0100)]
* admin/authors.el: Don't recommend deprecated fgrep.
Eli Zaretskii [Fri, 4 Nov 2022 13:56:30 +0000 (15:56 +0200)]
; * lisp/progmodes/project.el (project-buffers): Doc fix.
Basil L. Contovounesios [Wed, 2 Nov 2022 01:52:16 +0000 (03:52 +0200)]
Fix manual noverlay tests
* test/manual/noverlay/Makefile.in: Add copyright notice.
(LIBS): Rename...
(PACKAGES): ...to this, to avoid confusion with Autoconf's LIBS.
All uses changed.
(CFLAGS): Break out -I flag...
(CPPFLAGS): ...into this new variable.
(LDFLAGS): Rename...
(LDLIBS): ...to this, which is expected to hold -l flags.
(top_builddir): New variable.
(EMACS): Define in terms of it.
(.PHONY): Add clean, distclean, and perf targets.
(have-libcheck): Remove redundant target. All uses updated.
(itree-tests.o): Remove redundant dependency on its source file.
(itree-tests): Remove redundant (and uncompilable) rule.
* test/manual/noverlay/check-sanitize.sh: Use /usr/bin/env. Add
copyright notice. Enable pipefail option, to propagate itree-tests
exit status to caller. Fix typo in usage message. Strip less
information from Check's error messages.
* test/manual/noverlay/emacs-compat.h: Add copyright notice.
Include stdlib.h.
(emacs_abort, eassert): Consistently use EXIT_FAILURE.
(eassume): Define when necessary.
* test/manual/noverlay/itree-tests.c: Add copyright notice. Include
standard headers before third-party ones. Use most narrowly
applicable ck_assert* macro for the types being checked,
e.g. ck_assert_ptr_* macros for pointer values. Replace removed
names and APIs with current ones, e.g. the itree_node field 'color'
is now called 'red'. Ensure preconditions of itree API are
satisfied before use, e.g. itree_node otick being set appropriately
before insertion, or global iterator being initialized
before (implicit) use (bug#58976). Make all functions static.
(DEF_TEST_SETUP): Remove all instances, replacing with...
(test_insert1_setup, test_insert2_setup, test_remove1_setup)
(test_remove2_setup): ...these new test fixtures.
(A, B, C, D, E, N_05, N_10, N_15, N_20, N_30, N_40, N_50, N_70)
(N_80, N_90, N_85, N_95): Define as static variables rather than
macros.
(test_get_tree4): Remove, inlining salient parts.
(shuffle): Move closer to users.
(test_create_tree): Accept itree_nodes as argument instead of
dynamically allocating them. All callers changed.
(FOREACH): Remove unused macro.
(N_BEG, N_END): Define in terms of itree_node_begin and
itree_node_end, respectively.
(test_gap_insert_1, test_gap_insert_2, test_gap_insert_3)
(test_gap_insert_5, test_gap_insert_7, test_gap_insert_11): Use
test_setup_gap_node_noadvance.
(basic_suite): Group unit tests into test cases and fixtures. Run
previously forgotten test_insert_14.
(main): Run suite as CK_ENV to allow specifying desired verbosity in
the environment.
Po Lu [Fri, 4 Nov 2022 11:21:22 +0000 (19:21 +0800)]
Avoid using too up-to-date values when restoring valuators
* src/xterm.c (xi_has_scroll_valuators): New function.
(xi_handle_device_changed): If the device changed event provides
scroll valuators, then use the values in there. (bug#58980)
Dmitry Gutov [Fri, 4 Nov 2022 10:40:50 +0000 (12:40 +0200)]
; Minor rephrase
Eli Zaretskii [Fri, 4 Nov 2022 07:49:48 +0000 (09:49 +0200)]
; * lisp/subr.el (setq-local): Fix last doc change.
Juri Linkov [Fri, 4 Nov 2022 07:47:06 +0000 (09:47 +0200)]
* lisp/tab-bar.el (tab-bar-fixed-width): New user option.
(tab-bar-fixed-width-max): New user option.
(tab-bar-fixed-width-min): New variable.
(tab-bar-fixed-width-faces): New variable.
(tab-bar--fixed-width-hash): New function.
(tab-bar-make-keymap-1): Use 'tab-bar-fixed-width'.
https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg02067.html
Juanma Barranquero [Fri, 4 Nov 2022 07:41:43 +0000 (08:41 +0100)]
; * lisp/emacs-lisp/oclosure.el: Fix typos.
Juanma Barranquero [Fri, 4 Nov 2022 06:04:39 +0000 (07:04 +0100)]
; * lisp/subr.el (setq-local): Doc fix.
Juanma Barranquero [Fri, 4 Nov 2022 05:54:07 +0000 (06:54 +0100)]
; * etc/NEWS.27, etc/NEWS.28: Fix typos.
Stefan Kangas [Fri, 4 Nov 2022 05:31:49 +0000 (06:31 +0100)]
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.
Stefan Monnier [Fri, 4 Nov 2022 03:16:12 +0000 (23:16 -0400)]
itree.c: Minor tightening
* src/itree.c (iter): Initialize to NULL.
(init_itree): Make sure it's not allocated before we overwrite it.
(itree_insert_gap): Tweak the end-loop.
Stefan Monnier [Fri, 4 Nov 2022 02:44:55 +0000 (22:44 -0400)]
itree: Reproduce markers's behavior more faithfully (bug#58928)
The most obvious problem was the lack of support for
`insert-before-markers`, but the behavior was also different in a few
other cases.
* src/itree.h (itree_insert_gap):
* src/itree.c (itree_insert_gap): Add `before_markers` arg.
* src/lisp.h (adjust_overlays_for_insert):
* src/buffer.c (adjust_overlays_for_insert): Add `before_markers` arg.
* src/insdel.c (adjust_markers_for_replace, adjust_markers_for_insert)
(adjust_markers_for_delete): Adjust overlays directly from here.
(insert_1_both, insert_from_string_1, insert_from_gap)
(insert_from_buffer_1, adjust_after_replace, replace_range)
(replace_range_2, del_range_2): Don't adjust overlays explicitly here
any more.
* test/src/buffer-tests.el (test-overlay-insert-before-markers-empty)
(test-overlay-insert-before-markers-non-empty): New tests.
Dmitry Gutov [Fri, 4 Nov 2022 01:16:36 +0000 (03:16 +0200)]
project-buffers: Describe the default implementation
* lisp/progmodes/project.el (project-buffers):
Describe what the default implementation is doing (bug#58784).
Dmitry Gutov [Fri, 4 Nov 2022 01:03:29 +0000 (03:03 +0200)]
project-kill-buffer-conditions: Skip Gnus modes as well
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Skip Gnus modes as well (bug#58839).
Dmitry Gutov [Fri, 4 Nov 2022 00:58:58 +0000 (02:58 +0200)]
project-kill-buffer-conditions: Skip hidden ones
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Make exception for "hidden" buffers (bug#58839).
Po Lu [Fri, 4 Nov 2022 00:29:02 +0000 (08:29 +0800)]
Fix initialization of scroll valuator emacs_value
* src/xterm.c (xi_handle_device_changed): Initialize emacs_value
to 0, not DBL_MIN. (bug#58980)
Philip Kaludercic [Thu, 3 Nov 2022 22:15:12 +0000 (23:15 +0100)]
Autoload all entry functions
Jim Porter [Mon, 19 Sep 2022 00:42:09 +0000 (17:42 -0700)]
Only strip newlines when stringifying a value for Eshell
* lisp/eshell/esh-util.el (eshell-stringify): Use 'string-trim-right'
instead of stripping the last character of the result of
'pp-to-string' (bug#58810).
* test/lisp/eshell/esh-util-tests.el: New file.
Philip Kaludercic [Thu, 3 Nov 2022 18:41:46 +0000 (19:41 +0100)]
; Mention that 'package-vc-checkout' open a directory
* lisp/emacs-lisp/package-vc.el (package-vc-checkout): Mention it in
the docstring.
Philip Kaludercic [Thu, 3 Nov 2022 18:38:34 +0000 (19:38 +0100)]
; Explicitly mark internal functions as such
Philip Kaludercic [Thu, 3 Nov 2022 18:28:47 +0000 (19:28 +0100)]
* lisp/emacs-lisp/package-vc.el (package-vc-version): Use main file
Philip Kaludercic [Thu, 3 Nov 2022 18:26:21 +0000 (19:26 +0100)]
Add command 'package-vc-checkout'
* doc/emacs/package.texi: Document feature.
* etc/NEWS: Mention feature.
* lisp/emacs-lisp/package-vc.el (package-vc-clone): Extract
functionality out of 'package-vc-unpack'.
(package-vc-unpack): Extract functionality out to 'package-vc-clone'.
(package-vc-checkout): Add command.
Paul Eggert [Thu, 3 Nov 2022 18:09:53 +0000 (11:09 -0700)]
Improve suppression of bogus macOS warnings
* configure.ac: On macOS, always use -Wno-deprecated-declarations,
as the false alarms appear even if --disable-gcc-warnings is given
(Bug#58966).
Eli Zaretskii [Thu, 3 Nov 2022 18:02:00 +0000 (20:02 +0200)]
; * doc/emacs/search.texi (Lax Search): Improve wording. (Bug#58992)
Juri Linkov [Thu, 3 Nov 2022 17:35:45 +0000 (19:35 +0200)]
Fix overlays order in Flyspell (bug#58970)
Flyspell relies on the sorting order of overlays from 'overlays-in'
that returned the overlays sorted by decreased 'overlay-start'.
But after the recent merge of the noverlay branch, the order was reversed.
So need to change the order back to the expected by Flyspell.
* lisp/textmodes/flyspell.el (flyspell-auto-correct-previous-word):
Sort overlays returned from 'overlays-in' descending by 'overlay-start'.
Basil L. Contovounesios [Wed, 2 Nov 2022 01:50:38 +0000 (03:50 +0200)]
Port interval trees to --enable-checking=structs
Some names under the interval_* namespace were renamed under the
itree_* namespace in commits:
0.
f421b58db5 of 2022-10-19
"Prefix all itree.h type names with itree_".
1.
37a1145410 of 2022-10-19
"Rename all exported itree.h functions with the itree_ prefix"
Further, some values still referenced in commentary were removed in
commits:
2.
258e618364 of 2022-10-17
"Delete the itree_null sentinel node, use NULL everywhere."
3.
2c4a3910b3 of 2022-10-02
"itree: Use a single iterator object"
* src/emacs.c (main): Allocate global itree iterator once and for
all.
* src/alloc.c (mark_overlay):
* src/buffer.c (set_overlays_multibyte):
* src/itree.c (itree_destroy): Update commentary.
(interval_stack_ensure_space, itree_insert_gap): Prefer
unsigned-to-unsigned comparisons over signed-to-unsigned.
(interval_stack_push_flagged, interval_tree_insert)
(interval_tree_contains, itree_iterator_start)
(itree_iterator_finish, itree_iterator_next, itree_iterator_narrow):
Improve assertions.
(itree_init): Rename...
(init_itree): ...to this, for consistency with other global init
functions.
(itree_create): Stop leaking a global iterator allocation on each
call.
(interval_tree_init): Complete renames of
interval_tree -> itree_tree and interval_tree_clear -> itree_clear.
(interval_tree_remove_fix): Fix indentation.
* src/itree.h: Declare init_itree.
(ITREE_FOREACH): Fix typo in commentary.
* src/pdumper.c [CHECK_STRUCTS]
(dump_interval_node): Use the correct name in the HASH condition
and #error message.
(dump_overlay, dump_buffer): Update HASH (bug#58975).
Juanma Barranquero [Thu, 3 Nov 2022 13:41:28 +0000 (14:41 +0100)]
* src/gnutls.c (Fgnutls_available_p): Avoid duplicating capabilities.
Stefan Kangas [Wed, 2 Nov 2022 14:43:35 +0000 (15:43 +0100)]
Prefer defvar-keymap in profiler.el
* lisp/profiler.el (profiler-report-mode-map): Prefer
defvar-keymap.
Jonas Bernoulli [Wed, 2 Nov 2022 22:33:59 +0000 (23:33 +0100)]
; * emoji.el (emoji--define-transient): Adapt to recent changes in transient.
Po Lu [Thu, 3 Nov 2022 11:27:24 +0000 (19:27 +0800)]
Further simplify valuator reset code
* src/xterm.c (xi_reset_scroll_valuators_for_device_id): Minor
style adjustments.
(handle_one_xevent): Don't check frames; reset on all XI_Enter
and XI_Leave events.
Eli Zaretskii [Thu, 3 Nov 2022 09:59:30 +0000 (11:59 +0200)]
; * lisp/dired-aux.el (dired-show-file-type): Doc fix.
Gerd Möllmann [Thu, 3 Nov 2022 09:39:37 +0000 (10:39 +0100)]
Suppress deprecation warnings on macOS (bug#58966)
* configure.ac (CHECK_LISP_OBJECT_TYPE): Add
-Wno-deprecated-declarations for darwin.
Eli Zaretskii [Thu, 3 Nov 2022 09:25:50 +0000 (11:25 +0200)]
Fix 'text-property-search-backward' with 1-char long properties
* lisp/emacs-lisp/text-property-search.el
(text-property--find-end-backward): Don't miss the end of
text-property value at point. This fixes searches backward when
the property is on a single character position. (Bug#58937)
dannyfreeman [Wed, 2 Nov 2022 17:24:30 +0000 (13:24 -0400)]
; Fix a typo in Eglot manual
* doc/mist/eglot.texi (Customizing Eglot): 'flymake-error' face
mistakenly appears twice. (Bug#58969)
Juanma Barranquero [Thu, 3 Nov 2022 02:49:08 +0000 (03:49 +0100)]
; * doc/lispref/control.texi (Generators): Fix typo.
Paul Eggert [Wed, 2 Nov 2022 20:24:26 +0000 (13:24 -0700)]
Initialize child signal handling before posix_spawn too.
Problem reported by Tino Calancha (Bug#58960).
* src/callproc.c (call_process): Initialize SIGCHLD handling
before possibly creating a child with emacs_span. This need not
be in the critical section that calls emacs_spawn, so do it
outside the critical section.
* src/process.c (child_signal_init): Now extern.
Juri Linkov [Wed, 2 Nov 2022 18:36:49 +0000 (20:36 +0200)]
; Fix typo