Skip to content

Commit

Permalink
Merge remote-tracking branch gnu/master into master
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Feb 24, 2024
2 parents 935e292 + 2629087 commit 46ae8bd
Show file tree
Hide file tree
Showing 168 changed files with 4,911 additions and 3,028 deletions.
3 changes: 1 addition & 2 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,7 @@ Philip Kaludercic <philipk@posteo.net>
Philip Kaludercic <philipk@posteo.net> <philip.kaludercic@fau.de>
Philip Kaludercic <philipk@posteo.net> <philip@icterid>
Philip Kaludercic <philipk@posteo.net> <philip@warpmail.net>
Philipp Stephani <phst@google.com>
Philipp Stephani <phst@google.com> Philipp Stephani <p.stephani2@gmail.com>
Philipp Stephani <p.stephani2@gmail.com>
Phillip Lord <phillip.lord@russet.org.uk> <phillip.lord@newcastle.ac.uk>
Pierre Lorenzon <devel@pollock-nageoire.net>
Pieter van Oostrum <pieter@vanoostrum.org> <pieter-l@vanoostrum.org>
Expand Down
4 changes: 4 additions & 0 deletions BUGS
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ If necessary, you can read the manual without an info program:

cat info/emacs* | more "+/^File: emacs.*, Node: Bugs,"

If you think you may have found a critical security issue that needs
to be communicated privately, please contact the GNU Emacs maintainers
directly. See admin/MAINTAINERS for their contact details.


Please first check the file etc/PROBLEMS (e.g. with C-h C-p in Emacs) to
make sure it isn't a known issue.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ A new approach to Emacs
emacs-ng is based off of the `master` branch of emacs, and regularly
merges using Github Actions(Runs at 00:00, only on Saturday).

The last merged commit is `d570864bebf` (02 13 2024).
The last merged commit is `26290870b3` (02 24 2024).

## Motivation

Expand Down
15 changes: 11 additions & 4 deletions admin/CPP-DEFINES
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ SOLARIS2
USG
USG5_4
HAIKU Compiling on Haiku.
__ANDROID__ Compiling for the Android operating system.
__ANDROID_API__ A numerical "API level" indicating the version of
Android being compiled for; see http://apilevels.com.

** Distinguishing GUIs **

Expand All @@ -35,10 +38,14 @@ NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
HAVE_X11 Compile support for the X11 GUI.
HAVE_PGTK Compile support for using GTK itself without directly using X Windows APIs.
HAVE_HAIKU Compile support for the Haiku window system.
HAVE_X_WINDOWS Compile support for X Window system
(It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
be, and vice versa. At least, this is true for configure, and
msdos; not sure about nt.)
HAVE_X_WINDOWS Compile support for X Window system. Equivalent to HAVE_X11.
HAVE_ANDROID Compiling the Android GUI interface. Enough of this
code is compiled for the build machine cross-compiling
the Android port to produce an Emacs binary that can
run Lisp code in batch mode, for the purpose of running
the byte-compiler.
ANDROID_STUBIFY The Android GUI interface is being compiled for the build
machine, as above.

** X Windows features **
HAVE_X11R6 Whether or not the system has X11R6. (Always defined.)
Expand Down
2 changes: 1 addition & 1 deletion admin/merge-gnulib
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ GNULIB_MODULES='

AVOIDED_MODULES='
access btowc chmod close crypto/af_alg dup fchdir fstat
iswblank iswctype iswdigit iswxdigit langinfo lock
iswblank iswctype iswdigit iswxdigit langinfo localename-unsafe-limited lock
mbrtowc mbsinit memchr mkdir msvc-inval msvc-nothrow nl_langinfo
openat-die opendir pthread-h raise
save-cwd select setenv sigprocmask stat stdarg
Expand Down
2 changes: 1 addition & 1 deletion admin/notes/tree-sitter/build-module/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ case "${lang}" in
org="phoenixframework"
;;
"lua")
org="MunifTanjim"
org="tree-sitter-grammars"
;;
"typescript")
sourcedir="tree-sitter-typescript/typescript/src"
Expand Down
8 changes: 4 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -4214,16 +4214,16 @@ case $with_file_notification,$opsys in
fi ;;
esac

dnl inotify is available only on GNU/Linux.
dnl inotify is available only on Linux-kernel based systems.
case $with_file_notification,$NOTIFY_OBJ in
inotify, | yes,)
AC_CHECK_HEADER([sys/inotify.h])
if test "$ac_cv_header_sys_inotify_h" = yes ; then
AC_CHECK_FUNC([inotify_init1])
if test "$ac_cv_func_inotify_init1" = yes; then
AC_CHECK_FUNCS([inotify_init inotify_init1])
if test "$ac_cv_func_inotify_init" = yes; then
AC_DEFINE([HAVE_INOTIFY], [1], [Define to 1 to use inotify.])
NOTIFY_OBJ=inotify.o
NOTIFY_SUMMARY="yes -lglibc (inotify)"
NOTIFY_SUMMARY="yes (inotify)"
fi
fi ;;
esac
Expand Down
3 changes: 2 additions & 1 deletion doc/emacs/display.texi
Original file line number Diff line number Diff line change
Expand Up @@ -2215,7 +2215,8 @@ there is something to echo. @xref{Echo Area}.
default), the multi-character key sequence echo shown according to
@code{echo-keystrokes} will include a short help text about keys which
will invoke @code{describe-prefix-bindings} (@pxref{Misc Help}) to show
the list of commands for the prefix you already typed.
the list of commands for the prefix you already typed. For a related
help facility, see @ref{which-key}.

@cindex mouse pointer
@cindex hourglass pointer display
Expand Down
5 changes: 5 additions & 0 deletions doc/emacs/help.texi
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,11 @@ by these buttons, Emacs provides the @code{button-describe} and
@code{widget-describe} commands, that should be run with point over
the button.

@anchor{which-key}
@kbd{M-x which-key} is a global minor mode which helps in discovering
keymaps. It displays keybindings following your currently entered
incomplete command (prefix), in a popup.

@node Name Help
@section Help by Command or Variable Name

Expand Down
2 changes: 1 addition & 1 deletion doc/lispref/abbrevs.texi
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ expanded in the buffer. For the user-level commands for abbrevs, see

@defun make-abbrev-table &optional props
This function creates and returns a new, empty abbrev table---an
obarray containing no symbols. It is a vector filled with zeros.
obarray containing no symbols.
@var{props} is a property list that is applied to the new table
(@pxref{Abbrev Table Properties}).
@end defun
Expand Down
6 changes: 3 additions & 3 deletions doc/lispref/intro.texi
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@ you are criticizing.

@cindex bugs
@cindex suggestions
Please send comments and corrections using @kbd{M-x
report-emacs-bug}. If you wish to contribute new code (or send a
patch to fix a problem), use @kbd{M-x submit-emacs-patch}.
Please send comments and corrections using @kbd{M-x report-emacs-bug}.
For more details, @xref{Bugs,, Reporting Bugs, emacs, The GNU Emacs
Manual}.

@node Lisp History
@section Lisp History
Expand Down
5 changes: 4 additions & 1 deletion doc/lispref/objects.texi
Original file line number Diff line number Diff line change
Expand Up @@ -2121,6 +2121,9 @@ with references to further information.
@item numberp
@xref{Predicates on Numbers, numberp}.

@item obarrayp
@xref{Creating Symbols, obarrayp}.

@item overlayp
@xref{Overlays, overlayp}.

Expand Down Expand Up @@ -2181,7 +2184,7 @@ This function returns a symbol naming the primitive type of
@code{condition-variable}, @code{cons}, @code{finalizer},
@code{float}, @code{font-entity}, @code{font-object},
@code{font-spec}, @code{frame}, @code{hash-table}, @code{integer},
@code{marker}, @code{mutex}, @code{overlay}, @code{process},
@code{marker}, @code{mutex}, @code{obarray}, @code{overlay}, @code{process},
@code{string}, @code{subr}, @code{symbol}, @code{thread},
@code{vector}, @code{window}, or @code{window-configuration}.
However, if @var{object} is a record, the type specified by its first
Expand Down
65 changes: 23 additions & 42 deletions doc/lispref/symbols.texi
Original file line number Diff line number Diff line change
Expand Up @@ -177,34 +177,16 @@ know how Lisp reads them. Lisp must ensure that it finds the same
symbol every time it reads the same sequence of characters in the same
context. Failure to do so would cause complete confusion.

@cindex symbol name hashing
@cindex hashing
@cindex obarray
@cindex bucket (in obarray)
When the Lisp reader encounters a name that references a symbol in
the source code, it reads all the characters of that name. Then it
looks up that name in a table called an @dfn{obarray} to find the
symbol that the programmer meant. The technique used in this lookup
is called ``hashing'', an efficient method of looking something up by
converting a sequence of characters to a number, known as a ``hash
code''. For example, instead of searching a telephone book cover to
cover when looking up Jan Jones, you start with the J's and go from
there. That is a simple version of hashing. Each element of the
obarray is a @dfn{bucket} which holds all the symbols with a given
hash code; to look for a given name, it is sufficient to look through
all the symbols in the bucket for that name's hash code. (The same
idea is used for general Emacs hash tables, but they are a different
data type; see @ref{Hash Tables}.)

When looking up names, the Lisp reader also considers ``shorthands''.
the source code, it looks up that name in a table called an @dfn{obarray}
to find the symbol that the programmer meant. An obarray is an unordered
container of symbols, indexed by name.

The Lisp reader also considers ``shorthands''.
If the programmer supplied them, this allows the reader to find a
symbol even if its name isn't present in its full form in the source
code. Of course, the reader needs to be aware of some pre-established
context about such shorthands, much as one needs context to be to able
to refer uniquely to Jan Jones by just the name ``Jan'': it's probably
fine when amongst the Joneses, or when Jan has been mentioned
recently, but very ambiguous in any other situation.
@xref{Shorthands}.
code. @xref{Shorthands}.

@cindex interning
If a symbol with the desired name is found, the reader uses that
Expand Down Expand Up @@ -236,23 +218,6 @@ to gain access to it is by finding it in some other object or as the
value of a variable. Uninterned symbols are sometimes useful in
generating Lisp code, see below.

In Emacs Lisp, an obarray is actually a vector. Each element of the
vector is a bucket; its value is either an interned symbol whose name
hashes to that bucket, or 0 if the bucket is empty. Each interned
symbol has an internal link (invisible to the user) to the next symbol
in the bucket. Because these links are invisible, there is no way to
find all the symbols in an obarray except using @code{mapatoms} (below).
The order of symbols in a bucket is not significant.

In an empty obarray, every element is 0, so you can create an obarray
with @code{(make-vector @var{length} 0)}. @strong{This is the only
valid way to create an obarray.} Prime numbers as lengths tend
to result in good hashing; lengths one less than a power of two are also
good.

@strong{Do not try to put symbols in an obarray yourself.} This does
not work---only @code{intern} can enter a symbol in an obarray properly.

@cindex CL note---symbol in obarrays
@quotation
@b{Common Lisp note:} Unlike Common Lisp, Emacs Lisp does not provide
Expand All @@ -262,9 +227,21 @@ Emacs Lisp provides a different namespacing system called
``shorthands'' (@pxref{Shorthands}).
@end quotation

@defun obarray-make &optional size
This function creates and returns a new obarray.
The optional @var{size} may be used to specify the number of symbols
that it is expected to hold, but since obarrays grow automatically
as needed, this rarely provide any benefit.
@end defun

@defun obarrayp object
This function returns @code{t} if @var{object} is an obarray,
@code{nil} otherwise.
@end defun

Most of the functions below take a name and sometimes an obarray as
arguments. A @code{wrong-type-argument} error is signaled if the name
is not a string, or if the obarray is not a vector.
is not a string, or if the obarray is not an obarray object.

@defun symbol-name symbol
This function returns the string that is @var{symbol}'s name. For example:
Expand Down Expand Up @@ -416,6 +393,10 @@ If @code{unintern} does delete a symbol, it returns @code{t}. Otherwise
it returns @code{nil}.
@end defun

@defun obarray-clear obarray
This function removes all symbols from @var{obarray}.
@end defun

@node Symbol Properties
@section Symbol Properties
@cindex symbol property
Expand Down
9 changes: 9 additions & 0 deletions doc/misc/epa.texi
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,15 @@ also ask you whether or not to sign the text before encryption and if
you answered yes, it will let you select the signing keys.
@end deffn

@defvar epa-keys-select-method
This variable controls the method used for key selection in
@code{epa-select-keys}. The default value @code{buffer} pops up a
special buffer where you can select the keys. If the value is
@code{minibuffer}, @code{epa-select-keys} will instead prompt for the
keys in the minibuffer, where you should type the keys separated by
commas.
@end defvar

@node Cryptographic operations on files
@section Cryptographic Operations on Files
@cindex cryptographic operations on files
Expand Down
5 changes: 4 additions & 1 deletion doc/misc/gnus.texi
Original file line number Diff line number Diff line change
Expand Up @@ -26695,9 +26695,12 @@ buffers. It is enabled with
@table @kbd
@item C-c C-m C-a
@findex gnus-dired-attach
@vindex gnus-dired-attach-at-end
@cindex attachments, selection via dired
Send dired's marked files as an attachment (@code{gnus-dired-attach}).
You will be prompted for a message buffer.
The function prompts for a message buffer, and by default attaches files
to the end of that buffer; customize @code{gnus-dired-attach-at-end} to
place the attachments at point instead.

@item C-c C-m C-l
@findex gnus-dired-find-file-mailcap
Expand Down
37 changes: 16 additions & 21 deletions doc/misc/texinfo.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2023-09-19.19}
\def\texinfoversion{2024-02-10.22}
%
% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
Expand Down Expand Up @@ -5238,14 +5238,14 @@
% the current value of \escapechar.
\def\escapeisbackslash{\escapechar=`\\}
% Use \ in index files by default. texi2dvi didn't support @ as the escape
% character (as it checked for "\entry" in the files, and not "@entry"). When
% the new version of texi2dvi has had a chance to become more prevalent, then
% the escape character can change back to @ again. This should be an easy
% change to make now because both @ and \ are only used as escape characters in
% index files, never standing for themselves.
% Uncomment to use \ in index files by default. Old texi2dvi (before 2019)
% didn't support @ as the escape character (as it checked for "\entry" in
% the files, and not "@entry").
% In the future we can remove this flag and simplify the code for
% index files and backslashes, once the support is no longer likely to be
% useful.
%
\set txiindexescapeisbackslash
% \set txiindexescapeisbackslash
% Write the entry in \indextext to the index file.
%
Expand Down Expand Up @@ -6137,8 +6137,7 @@
% normally unnmhead0 calls unnumberedzzz:
\outer\parseargdef\unnumbered{\unnmhead0{#1}}
\def\unnumberedzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
\global\advance\unnumberedno by 1
%
% Since an unnumbered has no number, no prefix for figures.
\global\let\chaplevelprefix = \empty
Expand Down Expand Up @@ -6194,8 +6193,8 @@
% normally calls unnumberedseczzz:
\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
\def\unnumberedseczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
\global\advance\unnumberedno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno}%
}
% Subsections.
Expand All @@ -6218,9 +6217,8 @@
% normally calls unnumberedsubseczzz:
\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
\def\unnumberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing}%
{\the\unnumberedno.\the\secno.\the\subsecno}%
\global\advance\unnumberedno by 1
\sectionheading{#1}{subsec}{Ynothing}{\the\unnumberedno}%
}
% Subsubsections.
Expand All @@ -6244,9 +6242,8 @@
% normally unnumberedsubsubseczzz:
\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
\def\unnumberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing}%
{\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
\global\advance\unnumberedno by 1
\sectionheading{#1}{subsubsec}{Ynothing}{\the\unnumberedno}%
}
% These macros control what the section commands do, according
Expand Down Expand Up @@ -8205,8 +8202,6 @@
\let\commondummyword\unmacrodo
\xdef\macrolist{\macrolist}%
\endgroup
\else
\errmessage{Macro #1 not defined}%
\fi
}
Expand Down

0 comments on commit 46ae8bd

Please sign in to comment.