igc_state: Enhance comment to cross-reference MPS docs.
mps_pool_t: Insert comment on the most important pool type.
(text from Gerd Mollmann in igc.org)
* src/frame.c (frame_inhibit_resize): Handle new value 'force'
for 'frame-inhibit-implied-resize' (Bug#76275).
(frame_inhibit_implied_resize): New value 'force' to inhibit
implied resizing while a new frame is made.
* lisp/cus-start.el (frame-inhibit-implied-resize): Make new
value 'force' customizable.
* doc/lispref/frames.texi (Implied Frame Resizing): Describe new
value 'force' of 'frame-inhibit-implied-resize'.
* etc/NEWS: Announce new value 'force' of
'frame-inhibit-implied-resize'.
* src/term.c (tty_free_frame_resources): When deleting a child mark its
root frame to garbaged.
* src/dispnew.c (prepare_desired_root_row): Add a check for GLYPH_DEBUG.
Problem reported by the wurfkreuz (Bug#76414).
* src/pgtkselect.c: Revert my commit
ff65cc9944 dated Sun Jan 26 22:15:49
2025 -0800 for now. I may come up with a better commit later.
* lisp/loadup.el ("tooltip"): Load even on MS-DOS.
* src/timefns.c (tzvalbuf): Don't define on MS-DOS.
(emacs_getenv_TZ, emacs_setenv_TZ) [MSDOS]: Call getenv and
putenv rather than overwrite existing environment storage to
update DJGPP's environment modification counter.
* config.bat (mvOk): Protoize.
(djgppOk): Include sys/version.h for _DJGPP_MINOR.
* lisp/loadup.el: If system-type is ms-dos, dump bootstrap-emacs
as b-emacs.dmp.
* msdos/INSTALL: Document new versions of tools that have been
verified successfully to compile Emacs.
* msdos/emacs.djl: New linker script that arranges to link
symbols in `.subrs' in a contiguous part of data, as the DJGPP
runtime appears to treat any non-data and non-text section as
allocatable.
* msdos/mainmake.v2 (install): Install emacs.dmp alongside
emacs.exe.
* msdos/sed1v2.inp (CFLAGS): Define to -O2 -g3.
(LDFLAGS): Provide the said linker script.
(HAVE_PDUMPER): Define to yes.
(UNEXEC_OBJ, PAXCTL_dumped, PAXCTL_notdumped): Delete.
(DUMPING): Set to pdumper.
(MAKE_PDUMPER_FINGERPRINT): Don't erase this variable.
Don't stubify or set minstack. Remove native-comp specific
directives. Don't remove temacs prior to copying and replace
`pdmp' extension with DOS-conformant `dmp'.
* msdos/sed2v2.inp (HAVE_UNEXEC): Remove definition.
(HAVE_PDUMPER): Define to 1.
* msdos/sed6.inp (top_srcdir): Define appropriately.
* msdos/sedlibmk.inp (HAVE_BLKCNT_T): Define to 1.
* src/emacs.c (load_pdump) [MSDOS]: Use `dmp' suffix.
* src/pdumper.c (Fdump_emacs_portable) [MSDOS]: Replace ".pdmp"
suffixes with ".dmp".
* lisp/loadup.el: Preserve (default-toplevel-value 'lexical-binding).
* src/lread.c (Fload, Feval_buffer): Obey (default-toplevel-value
'lexical-binding).
* doc/lispintro/emacs-lisp-intro.texi (Lexical vs Dynamic Binding
Example): Use the lexical dialect also for the dynamic
scoping example.
* doc/lispref/edebug.texi (Edebug Eval): Remove long-obsolete mention
of Edebug support for `lexical-let`.
Some code used to modify the specpdl pointer directly to discard
specpdl entries without unwinding through them. This introduces an
API to do so safely, because in the MPS case we need to mark the
discarded specpdl entries as free so they will not be traced by GC.
* src/bytecode.c (exec_byte_code):
* src/dired.c (directory_files_internal):
* src/eval.c (eval_sub):
(Ffuncall):
(apply_lambda): Use 'unbind_discard_to'.
(unbind_discard_to): New function.
* src/fileio.c (Fmake_temp_file_internal):
(Finsert_file_contents):
(write_region):
* src/fns.c (extract_data_from_object): Use 'unbind_discard_to'.
* src/lisp.h (SPECPDL_INDEX_PREV): New function.
(safe_free):
* src/process.c (Fmake_pipe_process):
(Fmake_serial_process):
(connect_network_socket):
(Fmake_network_process):
(server_accept_connection): Use 'unbind_discard_to'.
* src/pgtkfns.c (Fx_create_frame):
(x_create_tip_frame): Use 'igc_xzalloc_ambig', not 'xzalloc'.
* src/pgtkmenu.c (pgtk_menu_show): Use 'SAFE_ALLOCA_LISP'.
* src/pgtkselect.c (pgtk_own_selection): Use temporary copies of the
symbol name strings.
(lisp_data_to_selection_data): Use temporary string copy.
* src/pgtkterm.c (pgtk_enumerate_devices):
(pgtk_free_devices):
(evq_enqueue): Use 'igc_xzalloc_ambig' etc.
(size_allocate): Use 'get_glib_user_data'.
(pgtk_link_touch_point):
(pgtk_unlink_touch_point):
(pgtk_unlink_touch_points):
(pgtk_free_frame_resources):
(pgtk_delete_display): Use 'igc_xzalloc_ambig' etc.
(pgtk_set_event_handler): Use 'glib_user_data'.
* src/dbusbind.c (xd_lisp_dbus_to_pin): Use first mint pointer.
(xd_lisp_dbus_to_pin): New function.
(xd_close_bus): Free both mint pointers.
(Fdbus__init_bus) [HAVE_MPS]: Mint a pointer to an area pinning the
object whose pointer we use.
* src/xdisp.c (maybe_produce_line_number): Limit the value of
'display-line-numbers-width' to what can be shown in the window,
and set dimension of the lnum_buf[] accordingly. (Bug#75969)
* src/lread.c (readchar): Don't crash for non-fixnum return values.
(read_filtered_event): Don't crash for invalid symbol properties.
(Fread_char):
(Fread_char_exclusive):
(character_name_to_code): Check 'FIXNUMP' before using 'XFIXNUM'.
(read_char_escape): Crash on invalid Lisp-supplied data when
ENABLE_CHECKING; otherwise, signal an error.