1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00
Commit Graph

13119 Commits

Author SHA1 Message Date
Dmitry Gutov
5ab82229bd ; Improve a recent NEWS entry 2023-12-18 04:43:21 +02:00
Stefan Kangas
4fc2fcb37d ; Document sending extra HTTP headers in NEWS
* etc/NEWS: Note how to send email address in HTTP requests.
This change was requested in:
https://lists.gnu.org/r/emacs-devel/2023-12/msg00500.html
2023-12-17 19:00:08 +01:00
Stefan Kangas
7b46b24d39 ; Move NEWS item to "Incomatible Changes" section 2023-12-17 12:14:04 +01:00
Stefan Kangas
346e571230 Never send user email address in HTTP requests
It used to be possible to customize 'url-privacy-level' so that the
user's email address was sent along in HTTP requests.  Since
'url-privacy-level' is also a blocklist, rather than an allowlist,
this meant that a mere misconfiguration of Emacs risked exposing the
user's email address.  This is a serious privacy risk, and it is thus
better if we remove this dangerous feature altogether.

* lisp/url/url-http.el (url-http-create-request): Never send the
user email address.
* lisp/url/url-vars.el (url-personal-mail-address): Make obsolete.
* lisp/url/url-privacy.el (url-setup-privacy-info): Don't set
above obsolete variable.
* doc/misc/url.texi (Customization):
* lisp/url/url-vars.el (url-privacy-level): Update documentation
to reflect the above changes.
2023-12-17 10:00:22 +01:00
Eli Zaretskii
75cc159341 ; * etc/PROBLEMS: Update the "GnuPG hangs" entry. 2023-12-17 08:09:22 +02:00
Stefan Monnier
a1ac7d0720 Merge branch 'same-frame' 2023-12-16 13:13:23 -05:00
Stefan Monnier
3eb421bda3 (display-buffer): New pop-up-frames action alist entry
Allow overriding the `pop-up-frames` variable from `display-buffer-alist`
so as to provide a worthy replacement for the old `same-frame`
parameter of `special-display-*` (bug#67249).

* lisp/window.el (special-display-popup-frame): Declare obsolete;
that was apparently forgotten back when `special-display-*` variables
were declared obsolete.
Use the new `pop-up-frames` action alist entry instead of the variable.
(display-buffer): Document new alist entry.
(window--pop-up-frames): New function.
(display-buffer--maybe-pop-up-frame, display-buffer-in-previous-window)
(display-buffer-reuse-window, display-buffer-reuse-mode-window): Use it.

* doc/lispref/windows.texi (Choosing Window Options): Mention that
`pop-up-frames` is also an action alist entry.
(Buffer Display Action Alists): Add `pop-up-frames` entry.
2023-12-16 13:13:15 -05:00
Eli Zaretskii
a1d3862c62 Merge from origin/emacs-29
bf4ccb0be0 ; * lisp/term.el (term--xterm-paste): Fix last change.
0d9e2e448d ; * doc/lispref/functions.texi (Function Documentation): ...
791cc5065d Fix shaping of Sinhala text
efcbf0b5ab Add use cases of (fn) documentation facility.
c3331cb365 Fix pasting into terminal-mode on term.el
5be94e2bce Fix opening directory trees from Filesets menu
6b6e770a1f Eglot: Add ruff-lsp as an alternative Python server
ed8a8a5ba1 Fix symbol name in Multisession Variables examples
400ef15bdc js-ts-mode: Fix font-lock rules conflict
c165247c30 Add indentation rules for bracketless statements in js-ts...
7f1bd69cd1 Fix c-ts-mode bracketless indentation for BSD style (bug#...
e23068cb9a Add missing indent rules in c-ts-mode (bug#66152)
d2c4b926ac Fix treesit-default-defun-skipper (bug#66711)
9874561f39 Fix treesit-node-field-name and friends (bug#66674)
eace9e1122 python-ts-mode: Highlight default parameters
23c06c7c30 Update to Org 9.6.13
2023-12-16 09:17:51 -05:00
Visuwesh
c4541a3577 Offer to show diff against auto-save in recover-file
* lisp/files.el (recover-file): Show diff against the selected auto
save file.  (Bug#52242)

* doc/emacs/files.texi (Recover): Document the new feature.

* etc/NEWS: Announce the new feature.
2023-12-16 14:34:55 +02:00
Dmitry Gutov
5b80894d0a Support viewing VC change history across renames (Git, Hg)
* lisp/vc/vc.el (vc-print-log-setup-buttons):
When the log ends at a rename, add a button to jump to the
previous names.  Use the new backend action 'file-name-changes'.

* lisp/vc/vc-git.el (vc-git-print-log-follow): New option.
(vc-git-file-name-changes): Implementation (bug#55871, bug#39044).
(vc-git-print-log-follow): Update docstring.

* lisp/vc/log-view.el (log-view-find-revision)
(log-view-annotate-version): Pass the log's VC backend explicitly.

* lisp/vc/vc-hg.el (vc-hg-file-name-changes):
Add Hg implementation (bug#13004).

* etc/NEWS: Mention the changes.
2023-12-15 22:37:40 +02:00
Michael Albinus
67654fe965 New macro connection-local-p
* doc/lispref/variables.texi (Applying Connection Local Variables):
Add macro 'connection-local-p'.

* etc/NEWS: Add macro `connection-local-p'.

* lisp/files-x.el (connection-local-p): New macro.
(connection-local-value): Add debug declaration.

* lisp/net/tramp-compat.el (tramp-compat-connection-local-p): New macro.

* lisp/net/tramp-crypt.el (tramp-crypt-cleanup-connection):
Bind `tramp-crypt-enabled'.

* test/lisp/files-x-tests.el (files-x-test-connection-local-value):
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test35-remote-path): Adapt tests.
2023-12-12 17:39:51 +01:00
Kyle Meyer
23c06c7c30 Update to Org 9.6.13 2023-12-10 11:16:58 -05:00
Stefan Kangas
da8fd95cdb Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2023-12-06 20:17:45 UTC.
2023-12-10 14:44:41 +01:00
Stefan Kangas
06a12b0ccc ; Fix typos 2023-12-10 13:22:04 +01:00
Michael Albinus
1d5028ad04 dired-listing-switches handles connection-local values if exist
* doc/emacs/dired.texi (Dired Enter):
* doc/misc/tramp.texi (Frequently Asked Questions):
* etc/NEWS: 'dired-listing-switches' handles connection-local
values if exist.

* doc/lispref/variables.texi (Applying Connection Local Variables):
Fix decription of connection-local-default-application.

* lisp/dired.el (dired-listing-switches): Adapt docstring.
(dired-internal-noselect, dired-mode):
* lisp/dired-x.el (dired-virtual):
* lisp/files.el (recover-file, recover-session):
* lisp/net/ange-ftp.el (ange-ftp-get-files): Use connection-local
value of `dired-listing-switches'.

* lisp/files-x.el (connection-local-value): Adapt docstring.

* lisp/man.el (Man-shell-file-name): Use `connection-local-value'.
2023-12-10 12:26:38 +01:00
Eli Zaretskii
486094126b Merge from origin/emacs-29
0f361cc985 ; Minor copyedits in description of ':box' face property
46fe7a17f5 Fix dragging mode line on text terminals with a mouse (bu...
12daf386f3 ; * doc/lispref/processes.texi (Network): Fix wording and...
037d858dc1 (rust-ts-mode): Set electric-indent-chars
dc9b733ab8 js-ts-mode: Highlight function parameters inside destruct...
4a72f13bdf js-ts-mode: Highlight property shorthands in assignments
83ed9018ed (js--treesit-font-lock-settings): Highlight parameters in...
ad0f87bb4c (js--treesit-font-lock-settings): Remove some duplicates
71c5f3694f ; Another fix of doc string of 'message-mail-user-agent' ...
04a39353ba ; * lisp/gnus/message.el (message-mail-user-agent): Doc f...
82ddcf37ec ; * doc/lispref/files.texi (Changing Files): Fix last cha...
89068516b3 Don't claim to signal an error when deleting a nonexistin...
4fd254e183 * lisp/indent.el (indent-rigidly): Improve prompt (bug#67...
5f923ff1a6 ; Fix typos
a1f88963f5 rust-ts-mode--comment-docstring: Handle block doc comments
a547b0e2e8 rust-ts-mode--comment-docstring: Fix/improve the previous...
2023-12-09 07:25:21 -05:00
Eli Zaretskii
598ab9ca10 ; Fix documentation of register-preview changes
* etc/NEWS: Fix wording of 'register-use-preview' entry.

* lisp/register.el (register-use-preview): Doc fix.  Add ':version'.
2023-12-09 12:02:48 +02:00
Michael Albinus
ca709f9c06 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2023-12-09 10:25:58 +01:00
Vladimir Kazanov
a3a7613fd9 Document ert-font-lock
* doc/misc/ert.texi: Expand the manual.

* etc/NEWS: Mention ert-font-lock.
2023-12-09 10:25:26 +01:00
Michael Albinus
1908d2aefb New macro connection-local-value
* doc/lispref/variables.texi (Applying Connection Local Variables):
Add macro 'connection-local-value'.

* etc/NEWS: Add macro 'connection-local-value'.

* lisp/files-x.el (connection-local-value): New macro.
(path-separator, null-device): Use it.

* test/lisp/files-x-tests.el
(files-x-test-connection-local-value): New test.
2023-12-09 10:13:14 +01:00
Michael Albinus
945aa0e42b ; * etc/NEWS: Fix typos. 2023-12-09 10:05:20 +01:00
Eli Zaretskii
ec1244970a ; Fix documentation of 'minibuffer-sort-by-history'
* etc/NEWS:
* lisp/minibuffer.el (completions-sort): Doc fix.
2023-12-09 11:04:13 +02:00
Eli Zaretskii
dc7cf87bc0 ; Fix documentation of 'dired-do-open'
* lisp/dired-aux.el (dired-do-open):
* etc/NEWS: Fix documentation of 'dired-do-open'.  (Bug#18132)
2023-12-09 10:54:07 +02:00
Eli Zaretskii
643e06dbe5 ; Fix documentation of 'completion-auto-deselect'
* lisp/minibuffer.el (completion-auto-deselect): Doc fix.

* etc/NEWS: Improve wording of corresponding entry.
2023-12-08 10:42:22 +02:00
Liu Hui
3a7abc7e49 Add option eshell-history-append
* lisp/eshell/em-hist.el (eshell-history-append): New option.
(eshell--save-history): New function.
(eshell-hist-initialize):
(eshell-save-some-history): Replace eshell-write-history with
eshell--save-history, which respects the new option.
* doc/misc/eshell.texi (History): Document the change.
* etc/NEWS: Announce the change.  (Bug#66700)
2023-12-07 11:32:29 +00:00
Yuan Fu
83dfdac0ca
Tweak plus and minus svg icons
Shrink them a tiny bit so they look the same size as cross.

* etc/images/symbols/minus_16.svg:
* etc/images/symbols/plus_16.svg: Shrink a bit.
2023-12-06 13:29:31 -08:00
Juri Linkov
5c9315b201 * lisp/dired-aux.el (dired-do-open): New command (bug#18132).
* lisp/dired.el (dired-context-menu): Bind 'dired-do-open' to "Open".

* lisp/dired-aux.el (shell-command-guess-xdg): Use 'shell-quote-argument'.
2023-12-06 19:28:52 +02:00
Stefan Kangas
5f923ff1a6 ; Fix typos 2023-12-03 23:31:30 +01:00
Spencer Baugh
e33f560bad Add historical option to completions-sort
Support sorting candidates in *Completions* by the order they show up
in the minibuffer history.

Also add minibuffer-sort-alphabetically and
minibuffer-sort-by-history, which are usable for both completions-sort
and display-sort-function.

* lisp/minibuffer.el (completions-sort): Document 'historical option.
(minibuffer-completion-help): Support 'historical option.
(minibuffer-sort-alphabetically)
(minibuffer-completion-base, minibuffer-sort-by-history): Add.
* etc/NEWS: Announce it.
2023-12-03 19:24:16 +02:00
Spencer Baugh
3c09314895 Deselect the selected completion candidate when typing
minibuffer-choose-completion-or-exit submits the selected completion
candidate, if any, ignoring the contents of the minibuffer.  But a
user might select a completion candidate and then want to type
something else in the minibuffer and submit what they typed.

Now typing will automatically deselect the selected completion
candidate so that minibuffer-choose-completion-or-exit will not choose
it.

minibuffer-choose-completion has the same behavior as before, and is
not affected by the deselection.

* lisp/minibuffer.el (completion-auto-deselect, completions--deselect)
(completions--after-change): Add.
(minibuffer-completion-help): Add completions--after-change hook.
(minibuffer-next-completion): Bind completion-auto-deselect to nil to
avoid immediately deselecting the completion.
(minibuffer-choose-completion-or-exit): Bind
choose-completion-deselect-if-after so deselection takes effect.
(display-completion-list): Guarantee a newline at the beginning of
*Completions* to avoid ambiguity about candidate selection.
* lisp/simple.el (choose-completion-deselect-if-after): Add.
(choose-completion): Check choose-completion-deselect-if-after.
* etc/NEWS: Announce.
2023-12-03 19:20:51 +02:00
Eli Zaretskii
14b62b1ae0 Merge from origin/emacs-29
cd477bf07d Fix behavior of 'split-root-window-*' with 'C-u'
2e5d47f578 ; * doc/lispintro/emacs-lisp-intro.texi (copy-to-buffer):...
c46700deb0 Add more text to clarify the behavior of 'with-current-bu...
687c416ce9 Fix example in Emacs user manual
835902179c ; Fix recent change in 'c-ts-mode'
169a5ff752 ; Fix typo in Gnus manual (bug#67469).
30841c71a5 Mention Titankey in Tramp, which has passed the tests
dab7cc241f Fix c-ts-mode indentation after if/else (bug#67417)
f8d9dc26c7 Fix indentation for else clause in c-ts-mode (bug#67417)
bf0b0c9c73 Ensure that directory is expanded in package-vc-checkout
e551dd72f7 * etc/PROBLEMS: Add entry about pinentry with gpgsm.  (Bu...
2023-12-02 10:05:50 -05:00
Thierry Volpiatto
74a5ec0e1e
Merge branch 'register_preview' 2023-12-02 09:04:03 +01:00
Juri Linkov
5519ec4746 * lisp/dired-aux.el (shell-command-guess-open): New defcustom (bug#18132).
(shell-command-guess-open): New function.
(shell-command-guess-functions): Add 'shell-command-guess-open' to choice.
2023-11-30 19:39:16 +02:00
Thierry Volpiatto
3df81fb5dc
Make register-preview-delay obsolete
* etc/NEWS: Update.
* lisp/register.el (register-preview-delay): Make it obsolete.
2023-11-30 08:03:45 +01:00
Juri Linkov
b8d4242e8b New user option 'shell-command-guess-functions' (bug#18132)
* lisp/dired-aux.el (dired-minibuffer-default-add-shell-commands):
Remove function since now mailcap commands are available
by shell-command-guess-mailcap for shell-command-guess
used by dired-guess-shell-command.
(dired-read-shell-command): Don't set minibuffer-default-add-function
to dired-minibuffer-default-add-shell-commands.
(dired-guess-shell-command): Replace dired-guess-default
with shell-command-guess.
(shell-command-guess-functions): New defcustom.
(shell-command-guess, shell-command-guess-dired)
(shell-command-guess-mailcap, shell-command-guess-xdg):
New functions.

* lisp/simple.el (minibuffer-default-add-shell-commands):
Use 'shell-command-guess' instead of requiring 'mailcap'
with 'mailcap-file-default-commands'.  Remove 'interactive'.
2023-11-27 19:32:10 +02:00
Eshel Yaron
47e313e980 Unbind 'C-M-i' in Text mode
Remove the binding of 'C-M-i' to 'ispell-complete-word' in Text mode.
Define a new 'ispell-completion-at-point' function and add that to
'completion-at-point-functions' in Text mode, such that
'completion-at-point' provides the same word completions as
'ispell-complete-word' does OOTB.

* lisp/textmodes/ispell.el (ispell-completion-at-point): New function.
* lisp/textmodes/text-mode.el (text-mode): Add it to 'c-a-p-functions'.
(text-mode-map): Remove 'C-M-i' binding.
(text-mode-meta-tab-ispell-complete-word): New user option.
* etc/NEWS: Announce it.
* doc/emacs/fixit.texi (Spelling)
* doc/emacs/text.texi (Text Mode)
* doc/lispref/modes.texi (Basic Major Modes)
(Example Major Modes): Update.
* lisp/mail/sendmail.el (mail-abbrevs-loaded)
* lisp/nxml/nxml-mode.el (nxml-mode-map): Remove superfluous binding.
2023-11-26 12:30:12 +02:00
Ulrich Müller
e551dd72f7 * etc/PROBLEMS: Add entry about pinentry with gpgsm. (Bug#67012) 2023-11-25 15:26:52 +01:00
Liu Hui
9656fe0358 Add option `dired-filename-display-length'
* lisp/dired.el (dired-filename-display-length): New option.
(dired-insert-set-properties): Set invisible property for long
filenames.
(dired--get-ellipsis-length, dired--get-filename-display-length)
(dired-filename-update-invisibility-spec): New functions.
(dired-mode): Add filename invisibility spec.
(dired-make-directory-clickable)
(dired-kill-when-opening-new-dired-buffer)
(dired-hide-details-preserved-columns): Add missing :group.
* lisp/wdired.el (wdired-change-to-wdired-mode)
(wdired-change-to-dired-mode): Update filename invisibility spec.
* etc/NEWS: Announce the change.  (Bug#67161)
2023-11-25 12:50:35 +02:00
F. Jason Park
2ed9c9f1b3 Optionally allow substitution patterns in erc-prompt
* etc/ERC-NEWS: Add entry for `erc-prompt-format'.
* lisp/erc/erc-compat.el (erc-compat--defer-format-spec-in-buffer):
New macro to wrap `format-spec' specification values in functions that
run in the current buffer and fall back to the empty string.
* lisp/erc/erc.el (erc-prompt): Add predefined Custom choice for
function type in `erc-prompt-format'.
(erc--prompt-format-face-example): New "pre-propertized" value for
option `erc-prompt-format'.
(erc-prompt-format): New companion option for `erc-prompt' choice
`erc-prompt-format'.  New function of the same name to perform format
substitutions and serve as a Custom choice value for `erc-prompt'.
Based on work and ideas originally proposed by Stefan Kangas.
(erc--away-indicator, erc-away-status-indicator,
erc--format-away-indicator): New formatting function and helper
variables for displaying short away status.
(erc--user-modes-indicator): New variable.
(erc--format-user-modes): New function.
(erc--format-channel-status-prefix): New function.
(erc--format-modes): New function.
* test/lisp/erc/erc-scenarios-prompt-format.el: New file.  (Bug#51082)

Co-authored-by: Stefan Kangas <stefankangas@gmail.com>
2023-11-24 13:38:52 -08:00
F. Jason Park
5bc84a0c9e Cache UI string for channel modes in ERC
* etc/ERC-NEWS: Add entry for more expansive "%m" in header line.
* lisp/erc/erc-common.el (erc--channel-mode-types): New slot
`shortargs' for caching truncated mode args.
* lisp/erc/erc.el (erc--mode-line-chanmodes-arg-len): New internal
variable for adjusting the truncation length of channel-mode arguments
as they appear in the header line.
(erc--mode-line-mode-string): New variable for caching the relevant
"modestring", if any, in ERC buffers.
(erc--process-channel-modes): Don't associate args with group 4/D,
which are all nullary modes.  This fixes a bug in which arguments were
associated with the wrong letters.  Also, set cached mode string for
channel.
(erc--user-modes): Simplify slightly by removing likely useless
variant for overloaded arg AS-TYPE.  This function is new in ERC 5.6.
(erc--channel-modes):  New function.  A higher-level getter for
current channel mode representation to complement `erc--user-modes'.
(erc--parse-user-modes): Set `erc--mode-line-mode-string in server
buffers.
(erc--handle-channel-mode): Change model to associate modes of type A
with a running plus/minus tally of state changes since joining the
channel.
(erc-update-mode-line-buffer): Use cached verbose representation of
channel or user modes instead of calling `erc-format-channel-modes'.
* test/lisp/erc/erc-tests.el (erc--update-channel-modes): Update to
reflect new running tally associations for type A modes.
(erc--channel-modes): New test.
(erc--user-modes): Update to reflect parameter simplification.
(Bug#67220)
2023-11-24 13:38:52 -08:00
Po Lu
9db8c349f0 Merge from savannah/emacs-29
d72a4ed65c Fix 'with-sqlite-transaction' when BODY fails
a7b3c92373 ; * doc/emacs/cmdargs.texi (Initial Options): Fix last ch...
fd76a80864 ; Mention that -x and --script ignore file-locals
e0469ddb9d ; * doc/emacs/search.texi (Special Isearch): More accurat...
e521669fb3 Fix wording in ELisp Intro manual
da946ca692 Add missing python-ts-mode keyword (bug#67015)
0128495afd Fix string-pixel-width with global setting of display-lin...

# Conflicts:
#	etc/NEWS
2023-11-24 08:38:03 +08:00
Juri Linkov
29d42d9158 Support dired-movement-style in dired-next-dirline and dired-prev-dirline
* lisp/dired.el (dired-movement-style): Mention dired-next-dirline
and dired-prev-dirline in the docstring (bug#67303).
(dired-next-line): Refactor most code to dired--move-to-next-line.
(dired--move-to-next-line): New function with code from dired-next-line.
(dired--trivial-next-dirline): Rename from dired-next-dirline.
(dired-next-dirline): New function body that uses dired-movement-style,
dired--move-to-next-line and dired--trivial-next-dirline.
(dired-prev-dirline): Mention dired-movement-style in the docstring.
2023-11-23 20:12:40 +02:00
Stefan Monnier
e6556db420 (derived-mode-p): Take MODES as a single argument
Looking at uses of `derived-mode-p` and `provide-mode-derived-p`,
I can't find a single use case where it wouldn't be preferable for
it to take a single argument instead of `&rest`: all the calls are
either passing a single argument anyway, or passing a fixed list of modes.
The use of `&rest` just makes the code less efficient and sometimes
more clunky (because of the need for `apply`).
So let's change that (while preserving backward compatibility, of course).

* doc/lispref/modes.texi (Derived Modes): Adjust accordingly.

* lisp/subr.el (provided-mode-derived-p, derived-mode-p): Take the
`modes` as a single argument.
2023-11-23 11:59:38 -05:00
Po Lu
47e86445de Insert NEWS entry for native compilation changes
* etc/NEWS (Installation Changes in 30.1): Mention that native
compilation has been enabled by default.
2023-11-22 11:07:13 +08:00
Eli Zaretskii
d72a4ed65c Fix 'with-sqlite-transaction' when BODY fails
* lisp/sqlite.el (with-sqlite-transaction): Don't commit changes
if BODY errors out.  Roll back the transaction if committing
fails.  (Bug#67142)

* etc/NEWS:
* doc/lispref/text.texi (Database): Document the error handling in
'with-sqlite-transaction'.
2023-11-21 15:36:22 +02:00
Manuel Giraud
65600b97bd Add Gnus mode line logo in SVG format
Bug#67174

* etc/images/gnus/gnus-pointer.svg: New Gnus mode line logo in SVG format.
* lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Use it.
2023-11-20 10:00:08 -08:00
Eli Zaretskii
5024ee1ad1 ; * etc/TODO: Fix punctuation. 2023-11-20 14:45:30 +02:00
Andrea Corallo
498daa8886 * etc/TODO (Native compiler improvements): Add 'Diagnostic' section. 2023-11-20 10:38:54 +01:00
Andrea Corallo
c598a808be * etc/TODO (Native compiler improvements): Move old entry here. 2023-11-20 10:29:28 +01:00
Andrea Corallo
94b3c7b9d2 * etc/TODO (Native compiler improvements): Add section. 2023-11-20 10:29:28 +01:00
Eli Zaretskii
3a3202e4a6 ; * etc/NEWS: Fix last change. 2023-11-19 11:08:53 +02:00
Kévin Le Gouguec
53bd2d57f3 Recognize shebang lines that pass '-S/--split-string' to 'env'
* etc/NEWS: announce the change.

* lisp/files.el (auto-mode-interpreter-regexp): Add optional '-S'
switch to the ignored group capturing the env invocation.
Allow multiple spaces between #!, interpreter and first argument:
empirically, Linux's 'execve' accepts that.  (Bug#66902)

* test/lisp/files-tests.el (files-tests--check-shebang): New helper to
generate a temporary file with a given interpreter line, and assert
that the mode picked by 'set-auto-mode' is derived from an expected
mode.  Write the 'should' form so that failure reports include useful
context; for example:

    (ert-test-failed
     ((should
       (equal (list shebang actual-mode) (list shebang expected-mode)))
      :form
      (equal ("#!/usr/bin/env -S make -f" fundamental-mode)
	     ("#!/usr/bin/env -S make -f" makefile-mode))
      :value nil :explanation
      (list-elt 1 (different-atoms fundamental-mode makefile-mode))))

* test/lisp/files-tests.el (files-tests-auto-mode-interpreter): New
test; exercise some aspects of 'interpreter-mode-alist'.
2023-11-19 11:05:26 +02:00
F. Jason Park
cca7956c82 Favor ISUPPORT params for MODE processing in ERC
* etc/ERC-NEWS: Mention shift toward CHANMODES ISUPPORT parameter for
dictating MODE parsing behavior.
* lisp/erc/erc-backend.el (erc--init-channel-modes, erc--update-modes,
erc-set-modes, erc-update-modes): Forward declarations, the last two
being removals.
(erc-server-MODE, erc-server-221): Use `erc--update-modes' instead of
`erc-update-modes'.
(erc-server-324): Use `erc--init-channel-modes' instead of
`erc-set-modes'.
* lisp/erc/erc-common.el (erc--channel-mode-types): New struct for
stashing processed \"CHANMODES\" data for the current server.
* lisp/erc/erc.el (erc-channel-modes): Fix doc string.
(erc-set-initial-user-mode): Display a local notice when requesting
redundant user MODE operations.
(erc-set-modes, erc-parse-modes, erc-update-modes): Deprecate for
reasons explained in associated ERC-NEWS entry.
(erc--update-membership-prefix): New function, a helper for specifying
arguments to the rather unruly `erc-update-current-channel-member'.
(erc--channel-modes): New variable to record channel-mode state in a
hash table.
(erc--channel-mode-types): New variable and getter to stash
and retrieve server-local instance of the struct of the same name.
(erc--process-channel-modes): New function to parse channel-mode
changes, dispatch handlers for unary modes, and update the local
variables `erc-channel-modes' and `erc--channel-modes'.
(erc--user-modes): New local variable for remembering user modes per
server.  New function of the same name, a "getter" for the variable.
(erc--parse-user-modes): New function to parse user modes only.
(erc--update-user-modes): New function to update and sort
`erc--user-modes'.
(erc--update-channel-modes): New function to replace much of
`erc-update-modes', currently a thin wrapper around
`erc--process-channel-modes' to ensure it updates status prefixes.
(erc--update-modes): New function to call appropriate mode-updating
function for the current buffer.
(erc--init-channel-modes): New function to update channel mode letters
without status prefixes.
(erc--handle-channel-mode): New generic function, a placeholder for an
eventual API to handle specific "unary" mode letters, meaning those
that specify a single parameter for setting or unsetting.
(erc-update-channel-limit): Update doc string and answer question
posed by ancient comment.
(erc-message-english-user-mode-redundant-add,
erc-message-english-user-mode-redundant-drop): New English catalog
messages.
* test/lisp/erc/erc-scenarios-base-chan-modes.el: New file.
* test/lisp/erc/erc-tests.el (erc-parse-modes,
erc--update-channel-modes, erc--update-user-modes, erc--user-modes,
erc--parse-user-modes): New tests.
* test/lisp/erc/resources/base/modes/chan-changed.eld: New test data
file.  (Bug#67220)
2023-11-18 12:34:56 -08:00
Eli Zaretskii
9b0cb2185d ; * etc/NEWS: Fix last change (bug#67225). 2023-11-18 12:11:56 +02:00
Rudi Schlatte
41b837b413 Add key translations 'C-x 8 a e' and 'C-x 8 A E'.
* lisp/international/iso-transl.el (iso-transl-char-map): Add
new entries for ae and AE.  (Bug#67225)
2023-11-18 12:08:34 +02:00
Po Lu
6aa70c236f Document Battery Optimization challenges on Android
* etc/PROBLEMS (Runtime problems specific to Android): Mention
battery optimization, the way it impacts background execution,
and how it might be disabled.
2023-11-18 17:42:19 +08:00
Eli Zaretskii
7b7a37ec7b ; * etc/NEWS: Add entry about new input methods. (Bug#66470) 2023-11-18 11:35:15 +02:00
Juri Linkov
ed24972849 ; * etc/NEWS: Add new section. 2023-11-16 19:37:21 +02:00
Stefan Monnier
cfb117fee1 * etc/NEWS: Mention incompatible change in pp (bug#67180) 2023-11-16 11:19:56 -05:00
Stefan Monnier
4194f9bd87 Merge branch 'derived-mode-add-parents' 2023-11-16 09:57:38 -05:00
Eshel Yaron
e82d807a28 Add Completion Preview mode
This adds a new minor mode, 'completion-preview-mode', that displays
in-buffer completion suggestions with an inline "preview" overlay.
(Bug#66948)

* lisp/completion-preview.el: New file.
* doc/emacs/programs.texi (Symbol Completion): Document it.
* etc/NEWS: Announce it.
2023-11-15 19:15:49 +02:00
Sean Whitton
6a6c2058f1 ; * etc/NEWS: Use setopt not setq for project-switch-commands. 2023-11-13 21:58:46 +00:00
Juri Linkov
4dc26a1e6e ; * etc/NEWS: Rearrange wrongly categorized entries.
Move Project, Minibuffer and Completions, JS Mode
from "New Modes and Packages" to "Changes in Specialized Modes and Packages".
2023-11-13 09:18:49 +02:00
Juri Linkov
b3d57d4397 * lisp/vc/vc-hooks.el (vc-display-status): New value 'no-backend' (bug#66464).
* lisp/vc/vc-hooks.el (vc-default-mode-line-string): Use it.
* lisp/vc/vc-git.el (vc-git-mode-line-string): Use it.
* lisp/vc/vc-hg.el (vc-hg-mode-line-string): Use it.
2023-11-13 09:09:15 +02:00
F. Jason Park
ece62f5c1c ; Prepare for ERC 5.6 release
* doc/misc/erc.texi: Minor tweak in SASL section.
* etc/ERC-NEWS: Revise various sections under 5.6.
* lisp/erc/erc-button.el (erc-button-alist): Remove comment.
(erc-nick-popup-alist): Remove comment.
* lisp/erc/erc-fill.el (erc-fill-wrap-margin-width): Remove comment.
(erc-fill-wrap-margin-side): Remove comment.
(erc-fill-line-spacing): Remove comment.
(erc-fill-wrap-use-pixels): Remove comment.
(erc-fill-wrap-visual-keys): Remove comment.
(erc-fill-wrap-force-screen-line-movement): Remove comment.
(erc-fill-wrap-merge): Remove comment.
* lisp/erc/erc-goodies.el (erc-scrolltobottom-all): Remove comment.
(erc-keep-place-indicator-style): Remove comment.
(erc-keep-place-indicator-buffer-type): Remove comment.
(erc-keep-place-indicator-follow): Remove comment.
* lisp/erc/erc-networks.el (erc-server-alist): Remove comment.
* lisp/erc/erc-nicks.el (erc-nicks): Remove comment.
* lisp/erc/erc-speedbar.el
(erc-speedbar-nicknames-window-width): Remove comment.
(erc-speedbar-hide-mode-topic): Remove comment.
(erc-speedbar-my-nick-face): Remove comment.
* lisp/erc/erc-stamp.el (erc-timestamp-format-right): Remove comment.
(erc-echo-timestamp-zone): Remove comment.
(erc-timestamp-use-align-to): Remove comment.
* lisp/erc/erc-status-sidebar.el
(erc-status-sidebar-highlight-active-buffer): Remove comment.
(erc-status-sidebar-style): Remove comment.
(erc-status-sidebar-click-display-action): Remove comment.
* lisp/erc/erc.el: Bump required Compat version to 29.1.4.3 in
Package-Requires header.
(erc-notice-face): Remove comment.
(erc-action-face): Remove comment.
(erc-interactive-display): Remove comment.
(erc-auto-reconnect-display-timeout): Remove comment.
(erc-reconnect-display-server-buffers): Remove comment.
(erc-modules): Remove comment.
* test/lisp/erc/resources/base/display-message/multibuf.eld: Remove
reference to specific ERC version in QUIT command reason.
* test/lisp/erc/resources/base/assoc/reconplay/foonet.eld: Timeout.
2023-11-12 20:37:49 -08:00
F. Jason Park
1d2aa130ca Revive erc-command-indicator as new module
* doc/misc/erc.texi: Add entry for `command-indicator' to Modules
chapter.
* etc/ERC-NEWS: Mention new module `command-indicator'.
* lisp/erc/erc-goodies.el (erc-noncommands-list): Replace the
nonexistent `erc-cmd-SMV' with function `erc-cmd-SAY'.
(erc-noncommands-mode, erc-noncommands-enable,
erc-noncommands-disable): Deprecate this module because it's a no-op.
(erc-command-indicator-face, erc-command-indicator): Migrate from main
library.
(erc-command-indicator-mode, erc-command-indicator-enable,
erc-command-indicator-disable): New module to take the spiritual place
of `noncommands'.
(erc-command-indicator): Move function here from main library, along
with option namesake mentioned above.
(erc-command-indicator-toggle-hidden): New command to toggle echoed
command-line visibility.
(erc--command-indicator-permit-insertion): New function.
(erc--command-indicator-display): New function, a slightly revised
version of the old `erc-display-command' from the main library.  Its
only call site was removed back in d1036d288d "backport: erc
bugfixes".  However, references were left behind to associated assets,
like `erc-command-indicator', etc.  The function was later commented
out in 0c599ee2e2 "* lisp/erc/erc.el: Use `run-hook-with-args` for
`erc-pre-send-functions`", and then removed by a63ed6f78a "Remove
duplicate ERC prompt on reconnect".
* lisp/erc/erc-match.el (erc-match-toggle-hidden-fools): Use new
non-module-specific name for `erc-match--toggle-hidden'.
(erc-match--toggle-hidden): Move to main library for shared use by
other modules.
* lisp/erc/erc.el (erc-hide-prompt): Leave note explaining updated
role.
(erc-command-indicator): Move option and function of same name to
erc-goodies.
(erc-command-indicator-face): Move to erc-goodies.
(erc-modules): Remove module `noncommands' from standard value and
Custom set.  Add `command-indicator' to set.
(erc--toggle-hidden): "New" function, a rebranded version of the
utility `erc-match--toggle-hidden' from erc-match.
(erc--send-input-lines): Accommodate modules wanting alternate
insertion functions.
(erc-load-irc-script-lines): Account for `erc-command-indicator' no
longer being defined in this library.
* test/lisp/erc/erc-scenarios-base-send-message.el
(erc-scenarios-base-send-message--command-indicator): New test.
* test/lisp/erc/erc-tests.el (erc-tests--modules): Remove
deprecated module `noncommands' from manifest.  (Bug#67031)
2023-11-12 20:37:49 -08:00
Stefan Monnier
cf00f1526d Subject: (derived-mode-add-parents): Add documentation and one more test
* doc/lispref/modes.texi (Derived Modes): Document new derived-modes API.
* test/lisp/subr-tests.el (subt-tests--merge-ordered-lists): New test.
2023-11-12 17:08:46 -05:00
Jim Porter
e5ba52ad72 Hook 'bug-reference-mode' up to 'thing-at-point'
* lisp/progmodes/bug-reference.el (bug-reference--url-at-point): New
function.
(bug-reference-mode, bug-reference-prog-mode): Factor initialization
code out to...
(bug-reference--init): ... here.

* test/lisp/progmodes/bug-reference-tests.el (test-thing-at-point):
New test.

* etc/NEWS: Announce this change (bug#66752).
2023-11-11 21:40:12 -08:00
Eli Zaretskii
c9d7740574 Merge from origin/emacs-29
ce0ebb91f2 Improve documentation of read syntax and printed represen...
81f84b00a5 ; * doc/lispref/modes.texi (Other Font Lock Variables): A...
434592b074 ; * lisp/dired.el (dired-use-ls-dired): Doc fix (bug#67053).
fe000236cf Improve documentation of signaling errors in batch mode
103ca678ac Fix treesit-simple-indent-presets docstring (bug#67007)
b7871cefe7 Prevent an infinite loop in todo-mode (bug#66994)
fa8cc4c9ee Fix cmake-ts-mode indentation (Bug#66845)
5bdc61bc0e Update to Org 9.6.11
18e2de1bec ; * lisp/bindings.el (right-word, left-word): Doc fix.
4f0fc3bfda ; Document core input events problems with XInput2
2023-11-11 05:31:52 -05:00
Eli Zaretskii
14f0b6331d ; Minor documentation fixes
* etc/NEWS:
* lisp/minibuffer.el (completion-lazy-hilit)
(completion-lazy-hilit-fn, completion-lazy-hilit): Fix recently
added documentation.
2023-11-07 16:29:06 +02:00
João Távora
dfffb91a70 Allow completion frontends to fontify candidates just-in-time
bug#48841, bug#47711

The variable may be bound by the frontend to a non-nil around
completion-producing calls like completion-all-completions.  See
completion-lazy-hilit docstring for more info.

* lisp/icomplete.el (icomplete-minibuffer-setup): Set completion-lazy-hilit.
(icomplete--render-vertical): Call completion-lazy-hilit.
(icomplete-completions): Call completion-lazy-hilit.

* lisp/minibuffer.el (completion-lazy-hilit): New variable.
(completion-lazy-hilit): New function.
(completion-lazy-hilit-fn): New variable.
(completion-pcm--regexp)
(completion--flex-score-last-md): New helper variables.
(completion--flex-score-1): New helper.
(completion-pcm--hilit-commonality): Use completion-lazy-hilit.
(completion--flex-adjust-metadata): Rework sorting code.

* etc/NEWS: Mention completion-lazy-hilit
2023-11-06 10:13:02 -06:00
Kyle Meyer
5bdc61bc0e Update to Org 9.6.11 2023-11-05 21:46:42 -05:00
Juri Linkov
f0c0ff6bf2 New option to use arrows in the minibuffer to select completions (bug#59486)
* lisp/minibuffer.el (minibuffer-visible-completions): New defcustom.
(minibuffer-visible-completions-bind): New function.
(minibuffer-visible-completions-map): New defvar-keymap.
(minibuffer-mode): Set buffer-local minibuffer-completion-auto-choose
to nil for minibuffer-visible-completions.
(completing-read-default, completion-in-region-mode):
Use minibuffer-visible-completions to compose keymap
with minibuffer-visible-completions-map.
(minibuffer-next-completion): Add new arg VERTICAL,
and use next-line-completion.
(minibuffer-next-line-completion)
(minibuffer-previous-line-completion): New commands.
2023-11-05 19:52:33 +02:00
Dmitry Gutov
41e801fea1 Add project-any-command and project-prefix-or-any-command
* lisp/progmodes/project.el (project-any-command): New command.
(project-prefix-map): Bind it to 'o'.
(project-switch-commands): Add entry for it here too.
(project-prefix-or-any-command): New command (bug#63648).
(project-switch-commands): Update the custom type to mention
'project-prefix-or-any-command' as well.
* etc/NEWS: Document the change.
2023-11-05 02:41:53 +02:00
Po Lu
4f0fc3bfda ; Document core input events problems with XInput2
* etc/PROBLEMS: Document problems with XInput2 and core input
events.  (Bug#66765)
2023-11-04 13:03:27 +02:00
Eli Zaretskii
12d1f33ceb ; Fix recent changes in documentation
* lisp/man.el (Man-header-file-path, man): Doc fix.

* etc/NEWS: Fix wording.
2023-11-03 09:41:11 +02:00
Dmitry Gutov
9cbf0bb3ee Remove 'M-.' binding from js-mode and js-ts-mode
* lisp/progmodes/js.el (js-mode-map, js-ts-mode-map): Remove.
The global binding must be a lot more useful for most users
(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg01295.html).
2023-11-03 01:40:36 +02:00
Michael Albinus
f5b2d23fff Adapt doc for man.el
* etc/NEWS: Rephrase 'Man-support-remote-systems' entry.
Fix typos.

* lisp/man.el (Man-header-file-path, man): Adapt docstrings.
2023-11-02 12:14:13 +01:00
Eli Zaretskii
cb92eb404d ; Improve documentation of recent changes
* etc/NEWS:
* lisp/simple.el (completion-auto-wrap, completion-auto-select)
(first-completion, last-completion, previous-completion)
(next-completion, previous-line-completion)
(next-line-completion): Doc fixes.  (Bug#59486)
2023-11-02 09:56:55 +02:00
Juri Linkov
8eb9b82ce5 New commands previous-line-completion and next-line-completion (bug#59486)
* lisp/simple.el (completion-list-mode-map): Bind [up] to
'previous-line-completion', and [down] to 'next-line-completion'.
(completion-auto-wrap): Mention `next-line-completion' and
`previous-line-completion' in the docstring.
(previous-line-completion, next-line-completion): New commands.
2023-11-01 19:45:05 +02:00
Michael Albinus
861ac933dd Run `man' also on remote systems
This implements bug#66758

* doc/emacs/programs.texi (Man Page):
Describe Man-support-remote-systems.

* etc/NEWS: Mention user option 'Man-support-remote-systems'.
Fix typos.

* lisp/dired.el (Man-support-remote-systems): Declare.
(dired-do-man): Use it.  Use also `file-local-name'.

* lisp/man.el (Man-support-remote-systems): New defcustom.
(Man-xref-normal-file): Handle remote files.
(Man-default-directory, Man-shell-file-name)
(Man-header-file-path): New defuns.
(Man-init-defvars): Use octal numbers.
(Man-support-local-filenames): Handle remote files.
(Man-completion-table): Use `Man-default-directory' and `process-file'.
(man): Adapt docstring.
(Man-start-calling): Use `Man-default-directory'.
(Man-getpage-in-background): Use `Man-default-directory',
`Man-shell-file-name', `start-file-process' and `process-file'.  Adapt
buffer name.
(Man-update-manpage): Use `Man-shell-file-name' and `process-file'.
(Man-view-header-file): Use `Man-header-file-path'.
2023-11-01 16:54:31 +01:00
Eli Zaretskii
cb86120272 ; Fix documentation of last change
* etc/NEWS:
* doc/emacs/misc.texi (emacsclient Options): Fix wording.
(Bug#65902)
2023-10-29 14:19:39 +02:00
Spencer Baugh
683efb8de5 Add 'server-eval-args-left' to server.el
Passing arbitrary arguments to functions through
"emacsclient --eval" sometimes requires complicated escaping
to avoid them being parsed as Lisp (as seen in
emacsclient-mail.desktop before this change).

The new variable 'server-eval-args-left' allows access to the
arguments before they are parsed as Lisp.  By removing
arguments from the variable before they're parsed, a snippet
of Lisp can consume arguments, as in emacsclient-mail.desktop.

org-protocol might be able to use this as well, which might allow it
to drop its current advice on server-visit-files.

* etc/emacsclient-mail.desktop: Use 'server-eval-args-left'.
* lisp/server.el (server-eval-args-left): New variable.
(server-process-filter, server-execute): Make '-eval' arguments
available through 'server-eval-args-left'.
* lisp/startup.el (argv): Mention 'server-eval-args-left' in
docstring.
* etc/NEWS: Announce 'server-eval-args-left'.
* doc/emacs/misc.texi (emacsclient Options): Document
'server-eval-args-left'.  (Bug#65902)
2023-10-29 14:10:23 +02:00
Eli Zaretskii
f80889b724 ; Fix last change (bug#66614). 2023-10-29 13:40:27 +02:00
Spencer Baugh
5c8fc0b059 Add 'case-symbols-as-words' to configure symbol case behavior
In some programming languages and styles, a symbol (or every
symbol in a sequence of symbols) might be capitalized, but the
individual words making up the symbol should never be capitalized.

For example, in OCaml, type names Look_like_this and variable names
look_like_this, but it is basically never correct for something to
Look_Like_This.  And one might have "aa_bb cc_dd ee_ff" or "Aa_bb
Cc_dd Ee_ff", but never "Aa_Bb Cc_Dd Ee_Ff".

To support this, the new variable 'case-symbols-as-words' causes
symbol constituents to be treated as part of words only for case
operations.

* src/casefiddle.c (case_ch_is_word): New function.
(case_character_impl, case_character): Use 'case_ch_is_word'.
(syms_of_casefiddle): Define 'case-symbols-as-words'.
* src/search.c (Freplace_match): Use 'case-symbols-as-words'
when calculating case pattern.
* test/src/casefiddle-tests.el (casefiddle-tests--check-syms)
(casefiddle-case-symbols-as-words): Test 'case-symbols-as-words'.
* etc/NEWS: Announce 'case-symbols-as-words'.
* doc/lispref/strings.texi (Case Conversion): Document
'case-symbols-as-words'.
(Bug#66614)
2023-10-29 13:32:43 +02:00
Mauro Aranda
c79ea103ef Add easy customization for dir-locals files (Bug#66702)
* lisp/cus-edit.el (custom--editable-field-p): New utility function.
(custom-dirlocals-widget, custom-dirlocals-file-widget)
(custom-dirlocals-commands, custom-dirlocals-tool-bar-map): New
variables.
(custom-dirlocals-map, custom-dirlocals-field-map): New keymaps.
(Custom-dirlocals-menu): New menu.
(custom-dirlocals-key, custom-dynamic-cons, custom-dirlocals): New
widgets.
(custom-dirlocals-maybe-update-cons, custom-dirlocals-symbol-action)
(custom-dirlocals-change-file, custom-dirlocals--set-widget-vars)
(custom-dirlocals-get-options, custom-dirlocals-validate): New
functions.
(custom-dirlocals-with-buffer): New macro.
(Custom-dirlocals-revert-buffer, Custom-dirlocals-save)
(customize-dirlocals): New commands.

* doc/emacs/custom.texi (Directory Variables): Document
customize-dirlocals.

* etc/NEWS: Announce.
2023-10-28 20:02:13 +03:00
Eli Zaretskii
e81e625ab8 Merge from origin/emacs-29
aa253c533d ; Fix broken links to gmane.org
cc3e436c82 Change news.gmane.org to news.gmane.io
297fe945c5 Fix minor defcustom issues in Gnus (Bug#66715)
3beb5f5e24 ; * doc/misc/gnus.texi: Fix unmatched quote in gnus doc. ...
85d08d5788 Minor connection-local variables fixes
79d8328ca4 Make Dired honor `insert-directory-program´ with globs
43127294e1 Fix typo in url-privacy-level :type
380f8574ef * lisp/vc/log-view.el (log-view-mode-menu): Quote derived...
2023-10-28 05:06:21 -04:00
F. Jason Park
a4ba236e56 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
c68dc7786f "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)
2023-10-27 13:08:44 -07:00
Stefan Kangas
2ec90ac8ff 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.
2023-10-26 21:09:06 +02:00
Po Lu
11f44ec6dd 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.
2023-10-26 11:38:18 +00:00
Harald Jörg
b62ad00981 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.
2023-10-26 12:06:12 +02:00
Spencer Baugh
1d60139a80 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.
2023-10-25 16:43:51 +03:00
Ulrich Müller
74330c0b96 ; Fix spelling of my name in all ChangeLog files 2023-10-25 15:20:46 +02:00
Stefan Kangas
8fef7150d6 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.
2023-10-25 12:30:07 +02:00
Jim Porter
64aa01f60a 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).
2023-10-24 12:28:00 -07:00
Stefan Kangas
87b8a9da01 ; Add missing documentation tags to etc/NEWS 2023-10-24 17:48:44 +02:00
Stefan Kangas
d2830c9f31 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.
2023-10-24 17:28:51 +02:00
Stefan Kangas
dbcaaf375f 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
2023-10-24 16:41:10 +02:00
Stefan Kangas
ad47beb823 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/
2023-10-24 00:52:17 +02:00
Antero Mejr
cfc796f6f2 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>
2023-10-23 00:42:05 +02:00
Mauro Aranda
9be8011217 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.
2023-10-22 20:54:15 +03:00
Yuan Fu
aa6cb41661
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.
2023-10-21 11:07:30 -07:00
Eli Zaretskii
1e25f1d997 ; * etc/NEWS: Fix wording of a recently-added entry. 2023-10-21 18:18:11 +03:00
Mattias Engdegård
a3db503351 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.
2023-10-21 15:12:55 +02:00
Eli Zaretskii
52f25b791e Merge from origin/emacs-29
ab9d6482e3 ; Update ChangeLog.4 and etc/AUTHORS.
d9e1605122 Correctly register focus events concomitant with alpha ch...
194e219825 * doc/man/emacsclient.1: Add missing options.
2023-10-21 08:06:07 -04:00
Stefan Monnier
c94b6397bd (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.
2023-10-20 20:42:04 -04:00
Stefan Monnier
696411ab8a (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.
2023-10-20 18:59:51 -04:00
F. Jason Park
f109396fe3 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)
2023-10-20 15:24:06 -07:00
F. Jason Park
7ffc79690a Restore missing metadata props in erc-display-line
* etc/ERC-NEWS: Designate `erc-display-message' as the favored means
of inserting messages.
* lisp/erc/erc-fill.el (erc-fill-wrap): Skip any `unknown' `erc-msg'.
* lisp/erc/erc-stamp.el (erc-stamp--current-time): Use an existing
`erc-ts' text property, when present, for the current message time.
* lisp/erc/erc.el (erc-display-line-1, erc-insert-line): Update doc
string and declare the former an obsolete alias for the latter,
`erc-insert-line'.  Have `erc-log' label say `erc-display-message'
even though this function is actually `erc-insert-line'.
(erc-display-line): Convert to a thin wrapper around
`erc-display-message', and move its existing body to a new internal
function, `erc--route-insertion'.
(erc--route-insertion): Adopt former body of `erc-display-line', now a
convenience wrapper around `erc-display-message'.  Copy
`erc--msg-props' hash table when inserting a message in multiple
buffers.  At present, only `erc-server-QUIT' uses this facility, so
such a move shouldn't impact performance in any measurable way.  Also,
improve readability with at most one recursive call for the
fall-through case.
(erc--compose-text-properties, erc--merge-text-properties-p): Rename
former to latter to avoid confusion with `composition' property.
(erc-display-message): Update doc string.  Attempt to adapt a non-nil
TYPE parameter for use as the value of the `erc-msg' text property
before resorting to a value of `unknown'.  But only do this when
PARSED is nil, and MSG is a string.  Call `erc--route-insertion'
instead of `erc-display-line'.  Use new name for
`erc--compose-text-properties'.
(erc-put-text-property): Update name of variable
`erc--compose-text-properties'.
* test/lisp/erc/erc-networks-tests.el (erc-networks--set-name): Mock
`erc--route-insertion' instead of `erc-display-line'.
* test/lisp/erc/erc-scenarios-display-message.el: New file.
* test/lisp/erc/erc-tests.el (erc--route-insertion): New test.
* test/lisp/erc/resources/base/display-message/multibuf.eld: New test
data.
; * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: Update.
(Bug#60936)
2023-10-20 14:53:24 -07:00
Eli Zaretskii
ab9d6482e3 ; Update ChangeLog.4 and etc/AUTHORS. 2023-10-19 04:53:08 -04:00
Gerd Möllmann
1038e48038 Gud LLDB completions (bug#66604)
* etc/emacs_lldb.py: Remove xcomplete.
* lisp/progmodes/gud.el: Implement lldb command completions.
* src/.lldbinit: Remove settings done in Gud.
2023-10-18 20:51:22 +02:00
F. Jason Park
b4b4b5f431 Improve SOCKS error handling and support version 4a
* doc/misc/url.texi: Mention version 4a in SOCKS portion of "Gateways
in general" node.
* etc/NEWS: Mention version 4a support in new `socks' section.
* lisp/net/socks.el (socks-server): Add new Custom choice `4a' for
version field.  This change does not further overload the field in
terms of expected type because `socks-send-command' and `socks-filter'
already accommodate the symbol `http'.
(socks--errors-4): Add new constant containing error messages for
version 4.  The semantics are faithful to the de facto spec, but the
exact wording is slightly adapted.
(socks-filter): Allow for a null "type" field on error with version 5.
Previously, certain errors would not propagate because a wrong-type
signal would get in the way.
(socks-send-command): Massage existing version 4 protocol parsing to
accommodate 4a, and add error handling for version 4.  Use variable
`socks-username' for v4 variable-length ID field instead of calling
`user-full-name', which has potential privacy implications.
* test/lisp/net/socks-tests.el (socks-tests-v4-basic): Don't mock
`user-full-name' because `socks-send-command' no longer calls it to
determine the ID.
(socks-tests-v4a-basic, socks-tests-v4a-error): Add a couple tests for
SOCKS version 4a.  (Bug#53941)
2023-10-18 06:23:57 -07:00
João Távora
e93d99a4a0 Eglot: respect completion sort order dictated by the server
Don't use flex style to do any completion sorting.

Previously, it was thought that the 'flex' completion style was only
kicking in to do (approximate) fontification of the completions
returned by the server, but it was found that it was also doing some
its own sorting in certain situation of non-empty matching patterns.

Replaced it with a new eglot--dumb-flex style which does only
fontification.

Github-reference: https://github.com/joaotavora/eglot/discussions/1306

* lisp/progmodes/eglot.el (eglot-completion-at-point): Rework.
(eglot--dumb-flex, eglot--dumb-allc): New helpers.
(completion-category-defaults): Rework Eglot-specific category.
(completion-styles-alist): Add Eglot-specific style.

* etc/EGLOT-NEWS: Mention change.
2023-10-18 07:37:57 -05:00
Gerd Möllmann
40c9e9d2e6 Gud lldb support (bug#66575)
* lisp/progmodes/gud.el (lldb): New command.
* etc/NEWS: Mention M-x lldb.
* src/.lldbinit: Show no souece lines on stop.
* doc/emacs/building.texi: Mention LLDB.
2023-10-17 19:14:59 +02:00
Gerd Möllmann
47adea3a90 Modify LLDB command xcomplete to return a Lisp list
* etc/emacs_lldb.py (xcomplete): Return a Lisp list. Add a comment
explaining the return value.
2023-10-17 17:25:56 +02:00
Jim Porter
266ed1b847 ; Use the "new" calling convention for 'sit-for' in Eshell
* lisp/eshell/esh-proc.el (eshell-process-wait-seconds)
(eshell-process-wait-milliseconds): Make obsolete in favor of...
(eshell-process-wait-time): ... this, and...
(eshell-wait-for-process): ... use it.

* etc/NEWS: Announce this change (bug#66574).
2023-10-16 13:28:21 -07:00
Gerd Möllmann
c3038bf5e1 ; LLDB support cleanup and extension 2023-10-16 10:14:19 +02:00
Po Lu
4c9f9dbd50 Revert "Update etc/rgb.txt from X.Org upstream"
This reverts commit 11f10dc0d0.

* etc/rgb.txt: Restore X11R6.6 version, where non-portable color
names are absent.
2023-10-16 08:56:53 +08:00
Stefan Kangas
90b4a7acb5 Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2023-10-01 03:58:26 UTC.
2023-10-15 00:34:02 +02:00
Stefan Kangas
11f10dc0d0 Update etc/rgb.txt from X.Org upstream
The upstream version contains the following changes:

  2023-07-10  rgb: Make color entries uniform
  2014-07-06  Add aliases for colors that differ between X11 and CSS
  2014-07-06  Add missing colors from CSS Color Module Level 4
  2008-06-04  Nuke CVS version tags
  2003-11-14  R6.6 is the Xorg base-line

* etc/rgb.txt: Sync with the version in X.Org upstream
https://cgit.freedesktop.org/xorg/app/rgb/tree/rgb.txt
commit 0d2caecebf0e2a10994c22960921f366dd98d19a.  (Bug#66538)
2023-10-14 21:23:57 +02:00
Stefan Monnier
9ecb595dea (sit-for): Remove support for old calling convention
* lisp/subr.el (sit-for): Remove support for old calling convention

* doc/lispref/functions.texi (Obsolete Functions): Adjust wording now
that we don't support `sit-for`s old convention any more.
* doc/lispref/commands.texi (Waiting): Remove mention of old calling
convention for `sit-for`.
2023-10-13 19:28:30 -04:00
Harald Jörg
a5789198b3 cperl-mode.el: Add new user option to etc/NEWS
* etc/NEWS: Announce new user option `cperl-fontify-trailer'.
2023-10-14 00:48:23 +02:00
F. Jason Park
5e2be1e0ba Swap hook positions of erc-fill and erc-match-message
* etc/ERC-NEWS: Fix new order of reserved modify-hook members.
* lisp/erc/erc-fill.el: Increase depth of `erc-fill' in both modify
hooks from 40 to 60.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable,
erc-match-disable): Use general module setup function
`erc-match--setup' for buffer-local modifications instead of calling
`erc-match--modify-invisibility-spec' directly.  Add and remove new
post-modify hook `erc-match--on-insert-post'.
(erc-hide-fools): Use `erc--msg-props' for communicating to
post-processing step for applying invisible props instead of doing so
immediately.
(erc-match--on-insert-post): New function to apply module-specific
`invisible' props.  Will likely be replaced by a general service to do
the same, perhaps provided by a future "erc-ignore"-like module.
(erc-match--modify-invisibility-spec, erc-match--setup): Rename former
to latter and only operate on current buffer.
* test/lisp/erc/erc-scenarios-match.el
(erc-scenarios-match--stamp-left-fools-invisible,
erc-scenarios-match--stamp-right-fools-invisible,
erc-scenarios-match--stamp-right-invisible-fill-wrap,
erc-scenarios-match--stamp-both-invisible-fill-static): Update
expected order of ERC-owned `invisible' prop members `match-fools' and
`timestamp'.
* test/lisp/erc/erc-tests.el (erc--essential-hook-ordering): Swap
expected order of `erc-fill' and `erc-add-timestamp' in both hooks.
(Bug#64301)
2023-10-13 07:47:01 -07:00
F. Jason Park
c68dc7786f Manage some text props for ERC insertion-hook members
* etc/ERC-NEWS: Mention that ERC only adds the text property
`cursor-sensor-functions' when `erc-echo-timestamps' is enabled.  Also
mention that date stamps are now inserted as separate messages.
* lisp/erc/erc-fill.el (erc-fill): Look for text prop `erc-cmd'
instead of `erc-command' and use helper utility to do so.
(erc-fill-static): Skip date stamps because this fill style leaves
them flush left.
(erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
Don't hook on the soon-to-be-removed function interface
`erc-stamp--insert-date-function' because date stamps are now separate
messages.
(erc-fill--wrap-continued-message-p): Restore accidentally discarded
doc string.  Derive context about current message from text props at
`point-min', and use updated property names and utility functions.
Abort when previous message is now hidden.
(erc-fill--wrap-stamp-insert-prefixed-date): Remove unused function,
originally meant to be new in ERC 5.6, and move logic for date-stamp
measuring portion directly to `erc-fill-wrap' itself.
(erc-fill--wrap-measure): New helper function.
(erc-fill-wrap): Use helper `erc-fill--wrap-measure' and incorporate
date-stamp detection and width measuring from removed helper.  Don't
dedent first word for messages of unknown origin, such as those
inserted by `erc-display-line' alone without prior preparation from
`erc-display-message'.
* lisp/erc/erc-goodies.el (erc-readonly-mode, erc-readonly-enable):
Set hook depth explicitly to 70.
* lisp/erc/erc-stamp.el (erc-timestamp-format-left): Mention that a
trailing newline is implicit if not provided and that users who don't
want date stamps should use `erc-timestamp-format-right' instead.
(erc-stamp-mode, erc-stamp-enable): Call `erc-stamp--setup' instead
of `erc-munge-invisibility-spec', and bump hook depth for
`erc-add-timestamp' to 70.
(erc-stamp--current-time): Use `erc-ts' instead of `erc-timestamp'
text property in doc string.
(erc-stamp--skip): New internal variable.
(erc-stamp--allow-unmanaged): New variable for legacy code to force
`erc-add-timestamps' to run when `erc--msg-props' is nil.
(erc-add-timestamp): Always run when `erc-stamp--allow-unmanaged' is
non-nil unless `erc-stamp--skip' is as well because the latter takes
precedence.  Don't add `erc-ts' text prop directly unless
`erc-stamp--allow-unmanaged is non-nil.  Instead, use the new
`erc--msg-props' facility to defer until after modification hooks.
Likewise, don't add `cursor-senor-functions' directly either unless
the same compatibility flag is enabled.  Instead, expect the latter to
be handled by a post-modify hook conditioned on the option
`erc-echo-timestamps'.
(erc-timestamp-last-inserted-left): Mention that the final trailing
newline specified in the format string no longer appears in the
recorded value.
(erc-stamp-prefix-log-filter): Use updated name for timestamp
property as well as helper utility for accessing it.
(erc-stamp--inherited-props): Add doc string.
(erc-insert-timestamp-right): Fix bug involving object cycle where
the time-stamp string would appear in its own `display' property.
(erc-stamp--insert-date-function, erc-stamp--insert-date-hook): Remove
unused internal function-valued interface variable and replace with
the latter, a normal hook.
(erc-stamp--date-format-end, erc-stamp--propertize-left-date-stamp):
New function and auxiliary variable to apply date stamp properties at
the post-modify stage.  Add text property `erc-stamp-type' to inserted
date stamps to help folks distinguish between them and other
left-sided stamps.
(erc-stamp--current-datestamp-left,
erc-stamp--format-date-stamp,
erc-stamp--insert-date-stamp-as-phony-message,
erc-stamp--lr-date-on-pre-modify): New functions and state variable to
help ERC treat date stamps as separate messages while working within
the established mechanism for processing inserted messages.  Shadow
`erc-stamp--invisible-property' when calling `erc-format-timestamp' in
order to prevent date stamps from inheriting other `invisible' props.
These date stamps are special in that they have no business being
hidden along with the current message.
(erc-insert-timestamp-left-and-right): On initial run in any buffer,
remember whether the date stamp needed newline massaging on insertion.
Move all business for inserting date stamps to post-modify hooks, but
run them forcibly if this is the very first date stamp in the current
buffer.  Also mention some specifics related to relevant text props in
the doc string.
(erc-format-timestamp): Don't add `invisible' prop to stamp unless
`erc-stamp--invisible-property' is non-nil.
(erc-stamp--csf-props-updated-p): New local variable.
(erc-munge-invisibility-spec): Restore `cursor-sensor-functions' text
property for existing messages when a user enables the option
mid-session.  Add and remove hooks for use with automatic timestamp
echoing.
(erc-stamp--add-csf-on-post-modify): New function to add
`cursor-sensor-functions' property on post-modify hooks.
(erc-stamp--setup): Perform some additional teardown.
(erc-stamp--on-clear-message): Look for text property `erc-ts' instead
of `erc-timestamp'.
(erc-echo-timestamp, erc--echo-ts-csf): Use utility to find time-stamp
text prop in current message.
(erc-stamp--update-saved-position, erc-stamp--reset-on-clear): Use
hook `erc-stamp--insert-date-hook' instead of excised function-valued
variable interface `erc-stamp--insert-date-function'.
* lisp/erc/erc-truncate.el (erc-truncate-buffer-to-size): Use internal
utility to find beginning of message.
* lisp/erc/erc.el (erc--msg-props, erc--msg-props-overrides): New
internal variables for initializing and conveying metadata-oriented
text properties among insert and send hooks.
(erc-insert-modify-hook): Mention reserved depth ranges for built-in
members in doc string.
(erc-send-action):  Use convenience variable to modifying text props
instead of awkwardly overriding `erc-insert-pre-hook'.
(erc--check-msg-prop, erc--get-inserted-msg-bounds,
erc--get-inserted-msg-prop, erc--with-inserted-msg,
erc--traverse-inserted): New utility functions and macros to help
modules find metadata and message-delimiting text props.
(erc-display-line-1): Ensure the first character of every message in
an ERC buffer has the `erc-msg' property, as well as any other props
in `erc--msg-props', when populated.
(erc--hide-message): Don't bother offsetting start of first message in
a buffer.
(erc--ranked-properties, erc--order-text-properties-from-hash): New
variable and function to convert `erc--msg-props' into a plist
suitable for `add-text-properties'.
(erc-display-message): Make doc string more informative.  Bind and
initialize `erc--msg-props' for use by all hooks.  Respect
`erc--msg-prop-overrides' when non-nil.  Don't add `erc-command'
property.  Instead, ensure `erc--msg-props' contains an `erc-cmd' item
when the parameter PARSED is non-nil.
(erc--own-property-names): Add `erc-stamp-type'.
(erc--get-speaker-bounds): Use helper to find message start.
(erc-process-ctcp-query, erc-send-current-line): Use convenience
variable to leverage framework for manipulating message metadata
instead of overriding `erc-insert-pre-hook'.
(erc-display-msg): Bind `erc--msg-props' for use by all send-related
hooks.  Add text props from table after `erc-send-post-hook'.
(erc-restore-text-properties): Improve doc string.
(erc--get-eq-comparable-cmd): Use `if-let' instead of `if-let*'.
* test/lisp/erc/erc-fill-tests.el (erc-fill-tests--insert-privmsg):
Make phony message more realistic.
(erc-fill-tests--wrap-populate): Shorten overlong line.
(erc-fill-tests--wrap-check-prefixes): Make test utility more vigilant
in asserting no gaps exist in `line-prefix' property interval.
(erc-fill-tests--compare): Compare text props on text-prop values that
are themselves strings.
* test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--clear-stamp):
Ensure `erc-stamp' is loaded.
* test/lisp/erc/erc-scenarios-match.el
(erc-scenarios-match--stamp-left-current-nick,
erc-scenarios-match--invisible-stamp): Use `default-value' for
`erc-insert-modify-hook' in ordering assertion.
(erc-scenarios-match--find-bol, erc-scenarios-match--find-eol): Remove
unused assertion helper functions.
(erc-scenarios-match--stamp-right-fools-invisible): Remove misplaced
ERT tag from function and use utility to find message bounds.
(erc-scenarios-match--stamp-right-fools-invisible): Use real utility
from main library to find message end.
(erc-scenarios-match--fill-wrap-stamp-dedented-p): New assertion
utility function.
(erc-scenarios-match--hide-fools/stamp-both/fill-wrap) New test.
(erc-scenarios-match--hide-fools/stamp-both/fill-wrap/speak): New
test.
(erc-scenarios-match--stamp-both-invisible-fill-static): Expect
`erc-cmd' at beginning of inserted message's filled line, even if the
line starts with white space.  Also, add new function parameter
`assert-ds', a callback to run when visiting the second date stamp,
which is followed by a hidden message.  In the test of the same name,
expect the date stamp's invisibility interval to begin at the newline
after the previous message and to not contain any existing
invisibility props, namely, those belonging to the subsequent hidden
"fools" message.  Also use shortened "metadata" text prop names.
(erc-scenarios-match--stamp-both-invisible-fill-static--nooffset):
Expect the date stamp's invisibility interval to match its field's
instead of starting and ending sooner.
* test/lisp/erc/erc-stamp-tests.el: Put well-known metadata prop at
the start of the message.
* test/lisp/erc/erc-tests.el (erc--refresh-prompt): Prevent modules
from mutating hooks.
(erc--order-text-properties-from-hash, erc--check-msg-prop): New
tests.
* test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update
test data.
* test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update
test data.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
* test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld:
Update.
* test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld:
Update.
* test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld:
Update.
* test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld:
Update.
* test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
* test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: Update.
* test/lisp/erc/resources/match/fools/fill-wrap.eld: New file.
(Bug#60936)
2023-10-13 07:47:01 -07:00
F. Jason Park
f97fdf5e50 Deprecate option erc-remove-parsed-property
* etc/ERC-NEWS: Add entry for `erc-remove-parsed-property'.
* lisp/erc/erc.el (erc-remove-parsed-property): Deprecate option
because the potential for inadvertent self harm outweighs the
potential benefits.  Additionally, replicating this functionality via
hooks is trivial.
(erc-display-line-1): Remove quasi-deprecated `tags' property because
the preferred format for `erc-response.tags' has changed, and ERC has
never supported IRCv3 tags.
2023-10-13 07:47:01 -07:00
F. Jason Park
328a985651 Skip post-minibuffer restore in erc-scrolltobottom-all
* etc/ERC-NEWS: Remove mention of `erc-scrolltobottom-relaxed' in
entry for module `scrolltobottom'.
* lisp/erc/erc-goodies.el (erc-input-line-position): Fix mention of
abandoned option `erc-scrolltobottom-relaxed'.
(erc-scrolltobottom-all): Subsume option `erc-scrolltobottom-relaxed'
by recognizing a third value state, `relaxed'.  A separate option
would make more sense if other options also depended on
`erc-scrolltobottom-all'.
(erc-scrolltobottom-relaxed): Remove redundant option, which was to be
new in ERC 5.6.
(erc-scrolltobottom-enable, erc-scrolltobottom-mode): Warn if user
attempts to enable `erc-scrolltobottom-all' on Emacs 27, which is not
supported.
(erc--scrolltobottom-relaxed-commands,
erc--scrolltobottom-post-force-commands,
erc--scrolltobottom-relaxed-skip-commands): Remove unused variables.
(erc--scrolltobottom-on-pre-command,
erc--scrolltobottom-on-pre-command-relaxed,
erc--scrolltobottom-on-post-command-relaxed): Remove unused functions.
(erc--scrolltobottom-on-post-command): Remove conditional branch for
dealing with a non-nil `erc--scrolltobottom-window-info'.
(erc--scrolltobottom-setup): Convert from generic to normal function
and remove setup and teardown for unused hooks.  Set variable
`read-minibuffer-restore-windows' locally when option
`erc-scrolltobottom-all' is non-nil.
(erc--scrolltobottom-on-pre-insert): Replace reference to subsumed
option `erc-scrolltobottom-relaxed' with new value `relaxed' for
existing option `erc-scrolltobottom-all'.
* test/lisp/erc/erc-scenarios-scrolltobottom-relaxed.el
(erc-scenarios-scrolltobottom--relaxed): Replace option
`erc-scrolltobottom-relaxed' with new value `relaxed' for
`erc-scrolltobottom-all'.  (Bug#64855)
2023-10-13 07:47:00 -07:00
Michael Albinus
bbccef3ceb Merge from origin/emacs-29
c8ea14e782 Handle quoted tilde in Tramp
30239759ee ; Set maintainer for elint.el to emacs-devel
eedd9db619 Update to Org 9.6.10

# Conflicts:
#	lisp/net/tramp-gvfs.el
2023-10-13 16:18:06 +02:00
Mattias Engdegård
77daafbb36 Add convenience wrapper for regexp disassembly
* lisp/emacs-lisp/disass.el (re-disassemble): New.
* etc/NEWS: Describe the new function instead of the internal
`re--describe-compiled`.
2023-10-13 15:24:10 +02:00
Mattias Engdegård
a52d627b37 Separate docstrings-wide warning identifier
This allows the docstring line width warning to be disabled without
also disabling the one checking for curly quotes etc.

* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
(byte-compile-warnings, byte-compile-docstring-style-warn):
Add `docstrings-wide`.
* etc/NEWS: Annonuce.
2023-10-13 14:31:18 +02:00
Po Lu
57ffdfb59b ; Correct typo
* etc/NEWS: Fix typo.
2023-10-12 22:04:34 +08:00
Po Lu
c6f07e13ee Enable highlighting Gud execution lines without hl-line-mode
* doc/emacs/building.texi (Debugger Operation): Mention two new
options and the relationship between Gud and HL Line Mode.

* etc/NEWS (Editing Changes in Emacs 30.1): Mention the new
option.

* lisp/progmodes/gud.el (gud-highlight-current-line-overlay):
New variable.
(gud-sentinel) <signal, exit>: Delete that overlay if set.
(gud-highlight-current-line, gud-highlight-current-line-face):
New user options.
(gud-display-line): Create and move an overlay without employing
hl-line-mode, if so enjoined by the user.
2023-10-12 21:46:54 +08:00
Alan Mackenzie
cfed3bb395 Document cl-print.el in cl.texi.
* doc/misc/cl.texi: (Printing): New chapter which documents
cl-print.el.

* NEWS (cl-print): Add "+++" markings to all the subitems,
which have now been documented.
2023-10-11 15:03:43 +00:00
Alan Mackenzie
aa45ea8a33 In cl-prin1, enable raw printing for a byte-compiled function
* lisp/emacs-lisp/cl-print.el (cl-print-compiled): document the
new option `raw'.
(cl-print-object/compiled-function): when cl-print-compiled is
`raw', just print the function using `prin1'.  Apply a button
to this output which, when activated disassembles the function.

* etc/NEWS (cl-print): Add an entry for this new feature.
2023-10-11 13:26:01 +00:00
Juri Linkov
960c98ce3a * lisp/progmodes/project.el (project-mode-line-face): New variable.
(project-mode-line-format): Use it (bug#66317).
2023-10-11 09:27:28 +03:00
Michael Albinus
f7185ca29b File notifications report unmount events (bug#66381)
* doc/lispref/os.texi (File Notifications): Unmounting a watched
filesystem is reported now.

* etc/NEWS: File notifications report unmount events now.
Fix typos.

* lisp/filenotify.el (file-notify--callback-inotify)
(file-notify--add-watch-inotify): Handle `unmount'.
(file-notify--callback-kqueue, file-notify--add-watch-kqueue):
Handle `revoke'.
(file-notify--callback-gfilenotify): Handle `unmounted'.
(file-notify-callback): Handle `unmount' and `unmounted'.
(file-notify--add-watch-inotify):

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Handle `unmounted'.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Handle `unmount' and `unmounted'.

* src/gfilenotify.c (dir_monitor_callback): Handle Qunmounted.

* src/inotify.c (symbol_to_inotifymask): Handle IN_IGNORED and
IN_UNMOUNT.

* src/kqueue.c (kqueue_callback, Fkqueue_add_watch):
Handle NOTE_REVOKE.
(Fkqueue_add_watch): Adapt docstring.
(syms_of_kqueue): Declare `revoke.
2023-10-10 19:51:22 +02:00
Eli Zaretskii
d51f3165f7 Improve documentation of 'project-mode-line'
* etc/NEWS:
* doc/emacs/maintaining.texi (Projects):
* lisp/progmodes/project.el (project-mode-line): Improve the
documentation of 'project-mode-line'.  (Bug#66317)
2023-10-10 14:46:08 +03:00
Kyle Meyer
eedd9db619 Update to Org 9.6.10 2023-10-09 23:47:52 -04:00
Juri Linkov
238292d657 New option 'project-mode-line' to show project name on mode line (bug#66317)
* lisp/bindings.el (standard-mode-line-format):
Add '(project-mode-line project-mode-line-format)'.

* lisp/progmodes/project.el (project-mode-line): New user option.
(project-menu-entry, project-mode-line-map): New variables.
(project-mode-line-format): New variable.
(project-mode-line-format): New function.
2023-10-09 21:09:03 +03:00
Gerd Möllmann
4da644edf6 ; LLDB synthetic child provider 2023-10-09 15:20:37 +02:00
Philip Kaludercic
35bb629eca Rename 'vc-switch-backend' to 'vc-change-backend'
* etc/NEWS: Mention the change
* lisp/vc/vc.el (vc-switch-backend): Rename and unobsolete.
(vc-transfer-file): Use new name.  (bug#50344)
2023-10-08 23:20:32 +02:00
Gerd Möllmann
b583cb81c9 ; Produce fewer $nnn vars in LLDB 2023-10-07 15:06:27 +02:00
Mattias Engdegård
ca9f0e75b1 Omit the omake compilation-mode rule by default
It keeps interfering with other rules, slowing everything down a
little bit and makes it harder to add or change other rules.  The rule
is still there and can easily be re-enabled by those who need it.

* etc/NEWS: Announce.
* lisp/progmodes/compile.el (compilation-error-regexp-alist):
Exclude `omake`.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data):
Actually test the `cucumber` rule. Remove the `omake` test case.
(compile-test-error-regexps):
Test `omake` here.  Test other rules without `omake` included.
2023-10-05 12:25:57 +02:00
F. Jason Park
a3c6ed0e36 Improve erc-warn-about-blank-lines behavior
* etc/ERC-NEWS: Mention more detailed feedback when option
`erc-warn-about-blank-lines' is non-nil.
* lisp/erc/erc-common.el (erc--input-split): Add `abortp' slot to
allow a premature exit while validating prompt input.
* lisp/erc/erc.el (erc-warn-about-blank-lines): Clarify meaning of
"blank lines" in doc string, and mention interaction with
companion option `erc-send-whitespace-lines'.
(erc-inhibit-multiline-input): Fix inaccurate description in doc
string.
(erc--input-review-functions): Move
`erc--discard-trailing-multiline-nulls' to end of list, after
`erc--run-input-validation-checks' so that the latter doesn't have to
resplit the original input string in order to issue feedback.
(erc--blank-in-multiline-input-p): Remove unused internal function
originally slated to be part of ERC 5.6.
(erc--check-prompt-input-for-something): New trivial validation
function to check if the input is empty.
(erc--count-blank-lines): New function that tallies up the number of
blank and whitespace-only lines in the current input.  One downside of
this design is that this function's conclusions aren't shared with
`erc--discard-trailing-multiline-nulls', which must decide on its own
how many lines to strip.
(erc--check-prompt-explanation): New variable.
(erc--check-prompt-input-for-multiline-blanks): Rework significantly
to provide more informative messages and more sensible behavior for
common cases with respect to relevant option values.
(erc--check-prompt-input-functions): Add new validation function
`erc--check-prompt-for-something'.
(erc--run-input-validation-checks): Set `abortp' slot of
`erc--input-split' when hooks return a non-string, rather than
generate an unhelpful fallback message.  Also print a message when
the variable `erc--check-prompt-explanation' is non-nil.
(erc-send-current-line): When the `abortp' slot of the current
`erc--input-split' object is non-nil, forgo normal input processing.
This fixes a regression in 5.6-git, which previously emitted an error
message when it should have just exited the command.
(erc--discard-trailing-multiline-nulls): Always run, regardless of
`erc-send-whitespace-lines', and leave a blank line behind when
stripping a message consisting of only blank lines.
(erc--run-send-hooks): Always run hooks and surrounding logic rather
than only when hooks are populated.
* test/lisp/erc/erc-tests.el (erc--refresh-prompt): Add assertion and
use default value for `erc--input-review-functions'.
(erc-ring-previous-command): Use default value for
`erc--input-review-functions' and ensure `erc-current-nick' does not
error.
(erc--blank-in-multiline-input-p): Remove obsolete test.
(erc--check-prompt-input-functions): Update expected message.
(erc--discard-trailing-multiline-nulls, erc--count-blank-lines): New
tests.
(erc-tests--check-prompt-input--expect,
erc-tests--check-prompt-input-messages): New helper variables.
(erc--check-prompt-input-for-multiline-blanks,
erc--check-prompt-input-for-multiline-blanks/explanations): New tests.
(erc-send-whitespace-lines): Expect hook-processing logic to pad empty
lines instead of deferring to `erc-send-input-line-function'.
(Bug#66073)
2023-10-02 17:31:29 -07:00
Eli Zaretskii
4ca131b7f5 Merge etc/NEWS from origin/emacs-29 2023-09-30 13:54:42 -04:00
Stefan Monnier
cc0d7d7a38 search.c (re--describe-compiled): New function (bug#66261)
This provides a fairly primitive but handy way to see what
a regexp compiles to without having to enable REGEX_EMACS_DEBUG
and wade through tons of stderr output.

* doc/lispref/searching.texi (Regexp Problems): Mention
`re--describe-compiled`.

* src/regex-emacs.c (debug_putchar, print_fastmap)
(print_partial_compiled_pattern, print_compiled_pattern): Add `dest`
argument, and compile also when `ENABLE_CHECKING` is set.
(DEBUG_PRINT_COMPILED_PATTERN, print_double_string, regex_compile):
Adjust to additional argument.

* src/regex-emacs.h (print_compiled_pattern): Declare.

* src/search.c (Fre__describe_compiled): New function.
(syms_of_search): Defsubr it.
2023-09-29 14:55:24 -04:00
Juri Linkov
0c15c7d946 ; * etc/NEWS: Demote outline 'describe-bindings-outline-rules' under Help.
* lisp/menu-bar.el (kill-this-buffer): Fix typo in comments.
2023-09-28 09:53:55 +03:00
Juri Linkov
d813f71ffe * lisp/vc/diff-mode.el (diff-apply-buffer): New command (bug#66113).
(diff-mode-map): Bind 'diff-apply-buffer' to 'C-c C-m a'.
2023-09-27 20:39:33 +03:00
Juri Linkov
2d25f071b6 New commands to show replacements as diffs (bug#65854)
* lisp/dired-aux.el (dired-do-replace-regexp-as-diff): New command.

* lisp/misearch.el (multi-file-diff-unsaved): New user option.
(multi-file-replace-as-diff): New function.
(multi-file-replace-regexp-as-diff): New command.
(replace-regexp-as-diff): New command.
(multi-file-diff-no-select): New function.
2023-09-27 20:39:32 +03:00
Stefan Kangas
9f91a1c3eb Make insert-directory-program a defcustom; use "gls" on *BSD
* lisp/files.el (insert-directory-program): Change into defcustom.
Default to "gls" on *BSD and macOS.  (Bug#64791)
2023-09-25 11:36:14 +02:00
Eli Zaretskii
617c358da7 Merge from origin/emacs-29
c966e7ec38 * lisp/net/tramp.el (tramp-skeleton-write-region): Fix mi...
a2953ea300 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
5cba5ee890 Fix tree-sitter range update function
41333cb2d5 ; * etc/NEWS: Fix typos.
a3a9ed40d8 ; * CONTRIBUTE: Clarify "mark" wrt NEWS entries.  (Bug#66...
0a6a9ac6f1 ; * etc/NEWS: Fix last change.
5611274bbd Announce handling 'org-protocol' URI scheme in NEWS

# Conflicts:
#	lisp/treesit.el
2023-09-23 09:41:02 -04:00
Eli Zaretskii
cc8726d2c8 Merge from origin/emacs-29
6bc3800000 Ensure ucs-names is consistent with Unicode names
93134bb9c2 Make key-translate actually work
85f49a9bc8 Update to Org 9.6.9
2826c26537 Add leim subdirectories to emacs package
2023-09-23 09:32:57 -04:00
João Távora
76cdf293c4 Eglot: better consider diagnostics at point on code action requests
* lisp/progmodes/eglot.el (eglot--code-action-bounds): Rename from
eglot--code-action-bounds.  Rework to consider diagnostics.
(eglot-code-actions): Use new eglot--code-action-bounds.
(eglot--code-action): Use new eglot--code-action-bounds.

* etc/EGLOT-NEWS: mention change.

GitHub-reference: https://github.com/joaotavora/eglot/discussions/1295
2023-09-20 11:02:51 +01:00
Protesilaos Stavrou
7be5c8f47c
Update modus-themes to their version 4.3.0
* doc/misc/modus-themes.org
(Option for reloading the theme on custom change)
(Option for disabling other themes while loading Modus)
(Option for completion framework aesthetics)
(Option for org-mode block styles, Get a single color from the palette)
(Add padding to mode line, Note on SHR fonts)
(Note on goto-address-mode faces): Use correct markup for 'nil'.
(Custom Org todo keyword and priority faces): Reword statements and
update the value of sample configuration blocks.
(Use more spacious margins or padding in Emacs frames): Mention the
'spacious-padding' package on GNU ELPA.
(Full support for packages or face groups): Document newly supported
packages and remove those that are no longer covered explicitly.
(Indirectly covered packages): Note that css-mode is covered
indirectly.
(Acknowledgements): Expand list of people who have helped with the
project.

* etc/themes/modus-operandi-deuteranopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-operandi-deuteranopia): Expand or tweak the palette, where
necessary.

* etc/themes/modus-operandi-theme.el (unless): Add theme-autoload
cookie and relevant metadata.
(modus-operandi): Expand or tweak the palette, where necessary.
* etc/themes/modus-operandi-tinted-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-operandi-tinted): Expand or tweak the palette, where necessary.

* etc/themes/modus-operandi-tritanopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-operandi-tritanopia): Expand or tweak the palette, where
necessary.

* etc/themes/modus-vivendi-deuteranopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-vivendi-deuteranopia): Expand or tweak the palette, where
necessary.

* etc/themes/modus-vivendi-theme.el (unless): Add theme-autoload
cookie and relevant metadata.
(modus-vivendi): Expand or tweak the palette, where necessary.

* etc/themes/modus-vivendi-tinted-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-vivendi-tinted): Expand or tweak the palette, where necessary.

* etc/themes/modus-vivendi-tritanopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-vivendi-tritanopia): Expand or tweak the palette, where
necessary.

* etc/themes/modus-themes.el (modus-themes-preset-overrides-faint)
(modus-themes-preset-overrides-intense)
(modus-themes-preset-overrides-warmer): Make minor tweaks.
(modus-themes--annotate-theme, modus-themes--select-prompt)
(modus-themes--toggle-theme-p, modus-themes-toggle)
(modus-themes--list-colors-prompt, modus-themes--heading)
(modus-themes-faces): Refine internal functions.

The detailed release notes are available here:
<https://protesilaos.com/codelog/2023-09-19-modus-themes-4-3-0/>.
2023-09-19 16:03:11 +03:00
Michael Albinus
41333cb2d5 ; * etc/NEWS: Fix typos. 2023-09-18 18:00:07 +02:00
Eli Zaretskii
0a6a9ac6f1 ; * etc/NEWS: Fix last change. 2023-09-18 14:10:30 +03:00
Ihor Radchenko
5611274bbd Announce handling 'org-protocol' URI scheme in NEWS
* etc/NEWS: Document handling 'org-protocol' URI scheme.  The commit
implementing the new functionality is 05a7c91b91.  (Bug#65469)
2023-09-18 13:00:20 +02:00
Ihor Radchenko
1500e4b432 Make emacsclient handle org-protocol:// links
Org mode provides a way to quickly capture bookmarks, notes, and links
using emacsclient:

    emacsclient "org-protocol://store-link?url=URL&title=TITLE"

* etc/emacsclient.desktop: Make Emacs the default application for
org-protocol.  (Bug#65469)

(cherry picked from commit 05a7c91b91)
2023-09-18 12:54:22 +02:00
Kyle Meyer
85f49a9bc8 Update to Org 9.6.9 2023-09-17 22:11:36 -04:00
Stefan Kangas
1e270e580d ; Grammar fixes ("allow to" et al)
Ref:
https://lists.gnu.org/r/emacs-devel/2016-01/msg01598.html
https://lists.gnu.org/r/emacs-devel/2016-01/msg01465.html
2023-09-17 16:49:21 +02:00
Eli Zaretskii
38757723e1 Support Unicode version 15.1
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/IdnaMappingTable.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/PropertyValueAliases.txt:
* admin/unidata/ScriptExtensions.txt:
* admin/unidata/Scripts.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/confusables.txt:
* admin/unidata/copyright.html:
* test/manual/BidiCharacterTest.txt:
* admin/unidata/emoji-data.txt:
* admin/unidata/emoji-sequences.txt:
* admin/unidata/emoji-test.txt:
* admin/unidata/emoji-variation-sequences.txt:
* admin/unidata/emoji-zwj-sequences.txt: Update from Unicode data
files.
* admin/notes/unicode: Update instructions.
* lisp/international/characters.el: Update 'char-width-table'
data.
* etc/NEWS: Announce support for Unicode 15.1.
2023-09-17 11:40:06 +03:00
Eli Zaretskii
302bc23f7c Merge from origin/emacs-29
755ae813a6 ; Declare some treesit.c functions in typescript-ts-mode.el.
89fa204b70 Fix loss of encrypted data in plstore.el
d9a1175a61 Close SQL database when corresponding 'sqlite-mode' buffe...
cbd8fac283 Fix Unicode normalization of characters
825be05b37 Support one-time passwords in Tramp
f880b94e64 Fix the 'C' and 'c' categories of characters
58fd212d8a Fix Emoji zooming commands
8970cdd009 ; Fix last change.
ba924be452 ; * etc/DEBUG: Improve the redisplay section.
e110312ad9 ; * doc/lispref/minibuf.texi (Text from Minibuffer): Ment...
65f4810003 tsx-ts-mode--font-lock-compatibility-bb1f97b: Improve
6fe11b88ed Avoid using --display in emacsclient to reuse frames on PGTK
2fc7463c0e ; * INSTALL: Don't advertise -O3.  (Bug#65988)
29055412f2 ; Fix doc string of 'lsh'
738d854333 Support emacsclient on Windows with server on GNU or Unix...
f0a89fa1d0 ; * lisp/saveplace.el (save-place-ignore-files-regexp): F...
c9cb8ee0fc Fix defcustom in saveplace.el (Bug#65977)
5ec8be1d58 ; * lisp/subr.el (string-suffix-p, string-prefix-p): Doc ...
809305e6d8 Fix 'window-text-pixel-size' when there are several image...
ea14b0dcc2 : Doc fix.
01e8a0c6cb Doc fix for prettify-symbols-unprettify-at-point
0065621d0d (report_overlay_modification): Fix bug#65929
6cc6455e93 Fix SVG colors (bug#56182)
9396d73942 * doc/emacs/text.texi (Outline Minor Mode): Add a note ab...
a65d1a5a16 Improve documentation of 'list-abbrevs'
5dcc4b7eab Tweak s-p-f for js-ts-mode
1fb2fb501f typescript-ts-mode, tsx-ts-mode: Fix syntax properties fo...
946b395e7e * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Provide (bug...
33ee3e588f Fix regression of treesit_cursor_helper_1
d11d81dfcc ; Fix doc typos (Bug#65868)
6554ec2246 Update docs for passing of Thien-Thi Nguyen
5ab2792d5c Update defvar usage tips example in manual
35d88c657e Document using Flymake together with Eglot
3f04efe9e7 ; * src/font.h (struct font): Comment about use of averag...
459b5f6b6d ; * admin/authors.el (authors-aliases): Update.
0c029ae8bc ; tweak etc/TODO item

# Conflicts:
#	admin/authors.el
#	lisp/subr.el
2023-09-16 07:36:49 -04:00
Eli Zaretskii
f44c1969b6 ; Fix last change in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdb-display-io-buffer): Move to before
the first use.  Doc fix.  Change the group to 'gdb-buffers'.

* etc/NEWS: Announce the new option.  (Bug#65007)
2023-09-16 13:41:07 +03:00
bug-gnu-emacs@gnu.org
b6659e98a4 bug#65673: Add lua-ts-mode
* lisp/progmodes/lua-ts-mode.el:
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
* test/lisp/progmodes/lua-ts-mode-tests.el: New files.
* etc/NEWS: Mention the new mode.
* lisp/progmodes/eglot.el (eglot-server-programs):
* lisp/progmodes/hideshow.el (hs-special-modes-alist):
Support 'lua-ts-mode'.
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add Lua.
* test/infra/Dockerfile.emba:
* test/infra/test-jobs.yml: Include lua-ts-mode tests.
2023-09-16 13:01:43 +03:00
Earl Hyatt
f25cd56065 Make using Edmacro easier for long sequences of keys
* lisp/edmacro.el (edmacro-set-macro-to-region-lines)
(edmacro-reverse-key-order): New command and user option to
make working with longer lists of keys, such as from
'kmacro-edit-lossage', easier.
(edit-kbd-macro): Move regexps used to identify parts of
buffer to internal variables.
(edmacro--macro-lines-regexp, edmacro-mode-font-lock-keywords):
Allow noting whether the most recent line of keys is displayed
first.
(edmacro-mode-map): Bind the new command to 'C-c C-r'.
(edmacro-mode): Describe the new command in the mode
documentation string.

* doc/emacs/kmacro.texi (Edit Keyboard Macro): Mention
'edmacro-insert-key' and the newly added
'edmacro-set-macro-to-region-lines' and
'edmacro-reverse-key-line-order'.

* etc/NEWS (Edmacro): Add section describing the new features.

(Bug#65605)
2023-09-16 12:50:51 +03:00
Eli Zaretskii
8970cdd009 ; Fix last change. 2023-09-16 09:26:30 +03:00
Eli Zaretskii
ba924be452 ; * etc/DEBUG: Improve the redisplay section. 2023-09-16 09:25:08 +03:00
Yuan Fu
7717ff1c94
Add dot SVG icons
The advantage of SVG dots over Unicode dots is that their size is
fixed.  With Unicode dots, the size varies with the font.

Dot icons can be useful for status indicator: green dot for online,
red dot for offline, etc.

* etc/images/symbols/dot_large_16.pbm:
* etc/images/symbols/dot_large_16.svg:
* etc/images/symbols/dot_medium_16.pbm:
* etc/images/symbols/dot_medium_16.svg:
* etc/images/symbols/dot_small_16.pbm:
* etc/images/symbols/dot_small_16.svg: New file.
2023-09-15 00:44:23 -07:00
Stefan Monnier
1e1f3e30ef * src/alloc.c (garbage_collect): Run post-gc-hook later (bug#65700) 2023-09-12 14:06:54 -04:00
Michael Albinus
6e93e76083 New command tramp-revert-buffer-with-sudo
* doc/misc/tramp.texi (Ad-hoc multi-hops):
Document tramp-file-name-with-method and tramp-revert-buffer-with-sudo.

* etc/NEWS: New command tramp-revert-buffer-with-sudo.

* lisp/net/tramp-cmds.el (dired-advertise, dired-unadvertise): Declare.
(tramp-dired-buffer-p, tramp-remote-process-p): Rename.
(tramp-file-name-with-method): New defcustom.
(tramp-file-name-with-sudo, tramp-revert-buffer-with-sudo): New defuns.
2023-09-11 13:51:58 +02:00
Po Lu
38e96bee1f Provide an option to disable font instruction code execution
* etc/PROBLEMS: Mention instruction code woes and illustrate how
to circumvent them.

* src/sfntfont.c (sfntfont_setup_interpreter): Respect
Vsfnt_uninstructable_family_regexp.
(syms_of_sfntfont) <Vsfnt_uninstructable_family_regexp>: New
option.
2023-09-11 19:45:58 +08:00
Po Lu
f6568dabf2 Expunge another instance of ``allows to''
* etc/NEWS (Tramp) <tramp-cleanup-some-buffers>: Reword and
rephrase to avoid ``allows to''.
2023-09-11 15:41:07 +08:00
F. Jason Park
617ddb8089 Consider all windows in erc-scrolltobottom-mode
* etc/ERC-NEWS: Add entry for option `erc-scrolltobottom-all', and
mention explicit hook-depth intervals reserved by ERC.
* lisp/erc/erc-backend.el (erc--hide-prompt): Change hook depth on
`pre-command-hook' from 91 to 80.
* lisp/erc/erc-goodies.el (erc-input-line-position): Mention secondary
role when new option `erc-scroll-to-bottom-relaxed' is non-nil.
(erc-scrolltobottom-all): New option that decides whether module
`scrolltobottom' affects all windows or just the selected one, as it
always has.
(erc-scrolltobottom-relaxed): New option to leave the prompt
stationary instead of forcing it to the bottom of the window.
(erc-scrolltobottom-mode, erc-scrolltobottom-enable,
erc-scrolltobottom-disable): Use `erc--scrolltobottom-setup' instead
of `erc-add-scroll-to-bottom' for adding and removing local hooks and
instead of ranging over buffers when removing them.  Also add and
remove new hook members when `erc-scrolltobottom-all' is non-nil.
(erc--scrolltobottom-relaxed-commands,
erc--scrolltobottom-window-info,
erc--scrolltobottom-post-force-commands,
erc--scrolltobottom-relaxed-skip-commands): New internal variables.
(erc--scrolltobottom-on-pre-command
erc--scrolltobottom-on-post-command): New functions resembling
`erc-possibly-scroll-to-bottom' that try to avoid scrolling repeatedly
for no reason.
(erc--scrolltobottom-on-pre-command-relaxed,
erc--scrolltobottom-on-post-command-relaxed): New commands to help
implement `erc-scroll-to-bottom-relaxed'.
(erc--scrolltobottom-at-prompt-minibuffer-active): New function to
scroll to bottom on window configuration changes when using the
minibuffer.
(erc--scrolltobottom-all): New function to scroll all windows
displaying the current buffer.
(erc-add-scroll-to-bottom): Deprecate this function because it is now
unused in the default client and trivial to implement otherwise.
(erc--scrolltobottom-setup): New generic function to perform teardown
as well as setup depending on the state of the module's mode variable.
Also add an implementation specifically for `erc-scrolltobottom-all'
that locally modifies different sets of hooks depending on
`erc-scrolltobottom-relaxed'.
(erc--scrolltobottom-on-pre-insert): New generic function that
remembers the last `window-start' and maybe the current screen line
before inserting a message, in order to restore it afterward.
(erc--scrolltobottom-confirm): New function, a replacement for
`erc-scroll-to-bottom' that returns non-nil when it's actually
recentered the window.  For now, used only when
`erc-scrolltobottom-all' is enabled.
(erc-move-to-prompt-setup): Add `erc-move-to-prompt' to
`pre-command-hook' at a depth of 70 in the current buffer.
(erc-keep-place-mode, erc-keep-place-enable): Change hook depth from 0
to 85.
(erc--keep-place-indicator-setup): Add overlay arrow `after-string' in
non-graphical settings in case users have time stamps or other content
occupying the left margin.
(erc-keep-place-indicator-mode, erc-keep-place-indicator-enable):
Change hook depth from 90 to 85 locally so as not to conflict with a
value of t, for append.
(erc--keep-place-indicator-on-global-module): Change hook depth from
90 to 85 locally.
* test/lisp/erc/erc-scenarios-scrolltobottom-relaxed.el: New file.
* test/lisp/erc/erc-scenarios-scrolltobottom.el: New file.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--term-size, erc-scenarios-common--run-in-term,
erc-scenarios-common-interactive-debug-term-p,
erc-scenarios-common-with-noninteractive-in-term): New test macro and
supporting helper function and variables to facilitate running
scenario-based tests in an inferior Emacs, in term-mode.
(erc-scenarios-common--at-win-end-p,
erc-scenarios-common--above-win-end-p,
erc-scenarios-common--prompt-past-win-end-p,
erc-scenarios-common--recenter-top-bottom-around,
erc-scenarios-common--recenter-top-bottom,
erc-scenarios-scrolltobottom--normal): New test fixture and assertion
helper functions.
* test/lisp/erc/resources/scrolltobottom/help.eld: New file.
(Bug#64855)
2023-09-10 17:58:20 -07:00
F. Jason Park
7c932fa307 Add optional timezone param to erc-echo-timestamp
* etc/ERC-NEWS: Move `erc-echo-timestamp' from misc section
to own entry, and mention option `erc-echo-timestamp-zone'.
* lisp/erc/erc-stamp.el (erc-echo-timestamps): Mention that some
finagling is required if enabling this option after activating the
module.
(erc-echo-timestamp-format): Add additional Custom choice constants
and make the existing default one of them.
(erc-echo-timestamp-zone): New option to specify timezone for option
`erc-echo-timestamps' and function `erc-echo-timestamp'.
(erc-stamp-mode, erc-stamp-enable, erc-stamp-disable): Call
`erc-stamp--setup' instead of `erc-munge-invisibility-spec'.
(erc-stamp--current-time): Use `current-time' instead of
`erc-current-time'.
(erc-add-timestamp): Improve readability slightly, and change
`fboundp' to `functionp' to avoid signaling an error when the
variable's value is not a symbol.
(erc-munge-invisibility-spec): Perform teardown when boolean flag
options, like `erc-timestamp-intangible' and `erc-echo-timestamps' are
nil.
(erc-stamp--setup): Call `erc-munge-invisibility-spec', possibly
binding timestamp options to nil to force a tear down).
(erc-stamp--last-stamp, erc-stamp--on-clear-message): New function and
helper state variable to tell Emacs not to clear the current timestamp
message when navigating within the same IRC message.
(erc-echo-timestamp): Add optional `zone' parameter, to be passed
directly to `format-time-string', when non-interactive, and massaged
sensibly otherwise.  Set the local variable `erc-stamp--last-stamp'.
* test/lisp/erc/erc-stamp-tests.el (erc-echo-timestamp): New test.
(Bug#60936)
2023-09-10 17:58:20 -07:00
Eli Zaretskii
d5610127f9 ; Fix documentation of last change (bug#65621)
* lisp/dired.el (dired-movement-style): Fix doc string and
customization tags.
(dired-next-line, dired-previous-line): Doc fixes.

* etc/NEWS: Fix wording of last added entry.
2023-09-10 10:44:10 +03:00
shynur
d04c538e7c `dired-next-line' movement style (bug#65621)
Point will skips empty lines and optionally goto the other
end when encountering a boundary.
* lisp/dired.el (dired-movement-style): Control whether to
skip empty lines and whether to cycle through non-empty
lines.
* lisp/dired.el (dired-next-line): Add a new movement style
controlled by `dired-movement-style'.
* etc/NEWS (dired-movement-style):
2023-09-10 10:37:43 +03:00
João Távora
0c029ae8bc ; tweak etc/TODO item
* etc/TODO (Support external rules for indentation): Add reference
to discussion.
2023-09-09 12:01:51 -05:00
Mattias Engdegård
c137b5195b Add byte-compiler warning about useless trailing cond clauses
Warn about clauses after the default clause, as in

    (cond ((= x 0) (say "none"))
          (t (say "some"))
          (say "goodbye"))

because they are very much an indicator of a mistake (such as
misplaced brackets), and since they are deleted by the optimiser, any
other warnings there are lost and the user wouldn't know that
something is wrong otherwise.

* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Add warning.
* etc/NEWS: Announce.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Add test case.
2023-09-09 13:24:31 +02:00
Eli Zaretskii
9d27b95b26 Merge from origin/emacs-29
b8a8106fa1 ; Add missing space in the manual
5b906b6215 Fix defcustom :type of ielm-indirect-setup-hook
82af484ec1 ; Two updates of etc/TODO
0ab2823f51 ; Describe in PROBLEMS 2 problems with keyboard input
4e7112ab21 ; Fix inaccuracy in ELisp reference manual
34bbb6c8d2 Document NonGNU ELPA in FAQ
2af092741e Fix remote path setting in Eshell
4613575d97 ; * lisp/completion.el (dynamic-completion-mode): Fix las...
2f0f33fbf9 Update docs for (co-)maintainer changes
b068fcd4a3 * doc/lispref/strings.texi (Text Comparison): Fix typo (b...
2e2a5f8118 Adapt Tramp manual
d32f00a35b Improve docstring of message-sendmail-envelope-from
1a668cda8b Unbreak builds with CHECK_STRUCTS.
77b6e9bb17 Improve documentation of EPG
d3382f9471 ; * lisp/completion.el (dynamic-completion-mode): Doc fix.
1458daf316 Avoid crashes on macOS with context menus

# Conflicts:
#	src/pdumper.c
2023-09-09 04:33:47 -04:00
Eli Zaretskii
0273914921 Merge from origin/emacs-29
bc56da92d8 ; Fix error in 'tex-recenter-output-buffer'
d17c5adc05 Fix regexp for recognizing PBM images
9e9f61866e Improve wording in ELisp manual
7427efa033 Fix typo (Bug#65764)
59c6624408 ; * lisp/ido.el (ido-completion-buffer): Fix :type (bug#6...
4ec4b18c2a Fix libgccjit build on Haiku
80bdcf8f35 (regexp-tests-backtrack-optimization): Mark it as failing
8a9e653cc8 ; Add regression test for bug#65726
6fad73d7cc * src/regex-emacs.c (mutually_exclusive_p): Fix inf-loop ...
1d3d419607 ; * lisp/files.el (save-some-buffers-functions): Doc fix ...
42b14c6e5b Bump seq version to 2.24
ff5190a174 Add note on ELPA to admin/notes/bug-triage
f1e4cbe72a ; * etc/PROBLEMS: Minor wording fix.
fd5593c7f2 * etc/PROBLEMS: Mention bug#65432 and its remedy.
dd896ea1e6 Ignore errors when checking for object initializers (bug#...
3550f44c17 ; Fix typos
5b246b9b81 * CONTRIBUTE: Document making ChangeLogs with Magit.
0bd4661941 Doc fixes for obsolete functions and variables
524c0c34f2 ; * lisp/ffap.el (ffap-rfs-regexp): Fix :type (bug#65698).
f48dccc467 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
71a85e2266 A revision to the Widget manual
dbbcf4a659 Fix fontification of " in edit-kbd-macro

# Conflicts:
#	test/src/regex-emacs-tests.el
2023-09-09 04:32:45 -04:00
Eli Zaretskii
82af484ec1 ; Two updates of etc/TODO
* etc/TODO: Remove the redesign-overlays item (already done in
Emacs 29.1).  Add an item about supporting external indentation
rules.
2023-09-08 16:31:14 +03:00
Eli Zaretskii
0ab2823f51 ; Describe in PROBLEMS 2 problems with keyboard input
* etc/PROBLEMS: Describe problems with WSL and PGTK keyboard
input.  (Bug#65802)  (Bug#65811)
2023-09-08 15:35:05 +03:00
Po Lu
c933f5081f Permit XLFD names to exceed 255 characters
* doc/lispref/display.texi (Low-Level Font)
<font-xlfd-name>: Document new argument `long-xlfds'.

* etc/NEWS: Mention removal of XLFD length restrictions.

* src/font.c (font_build_object): Dynamically allocate XLFD,
permitting them to surpass 255 characters in length.
(font_parse_xlfd_1): Cease rejecting XLFDs more than 255
characters in length.
(font_dynamic_unparse_xlfd): New function.  Like
font_unparse_xlfd, but allocate the XLFD dynamically.
(font_delete_unmatched): Dynamically allocate XLFD if necessary.
(Ffont_xlfd_name): New arg LONG_XLFDs.  If t, return a
dynamically allocated XLFD.  All callers changed.

* src/font.h: Update prototypes.

* src/fontset.c (Fnew_fontset): Dynamically allocate XLFD when
establishing fontset name.
2023-09-08 10:37:18 +08:00
martin rudalics
2992b99aab New minor mode 'minibuffer-regexp-mode'
This mode is for editing regexps in minibuffer, it highlights
parens via `show-paren-mode' and `blink-matching-paren' in a
user-friendly way, avoids reporting false paren mismatches,
and makes sexp navigation more intuitive.
* lisp/minibuffer.el (minibuffer-regexp-mode)
(minibuffer--regexp-primed, minibuffer--regexp-prompt-regexp):
New variables.
(minibuffer--regexp-propertize, minibuffer--regexp-primed)
(minibuffer--regexp-before-change)
(minibuffer--regexp-after-change)
(minibuffer--regexp-post-self-insert, minibuffer--regexp-setup)
(minibuffer--regexp-exit, minibuffer-regexp-mode): New functions.
(minibuffer-regexp-prompts): New option.

* doc/lispref/minibuf.texi (Minibuffer Misc): Document the new
mode and its option.

* etc/NEWS: Announce the new mode.

Bug#50766
2023-09-07 11:40:48 +03:00
Po Lu
0cf8a16928 Tag NEWS
* etc/NEWS: Tag Android as documented, given that all pertinent
documentation has been written.
2023-09-07 11:02:28 +08:00
Dmitry Gutov
62229fb2d1 (project-try-vc): When found non-VC project root, still search for the backend
* lisp/progmodes/project.el (project-try-vc): When finding a
non-VC project root, still try to search for the containing
responsible VC backend, if any (bug#65704).
2023-09-06 23:30:42 +03:00
Stefan Monnier
2e7af2fc53 * lisp/emacs-lisp/cl-lib.el (cl-old-struct-compat-mode): Mark as obsolete
* lisp/emacs-lisp/cl-preloaded.el: Emit a message before enabling
`cl-old-struct-compat-mode`.

See bug#63282.
2023-09-05 12:56:24 -04:00
Protesilaos Stavrou
367c3f25a1 Add 'appt-notification' face (Bug#61661)
* lisp/calendar/appt.el (appt-notification): Declare the new face.
(appt-check): Implement the new face.
* etc/NEWS: Announce the new face.
2023-09-04 22:50:15 +02:00
Stefan Kangas
62f7760e61 Add skip-when macro to ert-deftest
This can help avoid some awkward test skip conditions.

For example, this triple negation:
    (skip-unless (not noninteractive))

Can be written as the simpler:
    (skip-when noninteractive)

* lisp/emacs-lisp/ert.el (ert-deftest): Add new 'skip-when' macro.
(ert--skip-when): New internal function.
* doc/misc/ert.texi (Tests and Their Environment): Document above
new macro.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-skip-when): New test.
2023-09-04 18:25:18 +02:00
Alan Mackenzie
f9b43107ce * etc/NEWS (static-if): Clarify the entry. 2023-09-04 13:06:44 +00:00
Gene Goykhman
55a0f0e047 Announce user option tramp-completion-multi-hop-methods
* doc/misc/tramp.texi (Ad-hoc multi-hops):
Add tramp-completion-multi-hop-methods.

* etc/NEWS: New user option tramp-completion-multi-hop-methods.
2023-09-04 11:43:18 +02:00
Alan Mackenzie
97652d0e7a New conditional compilation macro static-if.
* etc/NEWS: Record the new macro.

* lisp/subr.el (static-if): New macro.
2023-09-03 12:54:47 +00:00
Eli Zaretskii
f1e4cbe72a ; * etc/PROBLEMS: Minor wording fix. 2023-09-03 09:03:22 +03:00
Po Lu
fd5593c7f2 * etc/PROBLEMS: Mention bug#65432 and its remedy. 2023-09-03 09:25:06 +08:00
Jim Porter
5c181efcf2 ; * etc/NEWS: Tell users they don't need to change 'eshell-prompt-regexp'. 2023-09-02 15:47:36 -07:00
Davide Masserut
3d08d0dd80 Display the exit code if the last command failed in Eshell
* lisp/eshell/esh-io.el (eshell-last-command-status): Make
buffer-local.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Insert the exit
code if last command failed.

* test/lisp/eshell/em-prompt-tests.el (em-prompt-test/after-failure):
New test.
(em-prompt-test/next-previous-prompt-1)
(em-prompt-test/forward-backward-matching-input-1): Add a failing
command to tests.

* doc/misc/eshell.texi (Invocation): Document change.

* etc/NEWS: Announce change (bug#65604).
2023-09-02 15:40:04 -07:00
Eli Zaretskii
ec3ea8c036 Merge from origin/emacs-29
648a5e33e8 Update to Org 9.6.8-3-g21171d
458442fe78 Escape percent character in treesit--inspect-name (bug#65...
bc0426ce8e Don't add an extraneous slash in remote PATH list in Eshell
34f7a47c9c Fix Tramp on MS Windows
ea5fd6c96b * Fix native disassemble on Windows platforms (bug#65455)
91d2d8439b * Handle missing eln file when trying to disassble (bug#6...
e7ac50a153 * lisp/emacs-lisp/comp.el (comp--native-compile): Fix OUT...
45cf3a0ced Update to Transient v0.4.3
31d3808fb9 Adapt Eshell manual
0c50af054f Fix applying patches with Git on MS-Windows

# Conflicts:
#	doc/misc/transient.texi
#	test/lisp/eshell/esh-util-tests.el
2023-09-02 04:28:17 -04:00
Yuan Fu
2547fbe9c4
Obsolete treesit-block/sexp/sentence/text-type-regexp
And replace them with treesit-thing-settings.

* doc/lispref/positions.texi (List Motion): Remove mention of
treesit-sexp/sentence-type-regexp.

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode)
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
* lisp/progmodes/java-ts-mode.el (java-ts-mode)
* lisp/progmodes/js.el (js-ts-mode)
* lisp/progmodes/json-ts-mode.el (json-ts-mode)
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode)
(tsx-ts-mode)
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode)
* lisp/progmodes/sh-script.el (bash-ts-mode)
* lisp/progmodes/prog-mode.el (prog-fill-reindent-defun)
* lisp/textmodes/html-ts-mode.el (html-ts-mode): Replace
treesit-sexp/sentence/text-type-regexp with treesit-thing-settings.

* lisp/treesit.el (treesit-sexp-type-regexp)
(treesit-sentence-type-regexp): Mark obsolete.
(treesit-block-type-regexp): Remove.

* lisp/treesit.el (treesit-forward-sexp)
(treesit-transpose-sexps)
(treesit-beginning-of-defun)
(treesit-end-of-defun)
(treesit-forward-sentence)
(treesit-defun-at-point): Make use of treesit-thing-settings.

(treesit-thing-definition)
(treesit-thing-defined-p): New functions.

(treesit-major-mode-setup): Replace
treesit-sexp/sentence-type-regexp with treesit-thing-settings.
2023-09-01 20:38:25 -07:00
Stefan Kangas
65dca8db3c Make url-gateway-broken-resolution obsolete
* lisp/url/url-gw.el (url-gateway-broken-resolution)
(url-gateway-nslookup-program, url-gateway-nslookup-host): Make obsolete.
* doc/misc/url.texi (Broken hostname resolution): Delete commented
out section.
2023-09-02 02:37:03 +02:00
Stefan Kangas
7d60d1652f Make checkdoc warn if not using lexical-binding
* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
Warn if there is no lexical-binding cookie.  (Bug#59920)
(checkdoc-lexical-binding-flag): New user option.
2023-09-01 22:05:35 +02:00
Ihor Radchenko
05a7c91b91 Make emacsclient handle org-protocol:// links
Org mode provides a way to quickly capture bookmarks, notes, and links
using emacsclient:

    emacsclient "org-protocol://store-link?url=URL&title=TITLE"

* etc/emacsclient.desktop: Make Emacs the default application for
org-protocol.  (Bug#65469)
2023-09-01 20:50:06 +02:00
João Távora
c5d9118bba ; Eglot: Update etc/EGLOT-NEWS
* etc/EGLOT-NEWS: Mention bug number of last change.
2023-09-01 01:09:57 +01:00
João Távora
ed5ccf9da2 Eglot: revamp confirmation model for server-proposed edits
bug#60338

The variable 'eglot-confirm-server-edits' replaces the obsolete
'eglot-confirm-server-initiated-edits' and brings about a new
confirmation model, making it possible to have only certain commands
require user confirmation.  This was achieved careful usage of the
'this-command' and 'last-command' variables.

There are now two types of confirmation: the usual
minibuffer summary and a temporary 'diff-mode' buffer to display the
proposed changes, so the user can apply them one by one.

Thanks to Philip Kaludercic for the diff-mode idea and implementation.

Co-authored-by: Philip Kaludercic <philipk@posteo.net>

* doc/misc/eglot.texi (Eglot Variables): Describe
'eglot-confirm-server-edits'.

* etc/EGLOT-NEWS (latest): Mention change.

* lisp/progmodes/eglot.el (diff-mode): Require it.
(eglot-confirm-server-initiated-edits): Obsolete it.
(eglot-confirm-server-edits): New variable.
(eglot-handle-request workspace/applyEdit): Use 'last-command'
(eglot-execute t t): Use 'this-command'.
(eglot--apply-workspace-edit): Rework.
(eglot-rename): Use 'this-command'.
2023-09-01 01:00:19 +01:00
Stefan Kangas
f7712bc82a Make Makefile browser obsolete
* lisp/progmodes/make-mode.el:
(makefile-mode): Don't document Makefile browser mode.
(makefile-browser-toggle-state-for-line):
(makefile-browser-buffer-name, makefile-browser-leftmost-column)
(makefile-browser-cursor-column, makefile-browser-selected-mark)
(makefile-browser-unselected-mark)
(makefile-browser-auto-advance-after-selection-p)
(makefile-browser-hook, makefile-browser-map)
(makefile-browser-client, makefile-browser-selection-vector)
(makefile-browser-format-target-line)
(makefile-browser-format-macro-line, makefile-browser-fill)
(makefile-browser-next-line, makefile-browser-previous-line)
(makefile-browser-quit, makefile-browser-toggle)
(makefile-browser-insert-continuation)
(makefile-browser-insert-selection)
(makefile-browser-insert-selection-and-quit)
(makefile-browser-send-this-line-item)
(makefile-browser-start-interaction, makefile-browse)
(makefile-switch-to-browser, makefile-browser-on-macro-line-p)
(makefile-browser-this-line-target-name)
(makefile-browser-this-line-macro-name)
(makefile-browser-get-state-for-line)
(makefile-browser-set-state-for-line)
(makefile-browser-toggle-state-for-line): Make obsolete.  (Bug#58848)
(makefile-mode-menu): Remove Makefile browser from menu.
* etc/NEWS: Announce its obsoletion.
2023-08-29 18:28:57 +02:00
Eshel Yaron
b2ba4cb870 Rename 'package-vc-allow-side-effects' to better fit its use
* lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects):
Rename to 'package-vc-allow-build-commands'.
(package-vc--unpack-1): Use new name.
* doc/emacs/package.texi (Fetching Package Sources): Use new name.
* etc/NEWS: Adapt accordingly.  (Bug#65386)
2023-08-29 10:41:53 +02:00
Juri Linkov
76938e1789 * lisp/tab-bar.el: Add tab-bar-tab-name-format-functions (bug#65554)
(tab-bar-tab-name-format-truncated)
(tab-bar-tab-name-format-hints)
(tab-bar-tab-name-format-close-button)
(tab-bar-tab-name-format-face): New functions.
(tab-bar-tab-name-format-functions): New defcustom.
(tab-bar-tab-name-format-default): Rewrite to use
'tab-bar-tab-name-format-functions'.
2023-08-28 19:57:16 +03:00
Kyle Meyer
648a5e33e8 Update to Org 9.6.8-3-g21171d 2023-08-27 22:38:34 -04:00
F. Jason Park
b93757029c Warn about implicit logging in erc-truncate-mode
* etc/ERC-NEWS: Add entry explaining that `erc-truncate-mode' no
longer quasi-activates `erc-log-mode' under certain conditions.
* lisp/erc/erc-log.el
(erc-log--call-when-logging-enabled-sans-module): Add helper for use
by the `truncate' module during initialization.
* lisp/erc/erc-truncate.el (erc-truncate-mode, erc-truncate-enable,
erc-truncate-disable): Warn on `erc-connect-pre-hook' when conditions
exist that would have seen logging transparently activated in older
ERC versions.
(erc-truncate--warn-about-logging): New function to warn about
implicit logging on pre-connect.
(erc-truncate-buffer-to-size): Clarify some comments and revise doc
string.
* test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--truncate):
Disable `erc-truncate-mode' even though `erc-modules' is shadowed so
that `erc-insert-done-hook' and friends are not contaminated.
`(Bug#60936)
2023-08-25 14:47:07 -07:00
Po Lu
32fe187bdf Install rcs2log within Emacs packages for Android
* doc/emacs/android.texi (Android Environment): Mention the
`rcs2log' program name variable.  Also refine the wording of the
paragraph describing bundled programs a bit.

* doc/lispref/processes.texi (Subprocess Creation): Mention
`rcs2log' and `rcs2log-program-name'.  Correct typos and
spelling mistakes within the variable index.

* etc/NEWS: Amend the announcement of *-program-name to also
cite rcs2log.

* java/Makefile.in (install_temp): Copy rcs2log to
lib/*/librcs2log.so after minor revisions to change the
interpreter name.

* lisp/vc/vc-rcs.el (vc-rcs-rcs2log-program): Ground the program
name upon `rcs2log-program-name'.

* src/callproc.c (syms_of_callproc) <Vrcs2log_program_name>: New
defvar.  Define to `librcs2log.so' under Android, `rcs2log'
elsewhere.
2023-08-24 12:41:54 +08:00
Dmitry Gutov
1992ad96d5 ; Fix typo (bug#63829) 2023-08-23 21:23:41 +03:00
Dmitry Gutov
bfafc405fe project-key-prompt-style: New option.
* lisp/progmodes/project.el (project-file-history-behavior):
Add :group and :version tags.
(project-key-prompt-style): New option (bug#64799).

* etc/NEWS: Mention it.
2023-08-23 19:36:56 +03:00
Spencer Baugh
e3209923c3 Support adjusting file-name-history to the current project
This adds project-file-history-behavior which has the effect described in
its docstring.  Implementing a sort of sharing of file-name-history
between projects.

* lisp/progmodes/project.el (project-file-history-behavior):
New option.  (bug#63829)
(project--transplant-file-name): Add.
(project--read-file-cpd-relative): Move history manipulations to
project--read-file-name.
(project--read-file-name): New function.  Refer to
project-file-history-behavior.
(project-find-file-in, project-find-dir): Use it.
(project-or-external-find-file): Bind the new option to t, to avoid
touching the external file names.

* etc/NEWS: Announce the new option.

Co-authored-by: Dmitry Gutov <dmitry@gutov.dev>
2023-08-23 05:28:20 +03:00
Po Lu
5ac8c19826 Illustrate more font problems
* etc/PROBLEMS (Runtime problems specific to Android): Mention
problems with three other fonts users have inquired into.
2023-08-22 21:42:06 +08:00
Po Lu
354766bcc0 ; * etc/DEBUG: Fix typo. 2023-08-22 10:45:29 +08:00
Po Lu
506ba5c040 * etc/DEBUG: Mention android_exception_check specifics. (bug#65445) 2023-08-22 10:43:58 +08:00
Jim Porter
357c2fba98 Merge from origin/emacs-29
3296031ad7 ; Another improvement for documentation of pixelwise scro...
baeb2d71ae Support defun navigation for DEFUN in c-ts-mode (bug#64442)
781ddd7e7d Fix touchpad scrolling on MS-Windows
c125bd060e Fix order in which package-vc dependencies are resolved
500ced133a Fix building of VC package manuals with relative org link...
456ecabe9e Fix the documentation of 'cl-flet'
f6ebd1ef0d ; * src/treesit.c (Ftreesit_node_parent): Improve comment...
fac0e2d533 Avoid false "wrong passphrase" messages in EPA
8f683b51d8 Fix jsx font-lock in older tree-sitter-js grammars
d9af79ae39 Fix cloning 'face-remapping-alist' for indirect buffers
636fb267c4 Improve documentation of case transfer in replacement com...
7856d51436 Fix horizontal scrolling of images with C-f
8cf5659ec2 ; Fix defcustom in completion.el
a8c8a4e368 ; * src/fns.c (Fcopy_sequence): Doc fix.  (Bug#64960)
205d87cdca Fix unpacking ZIP archives on MS-Windows
3712e8bc38 ; Fix typos in lisp/keymap.el doc strings (bug#65329).
21b2ecee66 Fix command example in Eshell manual
26949819df ; lisp/progmodes/csharp-mode.el (treesit-query-capture): ...
221ed70b90 ; Improve documentation of 'define-alternatives'
32280205e2 Add user options mentioned in the Eshell manual to the va...
cf3145a486 * Add missing alias to `native-comp-enable-subr-trampolin...
922b649028 * Add missing alias to `native-comp-enable-subr-trampolin...
6962823c83 ; * etc/PROBLEMS: Fix typo and clarify wording.

# Conflicts:
#	doc/misc/eshell.texi
2023-08-21 18:23:11 -07:00
Jim Porter
cf52cdb121 Allow splicing Eshell globs in-place
This means that Eshell globs can now expand the same way as if the
user had typed each matching file individually.

* lisp/eshell/em-glob.el (eshell-glob-splice-results): New option.
(eshell-no-command-globbing, eshell-add-glob-modifier): Handle spliced
globs.
(eshell-extended-glob): Always return a list when splicing.

* lisp/eshell/em-pred.el (eshell-parse-arg-modifier): Ensure
'eshell-splice-args' is always at the end of the list of modifiers if
present.

* test/lisp/eshell/em-glob-tests.el
(em-glob-test/expand/splice-results)
(em-glob-test/expand/no-splice-results)
(em-glob-test/expand/explicitly-splice-results)
(em-glob-test/expand/explicitly-listify-results): New tests.
(em-glob-test/no-matches): Check result when
'eshell-glob-splice-results' is nil/non-nil.

* doc/misc/eshell.texi (Arguments): Expand explanation about argument
flattening.
(Globbing): Document splicing behavior of globs.

* etc/NEWS: Announce this change.
2023-08-21 11:42:46 -07:00
Eli Zaretskii
321f6bd572 ; Fix documentation of last change
* lisp/net/eww.el (eww--open-url-in-new-buffer)
(eww-open-in-new-buffer):
* etc/NEWS:
* doc/misc/eww.texi (Basics): Improve the documentation of this
new feature.  (Bug#65346)
2023-08-20 11:48:03 +03:00
Lin Sun
bef68b7bbe Allow fetching URL at point without switching to it
* lisp/net/eww.el (eww-open-in-new-buffer):  Stay on current
buffer when invoked with prefix argument.  (Bug#65346)
2023-08-20 11:46:36 +03:00
Michael Albinus
efb276fef1 New user option pcomplete-remote-file-ignore
* etc/NEWS: Mention pcomplete-remote-file-ignore.

* lisp/pcomplete.el (pcomplete-remote-file-ignore):
New user option.
(pcomplete--entries): Use it.

* lisp/shell.el (shell-completion-vars):
Set 'pcomplete-remote-file-ignore'.
2023-08-20 09:41:07 +02:00
Philip Kaludercic
41ff369917 Add command to start Emacs with specific packages
* lisp/emacs-lisp/package.el (package--dependencies): Extend function
to handle and return package descriptors.
(package-isolate): Add new command.
* etc/NEWS: Announce new command.
2023-08-19 12:08:10 +02:00
Po Lu
5856ea5e4e Introduce support for Desktop Notifications on Haiku
* doc/lispref/os.texi (Desktop Notifications): Document Haiku
desktop notifications.

* etc/NEWS: Announce this change.

* lisp/org/org-clock.el (haiku-notifications-notify): New
declaration.
(org-show-notification): Employ that function.

* src/haiku_io.c (haiku_len) <NOTIFICATION_CLICK_EVENT>: Return
the length for this type of event.

* src/haiku_select.cc (my_team_id, be_display_notification): New
functions.

* src/haiku_support.cc (my_team_id, ArgvReceived): New
functions.

* src/haiku_support.h (enum haiku_event_type): New event type
NOTIFICATION_CLICK_EVENT.
(struct haiku_notification_click_event): New structure.

* src/haikuselect.c (haiku_notifications_notify_1)
(Fhaiku_notifications_notify): New functions.
(syms_of_haikuselect): Register new defsubr.

* src/haikuterm.c (haiku_read_socket):
* src/haikuselect.h:
* src/termhooks.h: Add new events for notification clicks on
Haiku.
2023-08-17 08:34:32 +00:00
Po Lu
ab8bc93cd4 ; Add tasks for the Android port
* etc/PROBLEMS: Improve descriptions of issues with Droid Sans
Mono and Anonymous Pro.  Then, bring up the subject of CFF fonts
and how they relate to CJK text.

* etc/TODO: Detail that CFF support is desired.
2023-08-17 10:04:47 +08:00
Po Lu
4509cda5c9 Update Android port
* configure.ac (emacs_cv_tputs_lib): Only circumvent termcap if
Android windowing support is enabled.  (bug#65340)

* etc/PROBLEMS: Fix typo in section recouting problems with the
Anonymous Pro font.

* lisp/subr.el (event-start, event-end): Return the mouse
position list tied to touchscreen-begin and end events.
Reported by Stefan Monnier <monnier@iro.umontreal.ca>.

* lisp/version.el (emacs-build-system, emacs-build-time)
(emacs-repository-get-version, emacs-repository-get-branch):
Bypass Android specific code on non-GUI builds running on
Android.  (bug#65340)

* lisp/wid-edit.el (widget-event-point): Remove now redundant
code.
2023-08-17 08:45:57 +08:00
Michael Albinus
ebe8871794 ; * etc/NEWS: Fix typos. 2023-08-16 20:12:42 +02:00
Jim Porter
c4915678f3 Add 'compile' builtin command for Eshell
* lisp/eshell/em-unix.el (eshell-compile, eshell/compile): New
functions.
(eshell/make, eshell-grep): Use 'eshell-compile'.
(eshell/glimpse): It's no longer necessary to let-bind 'null-device';
'eshell-grep' no longer calls 'grep' (the Lisp function), which needed
'null-device' to be nil for this case.

* test/lisp/eshell/em-unix-tests.el: New file.

* doc/misc/eshell.texi (Built-ins): Document the 'compile' builtin.

* etc/NEWS: Announce this change (bug#65273).
2023-08-16 10:01:49 -07:00
Po Lu
d6c473a91d * etc/PROBLEMS: Document a problem with the Anonymous Pro font. 2023-08-16 22:06:10 +08:00
Po Lu
5e9711fe58 ; * etc/MACHINES (Android): Clarify a minor point. 2023-08-16 20:35:08 +08:00
Po Lu
f2f2e6a082 Update Android port
* configure.ac: Test for getpwent using gl_CHECK_FUNCS_ANDROID.
(bug#65319)

* etc/MACHINES (Android): Mention that a non-GUI build is also
possible on Android.

* lisp/loadup.el: Provide for regular builds on Android.
(bug#65339)

* lisp/wid-edit.el (widget-event-start): Remove function, since
event-start now does the same thing.
(widget-button--check-and-call-button, widget-button-click):
Adjust correspondingly.  Reported by Stefan Monnier
<monnier@iro.umontreal.ca>.

* src/sysdep.c (close_output_streams): Apply workarounds for the
file descriptor sanitizer on all builds where __ANDROID__ is
defined, not just Android port builds.  (bug#65340)
2023-08-16 20:32:38 +08:00
Po Lu
3e51847801 Improve java/DEBUG
* etc/DEBUG: Significantly reword and expand section.
(bug#65268)
2023-08-16 16:13:19 +08:00
Po Lu
6962823c83 ; * etc/PROBLEMS: Fix typo and clarify wording.
I-Bus is merely one of the many X input methods plagued with
crashes.
2023-08-14 16:04:03 +08:00
Stefan Monnier
4ff5bb3415 * etc/NEWS (cl-print-ellipsis): Mention backtrace-ellipsis 2023-08-13 15:23:26 -04:00
Po Lu
305847f877 Describe how to read Logcat output in etc/DEBUG
* etc/DEBUG (Debugging Emacs on Android): Describe the
three kinds of crash messages Android prints to logcat,
and how they are read.  (bug#65268)
2023-08-13 20:31:21 +08:00
Eli Zaretskii
3fc9793a26 Merge from origin/emacs-29
842dbf500e * Fix `batch-byte+native-compile' target directory.
8dbd5aa1ee Avoid crashes in 'display_count_lines' when current buffe...
47b4f4cf78 ; * doc/emacs/mini.texi (Completion Commands): Fix a typo...
78999d5213 Update csharp tree-sitter support due to upstream changes
556cb01b48 Substitute command keys in 'ielm-header' at use time
99367078e5 ; * etc/PROBLEMS: Add entry about XIM problems (bug#65205).
03e897c08f Fix rare crashes in redisplay due to problems with fontsets
b1ba06a1e4 Fix a typo in 'leuven-dark-theme.el'
e80a9dcabb ; * admin/git-bisect-start: Update failing commits
9091f42784 ; * admin/git-bisect-start: Update failing commits
344ac529ca ; * etc/PROBLEMS: Fix typo.
bccf848b26 Adapt Tramp test
71bc060e40 Properly expand the JSX indentation rules in 'js-ts-mode'
889cfb42ed * Add `emacs-lisp-native-compile' to easy-menu.
4535aafa8a * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Si...
173af0cad5 * Introduce `emacs-lisp-native-compile'.
063d7d89d7 Fix the -x switch in non-X builds
5a7fb0b39b Document that `set-mouse-color' does not work everywhere
d06fc72496 ; * doc/emacs/dired.texi (Misc Dired Features): Fix last ...
97b8ac376b Fix the effects and documentation of 'dired-free-space'
75c72e59f6 ; Fix typo
6d11b7b300 Fix cross-reference to eldoc in eglot manual
913e50aba6 Add native-compilation to Emacs Lisp mode menu
b93107c20b Fix emacs-lisp-native-compile-and-load eln target directo...
2023-08-12 13:50:38 -04:00
Eli Zaretskii
b289f0769f Merge from origin/emacs-29
4767f5eaee Better fix for bug#65156
dd1d8414b3 Fix insert-file-contents with pipes and /dev/stdin
50649a6d1a ; * etc/PROBLEMS: Fix wording.
f0dda682ff ; * etc/NEWS.28: Add deletion of levents.el.
f4acae842c Fix bug#65042
e1874c4e8b * configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes (b...
ef8838c3a5 * etc/NEWS: Mention tramp-show-ad-hoc-proxies.
495bee253f * test/lisp/net/tramp-tests.el (tramp-test42-utf8): Skip ...
de1effd73b ; Fix last change
7c7966862b * test/lisp/net/tramp-tests.el (tramp-test10-write-region...
16205e8db6 ; Improve help-echo in package.el
a95e700698 ; Filter packages available for upgrade via menu bar
adff72dd1d Fix reverting Rmail buffers
2023-08-12 13:42:14 -04:00
Eli Zaretskii
99367078e5 ; * etc/PROBLEMS: Add entry about XIM problems (bug#65205). 2023-08-12 10:04:55 +03:00
Eli Zaretskii
b1ba06a1e4 Fix a typo in 'leuven-dark-theme.el'
* etc/themes/leuven-dark-theme.el (leuven-dark): Fix a typo.
Reported by John Poole <saxcos@posteo.es>.  (Bug#65239)
2023-08-12 09:27:23 +03:00
Po Lu
3dbf2edb3c Improve kill-ring-deindent-mode
* etc/NEWS:
* lisp/simple.el (kill-ring-deindent-buffer-substring-function):
(kill-ring-deindent-mode): Deindent by the column number at BEG
in lieu of the indentation at BEG.
2023-08-11 16:08:16 +08:00
Po Lu
dcd551d6c8 New global minor mode `kill-ring-deindent-mode'
* etc/NEWS: Announce the new minor mode.

* lisp/simple.el (kill-ring-deindent-buffer-substring-function):
New function.
(kill-ring-deindent-mode): New minor mode, for trimming excess
indentation from saved text.
2023-08-11 15:58:57 +08:00
Robert Pluim
344ac529ca ; * etc/PROBLEMS: Fix typo. 2023-08-10 12:44:37 +02:00
Po Lu
5a7fb0b39b Document that `set-mouse-color' does not work everywhere
* etc/PROBLEMS (Miscellaneous Problems): Mention where
`set-mouse-color' does not work.
2023-08-10 15:31:09 +08:00
Eric S. Raymond
fce3815921 Fix all my attributions to be correct and consistent...
...in case people are trying to track me down for questions.

.mailmap, ChangeLog.1, admin/notes/copyright, doc/emacs/ChangeLog.1,
doc/emacs/ack.texi, doc/lispref/ChangeLog.1, doc/misc/gnus.texi,
etc/ChangeLog.1, lib-src/ChangeLog.1, lisp/ChangeLog.13,
lisp/ChangeLog.14, lisp/ChangeLog.15, lisp/ChangeLog.17,
lisp/ChangeLog.3, lisp/ChangeLog.4, lisp/ChangeLog.5,
lisp/ChangeLog.6, lisp/ChangeLog.7, lisp/emacs-lisp/lisp-mnt.el,
lisp/finder.el, lisp/loadhist.el, lisp/play/cookie1.el,
lisp/progmodes/asm-mode.el, lisp/progmodes/gud.el,
lisp/progmodes/make-mode.el, lisp/term/AT386.el, src/ChangeLog.3
2023-08-08 20:07:52 -04:00
Eli Zaretskii
50649a6d1a ; * etc/PROBLEMS: Fix wording. 2023-08-08 15:22:14 +03:00
Po Lu
8cd1681c32 Merge remote-tracking branch 'savannah/master' into master-android-1 2023-08-08 13:39:45 +08:00
Po Lu
3fb2c174d3 Enable visiting FIFOs as files
* doc/lispref/files.texi (Reading from Files): Document new
`if-regular' value of REPLACE.

* etc/NEWS: Announce the new value.

* lisp/files.el (basic-save-buffer-2): Demote errors saving
backup files, since FIFOs cannot be copied.
(revert-buffer-insert-file-contents--default-function): Supply
`if-regular' instead of t as REPLACE.

* src/fileio.c (selinux_enabled_p): New function.
(Fcopy_file, Ffile_selinux_context, Fset_file_selinux_context):
Call that function to ascertain if SELinux applies to a file.
(read_non_regular): Don't assume `emacs_fd_read' always returns
int.
(Finsert_file_contents): If REPLACE is if-regular and FILENAME
is a special non-seekable file, fall back to erasing the buffer
before inserting the contents of that file.
(syms_of_fileio) <Qif_regular>: New symbol.
2023-08-08 13:37:00 +08:00
Stefan Kangas
f0dda682ff ; * etc/NEWS.28: Add deletion of levents.el. 2023-08-08 04:47:34 +02:00
Stefan Kangas
b48793253b Make Emacs 21 compat aliases easy-mmode-* obsolete
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode)
(easy-mmode-define-global-mode): Make Emacs 21 compatibility aliases
obsolete.
* doc/lispref/loading.texi (Autoload):
* doc/lispref/modes.texi (Defining Minor Modes): Don't document
above obsolete aliases.
2023-08-08 04:03:17 +02:00
Michael Albinus
ef8838c3a5 * etc/NEWS: Mention tramp-show-ad-hoc-proxies. 2023-08-06 21:25:40 +02:00
Po Lu
7ffc5f86e4 Merge remote-tracking branch 'origin/master' into feature/android 2023-08-06 21:45:44 +08:00
Stefan Kangas
3135007bf1 Mark Emacs 20 color support compat aliases obsolete
* lisp/faces.el (x-defined-colors, x-color-defined-p)
(x-color-values, x-display-color-p): Make Emacs 20 compat aliases
obsolete.  Update one caller to use the new names.
* doc/lispref/frames.texi (Color Names): Do not document above
obsolete aliases.
2023-08-06 11:40:15 +02:00
Po Lu
2867f62484 Merge remote-tracking branch 'origin/master' into feature/android 2023-08-06 07:38:10 +08:00