* lisp/org/org.el (org--latex-preview-when-risky): New variable
controlling how to handle LaTeX previews in Org files from untrusted
origin.
(org-latex-preview): Consult `org--latex-preview-when-risky' before
generating previews.
This patch adds a layer of protection when LaTeX preview is requested
for an email attachment, where `untrusted-content' is set to non-nil.
* lisp/org/org-macro.el (org-macro--set-templates): Get rid of any
risk to evaluate code when `org-macro--set-templates' is called as a
part of major mode initialization. This way, no code evaluation is
ever triggered when user merely opens the file or when
`mm-display-org-inline' invokes Org major mode to fontify mime part
preview in email messages.
* doc/lispref/strings.texi (Custom Format Strings): Mention that
precision specifier affects both '<' and '>' truncation (bug#69822).
* lisp/format-spec.el (format-spec, format-spec--do-flags): Use same
terminology as 'format', especially when referring to its behavior.
* lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Add
handling to not consider ended statements as object init openers.
* test/lisp/progmodes/csharp-mode-resources/indent.erts: New test
resources.
* test/lisp/progmodes/csharp-mode-tests.el: Add test for this particular
issue.
A user typically expects a keymap for mode `foo' to be called
`foo-mode-map'. term-mode has `term-mode-map' too, but for
user-defined bindings to have effect they have to be put to
`term-raw-map' instead. So let's mention that.
* lisp/term.el (term-mode) (term-mode-map) (term-raw-map): Mention
the keymaps to add keybindings to for `term-mode'. (Bug#69786)
* lisp/sqlite.el (with-sqlite-transaction): Tuck misplaced body
of else form back into feature-test control structure whence it
escaped. (Bug#67142)
* test/lisp/sqlite-tests.el: New file to accompany
test/src/sqlite-tests.el.
* lisp/image.el (create-image, image-property): Add to do strings
link to description of image properties in ELisp manual.
* doc/lispref/display.texi (Defining Images): Fix example and add
cross-reference to where image properties are described.
(Image Descriptors): Add index entry.
* lisp/progmodes/gdb-mi.el: (gdb-clear-partial-output)
(gdb-clear-inferior-io): Set inhibit-read-only, to avoid
signaling errors in process filter. (Bug#69327)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules):
Support putting the opening brace on a separate line (bug#67556).
* test/lisp/progmodes/java-ts-mode-resources/indent.erts:
Add a test.
* lisp/org.el (org--confirm-resource-safe): Do not assume that
resource is safe when user replies "n" (do not download).
Reported-by: Max Nikulin <manikulin@gmail.com>
Link: https://orgmode.org/list/upj6uk$b7o$1@ciao.gmane.io
* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Do not try to
reorder conses using 'sxhash-equal' as its behavior is not reproducible
over different sessions.
Starting from version 0.20.4 of the typescript/tsx grammar, "function"
becomes "function_expression". The right expression is used depending
on the grammar version.
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--font-lock-compatibility-function-expression):
New function (bug#69024).
(typescript-ts-mode--font-lock-settings): Use it.
Copyright-paperwork-exempt: yes
Starting from version 0.20.2 the grammar's primary expression
"function" has been renamed to "function_expression". A new
function checks if the new primary expression is available,
and if so, it returns the correct rules.
* lisp/progmodes/js.el
(js--treesit-font-lock-compatibility-definition-feature): New
function.
(js--treesit-font-lock-settings): Use it. (Bug#68879)
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Make sure the
selected window displays the current buffer. This is important
when this function is called inside 'with-current-buffer' or
similar forms which temporarily change the buffer displayed in the
selected window. (Bug#67791)