Subject: 24.0.50; M-w C-y gives an error under OS X

From: Joel Holveck <[email-masked]>
Date: Thu, 5 Aug 2010 03:45:29 -0700

When using OS X, if I press M-w then C-y, then an error is raised:
    Quit: "pasteboard doesn't contain valid data"
(Cause and workaround follows recipe.)

The recipe is what's in the "Recent input" section below, but here it is
for convenience.  From emacs -Q, type foo.  Select it using C-a C-SPC
C-n.  Kill it using C-w.  Yank using C-y.  At this point, instead of
yanking, Emacs raises the error:
    Quit: "pasteboard doesn't contain valid data"

From what I can tell, Emacs calls deactivate-mark during the C-w
process.  When the mark is deactivated (as part of deactivate-mark), if
select-active-regions is set, then Emacs calls x-own-selection-internal
(the one defined in nsselect.m).  At some point, it seems that
x-own-selection-internal clears the pasteboard instead of pasting it,
even though it's being called with reasonable arguments.

Note that running (x-own-selection-internal 'PRIMARY "foo") also
(according to Pasteboard Inspector) clears out the pasteboard, instead
of setting it to hold "foo".  The other mechanism used to access the
pasteboard, ns-store-cut-buffer-internal, seems to work fine.  (That's
what C-k, for example, uses.  C-w and family also will call
ns-store-cut-buffer-internal, but then call x-own-selection-internal
(when the mark is deactivated).

My workaround was to add to .emacs.el:
  (when (eq window-system 'ns)
    (setq select-active-regions nil))

And yes, I know I'm running a development version of Emacs.  Is it
reasonable to use report-emacs-bug for this?

In GNU Emacs 24.0.50.1 (x86_64-apple-darwin10.4.0, NS apple-appkit-1038.32)
of 2010-08-04 on frigg.piquan.org
Windowing system distributor `Apple', version 10.3.1038
configured using `configure  '--with-ns''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
f o o C-a C-SPC C-n C-w C-y ESC x r e p o r t - e m 
a c s - b u g <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
byte-code: End of buffer
Mark set
Quit: "pasteboard doesn't contain valid data"

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader emacsbug
tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process ns multi-tty emacs)