summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix toolbar item validation in the NS portDaniel Martín2023-03-231-0/+4
| | | | | | | | | | | | | | | | * src/nsterm.m ([EmacsView validateToolbarItem:]): Implement this NSToolbarItemValidation method, which is called by AppKit when it needs to validate an image item in a toolbar. This solves, in particular, the problem with having the "Save" icon on the tool bar enabled at Emacs startup. (Bug#62234)
* | * src/buffer.c (mode-line-format): Reorder and reformat %-construct docsPhil Sainty2023-03-271-14/+17
| | | | | | | | | | | | | | | | | | The original formatting dates back to the earliest commits. It saved a few lines but was harder to follow. As windows are typically taller now than the terminals of the time, this reformatting now makes better sense for readabiity. See bug#57080. * doc/lispref/modes.texi: Order change for consistency. Add index.
* | Improve docs for global-mode-string / %M constructPhil Sainty2023-03-271-1/+1
| | | | | | | | | | * src/xdisp.c (global-mode-string): Update docstring. * doc/lispref/modes.texi: Update manual.
* | * src/buffer.c (mode-line-format): Document %o and %q constructsPhil Sainty2023-03-271-0/+3
| | | | | | | | Missed from commit b0b02ca7f3e06d0f092df6f81babd1277bf93b0f.
* | * src/buffer.c (mode-line-format): Remove docs for obsolete %t constructPhil Sainty2023-03-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This documentation had been previously removed in 1999 in [1] but was subsequently restored again in a different form in 2006 in [2] as the construct was still supported on some systems. However it looks like it hasn't done what that documentation indicated since [3] in 2011, and the final remnant of this functionality was removed in [4] in 2013; so it seems clear that it's no longer supported and shouldn't be documented now. [1] commit 08de62001945d4dd32a3d6af44da05804cb296d5 [2] commit dafbe726b89a36010f3f24bb1efe4ace0a5f7f0f [3] commit 05c652517317d10690aaf0a6aa0bc876382b9d82 [4] commit 8549f9e89bd9288c4c709d183a5bf8f07dbeed3d
* | Switch buffer in Ftreesit_query_captureYuan Fu2023-03-241-6/+5
| | | | | | | | | | | | | | | | | | | | | | This way both #pred and #match predicates runs in the node's buffer by default. * src/treesit.c: (treesit_predicate_match): No need to switch buffer anymore. (Ftreesit_query_capture): Switch buffer. * doc/lispref/parsing.texi (Pattern Matching): Update manual.
* | Handle signals gracefully in tree-sitter query predicatesYuan Fu2023-03-241-70/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, predicate functions can signal, which will cause Ftreesit_query_capture to skip freeing the query and cursor object. We make predicate functions return the signal data rather than directly signal. * src/treesit.c (treesit_predicate_capture_name_to_node) (treesit_predicate_capture_name_to_text) (treesit_predicate_equal) (treesit_predicate_match) (treesit_predicate_pred) (treesit_eval_predicates): Return signal rather than signaling directly. (Ftreesit_query_capture): Check for returned signal data.
* | ; Minor refactor of Ftreesit_query_captureYuan Fu2023-03-241-6/+5
| | | | | | | | | | * src/treesit.c (Ftreesit_query_capture): Move around some variable initialization.
* | Refactor Ftreesit_query_captureYuan Fu2023-03-241-56/+97
| | | | | | | | | | | | | | | | | | Refactor some part of Ftreesit_query_capture out into separate functions, to pave the way for other query-based functions. * src/treesit.c (treesit_resolve_node): New function. (treesit_initialize_query): New function. (Ftreesit_query_capture): Refactor some part into new functions.
* | Merge from origin/emacs-29Stefan Kangas2023-03-202-3/+19
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b7f03333551 Improve warning about changing the string returned by sym... e62f8b0239d Fix visiting XBM/XPM files when 'c-ts-mode' is active 94d1c81cf07 * lisp/mpc.el (mpc-format): Fix oversight in commit 48b6c... a4d97811ed4 Bail early from eglot--apply-text-edits if nothing to do 61d571760b3 ; Clarify in-code commentary of eglot--after-change 5bbbd70f56e Improve ergonomics of Eglot's inlay hints c3a543123ab Protect against too large size of 'recent-keys' vector 231190b37f8 * lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp. 0bebd0e5f09 ; Remove 'build-module' and 'html-manual' directories fro... 6674c362ad9 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/... 829e5dfabea Update to Org 9.6.1-48-g92471e e84f878e19a ; * admin/notes/tree-sitter/starter-guide: Update starter... ea0949853f8 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/... 11592bcfda6 ; * lisp/nxml/xmltok.el (xmltok-scan-attributes): Fix las... e388a77cf0b ; Minor copyedits of recent changes in ELisp reference ma... 33a26703689 ; Minor fixes in recent Eglot changes d2cf1386fa4 ; * doc/misc/eglot.texi (Eglot Commands): Improve indexing. b75e489362b ; Again correct node reference casing in doc/misc/eglot.texi a55d2edc5a9 ; Remove overly verbose commentary 22a70451f34 Merge confusing duplicate sections on commands in Eglot m... 3293f939882 Don't take over mouse-1 binding on Eglot diagnostics (bug... 013057e3512 ; Prefer "language server" to "LSP server" in Eglot manual 94a21c88647 * lisp/progmodes/eglot.el (eglot--connect): Improve Tramp... 0eddfa28ebd Avoid slowdowns in xmltok-scan-attributes 647c6bf2a6c ; * test/lisp/abbrev-tests.el (abbrev--possibly-save-test... 531f8f7103a ; * admin/git-bisect-start: Update failing commits # Conflicts: # admin/notes/tree-sitter/build-module/batch.sh # admin/notes/tree-sitter/build-module/build.sh
| * Improve warning about changing the string returned by symbol-nameGregory Heytings2023-03-191-1/+4
| | | | | | | | | | | | * src/data.c (Fsymbol_name): Add warning. See bug#62009. * doc/lispref/symbols.texi (Creating Symbols): Improve warning.
| * Protect against too large size of 'recent-keys' vectorEli Zaretskii2023-03-191-2/+15
| | | | | | | | | | | | * src/keyboard.c (MAX_NUM_RECENT_KEYS): New macro. (Flossage_size): Don't allow specifying too large lossage-size. Fix data types. (Bug#62277)
* | Merge from origin/emacs-29Stefan Kangas2023-03-201-15/+16
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ea87c54f359 ; * lisp/subr.el (setq-local): Add missing period (bug#62... 90362f87d58 ; Correct last commit, downcase node reference 38067f05b92 Enhance section about troubleshooting in Eglot manual. 6f82596b490 Fix Eglot's snippet insertion to follow the manual c54bda15e35 Reset abbrevs-changed after saving abbrevs (bug#62208) e8cee15f780 ; Fix markup in previous change e4a7d0cd6ea Document `keymap-unset' in lispref bb3e0ded9eb Don't add a key binding when REMOVE is non-nil a4a9ffdd80a Fix the documentation of various aspects of adding Xref h... a2222b9a9bf ; Minor wording fix in ELisp reference manual 5cf1de683b2 Fix python-fill-paragraph problems on filling strings (bu... 7385c991dff Also exempt eglot-inlay-hints-mode from desktop.el's fumb... 1961bdb52ed ; Add WebDAV entry to index in Tramp manual dfb36d36230 Refer to EWW instead of w3 and w3m 9d3fdf7e0d4 Fix Eglot's command generation for code actions # Conflicts: # etc/NEWS
| * Don't add a key binding when REMOVE is non-nilRobert Pluim2023-03-171-15/+16
| | | | | | | | | | * src/keymap.c (store_in_keymap): Don't add a nil keybinding if we've been asked to remove a non-existent binding. (Bug#62207)
* | Merge from origin/emacs-29João Távora2023-03-141-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4b6f2a7028b * lisp/progmodes/xref.el: Bump the version. 24c8b146bbc * lisp/progmodes/xref.el (xref--xref-buffer-mode): Split ... 46f9e53c3da Fix import of keys in buffer created by epa-search-keys 36ade0704e1 Fix connection-local variables settings e759905d2e0 ; Minor copyedits in EGLOT-NEWS ba22a2c346b Bump Eglot version to 1.12 54e123a5055 Update Eglot's manual about eglot-workspace-configuration 812597f864c ; * lisp/novice.el (disabled-command-function): Add note ... 4a603c98499 Amend last Eglot commit (bug#62065) b916ec88b2f Make eglot-ensure's post-command-hook run a bit later (bu... 1c05175c21a Fix display of disabled-command help text 3ce37db9882 Remove mention of old dotted-list reader quirk from manual 42335c2c1f1 Fix value history shown for 'gc-cons-percentage' fffbce29349 TRework fix for bug#62106 8bc12a27362 ; * etc/NEWS: Fix last change. 2ac068d294e ; Remove 'ns-popup-font-panel' from documentation 5bc32d008fb Add missing indentation rule for rust-ts-mode (Bug#62109) 0404924930d ; One more improvement to ELisp "internals" appendix. c857775ca61 Fix bug#62106 0fedbfa6a9d ; Minor improvement of documentation of GC thresholds b0b24ad2fc5 Add missing rust-ts-mode highlight query for scoped_type_... c0cf69f7a17 Make "case" keyword a dedenter in Python db178517ce7 ; * lisp/arc-mode.el (w32-get-console-codepage): Declare. 157a91b54be Fix decoding non-ASCII file names in zip archives on MS-W... 4803f972047 Fix copying binary files from zip archives 679f528b953 Skip ruby-ts-syntax-propertize-symbol unless treesitter i... 081cc7aa8e0 ; * doc/misc/eglot.texi (Project-specific configuration):... 1de513a29fa Fix enums and unions appearing as structs in c-ts-base-mo... ecdfd584a52 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086) 29228e24f20 python-info-dedenter-opening-block-positions: Fix to supp... 01b65d442ad Autoload Eglot helper funtion eglot--debbugs-or-github-bu... 50a3559c5a7 Add chapter on advanced server configuration to Eglot manual 2e7460c2315 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture... 255eeee0e06 java-ts-mode: detect if text_block is supported. 6fe9075ff38 Revert workaround introduced in Bug#56271 f175141aead Fix searching for end of string in python-nav-end-of-stat... # Conflicts: # etc/NEWS
| * Fix value history shown for 'gc-cons-percentage'Eli Zaretskii2023-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | When Emacs is built, temacs is run in batch mode, so if we enlarge 'gc-cons-percentage' in that case, the enlarged value will be "remembered" by the dumped Emacs, and will show confusing information in "C-h v", claiming that the original value was 1.0. Keeping the value at 0.1 during dumping avoids that. * src/emacs.c (main): Increase 'gc-cons-percentage' in batch mode only if we are not initializing (a.k.a. "dumping") Emacs.
* | Remove recursion from character escape handling in readerMattias Engdegård2023-03-111-142/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cures a C stack overflow when reading certain long (crafted) strings (bug#62039) and improves performance of reading escaped characters in character and string literals. Reported by Bruno Haible. * src/lread.c (invalid_escape_syntax_error): New. (read_escape): Rename to... (read_char_escape): ...this. Remove recursion. Pass read-ahead char as argument. Improve code performance and clarity. (read_char_literal, read_string_literal): Update calls. * test/src/lread-tests.el (lread-char-modifiers) (lread-many-modifiers): Add test cases.
* | src/profiler.c: Keep track of the discarded countsStefan Monnier2023-03-101-16/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the table overflows and wh evict entries, keep track of those counts in a global counter so we can see the proportion of samples this represents. * src/profiler.c (struct profiler_log): Add `discarded` field. (evict_lower_half): Change arg to be `struct profiler_log`. Transfer counts to the new `discarded` field. (record_backtrace): Change arg to be `struct profiler_log`. (add_sample): Adjust call accordingly. (export_log): Add `discarded` counts to the result. Onle add the GC and `discarded` counts if they're non-zero. (syms_of_profiler): Define new symbol `Discarded Samples`.
* | src/profiler.c: Share more code between CPU and Memory profilersStefan Monnier2023-03-101-78/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/profiler.c (struct profiler_log): New type. (make_log): Use it. (cpu, memory): New vars to replace cpu_log, memory_log, cpu_gc_count, and mem_gc_count. (add_sample): New function, extracted from `handle_profiler_signal`. (handle_profiler_signal, malloc_probe): Use it. (Fprofiler_cpu_start, Fprofiler_memory_start): Adjust call to `make_log`. (export_log): New function, extracted from `Fprofiler_cpu_log`. (Fprofiler_cpu_log, Fprofiler_memory_log): Use it. (syms_of_profiler, syms_of_profiler_for_pdumper): Adjust to new `cpu` and `memory` vars.
* | src/profiler.c: Try and fix occasional assertion failuresStefan Monnier2023-03-101-7/+6
| | | | | | | | | | | | | | | | | | | | | | Apparently the (>= match imatch) test fails sometimes in `profiler.el`. Not sure where this comes from, but this patch should remove one possible source. * src/profiler.c (Fprofiler_cpu_log, Fprofiler_memory_log): Change the special Automatic_GC backtrace to make it clear that it's a *sibling* of the call tree (i.e. it's at the (its own) root). (malloc_probe): Obey `size` when incrementing the gc_counter.
* | src/profiler.c: Keep track of allocations during GCEli Zaretskii2023-03-101-5/+24
| | | | | | | | | | | | | | | | | | Cargo-cult the `cpu_gc_count` code to `memory_gc_count`. * src/profiler.c (mem_gc_count): New var. (Fprofiler_memory_start): Initialize it. (Fprofiler_memory_log): Increment it. (Fprofiler_memory_log): Use it.
* | Merge from origin/emacs-29Stefan Kangas2023-03-051-2/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | 836044f329a Fix c-ts-mode preproc directive indentation 64980a59b65 ; * lisp/files.el (hack-local-variables): Fix typo in the... a7cd125d490 More robustly unspoof HOME in Eglot tests (bug#61637) 6c66dbd02c7 Turn on Eglot inlay hints by default 246f5b541c5 Update ts modes missed in 4c16fd3a512 to use column-0 0bfba49ca7c Robustify Eglot for "transient" projects ea5fd375bb2 Fix documentation of 'normal-mode' in buffers that don't ... 4c16fd3a512 Change tree-sitter indent anchor 'point-min' to 'column-0' f47b3930158 Fix go-ts-mode multi-line string indentation (bug#61923) e0bf2da3db6 ; More accurate doc strings for 'window-at' and 'window-a...
| * ; More accurate doc strings for 'window-at' and 'window-at-x-y'.Eli Zaretskii2023-03-041-2/+5
| | | | | | | | | | * lisp/window.el (window-at-x-y): * src/window.c (Fwindow_at): Doc fix. (Bug#61948)
* | Unbreak the unexec buildEli Zaretskii2023-03-041-1/+5
| | | | | | | | | | * src/alloc.c (BLOCK_ALIGN) [HAVE_UNEXEC]: Reset back to 1024. (Bug#61960)
* | bug#61489: Increase BLOCK_ALIGN from 1024 to 32768Konstantin Kharlamov2023-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Originally discovered by Tyler Dodge in his article "Significant Garbage Collection Improvement For Emacs". While testing this change on Archlinux system with Intel i5-7200U CPU, average time of garbage collection gets reduced by ≈25%. Other users report improvements up to 50%. While monitoring PSS of emacs with and without customizations loaded before and after the patch, no statistically significant differences were discovered. So overall, this change is a win. * src/alloc.c (BLOCK_ALIGN): increase from 1024 to 32768.
* | Merge from origin/emacs-29Stefan Kangas2023-03-041-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bd5115e1347 Remove Eglot activation check from find-file-hook adc04ad5247 * src/intervals.c (set_intervals_multibyte_1): Fix bug#61887 b3e930d328e Revert inadvertent change to lisp/icomplete.el in previou... da8e4b6fe43 Revert previous change in go-ts-mode.el 7548446194a Release ERC 5.5 585faf4c173 ; More doc improvements for OClosures 2840895c1ae Don't create GUI frames in batch sessions 452b5ed1030 ; Fix wrong error name in erc-server-908 doc string. 1e9484f2fd1 ; * etc/ERC-NEWS: Mention more deprecations. 119b3a4dba1 Minor copyedits of documentation of OClosures 3a651773d29 Eglot: pay better attention to hints' paddingLeft/Right (... # Conflicts: # etc/NEWS
| * * src/intervals.c (set_intervals_multibyte_1): Fix bug#61887Stefan Monnier2023-03-031-0/+3
| | | | | | | | | | | | When `total_length` is 0 there should be no subtree at all, but `delete_interval` only deletes one interval, so make sure we don't end up with some stale child of `i`.
* | Merge from origin/emacs-29Stefan Kangas2023-03-033-53/+112
|\ \ | |/ | | | | | | | | | | | | | | | | 9e105d483fa Fix c-ts-mode indentation for statement after preproc (bu... a72a55e3e49 Fix c/c++-ts-mode's mode lighter 67befc1f5a5 Eglot: use shell-file-name in eglot--cmd (bug#61748) 1c7b2673bdd Avoid signaling errors in url-basic-auth when password is... 756225e3778 Fix wdired-tests on MS-Windows a137f71c67e Improvements to xwidget on macOS (bug#60703) 3f43a16bc63 ; Avoid byte-compilation warning in c-ts-mode.el
| * Improvements to xwidget on macOS (bug#60703)Andrew De Angelis2023-03-023-53/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/nsxwidget.m () ([XwWebView initWithFrame:configuration:xwidget:]) (nsxwidget_init): Fixed memory leaks: when sending an alloc message to an object, send an autorelease message to any objects we won't explictly release. ([XwWebView webView:didFinishNavigation:]): Second string to store in 'store_xwidget_event_string' is "load finished" rather than empty string. ([XwWebView webView:didStartProvisionalNavigation:]) ([XwWebView webView:didReceiveServerRedirectForProvisionalNavigation:]) ([XwWebView webView:didCommitNavigation:]): New functions. (nsxwidget_webkit_estimated_load_progress): New function. (nsxwidget_webkit_stop_loading): New function. * src/xwidget.c (Fxwidget_webkit_estimated_load_progress): Call 'nsxwidget_webkit_estimated_load_progress' if we're on MacOS. (Fxwidget_webkit_stop_loading): Call 'nsxwidget_webkit_stop_loading' if we're on MacOS. (syms_of_xwidget): Define symbol for function. 'xwidget_webkit_estimated_load_progress' if we're on MacOS. * src/nsxwidget.h: Signature for functions 'nsxwidget_webkit_estimated_load_progress' and 'nsxwidget_webkit_stop_loading'. * lisp/xwidget.el (xwidget-webkit-current-url): Message URL rather than return value of 'kill-new' (which is always nil).
* | Merge from origin/emacs-29Stefan Kangas2023-03-024-5/+9
|\ \ | |/ | | | | | | | | | | | | | | | | 07f3236133b * src/profiler.c (malloc_probe): Make it safe for GC (bug... 1f1d36fa808 * lisp/emacs-lisp/debug-early.el (debug-early-backtrace):... 99df815c153 Revert "Don't disable eldoc when doing edebug" 0a4b1c0102d ; Eglot: improve bug-reference-url-format/bug-reference-u... 40c9fc8e3b3 Eglot: work around Tramp instability bug#61350 4a6db125b9e Fix treesit-indent-region 7ef9a8210c9 Replace C++ comments with C style equivalents
| * * src/profiler.c (malloc_probe): Make it safe for GC (bug#60237)Stefan Monnier2023-03-011-0/+3
| |
| * Replace C++ comments with C style equivalentsPo Lu2023-03-013-5/+6
| | | | | | | | | | | | * src/alloc.c (Fmake_byte_code, purecopy): * src/bytecode.c (exec_byte_code): * src/xdisp.c (face_at_pos): Do not use C++-style comments!
* | ; * src/haikufont.c (haikufont_open): Remove unused variable.Po Lu2023-03-021-1/+1
| |
* | Merge from origin/emacs-29Stefan Kangas2023-02-272-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | 267fc6d00c4 ruby-smie-rules: Fix misindentation of a method call afte... 0fde314f6f6 * lib-src/etags.c (process_file_name): Free malloc'ed var... dde9d149af3 ; Improve documentation of loading *.eln files 7c552be89da ; Another doc fix in eglot.el 75c65fcc98e ; Fix last change a3d15c1f749 ; Fix last change ca79b138d42 Eglot: rename and redocument encoding-related functions (... 3e3e6d71be7 Eglot: support positionEncoding LSP capability (bug#61726) b0e87e930e8 Eglot: use faster strategy for moving to LSP positions (b... 5b174b96834 Fix mule-tests in UTF-8 locales 5256392a7ec Fix 'vertical-motion' when display strings are around 0db88d625a7 ; * src/treesit.c (treesit_predicate_match): Fix typo.
| * Fix 'vertical-motion' when display strings are aroundEli Zaretskii2023-02-261-1/+1
| | | | | | | | | | * src/indent.c (Fvertical_motion): Correct bidi-related condition for character position, when we didn't move vertically. (Bug#61636)
| * ; * src/treesit.c (treesit_predicate_match): Fix typo.Yuan Fu2023-02-261-1/+1
| |
* | Merge from origin/emacs-29Stefan Kangas2023-02-261-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | 3cae0e3d96a python-ts-mode: Fix single-quote string fontification 68d753e3712 ; * etc/NEWS: Fix typos. ab0cc4e7811 Fix infloop in bidi.c 3b8b23f66df ; Fix doc string of 'emacs-lisp-byte-compile' # Conflicts: # etc/NEWS
| * Fix infloop in bidi.cEli Zaretskii2023-02-251-0/+1
| | | | | | | | | | | | | | | | * src/bidi.c (bidi_set_paragraph_end): Reset the isolate_level to zero. Whenever stack_idx is reset to zero, the isolate_level must also be reset, since there cannot be any isolate status outside of embeddings. Failure to reset isolate_level will cause us infloop when we see a PDI. Reported by Matt Beshara <m@mfa.pw>.
* | Merge from origin/emacs-29Stefan Kangas2023-02-251-1/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | 5cf50d60041 Check the anchor along with the offset in treesit-indent-... 497018dd5c3 ; Fix typos in docstrings in c-ts-common.el 03072bbdd38 ; Set indent-tabs-mode to nil in c-ts-mode indent preproc... 4a25fa4586c Align to prev sibling for c-ts-mode indentation d25f24fe57b Fix c-ts-common-statement-offset and c-ts-common--node-is c92360c7a3b typescript-ts-mode: Highlight non-shorthand destructuring... a795c51f605 Add more/finer faces for tree-sitter 146bce49321 Avoid crashes in batch mode due to lack of frame face cache 244a73cd729 Add Tramp version integrated in Emacs 28.3 # Conflicts: # etc/NEWS
| * Avoid crashes in batch mode due to lack of frame face cacheEli Zaretskii2023-02-241-1/+3
| | | | | | | | | | * src/xfaces.c (Finternal_merge_in_global_face): Handle frames with no face cache.
* | kmacro: Simplify register code and recent changeStefan Monnier2023-02-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While reviewing uses of `last-kbd-macro` for more problems like those of bug#61700 I noticed that we don't need the `kmacro-register` type any more (we can directly use the new `kmacro` type instead). Also `macros.el` requires `kmacro` so rather than autoload `macro--string-to-vector` it's simpler to move the function to `kmacro.el`. And while at it fold into it the `stringp` test that's used before every call to that function. * lisp/kmacro.el (kmacro--to-vector): Rename from `macro--string-to-vector`, move from `mcros.el`, and make it work for vectors. (kmacro-ring-head, kmacro-lambda-form): Simplify accordingly. (cl-print-object): Remove unused declaration. (kmacro-register): Delete type. Use `kmacro` objects instead. (register-val-jump-to, register-val-describe, register-val-insert): Rewrite accordingly. (kmacro-to-register): Put the `kmacro` object. * lisp/macros.el (macro--string-to-vector): Move to `kmacro.el`. (insert-kbd-macro): Use `kmacro--to-vector`. * src/macros.c (end_kbd_macro): Always generate a vector.
* | Merge from origin/emacs-29Stefan Kangas2023-02-232-5/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 94e70ed4261 ; * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area)... 1841299a11d Eglot: implement inlay hints (bug#61412, bug#61066) 28ed0d1840f Eglot: run eglot-managed-mode-hook after LSP didOpen 7ad5d9babed Eglot: restore eldoc-documentation-functions on shutdown 711a775ba76 Eglot: simplify capability-checking code ea7251ad6df Eglot: go back to setting eldoc-documentation-strategy again 6016f1982d3 ; * etc/NEWS: Fix typo again d411b4d1fd3 ; * etc/NEWS (C-x v !): Additional text. a0b67252346 ; * doc/emacs/vc1-xtra.texi (Preparing Patches): Wording ... 43c4dd6f962 ; * doc/emacs/anti.texi (Antinews): Adjust to latest chan... 20c654b6f8f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ... 177d0cf2a9a ; * etc/NEWS: Fix typos. db7096a532c Yield to erc-move-to-prompt before unhiding prompt db21c84bc94 ; Improve doc string of 'C-q' a6be0be1db6 ; Clarify "kill files" in Gnus manual d816429e2f2 * lisp/progmodes/python.el (python--import-sources): Fix ... 1f4886fdb09 Do not error out on non image file (bug#61639) 003759a6dca Explain effect of variable-pitch fonts on fill-column ba91a76659b Avoid division by zero in get_narrowed_* functions fb5dbf6de73 ; Fix documentation of 'icon-title-format'. 48c9a507713 * etc/NEWS: Mention new buffer display action alist entries 4dc1f2b9a01 ; * src/xterm.c (x_update_end): Condition on HAVE_XDBE f1c83898060 Fix build --without-xdbe ef38774c02c Improve dnd-direct-save-remote-files docstring cf53e62a791 Add 'process-status' to process shortdoc 68df9e5953c * lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename)... 06ba9484166 Improve text about deleting windows 1976ca1634d Make 'emacs-news-cycle-tag' work at all levels # Conflicts: # etc/NEWS
| * Avoid division by zero in get_narrowed_* functionsEli Zaretskii2023-02-221-5/+5
| | | | | | | | | | * src/xdisp.c (get_narrowed_width, get_narrowed_len): Return at least 1 as the value. (Bug#61704)
| * ; * src/xterm.c (x_update_end): Condition on HAVE_XDBERobert Pluim2023-02-211-0/+2
| |
| * Fix build --without-xdbeEli Zaretskii2023-02-211-0/+4
| | | | | | | | | | * src/xterm.c (x_end_cr_clip, handle_one_xevent): Condition double-buffering code on HAVE_XDBE. (Bug#61667)
* | Merge from origin/emacs-29Stefan Kangas2023-02-212-2/+24
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5a864f23eb8 regex-emacs.c: Reduce the use of backtracking a bit further e83c78b8c77 Eglot: respect user's Eldoc configuration by default 5d0b45cd67b Make the native compiler always use `make-temp-file' for ... 88ee92e61d7 ; * lisp/progmodes/rust-ts-mode.el (treesit-node-end): De... 02aba20d528 Update to Transient v0.3.7-216-gfe40342 d7010d64b21 Add declaration_list to c-ts-common-indent-type-regexp-alist 19480aa30e3 Typescript-ts-mode: Add switch case handling dfc850ca022 Fix object initializer for csharp-mode (bug#61541) fc4bfa76db9 Update to Org 9.6.1-34-geea8da afbce8bb467 Improve tree-sitter indent anchor prev-adaptive-prefix (b... 2e6093b425e Adjust jsx indentation c544df4fa3f Cleanup preproc indent for c-ts-mode (bug#61558) d397f3d5084 Add comment style toggle for c-ts-mode (bug#61550) 683961cd733 * lisp/simple.el (choose-completion): Check for completio... 1ac05eac74b rust-ts-mode--font-lock-settings: Avoid the explicit 'def... b5bea14ca17 * lisp/progmodes/xref.el: Bump the version. # Conflicts: # src/comp.c
| * regex-emacs.c: Reduce the use of backtracking a bit furtherStefan Monnier2023-02-201-0/+18
| | | | | | | | | | | | | | | | | | | | | | bug#61514 exhibited some undesirable backtracking in a case where it's easy to avoid it by making `mutually_exclusive_p` just a bit more careful. * src/regex-emacs.c (mutually_exclusive_p): Handle `on_failure_jump`s. * test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization): Add a few tests.
| * Make the native compiler always use `make-temp-file' for temporary filesAndrea Corallo2023-02-201-1/+6
| | | | | | | | | | | | | | * src/comp.c (CALL4I): Define macro. (Fcomp__compile_ctxt_to_file): Use `make-temp-file' instead of `make-temp-file-internal'. * lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Likewise.
* | Detect and prevent function alias loops in `fset` and `defalias`Mattias Engdegård2023-02-212-45/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make `fset` and `defalias` signal an error on attempts to create circular alias chains. This is more effective, efficient and convenient than permitting alias loops to be created and trying to detect them at run time each time a function is called, which is what we have been doing until now, badly. * lisp/help-fns.el (help-fns--analyze-function): Don't pass obsolete argument. * lisp/subr.el (function-alias-p): * src/data.c (indirect_function, Findirect_function): Simplify. Now error-free, second argument obsolete. (Ffset): Detect loops. * test/lisp/help-fns-tests.el (help-fns--analyze-function-recursive): * test/lisp/subr-tests.el (test-alias-p): Adapt tests. * test/src/data-tests.el (data-tests-fset, data-tests-defalias): New. * doc/lispref/eval.texi (Function Indirection): * doc/lispref/functions.texi (Defining Functions, Function Cells): Update manual. * etc/NEWS: Announce.
* | Merge from origin/emacs-29Stefan Kangas2023-02-193-16/+31
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 871cf33a450 ; * admin/make-tarball.txt: Minor copyedit. 4faebba2fed Fix invocation of File->Close from the menu bar cd05fca5f78 ; Improve documentation of 'native-comp-enable-subr-tramp... c61a30e1601 Update thumbnail buffer's header more 4c49452cdef (treesit-query-validate): Fix reusing the output buffer d560dc5044a (rust-ts-mode--font-lock-settings): Highlight closure par... c15bc91e1bf * Fix `native-comp-enable-subr-trampolines' semantic 774051873d5 Fix documentation of 'just-one-space' and 'delete-horizon... 7337f072500 ; Remove NEWS entry about deleted variable. fb5299ba099 ; Fix wording of last change. 9f508cef85d Fix 'display-buffer-use-least-recent-window' 5190ea6259a Fix point moving when calling python-shell-send-region 6c0d8210175 (project-try-vc): Remove unused defvar/require 4f9862e4356 ; Fix typo a638c79bc5c Delete redundant question from Gnus FAQ 4a90d67eb68 Slightly improve hashcash documentation 6ea3c105ab1 Fix cursor motion when there's line-prefix and display st... e985466556c Fix comment in treesit_record_change (bug#61369) 1e5cebc88bb Spell out RPN abbreviation in Calc manual intro # Conflicts: # etc/NEWS # lisp/window.el