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))