2025-01-30 Eli Zaretskii <eliz@gnu.org>
- * src/puresize.h (BASE_PURESIZE): Increase (bug#75907).
+ * src/puresize.h (BASE_PURESIZE): Increase. (bug#75907)
2025-01-28 Stefan Kangas <stefankangas@gmail.com>
Add "text" as a thing in tsx-ts-mode
* lisp/progmodes/typescript-ts-mode.el (tsx-ts-mode): Add
- definition of "text" (bug#75422).
+ definition of "text". (bug#75422)
2025-01-09 Nikolaos Chatzikonstantinou <nchatz314@gmail.com>
(INTERVAL_GENERALLY_WRITABLE_P, INTERVAL_EXPRESSLY_WRITABLE_P):
... two new macros.
- * src/textprop.c (verify_interval_modification): If the buffer
- is read only, verify not that there is only a single exempting
- interval spanning the area of a multiple-character operation,
- but that every intervening interval in such an operation exempts
- it from write restrictions, either by providing a read-only
- property that appears in Vinhibit_read_only, or by providing an
+ * src/textprop.c (verify_interval_modification): If the buffer is
+ read only, verify not that there is only a single exempting
+ interval spanning the area of a multiple-character operation, but
+ that every intervening interval in such an operation exempts it
+ from write restrictions, either by providing a read-only property
+ that appears in Vinhibit_read_only, or by providing an
inhibit-read-only property.
- * test/src/textprop-tests.el (textprop-interval-immutability):
- New test.
+ * test/src/textprop-tests.el (textprop-interval-immutability): New
+ test.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
Work around bad GCC diagnostic in select_window
- * src/textconv.c (select_window): Add an eassume to work
- around GCC bug 114893.
+ * src/textconv.c (select_window): Add an eassume to work around
+ GCC bug 114893.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 14 -Wstring-operflow in ftfont.c
* src/ftfont.c (ftfont_drive_otf): Do not crash if
- spec->features[i] is nonnull but is empty.
- Use gfeatures local to pacify GCC 14.
+ spec->features[i] is nonnull but is empty. Use gfeatures local to
+ pacify GCC 14.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 14 -Wnull-dereference in intervals.c
- * src/intervals.c (set_intervals_multibyte_1):
- Add an eassume to pacify GCC. Deparenthesisze.
+ * src/intervals.c (set_intervals_multibyte_1): Add an eassume to
+ pacify GCC. Deparenthesisze.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
* src/lisp.h (tim_sort): Require array arg to be nonnull.
* src/sort.c (reverse_slice): Omit no-longer-needed eassert.
- (tim_sort): Avoid undefined behavior when length == 0,
- since reverse_slice would then compute &seq[-1].
+ (tim_sort): Avoid undefined behavior when length == 0, since
+ reverse_slice would then compute &seq[-1].
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 14 -Wnull-dereference
* src/xterm.c (x_dpyinfo): New function, which acts like
- x_display_info_for_display except it always returns nonnull.
- This simplifies callers and pacifies GCC 14. All callers changed.
+ x_display_info_for_display except it always returns nonnull. This
+ simplifies callers and pacifies GCC 14. All callers changed.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
Pacify GCC 14 -Walloc-size
- * src/xfns.c (xic_string_conversion_callback): Allocate size 1, not 0.
+ * src/xfns.c (xic_string_conversion_callback): Allocate size 1,
+ not 0.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
etags: fix #line parsing (\\", long lines)
- * lib-src/etags.c (readline): Don’t mishandle lines like
- ‘#line 1 "a//"’, which has an escaped backslash before ‘"’.
- Don’t mishandle lines so long that sscanf overflows %n.
+ * lib-src/etags.c (readline): Don’t mishandle lines like ‘#line 1
+ "a//"’, which has an escaped backslash before ‘"’. Don’t
+ mishandle lines so long that sscanf overflows %n.
2024-04-30 Paul Eggert <eggert@cs.ucla.edu>
Simplify etags.c by omitting a macro
- * lib-src/etags.c (xnew): Remove. All uses removed.
- xnew was confusing, as sometimes it was used with n=1,
- sometimes with Type=char, and it’s easier just to use xmalloc
- or xnmalloc.
+ * lib-src/etags.c (xnew): Remove. All uses removed. xnew was
+ confusing, as sometimes it was used with n=1, sometimes with
+ Type=char, and it’s easier just to use xmalloc or xnmalloc.
2024-04-30 Michael Albinus <michael.albinus@gmx.de>
2024-04-30 Andrea Corallo <acorallo@gnu.org>
- * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix type declaration.
+ * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix type
+ declaration.
2024-04-30 Po Lu <luangruo@yahoo.com>
* lisp/net/eww.el (eww-check-text-conversion): Fix doc string.
(eww-mode): Specify face, eww-form and field as nonsticky
properties by default.
- (eww-tag-textarea, eww-form-text): Render properties
- front-sticky.
+ (eww-tag-textarea, eww-form-text): Render properties front-sticky.
(eww-process-text-input): Use field functions to compute field
bounds.
Use the nthcdr byte-op for drop, and raise open-code limit
- * lisp/emacs-lisp/byte-opt.el (byte-optimize-nthcdr):
- Open-code for any integral N<5. Always use the byte-op otherwise.
+ * lisp/emacs-lisp/byte-opt.el (byte-optimize-nthcdr): Open-code
+ for any integral N<5. Always use the byte-op otherwise.
2024-04-29 Eric Abrahamsen <eric@ericabrahamsen.net>
Add (semi-redundant) fix to nnatom backend declaration
- * lisp/gnus/gnus.el (gnus-valid-select-methods): We need a value for
- post/mail/none in order to conform to the option type.
- * lisp/gnus/nnatom.el: This call to gnus-declare-backend does the exact
- same thing as above, and needs to be adjusted accordingly.
+ * lisp/gnus/gnus.el (gnus-valid-select-methods): We need a value
+ for post/mail/none in order to conform to the option type.
+ * lisp/gnus/nnatom.el: This call to gnus-declare-backend does the
+ exact same thing as above, and needs to be adjusted accordingly.
2024-04-29 Andrea Corallo <acorallo@gnu.org>
Rename property 'declared-type' to 'function-type'
- * lisp/emacs-lisp/byte-run.el (byte-run--set-function-type): Rename.
+ * lisp/emacs-lisp/byte-run.el (byte-run--set-function-type):
+ Rename.
(defun-declarations-alist): Update.
* lisp/emacs-lisp/comp.el (comp--get-function-cstr): Likewise.
(disassemble-internal): Handle new function values
* lisp/emacs-lisp/disass.el (disassemble-internal): Fix the
- `interpreted-function` case.
+ `interpreted-function' case.
2024-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
- oclosure-tests.el: Adjust to new `interpreted-function` type
+ oclosure-tests.el: Adjust to new `interpreted-function' type
- * test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test-gen): Adjust to
- new `interpreted-function` type.
+ * test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test-gen):
+ Adjust to new `interpreted-function' type.
(oclosure-test): Tweak accordingly.
2024-04-29 Andrea Corallo <acorallo@gnu.org>
- * Document function type declarations
+ Document function type declarations
- * doc/lispref/functions.texi (Declare Form): Document function type
- declaration.
+ * doc/lispref/functions.texi (Declare Form): Document function
+ type declaration.
2024-04-29 Andrea Corallo <acorallo@gnu.org>
- Move lisp function arg type declarations to the functions itself
+ Move lisp function arg type declarations to the functions itself
* lisp/emacs-lisp/comp-common.el (comp-primitive-type-specifiers):
Remove type declaration of lisp functions.
* lisp/env.el (getenv): Likewise.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Likewise.
* lisp/emacs-lisp/lisp.el (buffer-end): Likewise.
- * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Likewise.
+ * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons):
+ Likewise.
* lisp/custom.el (custom-variable-p): Likewise.
2024-04-29 Andrea Corallo <acorallo@gnu.org>
* lisp/emacs-lisp/comp.el (comp-primitive-func-cstr-h): Rename.
(comp--get-function-cstr): Define new function.
(comp--add-call-cstr, comp--fwprop-call): Update.
- * lisp/emacs-lisp/comp-common.el (comp-function-type-spec): Update.
+ * lisp/emacs-lisp/comp-common.el (comp-function-type-spec):
+ Update.
* lisp/help-fns.el (help-fns--signature): Mention when a type is
declared.
* lisp/emacs-lisp/comp.el (comp-primitive-func-cstr-h): Rename.
2024-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
- (byte-compile): Fix interaction with old `advice.el`
+ (byte-compile): Fix interaction with old `advice.el'
* lisp/emacs-lisp/bytecomp.el (byte-compile): Handle symbols whose
- function "value" is a bare lambda expression (bug#70368).
+ function "value" is a bare lambda expression. (bug#70368)
2024-04-29 Andrea Corallo <acorallo@gnu.org>
- * Add function type declarations for Lisp functions
+ Add function type declarations for Lisp functions
- * lisp/emacs-lisp/byte-run.el (byte-run--set-declared-type): Add alias.
+ * lisp/emacs-lisp/byte-run.el (byte-run--set-declared-type): Add
+ alias.
(defun-declarations-alist): Use it for 'type' declaration.
2024-04-29 Mattias Engdegård <mattiase@acm.org>
- Declare the variable `rx-constituents` obsolete.
+ Declare the variable `rx-constituents' obsolete.
It has been effectively obsolete since Emacs 27, when the modern
extension mechanism was introduced.
* lisp/emacs-lisp/rx.el (rx-constituents): Make obsolete.
- * test/lisp/emacs-lisp/rx-tests.el (rx-constituents): Suppress warning.
+ * test/lisp/emacs-lisp/rx-tests.el (rx-constituents): Suppress
+ warning.
* etc/NEWS: Announce.
2024-04-29 Mattias Engdegård <mattiase@acm.org>
Add NEWS.unknown file to correct versions of introduction
- It is not intended for the human reader, but to give less wrong versions
- of first appearance displayed by `describe-function` or
- `describe-variable` that would otherwise be derived from a notice in a
- more recent NEWS* file.
+ It is not intended for the human reader, but to give less wrong
+ versions of first appearance displayed by `describe-function' or
+ `describe-variable' that would otherwise be derived from a notice
+ in a more recent NEWS* file.
- It is better to add items to this file than changing historical NEWS*
- files when the actual version of introduction is not known.
+ It is better to add items to this file than changing historical
+ NEWS* files when the actual version of introduction is not known.
- * etc/NEWS.unknown: New file. Add entry for `nthcdr`.
+ * etc/NEWS.unknown: New file. Add entry for `nthcdr'.
2024-04-29 Mattias Engdegård <mattiase@acm.org>
- Add `drop` as alias for `nthcdr`
+ Add `drop' as alias for `nthcdr'
It's a common name for this function and symmetric with respect to
- `take`. It's also a lot less awkward to type and say.
+ `take'. It's also a lot less awkward to type and say.
* lisp/subr.el (drop): New alias.
* doc/lispref/lists.texi (List Elements): Document. Mention the
- equation tying `take` and `drop` together.
+ equation tying `take' and `drop' together.
* etc/NEWS: Announce.
2024-04-29 Mattias Engdegård <mattiase@acm.org>
Fix value< string comparison ungoodthink
* src/fns.c (string_cmp): Fix bad comparisons for certain strings.
- This only affected `value<` for aggregates, not `string<`.
+ This only affected `value<' for aggregates, not `string<'.
* test/src/fns-tests.el (fns-value<-ordered): Add test cases.
2024-04-29 Visuwesh <visuweshm@gmail.com>
Fix errors in 'shr-correct-dom-case'
- * lisp/net/shr.el (shr-correct-dom-case): Don't assume each CHILD is
- a cons cell. (Bug#70626)
+ * lisp/net/shr.el (shr-correct-dom-case): Don't assume each CHILD
+ is a cons cell. (Bug#70626)
2024-04-29 Po Lu <luangruo@yahoo.com>
* lisp/net/eww.el (eww-check-text-conversion): New function.
(eww-mode): Install it as a local post-command-hook.
- (eww-submit-map, eww-submit-file, eww-checkbox-map): Bind
- suitable commands to mouse-2.
+ (eww-submit-map, eww-submit-file, eww-checkbox-map): Bind suitable
+ commands to mouse-2.
(eww-form-submit, eww-form-checkbox, eww-form-file)
(eww-tag-select): Disguise inserted forms as buttons, that touch
event translation may prefer their bindings to mouse-2 over
Take fields into account during text conversion
- * lisp/cus-edit.el (Custom-mode): Enable text conversion, now
- that fields are correctly treated.
+ * lisp/cus-edit.el (Custom-mode): Enable text conversion, now that
+ fields are correctly treated.
* src/alloc.c (mark_frame): Mark f->conversion.field.
- * src/androidterm.c (android_update_selection): Adjust
- conversion region and selection position by the field start and
- end.
+ * src/androidterm.c (android_update_selection): Adjust conversion
+ region and selection position by the field start and end.
* src/editfns.c (find_field): Export function.
* src/lisp.h (find_fields, reset_frame_conversion): Export
functions.
- * src/minibuf.c (Fread_from_minibuffer): Reset frame conversion
- if Voverriding_text_conversion_style is set.
+ * src/minibuf.c (Fread_from_minibuffer): Reset frame conversion if
+ Voverriding_text_conversion_style is set.
* src/textconv.c (textconv_query): Narrow to field.
(reset_frame_conversion): New function.
Use a dedicated type to represent interpreted-function values
- Change `function` so that when evaluating #'(lambda ...)
- we return an object of type `interpreted-function` rather than
- a list starting with one of `lambda` or `closure`.
- The new type reuses the existing PVEC_CLOSURE (nee PVEC_COMPILED)
- tag and tries to align the corresponding elements:
+ Change `function' so that when evaluating #'(lambda ...) we
+ return an object of type `interpreted-function' rather than a list
+ starting with one of `lambda' or `closure'. The new type reuses
+ the existing PVEC_CLOSURE (nee PVEC_COMPILED) tag and tries to
+ align the corresponding elements:
- the arglist, the docstring, and the interactive-form go in the
same slots as for byte-code functions.
- the lexical context goes in the slot used for the constants of
bytecoded functions.
- The first point above means that `help-function-arglist`,
- `documentation`, and `interactive-form`s don't need to
- distinguish interpreted and bytecode functions any more.
+ The first point above means that `help-function-arglist',
+ `documentation', and `interactive-form's don't need to distinguish
+ interpreted and bytecode functions any more.
Main benefits of the change:
- We can now reliably distinguish a list from a function value.
- - `cl-defmethod` can dispatch on `interactive-function` and `closure`.
- Dispatch on `function` also works now for interpreted functions but still
- won't work for functions represented as lists or as symbols, of course.
+ - `cl-defmethod' can dispatch on `interactive-function' and `closure'.
+ Dispatch on `function' also works now for interpreted functions
+ but still won't work for functions represented as lists or as
+ symbols, of course.
- Function values are now self-evaluating. That was alrready the case
when byte-compiled, but not when interpreted since
(eval '(closure ...)) signals a void-function error.
- That also avoids false-positive warnings about "don't quote your lambdas"
- when doing things like `(mapcar ',func ...)`.
+ That also avoids false-positive warnings about "don't quote your
+ lambdas" when doing things like "(mapcar ',func ...)".
* src/eval.c (Fmake_interpreted_closure): New function.
(Ffunction): Use it and change calling convention of
- `Vinternal_make_interpreted_closure_function`.
+ `Vinternal_make_interpreted_closure_function'.
(FUNCTIONP, Fcommandp, eval_sub, funcall_general, funcall_lambda)
(Ffunc_arity, lambda_arity): Simplify.
(funcall_lambda): Adjust to new representation.
- (syms_of_eval): `defsubr` the new function. Remove definition of `Qclosure`.
+ (syms_of_eval): `defsubr' the new function. Remove definition of
+ `Qclosure'.
* lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure):
- Change calling convention and use `make-interpreted-closure`.
+ Change calling convention and use `make-interpreted-closure'.
- * src/data.c (Fcl_type_of): Distinguish `byte-code-function`s from
- `interpreted-function`s.
+ * src/data.c (Fcl_type_of): Distinguish `byte-code-function's from
+ `interpreted-function's.
(Fclosurep, finterpreted_function_p): New functions.
- (Fbyte_code_function_p): Don't be confused by `interpreted-function`s.
+ (Fbyte_code_function_p): Don't be confused by
+ `interpreted-function's.
(Finteractive_form, Fcommand_modes): Simplify.
- (syms_of_data): Define new type symbols and `defsubr` the two
- new functions.
+ (syms_of_data): Define new type symbols and `defsubr' the two new
+ functions.
- * lisp/emacs-lisp/cl-print.el (cl-print-object) <interpreted-function>:
- New method.
+ * lisp/emacs-lisp/cl-print.el (cl-print-object)
+ <interpreted-function>: New method.
- * lisp/emacs-lisp/oclosure.el (oclosure): Refine the parent
- to be `closure`.
+ * lisp/emacs-lisp/oclosure.el (oclosure): Refine the parent to be
+ `closure'.
(oclosure--fix-type, oclosure-type): Simplify.
- (oclosure--copy, oclosure--get, oclosure--set): Adjust to
- new representation.
+ (oclosure--copy, oclosure--get, oclosure--set): Adjust to new
+ representation.
* src/callint.c (Fcall_interactively): Adjust to new representation.
* src/lread.c (bytecode_from_rev_list):
* lisp/simple.el (function-documentation):
- * lisp/help.el (help-function-arglist): Remove the old `closure` case
- and adjust the byte-code case so it handles `interpreted-function`s.
+ * lisp/help.el (help-function-arglist): Remove the old `closure'
+ case and adjust the byte-code case so it handles
+ `interpreted-function's.
* lisp/emacs-lisp/cl-preloaded.el (closure): New type.
(byte-code-function): Add it as a parent.
(interpreted-function): Adjust parent (the type itself was already
added earlier by accident).
- * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Adjust to
- new representation.
- (byte-compile): Use `interpreted-function-p`.
+ * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function):
+ Adjust to new representation.
+ (byte-compile): Use `interpreted-function-p'.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust to
new representation.
- (side-effect-free-fns): Add `interpreted-function-p` and `closurep`.
+ (side-effect-free-fns): Add `interpreted-function-p' and
+ `closurep'.
* src/profiler.c (trace_hash, ffunction_equal): Simplify.
* lisp/profiler.el (profiler-function-equal): Simplify.
- * lisp/emacs-lisp/nadvice.el (advice--interactive-form-1):
- Use `interpreted-function-p`; adjust to new representation; and take
- advantage of the fact that function values are now self-evaluating.
+ * lisp/emacs-lisp/nadvice.el (advice--interactive-form-1): Use
+ `interpreted-function-p'; adjust to new representation; and take
+ advantage of the fact that function values are now
+ self-evaluating.
- * lisp/emacs-lisp/lisp-mode.el (closure):
- Remove `lisp-indent-function` property.
+ * lisp/emacs-lisp/lisp-mode.el (closure): Remove
+ `lisp-indent-function' property.
- * lisp/emacs-lisp/disass.el (disassemble-internal): Adjust to
- new representation.
- * lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation):
- Use `interpreted-function-p`.
- * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
- Add `closurep` and `interpreted-function-p`.
+ * lisp/emacs-lisp/disass.el (disassemble-internal): Adjust to new
+ representation.
+ * lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation): Use
+ `interpreted-function-p'.
+ * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Add
+ `closurep' and `interpreted-function-p'.
- * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Adjust to
- more precise type info in `describe-function`.
- * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d--render-entries):
- Use `interpreted-function-p`.
+ * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Adjust
+ to more precise type info in `describe-function'.
+ * test/lisp/erc/resources/erc-d/erc-d-tests.el
+ (erc-d--render-entries): Use `interpreted-function-p'.
* test/lisp/emacs-lisp/macroexp-resources/vk.el (vk-f4, vk-f5):
Don't hardcode function values.
- * doc/lispref/functions.texi (Anonymous Functions): Don't suggest that
- function values are lists. Reword "self-quoting" to reflect the
- fact that #' doesn't return the exact same object. Update examples
- with the new shape of the return value.
+ * doc/lispref/functions.texi (Anonymous Functions): Don't suggest
+ that function values are lists. Reword "self-quoting" to reflect
+ the fact that #' doesn't return the exact same object. Update
+ examples with the new shape of the return value.
* doc/lispref/variables.texi (Lexical Binding):
* doc/lispref/lists.texi (Rearrangement):
- * doc/lispref/control.texi (Handling Errors): Update examples to reflect
- new representation of function values.
+ * doc/lispref/control.texi (Handling Errors): Update examples to
+ reflect new representation of function values.
2024-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
(COMPILED): Rename to CLOSURE
- In preparation for the use of `PVEC_COMPILED` objects for
+ In preparation for the use of `PVEC_COMPILED' objects for
interpreted functions, rename them to use a more neutral name.
- * src/lisp.h (enum pvec_type): Rename `PVEC_COMPILED` to `PVEC_CLOSURE`.
- (enum Lisp_Compiled): Use `CLOSURE_` prefix i.s.o `COMPILED_`.
+ * src/lisp.h (enum pvec_type): Rename `PVEC_COMPILED' to
+ `PVEC_CLOSURE'.
+ (enum Lisp_Compiled): Use `CLOSURE_' prefix i.s.o `COMPILED_'.
Also use `CODE` rather than `BYTECODE`.
- (CLOSUREP): Rename from `COMPILEDP`.
- (enum Lisp_Closure): Rename from `Lisp_Compiled`.
+ (CLOSUREP): Rename from `COMPILEDP'.
+ (enum Lisp_Closure): Rename from `Lisp_Compiled'.
* src/alloc.c, src/bytecode.c, src/comp.c, src/data.c, src/eval.c,
* src/fns.c, src/lisp.h, src/lread.c, src/pdumper.c, src/print.c,
* src/profiler.c: Rename all uses accordingly.
- * src/.gdbinit (xclosure): Rename from `xcompiled`.
+ * src/.gdbinit (xclosure): Rename from `xcompiled'.
(xcompiled): New obsolete alias.
- (xpr): Adjust accordingly. Also adjust to new PVEC_CLOSURE tag name.
+ (xpr): Adjust accordingly. Also adjust to new PVEC_CLOSURE tag
+ name.
2024-04-28 Mattias Engdegård <mattiase@acm.org>
Implement dots and dashes on PGTK
- * src/image.c (image_create_bitmap_from_file) [HAVE_PGTK]:
- Remove unused variable.
+ * src/image.c (image_create_bitmap_from_file) [HAVE_PGTK]: Remove
+ unused variable.
* src/pgtkterm.c (pgtk_draw_dash, pgtk_fill_underline)
(pgtk_draw_glyph_string): New functions, ported from X.
2024-04-28 Po Lu <luangruo@yahoo.com>
- Fix the Haiku build
-
* src/haikuterm.c (haiku_draw_text_decoration): Remove stray
closing parenthesis.
* java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine)
(measureLine, polyDashPattern): New function.
(perform): Delegate to polyDashPattern if the line style is not
- LineSolid. Also simplify now that anti-aliasing need no longer
- be taken into account.
+ LineSolid. Also simplify now that anti-aliasing need no longer be
+ taken into account.
* java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Mention
omission in commentary.
- * java/org/gnu/emacs/EmacsGC.java (EmacsGC): Disable
- anti-aliasing in default paint object.
+ * java/org/gnu/emacs/EmacsGC.java (EmacsGC): Disable anti-aliasing
+ in default paint object.
<line_style, line>: New fields.
(markDirty): Apply stroke width.
Implement dots and dashes on X
* src/dispextern.h (enum face_underline_type): Indent and expand
- commentary as to the new dependency on the order of its
- enumerals.
+ commentary as to the new dependency on the order of its enumerals.
* src/xfaces.c (realize_gui_face): Enable dots and dashes on
window systems.
- * src/xterm.c (x_draw_underwave): Don't define unused variable
- on Cairo builds.
+ * src/xterm.c (x_draw_underwave): Don't define unused variable on
+ Cairo builds.
(x_draw_dash): New function; implement for X and Cairo.
- (x_fill_underline): New function. Delegate to x_fill_rectangle
- or x_draw_dash as appropriate.
+ (x_fill_underline): New function. Delegate to x_fill_rectangle or
+ x_draw_dash as appropriate.
(x_draw_glyph_string): Call x_fill_underline rather than
x_fill_rectangle.
* src/w32term.c (w32_draw_glyph_string): Synchronize with X.
- * src/xfaces.c (realize_gui_face): Enable `double-line' on
- window systems.
+ * src/xfaces.c (realize_gui_face): Enable `double-line' on window
+ systems.
2024-04-27 Eli Zaretskii <eliz@gnu.org>
Fix `find-grep-dired' with default OpenBSD's Grep
- * lisp/find-dired.el (find-grep-options): Use '-q' on
- OpenBSD as well. (Bug#70550)
+ * lisp/find-dired.el (find-grep-options): Use '-q' on OpenBSD as
+ well. (Bug#70550)
2024-04-27 Daniel Pettersson <daniel@dpettersson.net>
Shut down jsonrpc server more gracefully
* lisp/jsonrpc.el (jsonrpc-running-p): Avoid unnecessarily killing
- the server process. Suggested by Aaron Zeng <azeng@janestreet.com>.
- (Bug#70522)
+ the server process. Suggested by Aaron Zeng
+ <azeng@janestreet.com>. (Bug#70522)
2024-04-27 Eli Zaretskii <eliz@gnu.org>
This should fix the failing filling test for c-ts-mode.
- * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Don't
- go back to indentation.
+ * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph):
+ Don't go back to indentation.
2024-04-27 Po Lu <luangruo@yahoo.com>
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Rename
`lastVolumeButtonRelease' to `lastQuitKeyRelease'.
- (onKeyUp): Treat value returned by getQuitKeycode as the quit
- key rather than mandate KEYCODE_VOLUME_DOWN.
+ (onKeyUp): Treat value returned by getQuitKeycode as the quit key
+ rather than mandate KEYCODE_VOLUME_DOWN.
* src/android.c (getQuitKeycode): Implement new function.
- * src/androidterm.c (syms_of_androidterm)
- <android_quit_keycode>: New variable.
+ * src/androidterm.c (syms_of_androidterm) <android_quit_keycode>:
+ New variable.
2024-04-26 Gerd Möllmann <gerd@gnu.org>
* lisp/emacs-lisp/package-vc.el (vc-dir-prepare-status-buffer):
Add a declaration.
- (package-vc-upgrade): Prepare a dummy vc-dir buffer to ensure
- that 'vc-pull' (or rather 'vc-deduce-fileset') can correctly
- infer the VC backend to use. (bug#70526)
+ (package-vc-upgrade): Prepare a dummy vc-dir buffer to ensure that
+ 'vc-pull' (or rather 'vc-deduce-fileset') can correctly infer the
+ VC backend to use. (bug#70526)
2024-04-25 Juri Linkov <juri@linkov.net>
- * lisp/tab-line.el: Fix tab-line-buffers in window-persistent-parameters.
+ Fix tab-line-buffers in window-persistent-parameters
- Replace '(tab-line-buffers . writable)' with '(tab-line-buffers . t)'
- in 'window-persistent-parameters' (bug#69993).
+ * lisp/tab-line.el: Replace '(tab-line-buffers . writable)' with
+ '(tab-line-buffers . t)' in 'window-persistent-parameters'
+ (bug#69993).
2024-04-25 Juri Linkov <juri@linkov.net>
- Suppress warnings for obsolete display-comint-buffer-action (bug#69983)
+ Suppress warnings for obsolete display-comint-buffer-action
* lisp/cmuscheme.el (run-scheme, switch-to-scheme):
* lisp/shell.el (shell):
* lisp/progmodes/inf-lisp.el (inferior-lisp):
* lisp/progmodes/sh-script.el (sh-show-shell):
* lisp/textmodes/tex-mode.el (tex-display-shell)
- (tex-recenter-output-buffer): Add 'with-suppressed-warnings'
- to suppress warnings for obsolete options
- 'display-comint-buffer-action' and 'display-tex-shell-buffer-action'.
+ (tex-recenter-output-buffer): Add 'with-suppressed-warnings' to
+ suppress warnings for obsolete options
+ 'display-comint-buffer-action' and
+ 'display-tex-shell-buffer-action'. (bug#69983)
2024-04-25 Eli Zaretskii <eliz@gnu.org>
Better eval-when-compile example in manual
- * doc/lispref/compile.texi (Eval During Compile):
- `regexp-opt` makes for a poor example because as a pure function it
- doesn't need `eval-when-compile` for constant inputs.
+ * doc/lispref/compile.texi (Eval During Compile): `regexp-opt'
+ makes for a poor example because as a pure function it doesn't
+ need `eval-when-compile' for constant inputs.
2024-04-25 Po Lu <luangruo@yahoo.com>
Make c-ts-common-comment-indent-new-line work for rust doc comment
- * lisp/progmodes/c-ts-common.el (c-ts-common-comment-indent-new-line):
- Support //! comment directives.
+ * lisp/progmodes/c-ts-common.el
+ (c-ts-common-comment-indent-new-line): Support //! comment
+ directives.
2024-04-24 Yuan Fu <casouri@gmail.com>
Make c-ts-common--fill-paragraph work for rust line comment
- * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Back to
- BOL before checking for //.
+ * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph):
+ Back to BOL before checking for //.
2024-04-24 Po Lu <luangruo@yahoo.com>
Gnus: Add back end for Atom feeds (nnatom)
- * lisp/gnus/gnus.el (gnus-valid-select-methods): Add entry for nnatom.
- * lisp/gnus/nnfeed.el: New file implementing an abstract web feed back
- end.
- * lisp/gnus/nnatom.el: New file implementing a back end for Atom feeds.
+ * lisp/gnus/gnus.el (gnus-valid-select-methods): Add entry for
+ nnatom.
+ * lisp/gnus/nnfeed.el: New file implementing an abstract web feed
+ back end.
+ * lisp/gnus/nnatom.el: New file implementing a back end for Atom
+ feeds.
* doc/misc/gnus.texi (Browsing the Web, Back End Interface):
* etc/NEWS (Gnus): Document nnatom and nnfeed.
Eglot: robustify eglot-test-basic-symlink test (bug#70036)
- The previous version of this test was brittle, unstable and
- didn't really fail when supposed to (because we need main.cpp to
- not be visited when visiting mainlink.cpp). This new version is
- faster and more secure.
+ The previous version of this test was brittle, unstable and didn't
+ really fail when supposed to (because we need main.cpp to not be
+ visited when visiting mainlink.cpp). This new version is faster
+ and more secure.
* test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Add to the
jsonrpc-event-hook at the end.
Eglot: fix bug#70408 yet another way
- The previous fix based on comparing the Eglot-provided didOpen URI to
- the server-provided textDocument/publishDiagnostics URI didn't quite
- work because the URI differs slightly in escaping conventions on certain
- platforms.
+ The previous fix based on comparing the Eglot-provided didOpen URI
+ to the server-provided textDocument/publishDiagnostics URI didn't
+ quite work because the URI differs slightly in escaping
+ conventions on certain platforms.
- This elephant-size bug is easily reproducible on Windows with clangd,
- where every file is basically diagnostic-free.
+ This elephant-size bug is easily reproducible on Windows with
+ clangd, where every file is basically diagnostic-free.
* lisp/progmodes/eglot.el (eglot-path-to-uri): Rework.
- (eglot--TextDocumentIdentifier-cache):
- Rename from eglot--TextDocumentIdentifier-uri.
- (eglot-handle-notification textDocument/publishDiagnostics): Tweak.
+ (eglot--TextDocumentIdentifier-cache): Rename from
+ eglot--TextDocumentIdentifier-uri.
+ (eglot-handle-notification textDocument/publishDiagnostics):
+ Tweak.
(eglot--TextDocumentIdentifier): Rework.
- (eglot--signal-textDocument/didOpen): Tweak.
+ (eglot--signal-textDocument/didOpen): Tweak. (bug#70408)
2024-04-23 Andrea Corallo <acorallo@gnu.org>
2024-04-23 Andrea Corallo <acorallo@gnu.org>
- * Generate elisp_type_hierarchy.txt with top level types on top of it
+ Generate elisp_type_hierarchy.txt with top level types on top of
+ it.
- * admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table): Prioratize
- to level types.
+ * admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table):
+ Prioritize to level types.
2024-04-23 Andrea Corallo <acorallo@gnu.org>
Support remote trash-directory
* doc/misc/tramp.texi (Frequently Asked Questions): Describe how
- to manipulate trash-directory.
- Explain tramp-inhibit-errors-if-setting-file-attributes-fail.
+ to manipulate trash-directory. Explain
+ tramp-inhibit-errors-if-setting-file-attributes-fail.
* lisp/files.el (move-file-to-trash): Use connection-local value
of `trash-directory'. (Bug#70421)
2024-04-23 Michael Albinus <michael.albinus@gmx.de>
- * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink): Skip on EMBA.
+ * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
+ Skip on EMBA.
2024-04-23 Michael Albinus <michael.albinus@gmx.de>
* doc/emacs/android.texi (Android Windowing): Document how to
configure Emacs for monochrome displays.
- * src/androidfns.c (Fx_display_visual_class): Return
- Qstatic_gray when n_planes is smaller than 24.
+ * src/androidfns.c (Fx_display_visual_class): Return Qstatic_gray
+ when n_planes is smaller than 24.
(Fandroid_get_connection): Set n_planes by the value of
android_display_planes.
- (syms_of_androidfns): <Qstatic_gray>: New function.
+ (syms_of_androidfns) <Qstatic_gray>: New function.
* src/androidterm.c (android_alloc_nearest_color): Allocate
monochrome colors similarly to the X server.
* src/androidterm.h (struct android_display_info): New field
`n_image_planes'.
- * src/image.c (n_planes) [HAVE_ANDROID]: Define to
- n_image_planes.
+ * src/image.c (n_planes) [HAVE_ANDROID]: Define to n_image_planes.
2024-04-23 Eli Zaretskii <eliz@gnu.org>
(markDirty): Synchronize the current stipple with tileObject.
(prepareStipple, blitOpaqueStipple): New functions.
- * java/org/gnu/emacs/EmacsService.java (EmacsService)
- <resources>: New static field.
+ * java/org/gnu/emacs/EmacsService.java (EmacsService) <resources>:
+ New static field.
(onCreate): Set it.
* src/android.c (android_create_bitmap_from_data): Correct order
of arguments to android_create_pixmap_from_bitmap_data.
(HAS_BUILTIN_TRAP): Delete macro.
- (emacs_abort): Always induce backtraces by means of a NULL
- pointer deference.
+ (emacs_abort): Always induce backtraces by means of a NULL pointer
+ deference.
* src/dispextern.h (Emacs_GC, Emacs_Rectangle, GCForeground)
(GCBackground, GCFillStyle, GCStipple, FillOpaqueStipple)
- [HAVE_ANDROID]: Define to their Android counterparts rather
- than simulating their existence.
+ [HAVE_ANDROID]: Define to their Android counterparts rather than
+ simulating their existence.
* src/epaths.in: Set bitmap path to /assets/bitmaps on Android.
* src/sfntfont-android.c (sfntfont_android_put_glyphs): Assert
that this is never called to draw a stippled background.
- * src/xfaces.c (x_create_gc) [HAVE_ANDROID]: Redefine as
- wrapper around android_create_gc.
+ * src/xfaces.c (x_create_gc) [HAVE_ANDROID]: Redefine as wrapper
+ around android_create_gc.
(prepare_face_for_display) [HAVE_ANDROID]: Enable stipples.
2024-04-23 Vincenzo Pupillo <v.pupillo@gmail.com>
This fixes bug#70019 and a separate fringe-mark removal bug that
also affected bookmarks in certain Info nodes.
- * lisp/bookmark.el (bookmark--remove-fringe-mark): Fix bug#70019 by
- temporarily widening in order to ensure we fetch the right overlays.
- Also, normalize both filenames before comparing, to avoid spurious
- failure to match.
+ * lisp/bookmark.el (bookmark--remove-fringe-mark): Fix bug#70019
+ by temporarily widening in order to ensure we fetch the right
+ overlays. Also, normalize both filenames before comparing, to
+ avoid spurious failure to match.
Thanks to Dani Moncayo for the bug report and for testing.
Better format string compilation warning
- * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn):
- Speed up by eliminating the temporary buffer.
- Detect invalid format sequences. Use plurals properly.
+ * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Speed up
+ by eliminating the temporary buffer. Detect invalid format
+ sequences. Use plurals properly.
* test/lisp/emacs-lisp/bytecomp-tests.el: Update test.
2024-04-22 F. Moukayed <smfadi+emacs@gmail.com>
Ensure that Gnus inline preview undisplayer removes added newline
- * lisp/gnus/mm-view.el (mm-inline-image): Remove two characters ("x\n")
- instead of leaving behind a superfluous newline (bug#69920).
+ * lisp/gnus/mm-view.el (mm-inline-image): Remove two characters
+ ("x\n") instead of leaving behind a superfluous newline.
+ (bug#69920)
2024-04-22 Michael Albinus <michael.albinus@gmx.de>
* java/Makefile.in (CONFIG_FILE, ALL_DEPENDENCIES, READELF)
(cf-stamp-1, cf-stamp): New variables and rules; compute the set
- of library files in the order of loading and generate a file
- with this information.
+ of library files in the order of loading and generate a file with
+ this information.
(ALL_CLASS_FILES): New variable; if builddir is not srcdir,
$($(CONFIG_FILE), $(CLASS_FILES)): Depend on EmacsConfig.java.
add generated files in the build directory.
Cover more cases in c-ts-common-comment-indent-new-line
* lisp/progmodes/c-ts-common.el:
- (c-ts-common-comment-indent-new-line): Handle the case for ///, which
- is used by rust.
+ (c-ts-common-comment-indent-new-line): Handle the case for ///,
+ which is used by rust.
2024-04-22 Juri Linkov <juri@linkov.net>
- * lisp/progmodes/flymake.el: Small improvements for buffers display.
+ Small improvements for buffers display in flymake.el
- (flymake-mode-map): Bind mouse-1 click on the fringe to
- 'flymake-show-buffer-diagnostics' (bug#70459).
- (flymake-show-buffer-diagnostics): Display buffer diagnostics
- at the bottom.
+ * lisp/progmodes/flymake.el (flymake-mode-map): Bind mouse-1 click
+ on the fringe to 'flymake-show-buffer-diagnostics'. (bug#70459)
+ (flymake-show-buffer-diagnostics): Display buffer diagnostics at
+ the bottom.
(flymake-show-project-diagnostics): Display project diagnostics
at the bottom.
2024-04-22 Juri Linkov <juri@linkov.net>
- * lisp/emacs-lisp/warnings.el (warning-display-at-bottom): New defcustom.
-
- (display-warning): Use 'warning-display-at-bottom' to display
- the warning buffer at the bottom of the screen and to scroll
- to the last warning message (bug#69983).
+ * lisp/emacs-lisp/warnings.el (warning-display-at-bottom): New
+ defcustom.
+ (display-warning): Use 'warning-display-at-bottom' to display the
+ warning buffer at the bottom of the screen and to scroll to the
+ last warning message. (bug#69983)
2024-04-22 Juri Linkov <juri@linkov.net>
- * lisp/files.el (find-alternate-file): Fix the order of restoring buffer.
-
- Swap the order of restoring original buffer's file names and
- restoring original's buffer name with 'rename-buffer' (bug#68235).
+ * lisp/files.el (find-alternate-file): Fix the order of restoring
+ buffer. Swap the order of restoring original buffer's file names
+ and restoring original's buffer name with 'rename-buffer'.
+ (bug#68235)
2024-04-22 Po Lu <luangruo@yahoo.com>
Add rust-ts-mode font-locking tests (bug#70464)
- * test/lisp/progmodes/rust-ts-mode-tests.el: New file for rust-ts-mode
- tests.
- * test/lisp/progmodes/rust-ts-mode-resources/font-lock.rs: New file
- with rust-ts-mode font-locking tests. New tests added for macro
- font-locking (bug#70464) and function signatures
+ * test/lisp/progmodes/rust-ts-mode-tests.el: New file for
+ rust-ts-mode tests.
+ * test/lisp/progmodes/rust-ts-mode-resources/font-lock.rs: New
+ file with rust-ts-mode font-locking tests. New tests added for
+ macro font-locking (bug#70464) and function signatures
(bug#70465).
2024-04-22 Noah Peart <noah.v.peart@gmail.com>
* lisp/progmodes/c-ts-common.el:
(c-ts-common-comment-indent-new-line): Handle the case where user
- types M-j in the middle of a line; and when the line starts with /**.
+ types M-j in the middle of a line; and when the line starts with
+ /**.
2024-04-22 Yuan Fu <casouri@gmail.com>
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Add font-lock rule for Rust
- function signatures and missing function modifier keyword 'default'.
+ function signatures and missing function modifier keyword
+ 'default'.
2024-04-22 Yuan Fu <casouri@gmail.com>
Better verify arguments to android-relinquish-directory-access
- * src/androidvfs.c (Fandroid_relinquish_directory_access):
- Provide for NULL values from android_name_file and remote files.
+ * src/androidvfs.c (Fandroid_relinquish_directory_access): Provide
+ for NULL values from android_name_file and remote files.
* src/xdisp.c (decode_mode_spec): Don't intern file-remote-p.
(syms_of_xdisp) <Qfile_remote_p>: New defsym.
Re-encode message bodies with externalized attachments during FCC
- Bug#70338
-
- * lisp/gnus/message.el (message-do-fcc): If the user has requested to
- externalize attachments, we can't use the cached version of the message
- body from sending. This mirrors an equivalent check for GCC in
- `gnus-inews-do-gcc'.
+ * lisp/gnus/message.el (message-do-fcc): If the user has requested
+ to externalize attachments, we can't use the cached version of the
+ message body from sending. This mirrors an equivalent check for
+ GCC in `gnus-inews-do-gcc'. (bug#70338)
2024-04-20 Michael Albinus <michael.albinus@gmx.de>
gitlab-ci.yml adaptions
- * test/infra/gitlab-ci.yml (test-filenotify-gio, test-eglot):
- Add TEST_HOME.
+ * test/infra/gitlab-ci.yml (test-filenotify-gio, test-eglot): Add
+ TEST_HOME.
(test-tree-sitter): Extend SELECTOR.
2024-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
(backtrace--print-func-and-args): Fix (part of) bug#70436
The source of bug#70436 is that we print a value into the buffer
- and then we generate its print representation a second time to
- get its length to find the bounds of the thing we just printed.
- Not only it's wasteful, but it risks bugs because the two
- "prints" can be inconsistent with each other.
+ and then we generate its print representation a second time to get
+ its length to find the bounds of the thing we just printed. Not
+ only it's wasteful, but it risks bugs because the two "prints" can
+ be inconsistent with each other.
- This is not a complete fix because in the non EVALD case we
- still use that same broken way.
+ This is not a complete fix because in the non EVALD case we still
+ use that same broken way.
* lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args):
Don't re-print things just to get their length.
(cl-print-object): Fix indirect cause of bug#70436
* lisp/emacs-lisp/cl-print.el (cl-print-object): Fix specializer
- for the byte-code case.
+ for the byte-code case. (bug#70436)
2024-04-20 Po Lu <luangruo@yahoo.com>
This command completes the symbol at point up to the longest
common prefix of all completions candidates. We also add an
- indication of the longest common prefix in the completion
- preview by highlighting that part of the preview with the
- 'completion-preview-exact' face. To facilitate these features
- we change the way we store the completion candidates while the
+ indication of the longest common prefix in the completion preview
+ by highlighting that part of the preview with the
+ 'completion-preview-exact' face. To facilitate these features we
+ change the way we store the completion candidates while the
preview is visible, to explicitly keep the common prefix along
with a list of its suffixes.
* lisp/completion-preview.el (completion-preview--try-table):
- Return longest common prefix and list of suffixes instead of
- list of full candidates. Add illustrative comment.
+ Return longest common prefix and list of suffixes instead of list
+ of full candidates. Add illustrative comment.
(completion-preview--capf-wrapper, completion-preview--update)
(completion-preview--show, completion-preview-insert)
(completion-preview-next-candidate): Adjust.
(completion-preview-require-certain-commands): Update.
(completion-preview--inhibit-update): New inline function.
(completion-preview--inhibit-update-p): New local variable.
- (completion-preview--post-command, completion-preview-hide):
- Reset it to nil.
+ (completion-preview--post-command, completion-preview-hide): Reset
+ it to nil.
* test/lisp/completion-preview-tests.el
(completion-preview-tests--check-preview): Check the 'face'
Kill process in files-tests before exiting
* test/lisp/files-tests.el
- (files-tests-file-name-non-special-start-file-process):
- Make sure that the subprocess is killed before the test concludes.
+ (files-tests-file-name-non-special-start-file-process): Make sure
+ that the subprocess is killed before the test concludes.
2024-04-20 Eli Zaretskii <eliz@gnu.org>
With glasses-uncapitalize-p, use a display overlay property
* lisp/progmodes/glasses.el (glasses-make-readable): Use the
- 'display' property instead of 'after-string', so that one is
- able to place the cursor on the uncapitalized character.
- (Bug#70441)
+ 'display' property instead of 'after-string', so that one is able
+ to place the cursor on the uncapitalized character. (Bug#70441)
2024-04-20 Michael Albinus <michael.albinus@gmx.de>
Complete fix for eww-tests.el
* test/lisp/net/eww-tests.el (eww-test/readable/toggle-display)
- (eww-test/readable/default-readable): Check for libxml. (Bug#70472)
+ (eww-test/readable/default-readable): Check for libxml.
+ (Bug#70472)
2024-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
Tree-sitter: only update range and reparse for changed ranges
- In the very beginning, there's bug#66732, to solve that bug, we added
- treesit--pre-redisplay and treesit--syntax-propertize-notifier.
- However, to fix bug#66732, we were updating ranges for the whole
- buffer which makes Emacs extremely slow when there are a lot of local
- parsers in a large buffer. Then to solve that we introduced a
- workaround where we only update ranges in a fixed range around point.
+ In the very beginning, there's bug#66732, to solve that bug, we
+ added treesit--pre-redisplay and
+ treesit--syntax-propertize-notifier. However, to fix bug#66732,
+ we were updating ranges for the whole buffer which makes Emacs
+ extremely slow when there are a lot of local parsers in a large
+ buffer. Then to solve that we introduced a workaround where we
+ only update ranges in a fixed range around point.
- This change fixes the original problem (bug#66732) without using that
- workaround.
+ This change fixes the original problem (bug#66732) without using
+ that workaround.
* lisp/treesit.el (treesit--font-lock-notifier):
(treesit--syntax-propertize-notifier): Remove functions
(treesit--pre-redisplay): Use the new function
- treesit-parser-changed-ranges to get the changed ranges of the primary
- parser, and only update ranges for those ranges. Plus do the work of
- the removed function.
- (treesit-major-mode-setup): Remove setup for the removed functions.
+ treesit-parser-changed-ranges to get the changed ranges of the
+ primary parser, and only update ranges for those ranges. Plus do
+ the work of the removed function.
+ (treesit-major-mode-setup): Remove setup for the removed
+ functions.
2024-04-20 Yuan Fu <casouri@gmail.com>
New function treesit-parser-changed-ranges
- - Add a new field last_changed_ranges to tree-sitter parser object.
+ - Add a new field last_changed_ranges to tree-sitter parser
+ object.
- Add a new function treesit-parser-changed-ranges
* doc/lispref/parsing.texi (Using Parser): Add the function in
tree-sitter manual.
- * src/treesit.c (treesit_get_changed_ranges): New function, refactored
- out of treesit_call_after_change_functions.
+ * src/treesit.c (treesit_get_changed_ranges): New function,
+ refactored out of treesit_call_after_change_functions.
(treesit_call_after_change_functions): Pull out
treesit_get_changed_ranges.
(treesit_ensure_parsed): Save the changed ranges to the parser object.
* lisp/erc/erc.el (erc-server-or-unjoined-channel-buffer-p): Doc.
(erc-query-buffer-p): Don't return non-nil in non-ERC buffers and
server buffers, and continue to honor string arguments. The
- regression was introduced by 3d87e343 "Use modern fallback for channel
- name detection in ERC". Thanks to Libera user mekeor for reporting
- this bug.
+ regression was introduced by 3d87e343 "Use modern fallback for
+ channel name detection in ERC". Thanks to Libera user mekeor for
+ reporting this bug.
* test/lisp/erc/erc-tests.el (erc-query-buffer-p): New test.
(Bug#67220)
Add erc--skip message property
* lisp/erc/erc-backend.el (erc-server-connect): Add `erc--skip'
- property to `erc--msg-prop-overrides' so that timestamps only show up
- with the first server-sent message.
- (erc-server-PRIVMSG): Move `erc--msg-prop-overrides' declaration to
- top-level.
- * lisp/erc/erc-button.el (erc-button--display-error-notice-with-keys):
- Use `erc--skip' msg prop instead of `erc-stamp--skip' variable.
+ property to `erc--msg-prop-overrides' so that timestamps only show
+ up with the first server-sent message.
+ (erc-server-PRIVMSG): Move `erc--msg-prop-overrides' declaration
+ to top-level.
+ * lisp/erc/erc-button.el
+ (erc-button--display-error-notice-with-keys): Use `erc--skip' msg
+ prop instead of `erc-stamp--skip' variable.
* lisp/erc/erc-stamp.el (erc-stamp--skip): Remove variable.
(erc-stamp--allow-unmanaged, erc-stamp--allow-unmanaged-p): Rename
- former to latter to remain consistent with convention used by other
- quasi-internal compatibility-related switches.
+ former to latter to remain consistent with convention used by
+ other quasi-internal compatibility-related switches.
(erc-add-timestamp): Check `erc--skip' property instead of deleted
variable `erc-stamp--skip'.
* lisp/erc/erc.el (erc--msg-props): Mention `erc--skip' in doc.
Don't nest date stamp insertions in erc-stamp
- * etc/ERC-NEWS: Don't mention certain insertion-adjacent hooks being
- suppressed for date stamps, which is no longer true.
+ * etc/ERC-NEWS: Don't mention certain insertion-adjacent hooks
+ being suppressed for date stamps, which is no longer true.
* lisp/erc/erc-common.el (erc--solo): New utility function.
- * lisp/erc/erc-fill.el (erc-fill-wrap): Don't move last-message marker
- when encountering a date stamp.
+ * lisp/erc/erc-fill.el (erc-fill-wrap): Don't move last-message
+ marker when encountering a date stamp.
* lisp/erc/erc-stamp.el (erc-stamp--recover-on-reconnect): Restore
`erc-stamp--date-stamps' on reconnect and rejoin.
(erc-stamp--insert-date-hook): Fix erroneous doc string.
(erc-stamp--date): New struct type.
- (erc-stamp--deferred-date-stamp): New internal variable to pass state
- between hook members.
- (erc-stamp--date-stamps): New internal variable to store a reference
- to all inserted timestamps.
- (erc-stamp--propertize-left-date-stamp): Don't hide messages because
- this function runs on `erc-insert-modify-hook'. Prefer doing so
- later, in `erc-insert-post-hook'.
+ (erc-stamp--deferred-date-stamp): New internal variable to pass
+ state between hook members.
+ (erc-stamp--date-stamps): New internal variable to store a
+ reference to all inserted timestamps.
+ (erc-stamp--propertize-left-date-stamp): Don't hide messages
+ because this function runs on `erc-insert-modify-hook'. Prefer
+ doing so later, in `erc-insert-post-hook'.
(erc-stamp--find-insertion-point): New helper function.
(erc-stamp--insert-date-stamp-as-phony-message): Remove.
- (erc-stamp--lr-date-on-pre-modify): Remove function. Portions of body
- now appear in `erc-stamp--defer-date-insertion-on-post-modify'.
+ (erc-stamp--lr-date-on-pre-modify): Remove function. Portions of
+ body now appear in
+ `erc-stamp--defer-date-insertion-on-post-modify'.
(erc-stamp--defer-date-insertion-on-post-modify)
(erc-stamp--defer-date-insertion-on-post-insert)
(erc-stamp--defer-date-insertion-on-post-send): New functions,
(erc-stamp--date-mode): Update hook-member functions.
(erc-stamp-prepend-date-stamps-p): Revise doc.
(erc-insert-timestamp-left-and-right): Remove code to initialize a
- date stamp in place through a nested call to `erc-display-message'.
- Instead, "pre-render" date stamp and stash it for retrieval by
- the function `erc-stamp--defer-date-insertion-on-post-modify'.
- (erc-stamp--setup): Kill variables `erc-stamp--deferred-date-stamp'
- and `erc-stamp--date-stamps'.
+ date stamp in place through a nested call to
+ `erc-display-message'. Instead, "pre-render" date stamp and stash
+ it for retrieval by the function
+ `erc-stamp--defer-date-insertion-on-post-modify'.
+ (erc-stamp--setup): Kill variables
+ `erc-stamp--deferred-date-stamp' and `erc-stamp--date-stamps'.
(erc-stamp--reset-on-clear): Remove trimmed stamps from
`erc-stamp--date-stamps'.
* lisp/erc/erc.el (erc--msg-props): Document `erc--hide' in doc
(erc--insert-line-function): Expand doc string.
(erc--remove-from-prop-value-list): Tweak doc string.
(erc--insert-before-markers-transplanting-hidden): New function.
- (erc--hide-message): Remember managed `invisible' prop value. Do so
- by recording them in the `erc--hide' "msg prop".
- (erc--delete-inserted-message, erc--delete-inserted-message-naively):
- Rename former to latter to emphasize that it's largely impractical for
- general use.
+ (erc--hide-message): Remember managed `invisible' prop value. Do
+ so by recording them in the `erc--hide' "msg prop".
+ (erc--delete-inserted-message)
+ (erc--delete-inserted-message-naively): Rename former to latter to
+ emphasize that it's largely impractical for general use.
(erc--ranked-properties): Add `erc--hide'.
* test/lisp/erc/erc-button-tests.el
(erc-button-tests--erc-button-alist--function-as-form): Use
(erc-fill-line-spacing): Use `erc-display-message' wrappers to
intercept `erc-timer-hook' modifications.
* test/lisp/erc/erc-scenarios-match.el
- (erc-scenarios-match--invisible-stamp): Add convenience commands to
- `extended-command-history' when running interactively.
+ (erc-scenarios-match--invisible-stamp): Add convenience commands
+ to `extended-command-history' when running interactively.
* test/lisp/erc/erc-tests.el
(erc--insert-before-markers-transplanting-hidden): New test.
- (erc--delete-inserted-message, erc--delete-inserted-message-naively):
- Update test name as well as namesake function in body.
+ (erc--delete-inserted-message)
+ (erc--delete-inserted-message-naively): Update test name as well
+ as namesake function in body.
* test/lisp/erc/resources/erc-scenarios-common.el
- (erc-scenarios-common-with-cleanup): Validate `erc-stamp--date-stamps'
- members after every scenario test.
+ (erc-scenarios-common-with-cleanup): Validate
+ `erc-stamp--date-stamps' members after every scenario test.
(erc-scenarios-common--assert-date-stamps): New function.
* test/lisp/erc/resources/erc-tests-common.el: Require `erc-stamp'
atop file when compiling.
(erc-tests--common-display-message)
(erc-tests-common-display-message)
- (erc-tests-common-with-date-aware-display-message): New functions and
- macro for running `erc-display-message' while intercepting additions
- to `erc-timer-hook' made by date-stamp-related post-insertion hooks.
- (erc-tests-common-snapshot-compare): Insert expected output into its
- own buffer for easier review during interactive sessions. This change
- is unrelated to the rest of this commit. (Bug#60936)
+ (erc-tests-common-with-date-aware-display-message): New functions
+ and macro for running `erc-display-message' while intercepting
+ additions to `erc-timer-hook' made by date-stamp-related
+ post-insertion hooks.
+ (erc-tests-common-snapshot-compare): Insert expected output into
+ its own buffer for easier review during interactive sessions.
+ This change is unrelated to the rest of this commit. (Bug#60936)
2024-04-19 F. Jason Park <jp@neverwas.me>
* lisp/erc/erc-fill.el (erc-fill--wrap-escape-hidden-speaker): Add
parameter to suppress escaping of hidden prefixes.
- (erc-fill--wrap-beginning-of-line): Remember original value of point,
- and pass it to `erc-fill--wrap-escape-hidden-speaker'.
- (erc-fill--wrap-previous-line, erc-fill--wrap-next-line): Guard call
- to `erc-fill--wrap-escape-hidden-speaker' with conditional check for
- `erc-fill-wrap-merge'.
+ (erc-fill--wrap-beginning-of-line): Remember original value of
+ point, and pass it to `erc-fill--wrap-escape-hidden-speaker'.
+ (erc-fill--wrap-previous-line, erc-fill--wrap-next-line): Guard
+ call to `erc-fill--wrap-escape-hidden-speaker' with conditional
+ check for `erc-fill-wrap-merge'.
(erc-fill--wrap-insert-merged-pre): Add additional text property,
- `erc-fill--wrap-merge', to help identify `display' regions servicing
- `erc-fill-wrap-merge'. This should make resolving inconsistencies
- easier when "splicing" new messages between existing ones.
- (erc-fill-wrap): Add `erc-fill--wrap-merge' text property to merged
- speaker region.
+ `erc-fill--wrap-merge', to help identify `display' regions
+ servicing `erc-fill-wrap-merge'. This should make resolving
+ inconsistencies easier when "splicing" new messages between
+ existing ones.
+ (erc-fill-wrap): Add `erc-fill--wrap-merge' text property to
+ merged speaker region.
(erc-fill--wrap-rejigger-region): Remove assertion disallowing a
- non-nil `erc-fill--wrap-rejigger-last-message'. Instead, adopt the
- existing value of that variable when shadowing it for the remaining
- extent of the function's execution. When removing the `display'
- property, also look for nonempty replacement text, such as values
- specified by the option `erc-fill-wrap-merge-indicator'.
+ non-nil `erc-fill--wrap-rejigger-last-message'. Instead, adopt
+ the existing value of that variable when shadowing it for the
+ remaining extent of the function's execution. When removing the
+ `display' property, also look for nonempty replacement text, such
+ as values specified by the option `erc-fill-wrap-merge-indicator'.
(erc-fill--wrap-merged-button-p): Look for `erc-fill--wrap-merge'
property instead of `display'.
- * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update.
- * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update.
- * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
+ * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld:
+ Update.
+ * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld:
+ Update.
+ * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld:
+ Update.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld:
Update.
- * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
+ * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld:
+ Update.
(Bug#60936)
2024-04-19 F. Jason Park <jp@neverwas.me>
Simplify option erc-merge-wrap-merge-indicator
* lisp/erc/erc-fill.el (erc-fill-wrap-merge-indicator): Reduce
- offering of acceptable values by removing leading symbols and ditching
- the `post' variant entirely. The justification for the latter move
- hinges on it not being well suited to next-gen requirements involving
- the splicing and deletion of inserted messages. Meeting these would
- be overly burdensome and involve scanning the buffer in both
- directions for every such operation. This option is new in ERC 5.6,
- which is yet unreleased.
- (erc-fill--wrap-massage-legacy-indicator-type): New function to warn
- of obsolete `erc-fill-wrap-merge-indicator' value and perform a
- migration for the current session.
- (erc-fill-wrap, erc-fill-wrap-enable): Perform preflight compat check
- for obsolete `erc-fill-wrap-merge-indicator' value types.
+ offering of acceptable values by removing leading symbols and
+ ditching the `post' variant entirely. The justification for the
+ latter move hinges on it not being well suited to next-gen
+ requirements involving the splicing and deletion of inserted
+ messages. Meeting these would be overly burdensome and involve
+ scanning the buffer in both directions for every such operation.
+ This option is new in ERC 5.6, which is yet unreleased.
+ (erc-fill--wrap-massage-legacy-indicator-type): New function to
+ warn of obsolete `erc-fill-wrap-merge-indicator' value and perform
+ a migration for the current session.
+ (erc-fill-wrap, erc-fill-wrap-enable): Perform preflight compat
+ check for obsolete `erc-fill-wrap-merge-indicator' value types.
(erc-fill-wrap-disable): Don't bother killing nonexistent variable
`erc-fill--wrap-merge-indicator-post'.
(erc-fill--wrap-merge-indicator-post): Remove unused variable.
(erc-fill--wrap-insert-merged-post): Remove unused function.
(erc-fill--wrap-insert-merged-pre): Adapt to simplified format for
option `erc-merge-wrap-merge-indicator'.
- (erc-fill-wrap): Remove conditional dispatch because there is only one
- path and only one indicator style.
+ (erc-fill-wrap): Remove conditional dispatch because there is only
+ one path and only one indicator style.
(erc-fill--wrap-rejigger-region): Remove reference to nonexistent
variable `erc-fill--wrap-merge-indicator-post'.
* test/lisp/erc/erc-fill-tests.el
- (erc-fill-wrap--merge-action/indicator-pre): Update format of value
- for option `erc-fill-wrap-merge-indicator'.
- (erc-fill-wrap--merge-action/indicator-post): Remove test focusing on
- obsolete and unsupported `post' variant of option
+ (erc-fill-wrap--merge-action/indicator-pre): Update format of
+ value for option `erc-fill-wrap-merge-indicator'.
+ (erc-fill-wrap--merge-action/indicator-post): Remove test focusing
+ on obsolete and unsupported `post' variant of option
`erc-fill-wrap-merge-indicator'.
(erc-fill--wrap-massage-legacy-indicator-type): New test.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-post-01.eld:
Make publishDiagnostics faster by using cached variable
* lisp/progmodes/eglot.el (eglot--cached-tdi): Move variable.
- (eglot-handle-notification): Expose 'server' and search through managed
- buffers for a cached textDocumentIdentifier, which has a file-truename
- resolved path.
- * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink): Add
- regression test for symlink behavior
+ (eglot-handle-notification): Expose 'server' and search through
+ managed buffers for a cached textDocumentIdentifier, which has a
+ file-truename resolved path.
+ * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
+ Add regression test for symlink behavior.
2024-04-19 Michael Albinus <michael.albinus@gmx.de>
- New user option tramp-inhibit-errors-if-setting-file-attributes-fail
+ New user option
+ tramp-inhibit-errors-if-setting-file-attributes-fail.
- * doc/misc/tramp.texi (Frequently Asked Questions):
- Explain tramp-inhibit-errors-if-setting-file-attributes-fail.
+ * doc/misc/tramp.texi (Frequently Asked Questions): Explain
+ tramp-inhibit-errors-if-setting-file-attributes-fail.
* lisp/net/tramp.el
- (tramp-inhibit-errors-if-setting-file-attributes-fail): New defcustom.
+ (tramp-inhibit-errors-if-setting-file-attributes-fail): New
+ defcustom.
(tramp-skeleton-set-file-modes-times-uid-gid): Use it.
2024-04-19 Po Lu <luangruo@yahoo.com>
(eglot--signal-textDocument/didChange): Fix tests
- The tests call `eglot--signal-textDocument/didChange` eagerly,
- which means in the case where we use `track-changes` that they
- call it before the tracker's signal has been called.
- So make sure we fetch pending changes even if we haven't yet
- been notified of them, and make sure `eglot--versioned-identifier`
- is incremented even when the signal is not called.
+ The tests call `eglot--signal-textDocument/didChange' eagerly,
+ which means in the case where we use `track-changes' that they
+ call it before the tracker's signal has been called. So make sure
+ we fetch pending changes even if we haven't yet been notified of
+ them, and make sure `eglot--versioned-identifier' is incremented
+ even when the signal is not called.
* lisp/progmodes/eglot.el (eglot--track-changes-fetch)
- (eglot--after-change): Increment `eglot--versioned-identifier` here...
+ (eglot--after-change): Increment `eglot--versioned-identifier'
+ here...
(eglot--track-changes-signal): ...instead of here.
- (eglot--signal-textDocument/didChange): Try and fetch changes even if the
- tracker's signal wasn't called yet.
+ (eglot--signal-textDocument/didChange): Try and fetch changes even
+ if the tracker's signal wasn't called yet.
- * test/lisp/progmodes/eglot-tests.el (eglot-tests--get): New function.
+ * test/lisp/progmodes/eglot-tests.el (eglot-tests--get): New
+ function.
(eglot-tests--lsp-abiding-column-1): Use it.
2024-04-18 Juri Linkov <juri@linkov.net>
Drag tabs to reorder buffers on the tab line.
- * lisp/tab-line.el (tab-line-mouse-move-tab):
- New command bound to [tab-line drag-mouse-1].
+ * lisp/tab-line.el (tab-line-mouse-move-tab): New command bound to
+ [tab-line drag-mouse-1].
2024-04-18 João Távora <joaotavora@gmail.com>
Better way to fix bug#70036
- Cache a new eglot--cached-tdi var per buffer, which contains value to
- return from eglot--TextDocumentIdentifier.
+ Cache a new eglot--cached-tdi var per buffer, which contains value
+ to return from eglot--TextDocumentIdentifier.
- This avoids frequent expensive recomputation of a value that requires
- potentially many 'file-truename' calls. This technique is used in a
- number of other cases already, like eglot--recent-changes or
- eglot--versioned-identifier.
+ This avoids frequent expensive recomputation of a value that
+ requires potentially many 'file-truename' calls. This technique
+ is used in a number of other cases already, like
+ eglot--recent-changes or eglot--versioned-identifier.
* lisp/progmodes/eglot.el (eglot--cached-tdi): New variable.
(eglot--TextDocumentIdentifier): Tweak.
This reverts commit 08c80c45ddea17df87fc768a39dff353ccc13d3b.
- It introduces bugs when a project contains symlinked files. The server
- will be informed of duplicate documents which are really the same and it
- frequently has no means to deduplicate such information.
+ It introduces bugs when a project contains symlinked files. The
+ server will be informed of duplicate documents which are really
+ the same and it frequently has no means to deduplicate such
+ information.
This leads to bugs such as excessive textDocument/references to a
function.
(eglot-uri-to-path): Revert change.
(eglot--on-shutdown): Revert change.
(eglot--managed-mode): Revert change.
- (eglot-handle-notification textDocument/publishDiagnostics): Revert change.
+ (eglot-handle-notification textDocument/publishDiagnostics):
+ Revert change.
2024-04-18 Stephen Berman <stephen.berman@gmx.net>
Ensure that specbind arg is always bare symbol, and drop check
* src/eval.c (FletX, Flet, internal_lisp_condition_case)
- (funcall_lambda): Ensure that the first argument to `specbind` is
- a bare symbol in the few cases where this isn't statically guaranteed.
+ (funcall_lambda): Ensure that the first argument to `specbind' is
+ a bare symbol in the few cases where this isn't statically
+ guaranteed.
(specbind): Drop the symbol argument type check on the fast path.
2024-04-18 Mattias Engdegård <mattiase@acm.org>
Drop unnecessary type check in varref and varset byte ops
- * src/bytecode.c (exec_byte_code):
- We can safely assume that the immediate argument to varref and varset
- is a bare symbol; the byte-compiler should guarantee that.
+ * src/bytecode.c (exec_byte_code): We can safely assume that the
+ immediate argument to varref and varset is a bare symbol; the
+ byte-compiler should guarantee that.
2024-04-18 Augusto Stoffel <arstoffel@gmail.com>
Avoid unnecessary escaping in 'url-build-query-string'
- * lisp/url/url-util.el (url-query-key-value-allowed-chars):
- New defconst.
- (url-build-query-string): Use it to escape only those
- characters that need it in keys and values.
- * test/lisp/url/url-util-tests.el (url-util-tests): Add
- new test cases. (Bug#70312)
+ * lisp/url/url-util.el (url-query-key-value-allowed-chars): New
+ defconst.
+ (url-build-query-string): Use it to escape only those characters
+ that need it in keys and values.
+ * test/lisp/url/url-util-tests.el (url-util-tests): Add new test
+ cases. (Bug#70312)
2024-04-18 Elias G. B. Perez <eg642616@gmail.com>
Flymake support for indicating errors in margin
- Add optional support for display flymake error in margin,
- this allow displaying error indicators in both graphical and
- terminal frames.
+ Add optional support for display flymake error in margin, this
+ allow displaying error indicators in both graphical and terminal
+ frames.
* doc/misc/flymake.texi (Customizable variables)
(Flymake error types): Document new margin indicator.
* etc/NEWS: Announce the new Flymake user option for margin
* lisp/tab-line.el: Use the new keyword :key for 'sort'.
- (tab-line-tabs-fixed-window-buffers): Use :key for 'sort'.
- Rename the window parameter 'tab-line-fixed-window-buffers'
- to shorter 'tab-line-buffers'. Add '(tab-line-buffers . writable)
- to window-persistent-parameters.
+ (tab-line-tabs-fixed-window-buffers): Use :key for 'sort'. Rename
+ the window parameter 'tab-line-fixed-window-buffers' to shorter
+ 'tab-line-buffers'. Add '(tab-line-buffers . writable) to
+ window-persistent-parameters.
2024-04-18 Po Lu <luangruo@yahoo.com>
Propagate 'lexical-binding' value to pp buffers
- See bug#70137.
-
- * lisp/emacs-lisp/pp.el (pp-display-expression): Set lexical-binding to
- match the value in the calling buffer.
+ * lisp/emacs-lisp/pp.el (pp-display-expression): Set
+ lexical-binding to match the value in the calling buffer.
+ (bug#70137)
2024-04-17 Theodor Thornhill <theo@thornhill.no>
Document earlier change in eglot-report-progress
- * lisp/progmodes/eglot.el (eglot-report-progress): Document the changed
- behavior.
+ * lisp/progmodes/eglot.el (eglot-report-progress): Document the
+ changed behavior.
* etc/EGLOT-NEWS (https): Mention the change.
2024-04-17 Stefan Monnier <monnier@iro.umontreal.ca>
2024-04-17 Juri Linkov <juri@linkov.net>
- * lisp/emacs-lisp/icons.el (define-icon): Add 'doc-string' to 'declare'.
+ * lisp/emacs-lisp/icons.el (define-icon): Add 'doc-string' to
+ 'declare'.
2024-04-17 Juri Linkov <juri@linkov.net>
- New keymap tab-line-mode-map and new tab order on tab-line (bug#69993)
+ New keymap tab-line-mode-map and new tab order on tab-line
* lisp/tab-line.el (tab-line-new-button-functions): New variable.
(tab-line-tabs-function): Change the default value from
(tab-line-tabs-fixed-window-buffers): New function.
(tab-line-format-template): Use 'tab-line-new-button-functions'.
(tab-line-mode-map, tab-line-switch-repeat-map): New keymaps.
+ (bug#69993)
2024-04-17 Stephen Berman <stephen.berman@gmx.net>
track-changes.el: Fix last change for early use
- * lisp/emacs-lisp/track-changes.el (track-changes--recover-from-error):
- Don't burp if there have been fewer than 20 keystrokes since Emacs start.
+ * lisp/emacs-lisp/track-changes.el
+ (track-changes--recover-from-error): Don't burp if there have been
+ fewer than 20 keystrokes since Emacs start.
2024-04-17 Eli Zaretskii <eliz@gnu.org>
Another fix for bug#70385
- * src/xdisp.c (note_fringe_highlight): Check value of x_y_to_hpos_vpos.
+ * src/xdisp.c (note_fringe_highlight): Check value of
+ x_y_to_hpos_vpos.
2024-04-17 Juri Linkov <juri@linkov.net>
- * lisp/emacs-lisp/lisp.el (forward-sexp-function): Set back to nil.
-
+ * lisp/emacs-lisp/lisp.el (forward-sexp-function): Set back to
+ nil.
(forward-sexp): Revert back to checking 'forward-sexp-function'
- for nil (bug#70426).
+ for nil. (bug#70426)
2024-04-17 Stefan Monnier <monnier@iro.umontreal.ca>
track-changes.el: Minor changes for version 1.0
Arrange for the library to be usable on older Emacsen, which
- includes reducing the noise when `before/after-change-functions`
- are badly paired or missing.
- Also, since the signal function receives the distance (for `:disjoint`),
- we don't need `track-changes--disjoint-threshold`: the signal
- function can simply do nothing when the distance is smaller than
- the threshold it wants to use.
+ includes reducing the noise when `before/after-change-functions'
+ are badly paired or missing. Also, since the signal function
+ receives the distance (for `:disjoint'), we don't need
+ `track-changes--disjoint-threshold': the signal function can
+ simply do nothing when the distance is smaller than the threshold
+ it wants to use.
* lisp/emacs-lisp/track-changes.el: Prepare header for ELPA.
- (track-changes--tracker, track-changes--state): Don't use `:noinline`,
- so as to be compatible with Emacs<27.
+ (track-changes--tracker, track-changes--state): Don't use
+ `:noinline', so as to be compatible with Emacs<27.
(track-changes-record-errors): New variable.
- (track-changes--recover-from-error): Use it. Record only the last 20
- keys and the last 50 stack frames in the error log.
+ (track-changes--recover-from-error): Use it. Record only the last
+ 20 keys and the last 50 stack frames in the error log.
(track-changes--disjoint-threshold): Delete variable.
(track-changes--before): Don't use it any more.
- * lisp/progmodes/eglot.el (eglot--track-changes-signal):
- Coalesce disjoint changes nearer than what used to be coalesced because of
- `track-changes--disjoint-threshold`.
+ * lisp/progmodes/eglot.el (eglot--track-changes-signal): Coalesce
+ disjoint changes nearer than what used to be coalesced because of
+ `track-changes--disjoint-threshold'.
2024-04-17 Stefan Monnier <monnier@iro.umontreal.ca>
(cl-defstruct): Improve handling of unknown options
- Until now `cl-defstruct` signaled an error when encountering an
+ Until now `cl-defstruct' signaled an error when encountering an
unknown option. It's easy to code and it does the job, but it
- doesn't give good location info in the compiler's output,
- and it makes it more painful to use not-yet-supported options.
- So just signal a warning instead.
+ doesn't give good location info in the compiler's output, and it
+ makes it more painful to use not-yet-supported options. So just
+ signal a warning instead.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Warn about unknown
options, instead of signaling an error.
2024-04-16 Eli Zaretskii <eliz@gnu.org>
- * src/xdisp.c (note_fringe_highlight): Another attempt to fix bug#70385.
+ * src/xdisp.c (note_fringe_highlight): Another attempt to fix
+ bug#70385.
2024-04-16 Eli Zaretskii <eliz@gnu.org>
Fix touch screen hscroll when initiated from widgets
- * lisp/wid-edit.el (widget-button--check-and-call-button):
- Return to the position of point during the tracking loop if a
- touch event is canceled.
+ * lisp/wid-edit.el (widget-button--check-and-call-button): Return
+ to the position of point during the tracking loop if a touch event
+ is canceled.
2024-04-16 Po Lu <luangruo@yahoo.com>
Another fix for bug#70385
- * src/xdisp.c (note_fringe_highlight): Test that vpos falls
- within W->current_matrix. (bug#70385)
+ * src/xdisp.c (note_fringe_highlight): Test that vpos falls within
+ W->current_matrix. (bug#70385)
2024-04-16 Juri Linkov <juri@linkov.net>
* lisp/tab-line.el (tab-line-select-tab-buffer): Optimize.
(tab-line-switch-cycling): Enable by default like in tab-bar-mode.
- (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
- Add a prefix argument ARG and support it for switching tabs.
- Improve docstring.
+ (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab): Add a
+ prefix argument ARG and support it for switching tabs. Improve
+ docstring.
2024-04-16 Noah Peart <noah.v.peart@gmail.com>
Add font-locking for operators in go-ts-mode (bug#70361)
- * lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings): Add
- font-locking rule for Go operators.
+ * lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
+ Add font-locking rule for Go operators.
2024-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
(track-changes-fetch): Fix nested use case
- * lisp/emacs-lisp/track-changes.el (track-changes-fetch):
- Don't presume that if there's nothing to do we're on
+ * lisp/emacs-lisp/track-changes.el (track-changes-fetch): Don't
+ presume that if there's nothing to do we're on
`track-changes--clean-trackers`.
2024-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
(track-changes--before): Fix bug#70396
- * lisp/emacs-lisp/track-changes.el (track-changes--before):
- Widen the buffer before accessing it with positions
- potentially outside the beg..end region.
+ * lisp/emacs-lisp/track-changes.el (track-changes--before): Widen
+ the buffer before accessing it with positions potentially outside
+ the beg..end region.
2024-04-15 Eli Zaretskii <eliz@gnu.org>
Rewrite Android description of Android window management
* doc/emacs/android.texi (Android Environment): Rewrite several
- paragraphs to better reflect recent changes and emphasize
- behavior on modern OS releases.
+ paragraphs to better reflect recent changes and emphasize behavior
+ on modern OS releases.
2024-04-15 Martin Rudalics <rudalics@gmx.at>
- Make 'buffer-last-name' work better after 'find-alternate-file' (Bug#68235)
+ Make 'buffer-last-name' work better after 'find-alternate-file'
* lisp/files.el (find-alternate-file): Before killing the previous
- buffer, try to restore its name and filenames (Bug#68235).
+ buffer, try to restore its name and filenames. (Bug#68235)
2024-04-15 Po Lu <luangruo@yahoo.com>
- Fix bug#70385
-
* src/xdisp.c (note_fringe_highlight): Don't proceed if
popup_activated, window is outdated, or when row beneath pointer
does not display text. (bug#70385)
Bug reported and fix proposed by Aris Spathis.
- * src/sort.c (merge_markmem): Mark heap-allocated temporary key values.
- (tim_sort): Delay key function calls to after marking function has been
- registered.
+ * src/sort.c (merge_markmem): Mark heap-allocated temporary key
+ values.
+ (tim_sort): Delay key function calls to after marking function has
+ been registered.
* test/src/fns-tests.el (fns-tests-sort-gc): New test.
2024-04-14 Juri Linkov <juri@linkov.net>
Add 'forward-sexp-default-function' to be used by 'treesit-forward-sexp'
- * lisp/emacs-lisp/lisp.el (forward-sexp-default-function):
- New function with body from 'forward-sexp' (bug#68993).
+ * lisp/emacs-lisp/lisp.el (forward-sexp-default-function): New
+ function with body from 'forward-sexp'. (bug#68993)
(forward-sexp-function): Change the default value from nil to
'forward-sexp-default-function'.
(forward-sexp): Use either 'forward-sexp-function' or
text.texi (Tracking changes): Fix warning
- * doc/lispref/text.texi (Change Hooks): Add a menu to silence warnings.
+ * doc/lispref/text.texi (Change Hooks): Add a menu to silence
+ warnings.
(Tracking changes): Improve the title.
2024-04-14 Earl Hyatt <okamsn@protonmail.com>
Add command 'list-keyboard-macros' that works like 'list-buffers'.
The command 'list-keyboard-macros' allows editing and re-arranging
- macros using 'tabulated-list-mode'. Existing keyboard macros can be
- duplicated or deleted. Macro counters and counter formats can take new
- values read from the minibuffer. Macro keys can be edited using
- 'edit-kbd-macro'.
+ macros using 'tabulated-list-mode'. Existing keyboard macros can
+ be duplicated or deleted. Macro counters and counter formats can
+ take new values read from the minibuffer. Macro keys can be
+ edited using 'edit-kbd-macro'.
* doc/emacs/kmacro.texi (Kmacro Menu): Document the new command
and the menu's commands.
* etc/NEWS (Kmacro Menu Mode): Mention the new mode and command.
* lisp/kmacro.el (kmacro-menu-mark, kmacro-menu-marked)
(kmacro-menu-flagged): Add faces for marks and flags.
- * lisp/kmacro.el (kmacro-menu-mode-map, kmacro-menu-mode): Add mode
- and map.
+ * lisp/kmacro.el (kmacro-menu-mode-map, kmacro-menu-mode): Add
+ mode and map.
* lisp/kmacro.el (list-keyboard-macros, kmacro-menu): Add command.
* lisp/kmacro.el (kmacro-menu--deletion-flags, kmacro-menu--marks)
- (kmacro-menu--id-kmacro, kmacro-menu--id-position, kmacro-menu--kmacros)
- (kmacro-menu--refresh, kmacro-menu--map-ids, kmacro-menu--replace-all)
- (kmacro-menu--replace-at, kmacro-menu--query-revert, kmacro-menu--assert-row)
+ (kmacro-menu--id-kmacro, kmacro-menu--id-position)
+ (kmacro-menu--kmacros)
+ (kmacro-menu--refresh, kmacro-menu--map-ids)
+ (kmacro-menu--replace-all)
+ (kmacro-menu--replace-at, kmacro-menu--query-revert)
+ (kmacro-menu--assert-row)
(kmacro-menu--propertize-keys, kmacro-menu--do-region)
- (kmacro-menu--marks-exist-p): Add utility functions of mode
- and commands.
+ (kmacro-menu--marks-exist-p): Add utility functions of mode and
+ commands.
* lisp/kmacro.el (kmacro-menu-mark, kmacro-menu-flag-for-deletion)
(kmacro-menu-unmark, kmacro-menu-unmark-backward)
(kmacro-menu-unmark-all): Add commands for marks and flags.
- * lisp/kmacro.el (kmacro-menu-do-flagged-delete, kmacro-menu-do-copy)
+ * lisp/kmacro.el (kmacro-menu-do-flagged-delete)
+ (kmacro-menu-do-copy)
(kmacro-menu-do-delete): Add commands that modify the ring.
- * lisp/kmacro.el (kmacro-menu-edit-position, kmacro-menu-transpose)
+ * lisp/kmacro.el (kmacro-menu-edit-position)
+ (kmacro-menu-transpose)
(kmacro-menu-edit-format, kmacro-menu-edit-counter)
- (kmacro-menu-edit-keys, kmacro-menu-edit-column): Add commands that
- modify a keyboard macro.
+ (kmacro-menu-edit-keys, kmacro-menu-edit-column): Add commands
+ that modify a keyboard macro.
2024-04-14 Alan Mackenzie <acm@muc.de>
CC Mode: Don't start fontifying in the middle of an identifier
- This fixes bug#70367.
-
* lisp/progmodes/cc-mode.el (c-fl-decl-start): After searching
- backwards for the end of the previous statement, check whether
- or not we found it.
+ backwards for the end of the previous statement, check whether or
+ not we found it. (bug#70367)
2024-04-14 Po Lu <luangruo@yahoo.com>
* java/org/gnu/emacs/EmacsService.java (onCreate): Call
removeOldTasks.
- * java/org/gnu/emacs/EmacsWindowManager.java (removeOldTasks):
- New function.
+ * java/org/gnu/emacs/EmacsWindowManager.java (removeOldTasks): New
+ function.
* java/proguard.conf: Optimize optimizer configuration.
2024-04-13 Justin Burkett <justin@burkett.cc>
- Add more debugging information
+ * lisp/which-key.el (which-key--show-buffer-side-window): Add more
+ debugging information.
- Add more debugging info to which-key--create-pages
+ * lisp/which-key.el (which-key--create-pages): Add more debugging
+ info to which-key--create-pages.
2024-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/progmodes/peg.el (peg-parse): Refine heuristic since unknown
terminals are resolved at run-time rather than compile-time now.
- (peg--macroexpand) <stack-action>: Avoid generating a `let` with an
- empty body.
+ (peg--macroexpand) <stack-action>: Avoid generating a `let' with
+ an empty body.
(peg--translate-rule-body): Adjust to name change of
- `macroexp-warn-and-return` and the fact that it's always available.
+ `macroexp-warn-and-return' and the fact that it's always
+ available.
- * test/lisp/progmodes/peg-tests.el (peg-parse-string):
- Add `indent` declaration.
+ * test/lisp/progmodes/peg-tests.el (peg-parse-string): Add
+ `indent' declaration.
(peg-test): Check that the compiler emits the warnings we expect.
2024-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
- (define-globalized-minor-mode): Require the use of `run-mode-hooks`
+ (define-globalized-minor-mode): Require the use of `run-mode-hooks'
- When `define-globalized-minor-mode` was introduced (Emacs-22),
- `run-mode-hooks` was brand new, so we could not expect all major
+ When `define-globalized-minor-mode' was introduced (Emacs-22),
+ `run-mode-hooks' was brand new, so we could not expect all major
modes to use it and we had to rely on brittle workarounds to try
- and approximate `after-change-major-mode-hook`.
+ and approximate `after-change-major-mode-hook'.
These workarounds have undesirable side effects, and (we hope)
they're not needed any more now that virtually all major modes
- have been changed to use `run-mode-hooks` (or
- `define-derived-mode`).
+ have been changed to use `run-mode-hooks' (or
+ `define-derived-mode').
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
- Rely only on `after-change-major-mode-hook`, remove the "cmhh"
+ Rely only on `after-change-major-mode-hook', remove the "cmhh"
[typo for the intended "cmmh", BTW] workaround.
* doc/lispref/modes.texi (Mode Hooks): Clarify the importance of
- `after-change-major-mode-hook` w.r.t `define-globalized-minor-mode`.
+ `after-change-major-mode-hook' w.r.t
+ `define-globalized-minor-mode'.
(Defining Minor Modes): Rewrite the explanation of which buffers
are affected, including adjusting it to the fact that
- `fundamental-mode` has used run `run-mode-hooks` for last 10 years.
+ `fundamental-mode' has run `run-mode-hooks' for the last 10 years.
2024-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
(define-globalized-minor-mode): Fix bug#58888
- * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode) <MODE-cmhh>:
- Try and detect well-behaved modes so they're not affected by
- those which require the cmhh hack.
+ * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode)
+ <MODE-cmhh>: Try and detect well-behaved modes so they're not
+ affected by those which require the cmhh hack. (bug#58888)
2024-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
lisp/emacs-lisp/track-changes.el: New file (bug#70077)
This new package provides an API that is easier to use right than
- our `*-change-functions` hooks.
+ our `*-change-functions' hooks.
- The patch includes changes to `diff-mode.el` and `eglot.el` to
+ The patch includes changes to `diff-mode.el' and `eglot.el' to
make use of this new package.
* lisp/emacs-lisp/track-changes.el: New file.
* test/lisp/emacs-lisp/track-changes-tests.el: New file.
* doc/lispref/text.texi (Tracking changes): New subsection.
- * lisp/progmodes/eglot.el: Require `track-changes`.
+ * lisp/progmodes/eglot.el: Require `track-changes'.
(eglot--virtual-pos-to-lsp-position): New function.
(eglot--track-changes): New var.
- (eglot--managed-mode): Use `track-changes-register` i.s.o
- `after/before-change-functions` when available.
+ (eglot--managed-mode): Use `track-changes-register' i.s.o
+ `after/before-change-functions' when available.
(eglot--track-changes-signal): New function, partly extracted from
- `eglot--after-change`.
+ `eglot--after-change'.
(eglot--after-change): Use it.
(eglot--track-changes-fetch): New function.
(eglot--signal-textDocument/didChange): Use it.
- * lisp/vc/diff-mode.el: Require `track-changes`.
- Also require `easy-mmode` before the `eval-when-compile`s.
+ * lisp/vc/diff-mode.el: Require `track-changes'. Also require
+ `easy-mmode' before the `eval-when-compile's.
(diff-unhandled-changes): Delete variable.
(diff-after-change-function): Delete function.
- (diff--track-changes-function): Rename from `diff-post-command-hook`
- and adjust to new calling convention.
+ (diff--track-changes-function): Rename from
+ `diff-post-command-hook' and adjust to new calling convention.
(diff--track-changes): New variable.
(diff--track-changes-signal): New function.
- (diff-mode, diff-minor-mode): Use it with `track-changes-register`.
+ (diff-mode, diff-minor-mode): Use it with
+ `track-changes-register'.
2024-04-13 Po Lu <luangruo@yahoo.com>
Allow 'help-quick' to use a non-global keymap
- * lisp/help.el (help-quick-sections): Mention
- 'help-quick-use-map' in docstring.
+ * lisp/help.el (help-quick-sections): Mention 'help-quick-use-map'
+ in docstring.
(help-quick-use-map): Add new variable, defaulting to the
global-map.
(help-quick): Use new variable.
Mark Flymake regions more accurately in 'lua-ts-mode'
- * lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use
- the end position provided by Luacheck rather than relying on
+ * lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use the
+ end position provided by Luacheck rather than relying on
'thing-at-point' to guess where the end should be. (Bug#70167)
2024-04-13 Eli Zaretskii <eliz@gnu.org>
* lisp/calendar/icalendar.el (icalendar--datestring-to-isodate):
Accept dashes in ISO-style numeric dates. Patch by Erwan Hingant
- <erwan.hingant@mailo.com>. (Bug#69894)
+ <erwan.hingant@mailo.com>. (Bug#69894)
* test/lisp/calendar/icalendar-tests.el
(icalendar--datestring-to-isodate): Add a test for dashes in
2024-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
- (elisp-tests-syntax-propertize): New test for bug#24542
-
- * test/lisp/progmodes/elisp-mode-tests.el (elisp-tests-syntax-propertize):
- New test.
+ * test/lisp/progmodes/elisp-mode-tests.el
+ (elisp-tests-syntax-propertize): New test. (bug#24542)
2024-04-12 Paul Eggert <eggert@cs.ucla.edu>
2024-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
- (emacs-lisp-mode-syntax-table): Fix bug#24542
-
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table):
- Remove `p` from the flags of `@`.
+ Remove `p` from the flags of `@'. (bug#24542)
2024-04-12 Juri Linkov <juri@linkov.net>
- * lisp/buff-menu.el: Improve 'Buffer-menu-group-by-mode' (bug#70150).
+ Improve 'Buffer-menu-group-by-mode'
- (Buffer-menu-group-by): Replace function-item with const
- better suitable for Customization UI.
+ * lisp/buff-menu.el (Buffer-menu-group-by): Replace function-item
+ with const better suitable for Customization UI.
(Buffer-menu-group-by-mode): Use 'mouse-buffer-menu-mode-groups'
- to group buffers by mode.
+ to group buffers by mode. (bug#70150)
2024-04-12 Juri Linkov <juri@linkov.net>
New user option 'tab-line-tabs-buffer-group-function'
- * lisp/tab-line.el (tab-line-tabs-buffer-group-function):
- Turn defvar into defcustom with the default value
+ * lisp/tab-line.el (tab-line-tabs-buffer-group-function): Turn
+ defvar into defcustom with the default value
'tab-line-tabs-buffer-group-by-mode'.
(tab-line-tabs-buffer-group-by-mode): New function with body from
'tab-line-tabs-buffer-group-name'.
(tab-line-tabs-buffer-group-by-project): New function.
- (tab-line-tabs-buffer-groups): Use fallback name "No group" instead of "All".
+ (tab-line-tabs-buffer-groups): Use fallback name "No group"
+ instead of "All".
2024-04-12 Michael Albinus <michael.albinus@gmx.de>
Improve D-Bus byte-array conversion
- * doc/misc/dbus.texi (Type Conversion): Adapt dbus-byte-array-to-string.
+ * doc/misc/dbus.texi (Type Conversion): Adapt
+ dbus-byte-array-to-string.
- * etc/NEWS: D-Bus byte array conversion works over raw UTF-8 bytes.
- Fix typos.
+ * etc/NEWS: D-Bus byte array conversion works over raw UTF-8
+ bytes. Fix typos.
* lisp/net/dbus.el (dbus-string-to-byte-array)
(dbus-byte-array-to-string): BYTE-ARRAY must be an UTF-8 raw bytes
(dbus-test09-get-managed-objects): Use `length='.
(dbus-test01-type-conversion): Extend test.
- * test/lisp/net/secrets-tests.el (secrets-test03-items): Extend test.
+ * test/lisp/net/secrets-tests.el (secrets-test03-items): Extend
+ test.
2024-04-12 Joseph Turner <joseph@breatheoutbreathe.in>
* lisp/info.el (info-pop-to-buffer): Move display of Info buffer
to a later stage after its text contents is ready to display.
- This helps to use fit-window-to-buffer in display-buffer-alist (bug#70213).
+ This helps to use fit-window-to-buffer in display-buffer-alist
+ (bug#70213).
2024-04-11 Dmitry Gutov <dmitry@gutov.dev>
etags-regen--tags-generate: Handle spaces in project root name
* lisp/progmodes/etags-regen.el (etags-regen--tags-generate):
- Quote the tags file name (bug#70329).
+ Quote the tags file name. (bug#70329)
2024-04-11 Eli Zaretskii <eliz@gnu.org>
Don't hide flymake diagnostics on empty first line (bug#70310)
- A diagnostic first in the buffer, typically the lexical cookie warning,
- got lost if that line was empty.
+ A diagnostic first in the buffer, typically the lexical cookie
+ warning, got lost if that line was empty.
* lisp/progmodes/elisp-mode.el (elisp-flymake--byte-compile-done):
- Make sure the location interval doesn't go beyond the buffer bounds.
+ Make sure the location interval doesn't go beyond the buffer
+ bounds.
2024-04-11 Po Lu <luangruo@yahoo.com>
2024-04-11 Dmitry Gutov <dmitry@gutov.dev>
- Generalize the file-name specific workaround in minibuffer-completion-help
+ Generalize the file-name specific workaround in
+ minibuffer-completion-help.
- * lisp/minibuffer.el (completion-base-suffix):
- New function (bug#48356).
+ * lisp/minibuffer.el (completion-base-suffix): New function.
+ (bug#48356)
(minibuffer-completion-help): Use it here.
(minibuffer-completion-help): Cut off the double completion
boundary when it occurs inside
- completion-list-insert-choice-function..
+ completion-list-insert-choice-function.
2024-04-10 Arash Esbati <arash@gnu.org>
Check if point inside a mandatory argument where the cite/ref key
usually resides. For example, with \cite[45]{emacs:30} and point
on 4, the following bogus message in the echo area is suppressed:
- "cite: no such database entry: \cite[45]". (bug#38258)
- Fix docstring.
+ "cite: no such database entry: \cite[45]". (bug#38258) Fix
+ docstring.
2024-04-10 Juri Linkov <juri@linkov.net>
* doc/lispref/parsing.texi (Parsing Program Source): Fix menu.
-
Add the new node "User-defined Things" to the menu.
2024-04-10 Andrea Corallo <acorallo@gnu.org>
- * lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Improve last change.
+ * lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Improve last
+ change.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): New function.
2024-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
- (en/decode_coding_object): Fix `after-change-functions`
+ (en/decode_coding_object): Fix `after-change-functions'
- For `en/decode-coding-string/region`, `after-change-functions`
+ For `en/decode-coding-string/region', `after-change-functions'
were either not run at all, or run only after deleting the text
but not after inserting it.
- * src/coding.c (decode_coding_object, encode_coding_object): Run the
- after-change-functions after inserting the result.
+ * src/coding.c (decode_coding_object, encode_coding_object): Run
+ the after-change-functions after inserting the result.
- * test/src/editfns-tests.el (sanity-check-change-functions-with-op):
- New macro.
+ * test/src/editfns-tests.el
+ (sanity-check-change-functions-with-op): New macro.
(sanity-check-change-functions-errors): New function.
(editfns-tests--before/after-change-functions): Use them to add
- cases for `en/decode-coding-string/region`.
+ cases for `en/decode-coding-string/region'.
2024-04-10 Po Lu <luangruo@yahoo.com>
- * java/Makefile.in (classes.dex): Make proguard.conf relative to srcdir.
-
- Merge remote-tracking branch 'savannah/master' into master-android-1
+ * java/Makefile.in (classes.dex): Make proguard.conf relative to
+ srcdir.
* java/proguard.conf: New file.
installed, detect whether an installation of `r8' is similarly
present, and use this installation in place of d8 if so.
- * java/Makefile.in (ANDROID_MIN_SDK, IS_D8_R8): New
- substitutions.
+ * java/Makefile.in (ANDROID_MIN_SDK, IS_D8_R8): New substitutions.
(classes.dex): Provide --min-api, --debug or --release and
--pg-conf to d8 or r8.
Add explicit binding to nil in let
- * lisp/which-key.el (which-key--match-replacement,
- which-key--propertize-key): Add explicit binding of case-fold-search to nil.
+ * lisp/which-key.el (which-key--match-replacement)
+ (which-key--propertize-key): Add explicit binding of
+ case-fold-search to nil.
2024-04-10 Po Lu <luangruo@yahoo.com>
2024-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
- (cl--describe-class-slots): Avoid cryptic `t` type
+ (cl--describe-class-slots): Avoid cryptic `t' type
- * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Use the empty
- string for the trivial `t` type.
+ * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Use the
+ empty string for the trivial `t' type.
- * lisp/emacs-lisp/cl-preloaded.el (cl-structure-class):
- Fix non-existing `bool` => `boolean`.
+ * lisp/emacs-lisp/cl-preloaded.el (cl-structure-class): Fix
+ non-existing `bool' => `boolean'.
2024-04-09 Dmitry Gutov <dmitry@gutov.dev>
Add Flymake backend to rust-ts-mode using Clippy
- * lisp/progmodes/rust-ts-mode.el (rust-ts-flymake-command):
- New option (bug#70260).
+ * lisp/progmodes/rust-ts-mode.el (rust-ts-flymake-command): New
+ option. (bug#70260)
(rust-ts--flymake-proc): New variable.
(rust-ts-flymake--helper): New function.
(rust-ts-flymake): New function.
Use null for clarity
- * lisp/which-key.el (which-key--show-evil-operator-keymap): Use null for
- clarity of zero length.
+ * lisp/which-key.el (which-key--show-evil-operator-keymap): Use
+ null for clarity of zero length.
2024-04-09 Jeremy Bryant <jb@jeremybryant.net>
- * lisp/which-key.el (which-key--show-evil-operator-keymap): let not let*
+ * lisp/which-key.el (which-key--show-evil-operator-keymap): let
+ not let*.
- * lisp/which-key.el (which-key--create-pages-1): Use cl-decf for clarity
+ * lisp/which-key.el (which-key--create-pages-1): Use cl-decf for
+ clarity.
- * lisp/which-key.el (which-key--partition-list): Replace cl-subseq by take
+ * lisp/which-key.el (which-key--partition-list): Replace cl-subseq
+ by take.
2024-04-09 Jeremy Bryant <jb@jeremybryant.net>
Change cl-case to cl-ecase
- * lisp/which-key.el (which-key--popup-max-dimensions):
- Change cl-case to cl-ecase to signal error if needed.
+ * lisp/which-key.el (which-key--popup-max-dimensions): Change
+ cl-case to cl-ecase to signal error if needed.
2024-04-09 Jeremy Bryant <jb@jeremybryant.net>
- * lisp/which-key.el (which-key--popup-max-dimensions): Fix docstring typo
+ * lisp/which-key.el (which-key--popup-max-dimensions): Fix
+ docstring typo.
2024-04-09 Jeremy Bryant <jb@jeremybryant.net>
Replace wholenump by natnump for context readability
- * lisp/which-key.el (which-key--width-or-percentage-to-width,
- which-key--height-or-percentage-to-height): Use natnump instead of
- wholenump.
+ * lisp/which-key.el (which-key--width-or-percentage-to-width)
+ (which-key--height-or-percentage-to-height): Use natnump instead
+ of wholenump.
2024-04-09 Jeremy Bryant <jb@jeremybryant.net>
Simplify code to use null
- * lisp/which-key.el (which-key--create-buffer-and-show):
- Use null.
+ * lisp/which-key.el (which-key--create-buffer-and-show): Use null.
2024-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
(test-replace-match-modification-hooks): Delete test
- * test/src/search-tests.el (test-replace-match-modification-hooks):
- Delete, this is testing a functionality we can't really support.
+ * test/src/search-tests.el
+ (test-replace-match-modification-hooks): Delete, this is testing a
+ functionality we can't really support.
2024-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2024-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
- (mouse-wheel-buttons): Map old-style wheel buttons to actual wheel events
+ (mouse-wheel-buttons): Map old-style wheel buttons to actual wheel
+ events.
- Change the handling of the old X11 convention that uses mouse-4/5/6/7
- events to represent wheel events: instead of asking downstream
- packages to use the `mouse-wheel-*-event` variables to know which events
- represent wheel events, use new var `mouse-wheel-buttons` to directly
- convert those events into the standard `wheel-up/down/left/right` events
- used everywhere else.
+ Change the handling of the old X11 convention that uses
+ mouse-4/5/6/7 events to represent wheel events: instead of asking
+ downstream packages to use the `mouse-wheel-*-event' variables to
+ know which events represent wheel events, use new var
+ `mouse-wheel-buttons' to directly convert those events into the
+ standard `wheel-up/down/left/right' events used everywhere else.
- This will simplify the work of packages which can thus just bind their
- commands to `wheel-up/down/left/right`.
+ This will simplify the work of packages which can thus just bind
+ their commands to `wheel-up/down/left/right'.
* lisp/mouse.el (mouse-wheel-buttons): New custom variable.
- * src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the tab-bar.
- * src/xterm.c (x_construct_mouse_click): Add `xi2` argument and
- obey `mouse-wheel-buttons` variable.
+ * src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on
+ the tab-bar.
+ * src/xterm.c (x_construct_mouse_click): Add `xi2' argument and
+ obey `mouse-wheel-buttons' variable.
(handle_one_xevent): Adjust calls accordingly.
- (syms_of_xterm): Define the `mouse-wheel-buttons` and the
- `wheel-up/down/left/right`symbols.
+ (syms_of_xterm): Define the `mouse-wheel-buttons' and the
+ `wheel-up/down/left/right'symbols.
- * lisp/xt-mouse.el: Don't require `mwheel` any more.
+ * lisp/xt-mouse.el: Don't require `mwheel' any more.
(xterm-mouse--same-button-p): Delete function.
- (xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`.
+ (xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons'.
* lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event)
(mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete.
Move over optional arguments in parentheses correctly
* lisp/textmodes/reftex-parse.el (reftex-move-to-previous-arg):
- Recognize ')' as closing delimiter for optional argument.
- Fix docstring.
+ Recognize ')' as closing delimiter for optional argument. Fix
+ docstring.
(reftex-what-macro): Identify LaTeX macros with optional arguments
in parentheses correctly. This is necessary to make
`reftex-view-crossref' work with biblatex on entries like:
Inhibit flymake lexical cookie warning in *scratch* (bug#70068)
- Add a hack to prevent flymake from complaining about a missing lexical
- cookie when enabled in *scratch*.
+ Add a hack to prevent flymake from complaining about a missing
+ lexical cookie when enabled in *scratch*.
* lisp/emacs-lisp/bytecomp.el
(bytecomp--inhibit-lexical-cookie-warning): New variable.
(byte-compile-file): Use it to gate the warning.
- * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
- Set the inhibitor when spawning a check in lisp-interaction-mode.
+ * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Set
+ the inhibitor when spawning a check in lisp-interaction-mode.
2024-04-09 Po Lu <luangruo@yahoo.com>
Fix misalignment of entries created by Dired file operations
- * lisp/dired.el (dired-insert-directory): Insert leading space
- if absent before calling dired-align-file.
+ * lisp/dired.el (dired-insert-directory): Insert leading space if
+ absent before calling dired-align-file.
2024-04-09 Juri Linkov <juri@linkov.net>
- Fix window-point-context-set and window-point-context-use (bug#33871)
+ Fix window-point-context-set and window-point-context-use
* lisp/window.el (window-point-context-set)
(window-point-context-use): Add 'window-buffer' for 'buffer-name'.
+ (bug#33871)
2024-04-09 Lin Sun <sunlin7@hotmail.com>
* lisp/ls-lisp.el (ls-lisp--sanitize-switches): Support '--time'
and '--sort=time'. (Bug#70271)
- * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug70271): New
- test case.
+ * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug70271): New test
+ case.
2024-04-09 Po Lu <luangruo@yahoo.com>
- Improve treatment of aborted touch events in Speedbar and elsewhere
+ Improve treatment of aborted touch events in Speedbar and
+ elsewhere.
* lisp/dframe.el (dframe-popup-kludge): Mark as a
mouse-1-menu-command.
Disable tab-bar by default in Speedbar frames
- * lisp/speedbar.el (speedbar-frame-parameters): Set
- tab-bar-lines to 0.
+ * lisp/speedbar.el (speedbar-frame-parameters): Set tab-bar-lines
+ to 0.
2024-04-09 Daniel Mendler <mail@daniel-mendler.de>
- (completion-hilit-commonality): Support `completion-lazy-hilit`
+ (completion-hilit-commonality): Support `completion-lazy-hilit'
* lisp/minibuffer.el (completion-hilit-commonality): Support lazy
- completion candidate highlighting via `completion-lazy-hilit`.
+ completion candidate highlighting via `completion-lazy-hilit'.
2024-04-08 Eli Zaretskii <eliz@gnu.org>
* lisp/emacs-lisp/cl-extra.el (cl--describe-class): Move docstring
after the class' slots.
- (cl--describe-class-slots): Buttonize the types.
+ (cl--describe-class-slots): Buttonize the types. (bug#70077)
2024-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
(define-globalized-minor-mode): Fix bug#69431
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
- When `after-change-major-mode-hook` runs, enable the mode only
- in the current buffer and not in other pending buffers.
+ When `after-change-major-mode-hook` runs, enable the mode only in
+ the current buffer and not in other pending buffers.
2024-04-08 Stephen Berman <stephen.berman@gmx.net>
2024-04-08 Andrea Corallo <acorallo@gnu.org>
- * Make comp ignore EIEIO classes (bug#70141)
+ Make comp ignore EIEIO classes
- * lisp/emacs-lisp/comp-cstr.el (comp--all-classes): Ignore EIEIO classes.
+ * lisp/emacs-lisp/comp-cstr.el (comp--all-classes): Ignore EIEIO
+ classes. (bug#70141)
2024-04-08 Andrea Corallo <acorallo@gnu.org>
- * Fix out of date comp pass names in comp-tests.el
+ Fix out of date comp pass names in comp-tests.el
* test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1)
(comp-tests-pure): Update out of date pass names.
Document tree-sitter things feature (bug#70016) (bug#68824)
- * doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds of
- predicate argument that the tree-traversing functions accept (which are
- thing symbols and thing definitions).
+ * doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds
+ of predicate argument that the tree-traversing functions
+ accept (namely, thing symbols and thing definitions).
(User-defined Things): New node dedicated to thing definition and
navigation functions.
2024-04-08 Yuan Fu <casouri@gmail.com>
- Make tree-sitter thing feature public and remove obsolete functions
+ Make tree-sitter thing feature public and remove obsolete
+ functions.
* lisp/treesit.el (treesit--things-around): Remove function.
- (treesit-forward-sexp):
- (treesit-beginning-of-thing):
- (treesit-end-of-thing):
- (treesit-navigate-thing):
- (treesit-thing-at-point):
- (treesit-outline-search): Use public version of thing-functions.
- (treesit--thing-prev):
- (treesit--thing-next):
- (treesit--thing-at):
- (treesit--navigate-thing): Make public.
+ (treesit-forward-sexp, treesit-beginning-of-thing)
+ (treesit-end-of-thing, treesit-navigate-thing)
+ (treesit-thing-at-point, treesit-outline-search): Use public
+ version of thing-functions.
+ (treesit--thing-prev, treesit--thing-next)
+ (treesit--thing-at, treesit--navigate-thing): Make public.
- * test/src/treesit-tests.el (treesit--ert-test-defun-navigation): Use
- public version of thing-functions.
+ * test/src/treesit-tests.el (treesit--ert-test-defun-navigation):
+ Use public version of thing-functions.
2024-04-07 F. Jason Park <jp@neverwas.me>
(erc-speedbar-toggle-nicknames-window-lock): Revise doc string.
(erc-speedbar-toggle-nicknames-window-lock): Set `cursor-type' in
speedbar buffer.
- (erc-nickbar-toggle-nicknames-window-lock): New function alias. Note
- that this name flouts traditional library namespacing conventions.
- * lisp/erc/erc-status-sidebar.el (erc-status-sidebar-get-window): Use
- `cursor-type' instead of `internal-show-cursor'. (Bug#63595)
+ (erc-nickbar-toggle-nicknames-window-lock): New function alias.
+ Note that this name flouts traditional library namespacing
+ conventions.
+ * lisp/erc/erc-status-sidebar.el (erc-status-sidebar-get-window):
+ Use `cursor-type' instead of `internal-show-cursor'. (Bug#63595)
2024-04-07 F. Jason Park <jp@neverwas.me>
Allow updating of /IGNORE timeouts in ERC
- * lisp/erc/erc.el (erc--read-time-period, erc--decode-time-period):
- Move body of former, now a superficial wrapper, to latter, a new
- function.
+ * lisp/erc/erc.el (erc--read-time-period)
+ (erc--decode-time-period): Move body of former, now a superficial
+ wrapper, to latter, a new function.
(erc--format-time-period): New function.
(erc--get-ignore-timer-args): New function.
(erc--find-ignore-timer): New function to search through `timer-list'
to find matching ignore timer.
(erc-cmd-IGNORE): Refactor and redo doc string. Add new optional
- `timespec' parameter, primarily to aid in testing. Update an existing
- timer instead of always creating one, and display time remaining in
- "ignore list" output. Pass server buffer instead of current buffer to
- timer callbacks because `erc--unignore-user' displays its messages in
- the `active' buffer, not necessarily the issuing one. Note that doing
- this does discard potentially useful information, so if ever reverting,
- we can change the `cl-find' :test in `erc--find-ignore-timer' to
- something that compares the `erc-server-process' of both buffers.
+ `timespec' parameter, primarily to aid in testing. Update an
+ existing timer instead of always creating one, and display time
+ remaining in "ignore list" output. Pass server buffer instead of
+ current buffer to timer callbacks because `erc--unignore-user'
+ displays its messages in the `active' buffer, not necessarily the
+ issuing one. Note that doing this does discard potentially useful
+ information, so if ever reverting, we can change the `cl-find'
+ :test in `erc--find-ignore-timer' to something that compares the
+ `erc-server-process' of both buffers.
;;
;; Something like:
;;
;; (buffer-local-value 'erc-server-process (cadr b)))))
;;
(erc-cmd-UNIGNORE): Pass `erc-ignore-list' member matching `user'
- parameter to `erc--unignore-user' instead of original, raw parameter,
- along with the server buffer.
- (erc--unignore-user): Cancel existing timer and don't bother switching
- to server buffer since we're already there.
+ parameter to `erc--unignore-user' instead of original, raw
+ parameter, along with the server buffer.
+ (erc--unignore-user): Cancel existing timer and don't bother
+ switching to server buffer since we're already there.
(erc-message-english-ignore-list): New variable.
* test/lisp/erc/erc-scenarios-ignore.el: New file.
* test/lisp/erc/erc-tests.el (erc--read-time-period): New test.
(Freplace_match): Fix bug#65451
- * src/search.c (Freplace_match): For ordering of *-change-functions.
+ * src/search.c (Freplace_match): For ordering of
+ *-change-functions.
* test/src/editfns-tests.el
(editfns-tests--before/after-change-functions): New test.
2024-04-07 Po Lu <luangruo@yahoo.com>
- Resolve disagreements in accounting of tooltip positions on Android
+ Resolve disagreements in accounting of tooltip positions on
+ Android.
- * java/org/gnu/emacs/EmacsService.java (getLocationInWindow):
- New function.
+ * java/org/gnu/emacs/EmacsService.java (getLocationInWindow): New
+ function.
* java/org/gnu/emacs/EmacsWindow.java (translateCoordinates):
Derive "root window" position from the origin point of the
- containing activity's window rather than that of the screen,
- the two of which differ when "freeform mode" is enabled.
+ containing activity's window rather than that of the screen, the
+ two of which differ when "freeform mode" is enabled.
2024-04-07 Lin Sun <sunlin7@hotmail.com>
- * lisp/master.el (master-says): Check nil argument (bug#70230).
+ * lisp/master.el (master-says): Check nil argument. (bug#70230)
2024-04-07 Po Lu <luangruo@yahoo.com>
Add documentation for 'switch-window' event
- * doc/lispref/commands.texi (Focus Events): Add
- documentation for the structure of 'switch-window' events.
- Make sure to be clear when referring to window system windows
- vs Emacs windows.
- * doc/lispref/windows.texi (Mouse Window Auto-selection):
- Adding cross-reference to "Focus Events". (Bug#69915)
+ * doc/lispref/commands.texi (Focus Events): Add documentation for
+ the structure of 'switch-window' events. Make sure to be clear
+ when referring to window system windows vs Emacs windows.
+ * doc/lispref/windows.texi (Mouse Window Auto-selection): Adding
+ cross-reference to "Focus Events". (Bug#69915)
2024-04-06 Olaf Rogalsky <olaf.rogalsky@gmail.com>
Generate select-window events, so that 'mouse-autoselect-window'
takes effect on TTY frames, when 'xterm-mouse-mode' is enabled.
- * lisp/xt-mouse.el (xterm-mouse-translate-1):
- If 'mouse-autoselect-window' is non-nil, add select-window
- events to 'unread-command-events'. (Bug#69915)
+ * lisp/xt-mouse.el (xterm-mouse-translate-1): If
+ 'mouse-autoselect-window' is non-nil, add select-window events to
+ 'unread-command-events'. (Bug#69915)
2024-04-06 Po Lu <luangruo@yahoo.com>
2024-04-06 Stefan Monnier <monnier@iro.umontreal.ca>
- (help-fns-function-description-header): Fix last change (bug#70209)
-
- * lisp/help-fns.el (help-fns-function-description-header): Don't make
- a button for the type if it's not a type.
+ * lisp/help-fns.el (help-fns-function-description-header): Don't
+ make a button for the type if it's not a type. (bug#70209)
2024-04-05 Michael Albinus <michael.albinus@gmx.de>
Make sh-script-tests.el more robust
- * test/lisp/progmodes/sh-script-tests.el (test-sh-script-indentation)
+ * test/lisp/progmodes/sh-script-tests.el
+ (test-sh-script-indentation)
(test-basic-sh-indentation, test-indent-after-continuation):
* test/lisp/progmodes/sh-script-resources/sh-indents.erts (Code):
Skip if `sh-indent-supported-here' is nil. (Bug#70196)
2024-04-05 Juri Linkov <juri@linkov.net>
- Mark display-comint-buffer-action as obsolete after adding a category.
+ Mark display-comint-buffer-action as obsolete after adding a
+ category.
- * lisp/window.el (display-comint-buffer-action):
- Append '(category . comint)' to the default value. Mark as obsolete.
- (display-tex-shell-buffer-action):
- Append '(category . tex-shell)' to the default value. Mark as obsolete.
- (bug#69983)
+ * lisp/window.el (display-comint-buffer-action): Append '(category
+ . comint)' to the default value. Mark as obsolete.
+ (display-tex-shell-buffer-action): Append '(category . tex-shell)'
+ to the default value. Mark as obsolete. (bug#69983)
2024-04-05 Juri Linkov <juri@linkov.net>
- * lisp/tab-bar.el (tab-bar-mode-map): New keymap (bug#69578).
-
- (tab-bar-select-tab-modifiers): Call tab-bar--undefine-keys
- before set-default in :set of defcustom.
- (tab-bar--define-keys, tab-bar--undefine-keys):
- Change keybindings in tab-bar-mode-map instead of the global map.
- Move checking of global-key-binding to tab-bar-mode--tab-key-bind.
+ * lisp/tab-bar.el (tab-bar-mode-map): New keymap. (bug#69578)
+ (tab-bar-select-tab-modifiers): Call tab-bar--undefine-keys before
+ set-default in :set of defcustom.
+ (tab-bar--define-keys, tab-bar--undefine-keys): Change keybindings
+ in tab-bar-mode-map instead of the global map. Move checking of
+ global-key-binding to tab-bar-mode--tab-key-bind.
(tab-bar-mode--tab-key-bind): New internal function.
2024-04-05 Mattias Engdegård <mattiase@acm.org>
Only call set-text-conversion-style if it exists
- * lisp/auth-source.el (read-passwd): Guard call, as it was before the
- code was moved here.
- `set-text-conversion-style` is not present in all configurations.
+ * lisp/auth-source.el (read-passwd): Guard call, as it was before
+ the code was moved here. `set-text-conversion-style` is not
+ present in all configurations.
2024-04-05 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/help-fns.el (help-fns-function-description-header): Fix bug#70209
-
- Replace the whimsical "" default by something actually useful.
+ * lisp/help-fns.el (help-fns-function-description-header): Replace
+ the whimsical "" default by something actually useful.
+ (bug#70209)
2024-04-05 Po Lu <luangruo@yahoo.com>
* doc/emacs/android.texi (Android Document Providers): Document
new command.
- * java/org/gnu/emacs/EmacsService.java (relinquishUriRights):
- New function.
+ * java/org/gnu/emacs/EmacsService.java (relinquishUriRights): New
+ function.
* src/Makefile.in (SOME_MACHINE_OBJECTS): Add androidvfs.c.
2024-04-05 Eli Zaretskii <eliz@gnu.org>
- * lisp/hexl.el (hexl-mode): Fix doc string (bug#70163).
+ * lisp/hexl.el (hexl-mode): Fix doc string. (bug#70163)
2024-04-05 Po Lu <luangruo@yahoo.com>
- Fix Semantic tag discovery when loading of unloaded files is suppressed
+ Fix Semantic tag discovery when loading of unloaded files is
+ suppressed.
* lisp/cedet/semantic/db-find.el
(semanticdb-find-tags-by-name-method)
(semanticdb-deep-find-tags-by-name-method)
(semanticdb-deep-find-tags-by-name-regexp-method)
(semanticdb-deep-find-tags-for-completion-method): Verify that
- tags is bound before accessing it; this slot is unbound in
- tables created for unloaded files when the `unloaded' throttle
- is disabled.
+ tags is bound before accessing it; this slot is unbound in tables
+ created for unloaded files when the `unloaded' throttle is
+ disabled.
2024-04-05 Spencer Baugh <sbaugh@janestreet.com>
- (project-current): Fix the previous change
-
- * lisp/progmodes/project.el (project-current):
- Fix the previous change (bug#69584).
+ * lisp/progmodes/project.el (project-current): Fix the previous
+ change. (bug#69584)
2024-04-04 Michael Albinus <michael.albinus@gmx.de>
2024-04-04 Mattias Engdegård <mattiase@acm.org>
* src/json.c (make_symset_table): Fix over-large allocation size.
-
We multiplied when we should have added. Oops.
2024-04-04 Juri Linkov <juri@linkov.net>
- Disobey display actions while using switch-to-buffer on the tab-line
+ Disobey display actions while using switch-to-buffer on the
+ tab-line
* lisp/tab-line.el (tab-line-select-tab-buffer)
- (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab): Let-bind
- switch-to-buffer-obey-display-actions to nil around the call to
- switch-to-buffer to restrain buffer switching in bounds of
- the same window only (bug#69993).
+ (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
+ Let-bind switch-to-buffer-obey-display-actions to nil around the
+ call to switch-to-buffer to restrain buffer switching in bounds of
+ the same window only. (bug#69993)
2024-04-04 Po Lu <luangruo@yahoo.com>
New variable haiku-pass-control-tab-to-system
Allow passing C-TAB on to the Haiku operating system, fixing
- window switching when an Emacs frame has focus (Bug#70138).
+ window switching when an Emacs frame has focus.
* src/haiku_support.cc (DispatchMessage): Conditionally pass
message to BWindow.
* src/haiku_support.h:
* src/haikufns.c (haiku_should_pass_control_tab_to_system): Add
variable haiku-pass-control-tab-to-system, and C function
- haiku_should_pass_control_tab_to_system.
+ haiku_should_pass_control_tab_to_system. (Bug#70138)
2024-04-03 Juri Linkov <juri@linkov.net>
- Simplify tab-line-switch-to-prev-tab and tab-line-switch-to-next-tab.
+ Simplify tab-line-switch-to-prev-tab and
+ tab-line-switch-to-next-tab.
* lisp/tab-line.el (tab-line-switch-to-prev-tab)
(tab-line-switch-to-next-tab): Use buffers instead of tabs.
Don't use file-truepath in Eglot (bug#70036)
- `file-truepath' is slow because of recursive calls and being implemented
- in lisp. It seems to not be needed in eglot, but it is used behind the
- scenes in `find-buffer-visiting', thus appearing in profiles. Moving
- the implementation to a hash map will yield similar performance
- benefits, but wouldn't require us to rewrite `file-truename' in C.
-
- * lisp/progmodes/eglot.el (eglot-lsp-server): Convert 'managed-buffers'
- to a hashmap.
- (eglot-uri-to-path): Don't use file-truepath, as it is too slow to be
- included in the hot path.
+ `file-truepath' is slow because of recursive calls and being
+ implemented in lisp. It seems to not be needed in eglot, but it
+ is used behind the scenes in `find-buffer-visiting', thus
+ appearing in profiles. Moving the implementation to a hash map
+ will yield similar performance benefits, but wouldn't require us
+ to rewrite `file-truename' in C.
+
+ * lisp/progmodes/eglot.el (eglot-lsp-server): Convert
+ 'managed-buffers' to a hashmap.
+ (eglot-uri-to-path): Don't use file-truepath, as it is too slow to
+ be included in the hot path.
(eglot--on-shutdown): Use buffers from buffer map.
- (eglot--managed-mode): Add buffer to map, rather than list. Also remove
- it from the map on deactivation.
+ (eglot--managed-mode): Add buffer to map, rather than list. Also
+ remove it from the map on deactivation.
(eglot-handle-notification): Expose server and get buffer from the
buffer map.
Revise android.texi to agree with last change
- * doc/emacs/android.texi (Android Windowing): Revise to agree
- with last change
+ * doc/emacs/android.texi (Android Windowing): Revise to agree with
+ last change
2024-04-03 Po Lu <luangruo@yahoo.com>
* java/org/gnu/emacs/EmacsMultitaskActivity.java (onCreate)
(getAttachmentToken): New functions.
- * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow):
+ * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
<attachmentToken, preserve, previouslyAttached>: New variables.
(onActivityDetached): Remove redundant isFinishing argument.
(reparentTo): Reset the foregoing fields before registering with
(WindowConsumer): New function getAttachmentToken.
(isWindowEligible): New function.
(registerWindowConsumer, registerWindow, removeWindowConsumer)
- (detachWindow): Implement a new window management strategy on
- API 29 and subsequent releases where both varieties of toplevel
- window are permanently, except when reparented, bound to the
- activities to which they attach, and Emacs establishes at
- strategic junctures whether those activities remain present.
+ (detachWindow): Implement a new window management strategy on API
+ 29 and subsequent releases where both varieties of toplevel window
+ are permanently, except when reparented, bound to the activities
+ to which they attach, and Emacs establishes at strategic junctures
+ whether those activities remain present.
(getTaskToken, pruneWindows): New functions.
2024-04-03 Mattias Engdegård <mattiase@acm.org>
Make lexical-binding cookie warning test more robust
* test/lisp/emacs-lisp/bytecomp-tests.el
- (bytecomp-tests--lexical-binding-cookie):
- Run with lexical-binding both on and off.
+ (bytecomp-tests--lexical-binding-cookie): Run with lexical-binding
+ both on and off.
2024-04-03 Philip Kaludercic <philipk@posteo.net>
Check if lexical-binding is enabled before warning
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Suppress "file
- has no `lexical-binding' directive" is the variable is non-nil,
- as is the case with 'lisp-interaction-mode'. (Bug#70068)
+ has no `lexical-binding' directive" is the variable is non-nil, as
+ is the case with 'lisp-interaction-mode'. (Bug#70068)
2024-04-02 Juri Linkov <juri@linkov.net>
* lisp/dired.el (dired-mode): Set buffer-local
'window-point-context-set-function' to remember 'dired-filename'
- or 'position' in the window with the Dired buffer.
- Set buffer-local 'window-point-context-use-function' to restore
- the remembered position of the window point.
+ or 'position' in the window with the Dired buffer. Set
+ buffer-local 'window-point-context-use-function' to restore the
+ remembered position of the window point.
* lisp/tab-bar.el (tab-bar--tab): Use window-point-context-set.
(tab-bar-select-restore-context): New user option.
* lisp/window.el: Add '(context . writable)' to
'window-persistent-parameters'.
- (window-point-context-set, window-point-context-use): New functions.
+ (window-point-context-set, window-point-context-use): New
+ functions.
(window-point-context-set-default-function)
(window-point-context-use-default-function): New functions.
(window-point-context-set-function)
Fix json-insert unibyte buffer bug (bug#70007)
- Previously, a unibyte target buffer could be put in an incorrect state
- if json-insert was used to insert non-ASCII characters.
+ Previously, a unibyte target buffer could be put in an incorrect
+ state if json-insert was used to insert non-ASCII characters.
- * src/json.c (Fjson_insert): Simplify. Don't attempt to decode the data
- being inserted: it is guaranteed to be correct UTF-8 and is correct for
- both unibyte and multibyte buffers.
+ * src/json.c (Fjson_insert): Simplify. Don't attempt to decode
+ the data being inserted: it is guaranteed to be correct UTF-8 and
+ is correct for both unibyte and multibyte buffers.
* test/src/json-tests.el (json-serialize/roundtrip)
(json-serialize/roundtrip-scalars): Extend tests.
* src/json.c (Fjson_insert): Precise the behavior when the current
buffer is multibyte and unibyte, respectively.
- * doc/lispref/text.texi (Parsing JSON): Refer to the right function.
+ * doc/lispref/text.texi (Parsing JSON): Refer to the right
+ function.
2024-04-02 Juri Linkov <juri@linkov.net>
- New condition/action entry 'category' for 'display-buffer' (bug#69983)
+ New condition/action entry 'category' for 'display-buffer'
* doc/lispref/windows.texi (Choosing Window): Provide an example
- of using '(category . comint)' in the condition of 'display-buffer-alist'
- and in the action of 'display-buffer'.
- (Buffer Display Action Alists): Add a new action alist entry 'category'.
+ of using '(category . comint)' in the condition of
+ 'display-buffer-alist' and in the action of 'display-buffer'.
+ (Buffer Display Action Alists): Add a new action alist entry
+ 'category'.
* lisp/subr.el (buffer-match-p): Add a new condition 'category'.
+ (bug#69983)
- * lisp/window.el (display-buffer): Document a new action alist entry
- 'category'.
+ * lisp/window.el (display-buffer): Document a new action alist
+ entry 'category'.
2024-04-01 Mattias Engdegård <mattiase@acm.org>
Update JSON parser test and docs
- * test/src/json-tests.el (json-parse-string/object):
- Duplicated object keys are now retained in alist and plist output.
+ * test/src/json-tests.el (json-parse-string/object): Duplicated
+ object keys are now retained in alist and plist output.
* etc/NEWS: Mention it.
-2024-04-01 Po Lu <luangruo@yahoo.com>
+2024-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
- (scheme-syntax-propertize-sexp-comment): Allow `#;` in strings
+ (scheme-syntax-propertize-sexp-comment): Allow `#;' in strings
- * lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
- Don't get confused by `#;` inside strings and (normal) comments.
+ * lisp/progmodes/scheme.el
+ (scheme-syntax-propertize-sexp-comment): Don't get confused by
+ `#;' inside strings and (normal) comments.
(scheme-sexp-comment-syntax-table): Comment-out, unused.
2024-04-01 Po Lu <luangruo@yahoo.com>
Add support for `ch' and `cw' dimension specifiers for images
- * src/image.c (image_get_dimension, lookup_image): Handle `ch'
- and `cw' dimension specifiers in addition to `em'.
+ * src/image.c (image_get_dimension, lookup_image): Handle `ch' and
+ `cw' dimension specifiers in addition to `em'.
* src/dispextern.h: Add new members `face_font_height' and
`face_font_width' to `struct image'.
- * doc/lispref/display.texi (Image Descriptors): Document
- `ch' and `cw'.
+ * doc/lispref/display.texi (Image Descriptors): Document `ch' and
+ `cw'.
2024-04-01 Mattias Engdegård <mattiase@acm.org>
2024-04-01 Mattias Engdegård <mattiase@acm.org>
- Don't signal `json-end-of-file` for short nonempty bad JSON inputs
+ Don't signal `json-end-of-file' for short nonempty bad JSON inputs
* src/json.c (json_parse_value): Generate a plain parse error.
* test/src/json-tests.el (json-parse-string/short): Adapt test.
Faster JSON parsing
Speed up JSON parsing substantially by only UTF-8-parsing string
- literals and only exactly once. Previously, json-parse-string always
- first parsed the entire input and copied it to a new string, and then
- validated each string literal twice.
+ literals and only exactly once. Previously, json-parse-string
+ always first parsed the entire input and copied it to a new
+ string, and then validated each string literal twice.
- We no longer create an extra new string when interning an alist key,
- nor do we garble plist keys with Unicode characters.
+ We no longer create an extra new string when interning an alist
+ key, nor do we garble plist keys with Unicode characters.
* src/lread.c (intern_c_multibyte): New.
* src/json.c (json_encode): Remove.
* lisp/emacs-lisp/bytecomp.el (bytecomp--sort-call-in-place-p)
(bytecomp--mutargs-nconc, bytecomp--mutargs-sort): New.
(byte-compile-form, bytecomp--actually-important-return-value-p)
- (mutating-fns):
- Use a slightly more extendible scheme for specifying what arguments
- a function mutates. Give `sort` special treatment.
+ (mutating-fns): Use a slightly more extendible scheme for
+ specifying what arguments a function mutates. Give `sort' special
+ treatment.
2024-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
- (scheme-syntax-propertize-sexp-comment): Handle nested sexp-comments
+ Handle nested sexp-comments in scheme.el.
Well, I'm not completely sure this will work right in all cases,
- because I've been confused about this in the past.
- It works in my test case, at least.
+ because I've been confused about this in the past. It works in my
+ test case, at least.
- * lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
- Look for nested `#;` and mark them appropriately.
+ * lisp/progmodes/scheme.el
+ (scheme-syntax-propertize-sexp-comment): Look for nested `#;' and
+ mark them appropriately.
2024-04-01 Po Lu <luangruo@yahoo.com>
Fix androidsu's `make-process' file name handler
* lisp/net/tramp-androidsu.el
- (tramp-androidsu-handle-make-process): Disable exec loader
- around call to setuid su binary.
+ (tramp-androidsu-handle-make-process): Disable exec loader around
+ call to setuid su binary.
2024-04-01 niceume <toshi@niceume.com>
(scheme-syntax-propertize-sexp-comment): Remove unused argument
- * lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
- Remove first arg, unused.
+ * lisp/progmodes/scheme.el
+ (scheme-syntax-propertize-sexp-comment): Remove first arg, unused.
(scheme-syntax-propertize): Adjust calls accordingly.
2024-04-01 niceume <toshi@niceume.com>
scheme.el: Enable dealing with regular expression literal
- * lisp/progmodes/scheme.el (scheme-syntax-propertize-regexp): New function.
+ * lisp/progmodes/scheme.el (scheme-syntax-propertize-regexp): New
+ function.
(scheme-syntax-propertize): Use it.
2024-04-01 Po Lu <luangruo@yahoo.com>
Fix listing of Android root directory when it is accessible
* src/androidvfs.c (android_root_closedir, android_root_dirfd)
- (android_root_opendir): Allocate an ersatz file descriptor even
- if directory is non-NULL, so that at-funcs will properly return
- file status for virtual files in the root directory.
+ (android_root_opendir): Allocate an ersatz file descriptor even if
+ directory is non-NULL, so that at-funcs may properly return file
+ status for virtual files in the root directory.
2024-03-31 Michael Albinus <michael.albinus@gmx.de>
Adapt Tramp version integrated in Emacs 29.3
- * lisp/net/trampver.el:
- Adapt Tramp version integrated in Emacs 29.3.
+ * lisp/net/trampver.el: Adapt Tramp version integrated in Emacs
+ 29.3.
2024-03-31 Po Lu <luangruo@yahoo.com>
List special directories when reading root directory on Android
- * src/androidvfs.c (root_vfs_ops): Substitute
- android_root_opendir for android_root_opendir.
+ * src/androidvfs.c (root_vfs_ops): Substitute android_root_opendir
+ for android_root_opendir.
(struct android_root_vdir): New structure.
(root_fd, root_fd_references): New variables.
(android_root_readdir, android_root_closedir, android_root_dirfd)
(android_root_opendir): New functions.
- (android_fstatat_1): Test provided fd against root_fd, and if
- they match, prefix FILENAME with the name of the root directory.
+ (android_fstatat_1): Test provided fd against root_fd, and if they
+ match, prefix FILENAME with the name of the root directory.
* lisp/ls-lisp.el (ls-lisp-insert-directory): If d-f-a-a signals
an error while retrieving attributes, compile the alist of
2024-03-30 James Thomas <james.thomas@ahimsa.global>
- Make gnus cache work with group names having '/'
-
- Make `gnus-cache-file-name` use the existing
- `nnmail-group-pathname`.
-
* lisp/gnus/gnus-cache.el (gnus-cache-file-name)
(gnus-cache-update-article):
- * lisp/gnus/nnmail.el (nnmail-group-pathname):
+ * lisp/gnus/nnmail.el (nnmail-group-pathname): Make gnus cache
+ work with group names having '/'. Make `gnus-cache-file-name' use
+ the existing `nnmail-group-pathname'.
2024-03-30 Theodor Thornhill <theo@thornhill.no>
Disable workDoneProgress if defcustom is nil
- There is no need to receive the $/progress notifications from the server
- if we don't want to render them. Because they are effectively ignored
- when eglot-report-progress is nil we'd rather not waste cycles on serde
- of the messages.
+ There is no need to receive the $/progress notifications from the
+ server if we don't want to render them. Because they are
+ effectively ignored when eglot-report-progress is nil we'd rather
+ not waste cycles on serde of the messages.
- * lisp/progmodes/eglot.el (eglot-client-capabilities): use value from
- defcustom to decide whether or not to advertise to server.
+ * lisp/progmodes/eglot.el (eglot-client-capabilities): Use value
+ from defcustom to decide whether or not to advertise to server.
2024-03-30 Theodor Thornhill <theo@thornhill.no>
Fix typo in docstring
- * lisp/progmodes/eglot.el (eglot-lsp-server): eglot-current-server is
- now exposed.
+ * lisp/progmodes/eglot.el (eglot-lsp-server): eglot-current-server
+ is now exposed.
2024-03-30 Eli Zaretskii <eliz@gnu.org>
* nt/INSTALL.W64:
* src/Makefile.in:
* src/emacs.c (main):
- * src/lisp.h:
- Remove JSON configuration options and references to it and Jansson from
- documentation and build files.
+ * src/lisp.h: Remove JSON configuration options and references to
+ it and Jansson from documentation and build files.
* etc/NEWS: Announce.
2024-03-30 Mattias Engdegård <mattiase@acm.org>
New JSON encoder (bug#70007)
- It is in general at least 2x faster than the old encoder and does not
- depend on any external library. Using our own code also gives us
- control over translation details: for example, we now have full
+ It is in general at least 2x faster than the old encoder and does
+ not depend on any external library. Using our own code also gives
+ us control over translation details: for example, we now have full
bignum support and tighter float formatting.
* src/json.c (json_delete, json_initialized, init_json_functions)
(json_malloc, json_free, init_json, json_out_of_memory)
- (json_releae_object, check_string_without_embedded_nulls, json_check)
- (json_check_utf8, lisp_to_json_nonscalar_1, lisp_to_json_nonscalar)
- (lisp_to_json, json_available_p, ensure_json_available, json_insert)
- (json_handle_nonlocal_exit, json_insert_callback):
- Remove. Remaining uses updated.
- * src/json.c (json_out_t, symset_t, struct symset_tbl)
+ (json_releae_object, check_string_without_embedded_nulls)
+ (json_check)
+ (json_check_utf8, lisp_to_json_nonscalar_1)
+ (lisp_to_json_nonscalar)
+ (lisp_to_json, json_available_p, ensure_json_available)
+ (json_insert)
+ (json_handle_nonlocal_exit, json_insert_callback): Remove.
+ Remaining uses updated.
+ (json_out_t, symset_t, struct symset_tbl)
(symset_size, make_symset_table, push_symset, pop_symset)
(cleanup_symset_tables, symset_hash, symset_expand, symset_add)
- (json_out_grow_buf, cleanup_json_out, json_make_room, JSON_OUT_STR)
+ (json_out_grow_buf, cleanup_json_out, json_make_room)
+ (JSON_OUT_STR)
(json_out_str, json_out_byte, json_out_fixnum, string_not_unicode)
(json_plain_char, json_out_string, json_out_nest, json_out_unnest)
- (json_out_object_cons, json_out_object_hash), json_out_array)
+ (json_out_object_cons, json_out_object_hash, json_out_array)
(json_out_float, json_out_bignum, json_out_something)
(json_out_to_string, json_serialize): New.
- (Fjson_serialize, Fjson_insert):
- New JSON encoder implementation.
- * test/src/json-tests.el (json-serialize/object-with-duplicate-keys)
+ (Fjson_serialize, Fjson_insert): New JSON encoder implementation.
+ * test/src/json-tests.el
+ (json-serialize/object-with-duplicate-keys)
(json-serialize/string): Update tests.
2024-03-30 David Ponce <da_vid@orange.fr>
bug#69992: Minor improvement to image map transformation logic
* lisp/image.el (image--compute-rotation): New function.
- (image--compute-map, image--compute-original-map): Use it.
- Ensure all transformations are applied or undone according to what
- Emacs does internally. Call a transformation function only when
- needed. Fix doc string.
+ (image--compute-map, image--compute-original-map): Use it. Ensure
+ all transformations are applied or undone according to what Emacs
+ does internally. Call a transformation function only when needed.
+ Fix doc string.
(image--scale-map, image--rotate-map): Assume effective scale
argument.
(image--rotate-coord): Improve doc string.
Add use-package-vc-prefer-newest user option
- * lisp/use-package/use-package-core.el (use-package-vc-prefer-newest):
- User option to prefer the latest commit (as opposed to the latest
- release) of a package.
+ * lisp/use-package/use-package-core.el
+ (use-package-vc-prefer-newest): User option to prefer the latest
+ commit (as opposed to the latest release) of a package.
(use-package-normalize--vc-arg): Check for
use-package-vc-prefer-newest.
Rationalize java/Makefile.in
- * java/Makefile.in: (emacs.apk-in): Bring commentary up to date,
+ * java/Makefile.in (emacs.apk-in): Bring commentary up to date,
and package classes.dex at this stage of the process.
($(APK_NAME)): Adjust to match.
2024-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2 cases
+ * lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2
+ cases.
* lisp/cedet/semantic/tag.el (semantic-tag): New type
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- `value<` manual entry adjustments (bug#69709)
+ `value<' manual entry adjustments (bug#69709)
- * doc/lispref/sequences.texi (Sequence Functions):
- Explain lexicographical ordering. Note the dual nature of `nil`.
- Mention the depth limit.
+ * doc/lispref/sequences.texi (Sequence Functions): Explain
+ lexicographical ordering. Note the dual nature of `nil'. Mention
+ the depth limit.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
* src/fns.c (Fvaluelt): More generous depth limit (20 -> 200).
- This gives `value<` the same limit as `equal` which seems about right.
+ This gives `value<' the same limit as `equal' which seems about
+ right.
2024-03-29 Sam Steingold <sds@gnu.org>
Support `shell-resync-dirs' on msys bash (Bug#70012)
* lisp/shell.el (w32-application-type): Declare.
- (shell-mode): Set `shell-dirstack-query' to `pwd -W` when using msys bash.
+ (shell-mode): Set `shell-dirstack-query' to `pwd -W' when using
+ msys bash.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- Better `sort` ignored-return-value warning
+ Better `sort' ignored-return-value warning
* lisp/emacs-lisp/bytecomp.el (byte-compile-form)
- (bytecomp--actually-important-return-value-p):
- Special handling of `sort` that takes into account that it may return
- an important value depending on the :in-place keyword argument.
+ (bytecomp--actually-important-return-value-p): Special handling of
+ `sort' that takes into account that it may return an important
+ value depending on the :in-place keyword argument.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- Remove `sort-on` (bug#69709)
+ Remove `sort-on' (bug#69709)
* lisp/sort.el (sort-on):
* doc/lispref/sequences.texi (Sequence Functions):
- * etc/NEWS:
- Remove the `sort-on` function which is now completely superseded by
- the extended `sort` in features, ease of use, and performance.
+ * etc/NEWS: Remove the `sort-on' function which is now completely
+ superseded by the extended `sort' in features, ease of use, and
+ performance.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- Use new-style `sort` signature in Lisp manual examples
+ Use new-style `sort' signature in Lisp manual examples
* doc/lispref/help.texi (Accessing Documentation):
- * doc/lispref/strings.texi (Text Comparison):
- Use the new sort calling convention (bug#69709).
+ * doc/lispref/strings.texi (Text Comparison): Use the new sort
+ calling convention. (bug#69709)
2024-03-29 Mattias Engdegård <mattiase@acm.org>
Faster non-destructive list sorting
- Postpone the creation of a new list to after sorting which turns out to
- be a lot faster (1.1x - 1.5x speedup).
+ Postpone the creation of a new list to after sorting which turns
+ out to be a lot faster (1.1x - 1.5x speedup).
- * src/fns.c (sort_list, sort_vector, Fsort):
- Create the new list when moving the data out from the temporary array.
+ * src/fns.c (sort_list, sort_vector, Fsort): Create the new list
+ when moving the data out from the temporary array.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- Speed up `sort` by special-casing the `value<` ordering
+ Speed up `sort' by special-casing the `value<' ordering
This gives a 1.5x-2x speed-up when using the default :lessp value,
by eliminating the Ffuncall overhead.
* src/sort.c (order_pred_lisp, order_pred_valuelt): New.
- (merge_state, inorder, binarysort, count_run, gallop_left, gallop_right)
+ (merge_state, inorder, binarysort, count_run, gallop_left)
+ (gallop_right)
(merge_init, merge_lo, merge_hi, tim_sort):
- * src/fns.c (Fsort):
- When using value<, call it directly.
+ * src/fns.c (Fsort): When using value<, call it directly.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- New `sort` keyword arguments (bug#69709)
+ New `sort' keyword arguments (bug#69709)
Add the :key, :lessp, :reverse and :in-place keyword arguments.
The old calling style remains available and is unchanged.
* src/fns.c (sort_list, sort_vector, Fsort):
- * src/sort.c (tim_sort):
- Add keyword arguments with associated new features.
- All callers of Fsort adapted.
- * test/src/fns-tests.el (fns-tests--shuffle-vector, fns-tests-sort-kw):
- New test.
+ * src/sort.c (tim_sort): Add keyword arguments with associated new
+ features. All callers of Fsort adapted.
+ * test/src/fns-tests.el (fns-tests--shuffle-vector)
+ (fns-tests-sort-kw): New test.
* doc/lispref/sequences.texi (Sequence Functions): Update manual.
* etc/NEWS: Announce.
Add back timsort key function handling (bug#69709)
- The original timsort code did provide for a key (accessor) function
- along with the necessary storage management, but we dropped it because
- our `sort` function didn't need it.
+ The original timsort code did provide for a key (accessor)
+ function along with the necessary storage management, but we
+ dropped it because our `sort' function didn't need it.
- Now it's been put back since it seems that it will come in handy after all.
+ Now it's been put back since it seems that it will come in handy
+ after all.
- * src/fns.c (sort_list, sort_vector, Fsort): Pass Qnil as key function
- to tim_sort.
+ * src/fns.c (sort_list, sort_vector, Fsort): Pass Qnil as key
+ function to tim_sort.
* src/sort.c (reverse_slice, sortslice_copy)
(sortslice_copy_incr, sortslice_copy_decr, sortslice_memcpy)
(sortslice_memmove, sortslice_advance): New functions.
(sortslice): New type.
(struct stretch, struct reloc, merge_state)
(binarysort, merge_init, merge_markmem, cleanup_mem)
- (merge_register_cleanup, merge_getmem, merge_lo, merge_hi, merge_at)
- (found_new_run, reverse_sortslice, resolve_fun, tim_sort):
- Merge back previously discarded parts from the upstreams timsort code
+ (merge_register_cleanup, merge_getmem, merge_lo, merge_hi)
+ (merge_at)
+ (found_new_run, reverse_sortslice, resolve_fun, tim_sort): Merge
+ back previously discarded parts from the upstreams timsort code
that dealt with key functions, and adapt them to fit in.
2024-03-29 Mattias Engdegård <mattiase@acm.org>
- Add `value<` (bug#69709)
+ Add `value<' (bug#69709)
- It's a general-purpose polymorphic ordering function, like `<` but
+ It's a general-purpose polymorphic ordering function, like `<' but
for any two values of the same type.
- * src/data.c (syms_of_data): Add the `type-mismatch` error.
+ * src/data.c (syms_of_data): Add the `type-mismatch' error.
(bits_word_to_host_endian): Move...
- * src/lisp.h (bits_word_to_host_endian): ...here, and declare inline.
- * src/fns.c (Fstring_lessp): Extract the bulk of this function to...
- (string_cmp): ...this 3-way comparison function, for use elsewhere.
+ * src/lisp.h (bits_word_to_host_endian): ...here, and declare
+ inline.
+ * src/fns.c (Fstring_lessp): Extract the bulk of this function
+ to...
+ (string_cmp): ...this 3-way comparison function, for use
+ elsewhere.
(bool_vector_cmp, value_cmp, Fvaluelt): New.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns):
- Add `value<`, which is pure and side-effect-free.
+ Add `value<', which is pure and side-effect-free.
* test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered)
(fns-value<-type-mismatch, fns-value<-symbol-with-pos)
- (fns-value<-circle, ert-deftest fns-value<-bool-vector): New tests.
+ (fns-value<-circle, ert-deftest fns-value<-bool-vector): New
+ tests.
* doc/lispref/sequences.texi (Sequence Functions):
* doc/lispref/numbers.texi (Comparison of Numbers):
- * doc/lispref/strings.texi (Text Comparison):
- Document the new value< function.
+ * doc/lispref/strings.texi (Text Comparison): Document the new
+ value< function.
* etc/NEWS: Announce.
2024-03-29 Po Lu <luangruo@yahoo.com>
Prevent Android OS task trimming from deleting Emacs frames
- * doc/emacs/android.texi (Android Windowing): Document proviso
- on Android 7.0 and later.
+ * doc/emacs/android.texi (Android Windowing): Document proviso on
+ Android 7.0 and later.
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
<timeOfLastInteraction>: New field.
pp.el: Try and fix bug#70039
- * lisp/emacs-lisp/pp.el (pp-fill): Avoid splitting `#N#` or `#[`.
+ * lisp/emacs-lisp/pp.el (pp-fill): Avoid splitting `#N#' or `#['.
* test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity): New test.
2024-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
copy-tree just image map, not entire image
- * lisp/image.el (image--compute-original-map): Copy only
- the image map. (Bug#69602)
+ * lisp/image.el (image--compute-original-map): Copy only the image
+ map. (Bug#69602)
2024-03-28 Rahguzar <rahguzar@zohomail.eu>
(test-parse-comments--no-assertion-error)
(test-syntax-highlight-inline--caret-negated-wrong-face)
(test-macro-test--file-no-asserts): New test cases.
- * doc/misc/ert.texi (Syntax Highlighting Tests): More syntax examples.
+ * doc/misc/ert.texi (Syntax Highlighting Tests): More syntax
+ examples.
2024-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
(pcase-mutually-exclusive): Use auto-generated table
- The `pcase-mutually-exclusive-predicates` table was not very
- efficient since it grew like O(N²) with the number of
- predicates. Replace it with an O(N) table that's auto-generated
- from the `built-in-class` objects.
+ The `pcase-mutually-exclusive-predicates' table was not very
+ efficient since it grew like O(N²) with the number of predicates.
+ Replace it with an O(N) table that's auto-generated from the
+ `built-in-class' objects.
* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Delete variable.
2024-03-28 Dmitry Gutov <dmitry@gutov.dev>
- (project-current): Add binding for 'non-essential'
-
- * lisp/progmodes/project.el (project-current):
- Add binding for 'non-essential' (bug#69584).
+ * lisp/progmodes/project.el (project-current): Add binding for
+ 'non-essential'. (bug#69584)
2024-03-28 Spencer Baugh <sbaugh@janestreet.com>
current-buffer instead of checking the modification time of the
passed-in buffer.
- This caused matches to not be shown if they weren't present in
- the current in-Emacs state of the buffer.
+ This caused matches to not be shown if they weren't present in the
+ current in-Emacs state of the buffer.
This was easily reproduced by writing a string to a file outside
Emacs, then searching for that string with
e.g. project-find-regexp. The string would seemingly not be
found, although in reality it was found, just not displayed.
- * lisp/progmodes/xref.el (xref--find-file-buffer):
- Check buf, not current-buffer (bug#70008).
+ * lisp/progmodes/xref.el (xref--find-file-buffer): Check buf, not
+ current-buffer. (bug#70008)
2024-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
- Fix labeling of functions in which-key popup
-
- Add a few minor changes.
+ * lisp/which-key.el (which-key-this-command-keys-function)
+ (which-key-inhibit-display-hook)
+ (which-key-enable-god-mode-support)
+ (which-key--compute-binding)
+ (which-key--get-keymap-bindings-1): Fix labeling of functions in
+ which-key popup. Add a few minor changes.
2024-03-27 Po Lu <luangruo@yahoo.com>
2024-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/help.el (help-function-arglist): Don't `substitute-command-keys`
+ * lisp/help.el (help-function-arglist): Don't
+ `substitute-command-keys'.
2024-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
cl-preloaded.el: Partly revert last change
The change caused type-check errors in auth-source where they use
- `:type function` constraints on object slots and expect those to
+ `:type function' constraints on object slots and expect those to
be able to hold symbols.
* lisp/emacs-lisp/cl-preloaded.el (function): Revert last change.
- * test/src/data-tests.el (data-tests--cl-type-of): Use `cl-functionp`
- rather than `functionp` to test `function`.
+ * test/src/data-tests.el (data-tests--cl-type-of): Use
+ `cl-functionp' rather than `functionp' to test `function'.
2024-03-26 Alan Mackenzie <acm@muc.de>
cl-preloaded.el: Fix the type lattice
- We generally want types to form not just a DAG but a lattice.
- If objects can be both `keyword` and `symbol-with-pos`, this
- means there should be a more precise type describing this intersection.
- If we ever find the need for such a refinement, we could add
- such a `keyword-with-pos` type, but here I took the simpler
- route of treating `keyword` not as a proper built-in type but
- as a second-class type like `natnum`.
+ We generally want types to form not just a DAG but a lattice. If
+ objects can be both `keyword' and `symbol-with-pos', this means
+ there should be a more precise type describing this intersection.
+ If we ever find the need for such a refinement, we could add such
+ a `keyword-with-pos' type, but here I took the simpler route of
+ treating `keyword' not as a proper built-in type but as a
+ second-class type like `natnum'.
While fixing this problem, also fix the problem we had where
- `functionp` was not quite adequate to characterize objects of type
- `function`, by introducing a new predicate `cl-functionp` for that.
+ `functionp' was not quite adequate to characterize objects of type
+ `function', by introducing a new predicate `cl-functionp' for
+ that.
* lisp/emacs-lisp/cl-preloaded.el (cl-functionp): New function.
(function): Use it.
(cl-generic-generalizers): Remove corresponding test.
* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add entry for
- `keyword` type.
+ `keyword' type.
* lisp/emacs-lisp/comp.el (comp-known-predicates): Fix type for
- negative result of `characterp`. Remove duplicate `numberp` entry.
- Fix types for `keywordp` now that `keyword` is not a built-in type any more.
+ negative result of `characterp'. Remove duplicate `numberp'
+ entry. Fix types for `keywordp' now that `keyword' is not a
+ built-in type any more.
- * test/src/data-tests.el (data-tests--cl-type-of): Add a few cases.
- Remove workaround for `function`.
+ * test/src/data-tests.el (data-tests--cl-type-of): Add a few
+ cases. Remove workaround for `function'.
2024-03-26 Andrea Corallo <acorallo@gnu.org>
* java/org/gnu/emacs/EmacsService.java (EmacsService)
<IC_MODE_PASSWORD>: New constant.
- * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
- Set TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode
- is IC_MODE_PASSWORD.
+ * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): Set
+ TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode is
+ IC_MODE_PASSWORD.
* lisp/subr.el (read-passwd): Set text-conversion-style to
`password'.
* src/androidgui.h (enum android_ic_mode): New value
ANDROID_IC_MODE_PASSWORD.
- * src/androidterm.c (android_reset_conversion): Handle
- `password'.
+ * src/androidterm.c (android_reset_conversion): Handle `password'.
* src/buffer.c (syms_of_buffer)
<&BVAR (current_buffer, text_conversion_style)>: Update doc
2024-03-25 Juri Linkov <juri@linkov.net>
- * lisp/vc/diff-mode.el (diff-setup-buffer-type): Remove "\n" from regexp.
+ * lisp/vc/diff-mode.el (diff-setup-buffer-type): Remove "\n" from
+ regexp.
- Remove extra "\n" from the end of the "diff --git.*" part
- of 'diff-outline-regexp' because "\n" is not used in outline-regexp
- and causes problems in such cases like when killing hunks
- in the diff buffer with outline-minor-mode that loses
- the outline icons because outline--fix-buttons-after-change and
+ Remove extra "\n" from the end of the "diff --git.*" part of
+ 'diff-outline-regexp' because "\n" is not used in outline-regexp
+ and causes problems in such cases like when killing hunks in the
+ diff buffer with outline-minor-mode that loses the outline icons
+ because outline--fix-buttons-after-change and
outline--fix-up-all-buttons are limited to the single line and
can't match an outline line with a regexp that ends with "\n".
-2024-03-25 Po Lu <luangruo@yahoo.com>
-
- Merge remote-tracking branch 'savannah/master' into master-android-1
-
2024-03-25 Po Lu <luangruo@yahoo.com>
Port restart-emacs to Android 4.3 and earlier
cl-preloaded.el: Improve docstrings of "kinds"
- * lisp/emacs-lisp/cl-preloaded.el (cl--class): Improve the docstring.
+ * lisp/emacs-lisp/cl-preloaded.el (cl--class): Improve the
+ docstring.
(built-in-class): Add a docstring.
2024-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
- * doc/emacs/help.texi (Name Help): Mention buttons (bug#69935)
+ * doc/emacs/help.texi (Name Help): Mention buttons. (bug#69935)
2024-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
edebug.el: Better strip instrumentation from backtraces
- Rework the code that "cleans" the backtrace for `edebug-pop-to-backtrace`.
- The main changes are the following:
+ Rework the code that "cleans" the backtrace for
+ `edebug-pop-to-backtrace'. The main changes are the following:
- Strip instrumentation from "everywhere" rather than trying to limit the
effect to "code" and leave "data" untouched. This is a worthy
goal, but it is quite difficult to do since code contains data
- (so we ended up touching data anyway) and data can also
- contain code.
+ (so we ended up touching data anyway) and data can also contain
+ code.
The risk of accidentally removing something because it happens
- to look like instrumentation is very low, whereas it was very common
- for instrumentation to remain in the backtrace.
-
+ to look like instrumentation is very low, whereas it was very
+ common for instrumentation to remain in the backtrace.
- Use a global hash-table to remember the work done, instead of
using separate hash-table for each element. By using a weak
hash-table we avoid the risk of leaks, and save a lot of work
* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Tweak code
layout so the comments are more clear.
- (edebug-unwrap): Remove redundant patterns for `closure` and `lambda`.
- Add `:closure-dont-trim-context` to the `edebug-enter` pattern,
- so it also gets removed (this should have been done in commit
- 750bc57cbb8d).
+ (edebug-unwrap): Remove redundant patterns for `closure' and
+ `lambda'. Add `:closure-dont-trim-context' to the `edebug-enter'
+ pattern, so it also gets removed (this should have been done in
+ commit 750bc57cbb8d).
(edebug--unwrap-cache): New var.
(edebug-unwrap*): Use it.
- (edebug--unwrap1): Delete function. Merged into `edebug-unwrap*`.
- Also apply unwrapping to the contents of byte-code functions since they
- can refer to lambda expressions captured by the closure.
+ (edebug--unwrap1): Delete function. Merged into `edebug-unwrap*'.
+ Also apply unwrapping to the contents of byte-code functions since
+ they can refer to lambda expressions captured by the closure.
(edebug--symbol-prefixed-p): Rename from
- `edebug--symbol-not-prefixed-p` and adjust meaning accordingly.
- (edebug--strip-instrumentation): Adjust accordingly and simplify
- a bit by unifying the "lambda" case and the "everything else" case.
- (edebug--unwrap-frame): Use `cl-callf` and unwrap arguments even if
- they've already been evaluated.
+ `edebug--symbol-not-prefixed-p' and adjust meaning accordingly.
+ (edebug--strip-instrumentation): Adjust accordingly and simplify a
+ bit by unifying the "lambda" case and the "everything else" case.
+ (edebug--unwrap-frame): Use `cl-callf' and unwrap arguments even
+ if they've already been evaluated.
2024-03-23 F. Jason Park <jp@neverwas.me>
Reuse command-indicator code for script lines in ERC
- * lisp/erc/erc-goodies.el (erc-load-irc-script-lines): Move here from
- main file and rework to always use `command-indicator' instead of only
- partially, when available. Also use internal "send-action" and
- "send-message" interfaces to defer command-handler output until
- command lines have been inserted.
+ * lisp/erc/erc-goodies.el (erc-load-irc-script-lines): Move here
+ from main file and rework to always use `command-indicator'
+ instead of only partially, when available. Also use internal
+ "send-action" and "send-message" interfaces to defer
+ command-handler output until command lines have been inserted.
* lisp/erc/erc.el (erc-process-input-line): Redo doc string.
(erc-process-script-line): Fold exceptionally overlong line.
(erc-load-irc-script-lines): Move to erc-goodies.el. (Bug#67032)
Restore leading space to right-margin stamps in ERC
- * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Insert a single
- space character immediately before right-side stamps managed by
- `erc-stamp--display-margin-mode'. Include it as part of the
- `timestamp' field. This behavior was originally present in an earlier
- draft of the changes for bug#60936, mainly to favor symmetry between
- hard-wrapped fill styles and fill-wrap with regard to stamps. It was
- subsequently removed to simplify management, so that the `field' and
- `display' intervals aligned.
+ * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Insert a
+ single space character immediately before right-side stamps
+ managed by `erc-stamp--display-margin-mode'. Include it as part
+ of the `timestamp' field. This behavior was originally present in
+ an earlier draft of the changes for bug#60936, mainly to favor
+ symmetry between hard-wrapped fill styles and fill-wrap with
+ regard to stamps. It was subsequently removed to simplify
+ management, so that the `field' and `display' intervals aligned.
* test/lisp/erc/erc-stamp-tests.el
(erc-stamp--display-margin-mode--right): Update expected output.
Remove mishandled erc-control-default-{fg,bg} faces
- Partially revert those portions of 7b4ca9e609e "Leverage inverse-video
- for erc-inverse-face" that introduced and managed explicit faces for
- the "default" 99 color code.
+ Partially revert those portions of 7b4ca9e609e "Leverage
+ inverse-video for erc-inverse-face" that introduced and managed
+ explicit faces for the "default" 99 color code.
* lisp/erc/erc-goodies.el (erc-control-default-fg)
- (erc-control-default-bg): Remove unused faces originally meant to be
- new in ERC 5.6.
- (erc-get-fg-color-face, erc-get-bg-color-face): Return nil for n=99.
+ (erc-control-default-bg): Remove unused faces originally meant to
+ be new in ERC 5.6.
+ (erc-get-fg-color-face, erc-get-bg-color-face): Return nil for
+ n=99.
(erc-controls-interpret, erc-controls-highlight): Preserve an
interval's existing background so "if only the foreground color is
set, the background color stays the same," as explained by
Remove unused faces from various erc-goodies tests
-
* test/lisp/erc/erc-goodies-tests.el
(erc-controls-highlight--spoilers)
(erc-controls-highlight--inverse): Remove all mention of stricken
2024-03-23 Stefan Monnier <monnier@iro.umontreal.ca>
- (describe-package-1): Fix bug#69712
-
- * lisp/emacs-lisp/package.el (describe-package-1): Improve the test to
- determine if `maintainers` contains a single cons or a list of conses.
+ * lisp/emacs-lisp/package.el (describe-package-1): Improve the
+ test to determine if `maintainers` contains a single cons or a
+ list of conses. (bug#69712)
2024-03-23 Joseph Turner <joseph@breatheoutbreathe.in>
Now, when transforming an image, its :map is recomputed to fit.
Image map coordinates are integers, so when computing :map,
coordinates are rounded. To prevent an image from drifting from
- its map after repeated transformations, 'create-image' now adds
- a new image property :original-map, which is combined with the
+ its map after repeated transformations, 'create-image' now adds a
+ new image property :original-map, which is combined with the
image's transformation parameters to recompute :map.
* lisp/image.el (image-recompute-map-p): Add user option to
control whether :map is recomputed when an image is transformed.
(create-image): Create :map from :original-map and vice versa.
(image--delayed-change-size): Fix comment.
- (image--change-size, image-rotate, image-flip-horizontally,
- image-flip-vertically): Recompute image map after transformation
+ (image--change-size, image-rotate, image-flip-horizontally)
+ (image-flip-vertically): Recompute image map after transformation
and mention 'image-recompute-map-p' in docstring.
(image--compute-map): Add function to compute a map from original
map.
- (image--compute-original-map): Add function to compute an
- original map from map.
+ (image--compute-original-map): Add function to compute an original
+ map from map.
(image--scale-map): Add function to scale a map based on :scale.
(image--rotate-map): Add function to rotate a map based on
:rotation.
(image--rotate-coord): Add function to rotate a map coordinate
pair.
(image--flip-map): Add function to flip a map based on :flip.
- (image-increase-size, image-decrease-size, image-mouse-increase-size)
+ (image-increase-size, image-decrease-size)
+ (image-mouse-increase-size)
(image-mouse-decrease-size): Mention 'image-recompute-map-p' in
docstrings.
* etc/NEWS: Add NEWS entry.
- * doc/lispref/display.texi (Image Descriptors): Document :original-map
- and new user option 'image-recompute-map-p'.
+ * doc/lispref/display.texi (Image Descriptors): Document
+ :original-map and new user option 'image-recompute-map-p'.
* test/lisp/image-tests.el (image--compute-map-and-original-map):
Test 'image--compute-map' and 'image--compute-original-map'.
- (image-tests--map-equal): Add equality predicate to compare image maps.
+ (image-tests--map-equal): Add equality predicate to compare image
+ maps.
(image-create-image-with-map): Test that 'create-image' adds :map
and/or :original-map as appropriate.
- (image-transform-map): Test functions related to transforming maps.
- (Bug#69602)
+ (image-transform-map): Test functions related to transforming
+ maps. (Bug#69602)
2024-03-23 Jim Porter <jporterbugs@gmail.com>
(eww-default-readable-p): New function...
(eww-display-html): ... use it.
- * test/lisp/net/eww-tests.el (eww-test/readable/default-readable): New
- test.
+ * test/lisp/net/eww-tests.el (eww-test/readable/default-readable):
+ New test.
* doc/misc/eww.texi (Basics): Document 'eww-readable-urls'.
- * etc/NEWS: Announce this change (bug#68254).
+ * etc/NEWS: Announce this change. (bug#68254)
2024-03-23 Jim Porter <jporterbugs@gmail.com>
Allow toggling "readable" mode in EWW
- Additionally, add an option to prevent adding a new history entry for
- each call of 'eww-readable' (bug#68254).
+ Additionally, add an option to prevent adding a new history entry
+ for each call of 'eww-readable'. (bug#68254)
* lisp/net/eww.el (eww-retrieve):
* lisp/net/eww.el (eww-readable-adds-to-history): New option.
(eww-retrieve): Make sure we call CALLBACK in all configurations.
(eww-render): Simplify how to pass encoding.
- (eww--parse-html-region, eww-display-document): New functions, extracted
- from...
+ (eww--parse-html-region, eww-display-document): New functions,
+ extracted from...
(eww-display-html): ... here.
(eww-document-base): New function.
- (eww-readable): Toggle "readable" mode interactively, like with a minor
- mode. Consult 'eww-readable-adds-to-history'.
+ (eww-readable): Toggle "readable" mode interactively, like with a
+ minor mode. Consult 'eww-readable-adds-to-history'.
(eww-reload): Use 'eshell-display-document'.
- * test/lisp/net/eww-tests.el (eww-test--with-mock-retrieve): Fix indent.
- (eww-test/display/html, eww-test/readable/toggle-display): New tests.
+ * test/lisp/net/eww-tests.el (eww-test--with-mock-retrieve): Fix
+ indent.
+ (eww-test/display/html, eww-test/readable/toggle-display): New
+ tests.
* doc/misc/eww.texi (Basics): Describe the new behavior.
In my benchmarking, for large dired buffers, using 'regexp-opt'
provides around a 3x speedup in omitting.
- 'regexp-opt' takes around 5 milliseconds, so to avoid slowing
- down omitting in small dired buffers we cache the return value.
+ 'regexp-opt' takes around 5 milliseconds, so to avoid slowing down
+ omitting in small dired buffers we cache the return value.
Since omitting is now 3x faster, increase 'dired-omit-size-limit'
by 3x. Also, document 'dired-omit-size-limit' better.
2024-03-23 Eli Zaretskii <eliz@gnu.org>
- * src/coding.c (produce_chars): Fix a thinko (bug#69966).
+ * src/coding.c (produce_chars): Fix a thinko. (bug#69966)
2024-03-23 Eli Zaretskii <eliz@gnu.org>
8cf05d9be12 Fix 'shortdoc-copy-function-as-kill'
d5901f3f05e Improve documentation of 'edebug-print-*' variables
-2024-03-23 Po Lu <luangruo@yahoo.com>
-
- Merge remote-tracking branch 'savannah/master' into master-android-1
-
2024-03-23 Po Lu <luangruo@yahoo.com>
Enable calling decode_coding_object with both SRC and DST_OBJECT Qnil
Correctly handle non-BMP characters in Android content file names
* lisp/term/android-win.el (android-encode-jni)
- (android-decode-jni, android-jni): New coding system, for
- Android file names and runtime data.
+ (android-decode-jni, android-jni): New coding system, for Android
+ file names and runtime data.
* src/androidterm.h (syms_of_androidvfs): New function.
special_coding_system.
(android_saf_tree_readdir): Decode the file name using the
android-jni coding system.
- (special_vnodes): <contents>: Specify a file name coding system.
+ (special_vnodes) <contents>: Specify a file name coding system.
(android_vfs_convert_name): New function.
- (android_root_name): If a special coding system be specified for
- a special vnode, convert components to it before invoking its
- name function.
+ (android_root_name): If a special coding system be specified for a
+ special vnode, convert components to it before invoking its name
+ function.
(syms_of_androidvfs): New symbol Qandroid_jni.
* src/emacs.c (android_emacs_init): Call syms_of_androidvfs.
Fix recent test regressions
- * lisp/emacs-lisp/pp.el (pp-fill): Don't cut between `#` and `(`.
+ * lisp/emacs-lisp/pp.el (pp-fill): Don't cut between `#' and `('.
* test/lisp/help-fns-tests.el (help-fns-test-built-in)
(help-fns-test-interactive-built-in, help-fns-test-lisp-defun)
(help-fns-test-lisp-defsubst):
* test/src/emacs-module-tests.el (module/describe-function-1):
- Adjust tests to new wording in `describe-function`.
+ Adjust tests to new wording in `describe-function'.
2024-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
- etc/NEWS: Document the new behavior of `describe-function`
+ * etc/NEWS: Document the new behavior of `describe-function`.
I pushed commit accd79c93935 by accident.
- Related to bug#69935
+ Related to bug#69935.
2024-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
(pp-fill): Cut before parens and dots
- The `pp-fill` code sometimes end up generating things like:
+ The `pp-fill' code sometimes end up generating things like:
(foo .
bar)
* lisp/emacs-lisp/pp.el (pp-fill): Cut before parens and dots.
- * test/lisp/emacs-lisp/pp-tests.el (pp-tests--dimensions): New function.
+ * test/lisp/emacs-lisp/pp-tests.el (pp-tests--dimensions): New
+ function.
(pp-tests--cut-before): New test.
2024-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
(help-fns-function-description-header): Print functions' type
- Instead of choosing English words to describe the kind of function,
- use the actual type of the function object (from `cl-type-of`)
- directly, and make it a button to display info about that type.
+ Instead of choosing English words to describe the kind of
+ function, use the actual type of the function object (from
+ `cl-type-of`) directly, and make it a button to display info about
+ that type.
* lisp/help-fns.el (help-fns-function-description-header): Use the
- function's type name in the description instead of "prose".
- Use `insert` instead of `princ`, so as to preserve the text-properties
+ function's type name in the description instead of "prose". Use
+ `insert' instead of `princ', so as to preserve the text-properties
of the button.
- * lisp/emacs-lisp/cl-extra.el (cl-help-type): Move to `help-mode.el`
- and rename to `help-type`.
+ * lisp/emacs-lisp/cl-extra.el (cl-help-type): Move to
+ `help-mode.el' and rename to `help-type'.
(cl--describe-class): Adjust accordingly.
* lisp/help-mode.el (help-type): New type, moved and renamed from
Fix display of custom menus after putative cosmetic change
- * lisp/wid-edit.el (widget-setup): Restore version from before
- the previous commit.
+ * lisp/wid-edit.el (widget-setup): Restore version from before the
+ previous commit.
2024-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/help.el (help--analyze-key): Use `help-fns-function-name`
+ * lisp/help.el (help--analyze-key): Use `help-fns-function-name'.
2024-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
(help-fns-function-name): New function
- Consolidate code used in profiler and help--describe-command,
- and improve it while we're at it.
- Also use #' to quote a few function names along the way.
+ Consolidate code used in profiler and help--describe-command, and
+ improve it while we're at it. Also use #' to quote a few function
+ names along the way.
- * lisp/help-fns.el (help-fns--function-numbers, help-fns--function-names):
- New vars.
+ * lisp/help-fns.el (help-fns--function-numbers)
+ (help-fns--function-names): New vars.
(help-fns--display-function): New aux function.
(help-fns-function-name): New function, inspired from
- `help--describe-command`.
+ `help--describe-command'.
- * lisp/help.el (help--describe-command): Use `help-fns-function-name`.
- (help--for-help-make-sections): Remove redundant "" arg to `mapconcat`.
+ * lisp/help.el (help--describe-command): Use
+ `help-fns-function-name'.
+ (help--for-help-make-sections): Remove redundant "" arg to
+ `mapconcat'.
* lisp/profiler.el (profiler-format-entry, profiler-fixup-entry):
Delete functions.
- (profiler-report-make-entry-part): Use `help-fns-function-name` instead.
- (profiler-report-find-entry): Use `push-button`.
+ (profiler-report-make-entry-part): Use `help-fns-function-name'
+ instead.
+ (profiler-report-find-entry): Use `push-button'.
- * lisp/transient.el (transient--debug): Use `help-fns-function-name`
- when available.
+ * lisp/transient.el (transient--debug): Use
+ `help-fns-function-name' when available.
2024-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
(make-help-screen): Move most of the code out to a function
- This avoids problems like variable-name capture and lets compiler messages
- point to the actual source code.
+ This avoids problems like variable-name capture and lets compiler
+ messages point to the actual source code.
- * lisp/help-macro.el (help--help-screen): New function, extracted from
- `make-help-screen`.
+ * lisp/help-macro.el (help--help-screen): New function, extracted
+ from `make-help-screen'.
(make-help-screen): Use it.
2024-03-21 Jonas Bernoulli <jonas@bernoul.li>
(describe-symbol-backends): Fix addition of the "type" backend
- That backend was added from `cl-extra.el` with no autoload, so
- (describe-symbol `advice) failed to show the info about
- the `advice` type unless `cl-extra.el` had been loaded beforehand.
- `C-h o RET advice RET` worked by accident because the completion
- table uses `cl-some` which is autoloaded from `cl-extra.el`.
+ That backend was added from `cl-extra.el' with no autoload, so
+ (describe-symbol `advice) failed to show the info about the
+ `advice' type unless `cl-extra.el' had been loaded beforehand.
+ `C-h o RET advice RET' worked by accident because the completion
+ table uses `cl-some' which is autoloaded from `cl-extra.el'.
- * lisp/help-mode.el (describe-symbol-backends): Add the "type" backend.
- * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Don't add the
- "type" backend here.
+ * lisp/help-mode.el (describe-symbol-backends): Add the "type"
+ backend.
+ * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Don't
+ add the "type" backend here.
2024-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2024-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
- Speed up `describe-char` when a property has a large value
+ Speed up `describe-char' when a property has a large value
- Doing `C-u C-x =` on a buffer position where the overlay/text
- properties hold large values (e.g. inside the profiler report)
- can be surprisingly slow because it pretty prints all those properties.
- Change the code to do the pretty printing more lazily.
- While at it, share that duplicated code between `descr-text.el` and
- `wid-browse.el`.
+ Doing `C-u C-x =' on a buffer position where the overlay/text
+ properties hold large values (e.g. inside the profiler report) can
+ be surprisingly slow because it pretty prints all those
+ properties. Change the code to do the pretty printing more
+ lazily. While at it, share that duplicated code between
+ `descr-text.el' and `wid-browse.el'.
* lisp/emacs-lisp/pp.el (pp-insert-short-sexp): New function.
* lisp/descr-text.el (describe-text-sexp): Delete function.
- (describe-property-list): Use `pp-insert-short-sexp` instead.
+ (describe-property-list): Use `pp-insert-short-sexp' instead.
- * lisp/wid-browse.el (widget-browse-sexp): Use `pp-insert-short-sexp`
- and `widget--allow-insertion`.
+ * lisp/wid-browse.el (widget-browse-sexp): Use
+ `pp-insert-short-sexp' and `widget--allow-insertion'.
2024-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/wid-edit.el: Use #' to quote function names.
(widget--simplify-menu, widget-echo-help): Explicitly specify the
- lexenv to `eval`.
- (widget-choose, widget-get-sibling, widget-setup, widget-field-find)
+ lexenv to `eval'.
+ (widget-choose, widget-get-sibling, widget-setup)
+ (widget-field-find)
(widget-choice-action, widget-checklist-value-get)
(widget-radio-value-create, widget-radio-value-set)
(widget-radio-action, widget-editable-list-delete-at)
- (widget-group-value-create, widget-choice-prompt-value): Use `dolist`.
- (widget-convert): Hoist `(setq current` out of the ifs.
- (widget-convert): Hoist `(setq keys` out of the if.
- (widget-after-change): Hoist `(setq begin` out of the if.
- (widget-default-completions): Use `cond`.
- (widget-default-value-set): Hoist `goto-char` out of the if.
- (widget-choice-action): Hoist `nth` out of the if.
- (widget-checkbox-action): Hoist `widget-apply` out of the if.
- (widget-editable-list-value-create): Hoist `car` out of the if.
- (widget-editable-list-entry-create): Hoist `(setq child ...` out of the if.
- (widget-documentation-link-action): Fold `if` into `cond`.
- (widget-key-sequence-value-to-external): Use `key-parse`.
- (widget-plist-convert-option, widget-alist-convert-option):
- Hoist `(setq key-type` out of the if.
+ (widget-group-value-create, widget-choice-prompt-value): Use
+ `dolist'.
+ (widget-convert): Hoist `(setq current' out of the ifs.
+ (widget-convert): Hoist `(setq keys' out of the if.
+ (widget-after-change): Hoist `(setq begin' out of the if.
+ (widget-default-completions): Use `cond'.
+ (widget-default-value-set): Hoist `goto-char' out of the if.
+ (widget-choice-action): Hoist `nth' out of the if.
+ (widget-checkbox-action): Hoist `widget-apply' out of the if.
+ (widget-editable-list-value-create): Hoist `car' out of the if.
+ (widget-editable-list-entry-create): Hoist `(setq child ...' out
+ of the if.
+ (widget-documentation-link-action): Fold `if' into `cond'.
+ (widget-key-sequence-value-to-external): Use `key-parse'.
+ (widget-plist-convert-option, widget-alist-convert-option): Hoist
+ `(setq key-type' out of the if.
2024-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
- (widget--allow-insertion): New macro
-
* lisp/wid-edit.el (widget--allow-insertion): New macro.
(widget-specify-insert, widget-insert, widget-setup)
(widget-default-delete, widget-editable-list-insert-before)
It's often necessary to update the representation of a single
object in a table (e.g a struct, whose identity does not change
- when its slots'
- values are changed). To do so, now the function may be called
- like this:
+ when its slots' values are changed). To do so, now the function
+ may be called like this:
(vtable-update-object table object)
(vtable-update-object table object object)
- This also documents the behavior of the just-discovered limitation filed
- as bug#69837.
- * lisp/emacs-lisp/vtable.el (vtable-update-object): Make 'old-object'
- argument optional. (Bug#69666)
+ This also documents the behavior of the just-discovered limitation
+ filed as bug#69837.
+ * lisp/emacs-lisp/vtable.el (vtable-update-object): Make
+ 'old-object' argument optional. (Bug#69666)
- * doc/misc/vtable.texi (Interface Functions): Update documentation.
+ * doc/misc/vtable.texi (Interface Functions): Update
+ documentation.
* etc/NEWS: Add news entry.
being compared with the list rather than the intended value in it;
that could cause the whole table to be recomputed, sometimes
unnecessarily.
- * lisp/emacs-lisp/vtable.el (vtable--recompute-numerical): Test the
- car of ELEM, not ELEM itself, which is a list. (Bug#69927)
+ * lisp/emacs-lisp/vtable.el (vtable--recompute-numerical): Test
+ the car of ELEM, not ELEM itself, which is a list. (Bug#69927)
2024-03-21 Po Lu <luangruo@yahoo.com>
* doc/emacs/android.texi (Android Windowing): Document
restrictions on number of windows under Android 4.4 and earlier.
- * java/AndroidManifest.xml.in <EmacsActivity>
- <EmacsOpenActivity, EmacsMultitaskActivity>: Assign each class
- of activity a unique task affinity.
+ * java/AndroidManifest.xml.in
+ <EmacsActivity, <EmacsOpenActivity>:
+ <EmacsMultitaskActivity>: Assign each class of activity a unique
+ task affinity.
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Remove redundant priority assignment.
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Handle
- file URIs when processing attachments from a mailto URI, and
- check for KitKat before opening content ones.
+ file URIs when processing attachments from a mailto URI, and check
+ for KitKat before opening content ones.
- * java/org/gnu/emacs/EmacsWindow.java <pointerMap>
+ * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow) <pointerMap>:
(figureChange): Replace coordinate HashMap with a SparseArray.
* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
Respect file display names during Android drag-and-drop
- * java/org/gnu/emacs/EmacsService.java (buildContentName):
- Remove redundant projection argument to resolver.query.
+ * java/org/gnu/emacs/EmacsService.java (buildContentName): Remove
+ redundant projection argument to resolver.query.
- * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): If a
- content resolver is available, attempt to convert content URIs
- into file names in advance.
+ * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): If a content
+ resolver is available, attempt to convert content URIs into file
+ names in advance.
* lisp/term/android-win.el (android-handle-dnd-event): Adjust
correspondingly.
Reported by john muhl <jm@pub.pink>.
- * test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo): Set
- some environment variables (lifted from vc-tests.el) to let
- 'git commit' compute dummy author and committer identities.
+ * test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo): Set some
+ environment variables (lifted from vc-tests.el) to let 'git
+ commit' compute dummy author and committer identities.
2024-03-19 Eli Zaretskii <eliz@gnu.org>
2024-03-19 Andrea Corallo <acorallo@gnu.org>
- * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-93): Add test.
+ * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-93): Add
+ test.
2024-03-19 Andrea Corallo <acorallo@gnu.org>
- * Use 'cl-type-of' in comp-cstr.el
+ Use 'cl-type-of' in comp-cstr.el
- * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous-no-range)
+ * lisp/emacs-lisp/comp-cstr.el
+ (comp-cstr-union-homogeneous-no-range)
(comp-cstr-union-1-no-mem, comp-cstr-intersection-no-hashcons):
Make use of 'cl-type-of' in place of 'type-of'.
available. All callers changed.
* lisp/international/mule-cmds.el (set-default-coding-systems):
- Fix file name coding system as utf-8-unix on Android as on Mac
- OS.
+ Fix file name coding system as utf-8-unix on Android as on Mac OS.
* src/androidvfs.c (enum android_vnode_type): New enum
ANDROID_VNODE_CONTENT_AUTHORITY_NAMED.
type.
(displayNameHash): New function.
(android_get_content_name): New argument WITH_CHECKSUM. If
- present, treat the final two components as a pair of checksum
- and display name, and verify and exclude the two.
+ present, treat the final two components as a pair of checksum and
+ display name, and verify and exclude the two.
(android_authority_name): Provide new argument as appropriate.
(android_authority_initial_name): New function.
2024-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/emacs-lisp/cl-preloaded.el (user-ptr): Add predicate
+ * lisp/emacs-lisp/cl-preloaded.el (user-ptr): Add predicate.
- Merge branch 'cl-type-of' (bug#69739)
+ Merge branch 'cl-type-of'. (bug#69739)
2024-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
- Followup changes to `cl-type-of`
+ Followup changes to `cl-type-of'
- These changes came up while working on `cl-type-of` but are not
- directly related to the new `cl-type-of`.
+ These changes came up while working on `cl-type-of' but are not
+ directly related to the new `cl-type-of'.
The BASE_PURESIZE bump was needed at some point on one of my
machine, not sure why.
* src/puresize.h (BASE_PURESIZE): Bump up.
- * src/sqlite.c (bind_value): Don't use `Ftype_of`.
+ * src/sqlite.c (bind_value): Don't use `Ftype_of'.
* lisp/emacs-lisp/seq.el (seq-remove-at-position): Simplify.
* lisp/emacs-lisp/cl-preloaded.el (finalizer):
New (previously missing) type.
(primitive-function): New type
- The type hierarchy and `cl-type-of` code assumed that `subr-primitive`
- only applies to functions, but since it also accepts special-forms it makes
- it an unsuitable choice since it can't be a subtype of `compiled-function`.
- So, use a new type `primitive-function` instead.
+ The type hierarchy and `cl-type-of' code assumed that
+ `subr-primitive' only applies to functions, but since it also
+ accepts special-forms it makes it an unsuitable choice since it
+ can't be a subtype of `compiled-function'. So, use a new type
+ `primitive-function' instead.
* lisp/subr.el (subr-primitive-p): Fix docstring (bug#69832).
(primitive-function-p): New function.
* lisp/emacs-lisp/cl-preloaded.el (primitive-function): Rename
- from `subr-primitive` since `subr-primitive-p` means something else.
+ from `subr-primitive' since `subr-primitive-p' means something
+ else.
- * src/data.c (Fcl_type_of): Return `primitive-function` instead
- of `subr-primitive` for C functions.
+ * src/data.c (Fcl_type_of): Return `primitive-function' instead of
+ `subr-primitive' for C functions.
(syms_of_data): Adjust accordingly.
- * test/src/data-tests.el (data-tests--cl-type-of): Remove workaround.
+ * test/src/data-tests.el (data-tests--cl-type-of): Remove
+ workaround.
2024-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
- (cl-type-of): New function to return more precise types (bug#69739)
+ (cl-type-of): New function to return more precise types
- * src/data.c (Fcl_type_of): New function, extracted from `Ftype_of`.
- Make it return more precise types for symbols, integers, and subrs.
+ * src/data.c (Fcl_type_of): New function, extracted from
+ `Ftype_of'. Make it return more precise types for symbols,
+ integers, and subrs.
(Ftype_of): Use it.
(syms_of_data): Define the corresponding new symbols and defsubr
the new function.
* doc/lispref/objects.texi (Type Predicates): Document it.
- * src/comp.c (emit_limple_insn): Use `Fcl_type_of`.
+ * src/comp.c (emit_limple_insn): Use `Fcl_type_of'.
- * lisp/emacs-lisp/cl-preloaded.el (subr): Demote it to `atom`.
- (subr-native-elisp, subr-primitive): Add `compiled-function` as
+ * lisp/emacs-lisp/cl-preloaded.el (subr): Demote it to `atom'.
+ (subr-native-elisp, subr-primitive): Add `compiled-function' as
parent instead.
(special-form): New type.
* lisp/emacs-lisp/eieio-core.el (cl--generic-struct-tag):
* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer):
- Use `cl-type-of`.
- cl--generic--unreachable-types): Update accordingly.
+ Use `cl-type-of'. cl--generic--unreachable-types): Update
+ accordingly.
- test/src/data-tests.el (data-tests--cl-type-of): New test.
+ * test/src/data-tests.el (data-tests--cl-type-of): New test.
+ (bug#69739)
2024-03-18 Po Lu <luangruo@yahoo.com>
2024-03-17 Juri Linkov <juri@linkov.net>
* lisp/tab-bar.el (tab-bar-select-restore-windows): New defcustom.
-
(tab-bar-select-restore-windows): New function.
- (tab-bar-select-tab): Let-bind window-restore-killed-buffer-windows
- to tab-bar-select-restore-windows (bug#68235).
+ (tab-bar-select-tab): Let-bind
+ window-restore-killed-buffer-windows to
+ tab-bar-select-restore-windows. (bug#68235)
2024-03-17 Protesilaos Stavrou <info@protesilaos.com>
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
- * etc/themes/modus-vivendi-tritanopia-theme.el: Update the
- palette of each theme.
+ * etc/themes/modus-vivendi-tritanopia-theme.el: Update the palette
+ of each theme.
- * etc/themes/modus-themes.el (require): Remove call to cl-lib
- and do not use relevant functions.
+ * etc/themes/modus-themes.el (require): Remove call to cl-lib and
+ do not use relevant functions.
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
- (modus-themes-version, modus-themes-report-bug): Remove old
- calls to 'make-obsolete' and related.
+ (modus-themes-version, modus-themes-report-bug): Remove old calls
+ to 'make-obsolete' and related.
- (modus-themes--annotate-theme): Tweak the completion annotation function.
+ (modus-themes--annotate-theme): Tweak the completion annotation
+ function.
- (modus-themes--org-block): Deprecate the user option 'modus-themes-org-blocks'.
+ (modus-themes--org-block): Deprecate the user option
+ 'modus-themes-org-blocks'.
(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update the list of custom
variables.
Fix vc-dir when "remote" Git branch is local
- While in there, add that "tracking" branch to the vc-dir
- buffer. For bug#68183.
+ While in there, add that "tracking" branch to the vc-dir buffer.
- * lisp/vc/vc-git.el (vc-git-dir-extra-headers): Reduce
- boilerplate with new function 'vc-git--out-ok'; stop calling
+ * lisp/vc/vc-git.el (vc-git-dir-extra-headers): Reduce boilerplate
+ with new function 'vc-git--out-ok'; stop calling
vc-git-repository-url when REMOTE is "." to avoid throwing an
error; display tracking branch; prefer "none (<details...>)" to
- "not (<details...>)" since that reads more grammatically
- correct.
+ "not (<details...>)" since that reads more grammatically correct.
(vc-git--out-ok): Add documentation.
(vc-git--out-str): New function to easily get the output from a
Git command.
* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo)
(vc-git-test--run): New helpers, defined to steer clear of
vc-git-- internal functions.
- (vc-git-test-dir-track-local-branch): Check that vc-dir does
- not crash.
+ (vc-git-test-dir-track-local-branch): Check that vc-dir does not
+ crash. (bug#68183)
2024-03-17 Po Lu <luangruo@yahoo.com>
Improve C++ standard library detection on Android
- * configure.ac: Stop relaying --with-ndk-cxx-shared to the
- nested invocation of configure.
+ * configure.ac: Stop relaying --with-ndk-cxx-shared to the nested
+ invocation of configure.
* build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):
* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS): New variables.
- * cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
- Introduce several other C++ libraries sometimes present on
- Android.
+ * cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES): Introduce
+ several other C++ libraries sometimes present on Android.
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Insert NDK_BUILD_CXX_STL
when any of these new C++ libraries are requested.
debug.el: Prevent re-entering the debugger for the same error
- We can have several active `handler-bind`s that all want to invoke the
- debugger, in which case we can have the following sequence:
+ We can have several active `handler-bind's that all want to invoke
+ the debugger, in which case we can have the following sequence:
- The more deeply nested handler calls the debugger.
- - After a while the user invokes `debugger-continue`.
- - `signal_or_quit` propagates the error up the stack to the
+ - After a while the user invokes `debugger-continue'.
+ - `signal_or_quit' propagates the error up the stack to the
second handler, which calls the debugger again.
- The user thus ends up right back at the same place, as if
- `debugger-continue` had not be processed.
+ `debugger-continue' had not be processed.
- Fix this by remembering the last processed error and skipping
- the debugger if we bump into it again.
+ Fix this by remembering the last processed error and skipping the
+ debugger if we bump into it again.
* lisp/emacs-lisp/debug.el (debugger--last-error): New var.
(debugger--duplicate-p): New function.
2024-03-16 Martin Rudalics <rudalics@gmx.at>
- In window-related documentation write 'symbol' instead of 'constant'
+ In window-related documentation write 'symbol' instead of
+ 'constant'.
Suggested by Michael Heerdegen <michael_heerdegen@web.de>.
* lisp/window.el (display-buffer--lru-window)
(display-buffer-use-least-recent-window): In doc-strings write
'symbol' instead of 'constant'.
- * doc/lispref/windows.texi (Window Configurations): Write
+ * doc/lisprqef/windows.texi (Window Configurations): Write
'symbol' instead of 'constant'.
2024-03-16 Po Lu <luangruo@yahoo.com>
Correct doc strings for x-*-keysym
- * src/xterm.c (syms_of_xterm): Clarify whether x-*-keysym
- affects the modifier key reported for a keysym or the other way
- around.
+ * src/xterm.c (syms_of_xterm): Clarify whether x-*-keysym affects
+ the modifier key reported for a keysym or the other way around.
2024-03-16 Po Lu <luangruo@yahoo.com>
- * doc/lispref/frames.texi (Window System Selections): Fix misuse of xref.
+ * doc/lispref/frames.texi (Window System Selections): Fix misuse
+ of xref.
2024-03-16 Po Lu <luangruo@yahoo.com>
Fix calc.texi for Texinfo 4.13
- * doc/misc/calc.texi (Fractions): Replace instances of @U with
- raw Unicode characters and adjust the document encoding
- suitably.
+ * doc/misc/calc.texi (Fractions): Replace instances of @U with raw
+ Unicode characters and adjust the document encoding suitably.
2024-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/emacs-lisp/bindat.el (sint): Burp in dynbind (bug#69749)
+ * lisp/emacs-lisp/bindat.el (sint): Burp in dynbind. (bug#69749)
2024-03-15 Andrea Corallo <acorallo@gnu.org>
- * Don't install unnecessary trampolines (bug#69573)
+ Don't install unnecessary trampolines (bug#69573)
* lisp/emacs-lisp/comp-run.el (comp-subr-trampoline-install):
Check that subr-name actually matches the target subr.
2024-03-15 Andrea Corallo <acorallo@gnu.org>
- * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Don't declare.
+ * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Don't
+ declare.
2024-03-15 Martin Rudalics <rudalics@gmx.at>
2024-03-15 Martin Rudalics <rudalics@gmx.at>
- Further adjustments for restoring killed buffer windows (Bug#68235)
+ Further adjustments for restoring killed buffer windows
* etc/NEWS: Announce 'window-restore-killed-buffer-windows'.
* src/buffer.h (struct buffer) : New field last_name_.
'window-kept-windows-functions'.
* doc/lispref/windows.texi (Window Configurations): Describe
'window-restore-killed-buffer-windows' which replaces
- 'window-kept-windows-functions'.
+ 'window-kept-windows-functions'. (Bug#68235)
2024-03-15 Juri Linkov <juri@linkov.net>
- * lisp/vc/diff-mode.el (diff-mode-menu): Add menu item "Apply all hunks".
-
- It's bound to the recently added command 'diff-apply-buffer'.
+ * lisp/vc/diff-mode.el (diff-mode-menu): Add menu item "Apply all
+ hunks". It is bound to the recently added command
+ 'diff-apply-buffer'.
2024-03-15 Spencer Baugh <sbaugh@janestreet.com>
- With visible-completions, only bind RET when completion is selected
+ With visible-completions, only bind RET when completion is
+ selected.
- Previously, if minibuffer-visible-completions was non-nil, we bound RET
- whenever the *Completions* buffer was visible. This meant that RET in
- completion-in-region would not enter a newline, which is a somewhat
- annoying behavior change from minibuffer-visible-completions=nil.
+ Previously, if minibuffer-visible-completions was non-nil, we
+ bound RET whenever the *Completions* buffer was visible. This
+ meant that RET in completion-in-region would not enter a newline,
+ which is a somewhat annoying behavior change from
+ minibuffer-visible-completions=nil.
Now, we only bind RET when a completion is selected. This means
RET will newline in completion-in-region.
- So that completion help continues to suggest the correct keys,
- we also add minibuffer-visible-completions--always-bind. When
+ So that completion help continues to suggest the correct keys, we
+ also add minibuffer-visible-completions--always-bind. When
let-bound to a non-nil value, it makes the
minibuffer-visible-completions binds always active. We let-bind
it around substitute-command-keys.
minibuffer-visible-completions--filter. (bug#68801)
* lisp/simple.el (minibuffer-visible-completions--always-bind)
(completion-setup-function): Let-bind
- minibuffer-visible-completions--always-bind so the completion
- help is correct.
+ minibuffer-visible-completions--always-bind so the completion help
+ is correct.
2024-03-15 Kévin Le Gouguec <kevin.legouguec@gmail.com>
2024-03-15 Dmitry Gutov <dmitry@gutov.dev>
- (project--value-in-dir): Ensure that the global value is still honored
-
- * lisp/progmodes/project.el (project--value-in-dir):
- Ensure that the global value of the variable is still honored,
- when the variable is not in dir-locals.
+ * lisp/progmodes/project.el (project--value-in-dir): Ensure that
+ the global value of the variable is still honored, when the
+ variable is not in dir-locals.
2024-03-15 Patrick Bader <patrick.bader@thingos.io>
- fix: project submodule detection does not work for worktrees
+ * lisp/progmodes/project.el (project--submodule-p): Fix issue
+ where project submodule detection did not work for worktrees.
2024-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
(set-auto-mode): Streamline to fix bug#67795
- The old code tested if the mode function is `fboundp` but in an
+ The old code tested if the mode function is `fboundp' but in an
inconsistent way and without paying attention to
- `major-mode-remap`.
-
- * lisp/files.el (set-auto-mode-0): Return `:keep` rather than nil if
- the mode was already set. And emit a warning when the mode function
- doesn't exist.
- (set-auto-mode): Remove checks that the mode function exists now that
- `set-auto-mode-0` does it for us. Adjust to the new return values of
- that function, and simplify the code using a big `or` instead of
- a sequence of steps each setting&testing `done`.
- (hack-local-variables--find-variables): Use `major-mode-remap`
- when skipping the "mode:" entries that specify modes we don't have.
- Also, when (eq handle-mode t), don't bother building a list of results
- only to return a single element in the end.
+ `major-mode-remap'.
+
+ * lisp/files.el (set-auto-mode-0): Return `:keep' rather than nil
+ if the mode was already set. And emit a warning when the mode
+ function doesn't exist.
+ (set-auto-mode): Remove checks that the mode function exists now
+ that `set-auto-mode-0' does it for us. Adjust to the new return
+ values of that function, and simplify the code using a big `or'
+ instead of a sequence of steps each setting&testing `done'.
+ (hack-local-variables--find-variables): Use `major-mode-remap'
+ when skipping the "mode:" entries that specify modes we don't
+ have. Also, when (eq handle-mode t), don't bother building a list
+ of results only to return a single element in the end.
2024-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
- (customize-mode): Fix bug#69501
-
* lisp/cus-edit.el (customize-mode): Use the predicate arg of
- `completing-read` instead of binding `completion-regexp-list`.
+ `completing-read' instead of binding `completion-regexp-list'.
+ (bug#69501)
2024-03-15 Po Lu <luangruo@yahoo.com>
2024-03-14 Juri Linkov <juri@linkov.net>
- * lisp/textmodes/flyspell.el (flyspell-check-changes): New user option.
-
- (flyspell--mode-on): Add flyspell-check-changes to post-command-hook
- when flyspell-check-changes is non-nil.
- (flyspell--mode-off): Remove flyspell-check-changes from post-command-hook.
- (flyspell-check-changes): New function (bug#61874).
+ * lisp/textmodes/flyspell.el (flyspell-check-changes): New user
+ option.
+ (flyspell--mode-on): Add flyspell-check-changes to
+ post-command-hook when flyspell-check-changes is non-nil.
+ (flyspell--mode-off): Remove flyspell-check-changes from
+ post-command-hook.
+ (flyspell-check-changes): New function. (bug#61874)
2024-03-14 Juri Linkov <juri@linkov.net>
* lisp/progmodes/project.el: Don't run modes from .dir-locals.el.
-
- (project--value-in-dir): Use 'alist-get' on 'file-local-variables-alist'
- to avoid calling 'hack-local-variables-apply' via
+ (project--value-in-dir): Use 'alist-get' on
+ 'file-local-variables-alist' to avoid calling
+ 'hack-local-variables-apply' via
'hack-dir-local-variables-non-file-buffer' because it might enable
- undesirable modes such as flyspell-mode in a temporary buffer (bug#69740).
+ undesirable modes such as flyspell-mode in a temporary buffer.
+ (bug#69740)
2024-03-14 Juri Linkov <juri@linkov.net>
Detect the readline support for Python shell completion
* lisp/progmodes/python.el
- (python-shell-comint-watch-for-first-prompt-output-filter):
- Detect the readline support.
+ (python-shell-comint-watch-for-first-prompt-output-filter): Detect
+ the readline support.
(python-shell-readline-completer-delims): Update docstring.
(python-shell-completion-native-setup): Move the readline
detection code to ...
(python-shell-readline-detect): ... new function.
- (python-shell-completion-native-turn-on-maybe): Skip if Python
- has no readline support.
+ (python-shell-completion-native-turn-on-maybe): Skip if Python has
+ no readline support.
(python-shell-completion-at-point): Respect the delimiter of
readline completer in non-native completion.
* test/lisp/progmodes/python-tests.el
(python-completion-at-point-native-with-eldoc-1): Skip tests if
Python has no readline support.
(python-shell-completion-at-point-jedi-completer): Add test for
- non-native Python shell completion. (bug#68559)
+ non-native Python shell completion. (bug#68559)
2024-03-14 Adam Porter <adam@alphapapa.net>
- Handle the case where 'vtable-update-object' doesn't find old object
+ Handle cases where 'vtable-update-object' doesn't find old object.
* lisp/emacs-lisp/vtable.el (vtable-update-object): If OLD-OBJECT
is not found, don't call ELT, since SEQ-POSITION may return nil.
2024-03-14 Phil Hagelberg <phil@hagelb.org> (tiny change)
- bug#69685: Add language server for Fennel to eglot
+ Add language server for Fennel to eglot
- * lisp/progmodes/eglot.el (eglot-server-programs): Add
- fennel-ls language server.
+ * lisp/progmodes/eglot.el (eglot-server-programs): Add fennel-ls
+ language server. (bug#69685)
2024-03-14 StrawberryTea <look@strawberrytea.xyz> (tiny change)
(thing-at-point-hexadecimal-regexp): Extract regexps from...
(number-at-point): ...here. Use them in 'number-at-point'.
(number): Add 'bounds-of-thing-at-point' property as
- `forward-word' does not always return the right boundary,
- e.g., in latex-mode buffers. (Bug#69239)
+ `forward-word' does not always return the right boundary, e.g., in
+ latex-mode buffers. (Bug#69239)
2024-03-14 Noé Lopez <noelopez@free.fr>
variable to disable JavaScript in WebKit sessions. (Bug#68604)
* etc/NEWS:
- * doc/emacs/misc.texi (Embedded Webkit Widgets): Document
- the change.
+ * doc/emacs/misc.texi (Embedded Webkit Widgets): Document the
+ change.
2024-03-14 Adam Porter <adam@alphapapa.net>
- * lisp/emacs-lisp/vtable.el (vtable-update-object): Fix.
-
- The order of the arguments to 'seq-position' was wrong, and it did not
+ * lisp/emacs-lisp/vtable.el (vtable-update-object): Fix. The
+ order of the arguments to 'seq-position' was wrong, and it did not
compare the correct values. (Bug#69664)
2024-03-14 Raffael Stocker <r.stocker@mnet-mail.de>
(w32_wnd_proc, globals_of_w32fns, maybe_pass_notification):
Register and manage session notifications in GUI Emacs.
* src/w32console.c (initialize_w32_display, find_ime_window):
- * src/w32xfns.c (drain_message_queue): Register notifications
- and reset keyboard hook state in console Emacs.
- * src/w32.c (term_ntproc): Un-register session notifications
- when terminating.
+ * src/w32xfns.c (drain_message_queue): Register notifications and
+ reset keyboard hook state in console Emacs.
+ * src/w32.c (term_ntproc): Un-register session notifications when
+ terminating.
2024-03-14 Po Lu <luangruo@yahoo.com>
Fix name of gnus-notification(s)-close; ignore argument
- * lisp/gnus/gnus-notifications.el (gnus-notifications-close): Original
- name was probably a typo.
+ * lisp/gnus/gnus-notifications.el (gnus-notifications-close):
+ Original name was probably a typo.
2024-03-13 Po Lu <luangruo@yahoo.com>
Prevent freezes on macOS (bug#69561)
- * src/nsterm.m (ns_select_1): Store pending input_events. Always call
- [NSApp run].
+ * src/nsterm.m (ns_select_1): Store pending input_events. Always
+ call [NSApp run].
2024-03-13 Po Lu <luangruo@yahoo.com>
functions on those systems.
* lisp/gnus/gnus-notifications.el (gnus-notifications-action)
- (gnus-notification-close): Remove dismissed notifications from
- the notification to message map.
- (gnus-notifications-notify): Call android-notifications-notify
- if possible.
+ (gnus-notification-close): Remove dismissed notifications from the
+ notification to message map.
+ (gnus-notifications-notify): Call android-notifications-notify if
+ possible.
* src/androidselect.c (android_init_emacs_desktop_notification):
Update accordingly.
2024-03-12 Jeremy Bryant <jb@jeremybryant.net>
- * lisp/which-key.el (which-key--create-pages): Untabify.
-
- * lisp/which-key.el (which-key--pad-column): Untabify.
+ * lisp/which-key.el (which-key--create-pages)
+ (which-key--pad-column): Untabify.
2024-03-12 Jeremy Bryant <jb@jeremybryant.net>
- Use string-empty-p for readability.
-
- * lisp/which-key.el (which-key--maybe-get-prefix-title):
- Use string-empty-p for readability.
+ * lisp/which-key.el (which-key--maybe-get-prefix-title): Use
+ string-empty-p for readability.
2024-03-12 Jeremy Bryant <jb@jeremybryant.net>
- Don't quote t
-
* lisp/which-key.el (which-key--replace-in-repl-list-many):
Don't quote t.
2024-03-12 Jeremy Bryant <jb@jeremybryant.net>
- Use declare form instead of put for clarity
-
- * lisp/which-key.el (which-key-add-keymap-based-replacements):
- Use declare form instead of put property.
+ * lisp/which-key.el (which-key-add-keymap-based-replacements): Use
+ declare form instead of put property.
2024-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
Try and avoid hardcoding lists of function types
- * lisp/bind-key.el (bind-key--get-binding-description):
- Show docstrings for compiled functions also. Don't hardcode knowledge
+ * lisp/bind-key.el (bind-key--get-binding-description): Show
+ docstrings for compiled functions also. Don't hardcode knowledge
about various particular kinds of functions.
* lisp/emacs-lisp/bytecomp.el (display-call-tree): Remove special
- support for functions with a `byte-code` body since we never generate
- that nowadays. Don't hardcode knowledge
- about various particular kinds of functions.
+ support for functions with a `byte-code' body since we never
+ generate that nowadays. Don't hardcode knowledge about various
+ particular kinds of functions.
2024-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
Cleanup some type predicates
- Use the new `cl--define-built-in-type` to reduce the manually
- maintained list of built-in type predicates.
- Also tweak docstrings to use "supertype" rather than "super type",
- since it seems to be what we use elsewhere.
+ Use the new `cl--define-built-in-type' to reduce the manually
+ maintained list of built-in type predicates. Also tweak
+ docstrings to use "supertype" rather than "super type", since it
+ seems to be what we use elsewhere.
- * lisp/subr.el (special-form-p): Remove redundant `fboundp` test.
- (compiled-function-p): Don'Return nil for subrs that aren't functions.
+ * lisp/subr.el (special-form-p): Remove redundant `fboundp' test.
+ (compiled-function-p): Don't return nil for subrs that aren't
+ functions.
- * lisp/emacs-lisp/cl-macs.el (type predicates): Trim down the list.
+ * lisp/emacs-lisp/cl-macs.el (type predicates): Trim down the
+ list.
* lisp/emacs-lisp/cl-preloaded.el (cl--define-built-in-type):
Register the corresponding predicate if applicable.
cl-generic: Signal an error when a type specializer won't work
- * lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types): New var.
+ * lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types):
+ New var.
(cl-generic-generalizers :extra "typeof"): Use it to signal an
error for those types we can't handle.
`run-at-time' keeps `timer-list' list sorted by inserting each
timer based on the timer value. This means that
`timer--time-less-p' needs is executed ~N*N/2 times for each N
- pending messages. This means that jsonrpc becomes unusable
- for connections that generate a lot messages at the same time.
+ pending messages. This means that jsonrpc becomes unusable for
+ connections that generate a lot messages at the same time.
* lisp/jsonrpc.el (Version): Bump to 1.0.25.
(jsonrpc--process-filter): Improve performance by activating
2024-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
- (comp-known-predicates): Fix overly optimistic `functionp`
+ (comp-known-predicates): Fix overly optimistic `functionp'
- * lisp/emacs-lisp/comp.el (comp-known-predicates): `functionp` can also
- be true for `cons` objects.
+ * lisp/emacs-lisp/comp.el (comp-known-predicates): `functionp' can
+ also be true for `cons' objects.
2024-03-12 Po Lu <luangruo@yahoo.com>
(gnus-convert-old-newsrc): Remove ancient converters
- * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): Remove converters
- from 2004 and before.
+ * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): Remove
+ converters from 2004 and before.
* lisp/gnus/legacy-gnus-agent.el: Delete file.
2024-03-12 Po Lu <luangruo@yahoo.com>
* src/android.h (struct android_emacs_service): New function.
* src/androidselect.c (android_notifications_notify_1)
- (Fandroid_notifications_notify): New parameter QCresident; save
- it within notification lists.
+ (Fandroid_notifications_notify): New parameter QCresident; save it
+ within notification lists.
(android_notification_deleted, android_notification_action):
- Adjust for changes to the format of notification lists and
- cancel non-resident notifications when an action is selected.
- (syms_of_androidselect): <QCresident>: New symbol.
+ Adjust for changes to the format of notification lists and cancel
+ non-resident notifications when an action is selected.
+ (syms_of_androidselect) <QCresident>: New symbol.
2024-03-12 Po Lu <luangruo@yahoo.com>
* src/androidvfs.c (java_string_class): Export.
- * src/keyboard.c (kbd_buffer_get_event) <NOTIFICATION_EVENT>:
- Call callback specified by the event.
+ * src/keyboard.c (kbd_buffer_get_event) <NOTIFICATION_EVENT>: Call
+ callback specified by the event.
- * src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New
- enum NOTIFICATION_EVENT.
+ * src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New enum
+ NOTIFICATION_EVENT.
2024-03-11 Paul Eggert <eggert@cs.ucla.edu>
Change bare-symbol back to match intent
- Also, attempt to document the intent better.
- Problem reported by Alan Mackenzie (Bug#69684).
+ Also, attempt to document the intent better. Problem reported by
+ Alan Mackenzie.
+
* src/data.c (Fbare_symbol): Do not signal if the SYM is a symbol
with position and symbols-with-pos-enabled is nil. Instead,
ignore symbols-with-pos-enabled, as that was the intent.
- * test/src/data-tests.el (data-tests-bare-symbol):
- New test, to help prevent this bug from reoccurring.
+ * test/src/data-tests.el (data-tests-bare-symbol): New test, to
+ help prevent this bug from reoccurring. (Bug#69684)
2024-03-11 Michael Heerdegen <michael_heerdegen@web.de>
Improve pp-emacs-lisp-code backquote form printing
- * lisp/emacs-lisp/pp.el (pp--quoted-or-unquoted-form-p): New helper
- function.
- (pp--insert-lisp): Take care of quoted, backquoted and
- unquoted expressions; print using an recursive call.
- (pp--format-list): Exclude more cases from printing as a function call
- by default. Print lists whose second-last element is an (un)quoting
- symbol using dotted list syntax; e.g. (a b . ,c) instead of (a b \, c).
+ * lisp/emacs-lisp/pp.el (pp--quoted-or-unquoted-form-p): New
+ helper function.
+ (pp--insert-lisp): Take care of quoted, backquoted and unquoted
+ expressions; print using an recursive call.
+ (pp--format-list): Exclude more cases from printing as a function
+ call by default. Print lists whose second-last element is an
+ (un)quoting symbol using dotted list syntax; e.g. (a b . ,c)
+ instead of (a b \, c).
2024-03-11 Michael Heerdegen <michael_heerdegen@web.de>
Fix pp-emacs-lisp-code printing of symbols
- * lisp/emacs-lisp/pp.el (pp--insert-lisp): Print symbols
- readably (bug#69168).
+ * lisp/emacs-lisp/pp.el (pp--insert-lisp): Print symbols readably.
+ (bug#69168)
2024-03-11 Petteri Hintsanen <petterih@iki.fi> (tiny change)
(bindat--unpack-item): Sanitize vector length
-
- * lisp/emacs-lisp/bindat.el (bindat--unpack-item): Sanitize vector length
+ * lisp/emacs-lisp/bindat.el (bindat--unpack-item): Sanitize vector
+ length.
2024-03-10 Andreas Schwab <schwab@linux-m68k.org>
2024-03-10 Jim Porter <jporterbugs@gmail.com>
- Let 'browse-url-interactive-arg' return more values for NEW-WINDOW-FLAG
+ Let 'browse-url-interactive-arg' return more values for
+ NEW-WINDOW-FLAG.
- Previously it always returned t or nil for NEW-WINDOW-FLAG, but now it
- can return the actual prefix arg when appropriate. This lets functions
- for 'browse-url-browser-function' consult it and do more things than
- just open a new window or not (for example, you could use "C--" as the
- prefix arg to do something special in a custom function).
+ Previously it always returned t or nil for NEW-WINDOW-FLAG, but
+ now it can return the actual prefix arg when appropriate. This
+ lets functions for 'browse-url-browser-function' consult it and do
+ more things than just open a new window or not (for example, you
+ could use "C--" as the prefix arg to do something special in a
+ custom function).
- * lisp/net/browse-url.el (browse-url-interactive-arg): Use 'xor' to
- adjust the value of 'current-prefix-arg'.
+ * lisp/net/browse-url.el (browse-url-interactive-arg): Use 'xor'
+ to adjust the value of 'current-prefix-arg'.
(browse-url): Update docstring.
2024-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
- syncdoc-type-hierarchy.el: Sort and remove `comp` dependency
+ syncdoc-type-hierarchy.el: Sort and remove `comp' dependency
- * admin/syncdoc-type-hierarchy.el: Delay loading `org-table` so as
+ * admin/syncdoc-type-hierarchy.el: Delay loading `org-table' so as
not to "pollute" the table with Org-specific types.
(syncdoc-all-types): Sort the types topologically from the root.
- (syncdoc-hierarchy): Use `cl--class-parents` instead if
- `comp--direct-supertypes` so we don't depend on `comp-cstr`.
- (syncdoc-make-type-table): Sort the table so supertypes always come before
- their subtypes.
- (syncdoc-make-type-table): Require `org-table` here.
+ (syncdoc-hierarchy): Use `cl--class-parents' instead if
+ `comp--direct-supertypes' so we don't depend on `comp-cstr'.
+ (syncdoc-make-type-table): Sort the table so supertypes always
+ come before their subtypes.
+ (syncdoc-make-type-table): Require `org-table' here.
* doc/lispref/elisp_type_hierarchy.jpg:
* doc/lispref/elisp_type_hierarchy.txt: Refresh.
2024-03-10 Tim Ruffing <crypto@timruffing.de>
- * src/keyboard.c (read_key_sequence): Remove MSVC compatibility hack
+ * src/keyboard.c (read_key_sequence): Remove MSVC compatibility
+ hack.
2024-03-10 Tim Ruffing <crypto@timruffing.de>
Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/calc/calc-prog.el: Switch to new method of detecting end of kbd macro
+ * lisp/calc/calc-prog.el: Switch to new method of detecting end of
+ kbd macro.
'read-char' will no longer return -1 as of
- ac82baea1c41ec974ad49f2861ae6c06bda2b4ed. This switches to a cleaner
- method of detecting whether the end of a keyboard macro has been
- reached.
+ ac82baea1c41ec974ad49f2861ae6c06bda2b4ed. This switches to a
+ cleaner method of detecting whether the end of a keyboard macro
+ has been reached.
* lisp/calc/calc-prog.el (calc--at-end-of-kmacro-p): New function.
(calc-kbd-skip-to-else-if): Use the function.
Remove workarounds for solved 'read-event' bug
* lisp/subr.el (read-char-choice-with-read-key):
- * lisp/net/dbus.el (dbus-call-method):
- Remove workarounds for the bug fixed in the previous commit
+ * lisp/net/dbus.el (dbus-call-method): Remove workarounds for the
+ bug fixed in the previous commit
ac82baea1c41ec974ad49f2861ae6c06bda2b4ed, where 'read-event',
'read-char' and 'read-char-exclusively' could return wrongly -1.
In the case of lisp/dbus.el, this reverts commit
2024-03-10 Tim Ruffing <crypto@timruffing.de>
- Continue reading in 'read-event' etc. at the end of a keyboard macro
+ Continue reading in 'read-event' etc. at the end of a keyboard
+ macro
This fixes a bug that could make 'read-event', 'read-char', and
- 'read-char-exclusive' erroneously return -1, an internal magic return
- value of 'read_char' leaked from C to lisp. Instead of returning -1, the
- aforementioned lisp functions now transparently continue reading
- available input (e.g., from the keyboard) when reaching the end of a
- keyboard macro.
-
- * src/keyboard.c (read_char, read_key_sequence): Move handling
- of the end of a keyboard macro from 'read_char' to its caller
+ 'read-char-exclusive' erroneously return -1, an internal magic
+ return value of 'read_char' leaked from C to lisp. Instead of
+ returning -1, the aforementioned lisp functions now transparently
+ continue reading available input (e.g., from the keyboard) when
+ reaching the end of a keyboard macro.
+
+ * src/keyboard.c (read_char, read_key_sequence): Move handling of
+ the end of a keyboard macro from 'read_char' to its caller
'read_key_sequence', which is the only caller that can
meaningfully deal with this case.
- * src/macros.c (Fexecute_kbd_macro): Document how the end of keyboard
- macro is processed.
+ * src/macros.c (Fexecute_kbd_macro): Document how the end of
+ keyboard macro is processed.
* etc/NEWS: Announce this change.
2024-03-10 Tim Ruffing <crypto@timruffing.de>
* src/keyboard.c (requeued_events_pending_p): New function
* src/keyboard.c, src/keyboard.h (requeued_events_pending_p): Add
- function 'requeued_events_pending_p' (whose name was made available in
- the previous commit). As opposed to the previous function with the same
- name, the new function covers both command and other events.
+ function 'requeued_events_pending_p' (whose name was made
+ available in the previous commit). As opposed to the previous
+ function with the same name, the new function covers both command
+ and other events.
* src/keyboard.c (Finput_pending_p): Use the new function.
2024-03-10 Tim Ruffing <crypto@timruffing.de>
- * src/keyboard.c (requeued_events_pending_p): Improve name and fix comment
+ * src/keyboard.c (requeued_events_pending_p): Improve name and fix
+ comment.
- * src/keyboard.c, src/keyboard.h (requeued_events_pending_p): Rename to
- 'requeued_command_events_pending_p' to clarify that the function covers
- only command events. Fix wrong comment that claimed that the function
- was unused.
- * src/process.c (wait_reading_process_output): Update caller to use the
- new name.
+ * src/keyboard.c (requeued_events_pending_p):
+ * src/keyboard.h (requeued_events_pending_p): Rename to
+ 'requeued_command_events_pending_p' to clarify that the function
+ covers only command events. Fix wrong comment that claimed that
+ the function was unused.
+ * src/process.c (wait_reading_process_output): Update caller to
+ use the new name.
2024-03-10 Tim Ruffing <crypto@timruffing.de>
Extract check for end of macro to function
* src/macros.h (at_end_of_macro_p):
- * src/macros.c (at_end_of_macro_p):
- New function.
+ * src/macros.c (at_end_of_macro_p): New function.
* src/keyboard.c (read_char): Use the new function.
2024-03-10 F. Jason Park <jp@neverwas.me>
* lisp/erc/erc-stamp.el (erc-stamp--lr-date-on-pre-modify): Remove
disruptive assertion for now.
- (erc-stamp--time-as-day): Attempt to fix date being rewound by a whole
- day when daylight saving time is in effect. Do this by forcing the
- `dst' slot of the `decoded-time' object to -1 and the `zone' to nil.
+ (erc-stamp--time-as-day): Attempt to fix date being rewound by a
+ whole day when daylight saving time is in effect. Do this by
+ forcing the `dst' slot of the `decoded-time' object to -1 and the
+ `zone' to nil.
2024-03-10 F. Moukayed <smfadi+emacs@gmail.com> (tiny change)
Redefine erc-spoiler-face to indicate revealed text
- * lisp/erc/erc-goodies.el (erc-spoiler-face): Redefine role and redo
- definition to inherit from `erc-control-default-face'.
- (erc-controls-propertize): Include `cursor-face' in the applied hover
- properties for spoiler text, and ensure they aren't clobbered by other
- built-in modules, like `button'.
- (Bug#69597)
+ * lisp/erc/erc-goodies.el (erc-spoiler-face): Redefine role and
+ redo definition to inherit from `erc-control-default-face'.
+ (erc-controls-propertize): Include `cursor-face' in the applied
+ hover properties for spoiler text, and ensure they aren't
+ clobbered by other built-in modules, like `button'. (Bug#69597)
2024-03-10 F. Jason Park <jp@neverwas.me>
* lisp/erc/erc-button.el (erc-button-remove-old-buttons): Restore
original `mouse-face' values in areas marked as important after
clobbering.
- * lisp/erc/erc.el (erc--reserve-important-text-props): New function.
+ * lisp/erc/erc.el (erc--reserve-important-text-props): New
+ function.
(erc--restore-important-text-props): New function.
- * test/lisp/erc/erc-tests.el (erc--restore-important-text-props): New
- test.
- (Bug#69597)
+ * test/lisp/erc/erc-tests.el (erc--restore-important-text-props):
+ New test. (Bug#69597)
2024-03-10 F. Jason Park <jp@neverwas.me>
Leverage inverse-video for erc-inverse-face
- * lisp/erc/erc-goodies.el (erc-inverse-face): Specify face attribute
- `:inverse-video' (née :reverse-video) to swap foreground and
- background colors over affected intervals, as per
+ * lisp/erc/erc-goodies.el (erc-inverse-face): Specify face
+ attribute `:inverse-video' (née :reverse-video) to swap foreground
+ and background colors over affected intervals, as per
https://modern.ircdocs.horse/formatting#reverse-color.
(erc-control-default-fg erc-control-default-bg): New faces for IRC
color-code number 99. Ignore the ERC convention of prefixing
control-code-derived faces with "fg:" and "bg:" because it doesn't
- comport with modern sensibilities, which demand identifiers normally
- be namespaced.
- (erc-get-bg-color-face, erc-get-fg-color-face): Return new, dedicated
- faces instead of `default', and don't nest them in a list.
+ comport with modern sensibilities, which demand identifiers
+ normally be namespaced.
+ (erc-get-bg-color-face, erc-get-fg-color-face): Return new,
+ dedicated faces instead of `default', and don't nest them in a
+ list.
* test/lisp/erc/erc-goodies-tests.el
- (erc-controls-highlight--inverse): Redo completely, asserting behavior
- described in the spec linked to above.
- (erc-controls-highlight--spoilers): New test based on the body of the
- old `erc-controls-highlight--inverse', except without shadowing
- `erc-insert-modify-hook' with an unrealistic, idealized value. Adjust
- expected buffer state to reflect the new role of
+ (erc-controls-highlight--inverse): Redo completely, asserting
+ behavior described in the spec linked to above.
+ (erc-controls-highlight--spoilers): New test based on the body of
+ the old `erc-controls-highlight--inverse', except without
+ shadowing `erc-insert-modify-hook' with an unrealistic, idealized
+ value. Adjust expected buffer state to reflect the new role of
`erc-spoiler-face'. (Bug#69597)
2024-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
2024-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
- (eglot-server-programs): Comment and whitespace only change
-
* lisp/progmodes/eglot.el (eglot-server-programs): Add comment.
Make the definition fit into 80 columns.
* lisp/info-look.el (perl-mode): Simplify.
- * lisp/cedet/semantic/symref/grep.el (semantic-symref-filepattern-alist):
- Don't bother listing TS alternatives.
+ * lisp/cedet/semantic/symref/grep.el
+ (semantic-symref-filepattern-alist): Don't bother listing TS
+ alternatives.
* lisp/emulation/viper.el (viper-vi-state-mode-list): Don't bother
listing CPerl alternative.
- * lisp/progmodes/gud.el (gud-tooltip-activate-mouse-motions-if-enabled):
- Take into account the modes hierarchy.
+ * lisp/progmodes/gud.el
+ (gud-tooltip-activate-mouse-motions-if-enabled): Take into account
+ the modes hierarchy.
(gud-tooltip-modes): Don't bother listing TS alternatives.
* .dir-locals.el (c-ts-mode): Simplify.
Add non-TS modes as extra parent of TS modes (bug#68246)
- Record the fact that TS modes are alternatives to the non-TS
- modes using the new `derived-mode-add-parents` functionality.
- Do the same for long standing similar issues with CPerl-mode.
+ Record the fact that TS modes are alternatives to the non-TS modes
+ using the new `derived-mode-add-parents' functionality. Do the
+ same for long standing similar issues with CPerl-mode.
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
- * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode, tsx-ts-mode):
+ * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode)
+ (tsx-ts-mode):
* lisp/progmodes/sh-script.el (bash-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
- * lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode):
- Add non-TS mode as extra parent.
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode): Add non-TS
+ mode as extra parent.
- * lisp/progmodes/cperl-mode.el (cperl-mode): Add `perl-mode` as
+ * lisp/progmodes/cperl-mode.el (cperl-mode): Add `perl-mode' as
extra parent.
2024-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
(dir-locals-collect-variables): Avoid spurious safety warnings
- * lisp/files.el (dir-locals-collect-variables): Silence warnings for
- extra parents' variables.
+ * lisp/files.el (dir-locals-collect-variables): Silence warnings
+ for extra parents' variables.
2024-03-09 Andrea Corallo <acorallo@gnu.org>
Run 'syncdoc-update-type-hierarchy'.
- * doc/lispref/elisp_type_hierarchy.jpg: Update.
- * doc/lispref/elisp_type_hierarchy.txt: Likewise.
+ * doc/lispref/elisp_type_hierarchy.jpg: Update.
+ * doc/lispref/elisp_type_hierarchy.txt: Likewise.
2024-03-09 Andrea Corallo <acorallo@gnu.org>
- * 'syncdoc-type-hierarchy.el' update due to recent changes
+ Update 'syncdoc-type-hierarchy.el' after recent changes
* admin/syncdoc-type-hierarchy.el (syncdoc-all-types): Update.
Enable stack overflow recovery on Android
* src/sysdep.c (handle_sigsegv): Return after restoring the
- original signal handler, which should proceed to call debuggerd
- to generate a tombstone.
- (init_sigsegv): Save the original signal handler on Android, to
- be restored after a signal is received.
+ original signal handler, which should proceed to call debuggerd to
+ generate a tombstone.
+ (init_sigsegv): Save the original signal handler on Android, to be
+ restored after a signal is received.
(init_signals): Call init_sigsegv on Android.
2024-03-09 Eli Zaretskii <eliz@gnu.org>
Do interactive mode tagging for locate.el
* lisp/locate.el (locate-tags, locate-find-directory)
- (locate-find-directory-other-window): Do interactive mode
- tagging. (Bug#69619)
+ (locate-find-directory-other-window): Do interactive mode tagging.
+ (Bug#69619)
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
(eieio--generic-subclass-specializers): Autoload class
- * lisp/emacs-lisp/eieio-core.el (eieio--generic-subclass-specializers):
- Don't forget to handle autoloaded classes.
+ * lisp/emacs-lisp/eieio-core.el
+ (eieio--generic-subclass-specializers): Don't forget to handle
+ autoloaded classes.
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
EIEIO: Fix regression (bug#69631)
Not sure why earlier tests did not catch it, but there are more
- places where we bump into problems because `eieio--class-precedence-list`
- now returns also non-EIEIO classes.
+ places where we bump into problems because
+ `eieio--class-precedence-list' now returns also non-EIEIO classes.
* lisp/obsolete/eieio-compat.el
(eieio--generic-static-object-generalizer):
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
- eieio-core.el: Try and fix bug#69631
-
* lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3)
(eieio--class-precedence-dfs, eieio--class-precedence-bfs): Use
- `cl--class-parents` since some of the parents aren't EIEIO classes.
+ `cl--class-parents' since some of the parents aren't EIEIO
+ classes. (bug#69631)
2024-03-08 Andrea Corallo <acorallo@gnu.org>
- * Fix `capitalize` entry in `comp-known-type-specifiers` (bug#69631)
+ Fix `capitalize' entry in `comp-known-type-specifiers'
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Fix
- 'capitalize' entry.
+ 'capitalize' entry. (bug#69631)
2024-03-08 Po Lu <luangruo@yahoo.com>
- Update android_wc_lookup_string
-
* src/android.c (android_wc_lookup_string): Don't clear compose
state upon modifier key depress.
Simplify type hierarchy operations
Now that built-in types have classes that describe their
- relationships exactly like struct/eieio/oclosure classes,
- we can the code that navigates that DAG.
+ relationships exactly like struct/eieio/oclosure classes, we can
+ the code that navigates that DAG.
* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Move to
- `eieio-core.el`.
+ `eieio-core.el'.
(cl--generic-type-specializers): Rename from
- `cl--generic-struct-specializers`. Make it work for any class.
- (cl--generic-typeof-generalizer, cl--generic-oclosure-generalizer): Use it.
+ `cl--generic-struct-specializers'. Make it work for any class.
+ (cl--generic-typeof-generalizer)
+ (cl--generic-oclosure-generalizer): Use it.
(cl--generic-struct-generalizer): Delete generalizer.
(cl-generic-generalizers :extra "cl-struct"): Delete method.
(prefill 0 cl--generic-generalizer): Move to after the typeof.
- (cl-generic-generalizers :extra "typeof"): Rewrite to use
- classes rather than `cl--all-builtin-types`.
+ (cl-generic-generalizers :extra "typeof"): Rewrite to use classes
+ rather than `cl--all-builtin-types'.
(cl-generic--oclosure-specializers): Delete function.
* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type)
Delete constant.
(comp--cl-class-hierarchy): Simplify.
(comp--compute-typeof-types): Simplify now that
- `comp--cl-class-hierarchy` and `comp--all-classes` work for built-in
- types as well.
- (comp--direct-supertypes): Just use `cl--class-parents`.
- (comp-supertypes): Simplify since typeof-types should now be complete.
-
- * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload):
- Use `superclasses` argument, so we can find parents before it's loaded.
- (eieio--class-precedence-c3, eieio--class-precedence-dfs):
- Don't add a `eieio-default-superclass` parent any more.
+ `comp--cl-class-hierarchy' and `comp--all-classes' work for
+ built-in types as well.
+ (comp--direct-supertypes): Just use `cl--class-parents'.
+ (comp-supertypes): Simplify since typeof-types should now be
+ complete.
+
+ * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Use
+ `superclasses' argument, so we can find parents before it's
+ loaded.
+ (eieio--class-precedence-c3, eieio--class-precedence-dfs): Don't
+ add a `eieio-default-superclass' parent any more.
(eieio--class/struct-parents): Delete function.
- (eieio--class-precedence-bfs): Use `eieio--class-parents` instead.
- Don't stop when reaching `eieio-default-superclass`.
- (cl--generic-struct-tag): Move from `cl-generic.el`.
+ (eieio--class-precedence-bfs): Use `eieio--class-parents' instead.
+ Don't stop when reaching `eieio-default-superclass'.
+ (cl--generic-struct-tag): Move from `cl-generic.el'.
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
eieio-core.el: Always put a parent in the parents of a class
- * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal):
- Always put a parent in the `parents` slot of the class.
+ * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Always
+ put a parent in the `parents' slot of the class.
* lisp/emacs-lisp/eieio.el (eieio-class-parents): Remove the
- `eieio-default-superclass` if it's the only parent.
+ `eieio-default-superclass' if it's the only parent.
(child-of-class-p): Handle all classes in the parents.
(eieio-default-superclass): Adjust docstring.
* lisp/emacs-lisp/cl-preloaded.el (cl--struct-register-child):
Register child only in struct parents.
- (cl-struct-define): Put the "type" as parent of parentless :type structs.
- Copy slots only from struct parent classes.
- (cl-structure-object): Set (manually) its parent to `record`
- and remove assertion that it has no parents.
+ (cl-struct-define): Put the "type" as parent of parentless :type
+ structs. Copy slots only from struct parent classes.
+ (cl-structure-object): Set (manually) its parent to `record' and
+ remove assertion that it has no parents.
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
- * lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of `function`
+ * lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of
+ `function'.
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
(all built-in types): "Define" them with it.
(cl--builtin-type-p): New aux function.
(cl--struct-name-p): Use it.
- (cl--direct-supertypes-of-type, cl--typeof-types, cl--all-builtin-types):
- Move the definitions to after the built-in classes are defined,
- and rewrite to make use of those classes.
-
- * lisp/emacs-lisp/cl-extra.el (cl-describe-type):
- Accept two (unused) optional args, for use with `describe-symbol-backends`.
- (describe-symbol-backends): Simplify accordingly and
- add ourselves at the end.
+ (cl--direct-supertypes-of-type, cl--typeof-types)
+ (cl--all-builtin-types): Move the definitions to after the
+ built-in classes are defined, and rewrite to make use of those
+ classes.
+
+ * lisp/emacs-lisp/cl-extra.el (cl-describe-type): Accept two
+ (unused) optional args, for use with `describe-symbol-backends'.
+ (describe-symbol-backends): Simplify accordingly and add ourselves
+ at the end.
(cl--class-children): New function.
- (cl--describe-class): Use it. Also don't show a silly empty list of slots
- for the built-in types.
+ (cl--describe-class): Use it. Also don't show a silly empty list
+ of slots for the built-in types.
2024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
comp-cstr.el: Fix a minor error and prepare for upcoming changes
- * lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy): Add `atom`
- and `t` only to those types whose "allparents" is clearly not complete.
+ * lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy): Add
+ `atom' and `t' only to those types whose "allparents" is clearly
+ not complete.
(comp--compute--pred-type-h): Store the cstr rather than the type
- in the hash-table, as expected by `comp--pred-to-cstr`.
+ in the hash-table, as expected by `comp--pred-to-cstr'.
2024-03-08 Po Lu <luangruo@yahoo.com>
enable invoking features they protect from code running inside
Emacs.
-2024-03-08 Justin Burkett <justin@burkett.cc>
-
- Merge pull request #367 from tarsiiformes/long-gone
-
2024-03-08 Jonas Bernoulli <jonas@bernoul.li>
Remove reference to long gone which-key-manual-update
- * lisp/which-key.el (which-key--paging-functions): Remove reference to
- which-key-manual-update.
+ * lisp/which-key.el (which-key--paging-functions): Remove
+ reference to which-key-manual-update.
- This commands was remove in 42a25055163141165aa0269dbca69735e704825c.
+ This command was removed in
+ 42a25055163141165aa0269dbca69735e704825c.
2024-03-07 Jim Porter <jporterbugs@gmail.com>
Support expanding Eshell globs for remote file names
- * lisp/eshell/em-glob.el (eshell-glob-chars-regexp): New function...
+ * lisp/eshell/em-glob.el (eshell-glob-chars-regexp): New
+ function...
(eshell-glob-regexp): ... use it.
(eshell-glob-p): New function...
(eshell-glob-convert): ... use it, and return the deepest start
(em-glob-test/convert/current-start-directory)
(em-glob-test/convert/relative-start-directory)
(em-glob-test/convert/absolute-start-directory)
- (em-glob-test/convert/remote-start-directory): New tests (bug#69592).
+ (em-glob-test/convert/remote-start-directory): New tests.
+ (bug#69592)
2024-03-07 Jeremy Bryant <jb@jeremybryant.net>
- Remove unnecessary eval-when-compile
-
* lisp/which-key.el (which-key--ignore-non-evil-keys-regexp):
Remove unnecessary eval-when-compile in regexp-opt.
2024-03-07 Jeremy Bryant <jb@jeremybryant.net>
- Replace internet link by Info node
-
- * lisp/which-key.el (which-key-hide-alt-key-translations):
- Replace internet link by Info node.
+ * lisp/which-key.el (which-key-hide-alt-key-translations): Replace
+ internet link by Info node.
2024-03-07 Justin Burkett <justin@burkett.cc>
- Sharp quote which-key-sort-order default.
+ * lisp/which-key.el (which-key-sort-order): Sharp quote
+ which-key-sort-order default.
2024-03-07 Mattias Engdegård <mattiase@acm.org>
Single string literal in body is return value only, not doc string
- A function or macro body consisting of a single string literal now only
- uses it as a return value. Previously, it had the dual uses as return
- value and doc string, which was never what the programmer wanted and
- had some inconvenient consequences (bug#69387).
+ A function or macro body consisting of a single string literal now
+ only uses it as a return value. Previously, it had the dual uses
+ as return value and doc string, which was never what the
+ programmer wanted and had some inconvenient consequences
+ (bug#69387).
- This change applies to `lambda`, `defun`, `defsubst` and `defmacro`
- forms; most other defining forms already worked in the sensible way.
+ This change applies to `lambda', `defun', `defsubst' and
+ `defmacro' forms; most other defining forms already worked in the
+ sensible way.
- * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda):
- Don't use a lone string literal as doc string.
+ * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Don't use a
+ lone string literal as doc string.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el
(foo): Update docstring warning test.
* doc/lispref/functions.texi (Function Documentation): Update.
2024-03-07 Juri Linkov <juri@linkov.net>
- * lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'.
+ * lisp/follow.el: Put property 'isearch-scroll' on
+ 'follow-recenter'.
2024-03-06 Jim Porter <jporterbugs@gmail.com>
- When navigating through history in EWW, don't keep adding to 'eww-history'
+ When navigating through history in EWW, don't keep adding to
+ 'eww-history'
This resolves an issue where navigating back and then forward kept
- adding new history entries so you could never hit the "end" (bug#69232).
+ adding new history entries so you could never hit the "end".
- * lisp/net/eww.el (eww-before-browse-history-function): New option.
+ * lisp/net/eww.el (eww-before-browse-history-function): New
+ option.
(eww-history-position): Add docstring.
- (eww-mode-map, eww-context-menu): Use correct predicates for when to
- enable back/forward.
+ (eww-mode-map, eww-context-menu): Use correct predicates for when
+ to enable back/forward.
(eww-save-history): Save history entry in its original place when
viewing a historical page.
(eww--before-browse): New function...
'eww-save-history'.
(eww-forward-url): Set 'eww-history-position' directly, since
'eww-save-history' no longer adds a new entry in this case.
- (eww-delete-future-history, eww-clone-previous-history): New functions.
+ (eww-delete-future-history, eww-clone-previous-history): New
+ functions. (bug#69232)
* test/lisp/net/eww-tests.el: New file.
Tramp fixes after running regression tests on Android
- * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
- Unset environment variable PS2.
+ * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection): Unset
+ environment variable PS2.
- * lisp/net/tramp-androidsu.el (tramp-default-host-alist):
- Don't add an entry; `tramp-default-host' is set properly.
+ * lisp/net/tramp-androidsu.el (tramp-default-host-alist): Don't
+ add an entry; `tramp-default-host' is set properly.
(tramp-androidsu-maybe-open-connection): Don't set connection
property "remote-namespace" to nil, this is the default anyway.
Don't set connection property "remote-path", we use
connection-local values instead. Unset environment variable PS2.
Dump shell options after setting all of them.
- (tramp-androidsu-handle-make-process): Don't use hard-coded user "root".
+ (tramp-androidsu-handle-make-process): Don't use hard-coded user
+ "root".
(tramp-androidsu-connection-local-default-variables): New defvar.
Add it to connection-local profiles.
* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/elisp_type_hierarchy.txt)
($(buildinfodir)/elisp_type_hierarchy.jpg): Update.
- * admin/syncdoc-type-hierarchy.el (syncdoc-update-type-hierarchy0): Likewise.
+ * admin/syncdoc-type-hierarchy.el
+ (syncdoc-update-type-hierarchy0): Likewise.
* Makefile.in (install-info, uninstall): Likewise.
2024-03-06 Andrea Corallo <acorallo@gnu.org>
2024-03-06 Andrea Corallo <acorallo@gnu.org>
- * Update syncdoc to dump all preloaded type hierarchy
+ Update syncdoc to dump all preloaded type hierarchy
* admin/syncdoc-type-hierarchy.el (syncdoc-file)
(syncdoc-emacs-repo-dir): New constants.
Don't report files from read-only adb partitions as writable
- * lisp/net/tramp-adb.el (tramp-adb-handle-file-writable-p):
- Ignore the file-attributes cache, since file mode is not a
- reliable indicator of writability.
+ * lisp/net/tramp-adb.el (tramp-adb-handle-file-writable-p): Ignore
+ the file-attributes cache, since file mode is not a reliable
+ indicator of writability.
2024-03-05 Vincenzo Pupillo <v.pupillo@gmail.com>
- * Makefile.in (install-info): Fix target (bug#69569).
+ * Makefile.in (install-info): Fix target. (bug#69569)
2024-03-05 Juri Linkov <juri@linkov.net>
- * lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook (bug#69093).
-
- (tab-bar-select-tab): Call tab-bar-tab-post-select-functions at the end.
+ * lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook.
+ (bug#69093)
+ (tab-bar-select-tab): Call tab-bar-tab-post-select-functions at
+ the end.
2024-03-05 Juri Linkov <juri@linkov.net>
text property to '(image-context-menu)'.
* lisp/image.el (image-context-menu): New function.
- (put-image): Set context-menu-functions overlay property
- to '(image-context-menu)'.
+ (put-image): Set context-menu-functions overlay property to
+ '(image-context-menu)'.
(insert-image, insert-sliced-image): Set context-menu-functions
text property to '(image-context-menu)'.
2024-03-05 Juri Linkov <juri@linkov.net>
- * lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)
+ More fixes for dictionary-new-matching.
- (dictionary-new-matching): Change the order of standard calls
- to be the same as in 'dictionary-new-search'.
- Use new function 'dictionary-new-matching-internal'.
+ * lisp/net/dictionary.el (dictionary-new-matching): Change the
+ order of standard calls to be the same as in
+ 'dictionary-new-search'. Use new function
+ 'dictionary-new-matching-internal'.
(dictionary-new-matching-internal): New function based on
- 'dictionary-new-search-internal'.
+ 'dictionary-new-search-internal'. (bug#69312)
2024-03-05 Andrea Corallo <acorallo@gnu.org>
* Makefile.in (uninstall): Clean-up type_hierarchy* files.
- * Makefile.in (install-info): Install type_hierarchy* files as well.
+ * Makefile.in (install-info): Install type_hierarchy* files as
+ well.
2024-03-05 Andrea Corallo <acorallo@gnu.org>
- * Copy type hierarchy representation to the info dir
+ Copy type hierarchy representation to the info dir
* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/type_hierarchy.txt)
disass.el (disassemble-1): Minor simplification
- * lisp/emacs-lisp/disass.el (disassemble-1): Remove code for functions
- of the form (lambda ARGS (byte-code ...)) which we don't use any
- more nowadays.
+ * lisp/emacs-lisp/disass.el (disassemble-1): Remove code for
+ functions of the form (lambda ARGS (byte-code ...)) which we don't
+ use any more nowadays.
2024-03-05 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type):
Fix some left over issues:
- - Remove redundant `number-or-marker` from `marker`s parents.
- - Add `function` to the types, since it was missing.
+ - Remove redundant `number-or-marker' from `marker's parents.
+ - Add `function' to the types, since it was missing.
(cl--typeof-types): Add a warning for missing type info.
- * admin/syncdoc-type-hierarchy.el (syncdoc-hierarchy): Fix parent of
- `oclosure`.
+ * admin/syncdoc-type-hierarchy.el (syncdoc-hierarchy): Fix parent
+ of `oclosure'.
* doc/lispref/type_hierarchy.txt:
* doc/lispref/type_hierarchy.jpg: Update.
Remove unnecessary :group attributes
- * lisp/which-key.el: Remove :group 'which-key in defcustoms.
- (which-key-idle-delay):
+ * lisp/which-key.el (which-key-idle-delay):
(which-key-idle-secondary-delay):
(which-key-echo-keystrokes):
(which-key-max-description-length):
(which-key-allow-regexps):
(which-key-inhibit-regexps):
(which-key-show-transient-maps):
- (which-key-init-buffer-hook):
+ (which-key-init-buffer-hook): Remove :group 'which-key in
+ defcustoms.
2024-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
- syncdoc-type-hierarchy.el: Adjust to changes in `cl-preloaded.el`
+ syncdoc-type-hierarchy.el: Adjust to changes in `cl-preloaded.el'
- * admin/syncdoc-type-hierarchy.el (syncdoc-lispref-dir):
- Use `macroexp-file-name`.
+ * admin/syncdoc-type-hierarchy.el (syncdoc-lispref-dir): Use
+ `macroexp-file-name'.
(syncdoc-hierarchy): New var.
(syncdoc-insert-dot-content, syncdoc-make-type-table): Use it.
- (syncdoc-update-type-hierarchy): Don't crash if `dot` is absent.
+ (syncdoc-update-type-hierarchy): Don't crash if `dot' is absent.
2024-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
- admin/syncdoc-type-hierarchy.el: Move from `etc`
-
- AFAICT `admin` is where we keep these kinds of files.
+ * admin/syncdoc-type-hierarchy.el: Move from `etc'. AFAICT
+ `admin' is where we keep these kinds of files.
2024-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
This reverts commit 4a0d430bdc3650ca3dfd8bdd14781764fbcbdc7e.
AFAICT that commit was made to accommodate regressions introduced
- in the new `cl-preloaded.el` code and these have been fixed.
+ in the new `cl-preloaded.el' code and these have been fixed.
2024-03-04 Michael Albinus <michael.albinus@gmx.de>
This reverts commit de6b1e1efb1a36c69e7a6e09297e1de5b1477121.
- While it did simplify code, there aren't much in the way of technical
- benefits the change at this time, and there were protest against the
- unwarranted style change.
+ While it did simplify code, there aren't much in the way of
+ technical benefits the change at this time, and there were protest
+ against the unwarranted style change.
2024-03-04 Mattias Engdegård <mattiase@acm.org>
- Repair miscompilation of single-arg `apply` (bug#69533)
+ Repair miscompilation of single-arg `apply' (bug#69533)
- * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply):
- Don't optimize single-argument `apply`; it's a legacy construct.
- * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
- Add test case.
+ * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Don't
+ optimize single-argument `apply'; it's a legacy construct.
+ * test/lisp/emacs-lisp/bytecomp-tests.el
+ (bytecomp-tests--test-cases): Add test case.
2024-03-04 Eli Zaretskii <eliz@gnu.org>
Fix 'set-window-configuration' and 'window-state-put'
- Fix some bugs with 'window-state-put' (Bug#69093). Add new
- hook 'window-kept-windows-functions' (Bug#68235).
+ Fix some bugs with 'window-state-put' (Bug#69093). Add new hook
+ 'window-kept-windows-functions' (Bug#68235).
* doc/lispref/windows.texi (Window Configurations): Mention
'window-kept-windows-functions'.
(Window Hooks): Describe new abnormal hook
'window-kept-windows-functions'.
- * src/marker.c (Fmarker_last_position): New function to return
- the last position of a marker even if its buffer is now dead.
+ * src/marker.c (Fmarker_last_position): New function to return the
+ last position of a marker even if its buffer is now dead.
* src/window.c (Fset_window_configuration): If
'window-kept-windows-functions' is non-nil, do not delete any
- window whose buffer is now dead but remember all such windows in
- a list to pass to 'window-kept-windows-functions'. Run
+ window whose buffer is now dead but remember all such windows in a
+ list to pass to 'window-kept-windows-functions'. Run
'window-kept-windows-functions' if it is non-nil.
(Vwindow_kept_windows_functions): New abnormal hook run by
Fset_window_configuration and 'window-state-put' with two
(window--state-put-2): Make sure buffer is live before restoring
its state. Set 'window-state-put-selected-window' to state's
selected window. If 'window-kept-windows-functions' is non-nil,
- do not delete any windows whose buffer is found dead but
- remember all such windows in a list to pass to
+ do not delete any windows whose buffer is found dead but remember
+ all such windows in a list to pass to
'window-kept-windows-functions'.
(window-state-put): Run 'window-kept-windows-functions' if it is
non-nil. Select window recorded in
(major-mode-remap(-defaults)): New var and function (bug#69191)
- While `major-mode-remap-alist` provides a way for users to indicate the
- major mode of their choice, we need a similar variable for the
- use of packages.
+ While `major-mode-remap-alist' provides a way for users to
+ indicate the major mode of their choice, we need a similar
+ variable for the use of packages.
- This patch adds a new `major-mode-remap-defaults` and changes various
- packages to obey it or make use of it.
- I think it nicely cleans the regexp duplication between CC-mode and
- `c-ts-mode.el` and also makes it easier/cleaner for users to override
- the changes made by `*-ts-mode.el`.
+ This patch adds a new `major-mode-remap-defaults' and changes
+ various packages to obey it or make use of it. I think it nicely
+ cleans the regexp duplication between CC-mode and `c-ts-mode.el'
+ and also makes it easier/cleaner for users to override the changes
+ made by `*-ts-mode.el'.
* lisp/files.el (major-mode-remap-defaults): New variable.
(major-mode-remap): New function.
(set-auto-mode-0): Use it.
* doc/lispref/modes.texi (Auto Major Mode): Document them.
- * lisp/textmodes/tex-mode.el (tex--redirect-to-submode):
- Use `major-mode-remap`.
- (major-mode-remap-defaults): Set it to remap AUCTeX modes by default.
- * lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it alone.
+ * lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Use
+ `major-mode-remap'.
+ (major-mode-remap-defaults): Set it to remap AUCTeX modes by
+ default.
+ * lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it
+ alone.
(major-mode-remap-defaults): Set this one instead.
- * lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use `major-mode-remap`.
+ * lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use
+ `major-mode-remap'.
(auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
- * lisp/org/ox.el (org-export-to-buffer): Modernize docstring accordingly.
+ * lisp/org/ox.el (org-export-to-buffer): Modernize docstring
+ accordingly.
* lisp/progmodes/cc-mode.el (c-or-c++-mode):
* lisp/org/ox-latex.el (org-latex-export-as-latex):
* lisp/org/ox-koma-letter.el (org-koma-letter-export-as-latex):
- * lisp/org/ox-beamer.el (org-beamer-export-as-latex):
- Use `major-mode-remap` when available.
+ * lisp/org/ox-beamer.el (org-beamer-export-as-latex): Use
+ `major-mode-remap' when available.
2024-03-04 Po Lu <luangruo@yahoo.com>
- Update tramp-androidsu
-
* doc/misc/tramp.texi (Quick Start Guide): Remove documentation
pertaining to tramp-androidsu.el.
(Inline methods): Document it here instead.
(cl--typeof-types): Rework to fix some regressions
- Initialize the variables directly in their declaration, so
- there no time where they exist but aren't yet initialized.
- This also allows us to mark `cl--typeof-types` as a `defconst` again.
+ Initialize the variables directly in their declaration, so there
+ no time where they exist but aren't yet initialized. This also
+ allows us to mark `cl--typeof-types' as a `defconst' again.
- More importantly, specify the DAG by direct supertypes rather
- than direct subtypes. This is slightly less compact, but it's
- necessary to let us specify the *order* of the supertypes,
- which is necessary for example to preserve the desired ordering
- of methods when several methods can be applied.
+ More importantly, specify the DAG by direct supertypes rather than
+ direct subtypes. This is slightly less compact, but it's
+ necessary to let us specify the *order* of the supertypes, which
+ is necessary for example to preserve the desired ordering of
+ methods when several methods can be applied.
- Fix a few more regressions, such as removing `atom` from the parents
- of `function` since some lists are considered as functions,
- adding `number-or-marker` as supertype of `integer-or-marker`,
- and re-adding `native-comp-unit`.
+ Fix a few more regressions, such as removing `atom' from the
+ parents of `function' since some lists are considered as
+ functions, adding `number-or-marker' as supertype of
+ `integer-or-marker', and re-adding `native-comp-unit'.
- I carefully compared all elements of `cl--typeof-types` to make
- sure they are the same as before (with one exception for `null`).
+ I carefully compared all elements of `cl--typeof-types' to make
+ sure they are the same as before (with one exception for `null').
- * lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Delete var.
- (cl--direct-supertypes-of-type, cl--typeof-types):
- Initialize directly in the declaration.
+ * lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Delete
+ var.
+ (cl--direct-supertypes-of-type, cl--typeof-types): Initialize
+ directly in the declaration.
(cl--supertypes-lane, cl--supertypes-lanes-res): Delete vars.
(cl--supertypes-for-typeof-types-rec)
(cl--supertypes-for-typeof-types): Delete functions.
ox-texinfo:: Require only TEXINFO_DIR_CATEGORY
- Until now @dircategory/@direntry entries were added only if
- both TEXINFO_DIR_CATEGORY and TEXINFO_DIR_TITLE were set.
- And the setting of TEXINFO_DIR_TITLE had to be careful to
- provide exactly the right syntax.
+ Until now @dircategory/@direntry entries were added only if both
+ TEXINFO_DIR_CATEGORY and TEXINFO_DIR_TITLE were set. And the
+ setting of TEXINFO_DIR_TITLE had to be careful to provide exactly
+ the right syntax.
This patch changes various things in this regard:
- Only require TEXINFO_DIR_CATEGORY in order to generate
- `@dircategory` and `@direntry`.
- - Use the document title by default if TEXINFO_DIR_DESC is missing.
+ `@dircategory' and `@direntry'.
+ - Use the document title by default if TEXINFO_DIR_DESC is
+ missing.
- Use the filename by default when TEXINFO_DIR_TITLE is missing.
- Try and make it harder to provide a direntry that does not
have the right format or refers to a different filename than
the one we're outputting to.
- * lisp/org/ox-texinfo.el: Remove redundant `:group` arguments.
+ * lisp/org/ox-texinfo.el: Remove redundant `:group' arguments.
Prefer #' to quote function names.
- (org-texinfo-template): Use sane defaults for `@direntry`.
+ (org-texinfo-template): Use sane defaults for `@direntry'.
- * doc/misc/org.org (Texinfo specific export settings): Adjust accordingly.
+ * doc/misc/org.org (Texinfo specific export settings): Adjust
+ accordingly.
2024-03-03 Juri Linkov <juri@linkov.net>
- * lisp/net/dictionary.el (dictionary-display-match-result): More fixes.
-
- Remove 'dictionary-pre-buffer' that was moved to
- 'dictionary-new-matching' in the previous commit (bug#69312).
+ * lisp/net/dictionary.el (dictionary-display-match-result): More
+ fixes. Remove 'dictionary-pre-buffer' that was moved to
+ 'dictionary-new-matching' in the previous commit. (bug#69312)
2024-03-03 Juri Linkov <juri@linkov.net>
- * lisp/net/dictionary.el (dictionary-new-matching): Add dictionary-pre-buffer.
-
- This is necessary to prepare the dictionary buffer for further processing
- that also includes setting buffer-read-only to nil to be able to insert text.
+ * lisp/net/dictionary.el (dictionary-new-matching): Add
+ dictionary-pre-buffer. This is necessary to prepare the
+ dictionary buffer for further processing that also includes
+ setting buffer-read-only to nil to be able to insert text.
(bug#69312)
2024-03-03 Andrea Corallo <acorallo@gnu.org>
- * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62): Revert change.
+ * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62):
+ Revert change.
2024-03-03 Andrea Corallo <acorallo@gnu.org>
- * Fix 'cl--typeof-types' computation
+ Fix 'cl--typeof-types' computation
* lisp/emacs-lisp/cl-preloaded.el (cl--supertypes-lane)
(cl--supertypes-lanes-res): Define vars.
Use funcall on function values in gnus-agent.el
- See bug#68931
-
- * lisp/gnus/gnus-agent.el (gnus-category-make-function-1): Don't just
- pass function values in to be byte compiled, wrap them in funcall first.
+ * lisp/gnus/gnus-agent.el (gnus-category-make-function-1): Don't
+ just pass function values in to be byte compiled, wrap them in
+ funcall first. (bug#68931)
2024-03-03 Jeremy Bryant <jb@jeremybryant.net>
- Replace member by memq for clarity
-
* lisp/which-key.el (which-key--side-window-max-dimensions):
- Replace member by memq.
+ Replace member by memq for clarity.
2024-03-03 Jeremy Bryant <jb@jeremybryant.net>
- Use declare form instead of put, for clarity
-
* lisp/which-key.el (which-key-add-major-mode-key-based-replacements):
- Use declare form instead of put.
+ Use declare form instead of put for clarity.
2024-03-02 Juri Linkov <juri@linkov.net>
- * lisp/net/dictionary.el: Better handling of messages and errors.
+ Better handling of messages and errors in dictionary.el
- (dictionary-do-search, dictionary-do-matching): Insert formatted
- messages to the top of the output buffer instead of displaying
- transient messages in the echo area (bug#69312).
+ * lisp/net/dictionary.el (dictionary-do-search)
+ (dictionary-do-matching): Insert formatted messages to the top of
+ the output buffer instead of displaying transient messages in the
+ echo area. (bug#69312)
(dictionary-do-matching, dictionary-lookup-definition)
- (dictionary-popup-matching-words): Use 'user-error'
- instead of 'error' for non-technical errors.
+ (dictionary-popup-matching-words): Use 'user-error' instead of
+ 'error' for non-technical errors.
2024-03-02 Juri Linkov <juri@linkov.net>
- * lisp/replace.el (perform-replace): Accept default bindings in lookup-key.
-
- Set ACCEPT-DEFAULT arg of lookup-key to t (bug#69342).
- This will allow the users to ignore unbound keys with
- ‘(define-key query-replace-map [t] 'ignore)’.
+ * lisp/replace.el (perform-replace): Accept default bindings in
+ lookup-key. Set ACCEPT-DEFAULT arg of lookup-key to t. This will
+ allow the users to ignore unbound keys with ‘(define-key
+ query-replace-map [t] 'ignore)’. (bug#69342)
2024-03-02 Juri Linkov <juri@linkov.net>
- * lisp/buff-menu.el (Buffer-menu-marked-buffers): Add save-excursion.
+ * lisp/buff-menu.el (Buffer-menu-marked-buffers): Add
+ save-excursion.
* doc/lispref/modes.texi (Tabulated List Mode): Unindent example.
2024-03-02 Kazuhiro Ito <kzhr@d1.dion.ne.jp>
- * lisp/language/japanese.el (map): Fix typo (bug#69494).
+ * lisp/language/japanese.el (map): Fix typo. (bug#69494)
2024-03-02 Kazuhiro Ito <kzhr@d1.dion.ne.jp>
* lisp/language/japan-util.el
(setup-japanese-environment-internal): Prefer UTF-8 for Cygwin and
- other Posix hosts; prefer Codepage 932 on DOS/Windows. (Bug#69493)
+ other Posix hosts; prefer Codepage 932 on DOS/Windows.
+ (Bug#69493)
2024-03-02 Po Lu <luangruo@yahoo.com>
(android_get_dead_char): New functions.
(android_wc_lookup_string): New argument COMPOSE_STATE. Ignore
key events with the COMBINING_ACCENT flag set while recording
- their character values there, and combine such characters with
- the key event when processing a subsequent key event.
+ their character values there, and combine such characters with the
+ key event when processing a subsequent key event.
- * src/androidgui.h (struct android_compose_status): New
- structure.
+ * src/androidgui.h (struct android_compose_status): New structure.
* src/androidterm.c (handle_one_android_event): Port dead key
combination code from X. (bug#69321)
2024-03-01 Andrea Corallo <andcor03@e132096.arm.com>
- * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Define as var.
+ * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Define as
+ var.
2024-03-01 Wilson Snyder <wsnyder@wsnyder.org>
Verilog-mode update from upstream https://github.com/veripool/verilog-mode
* lisp/progmodes/verilog-mode.el (verilog-auto-inst)
- (verilog-auto-inst-param): Remove intended formfeeds. Our ability to
- detect unintended formfeeds elsewhere outweighs their limited utility here.
- Contributed by Mattias Engdegård.
+ (verilog-auto-inst-param): Remove intended formfeeds. Our ability
+ to detect unintended formfeeds elsewhere outweighs their limited
+ utility here. Contributed by Mattias Engdegård.
(verilog-at-constraint-p)
(verilog-at-struct-mv-p, verilog-at-struct-p, verilog-calc-1)
(verilog-in-case-region-p, verilog-in-fork-region-p)
- (verilog-in-generate-region-p, verilog-set-auto-endcomments):
- Fix indentation problem when there is a signal named "module_something"
+ (verilog-in-generate-region-p, verilog-set-auto-endcomments): Fix
+ indentation problem when there is a signal named
+ "module_something"
(#1861). Cleanup RexEx groupings.
- (verilog-read-sub-decls-expr):
- Fix apostrophe parser in AUTOWIRE (#1854) (#1855).
- (verilog-auto-inst-port): Fix AUTOINST
- multi-dimensional array [] substitution. Reported by Caleb Begly.
+ (verilog-read-sub-decls-expr): Fix apostrophe parser in AUTOWIRE
+ (#1854) (#1855).
+ (verilog-auto-inst-port): Fix AUTOINST multi-dimensional array []
+ substitution. Reported by Caleb Begly.
(verilog-property-re, verilog-beg-of-statement, verilog-calc-1):
- Concurrent SVA statement pattern-matching learns 'restrict property' and
- 'cover sequence' expression for proper indentation around those constructs. This
- addresses more patterns in IEEE 1800-2017's 'concurrent_sasertion_statement'
- grammar.
- (verilog-read-sub-decls-line):
- Fix `verilog-auto-ignore-concat' with parenthesis signals.
- Reported by Dmitri Sorkin.
+ Concurrent SVA statement pattern-matching learns 'restrict
+ property' and 'cover sequence' expression for proper indentation
+ around those constructs. This addresses more patterns in IEEE
+ 1800-2017's 'concurrent_sasertion_statement' grammar.
+ (verilog-read-sub-decls-line): Fix `verilog-auto-ignore-concat'
+ with parenthesis signals. Reported by Dmitri Sorkin.
(verilog-simplify-range-expression): Fix
`verilog-auto-inst-param-value' confusing structure selects.
Reported by Mike Bertone.
Merge branch 'feature/type-hierarchy' into 'master'
- * doc/lispref/objects.texi (Type Hierarchy): Small improvements
+ * doc/lispref/objects.texi (Type Hierarchy): Small improvements.
2024-03-01 Andrea Corallo <acorallo@gnu.org>
- * Fix compilation warning in 'cl--supertypes-for-typeof-types'
+ Fix compilation warning in 'cl--supertypes-for-typeof-types'
- * lisp/emacs-lisp/cl-preloaded.el (cl--supertypes-for-typeof-types): Fix
- warning.
+ * lisp/emacs-lisp/cl-preloaded.el
+ (cl--supertypes-for-typeof-types): Fix warning.
2024-02-29 Juri Linkov <juri@linkov.net>
Add tabulated-list-groups and Buffer-menu-group-by (bug#69305)
- * doc/lispref/modes.texi (Tabulated List Mode):
- Add defvar tabulated-list-groups.
+ * doc/lispref/modes.texi (Tabulated List Mode): Add defvar
+ tabulated-list-groups.
* lisp/buff-menu.el (Buffer-menu-group-by): New defcustom.
- (Buffer-menu-unmark-all-buffers): Use tabulated-list-get-entry
- to check whether the current line contains an entry.
- (list-buffers-noselect): Enable outline-minor-mode
- for tabulated-list-groups.
- (list-buffers--refresh): When Buffer-menu-group-by is non-nil,
- set tabulated-list-groups.
- (Buffer-menu-group-by-mode, Buffer-menu-group-by-root):
- New functions.
+ (Buffer-menu-unmark-all-buffers): Use tabulated-list-get-entry to
+ check whether the current line contains an entry.
+ (list-buffers-noselect): Enable outline-minor-mode for
+ tabulated-list-groups.
+ (list-buffers--refresh): When Buffer-menu-group-by is non-nil, set
+ tabulated-list-groups.
+ (Buffer-menu-group-by-mode, Buffer-menu-group-by-root): New
+ functions.
- * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups):
- New buffer-local variable.
- (tabulated-list-print-fake-header): Add distinct overlay
- property 'fake-header'.
- (tabulated-list-header-overlay-p): Filter out overlays that
- don't have the property 'fake-header'.
+ * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups): New
+ buffer-local variable.
+ (tabulated-list-print-fake-header): Add distinct overlay property
+ 'fake-header'.
+ (tabulated-list-header-overlay-p): Filter out overlays that don't
+ have the property 'fake-header'.
(tabulated-list-print): Use the variable 'tabulated-list-groups'
to sort entries in groups separately.
(tabulated-list-print-entries): New function factored out from
'tabulated-list-print'.
- * test/lisp/emacs-lisp/tabulated-list-tests.el (tabulated-list-groups):
- New test.
+ * test/lisp/emacs-lisp/tabulated-list-tests.el
+ (tabulated-list-groups): New test.
2024-02-29 Eli Zaretskii <eliz@gnu.org>
2024-02-29 Andrea Corallo <acorallo@gnu.org>
- * etc/TODO (Native compiler improvements): Remove an entry as completed.
+ * etc/TODO (Native compiler improvements): Remove an entry as
+ completed.
2024-02-29 Andrea Corallo <acorallo@gnu.org>
- * Add 'native-comp-async-report-warnings-errors-kind'
+ Add 'native-comp-async-report-warnings-errors-kind'
- * lisp/emacs-lisp/comp-run.el (native-comp-async-report-warnings-errors-kind):
- Add new customize.
+ * lisp/emacs-lisp/comp-run.el
+ (native-comp-async-report-warnings-errors-kind): Add new
+ customize.
2024-02-29 Andrea Corallo <acorallo@gnu.org>
- * Improve 'native-comp-async-report-warnings-errors' tag
+ Improve 'native-comp-async-report-warnings-errors' tag
- * lisp/emacs-lisp/comp-run.el (native-comp-async-report-warnings-errors):
- Improve tag.
+ * lisp/emacs-lisp/comp-run.el
+ (native-comp-async-report-warnings-errors): Improve tag.
2024-02-29 Robert Pluim <rpluim@gmail.com>
2024-02-29 Jeremy Bryant <jb@jeremybryant.net>
- Remove github reference in preparation for integration to Emacs core
-
- * lisp/which-key.el: Remove github reference.
+ * lisp/which-key.el: Remove GitHub reference in preparation for
+ integration to Emacs core.
2024-02-29 Jeremy Bryant <jb@jeremybryant.net>
- Specify more precise customization type, natnum instead of integer
-
- * lisp/which-key.el (which-key-add-column-padding): Use natnum
+ * lisp/which-key.el (which-key-add-column-padding): Specify more
+ precise customization type, natnum instead of integer.
2024-02-28 Andrea Corallo <acorallo@gnu.org>
2024-02-28 Andrea Corallo <acorallo@gnu.org>
- * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add 'symbol-with-pos'.
+ * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add
+ 'symbol-with-pos'.
- * lisp/emacs-lisp/comp.el (comp-known-predicates): Add 'symbol-with-pos-p'.
+ * lisp/emacs-lisp/comp.el (comp-known-predicates): Add
+ 'symbol-with-pos-p'.
2024-02-28 Basil L. Contovounesios <basil@contovou.net>