aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * New function erc-switch-to-buffer-other-windowAmin Bandali2020-04-132-19/+33
| | | | | | | | | | | | | | | | | | * lisp/erc/erc.el (erc-switch-to-buffer): Factor out the buffer choice implementation from here ... (erc--switch-to-buffer): ... to here. (erc-switch-to-buffer-other-window): New function, like `erc-switch-to-buffer', but uses `switch-to-buffer-other-window' instead, to open the buffer in another window.
* | Fix small glitches in documenting the native image API featureEli Zaretskii2020-04-152-3/+2
| | | | | | | | | | | | | | * etc/NEWS: Fix wording of the entry for native image API support. Reported by Juanma Barranquero <lekktu@gmail.com>. * configure.ac (native-image-api): Fix the "--help" description.
* | 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)
* | * lisp/htmlfontify.el: Use `font-lock-ensure` unconditionallyStefan Monnier2020-04-151-84/+25
| | | | | | | | | | | | | | | | | | Remove redundant `:group`s. (hfy-force-fontification): Make it an obsolete alias for `font-lock-ensure`. Update all callers. (hfy-init-kludge-hooks, hfy-init-kludge-hook): Remove vars, not used any more. (hfy-kludge-cperl-mode): Declare it obsolete.
* | 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-148-152/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-148-35/+466
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Fix hi-lock test and add new test for unhighlight (bug#40337)Juri Linkov2020-04-142-5/+61
| | | | | | | | | | | | | | | | | | * lisp/hi-lock.el (hi-lock-unface-buffer): Use hi-lock--hashcons only on strings, not lists. * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Revert previous change, use "a" instead of "b". (hi-lock-unhighlight): New test.
* | * lisp/vc/vc.el (vc-deduce-fileset): Improve docstring (bug#34949).Juri Linkov2020-04-141-12/+22
| |
* | Merge from origin/emacs-27Glenn Morris2020-04-132-1/+14
|\ \ | |/ | | | | f84aed5fd2 (origin/emacs-27) Clarify documentation on inhibit-modific...
| * Clarify documentation on inhibit-modification-hooks intended usageŠtěpán Němec2020-04-132-1/+14
| | | | | | | | | | | | | | | | | | 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-130-0/+0
|\ \ | |/ | | | | | | | | The following commit was skipped: 81d07da788 gnus-shorten-url: Improve and avoid args-out-of-range error
| * gnus-shorten-url: Improve and avoid args-out-of-range errorŠtěpán Němec2020-04-131-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored fragment identifiers and didn't check substring bounds, in some cases leading to runtime errors, e.g.: (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40) ;; => Lisp error: (args-out-of-range "/path/and" -18 nil) This commit makes it account for #fragments and fixes faulty string computation. (bug#39980) Do not merge to master, where the helper is put to subr-x.el. * lisp/gnus/gnus-sum.el (gnus--string-truncate-left): New helper function (copied from 'ediff-truncate-string-left'). (gnus-shorten-url): Use it and don't drop #fragments.
* | Merge from origin/emacs-27Glenn Morris2020-04-1310-64/+74
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Minor wording change in Introduction to Programming in Emacs LispEli Zaretskii2020-04-131-1/+2
| | | | | | | | | | | | * doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Mention that dynamic scoping is only the default in Emacs Lisp, not the only scoping rule. (Bug#40594)
| * Fix 'flymake-show-diagnostics-buffer' when line numbers are displayedEli Zaretskii2020-04-131-29/+36
| | | | | | | | | | | | * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Do nothing if 'flymake--diagnostics-buffer-source' is not a buffer. (Bug#40529)
| * Fix last changes describing mail commandsEli Zaretskii2020-04-121-8/+8
| | | | | | | | | | * doc/emacs/sending.texi (Sending Mail): Fix the description of the behavior of 'C-x m' without prefix argument. (Bug#40561)
| * Do setup Flymake in file-less Elisp buffersJoão Távora2020-04-121-3/+3
| | | | | | | | | | | | | | Fixes: bug#40573 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Change condition for setting flymake-diagnostic-functions.
| * Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)Philipp Stephani2020-04-121-1/+1
| | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-struct-unknown-slot): Remove spurious format specifiers.
| * Fix and improve documentation of mail-related featuresEli Zaretskii2020-04-124-29/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/simple.el (compose-mail): Clarify the effect of the CONTINUE argument. * lisp/mail/sendmail.el (mail-from-style): Update the RFC value in the obsolescence warning text. * doc/emacs/sending.texi (Sending Mail): Fix the description of the behavior of 'C-x m' wrt prefix argument. (Mail Headers): Remove the description of 'mail-from-style'. * etc/NEWS: Mention that 'mail-from-style' is obsolete. (Bug#40561)
| * 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>.
| * Mention jit-lock deferred as an alternative to fast-but-imprecise-scrollingAlan Mackenzie2020-04-111-0/+9
| | | | | | | | | | | | * doc/emacs/display.texi (Scrolling): Add a paragraph on using jit-lock deferred fontification as a way of obviating Emacs hanging after auto-repeated scrolling.
* | * doc/lispref/processes.texi (Network): Fix xref usage.Glenn Morris2020-04-131-1/+1
| |
* | * doc/emacs/msdos.texi (Windows Keyboard): Fix xref.Glenn Morris2020-04-131-1/+1
| |
* | 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.
* | Document the new 'w32-get/set-ime-open-status' functionsEli Zaretskii2020-04-132-0/+22
| | | | | | | | | | | | | | * doc/emacs/msdos.texi (Windows Keyboard): Document 'w32-set-ime-open-status'. * etc/NEWS: Announce the new IME-related functions.
* | ; 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.
* | gnus-shorten-url: Improve and avoid args-out-of-range errorŠtěpán Němec2020-04-134-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored fragment identifiers and didn't check substring bounds, in some cases leading to runtime errors, e.g.: (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40) ;; => Lisp error: (args-out-of-range "/path/and" -18 nil) This commit makes it account for #fragments and fixes faulty string computation, reusing existing helper function. (bug#39980) * lisp/vc/ediff-init.el (ediff-truncate-string-left): Rename to 'string-truncate-left' and move... * lisp/emacs-lisp/subr-x.el (string-truncate-left): ...here. All callers changed. * lisp/gnus/gnus-sum.el (gnus-shorten-url): Fix args-out-of-range error, don't drop #fragments, use 'string-truncate-left'.
* | Fix last changeEli Zaretskii2020-04-131-1/+1
| | | | | | | | | | * lisp/mail/rmail.el (rmail-simplified-subject): A prefix can have up to 4 characters, not 3.
* | Improve support of "Re:" in RmailEli Zaretskii2020-04-132-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/mail/rmail.el (rmail-simplified-subject) (rmail-reply-regexp): Recognize U+FF1A FULLWIDTH COLON as a colon after "Re:"-type prefixes. (rmail-re-abbrevs): New defcustom with localized abbreviations of "Re:". (rmail-reply-regexp): Use 'rmail-re-abbrevs'. Recognize U+FF1A in addition to the ASCII colon. * etc/NEWS: Call out the new defcustom 'rmail-re-abbrevs'.
* | Fix hi-lock test and add new test for case-fold (bug#40337)Juri Linkov2020-04-133-21/+120
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/hi-lock.el (hi-lock--regexps-at-point): Handle font-lock faces. (hi-lock-unface-buffer): Simplify default value handling. (hi-lock-set-pattern): Add either lighter or regexp to hi-lock-interactive-lighters. (hi-lock-set-pattern): Put overlay prop hi-lock-overlay-regexp to either lighter or regexp. * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Use "b" instead of "a". (hi-lock-case-fold): New test.
* | Fix bootstrap compiler warnings about `read-library-name'Štěpán Němec2020-04-122-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Introduced by 2020-03-28T22:16:28+01:00!stepnem@gmail.com 2c45091791 (load-library, locate-library: Use read-library-name) Thanks to Juanma Barranquero <lekktu@gmail.com> for reporting. * lisp/files.el: * lisp/subr.el: Declare 'read-library-name'.
* | Fix error in 'call-process-region' when START is nil (Bug#40576)Philipp Stephani2020-04-122-1/+21
| | | | | | | | | | | | | | | | * 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.
* | ; * test/src/callproc-tests.el: Fix checkdoc errors.Philipp Stephani2020-04-121-0/+7
| |
* | Also use named functions for the ‘gv’ declare forms (Bug#40491)Philipp Stephani2020-04-121-3/+13
| | | | | | | | | | * lisp/emacs-lisp/gv.el (gv--expander-defun-declaration) (gv--setter-defun-declaration): New helper functions; use them.
* | Use named functions in {defun,macro}-declarations-alist (Bug#40491)Philipp Stephani2020-04-121-58/+81
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-run.el (byte-run--set-advertised-calling-convention) (byte-run--set-obsolete, byte-run--set-interactive-only) (byte-run--set-pure, byte-run--set-side-effect-free) (byte-run--set-compiler-macro, byte-run--set-doc-string) (byte-run--set-indent, byte-run--set-debug) (byte-run--set-no-font-lock-keyword): New helper functions. (defun-declarations-alist, macro-declarations-alist): Use them.
* | 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.
* | ; * etc/NEWS: NEWS followup to recent changes in hi-lock.el.Eli Zaretskii2020-04-121-0/+5
| |
* | 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.
* | * lisp/hi-lock.el (hi-lock-highlight-range): Bump default value (bug#40224)Juri Linkov2020-04-121-1/+1
| | | | | | | | | | * lisp/hi-lock.el (hi-lock-highlight-range): Change default value from 200_000 to 2_000_000.
* | Implement case-insensitivity in hi-lock (bug#40337)Juri Linkov2020-04-123-62/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/hi-lock.el (hi-lock-interactive-lighters): New buffer-local variable. (hi-lock-mode): Set hi-lock-interactive-lighters to nil. (hi-lock-line-face-buffer): Use case-fold-search and search-upper-case. (hi-lock-face-buffer): Add new arg LIGHTER. Use case-fold-search, search-upper-case and search-spaces-regexp. (hi-lock-face-phrase-buffer): Don't call hi-lock-process-phrase. Use case-fold-search, search-upper-case and search-whitespace-regexp. (hi-lock-face-symbol-at-point): Use case-fold-search and search-upper-case. (hi-lock-unface-buffer): Use hi-lock-interactive-lighters to get a human-readable string for completion and x-popup-menu. (hi-lock-process-phrase): Remove function. (hi-lock-set-pattern): Add new args LIGHTER, CASE-FOLD, SPACES-REGEXP. Set font-lock pattern to a search function. Add mapping from lighter or regexp to pattern to hi-lock-interactive-lighters. Let-bind case-fold-search and search-spaces-regexp in search functions. * lisp/isearch.el (isearch--highlight-regexp-or-lines): Replace ugly code with let-binding of case-fold-search, search-upper-case, search-spaces-regexp. (isearch-highlight-regexp, isearch-highlight-lines-matching-regexp): Use lambda.
* | * etc/NEWS: Mention 'cl-font-lock-built-in-mode'Stefan Monnier2020-04-111-0/+4
| |
* | * lisp/progmodes/cl-font-lock.el: Fix header and make it a minor modeStefan Monnier2020-04-111-52/+57
| | | | | | | | | | | | | | | | | | | | Change copyright to FSF and licence to GPLv3+. Tweak Commentary (the code doesn't seem to provide the lambda prettification mentioned). (cl-font-lock-add-regexes): Remove macro. (cl-font-lock-built-in-keywords): New variable. (cl-font-lock-built-in-mode): New minor mode.
* | * lisp/progmodes/cl-font-lock.el: New fileStefan Monnier2020-04-111-0/+284
| | | | | | | | | | | | Taken from commit 1a54066611da213626ab69ea426ba3c63ece3438 of https://github.com/cl-font-lock/cl-font-lock, but with names reverted to a `cl-font-lock-` prefix.
* | 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.
* | Merge from origin/emacs-27Glenn Morris2020-04-1112-52/+158
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd27685c1e (origin/emacs-27) ; * doc/lispref/keymaps.texi (Extended M... 6057d79a4e * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :k... 17a1bb5a03 Fix redisplay when scrolling under redisplay-dont-pause 90321f595c Fix face extension in pulse.el 36c42d2a30 * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in ... d5750af151 Avoid assertion violation in intervals.c 18d1bc0a09 Improve documentation of 'jit-lock-contextually' 08486f4cae Speed up 'resize-mode' child frames a little f451ef9308 ; * etc/NEWS: Mention 'executing-macro' in removed vars. c49d379f17 Fix some problems with moving and resizing child frames # Conflicts: # etc/NEWS
| * ; * doc/lispref/keymaps.texi (Extended Menu Items): Fix last change.Eli Zaretskii2020-04-111-2/+4
| |
| * * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :key-sequenceStefan Monnier2020-04-101-13/+3
| | | | | | | | | | | | Don't make it sound like `:key-sequence nil` is any different than the absence of `:key-sequence`. And the performance advantage of `:key-sequence` disappeared long ago.