unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#9178: 23.1; iimage mode copy and paste file corruption
@ 2011-07-26 16:24 Jason Baietto
  2019-08-20 21:14 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 2+ messages in thread
From: Jason Baietto @ 2011-07-26 16:24 UTC (permalink / raw)
  To: 9178

I am using the iimage mode to display in-lined images in text files.
When images are displayed, an image may be double-clicked to select
it and then pasted at point within the same buffer using the middle
mouse button.  I can do this using emacs on both Linux and Windows.

The image will appear to be inserted at point and will be displayed as
as expected (i.e. as a picture).  However, the the copy and paste was
a lie.  Although the image is displayed at the new location, only the
first selectable "word" of the image path has been selected and
pasted.  The file has now been corrupted, and if you now delete the
original image path the image path will be lost; upon the next visit
to the file only the first word that was pasted will be displayed.



In GNU Emacs 23.1.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.18.9)
 of 2011-02-01 on x86-003.build.bos.redhat.com
Windowing system distributor `Red Hat, Inc.', version 11.0.10707000
configured using `configure  '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector 
 --param=ssp-buffer-size=4 -m64 -mtune=generic''

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: @im=none
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  iimage-mode: t
  display-time-mode: t
  delete-selection-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
o r t <tab> <return> i i m a g e SPC s e l e c t i 
o n SPC c o n f u s i n g <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> f i l e SPC c o r r u p t i o n <return> 
T h e C-a C-k C-n C-n C-p C-p C-p C-x u C-k C-n C-n 
C-p C-p C-n C-n C-p C-n C-n C-n C-n C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n <escape> x k i l l SPC b u f f <tab> <return> 
<return> C-x 0 x k C-g C-x k <down-mouse-1> <mouse-1> 
<help-echo> <help-echo> <down-mouse-1> <mouse-1> <down-mouse-1> 
<mouse-1> <escape> x i i m a g e SPC m o d e C-g C-x 
C-f t e s t . t <backspace> j <backspace> t x t <return> 
C-c C-x h C-g C-x h <backspace> y o u n g - c a r m 
e n . j p g C-a C-k C-y SPC C-y C-a C-x C-s C-c C-l 
C-c C-l C-c C-l C-c C-l C-c C-l C-c C-l C-c C-l C-c 
C-l C-c C-l <down-mouse-1> <mouse-movement> <mouse-1> 
<double-down-mouse-1> <double-mouse-1> <down-mouse-1> 
<mouse-1> SPC <down-mouse-2> <mouse-2> C-a C-x C-s 
C-x C-g C-c C-l C-c C-l C-c C-l C-c C-l C-c C-l C-c 
C-l <escape> x r e o <backspace> p o <tab> r <tab> 
e <tab> <backspace> <backspace> g <tab> <return>

Recent messages:
Mark set
Saving file /home/jason/test.txt...
Wrote /home/jason/test.txt
Iimage mode disabled
Iimage mode enabled
Iimage mode disabled
Iimage mode enabled
Iimage mode disabled
Iimage mode enabled
Making completion list...





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#9178: 23.1; iimage mode copy and paste file corruption
  2011-07-26 16:24 bug#9178: 23.1; iimage mode copy and paste file corruption Jason Baietto
@ 2019-08-20 21:14 ` Lars Ingebrigtsen
  0 siblings, 0 replies; 2+ messages in thread
From: Lars Ingebrigtsen @ 2019-08-20 21:14 UTC (permalink / raw)
  To: Jason Baietto; +Cc: 9178, jason.baietto

Jason Baietto <jason@cholula.ccur.com> writes:

> I am using the iimage mode to display in-lined images in text files.
> When images are displayed, an image may be double-clicked to select
> it and then pasted at point within the same buffer using the middle
> mouse button.  I can do this using emacs on both Linux and Windows.
>
> The image will appear to be inserted at point and will be displayed as
> as expected (i.e. as a picture).

(I'm going through old bug reports that have unfortunately gotten no
attention yet.)

> However, the the copy and paste was
> a lie.  Although the image is displayed at the new location, only the
> first selectable "word" of the image path has been selected and
> pasted.

I'm unable to reproduce this error in Emacs 27 -- the image is not
copied over at all by double-clicking it.  Instead I get the first
"word" of the image selected, so it works as if the image wasn't there
at all.

Even killing and yanking text with images won't copy over the image,
which seems pretty odd, but was introduced by the patch below.

I can understand removing the image when the text changes, but removing
it when yanking the text seems odd...

Anyway, I agree that double-clicking the image should probably copy the
entire text under the image, which requires changing what the
double-mouse-1 action is in iimage-mode buffers, I guess?
`C-h k double-mouse-1' didn't say what the command is, though.

commit 277e67418184c2e7d75ac317da095880c981ccd9
Author: Martin Pohlack <mp26@os.inf.tu-dresden.de>
Date:   Mon Jun 7 17:01:23 2010 -0400

    * lisp/iimage.el: Remove images as soon as the underlying text is modified.
    (iimage-modification-hook): New function.
    (iimage-mode-buffer): Use it.

(defun iimage-modification-hook (beg end)
  "Remove display property if a display region is modified."
  ;;(debug-print "ii1 begin %d, end %d\n" beg end)
  (let ((inhibit-modification-hooks t)
        (beg (previous-single-property-change end 'display
                                              nil (line-beginning-position)))
        (end (next-single-property-change     beg 'display
                                              nil (line-end-position))))
    (when (and beg end (plist-get (text-properties-at beg) 'display))
      ;;(debug-print "ii2 begin %d, end %d\n" beg end)
      (remove-text-properties beg end
                              '(display nil modification-hooks nil)))))



-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-08-20 21:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-26 16:24 bug#9178: 23.1; iimage mode copy and paste file corruption Jason Baietto
2019-08-20 21:14 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).