Skip to content

Commit

Permalink
Merge remote-tracking branch 'gnu/master' into pull-upstream-3bd7a90dde2
Browse files Browse the repository at this point in the history
  • Loading branch information
declantsien committed Mar 23, 2024
2 parents 89fc749 + 3bd7a90 commit 193dee8
Show file tree
Hide file tree
Showing 101 changed files with 3,814 additions and 2,332 deletions.
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 `685f4295f9` (03 16 2024).
The last merged commit is `3bd7a90dde` (03 23 2024).

## Motivation

Expand Down
4 changes: 1 addition & 3 deletions admin/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -381,9 +381,7 @@ Tramp

Modus themes
Maintainer: Protesilaos Stavrou
Repository: https://git.sr.ht/~protesilaos
Mailing list: https://lists.sr.ht/~protesilaos/modus-themes
Bug Reports: M-x modus-themes-report-bug
Repository: https://github.com/protesilaos/modus-themes

doc/misc/modus-themes.org
etc/themes/modus*.el
Expand Down
4 changes: 2 additions & 2 deletions admin/notes/bugtracker
Original file line number Diff line number Diff line change
Expand Up @@ -430,8 +430,8 @@ reassign 123 spam
*** To change the title of a bug:
retitle 123 Some New Title

*** To change the submitter address:
submitter 123 none@example.com
*** To change the submitter name and address:
submitter 123 J. Hacker <none@example.com>

Note that it does not seem to work to specify "Submitter:" in the
pseudo-header when first reporting a bug.
Expand Down
2 changes: 1 addition & 1 deletion build-aux/ndk-build-helper-1.mk
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ endef
# dependencies can be ignored while building a shared library, as they
# will be linked in to the resulting shared object file later.

SYSTEM_LIBRARIES = z libz libc c libdl dl stdc++ libstdc++ log liblog android libandroid
SYSTEM_LIBRARIES = z libz libc c libdl dl stdc++ libstdc++ stlport libstlport gnustl libgnustl c++ libc++ log liblog android libandroid

$(foreach module,$(filter-out $(SYSTEM_LIBRARIES), $(LOCAL_SHARED_LIBRARIES)),$(eval $(call add-so-name,$(module))))
$(foreach module,$(filter-out $(SYSTEM_LIBRARIES), $(LOCAL_SHARED_LIBRARIES) $(LOCAL_STATIC_LIBRARIES) $(LOCAL_WHOLE_STATIC_LIBRARIES)),$(eval $(call add-includes,$(module))))
Expand Down
2 changes: 1 addition & 1 deletion build-aux/ndk-build-helper-2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ endef
# Resolve additional dependencies based on LOCAL_STATIC_LIBRARIES and
# LOCAL_SHARED_LIBRARIES.

SYSTEM_LIBRARIES = z libz libc c libdl dl libstdc++ stdc++ log liblog android libandroid
SYSTEM_LIBRARIES = z libz libc c libdl dl libstdc++ stdc++ stlport libstlport gnustl libgnustl c++ libc++ log liblog android libandroid

$(foreach module,$(filter-out $(SYSTEM_LIBRARIES), $(LOCAL_STATIC_LIBRARIES) $(LOCAL_WHOLE_STATIC_LIBRARIES)),$(eval $(call add-a-name,$(module))))
$(foreach module,$(filter-out $(SYSTEM_LIBRARIES), $(LOCAL_SHARED_LIBRARIES)),$(eval $(call add-so-name,$(module))))
Expand Down
12 changes: 8 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ AS_IF([test "$XCONFIGURE" = "android"],[
# Make sure to pass through the CFLAGS, as older versions of the
# NDK require them to be able to find system includes.
with_ndk_path="$android_ndk_path"
with_ndk_cxx_shared="$android_ndk_cxx_shared"
with_ndk_cxx="$android_ndk_cxx"
ndk_INIT([$android_abi], [$ANDROID_SDK], [cross/ndk-build],
[$ANDROID_CFLAGS])
Expand Down Expand Up @@ -1259,7 +1258,7 @@ package will likely install on older systems but crash on startup.])
passthrough="$passthrough --with-harfbuzz=$with_harfbuzz"
passthrough="$passthrough --with-threads=$with_threads"

# Now pass through some checking options.
# Now pass through some checking-related options.
emacs_val="--enable-check-lisp-object-type=$enable_check_lisp_object_type"
passthrough="$passthrough $emacs_val"

Expand All @@ -1269,7 +1268,6 @@ package will likely install on older systems but crash on startup.])
AS_IF([XCONFIGURE=android ANDROID_CC="$ANDROID_CC" \
ANDROID_SDK="$android_sdk" android_abi=$android_abi \
android_ndk_path="$with_ndk_path" \
android_ndk_cxx_shared="$with_ndk_cxx_shared" \
android_ndk_cxx="$android_ndk_cxx" \
$CONFIG_SHELL $0 $passthrough], [],
[AC_MSG_ERROR([Failed to cross-configure Emacs for android.])])
Expand Down Expand Up @@ -1596,7 +1594,13 @@ AC_DEFUN_ONCE([gl_STDLIB_H],
# Initialize gnulib right after choosing the compiler.
dnl Amongst other things, this sets AR and ARFLAGS.
gl_EARLY
ndk_LATE

# ndk_LATE must be enclosed in this conditional to prevent the
# AC_PROG_CXX it indirectly requires from being expanded at top level.
if test "$ndk_INITIALIZED" = "yes"; then
ndk_LATE_EARLY
ndk_LATE
fi

if test "$ac_test_CFLAGS" != set; then
# It's helpful to have C macros available to GDB, so prefer -g3 to -g
Expand Down
26 changes: 15 additions & 11 deletions cross/ndk-build/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,17 @@
srcdir = @srcdir@

# This is a list of Android.mk files which provide targets.
NDK_BUILD_ANDROID_MK = @NDK_BUILD_ANDROID_MK@
NDK_BUILD_ARCH = @NDK_BUILD_ARCH@
NDK_BUILD_ABI = @NDK_BUILD_ABI@
NDK_BUILD_SDK = @NDK_BUILD_SDK@
NDK_BUILD_CC = @NDK_BUILD_CC@
NDK_BUILD_CXX = @NDK_BUILD_CXX@
NDK_BUILD_AR = @NDK_BUILD_AR@
NDK_BUILD_NASM = @NDK_BUILD_NASM@
NDK_BUILD_CFLAGS = @NDK_BUILD_CFLAGS@
NDK_BUILD_ANDROID_MK = @NDK_BUILD_ANDROID_MK@
NDK_BUILD_ARCH = @NDK_BUILD_ARCH@
NDK_BUILD_ABI = @NDK_BUILD_ABI@
NDK_BUILD_SDK = @NDK_BUILD_SDK@
NDK_BUILD_CC = @NDK_BUILD_CC@
NDK_BUILD_CXX = @NDK_BUILD_CXX@
NDK_BUILD_CXX_STL = @NDK_BUILD_CXX_STL@
NDK_BUILD_CXX_LDFLAGS = @NDK_BUILD_CXX_LDFLAGS@
NDK_BUILD_AR = @NDK_BUILD_AR@
NDK_BUILD_NASM = @NDK_BUILD_NASM@
NDK_BUILD_CFLAGS = @NDK_BUILD_CFLAGS@

# This is a list of targets to build.
NDK_BUILD_MODULES = @NDK_BUILD_MODULES@
Expand All @@ -58,8 +60,10 @@ NDK_BUILD_ANDROID_MK := $(call uniqify,$(NDK_BUILD_ANDROID_MK))
NDK_BUILD_MODULES := $(call uniqify,$(NDK_BUILD_MODULES))

# Define CFLAGS for compiling C++ code; this involves removing all
# -std=NNN options.
NDK_BUILD_CFLAGS_CXX := $(filter-out -std=%,$(NDK_BUILD_CFLAGS))
# -std=NNN options and inserting compilation options for the C++
# library.
NDK_BUILD_CFLAGS_CXX := $(filter-out -std=%,$(NDK_BUILD_CFLAGS)) \
$(NDK_BUILD_CXX_STL)

define subr-1

Expand Down
2 changes: 2 additions & 0 deletions cross/ndk-build/ndk-build.mk.in
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

NDK_BUILD_MODULES = @NDK_BUILD_MODULES@
NDK_BUILD_CXX_SHARED = @NDK_BUILD_CXX_SHARED@
NDK_BUILD_CXX_STL = @NDK_BUILD_CXX_STL@
NDK_BUILD_CXX_LDFLAGS = @NDK_BUILD_CXX_LDFLAGS@
NDK_BUILD_ANY_CXX_MODULE = @NDK_BUILD_ANY_CXX_MODULE@
NDK_BUILD_SHARED =
NDK_BUILD_STATIC =
Expand Down
32 changes: 28 additions & 4 deletions cross/ndk-build/ndk-resolve.mk
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# which actually builds targets.

# List of system libraries to ignore.
NDK_SYSTEM_LIBRARIES = z libz libc c libdl dl stdc++ libstdc++ log liblog android libandroid
NDK_SYSTEM_LIBRARIES = z libz libc c libdl dl stdc++ libstdc++ stlport libstlport gnustl libgnustl c++ libc++ log liblog android libandroid

# Save information.
NDK_LOCAL_PATH_$(LOCAL_MODULE) := $(LOCAL_PATH)
Expand Down Expand Up @@ -90,11 +90,35 @@ endif

# Likewise for libstdc++.
ifeq ($(strip $(1)),libstdc++)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += -lstdc++
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),dl)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += -lstdc++
ifeq ($(strip $(1)),stdc++)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),libstlport)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),stlport)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),libgnustl)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),gnustl)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),libc++)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

ifeq ($(strip $(1)),c++)
NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS)
endif

# Likewise for liblog.
Expand Down
14 changes: 11 additions & 3 deletions doc/emacs/android.texi
Original file line number Diff line number Diff line change
Expand Up @@ -143,11 +143,13 @@ that if that Emacs in turn does not start the Emacs server, subsequent
attempts to open the file with the wrapper will fail.

@cindex /content/by-authority directory, android
@cindex /content/by-authority-named directory, android
Some files are given to Emacs as ``content identifiers'' that the
system provides access to outside the normal filesystem APIs. Emacs
uses a pseudo-directory named @file{/content/by-authority} to access
those files. Do not make any assumptions about the contents of this
directory, or try to open files in it yourself.
uses pseudo-directories named @file{/content/by-authority} and
@file{/content/by-authority-named} to access those files. Do not make
any assumptions about the contents of this directory, or try to open
files in it yourself.

This feature is not provided on Android 4.3 and earlier, in which
case such files are copied to a temporary directory before being
Expand Down Expand Up @@ -862,6 +864,12 @@ behalf of a specific frame, Emacs deletes the frame displayed within
that window.
@end itemize

When the system predates Android 5.0, the window manager will not
accept more than one user-created Emacs window. If frame creation gives
rise to windows in excess of this limit, the window manager will
arbitrarily select one of their number to display, with the rest
remaining invisible until that window is destroyed with its frame.

@cindex windowing limitations, android
@cindex frame parameters, android
Emacs only supports a limited subset of GUI features on Android; the
Expand Down
6 changes: 6 additions & 0 deletions doc/emacs/files.texi
Original file line number Diff line number Diff line change
Expand Up @@ -779,6 +779,12 @@ operations typically break hard links, disconnecting the file name you
visited from any alternate names for the same file. This has nothing
to do with Emacs---the version control system does it.

Some file storage services support @dfn{file versioning}: they
record history of previous versions of files, and allow reverting to
those previous versions. If you want to be able to do that with files
hosted by those services when editing them with Emacs, customize
@code{backup-by-copying} to a non-@code{nil} value.

@node Customize Save
@subsection Customizing Saving of Files

Expand Down
28 changes: 19 additions & 9 deletions doc/emacs/killing.texi
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,11 @@ Delete the next character (@code{delete-char}).

@item M-\
Delete spaces and tabs around point (@code{delete-horizontal-space}).
@item M-x just-one-space
Delete spaces and tabs around point, leaving one space.
@item M-@key{SPC}
Delete spaces and tabs around point, leaving one space
(@code{just-one-space}).
Delete spaces and tabs around point in flexible ways
(@code{cycle-spacing}).
@item C-x C-o
Delete blank lines around the current line (@code{delete-blank-lines}).
@item M-^
Expand All @@ -118,20 +120,28 @@ characters before and after point. With a prefix argument, this only
deletes spaces and tab characters before point.

@findex just-one-space
@code{just-one-space} does likewise but leaves a single space before
point, regardless of the number of spaces that existed previously
(even if there were none before). With a numeric argument @var{n}, it
leaves @var{n} spaces before point if @var{n} is positive; if @var{n}
is negative, it deletes newlines in addition to spaces and tabs,
leaving @minus{}@var{n} spaces before point.
@kbd{M-x just-one-space} deletes tabs and spaces around point, but
leaves a single space before point, regardless of the number of spaces
that existed previously (even if there were none before). With a
numeric argument @var{n}, it leaves @var{n} spaces before point if
@var{n} is positive; if @var{n} is negative, it deletes newlines in
addition to spaces and tabs, leaving @minus{}@var{n} spaces before
point.

@kindex M-SPC
@findex cycle-spacing
@vindex cycle-spacing-actions
The command @code{cycle-spacing} (@kbd{M-@key{SPC}}) acts like a more
flexible version of @code{just-one-space}. It performs different
space cleanup actions defined by @code{cycle-spacing-actions}, in a
cyclic manner, if you call it repeatedly in succession.
cyclic manner, if you call it repeatedly in succession. By default,
the first invocation does the same as @code{just-one-space}, the
second deletes all whitespace characters around point like
@code{delete-horizontal-space}, and the third restores the original
whitespace characters; then it cycles. If invoked with a prefix
argument, each action is given that value of the argument. The user
option @code{cycle-spacing-actions} can include other members; see the
doc string of that option for the details.

@kbd{C-x C-o} (@code{delete-blank-lines}) deletes all blank lines
after the current line. If the current line is blank, it deletes all
Expand Down
5 changes: 4 additions & 1 deletion doc/emacs/rmail.texi
Original file line number Diff line number Diff line change
Expand Up @@ -875,7 +875,10 @@ already composing, or to alter a message you have sent.
If you set the variable @code{rmail-mail-new-frame} to a
non-@code{nil} value, then all the Rmail commands to start sending a
message create a new frame to edit it in. This frame is deleted when
you send the message.
you send the message (but not if it is the only visible frame on the
current display, or if it's a text-mode frame). If this frame cannot
be deleted when you send the message, Emacs will try to reuse it for
composing subsequent messages.
@ignore
@c FIXME does not work with Message -> Kill Message
, or when you use the @samp{Cancel} item in the @samp{Mail} menu.
Expand Down
27 changes: 24 additions & 3 deletions doc/lispref/objects.texi
Original file line number Diff line number Diff line change
Expand Up @@ -1485,8 +1485,8 @@ types that are not built into Emacs.
@subsection Type Descriptors

A @dfn{type descriptor} is a @code{record} which holds information
about a type. Slot 1 in the record must be a symbol naming the type, and
@code{type-of} relies on this to return the type of @code{record}
about a type. The first slot in the record must be a symbol naming the type,
and @code{type-of} relies on this to return the type of @code{record}
objects. No other type descriptor slot is used by Emacs; they are
free for use by Lisp extensions.

Expand Down Expand Up @@ -2175,7 +2175,7 @@ with references to further information.
function @code{type-of}. Recall that each object belongs to one and
only one primitive type; @code{type-of} tells you which one (@pxref{Lisp
Data Types}). But @code{type-of} knows nothing about non-primitive
types. In most cases, it is more convenient to use type predicates than
types. In most cases, it is preferable to use type predicates than
@code{type-of}.

@defun type-of object
Expand Down Expand Up @@ -2207,6 +2207,27 @@ slot is returned; @ref{Records}.
@end example
@end defun

@defun cl-type-of object
This function returns a symbol naming @emph{the} type of
@var{object}. It usually behaves like @code{type-of}, except
that it guarantees to return the most precise type possible, which also
implies that the specific type it returns may change depending on the
Emacs version. For this reason, as a rule you should never compare its
return value against some fixed set of types.

@example
(cl-type-of 1)
@result{} fixnum
@group
(cl-type-of 'nil)
@result{} null
(cl-type-of (record 'foo))
@result{} foo
@end group
@end example
@end defun


@node Equality Predicates
@section Equality Predicates
@cindex equality
Expand Down
2 changes: 1 addition & 1 deletion doc/lispref/strings.texi
Original file line number Diff line number Diff line change
Expand Up @@ -1369,7 +1369,7 @@ given width and precision, if specified.

@item >
This flag causes the substitution to be truncated on the right to the
given width, if specified.
given width and precision, if specified.

@item ^
This flag converts the substituted text to upper case (@pxref{Case
Expand Down

0 comments on commit 193dee8

Please sign in to comment.