1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

175735 commits

Author SHA1 Message Date
Pip Cet
afd61deaae Pure storage removal: Remove purecopy hash table flag
* 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'.
2024-12-12 22:48:12 +01:00
Pip Cet
e1e101c6c1 Pure storage removal: Remove support for pinned objects
* 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.
2024-12-12 22:48:12 +01:00
Pip Cet
5ec8696663 Pure storage removal: Replace calls to removed functions
* 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.
2024-12-12 22:48:11 +01:00
Pip Cet
f84ccff5a6 Pure storage removal: Main part
* 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.
2024-12-12 22:48:11 +01:00
Pip Cet
d359858b5d Pure storage removal: Delete puresize.h
* puresize.h: Delete file.
2024-12-12 22:48:11 +01:00
Pip Cet
aab5a2fe4c Unexec removal: Adjust and simplify W32-specific code
* 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.
2024-12-12 22:48:11 +01:00
Pip Cet
b2bc337a5f Unexec removal: Remove HYBRID_MALLOC support
* src/gmalloc.c (gdefault_morecore): Remove HYBRID_MALLOC code.
(allocated_via_gmalloc, hybrid_malloc, hybrid_calloc, hybrid_free_1)
(hybrid_free, hybrid_aligned_alloc, hybrid_realloc): Remove functions.

* msdos/sed1v2.inp:
* msdos/sedlibmk.inp:
* src/alloc.c (GC_MALLOC_CHECK, USE_ALIGNED_ALLOC)
(refill_memory_reserve, aligned_alloc):
* src/emacs.c (main):
* src/lastfile.c (my_edata):
* src/lisp.h:
* src/ralloc.c:
* src/sysdep.c (get_current_dir_name_or_unreachable):
* src/xdisp.c (decode_mode_spec): Remove HYBRID_MALLOC conditions.

* configure.ac (hybrid_malloc, HYBRID_MALLOC): Remove variables and
dependent code.
* src/conf_post.h (hybrid_malloc, hybrid_calloc, hybrid_free)
(hybrid_aligned_alloc, hybrid_realloc): Remove conditional prototypes.
* src/Makefile.in (HYBRID_MALLOC): Remove variable.
(base_obj): Remove sheap.o
(LIBEGNU_ARCHIVE):
* lib/Makefile.in (libgnu_a_OBJECTS): Remove libegnu.a support.
2024-12-12 22:48:11 +01:00
Pip Cet
15e2b14f03 Unexec removal: Main part
* configure.ac: Remove unexec-specific parts.
(EMACS_CONFIG_FEATURES): Always report that we do not have the UNEXEC
feature.
(AC_ECHO): No longer display a line about the unexec feature.
* lisp/loadup.el:
* lisp/startup.el: Remove unexec-specific code.
* src/Makefile.in (base_obj): Drop 'UNEXEC_OBJ'.
* src/alloc.c (staticvec): Never initialize this variable.
(BLOCK_ALIGN): Always allow large blocks.
(mmap_lisp_allowed_p): Remove unexec-specific code.
* src/buffer.c (init_buffer):
* src/conf_post.h (ADDRESS_SANITIZER):
* src/emacs.c (load_pdump, main): Remove unexec-specific code.
(Fdump_emacs): Remove function.
(syms_of_emacs): Remove 'Fdump_emacs'.
* src/lastfile.c: Remove unexec-specific code.
* src/lisp.h (gflags): Remove unexec-specific flags.
(will_dump_p, will_bootstrap_p, will_dump_with_unexec_p)
(dumped_with_unexec_p, definitely_will_not_unexec_p): Remove or adjust
predicates.
(SUBR_SECTION_ATTRIBUTE): Remove unexec-specific definition.
* src/pdumper.c (Fdump_emacs_portable): Remove unexec-specific warning.
* src/process.c (init_process_emacs): Remove !unexec condition
* src/sysdep.c (maybe_disable_address_randomization): Adjust comment.
(init_signals):
* src/timefns.c (init_timefns): Remove unexec-specific code.
* src/w32heap.c (report_temacs_memory_usage): Remove function.
* src/w32heap.h: Adjust comment.
* src/w32image.c (globals_of_w32image): Remove unexec-specific code.
2024-12-12 22:48:11 +01:00
Pip Cet
7ce34a3bcf Unexec removal: Remove obsolete files
* src/sheap.c, src/sheap.h, src/unexec.h, src/unexaix.c, unexcoff.c:
* src/unexcw.c, src/unexelf.c, src/unexhp9k800.c, src/unexmacosx.c:
* src/unexsol.c, src/unexw32.c: Remove files.
2024-12-12 22:48:10 +01:00
Jared Finder
9ccd459e84 Enable xterm-mouse-mode by default in xterm
* lisp/xt-mouse.el (xterm-mouse-mode): Change default value of
xterm-mouse-mode to t.
* lisp/term/xterm.el (xterm--init): Enable xterm-mouse-mode if
the default value is still set.
* etc/NEWS: Document new behavior.
2024-12-12 12:51:13 +02:00
Diancheng Wang
a4548739b8 Turn off current source line indicator when gdb buffer is killed
* lisp/progmodes/gud.el (gud-hide-current-line-indicator):
Turn off current-line indicator.  (Bug#74642)
2024-12-12 12:44:55 +02:00
Daniel Mendler
a3610381ff eww: Use browse-url-with-browser-kind in eww-browse-with-external-browser
Guarantee that an external browser is used by EWW if
`browse-url-secondary-browser-function' is set to
`eww-browse-url'.
* lisp/net/eww.el (eww-browse-with-external-browser): Use
`browse-url-secondary-browser-function' only if it is an
external browser, otherwise fall back to
`browse-url-with-browser-kind'.
(eww-follow-link): Use `eww-browse-with-external-browser' if the
EXTERNAL prefix argument is non-nil.  Improve docstring.
* lisp/net/browse-url.el (browse-url-secondary-browser-function):
Update docstring.  (Bug#74730)
2024-12-12 12:40:42 +02:00
Visuwesh
eb9ba4830e Revert Dired buffer when clicking on basename of directory
* lisp/dired.el (dired--make-directory-clickable): Make clicking
on basename of the directory revert the Dired buffer.
* etc/NEWS: Announce the change.  (Bug#74700)
2024-12-12 12:29:24 +02:00
Stefan Kangas
d181afa5d9 Add nntps and snews to browse-url heuristic
* lisp/net/browse-url.el (browse-url-button-regexp): Support "nntps" and
"snews" schemes.
2024-12-12 10:14:16 +01:00
Stefan Kangas
ab5040896e Shorten browse-url-default-scheme docstring
* lisp/net/browse-url.el (browse-url-default-scheme): Shorten
docstring by removing self-evident information.  Reflow.
2024-12-12 10:14:16 +01:00
Yuan Fu
a0e7c884d8
; * lisp/progmodes/c-ts-mode.el: Add missing declare-function form. 2024-12-11 22:07:22 -08:00
Eli Zaretskii
276a74f0f7 ; Fix documentation of a recent change in Eshell
* lisp/eshell/em-hist.el (eshell-history-isearch): Fix typo and
wording.  (Bug#74287)
2024-12-12 07:40:32 +02:00
Stefan Monnier
5f8a86992f minibuffer.el: Avoid accumulating adjustments in the metadata (bug#74718)
* lisp/minibuffer.el (completion--nth-completion): Remember the
adjustments applied, in an ad-hoc `completion--adjusted-metadata` entry.
2024-12-11 18:35:05 -05:00
Pengji Zhang
3959ea6644 Rework history Isearch for Eshell
This is to make history Isearch for Eshell similar to that of
'comint-mode', by hooking into Isearch properly instead of
defining new commands to emulate Isearch (bug#74287).

* lisp/eshell/em-hist.el (eshell-history-isearch): New user
option.
(eshell-goto-history, eshell--isearch-setup)
(eshell-history-isearch-end, eshell-history-isearch-search)
(eshell-history-isearch-message, eshell-history-isearch-wrap)
(eshell-history-isearch-push-state): New functions.
(eshell-isearch-backward-regexp, eshell-isearch-forward-regexp):
New commands.
(eshell--history-isearch-message-overlay)
(eshell--stored-incomplete-input, eshell--force-history-isearch):
New internal variables.
(eshell-hist-mode-map): Bind 'M-r' to
'eshell-isearch-backward-regexp' and free 'M-s' binding for
normal in-buffer search commands.
(eshell-isearch-backward, eshell-isearch-forward): Use the new
way to start searching.
(eshell-hist-initialize): Use the new Isearch setup function.
(eshell-previous-matching-input): Use 'eshell-goto-history'.
Also inhibit messages when searching.
(eshell-isearch-map, eshell-isearch-repeat-backward)
(eshell-isearch-abort, eshell-isearch-delete-char)
(eshell-isearch-return, eshell-isearch-cancel)
(eshell-isearch-repeat-forward, eshell-test-imatch)
(eshell-return-to-prompt, eshell-prepare-for-search): Remove.
These are for the old history Isearch implementation.

* doc/misc/eshell.texi (History): Document changes.

* etc/NEWS: Annouce changes.
2024-12-11 11:56:45 -08:00
Michael Albinus
6a07dc19ac Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2024-12-11 09:19:10 +01:00
Michael Albinus
c0e1ff6b6b * test/infra/Dockerfile.emba (emacs-tree-sitter): Add jsdoc grammar. 2024-12-11 09:15:47 +01:00
Robert Pluim
f70b486759 Fix browse-url-kde :version tags
* lisp/net/browse-url.el (browse-url-kde-program,
browse-url-kde-args): Update :version to 31.1.  (Bug#74775)
2024-12-11 09:14:58 +01:00
Pengji Zhang
5db9471453 Do not call custom-reevaluate-setting in comint.el (bug#74287)
* lisp/comint.el (comint--force-history-isearch): New internal variable.
(comint-history-isearch-backward, comint-history-isearch-backward-regexp):
Set comint--force-history-isearch to t.
(comint-history-isearch-setup): Check comint--force-history-isearch.
(comint-history-isearch-end): Set comint--force-history-isearch back to nil
instead of calling custom-reevaluate-setting.
2024-12-11 09:05:09 +02:00
Yuan Fu
10e49d7fae
Make c-ts-mode tests pass even for older tree-sitter libraries
* lisp/progmodes/c-ts-mode.el (c-ts-mode--for-loop-indent-rule):
Use child index instead of field name.
2024-12-10 22:10:41 -08:00
Björn Bidar
63b9ddda8f Update browse-url-kde variables
* lisp/net/browse-url.el (browse-url-kde-program, browse-url-kde-args):
Update defaults to more modern alternative to kfmclient.  Kfmclient is
only installed when Konqueror is installed, which isn't the default
file-manager since KDE4.  In contrast, it is more likely that kde-open
is installed as it is required by Plasma, and it exists since
KDE4.  (Bug#74775)
2024-12-11 02:21:35 +01:00
Stefan Kangas
2412b9d763 ; * lisp/loadup.el: Silence checkdoc. 2024-12-11 01:06:48 +01:00
Daniel Mendler
d657a38fd1 Update project-recompile's docstring
* lisp/progmodes/project.el (project-recompile):
Update the docstring accordingly (bug#74631).
2024-12-11 01:29:15 +02:00
Paul Eggert
1012e2a43b Use builtin-expect directly
* admin/merge-gnulib (GNULIB_MODULES): Add builtin-expect,
since src/lisp.h now uses __builtin_expect directly,
which we should no longer rely on it being pulled in as
a dependency of some other Gnulib module that we use.
2024-12-10 12:16:14 -08:00
Stephen Gildea
7665ec8df8 time-stamp: properly abbreviate instead of truncating names
* lisp/time-stamp (time-stamp-string-preprocess): Stop truncating month
and weekday name strings; it didn't internationalize well.
Some historical conversions, previously accepted quietly, now warn.
(time-stamp-format): Recommend the simpler formats implemented in 2019.
* test/lisp/time-stamp-tests.el: Update tests and comments to match.
Revert commit 83e4559664 (2022-07-01), which was working around the
former confusion between truncation and abbreviation.
2024-12-10 09:11:55 -08:00
Robert Pluim
ebd8feef14 Move ns-specific event setup to term/ns-win.el (Bug#74619)
* lisp/term/ns-win.el (ns-setup-special-keys): New function,
contains event setup code previously in term/common-win.el.
Call it at top-level.
* lisp/term/common-win.el (x-setup-function-keys): Call
'ns-setup-special-keys'.
2024-12-10 16:03:39 +01:00
Daniel Mendler
be51f13491 project-recompile: Autoload and run in project root
* lisp/progmodes/project.el (project-recompile): Autoload and
use project root as `default-directory' (bug#74631).
2024-12-10 03:54:09 +02:00
Dmitry Gutov
4eea545bbc apropos-library: Don't list generic functions as features
* lisp/apropos.el (apropos-library):
Remove the separate 'cl-defmethod' case (bug#74727).
2024-12-10 03:40:14 +02:00
F. Jason Park
b25fba0ef8 ; Mark failing tests in erc-scenarios-match.el as :unstable
* test/lisp/erc/erc-scenarios-match.el
(erc-scenarios-match--stamp-both-invisible-fill-static)
(erc-scenarios-match--stamp-both-invisible-fill-static--nooffset):
Tag as :unstable for a `system-type' of `berkeley-unix'.
(Bug#74722)
2024-12-09 11:45:05 -08:00
F. Jason Park
dc7c38ed9e ; Slightly improve test case for erc-parse-modes
* lisp/erc/erc.el (erc--merge-local-modes): Look for a symbol's
`erc-module' property before examining its name.
* test/lisp/erc/erc-tests.el (erc-parse-modes): Expand case to cover
alternating plus and minus mode changes.
2024-12-09 11:42:45 -08:00
Gerd Möllmann
d719a81409 Support menu separator types in tty menus (bug#74740)
* src/xdisp.c (display_tty_menu_item): Display "--" for all menu
separator types.
2024-12-09 15:17:40 +01:00
Gerd Möllmann
b8ee67b696 ; Add an autoload cookie for native-compile-prune-cache
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Make it
autoload.
2024-12-09 15:17:40 +01:00
Pip Cet
cb288fbcd9 Fix occasional crash in lwlib due to uninitialized data
Crash observed on cfarm's cfarm210 machine, which is a Solaris 10 zone
on an M3000 server.

* lwlib/xlwmenu.c (XlwMenuInitialize): Initialize menu.font.
2024-12-09 13:06:40 +00:00
Jim Porter
6df535788a Fix usage reporting for Eshell commands
* lisp/eshell/esh-cmd.el (eshell-exec-lisp): Call
'elisp-get-fnsym-args-string'; the old function was renamed to this.
2024-12-08 20:23:46 -08:00
Jim Porter
b6c91cdf54 Return non-zero exit status when Eshell's "which" fails to find a command
* lisp/eshell/esh-cmd.el (eshell/which): Set exit status to 1 if we
couldn't find any of the commands (bug#74739).
2024-12-08 20:21:31 -08:00
Stefan Kangas
1098ae2896 ; * etc/symbol-releases.eld: Add and-let*.
(Bug#74712)
2024-12-09 04:25:04 +01:00
Stefan Kangas
9b4af418dd Make setting tex-dvi-view-command to an sexp obsolete
This is more in line with how we generally handle user options for
commands to call.  Later, we can get rid of the 'eval' call.

* lisp/textmodes/tex-mode.el (tex-view): Warn if tex-dvi-view-command is
set to an sexp instead of a string; say that this use is obsolete.
(tex-dvi-view-command): Change the default value to a string.  Update
docstring to reflect the above obsoletion.
2024-12-09 04:25:04 +01:00
Michael Albinus
4960af1c96 Fix calling processes inside ffap
* lisp/ffap.el (ffap--url-file-handler): Handle also
`unhandled-file-name-directory'.  (Bug#74208)
2024-12-08 18:22:17 +01:00
Eli Zaretskii
9a0e26b886 ; * doc/lispref/modes.texi (Parser-based Font Lock): Fix markup. 2024-12-08 14:10:33 +02:00
Yuan Fu
b953bcb170
Allow treesit--font-lock-level-setter to be an alist
* lisp/treesit.el (treesit-font-lock-level): Allow the
value to be an alist mapping major modes to font lock levels.
(treesit--font-lock-level-setter): Rewrite.
(treesit--compute-font-lock-level): New function.
(treesit-font-lock-recompute-features): Use new function.

* doc/lispref/modes.texi (Parser-based Font Lock): Minor fix.
2024-12-07 23:36:02 -08:00
Eli Zaretskii
6f6b641975 Merge from origin/emacs-30
4f2a21cc2a Don't restrict 'lua-ts-send-file' to 'lua-ts-mode'
2024-12-07 09:16:18 -05:00
Eli Zaretskii
0ece0e68ee ; Merge from origin/emacs-30
The following commit was skipped:

84fc77f34f Remove unnecessary function call from 'php-ts-mode'
2024-12-07 09:16:18 -05:00
Eli Zaretskii
284b6647d2 Merge from origin/emacs-30
3cf177442c ; * lisp/help-at-pt.el (display-local-help): Fix last cha...
02c53b9aab ; * lisp/help-at-pt.el (display-local-help): Doc fix.
130c2a13dc ; * doc/emacs/building.texi (Compilation Mode): Fix last ...
df7f02a795 Add tags to 'compilation-transform-file-match-alist' cust...
7c50e4cc8c Improve 'compilation-transform-file-match-alist' document...
a73d08bb67 Improve 'compilation-hidden-output' docstring
d50293b0f1 ; Improve documentation of 'epa-mail-verify'
2024-12-07 09:16:18 -05:00
Eli Zaretskii
be5218138f ; Merge from origin/emacs-30
The following commit was skipped:

c7d9ffcf82 Improve docstrings of functions for moving to message hea...
2024-12-07 09:16:18 -05:00
Eli Zaretskii
66263417b7 Merge from origin/emacs-30
7b8d12e95d Fix the latest dabbrev-expand test fix
2024-12-07 09:16:18 -05:00
Eli Zaretskii
15a4022e05 ; Merge from origin/emacs-30
The following commit was skipped:

e618d5ae94 Fix password prompt in comint (don't merge)
2024-12-07 09:16:18 -05:00