Subject: bug#19763: closed (Re: bug#19763: 24.4; artist-mode: ellipse filled incorrectly)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 04 Feb 2015 15:36:03 +0000

Your bug report

#19763: 24.4; artist-mode: ellipse filled incorrectly

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
19763: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19763
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#19763: 24.4; artist-mode: ellipse filled incorrectly
From: Eli Zaretskii <[email-masked]>
To: Alexis <[email-masked]>
Cc: [email-masked]
Date: Wed, 04 Feb 2015 17:34:58 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Alexis <[email-masked]>
> Date: Wed, 04 Feb 2015 18:41:19 +1100
> 
> > the expected result is an ASCII ellipse filled with character X; 
> > observer result is different and undesired:
> >
> > 1) a line of XXXXXXXXX appears at the ellipse diameter, but the 
> > rest of 
> >    the ellipse remains empty
> >    
> > 2) a half-ellipse of XXXXXXXX appears outside of the ellipse 
> > border, in 
> >    the lower right corner of the window
> >
> > Is it reproducible for you too?
> 
> i was able to reproduce this on 24.4.1 (manually compiled on 
> Debian Wheezy+updates x86_64).

It became broken in Emacs 23, by someone's too eager replacement of
mapcar with mapc.

Fixed for Emacs 24.5.  The patch is below, so the OP can apply it to
her current sources without waiting for Emacs 24.5.

Thanks.

commit d825f66db83501588f1c84aa4d78e644e0d5f896
Author: Eli Zaretskii <[email-masked]>
Date:   Wed Feb 4 17:31:37 2015 +0200

    Fix filling circle/ellipse in Artist Mode  (Bug#19763)
    
     lisp/textmodes/artist.el (artist-ellipse-compute-fill-info): Use
     mapcar, not mapc, to create the other half of fill-info.

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e52f9a3..e0c8815 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-04  Eli Zaretskii  <[email-masked]>
+
+	* textmodes/artist.el (artist-ellipse-compute-fill-info): Use
+	mapcar, not mapc, to create the other half of fill-info.
+	(Bug#19763)
+
 2015-02-04  Nicolas Petton  <[email-masked]>
 
 	* emacs-lisp/authors.el (authors-ignored-files)
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 85d9410..930c39c 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -3372,7 +3372,7 @@ (defun artist-ellipse-compute-fill-info (point-list)
     ;; Create the other half by mirroring the first half.
     (setq both-halves
 	  (append first-half
-		  (mapc
+		  (mapcar
 		   (lambda (i)
 		     (artist-new-fill-item (artist-fill-item-get-x i)
 					   (- (artist-fill-item-get-y i))

Subject: 24.4; artist-mode: ellipse filled incorrectly
From: Andrea Rossetti <[email-masked]>
To: [email-masked]
Date: Wed, 04 Feb 2015 01:42:30 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

  with this recipe:

- start emacs -Q
- M-x artist-mode RET
- C-c C-a c      (ellipse drawing tool)
- C-c C-a C-f X  (use "X" as filling char)
- press mouse-1 somewhere in the center of the window, hold pressed
- drag mouse-1 lower-right (an empty ASCII ellipse will be drawn
  interactively)
- release mouse-1

the expected result is an ASCII ellipse filled with character X;
observer result is different and undesired:

1) a line of XXXXXXXXX appears at the ellipse diameter, but the rest of
   the ellipse remains empty
   
2) a half-ellipse of XXXXXXXX appears outside of the ellipse border, in
   the lower right corner of the window

Is it reproducible for you too? kindest regards,

  Andrea

In GNU Emacs 24.4.1 (x86_64-w64-mingw32)
 of 2014-10-21 on KAEL
Windowing system distributor `Microsoft Corp.', version 6.1.7600
Configured using:
 `configure --prefix=/z/emacs --host=x86_64-w64-mingw32
 --target=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --with-wide-int
 --with-jpeg --with-xpm --with-png --with-tiff --with-rsvg --with-xml2
 --with-gnutls --with-xft --with-sound=yes --with-file-notification=yes
 --without-dbus --without-imagemagick 'CFLAGS=-Ofast
 -fomit-frame-pointer -funroll-loops -g0 -pipe' 'CPPFLAGS=-DNDEBUG
 -DDBUS_STATIC_BUILD' 'LDFLAGS=-static-libgcc -static-libstdc++ -static
 -s -Wl,-s''

Important settings:
  value of $LANG: ITA
  locale-coding-system: cp1252

.....