aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix failure of setting default face attribute in init script (Bug#36284)YAMAMOTO Mitsuharu2019-06-201-6/+2
| | | | | | | | | | | | | | | * src/xsettings.c (apply_xft_settings): Undo replacing all #ifdef HAVE_XFT with #if defined USE_CAIRO || defined HAVE_XFT for this function.
* | | Fix oversights of "support X core font driver on cairo" changeYAMAMOTO Mitsuharu2019-06-192-2/+2
| | | | | | | | | | | | | | | * src/Makefile.in (FONT_OBJ): Fix comment for USE_CAIRO. * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.
* | | Fix the handling of font backend supersedence on MS-WindowsEli Zaretskii2019-06-183-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32font.c (syms_of_w32font): Don't make the Uniscribe font backend "superceded" here, ... * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): ... make it "superceded" here, only if the HarfBuzz DLL was successfully loaded. This is because Emacs compiled with HarfBuzz support might run on a system without the DLL. * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Register the HarfBuzz font backend only if it is available.
* | | Support font driver supersessionYAMAMOTO Mitsuharu2019-06-186-82/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/font.c (font_update_drivers): If argument NEW_DRIVERS is t, then don't use superseded drivers. (syms_of_font) <Qfont_driver_superseded_by>: New DEFSYM. * src/ftfont.c (syms_of_ftfont) [HAVE_HARFBUZZ]: * src/ftcrfont.c (syms_of_ftcrfont) [HAVE_HARFBUZZ]: * src/w32font.c (syms_of_w32font) [HAVE_HARFBUZZ]: * src/xftfont.c (syms_of_xftfont) [HAVE_HARFBUZZ]: Make Harfbuzz variants supersede non-Harfbuzz ones. * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Remove font backend determination code.
* | | * src/image.c (image_set_rotation): Do negation at compile-time.Paul Eggert2019-06-171-2/+2
| | |
* | | Avoid rounding error in image rotationYAMAMOTO Mitsuharu2019-06-171-3/+3
| | | | | | | | | | | | * src/image.c (image_set_rotation): Halve translations as double values.
* | | Fix up the --no-print-directory changes in src/Makefile.inLars Ingebrigtsen2019-06-171-6/+7
| | | | | | | | | | | | | | | | | | * src/Makefile.in (AM_V_NO_PD): New macro written by Andreas Schwab that can be either --no-print-directory or "". (%.elc): Use it instead if the if statement.
* | | Bump up max_specpdl_size to 1500. (Bug#36216)Juanma Barranquero2019-06-161-1/+1
| | | | | | | | | | | | | | | * src/eval.c (init_eval_once): Set max_specpdl_size to 1500. * doc/lispref/variables.texi (Local Variables): Document it.
* | | Revert "Simplify image transforms"Alan Third2019-06-161-98/+212
| | | | | | | | | | | | | | | | | | This reverts commit cf3081d208814ea02fce33aac645abfc24f880a6. ; Pushed in error.
* | | Simplify image transformsAlan Third2019-06-161-212/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/image.c: (image_set_rotation, image_set_size, image_set_transform): Combine into image_set_transform. (image_set_crop): Remove function. (lookup_image): Remove calls to removed functions and remove transform_matrix. * test/manual/image-transforms-tests.el (test-cropping): Remove function. (test-transforms): Remove reference to test-cropping.
* | | Document image transformsAlan Third2019-06-161-0/+81
| | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Image Descriptors): Document :crop and update :rotation. * src/image.c: Describe the image transform matrix layout. * test/manual/image-transforms-tests.el: New file.
* | | * src/xfaces.c (dump_realized_face): Fix incorrect format string.Philipp Stephani2019-06-151-1/+1
| | |
* | | * src/xfaces.c (dump_realized_face): Fix format specifier.Philipp Stephani2019-06-151-1/+1
| | |
* | | * src/nsterm.m (ns_row_rect): Remove unused variable ‘f.’Philipp Stephani2019-06-151-1/+0
| | |
* | | Update hash value in pdumper.cEli Zaretskii2019-06-151-1/+1
| | | | | | | | | | | | | | | * src/pdumper.c (dump_fwd_buffer_obj) [CHECK_STRUCTS]: Update the hash in HASH_Lisp_Buffer_Objfwd. (Bug#36225)
* | | Improve error message when dmpstruct.h needs to be updatedEli Zaretskii2019-06-151-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_cons, dump_interval_tree, dump_string) (dump_marker, dump_overlay, dump_finalizer) (dump_bignum, dump_float, dump_fwd_int, dump_fwd_bool) (dump_fwd_obj, dump_fwd_buffer_obj, dump_fwd_kboard_obj) (dump_fwd, dump_blv, dump_symbol, dump_vectorlike_generic) (dump_hash_table, dump_buffer, dump_bool_vector, dump_subr) (dump_vectorlike, dump_object, dump_charset) [CHECK_STRUCTS]: Make the error message more specific where to find the comment to CHECK_STRUCTS.
* | | Avoid printing entering/leaving messages in second stage bootstrapLars Ingebrigtsen2019-06-151-0/+5
| | | | | | | | | | | | | | | | | | * src/Makefile.in (%.elc): Default to not printing the entering/leaving lines when compiling .el files in the second stage of bootstrapping Emacs. V=1 will output them.
* | | Improve documentation of hash-code functionsEli Zaretskii2019-06-151-3/+9
| | | | | | | | | | | | | | | | | | * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal): * doc/lispref/hash.texi (Defining Hash): Warn against assuming that sxhash returns consistent results.
* | | Remove non-Xdbe double-buffering code on cairoYAMAMOTO Mitsuharu2019-06-151-41/+6
| | | | | | | | | | | | | | | * src/xterm.c (x_begin_cr_clip, x_update_end) [USE_CAIRO]: Don't do handcrafted double-buffering with image surface.
* | | Rework x_scroll_run on cairoYAMAMOTO Mitsuharu2019-06-151-41/+43
| | | | | | | | | | | | | | | | | | * src/xterm.c (x_scroll_run) [USE_CAIRO]: Use FRAME_CR_CONTEXT or surface type for conditions to call XCopyArea rather than FRAME_X_DOUBLE_BUFFERED_P. Set compositing operator to CAIRO_OPERATOR_SOURCE when copying image.
* | | Fix text shaping of precomposed characters with HarfBuzzEli Zaretskii2019-06-131-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | * src/hbfont.c (hbfont_shape): Fix setting TO of lglyph for the case when Lisp shape-gstring function performed some compositions by itself. This happens with hebrew.el. See https://lists.freedesktop.org/archives/harfbuzz/2019-June/007396.html for the details of the problem this solves.
* | | Merge from origin/emacs-26Glenn Morris2019-06-111-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | 758e9a8 Revert "Don't mark main_thread (Bug#36155)" 1877b7b Don't mark main_thread (Bug#36155) 4904fb3 More quotation fixes (Bug#35885) 4cc4b5d ; * src/keyboard.c (tool_bar_items): Fix a typo. (Bug#36143) b58ecaf Minor copyedits in efaq-w32 48422af Tiny improvement of documentation of major mode conventions 25d44d2 * nt/addpm.c (main): Fix buffer overflow
| * | Revert "Don't mark main_thread (Bug#36155)"Andreas Schwab2019-06-101-4/+1
| | | | | | | | | | | | This reverts commit 1877b7b4d79b3434379fd5a4abd85906c25df00c.
| * | Don't mark main_thread (Bug#36155)Andreas Schwab2019-06-101-1/+4
| | | | | | | | | | | | * thread.c (mark_threads_callback): Don't mark main_thread.
| * | ; * src/keyboard.c (tool_bar_items): Fix a typo. (Bug#36143)Stefan Kangas2019-06-091-1/+1
| | |
* | | Fix shaping of Arabic test when the region is extendedEli Zaretskii2019-06-111-1/+39
| | | | | | | | | | | | | | | | | | * src/xdisp.c (compute_stop_pos): Set the limit for searching for changes in text properties such that the limit is never in the middle of composable text. (Bug#28312)
* | | * src/editfns.c (Fngettext): Fix typos in docstring.Juanma Barranquero2019-06-101-3/+3
| | |
* | | Document exporting/printing text with X core fonts to outline images on cairoYAMAMOTO Mitsuharu2019-06-101-2/+7
| | | | | | | | | | | | | | | * src/xfns.c (Fx_export_frames) [USE_CAIRO]: (Fx_print_frames_dialog) [USE_CAIRO && USE_GTK]: Add notes on x font backend.
* | | * src/fns.c (cmpfn_eql): Simplify.Paul Eggert2019-06-091-21/+14
| | |
* | | Fix int overflow bug in ‘equal’Paul Eggert2019-06-081-2/+1
| | | | | | | | | | | | | | | * src/fns.c (internal_equal): Fix bug when vector lengths exceed INT_MAX.
* | | Tune base64 decodingPaul Eggert2019-06-081-97/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves performance of base64-decode-region by about 7.5% on my platform, and gets rid of some macros. * src/fns.c (IS_ASCII, IS_BASE64, IS_BASE64_IGNORABLE) (READ_QUADRUPLET_BYTE): Remove. (base64_value_to_char, base64_char_to_value): Now an array of two arrays. All uses changed. (base64url_value_to_char, base64url_char_to_value): Remove. All uses changed to the other array. (base64_char_to_value): Entries are now of type signed char, not short, since we can assume C99. Use C99 initializers; this is clearer and caters to the (theoretical) possibility of systems that do not use ASCII or do not have 8-bit bytes. Allow any index in the range 0..UCHAR_MAX instead of limiting it to 0..127, so that uses need not check for in-range indexes. Also record padding chars. All uses changed. (base64_decode_1): Always store number of chars in *NCHARS_RETURN, for simplicity. All callers changed. Speed up the byte-fetching.
* | | Minor fixes for the last commitsEli Zaretskii2019-06-081-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/fns.c (Fbase64url_encode_region) (Fbase64url_encode_string, Fbase64_decode_region) (Fbase64_decode_string): Fix doc strings. (base64_decode_1): Minor stylistic code changes. * doc/lispref/text.texi (Base 64): Fix typos and improve wording of the last committed text.
* | | Add support for base64url variant of base-64 encoding/decodingPierre Téchoueyres2019-06-081-29/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the RFC4648 variant of base64 encoding used by URLs. * doc/lispref/text.texi (base64url-encode-region, base64url-encode-string): Document new functions. (base64-decode-region, base64-decode-string): Document new optional parameter 'base64url' used to use url variant when decoding data. * src/fns.c (base64url-encode-region, base64url-encode-region): New functions to manage url variant. (base64-decode-region, base64-decode-string): Add optional parameter to indicate use of url-variant. (base64_encode_region_1, base64_encode_string_1): Internal functions with extracted code from 'base64_encode_region' and 'base64_encode_string' and optional parameters to manage padding and url variant. (base64-encode-region, base64-encode-string) : Use base64_encode_region_1 and base64_encode_string_1. (base64-encode-1): Add parameters to manage padding and url variant. (base64-decode-1): Add parameter to manage url variant. * test/src/fns-tests.el (fns-tests--with-region): New helper macro to test region variant of base64 encode / decode functions. (fns-tests--string-repeat): Helper function used in base64 tests. (fns-tests-base64-encode-region, fns-tests-base64-encode-string): Tests for standard base64 function. (fns-test-base64url-encode-region, fns-test-base64url-encode-string): Tests for url variant. (fns-tests-base64-decode-string): Tests for decoding part.
* | | Support X core font driver on cairo (Bug#28236)YAMAMOTO Mitsuharu2019-06-083-84/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO. * doc/lispref/frames.texi (Font and Color Parameters): Mention X core font driver with Cairo drawing. * src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont. * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver. * src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from x_begin_cr_clip. (x_begin_cr_clip) [USE_CAIRO]: Use it. (xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables. (x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable) (x_end_cr_xlib_drawable) [USE_CAIRO]: New functions. (x_draw_composite_glyph_string_foreground) (x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing text with X core fonts into bitmap surfaces. Add fallback code for drawing into outline surfaces.
* | | Implement native image rotation and cropping on cairoYAMAMOTO Mitsuharu2019-06-084-46/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (struct image) [USE_CAIRO]: * src/image.c (free_image, image_clear_image_1) (image_set_crop, image_set_size, image_set_rotation) (image_create_x_image_and_pixmap) [USE_CAIRO]: #ifdef out HAVE_XRENDER part. * src/image.c (cr_create_surface_from_pix_containers) [USE_CAIRO]: Rename from cr_create_surface_from_pix_containers. Change arguments to pair of Emacs_Pix_Container:s. Move block_input and unblock_input to caller. (cr_put_image_to_cr_data) [USE_CAIRO]: New function. (prepare_image_for_display) [USE_CAIRO]: Use it. (image_set_transform) [USE_CAIRO]: Create dummy solid color pattern equipped with transformation matrix and set it to img->cr_data. * src/xterm.c (fringe_bmp) [USE_CAIRO]: Change type to cairo_pattern_t **. (x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap) [USE_CAIRO]: Create or destroy cairo pattern. (x_cr_draw_image) [USE_CAIRO]: Remove arguments image_width and image_height. Change type of image to cairo pattern. All callers changed. * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Get cairo surface from img->cr_data, which is of cairo pattern now.
* | | Fix commentary about fixnums and hashes.Paul Eggert2019-06-072-24/+18
| | |
* | | Fix minor ssize_t / ptrdiff_t confusionPaul Eggert2019-06-071-1/+2
| | | | | | | | | | | | | | | * src/fileio.c (Fcopy_file): This limit is because of ssize_t, so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.
* | | Use machine pointer width for face hashesPaul Eggert2019-06-072-9/+7
| | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (struct face): * src/xfaces.c (hash_string_case_insensitive, lface_hash) (cache_face, lookup_face): Use uintptr_t for face hashes instead of discarding the upper pointer bits on 64-bit machines.
* | | Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacsEli Zaretskii2019-06-071-2/+6
|\ \ \
| * \ \ Merge from origin/emacs-26Glenn Morris2019-06-071-2/+6
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien... aecbbd5 * src/fns.c (Fmapconcat): Doc fix. (Bug#35710) 8e5fc38 Fix typo ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'. (Bug#36... f68b33f Fix styling of Unicode codepoints in manuals ff7ec6f Fix a few uses of quotes in user manual b67042b More minor copyedits in the Emacs manual 9734b5c Fix minor issues in the Emacs manual c153250 Try to improve text on atomic windows in Elisp manual fb314ba Don't recommend insert-before-markers in process filters
| | * | * src/fns.c (Fmapconcat): Doc fix. (Bug#35710)Eli Zaretskii2019-06-071-2/+6
| | | |
* | | | Merge remote-tracking branch 'origin/harfbuzz'Eli Zaretskii2019-06-0721-139/+1357
|\ \ \ \ | |/ / / |/| | |
| * | | ; * src/hbfont.c (hbfont_shape): Fix a typo in a comment.Eli Zaretskii2019-06-021-1/+1
| | | |
| * | | Implement the get_variation_glyphs method for FreeType >= 2.3.6YAMAMOTO Mitsuharu2019-06-024-10/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Check availability of FT_Face_GetCharVariantIndex. * src/ftfont.c (ftfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]: Add function implementation. * src/ftcrfont.c (ftcrfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]: Use function implementation for HAVE_OTF_GET_VARIATION_GLYPHS. * src/ftfont.c (ftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]: * src/xftfont.c (xftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]: * src/ftxfont.c (ftxfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]: * src/ftcrfont.c (ftcrfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]: Populate the get_variation_glyphs method.
| * | | Revert previous commitYAMAMOTO Mitsuharu2019-06-024-30/+10
| | | | | | | | | | | | | | | | | | | | This reverts commit 1ab69630dcb8c7a1b1b4171211a7c8ebf11b0d1c. It has a wrong commit message.
| * | | Make fthbfont and derivatives use common HarfBuzz code in hbfont.cYAMAMOTO Mitsuharu2019-06-024-10/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/font.h (fthbfont_shape, fthbfont_combining_capability) [HAVE_HARFBUZZ]: Remove prototypes. * src/ftfont.c: Don't include math.h. (uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs) (fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape) [HAVE_HARFBUZZ]: Remove functions. * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]: * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use hbfont_shape and hbfont_combining_capability for fthbfont_shape and fthbfont_combining_capability, respectively.
| * | | Make fthbfont and derivatives use common HarfBuzz code in hbfont.cYAMAMOTO Mitsuharu2019-06-024-299/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/font.h (fthbfont_shape, fthbfont_combining_capability) [HAVE_HARFBUZZ]: Remove prototypes. * src/ftfont.c: Don't include math.h. (uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs) (fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape) [HAVE_HARFBUZZ]: Remove functions. * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]: * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use hbfont_shape and hbfont_combining_capability instead of fthbfont_shape and fthbfont_combining_capability, respectively.
| * | | ; src/w32uniscribe.c: Remove redundant include of math.h.Eli Zaretskii2019-06-011-1/+0
| | | |
| * | | Port hbfont.c to GCC 9 with --enable-gcc-warningsPaul Eggert2019-06-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | * src/hbfont.c (hbfont_shape): Use ptrdiff_t, not int, for indexes that in theory might overflow int. Add UNINIT to pacify GCC 9 and omit an unnecessary initialization.
| * | | ; * src/font.c (Ffont_variation_glyphs): Doc fix.Eli Zaretskii2019-06-011-3/+3
| | | |