Commit graph

169029 commits

Author SHA1 Message Date
Mattias Engdegård
215bfb24dd ; checkdoc.el: remove unnecessary regexp groups
* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-next-string):
Remove remains from when the regexp was not written in rx.
2023-09-26 13:33:54 +02:00
Mattias Engdegård
d082f46c8c vc-annotate.el: make a new face if it didn't exist
* lisp/vc/vc-annotate.el (vc-annotate-lines): Check whether a symbol
is a face, not just its existence.  Previously we would sometimes end
up using non-faces resulting in complaints from the display system.
2023-09-26 13:27:55 +02:00
Basil L. Contovounesios
8d7e498366 Fix ediff-toggle-multiframe cond clauses
* lisp/vc/ediff-util.el (ediff-toggle-multiframe): Remove duplicate
cond clause.  Fix parentheses so that trailing 'message' is
contained in fallback clause.  Fix indentation.
2023-09-26 10:13:31 +02:00
Basil L. Contovounesios
ff2a02afa6 Address defcustom :type warnings
* lisp/calendar/diary-lib.el (diary-display-function):
* lisp/calendar/icalendar.el (icalendar-export-alarms):
* lisp/emacs-lisp/elint.el (elint-ignored-warnings):
* lisp/mail/sendmail.el (send-mail-function):
* lisp/net/gnutls.el (gnutls-verify-error):
* lisp/gnus/mm-decode.el (mm-text-html-renderer):
* lisp/gnus/message.el (message-send-mail-function): Fix misplaced
defcustom :tags (bug#66196).
(message-tool-bar): Remove duplicate, overwritten, and nonexistent
defcustom :type gmm-tool-bar-list-item.
* lisp/progmodes/idlwave.el (idlwave-begin-line-comment): Strip
excessive defcustom :type quoting.
* lisp/progmodes/ps-mode.el (ps-mode-paper-size): Consolidate paper
sizes with same dimensions into a single defcustom menu entry.
* lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Remove
duplicate defcustom :type choice.
2023-09-26 09:29:39 +02:00
Po Lu
6a402bd3a7 Update Android port
* src/androidterm.c (android_draw_fringe_bitmap): Sync with
xterm.c.
2023-09-26 09:36:38 +08:00
Po Lu
719f8a51be Update Android port
* src/androidterm.c (android_clip_to_row)
(android_draw_fringe_bitmap, android_draw_hollow_cursor)
(android_draw_bar_cursor): Sync with xterm.c.

* src/xterm.c (x_draw_fringe_bitmap): Delete unused variables.
2023-09-26 09:35:51 +08:00
Po Lu
50281b4007 Properly clip overlaid fringe bitmaps
* src/xterm.c (x_draw_fringe_bitmap): Save clip rectangle from
x_clip_to_row, and draw only the intersection between it and the
fringe bitmap, for if the bitmap is overlaid, the clip mask will
override the clip rectangle.
(x_clip_to_row): New argument *RECT_RETURN.  All callers
changed.
2023-09-26 09:30:04 +08:00
Basil L. Contovounesios
50e913c956 Fix a couple of doc-view user options
* lisp/doc-view.el (doc-view-pdf->png-converter-function): Fix
placement and formatting of function-item :doc strings.
(doc-view-odf->pdf-converter-program): Ditto.  Tweak initialization
logic to ensure initial value is non-nil and matches :type.  Mention
preferred executable soffice first.
(doc-view-mode-p): Assume doc-view-odf->pdf-converter-program is
always non-nil.
2023-09-25 21:39:01 +02:00
Mattias Engdegård
091b8de586 Use heuristic to speed up allocation of small vectors (bug#65491)
Instead of scanning vector_free_lists from the appropriate size until
we find a nonempty bucket, start at the last bucket where we last put
something in.  This may favour splitting larger vectors than necessary
but in general saves a lot of time in the allocation of small vectors.

Original patch by Ihor Radchenko.

* src/alloc.c (last_inserted_vector_free_idx): New variable.
(setup_on_free_list): Set it.
(allocate_vector_from_block): Use it.
(sweep_vectors): Reset it.
2023-09-25 17:33:21 +02:00
Mattias Engdegård
aa28527500 Remove useless half of vector_free_lists array (bug#65491)
The latter half of vector_free_lists was never used in any meaningful
way but it did require traversal during allocation and GC.  Reduce it
to sizes we actually allocate, with a bucket for bigger ones.

* src/alloc.c (VECTOR_MAX_FREE_LIST_INDEX): Rename to...
(VECTOR_FREE_LIST_ARRAY_SIZE): ... this and adjust its value.
(vector_free_lists): Use new, smaller size.
(setup_on_free_list, allocate_vector_from_block):
Adapt to new vector_free_lists size.
(pseudovector_nbytes): New function extracted from...
(vectorlike_nbytes): ...here.
2023-09-25 16:49:29 +02:00
Mattias Engdegård
98a1e480c6 ; flymake-proc.el: move variable declarations
* lisp/progmodes/flymake-proc.el (flymake-proc--temp-source-file-name)
(flymake-proc--temp-master-file-name): Move to before first use.
2023-09-25 15:16:31 +02:00
Mattias Engdegård
f616edb4cc macroexp-parse-body: correct parsing of empty body (bug#66136)
* lisp/emacs-lisp/macroexp.el (macroexp-parse-body):
Return an empty body even when there are declarations present.
Previously, the last declaration was considered part of the body,
which is only correct if the input consists of a single string.

Reported by Jens Schmidt.
2023-09-25 15:04:17 +02:00
Stefan Monnier
6c99e4e384 * lisp/faces.el (read-face-name): Expose all lambdas to the compiler 2023-09-25 08:02:29 -04:00
Stefan Kangas
9f91a1c3eb Make insert-directory-program a defcustom; use "gls" on *BSD
* lisp/files.el (insert-directory-program): Change into defcustom.
Default to "gls" on *BSD and macOS.  (Bug#64791)
2023-09-25 11:36:14 +02:00
Po Lu
df5a9a78b5 Update Android port
* doc/lispref/os.texi (Desktop Notifications): Revise
documentation for android-notifications-notify to reflect
changes.

* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Convert notification importance to a legacy priority between
Android 7.1 and 4.1.

* java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Remove
immutable bitmap constructor, as the underlying Android API
functions are erroneously implemented.

* src/android.c (android_init_emacs_pixmap): Cease searching for
deleted constructor.
(android_create_pixmap_from_bitmap_data): Create a pixmap, then
fill it with the contents of the bitmap, in lieu of employing
the aforementioned constructor.

* src/androidselect.c (Fandroid_notifications_notify): Revise
doc string.
2023-09-25 13:01:44 +08:00
Stefan Kangas
947409d408 Move bind-key.el from lisp/use-package directory
* lisp/use-package/bind-key.el: Move file from here...
* lisp/bind-key.el: ...to here.  (Bug#62751)
2023-09-24 22:21:42 +02:00
Po Lu
38cd3cb433 Update Android port
* java/org/gnu/emacs/EmacsSdk11Clipboard.java
(getClipboardData): Correct typo in comment.

* src/androidvfs.c (android_authority_open)
(android_saf_delete_document): Circumvent JNI dynamic method
dispatch.
2023-09-24 18:19:54 +08:00
João Távora
81c6569e65 Flymake: unbreak tests
Flymake's normal behaviour implies catching the errors of misbehaving
backends.  This behavior is tested by Flymake's automated tests, built
on top of ERT, which means that debug-on-error is always t in the
bodies of said tests (I don't know the rationale for this, but it's
been like this for some time)

Flymake used to shun usage of 'condition-case-unless-debug' because of
this.  But since that macro is pretty useful, I started using it
again, and as a consequence, tests started breaking.

The solution is to:

1. stop requiring the deprecated legacy backend 'flymake-proc' (which
by design, always errors, except in rare circumstances).

2. deliberately set debug-on-error to nil around the "dummy backends""
test.

* lisp/progmodes/flymake.el (flymake-proc): Don't require it by
default.

* test/lisp/progmodes/flymake-tests.el:
(dummy-backends): Make robust to ert's debug-on-error setting.
2023-09-24 09:07:27 +01:00
Stefan Kangas
9b933a6033 ; Fix typos 2023-09-24 09:04:43 +02:00
Stefan Kangas
1cdc5cdc56 ; Normalize sort-fields-syntax-table definition
* lisp/sort.el (sort-fields-syntax-table): Normalize definition.
2023-09-24 08:09:24 +02:00
Stefan Kangas
12fe4741b6 ; Delete redundant requires from cperl-mode.el
* lisp/progmodes/cperl-mode.el: Delete redundant requires.
2023-09-24 02:53:24 +02:00
Eric Abrahamsen
450ca9951a Use delete-region in Gnus message yanking
See Bug#66106

* lisp/gnus/gnus-msg.el (gnus-summary-reply): Not erase-buffer. The
intention was to narrow the buffer to the headers, and then delete
just those headers. But erase-buffer doesn't respect narrowing, so
use (delete-region (point-min) (point-max)) instead.
2023-09-23 15:33:53 -07:00
Eli Zaretskii
9babf61145 ; Merge from origin/emacs-29
The following commit was skipped:

ead491d230 ; Handle authentication properly when reconnecting to IRC
2023-09-23 09:41:11 -04:00
Eli Zaretskii
6d8801ee73 Merge from origin/emacs-29
476933b235 ; * lisp/simple.el (shell-command-to-string): Fix quotation.
e27ec0e414 Improve remote-file-name-inhibit-cache :type
2023-09-23 09:41:11 -04:00
Eli Zaretskii
924f9bd08a ; Merge from origin/emacs-29
The following commit was skipped:

de50e2ad4c Ensure bind-key is its own package
2023-09-23 09:41:10 -04:00
Eli Zaretskii
617c358da7 Merge from origin/emacs-29
c966e7ec38 * lisp/net/tramp.el (tramp-skeleton-write-region): Fix mi...
a2953ea300 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
5cba5ee890 Fix tree-sitter range update function
41333cb2d5 ; * etc/NEWS: Fix typos.
a3a9ed40d8 ; * CONTRIBUTE: Clarify "mark" wrt NEWS entries.  (Bug#66...
0a6a9ac6f1 ; * etc/NEWS: Fix last change.
5611274bbd Announce handling 'org-protocol' URI scheme in NEWS

# Conflicts:
#	lisp/treesit.el
2023-09-23 09:41:02 -04:00
Eli Zaretskii
a643d7e85b ; Merge from origin/emacs-29
The following commit was skipped:

1500e4b432 Make emacsclient handle org-protocol:// links
2023-09-23 09:32:57 -04:00
Eli Zaretskii
cc8726d2c8 Merge from origin/emacs-29
6bc3800000 Ensure ucs-names is consistent with Unicode names
93134bb9c2 Make key-translate actually work
85f49a9bc8 Update to Org 9.6.9
2826c26537 Add leim subdirectories to emacs package
2023-09-23 09:32:57 -04:00
Eli Zaretskii
36e78f1480 ; Merge from origin/emacs-29
The following commit was skipped:

9aab258b80 Add missing builtin package declarations
2023-09-23 09:32:57 -04:00
Eli Zaretskii
c79a4c49ca Merge from origin/emacs-29
71a1f0fdc9 Add more missing builtin package declarations
94705f8300 ; Fix last change in shell-command-to-string
2023-09-23 09:32:56 -04:00
Eli Zaretskii
d56464b9d1 ; Merge from origin/emacs-29
The following commit was skipped:

c3a7084573 ; * lisp/progmodes/flymake.el (flymake-mode): Fix 'cond'.
2023-09-23 09:32:56 -04:00
Eli Zaretskii
3edd7f8453 Merge from origin/emacs-29
94bef169e2 Document shell-command-to-string security considerations
b74d9e8bad Fix shell-indirect-setup-hook :type (Bug#66051)
f549d4330f Remove column quoting from sqlite-mode
cf7efabe3f Add indentation rules for type_arguments
2023-09-23 09:32:56 -04:00
Manphiz
ead491d230 ; Handle authentication properly when reconnecting to IRC
* lisp/net/rcirc.el (rcirc-reconnect): Set 'rcirc-user-authenticated'
to nil before reconnecting.  (Bug#65882)
2023-09-23 14:54:26 +02:00
Po Lu
024432e583 Enlarge dumped_data
* src/w32heap.c (DUMPED_HEAP_SIZE): Increase to 24 MiB, the bare
minimum necessary to build a 32-bit Emacs.
2023-09-23 14:20:58 +08:00
Eli Zaretskii
476933b235 ; * lisp/simple.el (shell-command-to-string): Fix quotation. 2023-09-23 09:09:03 +03:00
Po Lu
5bd6f963f6 Correct comparisons between size_t and ssize_t
* src/sfnt.c (sfnt_read_table_directory, sfnt_read_cmap_format_0)
(sfnt_read_cmap_format_2, sfnt_read_cmap_format_4)
(sfnt_read_cmap_format_6, sfnt_read_cmap_format_8)
(sfnt_read_cmap_format_12, sfnt_read_cmap_format_14)
(sfnt_read_cmap_table_1, sfnt_read_cmap_table)
(sfnt_read_head_table, sfnt_read_hhea_table, sfnt_read_maxp_table)
(sfnt_read_glyf_table, sfnt_read_hmtx_table, sfnt_read_name_table)
(sfnt_read_meta_table, sfnt_read_ttc_header)
(sfnt_read_default_uvs_table, sfnt_read_nondefault_uvs_table)
(sfnt_read_fvar_table, sfnt_read_gvar_table, sfnt_read_avar_table)
(sfnt_read_cvar_table, sfnt_read_OS_2_table):

* src/sfntfont.c (sfnt_enum_font): Revise code written with only
signed `long' in mind to properly compare size_t values with
ssize_t.
2023-09-23 10:07:38 +08:00
Po Lu
3a1e65bd8e Properly apply XY offsets to compound component glyphs
* src/sfnt.c (sfnt_decompose_compound_glyph): Avoid overwriting
X and Y if defer_offsets is false.
2023-09-23 09:31:17 +08:00
Po Lu
d2f024af61 Display background dialogs using the correct style
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Wrap
CONTEXT within EmacsStyle such that dialogs are displayed in the
same style used by activities.
2023-09-23 08:31:45 +08:00
Basil L. Contovounesios
e27ec0e414 Improve remote-file-name-inhibit-cache :type
* lisp/files.el (remote-file-name-inhibit-cache)
(shell-highlight-undef-remote-file-name-inhibit-cache): Avoid
duplicated :tag string.  Try to clarify wording and
formatting (bug#66150).
* lisp/shell.el (shell--highlight-undef-exec-cache): Reference
correct user option in docstring.
2023-09-22 15:15:36 +02:00
Philip Kaludercic
d1d444c2b7 File-expand DIRECTORY argument to vc-clone
* lisp/vc/vc.el (vc-clone): Expand directory to avoid issues when
invoking the subprocess.  (Bug#66115)
2023-09-22 12:48:53 +02:00
Stefan Kangas
de50e2ad4c Ensure bind-key is its own package
* lisp/finder.el (finder--builtins-alist): Remove "use-package"
directory.
* lisp/use-package/bind-key.el: Declare library as part of the
'bind-key' package.
* lisp/use-package/use-package-bind-key.el:
* lisp/use-package/use-package-core.el:
* lisp/use-package/use-package-delight.el:
* lisp/use-package/use-package-diminish.el:
* lisp/use-package/use-package-ensure-system-package.el:
* lisp/use-package/use-package-ensure.el:
* lisp/use-package/use-package-jump.el:
* lisp/use-package/use-package-lint.el: Declare library as part of the
'use-package' package.  (Bug#62751)

Do not merge to master.
2023-09-22 12:32:13 +02:00
Po Lu
d71b9673a0 Enable opening mailto URLs under Android
* doc/emacs/android.texi (Android Startup): Mention how mailto
URLs are treated by the emacsclient wrapper.

* java/AndroidManifest.xml.in: Register `mailto' scheme filters
for EmacsOpenActivity.

* java/org/gnu/emacs/EmacsOpenActivity.java (startEmacsClient):
Extract code that starts Emacs when it isn't already running,
and take a list of arguments rather than a single file name.
(onCreate): If the scheme is `mailto', escape the URI and call
`message-mailto'.
2023-09-22 09:36:40 +08:00
João Távora
9db3fbd369 Flymake: new 'short' option for flymake-show-diagnostics-at-end-of-line
bug#66041

* lisp/progmodes/flymake.el (Version): Bump to 1.3.6
(flymake-eol-information-face): New face.
(flymake-show-diagnostics-at-end-of-line): Support new value short.
(flymake--eol-overlay-summary): Rework.
(flymake--highlight-line):
2023-09-21 22:35:31 +01:00
Manphiz
a45d33d8aa ; Handle authentication properly when reconnecting to IRC
* lisp/net/rcirc.el (rcirc-reconnect): Set 'rcirc-user-authenticated'
to nil before reconnecting.  (Bug#65882)
2023-09-21 18:28:30 +02:00
Philip Kaludercic
842411f09b package-tests.el: Add test Bug#65475
* test/lisp/emacs-lisp/package-tests.el (with-package-test): Bind
package-selected-packages.
(package-test-bug65475): Add test.
2023-09-21 18:28:30 +02:00
Philip Kaludercic
24b8d13fc1 ; Handle edge-case when deleting the last package
* lisp/emacs-lisp/package.el (package-delete): Rebind 'package-alist'
while calling 'package--used-elsewhere-p'.  (bug#65475)
2023-09-21 18:28:30 +02:00
Stefan Monnier
cc9bfcafb9 * src/regex-emacs.c (mutually_exclusive_aux) [ENABLE_CHECKING]: Fix if 2023-09-21 11:58:44 -04:00
Stefan Monnier
424b35fa24 regex-emacs.c (mutually_exclusive_aux): Rework again
Rework the way we handle loops.  This new code does not really work
better than the previous one, but it has the advantage of being "fail
safe" and also that we can dynamically check if our assumptions about
the shape of the bytecode are satisfied or not.

* src/regex-emacs.c (mutually_exclusive_aux): Replace `done_beg` and
`done_end` with `loop_beg` and `loop_end`.
(mutually_exclusive_p): Adjust accordingly.
(analyze_first): Fix incorrect assertion.
2023-09-21 11:47:31 -04:00
João Távora
57c6c067d3 Flymake: fix bug in end-of-line overlay updates
* lisp/progmodes/flymake.el (flymake--update-eol-overlays): Rename
from flymake--eol-overlay-update and fix.
(flymake--handle-report): Call flymake--update-eol-overlays.
2023-09-21 14:03:13 +01:00
Michael Albinus
c966e7ec38 * lisp/net/tramp.el (tramp-skeleton-write-region): Fix missing comma.
(Bug#66123)
2023-09-21 09:21:20 +02:00