aboutsummaryrefslogtreecommitdiffstats
path: root/src/image.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move CSS into the SVG wrapperAlan Third2025-07-101-30/+26
| | | | | | | | This allows CSS to be used with librsvg < 2.48. * src/image.c (svg_load_image): Move CSS construction and include "color". Also append the CSS passed in by the user rather than replacing it.
* Change foreground color handling for SVG files (bug#77841)Alan Third2025-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/images/checkbox-mixed.svg: * etc/images/checked.svg: * etc/images/conceal.svg: * etc/images/down.svg: * etc/images/gnus/gnus-pointer.svg: * etc/images/left.svg: * etc/images/outline-close.svg: * etc/images/outline-open.svg: * etc/images/radio-checked.svg: * etc/images/radio-mixed.svg: * etc/images/radio.svg: * etc/images/reveal.svg: * etc/images/right.svg: * etc/images/symbols/check-mark_16.svg: * etc/images/symbols/chevron_down_16.svg: * etc/images/symbols/chevron_left_16.svg: * etc/images/symbols/chevron_right_16.svg: * etc/images/symbols/chevron_up_16.svg: * etc/images/symbols/cross_16.svg: * etc/images/symbols/cross_circle_16.svg: * etc/images/symbols/cross_circle_fill_16.svg: * etc/images/symbols/dot_large_16.svg: * etc/images/symbols/dot_medium_16.svg: * etc/images/symbols/dot_small_16.svg: * etc/images/symbols/heart_16.svg: * etc/images/symbols/heart_fill_16.svg: * etc/images/symbols/heart_half_16.svg: * etc/images/symbols/menu_16.svg: * etc/images/symbols/minus_16.svg: * etc/images/symbols/minus_circle_16.svg: * etc/images/symbols/minus_circle_fill_16.svg: * etc/images/symbols/plus_16.svg: * etc/images/symbols/plus_circle_16.svg: * etc/images/symbols/plus_circle_fill_16.svg: * etc/images/symbols/star_16.svg: * etc/images/symbols/star_fill_16.svg: * etc/images/symbols/star_half_16.svg: * etc/images/unchecked.svg: * etc/images/up.svg: Set 'fill' color to 'currentcolor'. * etc/images/symbols/README: Add explanation of change to instructions. * src/image.c: Remove setting of the 'fill' color in the default SVG stylesheet.
* Avoid name clashes with static GnuTLSPaul Eggert2025-04-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Work around a bug in GnuTLS 3.7.11 and earlier: when built statically, its mistakenly exports symbols hash_lookup and hash_string, which collide with Emacs symbols of the same name, preventing temacs from linking statically. Problem reported by Greg A. Woods (Bug#77476). Because GnuTLS never uses hash_lookup or hash_string this issue ordinarily doesn’t seem to prevent temacs from linking to GnuTLS on GNU/Linux, as it’s linked dynamically and the dynamic linker never needs to resolve references to either symbol. However, I suppose a clash or bug could occur even with dynamic linking if Emacs later loads a module that uses either symbol. Although GnuTLS should be fixed, Emacs should link statically to current and older GnuTLS versions in the meantime, and it should avoid potential problems with dynamic linking. Renaming the two clashing names is an easy way to do this. For consistency with the new name for hash_lookup, also rename hash_lookup_with_hash and hash_lookup_get_hash. * src/fns.c (hash_find_with_hash): Rename from hash_lookup_with_hash. (hash_find): Rename from hash_lookup. (hash_find_get_hash): Rename from hash_lookup_get_hash. (hash_char_array): Rename from hash_string. All uses changed.
* Avoid defining unneeded variables on Cygw32Kazuhiro Ito2025-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | lisp/term/w32-win.el contained definitions of variables which were not used on Cygw32. It is now to split into two files, common part and Windows native build specific part. The latter is a new file, lisp/term/w32-nt.el. * src/image.c (Qlibpng_version, Qlibgif_version) (Qlibjpeg_version): Don't define on Cygw32 build. * src/treesit.c (Qtree_sitter__library_abi): Ditto. * lisp/term/w32-win.el (dynamic-library-alist, libpng-version) (libgif-version, libjpeg-version, libgnutls-version) (tree-sitter--library-abi, gui-backend-set-selection) (gui-backend-get-selection, gui-backend-selection-owner-p) (gui-selection-exists-p): Moved to lisp/term/w32-nt.el. * lisp/term/w32-nt.el: New file, separated Windows native build specific part from lisp/term/w32-win.el. * lisp/loadup.el: Load term/w32-nt.el on Windows native build. (Bug#75926)
* ; Fix typosStefan Kangas2025-02-221-4/+4
|
* Merge branch 'scratch/no-purespace' into 'master'Stefan Kangas2025-02-011-1/+1
|\
| * Pure storage removal: Remove purecopy hash table flagPip Cet2024-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-liqsp/comp.el (comp--jump-table-optimizable): Adjust comment. * src/category.c (hash_get_category_set): * src/emacs-module.c (syms_of_module): * src/fns.c (make_hash_table): Remove 'purecopy' flag and update docstring. (Fmake_hash_table): Ignore ':purecopy' argument. * src/frame.c (make_frame): * src/image.c (xpm_make_color_table_h): * src/lisp.h (struct Lisp_Hash_Table): Drop 'purecopy' flag. * src/pdumper.c (dump_hash_table): Don't dump 'purecopy' flag. * src/print.c (print_object): Don't print 'purecopy' flag * src/json.c (json_parse_object): * src/lread.c (readevalloop, read_internal_start): * src/pgtkterm.c (syms_of_pgtkterm): * src/profiler.c (export_log): * src/xfaces.c (syms_of_xfaces): * src/xterm.c (syms_of_xterm): Adjust calls to 'make_hash_table'.
* | Prefer make_formatted_string in svg_load_imagePaul Eggert2025-01-261-54/+18
| | | | | | | | | | | | * src/image.c (svg_load_image): Prefer make_formatted_string to snprintf, as this simplifies the code and does not truncate the resulting string arbitrarily.
* | Simplify building of color names in image.cPaul Eggert2025-01-261-23/+18
| | | | | | | | | | * src/image.c (make_color_name): New function. (image_background, image_build_heuristic_mask, png_load_body): Use it.
* | Simplify make_formatted_string APIPaul Eggert2025-01-261-3/+2
| | | | | | | | | | | | | | From a suggestion by Pip Cet. * src/alloc.c (make_formatted_string): Omit first argument, to simplify the calling convention. All callers changed. * src/doprnt.c (doprnt): Also support %u. Update doc.
* | Minor image_error related cleanupsStefan Kangas2025-01-221-5/+3
| | | | | | | | | | | | | | * src/image.c (image_create_x_image_and_pixmap_1): Avoid temporary variable by passing the value directly to image_error. (tiff_handler): Prefer image_error to add_to_log for local consistency.
* | When debugging image.c, abort if silent truncationPaul Eggert2025-01-211-4/+6
| | | | | | | | | | | | | | * src/image.c (image_build_heuristic_mask, png_load_body): Abort if snprintf truncated. (If truncation is not possible here we should use sprintf instead, as that simplifies automatic runtime checking.)
* | Prefer snprintf to sprintf in image.cStefan Kangas2025-01-221-7/+8
| | | | | | | | | | * src/image.c (image_background, image_build_heuristic_mask) (png_load_body): Prefer snprintf to sprintf.
* | Handle unknown units provided by the rsvg library (bug#75712)Pip Cet2025-01-211-23/+29
| | | | | | | | | | | | * src/image.c (svg_css_length_to_pixels): Restructure so GCC warns about new enum members. Add case for RSVG_UNIT_CH. Warn about unknown units discovered at runtime.
* | Replace call[1-8] with callnStefan Kangas2025-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the introduction of the 'calln' macro, the 'call1', 'call2', ..., 'call8' macros are just aliases for the former. This is slightly misleading and potentially unhelpful. The number of arguments N can also easily go out-of-synch with the used alias callN. There is no reason not to replace these aliases with using 'calln' directly. To reduce the risk for mistakes, the tool Coccinelle was used to make these changes. See <https://coccinelle.gitlabpages.inria.fr/website/>. * src/alloc.c, src/androidvfs.c, src/androidfns.c, src/buffer.c: * src/callint.c, src/callproc.c, src/casefiddle.c, src/charset.c: * src/chartab.c, src/cmds.c, src/coding.c, src/composite.c: * src/data.c, src/dbusbind.c, src/dired.c, src/doc.c: * src/emacs.c, src/eval.c, src/fileio.c, src/filelock.c: * src/fns.c, src/frame.c, src/gtkutil.c, src/haikufns.c: * src/haikumenu.c, src/image.c, src/insdel.c, src/intervals.c: * src/keyboard.c, src/keymap.c, src/lisp.h, src/lread.c: * src/minibuf.c, src/nsfns.m, src/nsselect.m, src/pgtkfns.c: * src/pgtkselect.c, src/print.c, src/process.c, src/sort.c: * src/syntax.c, src/textconv.c, src/textprop.c, src/undo.c: * src/w32fns.c, src/window.c, src/xfaces.c, src/xfns.c: * src/xmenu.c, src/xselect.c, src/xterm.c: Replace all uses of 'call1', 'call2', ..., 'call8' with 'calln'.
* | Always define image_compute_scalePaul Eggert2025-01-181-0/+2
| | | | | | | | | | | | | | * src/image.c (image_compute_scale): Define even if ! (defined HAVE_IMAGEMAGICK || defined HAVE_NATIVE_TRANSFORMS), because it is always used. Needed in platforms that lack all those image libraries.
* | Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | Make image cache aware of image-scaling-factor (bug#74725)Alan Third2024-12-281-11/+34
|/ | | | | | | | | | | * src/dispextern.h (struct image): Add scale so it can be compared in search_image_cache. * src/image.c (search_image_cache): Calculate the scale factor and compare with the cached value. (image_compute_scale): Compute the image's scale factor and optionally store it in the image struct. (compute_image_size): Move scale calculation code into image_compute_scale and use it.
* Merge from origin/emacs-30Eli Zaretskii2024-12-071-5/+5
|\ | | | | | | | | | | f65de1019dc Fix the version of librsvg API change 43c4a06ffcc ; Fix grammar in Emacs user manual 6bca138d60e Fix latest test for dabbrev-expand
| * Fix the version of librsvg API changeManuel Giraud2024-12-021-5/+5
| | | | | | | | | | | | | | * src/image.c (init_svg_functions, svg_load_image): The first official version that introduces 'rsvg_handle_get_pixbuf_and_error' is 2.59.0 not 2.58.0. (Bug#74606)
* | Do not use libjpeg quantization (bug#74476)Manuel Giraud2024-12-021-49/+31
| | | | | | | | * src/image.c (jpeg_load_body): Remove libjpeg quantization.
* | Merge from emacs-30Yuan Fu2024-12-011-3/+23
|\ \ | |/ | | | | | | | | | | | | | | cf4f1387a65 ; Update tree-sitter manual 3c7687c1dd1 Allow passing nil to treesit-node-match-p (bug#74612) 748b19e56e8 Update to version 2.58 of librsvg API (bug#74606) 4c67f636c08 Fix decoding of non-ASCII email attachments bd8a6f70fb9 Prevent "Selecting deleted buffer" error with dabbrev-expand 0a753603a53 ; (dictionary-search-interface): Fix bug#74511.
| * Update to version 2.58 of librsvg API (bug#74606)Manuel Giraud2024-12-011-3/+23
| | | | | | | | | | * src/image.c (init_svg_functions): Declare new function. (svg_load_image): Use it.
* | Support :transform-smoothing on images (MS-Windows) (bug#57166)Cecilio Pardo2024-11-051-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (struct image): Add field 'smoothing' for NTGUI. * src/image.c (image_set_transform): Assign the 'smoothing' field of the image struct. * src/w32gdiplus.h: Add references to more GDI+ functions. * src/w32image.c (gdiplus_init): Add references to more GDI+ functions. * src/w32term.c (w32_draw_image_foreground): If the image is marked for smoothing and GDI+ is available, draw it with GDI+ bilinear interpolation. * etc/NEWS: New entry for this change.
* | Explicitly include stdlib.h in src/image.c (Bug#72929)Pip Cet2024-09-011-0/+1
| | | | | | | | * src/image.c: Add include.
* | Fix integer overflow when reading XPMStefan Kangas2024-09-011-4/+29
| | | | | | | | | | | | * src/image.c (xpm_str_to_int): New function. (xpm_load_image): Replace sscanf with strtol, to correctly handle integer overflow when reading a malformed XPM file. (Bug#72245)
* | Don’t ignore -Wclobbered in image.cPaul Eggert2024-08-161-9/+35
| | | | | | | | | | | | | | | | | | | | | | This fix is also prompted by Emacs bug#71744. * src/image.c: Do not ignore -Wclobbered. (png_load_body): Fix violations of the C standard, where setjmp clobbered c. Move mask_img decl to pacify GCC. (jpeg_load_body): Don’t make fp volatile; solve that problem in a better way, via a new fp_volatile local. Fix violations of the C standard, where setjmp clobbered mgr, img, and ximg. If __GNUC__ && !__clang__, add useless assignments to pacify GCC.
* | Merge from origin/emacs-30Eli Zaretskii2024-07-271-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 88e1ec22f27 Update to Org 9.7.9 1ae2f004473 Fix edge-case with 'which-key-dont-use-unicode' setter 68a5f1f7d18 NS: prevent makeKeyWindow warnings (bug#69525) 59a895ec499 ; * .gitignore: Add lisp/eshell/esh-groups.el. 5c08cd4e7c3 ; * doc/emacs/cmdargs.texi (Initial Options): Fix last ch... 309d0a71864 Add PROBLEMS entry for bug#72303 87389f9ff90 ; Improve documentation of 'line-prefix' and 'wrap-prefix'. 268a2d10fc9 Improve documentation of '--init-directory' command-line ... c27055a938a ; cperl-mode.el: Fix fontification of flip-flop (Bug#72296) fcd4e4c895d ; * admin/MAINTAINERS: Add myself for maintaining some ar... fdc133e97f6 Fix bug in server.el introduced by 0d7d835902df af527051cd3 ; * admin/MAINTAINERS: Remove Nicolas Petton. 7170282a59a lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176 68906f184cb * admin/notes/spelling: Update note. 9eea6be5abf Don't produce invalid XML with multi-line commenting style b97786d9f6e ; * etc/NEWS: Entry for 'gnus-summary-limit-to-age' (bug#... a7996615663 Standardize possessive apostrophe usage in manuals, docs,... 67faaead754 Don't refer to obsolete finder group "wp" # Conflicts: # etc/NEWS
| * Standardize possessive apostrophe usage in manuals, docs, and commentsStefan Kangas2024-07-251-1/+1
| | | | | | | | | | See the note in admin/notes/documentation. Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html
* | Merge from savannah/emacs-30Andrea Corallo2024-07-241-7/+2
|\ \ | |/ | | | | | | | | 976416bebe2 Fix some function type declaration 23549d71751 * src/image.c (gui_put_x_image): Avoid memory leak. cb633820c15 ; * doc/misc/use-package.texi (Getting Started): Fix word...
| * * src/image.c (gui_put_x_image): Avoid memory leak.Po Lu2024-07-241-7/+2
| |
* | Merge from savannah/emacs-30Po Lu2024-07-241-1/+2
|\ \ | |/ | | | | 3a76354e092 Adapt last change to non-NS systems
| * Adapt last change to non-NS systemsPo Lu2024-07-241-1/+2
| | | | | | | | | | * src/image.c (xpm_load_image): Also check whether mask_img is NULL.
* | Merge from savannah/emacs-30Po Lu2024-07-241-4/+7
|\ \ | |/ | | | | b5543c54bf0 Fix NULL pointer dereferences in xpm_load_image
| * Fix NULL pointer dereferences in xpm_load_imagePo Lu2024-07-241-4/+7
| | | | | | | | | | | | * src/image.c (x_destroy_x_image): Correct test condition. (xpm_load_image): Do not release image data if it is still to be created.
* | Merge from savannah/emacs-30Po Lu2024-07-241-8/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1ee8579eb7d Fix bug#72255 05629d3af0a Delete redundant "a.k.a." in use-package.texi c7609464f70 Document (use-package 'emacs) declarations de9f9add138 Improve 'emacs-news-view-mode' menus and bindings 7588e1f8a9f ; * src/xdisp.c (Fformat_mode_line): Doc fix. 2074e94c3b1 Fix disappearing bar cursor on Hebrew text (bug#72230) 1aaadc8aec5 Fix DocView with DVI files c1382257aa8 ; Fix typo in use-package.texi caf7426f0ca FIx spurious fontification of variable in Java Mode 9b426e15abd Correctly typeset nil and t in texinfo f050b9c5033 Fix Tramp IPv6 handling in tests 46b192c04b1 Update to Org 9.7.8-5-gfdf0e0 87f41b937bc Fix Ftreesit_parser_create
| * Fix bug#72255Po Lu2024-07-241-8/+8
| | | | | | | | | | | | | | | | | | * src/image.c (struct image_type): Minor grammatical corrections. (image_destroy_x_image): [HAVE_NS]: Do not release Emacs_Pix_Containers, which are identical to Emacs_Pixmaps and consequently always released with the `struct image'. (bug#72255)
* | Prefer `memcpy` to `strcpy` in image.cStefan Kangas2024-07-161-11/+10
| | | | | | | | | | * src/image.c (lookup_image, xpm_cache_color) (imagemagick_create_cache): Prefer 'memcpy' to 'strcpy'.
* | Restrict loop variable scope in `xpm_str_to_color_key`Stefan Kangas2024-07-161-3/+1
|/ | | | | * src/image.c (xpm_str_to_color_key): Restrict scope of loop variable.
* ; * src/image.c (free_image_cache): Add assertion. (Bug#71929)Eli Zaretskii2024-07-121-0/+3
|
* Fix bug#71929Po Lu2024-07-091-13/+8
| | | | | | | | | * src/image.c (free_image_cache): Unconditionally release image cache, as this function is only called with its existence already established. * src/xfaces.c (free_frame_faces): Clear FRAME_IMAGE_CACHE (f). (bug#71929)
* Correctly cache images when frames vary in their font metricsPo Lu2024-06-201-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (mark_frame): Mark this frame's image cache, if it exist. (mark_terminals): Cease marking T->image_cache. * src/androidfns.c (unwind_create_frame, Fx_create_frame) (android_create_tip_frame): * src/haikufns.c (unwind_create_frame, haiku_create_frame) (haiku_create_tip_frame): * src/nsfns.m (unwind_create_frame): * src/pgtkfns.c (unwind_create_frame, Fx_create_frame) (x_create_tip_frame): * src/xfns.c (unwind_create_frame, Fx_create_frame) (x_create_tip_frame): * src/w32fns.c (unwind_create_frame, Fx_create_frame) (w32_create_tip_frame): Remove adjustments of the frame image cache's reference count rendered redundant by the assignment of image caches to individual frames rather than terminals. * src/dispextern.h (struct image_cache) <scaling_col_width>: New field. * src/frame.c (gui_set_font): In lieu of clearing F's image cache unconditionally, establish whether the column width as considered by compute_image_size has changed, and if so, adjust or reassign the frame's image cache. (make_frame): Clear F->image_cache. * src/frame.h (struct frame) <image_cache>: New field. (FRAME_IMAGE_CACHE): Return F->image_cache. * src/image.c (make_image_cache): Clear C->scaling_col_width. (cache_image): Adjust to new means of assigning image caches to frames. * src/termhooks.h (struct terminal) <image_cache>: Delete field. * src/xfaces.c (init_frame_faces): Do image cache assignment with all new frames.
* Maintain relationship between tool bar image and default font widthPo Lu2024-06-031-9/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Image Descriptors): Document new value of QCscale. * lisp/cus-start.el (standard) <image-scaling-factor>: New definition. * lisp/image.el (image-scaling-factor): Move to C. (create-image): Provide `default' as the default scaling factor. (image--default-smoothing): Accept non-integer scaling factors. (image-compute-scaling-factor): Document that this function is no longer invoked by Emacs. * lisp/tool-bar.el (tool-bar--image-expression): Disable transform smoothing for tool-bar icons. * src/dispextern.h (clear_image_cache): New definition. * src/frame.c (gui_set_font): Clear such image cache entries as derive their scales from the default font width. * src/image.c (clear_image_cache): Export function. (compute_image_size): Implement `default' by reading Vimage_scaling_factor and/or computing a scale factor from the frame's column width, as the case may be. New argument F. All callers changed. (syms_of_image) <Vimage_scaling_factor>: Move from image.el.
* Stipple support for MS Windows (bug#71159)Elias G. Perez2024-06-021-17/+85
| | | | | | | | | | | | | | * src/w32term.c (w32_fill_stipple_pattern): New function. (w32_draw_glyph_string_bg_rect w32_draw_stretch_glyph_string) (w32_draw_glyph_string_background): Use new stipple function. * src/w32term.h (w32_bitmap_record): Add stipple value. * src/image.c (image_create_bitmap_from_data): Create stipple bitmap. (image_create_bitmap_from_file): Add suuport for pixmap and create stipple bitmap. (free_bitmap_record): Release stipple. * etc/NEWS: Announce support for stipples in MS-Windows.
* Silence some macOS build warningsMattias Engdegård2024-05-121-1/+1
| | | | | | | | | * src/image.c (native_image_type): Declare static. * src/keyboard.c (lispy_function_keys): Declare static on NS. * src/nsmenu.m (context_menu_value): * src/nsterm.m (ns_frame_parm_handlers): Move extern declarations... * src/nsterm.h: ...here. * test/src/emacs-module-resources/mod-test.c: Add extern declaration.
* Replace calls to intern with a constant string with DEFSYMsPo Lu2024-05-091-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (display_malloc_warning, syms_of_alloc): * src/buffer.c (Fmake_indirect_buffer, Fbuffer_local_variables) (Frename_buffer, Fkill_buffer, Fset_buffer_major_mode) (Fset_buffer_multibyte, syms_of_buffer): * src/callint.c (read_file_name, Fcall_interactively) (syms_of_callint): * src/callproc.c (call_process, create_temp_file) (syms_of_callproc): * src/charset.c (Fdefine_charset_internal, syms_of_charset): * src/cmds.c (internal_self_insert, syms_of_cmds): * src/coding.c (record_conversion_result) (Fdefine_coding_system_internal, syms_of_coding): * src/dbusbind.c (xd_signature, Fdbus_message_internal) (syms_of_dbusbind): * src/dispnew.c (init_faces_initial): * src/doc.c (Fsnarf_documentation, syms_of_doc): * src/dosfns.c (system_process_attributes, syms_of_dosfns): * src/emacs.c (init_cmdargs, Fdump_emacs, decode_env_path) (syms_of_emacs): * src/eval.c (call_debugger, Fdefvaralias, syms_of_eval): * src/fileio.c (barf_or_query_if_file_exists) (Finsert_file_contents, auto_save_error, Fdo_auto_save) (syms_of_fileio): * src/filelock.c (lock_file_1, syms_of_filelock): * src/fontset.c (fontset_from_font, syms_of_fontset): * src/frame.c (make_frame_without_minibuffer, syms_of_frame): * src/gnutls.c (emacs_gnutls_certificate_details) (Fgnutls_peer_status_warning_describe, Fgnutls_peer_status) (gnutls_verify_boot, syms_of_gnutls): * src/gtkutil.c (style_changed_cb, find_rtl_image): * src/image.c (imagemagick_filename_hint, gs_load) (syms_of_image): * src/keyboard.c (command_loop_1, read_char, timer_start_idle) (read_char_minibuf_menu_prompt, Fsuspend_emacs) (syms_of_keyboard): * src/keymap.c (Fmap_keymap, Flookup_key, Fdescribe_vector) (describe_vector, syms_of_keymap): * src/lread.c (Fread, Fread_positioning_symbols, syms_of_lread): * src/minibuf.c (Fabort_minibuffers, Fread_buffer) (Fcompleting_read, syms_of_minibuf): * src/msdos.c (XMenuActivate, run_msdos_command, syms_of_msdos): * src/nsfns.m (Fx_display_backing_store, Fx_display_visual_class) (Fns_hide_emacs, Fsystem_move_file_to_trash, ns_create_tip_frame) (x_hide_tip, Fx_show_tip, syms_of_nsfns): * src/nsfont.m (ns_spec_to_descriptor, ns_descriptor_to_entity) (syms_of_nsfont): * src/pdumper.c (Fdump_emacs_portable): * src/pgtkfns.c (Fx_display_visual_class, x_create_tip_frame) (Fx_show_tip, syms_of_pgtkfns): * src/pgtkterm.c (syms_of_pgtkterm, pgtk_cr_export_frames): * src/term.c (term_get_fkeys_1, set_tty_color_mode, Fsuspend_tty) (Fresume_tty, tty_menu_activate, syms_of_term): * src/terminal.c (create_terminal, syms_of_terminal): * src/w32fns.c (Fx_display_backing_store) (Fx_display_visual_class, Fset_message_beep, Fx_open_connection) (Fx_show_tip, Fx_file_dialog, Fsystem_move_file_to_trash) (Fw32_toggle_lock_key, syms_of_w32fns): * src/w32font.c (w32_enumfont_pattern_entity, syms_of_w32font): * src/w32term.c (w32_bitmap_icon, syms_of_w32term): * src/xdisp.c (message_dolog, define_frame_cursor1) (syms_of_xdisp): * src/xfaces.c (tty_lookup_color, syms_of_xfaces): * src/xml.c (make_dom, syms_of_xml): * src/xterm.c (syms_of_xterm): * src/xwidget.c (store_xwidget_download_callback_event) (store_xwidget_js_callback_event, syms_of_xwidget): Define symbols for symbols interned with `intern' from a constant string, delete duplicate DEFSYM directives, and substitute them for such calls to intern. This excludes only those symbols which are interned and referenced only once during Emacs's initialization, the timing of whose interning is inconsequential, and symbols in w32.c, which would need to be transferred to a new syms_of_w32 function that I cannot test.
* Implement dots and dashes on PGTKPo Lu2024-04-281-1/+0
| | | | | | | | * src/image.c (image_create_bitmap_from_file) [HAVE_PGTK]: Remove unused variable. * src/pgtkterm.c (pgtk_draw_dash, pgtk_fill_underline) (pgtk_draw_glyph_string): New functions, ported from X.
* Disable unsuitable XPM color selection mechanism on AndroidPo Lu2024-04-241-0/+10
| | | | | * src/image.c (xpm_load_image) [HAVE_ANDROID]: Always select XPM_COLOR_KEY_C.
* Miscellaneous fixes for Android portPo Lu2024-04-241-4/+11
| | | | | | | | | | | | | | | | * lisp/touch-screen.el (touch-screen-hold, touch-screen-drag): Clear deactivate-mark if the mark is activated to prevent undue deactivation after completion. * lisp/wid-edit.el (widget-field, widget-single-line-field): Insert specifications suitable for monochrome displays. * src/androidfns.c (Fxw_display_color_p, Fx_display_grayscale_p): Report color and/or grayscale properly. * src/image.c (image_create_bitmap_from_file) [HAVE_ANDROID]: If a file with no extension cannot be located, append .xbm and retry.
* Enable configuring Emacs for "pseudo-grayscale" systems on AndroidPo Lu2024-04-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/android.texi (Android Windowing): Document how to configure Emacs for monochrome displays. * src/androidfns.c (Fx_display_visual_class): Return Qstatic_gray when n_planes is smaller than 24. (Fandroid_get_connection): Set n_planes by the value of android_display_planes. (syms_of_androidfns): <Qstatic_gray>: New function. * src/androidterm.c (android_alloc_nearest_color): Allocate monochrome colors similarly to the X server. (android_query_colors): Fix typos. (android_draw_fringe_bitmap): Create bitmaps of n_image_planes depth. (android_term_init): Initialize n_image_planes to 24. (syms_of_androidterm) <android_display_planes>: New variable. * src/androidterm.h (struct android_display_info): New field `n_image_planes'. * src/image.c (n_planes) [HAVE_ANDROID]: Define to n_image_planes.