emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

browse-url-interactive-arg calls `mouse-set-point' too eagerly


From: Po Lu
Subject: browse-url-interactive-arg calls `mouse-set-point' too eagerly
Date: Sat, 20 Nov 2021 14:29:49 +0800

Selecting "Browse URL" from the xwidget-webkit menu bar results in the
following error:

  signal(error ("Position not in text area of window"))
  error("Position not in text area of window")
  posn-set-point(nil)
  mouse-set-point((menu-bar))
  browse-url-interactive-arg("xwidget-webkit URL: ")
  byte-code("\300\301!\210\302\303!\207" [require browse-url 
browse-url-interactive-arg "xwidget-webkit URL: "] 2)
  call-interactively(xwidget-webkit-browse-url nil nil)
  command-execute(xwidget-webkit-browse-url)

The doc string of browse-url-interactive-arg says:

  If invoked with a mouse button, it moves point to the position clicked
  before acting.

But the code treats any event that is a list as a mouse event, which
fails horribly with menu bar events.

So why not replace the faulty code with something like:

  (let ((event (elt (this-command-keys) 0)))
    (when (mouse-event-p event)
      (mouse-set-point event)))

WDYT?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]