Fix retrieving images that contain ) characters in shr
* lisp/net/shr.el (shr-save-contents, shr-get-image-data): Don't call.
(shr-encode-url): Make obsolete. (This function makes no sense.)
(shr-tag-img): Don't call.
* lisp/url/url-http.el (url-http-parse-headers): Output the
headers we receive in the debug output.
* lisp/url/url-vars.el (url-extensions-header): Remove useless header.
Po Lu [Thu, 12 May 2022 04:11:12 +0000 (04:11 +0000)]
Make cursor display on Haiku consistent with X
* src/haikuterm.c (haiku_draw_image_glyph_string): Merge cursor
foregrounds correctly.
(haiku_draw_hollow_cursor, haiku_draw_bar_cursor): New
functions. Port code from X.
(haiku_draw_window_cursor): Port code from X so bar cursors on
top of images are treated right.
* lisp/emacs-lisp/package.el (package-update-all): New function
(bug#19146).
(package--updateable-packages): Factored out...
(package-update): ... from here.
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.
Fix non-variable widgets in the 'H' command in Cus-mode
* lisp/cus-edit.el (custom-mode-map):
(custom-commands): Adjust.
(custom-toggle-hide-all-widgets): Rename and work for all widget
types, not just variables.
* lisp/apropos.el (apropos-user-option): Include buttons in the
output always (bug#55376).
(apropos-print-doc): Don't insert three spaces in the
non-apropos-multi-type case.
Tino Calancha [Wed, 11 May 2022 16:01:11 +0000 (18:01 +0200)]
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.
* doc/emacs/maintaining.texi (VC Directory Commands): Document it.
* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind it to `%'.
(vc-dir-mark-by-regexp): New command (bug#16460).
* 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.
* lisp/emacs-lisp/check-declare.el (check-declare-directory): Don't
bug out if we don't find any files with declare-function:(bug#55354)
because this is a predicate function, and that's inconvenient.
Warn about quoted symbols in defcustom choice/other forms
* lisp/emacs-lisp/bytecomp.el
(byte-compile--suspicious-defcustom-choice): New function (bug#16271).
(byte-compile-nogroup-warn): Use it to warn about forms like
(choice (const :tag "foo" 'bar)).
Po Lu [Wed, 11 May 2022 08:01:32 +0000 (16:01 +0800)]
Fix mouse pointer avoidance in some configurations
* lisp/avoid.el (mouse-avoidance-random-shape): Ignore invisible
pointer.
(mouse-avoidance-ignore-p): Adjust for interprogram DND.
* lisp/term/x-win.el (x-pointer-invisible): Make value larger
than the maximum possible glyph.
* src/xfns.c (x_set_mouse_color): Use function that handles
`x-pointer-invisible' too.
* src/xterm.c (x_create_font_cursor): New function. Handle
invisible cursors.
* src/xterm.h: Update prototypes.
Juri Linkov [Wed, 11 May 2022 07:50:12 +0000 (10:50 +0300)]
* lisp/textmodes/string-edit.el: Improvements for pop-to-buffer (bug#33007)
* lisp/textmodes/string-edit.el (string-edit): Use pop-to-buffer
with fit-window-to-buffer after the buffer is filled with text.
(string-edit-done, string-edit-abort): Use (quit-window 'kill).
Po Lu [Wed, 11 May 2022 02:02:21 +0000 (02:02 +0000)]
Try to preserve font styles in the Haiku font dialog
* haiku_support.cc (class EmacsFontSelectionDialog)
(UpdateStylesForIndex): If a style was previously selected and
exists in the new family as well, select it after adding the new
items.
Alexander Adolf [Mon, 2 May 2022 21:01:11 +0000 (23:01 +0200)]
EUDC: Add completion-at-point support
* lisp/net/eudc-capf.el: New file.
* lisp/gnus/message.el (message-mode): Add `eudc-capf-complete' to
`completion-at-point-functions' when a `message-mode' buffer is
created.
* doc/misc/eudc.texi (Inline Query Expansion): Add a new subsection,
describing the new `completion-at-point' mechanism in `message-mode'.
* etc/NEWS (EUDC): Describe the new `completion-at-point' method.
* lisp/language/indian.el ("Siddham"): New language environment.
Add composition rules for Siddham. Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Siddham.
* lisp/leim/quail/indian.el ("siddham"): New input method.
* etc/HELLO: Add a Siddham greeting.
* etc/NEWS: Announce the new language environment and its
input method. (Bug#55350)
Use fields on log-edit headers (which changes `C-a' behaviour)
* lisp/vc/log-edit.el (log-edit-insert-message-template): Fieldify
headers so that `C-a' takes us to the start of the string, not the
line (bug#15645).
Make ispell-region/buffer push the mark of the final word
* lisp/textmodes/ispell.el (ispell-region): Push the mark of the
final location.
(ispell-process-line): Change the return value to include the
position of the final word.
Allow packages to alter menu entries in the Buffers menu
* lisp/menu-bar.el (menu-bar-update-buffers): Use it.
(menu-bar-buffers-menu-command-entries): Put the entries into the
defvar so that packages can modify it (bug#14244).
Po Lu [Tue, 10 May 2022 09:00:39 +0000 (09:00 +0000)]
Improve relief rect handling on Haiku
* 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.
Po Lu [Tue, 10 May 2022 04:11:32 +0000 (04:11 +0000)]
Simplify Haiku selection code
* src/haiku_select.cc (get_clipboard_object): New function.
(BClipboard_find_data, BClipboard_get_targets, BClipboard_set_data)
(BClipboard_find_system_data)
(BClipboard_find_primary_selection_data)
(BClipboard_find_secondary_selection_data)
(BClipboard_set_system_data, BClipboard_set_primary_selection_data)
(BClipboard_set_secondary_selection_data, BClipboard_free_data)
(BClipboard_system_targets, BClipboard_primary_targets)
(BClipboard_secondary_targets): Delete functions.
(be_find_clipboard_data_1, be_set_clipboard_data_1)
(be_get_clipboard_targets_1, be_find_clipboard_data)
(be_set_clipboard_data, be_get_clipboard_targets): New
functions.
(be_lock_clipboard_message, be_unlock_clipboard): Use
`get_clipboard_object' to get clipboard from ID.
* src/haikuselect.c (haiku_get_clipboard_name): New function.
(Fhaiku_selection_data, Fhaiku_selection_put)
(Fhaiku_selection_owner_p): Adjust to use new simplified
functions.