From: Eli Zaretskii <eliz@gnu.org>
To: Po Lu <luangruo@yahoo.com>
Cc: mwd@md5i.com, 56561@debbugs.gnu.org
Subject: bug#56561: 29.0.50; Infloop in try_window
Date: Sun, 17 Jul 2022 16:29:02 +0300 [thread overview]
Message-ID: <83y1wrq34x.fsf@gnu.org> (raw)
In-Reply-To: <87r12kfam3.fsf@yahoo.com> (message from Po Lu on Sun, 17 Jul 2022 15:43:00 +0800)
> From: Po Lu <luangruo@yahoo.com>
> Cc: mwd@md5i.com, 56561@debbugs.gnu.org
> Date: Sun, 17 Jul 2022 15:43:00 +0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > More than 40 screen lines of canonical characters? Please show a
> > recipe for reproducing this.
>
> Place the following text in a buffer
>
> <a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAIAAAC2BqGFAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw1AUhU9TpSIVETuIOGSo4mChqIijVqEIFUKt0KqDyUt/hCYNSYqLo+BacPBnserg4qyrg6sgCP6AODo5KbpIifclhRYxPri8j/PeOdx3HyDUy0yzOuKApttmOpkQs7kVMfSKEPqoRhGXmWXMSlIKvuvrHgG+38V4lv+9P1ePmrcYEBCJZ5hh2sTrxFObtsF5nzjCSrJKfE48ZlKDxI9cVzx+41x0WeCZETOTniOOEIvFNlbamJVMjXiSOKpqOuULWY9VzluctXKVNfvkLwzn9eUlrlMNIYkFLEKCCAVVbKAMGzHadVIspOk84eMfdP0SuRRybYCRYx4VaJBdP/gf/J6tVZgY95LCCaDzxXE+hoHQLtCoOc73seM0ToDgM3Clt/yVOjD9SXqtpUWPgN5t4OK6pSl7wOUOMPBkyKbsSkEqoVAA3s/om3JA/y3QverNrXmO0wcgQ7NK3QAHh8BIkbLXfN7d1T63f+805/cDmFJytmmECVUAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfmBxEHKRAK8iffAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAC6ZJREFUeNrtnW1z2kYQgHfvRQhhAsR1XsBpM9OmH/r/f0tnmqSZNDbYietgCkhIurvthwMhCMYkFnCyuQ+
ZjA0YPZxXe8/trZGI4DC2P9gBwQH0AfRhHEAfQB9AH8ZOhsj+Z5JEjcfJzY0KQwAQQeA1m6JWY553wLR+bIIObR5tkiTsdpPBgNI0/xKy0Th6/frAej3l0ceP6WCQ/yJK6TUaQaeToRNLlI1SlCREBEQAoEYjE8dPfv+dVSoHpispD9+9i6+vlygzgGQwAICMtQAANR7nKZskIa2BgMgAQHh2xiqV+m+/ITsE9MVBFJ6djf/5Z8oXGSBYrAbAsvaaTS8DndzcLFE2SQLGEBEYAwDj9+9FvV599gw5P+CdQjYm/vff4V9/mSgCAGAMEYGxLMGYsr658Vqt2YwOQwCYsp5Rns5rY4xSajSKzs9JqeqLF0zKA2XSOvryJf7yJe33LWVARMaY55kkmSdzQli2C1kHAJBSpFRG2RIHY0gpHUWTy0vSuvryJX/c8Zq0jj5/jq+udBiaOAZESxk8zyQJ8zxSyiByIZbzaBEE+VfJz2sbTFAIHUU6iuKrq7Db1ZPJgbIOQx1FgGiShNKUjKEkIWMsvXn6PGPLAMBrNhdebDav7TMpTVF6dlLrKEqur8Pz88fJ2qRp2OtF3W46GKT//aejCLmYUrb/KgVK5Z+SsRUAIGo12WhoG9RnkZ6UmlGWzJMmjhmAfUwCAADB6Sn3/cdDWcdxdHERX13ZCUdKmThmnkTOKU1BSlAKECEXMWSjIWq1OWjmeUevX1Oaht1u7uMzpDVKKVst9DwbuB8taz2ZhL1ecn2dpwzGoOfJVivt96cTOZcpVI6P82u9KX7mefU3b0StN
nz71uYrzPd5rYaeh0KAMcAYGGPiGGcBKAEgrYNXr/Ih/sFSPj9P+v05ZZsmMDZlfXxMSUJa280qXq0evXmTXxbOl+DZSAaDsNvV47F9URNFZIxNzmfPQBSCVSq8WuXVqnzypNrpyKOjR0cZccoaABlj1aoFwmu1oN1evu0tpXcA4DUayFjU681DSByD1vPPgwi0NnG88LR2W9brj4sy0WrKnY7XaKyzd/MQXq9Dp7Nwt41jmNkPACAiUMrYmW4foPVtP+DBUkZEROA8++UW9XrQ6dw24cTKr8qjI3z1Kjw7m6MEIKXsD7C/MmSMySUqYbcLRN/+yhworwNtM+3aL7+E5+dJlvNxbpIEtLY3gTlrmwsqNVaKtK48fQqID4wypWoNZfnkSfWu4CnWfI/7fnB6miVzOoqYDSOzGy4wRkqZ3FPC83PSuvLTT+VVfSspk9HrKG+QDoj1317PmpRCIZZYRxcXRuuSqj4VhuHZmV316ShaTgRWUd4wwRV3PmLKmrHk+jrPmoyxlFEI0lpHERlj0tSkqUmSMqq+dDSKut0VlO2dCQAZRylQCEvZa7U2X7KJTR7EfT/odJCx+OrqW9bzeJ1bppdO9aXDYdTr3UqZCLn4YcqbggYAXqkEnQ5yPrm8XIghRPMYssg6vroiY4J22/1lejocht2uGg5vowyM3Yfyd4AGACZl0G6jEPGXL0xKHUXImInjLFLb2b2gn66vwRjHlcgmlJnn3Yfy94EGAOS8+vw54zy6uFhKsZeUSFn00zrlUBzl7wZtV5z+yQlynld9BoB
yOV9ZVF9ycxP2eiso26sojvKPgLZZTuX4GDkPez0UQgsBjE3fZZ6126ov6ffDi4tbKRsDnBdF+UdBW/3UbALiwrzOWNvEk2h5OXN25ojqS/r9sNez21GW8uwa5nNlgfLx8T3v6uI+b7eUqo8o/vo1PD+3lE0cL7y9jHKlklGunJzcP08V93zb5VJ9thgjurjIUyZrb4iQMfqGsv/iRSErL3H/d18W1ZcVY6ygrDVwTsYgY6xSma6wg6ByclJ9/rwQlyAKuQb3Vd9SmcC3lMEY5HxLlAsD7bjqW03ZvrHbKD97VqwXEwVej5uqz6RpdHk5ubxc2MAGmEbkVZSrL18W/vGLYq/KNdW3shgjC2VTlIuUg9PTbQQ0Ufi1uaP6bivGmK+qbEaXba0GQdBu2+LPwofYxou6oPrWF2OsoFyrBS9fbonytkDvXfVtQnmTYowSgN6j6iuwGKMcoPei+govEygH6B2rPmcp7wT0rlTfNooxygd626pvS8UYpQS9PdW3vWKMsoLehurbajFGiUEXq/q2XYxRbtBFqb4dFGOUHvT9Vd9uijEeAuj7qD4RBNHnzzsoxihyObH3dmwrTebUYeZ8ZraPR0qR1jwI7Gew1WKMBwUabnPzRICYqT7L2kwmejQCIvR9UauR1lstxnhooOG2nVOlsngNxugw1KMRzY6mopTy+Djvp5Y2sO9fjPFAYvR3qD6tdRimV1cmTe0CEhCxUgEieXyMUm6pGOMBgl6n+pRSo5G6vjZpSpMJaW2jCgPQxgCAZb2NYoyHCXql6iOA9OtX1
e9PKStFSQIEKLiJIgagh0MwpnJ6mm1HFVsmUNRw8UiP12wGnQ6v1ZjnmSgykwmlKcXxjDIBAqUpaD39ltZqMAAAZymDs33vvEYjaLcpTafSw2qQJSWiNWgNRGQMaa2GQx4EblJ2F7RJ03Q4JGOspwYiIiLbtMhuR1nimc4G4L6v4zgdjdy8IhdB6zgOu93J5SUg8nqdVSqAiFKilMAYMAaAwBgKgVKClAjA63Xm+yaKwm43ublx8KKEc5QXizFQCNFs2raHU+9hjM35mO+jlOj74ulTJqUOQ9La2QO8wjnK32z6Iefy5GS6rkGkNMVKBRFRSlatimaTHx25f4BXOE7Z3vcQQJ6cAKIJQ/B9AkAhkDHRbPJ6vRQHeF1Zgt+5gW2X6Xo8JrupiChaLZwVNU8XkHYh4+TKxQnQm5cJIOd6PDZJIup1q5zWqz531uIOaNLvLMbgvo9CqNHoTtXnlF0SrlHepBhDBIFVfSU6wCtco7xhMUbpDvDuDfQ9izFKd4B3P6CLKcYo1QHePYAuthijLAd4xe4pF16MUYoDvMI1yj+2ter+Ad7dgd52ZwzHD/DuCPRuOmO4fIB3F6B32RnD2QO8YheUd9sZw80DvNsEvafOGOBkr75tgd5jZ4w5a5d69W0F9H47Y8xZu9SrT2yF8l47Y+SHO736xC4o77YzxrJxd6NXX5GgHemMsYK1A6qvMNDudMa4BfaeVV8xoJ3qjLFOP+1P9YliKLvUGeMO1ntSfWIHlHfcGcNN1Se2QnmvnTHcVH1iW5T32rPBQdUnHifl3as
+UQhlpzpjuKn6RCGUneqM4abq+z7QpeiM4abq+w7QZemM4abq2xR0iTpjuKn6xIaUS9QZw03VJwqh7OY5d6dU3x2gd/ZnShyDXbzqWwd6l3+mxMFRrOq7FfR/794N//zTnhC2GyW8XheNhvudMdxUfatBjz5+HH/4ALlTF8i5HgzAGNFqbaMYw9lRlOpbATrsdsNPnxaTTI5EZIweDgFAtFoud8ZwU/WtAJ3/TQEAEAIBiIgBGAA9HHovXrjcGWNfqi/t9/WnT3avjvn++N27+h9/PHnzZrP0TggkAmNASgJgACSl450x9qKfVL+vh0MQOZ5E4w8fmJRHr1/fARqFYADT6JOmIKXl/ggpr2c9pcwYcg6L+jT89IlJGXQ6t4JmQhgiMoZ5nkkSAECb2Nn+I1suxiiX6ptSlhIZQyEW5jVA1OvdChqFgFmLCZMkzPPIBhAAANhNMUaJVJ/tb4GMoech58j5EuvVoaPabke9noXKshRmls3Ufv3VPzkp+59YL1b1oRAohA0dKCVyzuxX1oMOOh074S1rnssogp9/tqH9MPKqj9uloN2M5px5nu3bwnKsV4eOjDXkKFfb7WAxdX/kI1N94/fvZ/gZItrVHJMSpczmtSttJEo8iAZv347//nvmoxAQM8pMSjtBD6CLGaOPH5eW03nKhxld5Ai73aVFdT7YHkDv6uZ5QLCb8T+jZg5A8TH4MwAAAABJRU5ErkJggg==">View image</a>
>
> and type "M-x shr-render-buffer RET". The tooltip on top of "View
> image" will be larger than the size limit.
Thanks. The patch below is what I had in mind. WDYT?
diff --git a/src/w32fns.c b/src/w32fns.c
index 51540e1..5e42a1d 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -7568,7 +7568,23 @@ DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0,
clear_glyph_matrix (w->desired_matrix);
clear_glyph_matrix (w->current_matrix);
SET_TEXT_POS (pos, BEGV, BEGV_BYTE);
- try_window (window, pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
+ bool displayed = try_window (window, pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
+ if (!displayed && NILP (Vx_max_tooltip_size))
+ {
+#ifdef ENABLE_CHECKING
+ struct glyph_row *row = w->desired_matrix->rows;
+ struct glyph_row *end =
+ w->desired_matrix->rows + w->desired_matrix->nrows;
+ while (row < end)
+ {
+ if (!row->displays_text_p
+ || row->ends_at_zv_p)
+ break;
+ ++row;
+ }
+ eassert (row < end && row->ends_at_zv_p);
+#endif
+ }
/* Calculate size of tooltip window. */
size = Fwindow_text_pixel_size (window, Qnil, Qnil, Qnil,
make_fixnum (w->pixel_height), Qnil,
@@ -10770,7 +10786,7 @@ syms_of_w32fns (void)
DEFVAR_LISP ("x-max-tooltip-size", Vx_max_tooltip_size,
doc: /* SKIP: real doc in xfns.c. */);
- Vx_max_tooltip_size = Fcons (make_fixnum (80), make_fixnum (40));
+ Vx_max_tooltip_size = Qnil;
DEFVAR_LISP ("x-no-window-manager", Vx_no_window_manager,
doc: /* SKIP: real doc in xfns.c. */);
next prev parent reply other threads:[~2022-07-17 13:29 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-14 18:57 bug#56561: 29.0.50; Infloop in try_window Michael Welsh Duggan
2022-07-14 19:28 ` Eli Zaretskii
2022-07-14 22:44 ` Michael Welsh Duggan
2022-07-15 6:14 ` Eli Zaretskii
2022-07-15 10:52 ` Eli Zaretskii
2022-07-15 13:54 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-15 14:24 ` Eli Zaretskii
2022-07-15 15:27 ` Eli Zaretskii
2022-07-15 15:37 ` Eli Zaretskii
2022-07-15 15:56 ` Eli Zaretskii
2022-07-16 3:15 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 5:50 ` Eli Zaretskii
2022-07-16 5:55 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 6:33 ` Eli Zaretskii
2022-07-16 6:42 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 7:32 ` Eli Zaretskii
2022-07-16 8:22 ` Eli Zaretskii
2022-07-16 8:47 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 8:59 ` Eli Zaretskii
2022-07-16 10:34 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 10:57 ` Eli Zaretskii
2022-07-16 11:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 11:45 ` Eli Zaretskii
2022-07-16 12:34 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 12:38 ` Eli Zaretskii
2022-07-17 0:45 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-17 5:43 ` Eli Zaretskii
2022-07-17 6:29 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-17 6:40 ` Eli Zaretskii
2022-07-17 7:43 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-17 13:29 ` Eli Zaretskii [this message]
2022-07-18 0:57 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-18 12:37 ` Eli Zaretskii
2022-07-19 0:54 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-21 7:14 ` Eli Zaretskii
2022-07-21 8:17 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 3:14 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 3:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 3:07 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-15 14:03 ` Michael Welsh Duggan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83y1wrq34x.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=56561@debbugs.gnu.org \
--cc=luangruo@yahoo.com \
--cc=mwd@md5i.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).