1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-11 00:30:17 -08:00

Merge remote-tracking branch 'savannah/master' into feature/tree-sitter

This commit is contained in:
Yuan Fu 2022-11-21 12:54:35 -08:00
commit aaeaa310f0
No known key found for this signature in database
GPG key ID: 56E19BC57664A442
692 changed files with 36720 additions and 8897 deletions

View file

@ -1,7 +1,6 @@
/* Fundamental definitions for GNU Emacs Lisp interpreter. -*- coding: utf-8 -*-
Copyright (C) 1985-1987, 1993-1995, 1997-2022 Free Software Foundation,
Inc.
Copyright (C) 1985-2022 Free Software Foundation, Inc.
This file is part of GNU Emacs.
@ -645,10 +644,8 @@ extern bool initialized;
extern struct gflags
{
/* True means this Emacs instance was born to dump. */
#if defined HAVE_PDUMPER || defined HAVE_UNEXEC
bool will_dump_ : 1;
bool will_bootstrap_ : 1;
#endif
#ifdef HAVE_PDUMPER
/* Set in an Emacs process that will likely dump with pdumper; all
Emacs processes may dump with pdumper, however. */
@ -1580,10 +1577,15 @@ struct Lisp_String
{
struct
{
ptrdiff_t size; /* MSB is used as the markbit. */
ptrdiff_t size_byte; /* Set to -1 for unibyte strings,
-2 for data in rodata,
-3 for immovable unibyte strings. */
/* Number of characters in string; MSB is used as the mark bit. */
ptrdiff_t size;
/* If nonnegative, number of bytes in the string (which is multibyte).
If negative, the string is unibyte:
-1 for data normally allocated
-2 for data in rodata (C string constants)
-3 for data that must be immovable (used for bytecode) */
ptrdiff_t size_byte;
INTERVAL intervals; /* Text properties in this string. */
unsigned char *data;
} s;
@ -2608,10 +2610,9 @@ struct Lisp_Overlay
*/
{
union vectorlike_header header;
Lisp_Object start;
Lisp_Object end;
Lisp_Object plist;
struct Lisp_Overlay *next;
struct buffer *buffer; /* eassert (live buffer || NULL). */
struct itree_node *interval;
} GCALIGNED_STRUCT;
struct Lisp_Misc_Ptr
@ -3187,10 +3188,11 @@ CHECK_SUBR (Lisp_Object x)
`minargs' should be a number, the minimum number of arguments allowed.
`maxargs' should be a number, the maximum number of arguments allowed,
or else MANY or UNEVALLED.
MANY means pass a vector of evaluated arguments,
in the form of an integer number-of-arguments
followed by the address of a vector of Lisp_Objects
which contains the argument values.
MANY means there are &rest arguments. Here we pass a vector
of evaluated arguments in the form of an integer
number-of-arguments followed by the address of a vector of
Lisp_Objects which contains the argument values. (We also use
this convention when calling a subr with more than 8 parameters.)
UNEVALLED means pass the list of unevaluated arguments
`intspec' says how interactive arguments are to be fetched.
If the string starts with a `(', `intspec' is evaluated and the resulting
@ -4422,7 +4424,6 @@ extern Lisp_Object make_float (double);
extern void display_malloc_warning (void);
extern specpdl_ref inhibit_garbage_collection (void);
extern Lisp_Object build_symbol_with_pos (Lisp_Object, Lisp_Object);
extern Lisp_Object build_overlay (Lisp_Object, Lisp_Object, Lisp_Object);
extern void free_cons (struct Lisp_Cons *);
extern void init_alloc_once (void);
extern void init_alloc (void);
@ -4694,7 +4695,7 @@ extern void syms_of_editfns (void);
extern bool mouse_face_overlay_overlaps (Lisp_Object);
extern Lisp_Object disable_line_numbers_overlay_at_eob (void);
extern AVOID nsberror (Lisp_Object);
extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t);
extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t, bool);
extern void adjust_overlays_for_delete (ptrdiff_t, ptrdiff_t);
extern void fix_start_end_in_overlays (ptrdiff_t, ptrdiff_t);
extern void report_overlay_modification (Lisp_Object, Lisp_Object, bool,
@ -4807,7 +4808,7 @@ extern void clear_regexp_cache (void);
extern Lisp_Object Vminibuffer_list;
extern Lisp_Object last_minibuf_string;
extern void move_minibuffers_onto_frame (struct frame *, bool);
extern void move_minibuffers_onto_frame (struct frame *, Lisp_Object, bool);
extern bool is_minibuffer (EMACS_INT, Lisp_Object);
extern EMACS_INT this_minibuffer_depth (Lisp_Object);
extern EMACS_INT minibuf_level;
@ -4934,6 +4935,7 @@ extern bool running_asynch_code;
/* Defined in process.c. */
struct Lisp_Process;
extern void child_signal_init (void);
extern void kill_buffer_processes (Lisp_Object);
extern int wait_reading_process_output (intmax_t, int, int, bool, Lisp_Object,
struct Lisp_Process *, int);