| Server IP : 217.160.0.212 / Your IP : 216.73.216.117 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/textmodes/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(defconst artist-version "1.2.6")
(defconst artist-maintainer-address "tab@lysator.liu.se, bug-gnu-emacs@gnu.org")
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\304\301%\210\310\311\312\313\314DD\315\304\301\316\317&\210\310\320\312\313\321DD\322\304\301\316\323&\210\310\324\312\313\325DD\326\304\301\316\323&\210\310\327\312\313\330DD\331\304\301\316\317&\207" [custom-declare-group artist nil "Customization of the Artist mode." :group mouse artist-text "Customization of the text rendering." custom-declare-variable artist-rubber-banding funcall function #[0 "\300\207" [t] 1 #1=""] "Interactively do rubber-banding when non-nil." :type boolean artist-first-char #[0 "\300\207" [49] 1 #1#] "Character to set at first point when not rubber-banding." character artist-second-char #[0 "\300\207" [50] 1 #1#] "Character to set at second point when not rubber-banding." artist-interface-with-rect #[0 "\300\207" [t] 1 #1#] "Whether to interface with the rect package or not.\n\nInterfacing to the rect package means that the Copy and Paste operations\nwill use the rectangle buffer when accessing the copied area. This means\nthat you can insert a rectangle which is copied using the artist package\nand vice versa.\n\nIf this causes any problem for you (for example, if the implementation of\nthe rectangle package changes), you can set this variable to nil, and the\nartist package will use its own copy buffer."] 8)
#@292 A vector of characters to use as arrows.
The vector is 8 elements long and contains a character for each
direction, or nil if there is no suitable character to use for arrow
in that direction.
The directions are as follows:
5 6 7
\ | /
4 - * - 0
/ | \
3 2 1
(defvar artist-arrows [62 nil 118 76 60 nil 94 nil] (#$ . 1520))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\210\300\316\302\303\317DD\320\306\307\310\321&\210\300\322\302\303\323DD\324\306\307\310\315&\210\300\325\302\303\326DD\327\306\307\310\330&\210\300\331\302\303\332DD\333\306\307\310\330&\210\300\334\302\303\335DD\336\306\307\310\315&\210\300\337\302\303\340DD\341\306\307\310\342&\207" [custom-declare-variable artist-aspect-ratio funcall function #[0 "\300\207" [1] 1 #1=""] "Defines the character height-to-width aspect ratio.\nThis is used when drawing squares and circles." :group artist :type number artist-trim-line-endings #[0 "\300\207" [t] 1 #1#] "Whether or not to remove white-space at end of lines.\n\nIf non-nil, line-endings are trimmed (that is, extraneous white-space\nat the end of the line is removed) when the shape is drawn." boolean artist-flood-fill-right-border #[0 "\300\207" [window-width] 1 #1#] "Right edge definition, used when flood-filling.\n\nWhen flood-filling, if the area is not closed off to the right, then\nflood-filling will fill no more to the right than specified by this\nvariable. This limit is called the fill-border." (choice (const :tag "limited to window" window-width) (const :tag "limited to value of `fill-column'" fill-column)) artist-flood-fill-show-incrementally #[0 "\300\207" [t] 1 #1#] "Whether or not to incrementally update display when flood-filling.\n\nIf non-nil, incrementally update display when flood-filling.\nIf set to non-nil, this currently implies discarding any input events\nduring the flood-fill." artist-ellipse-right-char #[0 "\300\207" [41] 1 #1#] "Character to use at the rightmost position when drawing narrow ellipses.\n\nIn this figure, it is the right parenthesis (the \")\" character):\n -----\n ( )\n -----" character artist-ellipse-left-char #[0 "\300\207" [40] 1 #1#] "Character to use at the leftmost position when drawing narrow ellipses.\n\nIn this figure, it is the left parenthesis (the \"(\" character):\n -----\n ( )\n -----" artist-picture-compatibility #[0 "\300\207" [t] 1 #1#] "Whether or not picture mode compatibility is on." artist-vaporize-fuzziness #[0 "\300\207" [1] 1 #1#] "How to vaporize lines that are cut off.\n\nAccept this many characters cutting off a line and still treat\nit as one line.\nExample:\n If `artist-vaporize-fuzziness' is 2, then those will be recognized as\n lines from A to B (provided you start vaporizing them at the \"*\"):\n /\n A----*------/-----------B\n \\/\n A----*----/\\------------B\n / \\\n\n but this one won't, since it is cut off by more than 2 characters:\n \\/ /\n A----*----/\\/----------B\n / /\\\n (in fact, only the left part [between the A and the leftmost \"/\"\n crossing the line] will be vaporized)." integer] 8)
#@71 If in X Windows, use this pointer shape while drawing with the mouse.
(defvar artist-pointer-shape (byte-code "\302=\205 \207" [window-system x-pointer-crosshair x] 2) (#$ . 4876))
(byte-code "\300\301\302\"\210\303\302\304\305\306DD\307\310\311\312\313&\210\303\314\304\305\315DD\316\310\311\312\317&\210\303\320\304\305\321DD\322\310\311\312\317&\210\303\323\304\305\324DD\325\310\311\312\317&\210\303\326\304\305\327DD\330\310\331\312\332&\210\303\333\304\305\334DD\335\310\331\312\336&\207" [defvaralias artist-text-renderer artist-text-renderer-function custom-declare-variable funcall function #[0 "\300\207" [artist-figlet] 1 #1=""] "Function for doing text rendering." :group artist-text :type symbol artist-figlet-program #[0 "\300\207" ["figlet"] 1 #1#] "Program to run for `figlet'." string artist-figlet-default-font #[0 "\300\207" ["standard"] 1 #1#] "Default font for `figlet'." artist-figlet-list-fonts-command #[0 "\300\207" ["for dir in `figlet -I2`; do cd $dir; ls *.flf; done"] 1 #1#] "Command to run to get list of available fonts." artist-spray-interval #[0 "\300\207" [0.2] 1 #1#] "Number of seconds between repeated spraying." artist number artist-spray-radius #[0 "\300\207" [4] 1 #1#] "Size of the area for spraying." integer] 8)
#@174 Characters ("color") to use when spraying.
They should be ordered from the "lightest" to the "heaviest"
since spraying replaces a light character with the next heavier one.
(defvar artist-spray-chars '(32 46 45 43 109 37 42 35) (#$ . 6147))
#@240 Initial character to use when spraying.
This character is used if spraying upon a character that is not in
`artist-spray-chars'. The character defined by this variable should
be in `artist-spray-chars', or spraying will behave strangely.
(defvar artist-spray-new-char 46 (#$ . 6395))
#@72 Name of Artist mode beginning with a space (appears in the mode-line).
(defvar artist-mode-name " Artist" (#$ . 6686))
#@38 Current selected graphics operation.
(defvar artist-curr-go 'pen-line (#$ . 6811))
(make-variable-buffer-local 'artist-curr-go)
#@75 Boolean to tell whether user has set some char to use when drawing lines.
(defvar artist-line-char-set nil (#$ . 6945))
(make-variable-buffer-local 'artist-line-char-set)
#@33 Char to use when drawing lines.
(defvar artist-line-char nil (#$ . 7122))
(make-variable-buffer-local 'artist-line-char)
#@69 Boolean to tell whether user has set some char to use when filling.
(defvar artist-fill-char-set nil (#$ . 7249))
(make-variable-buffer-local 'artist-fill-char-set)
#@27 Char to use when filling.
(defvar artist-fill-char nil (#$ . 7420))
(make-variable-buffer-local 'artist-fill-char)
#@27 Char to use when erasing.
(defvar artist-erase-char 32 (#$ . 7541))
(make-variable-buffer-local 'artist-erase-char)
#@59 Char to use when a fill-char is required but none is set.
(defvar artist-default-fill-char 46 (#$ . 7663))
(make-variable-buffer-local 'artist-default-fill-char)
#@14 Copy buffer.
(defvar artist-copy-buffer nil (#$ . 7831))
#@59 Line-number for top-most visited line for draw operation.
(defvar artist-draw-region-min-y 0 (#$ . 7894))
(make-variable-buffer-local 'artist-draw-region-min-y)
#@62 Line-number for bottom-most visited line for draw operation.
(defvar artist-draw-region-max-y 0 (#$ . 8061))
(make-variable-buffer-local 'artist-draw-region-max-y)
#@88 When non-nil, draw shapes without border.
The fill char is used instead, if it is set.
(defvar artist-borderless-shapes nil (#$ . 8231))
(make-variable-buffer-local 'artist-borderless-shapes)
#@373 Assoc list for looking up next and/or previous draw operation.
The structure is as follows: (OP . (PREV-OP . NEXT-OP))
where the elements are as follows:
* OP is an atom: the KEY-SYMBOL in the `artist-mt' structure
* PREV-OP and NEXT-OP are strings: the KEYWORD in the `artist-mt' structure
This variable is initialized by the `artist-make-prev-next-op-alist' function.
(defvar artist-prev-next-op-alist nil (#$ . 8430))
(byte-code "\203 \302\303!\210\302\304!\210 \203 \302\305!\210\302\207" [artist-interface-with-rect artist-picture-compatibility require rect reporter picture] 2)
(defvar artist-key-is-drawing nil)
(defvar artist-key-endpoint1 nil)
(defvar artist-key-poly-point-list nil)
(defvar artist-key-shape nil)
(defvar artist-key-draw-how nil)
(defvar artist-popup-menu-table nil)
(defvar artist-key-compl-table nil)
(defvar artist-rb-save-data nil)
(defvar artist-arrow-point-1 nil)
(defvar artist-arrow-point-2 nil)
#@27 Keymap for `artist-mode'.
(defvar artist-mode-map (byte-code "\301 \301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\307#\210\302\311\312#\210\302\313\312#\210\302\314\315#\210\302\316\317#\210\302\320\321#\210\302\322\323#\210\302\324\323#\210\302\325\326#\210\302\327\326#\210\302\330\331#\210\302\332\331#\210\302\333\334#\210\302\335\334#\210\302\336\337#\210\302\340\341#\210\302\342\343#\210\302\344\345#\210\302\346\347#\210\302\350\351#\210\302\352\353#\210\302\354\355#\210\302\356\357#\210\302\360\361#\210\302\362\363#\210\302\364\365#\210\302\366\367#\210\302\370\371#\210\302\372\371#\210\302\373\374#\210\302\375\376#\210\302\377\201@ #\210\302\201A \201B #\210\302\201C \201D #\210\302\201E \201F #\210\302\201G \201H #\210\302\201I \201J #\210\302\201K \201L #\210\302\201M \201N #\210\302\201O \201P #\210\302\201Q \201R #\210\302\201S \201T #\210\302\201U \201V #\210\302\201W \201X #\210\302\201Y \201Z #\210\302\201[ \201\\ #\210\207" [artist-mode-map make-sparse-keymap define-key [down-mouse-1] artist-down-mouse-1 [S-down-mouse-1] [down-mouse-2] artist-mouse-choose-operation [S-down-mouse-2] [down-mouse-3] artist-down-mouse-3 [S-down-mouse-3] [C-mouse-4] artist-select-prev-op-in-list [C-mouse-5] artist-select-next-op-in-list "
" artist-key-set-point [up] artist-previous-line "" [down] artist-next-line "" [left] artist-backward-char "" [right] artist-forward-char "" "<" artist-toggle-first-arrow ">" artist-toggle-second-arrow "" artist-select-erase-char "" artist-select-fill-char "\f" artist-select-line-char "" artist-select-operation "" artist-toggle-rubber-banding "" artist-toggle-trim-line-endings "" artist-toggle-borderless-shapes "" artist-mode-off "l" artist-select-op-line "L" artist-select-op-straight-line "r" artist-select-op-rectangle "R" artist-select-op-square "s" "p" artist-select-op-poly-line "P" artist-select-op-straight-poly-line "e" artist-select-op-ellipse "c" artist-select-op-circle "t" artist-select-op-text-see-thru "T" artist-select-op-text-overwrite "S" artist-select-op-spray-can "z" artist-select-op-spray-set-size "" artist-select-op-erase-char "E" artist-select-op-erase-rectangle "v" artist-select-op-vaporize-line "V" artist-select-op-vaporize-lines "" artist-select-op-cut-rectangle "\367" artist-select-op-copy-rectangle "" artist-select-op-paste "f" artist-select-op-flood-fill "" artist-submit-bug-report] 5) (#$ . 9371))
#@25 Menu for `artist-mode'.
(defvar artist-menu-map nil (#$ . 11909))
(byte-code "\301\302\303\304\305\306\307\310\"\311\"B$\207" [artist-mode-map easy-menu-do-define artist-menu-map "Menu for `artist-mode'." "Artist" append mapcar #[257 "\300@A@\301\302\303@\"\304\305\306\307\310\311\312\f8DE&\207" [vector :help format "Draw using the %s style" :style radio :selected eq artist-curr-go quote 2] 14 "\n\n(fn OP)"] (("Vaporize" artist-select-op-vaporize-lines vaporize-lines) ("Erase" artist-select-op-erase-rectangle erase-rect) ("Spray-can" artist-select-op-spray-set-size spray-get-size) ("Text" artist-select-op-text-overwrite text-ovwrt) ("Ellipse" artist-select-op-circle circle) ("Poly-line" artist-select-op-straight-poly-line spolyline) ("Square" artist-select-op-square square) ("Rectangle" artist-select-op-rectangle rectangle) ("Line" artist-select-op-straight-line s-line) ("Pen" artist-select-op-pen-line pen-line)) ("---" ["Character for Fill..." artist-select-fill-char :help "Choose the character to insert when filling in shapes"] ["Character for Line..." artist-select-line-char :help "Choose the character to insert when drawing lines"] ["Character to Erase..." artist-select-erase-char :help "Choose a specific character to erase"] ["Rubber-banding" artist-toggle-rubber-banding :help "Toggle rubber-banding" :style toggle :selected artist-rubber-banding] ["Trim Line Endings" artist-toggle-trim-line-endings :help "Toggle trimming of line-endings" :style toggle :selected artist-trim-line-endings] ["Draw Shape Borders" artist-toggle-borderless-shapes :help "Toggle whether shapes are drawn with borders" :style toggle :selected (not artist-borderless-shapes)] ["Characters for Spray" artist-select-spray-chars :help "Choose characters for sprayed by the spray-can"])] 9)
#@46 Replacement table for `artist-replace-char'.
(defvar artist-replacement-table (make-vector 256 0) (#$ . 13713))
#@5659 Master Table for `artist-mode'.
This table is primarily a table over the different graphics operations
available in Artist mode, but it also holds layout information for the
popup menu.
The master table is a list of table elements. The elements of this table
have the layout
(TAG INFO-PART)
There are three kinds of TAG:
`menu' -- a sub-menu
`separator' -- produce a separator in the popup menu
`function-call' -- call a function
`graphics-operation' -- a graphics operation
The layout of the INFO-PART for `menu' is
(TITLE ((TAG-1 INFO-PART-1) (TAG-2 INFO-PART-2) ...))
TITLE is the title of the submenu; this is followed by a list of
menu items, each on the general form (TAG INFO-PART).
The layout of the INFO-PART for `separator' is empty and not used.
This is the layout of the INFO-PART for `function-call':
(KEYWORD SYMBOL FN)
KEYWORD is a string naming the operation, and appears in the popup menu.
SYMBOL is the symbol for the operations.
FN is the function performing the operation. This function
is called with no arguments. Its return value is ignored.
The layout of the INFO-PART for `graphics-operation' is
(TITLE (UNSHIFTED SHIFTED))
TITLE is the title that appears in the popup menu. UNSHIFTED
and SHIFTED specify for unshifted and shifted operation. Both
have the form
(KEYWORD KEY-SYMBOL MODE-LINE ARROW-PRED ARROW-SET-FN
INIT-FN PREP-FILL-FN EXIT-FN DRAW-HOW DRAW-FN EXTRA-DRAW-INFO)
KEYWORD is a string specifying the name of the shape to draw.
This is used when selecting drawing operation.
KEY-SYMBOL is the key which is used when looking up members
through the functions `artist-go-get-MEMBER-from-symbol'
and `artist-fc-get-MEMBER-from-symbol'.
MODE-LINE is a string that appears in the mode-line when drawing
the shape.
ARROW-PRED is a function that is called to find out if the shape
can have arrows. The function is called with no arguments and
must return nil or t.
ARROW-SET-FN is a function that is called to set arrow end-points.
Arguments and return values for this function are described below.
INIT-FN is, if non-nil, a function that is called when the first
point of the shape is set. Arguments and return values for
this function are described below.
PREP-FILL-FN is, if non-nil, a function that is called after
the last point is set, but before the filling is done.
Arguments and return values for this function are described below.
EXIT-FN is, if non-nil, a function that is called after filling
is done. Arguments and return values for this function are
described below.
DRAW-HOW defines the kind of shape. The kinds of shapes are:
`artist-do-continously' -- Do drawing operation continuously,
as long as the mouse button is held down.
`artist-do-poly' -- Do drawing operation many times.
1 -- Do drawing operation only once.
2 -- The drawing operation requires two points.
DRAW-FN is the function to call for drawing. Arguments and
return values for this function are described below.
EXTRA-DRAW-INFO the layout of this depends on the value of DRAW-HOW:
If DRAW-HOW is `artist-do-continously':
(INTERVAL-FN)
INTERVAL-FN is, if non-nil, a function to call for getting
an interval between repeated calls to the DRAW-FN.
This function is called with no arguments and must
return a number, the interval in seconds.
If nil, calls to DRAW-FN are done only when the mouse
or cursor is moved.
If DRAW-HOW is either `artist-do-poly' or 2:
(UNDRAW-FN FILL-PRED FILL-FN)
UNDRAW-FN is a function to call for undrawing the shape.
Arguments and return values for this function are
described below.
FILL-PRED is a function that is called to find out if the shape
can have arrows. The function must take no arguments and
return nil or t.
FILL-FN is a function to call for filling the shape.
Arguments and return values for this function are
described below.
If DRAW-HOW is 1:
()
Note! All symbols and keywords (both in the `function-call' INFO-PART
as well as in the `graphics-operation' INFO-PART) must be unique.
The following table describe function arguments and return value
for different functions and DRAW-HOWs.
If DRAW-HOW is either `artist-do-continously' or 1:
INIT-FN X Y ==> ignored
PREP-FILL-FN X Y ==> ignored
EXIT-FN X Y ==> ignored
ARROW-SET-FN X Y ==> ignored
DRAW-FN X Y ==> ignored
If DRAW-HOW is 2:
INIT-FN X1 Y1 ==> ignored
PREP-FILL-FN X1 Y1 X2 Y2 ==> ignored
EXIT-FN X1 Y1 X2 Y2 ==> ignored
ARROW-SET-FN X1 Y1 X2 Y2 ==> ignored
DRAW-FN X1 Y1 X2 Y2 ==> (ENDPOINT-1 ENDPOINT-2 SHAPE)
UNDRAW-FN (ENDPOINT-1 ENDPOINT-2 SHAPE) ==> ignored
FILL-FN (ENDPOINT-1 ENDPOINT-2 SHAPE) X1 Y1 X2 Y2 ==> ignored
ENDPOINT-1 and ENDPOINT-2 are endpoints which are created with
`artist-make-endpoint'
SHAPE is an opaque structure, created by the DRAW-FN and intended
to be used only by the UNDRAW-FN.
If DRAW-HOW is `artist-do-poly':
INIT-FN X1 Y1
PREP-FILL-FN POINT-LIST
ARROW-SET-FN POINT-LIST
EXIT-FN POINT-LIST
DRAW-FN X-LAST Y-LAST X-NEW Y-NEW ==> (ENDPOINT-1 ENDPOINT-2 SHAPE)
UNDRAW-FN (ENDPOINT-1 ENDPOINT-2 SHAPE)
FILL-FN POINT-LIST
ENDPOINT-1 and ENDPOINT-2 are endpoints which are created with
`artist-make-endpoint'.
SHAPE is an opaque structure, created by the DRAW-FN and intended
to be used only by the UNDRAW-FN.
POINT-LIST is a list of vectors [X Y].
(defvar artist-mt '((menu ("Drawing" ((function-call ("Undo" do-undo undo)) (separator) (graphics-operation ("Pen" (("Pen" pen-char "pen-c" artist-no-arrows nil nil nil nil artist-do-continously artist-pen (nil)) ("Pen Line" pen-line "pen-l" artist-arrows artist-pen-set-arrow-points artist-pen-reset-last-xy nil nil artist-do-continously artist-pen-line (nil))))) (graphics-operation ("Line" (("line" line "line" artist-arrows artist-set-arrow-points-for-2points nil nil nil 2 artist-draw-line (artist-undraw-line artist-nil nil)) ("straight line" s-line "sline" artist-arrows artist-set-arrow-points-for-2points nil nil nil 2 artist-draw-sline (artist-undraw-sline artist-nil nil))))) (graphics-operation ("Rectangle" (("rectangle" rect "rect" artist-no-arrows nil nil nil nil 2 artist-draw-rect (artist-undraw-rect artist-t-if-fill-char-set artist-fill-rect)) ("square" square "square" artist-no-arrows nil nil nil nil 2 artist-draw-square (artist-undraw-square artist-t-if-fill-char-set artist-fill-square))))) (graphics-operation ("Poly-line" (("poly-line" polyline "poly" artist-arrows artist-set-arrow-points-for-poly nil nil nil artist-do-poly artist-draw-line (artist-undraw-line artist-nil nil)) ("straight poly-line" spolyline "s-poly" artist-arrows artist-set-arrow-points-for-poly nil nil nil artist-do-poly artist-draw-sline (artist-undraw-sline artist-nil nil))))) (graphics-operation ("Ellipse" (("ellipse" ellipse "ellipse" artist-no-arrows nil nil nil nil 2 artist-draw-ellipse (artist-undraw-ellipse artist-t-if-fill-char-set artist-fill-ellipse)) ("circle" circle "circle" artist-no-arrows nil nil nil nil 2 artist-draw-circle (artist-undraw-circle artist-t-if-fill-char-set artist-fill-circle))))) (graphics-operation ("Text" (("text see-thru" text-thru "text-thru" artist-no-arrows nil nil nil nil 1 artist-text-see-thru nil) ("text overwrite" text-ovwrt "text-ovwrt" artist-no-arrows nil nil nil nil 1 artist-text-overwrite nil)))) (graphics-operation ("Spray-can" (("spray-can" spray-can "spray-can" artist-no-arrows nil nil nil nil artist-do-continously artist-spray (artist-spray-get-interval)) ("spray set size" spray-get-size "spray-size" artist-no-arrows nil nil artist-spray-clear-circle artist-spray-set-radius 2 artist-draw-circle (artist-undraw-circle artist-nil nil))))) (graphics-operation ("Erase" (("erase char" erase-char "erase-c" artist-no-arrows nil nil nil nil artist-do-continously artist-erase-char (nil)) ("erase rectangle" erase-rect "erase-r" artist-no-arrows nil nil nil nil 2 artist-draw-rect (artist-undraw-rect artist-t artist-erase-rect))))) (graphics-operation ("Vaporize" (("vaporize line" vaporize-line "vaporize-1" artist-no-arrows nil nil nil nil 1 artist-vaporize-line nil) ("vaporize lines" vaporize-lines "vaporize-n" artist-no-arrows nil nil nil nil 1 artist-vaporize-lines nil))))))) (menu ("Edit" ((graphics-operation ("Cut" (("cut rectangle" cut-r "cut-r" artist-no-arrows nil nil nil nil 2 artist-draw-rect (artist-undraw-rect artist-t artist-cut-rect)) ("cut square" cut-s "cut-s" artist-no-arrows nil nil nil nil 2 artist-draw-square (artist-undraw-square artist-t artist-cut-square))))) (graphics-operation ("Copy" (("copy rectangle" copy-r "copy-r" artist-no-arrows nil nil nil nil 2 artist-draw-rect (artist-undraw-rect artist-t artist-copy-rect)) ("copy square" copy-s "copy-s" artist-no-arrows nil nil nil nil 2 artist-draw-square (artist-undraw-square artist-t artist-copy-square))))) (graphics-operation ("Paste" (("paste" paste "paste" artist-no-arrows nil nil nil nil 1 artist-paste nil) ("paste" paste "paste" artist-no-arrows nil nil nil nil 1 artist-paste nil)))) (graphics-operation ("Flood-fill" (("flood-fill" flood-fill "flood" artist-no-arrows nil nil nil nil 1 artist-flood-fill nil) ("flood-fill" flood-fill "flood" artist-no-arrows nil nil nil nil 1 artist-flood-fill nil))))))) (menu ("Settings" ((function-call ("Set Fill" set-fill artist-select-fill-char)) (function-call ("Set Line" set-line artist-select-line-char)) (function-call ("Set Erase" set-erase artist-select-erase-char)) (function-call ("Rubber-banding" rubber-band artist-toggle-rubber-banding)) (function-call ("Trimming" trimming artist-toggle-trim-line-endings)) (function-call ("Borders" borders artist-toggle-borderless-shapes)) (function-call ("Spray-chars" spray-chars artist-select-spray-chars)))))) (#$ . 13833))
#@73 Retrieve the tag component from the master table ELEMENT.
(fn ELEMENT)
(defalias 'artist-mt-get-tag #[257 "\211\300\234\207" [0] 3 (#$ . 23873)])
#@79 Retrieve the info part component from the master table ELEMENT.
(fn ELEMENT)
(defalias 'artist-mt-get-info-part #[257 "\211\300\234\207" [1] 3 (#$ . 24026)])
#@89 Retrieve the description component from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-go-get-desc #[257 "\211\300\234\207" [0] 3 (#$ . 24191)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-desc speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@82 Retrieve the unshifted info from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-go-get-unshifted #[257 "\211\300\234\301\234\207" [1 0] 3 (#$ . 24505)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-unshifted speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@80 Retrieve the shifted info from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-go-get-shifted #[257 "\211\300\234\300\234\207" [1] 3 (#$ . 24832)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-shifted speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@156 Retrieve the keyword component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-keyword #[257 "\211\300\234\207" [0] 3 (#$ . 25152)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-keyword speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@155 Retrieve the symbol component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-symbol #[257 "\211\300\234\207" [1] 3 (#$ . 25540)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-symbol speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@158 Retrieve the mode line component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-mode-line #[257 "\211\300\234\207" [2] 3 (#$ . 25925)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-mode-line speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@164 Retrieve the arrow predicate component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-arrow-pred #[257 "\211\300\234\207" [3] 3 (#$ . 26319)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-arrow-pred speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@158 Retrieve the arrow set component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-arrow-set-fn #[257 "\211\300\234\207" [4] 3 (#$ . 26721)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-arrow-set-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@162 Retrieve the init function component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-init-fn #[257 "\211\300\234\207" [5] 3 (#$ . 27121)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-init-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@174 Retrieve the fill preparation function component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-prep-fill-fn #[257 "\211\300\234\207" [6] 3 (#$ . 27515)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-prep-fill-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@153 Retrieve the exit component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-exit-fn #[257 "\211\300\234\207" [7] 3 (#$ . 27931)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-exit-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@157 Retrieve the draw how component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-draw-how #[257 "\211\300\234\207" [8] 3 (#$ . 28316)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-draw-how speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@162 Retrieve the draw function component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-draw-fn #[257 "\211\300\234\207" [9] 3 (#$ . 28707)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-draw-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@287 Retrieve the undraw function component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
This interval function component is available only if the `draw-how'
component is other than `artist-do-continously' or 1.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-undraw-fn #[257 "\211\300\234\301\234\207" [10 0] 3 (#$ . 29101)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-undraw-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@273 Retrieve the interval function component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
This interval function component is available only if the `draw-how'
component is `artist-do-continously'.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-interval-fn #[257 "\211\300\234\301\234\207" [10 0] 3 (#$ . 29635)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-interval-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@286 Retrieve the fill predicate component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
This interval function component is available only if the `draw-how'
component is other than `artist-do-continously' or 1.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-fill-pred #[257 "\211\300\234\301\234\207" [10 1] 3 (#$ . 30159)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-fill-pred speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@285 Retrieve the fill function component from an INFO-VARIANT-PART.
An INFO-VARIANT-PART is the shifted or unshifted info from an info-part.
This interval function component is available only if the `draw-how'
component is other than `artist-do-continously' or 1.
(fn INFO-VARIANT-PART)
(defalias 'artist-go-get-fill-fn #[257 "\211\300\234\301\234\207" [10 2] 3 (#$ . 30692)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-go-get-fill-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@85 Retrieve the keyword component from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-fc-get-keyword #[257 "\211\300\234\207" [0] 3 (#$ . 31219)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-fc-get-keyword speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@84 Retrieve the symbol component from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-fc-get-symbol #[257 "\211\300\234\207" [1] 3 (#$ . 31535)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-fc-get-symbol speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@86 Retrieve the function component from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-fc-get-fn #[257 "\211\300\234\207" [2] 3 (#$ . 31848)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-fc-get-fn speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@83 Retrieve the title component from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-mn-get-title #[257 "\211\300\234\207" [0] 3 (#$ . 32155)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-mn-get-title speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@83 Retrieve the items component from a graphics operation INFO-PART.
(fn INFO-PART)
(defalias 'artist-mn-get-items #[257 "\211\300\234\207" [1] 3 (#$ . 32465)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put artist-mn-get-items speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@145 Find the last non-nil draw operation in OP-LIST.
Optional LAST-NON-NIL will be returned if OP-LIST is nil.
(fn OP-LIST &optional LAST-NON-NIL)
(defalias 'artist-get-last-non-nil-op #[513 "\203 \300A@@\206 \"\207\207" [artist-get-last-non-nil-op] 5 (#$ . 32776)])
#@65 Find the first non-nil draw operation in OP-LIST.
(fn OP-LIST)
(defalias 'artist-get-first-non-nil-op #[257 "\211@@\206\n \300A!\207" [artist-get-first-non-nil-op] 3 (#$ . 33052)])
#@50 Check whether OP is in OP-LIST.
(fn OP OP-LIST)
(defalias 'artist-is-in-op-list-p #[514 "\211\205 \211@@\203 @@\230\206 \300A\"\207" [artist-is-in-op-list-p] 5 (#$ . 33241)])
#@248 Build an assoc-list of OP-LIST.
The arguments LAST-NON-NIL-ARG, FIRST-NON-NIL-ARG, PREV-ENTRY and
PREV-OP-ARG are used when invoked recursively during the build-up.
(fn OP-LIST &optional LAST-NON-NIL-ARG FIRST-NON-NIL-ARG PREV-ENTRY PREV-OP-ARG)
(defalias 'artist-make-prev-next-op-alist #[1281 "\206 \301!\206 \302!\206 @@\303!\211CB\n\203'