]> git.eshelyaron.com Git - emacs.git/log
emacs.git
10 months ago(c-initialize-cc-mode): Be slightly more explicit
Stefan Monnier [Sat, 28 Oct 2023 01:17:38 +0000 (21:17 -0400)]
(c-initialize-cc-mode): Be slightly more explicit

* lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Don't depend on
the fact that `post-text-conversion-hook` is "local only".

10 months ago(provided-mode-derived-p): Fix alias case
Stefan Monnier [Sat, 28 Oct 2023 00:18:54 +0000 (20:18 -0400)]
(provided-mode-derived-p): Fix alias case

The new handling of aliases in `provided-mode-derived-p`
introduced in Emacs-28.1 caused a regression where
(provided-mode-derived-p MODE MODE) returns nil if MODE is an alias.
Rework the loop so we consider an alias as a kind of parent.

* lisp/subr.el (provided-mode-derived-p): Step over aliases separately.

* test/lisp/subr-tests.el (subr-tests--derived-mode-1)
(subr-tests--derived-mode-2): Move out of `provided-mode-derived-p`
and give them properly namespaced names.
(provided-mode-derived-p): Add more tests for aliases.

10 months agoTidy up ERC's internal text-property API
F. Jason Park [Sat, 2 Sep 2023 20:43:22 +0000 (13:43 -0700)]
Tidy up ERC's internal text-property API

* lisp/erc/erc-fill.el (erc-fill--spaced-commands): Remove unused
internal variable originally intended for ERC 5.6.
(erc-fill): Check for `erc-msg' being `msg', which carries the same
meaning as `erc-cmd' being `PRIVMSG' or `NOTICE', except that inserted
outgoing messages now no longer normally have an `erc-cmd' property.
(erc-fill-wrap-mode, erc-fill-wrap-disable): Kill
`erc-fill--wrap-last-msg'.
(erc-fill--wrap-max-lull): Convert from buffer-local to normal
variable.
(erc-fill--wrap-continued-message-p): Rework slightly to guard against
resetting the "last speaker" marker when the `erc-ephemeral' text
property is present.  This tells insert- and send-related hook members
to pretend the current message doesn't exist when performing stateful
operations.  That is, modules should expect the message being inserted
to possibly disappear or be replaced.  Also, look for `erc-msg' being
`msg' instead of `erc-cmd' being `PRIVMSG', and fix bug involving only
checking `erc-ctcp' in the current message.
* lisp/erc/erc-stamp.el (erc-add-timestamp): Don't insert timestamps
when the `erc-ephemeral' text property is present.
* lisp/erc/erc.el (erc--msg-props): Add doc string explaining the
purpose of this variable and the various text properties most commonly
present in its value.
(erc--msg-prop-overrides): Add doc string.
(erc-send-action): Don't set `erc-cmd' prop on outgoing CTCP ACTIONs.
(erc-display-message): Reverse overrides to prefer items toward the
front of the alist.
(erc-process-ctcp-query): Include existing overrides from environs.
(erc-send-current-line): Include existing overrides from environs.
(erc-display-msg): Fix doc string and reverse overrides.
* test/lisp/erc/erc-fill-tests.el (erc-fill-tests--insert-privmsg):
Remove stray comment.
(erc-fill-tests--save-p): Set value from environment variable.
(erc-fill-tests--compare): Limit writing snapshots to one test at a
time.
(erc-fill-wrap--merge-action): Fix expected output for non-action
messages that follow action messages.  These were previously merged
but escaped detection.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
(Bug#60936)

10 months agoUse marker for max pos in erc--traverse-inserted
F. Jason Park [Sat, 21 Oct 2023 20:53:46 +0000 (13:53 -0700)]
Use marker for max pos in erc--traverse-inserted

* lisp/erc/erc-stamp.el (erc-stamp--propertize-left-date-stamp): Run
`erc-stamp--insert-date-hook' separately here instead of via
`erc-insert-modify-hook'.
(erc-stamp--insert-date-stamp-as-phony-message): Don't include value
of `erc-stamp--insert-date-hook' in let-bound `erc-insert-modify-hook'
because its members can run twice if buffer-local.  Remove
`erc-send-modify-hook' because it only runs via `erc-display-msg'.
Shadow "pre" and "done" hooks because they don't expect to run in a
narrowed buffer.  Call getter for `erc-stamp--current-time'.
(erc-stamp--lr-date-on-pre-modify,
erc-insert-timestamp-left-and-right): Use function form of
`erc-stamp--current-time' for determining current time stamp.
* lisp/erc/erc.el (erc--get-inserted-msg-bounds): Fix off-by-one like
thinko.
(erc--traverse-inserted): Create temporary marker when END is a buffer
position so that insertions and deletions are accounted for in
the terminating condition.
(erc--delete-inserted-message): New function.
* test/lisp/erc/erc-tests.el (erc--delete-inserted-message): New test.
(erc--update-modules/unknown): Improve readability slightly.
* test/lisp/erc/resources/erc-d/erc-d-t.el (erc-d-t-make-expecter):
Indicate assertion flavor in error message.  (Bug#60936)

10 months agoIgnore date stamps completely in erc-track
F. Jason Park [Tue, 24 Oct 2023 04:59:25 +0000 (21:59 -0700)]
Ignore date stamps completely in erc-track

* etc/ERC-NEWS: Mention that date stamps no longer optionally affect
the mode line.  Also mention but discourage new variable
'erc-stamp-prepend-date-stamps-p'.
* lisp/erc/erc-stamp.el (erc-stamp-prepend-date-stamps-p): New
variable, an escape hatch to allow date stamps to once again be
prepended to messages.
(erc-insert-timestamp-left-and-right): Don't insert stamps as
independent messages when legacy support flag
`erc-stamp-prepend-date-stamps-p' is non-nil.
* lisp/erc/erc-track.el (erc-track--skipped-msgs): New internal
variable.
(erc-track-modified-channels): In previous versions, a date stamp
attached to a message for an IRC command in `erc-track-exclude-types'
would have no effect on the mode line.  That they were able to
otherwise was probably a bug.  Regardless, this distinction was lost
for the worse after date stamps became independent messages with
c68dc7786fc "Manage some text props for ERC insertion-hook members".
To sidestep this regression, the `track' module will ignore date
stamps completely from now on.  Thanks to Corwin Brust for spotting
this.
* test/lisp/erc/erc-scenarios-stamp.el
(erc-scenarios-stamp--left/display-margin-mode): Remove redundant
binding.
(erc-scenarios-stamp--legacy-date-stamps): New test.  (Bug#60936)

10 months ago; * lisp/erc/erc.el (erc-after-connect): Remove package-version.
F. Jason Park [Tue, 24 Oct 2023 02:33:32 +0000 (19:33 -0700)]
; * lisp/erc/erc.el (erc-after-connect): Remove package-version.

10 months agoBe slightly more aggressive with erc-scrolltobottom-all
F. Jason Park [Wed, 25 Oct 2023 01:18:50 +0000 (18:18 -0700)]
Be slightly more aggressive with erc-scrolltobottom-all

* lisp/erc/erc-goodies.el (erc--scrolltobottom-on-post-command):
Redo obsolete doc string.
(erc--scrolltobottom-at-prompt-minibuffer-active,
erc--scrolltobottom-on-win-conf-change): Rename former to latter to
better reflect actual role.  Remove conditional guard so it always
runs.
(erc--scrolltobottom-setup): Set `scroll-step' locally when a user
hasn't customized `scroll-conservatively'.  Update
`window-configuration-change-hook' member name.  (Bug#64855)

10 months ago; Another fix for profiler.c
Eli Zaretskii [Fri, 27 Oct 2023 17:47:01 +0000 (20:47 +0300)]
; Another fix for profiler.c

* src/profiler.c: Reshuffle functions and declarations to compile
also when PROFILER_CPU_SUPPORT is not defined.  (Bug#66774)

10 months agoFix compilation error in profiler.c
Eli Zaretskii [Fri, 27 Oct 2023 15:26:27 +0000 (18:26 +0300)]
Fix compilation error in profiler.c

* src/profiler.c (memory): Declare outside of the
PROFILER_CPU_SUPPORT conditional.  (Bug#66774)

10 months ago* lisp/net/tramp.el (tramp-read-id-output): Identifiers can contain "-".
Michael Albinus [Fri, 27 Oct 2023 13:18:36 +0000 (15:18 +0200)]
* lisp/net/tramp.el (tramp-read-id-output): Identifiers can contain "-".

10 months ago; Fix style of error messages in pdumper.c
Eli Zaretskii [Fri, 27 Oct 2023 12:37:34 +0000 (15:37 +0300)]
; Fix style of error messages in pdumper.c

* src/pdumper.c (dump_buffer, dump_do_dump_relocation)
(dump_native_comp_unit): Make the style of error messages more
consistent.

10 months ago* src/pdumper.c (dump_buffer): Print message when aborting (bug#66743)
Ihor Radchenko [Thu, 26 Oct 2023 11:52:32 +0000 (14:52 +0300)]
* src/pdumper.c (dump_buffer): Print message when aborting (bug#66743)

When the buffer contains overlays, it cannot be dumped.  Print a
clear message describing the reason, instead of just aborting.

10 months agoSubstitute eassert for assert throughout Android code
Po Lu [Fri, 27 Oct 2023 10:44:15 +0000 (18:44 +0800)]
Substitute eassert for assert throughout Android code

* src/android.c (android_init_emacs_service)
(android_init_emacs_pixmap, android_init_graphics_point)
(android_init_emacs_drawable, android_init_emacs_window)
(android_init_emacs_cursor, android_destroy_handle)
(android_create_window, android_init_android_rect_class)
(android_init_emacs_gc_class, android_begin_query):

* src/androidselect.c (android_init_emacs_clipboard)
(android_init_emacs_desktop_notification):

* src/androidterm.c (getExtractedText)
(android_get_surrounding_text_internal):

* src/androidvfs.c (android_vfs_init): Replace assert with
eassert.

10 months agoMention additional return values for framep et al
Po Lu [Fri, 27 Oct 2023 03:17:47 +0000 (11:17 +0800)]
Mention additional return values for framep et al

* doc/lispref/frames.texi (Frames, Multiple Terminals): Don't
omit mentions of Android or Haiku.

10 months agoCorrect order of arguments to dnd-handle-multiple-urls
Po Lu [Fri, 27 Oct 2023 00:25:43 +0000 (08:25 +0800)]
Correct order of arguments to dnd-handle-multiple-urls

* lisp/term/android-win.el (android-handle-dnd-event): Pass
new-uri-list before action.

10 months agoFix `browse-url-default-scheme` custom :type
Stefan Kangas [Thu, 26 Oct 2023 21:58:05 +0000 (23:58 +0200)]
Fix `browse-url-default-scheme` custom :type

* lisp/net/browse-url.el (browse-url-default-scheme): Fix custom
:type.

10 months ago; cperl-mode.el: Remove a duplicate defvar
Harald Jörg [Thu, 26 Oct 2023 19:55:31 +0000 (21:55 +0200)]
; cperl-mode.el: Remove a duplicate defvar

* lisp/progmodes/cperl-mode.el (imenu-max-items): Remove duplicate
defvar.

10 months agoRemove highlighting trailing whitespace from cperl-mode
Stefan Kangas [Thu, 26 Oct 2023 19:09:06 +0000 (21:09 +0200)]
Remove highlighting trailing whitespace from cperl-mode

* lisp/progmodes/cperl-mode.el (cperl-invalid-face): Make
obsolete in favor of 'show-trailing-whitespace'.
(cperl-init-faces): No longer highlight trailing whitespace
separately.
(cperl-praise, cperl-tips-faces): Update documentation for above
change.

10 months ago; Update item numbering in cperl-praise
Stefan Kangas [Thu, 26 Oct 2023 18:55:44 +0000 (20:55 +0200)]
; Update item numbering in cperl-praise

* lisp/progmodes/cperl-mode.el (cperl-praise): Remove retired item and
update numbering.

10 months agoRemove link to Perl info documentation
Stefan Kangas [Thu, 26 Oct 2023 18:53:09 +0000 (20:53 +0200)]
Remove link to Perl info documentation

* lisp/info-look.el: Remove link to Perl info documentation.  It is no
longer distributed with Perl, nor is it available from CPAN.

10 months ago* doc/misc/tramp.texi (Traces and Profiles): Fix indentation.
Michael Albinus [Thu, 26 Oct 2023 13:55:15 +0000 (15:55 +0200)]
* doc/misc/tramp.texi (Traces and Profiles): Fix indentation.

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.