From: "Jan Djärv" <jan.h.d@swipnet.se>
To: Sebastian Wiesner <lunaryorn@gmail.com>
Cc: 15628-done@debbugs.gnu.org
Subject: bug#15628: 24.3.50; ns-get-selection-internal quits on unsupported pasteboard content on OS X
Date: Wed, 16 Oct 2013 18:56:30 +0200 [thread overview]
Message-ID: <D28C1802-2A75-49CC-99E9-ADA5C67BD7E0@swipnet.se> (raw)
In-Reply-To: <m2siw1d711.fsf@lunaryorn-air.fritz.box>
Hello.
I've removed the FQuit in trunk.
Jan D.
16 okt 2013 kl. 09:11 skrev Sebastian Wiesner <lunaryorn@gmail.com>:
>
> On OS X 10.8, "ns-get-selection-internal" calls quit on unsupported
> pasteboard content, such as images.
>
> This behaviour breaks all yanking and killing. The quit signal
> interrupts "kill-new" and "current-kill" while these functions try to
> retrieve the pasteboard content via "ns-get-pasteboard" (called by
> "x-selection-value", which is the default "interprogram-paste-function"
> on OS X), which internally calls "ns-get-selection-internal".
>
> Hence, "kill-new" fails to save the given kill to the kill ring, and
> "current-kill" fails to pop the latest kill from the kill ring.
>
> To reproduce, start Emacs, set "save-interprogram-paste-before-kill" to
> t, copy an image (e.g. from an iPhoto Library), and then try to yank or
> kill. For the latter, the following stacktrace is given with
> "debug-on-quit":
>
> Debugger entered--Lisp error: (quit "empty or unsupported pasteboard type")
> ns-get-selection-internal(CLIPBOARD)
> ns-get-pasteboard()
> x-selection-value()
> kill-new(#("elisp-slime-nav" 0 15 (fontified t face font-lock-constant-face)))
> copy-region-as-kill(39166 39181)
> kill-ring-save(39166 39181)
> #<subr call-interactively>(kill-ring-save nil nil)
> ad-Advice-call-interactively(#<subr call-interactively> kill-ring-save nil nil)
> apply(ad-Advice-call-interactively #<subr call-interactively> (kill-ring-save nil nil))
> call-interactively(kill-ring-save nil nil)
> command-execute(kill-ring-save)
>
> This unfortunate interaction makes "save-interprogram-paste-before-kill"
> nearly useless on OS X, because the user always needs to inspect the
> pasteboard manually and remove content unsupported by Emacs before being
> able to reliably kill and yank.
>
> I think "ns-get-selection-interal" should simply ignore unknown
> pasteboard content, or at least respect a user option to ignore unknown
> pasteboard content. This unknown content is of no use to Emacs anyway,
> so there is no point in even trying to put it onto the kill ring.
>
>
next prev parent reply other threads:[~2013-10-16 16:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-16 7:11 bug#15628: 24.3.50; ns-get-selection-internal quits on unsupported pasteboard content on OS X Sebastian Wiesner
2013-10-16 16:56 ` Jan Djärv [this message]
2013-10-20 12:03 ` Sebastian Wiesner
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D28C1802-2A75-49CC-99E9-ADA5C67BD7E0@swipnet.se \
--to=jan.h.d@swipnet.se \
--cc=15628-done@debbugs.gnu.org \
--cc=lunaryorn@gmail.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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.