summaryrefslogtreecommitdiff
path: root/lisp/textmodes/artist.el
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-10-26 09:51:14 +0000
committerGerd Moellmann <gerd@gnu.org>2001-10-26 09:51:14 +0000
commit63db25edffe6d991afb83c777d157192ca039df8 (patch)
treeb28f273a46f50f299d35422b30f98c9c81ec4946 /lisp/textmodes/artist.el
parent627a4e30dcec779bb6f419d21916a7e94e5a4a2d (diff)
downloademacs-63db25edffe6d991afb83c777d157192ca039df8.tar.gz
emacs-63db25edffe6d991afb83c777d157192ca039df8.tar.bz2
emacs-63db25edffe6d991afb83c777d157192ca039df8.zip
(artist-version): 1.2.4.
(artist-butlast-fn): New variable. (artist-butlast): New function. (artist-ellipse-mirror-quadrant): Use it. (artist-mouse-draw-poly): Use nil for `point-list'. (artist-mouse-draw-poly): Check for point-list being nil.
Diffstat (limited to 'lisp/textmodes/artist.el')
-rw-r--r--lisp/textmodes/artist.el43
1 files changed, 33 insertions, 10 deletions
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index a918e720b7f..3ace091f018 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1,12 +1,12 @@
;;; artist.el --- draw ascii graphics with your mouse
-;; Copyright (C) 2000 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001 Free Software Foundation, Inc.
;; Author: Tomas Abrahamsson <tab@lysator.liu.se>
;; Maintainer: Tomas Abrahamsson <tab@lysator.liu.se>
;; Keywords: mouse
-;; Version: 1.2.2
-;; Release-date: 22-Oct-2000
+;; Version: 1.2.4
+;; Release-date: 25-Oct-2001
;; Location: http://www.lysator.liu.se/~tab/artist/
;; This file is part of GNU Emacs.
@@ -136,6 +136,15 @@
;;; ChangeLog:
+;; 1.2.4 25-Oct-2001
+;; Bugfix: Some operations (the edit menu) got hidden
+;; Bugfix: The first arrow for poly-lines was always pointing
+;; to the right
+;; Changed: Updated with changes made for Emacs 21.1
+;;
+;; 1.2.3 20-Nov-2000
+;; Bugfix: Autoload cookie corrected
+;;
;; 1.2.2 19-Nov-2000
;; Changed: More documentation fixes.
;; Bugfix: The arrow characters (`artist-arrows'), which
@@ -178,7 +187,7 @@
;; Variables
-(defconst artist-version "1.2.2")
+(defconst artist-version "1.2.4")
(defconst artist-maintainer-address "tab@lysator.liu.se")
@@ -701,7 +710,7 @@ The fill char is used instead, if it is set.")
2
artist-draw-square
(artist-undraw-square
- artist-t artist-cut-square)))))
+ artist-t artist-cut-square))))))
(graphics-operation
("Copy" (("copy rectangle" copy-r "copy-r"
@@ -717,7 +726,7 @@ The fill char is used instead, if it is set.")
2
artist-draw-square
(artist-undraw-square
- artist-t artist-copy-square)))))
+ artist-t artist-copy-square))))))
(graphics-operation
("Paste" (("paste" paste "paste"
@@ -745,7 +754,7 @@ The fill char is used instead, if it is set.")
nil nil nil
1
artist-flood-fill
- nil)))))))))
+ nil)))))))
(menu
("Settings"
@@ -1675,6 +1684,20 @@ info-variant-part."
"Call function FN with ARGS iff FN is not nil."
(list 'if fn (cons 'funcall (cons fn args))))
+(defvar artist-butlast-fn 'artist-butlast
+ "The butlast function")
+
+(if (fboundp 'butlast)
+ (setq artist-butlast-fn 'butlast)
+ (setq artist-butlast-fn 'artist-butlast))
+
+(defun artist-butlast (l)
+ "Return the list L with all elements but the last."
+ (cond ((null l) nil)
+ ((null (cdr l)) nil)
+ (t (cons (car l) (artist-butlast (cdr l))))))
+
+
(defun artist-last (seq &optional n)
"Return the last link in the list SEQ.
With optional argument N, returns Nth-to-last link (default 1)."
@@ -3341,7 +3364,7 @@ The POINT-LIST is expected to cover the first quadrant."
(t c)))))
;; The cdr and butlast below is so we don't draw the middle top
;; and middle bottom char twice.
- (butlast (cdr (reverse right-half)))))
+ (funcall artist-butlast-fn (cdr (reverse right-half)))))
(append right-half left-half)))
@@ -4952,7 +4975,7 @@ The event, EV, is the mouse event."
(y2 y1-last)
(is-down t)
(shape nil)
- (point-list (list (artist-make-endpoint x1-last y1-last)))
+ (point-list nil)
(done nil))
(select-window (posn-window ev-start))
(artist-funcall init-fn x1-last y1-last)
@@ -5125,7 +5148,7 @@ The event, EV, is the mouse event."
(artist-funcall fill-fn point-list))
;; Maybe set arrow points
- (if (artist-funcall arrow-pred)
+ (if (and point-list (artist-funcall arrow-pred))
(artist-funcall arrow-set-fn point-list)
(artist-clear-arrow-points))