Files
emacs/src
Paul Eggert 41bf865329 Clean up and simplify image-type setup
This also fixes an unlikely hang involving a circular image
description.
* src/dispextern.h (struct image.type): Now pointer-to-const.
* src/image.c (struct image_type.init) [!WINDOWSNT]: Omit.
(IMAGE_TYPE_INIT): New macro.
(image_types): Now a small array-of-const, not a pointer.
(CACHE_IMAGE_TYPE): Remove; the code’s simpler without it.
(ADD_IMAGE_TYPE): Remove this macro, replacing with ...
(add_image_type): ... this equivalent function.  All uses changed.
(define_image_type): Remove.  All uses removed.
(valid_image_p): Use FOR_EACH_TAIL_SAFE to avoid Emacs hanging
if the user creates a circular description of an image.
(xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
(gif_type, imagemagick_type, svg_type, gs_type):
Remove; now done by image_types.
(init_imagemagick_functions): Remove decl of nonexistent function.
(gs_clear_image): Remove; all uses replaced by image_clear_image.
(initialize_image_type): New function, which captures a lot
of the previously-scattered WINDOWSNT ifdefs.
(lookup_image_type): Use it.
(reset_image_types): Remove.  All uses removed.
(syms_of_image): Don’t worry about ignoring image_types for
pdumper, since it’s a constant now.
2019-05-17 18:43:28 -07:00
..
2019-05-04 19:19:58 +03:00
2019-05-13 12:43:39 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-05-04 10:17:09 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-15 17:37:36 -05:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-08-07 18:08:53 -06:00
2018-12-09 00:23:55 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-31 10:31:43 -08:00
2019-04-28 17:14:39 +03:00
2019-04-28 17:14:39 +03:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2017-10-01 18:31:10 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-04-10 21:00:47 -07:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 10:39:24 +03:00
2019-04-10 09:07:16 -07:00
2019-01-01 01:01:13 +00:00
2019-05-17 18:43:28 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-04 00:05:04 -08:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-04-27 15:27:36 +09:00
2019-04-27 15:27:36 +09:00
2019-01-15 17:37:36 -05:00
2019-01-15 17:37:36 -05:00
2019-01-01 01:01:13 +00:00
2019-01-15 17:37:36 -05:00
2019-03-04 00:05:04 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-05-17 18:43:28 -07:00
2019-05-14 17:18:18 -07:00
2019-01-01 01:01:13 +00:00
2019-05-07 12:28:10 -07:00
2019-04-28 17:14:39 +03:00
2019-03-15 18:25:24 -07:00
2019-03-04 00:05:04 -08:00
2019-01-01 01:01:13 +00:00
2019-02-01 13:05:39 -08:00
2018-12-31 17:57:29 -08:00
2019-05-17 18:43:28 -07:00
2019-05-15 10:27:55 -07:00
2019-01-01 01:01:13 +00:00
2019-04-29 09:12:53 -07:00
2019-02-27 01:23:30 -08:00
2019-01-01 01:01:13 +00:00
2019-04-24 12:31:37 +09:00
2019-04-26 16:54:17 -06:00
2018-12-31 18:47:22 -08:00
2019-04-28 13:17:30 -07:00
2019-04-28 13:17:30 -07:00
2019-04-17 09:32:40 -07:00
2019-04-26 16:54:17 -06:00
2019-01-15 17:37:36 -05:00
2019-04-26 16:54:17 -06:00
2019-04-26 16:54:17 -06:00
2018-12-31 17:57:29 -08:00
2019-04-25 13:23:07 -07:00
2019-04-19 14:03:16 +02:00
2018-12-31 18:47:22 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-03-27 21:24:26 -07:00
2019-03-27 21:24:26 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-02-27 01:23:30 -08:00
2019-04-24 13:37:15 -07:00
2019-01-15 17:37:36 -05:00
2019-01-15 17:37:36 -05:00
2019-04-18 00:35:18 -07:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-04-22 12:25:53 -07:00
2019-04-24 13:17:53 +02:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:55:39 -06:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-24 13:37:15 -07:00
2019-04-24 13:37:15 -07:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-02-27 01:23:30 -08:00
2019-01-01 01:01:13 +00:00
2019-02-01 13:05:39 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-05-07 17:48:32 +03:00
2019-01-15 17:37:36 -05:00
2018-12-31 17:57:29 -08:00
2019-03-04 00:05:04 -08:00
2019-04-26 16:55:39 -06:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2019-02-01 13:05:39 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2018-12-31 17:57:29 -08:00
2019-03-23 10:31:06 +02:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-01-18 07:50:47 -08:00
2019-01-01 01:01:13 +00:00
2019-04-15 20:53:36 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2019-05-10 17:26:12 -06:00
2019-04-26 16:55:39 -06:00
2019-05-10 17:26:12 -06:00
2019-02-08 09:05:11 +01:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-15 18:25:24 -07:00
2018-12-31 17:57:29 -08:00
2019-04-26 16:54:17 -06:00
2019-04-24 12:31:37 +09:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Copyright (C) 2001-2019 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.