1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

4554 commits

Author SHA1 Message Date
Po Lu
4dfaefcffc Fix race conditions processing frame fullscreen state on Haiku
* doc/lispref/frames.texi (Size Parameters): Remove note saying
Haiku doesn't support `fullwidth' and `fullboth'.

* src/haiku_support.cc (subset_windows, class EmacsWindow)
(Unparent, ParentTo): Stop calling old fullscreen functions.
(ClearFullscreen, FullscreenRectForMode, SetFullscreen): New
functions.  Completely rewrite old zoom and fullscreen handling
code.
(Zoom): Send a ZOOM_EVENT and don't actually zoom.
(BWindow_zoom, EmacsWindow_make_fullscreen, EmacsWindow_unzoom):
Delete functions.
(be_set_window_fullscreen_mode): New function.

* src/haiku_support.h (struct haiku_zoom_event): Remove
`zoomed_p' parameter.
(enum haiku_fullscreen_mode): New enum.  Update prototypes.

* src/haikufns.c (Fx_display_pixel_height): Return height
instead of width.

* src/haikuterm.c (haiku_make_fullscreen_consistent)
(haiku_read_socket, haiku_fullscreen): Adjust to always set zoom
and fullscreen in the main thread instead of the UI threads.

* src/haikuterm.h (struct haiku_output): Remove flag `zoomed_p'
and add field `fullscreen_mode'.
2022-05-19 03:43:39 +00:00
Lars Ingebrigtsen
a67d8e0d70 Add a new display-buffer-full-frame display action
* doc/lispref/windows.texi (Buffer Display Action Functions):
Document it.

* lisp/window.el (display-buffer-full-frame): New display action
(bug#34169).
(display-buffer--action-function-custom-type): Add.
(display-buffer): Mention it.
2022-05-18 15:33:57 +02:00
Po Lu
e9ad64ef92 Rewrite Haiku frame geometry code to handle decorator frames
* doc/lispref/frames.texi (Frame Layout): Document changes to
Haiku frame layout.

* src/haiku_support.cc (class EmacsWindow, MoveToIncludingFrame)
(EmacsMoveTo, MakeFullscreen): Move to an offset including the
decorator frames.
(be_get_window_decorator_dimensions):
(be_get_window_decorator_frame): New functions.

* src/haiku_support.h: Update prototypes.

* src/haikufns.c (haiku_update_after_decoration_change): New
function.
(haiku_create_frame, haiku_set_undecorated)
(haiku_set_override_redirect): Call that function.
(frame_geometry): Actually calculate frame geometry based on
decorator and frame sizes.

* src/haikuterm.c (haiku_coords_from_parent): Use frame width
instead.
(haiku_read_socket): Set left and top positions based on
decorator width and height.
* src/haikuterm.h (struct haiku_output): New field `frame_x' and
`frame_y'.
2022-05-17 09:59:20 +00:00
Eli Zaretskii
d4ae418691 ; Improve documentation of the OVERRIDES argument to prin1
* src/print.c (Fprin1, syms_of_print):
* etc/NEWS:
* doc/lispref/streams.texi (Output Functions, Output Overrides):
Fix typos and cross-references, and improve wording.
2022-05-15 19:02:46 +03:00
Lars Ingebrigtsen
aa95b2a47d Add OVERRIDES argument to prin1/prin1-to-string
* doc/lispref/streams.texi (Output Functions): Document it.
(Output Overrides): New node.

* src/process.c (Faccept_process_output):
* src/print.c (debug_print, print_error_message):
* src/pdumper.c (print_paths_to_root_1, decode_emacs_reloc):
* src/lread.c (readevalloop):
* src/eval.c (internal_lisp_condition_case):
* src/editfns.c (styled_format): Adjust prin1/prin1-to-string
callers.

* src/print.c (Fprin1): Take an OVERRIDES parameter.
(print_bind_overrides, print_bind_all_defaults): New functions.
(Fprin1_to_string): Take an OVERRIDES parameter.
2022-05-15 15:29:38 +02:00
Eli Zaretskii
e2e081a476 ; Fix the documentation of compiler-macros and advice
* doc/lispref/functions.texi (Advice and Byte Code): Fix typos
and improve wording and indexing.  (Bug#23264)
2022-05-14 10:34:50 +03:00
Lars Ingebrigtsen
5f7dd959c2 Improve the *Help* output for compiler macros and the like
* doc/lispref/functions.texi (Advice and Byte Code): New node.

* lisp/help-fns.el (help-fns--compiler-macro): Also output data on
other byte compilation things, and link to the manual (bug#23264).
2022-05-14 04:13:56 +02:00
Lars Ingebrigtsen
dea41d4c24 Add new minor mode `header-line-indent-mode'
This is mostly factored out from tabulated-list.el (with bugs fixed).

* doc/lispref/modes.texi (Header Lines): Document it.
* lisp/display-line-numbers.el (header-line-indent): New variable.
(header-line-indent--line-number-width)
(header-line-indent--watch-line-number-width)
(header-line-indent--window-scroll-function): New helper functions.
(header-line-indent-mode): New minor mode.

* lisp/display-line-numbers.el (header-line-indent-width): New
variable.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-line-number-width)
(tabulated-list-watch-line-number-width)
(tabulated-list-window-scroll-function): Make into obsolete aliases.
(tabulated-list-mode): Use 'header-line-indent-mode'.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Adjust the header line format and computation.

* src/buffer.c (syms_of_buffer): Mention header-line-indent-mode.
2022-05-13 21:24:12 +02:00
Stefan Monnier
9c126cbacb * doc/lispref/help.texi (Keys in Documentation): Typo in last change 2022-05-13 10:38:42 -04:00
Lars Ingebrigtsen
ebfec5c119 Allow substitute-command-keys to include menus in \{...} output
* doc/lispref/help.texi (Keys in Documentation): Document it.
* lisp/help.el (substitute-command-keys): Add an argument to
include menus in the \{...-map} output (bug#24236).
2022-05-13 15:54:16 +02:00
Eli Zaretskii
7d0d87ec51 ; Improve documentation of 'restore-buffer-modified-p'
* src/buffer.c (Frestore_buffer_modified_p):
* doc/lispref/buffers.texi (Buffer Modification): Fix doc wording.
2022-05-12 09:47:25 +03:00
Eli Zaretskii
36e84d2289 ; Improve documentation of 'switch-to-prev-buffer-skip-regexp'
* lisp/window.el (switch-to-prev-buffer-skip-regexp):
* etc/NEWS:
* doc/lispref/windows.texi (Window History): Improve wording of
the documentation of 'switch-to-prev-buffer-skip-regexp'.
(Bug#19070)
2022-05-12 09:29:53 +03:00
Lars Ingebrigtsen
0d0dc1af59 Add new user option switch-to-prev-buffer-skip-regexp
* doc/lispref/windows.texi (Window History): Document it.
* lisp/window.el (switch-to-prev-buffer-skip): Mention it.
(switch-to-prev-buffer-skip-regexp): New user option (bug#19070).
(switch-to-prev-buffer-skip-p): Use it.
2022-05-12 03:35:49 +02:00
Lars Ingebrigtsen
1642a5ffcd Adjust restore-buffer-modified-p autosaved logic
* doc/lispref/buffers.texi (Buffer Modification): Adjust
documentation.

* src/buffer.c (Frestore_buffer_modified_p): Fix up the logic
around `autosaved': It means "the buffer is modified, and also
autosaved".
2022-05-12 02:16:38 +02:00
Paul Eggert
4f27e4ff02 functionp doc improvement
* doc/lispref/eval.texi, doc/lispref/functions.texi, src/eval.c:
Document functionp a bit more carefully.  It can return t
on non-functions.
2022-05-11 10:18:12 -07:00
Tino Calancha
7f2fb99211 char-uppercase-p: New predicate
Return non-nil if its argument is an uppercase character.

Suggested in Bug#54804.

* lisp/subr.el (char-uppercase-p): New defun.
* etc/NEWS (Lisp Changes in Emacs 29.1): Announce it
* doc/lispref/display.texi (Size of Displayed Text): Document it.
* test/lisp/subr-tests.el (test-char-uppercase-p): Add a test.
2022-05-11 18:03:57 +02:00
Lars Ingebrigtsen
3bc34ef635 Clarify precedence rules in Active Display Table manual node
* doc/lispref/display.texi (Active Display Table): Say what "takes
precedence" means here (bug#18546).
2022-05-11 17:51:05 +02:00
Po Lu
5079f42446 Add support for changing pointer types on Haiku
* doc/lispref/frames.texi (Pointer Shape): Document that the
pointer shape can now be changed on some window systems other
than X.

* lisp/term/haiku-win.el (x-pointer-X-cursor, x-pointer-arrow)
(x-pointer-bottom-left-corner, x-pointer-bottom-right-corner)
(x-pointer-bottom-side, x-pointer-clock, x-pointer-cross)
(x-pointer-cross-reverse, x-pointer-crosshair)
(x-pointer-diamond-cross, x-pointer-hand1, x-pointer-hand2)
(x-pointer-left-side, x-pointer-right-side)
(x-pointer-sb-down-arrow, x-pointer-sb-left-arrow)
(x-pointer-sb-right-arrow, x-pointer-sb-up-arrow, x-pointer-target)
(x-pointer-top-left-corner, x-pointer-top-right-corner)
(x-pointer-top-side, x-pointer-watch, x-pointer-invisible): New
pointer constants.

* src/haiku_support.cc (BCursor_from_id): Accept int instead of
enum.
* src/haiku_support.h: Update prototypes.

* src/haikufns.c (haiku_create_frame): Stop manually assigning
cursors and set default value of the mouse color property.
(haiku_free_frame_resources): Free custom cursors too.
(struct user_cursor_info, INIT_USER_CURSOR): New struct.
(haiku_free_custom_cursors): New function.
(haiku_set_mouse_color): New param handler.
(haiku_frame_parm_handlers): Add param handler.
(syms_of_haikufns): New cursor shape variables from X.

* src/haikuterm.h: Update prototypes.
2022-05-11 12:40:53 +00:00
Eli Zaretskii
68dd94448f ; Fix recent documentation changes
* src/fileio.c (Fdo_auto_save):
* src/buffer.c (Fbuffer_modified_p, Frestore_buffer_modified_p):
* doc/lispref/buffers.texi (Buffer Modification): Improve
documentation of 'do-auto-save', 'buffer-modified-p' and
'restore-buffer-modified-p'.
2022-05-10 16:06:10 +03:00
Stefan Kangas
93a74773b6 Merge from origin/emacs-28
7b4bdf7b9b Remove the AUCTeX subsection from MS-Windows FAQ
d2a5631552 Update AUCTeX FAQ entry
177718bc6d Update string-to-number documentation to bignum Emacs
74cc3b525f Fix doc string references to tags-loop-continue
2022-05-10 06:30:34 +02:00
Sean Whitton
054062060e Factor out *scratch* initialization
* lisp/simple.el (get-scratch-buffer-create): New function, factored
out of scratch-buffer, and additionally clearing the modification flag
and calling substitute-command-keys (bug#55257).
(scratch-buffer):
* lisp/server.el (server-execute):
* lisp/startup.el (normal-no-mouse-startup-screen, command-line-1):
* lisp/window.el (last-buffer, window-normalize-buffer-to-switch-to):
* src/buffer.c (Fother_buffer, other_buffer_safely): Use it.
(syms_of_buffer): Add Qget_scratch_buffer_create.
* lisp/startup.el (startup--get-buffer-create-scratch): Delete
now-unused function.
* doc/lispref/os.texi (Summary: Sequence of Actions at Startup):
* NEWS (Incompatible changes in Emacs 29.1): Document the change.
2022-05-09 18:49:13 -07:00
Lars Ingebrigtsen
54ab2b3674 Add NEWS entries for recent autosaved buffer modification status
* doc/lispref/buffers.texi (Buffer Modification): Note 'autosaved'
value.
2022-05-10 03:46:43 +02:00
Lars Ingebrigtsen
0bee4cda88 Reimplement recent with-silent-modifications auto-save changes
* doc/lispref/buffers.texi (Buffer Modification): Document
buffer-modified-p returning `autosaved'.
* lisp/subr.el (with-silent-modifications): Use
restore-buffer-modified-p instead of altering the buffer modiff
(since this has other side effects like not updating after async
`display' changes.

* src/buffer.c (Fbuffer_modified_p): Allow returning whether the
buffer has been autosaved after changes.
(Frestore_buffer_modified_p): Allow adjusting whether the buffer
has been autosaved after changes.

* src/fileio.c (Fdo_auto_save): Refill the doc string.
2022-05-10 03:46:43 +02:00
Eli Zaretskii
04b1f779f2 ; Fix recent changes in regexp documentation
* doc/lispref/searching.texi (Regexp Backslash):
* doc/emacs/search.texi (Regexps): Fix typo and wording.
2022-05-09 16:02:58 +03:00
Lars Ingebrigtsen
60a15fae02 Copy edits for the regexp sections in the manuals
* doc/lispref/searching.texi (Regexp Backslash):
* doc/emacs/search.texi (Regexps, Regexp Backslash): Copy edits
from Jay Bingham (bug#41970).
2022-05-09 13:40:03 +02:00
Lars Ingebrigtsen
177718bc6d Update string-to-number documentation to bignum Emacs
* doc/lispref/strings.texi (String Conversion): string-to-number
no longer converts integers to floating point numbers (bug#55334).
2022-05-09 11:57:46 +02:00
Po Lu
fd8eaa72a6 Allow precision-scrolling nonselected windows when the minibuffer is resized
* doc/lispref/windows.texi (Vertical Scrolling): Document new
`preserve-vscroll-p' parameter of `set-window-vscroll'.
* etc/NEWS: Announce new parameter.

* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down-page)
(pixel-scroll-precision-scroll-up-page): Use that parameter when
setting the vscroll.

* src/window.c (window_scroll_pixel_based, Fset_window_vscroll):
Adjust for new parameter.
* src/window.h (struct window): New flag `preserve_vscroll_p'.

* src/xdisp.c (redisplay_window): Preserve the vscroll inside
force_start on frozen windows with that flag set.  (bug#55312)
2022-05-09 09:37:58 +08:00
Lars Ingebrigtsen
fc0bd6057c Make 'delete-process' into a command
* doc/lispref/processes.texi (Deleting Processes): Document
missing PROCESS value.
* src/process.c (Fdelete_process): Allow calling interactively
(bug#10107).
2022-05-07 18:21:29 +02:00
Lars Ingebrigtsen
ea58276462 Allow inhibiting linkification in *Help* buffers
* doc/lispref/help.texi (Keys in Documentation): Document it.
lisp/help-mode.el (help-make-xrefs): Implement a new \+ syntax to
inhibit buttonification.
2022-05-07 12:46:55 +02:00
Stefan Kangas
d14d86696e Merge from origin/emacs-28
afdf72eeb2 Fix bug#55274
5bfac7c774 Provide reference for OTF tags in the ELisp manual
2022-05-07 06:30:32 +02:00
Eli Zaretskii
92bbe911e9 ; Improve documentation of 'buffer-local-set-state'
* lisp/emacs-lisp/easy-mmode.el (buffer-local-set-state)
(buffer-local-restore-state): Doc fixes.

* doc/lispref/modes.texi (Defining Minor Modes): Fix a typo and
improve wording and indexing.
2022-05-06 15:15:27 +03:00
Lars Ingebrigtsen
b13356487f Add new helper macros for minor modes to restore variables
* doc/lispref/modes.texi (Defining Minor Modes): Document it.

* lisp/emacs-lisp/easy-mmode.el (buffer-local-set-state): New macro.
(buffer-local-set-state--get): Helper function.
(buffer-local-restore-state): New function.

* lisp/textmodes/word-wrap-mode.el (word-wrap-whitespace-mode):
Use it to simplify code.
2022-05-06 13:10:45 +02:00
Eli Zaretskii
5bfac7c774 Provide reference for OTF tags in the ELisp manual
* doc/lispref/display.texi (Low-Level Font): Provide the canonical
reference URL for OTF tags.
2022-05-06 10:27:20 +03:00
Paul Eggert
8fce81897d timestamp doc minor improvements
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Calculations): Fix some confusion about decoded times,
timestamps, and time values.  Exclude floating-point infinities
and NaNs from timestamps, as the code doesn’t always follow
IEEE-754 rules for them and whatever the code does, doesn’t matter
for timestamps anyway.
2022-05-05 09:03:28 -07:00
Lars Ingebrigtsen
7c8bec9e1f Don't enter the debugger from *Backtrace* or edebug on eval errors
* doc/lispref/debugging.texi (Error Debugging): Document it.

* doc/lispref/edebug.texi (Edebug Eval): Mention it.
* lisp/emacs-lisp/debug.el (debug-allow-recursive-debug): New user
option (bug#36145).
(debugger-eval-expression): Use it.

* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Ditto.

This patch is based on a patch by Noam Postavsky.
2022-05-01 13:40:13 +02:00
Lars Ingebrigtsen
81ce4b0e4e Correct Using Debugger lispref node
* doc/lispref/debugging.texi (Using Debugger): Make documentation
reflect reality (bug#36145).
2022-05-01 13:07:14 +02:00
Eli Zaretskii
c1fa5bd8ee ; * doc/lispref/strings.texi (Creating Strings): Fix a typo. 2022-04-30 14:54:35 +03:00
Lars Ingebrigtsen
aab5d7b3f3 Add a KEEP-NEWLINES argument to string-lines
* doc/lispref/strings.texi (Creating Strings): Document it.

* lisp/subr.el (string-lines): Add a KEEP-NEWLINES argument.
2022-04-30 12:57:20 +02:00
Titus von der Malsburg
91418d27e9 Add new functions for computing character metrics for windows
* doc/lispref/display.texi (Size of Displayed Text): Document the
char functions.
* doc/lispref/windows.texi (Window Sizes): Document
window-max-characters-per-line.

* lisp/window.el (window-char-pixel-width)
(window-char-pixel-height)
(window-max-characters-per-line): New functions (bug#19395).
2022-04-29 15:14:09 +02:00
Eli Zaretskii
5c606a46bf ; Fix typo in documentation of 'current-time-list'
* src/timefns.c (syms_of_timefns) <current-time-list>:
* etc/NEWS:
* doc/lispref/os.texi (Time of Day): Fix a typo.
2022-04-29 10:12:02 +03:00
Paul Eggert
083d2708f9 Change current-time back to list form
Change current-time and related functions back to using the
traditional list form.  Also, add a new boolean variable
current-time-list that lets people try out (TICKS . HZ) form,
with the goal of smoothing the transition.
* src/timefns.c (CURRENT_TIME_LIST): Change default back to true.
(current-time-list): New boolean Lisp variable, which defaults to
CURRENT_TIME_LIST.  All uses of CURRENT_TIME_LIST changed to
use current_time_list, and all documentation changed.
2022-04-28 12:54:06 -07:00
Eli Zaretskii
b3023de543 Merge from origin/emacs-28
# Conflicts:
#	lisp/progmodes/xref.el
2022-04-28 18:37:34 +03:00
Eli Zaretskii
3b6338c8c3 Improve documentation of font- and face-related attribute functions
* lisp/faces.el (face-attribute):
* src/xfaces.c (Fx_family_fonts):
* src/font.c (Ffont_get, Ffont_put): Improve and clarify the doc
strings.

* doc/lispref/display.texi (Low-Level Font): Document the :type
attribute of a font.  Improve documentation of 'font-get' and
'font-put'.
(Attribute Functions): Add cross-reference to the description of
face attributes.
2022-04-28 17:53:36 +03:00
Lars Ingebrigtsen
5d032f2904 Allow inserting and selecting binary blobs from sqlite
* doc/lispref/text.texi (Database): Document how to insert binary
data.
* src/sqlite.c (bind_values): Bind BLOB columns correctly (bug#54591).
2022-04-28 14:58:53 +02:00
Lars Ingebrigtsen
6db90a412a Document the non-effect of narrowing on get-text-property
* doc/lispref/text.texi (Examining Properties): Document
surprising non-effect of narrowing (bug#16413).

* src/textprop.c (Ftext_properties_at, Fget_text_property):
Mention narrowing.
2022-04-28 13:04:28 +02:00
Stefan Monnier
1110d7326f Add new function current-cpu-time
* doc/lispref/os.texi (Time of Day): Document it.
* src/timefns.c (Fcurrent_cpu_time): New function (bug#44674).
2022-04-27 19:20:41 +02:00
Arash Esbati
3723415743 ; * doc/lispref/syntax.texi (Position Parse): Fix a typo. (Bug#55143) 2022-04-27 14:43:20 +03:00
Stefan Monnier
bffc4cb39d New generic function oclosure-interactive-form
It's used by `interactive-form` when it encounters an OClosure.
This lets one compute the `interactive-form` of OClosures
dynamically by adding appropriate methods.
This does not include support for `command-modes` for Oclosures.

* lisp/simple.el (oclosure-interactive-form): New generic function.

* src/data.c (Finteractive_form): Delegate to
`oclosure-interactive-form` if the arg is an OClosure.
(syms_of_data): New symbol `Qoclosure_interactive_form`.
* src/eval.c (Fcommandp): Delegate to `interactive-form` if the arg is
an OClosure.

* src/lisp.h (VALID_DOCSTRING_P): New function, extracted from
`store_function_docstring`.
* src/doc.c (store_function_docstring): Use it.

* lisp/kmacro.el (kmacro): Don't carry any interactive form.
(oclosure-interactive-form) <kmacro>: New method, instead.

* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-interactive-form)
<oclosure-test>: New method.
(oclosure-test-interactive-form): New test.

* doc/lispref/commands.texi (Using Interactive):
Document `oclosure-interactive-form`.
2022-04-26 10:36:52 -04:00
Lars Ingebrigtsen
e98b7d6ba2 Improve documentation for t value for reusable-frames
* doc/lispref/windows.texi (Buffer Display Action Alists): Note
that the t value is rarely a good one (bug#55103).
2022-04-26 12:11:49 +02:00
Paul Eggert
4a1f69ebca Use (TICKS . HZ) for current-time etc.
* src/timefns.c (CURRENT_TIME_LIST): Change default to false.
All documentation changed.
2022-04-25 12:40:20 -07:00