Martin Rudalics [Sun, 23 Feb 2025 10:01:20 +0000 (11:01 +0100)]
Optionally inhibit implied resizing while frame is made (Bug#76275)
* src/frame.c (frame_inhibit_resize): Handle new value 'force'
for 'frame-inhibit-implied-resize' (Bug#76275).
(frame_inhibit_implied_resize): New value 'force' to inhibit
implied resizing while a new frame is made.
* lisp/cus-start.el (frame-inhibit-implied-resize): Make new
value 'force' customizable.
* doc/lispref/frames.texi (Implied Frame Resizing): Describe new
value 'force' of 'frame-inhibit-implied-resize'.
* etc/NEWS: Announce new value 'force' of
'frame-inhibit-implied-resize'.
Michael Albinus [Sun, 23 Feb 2025 09:47:58 +0000 (10:47 +0100)]
Tramp: Improve doc of ad-hoc multi-hop file names
* doc/misc/tramp.texi (Ad-hoc multi-hops, Frequently Asked Questions):
Improve description how ad-hoc multi-hop file names can be made
persistent. (Bug#65039, Bug#76457)
Gerd Möllmann [Sun, 23 Feb 2025 04:07:55 +0000 (05:07 +0100)]
Enforce redisplay when deleting a child frame (bug#76406)
* src/term.c (tty_free_frame_resources): When deleting a child mark its
root frame to garbaged.
* src/dispnew.c (prepare_desired_root_row): Add a check for GLYPH_DEBUG.
Paul Eggert [Sun, 23 Feb 2025 06:53:52 +0000 (23:53 -0700)]
Revert “Pacify GCC in pgtkselect malloc alignment”
Problem reported by the wurfkreuz (Bug#76414).
* src/pgtkselect.c: Revert my commit ff65cc9944dc0b37986d512ee8b9817c6913db36 dated Sun Jan 26 22:15:49
2025 -0800 for now. I may come up with a better commit later.
Stefan Kangas [Sun, 23 Feb 2025 03:04:24 +0000 (04:04 +0100)]
Mark kermit.el as obsolete
While Kermit is still developed, this Emacs support library is
essentially unchanged since it was added to Emacs, which seems to have
been in 1988. It is also based on the old pre-Emacs 20 shell mode, so
it's not clear if it even works, and much less if it is relevant with
Kermit from this century.
There is also this modern alternative, from 1994, which seems far
more complete: https://www.kermitproject.org/archive.html#emacs
The bug tracker has stayed silent, so if anyone is still using it, they
will have to report a bug and ask us to unobsolete it.
* lisp/obsolete/kermit.el: Add Obsolete-since header. Add link to
alternative library at kermitproject.org.
Thuna [Wed, 12 Feb 2025 22:34:16 +0000 (23:34 +0100)]
Fix print-tests
* test/src/print-tests.el (terpri): Erase the buffer *terpri-test*
before individual runs. (Bug#72334)
(print-circle): Allow circular references with number greater than 9.
Mauro Aranda [Sat, 15 Feb 2025 12:26:46 +0000 (09:26 -0300)]
Fix comparison of current values for the key-sequence :type
* lisp/cus-edit.el (custom-variable-modified-p): Round-trip
the option value before comparing it against the widget's value.
This mostly fixes comparison against the obsolete key-sequence
widget, but could fix other corner cases, when the widget
accepts different types as values. (Bug#76156)
* test/lisp/cus-edit-tests.el (cus-edit-test-bug76156)
(cus-edit-test-bug76156-2): New test options.
(cus-edit-test-unedited-option): New test.
Add support for fontifying the following grammar-elements:
- image-declarations (image-name, image-tag & image alias)
- strings in more general terms
- string-expansion statements
- treat path-values as strings
- identifiers names for ENV and ARG statements
- argument values for ENV and ARG statements
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
(dockerfile-ts-mode--font-lock-settings): Improve fontification.
(Bug#76481)
Stefan Kangas [Sat, 22 Feb 2025 16:32:31 +0000 (17:32 +0100)]
New macros incf and decf
* lisp/emacs-lisp/cl-lib.el (cl-incf, cl-decf): Move macros from here...
* lisp/emacs-lisp/gv.el (incf, decf): ...to here. Make old names into
aliases, documented as deprecated.
* lisp/obsolete/cl.el: Don't alias incf and decf.
* doc/lispref/variables.texi (Multisession Variables):
* doc/misc/cl.texi (Organization, Modify Macros, Modify Macros)
(Modify Macros, Macro Bindings, For Clauses, Property Lists)
(Structures, Efficiency Concerns, Obsolete Setf Customization): Delete
cl-incf and cl-decf documentation, moving any relevant parts to lispref.
Delete some parts that seem to primarily regard implementation details
that do not warrant inclusion in lispref. Update all examples to use
incf/decf.
Mauro Aranda [Sat, 22 Feb 2025 21:31:40 +0000 (18:31 -0300)]
Fix last commit to wid-edit.el
* lisp/wid-edit.el (widget-editable-list-entry-create): Don't
use save-excursion when indenting. Previously, it was needed
because we inserted the :entry-format string, but we don't do
that anymore. (Bug#53606)
Stefan Kangas [Sat, 22 Feb 2025 16:18:01 +0000 (17:18 +0100)]
; Delete obsolete commented out parts from cl.texi
* doc/misc/cl.texi (Modify Macros, Obsolete Setf Customization): Delete
commented out documentation that is no longer true, and documentation of
a function that was removed in Emacs 24.3.
shipmints [Thu, 13 Feb 2025 13:10:45 +0000 (08:10 -0500)]
Inhibit "Wrote" message in saveplace.el when non-interactive
* lisp/saveplace.el (save-place-alist-to-file): Tell 'write-region'
to be quiet when called non-interactively. This is in harmony with
'savehist-save'. (Bug#76267)
Visuwesh [Thu, 13 Feb 2025 11:13:06 +0000 (16:43 +0530)]
Make yank-media auto select the best mime type
* lisp/yank-media.el (yank-media-preferred-types): Add new
variable that holds the list of mime types in order of their
preference.
(yank-media-autoselect-function): Add new variable and function
to choose the most preferred media type.
(yank-media): Make 'yank-media' choose the most preferred mime
type by default.
* doc/emacs/killing.texi (Clipboard):
* doc/lispref/frames.texi (Yanking Media): Document the new
behaviour, and the new variables.
* etc/NEWS: Announce the change. (Bug#75116)
Mauro Aranda [Thu, 6 Feb 2025 11:01:08 +0000 (08:01 -0300)]
Speed up widget creation (Bug#53606)
* lisp/wid-edit.el (widget-default-create, widget-checklist-add-item)
(widget-radio-add-item, widget-editable-list-entry-create): Don't
insert format escapes into the buffer, only to delete them after.
This avoids calls to delete-char and makes widget creation about 3
times faster.
F. Jason Park [Sat, 15 Feb 2025 02:57:41 +0000 (18:57 -0800)]
Use .pem extension for client certs in ERC docs
* doc/misc/erc.texi (Connecting): Change file-name extensions to .pem in
all examples, and explain that the key and the cert can be combined into
one file.
(SASL): Use .pem extension for certs.
* lisp/erc/erc.el (erc--warn-once-before-connect): Revise doc.
(erc-tls): Use .pem extension for certs. (Bug#76278)
Stefan Kangas [Fri, 21 Feb 2025 17:48:12 +0000 (18:48 +0100)]
Delete note on Emacs 19 modes from comint.el
* lisp/comint.el: Delete note on how to convert pre-Emacs 20 modes to
use comint.el. Emacs 20 was released in 1997, so it's safe to assume
that any relevant code has been updated in the last three decades.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules): Fix
indentation for using statements and multiline lambdas. (Bug#75883)
Patch based on bug report by Dino Chiesa <dpchiesa@hotmail.com>.
Stefan Kangas [Fri, 21 Feb 2025 16:40:12 +0000 (17:40 +0100)]
New user option checkdoc-allow-quoting-nil-and-t
* lisp/emacs-lisp/checkdoc.el (checkdoc-allow-quoting-nil-and-t):
New user option that allows turning off the warning for having nil
and t in quotes.
(checkdoc-this-string-valid-engine): Use above new option.
Michael Albinus [Fri, 21 Feb 2025 13:47:15 +0000 (14:47 +0100)]
Use a persistent directory as default directory in diff
* lisp/vc/diff.el (diff-no-select): Use `temporary-file-directory'
as default directory. Set default file permissions temporarily to
#o600. (Bug#69606)
Juri Linkov [Fri, 21 Feb 2025 07:55:54 +0000 (09:55 +0200)]
New variable 'treesit-aggregated-outline-predicate' (bug#76398)
* doc/lispref/modes.texi (Outline Minor Mode):
Add 'treesit-aggregated-outline-predicate'.
* lisp/treesit.el (treesit-aggregated-outline-predicate):
New buffer-local variable.
(treesit-outline--at-point):
Use 'treesit-aggregated-outline-predicate'.
(treesit-closest-parser-boundary): New function.
(treesit-outline-search): Use 'treesit-aggregated-outline-predicate'
and 'treesit-closest-parser-boundary'.
(treesit-outline-level): Use 'treesit-aggregated-outline-predicate'.
(treesit-major-mode-setup): Add 'treesit-aggregated-outline-predicate'.
Have 'submit-emacs-patch' insert maintainers into X-Debbugs-Cc
* lisp/mail/emacsbug.el (submit-emacs-patch): Go through all files
mentioned in the diff and check for maintainers.
(submit-emacs-patch-excluded-maintainers): Add constant. (Bug#69646)
Po Lu [Thu, 20 Feb 2025 06:04:59 +0000 (14:04 +0800)]
Port to modern GCC and pdumper on MS-DOS
* config.bat (mvOk): Protoize.
(djgppOk): Include sys/version.h for _DJGPP_MINOR.
* lisp/loadup.el: If system-type is ms-dos, dump bootstrap-emacs
as b-emacs.dmp.
* msdos/INSTALL: Document new versions of tools that have been
verified successfully to compile Emacs.
* msdos/emacs.djl: New linker script that arranges to link
symbols in `.subrs' in a contiguous part of data, as the DJGPP
runtime appears to treat any non-data and non-text section as
allocatable.
* msdos/sed1v2.inp (CFLAGS): Define to -O2 -g3.
(LDFLAGS): Provide the said linker script.
(HAVE_PDUMPER): Define to yes.
(UNEXEC_OBJ, PAXCTL_dumped, PAXCTL_notdumped): Delete.
(DUMPING): Set to pdumper.
(MAKE_PDUMPER_FINGERPRINT): Don't erase this variable.
Don't stubify or set minstack. Remove native-comp specific
directives. Don't remove temacs prior to copying and replace
`pdmp' extension with DOS-conformant `dmp'.
* msdos/sed2v2.inp (HAVE_UNEXEC): Remove definition.
(HAVE_PDUMPER): Define to 1.
Po Lu [Wed, 19 Feb 2025 12:40:12 +0000 (20:40 +0800)]
Fix remaining Android bugs reported over the past months
* java/org/gnu/emacs/EmacsActivity.java (attachWindow):
Guarantee that child windows promoted to toplevels receive
layout parameters that direct them to receive their parents'
dimensions. Otherwise, the size of the window as a child is
retained on Huawei HarmonyOS 4.2 and possibly other Android
distributions.
* java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
Run anchor updates on the UI thread, as
`InputMethodManager#updateCursorAnchorInfo' is liable to call
`View#requestLayout'.
* java/org/gnu/emacs/EmacsView.java (onMeasure): Always call
`measureChildren', or child frames' onLayout handlers might not
be invoked after they request a layout cycle and are duly
processed in `onLayout'.
(swapBuffers): Delete erroneous commentary.
* java/org/gnu/emacs/EmacsWindow.java (viewLayout): If
overrideRedirect, don't inadvertently clear rect.left and
rect.top by recording the window's WM window-relative position.
Fix typos.
(reparentTo): Invalidate focus after transferring frame.
(translateCoordinates): Account for override-redirect windows.
Mostly important for mouse-drag-and-drop-region.
Stefan Monnier [Wed, 19 Feb 2025 03:27:08 +0000 (22:27 -0500)]
(json-pretty-print): Rework a bit
* lisp/json.el (json-pretty-print): Call 'replace-buffer-contents'
separately for each json object rather than once at the end, so
its work is easier. Use 'json--print' rather than 'json-encode' so as
to avoid creating yet more temp buffers.