mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 20:41:23 +00:00
Merge branch 'savannah/master' into feature/igc3
This commit is contained in:
commit
69ca5bc8f4
9 changed files with 72 additions and 41 deletions
|
|
@ -292,6 +292,7 @@ If Exist limits.in.h update limits.in.h limits.in-h
|
|||
If Exist signal.in.h update signal.in.h signal.in-h
|
||||
If Exist signal.in.h update signal.in.h signal.in-h
|
||||
If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
|
||||
If Exist stdcountof.in.h update stdcountof.in.h stdcountof.in-h
|
||||
If Exist stddef.in.h update stddef.in.h stddef.in-h
|
||||
If Exist stdint.in.h update stdint.in.h stdint.in-h
|
||||
If Exist stdio.in.h update stdio.in.h stdio.in-h
|
||||
|
|
|
|||
18
exec/trace.c
18
exec/trace.c
|
|
@ -28,7 +28,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
#include <stdcountof.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
|
|
@ -1539,6 +1538,9 @@ static int interesting_syscalls[] =
|
|||
READLINKAT_SYSCALL,
|
||||
};
|
||||
|
||||
/* Number of elements in an array. */
|
||||
#define ARRAYELTS(arr) (sizeof (arr) / sizeof (arr)[0])
|
||||
|
||||
/* Install a secure computing filter that will notify attached tracers
|
||||
when a system call of interest to this module is received. Value is
|
||||
0 if successful, 1 otherwise. */
|
||||
|
|
@ -1546,7 +1548,7 @@ static int interesting_syscalls[] =
|
|||
static int
|
||||
establish_seccomp_filter (void)
|
||||
{
|
||||
struct sock_filter statements[1 + countof (interesting_syscalls) + 2];
|
||||
struct sock_filter statements[1 + ARRAYELTS (interesting_syscalls) + 2];
|
||||
struct sock_fprog program;
|
||||
int index, rc;
|
||||
|
||||
|
|
@ -1565,27 +1567,27 @@ establish_seccomp_filter (void)
|
|||
statements[index]
|
||||
= ((struct sock_filter)
|
||||
BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, EXEC_SYSCALL,
|
||||
countof (interesting_syscalls), 0)); index++;
|
||||
ARRAYELTS (interesting_syscalls), 0)); index++;
|
||||
#ifdef OPEN_SYSCALL
|
||||
statements[index]
|
||||
= ((struct sock_filter)
|
||||
BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, OPEN_SYSCALL,
|
||||
countof (interesting_syscalls) - index + 1, 0)); index++;
|
||||
ARRAYELTS (interesting_syscalls) - index + 1, 0)); index++;
|
||||
#endif /* OPEN_SYSCALL */
|
||||
statements[index]
|
||||
= ((struct sock_filter)
|
||||
BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, OPENAT_SYSCALL,
|
||||
countof (interesting_syscalls) - index + 1, 0)); index++;
|
||||
ARRAYELTS (interesting_syscalls) - index + 1, 0)); index++;
|
||||
#ifdef READLINK_SYSCALL
|
||||
statements[index]
|
||||
= ((struct sock_filter)
|
||||
BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, READLINK_SYSCALL,
|
||||
countof (interesting_syscalls) - index + 1, 0)); index++;
|
||||
ARRAYELTS (interesting_syscalls) - index + 1, 0)); index++;
|
||||
#endif /* READLINK_SYSCALL */
|
||||
statements[index]
|
||||
= ((struct sock_filter)
|
||||
BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, READLINKAT_SYSCALL,
|
||||
countof (interesting_syscalls) - index + 1, 0)); index++;
|
||||
ARRAYELTS (interesting_syscalls) - index + 1, 0)); index++;
|
||||
|
||||
/* If not intercepted above, permit this system call to execute as
|
||||
normal. */
|
||||
|
|
@ -1598,7 +1600,7 @@ establish_seccomp_filter (void)
|
|||
if (rc)
|
||||
return 1;
|
||||
|
||||
program.len = countof (statements);
|
||||
program.len = ARRAYELTS (statements);
|
||||
program.filter = statements;
|
||||
rc = prctl (PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &program);
|
||||
if (rc)
|
||||
|
|
|
|||
|
|
@ -50,6 +50,14 @@
|
|||
# s/^@GL_GENERATE_STDBOOL_H@/1/
|
||||
# s/^@GL_GENERATE_STDINT_H@//
|
||||
#
|
||||
# . Functions defined in these headers may also be conditional upon
|
||||
# variables substituted into the generated products bearing the
|
||||
# prefix GL_GNULIB_. Be certain to examine updates to gnulib.mk for
|
||||
# any variables of this description, and edit them to 1 if the
|
||||
# functions they control must be defined, e.g.:
|
||||
#
|
||||
# /^GL_GNULIB_STREQ *=/s/@GL_GNULIB_STREQ@/1/
|
||||
#
|
||||
# . Also edit the NEXT_foo_H and NEXT_AS_FIRST_DIRECTIVE_foo_H
|
||||
# variables as appropriately: to an empty value if the gnulib
|
||||
# header is not used, and to the corresponding DJGPP header name
|
||||
|
|
@ -170,6 +178,7 @@ s/@PACKAGE@/emacs/
|
|||
/^BITSIZEOF_WCHAR_T *=/s/@BITSIZEOF_WCHAR_T@/16/
|
||||
/^BITSIZEOF_WINT_T *=/s/@BITSIZEOF_WINT_T@/32/
|
||||
/^APPLE_UNIVERSAL_BUILD *=/s/@APPLE_UNIVERSAL_BUILD@/0/
|
||||
/^CXX_HAVE_STDCOUNTOF_H *=/s/@CXX_HAVE_STDCOUNTOF_H@/0/
|
||||
# Most GL_GNULIB_* are replaced with zero even though DJGPP does not
|
||||
# have these features. That's because the gnulib replacements cannot
|
||||
# possibly work for DJGPP, so we prefer to fail the link than have a
|
||||
|
|
@ -186,10 +195,12 @@ s/@PACKAGE@/emacs/
|
|||
/^GL_GNULIB_MEMMEM *=/s/@GL_GNULIB_MEMMEM@/1/
|
||||
/^GL_GNULIB_MEMRCHR *=/s/@GL_GNULIB_MEMRCHR@/1/
|
||||
/^GL_GNULIB_MEMPCPY *=/s/@GL_GNULIB_MEMPCPY@/1/
|
||||
/^GL_GNULIB_MEMEQ *=/s/@GL_GNULIB_MEMEQ@/1/
|
||||
/^GL_GNULIB_MKOSTEMP *=/s/@GL_GNULIB_MKOSTEMP@/1/
|
||||
/^GL_GNULIB_MKTIME *=/s/@GL_GNULIB_MKTIME@/1/
|
||||
/^GL_GNULIB_SIGDESCR_NP *=/s/@GL_GNULIB_SIGDESCR_NP@/1/
|
||||
/^GL_GNULIB_STRINGEQ *=/s/@GL_GNULIB_STRINGEQ@/1/
|
||||
/^GL_GNULIB_STREQ *=/s/@GL_GNULIB_STREQ@/1/
|
||||
/^GL_GNULIB_STRNUL *=/s/@GL_GNULIB_STRNUL@/1/
|
||||
/^GL_GNULIB_TIME_R *=/s/@GL_GNULIB_TIME_R@/1/
|
||||
/^GL_GNULIB_TIMEGM *=/s/@GL_GNULIB_TIMEGM@/1/
|
||||
/^GL_GNULIB_TIME_RZ *=/s/@GL_GNULIB_TIME_RZ@/1/
|
||||
|
|
@ -197,10 +208,10 @@ s/@PACKAGE@/emacs/
|
|||
# Apparently without this `rawmemchr' isn't declared, so
|
||||
# we get warnings building canonicalize-lgpl.o
|
||||
/^GL_GNULIB_RAWMEMCHR *=/s/@GL_GNULIB_RAWMEMCHR@/1/
|
||||
/^GL_GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
|
||||
# These variables control whether ISO C23 features are generated,
|
||||
# e.g. those in stdbit.h.
|
||||
/^GL_STDC_[^ =]* *= *@/s/@[^@\n]*@/1/
|
||||
/^GL_GNULIB_STDC_[^ =]* *= *@/s/@[^@\n]*@/1/
|
||||
/^GL_GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
|
||||
/^GL_GSETTINGS_CFLAGS *=/s/@[^@\n]*@//
|
||||
/^GL_GSETTINGS_LIBS *=/s/@[^@\n]*@//
|
||||
# Miscellaneous variables.
|
||||
|
|
@ -288,13 +299,15 @@ s/@PACKAGE@/emacs/
|
|||
# are created in config.bat!)
|
||||
/^MKDIR_P *=/s/@MKDIR_P@/echo/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_DIRENT_H *=/s/@[^@\n]*@/<dirent.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@//
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_ENDIAN_H *=/s|@[^@\n]*@|<machine/endian.h>|
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@//
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_LIMITS_H *=/s/@[^@\n]*@/<limits.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_STDBIT_H *=/s/@[^@\n]*@/<stdbit.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_STDCKDINT_H *=/s/@[^@\n]*@/<stdckdint.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_STDCOUNTOF_H *=/s/@[^@\n]*@/<stdcountof.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
|
||||
/^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
|
||||
|
|
@ -359,6 +372,7 @@ s/@PACKAGE@/emacs/
|
|||
/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
|
||||
/^STDBIT_H *=/s/@[^@\n]*@/stdbit.h/
|
||||
/^STDCKDINT_H *=/s/@[^@\n]*@/stdckdint.h/
|
||||
/^STDCOUNTOF_H *=/s/@[^@\n]*@/stdcountof.h/
|
||||
/^STDDEF_H *=/s/@[^@\n]*@/stddef.h/
|
||||
/^STDDEF_NOT_IDEMPOTENT *=/s/@[^@\n]*@/1/
|
||||
/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
|
||||
|
|
@ -448,6 +462,7 @@ s/= @GL_GENERATE_ENDIAN_H_CONDITION@/= 1/
|
|||
s/= @GL_GENERATE_EXECINFO_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_IEEE754_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_STDALIGN_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_STDCOUNTOF_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_STDDEF_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_STDINT_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_LIMITS_H_CONDITION@/= 1/
|
||||
|
|
@ -458,7 +473,7 @@ s/= @GL_GENERATE_GMP_H_CONDITION@/= 1/
|
|||
s/= @GL_GENERATE_GMP_GMP_H_CONDITION@/= /
|
||||
s/= @GL_GENERATE_MINI_GMP_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_STDCKDINT_H_CONDITION@/= 1/
|
||||
s/= @GL_GENERATE_STDBIT_H_CONDITION@/= 1/
|
||||
s/= @GL_HAVE_STDBIT_H_CONDITION@/= 0/
|
||||
s/= @GL_COND_OBJ_STDIO_READ_CONDITION@/= /
|
||||
s/= @GL_COND_OBJ_STDIO_WRITE_CONDITION@/= /
|
||||
s/= @GL_COND_OBJ_STPNCPY_CONDITION@/= /
|
||||
|
|
|
|||
|
|
@ -386,6 +386,10 @@ extern int emacs_setenv_TZ (char const *);
|
|||
: S_ISLNK (mode) ? DT_LNK : S_ISBLK (mode) ? DT_BLK \
|
||||
: S_ISCHR (mode) ? DT_CHR : S_ISFIFO (mode) ? DT_FIFO \
|
||||
: S_ISSOCK (mode) ? DT_SOCK : DT_UNKNOWN)
|
||||
|
||||
/* DJGPP doesn't provide uchar.h and Emacs doesn't import Gnulib's
|
||||
replacement either. */
|
||||
#define _REGEX_AVOID_UCHAR_H 1
|
||||
#endif /* MSDOS */
|
||||
|
||||
#if defined WINDOWSNT && !(defined OMIT_CONSOLESAFE && OMIT_CONSOLESAFE == 1)
|
||||
|
|
@ -402,28 +406,28 @@ extern int emacs_setenv_TZ (char const *);
|
|||
Gnulib stdio-h module, which does the below in Gnulib's stdio.h
|
||||
file, which is not used by the MS-Windows build. */
|
||||
|
||||
extern size_t gl_consolesafe_fwrite (const void *ptr, size_t size,
|
||||
size_t nmemb, FILE *fp)
|
||||
extern size_t _gl_consolesafe_fwrite (const void *ptr, size_t size,
|
||||
size_t nmemb, FILE *fp)
|
||||
ARG_NONNULL ((1, 4));
|
||||
extern int gl_consolesafe_fprintf (FILE *restrict fp,
|
||||
const char *restrict format, ...)
|
||||
extern int _gl_consolesafe_fprintf (FILE *restrict fp,
|
||||
const char *restrict format, ...)
|
||||
ATTRIBUTE_FORMAT_PRINTF (2, 3)
|
||||
ARG_NONNULL ((1, 2));
|
||||
extern int gl_consolesafe_printf (const char *restrict format, ...)
|
||||
extern int _gl_consolesafe_printf (const char *restrict format, ...)
|
||||
ATTRIBUTE_FORMAT_PRINTF (1, 2)
|
||||
ARG_NONNULL ((1));
|
||||
extern int gl_consolesafe_vfprintf (FILE *restrict fp,
|
||||
const char *restrict format, va_list args)
|
||||
extern int _gl_consolesafe_vfprintf (FILE *restrict fp,
|
||||
const char *restrict format, va_list args)
|
||||
ATTRIBUTE_FORMAT_PRINTF (2, 0)
|
||||
ARG_NONNULL ((1, 2));
|
||||
extern int gl_consolesafe_vprintf (const char *restrict format, va_list args)
|
||||
extern int _gl_consolesafe_vprintf (const char *restrict format, va_list args)
|
||||
ATTRIBUTE_FORMAT_PRINTF (1, 0)
|
||||
ARG_NONNULL ((1));
|
||||
# define fwrite gl_consolesafe_fwrite
|
||||
# define fprintf gl_consolesafe_fprintf
|
||||
# define printf gl_consolesafe_printf
|
||||
# define vfprintf gl_consolesafe_vfprintf
|
||||
# define vprintf gl_consolesafe_vprintf
|
||||
# define fwrite _gl_consolesafe_fwrite
|
||||
# define fprintf _gl_consolesafe_fprintf
|
||||
# define printf _gl_consolesafe_printf
|
||||
# define vfprintf _gl_consolesafe_vfprintf
|
||||
# define vprintf _gl_consolesafe_vprintf
|
||||
# endif /* !_UCRT */
|
||||
|
||||
# if !HAVE_DECL_GETDELIM
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ xstrcasecmp (char const *a, char const *b)
|
|||
typedef struct x_display_info Display_Info;
|
||||
#ifndef USE_CAIRO
|
||||
typedef XImage *Emacs_Pix_Container;
|
||||
typedef XImage *Emacs_Pix_Context;
|
||||
#endif /* !USE_CAIRO */
|
||||
#define NativeRectangle XRectangle
|
||||
#endif
|
||||
|
|
@ -130,7 +129,6 @@ typedef struct
|
|||
int bits_per_pixel; /* bits per pixel (ZPixmap) */
|
||||
} *Emacs_Pix_Container;
|
||||
typedef Emacs_Pix_Container Emacs_Pixmap;
|
||||
typedef Emacs_Pix_Container Emacs_Pix_Context;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NTGUI
|
||||
|
|
@ -138,6 +136,7 @@ typedef Emacs_Pix_Container Emacs_Pix_Context;
|
|||
typedef struct w32_display_info Display_Info;
|
||||
typedef XImage *Emacs_Pix_Container;
|
||||
typedef HDC Emacs_Pix_Context;
|
||||
# define PIX_CONTAINER_TO_CONTEXT(c) ((Emacs_Pix_Context) (c))
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NS
|
||||
|
|
@ -145,7 +144,6 @@ typedef HDC Emacs_Pix_Context;
|
|||
/* Following typedef needed to accommodate the MSDOS port, believe it or not. */
|
||||
typedef struct ns_display_info Display_Info;
|
||||
typedef Emacs_Pixmap Emacs_Pix_Container;
|
||||
typedef Emacs_Pixmap Emacs_Pix_Context;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PGTK
|
||||
|
|
@ -160,14 +158,12 @@ typedef XImagePtr XImagePtr_or_DC;
|
|||
#include "haikugui.h"
|
||||
typedef struct haiku_display_info Display_Info;
|
||||
typedef Emacs_Pixmap Emacs_Pix_Container;
|
||||
typedef Emacs_Pixmap Emacs_Pix_Context;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ANDROID
|
||||
#include "androidgui.h"
|
||||
typedef struct android_display_info Display_Info;
|
||||
typedef struct android_image *Emacs_Pix_Container;
|
||||
typedef struct android_image *Emacs_Pix_Context;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
|
|
@ -193,6 +189,14 @@ typedef void *Emacs_Cursor;
|
|||
# define WINDOW_HANDLE_UINTPTR(h) ((uintptr_t) {(h)})
|
||||
# endif
|
||||
|
||||
/* Ordinarily an Emacs_Pix_Context is just an Emacs_Pix_Container;
|
||||
platforms can override this by defining the latter type
|
||||
and defining the conversion macro PIX_CONTAINER_TO_CONTEXT. */
|
||||
# ifndef PIX_CONTAINER_TO_CONTEXT
|
||||
typedef Emacs_Pix_Container Emacs_Pix_Context;
|
||||
# define PIX_CONTAINER_TO_CONTEXT(c) (c)
|
||||
# endif
|
||||
|
||||
/* ``box'' structure similar to that found in the X sample server,
|
||||
meaning that X2 and Y2 are not actually the end of the box, but one
|
||||
pixel past the end of the box, which makes checking for overlaps
|
||||
|
|
|
|||
20
src/image.c
20
src/image.c
|
|
@ -7887,7 +7887,8 @@ pbm_load (struct frame *f, struct image *img)
|
|||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
|
||||
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
|
||||
IMAGE_BACKGROUND (img, f, ximg);
|
||||
/* Casting avoids a GCC warning. */
|
||||
IMAGE_BACKGROUND (img, f, PIX_CONTAINER_TO_CONTEXT (ximg));
|
||||
|
||||
/* Put ximg into the image. */
|
||||
image_put_x_image (f, img, ximg, 0);
|
||||
|
|
@ -8633,7 +8634,7 @@ png_load_body (struct frame *f, struct image *img, struct png_load_context *c)
|
|||
img->height = height;
|
||||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
IMAGE_BACKGROUND (img, f, ximg);
|
||||
IMAGE_BACKGROUND (img, f, PIX_CONTAINER_TO_CONTEXT (ximg));
|
||||
|
||||
/* Put ximg into the image. */
|
||||
image_put_x_image (f, img, ximg, 0);
|
||||
|
|
@ -8642,8 +8643,8 @@ png_load_body (struct frame *f, struct image *img, struct png_load_context *c)
|
|||
if (mask_img)
|
||||
{
|
||||
/* Fill in the background_transparent field while we have the
|
||||
mask handy. */
|
||||
image_background_transparent (img, f, mask_img);
|
||||
mask handy. Casting avoids a GCC warning. */
|
||||
image_background_transparent (img, f, PIX_CONTAINER_TO_CONTEXT (mask_img));
|
||||
|
||||
image_put_x_image (f, img, mask_img, 1);
|
||||
}
|
||||
|
|
@ -9210,7 +9211,7 @@ jpeg_load_body (struct frame *f, struct image *img,
|
|||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
|
||||
IMAGE_BACKGROUND (img, f, ximg);
|
||||
IMAGE_BACKGROUND (img, f, PIX_CONTAINER_TO_CONTEXT (ximg));
|
||||
|
||||
/* Put ximg into the image. */
|
||||
image_put_x_image (f, img, ximg, 0);
|
||||
|
|
@ -9650,7 +9651,7 @@ tiff_load (struct frame *f, struct image *img)
|
|||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
|
||||
IMAGE_BACKGROUND (img, f, ximg);
|
||||
IMAGE_BACKGROUND (img, f, PIX_CONTAINER_TO_CONTEXT (ximg));
|
||||
|
||||
/* Put ximg into the image. */
|
||||
image_put_x_image (f, img, ximg, 0);
|
||||
|
|
@ -10372,7 +10373,7 @@ gif_load (struct frame *f, struct image *img)
|
|||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
|
||||
IMAGE_BACKGROUND (img, f, ximg);
|
||||
IMAGE_BACKGROUND (img, f, PIX_CONTAINER_TO_CONTEXT (ximg));
|
||||
|
||||
/* Put ximg into the image. */
|
||||
image_put_x_image (f, img, ximg, 0);
|
||||
|
|
@ -12554,8 +12555,9 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
|
|||
img->width = width;
|
||||
img->height = height;
|
||||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
IMAGE_BACKGROUND (img, f, ximg);
|
||||
/* Maybe fill in the background field while we have ximg handy.
|
||||
Casting avoids a GCC warning. */
|
||||
IMAGE_BACKGROUND (img, f, PIX_CONTAINER_TO_CONTEXT (ximg));
|
||||
|
||||
/* Put ximg into the image. */
|
||||
image_put_x_image (f, img, ximg, 0);
|
||||
|
|
|
|||
|
|
@ -439,7 +439,7 @@ typedef EMACS_INT Lisp_Word;
|
|||
#endif
|
||||
#if USE_LSB_TAG
|
||||
# define lisp_h_make_fixnum_wrap(n) \
|
||||
XIL ((EMACS_INT) (((EMACS_UINT) {(n)} << INTTYPEBITS) + Lisp_Int0))
|
||||
XIL ((EMACS_INT) (((EMACS_UINT) {(n)} << INTTYPEBITS) + Lisp_Int0))
|
||||
# if defined HAVE_STATEMENT_EXPRESSIONS && defined HAVE_TYPEOF
|
||||
# define lisp_h_make_fixnum(n) \
|
||||
({ typeof (+(n)) lisp_h_make_fixnum_n = n; \
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@ typedef void *Color;
|
|||
typedef int Window;
|
||||
typedef struct _GdkDisplay Display;
|
||||
|
||||
#define WINDOW_HANDLE_UINTPTR(h) ((uintptr_t) (h))
|
||||
|
||||
/* Xism */
|
||||
typedef void *XrmDatabase;
|
||||
|
||||
|
|
|
|||
|
|
@ -4769,6 +4769,7 @@ use the Bourne shell command 'TERM=...; export TERM' (C-shell:\n\
|
|||
FrameCols (tty) = width;
|
||||
FrameRows (tty) = height;
|
||||
tty->char_ins_del_ok = 0;
|
||||
tty->TN_max_colors = 16; /* Must be non-zero for tty-display-color-p. */
|
||||
init_baud_rate (fileno (tty->input));
|
||||
}
|
||||
#endif /* MSDOS */
|
||||
|
|
|
|||
Loading…
Reference in a new issue