aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix two fringe bitmapsEli Zaretskii2020-04-251-2/+2
| | | | | | | | | | * src/fringe.c (question_mark_bits, exclamation_mark_bits): Fix the numerical values. (Bug#40805)
* | Fix display of composed text with :box face attributeEli Zaretskii2020-04-236-26/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (get_next_display_element): For a composition on a display or overlay string, set the end_of_box_run_p flag if the string ends at the last character included in the composition. (fill_gstring_glyph_string): Fix the way the width of a gstring glyph string is calculated: use the values calculated in gui_produce_glyphs, since the latter adjusts the width due to the face's ':box' attribute. * src/xterm.c (x_draw_glyph_string_box): * src/w32term.c (w32_draw_glyph_string_box): * src/nsterm.m (ns_dumpglyphs_box_or_relief): Support automatic compositions, which have the right_box_line_p flag set on the last glyph produced from the composition. (Bug#40687) * src/w32term.c (w32_compute_glyph_string_overhangs): Update to be consistent with xterm.c in its support of automatic composition glyph strings. * src/dispextern.h (enum glyph_type): More accurate commentary. * src/.gdbinit (pgx): Display slice.img members only for image glyphs.
* | text-char-description minor cleanupPaul Eggert2020-04-221-15/+8
| | | | | | | | | | | | * src/keymap.c (push_text_char_description): Omit useless code. (Ftext_char_description): Minor code cleanup, inspired by seeing an incorrect comment about MAX_MULTIBYTE_LENGTH’s value.
* | Tweak multibyte parsing loopsPaul Eggert2020-04-221-3/+3
| | | | | | | | | | | | * src/character.c (parse_str_as_multibyte, str_as_multibyte): Let the fast loop run a little longer, fixing what appears to be an off-by-1 performance nit.
* | Fix string-to-multibyte overlong sequence bugPaul Eggert2020-04-204-68/+87
| | | | | | | | | | | | | | | | | | * src/character.h (MULTIBYTE_LENGTH, MULTIBYTE_LENGTH_NO_CHECK): Remove, replacing with ... (multibyte_length): ... this new function. All callers changed. The new function rejects overlong multibyte forms. * test/src/buffer-tests.el (buffer-multibyte-overlong-sequences): New test.
* | Remove workaround from w32image.cEli Zaretskii2020-04-201-2/+0
| | | | | | | | | | | | * src/w32image.c (w32_load_image): Remove a workaround for a bug that is not needed anymore. This error was happening because GDI+ functions were called as CDECL, not as STDCALL.
* | Merge from origin/emacs-27Glenn Morris2020-04-204-7/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 05089a4d65 (origin/emacs-27) Tweak wording re constant variables a1040861f1 Tweak setcar-related wording 751510f865 * lisp/image-mode.el: Add prefix key 's' and reduce depend... 9261a219ec * doc/emacs/windows.texi (Window Convenience): Decribe mor... e1d42da0d6 Fix mutability glitches reported by Drew Adams 5805df74f5 Improve mutability doc dca35b31d0 Improve mutability documentation 81e7d7f111 Document that quoting yields constants 5734339f40 * doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu... 14a570afae Remove #' and function quoting from lambda forms in manual d5ec18c66b * src/regex-emacs.c (re_match_2_internal): Rework comment ... 4df8a61117 Add new node "Image Mode" to Emacs Manual. d7d5ee6c57 ; Fix a typo in cmdargs.texi (bug#40701) 5e9db48fbe * doc/lispref/display.texi (Customizing Bitmaps): Fix typo. eebfb72c90 Document constant vs mutable objects better 6c187ed6b0 Improve documentation of 'sort-lines' 52288f4b66 Mention 'spam-stat-process-directory-age' in the documenta... 067b070598 ; Fix some typos and doc issues (bug#40695) # Conflicts: # etc/NEWS
| * * src/regex-emacs.c (re_match_2_internal): Rework comment in last changeStefan Monnier2020-04-182-5/+7
| | | | | | | | | | | | Explain why we don't need to worry about Lisp modifying the buffer. * src/syntax.c (parse_sexp_propertize): Fix name in error message.
| * ; Fix some typos and doc issues (bug#40695)Štěpán Němec2020-04-182-2/+2
| |
* | Rework how GDI+ functions are loaded dynamically in w32image.cEli Zaretskii2020-04-191-43/+102
| | | | | | | | | | | | | | | | | | | | * src/w32image.c: Define correct WINGDIPAPI typedefs for GDI+ functions. We cannot use DEF_DLL_FN, since that is for functions with C calling conventions, whereas GDI+ functions are __stdcall. (gdiplus_init): Load functions from DLL manually, not via LOAD_DLL_FN, as the latter is for __cdecl functions. (w32_frame_delay): Initialize delay with a negative value, as zero is a valid delay.
* | Don't use Gnulib's explicit_bzero on MS-WindowsEli Zaretskii2020-04-191-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | This is a preventive change, since Gnulib was recently changed its explicit_bzero to call SecureZeroMemory on MS-Windows, disregarding systems older than XP, which didn't have it. * src/w32.c (explicit_bzero): New function. * nt/mingw-cfg.site (ac_cv_func_explicit_bzero): Avoid using the Gnulib replacement for explicit_bzero. * nt/inc/ms-w32.h (explicit_bzero): Add prototype.
* | Fix misnamed variable breaking GNUstepAhmed Khanzada2020-04-181-1/+1
| | | | | | | | * src/nsterm.m (ns_set_offset): Use correct variable.
* | Merge from origin/emacs-27Glenn Morris2020-04-181-0/+22
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | f3b62b6c62 (origin/emacs-27) Avoid crashes in regex-emacs.c due to GC 175c61c18b Fix "C-u M-!" when 'shell-command-dont-erase-buffer' is no... 6b297519b5 Fix cl-most-positive-float doc typo c36c5a3ded ; lisp/ldefs-boot.el: Update. 3876a60569 Fix a typo in calculator.el 9e832ba91b * lisp/erc/erc.el: Add URL to the new ERC page on the Emac... # Conflicts: # etc/NEWS
| * Avoid crashes in regex-emacs.c due to GCEli Zaretskii2020-04-181-0/+22
| | | | | | | | | | * src/regex-emacs.c (re_match_2_internal): Prevent GC from invalidating C pointers to buffer text. (Bug#40661)
* | Safeguard the fix of bug#40632Eli Zaretskii2020-04-181-2/+6
| | | | | | | | | | * src/xdisp.c (move_it_to): Restrict the recent fix to iteration through buffer text.
* | Don't abort when using GDI+ for imagesEli Zaretskii2020-04-181-7/+14
| | | | | | | | | | | | * src/w32image.c (decode_delay): Instead of aborting when the type of delay value is unrecognized, return an invalid negative value.
* | Fix loading multi-frame TIFF images via GDI+Juan José García-Ripoll2020-04-181-18/+24
| | | | | | | | | | | | | | * src/w32image.c (w32_frame_delay): Don't try to compute frame delay if GdipGetPropertyItemSize fails for PropertyTagFrameDelay. (w32_load_image): Don't add 'delay' member to metadata if the delay could not be determined.
* | Fix handling of child frames in prepare_menu_bars (Bug#40639)Martin Rudalics2020-04-181-5/+6
| | | | | | | | | | | | | | * src/xdisp.c (prepare_menu_bars): Call gui_consider_frame_title for child frames too (Bug#40639). Never try to update menu bar of a child frame. Do not exclude child frames from updating tool or tab bars.
* | Port recent character.h changes to --with-wide-intPaul Eggert2020-04-173-99/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/fns.c (mapcar1): * src/keymap.c (Fkey_description): * src/syntax.c (scan_lists): Prefer ptrdiff_t to EMACS_INT where either will do; this fixes newly-introduced type errors on --with-wide-int platforms where ptrdiff_t is narrower than EMACS_INT. * src/keymap.c (Fkey_description): Rework for clarity; remove goto. * src/syntax.c (scan_words, Fforward_comment, scan_lists)): Fix unlikely integer overflow problems that can occur on --with-wide-int platforms, and that were caught by the recent character.h changes.
* | Pacify gcc -Og x86-64Paul Eggert2020-04-171-1/+1
| | | | | | | | | | * src/editfns.c (Ftranslate_region_internal): Add UNINIT to pacify gcc -Og x86-64 (GCC 9.3.1 20200317 (Red Hat 9.3.1-1)).
* | Prefer more inline functions in character.hPaul Eggert2020-04-1735-722/+579
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/buffer.h (fetch_char_advance, fetch_char_advance_no_check) (buf_next_char_len, next_char_len, buf_prev_char_len) (prev_char_len, inc_both, dec_both): New inline functions, replacing the old character.h macros FETCH_CHAR_ADVANCE, FETCH_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS, INC_POS, BUF_DEC_POS, DEC_POS, INC_BOTH, DEC_BOTH respectively. All callers changed. These new functions all assume buffer primitives and so need to be here rather than in character.h. * src/casefiddle.c (make_char_unibyte): New static function, replacing the old MAKE_CHAR_UNIBYTE macro. All callers changed. (do_casify_unibyte_string): Use SINGLE_BYTE_CHAR_P instead of open-coding it. * src/ccl.c (GET_TRANSLATION_TABLE): New static function, replacing the old macro of the same name. * src/character.c (string_char): Omit 2nd arg. 3rd arg can no longer be NULL. All callers changed. * src/character.h (SINGLE_BYTE_CHAR_P): Move up. (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE, PREV_CHAR_BOUNDARY) (STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE) (FETCH_STRING_CHAR_ADVANCE) (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE) (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE) (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH) (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS): Remove. (make_char_multibyte): New static function, replacing the old macro MAKE_CHAR_MULTIBYTE. All callers changed. (CHAR_STRING_ADVANCE): Remove; all callers changed to use CHAR_STRING. (NEXT_CHAR_BOUNDARY): Remove; it was unused. (raw_prev_char_len): New inline function, replacing the old PREV_CHAR_BOUNDARY macro. All callers changed. (string_char_and_length): New inline function, replacing the old STRING_CHAR_AND_LENGTH macro. All callers changed. (STRING_CHAR): Rewrite in terms of string_char_and_length. (string_char_advance): New inline function, replacing the old STRING_CHAR_ADVANCE macro. All callers changed. (fetch_string_char_advance): New inline function, replacing the old FETCH_STRING_CHAR_ADVANCE macro. All callers changed. (fetch_string_char_as_multibyte_advance): New inline function, replacing the old FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE macro. All callers changed. (fetch_string_char_advance_no_check): New inline function, replacing the old FETCH_STRING_CHAR_ADVANCE_NO_CHECK macro. All callers changed. * src/regex-emacs.c (HEAD_ADDR_VSTRING): Remove; no longer used. * src/syntax.c (scan_lists): Use dec_bytepos instead of open-coding it. * src/xdisp.c (string_char_and_length): Rename from string_char_and_length to avoid name conflict with new function in character.h. All callers changed.
* | Prefer inline functions in character.hPaul Eggert2020-04-175-161/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In character.h, replace macros with inline functions or enums when this is easy. This improves maintainability and on my platform (Fedora 31 x86-64, gcc -O2) improved CPU performance very slightly (0.3%) on ‘make compile-always’. * src/buffer.h (SANE_TAB_WIDTH, CHARACTER_WIDTH): Move here from character.h, and make them inline functions. Tune CHARACTER_WIDTH so that ASCII_CHAR_WIDTH is no longer needed. (sanitize_tab_width, sanitize_char_width): Move here from character.h. * src/character.h (MAX_CHAR, MAX_UNICODE_CHAR, MAX_1_BYTE_CHAR) (MAX_2_BYTE_CHAR, MAX_3_BYTE_CHAR, MAX_4_BYTE_CHAR) (MAX_5_BYTE_CHAR, MIN_MULTIBYTE_LEADING_CODE) (MAX_MULTIBYTE_LEADING_CODE, MAX_MULTIBYTE_LENGTH): Now enum constants instead of macros. * src/character.h (CHAR_BYTES): Redo to avoid conditional branches. (CHAR_BYTE8_P, BYTE8_TO_CHAR, UNIBYTE_TO_CHAR, CHAR_TO_BYTE8) (CHAR_TO_BYTE_SAFE, CHAR_BYTE8_HEAD_P, CHARACTERP) (CHECK_CHARACTER, CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR) (CHAR_PRINTABLE_P, CHAR_BYTES, CHAR_LEADING_CODE, BYTE8_STRING) (LEADING_CODE_P, TRAILING_CODE_P, CHAR_HEAD_P) (BYTES_BY_CHAR_HEAD): Now inline functions instead of macros. (ASCII_CHAR_WIDTH): Remove; no longer used. * src/conf_post.h (ATTRIBUTE_PURE): New macro. * src/lisp.h (char_table_ref): Use it, for better inlining. * src/fns.c (base64_decode_1): Add now-necessary casts.
* | Use native image API for NSAlan Third2020-04-163-63/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (NATIVE_IMAGE_API): Move above NS definitions. (HAVE_NATIVE_IMAGE_API): Set for NS. (HAVE_PNG, HAVE_JPEG, HAVE_GIF, HAVE_TIFF): Enable on NS builds. * src/image.c (HAVE_NS): Fix a number of #if's so they no longer rely on HAVE_NS. (PIX_MASK_DRAW): Add for HAVE_NS so libpng support will compile. (image_can_use_native_api): (native_image_load): Add NS support. (png_load): (jpeg_load): (tiff_load): (gif_load): Remove NS specific definitions. * src/nsimage.m (ns_can_use_native_image_api): New function. * src/nsterm.h: (ns_can_use_native_image_api): New function.
* | Allow dynamic choice of drawing path on NS (bug#39883)Alan Third2020-04-162-72/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/nsterm.h (NS_DRAW_TO_BUFFER): Let this be enabled on versions older than 10.14. * src/nsterm.m (ns_update_begin): (ns_update_end): (ns_focus): (ns_unfocus): ([EmacsView viewDidResize:]): ([EmacsView createDrawingBuffer]): ([EmacsView windowDidChangeBackingProperties:]): ([EmacsView copyRect:to:]): ([EmacsView wantsUpdateLayer]): Dynamically switch between drawing to a buffer and drawing to the screen, depending on the version of AppKit in use. ([EmacsView dealloc]): We can't release the context unless NS_DRAW_TO_BUFFER is defined.
* | Fix NS frame resizing issues (bug#40200, bug#28872)Alan Third2020-04-163-185/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/nsmenu.m (update_frame_tool_bar): Remove reference to updateFrameSize. * src/nsterm.h: ([EmacsView updateFrameSize]): ([EmacsView setRows:andColumns:]): Remove unused method definitions. (NS_PARENT_WINDOW_LEFT_POS): (NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m. * src/nsterm.m (ns_parent_window_rect): New function. (NS_PARENT_WINDOW_LEFT_POS): (NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m and simplify. (ns_set_offset): Fix strange behaviours when using negative values. (ns_set_window_size): (ns_set_undecorated): ([EmacsView windowDidResize:]): ([EmacsView windowDidExitFullScreen]): (ns_judge_scroll_bars): Remove references to updateFrameSize. ([EmacsView dealloc]): Unset resize notification and release buffer. ([EmacsView updateFrameSize:]): Remove function. ([EmacsView windowWillResize:toSize:]): Move some code to viewDidResize. ([EmacsView viewDidResize]): New function. ([EmacsView initFrameFromEmacs:]): Set up resize notification and move buffer creation until after the prerequisite objects are created. ([EmacsView toggleFullScreen:]): Set frame to the size of the contentview, not the whole window, and remove reference to updateFrameSize. ([EmacsView setRows:andColumns:]): Remove unused method. ([EmacsView windowDidMove:]): Tidy up.
* | (forward-comment -n): escaped newline is sometimes NOT end of commentAlan Mackenzie2020-04-161-2/+3
| | | | | | | | | | * src/syntax.c (Fforward_comment) When comment-end-can-be-escaped is non-nil, don't attempt back_comment when point is just after an escaped newline, etc.
* | Fix type-checking bug in vertical-motionPaul Eggert2020-04-161-8/+6
| | | | | | | | | | * src/indent.c (Fvertical_motion): Fix bug where the type of lcols was checked too late.
* | * src/indent.c (Fvertical_motion): Fix int/Lisp_Object mix up.Glenn Morris2020-04-161-1/+1
| |
* | Avoid compiler warning in indent.cEli Zaretskii2020-04-161-0/+2
| | | | | | | | | | * src/indent.c (Fvertical_motion): Avoid compilation warning. Reported by Juanma Barranquero <lekktu@gmail.com>.
* | ; * src/w32image.c (w32_select_active_frame): Comment about GUID values.Eli Zaretskii2020-04-161-0/+5
| |
* | File-handling cleanup in w32image.cEli Zaretskii2020-04-164-14/+9
| | | | | | | | | | | | | | | | | | * src/w32image.c (w32_load_image): Encode the image file name and convert it via 'map_w32_filename'. No need to do anything special when 'w32_unicode_filenames' is zero, since file names are in UTF-8 internally, and this code will never run on Windows 9X. * src/w32.h (map_w32_filename): Add prototype; removed prototypes from all *.c files.
* | Fix retrieval of frame delay when using GDI+Eli Zaretskii2020-04-151-3/+41
| | | | | | | | | | | | | | * src/w32image.c (enum PropertyItem_type): New enumeration. (decode_delay): New function. (w32_frame_delay): Call 'decode_delay' to retrieve the frame delay from image data.
* | Merge from origin/emacs-27Glenn Morris2020-04-151-0/+15
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5f7c26907 (origin/emacs-27) * admin/authors.el: Add an author alias. d87a4d1f4e Limit RLIMIT_NOFILE to FD_SETSIZE on macOS e5ca8e5e73 Fix Elisp manual entry on 'set-window-configuration' 485f24223f ; Update ChangeLog.3 8f200254fb ; Update etc/AUTHORS c7adc851ad * admin/authors.el: Add missing author aliases. 4acdd7fe58 Fix edge case errors in filename-matching regexps 5f36e21fe5 Clarify the doc string of 'yank' 13301d4266 New function erc-track-switch-buffer-other-window 38f7538d8f New function erc-switch-to-buffer-other-window # Conflicts: # etc/NEWS
| * Limit RLIMIT_NOFILE to FD_SETSIZE on macOSYAMAMOTO Mitsuharu2020-04-151-0/+15
| | | | | | | | | | | | | | * src/nsterm.m ([EmacsApp applicationDidFinishLaunching:]): Call CoreFoundation functions that increase RLIMIT_NOFILE behind our back during startup, and then set RLIMIT_NOFILE back to FD_SETSIZE to avoid crashes in setup_process_coding_system (Bug#39164).
* | Avoid infloop in redisplay when wrap-prefix is too wideEli Zaretskii2020-04-151-1/+15
| | | | | | | | | | | | * src/xdisp.c (move_it_to): Avoid infloop due to wrap-prefix that is wide enough to leave no space to display even the first character of the continuation line. (Bug#40632)
* | Avoid compiler warning in image.cEli Zaretskii2020-04-141-6/+3
| | | | | | | | | | | | | | | | * src/image.c (image_can_use_native_api): Avoid compiler warnings by making this function conditioned on HAVE_NATIVE_IMAGE_API. (initialize_image_type): Call image_can_use_native_api only if HAVE_NATIVE_IMAGE_API is non-zero. Reported by Basil L. Contovounesios <contovob@tcd.ie>.
* | ; * src/image.c: Cleanup of #ifdef's related to HAVE_NATIVE_IMAGE_API.Eli Zaretskii2020-04-141-4/+2
| |
* | Make use of MS-Windows native image API be selectable at run timeEli Zaretskii2020-04-146-145/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Minor cleanup in how w32image.o is added to the build when native image APIs are requested. * src/w32gui.h (w32_load_image, w32_can_use_native_image_api) (w32_gdiplus_shutdown): Move prototypes from w32term.h here, since w32.c doesn't include w32term.h. * src/image.c (struct image_type): No need to pass TYPE to the 'valid_p' method. All callers changed. (initialize_image_type) [HAVE_NATIVE_IMAGE_API]: Call 'image_can_use_native_api' before trying image-specific methods. (image_can_use_native_api): New function. (image_types): Remove the native_image_type parts. (syms_of_image): New symbol 'native-image'. (parse_image_spec): Accept native-image "type" for any image type. * src/w32term.c (syms_of_w32term): New variable 'w32-use-native-image-API'. * src/w32image.c: (w32_can_use_native_image_api): New function. (gdiplus_init): Rename from w32_gdiplus_startup. Simplify code. Move the call to GdiplusStartup to a separate function. Use ordinal number for SHCreateMemStream if cannot load it by name. (w32_load_image): Ignore Win32Error status from w32_select_active_frame. Move DEFSYMs from here... * src/image.c (syms_of_image) [HAVE_NATIVE_IMAGE_API]: ...to here. * etc/NEWS: Update the entry about native image API use.
* | Initial version of native image API support for MS-WindowsJuan José García-Ripoll2020-04-145-34/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32image.c: New file. * src/w32term.h: Add prototypes of 'w32_load_image', 'w32_gdiplus_startup', 'w32_gdiplus_shutdown', and 'w32_query_frame_background_color'. * src/w32term.c (w32_query_frame_background_color): No longer static. * src/w32.c (term_ntproc) [HAVE_GDIPLUS]: Call 'w32_gdiplus_shutdown'. * src/image.c (struct image_type) <valid_p>: Accept an additional argument, the image type. All implementations changed. (init_native_image_functions, native_image_p, native_image_load) [HAVE_NATIVE_IMAGE_API]: New methods for "native image type". (initialize_image_type) [HAVE_NATIVE_IMAGE_API]: Call 'init_native_image_functions'. (image_types) [HAVE_NATIVE_IMAGE_API]: Add settings for native image API. (lookup_image_type) [HAVE_NATIVE_IMAGE_API]: Initialize native functions if needed. * lisp/term/w32-win.el (dynamic-library-alist): Add gdiplus and shlwapi. * etc/NEWS: Announce the new feature. * configure.ac (native-image-api): New option, OFF by default. (HAVE_NATIVE_IMAGE_API): If native-image-api is selected, add w32image.o to W32_OBJ.
* | Merge from origin/emacs-27Glenn Morris2020-04-131-1/+7
|\ \ | |/ | | | | f84aed5fd2 (origin/emacs-27) Clarify documentation on inhibit-modific...
| * Clarify documentation on inhibit-modification-hooks intended usageŠtěpán Němec2020-04-131-1/+7
| | | | | | | | | | | | | | | | | | Cf. bug#40332 and the discussion at https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00921.html * doc/lispref/text.texi (Change Hooks): * src/insdel.c (syms_of_insdel): Clarify the intended usage of 'inhibit-modification-hooks'.
* | Merge from origin/emacs-27Glenn Morris2020-04-131-0/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | 1dfc497fac Minor wording change in Introduction to Programming in Ema... ff09b4eeac Fix 'flymake-show-diagnostics-buffer' when line numbers ar... 63e8d0ea87 Fix last changes describing mail commands 01212a762f Do setup Flymake in file-less Elisp buffers 36873ef2b2 Fix error message for ‘cl-struct-unknown-slot’ (bug#39995) 3f9310b0fe Fix and improve documentation of mail-related features 1482a75efa Fix build failure with Fx_gtk_debug cf57663f2a Mention jit-lock deferred as an alternative to fast-but-im... # Conflicts: # etc/NEWS
| * Fix build failure with Fx_gtk_debugMartin Rudalics2020-04-121-0/+4
| | | | | | | | | | | | * src/xfns.c (Fx_gtk_debug, Sx_gtk_debug): Define only for GTK versions >= 3.14.0 so gtk_window_set_interactive_debugging is defined. Reported by Andreas Schwab <schwab@linux-m68k.org>.
* | Fix previous change in w32fns.cAlbert2020-04-131-5/+2
| | | | | | | | | | | | * src/w32fns.c (w32_msg_pump): Simplify by not calling ImmGetOpenStatus. (Fw32_get_ime_open_status): Fix a typo.
* | ; Fix last change.Eli Zaretskii2020-04-131-2/+4
| |
* | Support toggling native Input Methods on MS-WindowsAlbert2020-04-132-1/+77
| | | | | | | | | | | | | | | | | | | | | | | | * src/w32term.h (WM_EMACS_IME_STATUS): New message code. * src/w32fns.c (ImmGetOpenStatus_Proc, ImmSetOpenStatus_Proc): New typedefs. (w32_msg_pump): Handle the WM_EMACS_IME_STATUS message. (Fw32_get_ime_open_status, Fw32_set_ime_open_status): New functions (syms_of_w32fns): Defsubr them. (globals_of_w32fns): Load ImmGetOpenStatus and ImmSetOpenStatus from IMM2.DLL.
* | Fix error in 'call-process-region' when START is nil (Bug#40576)Philipp Stephani2020-04-121-1/+11
| | | | | | | | | | | | | | | | * src/callproc.c (Fcall_process_region): Fix behavior when START is nil and DELETE is non-nil. * test/src/callproc-tests.el (call-process-region-entire-buffer-with-delete): New unit test.
* | Fix a bootstrap issue with unescaped character literal detection.Philipp Stephani2020-04-121-1/+7
| | | | | | | | | | | | * src/lread.c (load_warn_unescaped_character_literals): Deal with the case that 'byte-run--unescaped-character-literals-warning' isn't yet defined.
* | Remove UNSIGNED_CMPPaul Eggert2020-04-117-67/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I added this macro in 2011 to fix some signedness comparison bugs. However, it’s a weird macro and the bugs can be fixed in a more-straightforward way. This helps performance slightly (0.5%) on my platform (Fedora 31 x86-64, GCC 9.3.1 with -O2). * src/casefiddle.c (do_casify_natnum): Use simple comparison instead of UNSIGNED_CMP. * src/character.h (CHAR_VALID_P, SINGLE_BYTE_CHAR_P, CHAR_STRING): * src/composite.h (COMPOSITION_ENCODE_RULE_VALID): * src/lisp.h (ASCII_CHAR_P): Now an inline function, and uses simple comparison instead of UNSIGNED_CMP. * src/dispextern.h (FACE_FROM_ID, FACE_FROM_ID_OR_NULL) (IMAGE_FROM_ID, IMAGE_OPT_FROM_ID): Move these to ... * src/frame.h (FACE_FROM_ID, FACE_FROM_ID_OR_NULL) (IMAGE_FROM_ID, IMAGE_OPT_FROM_ID): ... here, and make them inline functions that no longer use UNSIGNED_CMP. * src/keyboard.c (read_char): UNSIGNED_CMP is not needed here since XFIXNAT always returns a nonnegative value. * src/lisp.h (UNSIGNED_CMP): Remove; no longer used.
* | Allow ENCODE_FILE and DECODE_FILE to use no-copy conversionMattias Engdegård2020-04-112-14/+19
| | | | | | | | | | | | | | | | | | | | They already did return their argument under some circumstances; this change broadens it to further reduce allocation in common cases (bug#40407). * src/coding.c (convert_string_nocopy): New function. (decode_file_name, encode_file_name): Use convert_string_nocopy. * src/coding.h (ENCODE_FILE, DECODE_FILE): Note the nocopy semantics.