]> git.eshelyaron.com Git - emacs.git/log
emacs.git
10 months agoFlymake: protect against problematic invalid diagnostics
João Távora [Thu, 26 Oct 2023 13:20:41 +0000 (14:20 +0100)]
Flymake: protect against problematic invalid diagnostics

If a backend reports a diagnostic which is out of bounds, it still
lives in flymake--state and will still be cleaned up in the next run
of flymake--publish-diagnostics.  But if flymake--highlight-line
doesn't give it an overlay (which it didn't until now), things will
break afterwards.

See bug#66759 and https://github.com/joaotavora/eglot/discussions/1311

* lisp/progmodes/flymake.el (flymake--highlight-line): Set
flymake--diag-overlay earlier.
(Version): Bump to 1.3.7.

10 months agoProperly respond to drops observing the Motif protocol
Po Lu [Thu, 26 Oct 2023 11:49:40 +0000 (19:49 +0800)]
Properly respond to drops observing the Motif protocol

* lisp/pgtk-dnd.el (pgtk-dnd-handle-file-name):

* lisp/x-dnd.el (x-dnd-handle-file-name): Correct order of
arguments to d-h-m-u.

10 months agoCorrect typos in the manuals
Po Lu [Thu, 26 Oct 2023 11:46:32 +0000 (19:46 +0800)]
Correct typos in the manuals

* doc/misc/tramp.texi (Traces and Profiles): Don't mimic
@enumerate with @indentedblock, which is absent from Texinfo
4.13.

* doc/misc/use-package.texi (Global keybindings): Remove stray
comma after @xref.

10 months agoEnable DND handlers to receive more than one URI at a time
Po Lu [Thu, 26 Oct 2023 11:37:58 +0000 (11:37 +0000)]
Enable DND handlers to receive more than one URI at a time

* doc/lispref/frames.texi (Drag and Drop): Illustrate the effect
of the dnd-multiple-handler property and how convergent handlers
are reconciled.

* etc/NEWS (Lisp Changes in Emacs 30.1): Announce this change.

* lisp/dnd.el (dnd-protocol-alist): Bring doc string up to date.
(dnd-handle-one-url): Obsolete this function.
(dnd-handle-multiple-urls): New function.

* lisp/pgtk-dnd.el (pgtk-dnd-handle-uri-list)
(pgtk-dnd-handle-file-name):

* lisp/term/android-win.el (android-handle-dnd-event):

* lisp/term/haiku-win.el (haiku-drag-and-drop):

* lisp/term/ns-win.el (ns-drag-n-drop):

* lisp/term/w32-win.el (w32-handle-dropped-file):

* lisp/x-dnd.el (x-dnd-handle-uri-list, x-dnd-handle-file-name):
Reimplement in terms of `dnd-handle-multiple-uris'.

* lisp/term/pgtk-win.el (pgtk-drag-n-drop)
(pgtk-drag-n-drop-other-frame, pgtk-drag-n-drop-as-text): Efface
detritus that remained after the removal of the old PGTK drag
and drop implementation.

* test/lisp/dnd-tests.el (ert-x, dnd-tests-list-1)
(dnd-tests-list-2, dnd-tests-list-3, dnd-tests-list-4)
(dnd-tests-local-file-function, dnd-tests-remote-file-function)
(dnd-tests-http-scheme-function, dnd-tests-browse-url-handler)
(dnd-tests-receive-multiple-urls): New tests.

10 months agocperl-mode.el: Make commands and options for Perl info pages obsolete.
Harald Jörg [Thu, 26 Oct 2023 10:06:12 +0000 (12:06 +0200)]
cperl-mode.el: Make commands and options for Perl info pages obsolete.

The Perl documentation in info format is no longer distributed with Perl,
nor is it available from CPAN.   Point to cperl-perldoc instead.

* lisp/progmodes/cperl-mode.el (cperl-info-page): Make obsolete.
(cperl-tips): Remove outdated instructions to get Perl info
sources from the docstring.
(cperl-praise): Remove advertising the info interface in the
docstring.
(cperl-mode-map): Replace bindings to `cperl-info-on-command' and
`cperl-info-on-current-command' by `cperl-perldoc'.
(cperl-menu): Remove menu entries pointing to the Perl info page.
(cperl-mode): Remove explanation of the Perl info commands from
the docstring.
(cperl-info-on-command, cperl-info-on-current-command),
(cperl-imenu-info-imenu-search, cperl-imenu-on-info): Declare the
commands obsolete.

* etc/NEWS: Describe the obsoletion of Perl info commands.

10 months agoRevise selection documentation
Po Lu [Thu, 26 Oct 2023 04:50:19 +0000 (04:50 +0000)]
Revise selection documentation

* doc/lispref/frames.texi (Window System Selections):
(X Selections):

* lisp/select.el (selection-coding-system): Correct
misunderstandings about the nature of selection-coding-system
under X.

10 months agoMollify byte compiler in builds without SQLite
Po Lu [Thu, 26 Oct 2023 02:52:23 +0000 (02:52 +0000)]
Mollify byte compiler in builds without SQLite

* lisp/sqlite-mode.el (sqlite-open): New declare-function.

10 months agoSimplify sigil font-lock match for elixir-ts-mode
Wilhelm H Kirschbaum [Sat, 7 Oct 2023 08:37:49 +0000 (10:37 +0200)]
Simplify sigil font-lock match for elixir-ts-mode

There is no need to match on specific sigils, except for regex.

* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--font-lock-settings): Update sigil match (bug#64275).

10 months agoTweak the DOI URL and the description
Dmitry Gutov [Wed, 25 Oct 2023 23:38:56 +0000 (02:38 +0300)]
Tweak the DOI URL and the description

* lisp/emacs-lisp/smie.el: Use a friendlier (HTTPS) DOI URL.  And
fix the year in the description.

10 months agoSupport HTTPS links in newsticker extra elements
Stefan Kangas [Wed, 25 Oct 2023 21:26:37 +0000 (23:26 +0200)]
Support HTTPS links in newsticker extra elements

* lisp/net/newst-reader.el (newsticker--do-print-extra-element):
Support HTTPS links.

10 months ago; Fix webjump test after recent change
Stefan Kangas [Wed, 25 Oct 2023 21:23:45 +0000 (23:23 +0200)]
; Fix webjump test after recent change

* test/lisp/net/webjump-tests.el (webjump-tests-url-fix): Adjust
test after recent change to prefer HTTPS.

10 months ago; Fix two broken links
Stefan Kangas [Tue, 24 Oct 2023 23:33:47 +0000 (01:33 +0200)]
; Fix two broken links

10 months ago* doc/misc/tramp.texi (Traces and Profiles): Fix indentation.
Michael Albinus [Wed, 25 Oct 2023 17:25:53 +0000 (19:25 +0200)]
* doc/misc/tramp.texi (Traces and Profiles): Fix indentation.

10 months agoSupport HTTPS in ido-file-internal
Stefan Kangas [Wed, 25 Oct 2023 13:13:08 +0000 (15:13 +0200)]
Support HTTPS in ido-file-internal

* lisp/ido.el (ido-file-internal): Support HTTPS.

10 months agoSupport HTTPS URLs in newsticker-add-url
Stefan Kangas [Wed, 25 Oct 2023 12:34:15 +0000 (14:34 +0200)]
Support HTTPS URLs in newsticker-add-url

* lisp/net/newst-backend.el (newsticker-add-url): Support HTTPS.

10 months agoImprove imenu support in lua-ts-mode
john muhl [Tue, 10 Oct 2023 19:39:30 +0000 (14:39 -0500)]
Improve imenu support in lua-ts-mode

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Include require
statements and remove anonymous entries.
(lua-ts--named-function-p, lua-ts--require-name-function)
(lua-ts--require-p): New functions.
* lisp/speedbar.el (speedbar-supported-extension-expressions):
Add Lua to the list of supported file types.  (Bug#66465)

10 months agoAdd toggle-window-dedicated command and mode-line-window-dedicated
Spencer Baugh [Sat, 19 Aug 2023 20:01:54 +0000 (16:01 -0400)]
Add toggle-window-dedicated command and mode-line-window-dedicated

It's sometimes useful to interactively make certain windows dedicated.
This allows a level of interactive control over which window
display-buffer uses.

Additionally, when a window is dedicated (even without this new
command) it can affect display-buffer behavior in ways which may be
unexpected for users.  Let's display the window dedicated status in
the mode-line to help indicate what's going on.

* doc/emacs/windows.texi (Displaying Buffers): Add information about
dedicated windows and toggle-window-dedicated.
* doc/emacs/screen.texi (Mode Line): Add information about the window
dedicated indicator.
* etc/NEWS: Announce mode-line-window-dedicated and
toggle-window-dedicated.
* lisp/window.el (toggle-window-dedicated): Add.  (bug#64619)
(window-prefix-map): Add C-x w d binding.
* lisp/bindings.el (mode-line-window-control): Add.
(mode-line-window-dedicated): Add.
(standard-mode-line-format): Insert mode-line-window-dedicated.

10 months ago; Fix spelling of my name in all ChangeLog files
Ulrich Müller [Wed, 25 Oct 2023 13:20:46 +0000 (15:20 +0200)]
; Fix spelling of my name in all ChangeLog files

10 months agoFix 'locate-dominating-file' when FILE is not a directory.
dalanicolai [Sat, 21 Oct 2023 15:39:17 +0000 (17:39 +0200)]
Fix 'locate-dominating-file' when FILE is not a directory.

* lisp/files.el (locate-dominating-file): Handle FILE that is not
a directory.  (Bug#66542)

10 months agoBetter handle errors when writing r-o files without backup
Jens Schmidt [Thu, 19 Oct 2023 21:00:32 +0000 (23:00 +0200)]
Better handle errors when writing r-o files without backup

* lisp/files.el (basic-save-buffer-2): Restore file permissions when
writing read-only files without backup fails.  (Bug#66546)

10 months agoAdd HTTPS to mh-access-types
Stefan Kangas [Wed, 25 Oct 2023 12:23:59 +0000 (14:23 +0200)]
Add HTTPS to mh-access-types

* lisp/mh-e/mh-mime.el (mh-access-types): Add HTTPS.

10 months agoRespect browse-url-default-scheme on Haiku
Stefan Kangas [Wed, 25 Oct 2023 10:49:19 +0000 (12:49 +0200)]
Respect browse-url-default-scheme on Haiku

* lisp/net/browse-url.el (browse-url-default-haiku-browser): Respect
'browse-url-default-scheme', which currently defaults to "http".

10 months agoPrefer HTTPS in `M-x webjump´
Stefan Kangas [Wed, 25 Oct 2023 10:27:31 +0000 (12:27 +0200)]
Prefer HTTPS in `M-x webjump´

* lisp/net/webjump.el (webjump-url-fix): Prefer HTTPS to HTTP.
(webjump-sites): Document the above change.
(webjump-sample-sites): Change some links to HTTP only.

10 months agoSilence makeinfo 7.1 warnings in Tramp manual
Stefan Kangas [Wed, 25 Oct 2023 07:37:36 +0000 (09:37 +0200)]
Silence makeinfo 7.1 warnings in Tramp manual

* doc/misc/tramp.texi: Fix makinfo warning "@indent is useless inside
of a paragraph".

10 months agoReduce code duplication in webjump
Stefan Kangas [Wed, 25 Oct 2023 07:25:39 +0000 (09:25 +0200)]
Reduce code duplication in webjump

* lisp/net/webjump.el (webjump): Simplify.

10 months agoLLDB support: cope with inserted text being write-protected
Mattias Engdegård [Wed, 25 Oct 2023 10:14:57 +0000 (12:14 +0200)]
LLDB support: cope with inserted text being write-protected

* lisp/progmodes/gud.el (gud-lldb-marker-filter):
Force deletion of the part of the buffer being moved back into
filtering again (bug#66738).

10 months agoDocumentation copy-edits
Po Lu [Wed, 25 Oct 2023 02:28:54 +0000 (10:28 +0800)]
Documentation copy-edits

* doc/emacs/input.texi (Touchscreens):

* doc/lispref/frames.texi (Other Selections): Insubstantial
copy-edits and improvements to word choice.

10 months agoCorrect computation of intermediate axis coordinates
Po Lu [Wed, 25 Oct 2023 02:19:36 +0000 (10:19 +0800)]
Correct computation of intermediate axis coordinates

* src/sfnt.c (sfnt_compute_tuple_scale, sfnt_vary_simple_glyph)
(sfnt_vary_compound_glyph): Correct typos involving
intermediate_end (or something of the like) being set to
intermediate_start.

10 months agoPrefer HTTPS to HTTP in ffap
Stefan Kangas [Tue, 24 Oct 2023 20:40:12 +0000 (22:40 +0200)]
Prefer HTTPS to HTTP in ffap

* lisp/ffap.el (ffap-fixup-machine): Prefer HTTPS to HTTP for things
looking like URIs (for example www.example.org).

10 months agoAdd a new Eshell special reference type for markers
Jim Porter [Tue, 10 Oct 2023 03:25:28 +0000 (20:25 -0700)]
Add a new Eshell special reference type for markers

* lisp/eshell/esh-arg.el (eshell-get-marker, eshell-insert-marker)
(eshell-complete-marker-ref): New functions...
(eshell-special-ref-alist): ... Add them to the new "marker" entry.

* test/lisp/eshell/esh-arg-tests.el
(esh-arg-test/special-reference/marker)
(esh-arg-test/special-reference/nested)
(esh-arg-test/special-reference/lisp-form):
* test/lisp/eshell/em-cmpl-tests.el
(em-cmpl-test/special-ref-completion/type)
(em-cmpl-test/special-ref-completion/marker): New tests.

* doc/misc/eshell.texi (Arguments): Document the new special ref type.

* etc/NEWS: Announce this change (bug#66458).

10 months agoAdd 'eshell-special-ref-alist' to allow extending Eshell special refs
Jim Porter [Wed, 23 Aug 2023 01:43:51 +0000 (18:43 -0700)]
Add 'eshell-special-ref-alist' to allow extending Eshell special refs

* lisp/eshell/esh-cmd.el (eshell--region-p, eshell-with-temp-command):
Move to...
* lisp/eshell/esh-util.el (eshell--region-p)
(eshell-with-temp-command): ... here.

* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Fix edge
case when 'end' is at beginning of (possibly-narrowed) buffer.

* lisp/eshell/esh-arg.el (eshell-special-ref-alist) New variable...
(eshell-special-ref-default): ... New option...
(eshell--special-ref-function): ... New function...
(eshell-parse-special-reference): ... use them.
(eshell-insert-special-reference): New function.
(eshell-complete-special-reference): Reimplement to use a nested call
to Pcomplete.
(eshell-complete-buffer-ref): New function.

* lisp/eshell/esh-proc.el (eshell-proc-initialize): Add "process"
special ref type here.
(eshell-complete-process-ref): New function.

* doc/misc/eshell.texi (Bugs and ideas): Remove now-implemented idea.

10 months agoSupport arbitrary Eshell arguments inside special references
Jim Porter [Tue, 22 Aug 2023 20:13:45 +0000 (13:13 -0700)]
Support arbitrary Eshell arguments inside special references

* lisp/eshell/esh-arg.el (eshell-current-argument-plain): New variable.
(eshell-parse-special-reference): Use 'eshell-parse-arguments'.
(eshell-get-buffer): New function.
(eshell-insert-buffer-name): Properly quote the buffer name.

* lisp/eshell/esh-proc.el (eshell-read-process-name): Move to "Special
references" section.
(eshell-insert-process): Properly quote the process name.

* lisp/eshell/em-extpipe.el (eshell-parse-external-pipeline):
* lisp/eshell/esh-io.el (eshell-parse-redirection): Don't do anything
when 'eshell-argument-plain' is non-nil.

* test/lisp/eshell/esh-arg-tests.el
(esh-arg-test/special-reference/quoted)
(esh-arg-test/special-reference/var-expansion): New tests.
(esh-arg-test/special-reference/special): Rename to...
(esh-arg-test/special-reference/special-characters): ... this.

* test/lisp/eshell/em-extpipe-tests.el (em-extpipe-tests--deftest):
Properly quote the buffer name.
(em-extpipe-test-4, em-extpipe-test-7): Use 'eshell-get-buffer'.

10 months agoMake eln files re-dumpable (bug#45103)
Andrea Corallo [Tue, 24 Oct 2023 15:09:38 +0000 (17:09 +0200)]
Make eln files re-dumpable (bug#45103)

* lisp/loadup.el (load--bin-dest-dir, load--eln-dest-dir): New
variable.
(load--fixup-all-elns): New function.
* src/pdumper.c (Fdump_emacs_portable): Update to call
'load--fixup-all-elns'.
* src/print.c (print_vectorlike): Improve CU printing.

10 months ago; cperl-mode.el: Remove functions using mode-compile.el
Harald Jörg [Tue, 24 Oct 2023 15:54:39 +0000 (17:54 +0200)]
; cperl-mode.el: Remove functions using mode-compile.el

mode-compile.el is no longer available from any maintained repository,
its archived version does not work since Emacs 27.  The menu options
tested for availability of mode-compile and therefore were disabled,
the function was not documented.

* lisp/progmodes/cperl-mode.el (cperl-tips): Remove reference to
mode-compile.el.
(cperl-menu): Remove defunct entries requiring mode-compile.
(cperl-check-syntax): Remove function.
(cperl-extra-perl-args): Remove user option only used by cperl-check-syntax.

10 months ago; Add missing documentation tags to etc/NEWS
Stefan Kangas [Tue, 24 Oct 2023 15:48:44 +0000 (17:48 +0200)]
; Add missing documentation tags to etc/NEWS

10 months agoMake NSM warn if DH key exchange has less than 2048 bit primes
Stefan Kangas [Tue, 24 Oct 2023 15:28:51 +0000 (17:28 +0200)]
Make NSM warn if DH key exchange has less than 2048 bit primes

The previous default was to warn when servers supported only 1024 bit
primes in Diffie-Hellman key exchanges.  This highly conservative
number was based on the observation that, in November 2018, no less
than 12.7% of servers still only supported 1024 bit primes (less than
0.1% supported only 768 and 512 bits).

Five years later, in October 2023, only 3.7 % of servers remain with
only 1024 bit support.  SSL Labs summarizes: "At this time, 2048 bits
is the minimum expected strength."  Therefore, it is reasonable to
start warning users about this in Emacs 30.1, at which time even fewer
servers with such poor capabilities will remain.

Note that key exchanges based on 1024 bit prime number were considered
broken for security purposes already in 2015 (see Logjam below).

For more information:
https://www.ssllabs.com/ssl-pulse/
https://en.wikipedia.org/wiki/Logjam_(computer_security)

* lisp/net/nsm.el (nsm-protocol-check--dhe-prime-kx): Bump expected
minimum number of prime bits to 2048.

10 months agoWarn about 3DES when network-security-level is medium
Stefan Kangas [Tue, 24 Oct 2023 14:20:42 +0000 (16:20 +0200)]
Warn about 3DES when network-security-level is medium

* lisp/net/nsm.el (network-security-protocol-checks): Bump
deprecated and insecure '3des-cipher' to 'medium'.
* doc/emacs/misc.texi (Network Security): Document the above change.
Ref: https://nvd.nist.gov/vuln/detail/CVE-2016-2183

10 months ago; Fix typo
Stefan Kangas [Tue, 24 Oct 2023 14:09:30 +0000 (16:09 +0200)]
; Fix typo

10 months agoIntroduce an option which controls touch screen hscroll
Po Lu [Tue, 24 Oct 2023 13:12:32 +0000 (21:12 +0800)]
Introduce an option which controls touch screen hscroll

* doc/emacs/input.texi (Touchscreens): Document this new
function and revise this node for clarity and pithiness.

* lisp/touch-screen.el (touch-screen): New custom group.
(touch-screen-display-keyboard, touch-screen-delay)
(touch-screen-precision-scroll, touch-screen-word-select)
(touch-screen-extend-selection, touch-screen-preview-select):
Move such options to that group.
(touch-screen-enable-hscroll): New user option.
(touch-screen-handle-scroll): If it is disabled, maintain the
hscroll accumulators but refrain from scrolling the window.

10 months ago* Makefile.in (sanity-check): Add the -Q option. (Bug#66721)
Ulrich Müller [Tue, 24 Oct 2023 05:53:17 +0000 (07:53 +0200)]
* Makefile.in (sanity-check): Add the -Q option.  (Bug#66721)

10 months ago; Minor copyedits in the drag-and-drop docs
Stefan Kangas [Tue, 24 Oct 2023 10:15:14 +0000 (12:15 +0200)]
; Minor copyedits in the drag-and-drop docs

* doc/lispref/frames.texi (Drag and Drop): Copyedits, mostly to use
simpler and more direct language.

10 months agoBetter LLDB frame information (bug#66604)
Mattias Engdegård [Tue, 24 Oct 2023 09:48:43 +0000 (11:48 +0200)]
Better LLDB frame information (bug#66604)

Instead of modifying `frame-format` to be entirely machine-readable,
keep the original human-readable format and append a second,
machine-readable line that we remove after parsing.

* lisp/progmodes/gud.el
(gud-lldb-marker-filter): Parse the new line format and filter it out.
* lisp/progmodes/gud.el
(gud-lldb-def-python-completion-function): Rename to...
(gud--lldb-python-init-string): ...this and add modification
of `frame-format`, which seems easiest done from Python.
(gud-lldb-frame-format): Remove.
(gud-lldb-initialize): Update, remove no longer needed parts.

10 months agoCorrect documentation of selection-coding-system
Po Lu [Tue, 24 Oct 2023 07:32:25 +0000 (07:32 +0000)]
Correct documentation of selection-coding-system

* doc/lispref/frames.texi (Window System Selections): Don't
assert that selection-coding-system functions everywhere or that
its default value is always utf-16le-dos.
(Drag and Drop): Fix a typo.

10 months ago* doc/lispref/frames.texi (Drag and Drop): Fix typo.
Po Lu [Tue, 24 Oct 2023 06:27:48 +0000 (06:27 +0000)]
* doc/lispref/frames.texi (Drag and Drop): Fix typo.

10 months agoRewrite all sections of the drag-and-drop documentation
Po Lu [Tue, 24 Oct 2023 05:37:24 +0000 (05:37 +0000)]
Rewrite all sections of the drag-and-drop documentation

* doc/lispref/frames.texi (Other Selections): Correct
punctuation in one paragraph.
(Drag and Drop): Rewrite last two sections for clarity.

10 months agoRewrite first two sections of the drag-and-drop documentation
Po Lu [Tue, 24 Oct 2023 03:04:51 +0000 (03:04 +0000)]
Rewrite first two sections of the drag-and-drop documentation

* doc/lispref/frames.texi (Accessing Selections): Refine
wording.
(Drag and Drop): Rewrite for clarity and enter into detail upon
various function arguments.

10 months agoPrefer HTTPS to HTTP in thing-at-point
Stefan Kangas [Mon, 23 Oct 2023 23:01:07 +0000 (01:01 +0200)]
Prefer HTTPS to HTTP in thing-at-point

* lisp/thingatpt.el (thing-at-point-url-at-point): Prefer HTTPS to
HTTP.

10 months agoRemove gmane.org support from nnweb
Stefan Kangas [Mon, 23 Oct 2023 22:21:20 +0000 (00:21 +0200)]
Remove gmane.org support from nnweb

* lisp/gnus/nnweb.el (nnweb-type, nnweb-type-definition): Remove gmane.
(nnweb-gmane-create-mapping, nnweb-gmane-wash-article)
(nnweb-gmane-search, nnweb-gmane-identity): Make obsolete.
(nnweb-definition, nnweb-init): Raise user-error when 'nnweb-type' is
'gmane'.
* doc/misc/gnus.texi (Registry Article Refer Method): Update
example to not use gmane.org.
Ref: https://gmane.io/

10 months ago; Fix broken link
Stefan Kangas [Mon, 23 Oct 2023 22:07:41 +0000 (00:07 +0200)]
; Fix broken link

10 months agoPrefer HTTPS to HTTP for Google Groups
Stefan Kangas [Mon, 23 Oct 2023 21:59:29 +0000 (23:59 +0200)]
Prefer HTTPS to HTTP for Google Groups

* lisp/gnus/nnweb.el (nnweb-type-definition): Prefer HTTPS to HTTP
when accessing Google Groups.

10 months agoxref-backend-references: Avoid finding duplicates
Dmitry Gutov [Mon, 23 Oct 2023 20:51:08 +0000 (23:51 +0300)]
xref-backend-references: Avoid finding duplicates

* lisp/progmodes/xref.el (xref-backend-references):
Cull subdirectories of other elements (bug#66683).

10 months agoMore robust control sequence handling in LLDB output (bug#66604)
Mattias Engdegård [Mon, 23 Oct 2023 17:09:01 +0000 (19:09 +0200)]
More robust control sequence handling in LLDB output (bug#66604)

* lisp/progmodes/gud.el (gud-lldb-marker-filter):
Slightly more elaborate interpretation of CHA and ED sequences
in LLDB output, allowing edits to previously emitted characters
on the same line.

10 months ago; Fix my last commit
Stefan Kangas [Mon, 23 Oct 2023 13:08:38 +0000 (15:08 +0200)]
; Fix my last commit

* test/lisp/erc/erc-tests.el (erc-tests--update-modules): Bind
'text-quoting-style' to 'grave'.
(erc--update-modules/unknown): Simplify.
Suggested by Mattias Engdegård <mattias.engdegard@gmail.com>.

10 months agoModernise text about using dynamic variables
Mattias Engdegård [Sun, 22 Oct 2023 15:25:56 +0000 (17:25 +0200)]
Modernise text about using dynamic variables

* doc/lispref/variables.texi (Dynamic Binding Tips):
Give more useful advice.

10 months agoElaborate Elisp dialect selection in manual
Mattias Engdegård [Sun, 22 Oct 2023 14:51:48 +0000 (16:51 +0200)]
Elaborate Elisp dialect selection in manual

* doc/lispref/variables.texi (Using Lexical Binding): Rename to...
(Selecting Lisp Dialect): ...this.  All references updated.
Add concrete examples of -*- lines.
Move text about special variables from here...
(Dynamic Binding): ...to here.

10 months agoDescribe lexical binding before dynamic
Mattias Engdegård [Sat, 21 Oct 2023 15:39:25 +0000 (17:39 +0200)]
Describe lexical binding before dynamic

* doc/lispref/variables.texi (Variable Scoping)
(Lexical Binding, Dynamic Binding):
Alter the presentation order from the point of view that lexical
binding is the standard discipline (if not always the default) and
dynamic binding an alternative, which corresponds better to Elisp
today.  Modernise parts of the text.
* doc/lispref/elisp.texi (Top): Update menu.

10 months agoImproved `eval` documentation
Mattias Engdegård [Mon, 23 Oct 2023 09:12:33 +0000 (11:12 +0200)]
Improved `eval` documentation

Prompted by Michael Heerdegen.

* src/eval.c (Feval):
* doc/lispref/eval.texi (Eval):
Be more precise about the LEXICAL argument.

10 months agoFix failing ERC test
Stefan Kangas [Mon, 23 Oct 2023 12:36:46 +0000 (14:36 +0200)]
Fix failing ERC test

* test/lisp/erc/erc-tests.el (erc--update-modules/unknown): Fix
test failing due to grave/curve quote.

10 months agoRewrite Yank Media node in the Emacs Lisp manual
Po Lu [Mon, 23 Oct 2023 11:11:30 +0000 (11:11 +0000)]
Rewrite Yank Media node in the Emacs Lisp manual

* doc/lispref/frames.texi (Other Selections): Introduce a
reference to Accessing Selections, then rewrite for clarity and
to stop mentioning MIME types by name, for selection data types
are not confined to those.

10 months ago; * test/lisp/align-tests.el: Pacify warning.
Basil L. Contovounesios [Mon, 23 Oct 2023 10:59:13 +0000 (12:59 +0200)]
; * test/lisp/align-tests.el: Pacify warning.

10 months agoVarious improvements to lua-ts-mode (Bug#66159)
john muhl [Thu, 5 Oct 2023 01:46:15 +0000 (20:46 -0500)]
Various improvements to lua-ts-mode (Bug#66159)

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Improve movement.
(lua-ts--simple-indent-rules): Improve indentation rules.
(lua-ts-mode-map): Add key bindings and menus.
(lua-ts-mode-hook): Make hook available in Customize.
(lua-ts-inferior-history, lua-ts-inferior--write-history): Add option
to read/write an input history file.
(lua-ts-inferior-lua, lua-ts-send-buffer, lua-ts-send-file)
(lua-ts-send-region, lua-ts-inferior-prompt)
(lua-ts-inferior-prompt-continue): Support for sending buffer,
file or region to the inferior process.
(lua-ts-show-process-buffer, lua-ts-hide-process-buffer)
(lua-ts-kill-process): New functions.
(lua-ts-inferior-prompt-regexp): Remove option.
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
* test/lisp/progmodes/lua-ts-mode-resources/movement.erts: Add
tests.

10 months ago; * doc/lispref/frames.texi (X Selections): Fix typo.
Po Lu [Mon, 23 Oct 2023 08:03:49 +0000 (08:03 +0000)]
; * doc/lispref/frames.texi (X Selections): Fix typo.

10 months agoCorrectly register Num Lock keys under Haiku
Po Lu [Mon, 23 Oct 2023 05:30:14 +0000 (05:30 +0000)]
Correctly register Num Lock keys under Haiku

* src/haiku_support.cc (DispatchMessage): If B_NUM_LOCK is set,
invert B_SHIFT_KEY; should it be subsequently set, omit mapping
from raw_char.

10 months agoFix LLDB prompt in Gud when attached
Gerd Möllmann [Mon, 23 Oct 2023 05:27:04 +0000 (07:27 +0200)]
Fix LLDB prompt in Gud when attached

* lisp/progmodes/gud.el (gud-lldb-marker-filter): Fix the prompt by
replacing multiple spaces with one.

10 months agoFurther improve documentation concerning selections
Po Lu [Mon, 23 Oct 2023 02:32:09 +0000 (02:32 +0000)]
Further improve documentation concerning selections

* doc/lispref/frames.texi (Window System Selections): Replace
incomplete attempts to address selection data types in this node
with references to Accessing Selections.
(Accessing Selections, X Selections): Revise for clarity and
pithiness.

10 months agoAdd completion for 'doas' to pcomplete
Antero Mejr [Sun, 15 Oct 2023 00:32:57 +0000 (00:32 +0000)]
Add completion for 'doas' to pcomplete

* lisp/pcmpl-unix.el (pcomplete/doas): New function.
* etc/NEWS: Announce.  (Bug#66551)

Co-authored-by: Visuwesh <visuweshm@gmail.com>
10 months agoAllow specifying the dir locals file to edit (Bug#66663)
Mauro Aranda [Sat, 21 Oct 2023 14:02:36 +0000 (11:02 -0300)]
Allow specifying the dir locals file to edit (Bug#66663)

* lisp/files-x.el (modify-dir-local-variable): Take a 5th optional
argument, the filename of the dir locals file to modify.
(read-dir-locals-file): New function.
(add-dir-local-variable, delete-dir-local-variable)
(copy-file-locals-to-dir-locals): Optionally read the filename to
modify, and pass it to modify-dir-local-variable.
* etc/NEWS: Announce the change.
* doc/emacs/custom.texi (Directory Variables): Document the new
functionality.

10 months ago* lisp/tab-bar.el: Fix the close button with auto-width (bug#66678).
Petteri Hintsanen [Sun, 22 Oct 2023 17:40:35 +0000 (20:40 +0300)]
* lisp/tab-bar.el: Fix the close button with auto-width (bug#66678).

(tab-bar-auto-width): Take into account the length of tab-bar-close-button
more than one character: " x".

10 months agoFurther improve selection-related documentation
Po Lu [Sun, 22 Oct 2023 11:43:27 +0000 (19:43 +0800)]
Further improve selection-related documentation

* doc/lispref/frames.texi (Other Selections): Expand
documentation regarding Haiku selections, and some
non-substantive copy edits elsewhere.  Introduce more indexing.

10 months agoRevise documentation concerning selections outside X
Po Lu [Sun, 22 Oct 2023 07:54:50 +0000 (07:54 +0000)]
Revise documentation concerning selections outside X

* doc/lispref/frames.texi (Accessing Selections, X Selections):
Correct markup, averting the recognition of X followed by a
sentence stop as an acronym.
(Other Selections): Relate the nature of the MS-Windows
selection emulation, how it functions, and its deficiencies.
Clarify paragraphs concerning PGTK and Nextstep.

* doc/misc/efaq.texi (Emacs in a Linux console):

* doc/misc/use-package.texi (Conditional loading): Correct
markup, averting the recognition of X followed by a sentence
stop as an acronym.

10 months ago; * src/keyboard.c (save_line_number_display_width): Fix last change.
Eli Zaretskii [Sun, 22 Oct 2023 05:20:38 +0000 (08:20 +0300)]
; * src/keyboard.c (save_line_number_display_width): Fix last change.

10 months agoEnumerate default UVS glyphs
Po Lu [Sun, 22 Oct 2023 01:06:28 +0000 (09:06 +0800)]
Enumerate default UVS glyphs

* src/sfnt.c (sfnt_compare_unicode_value_range)
(sfnt_is_character_default): New functions.
(sfnt_test_uvs): Print and verify the default UVS table.

* src/sfnt.h: Update prototypes.

* src/sfntfont.c (sfntfont_get_variation_glyphs): Index the cmap
with the default glyph, and insert it within VARIATIONS if
character is present within a selector record's default UVS
table.

10 months ago; * lisp/progmodes/js.el (js--treesit-sexp-nodes): Fix docstring.
Yuan Fu [Sat, 21 Oct 2023 18:08:58 +0000 (11:08 -0700)]
; * lisp/progmodes/js.el (js--treesit-sexp-nodes): Fix docstring.

10 months agoDocumentation for treesit-font-lock-rules change
Yuan Fu [Sat, 21 Oct 2023 18:05:47 +0000 (11:05 -0700)]
Documentation for treesit-font-lock-rules change

* doc/lispref/modes.texi (Parser-based Font Lock): Update manual.
* lisp/treesit.el (treesit-font-lock-rules): Update docstring.

10 months ago; Fix a compilation warning
Gerd Möllmann [Sat, 21 Oct 2023 17:55:25 +0000 (19:55 +0200)]
; Fix a compilation warning

10 months ago* lisp/cedet/semantic/imenu.el: Don't load `advice`
Stefan Monnier [Sat, 21 Oct 2023 17:48:30 +0000 (13:48 -0400)]
* lisp/cedet/semantic/imenu.el: Don't load `advice`

We don't use it any more here.  Also move the `;;; Code:` where it belongs.

10 months ago* lisp/treesit.el: Don't require `cl-seq` directly
Stefan Monnier [Sat, 21 Oct 2023 17:40:12 +0000 (13:40 -0400)]
* lisp/treesit.el: Don't require `cl-seq` directly

10 months agoso-long.el: Don't load `advice` during compilation
Stefan Monnier [Sat, 21 Oct 2023 17:05:58 +0000 (13:05 -0400)]
so-long.el: Don't load `advice` during compilation

* lisp/so-long.el: Prefer #' to quote function names.
(global-so-long-mode): Remove redundant `:group` arg.
(<toplevel>): Don't load needlessly the obsolete `advice` library
during compilation.

10 months ago; * etc/NEWS: Fix wording of a recently-added entry.
Eli Zaretskii [Sat, 21 Oct 2023 15:18:11 +0000 (18:18 +0300)]
; * etc/NEWS: Fix wording of a recently-added entry.

10 months agoMove lexical-binding warning from checkdoc to byte-compiler
Mattias Engdegård [Sun, 15 Oct 2023 20:01:06 +0000 (22:01 +0200)]
Move lexical-binding warning from checkdoc to byte-compiler

This warning is much more appropriate for the compiler, since lexical
binding affects what it can reason and warn about, than for checkdoc
as the warning has no bearing to documentation at all.
The move also improves the reach of the warning.

* etc/NEWS: Update.
* lisp/emacs-lisp/checkdoc.el (checkdoc-lexical-binding-flag)
(checkdoc-file-comments-engine): Move warning from here....
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): ...to here.
* test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el:
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals)
(bytecomp-tests-function-put, bytecomp-tests--not-writable-directory)
(bytecomp-tests--target-file-no-directory):
Update tests.
(bytecomp-tests--log-from-compilation)
(bytecomp-tests--lexical-binding-cookie): New test.

10 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 21 Oct 2023 12:06:09 +0000 (08:06 -0400)]
Merge from origin/emacs-29

b99d12c30c3 ; Fix argument name for function `copy-file'

10 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 21 Oct 2023 12:06:08 +0000 (08:06 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

62920dcb0de Update Tramp version (don't merge with master)
d963bc6c6b6 ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.90.
0cbc91f29ae Bump Emacs version

10 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 21 Oct 2023 12:06:07 +0000 (08:06 -0400)]
Merge from origin/emacs-29

ab9d6482e3b ; Update ChangeLog.4 and etc/AUTHORS.
d9e1605122b Correctly register focus events concomitant with alpha ch...
194e219825c * doc/man/emacsclient.1: Add missing options.

10 months ago; * src/keyboard.c (line_number_mode_hscroll): Fix last change.
Eli Zaretskii [Sat, 21 Oct 2023 12:03:22 +0000 (15:03 +0300)]
; * src/keyboard.c (line_number_mode_hscroll): Fix last change.

10 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 21 Oct 2023 11:34:28 +0000 (14:34 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

10 months agoMove and edit text about lexical environment representation
Mattias Engdegård [Fri, 20 Oct 2023 14:58:18 +0000 (16:58 +0200)]
Move and edit text about lexical environment representation

It's only relevant for the second argument to `eval`; the actual
internal representation is an implementation matter and usually
different from what was described here.

* doc/lispref/variables.texi (Lexical Binding): Move the relevant
part of the description of the internal representation of
lexical environments from here...
* doc/lispref/eval.texi (Eval): ...to here, where it belongs.

10 months ago; * src/sfnt.c: Refine doc of variation selectors and GX fonts.
Po Lu [Sat, 21 Oct 2023 10:55:49 +0000 (18:55 +0800)]
; * src/sfnt.c: Refine doc of variation selectors and GX fonts.

10 months agoFix mouse clicks on links under 'global-display-line-numbers-mode'
Eli Zaretskii [Sat, 21 Oct 2023 10:53:21 +0000 (13:53 +0300)]
Fix mouse clicks on links under 'global-display-line-numbers-mode'

* src/indent.c (line_number_display_width): No longer static.
* src/lisp.h (line_number_display_width): Add prototype.
* src/keyboard.c (save_line_number_display_width)
(line_number_mode_hscroll): New functions.
(make_lispy_event): Call 'save_line_number_display_width' and
'line_number_mode_hscroll' to avoid interpreting up-event as drag
event when redisplay scrolls the text horizontally between the
down- and up-event to account for the changed width of the
line-number display.  (Bug#66655)

10 months agoRecognize backslash in `dns-mode` quoted values
Lassi Kortela [Sat, 21 Oct 2023 10:10:50 +0000 (13:10 +0300)]
Recognize backslash in `dns-mode` quoted values

* lisp/textmodes/dns-mode.el (dns-mode-syntax-table): Recognize
backslash as an escape character.  (Bug#66660)

10 months agoDon't use obsolete `sleep-for` argument
Stefan Kangas [Sat, 21 Oct 2023 10:26:00 +0000 (12:26 +0200)]
Don't use obsolete `sleep-for` argument

* lisp/net/sieve-manage.el (sieve-manage-wait-for-answer):
* lisp/org/ob-lua.el (org-babel-lua-evaluate-session):
* lisp/org/ob-python.el (org-babel-python-initiate-session-by-key):
(org-babel-python-evaluate-session): Don't use obsolete 'sleep-for'
argument.

10 months agoSupport lua-ts-mode in align.el
john muhl [Tue, 10 Oct 2023 14:18:10 +0000 (09:18 -0500)]
Support lua-ts-mode in align.el

* lisp/align.el (align-rules-list): Add lua-ts-mode.  (Bug#66466)
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Indent region
before aligning.
* test/lisp/align-tests.el (align-lua):
* test/lisp/align-resources/lua-ts-mode.erts: Add tests.

10 months agoFix eglot-report-progress :type
Mauro Aranda [Sun, 15 Oct 2023 13:43:50 +0000 (10:43 -0300)]
Fix eglot-report-progress :type

* lisp/progmodes/eglot.el (eglot-report-progress): Change :type to
choice, to allow 'messages' as a value.  (Bug#66556)

11 months ago; * lisp/progmodes/gud.el (gud-gud-lldb-command-name): Fix a typo.
Ulrich Müller [Sat, 21 Oct 2023 09:17:03 +0000 (11:17 +0200)]
; * lisp/progmodes/gud.el (gud-gud-lldb-command-name): Fix a typo.

11 months agoFacilitate opening multiple files through DND under Android
Po Lu [Sat, 21 Oct 2023 06:24:25 +0000 (14:24 +0800)]
Facilitate opening multiple files through DND under Android

* java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Agglomerate
each provided content URI into a text/uri list.

11 months agoNew keyword :default-language in treesit-font-lock-rules function.
Huan Nguyen [Sat, 7 Oct 2023 10:03:55 +0000 (12:03 +0200)]
New keyword :default-language in treesit-font-lock-rules function.

* lisp/treesit.el (treesit-font-lock-rules): Keyword :default-language
LANGUAGE will be chosen for every :feature.  Using :language will
override the :default-language for the next :feature.

11 months ago(buffer-match-p): Replace `&optional` with `&rest` (bug#65797)
Stefan Monnier [Sat, 21 Oct 2023 00:42:04 +0000 (20:42 -0400)]
(buffer-match-p): Replace `&optional` with `&rest` (bug#65797)

* lisp/subr.el (buffer-match-p--past-warnings): New var.
(buffer-match-p): Use it.  Replace `&optional arg` with `&rest args`.
(match-buffers): Replace `&optional arg` with `&rest args`.

* lisp/window.el (display-buffer-alist): Fix out of date docstring.

* doc/lispref/buffers.texi (Buffer List): Document new calling convention.

11 months ago(sleep-for): Make the `millisec` argument obsolete
Stefan Monnier [Fri, 20 Oct 2023 22:59:51 +0000 (18:59 -0400)]
(sleep-for): Make the `millisec` argument obsolete

* lisp/subr.el (sleep-for): Set new advertized calling convention.
* src/dispnew.c (Fsleep_for): Adjust docstring.
* doc/lispref/commands.texi (Waiting): Adjust doc.

11 months agoPrefer erc-target to erc-default-target
F. Jason Park [Sun, 15 Oct 2023 20:20:07 +0000 (13:20 -0700)]
Prefer erc-target to erc-default-target

* etc/ERC-NEWS: Mention `erc-target' and new `erc-server-buffer-p'
alias.
* lisp/erc/erc-backend.el (erc-process-sentinel): Set `joined-p' slot
of `erc--target-channel' object to nil when applicable.
(erc-server-JOIN): Mark `erc--target-channel' object as being joined.
* lisp/erc/erc-common.el (erc--target-channel): Add `joined-p' slot.
Use hyphenated name so accessor function's name ends in "joined-p"
rather than "joinedp".  Note that this will always be nil when
disconnected.
(erc--target): Relocate here from erc.el.
(erc-target): New public API function to return the current buffer's
target as a string, even in channels that have been unjoined.
* lisp/erc/erc-networks.el (erc--default-target): Remove forward
declaration.
(erc-networks--id-reload): Use `erc-target' instead of
`erc--default-target' as predicate for visiting target buffers.
* lisp/erc/erc.el (erc-remove-channel-users): Set channel "joinedness"
to nil in `erc--target-channel' object, when applicable.
(erc--target): Move to erc-common.
(erc--default-target): Remove, replaced by new function `erc-target'.
(erc-query-buffer-p): Use `erc-target'.
(erc-after-connect): Revise doc string.
(erc-connection-established): Revise doc string and move
`erc-unhide-query-prompt' business before hook.
(erc--current-buffer-joined-p): Remove comment and use new `joined-p'
slot of `erc--target-channel' for determining "joinedness" of channel.
(erc-kill-buffer-function): Use `erc--target-channel-p' for detecting
whether the buffer is a channel buffer.
* test/lisp/erc/erc-networks-tests.el
(erc-networks--shrink-ids-and-buffer-names--hook-collapse-target):
Remove comment.
* test/lisp/erc/erc-scenarios-base-reuse-buffers.el
(erc-scenarios-common--base-reuse-buffers-channel-buffers):
Clarify assertion.
* test/lisp/erc/erc-tests.el (erc-with-all-buffers-of-server):
Replace `erc-default-recipients' with `erc--target'.
(erc--target-from-string): Update expected shape of
`erc--target-channel' struct with new `joined-p' slot.
(erc-message): Set `erc--target' in buffer "#chan".  (Bug#66578)

11 months agoRename erc-server-buffer-p
F. Jason Park [Sun, 15 Oct 2023 14:22:31 +0000 (07:22 -0700)]
Rename erc-server-buffer-p

* lisp/erc/erc-log.el (erc-log-all-but-server-buffers): Use
`erc--server-buffer-p' instead of `erc-server-buffer-p'.  This
replacement is presumed to be relatively "safe" because this function
is unused in the code base and only appears in the doc string for the
option `erc-enable-logging'.
* lisp/erc/erc-match.el (erc-match-message): Leave comment proposing
that `erc--server-buffer-p' should be preferred to
`erc-server-buffer-p'.  Use preferred alias for `erc-server-buffer-p'.
* lisp/erc/erc-notify.el (erc-cmd-NOTIFY): Use preferred alias for
`erc-server-buffer-p', and leave FIXME comment.
* lisp/erc/erc-speedbar.el (erc-speedbar-buttons): Use
`erc--server-buffer-p' instead of `erc-server-buffer-p'.  The logic
here seems simple enough to justify a change, however the absence of
related bug reports is perhaps an argument against this.
* lisp/erc/erc-track.el (erc-track-modified-channels): Use preferred
alias for `erc-server-buffer-p' and leave comment noting possible bug.
* lisp/erc/erc.el (erc-once-with-server-event): Use
`erc--server-buffer-p' instead of `erc-server-buffer-p'.  This change
seems justified because the function sets local hooks that would
otherwise be ignored outside of a server buffer.
(erc-server-buffer-p, erc-server-or-unjoined-channel-buffer-p): Make
the former an obsolete alias for the latter.
(erc--server-buffer-p): New function to replace `erc-server-buffer-p'
internally in new code.  Unlike its predecessor, it returns nil in
parted and kicked channels.
(erc-open-server-buffer-p): Use `erc--server-buffer-p' instead of
`erc-server-buffer-p'.  Given the name and the doc string, breaking
the odd misuse of this function in parted buffers seems justified
because this is clearly a bug fix.  Also, all uses in-tree conform to
the intended behavior as documented.  And a cursory grep of all "erc-"
prefixed packages on MELPA reveals zero instances of this function.
Nor is it used in erbot.
(erc-get-buffer): Mention behavior in doc string regarding parted and
kicked-from channels.
(erc-cmd-GQUIT): Fix wrong-number-of-arguments bug in timer function.
(erc-default-target): Mention behavior regarding unjoined channels.
(erc-kill-query-buffers): Don't use `erc-server-buffer-p'.  This
replacement may break third-party code expecting to leave parted
channels behind, but it seems sane when considering only the lone
internal use in `erc-cmd-QUIT'.
; * test/lisp/erc/resources/join/network-id/foonet.eld: Timeouts.
(Bug#66578)

11 months agoRespect user markers in erc-insert-timestamp-left
F. Jason Park [Thu, 19 Oct 2023 06:20:07 +0000 (23:20 -0700)]
Respect user markers in erc-insert-timestamp-left

* lisp/erc/erc-stamp.el (erc-insert-timestamp-left): Convert to normal
function, a mere wrapper that defers to existing generic variants, in
order to dissuade users from adding their own methods, which could
complicate troubleshooting, etc.
(erc--insert-timestamp-left): Rename both methods using internal
double-hyphen convention.  In `erc-stamp--display-margin-mode'
implementation, don't displace third-party markers.
* test/lisp/erc/erc-scenarios-stamp.el: New file.  (Bug#60936)