| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
* lisp/subr.el: (string-common-prefix): New function.
* etc/NEWS:
* doc/lispref/strings.texi:
* doc/lispref/minibuf.texi:
* lisp/emacs-lisp/shortdoc.el:
Documentation.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously, 'quit' could cause remote endpoints to never get a
reply and thus sometimes hang. Ensure we always reply. Also,
give the application a chance to signal jsonrpc-error with the
served code=32000, meaning "no error".
* doc/lispref/text.texi (JSONRPC Overview): Rework section on
request dispatchers.
* lisp/jsonrpc.el (jsonrpc-connection-receive): Rework.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The info returned from `garbage-collect` is really handy to
track the evolution of the heap size, but sadly it's available only
at the cost of running a full GC, which has two big downsides:
it's slow, it affects what we're measuring, and it can't be used
in `post-gc-hook`.
So, this patch makes it available without running the GC.
* src/alloc.c (Fgarbage_collect_heapsize): New function, extracted from
`Fgarbage_collect`.
(Fgarbage_collect): Use it.
(syms_of_alloc): defsubr it.
* doc/lispref/internals.texi (Garbage Collection): Extract
documentation for it from that of `garbage-collect`.
|
| |
|
|
|
|
|
|
| |
* doc/lispref/internals.texi (Module Values, C Integer Types):
Mention that the example assumes Emacs was built with the
GMP library, not with mini-gmp. Mention stdckdint.h for
integer overflow checking, and mention Emacs integers
for values outside machine range.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/lispref/display.texi (Customizing Bitmaps): Fix grammar.
(XBM Images): Fix reference to incorrect number of properties.
(Multi-Frame Images, Other Image Types): Mention multi-frame WebP
support.
* src/image.c: Don't include pdumper.h; it hasn't been needed since
commit of 2019-05-17 "Clean up and simplify image-type setup". Fix
some commentary.
(image_pix_container_create_from_bitmap_data): Remove no longer used
frame parameter (bug#80191); this continues from commit of
2022-11-25 "Remove unused parameter from
image_create_pix_container". All callers updated.
(x_create_xrender_picture, initialize_image_type): Simplify.
(xbm_image_p): Remove redundant conditional branch. Update
commentary.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an optional 'context' argument to 'make-progress-reporter'
which 'progress-reporter-echo-area' consults to inhibit updates
if the context is 'async' and the echo area is busy.
* lisp/subr.el (make-progress-reporter): Add the optional
'context' argument.
(progress-reporter-context): New defun accessor.
(progress-reporter-echo-area): Consult
'progress-reporter-context'.
* doc/lispref/display.texi: Document context.
* etc/NEWS: Announce context.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A unique frame id is assigned to a new or cloned frame, and
reused on an undeleted frame.
The id facilitates unambiguous identification among frames that
share identical names or titles, deleted frames where a live
frame object no longer exists that we can resurrect by id, for
example via 'tab-bar-undo-close-tab'. It also aids debugging at
the C level using the frame struct member id.
Rewrite 'clone-frame' and 'undelete-frame' to not let bind
variables that 'make-frame' uses to avoid conflicts with nested
'make-frame' calls, for example via
'after-make-frame-functions'.
* lisp/frame.el (clone-frame, undelete-frame): Use
'frame--purify-parameters' to supply parameters explicitly.
(undelete-frame--save-deleted-frame): Save frame id for
restoration.
(undelete-frame): Restore frame id.
(frame--purify-parameters): New defun.
(make-frame): Assign a new id for a new or cloned frame, reuse
for undeleted frame.
* src/frame.h (struct frame): Add id member.
(frame_next_id): New extern.
* src/frame.c (frame_next_id): New global counter.
(frame_set_id, frame_set_id_from_params): New function.
(Fframe_id): New DEFUN.
(syms_of_frame <Sframe_id>): New defsubr.
(syms_of_frame <Qinternal_id>): New DEFSYM.
(syms_of_frame <frame_internal_parameters>): Add 'Qinternal_id'.
* src/androidfns.c (Fx_create_frame):
* src/haikufns.c (Fx_create_frame):
* src/nsfns.m (Fx_create_frame):
* src/pgtkfns.c (Fx_create_frame):
* src/w32fns.c (Fx_create_frame):
* src/xfns.c (Fx_create_frame): Call 'frame_set_id_from_params'.
* doc/lispref/frames.texi: Add documentation.
* etc/NEWS: Announce frame id.
|
| | |
|
| |
|
|
|
|
|
|
| |
* doc/lispref/windows.texi (Window History, Window Point)
(Window Configurations):
* doc/lispref/processes.texi (Filter Functions): Consistently
use "window point" and "buffer point" without "the" throughout
descriptions.
|
| |
|
|
|
|
|
| |
* doc/lispref/positions.texi (Point): Define "buffer point".
* doc/lispref/windows.texi (Window Point): Say that buffer point
can change in unpredictable ways when windows get selected
(Bug#79927).
|
| |
|
|
|
|
|
| |
* src/window.c (Fwindow_cursor_info): New function.
(syms_of_window): Defsubr it.
* doc/lispref/windows.texi (Window Point): Document it.
* etc/NEWS: Announce new function. (Bug#80023)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* lisp/frame.el (clone-frame): Set the frame parameter
'cloned-from'.
(undelete-frame): Set the frame parameter 'undeleted'.
* src/frame.c (syms_of_frame): <Qcloned_from> <Qundeleted>: New
DEFSYM.
(syms_of_frame): Add 'Qcloned_from' and 'Qundeleted' to
'frame_internal_parameters'.
* doc/lispref/frames.texi: Document these frame parameters.
* etc/NEWS: Announce the new frame parameters.
|
| |
|
|
|
|
| |
* lisp/tab-bar.el (tab-bar--reusable-frames): Implement support for the
`reusable-frames' value 0, for better consistency with other buffer
display actions. (bug#80092)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/lispref/windows.texi: Document the display actions
`display-buffer-in-tab' and `display-buffer-in-new-tab' and the
associated alist entries `tab-name' and `tab-group'.
* lisp/tab-bar.el (display-buffer-in-tab): Restructure docstring for
clarity. Describe the `reusable-frames' behaviour first (as if it finds
a frame with a suitable tab then the `tab-name' entry is not used).
(display-buffer-in-new-tab): Use consistent wording.
* lisp/window.el (display-buffer--action-function-custom-type): Add the
display actions as customize choices for user options.
(display-buffer): Document the display actions and alist entries.
|
| |
|
|
|
|
|
| |
* etc/NEWS:
* src/treesit.c (Ftreesit_query_eagerly_compiled_p):
* doc/lispref/parsing.texi (Pattern Matching): Fix documentation
of the recent treesit-related changes. (Bug#80108)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The direct cause of the problem in the bug report is that when
user runs treesit-font-lock-recompute-features to add the
emacs-devel feature in c-ts-mode's mode hook, the added query
for emacs-devel aren't compiled.
This change consists of two parts:
1. The immediate fix: validate and compile queries in
treesit-font-lock-recompute-features.
2. To make it more fool-proof, change treesit-font-lock-rules
back to compile the queries and make
treesit--compile-query-with-cache support compiled queries. This
way, as long as the query goes through treesit-font-lock-rules,
it'll be compiled eventually and not cause slow-down. I had to
add some c-level functions, but they're kind of overdue anyway,
so I don't have any problem adding them to the API.
* lisp/treesit.el (treesit--compile-query-with-cache): Support
compiled queries.
(treesit-font-lock-rules): Compile the queries (but not
eagerly).
(treesit-font-lock-recompute-features): Validate and compile
queries.
(treesit-major-mode-setup): Remove call to
treesit-validate-and-compile-font-lock-rules since it's now
called in treesit-font-lock-recompute-features.
* src/treesit.c (Ftreesit_query_eagerly_compiled_p):
(Ftreesit_query_source): New functions.
* doc/lispref/parsing.texi (Pattern Matching): Add manual
entries for the new functions.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/track-changes.el (track-changes-undo-only): New var.
(track-changes-fetch): Bind it.
(track-changes--state): New slot `undo`.
(track-changes--after): Set it.
* lisp/vc/diff-mode.el (diff--track-changes-function): Use the
new var.
* doc/lispref/text.texi (Tracking changes): Mention
`track-changes-undo-only`.
|
| |
|
|
|
|
|
|
|
| |
Zero-length strings are just 'empty'; 'null' can be confusing in several
ways.
* lisp/subr.el (split-string, string-lines):
* doc/lispref/strings.texi (Creating Strings):
Change argument names from 'omit-nulls' to 'omit-empty'.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* doc/lispref/strings.texi (Creating Strings):
* lisp/subr.el (split-string):
Make it clear that the SEPARATORS argument should not match the empty
string, since the behaviour was entirely an artefact of the original
implementation in this case; it makes little sense otherwise.
Clean up the examples for conciseness and do not waste space on
irrelevant details.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* src/font.c (Ffont_spec):
* doc/lispref/display.texi (Low-Level Font): More accurate
documentation of 'font-spec's arguments.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These produce the binary representation of a number.
'%#b' and '%#B' prefix with '0b' and '0B', respectively.
(bug#79990)
* etc/NEWS: Announce change.
* doc/lispref/strings.texi (Formatting Strings): Describe new format
specs and add to comment on reconstructing the value with 'read'.
* src/editfns.c (format): Update doc string.
(styled_format): Add support for '%b' and '%B'. To remain
portable, avoid use of 'sprintf' by converting by hand.
* test/src/editfns-tests.el (format-binary-zero, format-binary-floats)
(format-binary-nonzero-integers): Add tests.
(read-large-integer): Add binary test cases.
Co-authored-by: Paul Eggert <eggert@cs.ucla.edu>
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This experimental variable caused more trouble than it cured:
it was rarely used, and when used it tended to be used incorrectly.
* src/editfns.c (binary-as-unsigned): Remove. All uses removed.
|
| |
|
|
|
|
| |
* doc/emacs/frames.texi:
* doc/lispref/os.texi:
* lisp/system-taskbar.el: Fix typos.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement system GUI taskbar/dock/launcher icon badge, icon
progress indicator, icon attention alert features for D-Bus
platforms (tested on KDE and GNOME), NS (macOS/GNUstep),
MS-Windows.
Add 'progress-reporter-update-functions' abnormal hook to facilitate
taskbar progress display, and other custom progress reporters.
The default function list is 'progress-reporter-echo-area' which
is backward compatible.
* lisp/subr.el (progress-reporter-update-functions):
New defvar.
(progress-reporter-echo-area): New defun.
(progress-reporter-do-update): Run
progress-reporter-update-functions for both numerical and
pulsing reporters.
(progress-reporter-done): Run progress-reporter-done-functions.
* lisp/system-taskbar.el: New file.
* src/nsfns.m (Fns_badge, Fns_progress_indicator)
(Fns_request_user_attention): New function.
(syms_of_nsfns): Add defsubr Sns_badge,
Sns_request_user_attention, Sns_progress_indicator. Add DEFSYM
Qinformational, Qcritical.
* src/w32fns.c (rgb_list_to_colorref, Fw32_badge)
(Fw32_request_user_attention, Fw32_progress_indicator): New
function.
(syms_of_w32fns): Add defsubr Sw32_badge,
Sw32_progress_indicator, Sw32_request_user_attention. Add DEFSYM
Qinformational, Qcritical.
* doc/emacs/frames.texi: User documentation.
* doc/lispref/os.texi: Programmer documentation.
* etc/NEWS: Announce system-taskbar-mode. Announce progress
reporter callback enhancements.
|
| |
|
|
|
|
| |
* src/frame.c (Fmake_frame_visible, Fmake_frame_invisible):
* doc/lispref/frames.texi (Visibility of Frames): Don't change
visibility of tty root frames. (Bug#80032)
|
| | |
|
| |
|
|
| |
Since we got bignums the output is platform-independent.
|
| |
|
|
|
|
| |
The previous phrasing could be read as if backquote expansion were
mutable if containing substitions, but that is simply not true;
they should always be treated as non-mutable.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/callint.c (callint_argfuns): Add use-region-beginning and
use-region-end.
(syms_of_callint): Protect use-region-beginning and
use-region-end. Add DEFSYM for Quse_region_p.
(Fcall_interactively): New 'R' code letter.
* lisp/textmodes/paragraphs.el (repunctuate-sentences):
* lisp/vc/diff-mode.el (diff-delete-other-hunks, diff-apply-hunk)
(diff-revert-and-kill-hunk, diff-apply-buffer):
* lisp/vc/log-view.el (log-view-mark-entry)
(log-view-unmark-entry): Use it.
* doc/lispref/commands.texi (Interactive Codes):
* doc/lispref/markers.texi (The Region):
* etc/NEWS:
* lisp/simple.el (use-region-beginning, use-region-end)
(use-region-p):
* src/callint.c (Finteractive): Document it.
|
| |\
| |
| |
| |
| |
| |
| |
| | |
998d45d5d10 ; * lisp/calc/calc-units.el: Better reference for CODATA ...
fae83f1eb8b ; Improve documentation of 'char-script-table'
3e489ed8049 ; * src/font.c (Flist_fonts): Doc fix.
4c292b6f703 ; vc-dir-clean-files: Improve docstring and message (bug#...
8a6b84dbcbc Fix doc string of 'display-buffer'
|
| | |
| |
| |
| |
| | |
* doc/lispref/nonascii.texi (Character Properties): Improve
indexing and document how to produce the list of all scripts.
|
| | |
| |
| |
| |
| |
| | |
* doc/lispref/sequences.texi (Sequence Functions):
* lisp/emacs-lisp/seq.el (seq-intersection): Clarify the
documentation of 'seq-intersection'. (Bug#79844)
|
| | |
| |
| |
| |
| |
| | |
* doc/lispref/frames.texi (Font and Color Parameters): Fix
documentation of values of 'alpha-background'. Suggested by Jacob
S. Gordon <jacob.as.gordon@gmail.com>. (Bug#79861)
|
| | |
| |
| |
| |
| | |
* doc/lispref/variables.texi (Selecting Lisp Dialect): Update due
to bug#79760.
|
| | |
| |
| |
| |
| |
| |
| | |
* lisp/window.el (window-state-get, window-state-put): Mention
'clone-of' parameter in doc-strings.
* doc/lispref/windows.texi (Window Configurations, Window
Parameters): Improve description of 'clone-of' parameter.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes problems in some cases of out-f-tree builds
(bug#79694, bug#62099, bug#64806).
The use of true names in `load-history` dates back to to commits
33d74677e739 and 6bb6da3ec173 by Alan Mackenzie <acm@muc.de> in
May 24 2006, but that was reverted by Paul Eggert's commit
dff4f9c759f5 on Sep 18 2019.
* lisp/startup.el (command-line): Don't `file-truename` `lisp-directory`.
* src/lread.c (syms_of_lread) <load-history>: Adjust docstring,
to reflect the fact that the files there aren't "true names".
* doc/lispref/loading.texi (Hooks for Loading): Adjust accordingly.
Also massage the text to reflect the fact that nowadays features are
more common than file names as arguments to `with-eval-after-load`.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* doc/lispref/control.texi (Conditionals): Pointer to cond*'s
bind-and* clauses for Lisp programmers looking for a cond-let*.
(cond* Macro): Document bind-and* clauses.
* lisp/subr.el: Comment summarizing recent discussion, for
future Emacs developers wondering about cond-let*.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
* doc/lispref/objects.texi (Equality Predicates):
Remove incorrect and/or misleading examples, add new ones,
and display them more compactly to save space.
|