From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 16 03:12:18 2013 Received: (at submit) by debbugs.gnu.org; 16 Oct 2013 07:12:18 +0000 Received: from localhost ([127.0.0.1]:53567 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VWLHE-0000A4-VN for submit@debbugs.gnu.org; Wed, 16 Oct 2013 03:12:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33896) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VWLHB-00009q-4h for submit@debbugs.gnu.org; Wed, 16 Oct 2013 03:12:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWLGx-0001rC-JP for submit@debbugs.gnu.org; Wed, 16 Oct 2013 03:12:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57253) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWLGx-0001r6-Gu for submit@debbugs.gnu.org; Wed, 16 Oct 2013 03:11:59 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35562) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWLGo-0005Ym-W6 for bug-gnu-emacs@gnu.org; Wed, 16 Oct 2013 03:11:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWLGg-0001ok-EQ for bug-gnu-emacs@gnu.org; Wed, 16 Oct 2013 03:11:50 -0400 Received: from mail-ea0-x22e.google.com ([2a00:1450:4013:c01::22e]:55347) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWLGg-0001ob-7K for bug-gnu-emacs@gnu.org; Wed, 16 Oct 2013 03:11:42 -0400 Received: by mail-ea0-f174.google.com with SMTP id z15so140705ead.33 for ; Wed, 16 Oct 2013 00:11:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=1/Yikqi0eEuJZDERneQPAk07D6oOiqkGEudJzJthT2Y=; b=paUUpFn4IGh9J6UZMQBZTyZYGCcFrpdYdJ1LezG8+BEKLNShHBbKVLSJ7HxVmrVQ7M d0lfOk/V/d0IwAWw+htsEBtTd7wo3SvlhGYmN0y0WrpOaJI1phYY6SgrmzAE03JkVBSG 8HNoVGP/hgVDU0SDcZDB2DAiikVJEC9m2SCKxzxEuk6vL6nXi2gd6/0QcFfPiFXgNO79 Du4ghVjBlzqhv36AKFmEFLKbH8HkwLWqtPeQt7iSSmL9c7pC7qK333RpbdCby3MOqi1Z vh8McFSpjCNgeAHkG/auVE0SEUE5hUfuISsx9xDc8wyH+a8SWD3g93FrWNNSnv68zfnM L88Q== X-Received: by 10.15.99.205 with SMTP id bl53mr67988eeb.82.1381907501279; Wed, 16 Oct 2013 00:11:41 -0700 (PDT) Received: from lunaryorn-air.fritz.box (mnch-4d047401.pool.mediaWays.net. [77.4.116.1]) by mx.google.com with ESMTPSA id m54sm175996717eex.2.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 16 Oct 2013 00:11:40 -0700 (PDT) From: Sebastian Wiesner To: bug-gnu-emacs@gnu.org Subject: 24.3.50; ns-get-selection-internal quits on unsupported pasteboard content on OS X Date: Wed, 16 Oct 2013 09:11:38 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) 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) #(kill-ring-save nil nil) ad-Advice-call-interactively(# kill-ring-save nil nil) apply(ad-Advice-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. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 16 12:56:39 2013 Received: (at 15628-done) by debbugs.gnu.org; 16 Oct 2013 16:56:39 +0000 Received: from localhost ([127.0.0.1]:54501 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VWUOi-0007Ui-R2 for submit@debbugs.gnu.org; Wed, 16 Oct 2013 12:56:37 -0400 Received: from mail01.bdtv.se ([176.10.222.34]:43243) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1VWUOf-0007UV-Fi for 15628-done@debbugs.gnu.org; Wed, 16 Oct 2013 12:56:34 -0400 Received: (qmail 9057 invoked by uid 89); 16 Oct 2013 16:56:31 -0000 Received: from h-46-59-42-57.na.cust.bahnhof.se (HELO coolsville.localdomain) (boel.djarv@bdtv.se@46.59.42.57) by mail01.bdtv.se with ESMTPA; 16 Oct 2013 16:56:31 -0000 Received: from [172.20.199.13] (unknown [172.20.199.13]) by coolsville.localdomain (Postfix) with ESMTPSA id 633BC1A01EB; Wed, 16 Oct 2013 16:56:31 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: bug#15628: 24.3.50; ns-get-selection-internal quits on unsupported pasteboard content on OS X From: =?iso-8859-1?Q?Jan_Dj=E4rv?= In-Reply-To: Date: Wed, 16 Oct 2013 18:56:30 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Sebastian Wiesner X-Mailer: Apple Mail (2.1510) X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15628-done Cc: 15628-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello. I've removed the FQuit in trunk. Jan D. 16 okt 2013 kl. 09:11 skrev Sebastian Wiesner : >=20 > On OS X 10.8, "ns-get-selection-internal" calls quit on unsupported > pasteboard content, such as images. >=20 > 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". >=20 > 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. >=20 > 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": >=20 > 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) > #(kill-ring-save nil nil) > ad-Advice-call-interactively(# = kill-ring-save nil nil) > apply(ad-Advice-call-interactively # = (kill-ring-save nil nil)) > call-interactively(kill-ring-save nil nil) > command-execute(kill-ring-save) >=20 > 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. >=20 > 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. >=20 >=20 From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 20 08:03:42 2013 Received: (at 15628-done) by debbugs.gnu.org; 20 Oct 2013 12:03:42 +0000 Received: from localhost ([127.0.0.1]:58782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VXrjR-0007pj-9G for submit@debbugs.gnu.org; Sun, 20 Oct 2013 08:03:41 -0400 Received: from mail-qc0-f180.google.com ([209.85.216.180]:64400) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VXrjO-0007pT-1V for 15628-done@debbugs.gnu.org; Sun, 20 Oct 2013 08:03:39 -0400 Received: by mail-qc0-f180.google.com with SMTP id e9so2880100qcy.39 for <15628-done@debbugs.gnu.org>; Sun, 20 Oct 2013 05:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=N66ccq/WWEpCZ3M9DPbjz3qIcD8sGe0OXhPQTpS2GRk=; b=UIgZHH7Seosa24ZJrzC+Jyxqd4c/vjxMoVvZKtSXIznhR99zYceo8cMKaspING3sLG kDqggR2K9X2efvjtKzVlT8oVKOzbGYfgYBW+FWNN0tLuhDSTlLorkmmDLch2CfoJ06Iw bwhmSOT8Utm2rPxgNwKuzhyOIFDl55pTVwuzSn+z13Qn3o9rgztaTXwQdafKqGffzR+7 NSFkgqbRh2u/CwB2K3tyVDv4cG3EOzySoGlRgOqP/F7FaTaX9qkZULMBI8DFO+ieKNb8 H3hIn0cw6aNZnoSoYCvKvX55kFSY/+Et98TSJr9ITLvbfNCQsAfBoTgwXj5bonnLNXpo g4FA== MIME-Version: 1.0 X-Received: by 10.224.68.71 with SMTP id u7mr16943468qai.52.1382270612198; Sun, 20 Oct 2013 05:03:32 -0700 (PDT) Received: by 10.224.78.11 with HTTP; Sun, 20 Oct 2013 05:03:32 -0700 (PDT) In-Reply-To: References: Date: Sun, 20 Oct 2013 14:03:32 +0200 Message-ID: Subject: Re: bug#15628: 24.3.50; ns-get-selection-internal quits on unsupported pasteboard content on OS X From: Sebastian Wiesner To: =?UTF-8?Q?Jan_Dj=C3=A4rv?= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15628-done Cc: 15628-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 2013/10/16 Jan Dj=C3=A4rv : > Hello. > > I've removed the FQuit in trunk. Great, thank you! > Jan D. > > 16 okt 2013 kl. 09:11 skrev Sebastian Wiesner : > >> >> 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 typ= e") >> 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) >> #(kill-ring-save nil nil) >> ad-Advice-call-interactively(# kill-ring-save = nil nil) >> apply(ad-Advice-call-interactively # (kill-rin= g-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. >> >> > From unknown Tue Jun 24 22:37:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 17 Nov 2013 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator