aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Suppress unneded events in special-event-mapMichael Albinus2025-02-071-0/+2
| | | | | | | | | | * src/keyboard.c (keys_of_keyboard): Don't add ns-put-working-text and ns-unput-working-text to Vspecial_event_map unless on NS port.
* | ; * src/keyboard.c (Finsert_special_event): Don't use "//".Eli Zaretskii2025-02-071-1/+1
| |
* | New function insert-special-event and special event sleep-eventMichael Albinus2025-02-072-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/commands.texi (Misc Events): Add sleep-event. (Special Events): New function insert-special-event. * etc/NEWS: New function insert-special-event. New event 'sleep-event'. Fix typos. * src/keyboard.c (Finsert_special_event): New defun. (syms_of_keyboard): Declare Qsleep_event. Define subroutine Sinsert_special_event. Add sleep-event to Vspecial_event_map. (Bug#63620) (kbd_buffer_get_event, make_lispy_event) (init_while_no_input_ignore_events, is_ignored_event): * src/termhooks.h (event_kind): Add SLEEP_EVENT.
* | Merge remote-tracking branch 'origin/emacs-30'Stefan Monnier2025-02-051-1/+3
|\ \ | |/
| * * src/fileio.c (Fsubstitute_in_file_name): Doc fix (bug#76023).Eli Zaretskii2025-02-041-1/+3
| |
| * * src/puresize.h (BASE_PURESIZE): Increase (bug#75907).Eli Zaretskii2025-01-301-1/+1
| |
| * ; Fix Cygw32 build (bug#75926)Eli Zaretskii2025-01-291-1/+1
| | | | | | | | (cherry picked from commit cb62a47896bb21420a709c655034e8acfcb08082)
* | (font-ccl-encoder-alist): Delete variable, unusedStefan Monnier2025-02-051-13/+0
| | | | | | | | | | | | * src/ccl.c (syms_of_ccl): Remove `font-ccl-encoder-alist`. * lisp/language/ethiopic.el (ccl-encode-ethio-font): Delete CCL program. (font-ccl-encoder-alist): Don't modify it.
* | Revert "Improve bidi_get_time runtime checking"Eli Zaretskii2025-02-051-14/+7
| | | | | | | | | | | | This reverts commit 782ec71053d8535511522f27f28c11682ca0f40b. It makes the code less readable and less future-proof, so a net loss. (Bug#75964)
* | Remove no-longer-needed delete_frame UNINITPaul Eggert2025-02-041-1/+0
| | | | | | | | | | | | | | | | | | | | * src/frame.c (delete_frame): Remove a local with UNINIT that is no longer needed now that GCC bug#85563 is fixed, as we don’t need to worry about porting --enable-gcc-warnings to older GCC. This change reverts this part of my commit “Port --enable-gcc-warnings to GCC 8” 8c3215e7a47e3caaa005bf573765ed63e0739b89 dated Sat Apr 28 16:49:24 2018 -0700.
* | Improve bidi_get_time runtime checkingPaul Eggert2025-02-041-7/+14
| | | | | | | | | | * src/bidi.c (bidi_get_type): Improve runtime checking, by also aborting if the bidi_type_table entry is not a bidi_type_t value.
* | Fix min-width display spec handling (bug#76014)Gerd Möllmann2025-02-041-5/+7
| | | | | | | | | | * src/xdisp.c (display_min_width): Take into account that the output may already be longer than the specified min-width.
* | Fix GC-related crashes in styled_format (bug#75754)Pip Cet2025-02-031-1/+2
| | | | | | | | | | | | | | | | | | This approach ensures we don't use an SSDATA pointer after GC, and that no Lisp callback code can modify the format string while we're working on it. * src/editfns.c (styled_format): Operate on a copy of the format string rather than the original. Ensure final NUL byte is copied.
* | Fix -nw sessions on MS-WindowsEli Zaretskii2025-02-031-24/+80
| | | | | | | | | | | | | | | | * src/w32console.c (w32con_clear_end_of_line): Set the space glyphs' frame to NULL. (w32con_write_glyphs): Handle face_id_frame == NULL, when called from 'w32con_clear_end_of_line'. (tty_draw_row_with_mouse_face): Adjust to changes in term.c.
* | Handle mouse highlighting in the presence of tty child framesGerd Möllmann2025-02-031-21/+74
| | | | | | | | | | * src/term.c (tty_draw_row_with_mouse_face): Draw only parts of the highlighted text that are not covered by other frames.
* | Improve malloc Lisp alignment commentaryPaul Eggert2025-02-012-15/+21
| | | | | | | | Prompted by a private email from Pip Cet.
* | Fix mouse pointer inside mouse-face on text with 'pointer' propertyEli Zaretskii2025-02-022-20/+18
| | | | | | | | | | | | | | | | * src/dispnew.c (gui_update_window_end): Don't consider mouse face overwritten. * src/xdisp.c (show_mouse_face): Accept an additional argument; redefine the mouse cursor only if that argument is 'true'. All callers changed. (Bug#75931)
* | Fix hiding tty cursor for overlapping childrenGerd Möllmann2025-02-021-4/+6
| | | | | | | | | | * src/dispnew.c (is_cursor_obscured): If selected frame is in the z-order of the root frame, use that, otherwise use the root frame.
* | Omit 2 ‘volatile’s in internal_lisp_condition_casePaul Eggert2025-02-011-3/+2
| | | | | | | | | | | | | | | | * src/eval.c (internal_lisp_condition_case): Omit an unnecessary ‘volatile’ and an unnecessary pointer-to-volatile local var. Perhaps these were needed in previous versions of Emacs, or to pacify older versions of GCC when using --enable-gcc-warnings, but they are not needed to pacify current GCC.
* | ; src/pdumper.c (dump_hash_table): Bump CHECK_STRUCTS hash.Pip Cet2025-02-011-1/+1
| |
* | Use #$ for lambda fixups in native compilation data vectorsPip Cet2025-02-012-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "#$" syntax is recognized by Fread, which substitutes Vload_file_name in its place. If Vload_file_name is bound appropriately, no other value can produce an object EQ to the one produced by "#$". We use this to check the data vector for entries that we know should have been initialized: if the value is still equal to what we bound Vload_file_name to when it was read, it wasn't initialized, and we abort. * lisp/emacs-lisp/comp.el (comp--#$): New defvar. (comp--finalize-container): Use it. * src/comp.c (ABI_VERSION): Bump. (emit_static_object): Ensure 'comp--#$' prints as "#$". (load_static_obj): Ensure '#$' reads as Vcomp__hashdollar. (check_comp_unit_relocs): Adjust assertion. (syms_of_comp): Define 'comp--#$'. * src/pdumper.c (dump_do_dump_relocation): Adjust assertion.
* | Fix compilation warnings on AndroidPo Lu2025-02-011-8/+10
| | | | | | | | | | * src/alloc.c (pointer_align): Only define if !USE_ALIGNED_ALLOC.
* | ; Avoid compiler warnings in the MS-Windows buildEli Zaretskii2025-02-011-45/+0
| | | | | | | | | | | | * src/w32heap.c: Remove unused variables, to avoid compilation warnings. This removes variables that were used only in the unexec build.
* | Merge branch 'scratch/no-purespace' into 'master'Stefan Kangas2025-02-0168-6970/+430
|\ \
| * | ; Remove some references to deleted filesStefan Kangas2025-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | * admin/MAINTAINERS: * admin/authors.el (authors-public-domain-files): * admin/find-gc.el (find-gc-source-files): * src/conf_post.h: Remove some references to deleted files.
| * | Fix define_error docstring for pure space removalStefan Kangas2025-01-081-2/+1
| | | | | | | | | | | | * src/lisp.h (define_error): Adjust docstring for pure space removal.
| * | Delete firstfile.c and lastfile.cStefan Kangas2024-12-284-89/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the removal of unexec and purespace, the definitions in these files are no longer used. Remove them. * src/firstfile.c: * src/lastfile.c: Delete unused files. * configure.ac (PRE_ALLOC_OBJ, POST_ALLOC_OBJ, FIRSTFILE_OBJ): Remove variables and dependent code. * msdos/autogen/Makefile.in: * msdos/sed1v2.inp: * src/Makefile.in: Don't use above deleted variables. * src/deps.mk: Remove lastfile.c dependencies.
| * | Use '--lambda-fixup' as native compiler fixup symbol for lambdasAndrea Corallo2024-12-182-3/+3
| | | | | | | | | | | | | | | | | | * src/comp.c (check_comp_unit_relocs, syms_of_comp): Rename 'Qlambda_fixup' to 'Q__lambda_fixup'. * src/pdumper.c (dump_do_dump_relocation): Likewise.
| * | * Revert "Remove check_comp_unit_relocs"Andrea Corallo2024-12-181-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 81fc23b5d6a60ca4f3d269ab2c88eb9a850bac4c as the check is still useful but needs to be updated for the new reloc layout. * src/comp.c (check_comp_unit_relocs): Re-add. (load_comp_unit): Make use of.
| * | Remove check_comp_unit_relocsGerd Möllmann2024-12-171-27/+0
| | | | | | | | | | | | | | | * src/comp.c (check_comp_unit_relocs): Removed. (load_comp_unit): Remove use.
| * | ; * src/fns.c (maybe_resize_hash_table): Remove debugging code.Pip Cet2024-12-161-5/+0
| | |
| * | Improve purify-flag docstringStefan Kangas2024-12-151-7/+5
| | | | | | | | | | | | * src/alloc.c (syms_of_alloc): Improve purify-flag docstring.
| * | Make 'purecopy' an obsolete function alias for 'identity'Stefan Kangas2024-12-121-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (purecopy): New obsolete function alias for 'identity'. * src/alloc.c (purecopy): Remove function. (Fpurecopy): Remove DEFUN. (syms_of_alloc): Remove defsubr for above DEFUN. * lisp/loadup.el (purify-flag): Don't set to hash table. * doc/lispref/spellfile: * doc/lispref/keymaps.texi (Tool Bar): * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Delete references to 'purecopy'
| * | Delete obsolete comment about using purespaceStefan Kangas2024-12-121-7/+0
| | | | | | | | | | | | * src/alloc.c (Fmake_byte_code): Delete obsolete comment.
| * | Remove unused function my_heap_startStefan Kangas2024-12-122-20/+0
| | | | | | | | | | | | | | | * src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC && GNU_LINUX]: Remove unused function. Update callers.
| * | Remove check for working malloc_set_stateStefan Kangas2024-12-121-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This check was added to 'malloc_initialize_hook' in order to "insulate Emacs better from configuration screwups" (commit b4788b9394f3). With unexec gone, we no longer use 'malloc_set_state', and thus don't need this check. Note that this patch removes the last uses of the deprecated glibc functions 'malloc_set_state' and 'malloc_get_state' from our code. * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]: Remove check for working 'malloc_set_state'. (alloc_unexec_pre) [DOUG_LEA_MALLOC]: Delete unused function. (alloc_unexec_post) [DOUG_LEA_MALLOC]: Delete function. (malloc_state_ptr) [DOUG_LEA_MALLOC]: Delete variable. * configure.ac (emacs_cv_var_doug_lea_malloc): Don't check for malloc_set_state and malloc_get_state.
| * | Avoid compiler warning in process_mark_stackPip Cet2024-12-121-3/+5
| | | | | | | | | | | | | | | | | | * src/alloc.c (process_mark_stack): Only declare and assign to 'po' if it's needed. Problem reported by: Stefan Kangas <stefankangas@gmail.com>.
| * | Update pdumper hashesPip Cet2024-12-121-2/+2
| | | | | | | | | | | | * src/pdumper.c (dump_symbol, dump_hash_table): Update hashes.
| * | Unexec removal: Build systemPip Cet2024-12-122-42/+1
| | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (CYGWIN_OBJ): Remove comment. * src/Makefile.in (PAXCTL, SETFATTR, PAXCTL_dumped, PAXCTL_notdumped): Remove definitions. (emacs$(EXEEXT), temacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): * src/deps.mk: Remove 'unexec'-specific code.
| * | Don't recognize "bootstrap" option for --temacsPip Cet2024-12-121-2/+1
| | | | | | | | | | | | | | | | | | This option only makes sense for unexec dumping. * src/emacs.c (main): Recognize "pbootstrap" only, not "bootstrap".
| * | Pure storage removal: Bump nativecomp ABIPip Cet2024-12-121-1/+1
| | | | | | | | | | | | | | | | | | Use "9" as MPS builds use "7" and "8". * src/comp.c (ABI_VERSION): Bump.
| * | Pure storage removal: Remove documentationPip Cet2024-12-121-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As pure storage is now gone, it no longer needs to be documented. * doc/lispref/elisp.texi (Top): * doc/lispref/internals.texi (GNU Emacs Internals): Remove "Pure Storage" section. (Building Emacs, Garbage Collection, Writing Emacs Primitives): * doc/lispref/symbols.texi (Standard Properties): Remove references to pure storage. * src/alloc.c (Fgarbage_collect): Remove docstring text referring to pure storage.
| * | Pure storage removal: Adjust nativecomp codePip Cet2024-12-124-149/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-curr-allocation-class, comp-ctxt) (comp--emit-for-top-level, comp--emit-lambda-for-top-level) (comp--finalize-relocs): Remove 'd-impure' allocation class. * src/comp.c (PURE_RELOC_SYM, DATA_RELOC_IMPURE_SYM) (TEXT_DATA_RELOC_IMPURE_SYM): Remove definitions. (comp_t): Remove 'pure_ptr', 'check_impure', 'data_relocs_impure', 'd_impure_idx'. (helper_link_table): Remove 'pure_write_error'. (obj_to_reloc): Adjust to removal of 'data_relocs_impure'. (emit_PURE_P): Remove function. (declare_imported_data, declare_runtime_imported_funcs) (emit_ctxt_code): Adjust to removed fields. (define_setcar_setcdr): Don't call 'CHECK_IMPURE'. (define_CHECK_IMPURE): Remove function. (Fcomp__compile_ctxt_to_file0, check_comp_unit_relocs, load_comp_unit) (Fcomp__register_lambda): Adjust to removed allocation class 'd-impure'. (syms_of_comp): Don't define 'd-impure'. * src/comp.h (struct Lisp_Native_Comp_Unit): Drop support for allocation class 'd-impure'. * src/lisp.h (allocate_native_comp_unit): * src/pdumper.c (dump_do_dump_relocation): Adjust to struct change.
| * | Pure storage removal: Remove docstring hackPip Cet2024-12-121-6/+0
| | | | | | | | | | | | | | | | | | This should no longer be needed. * src/eval.c (Fautoload): Don't try to work around pure storage bug.
| * | Pure storage removal: Remove purecopy hash table flagPip Cet2024-12-1214-43/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-liqsp/comp.el (comp--jump-table-optimizable): Adjust comment. * src/category.c (hash_get_category_set): * src/emacs-module.c (syms_of_module): * src/fns.c (make_hash_table): Remove 'purecopy' flag and update docstring. (Fmake_hash_table): Ignore ':purecopy' argument. * src/frame.c (make_frame): * src/image.c (xpm_make_color_table_h): * src/lisp.h (struct Lisp_Hash_Table): Drop 'purecopy' flag. * src/pdumper.c (dump_hash_table): Don't dump 'purecopy' flag. * src/print.c (print_object): Don't print 'purecopy' flag * src/json.c (json_parse_object): * src/lread.c (readevalloop, read_internal_start): * src/pgtkterm.c (syms_of_pgtkterm): * src/profiler.c (export_log): * src/xfaces.c (syms_of_xfaces): * src/xterm.c (syms_of_xterm): Adjust calls to 'make_hash_table'.
| * | Pure storage removal: Remove support for pinned objectsPip Cet2024-12-123-51/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (symbol_block_pinned): Remove variable. (init_symbol): Don't initialize 'pinned flag'. (pinned_objects): Remove variable. (mark_pinned_objects, mark_pinned_symbols): Remove functions. (garbage_collect): Don't call 'mark_pinned_objects', 'mark_pinned_symbols'. * src/lisp.h (struct Lisp_Symbol): Remove 'pinned' flag. * src/pdumper.c (dump_symbol): Remove 'pinned' flag from dump.
| * | Pure storage removal: Replace calls to removed functionsPip Cet2024-12-1238-238/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (string_bytes, pin_string, valid_lisp_object_p) (process_mark_stack, survives_gc_p, syms_of_alloc): * src/androidterm.c (android_term_init): Replace call to 'build_pure_c_string'. * src/buffer.c (init_buffer_once, syms_of_buffer): * src/bytecode.c (exec_byte_code): * src/callint.c (syms_of_callint): * src/callproc.c (syms_of_callproc): * src/category.c (Fdefine_category): * src/coding.c (syms_of_coding): * src/comp.c (Fcomp__compile_ctxt_to_file0) (maybe_defer_native_compilation, syms_of_comp): * src/data.c (Fsetcar, Fsetcdr, Fdefalias, Faset, syms_of_data): * src/dbusbind.c (syms_of_dbusbind): * src/doc.c (Fsnarf_documentation): * src/emacs-module.c (syms_of_module): * src/eval.c (Finternal__define_uninitialized_variable) (Fdefconst_1, define_error, syms_of_eval): * src/fileio.c (syms_of_fileio): * src/fns.c (Ffillarray, Fclear_string, check_mutable_hash_table): * src/fontset.c (syms_of_fontset): * src/frame.c (make_initial_frame): * src/haikufns.c (syms_of_haikufns): * src/intervals.c (create_root_interval): * src/keyboard.c (syms_of_keyboard): * src/keymap.c (Fmake_sparse_keymap, Fset_keymap_parent) (store_in_keymap, syms_of_keymap): * src/lisp.h: * src/lread.c (Fload, read0, intern_c_string_1, define_symbol) (Fintern, defsubr, syms_of_lread): * src/pdumper.c (Fdump_emacs_portable): * src/pgtkfns.c (syms_of_pgtkfns): * src/pgtkterm.c (syms_of_pgtkterm): * src/process.c (syms_of_process): * src/search.c (syms_of_search): * src/sqlite.c (syms_of_sqlite): * src/syntax.c (syms_of_syntax): * src/treesit.c (syms_of_treesit): * src/w32fns.c (syms_of_w32fns): * src/xdisp.c (syms_of_xdisp): * src/xfaces.c (syms_of_xfaces): * src/xfns.c (syms_of_xfns): * src/xftfont.c (syms_of_xftfont): * src/xterm.c (syms_of_xterm): Remove calls to 'PURE_P', 'CHECK_IMPURE', 'Fpurecopy', and replace calls to 'build_pure_c_string', 'pure_list', 'pure_listn', etc., by impure equivalents.
| * | Pure storage removal: Main partPip Cet2024-12-1213-650/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (pure, PUREBEG, purebeg, pure_size) (pure_bytes_used_before_overflow, pure_bytes_used_lisp) (pure_bytes_used_non_lisp): Remove definitions. (init_strings): Make empty strings impure. (cons_listn): Drop 'cons' argument. (pure_listn): Remove function. (init_vectors): Allocate zero vector manually to avoid freelist issues. (pure_alloc, check_pure_size, find_string_data_in_pure) (make_pure_string, make_pure_c_string, pure_cons, make_pure_float) (make_pure_bignum, make_pure_vector, purecopy_hash_table): Remove functions. (purecopy): Reduce to hash consing our argument. (init_alloc_once_for_pdumper): Adjust to lack of pure space. (pure-bytes-used): Adjust docstring to mark as obsolete. (purify-flag): Keep for hash consing, but adjust docstring. * src/bytecode.c: * src/comp.c: Don't include "puresize.h". * src/conf_post.h (SYSTEM_PURESIZE_EXTRA): Remove definition. * src/data.c (pure_write_error): Remove function. * src/deps.mk: Remove puresize.h dependency throughout. * src/emacs.c: * src/fns.c: * src/intervals.c: * src/keymap.c: Don't include "puresize.h". * src/lisp.h (struct Lisp_Hash_Table): Adjust comment. (pure_listn, pure_list, build_pure_c_string): Remove. * src/w32heap.c (FREEABLE_P): Don't do use 'dumped_data'. (malloc_before_dump, realloc_before_dump, free_before_dump): Remove functions. * src/w32heap.h: Adjust prototype. * lisp/loadup.el: * lisp/startup.el: Remove purespace code.
| * | Pure storage removal: Delete puresize.hPip Cet2024-12-121-115/+0
| | | | | | | | | | | | * puresize.h: Delete file.
| * | Unexec removal: Adjust and simplify W32-specific codePip Cet2024-12-122-181/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/emacs.c (main): Unconditionally call 'init_heap' without an argument. Adjust comment. * src/w32heap.c (dumped_data, DUMPED_HEAP_SIZE): Remove definitions. (heap): Remove variable. (dumped_data_commit): Remove function. (init_heap): Drop unexec-specific code.