Merge from origin/emacs-30

a478423d19 * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#7...
951fb93956 * lisp/transient.el (static-if): Remove duplicated defini...
0218fb2143 Adapt file-remote-p doc
34c1094e60 ; Fix typo in etc/ORG-NEWS (Bug#72186)
5916b172bd * etc/TODO: Delete item about merging Magit.
a6cab228d4 ; Fix typos
41dc28244f * doc/man/emacs.1.in: Add "No warranty" notice.
b2ac343586 ; * doc/man/emacs.1.in: Improve wording.
110b3d08d7 Improve emacs man page description of --user flag
4911f08912 Checkdoc fixes in allout-widgets.el
109b592d77 Checkdoc fixes in subr.el
4643672078 Checkdoc fixes in touch-screen.el
9889774c62 Checkdoc fixes in treesit.el

# Conflicts:
#	etc/NEWS
This commit is contained in:
Stefan Monnier 2024-07-19 14:31:53 -04:00
commit 153732e638
83 changed files with 297 additions and 301 deletions

View file

@ -997,7 +997,7 @@
2022-07-11 Stefan Kangas <stefan@marxist.se>
* lisp/find-dired.el (find-dired): Doc fix; add crossreference.
* lisp/find-dired.el (find-dired): Doc fix; add cross-reference.
2022-07-08 Stefan Kangas <stefan@marxist.se>
@ -141854,7 +141854,7 @@
client key/cert specification.
* doc/misc/emacs-gnutls.texi (Help For Developers): Describe usage of
optional plist argument. Add crossreference to description of
optional plist argument. Add cross-reference to description of
.authinfo format for client key/cert specification.
* etc/NEWS: Describe new client certificate functionality for

View file

@ -49037,7 +49037,7 @@
2022-07-11 Stefan Kangas <stefan@marxist.se>
* lisp/find-dired.el (find-dired): Doc fix; add crossreference.
* lisp/find-dired.el (find-dired): Doc fix; add cross-reference.
2022-07-11 Stefan Kangas <stefan@marxist.se>
@ -78967,7 +78967,7 @@
This abstracts out the somewhat-unusual "insert&delete" logic in
'eshell-parse-command' so that it can be used elsewhere, and also
ensures that the deletion occurs even if an an error occurs.
ensures that the deletion occurs even if an error occurs.
* lisp/eshell/esh-cmd.el (eshell-with-temp-command): New macro.
(eshell-parse-command): Use it.
@ -82043,7 +82043,7 @@
(BClipboard_set_system_data)
(BClipboard_set_primary_selection_data)
(BClipboard_set_secondary_selection_data): Store count before
saving to the the clipboard.
saving to the clipboard.
(BClipboard_owns_clipboard, BClipboard_owns_primary)
(BClipboard_owns_secondary): Adjust tests accordingly.

View file

@ -1684,3 +1684,4 @@ argument \\='general-category, is Decimal_Numbers (Nd). It returns
((or (string-equal tag "anc") (string-equal tag "ancestor"))
("ro" :default "Continuare de pe pagina precedentă")
("ro" :default "Continuare pe pagina următoare")
;; avk@rtsg.mot.com (Andrew V. Klein) for a Dired tip.

View file

@ -9,18 +9,14 @@ blocs
callint
checkin
clen
crossreference
crossreferences
debbugs
dedented
dependant
doas
ede
grey
gud
ifset
inout
keypair
keyserver
keyservers
lightening
@ -28,7 +24,6 @@ mapp
master
mimicks
mitre
msdos
ot
parm
parms
@ -37,8 +32,6 @@ reenable
reenabled
requestor
sie
spawnve
statics
stdio
texline
typdef

View file

@ -54,7 +54,7 @@ the ones that are not reproducible on the current release.
If you can reproduce, then reply on the thread (either on the
original message, or anywhere you find appropriate) that you
can reproduce this on the current release. If your
can reproduce this on the current release. If your
reproduction gives additional info (such as a backtrace),
then add that as well, since it will help whoever attempts to
fix it.
@ -79,7 +79,7 @@ the ones that are not reproducible on the current release.
3. Your changes will take some time to take effect. After a period of minutes
to hours, you will get a mail telling you the control message has been
processed. At this point, if there were no errors detected, you and
everyone else can see your changes. If there are errors, read the error
everyone else can see your changes. If there are errors, read the error
text - if you need help, consulting the bugtracker documentation in this
same directory.

View file

@ -39,7 +39,7 @@ tags 123 moreinfo|unreproducible|wontfix|patch|notabug
For a list of all bugs, see https://debbugs.gnu.org/db/pa/lemacs.html
This is a static page, updated once a day. There is also a dynamic
list, generated on request. This accepts various options, e.g., to see
list, generated on request. This accepts various options, e.g., to see
the most recent bugs:
https://debbugs.gnu.org/cgi/pkgreport.cgi?newest=100
@ -183,7 +183,7 @@ emacs-bug-tracker mailing list, just pick one or the other.
** How to avoid multiple copies of mails.
If you reply to reports in the normal way, this should work fine.
Basically, reply only to the numbered bug address (and any individual
people's addresses). Do not send mail direct to bug-gnu-emacs or
people's addresses). Do not send mail direct to bug-gnu-emacs or
emacs-pretest-bug unless you are reporting a new bug.
** To close bug#123 (for example), send mail
@ -212,7 +212,7 @@ that the bug has been closed. This mail has a header:
X-GNU-PR-Message: closed 123
4) Send a copy of your mail to the bug-gnu-emacs list in exactly the
same way as if you had sent mail to "123" (sans -done). This mail has
same way as if you had sent mail to "123" (sans -done). This mail has
headers:
X-GNU-PR-Message: cc-closed 123

View file

@ -16,10 +16,10 @@ longer, eg the text "GNU Emacs is free software...".
Summary for the impatient:
1. Don't add code to Emacs written by someone other than yourself
without thinking about the legal aspect. Even if the changes are
without thinking about the legal aspect. Even if the changes are
trivial, consider if they combine with previous changes by the same
author to make a non-trivial total. If so, make sure they have an
assignment. If adding a whole file adjust the copyright statements in
author to make a non-trivial total. If so, make sure they have an
assignment. If adding a whole file adjust the copyright statements in
the file.
2. When installing code written by someone else, the commit
@ -38,23 +38,23 @@ right thing to do.
Every non-trivial file distributed through the Emacs repository should be
self-explanatory in terms of copyright and license. This includes
self-explanatory in terms of copyright and license. This includes
files that are not distributed in Emacs releases (for example, the
admin/ directory), because the whole Emacs repository is publicly
available.
The definition of triviality is a little vague, but a rule of thumb is
that any file with less than 15 lines of actual content is trivial. If
that any file with less than 15 lines of actual content is trivial. If
a file is auto-generated (eg ldefs-boot.el) from another one in the
repository, then it does not really matter about adding a copyright
statement to the generated file.
Legal advice says that we could, if we wished, put a license notice
even in trivial files, because copyright law in general looks at the
overall work as a whole. It is not _necessary_ to do so, and rms
prefers that we do not. This means one needs to take care that trivial
overall work as a whole. It is not _necessary_ to do so, and rms
prefers that we do not. This means one needs to take care that trivial
files do not grow and become non-trivial without having a license
added. NB consequently, if you add a lot of text to a small file,
added. NB consequently, if you add a lot of text to a small file,
consider whether your changes have made the file worthy of a copyright
notice, and if so, please add one.
@ -62,10 +62,10 @@ It can be helpful to put a reminder comment at the start of a trivial
file, eg: "add a license notice if this grows to > 10 lines of code".
The years in the copyright notice should be updated every year (see
file "years" in this directory). The PDF versions of refcards etc
file "years" in this directory). The PDF versions of refcards etc
should display copyright notices (an exception to the rule about
"generated" files), but these can just display the latest year. The
full list of years should be kept in comments in the source file. If
"generated" files), but these can just display the latest year. The
full list of years should be kept in comments in the source file. If
these are distributed in the repository, check in a regenerated
version when the tex files are updated.
@ -75,28 +75,28 @@ Copyright changes should be propagated to any associated repositories
All README (and other such text files) that are non-trivial should
contain copyright statements and GPL license notices, exactly as .el
files do (see e.g. README in the top-level directory). Before 2007,
files do (see e.g. README in the top-level directory). Before 2007,
we used a simple, short statement permitting copying and modification
provided legal notices were retained. In Feb 2007 we switched to the
standard GPL text, on legal advice. Some older text files in etc/
provided legal notices were retained. In Feb 2007 we switched to the
standard GPL text, on legal advice. Some older text files in etc/
should, however, keep their current licenses (see below for list).
For image files, the copyright and license details should be recorded
in a README file in each directory with images. (Legal advice says
that we need not add notices to each image file individually, if they
allow for that.). It is recommended to use the word "convert" to
allow for that.). It is recommended to use the word "convert" to
describe the automatic process of changing an image from one format to
another (https://lists.gnu.org/r/emacs-devel/2007-02/msg00618.html).
When installing a file with an "unusual" license (after checking first
it is ok), put a copy of the copyright and license in the file (if
possible. It's ok if this makes the file incompatible with its
possible. It's ok if this makes the file incompatible with its
original format, if it can still be used by Emacs), or in a README
file in the relevant directory.
The vast majority of files are copyright FSF and distributed under the
GPL. A few files (mainly related to language and charset support) are
GPL. A few files (mainly related to language and charset support) are
copyright AIST alone, or both AIST and FSF. (Contact Kenichi Handa
with questions about legal issues in such files.) In all these cases,
the copyright years in each file should be updated each year.
@ -106,16 +106,16 @@ these are listed below for reference, together with any files where
the copyright needs to be updated in "unusual" ways.
If you find any other such cases, please consult to check they are ok,
and note them in this file. This includes missing copyright notices,
and "odd" copyright holders. In most cases, individual authors should
not appear in copyright statements. Either the copyright has been
and note them in this file. This includes missing copyright notices,
and "odd" copyright holders. In most cases, individual authors should
not appear in copyright statements. Either the copyright has been
assigned (check copyright.list) to the FSF (in which case the original
author should be removed and the year(s) transferred to the FSF); or
else it is possible the file should not be in Emacs at all (please
report!).
Note that it seems painfully clear that one cannot rely on commit logs,
or even change log entries, for older changes. People often installed
or even change log entries, for older changes. People often installed
changes from others, without recording the true authorship.
[For reference, most of these points were established via email with
@ -146,7 +146,7 @@ lib/Makefile.in
- copyright FSF, with MIT-like license
build-aux/install-sh
- this file is copyright MIT, which is OK. Leave the copyright alone.
- this file is copyright MIT, which is OK. Leave the copyright alone.
etc/refcards/*.tex
also update the \def\year macro for the latest year.
@ -162,7 +162,7 @@ etc/letter.pbm,letter.xpm
<https://lists.gnu.org/r/emacs-devel/2007-02/msg00324.html>
etc/HELLO
standard notices. Just a note that although the file itself is not
standard notices. Just a note that although the file itself is not
really copyrightable, in the wider context of it being part of
Emacs (and written by those with assignments), a standard notice is
fine.
@ -183,20 +183,20 @@ leim/quail/PY.el, ZIRANMA.el) are under GPLv1 or later.
leim/SKK-DIC/SKK-JISYO.L
ja-dic/ja-dic.el
(the latter is auto-generated from the former). Leave the copyright alone.
(the latter is auto-generated from the former). Leave the copyright alone.
lib-src/etags.c
Copyright information is duplicated in etc/ETAGS.README. Update that
Copyright information is duplicated in etc/ETAGS.README. Update that
file too.
Until 2007 etags.c was described as being copyright FSF and Ken Arnold.
After some investigation in Feb 2007, then to the best of our
knowledge we believe that the original 1984 Emacs version was based
on the version in BSD4.2. See for example this 1985 post from Ken Arnold:
on the version in BSD4.2. See for example this 1985 post from Ken Arnold:
<https://groups.google.com/group/mod.sources/browse_thread/thread/ffe5c55845a640a9>
I have received enough requests for the current source to ctags
to post it. Here is the latest version (what will go out with
4.3, modulo any bugs fixed during the beta period). It is the
to post it. Here is the latest version (what will go out with
4.3, modulo any bugs fixed during the beta period). It is the
4.2 ctags with recognition of yacc and lex tags added.
See also a 1984 version of ctags (no copyright) posted to net.sources:
@ -204,9 +204,9 @@ lib-src/etags.c
Version of etags.c in emacs-16.56 duplicates comment typos.
Accordingly, in Feb 2007 we added a 1984 copyright for the
University of California and a revised BSD license. The terms of
University of California and a revised BSD license. The terms of
this require that the full license details be available in binary
distributions - hence the file etc/ETAGS.README. The fact that the
distributions - hence the file etc/ETAGS.README. The fact that the
--version output just says "Copyright <year> FSF" is apparently OK
from a legal point of view.
@ -216,7 +216,7 @@ lisp/cedet/semantic/imenu.el
from authors other than himself were negligible.
lisp/play/tetris.el
- no special rules about the copyright. We note here that we believe
- no special rules about the copyright. We note here that we believe
(2007/1) there is no problem with our use of the name "tetris" or
the concept.
rms: "My understanding is that game rules as such are not copyrightable."
@ -225,7 +225,7 @@ lisp/play/tetris.el
lisp/net/tramp.el
- there are also copyrights in the body of the file. Update these too.
- there are also copyrights in the body of the file. Update these too.
lwlib/
@ -237,23 +237,23 @@ below).
FSF copyrights should only appear in files which have undergone
non-trivial cumulative changes from the original versions in the Lucid
Widget Library. NB this means that if you make non-trivial changes to
a file with no FSF copyright, you should add one. Also, if changes are
Widget Library. NB this means that if you make non-trivial changes to
a file with no FSF copyright, you should add one. Also, if changes are
reverted to the extent that a file becomes basically the same as the
original version, the FSF copyright should be removed.
In my (rgm) opinion, as of Feb 2007, all the non-trivial files differ
significantly from the original versions, with the exception of
lwlib-Xm.h. Most of the changes that were made to this file have
subsequently been reverted. Therefore I removed the FSF copyright from
this file (which is arguably too trivial to merit a notice anyway). I
lwlib-Xm.h. Most of the changes that were made to this file have
subsequently been reverted. Therefore I removed the FSF copyright from
this file (which is arguably too trivial to merit a notice anyway). I
added FSF copyright to the following files which did not have them
already: Makefile.in, lwlib-Xaw.c, lwlib-int.h (borderline),
lwlib-utils.c (borderline), lwlib.c, lwlib.h.
Copyright years before the advent of public CVS in 2001 were those
when I judged (from the CVS logs) that non-trivial amounts of change
had taken place. I also adjusted the existing FSF years in xlwmenu.c,
had taken place. I also adjusted the existing FSF years in xlwmenu.c,
xlwmenu.h, and xlwmenuP.h on the same basis.
Note that until Feb 2007, the following files in lwlib were lacking
@ -264,17 +264,17 @@ xlwmenuP.h.
To the best of our knowledge, all the code files in lwlib were
originally part of the Lucid Widget Library, even if they did not say
so explicitly. For example, they were all present in Lucid Emacs 19.1
in 1992. The exceptions are the two Xaw files, which did not appear
till Lucid Emacs 19.9 in 1994. The file lwlib-Xaw.h is too trivial to
so explicitly. For example, they were all present in Lucid Emacs 19.1
in 1992. The exceptions are the two Xaw files, which did not appear
till Lucid Emacs 19.9 in 1994. The file lwlib-Xaw.h is too trivial to
merit a copyright notice, but would presumably have the same one as
lwlib-Xaw.c. We have been unable to find a true standalone version of
lwlib-Xaw.c. We have been unable to find a true standalone version of
LWL, if there was such a thing, to check definitively.
To clarify the situation, in Feb 2007 we added Lucid copyrights and
GPL notices to those files lacking either that were non-trivial,
namely: lwlib-int.h, lwlib.h, xlwmenu.h, xlwmenuP.h. This represents
our best understanding of the legal status of these files. We also
namely: lwlib-int.h, lwlib.h, xlwmenu.h, xlwmenuP.h. This represents
our best understanding of the legal status of these files. We also
clarified the notices in Makefile.in, which was originally the
Makefile auto-generated from Lucid's Imakefile.
@ -284,16 +284,16 @@ notices: lwlib-Xaw.h, lwlib-Xlw.h, lwlib-utils.h.
The version of lwlib/ first installed in Emacs seems to be the same as
that used in Lucid Emacs 19.8 (released 6-sep-93); except the two Xaw
files, which did not appear till Athena support was added in Lucid
Emacs 19.9. In Lucid Emacs 19.1, all files were under GPLv1 or later,
Emacs 19.9. In Lucid Emacs 19.1, all files were under GPLv1 or later,
but by Lucid Emacs 19.8, lwlib.c and xlwmenu.c had been switched to v2
or later. These are the versions that were first installed in Emacs.
or later. These are the versions that were first installed in Emacs.
So in GNU Emacs, these two files have been under v2 or later since
1994.
It seems that it was the intention of Lucid to use v1 or later
(excepting the two files mentioned previously); so this is the license
we have used when adding notices to code that did not have notices
originally. Although we have the legal right to switch to v2 or later,
originally. Although we have the legal right to switch to v2 or later,
rms prefers that we do not do so.
@ -302,7 +302,7 @@ doc/*/doclicense.texi
doc/*/*.texi - All manuals should be under GFDL (but see below), and
should include a copy of it, so that they can be distributed
separately. faq.texi has a different license, for some reason no-one
separately. efaq.texi has a different license, for some reason no-one
can remember.
https://lists.gnu.org/r/emacs-devel/2007-04/msg00583.html
https://lists.gnu.org/r/emacs-devel/2007-04/msg00618.html
@ -319,23 +319,23 @@ an MIT-like license.
oldXMenu/
Keep the "copyright.h" method used by X11, rather than moving the
licenses into the files. Note that the original X10.h did not use
licenses into the files. Note that the original X10.h did not use
copyright.h, but had an explicit notice, which we retain.
If you make non-trivial changes to a file which does not have an FSF
notice, add one and a GPL notice (as per Activate.c). If changes to a
notice, add one and a GPL notice (as per Activate.c). If changes to a
file are reverted such that it becomes essentially the same as the
original X11 version, remove the FSF notice and GPL.
Only the files which differ significantly from the original X11
versions should have FSF copyright and GPL notices. At time of writing
(Feb 2007), this is: Activate.c, Create.c, Internal.c. I (rgm)
versions should have FSF copyright and GPL notices. At time of writing
(Feb 2007), this is: Activate.c, Create.c, Internal.c. I (rgm)
established this by diff'ing the current files against those in X11R1,
and when I found significant differences looking in the ChangeLog for
the years they originated (the CVS logs are truncated before 1999). I
the years they originated (the CVS logs are truncated before 1999). I
therefore removed the FSF notices (added in 200x) from the other
files. There are some borderline cases IMO: AddSel.c, InsSel.c,
XMakeAssoc.c, XMenu.h. For these I erred on the side of NOT adding FSF
files. There are some borderline cases IMO: AddSel.c, InsSel.c,
XMakeAssoc.c, XMenu.h. For these I erred on the side of NOT adding FSF
notices.
With regards to whether the files we have changed should have GPL
@ -347,41 +347,41 @@ added or not, rms says (2007-02-25, "oldXmenu issues"):
So, to make things simple, please put our changes under the GPL.
insque.c had no copyright notice until 2005. The version of insque.c
insque.c had no copyright notice until 2005. The version of insque.c
added to Emacs 1992-01-27 is essentially the same as insremque.c added
to glic three days later by Roland McGrath, with an FSF copyright and
GPL, but no ChangeLog entry.
To the best of his recollection, McGrath (who has a copyright
assignment) was the author of this file (email from roland at frob.com
to rms, 2007-02-23, "Where did insque.c come from?"). The FSF
to rms, 2007-02-23, "Where did insque.c come from?"). The FSF
copyright and GPL in this file are therefore correct as far as we
understand it.
Imakefile had no legal info in Feb 2007, but was obviously based on
the X11 version (which also had no explicit legal info). As it was
unused, I removed it. It would have the same MIT copyright as
the X11 version (which also had no explicit legal info). As it was
unused, I removed it. It would have the same MIT copyright as
Makefile.in does now.
src/gmalloc.c
- contains numerous copyrights from the GNU C library. Leave them alone.
- contains numerous copyrights from the GNU C library. Leave them alone.
nt/inc/dirent.h
- see comments below. This file is OK to be released with Emacs
- see comments below. This file is OK to be released with Emacs
22, but we may want to revisit it afterwards.
** Some notes on resolved issues, for historical information only
etc/TERMS
rms: "surely written either by me or by ESR. (If you can figure out
which year, I can probably tell you which.) Either way, we have papers
for it." It was present in Emacs-16.56 (15-jul-85). rms: "Then I
rms: "surely written either by me or by ESR. (If you can figure out
which year, I can probably tell you which.) Either way, we have papers
for it." It was present in Emacs-16.56 (15-jul-85). rms: "Then I
conclude it was written by me."
lisp/term/README
- had no copyright notice till Feb 2007. ChangeLog.3 suggests it was
written by Eric S. Raymond. When asked by rms on 14 Feb 2007 he said:
- had no copyright notice till Feb 2007. ChangeLog.3 suggests it was
written by Eric S. Raymond. When asked by rms on 14 Feb 2007 he said:
I don't remember writing it, but it reads like my prose and I believe
I wrote the feature(s) it's describing. So I would have been the
@ -393,10 +393,10 @@ lisp/term/README
src/unexhp9k800.c
https://lists.gnu.org/r/emacs-devel/2007-02/msg00138.html
- briefly removed due to legal uncertainly Jan-Mar 2007. The
relevant assignment is under "hp9k800" in copyright.list. File was
- briefly removed due to legal uncertainly Jan-Mar 2007. The
relevant assignment is under "hp9k800" in copyright.list. File was
written by John V. Morris at HP, and disclaimed by the author and
HP. So this file is public domain.
HP. So this file is public domain.
lisp/progmodes/python.el
@ -424,20 +424,20 @@ nt/inc/dirent.h
algorithm in this format.
With the addition of this notice, these files are OK for the
upcoming Emacs-22 release. Post-release, we can revisit this issue
upcoming Emacs-22 release. Post-release, we can revisit this issue
and possibly add a list of all authors who have changed these files.
(details in email from Matt Norwood to rms, 2007/02/03).
src/s/aix3-2.h, hpux8.h, hpux9.h, irix5-0.h, netbsd.h, usg5-4-2.h
[note some of these have since been merged into other files]
- all these (not obviously trivial) files were missing copyrights
till Feb 2007, when FSF copyright was added. Matt Norwood advised:
till Feb 2007, when FSF copyright was added. Matt Norwood advised:
For now, I think the best policy is to assume that we do have
assignments from the authors (I recall many of these header files
as having been originally written by rms), and to attach an FSF
copyright with GPL notice. We can amend this if and when we
complete the code audit. Any additions to these files by
copyright with GPL notice. We can amend this if and when we
complete the code audit. Any additions to these files by
non-assigned authors are arguably "de minimis" contributions to
Emacs: small changes or suggestions to a work that are subsumed in
the main authors' copyright in the entire work.
@ -446,18 +446,18 @@ Here is my (rgm) take on the details of the above files:
? irix5-0.h
I would say started non-trivial (1993, jimb, heavily based
on irix4-0.h). A few borderline non-tiny changes since.
on irix4-0.h). A few borderline non-tiny changes since.
usg5-4-2.h
started non-trivial, but was heavily based on usg5-4.h, which was and is
copyright FSF. only tiny changes since installed.
copyright FSF. only tiny changes since installed.
aix3-2.h, hpux8.h, hpux9.h, netbsd.h
started trivial, grown in tiny changes.
netbsd.h:
Roland McGrath said to rms (2007/02/17): "I don't really remember
anything about it. If I put it in without other comment, then probably
anything about it. If I put it in without other comment, then probably
I wrote it myself."
@ -491,13 +491,13 @@ noted in this file.
REMOVED etc/gnu.xpm, nt/icons/emacs21.ico, nt/icons/sink.ico
- Restore if find legal info. emacs21.ico is not due to Davenport.
- Restore if find legal info. emacs21.ico is not due to Davenport.
Geoff Voelker checked but could not find a record of where it came
from.
etc/images
Image files from GTK, Gnome are under GPLv2 (no "or later"?). RMS will
Image files from GTK, Gnome are under GPLv2 (no "or later"?). RMS will
contact image authors in regards to future switch to v3.
@ -525,9 +525,9 @@ Some notes:
(see https://lists.gnu.org/r/emacs-devel/2007-07/msg01431.html)
1. There are some files in the Emacs tree which are not part of Emacs (eg
those included from Gnulib). These are all copyright FSF and (at time
of writing) GPL >= 2. rms says may as well leave the licenses of these
alone (may import them from Gnulib again). These are:
those included from Gnulib). These are all copyright FSF and (at time
of writing) GPL >= 2. rms says may as well leave the licenses of these
alone (may import them from Gnulib again). These are:
Gnulib:
build-aux/config.guess
@ -555,7 +555,7 @@ ChangeLog, etc), ie remain under GPL v1 or later, or v2 or later.
(rms: "We may as well leave this alone, since we are never going to
change it much.")
4. There are some files where the FSF holds no copyright. These were
4. There are some files where the FSF holds no copyright. These were
left alone:
leim/MISC-DIC/CTLau-b5.html >= v2
@ -568,7 +568,7 @@ left alone:
leim/ja-dic/ja-dic.el >= v2
5. At time of writing, some non-Emacs icons included from Gnome remain
under GPLv2 (no "or later"). See:
under GPLv2 (no "or later"). See:
etc/images/gnus/README
etc/images/mail/README

View file

@ -54,9 +54,9 @@ combine them into a single entry, e.g.:
https://lists.gnu.org/r/emacs-devel/2008-10/msg00414.html
In Emacs tradition, we treat "point" as a proper name when it refers
to the current editing location. It should not have an article.
to the current editing location. It should not have an article.
Thus, it is incorrect to write, "The point does not move". It should
Thus, it is incorrect to write, "The point does not move". It should
be, "Point does not move".
If you see "the point" anywhere in Emacs documentation or comments,

View file

@ -117,7 +117,7 @@ with
(Make sure both emacs and emacsclient are multi-tty versions.)
You'll hopefully have two fully working, independent frames on
separate terminals. The new frame is closed automatically when you
separate terminals. The new frame is closed automatically when you
finish editing the specified files (C-x #), but delete-frame (C-x 5 0)
also works. Of course, you can create frames on more than two tty
devices.
@ -325,7 +325,7 @@ THINGS TO DO
example, custom's buttons are broken on non-initial device types.
** Possibly turn off the double C-g feature when there is an X frame.
C.f. (emacs)Emergency Escape.
Cf. (emacs)Emergency Escape.
** frames-on-display-list should also accept frames.
@ -773,7 +773,7 @@ DIARY OF CHANGES
with it.
(Done, there was a stupid mistake in
Ftty_supports_face_attributes_p. Colors are broken, though.)
Ftty_supports_face_attributes_p. Colors are broken, though.)
-- C-x 5 2, C-x 5 o, C-x 5 0 on an emacsclient frame unexpectedly
exits emacsclient. This is a result of trying to be clever with
@ -1080,7 +1080,7 @@ DIARY OF CHANGES
fine. Sometimes faces on these screens become garbled.
This only seems to affect displays that are of the same terminfo
type as the selected one. Interestingly, in screen Emacs normally
type as the selected one. Interestingly, in screen Emacs normally
reports the up arrow key as 'M-o A', but after the above SNAFU, it
complains about 'M-[ a'. UNIX ttys are a complete mystery to me,
but it seems the reset-reinitialize cycle somehow leaves the
@ -1232,7 +1232,7 @@ DIARY OF CHANGES
-- Understand Emacs's low-level input system (it's black magic) :-)
What exactly does interrupt_input do? I tried to disable it for
raw secondary tty support, but it does not seem to do anything
useful. (Update: Look again. X unconditionally enables this, maybe
useful. (Update: Look again. X unconditionally enables this, maybe
that's why raw terminal support is broken again. I really do need
to understand input.)
(Update: I am starting to understand the read_key_sequence->read-char

View file

@ -113,8 +113,8 @@ pre-commit state.
If you have pushed commit, resetting will be ineffective because it
will only vanish the commit in your local copy. Instead, use 'git
revert', giving it the commit ID as argument. This will create a
new commit that backs out the change. Then push that.
revert', giving it the commit ID as argument. This will create a
new commit that backs out the change. Then push that.
Note that git will generate a log message for the revert that includes
a git hash. Please edit this to refer to the commit by the first line

View file

@ -3,14 +3,14 @@ TREE-SITTER PERFORMANCE NOTES -*- org -*-
* Facts
Incremental parsing of a few characters worth of edit usually takes
less than 0.1ms. If it takes longer than that, something is wrong.
less than 0.1ms. If it takes longer than that, something is wrong.
Theres one time where I found tree-sitter-c takes ~30ms to
incremental parse. Updating to the latest version of tree-sitter-c
incremental parse. Updating to the latest version of tree-sitter-c
solves it, so I didnt investigate further.
The ranges set for a parser doesnt grow when you insert text into a
range, so you have to update the ranges every time before
parsing. Fortunately, changing ranges doesnt invalidate incremental
parsing. Fortunately, changing ranges doesnt invalidate incremental
parsing, so there isnt any performance lost in update ranges
frequently.

View file

@ -35,8 +35,8 @@ merged) and rebuild Emacs.
* Install language definitions
Tree-sitter by itself doesnt know how to parse any particular
language. We need to install language definitions (or “grammars”) for
a language to be able to parse it. There are a couple of ways to get
language. We need to install language definitions (or “grammars”) for
a language to be able to parse it. There are a couple of ways to get
them.
You can use this script that I put together here:
@ -45,7 +45,7 @@ You can use this script that I put together here:
This script automatically pulls and builds language definitions for C,
C++, Rust, JSON, Go, HTML, JavaScript, CSS, Python, Typescript,
C#, etc. Better yet, I pre-built these language definitions for
C#, etc. Better yet, I pre-built these language definitions for
GNU/Linux and macOS, they can be downloaded here:
https://github.com/casouri/tree-sitter-module/releases/tag/v2.1
@ -56,19 +56,19 @@ To build them yourself, run
cd tree-sitter-module
./batch.sh
and language definitions will be in the /dist directory. You can
and language definitions will be in the /dist directory. You can
either copy them to standard dynamic library locations of your system,
eg, /usr/local/lib, or leave them in /dist and later tell Emacs where
e.g., /usr/local/lib, or leave them in /dist and later tell Emacs where
to find language definitions by setting treesit-extra-load-path.
Language definition sources can be found on GitHub under
tree-sitter/xxx, like tree-sitter/tree-sitter-python. The tree-sitter
tree-sitter/xxx, like tree-sitter/tree-sitter-python. The tree-sitter
organization has all the "official" language definitions:
https://github.com/tree-sitter
Alternatively, you can use treesit-install-language-grammar command
and follow its instructions. If everything goes right, it should
and follow its instructions. If everything goes right, it should
automatically download and compile the language grammar for you.
* Setting up for adding major mode features
@ -91,7 +91,7 @@ Tree-sitter modes should be separate major modes, so other modes
inheriting from the original mode don't break if tree-sitter is
enabled. For example js2-mode inherits js-mode, we can't enable
tree-sitter in js-mode, lest js-mode would not setup things that
js2-mode expects to inherit from. So it's best to use separate major
js2-mode expects to inherit from. So it's best to use separate major
modes.
If the tree-sitter variant and the "native" variant could share some
@ -115,12 +115,12 @@ symbol (variable, function).
Tree-sitter works like this: You provide a query made of patterns and
capture names, tree-sitter finds the nodes that match these patterns,
tag the corresponding capture names onto the nodes and return them to
you. The query function returns a list of (capture-name . node). For
font-lock, we use face names as capture names. And the captured node
you. The query function returns a list of (capture-name . node). For
font-lock, we use face names as capture names. And the captured node
will be fontified in their capture name.
The capture name could also be a function, in which case (NODE
OVERRIDE START END) is passed to the function for fontification. START
OVERRIDE START END) is passed to the function for fontification. START
and END are the start and end of the region to be fontified. The
function should only fontify within that region. The function should
also allow more optional arguments with (&rest _), for future
@ -131,11 +131,11 @@ treesit-font-lock-rules.
There are two types of nodes, named, like (identifier),
(function_definition), and anonymous, like "return", "def", "(",
"}". Parent-child relationship is expressed as
"}". Parent-child relationship is expressed as
(parent (child) (child) (child (grand_child)))
Eg, an argument list (1, "3", 1) could be:
For example, an argument list (1, "3", 1) could be:
(argument_list "(" (number) (string) (number) ")")
@ -167,7 +167,7 @@ But how do one come up with the queries? Take python for an example,
open any python source file, type M-x treesit-explore-mode RET. Now
you should see the parse-tree in a separate window, automatically
updated as you select text or edit the buffer. Besides this, you can
consult the grammar of the language definition. For example, Pythons
consult the grammar of the language definition. For example, Pythons
grammar file is at
https://github.com/tree-sitter/tree-sitter-python/blob/master/grammar.js
@ -182,24 +182,24 @@ The manual explains how to read grammar files in the bottom of section
** Debugging queries
If your query has problems, use treesit-query-validate to debug the
query. It will pop a buffer containing the query (in text format) and
query. It will pop a buffer containing the query (in text format) and
mark the offending part in red.
** Code
To enable tree-sitter font-lock, set treesit-font-lock-settings and
treesit-font-lock-feature-list buffer-locally and call
treesit-major-mode-setup. For example, see
python--treesit-settings in python.el. Below is a snippet of it.
treesit-major-mode-setup. For example, see
python--treesit-settings in python.el. Below is a snippet of it.
Just like the current font-lock, if the to-be-fontified region already
has a face (ie, an earlier match fontified part/all of the region),
the new face is discarded rather than applied. If you want later
the new face is discarded rather than applied. If you want later
matches always override earlier matches, use the :override keyword.
Each rule should have a :feature, like function-name,
string-interpolation, builtin, etc. Users can then enable/disable each
feature individually. See Appendix 1 at the bottom for a set of common
string-interpolation, builtin, etc. Users can then enable/disable each
feature individually. See Appendix 1 at the bottom for a set of common
features names.
#+begin_src elisp
@ -267,17 +267,17 @@ Indent works like this: We have a bunch of rules that look like
(MATCHER ANCHOR OFFSET)
When the indentation process starts, point is at the BOL of a line, we
want to know which column to indent this line to. Let NODE be the node
want to know which column to indent this line to. Let NODE be the node
at point, we pass this node to the MATCHER of each rule, one of them
will match the node (eg, "this node is a closing bracket!"). Then we
pass the node to the ANCHOR, which returns a point, eg, the BOL of the
previous line. We find the column number of that point (eg, 4), add
OFFSET to it (eg, 0), and that is the column we want to indent the
will match the node (e.g., "this node is a closing bracket!"). Then we
pass the node to the ANCHOR, which returns a point, e.g., the BOL of the
previous line. We find the column number of that point (e.g., 4), add
OFFSET to it (e.g., 0), and that is the column we want to indent the
current line to (4 + 0 = 4).
Matchers and anchors are functions that takes (NODE PARENT BOL &rest
_). Matches return nil/non-nil for no match/match, and anchors return
the anchor point. Below are some convenient builtin matchers and anchors.
_). Matches return nil/non-nil for no match/match, and anchors return
the anchor point. Below are some convenient builtin matchers and anchors.
For MATCHER we have
@ -289,8 +289,8 @@ For MATCHER we have
(match NODE-TYPE PARENT-TYPE NODE-FIELD
NODE-INDEX-MIN NODE-INDEX-MAX)
=> checks everything. If an argument is nil, dont match that. Eg,
(match nil TYPE) is the same as (parent-is TYPE)
=> checks everything. If an argument is nil, dont match that.
E.g., (match nil TYPE) is the same as (parent-is TYPE)
For ANCHOR we have
@ -305,8 +305,8 @@ For ANCHOR we have
There is also a manual section for indent: "Parser-based Indentation".
When writing indent rules, you can use treesit-check-indent to
check if your indentation is correct. To debug what went wrong, set
treesit--indent-verbose to non-nil. Then when you indent, Emacs
check if your indentation is correct. To debug what went wrong, set
treesit--indent-verbose to non-nil. Then when you indent, Emacs
tells you which rule is applied in the echo area.
#+begin_src elisp
@ -355,7 +355,7 @@ Set treesit-simple-imenu-settings and call
* Navigation
Set treesit-defun-type-regexp and call
treesit-major-mode-setup. You can additionally set
treesit-major-mode-setup. You can additionally set
treesit-defun-name-function.
* Which-func
@ -370,7 +370,7 @@ find the current function by treesit-defun-at-point.
Obviously this list is just a starting point, if there are features in
the major mode that would benefit from a parse tree, adding tree-sitter
support for that would be great. But in the minimal case, just adding
support for that would be great. But in the minimal case, just adding
font-lock is awesome.
* Common tasks
@ -403,12 +403,12 @@ BTW treesit-node-string does different things.
* Manual
I suggest you read the manual section for tree-sitter in Info. The
section is Parsing Program Source. Typing
I suggest you read the manual section for tree-sitter in Info. The
section is Parsing Program Source. Typing
C-h i d m elisp RET g Parsing Program Source RET
will bring you to that section. You dont need to read through every
will bring you to that section. You dont need to read through every
sentence, just read the text paragraphs and glance over function
names.
@ -439,13 +439,13 @@ error highlight parse error
Abstract features:
assignment: the LHS of an assignment (thing being assigned to), eg:
assignment: the LHS of an assignment (thing being assigned to), e.g.:
a = b <--- highlight a
a.b = c <--- highlight b
a[1] = d <--- highlight a
definition: the thing being defined, eg:
definition: the thing being defined, e.g.:
int a(int b) { <--- highlight a
return 0

View file

@ -47,7 +47,7 @@ EXCEPTIONS
There are a couple of functions that replaces characters in-place
rather than insert/delete. They are in casefiddle.c and editfns.c.
rather than insert/delete. They are in casefiddle.c and editfns.c.
In casefiddle.c, do_casify_unibyte_region and
do_casify_multibyte_region modifies buffer, but they are static
@ -177,7 +177,7 @@ all safe.
json.c:790: signal_after_change (PT, 0, inserted);
Called in json-insert, calls either decode_coding_gap or
insert_from_gap_1, both are safe. Calls memmove but its for
insert_from_gap_1, both are safe. Calls memmove but its for
decode_coding_gap.
keymap.c:2873: /* Insert calls signal_after_change which may GC. */

View file

@ -6,8 +6,8 @@ The scripts are used to build the binary distribution zip files for windows.
Environment
-----------
A full installation of msys2 is required along for the build. The
various dependencies of Emacs need to be installed also. These change
A full installation of msys2 is required along for the build. The
various dependencies of Emacs need to be installed also. These change
over time, but are listed in build-deps-zips.py.
@ -16,7 +16,7 @@ File System Organization
------------------------
They are relatively strict about the file system organization. In
They are relatively strict about the file system organization. In
general, they should work across several more than just the version of
Emacs they come with, as the dependencies of Emacs change relatively slowly.
@ -34,35 +34,36 @@ A checkout out of the master branch of the Emacs git repository.
~/emacs-build/git/emacs-$major-version
A worktree of the git repository containing the current release
branch. This has to be created by hand.
branch. This has to be created by hand.
~/emacs-build/git/emacs-$release-version
A branch of the git repository containing the last release. The
A branch of the git repository containing the last release. The
build-zips.sh file will create this for you.
~/emacs-build/deps
A location for the dependencies. This needs to contain two zip files
with the dependencies. build-dep-zips.py will create these files for you.
A location for the dependencies. This needs to contain two zip files
with the dependencies. build-dep-zips.py will create these files for
you.
~/emacs-build/deps/libXpm
Contain libXpm-noX4.dll. This file is used to load images for the
splash screen, menu items and so on. Emacs runs without it, but looks
horrible. The files came original from msys2, and contains no
dependencies. It has to be placed manually (but probably never
Contain libXpm-noX4.dll. This file is used to load images for the
splash screen, menu items and so on. Emacs runs without it, but looks
horrible. The files came original from msys2, and contains no
dependencies. It has to be placed manually (but probably never
need updating).
~/emacs-build/build/$version
We build Emacs out-of-source here. This directory is created by
build-zips.sh. This directory can be freely deleted after zips have
We build Emacs out-of-source here. This directory is created by
build-zips.sh. This directory can be freely deleted after zips have
been created
~/emacs-build/install/$version
We install Emacs here. This directory is created by build-zips.sh.
We install Emacs here. This directory is created by build-zips.sh.
This directory can and *should* be deleted after zips have been
created.
@ -79,7 +80,7 @@ Build Process
### For each major version
The dependencies files need to be created. This can be around the time
The dependencies files need to be created. This can be around the time
of the pre-tests, then used for all releases of that version, to
ensure the maximum stability.
@ -87,16 +88,16 @@ To do this:
Update msys to the latest version with `pacman -Syu`.
Then run build-dep-zips.py, in the ~/emacs-build/deps directory. Two
Then run build-dep-zips.py, in the ~/emacs-build/deps directory. Two
zips will be created, containing the dependencies, as well as the
source for these.
For emacs release or pre-test version:
Run `build-zips.sh -g` in the release branch. This will create a worktree
Run `build-zips.sh -g` in the release branch. This will create a worktree
with the tag of the last version.
Then run `build-zips.sh` in this worktree. Eventually, four new zip
Then run `build-zips.sh` in this worktree. Eventually, four new zip
files will be created in ~/emacs-upload from where they can be signed
and uploaded with `gnupload`.
@ -104,7 +105,7 @@ and uploaded with `gnupload`.
### For snapshots from Master
Snapshots are generally created from master when there is a release
branch on which a release has already been created. At this point,
branch on which a release has already been created. At this point,
only pre-tests or full releases need to happen from the release
branch.
@ -112,11 +113,11 @@ To do this:
Update msys to the latest version with `pacman -Syu`.
Then run build-dep-zips.py, in ~/emacs-build/deps directory. Two zips
Then run build-dep-zips.py, in ~/emacs-build/deps directory. Two zips
will be created, containing the dependencies, as well as the source
for these. These deps files contain the date of creation in their
name. The deps file can be reused as desired, or a new version
created. Where multiple deps files exist, the most recent will be
for these. These deps files contain the date of creation in their
name. The deps file can be reused as desired, or a new version
created. Where multiple deps files exist, the most recent will be
used.
Now, run `build-zips.sh -s` to build a snapshot release.
@ -137,8 +138,8 @@ version (e.g emacs-27.0.50.zip).
### For snapshots from another branch
Snapshots can be build from any other branch. There is rarely a need
Snapshots can be built from any other branch. There is rarely a need
to do this, except where some significant, wide-ranging feature is
being added on a feature branch. In this case, the branch can be
given using `build-zips.sh -b pdumper -s` for example. Any "/"
given using `build-zips.sh -b pdumper -s` for example. Any "/"
characters in the branch title are replaced.

View file

@ -40,7 +40,7 @@ installer but as a zip file which some users may prefer.
emacs-$VERSION-no-deps.zip
Contains Emacs without any dependencies. This may be useful if you
Contains Emacs without any dependencies. This may be useful if you
wish to install where the dependencies are already available, or if
you want the small possible Emacs.
@ -49,7 +49,7 @@ for most end-users.
emacs-$VERSION-deps.zip
The dependencies. Unzipping this file on top of
The dependencies. Unzipping this file on top of
emacs-$VERSION-no-deps.zip should result in the same install as
emacs-$VERSION.zip.

View file

@ -42,6 +42,7 @@ emacs_run_codespell ()
git ls-files |\
grep -v -E -e '^(lib|m4)/.*' |\
grep -v -E -e '^admin/(charsets|codespell|unidata)/.*' |\
grep -v -E -e '^doc/lispref/spellfile$' |\
grep -v -E -e '^doc/misc/texinfo.tex$' |\
grep -v -E -e '^doc/translations/.*' |\
grep -v -E -e '^etc/(AUTHORS|HELLO|publicsuffix.txt)$' |\

View file

@ -247,7 +247,7 @@ generating JSON files.
@item
Andrea Corallo was the Emacs (co-)maintainer from 29.3 onwards.
He wrote the native compilation support in @file{comp.c} and
and @file{comp.el}, for compiling Emacs Lisp to native code using
@file{comp.el}, for compiling Emacs Lisp to native code using
@samp{libgccjit}.
@item

View file

@ -267,7 +267,7 @@ system.
@cindex temp~unlinked.NNNN files, Android
On Android devices running very old (2.6.29) versions of the Linux
kernel, Emacs needs to create files named starting with
@file{temp~unlinked} in the the temporary file directory in order to
@file{temp~unlinked} in the temporary file directory in order to
read from asset files. Do not create files with such names yourself,
or they may be overwritten or removed.

View file

@ -1351,7 +1351,7 @@ when and how to report Emacs bugs (@pxref{Bugs}).
To find the documentation of a particular command, look in the index.
Keys (character commands) and command names have separate indexes.
There is also a glossary, with a cross reference for each term.
There is also a glossary, with a cross-reference for each term.
This manual is available as a printed book and also as an Info file.
The Info file is for reading from Emacs itself, or with the Info program.

View file

@ -519,7 +519,7 @@ backward. It also provides a few special commands:
@table @kbd
@item @key{RET}
Follow a cross reference at point (@code{help-follow}).
Follow a cross-reference at point (@code{help-follow}).
@item @key{TAB}
Move point forward to the next hyperlink (@code{forward-button}).
@item S-@key{TAB}

View file

@ -1944,7 +1944,7 @@ files needed by @TeX{} for cross-references; these commands are generally
not suitable for running the final copy in which all of the cross-references
need to be correct.
When you want the auxiliary files for cross references, use @kbd{C-c
When you want the auxiliary files for cross-references, use @kbd{C-c
C-f} (@code{tex-file}) which runs @TeX{} on the current buffer's file,
in that file's directory. Before running @TeX{}, it offers to save any
modified buffers. Generally, you need to use (@code{tex-file}) twice to

View file

@ -3624,10 +3624,18 @@ ensure this principle is valid.
@var{identification} specifies which part of the identifier shall be
returned as string. @var{identification} can be the symbol
@code{method}, @code{user} or @code{host}; any other value is handled
like @code{nil} and means to return the complete identifier string.
In the example above, the remote @code{user} identifier string would
be @code{root}.
@code{method}, @code{user}, @code{host} or @code{localname}; any other
value is handled like @code{nil} and means to return the complete
identifier string. In the example above, the remote @code{user}
identifier string would be @code{root}.
If the remote @var{file} does not contain a method, a user name, or a
host name, the respective default value is returned. The string
returned for @var{identification} @code{localname} can differ depending
on whether there is an existing connection. File name handler specific
implementations could support further @var{identification} symbols;
@xref{Top, Tramp, Tramp, tramp}, for example, knows also the @code{hop}
symbol.
If @var{connected} is non-@code{nil}, this function returns @code{nil}
even if @var{filename} is remote, if Emacs has no network connection

View file

@ -4678,7 +4678,7 @@ A unibyte string containing data in a certain MIME type.
@end table
@end defvar
A call to @code{gui-get-selection} generally returns the the data
A call to @code{gui-get-selection} generally returns the data
named @var{data-type} within the selection message, albeit with
@var{data-type} replaced by an alternative name should it be one of
the following X selection targets:

View file

@ -250,7 +250,7 @@ is the brief description.
Each element in this list should have the form @code{(@var{dep-name}
@var{dep-version})}, where @var{dep-name} is a symbol whose name is the
dependency's package name, and @var{dep-version} is the dependency's
version (a string). The spacial value @samp{emacs} means that the
version (a string). The special value @samp{emacs} means that the
package depends on the given version of Emacs.
@end defun

View file

@ -6009,7 +6009,7 @@ This API has mandatory and optional parts.
To allow its users to initiate JSONRPC contacts (notifications or
requests) or reply to endpoint requests, the new transport
implementation must equip the @code{jsonrpc-connection-send} generic
function with a specialization for the the new subclass
function with a specialization for the new subclass
(@pxref{Generic Functions}). This generic function is called
automatically by primitives such as @code{jsonrpc-request} and
@code{jsonrpc-notify}. The specialization should ensure that the

View file

@ -1,5 +1,5 @@
.\" See section COPYING for copyright and redistribution information.
.TH EMACS 1 "2022-06-07" "GNU Emacs @version@" "GNU"
.TH EMACS 1 "2024-07-18" "GNU Emacs @version@" "GNU"
.
.
.SH NAME
@ -115,7 +115,7 @@ This is useful for debugging problems in the init file.
.BI \-u " user\fR,\fP " \-\-user= "user"
Load
.IR user 's
init file.
init file instead of your own.
.TP
.BI \-\-init\-directory= "directory"
Start emacs with user-emacs-directory set to
@ -144,7 +144,7 @@ Display
version information and exit.
.TP
.B \-\-help
Display this help and exit.
Display help and exit.
.RE
.PP
The following options are Lisp-oriented
@ -664,7 +664,7 @@ For detailed credits and acknowledgments, see the GNU Emacs manual.
.
.
.SH COPYING
Copyright 1995, 1999-2024 Free Software Foundation, Inc.
Copyright 1995-2024 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of this
document provided the copyright notice and this permission notice are
@ -679,6 +679,8 @@ Permission is granted to copy and distribute translations of this
document into another language, under the above conditions for
modified versions, except that this permission notice may be stated
in a translation approved by the Free Software Foundation.
.PP
There is NO WARRANTY, to the extent permitted by law.
.
.\" Local Variables:

View file

@ -343,9 +343,8 @@
2014-06-22 Mario Lang <mlang@delysid.org>
* srecode.texi (Base Arguments): The the -> to the.
* org.texi (Images in ODT export): The the -> the.
* srecode.texi (Base Arguments):
* org.texi (Images in ODT export): Fix typos.
2014-06-21 Eli Zaretskii <eliz@gnu.org>

View file

@ -2833,12 +2833,12 @@ An implementation of @command{expr} using the Calc package.
@cmindex ff
@item ff @var{directory} @var{pattern}
Shorthand for the the function @code{find-name-dired} (@pxref{Dired
Shorthand for the function @code{find-name-dired} (@pxref{Dired
and Find, , , emacs, The Emacs Editor}).
@cmindex gf
@item gf @var{directory} @var{regexp}
Shorthand for the the function @code{find-grep-dired} (@pxref{Dired
Shorthand for the function @code{find-grep-dired} (@pxref{Dired
and Find, , , emacs, The Emacs Editor}).
@cmindex intersection

View file

@ -11513,7 +11513,7 @@ even with @sc{xover} by registering the @code{Xref} lines of all
articles you actually read, but if you kill the articles, or just mark
them as read without reading them, Gnus will not get a chance to snoop
the @code{Xref} lines out of these articles, and will be unable to use
the cross reference mechanism.
the cross-reference mechanism.
@cindex LIST overview.fmt
@cindex overview.fmt

View file

@ -751,7 +751,7 @@ should do this.
(hfy-face-to-css @var{fn})
@end lisp
Take @var{fn}, a font or @code{defface} specification (c.f.
Take @var{fn}, a font or @code{defface} specification (cf.
@code{face-attr-construct}) and return a CSS style specification.
See also: @ref{hfy-face-to-style}

View file

@ -3638,7 +3638,7 @@ Add this to the `modus-themes-post-load-hook'."
The above will work only for themes that belong to the Modus family.
For users of Emacs version 29 or higher, there exists a theme-agnostic
hook that takes a function with one argument---that of the theme---and
calls in the the "post enable" phase of theme loading. Here is the
calls in the "post enable" phase of theme loading. Here is the
above snippet, with the necessary tweaks:
#+begin_src emacs-lisp

View file

@ -11766,7 +11766,7 @@ example
: ./img/cat.jpg
If you wish to define a caption for the image (see [[*Captions]]) and
maybe a label for internal cross references (see [[*Internal Links]]),
maybe a label for internal cross-references (see [[*Internal Links]]),
make sure that the link is on a line by itself and precede it with
=CAPTION= and =NAME= keywords as follows:

View file

@ -4823,7 +4823,7 @@ Macros which can be used for the display of cross references.
This is used when @code{reftex-view-crossref} is called with point in an
argument of a macro. Note that crossref viewing for citations,
references (both ways) and index entries is hard-coded. This variable
is only to configure additional structures for which crossreference
is only to configure additional structures for which cross-reference
viewing can be useful. Each entry has the structure
@example
(@var{macro-re} @var{search-re} @var{highlight}).

View file

@ -372,7 +372,7 @@ Infrastructure for searching groups @semantic{} databases, and dealing
with the search results format.
@item semantic/db-ref.el
Tracks crossreferences. Cross references are needed when buffer is
Tracks cross-references. Cross-references are needed when buffer is
reparsed, and must alert other tables that any dependent caches may
need to be flushed. References are in the form of include files.

View file

@ -1579,7 +1579,7 @@
2011-05-10 Jim Meyering <meyering@redhat.com>
* MH-E-NEWS, PROBLEMS: Fix typo "the the -> the".
* MH-E-NEWS, PROBLEMS: Fix typo.
2011-05-03 Leo Liu <sdl.web@gmail.com>

View file

@ -1355,7 +1355,7 @@ This is because -batch (see above) is now used in building Emacs.
There are probably some Mocklisp constructs that are not handled.
If you encounter one, feel free to report the failure as a bug.
The construct will be handled in a future Emacs release, if that is not
not too hard to do.
too hard to do.
Note that lisp code converted from Mocklisp code will not necessarily
run as fast as code specifically written for GNU Emacs, nor will it use

View file

@ -2112,7 +2112,7 @@ deletion) now accept a prefix argument which serves as a repeat count.
*** Reference keys can now be entered with TAB completion. All
reference keys defined in that buffer and all labels that appear in
crossreference entries are object to completion.
cross-reference entries are object to completion.
*** Braces are supported as field delimiters in addition to quotes.
BibTeX entries may have brace-delimited and quote-delimited fields

View file

@ -436,7 +436,7 @@ the signature) the automatically inferred function type as well.
*** 'describe-function' now shows the type of the function object.
The text used to say things like "car is a built-in function" whereas it
now says "car is a primitive-function" where "primitive-function" is the
the name of the symbol returned by 'cl-type-of'. You can click on those
name of the symbol returned by 'cl-type-of'. You can click on those
words to get information about that type.
---

View file

@ -560,7 +560,7 @@ The old name is obsolete.
** New and changed options
# Chanes deadling with changing default values of customizations,
# Changes dealing with changing default values of customizations,
# adding new customizations, or changing the interpretation of the
# existing customizations.
@ -623,7 +623,7 @@ This new hook runs when a note has been stored.
Sorting of agenda items, tables, menus, headlines, etc can now be
controlled using a new custom option ~org-sort-function~.
By default, Org mode sorts things according to the operation system
By default, Org mode sorts things according to the operating system
language. However, language sorting rules may or may not produce good
results depending on the use case. For example, multi-language
documents may be sorted weirdly when sorting rules for system language

View file

@ -757,7 +757,7 @@ window sizes" (Lisp value 'ignore').
This can happen if your Emacs is configured to convert PDF to SVG for
display, and the version of the MuPDF package you have installed has a
a known bug, whereby it sometimes produces invalid SVG images.
known bug, whereby it sometimes produces invalid SVG images.
Version 1.21 of MuPDF is known to be affected.
The solution is either to upgrade or downgrade to a version of MuPDF

View file

@ -72,10 +72,10 @@ Convert those to use it.
** Remove unnecessary autoload cookies from defcustoms
This needs a bit of care, since often people have become used to
expecting such variables to always be defined, eg when they modify
things in their .emacs.
expecting such variables to always be defined, for example when they
modify things in their .emacs.
** See if other files can use generated-autoload-file (see eg ps-print)
** See if other files can use generated-autoload-file (see e.g. ps-print)
** Do interactive mode tagging for commands
Change "(interactive)" to "(interactive nil foo-mode)" for command
@ -482,7 +482,7 @@ LSP), see the thread starting at
https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00609.html
** FFI (foreign function interface)
See eg https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html
See e.g. https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html
One way of doing this is to start with fx's dynamic loading, and use it
to implement things like auto-loaded buffer parsers and database
@ -612,7 +612,7 @@ Ideally from someone familiar with GNUstep and Objective C.
** A more modern printing interface
A UI that pops up a dialog that lets you choose printer, page style,
etc. Integration with the Gtk print dialog is apparently difficult.
See eg: https://lists.gnu.org/r/emacs-devel/2009-03/msg00501.html
See e.g.: https://lists.gnu.org/r/emacs-devel/2009-03/msg00501.html
https://lists.gnu.org/r/emacs-devel/2009-04/msg00034.html
** Allow frames(terminals) created by emacsclient to inherit their environment
@ -727,11 +727,6 @@ bar. In the mean time, it should process other messages.
** Get some major packages installed
*** Magit
This needs work on getting the relevant copyright assignments. This
task should be highly doable for anyone, but will likely require some
patience. See <https://debbugs.gnu.org/72127>.
*** PSGML, _possibly_ ECB
https://lists.gnu.org/r/emacs-devel/2007-05/msg01493.html Check the
assignments file for other packages which might go in and have been
@ -752,8 +747,8 @@ them.
Zlib is required for PNG, so may be linked anyhow.
** Improve the GC
Introduce generational or incremental GC. We may be able to use the
Boehm collector.) See the Boehm-GC branch in CVS for work on this.
Introduce generational or incremental GC. (We may be able to use the
Boehm collector.) See the Boehm-GC branch in Git for work on this.
** Check what hooks would help Emacspeak
See the defadvising in W3.
@ -1067,7 +1062,7 @@ Anders Lindgren <andlind@gmail.com> has implemented some (very basic)
tests for full screen, toolbar, and auto-hiding the menu bar.
**** Make sure all build variants work
Emacs can be build in a number of different ways. For each feature,
Emacs can be built in a number of different ways. For each feature,
consider if is really is "NS" specific, or if it should be applied to
all build versions.

View file

@ -354,7 +354,7 @@ public class EmacsSdk7FontDriver extends EmacsFontDriver
rightwards from the origin to the left most pixel in the glyph
raster. rbearing is the distance between the origin and the
rightmost pixel in the glyph raster. ascent is the distance
counting upwards between the the topmost pixel in the glyph
counting upwards between the topmost pixel in the glyph
raster. descent is the distance (once again counting
downwards) between the origin and the bottommost pixel in the
glyph raster.

View file

@ -15827,7 +15827,7 @@
* progmodes/cc-cmds.el (c-hungry-delete): New function to fix
<delete> key behavior in XEmacs according to `delete-forward-p'.
C.f. `c-electric-delete'.
Cf. `c-electric-delete'.
2005-12-08 Alan Mackenzie <acm@muc.de>

View file

@ -8915,7 +8915,7 @@
Return the previous char.
(perl-calculate-indent): Use syntax-ppss instead of parse-start
and update callers accordingly. For continuation lines, check the
the case of array hashes.
case of array hashes.
(perl-backward-to-noncomment): Make it non-interactive.
(perl-backward-to-start-of-continued-exp): Rewrite.

View file

@ -4622,7 +4622,7 @@
(assoc-string-equalp): Renamed to assoc-ignore-case.
(bibtex-entry): Reference key can be entered with completion. All
reference keys that are defined in buffer and all labels that
appear in crossreference entries are object to completion.
appear in cross-reference entries are object to completion.
(Entry types): Changed order of entries in menu "entry types".
(bibtex-entry-field-alist): Changed order of entries slightly to
be more conform with standard BibTeX style layouts.
@ -4667,7 +4667,7 @@
t) are necessary again. bibtex-clean-entry complains if they are
empty but not if they are missing, so you can intentionally omit
them, e. g. for a pseudo @Journal entry (needed for
crossreferences) made out of an @article with missing non-optional
cross-references) made out of an @article with missing non-optional
fields.
Menu bar entries aren't centered anymore.

View file

@ -1572,7 +1572,7 @@
newlines.
(gomoku-init-display): Once again fairly fast due to minimization of
characters in buffer and text-property operations. Cursor cannot be
be off a square.
off a square.
(gomoku-display-statistics): Simplified equivalently.
(gomoku-winning-qtuple-beg, gomoku-winning-qtuple-end)
(gomoku-winning-qtuple-dx, gomoku-winning-qtuple-dy): Pseudo variables

View file

@ -115,7 +115,7 @@ inhibition of `allout-widgets-mode'."
;;;_ > allout-widgets-setup (varname value)
;;;###autoload
(defun allout-widgets-setup (varname value)
"Commission or decommission allout-widgets-mode along with allout-mode.
"Commission or decommission `allout-widgets-mode' along with `allout-mode'.
Meant to be used by customization of `allout-widgets-auto-activation'."
(set-default varname value)
@ -254,7 +254,8 @@ or deleted while this variable is nil.")
(defun allout-widgets-tally-string ()
"Return a string with number of tracked widgets, or empty string if not tracking.
The string is formed for appending to the allout-mode mode-line lighter.
The string is formed for appending to the `allout-mode' mode-line
lighter.
An empty string is also returned if tracking is inhibited or
widgets are locally inhibited.
@ -303,9 +304,9 @@ You can use this as a file local variable setting to disable
allout widgets enhancements in selected buffers while generally
enabling widgets by customizing `allout-widgets-auto-activation'.
In addition, you can invoked `allout-widgets-mode' allout-mode
buffers where this is set to enable and disable widget
enhancements, directly.")
In addition, you can invoke `allout-widgets-mode' in `allout-mode'
buffers where this is set to enable and disable widget enhancements,
directly.")
;;;###autoload
(put 'allout-widgets-mode-inhibit 'safe-local-variable #'booleanp)
;;;_ = allout-inhibit-body-modification-hook
@ -862,7 +863,7 @@ Optional RECURSING is for internal use, to limit recursion."
We store a backtrace of the error information in the variable,
`allout-widgets-last-hook-error', unset the error handlers, and
reraise the error, so that processing continues to the
encompassing condition-case."
encompassing `condition-case'."
;; first deconstruct special error environment so errors here propagate
;; to encompassing condition-case:
(setq debugger 'debug

View file

@ -897,7 +897,7 @@
;;; Bn = n! bn
;;; bn = - sum_k=0^n-1 bk / (n-k+1)!
;;; A faster method would be to use "tangent numbers", c.f., Concrete
;;; A faster method would be to use "tangent numbers", cf., Concrete
;;; Mathematics pg. 273.

View file

@ -70,7 +70,7 @@ Once an insertion set is done, these fields will be activated.")
(defclass srecode-overlaid ()
((overlay :documentation
"Overlay representing this field.
The overlay will crossreference this object.")
The overlay will cross-reference this object.")
)
"An object that gets automatically bound to an overlay.
Has virtual :start and :end initializers.")

View file

@ -65,7 +65,7 @@
;;---------------------
;;
;; A "word" is any string containing characters with either word or symbol
;; syntax. [E.G. Any alphanumeric string with hyphens, underscores, etc.]
;; syntax. [E.g., any alphanumeric string with hyphens, underscores, etc.]
;; Unless you change the constants, you must type at least three characters
;; for the word to be recognized. Only words longer than 6 characters are
;; saved.

View file

@ -334,7 +334,7 @@ This is used by `declare'.")
(f (apply (car f) name arglist (cdr x)))
;; Yuck!!
((and (featurep 'cl)
(memq (car x) ;C.f. cl--do-proclaim.
(memq (car x) ;Cf. cl--do-proclaim.
'(special inline notinline optimize warn)))
(push (list 'declare x) cl-decls)
nil)

View file

@ -133,7 +133,7 @@
;; Emacs's normal rectangle support is based on interpreting the region
;; between the mark and point as a "virtual rectangle", and using a
;; completely separate set of "rectangle commands" [C-x r ...] on the
;; region to copy, kill, fill a.s.o. the virtual rectangle.
;; region to copy, kill, fill, and so on the virtual rectangle.
;;
;; cua-mode's superior rectangle support uses a true visual
;; representation of the selected rectangle, i.e. it highlights the

View file

@ -1298,9 +1298,14 @@ any that are missing.
IDENTIFICATION can specify which part of the identification to
return. IDENTIFICATION can be the symbol `method', `user',
`host', or `localname'. Any other value is handled like nil and
means to return the complete identification. The string returned
for IDENTIFICATION `localname' can differ depending on whether
there is an existing connection.
means to return the complete identification.
If the remote FILE does not contain a method, a user name, or a host
name, the respective default value is returned. The string returned for
IDENTIFICATION `localname' can differ depending on whether there is an
existing connection. File name handler specific implementations could
support further IDENTIFICATION symbols; Tramp, for example, knows also
the `hop' symbol.
If CONNECTED is non-nil, return an identification only if FILE is
located on a remote system and a connection is established to

View file

@ -44,7 +44,7 @@
;;
;; When zooming in on a heading you might only want to see the child
;; subheadings. You do this by specifying a numeric argument: C-u C-c C-z.
;; You can specify the number of levels of children too (c.f. show-children):
;; You can specify the number of levels of children too (cf. `show-children'):
;; e.g. M-2 C-c C-z exposes two levels of child subheadings. Alternatively,
;; you might only be interested in the body. You do this by specifying a
;; negative argument: M-- C-c C-z. You can also cause the whole subtree to be
@ -239,7 +239,7 @@ An end marker of nil means the fold ends after (point-max).")
Normally the body and the immediate subheadings are exposed, but
optional arg EXPOSURE \(interactively with prefix arg) changes this:-
EXPOSURE > 0 exposes n levels of subheadings (c.f. `show-children')
EXPOSURE > 0 exposes n levels of subheadings (cf. `show-children')
EXPOSURE < 0 exposes only the body
EXPOSURE = 0 exposes the entire subtree"
(interactive "P")

View file

@ -709,7 +709,7 @@
;; Original name for cp1125, says Serhii Hlodin <hlodin@lutsk.bank.gov.ua>
(define-charset-alias 'cp866u 'cp1125)
;; Fixme: C.f. iconv, https://czyborra.com/charsets/codepages.html
;; FIXME: Cf. iconv, https://czyborra.com/charsets/codepages.html
;; shows this as not ASCII compatible, with various graphics in
;; 0x01-0x1F.
(define-charset 'cp437

View file

@ -36,8 +36,8 @@
;; <URL:https://czyborra.com/charsets/cyrillic.html>.
;; Note that 8859-5 maps directly onto the Unicode Cyrillic block,
;; apart from codepoints 160 (NBSP, c.f. U+0400), 173 (soft hyphen,
;; c.f. U+04OD) and 253 (section sign, c.f U+045D). The KOI-8 and
;; apart from codepoints 160 (NBSP, cf. U+0400), 173 (soft hyphen,
;; cf. U+04OD) and 253 (section sign, cf. U+045D). The KOI-8 and
;; Alternativnyj coding systems encode both 8859-5 and Unicode.
;;; Code:

View file

@ -654,9 +654,8 @@
2014-06-22 Mario Lang <mlang@delysid.org>
* org-list.el (org-list-insert-item): The the -> the.
* org-bibtex.el (org-bibtex-fields): The the -> the.
* org-list.el (org-list-insert-item):
* org-bibtex.el (org-bibtex-fields): Fix typos.
2013-06-22 Dmitry Antipov <dmantipov@yandex.ru>

View file

@ -2230,7 +2230,7 @@ This is an internal flag indicating either temporary or extended
agenda restriction. Specifically, it is set to t if the agenda
is restricted to an entire file, and is set to the corresponding
buffer if the agenda is restricted to a part of a file, e.g. a
region or a substree. In the latter case,
region or a subtree. In the latter case,
`org-agenda-restrict-begin' and `org-agenda-restrict-end' are set
to the beginning and the end of the part.

View file

@ -7981,7 +7981,7 @@ the cache."
(unless (memq granularity '( headline headline+inlinetask
greater-element element))
(error "Unsupported granularity: %S" granularity))
;; Make TO-POS marker. Otherwise, buffer edits may garble the the
;; Make TO-POS marker. Otherwise, buffer edits may garble the
;; process.
(unless (markerp to-pos)
(let ((mk (make-marker)))

View file

@ -172,7 +172,7 @@
;; The isearch behavior is controlled on per-folding-spec basis by
;; setting `isearch-open' and `isearch-ignore' folding spec
;; properties. The the docstring of `org-fold-core--specs' for more details.
;; properties. See the docstring of `org-fold-core--specs' for more details.
;;; Handling edits inside folded text

View file

@ -3796,7 +3796,7 @@ You need to reload Org or to restart Emacs after setting this.")
"Alist of characters and faces to emphasize text.
Text starting and ending with a special character will be emphasized,
for example *bold*, _underlined_ and /italic/. This variable sets the
the face to be used by font-lock for highlighting in Org buffers.
face to be used by font-lock for highlighting in Org buffers.
Marker characters must be one of */_=~+.
You need to reload Org or to restart Emacs after customizing this."

View file

@ -7114,7 +7114,7 @@ comment at the start of cc-engine.el for more info."
"\\(?:\\\\\\(?:.\\|\n\\)\\|[^\"\n\\]\\)*[\"\n]" nil 'stay)))
((memq lit-type '(c c++))
;; To work around a bug in parse-partial-sexp, where effect is given
;; to the syntax of a backslash, even the the scan starts with point
;; to the syntax of a backslash, even the scan starts with point
;; just after it.
(if (and (eq (char-before pt-search) ?\\)
(eq (char-after pt-search) ?\n))

View file

@ -698,7 +698,7 @@ rulesets defined previously with `define-peg-ruleset'."
(cl-defmethod peg--translate ((_ (eql guard)) exp) exp)
(defvar peg-syntax-classes
'((whitespace ?-) (word ?w) (symbol ?s) (punctuation ?.)
'((whitespace ?-) (word ?w) (symbol ?_) (punctuation ?.)
(open ?\() (close ?\)) (string ?\") (escape ?\\) (charquote ?/)
(math ?$) (prefix ?') (comment ?<) (endcomment ?>)
(comment-fence ?!) (string-fence ?|)))

View file

@ -545,7 +545,7 @@ that variable's value is a string."
'("(\\(element\\)\\>[ \t]*(\\(\\S)+\\))"
(1 font-lock-keyword-face)
(2 font-lock-type-face))
'("\\<\\sw+:\\>" . font-lock-constant-face) ; trailing `:' c.f. scheme
'("\\<\\sw+:\\>" . font-lock-constant-face) ; trailing `:' cf. scheme
;; SGML markup (from sgml-mode) :
'("<\\([!?][-a-z0-9]+\\)" 1 font-lock-keyword-face)
'("<\\(/?[-a-z0-9]+\\)" 1 font-lock-function-name-face)))

View file

@ -1507,7 +1507,7 @@ The normal global definition of the character ESC indirects to this keymap.")
(make-obsolete 'ESC-prefix 'esc-map "28.1")
(defvar ctl-x-4-map (make-sparse-keymap)
"Keymap for subcommands of C-x 4.")
"Keymap for subcommands of \\`C-x 4'.")
(defalias 'ctl-x-4-prefix ctl-x-4-map)
(defvar ctl-x-5-map (make-sparse-keymap)
@ -1530,8 +1530,9 @@ The normal global definition of the character ESC indirects to this keymap.")
(define-key map "<" #'scroll-left)
(define-key map ">" #'scroll-right)
map)
"Default keymap for C-x commands.
The normal global definition of the character C-x indirects to this keymap.")
"Default keymap for \\`C-x' commands.
The normal global definition of the character \\`C-x' indirects to this
keymap.")
(fset 'Control-X-prefix ctl-x-map)
(make-obsolete 'Control-X-prefix 'ctl-x-map "28.1")
@ -3380,8 +3381,8 @@ only unbound fallback disabled is downcasing of the last event."
(defvar touch-screen-events-received nil
"Whether a touch screen event has ever been translated.
The value of this variable governs whether
`read--potential-mouse-event' calls read-key or read-event.")
The value of this variable governs whether `read--potential-mouse-event'
calls `read-key' or `read-event'.")
;; FIXME: Once there's a safe way to transition away from read-event,
;; callers to this function should be updated to that way and this

View file

@ -110,7 +110,7 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
(if (and (eq arg 2) (windowp dw)) (select-window dw)))))
(defun reftex-view-cr-cite (arg key how)
;; View crossreference of a ref cite. HOW can have the values
;; View cross-reference of a ref cite. HOW can have the values
;; nil: Show in another window.
;; echo: Show one-line info in echo area.
;; tmp-window: Show in small window and arrange for window to disappear.
@ -175,7 +175,7 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
(select-window pop-win)))))
(defun reftex-view-cr-ref (arg label how)
;; View crossreference of a ref macro. HOW can have the values
;; View cross-reference of a ref macro. HOW can have the values
;; nil: Show in another window.
;; echo: Show one-line info in echo area.
;; tmp-window: Show in small window and arrange for window to disappear.

View file

@ -1490,9 +1490,9 @@ If INTERACTIVE, execute the command associated with any event
generated instead of throwing `input-event'. Otherwise, throw
`input-event' with a single input event if that event should take
the place of EVENT within the key sequence being translated, or
`nil' if all tools have been released.
nil if all tools have been released.
Set `touch-screen-events-received' to `t' to indicate that touch
Set `touch-screen-events-received' to t to indicate that touch
screen events have been received, and thus by extension require
functions undertaking event management themselves to call
`read-key' rather than `read-event'."
@ -2083,4 +2083,4 @@ Must be called from a command bound to a `touchscreen-hold' or
(provide 'touch-screen)
;;; touch-screen ends here
;;; touch-screen.el ends here

View file

@ -82,17 +82,6 @@ similar defect.") :emergency))
(defvar Man-notify-method)
(defvar pp-default-function) ; since Emacs 29.1
(defmacro static-if (condition then-form &rest else-forms)
"A conditional compilation macro.
Evaluate CONDITION at macro-expansion time. If it is non-nil,
expand the macro to THEN-FORM. Otherwise expand it to ELSE-FORMS
enclosed in a `progn' form. ELSE-FORMS may be empty."
(declare (indent 2)
(debug (sexp sexp &rest sexp)))
(if (eval condition lexical-binding)
then-form
(cons 'progn else-forms)))
(defmacro transient--with-emergency-exit (id &rest body)
(declare (indent defun))
(unless (keywordp id)

View file

@ -1122,7 +1122,7 @@ and leave settings for other languages unchanged."
(t current-value))))))
(defun treesit-add-font-lock-rules (rules &optional how feature)
"Add font-lock RULES to the current buffer
"Add font-lock RULES to the current buffer.
RULES should be the return value of `treesit-font-lock-rules'. RULES
will be enabled and added to `treesit-font-lock-settings'.
@ -1413,7 +1413,8 @@ For RANGES and PARSER see `treesit-parser-add-notifier'.
After the parser reparses, we get the changed ranges, and
1) update non-primary parsers' ranges in the changed ranges
2) mark these ranges as to-be-fontified,
3) tell syntax-ppss to start reparsing from the min point of the ranges.
3) tell `syntax-ppss' to start reparsing from the min point of the
ranges.
We need to mark to-be-fontified ranges before redisplay starts working,
because sometimes the range edited by the user is not the only range

View file

@ -261,7 +261,7 @@ You may want to include buffer names such as *Help*, *Apropos*,
;; Make sure point does not end up in the minibuffer and delete
;; windows displaying dead or boring buffers
;; (c.f. `winner-boring-buffers') and `winner-boring-buffers-regexp'.
;; (cf. `winner-boring-buffers') and `winner-boring-buffers-regexp'.
;; Return nil if all the windows should be deleted. Preserve correct
;; points and marks.
(defun winner-set (conf)

View file

@ -809,7 +809,7 @@ _XMRecomputeSelection(register Display *display, register XMenu *menu, register
/*
* _XMTransToOrigin - Internal subroutine to translate the point at
* the center of the current pane and selection to the
* the menu origin.
* menu origin.
*
* WARNING! ****** Be certain that all menu dependencies have been
* recomputed before calling this routine or

View file

@ -19776,7 +19776,7 @@
2011-05-10 Jim Meyering <meyering@redhat.com>
* xdisp.c (x_intersect_rectangles): Fix typo "the the -> the".
* xdisp.c (x_intersect_rectangles): Fix typo.
2011-05-10 Juanma Barranquero <lekktu@gmail.com>

View file

@ -6250,7 +6250,7 @@
2014-06-22 Mario Lang <mlang@delysid.org>
* w32fns.c (Fw32_shell_execute): The the -> the.
* w32fns.c (Fw32_shell_execute): Fix typo.
2014-06-22 Dmitry Antipov <dmantipov@yandex.ru>

View file

@ -8798,7 +8798,7 @@
* dispextern.h (struct glyph_pos): New member dpvec_index.
(MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test if row ends in the
the middle of a character.
middle of a character.
(MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Test if row starts in
the middle of a character.

View file

@ -5341,7 +5341,7 @@ android_wc_lookup_string (android_key_pressed_event *event,
characters = (*env)->GetStringChars (env, string, NULL);
android_exception_check_nonnull ((void *) characters, string);
/* Establish the size of the the string. */
/* Establish the size of the string. */
size = (*env)->GetStringLength (env, string);
/* Copy over the string data. */

View file

@ -4356,7 +4356,7 @@ android_saf_stat (const char *uri_name, const char *id_name,
return 0;
}
/* Detect if Emacs has access to the document designated by the the
/* Detect if Emacs has access to the document designated by the
document ID ID_NAME within the tree URI_NAME. If ID_NAME is NULL,
use the document ID in URI_NAME itself.

View file

@ -2821,12 +2821,12 @@ emit_static_object (const char *name, Lisp_Object obj)
<https://gcc.gnu.org/ml/jit/2019-q3/msg00013.html>.
Adjust if possible to reduce the number of function calls. */
size_t chunck_size = NILP (Fcomp_libgccjit_version ()) ? 200 : 1024;
char *buff = xmalloc (chunck_size);
size_t chunk_size = NILP (Fcomp_libgccjit_version ()) ? 200 : 1024;
char *buff = xmalloc (chunk_size);
for (ptrdiff_t i = 0; i < len;)
{
strncpy (buff, p, chunck_size);
buff[chunck_size - 1] = 0;
strncpy (buff, p, chunk_size);
buff[chunk_size - 1] = 0;
uintptr_t l = strlen (buff);
if (l != 0)

View file

@ -1856,7 +1856,7 @@ parse_resource_key (const char *res_key, char *setting_key)
*dp++ = c;
sp++;
}
*dp++ = '/'; /* must ends with '/' */
*dp++ = '/'; /* must end with '/' */
*dp = '\0';
}

View file

@ -9166,7 +9166,7 @@ sfnt_interpret_alignrp (struct sfnt_interpreter *interpreter)
ZP1.
Move both points along the freedom vector by half the magnitude of
the the projection of a vector formed by P1.x - P2.x, P1.y - P2.y,
the projection of a vector formed by P1.x - P2.x, P1.y - P2.y,
upon the projection vector. */
static void

View file

@ -1630,7 +1630,7 @@ sfntfont_registries_compatible_p (Lisp_Object a, Lisp_Object b)
Value is 0 if there is no match, -1 if there is a match against
DESC itself, and the number of matching instances if the style
matches one or more instances defined in in DESC. Return the index
matches one or more instances defined in DESC. Return the index
of each matching instance in INSTANCES; it should be SIZE big. */
static int

View file

@ -100,7 +100,7 @@ struct textconv_callback_struct
the end of the conversion. */
enum textconv_caret_direction direction;
/* The the number of times for which to repeat the scanning in order
/* The number of times for which to repeat the scanning in order
to determine the starting position of the text to return. */
unsigned short factor;

View file

@ -11614,7 +11614,7 @@ void
load_unicows_dll_for_w32fns (HMODULE unicows)
{
if (!unicows)
/* The functions following are defined by SHELL32.DLL onw Windows
/* The functions following are defined by SHELL32.DLL on Windows
NT. */
unicows = GetModuleHandle ("shell32");

View file

@ -1448,7 +1448,7 @@ as a regex."
;; Example 3 and 4 can't be directly tested because jit-lock and
;; batch tests don't play together well. But we can approximate
;; the behavior by calling the the fontification for the same
;; the behavior by calling the fontification for the same
;; region which would be used by jit-lock.
;; Example 3
(search-forward "sub do_stuff")