1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-02 11:21:42 +00:00

Merge from origin/emacs-29

7d3a144486 ; Mention defface's and their :version tags in CONTRIBUTE.
09c53b717d * admin/notes/kind-communication: New file.
31ca4e5501 ; And another fix of CONTRIBUTE.
d65499e790 ; Another clarification in CONTRIBUTE.
571ec583d6 ; Clarify "ChangeLog entries" in CONTRIBUTE.
e268231686 Don't skip links to "." and ".." in Dired when marking files
e25d11314d Pass unquoted filename to user-supplied MUSTMATCH predicate
4749699370 * doc/lispref/parsing.texi (Retrieving Nodes): Improve do...
d0673ea0d4 ; * etc/PROBLEMS: Workaround for Windows key "stuck" (bug...

* lisp/emacs-lisp/trace.el:
* java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Remove
training whitespace.
This commit is contained in:
Eli Zaretskii 2024-02-10 05:07:56 -05:00
commit 22d500ce21
9 changed files with 107 additions and 54 deletions

View File

@ -115,9 +115,10 @@ mode after hiding the body of each entry.
Doc-strings should be updated together with the code.
New defcustom's should always have a ':version' tag stating the first
Emacs version in which they will appear. Likewise with defcustom's
whose value is changed -- update their ':version' tag.
New defcustom's and defface's should always have a ':version' tag
stating the first Emacs version in which they will appear. Likewise
with defcustom's or defface's whose value is changed -- update their
':version' tag.
Think about whether your change requires updating the manuals. If you
know it does not, mark the NEWS entry with "---" before the entry. If
@ -170,9 +171,9 @@ test 'out-of-tree' builds as well, i.e.:
** Commit messages
Ordinarily, a change you commit should contain a log entry in its
commit message and should not touch the repository's ChangeLog files.
Here is an example commit message (indented):
Ordinarily, a changeset you commit should contain a description of the
changes in its commit message and should not touch the repository's
ChangeLog files. Here is an example commit message (indented):
Deactivate shifted region
@ -184,8 +185,9 @@ Here is an example commit message (indented):
Deactivate the mark.
Occasionally, commit messages are collected and prepended to a
ChangeLog file, where they can be corrected. It saves time to get
them right the first time, so here are guidelines for formatting them:
generated ChangeLog file, where they can be corrected. It saves time
to get them right the first time, so here are guidelines for
formatting them:
- Start with a single unindented summary line explaining the change;
do not end this line with a period. If possible, try to keep the
@ -194,9 +196,10 @@ them right the first time, so here are guidelines for formatting them:
contexts.
If the summary line starts with a semicolon and a space "; ", the
commit message will be ignored when generating the ChangeLog file.
Use this for minor commits that do not need separate ChangeLog
entries, such as changes in etc/NEWS.
commit message will be skipped and not added to the generated
ChangeLog file. Use this for minor commits that do not need to be
mentioned in the ChangeLog file, such as changes in etc/NEWS, typo
fixes, etc.
- After the summary line, there should be an empty line.
@ -211,8 +214,9 @@ them right the first time, so here are guidelines for formatting them:
enforced by a commit hook.
- If only a single file is changed, the summary line can be the normal
file first line (starting with the asterisk). Then there is no
individual files section.
first line of a ChangeLog entry (starting with the asterisk). Then
there will be no individual ChangeLog entries beyond the one in the
summary line.
- If the commit has more than one author, the commit message should
contain separate lines to mention the other authors, like the
@ -243,12 +247,12 @@ them right the first time, so here are guidelines for formatting them:
- Explaining the rationale for a design choice is best done in comments
in the source code. However, sometimes it is useful to describe just
the rationale for a change; that can be done in the commit message
between the summary line and the file entries.
between the summary line and the following ChangeLog entries.
- Emacs generally follows the GNU coding standards for ChangeLogs: see
https://www.gnu.org/prep/standards/html_node/Change-Logs.html
or run 'info "(standards)Change Logs"'. One exception is that
commits still sometimes quote `like-this' (as the standards used to
- Emacs follows the GNU coding standards for ChangeLog entries: see
https://www.gnu.org/prep/standards/html_node/Change-Logs.html or run
'info "(standards)Change Logs"'. One exception is that commits
still sometimes quote `like-this' (as the standards used to
recommend) rather than 'like-this' or like this (as they do now),
as `...' is so widely used elsewhere in Emacs.
@ -261,9 +265,9 @@ them right the first time, so here are guidelines for formatting them:
in Emacs; that includes spelling and leaving 2 blanks between
sentences.
They are preserved indefinitely, and have a reasonable chance of
being read in the future, so it's better that they have good
presentation.
The ChangeLog entries are preserved indefinitely, and have a
reasonable chance of being read in the future, so it's better that
they have good presentation.
- Use the present tense; describe "what the change does", not "what
the change did".

View File

@ -0,0 +1,21 @@
The GNU Project encourages contributions from anyone who wishes to
advance the development of the GNU system, regardless of gender, race,
ethnic group, physical appearance, religion, cultural background, and
any other demographic characteristics, as well as personal political
views.
People are sometimes discouraged from participating in GNU development
because of certain patterns of communication that strike them as
unfriendly, unwelcoming, rejecting, or harsh. This discouragement
particularly affects members of disprivileged demographics, but it is
not limited to them. Therefore, we ask all contributors to make a
conscious effort, in GNU Project discussions, to communicate in ways
that avoid that outcome — to avoid practices that will predictably and
unnecessarily risk putting some contributors off.
The GNU Kind Communications Guidelines suggest specific ways to
accomplish that goal. You can find the latest version at
https://www.gnu.org/philosophy/kind-communication.html
When sending messages to Emacs mailing lists, we ask you to read and
respect these guidelines.

View File

@ -794,7 +794,7 @@ that comes after it in the buffer position order, i.e., nodes with
start positions greater than the end position of @var{start}.
In the tree shown above, @code{treesit-search-subtree} traverses node
@samp{S} (@var{start}) and nodes marked with @code{o}, where this
@samp{S} (@var{start}) and nodes marked with @code{o}, whereas this
function traverses the nodes marked with numbers. This function is
useful for answering questions like ``what is the first node after
@var{start} in the buffer that satisfies some condition?''
@ -916,35 +916,37 @@ nodes.
@defun treesit-parent-until node predicate &optional include-node
This function repeatedly finds the parents of @var{node}, and returns
the parent that satisfies @var{pred}. @var{pred} can be either a
function that takes a node as argument and returns @code{t} or
@code{nil}, or a regexp matching node type names, or other valid
the parent that satisfies @var{predicate}. @var{predicate} can be
either a function that takes a node as argument and returns @code{t}
or @code{nil}, or a regexp matching node type names, or other valid
predicates described in @var{treesit-thing-settings}. If no parent
satisfies @var{pred}, this function returns @code{nil}.
satisfies @var{predicates}, this function returns @code{nil}.
Normally this function only looks at the parents of @var{node} but not
@var{node} itself. But if @var{include-node} is non-@code{nil}, this
function returns @var{node} if @var{node} satisfies @var{pred}.
function returns @var{node} if @var{node} satisfies @var{predicate}.
@end defun
@defun treesit-parent-while node pred
@defun treesit-parent-while node predicate
This function goes up the tree starting from @var{node}, and keeps
doing so as long as the nodes satisfy @var{pred}. That is, this
function returns the highest parent of @var{node} that still satisfies
@var{pred}. Note that if @var{node} satisfies @var{pred} but its
immediate parent doesn't, @var{node} itself is returned.
@var{pred} is the same as in @code{treesit-parent-until} above.
doing so as long as the nodes satisfy @var{predicate}, a function that
takes a node as argument. That is, this function returns the highest
parent of @var{node} that still satisfies @var{predicate}. Note that if
@var{node} satisfies @var{predicate} but its immediate parent doesn't,
@var{node} itself is returned.
@end defun
@defun treesit-node-top-level node &optional type
@defun treesit-node-top-level node &optional predicate include-node
This function returns the highest parent of @var{node} that has the
same type as @var{node}. If no such parent exists, it returns
@code{nil}. Therefore this function is also useful for testing
whether @var{node} is top-level.
If @var{type} is non-@code{nil}, this function matches each parent's
type with @var{type} as a regexp, rather than using @var{node}'s type.
If @var{predicate} is @code{nil}, this function uses @var{node}'s type
to find the parent. If @var{predicate} is non-@code{nil}, this
function searches the parent that satisfies @var{predicate}. If
@var{include-node} is non-@code{nil}, this function returns @var{node}
if @var{node} satisfies @var{predicate}.
@end defun
@node Accessing Node Information

View File

@ -476,6 +476,29 @@ You are probably using a shell that doesn't support job control, even
though the system itself is capable of it. Either use a different shell,
or set the variable 'cannot-suspend' to a non-nil value.
*** Emacs running on WSL receives stray characters as input.
For example, you could see Emacs inserting 'z' characters even though
nothing is typed on the keyboard, and even if you unplug the keyboard.
The reason is a bug in the WSL X server's handling of key-press and
key-repeat events. A workaround is to use the Cygwin or native
MS-Windows build of Emacs instead.
*** On MS-Windows, the Windows key gets "stuck".
When this problem happens, Windows behaves as if the Windows key were
permanently pressed down. This could be a side effect of Emacs on
MS-Windows hooking keyboard input on a low level, in order to support
registering the Windows keys as hot keys. If that hook takes too much
time for some reason, Windows can decide to remove the hook, which
then has this effect.
This is arguably a bug in Emacs, for which we don't yet have a
solution. To work around, set the 'LowLevelHooksTimeout' value in the
registry key "HKEY_CURRENT_USER\Control Panel\Desktop" to a number
higher than 200 msec; the maximum allowed value is 1000 msec (create
the value if it doesn't exist under that key).
** Mailers and other helper programs
*** movemail compiled with POP support can't connect to the POP server.
@ -545,15 +568,6 @@ As a workaround, input the passphrase with a GUI-capable pinentry
program like 'pinentry-gnome' or 'pinentry-qt5'. Alternatively, you
can use the 'pinentry' package from Emacs 25.
*** Emacs running on WSL receives stray characters as input.
For example, you could see Emacs inserting 'z' characters even though
nothing is typed on the keyboard, and even if you unplug the keyboard.
The reason is a bug in the WSL X server's handling of key-press and
key-repeat events. A workaround is to use the Cygwin or native
MS-Windows build of Emacs instead.
** Problems with hostname resolution
*** Emacs does not know your host's fully-qualified domain name.

View File

@ -1746,7 +1746,7 @@ else if (type.equals (ClipDescription.MIMETYPE_TEXT_URILIST))
/* Attempt to acquire permissions for this URI;
failing which, insert it as text instead. */
if (uri != null
&& uri.getScheme () != null
&& uri.getScheme ().equals ("content")

View File

@ -4321,6 +4321,11 @@ this subdir."
(prefix-numeric-value arg)
(lambda ()
(when (or (not (looking-at-p dired-re-dot))
;; Don't skip symlinks to ".", "..", etc.
(save-excursion
(re-search-forward
dired-permission-flags-regexp nil t)
(eq (char-after (match-beginning 1)) ?l))
(not (equal dired-marker-char dired-del-marker)))
(delete-char 1)
(insert dired-marker-char))))))))

View File

@ -193,7 +193,7 @@ LEVEL is the trace level, VALUE value returned by FUNCTION."
;; Do this so we'll see strings:
(cl-prin1-to-string value)
ctx)))))
(defvar trace--timer nil)
(defun trace--display-buffer (buf)

View File

@ -3485,9 +3485,10 @@ Fourth arg MUSTMATCH can take the following values:
input, but she needs to confirm her choice if she called
`minibuffer-complete' right before `minibuffer-complete-and-exit'
and the input is not an existing file.
- a function, which will be called with the input as the
argument. If the function returns a non-nil value, the
minibuffer is exited with that argument as the value.
- a function, which will be called with a single argument, the
input unquoted by `substitute-in-file-name', which see. If the
function returns a non-nil value, the minibuffer is exited with
that argument as the value.
- anything else behaves like t except that typing RET does not exit if it
does non-null completion.
@ -3576,7 +3577,13 @@ See `read-file-name' for the meaning of the arguments."
(let ((ignore-case read-file-name-completion-ignore-case)
(minibuffer-completing-file-name t)
(pred (or predicate 'file-exists-p))
(add-to-history nil))
(add-to-history nil)
(require-match (if (functionp mustmatch)
(lambda (input)
(funcall mustmatch
;; User-supplied MUSTMATCH expects an unquoted filename
(substitute-in-file-name input)))
mustmatch)))
(let* ((val
(if (or (not (next-read-file-uses-dialog-p))
@ -3612,7 +3619,7 @@ See `read-file-name' for the meaning of the arguments."
(read-file-name--defaults dir initial))))
(set-syntax-table minibuffer-local-filename-syntax))
(completing-read prompt 'read-file-name-internal
pred mustmatch insdef
pred require-match insdef
'file-name-history default-filename)))
;; If DEFAULT-FILENAME not supplied and DIR contains
;; a file name, split it.

View File

@ -254,7 +254,7 @@
(should (eq nil (treesit-node-text
(treesit-search-subtree
subarray "\\["))))
;; If ALL=nil, searching for number should still find the
;; If ALL=t, searching for number should still find the
;; numbers.
(should (equal "1" (treesit-node-text
(treesit-search-subtree