Subject: bug#13049: 24.2; manual section 21.1 (mouse commands) contradictory/unclear

From: Allan Gottlieb <[email-masked]>
Date: Sat, 01 Dec 2012 14:42:08 -0500

I believe that the documentation in section 21.1 Mouse Commands for
Editing is contradictory, or at least unclear.

In the beginning we read

    `Drag-Mouse-1'
         Activate the region around the text selected by dragging, and
         copy it to the kill ring (`mouse-set-region').

Which does not mention the primary selection and asserts copying to kill
ring.

Later we read

       Holding down `Mouse-1' and "dragging" the mouse over a stretch of
    text activates the region around that text (`mouse-set-region'),
    placing the mark where you started holding down the mouse button,
    and point where you release it (*note Mark::).  In addition, the
    text in the region becomes the primary selection (*note Primary
    Selection::).

       If you change the variable `mouse-drag-copy-region' to a
    non-`nil' value, dragging the mouse over a stretch of text also adds
    the text to the kill ring.  The default is `nil'.

This asserts copying to the primary selection and that copying to the
kill ring is not the default behavior.

Thanks again for emacs, which I have been using happily for ~30 years.
allan gottlieb
new york university

In GNU Emacs 24.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.11)
 of 2012-08-28 on ajglap
Windowing system distributor `The X.Org Foundation', version 11.0.11299905
Configured using:
 `configure '--prefix=/usr' '--build=x86_64-pc-linux-gnu'
 '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man'
 '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
 '--localstatedir=/var/lib' '--libdir=/usr/lib64'
 '--disable-dependency-tracking' '--program-suffix=-emacs-24'
 '--infodir=/usr/share/info/emacs-24'
 '--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64'
 '--with-gameuser=games' '--without-compress-info'
 '--disable-maintainer-mode' '--without-hesiod' '--without-kerberos'
 '--without-kerberos5' '--with-gpm' '--with-dbus' '--without-gnutls'
 '--without-xml2' '--without-selinux' '--without-wide-int'
 '--with-sound' '--with-x' '--without-ns' '--with-gconf'
 '--without-gsettings' '--with-toolkit-scroll-bars' '--with-gif'
 '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm'
 '--without-imagemagick' '--with-xft' '--without-libotf'
 '--without-m17n-flt' '--with-x-toolkit=gtk'
 'GENTOO_PACKAGE=app-editors/emacs-24.2'
 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu'
 'CFLAGS=-march=native -O2 -pipe -ggdb -O2' 'LDFLAGS=-Wl,-O1
 -Wl,--as-needed' 'CPPFLAGS=''

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.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Info

Minor modes in effect:
  shell-dirtrack-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<mouse-1> <return> p r i v a t e SPC s t a t i c SPC 
f i n a l SPC i n t SPC N U M _ P E R _ L I N E SPC 
= SPC 1 0 ; C-S-x C-S-s C-S-a C-S-k C-/ C-S-x O C-S-x 
O C-S-y C-S-x C-S-s M-X C O M P I L E C-a M-l <return> 
<return> <down-mouse-1> <mouse-1> <C-backspace> i n 
i t i a l <down> <down> <down> <down> <left> <C-backspace> 
f i n a l C-x C-s <select-window> M-x c o m p i l e 
<return> <return> <down-mouse-1> <mouse-movement> <mouse-1> 
C-x 2 <select-window> <select-window> <help-echo> <select-window> 
<help-echo> <help-echo> <select-window> <down-mouse-3> 
<mouse-3> <select-window> <help-echo> <select-window> 
<select-window> <help-echo> <help-echo> <help-echo> 
<select-window> <help-echo> <help-echo> <help-echo> 
<help-echo> <select-window> <help-echo> <select-window> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <down-mouse-1> <mouse-1> <down-mouse-3> 
<mouse-3> <down-mouse-3> <mouse-3> <help-echo> <help-echo> 
<help-echo> <select-window> <select-window> <down-mouse-1> 
<mouse-movement> <mouse-movement> <select-window> <mouse-movement> 
<select-window> <mouse-movement> <mouse-movement> <select-window> 
<mouse-movement> <select-window> <mouse-movement> <mouse-movement> 
<select-window> <mouse-movement> <mouse-movement> <select-window> 
<mouse-movement> <mouse-movement> <select-window> <drag-mouse-1> 
<down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> 
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> 
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <down-mouse-1> <mouse-1> <double-down-mouse-1> 
<double-mouse-1> <triple-down-mouse-1> <mouse-movement> 
<mouse-movement> <triple-drag-mouse-1> <select-window> 
<select-window> <down-mouse-1> <mouse-1> <down-mouse-2> 
<mouse-2> <up> <up> <up> <up> <up> <up> <up> C-/ <down> 
<down> <down> <down> <down> C-y M-y M-y C-/ C-/ C-/ 
<select-window> <select-window> <select-window> <select-window> 
C-x 5 2 <switch-frame> C-c C-g C-r C-g C-c r C-g C-g 
C-h r C-s m o u s e <return> <return> <select-window> 
<help-echo> <help-echo> <down-mouse-5> <mouse-5> <down-mouse-5> 
<mouse-5> <down-mouse-4> <mouse-4> <double-down-mouse-4> 
<double-mouse-4> <down-mouse-5> <mouse-5> <down-mouse-5> 
<mouse-5> <down-mouse-5> <mouse-5> <help-echo> <help-echo> 
<down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> 
<down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> 
<mouse-5> <help-echo> C-x 5 2 <help-echo> <help-echo> 
<select-window> <switch-frame> M-x r e p o r t - e 
m <tab> <return>

Recent messages:
Compilation finished
Ispell process killed
Starting new Ispell process [default] ...
byte-code: Beginning of buffer [3 times]
Mark set
Undo!
Mark set
Undo! [3 times]
Quit [3 times]
Mark saved where search started

Load-path shadows:
None found.

Features:
(shadow emacsbug shell pcomplete cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dabbrev skeleton
vc-rcs sgml-mode newcomment find-dired grep compile comint ring gnus-dup
gnus-html browse-url xml url-cache mm-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-util url-parse
auth-source eieio assoc url-vars flow-fill mule-util sort smiley
ansi-color gnus-cite gnus-bcklg gnus-async qp mail-extr parse-time
gnus-ml disp-table gnus-topic byte-opt bytecomp byte-compile cconv
macroexp nndraft nnmh nndoc nnml gnus-agent gnus-srvr gnus-score
score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view
mml-smime smime password-cache dig mailcap nntp gnus-cache gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range message sendmail format-spec rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win sh-script executable misearch
multi-isearch jka-compr flyspell ispell info pp server eldoc
manoj-dark-theme iswitchb gnus gnus-ems nnheader gnus-util time-date
mail-utils mm-util mail-prsvr wid-edit cus-start cus-load ajg-nroff
ajg-sgml ehelp electric dired-x easymenu dired regexp-opt ajg-gnus rolo
ajg-printer ajg-courses ajg-filling ajg-fonts uniquify advice help-fns
advice-preload edmacro kmacro site-gentoo w3m-load tex-site auto-loads
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar
dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow
timer select scroll-bar 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 minibuffer loaddefs button faces
cus-face files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)