* haikuterm.c (haiku_calculate_relief_colors): Calculate
backgrounds for image glyphs like on X.
(haiku_draw_relief_rect): Remove extra parameter.
(haiku_draw_string_box, haiku_draw_image_relief): Adjust
accordingly.
* doc/emacs/building.texi (Compilation Mode): Document it.
* lisp/progmodes/compile.el
(compilation-auto-jump-to-first-error): Extend type.
(compilation--file-known-p): New function.
(compilation-auto-jump): Use it to support the new values
(bug#8228).
(compilation-find-file-1): Factored out into own function.
(compilation-find-file): Factored out from here.
* 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.
* 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.
* lisp/progmodes/python.el (python-indent-region): Compare raw
syntax descriptors with equal (bug#45328) (because comparing them with
eq will always be false).
* src/xfns.c (x_set_alpha): New function. Set
`alpha_identical_p' flag.
(x_frame_parm_handlers): Use it to handle `alpha' instead.
* src/xterm.c (x_set_frame_alpha): Make tests against current
alpha safer.
(handle_one_xevent): Set frame alpha when alpha property
changes.
* src/xterm.h (struct x_output): New flag `alpha_identical_p'.
* lisp/language/indian.el ("Sharada"): New language environment.
Add composition rules for Sharada. Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Sharada.
* lisp/leim/quail/indian.el ("sharada"): New input method.
* etc/HELLO: Add a Sharada greeting.
* etc/NEWS: Announce the new language environment and its
input method. (Bug#55328)
* src/dispnew.c (update_text_area): New parameter `partial_p'.
Set it if not enough glyphs were drawn to determine if a row
doesn't have a stipple.
(update_window_line): Preserve current_row->stipple_p in that
case, after making the desired row current.
* src/xterm.c (x_draw_fringe_bitmap): Set row->stipple.
* lisp/net/browse-url.el (browse-url-default-browser): Use that
by default on Haiku.
(browse-url-default-haiku-browser): New function.
* src/haiku_support.cc (be_roster_launch):
* src/haiku_support.h: New function. Update prototypes.
* src/haikuselect.c (haiku_message_to_lisp): Encode and decode
files correctly.
(haiku_lisp_to_message): Encode and decode files correctly.
(Fhaiku_roster_launch): New function.
(syms_of_haikuselect): Update defsubrs.