MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/progmodes/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/progmodes/ps-mode.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:29 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/ps-mode.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(defconst ps-mode-version "1.1h, 16 Jun 2005")
(defconst ps-mode-maintainer-address "Peter Kleiweg <p.c.j.kleiweg@rug.nl>")
(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310%\210\303\311\305\312\313\314\315\316\307\304&	\210\303\317\305\320\315\321\307\304&\210\322\323\324\325\307\311\326\327&\210\322\330\331\332\307\311\326\333&\210\322\334\335\336\307\311\326\337&\210\322\340\341\342\307\311\326\343&\210\322\344\345\346\307\317\326\347&\210\322\350\351\352\307\317\326\353&\210\322\354\355\356\307\317\326\357&\210\322\360\361\362\307\317\326\363&\210\322\364\305\365\307\317\326\366&\210\322\367\305\370\307\317\326\371&\210\322\372\305\373\307\317\326\374&\207" [require comint easymenu custom-declare-group PostScript nil "PostScript mode for Emacs." :group languages PostScript-edit "PostScript editing." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :prefix "ps-mode-" PostScript-interaction "PostScript interaction." "ps-run-" custom-declare-variable ps-mode-auto-indent t "Should we use autoindent?" :type boolean ps-mode-tab 4 "Number of spaces to use when indenting." integer ps-mode-paper-size '(595 842) "Default paper size.\n\nWhen inserting an EPSF template these values are used\nto set the boundingbox to include the whole page.\nWhen the figure is finished these values should be replaced." (choice (const :tag "letter" (612 792)) (const :tag "legal" (612 1008)) (const :tag "a0" (2380 3368)) (const :tag "a1" (1684 2380)) (const :tag "a2" (1190 1684)) (const :tag "a3" (842 1190)) (const :tag "a4" (595 842)) (const :tag "a5" (421 595)) (const :tag "a6" (297 421)) (const :tag "a7" (210 297)) (const :tag "a8" (148 210)) (const :tag "a9" (105 148)) (const :tag "a10" (74 105)) (const :tag "b0" (2836 4008)) (const :tag "b1" (2004 2836)) (const :tag "b2" (1418 2004)) (const :tag "b3" (1002 1418)) (const :tag "b4" (709 1002)) (const :tag "b5" (501 709)) (const :tag "archE" (2592 3456)) (const :tag "archD" (1728 2592)) (const :tag "archC" (1296 1728)) (const :tag "archB" (864 1296)) (const :tag "archA" (648 864)) (const :tag "flsa" (612 936)) (const :tag "flse" (612 936)) (const :tag "halfletter" (396 612)) (const :tag "11x17" (792 1224)) (const :tag "tabloid" (792 1224)) (const :tag "ledger" (1224 792)) (const :tag "csheet" (1224 1584)) (const :tag "dsheet" (1584 2448)) (const :tag "esheet" (2448 3168))) ps-mode-print-function (lambda nil (let ((lpr-switches nil) (lpr-command (if (memq system-type '(usg-unix-v hpux irix)) "lp" "lpr"))) (lpr-buffer))) "Lisp function to print current buffer as PostScript." function ps-run-prompt "\\(GS\\(<[0-9]+\\)?>\\)+" "Regexp to match prompt in interactive PostScript." regexp ps-run-font-lock-keywords-2 (append (unless (string= ps-run-prompt #1="") (list (list (if (= 94 (string-to-char ps-run-prompt)) ps-run-prompt (concat "^" ps-run-prompt)) '(0 font-lock-function-name-face nil nil)))) '((">>showpage, press <return> to continue<<" (0 font-lock-keyword-face nil nil)) ("^\\(Error\\|Can't\\).*" (0 font-lock-warning-face nil nil)) ("^\\(Current file position is\\) \\([0-9]+\\)" (1 font-lock-comment-face nil nil) (2 font-lock-warning-face nil nil)))) "Medium level highlighting of messages from the PostScript interpreter.\n\nSee documentation on font-lock for details." (repeat (list :tag "Expression with one or more highlighters" :value (#1# (0 default nil t)) (regexp :tag "Expression") (repeat :tag "Highlighters" :inline regexp (list :tag "Highlighter" (integer :tag "Subexp") face (boolean :tag "Override") (boolean :tag "Laxmatch" :value t))))) ps-run-x '("gs" "-r72" "-sPAPERSIZE=a4") "Command as list to run PostScript with graphic display." (repeat string) ps-run-dumb '("gs" "-dNODISPLAY") "Command as list to run PostScript without graphic display." (repeat string) ps-run-init "String of commands to send to PostScript to start interactive.\n\nExample: \"executive\"\n\nYou won't need to set this option for Ghostscript." (choice (const nil) string) ps-run-error-line-numbers "What values are used by the PostScript interpreter in error messages?" (choice (const :tag "line numbers" t) (const :tag "byte counts" nil)) ps-run-tmp-dir "Name of directory to place temporary file.\nIf nil, use `temporary-file-directory'." (choice (const nil) directory)] 10)
#@56 Regexp of PostScript operators that will be fontified.
(defconst ps-mode-operators (byte-code "\301\302\303\304\"\305Q)\207" [ops ("clear" "mark" "cleartomark" "counttomark" "forall" "dict" "begin" "end" "def" "true" "false" "exec" "if" "ifelse" "for" "repeat" "loop" "exit" "stop" "stopped" "countexecstack" "execstack" "quit" "start" "save" "restore" "bind" "null" "gsave" "grestore" "grestoreall" "showpage") "\\<" regexp-opt t "\\>"] 4) (#$ . 4858))
#@49 Subdued level highlighting for PostScript mode.
(defconst ps-mode-font-lock-keywords-1 '(("\\`%!PS.*" . font-lock-constant-face) ("^%%BoundingBox:[ 	]+-?[0-9]+[ 	]+-?[0-9]+[ 	]+-?[0-9]+[ 	]+-?[0-9]+[ 	]*$" . font-lock-constant-face) (ps-mode-match-string-or-comment (1 font-lock-comment-face nil t) (2 font-lock-string-face nil t)) ("([^()\n%]*\\|[^()\n]*)" . font-lock-warning-face) ("[\200-\377]+" (0 font-lock-warning-face prepend nil))) (#$ . 5320))
#@48 Medium level highlighting for PostScript mode.
(defconst ps-mode-font-lock-keywords-2 (byte-code "\302\303	P\304BC\"\207" [ps-mode-font-lock-keywords-1 ps-mode-operators append "\\(^\\|[^/\n]\\)" (2 font-lock-keyword-face)] 4) (#$ . 5780))
#@46 High level highlighting for PostScript mode.
(defconst ps-mode-font-lock-keywords-3 (byte-code "\302\303\304\305B\306	\307BF\"\207" [ps-mode-font-lock-keywords-1 ps-mode-operators append ("//\\w+" . font-lock-type-face) "^\\(/\\w+\\)\\>\\([[ 	]*\\(%.*\\)?
?$\\|[ 	]*\\({\\|<<\\)\\|[ 	]+[0-9]+[ 	]+dict\\>\\|.*\\<def\\>\\)" (1 font-lock-function-name-face) ("/\\w+" . font-lock-variable-name-face) font-lock-keyword-face] 7) (#$ . 6027))
#@54 Default expressions to highlight in PostScript mode.
(defconst ps-mode-font-lock-keywords ps-mode-font-lock-keywords-1 (#$ . 6471))
#@53 Subdued level highlighting for PostScript run mode.
(defconst ps-run-font-lock-keywords-1 (byte-code "\301\230?\205\302!\303U\203\202\304P\305BC\207" [ps-run-prompt "" string-to-char 94 "^" font-lock-function-name-face] 2) (#$ . 6609))
#@58 Default expressions to highlight in PostScript run mode.
(defconst ps-run-font-lock-keywords ps-run-font-lock-keywords-1 (#$ . 6861))
#@41 Local keymap to use in PostScript mode.
(defvar ps-mode-map nil (#$ . 7001))
#@45 Syntax table used while in PostScript mode.
(defvar ps-mode-syntax-table nil (#$ . 7084))
#@45 Local keymap to use in PostScript run mode.
(defvar ps-run-mode-map nil (#$ . 7180))
#@42 Name of temporary file, set by `ps-run'.
(defvar ps-mode-tmp-file nil (#$ . 7271))
#@66 Mark to start of region that was sent to PostScript interpreter.
(defvar ps-run-mark nil (#$ . 7360))
#@42 Parent window of interactive PostScript.
(defvar ps-run-parent nil (#$ . 7468))
(defconst ps-mode-menu-main '("PostScript" ["EPSF Template, Sparse" ps-mode-epsf-sparse t] ["EPSF Template, Rich" ps-mode-epsf-rich t] "---" ("Cookbook" ["RE" ps-mode-RE t] ["ISOLatin1Extended" ps-mode-latin-extended t] ["center" ps-mode-center t] ["right" ps-mode-right t] ["Heapsort" ps-mode-heapsort t]) ("Fonts (1)" ["Times-Roman" (insert "/Times-Roman ") t] ["Times-Bold" (insert "/Times-Bold ") t] ["Times-Italic" (insert "/Times-Italic ") t] ["Times-BoldItalic" (insert "/Times-BoldItalic ") t] ["Helvetica" (insert "/Helvetica ") t] ["Helvetica-Bold" (insert "/Helvetica-Bold ") t] ["Helvetica-Oblique" (insert "/Helvetica-Oblique ") t] ["Helvetica-BoldOblique" (insert "/Helvetica-BoldOblique ") t] ["Courier" (insert "/Courier ") t] ["Courier-Bold" (insert "/Courier-Bold ") t] ["Courier-Oblique" (insert "/Courier-Oblique ") t] ["Courier-BoldOblique" (insert "/Courier-BoldOblique ") t] ["Symbol" (insert "/Symbol") t]) ("Fonts (2)" ["AvantGarde-Book" (insert "/AvantGarde-Book ") t] ["AvantGarde-Demi" (insert "/AvantGarde-Demi ") t] ["AvantGarde-BookOblique" (insert "/AvantGarde-BookOblique ") t] ["AvantGarde-DemiOblique" (insert "/AvantGarde-DemiOblique ") t] ["Bookman-Light" (insert "/Bookman-Light ") t] ["Bookman-Demi" (insert "/Bookman-Demi ") t] ["Bookman-LightItalic" (insert "/Bookman-LightItalic ") t] ["Bookman-DemiItalic" (insert "/Bookman-DemiItalic ") t] ["Helvetica-Narrow" (insert "/Helvetica-Narrow ") t] ["Helvetica-Narrow-Bold" (insert "/Helvetica-Narrow-Bold ") t] ["Helvetica-Narrow-Oblique" (insert "/Helvetica-Narrow-Oblique ") t] ["Helvetica-Narrow-BoldOblique" (insert "/Helvetica-Narrow-BoldOblique ") t] ["NewCenturySchlbk-Roman" (insert "/NewCenturySchlbk-Roman ") t] ["NewCenturySchlbk-Bold" (insert "/NewCenturySchlbk-Bold ") t] ["NewCenturySchlbk-Italic" (insert "/NewCenturySchlbk-Italic ") t] ["NewCenturySchlbk-BoldItalic" (insert "/NewCenturySchlbk-BoldItalic ") t] ["Palatino-Roman" (insert "/Palatino-Roman ") t] ["Palatino-Bold" (insert "/Palatino-Bold ") t] ["Palatino-Italic" (insert "/Palatino-Italic ") t] ["Palatino-BoldItalic" (insert "/Palatino-BoldItalic ") t] ["ZapfChancery-MediumItalic" (insert "/ZapfChancery-MediumItalic ") t] ["ZapfDingbats" (insert "/ZapfDingbats ") t]) "---" ["Comment Out Region" ps-mode-comment-out-region (mark t)] ["Uncomment Region" ps-mode-uncomment-region (mark t)] "---" ["8-bit to Octal Buffer" ps-mode-octal-buffer t] ["8-bit to Octal Region" ps-mode-octal-region (mark t)] "---" ["Auto Indent" (setq ps-mode-auto-indent (not ps-mode-auto-indent)) :style toggle :selected ps-mode-auto-indent] "---" ["Start PostScript" ps-run-start t] ["Quit PostScript" ps-run-quit (process-status "ps-run")] ["Kill PostScript" ps-run-kill (process-status "ps-run")] ["Send Buffer to Interpreter" ps-run-buffer (process-status "ps-run")] ["Send Region to Interpreter" ps-run-region (and (mark t) (process-status "ps-run"))] ["Send Newline to Interpreter" ps-mode-other-newline (process-status "ps-run")] ["View BoundingBox" ps-run-boundingbox (process-status "ps-run")] ["Clear/Reset PostScript Graphics" ps-run-clear (process-status "ps-run")] "---" ["Print Buffer as PostScript" ps-mode-print-buffer t] ["Print Region as PostScript" ps-mode-print-region (mark t)] "---" ["Customize for PostScript" (customize-group "PostScript") t] "---" ["Submit Bug Report" ps-mode-submit-bug-report t]))
(byte-code "\204\204\306 \307\310\311#\210\307\312\313#\210\307\314\315#\210\307\316\317#\210\307\320\321#\210\307\322\323#\210\307\324\325#\210\307\326\327#\210\307\330\331#\210\307\332\333#\210\307\334\335#\210\307\336\337#\210\307\340\341#\210\307\342\343#\210\307\344\345#\210\307\346\347#\210\307\350\351#\210\307\352\353#\210\307\354\353#\210\355\356!\210\357\360\361	$\210\n\204\250\306 \362\n\"\210\307\n\322\323#\210\307\n\330\331#\210\307\n\363\364#\210\307\n\365\366#\210\f\204\321\367 \370\371\372\f#\210\370\373\374\f#\210\370\375\374\f#\210\370\376\374\f#\210\370\377\201@\f#\210\370\201A\201B\f#\210\370\201C\201D\f#\210\370\201E\201D\f#\210\370\201F\201D\f#\210\370\201G\201D\f#\210\370\201H\201D\f#\210\370\201I\201D\f#\210\370\201J\201D\f#\210\370\201K\201D\f#\210\370\201L\201D\f#\210\370\201M\201D\f#\210\370\201N\201D\f#\210\370\201O\201D\f#\210\370\201P\201D\f#\210\370\201Q\201D\f#\210\370\201R\201D\f#\210\370\201S\201D\f#\210\370\201T\201D\f#\210\370\201U\201D\f#\210\370\201V\201D\f#\210\370\201W\201D\f#\210\370\201X\201D\f#\210\370\201Y\201D\f#\210\201Z\211\201[W\203\320\370
\201D\f#\210
T\211\202\272)\201\\\201]N\204\355\201^\201\\\201]\201_\201`!#\210\201a\300!\204\201^\300\201b\201c#\210\356\207" [ps-mode-map ps-mode-menu-main ps-run-mode-map comint-mode-map ps-mode-syntax-table i make-sparse-keymap define-key "" ps-run-boundingbox "" ps-mode-uncomment-region "" ps-mode-epsf-rich "" ps-run-start "" ps-run-region "" ps-run-quit "" ps-mode-print-buffer "" ps-mode-comment-out-region "" ps-run-kill "\n" ps-mode-other-newline "\f" ps-run-clear "" ps-run-buffer ">" ps-mode-r-gt "]" ps-mode-r-angle "}" ps-mode-r-brace "" ps-mode-backward-delete-char "	" ps-mode-tabkey "
" ps-mode-newline [return] (lambda (#1=#:def-tmp-var) (defvar ps-mode-main #1# #2="PostScript")) nil easy-menu-do-define ps-mode-main #2# set-keymap-parent "" ps-run-goto-error [mouse-2] ps-run-mouse-goto-error make-syntax-table modify-syntax-entry 37 "< " 10 "> " 13 12 60 "(>" 62 ")<" 33 "w " 34 35 36 38 39 42 43 44 45 46 58 59 61 63 64 92 94 95 96 124 126 128 256 ps-mode-hook variable-documentation put purecopy "Hook run when entering PostScript mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp definition-name ps-mode] 6)
(defvar ps-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [ps-mode-map variable-documentation put purecopy "Keymap for `ps-mode'." boundp ps-mode-syntax-table definition-name ps-mode] 5)
(defvar ps-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [ps-mode-syntax-table variable-documentation put purecopy "Syntax table for `ps-mode'." ps-mode-abbrev-table definition-name ps-mode] 5)
(defvar ps-mode-abbrev-table (progn (define-abbrev-table 'ps-mode-abbrev-table nil) ps-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [ps-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `ps-mode'." ps-mode derived-mode-parent prog-mode] 5)
#@1050 Major mode for editing PostScript with GNU Emacs.

Entry to this mode calls `ps-mode-hook'.

The following variables hold user options, and can
be set through the `customize' command:

  `ps-mode-auto-indent'
  `ps-mode-tab'
  `ps-mode-paper-size'
  `ps-mode-print-function'
  `ps-run-prompt'
  `ps-run-font-lock-keywords-2'
  `ps-run-x'
  `ps-run-dumb'
  `ps-run-init'
  `ps-run-error-line-numbers'
  `ps-run-tmp-dir'

Type \[describe-variable] for documentation on these options.


\{ps-mode-map}


When starting an interactive PostScript process with \[ps-run-start],
a second window will be displayed, and `ps-run-mode-hook' will be called.
The keymap for this second window is:

\{ps-run-mode-map}


When Ghostscript encounters an error it displays an error message
with a file position. Clicking mouse-2 on this number will bring
point to the corresponding spot in the PostScript window, if input
to the interpreter was sent from that window.
Typing \<ps-run-mode-map>\[ps-run-goto-error] when the cursor is at the number has the same effect.
(defalias 'ps-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324#\325\"\204V#$=\204V\326#\325$C#\210\327!\210\330\f!\210#$\306\331!\210\332\306\333!\210\334\306\335!\210\336\337\340!\210)\341\342!\207" [delay-mode-hooks major-mode mode-name ps-mode-map ps-mode-syntax-table parent make-local-variable t prog-mode ps-mode "PostScript" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table font-lock-defaults ((ps-mode-font-lock-keywords ps-mode-font-lock-keywords-1 ps-mode-font-lock-keywords-2 ps-mode-font-lock-keywords-3) t) comment-start "%" comment-start-skip "%+[ 	]*" doc-view-minor-mode 1 run-mode-hooks ps-mode-hook ps-mode-abbrev-table local-abbrev-table] 6 (#$ . 14223) nil])
#@42 Show current version of PostScript mode.
(defalias 'ps-mode-show-version #[nil "\301\302\"\207" [ps-mode-version message " *** PostScript Mode (ps-mode) Version %s *** "] 3 (#$ . 16261) nil])
#@50 Submit via mail a bug report on PostScript mode.
(defalias 'ps-mode-submit-bug-report #[nil "\305\306!\205\307\310\311\n\312\313\f#\314#*\207" [reporter-dont-compact-list reporter-prompt-for-summary-p ps-mode-maintainer-address ps-mode-version system-type y-or-n-p "Submit bug report on PostScript mode? " nil (ps-mode-print-function ps-run-font-lock-keywords-2) reporter-submit-bug-report format "ps-mode.el %s [%s]" (ps-mode-auto-indent ps-mode-tab ps-mode-paper-size ps-mode-print-function ps-run-prompt ps-run-font-lock-keywords-2 ps-run-x ps-run-dumb ps-run-init ps-run-error-line-numbers ps-run-tmp-dir)] 6 (#$ . 16460) nil])
(defalias 'ps-mode-looking-at-nested #[(limit) "`\304\305\304u\210`	\306V\203<W\203<\307\310!\204#\311\211\202\f	\312\313!\314\230\2030\304\2021\311\\\306\225\211b\210\202	\306U\205N\315\n\305\211\n\257!\210+\207" [pos level first limit 1 nil 0 looking-at "\\([^()\\\n]\\|\\\\.\\)*\\([()]\\)" -1 match-string 2 "(" set-match-data] 8])
(defalias 'ps-mode-match-string-or-comment #[(limit) "\302\303\304#\205.\305\225\305\224b\210\306\307!\203\305\225b\210`\202-\310!\203'`\202-	b\210\311!)\207" [limit end re-search-forward "[%(]" t 0 looking-at "\\(%.*\\)\\|\\((\\([^()\\\n]\\|\\\\.\\)*)\\)" ps-mode-looking-at-nested ps-mode-match-string-or-comment] 4])
#@183 To what column should text on current line be indented?

Indentation is increased if the last token on the current line
defines the beginning of a group. These tokens are:  {  [  <<
(defalias 'ps-mode-target-column #[nil "\212\302 \210\303\304!\203\305\306\307\217\202C\310\311\312\310\313#\204\314\202B\314\224b\210\302 \210\303\315!\2030\314\225b\210i\310\210\311\316\310\313#\203A	\\))\207" [target ps-mode-tab beginning-of-line looking-at "[ 	]*\\(}\\|\\]\\|>>\\)" err (byte-code "\300\225b\210\301\302!\210\303 \210\304\305!\203\300\225b\210i\207" [0 backward-sexp 1 beginning-of-line looking-at "[ 	]+"] 2) ((error (byte-code "\301 \210\302\303\304!\"\210\305\207" [err ding message "%s" error-message-string 0] 4))) nil re-search-backward "[^ 	\n
\f][ 	\n
\f]*\\=" t 0 "[ 	]+" "\\({\\|\\[\\|<<\\)[ 	]*\\(%[^\n]*\\)?\\="] 4 (#$ . 17791)])
#@41 Insert newline with proper indentation.
(defalias 'ps-mode-newline #[nil "\301 \210\302c\210\205
\303 j\207" [ps-mode-auto-indent delete-horizontal-space "\n" ps-mode-target-column] 1 (#$ . 18659) nil])
#@46 Indent/reindent current line, or insert tab.
(defalias 'ps-mode-tabkey #[nil "i\304\n\203\305W\204\306\307\304\310#\204\311c\202/\312 \211	X\203,\\\211\202\313!*\207" [target column ps-mode-auto-indent ps-mode-tab nil 1 re-search-backward "^[ 	]*\\=" t "	" ps-mode-target-column indent-line-to] 5 (#$ . 18870) nil])
#@60 Delete backward indentation, or delete backward character.
(defalias 'ps-mode-backward-delete-char #[nil "i\304\n\203\305W\204\306\307\304\310#\204\311\312!\202E\313 	V\203,\\\202	Y\203:Z\211\202-\314W\203B\314\315!*\207" [target column ps-mode-auto-indent ps-mode-tab nil 1 re-search-backward "^[ 	]+\\=" t call-interactively delete-backward-char ps-mode-target-column 0 indent-line-to] 5 (#$ . 19210) nil])
#@33 Insert `}' and perform balance.
(defalias 'ps-mode-r-brace #[nil "\300c\210\301\300!\207" ["}" ps-mode-r-balance] 2 (#$ . 19653) nil])
#@33 Insert `]' and perform balance.
(defalias 'ps-mode-r-angle #[nil "\300c\210\301\300!\207" ["]" ps-mode-r-balance] 2 (#$ . 19794) nil])
#@33 Insert `>' and perform balance.
(defalias 'ps-mode-r-gt #[nil "\300c\210\301\302!\207" [">" ps-mode-r-balance ">>"] 2 (#$ . 19935) nil])
#@40 Adjust indenting if point after RIGHT.
(defalias 'ps-mode-r-balance #[(right) "\203\212\302\303\304	!\305Q\306\307#\203\310\311 !\210)\312 \207" [ps-mode-auto-indent right re-search-backward "^[ 	]*" regexp-quote "\\=" nil t indent-line-to ps-mode-target-column blink-matching-open] 4 (#$ . 20078)])
#@39 Perform newline in `*ps-run*' buffer.
(defalias 'ps-mode-other-newline #[nil "\300\301!\207" [ps-run-send-string ""] 2 (#$ . 20389) nil])
#@29 Print buffer as PostScript.
(defalias 'ps-mode-print-buffer #[nil " \207" [ps-mode-print-function] 1 (#$ . 20533) nil])
#@93 Print region as PostScript, adding minimal header and footer lines:

%!PS
<region>
showpage
(defalias 'ps-mode-print-region #[(begin end) "p\305\306!r	q\210\307\216\310c\210\311\n#\210\312c\210\f ,\207" [buf #1=#:temp-buffer begin end ps-mode-print-function generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) "%!PS\n" insert-buffer-substring "\nshowpage\n"] 4 (#$ . 20660) "r"])
#@21 Comment out region.
(defalias 'ps-mode-comment-out-region #[(begin end) "\303 \211	\304\223\210\212\nb\210i\305U\203\306c\210\304y\305U\203*`\307!W\203*\306c\210\202)\304\211\223)\207" [endm end begin make-marker nil 0 "%" marker-position] 4 (#$ . 21108) "r"])
#@83 Uncomment region.

Only one `%' is removed, and it has to be in the first column.
(defalias 'ps-mode-uncomment-region #[(begin end) "\303 \211	\304\223\210\212\nb\210\305\306!\203\307\310!\210\304y\311U\2032`\312!W\2032\305\313!\203\307\310!\210\202)\304\211\223)\207" [endm end begin make-marker nil looking-at "^%" delete-char 1 0 marker-position "%"] 4 (#$ . 21384) "r"])
#@51 Change 8-bit characters to octal codes in buffer.
(defalias 'ps-mode-octal-buffer #[nil "\300ed\"\207" [ps-mode-octal-region] 3 (#$ . 21776) nil])
#@51 Change 8-bit characters to octal codes in region.
(defalias 'ps-mode-octal-region #[(begin end) "\203\305 \210\306\307!\207\212\310\211\311 \211\310\223\210\fb\210\312\313\314\315\n!\316#\203?	T\317u\210\320\321\322``T{!\"c\210\323\324!\210\202\306\325	\211\324U\203L\326\202M\327#\210\n\310\211\223+\207" [buffer-read-only i endm end begin ding message "Buffer is read only" nil make-marker 0 re-search-forward "[\200-\377]" marker-position t -1 format "\\%03o" string-to-char delete-char 1 "%d change%s made" "" "s"] 6 (#$ . 21929) "r"])
#@26 Insert function /center.
(defalias 'ps-mode-center #[nil "\300c\207" ["\n/center {\n    dup stringwidth\n    exch 2 div neg\n    exch 2 div neg\n    rmoveto\n} bind def\n"] 1 (#$ . 22489) nil])
#@25 Insert function /right.
(defalias 'ps-mode-right #[nil "\300c\207" ["\n/right {\n    dup stringwidth\n    exch neg\n    exch neg\n    rmoveto\n} bind def\n"] 1 (#$ . 22689) nil])
#@22 Insert function /RE.
(defalias 'ps-mode-RE #[nil "\300c\207" ["\n% `new-font-name' `encoding-vector' `old-font-name' RE -\n/RE {\n    findfont\n    dup maxlength dict begin {\n        1 index /FID ne { def } { pop pop } ifelse\n    } forall\n    /Encoding exch def\n    dup /FontName exch def\n    currentdict end definefont pop\n} bind def\n"] 1 (#$ . 22874) nil])
#@176 Insert array /ISOLatin1Extended.

This encoding vector contains all the entries from ISOLatin1Encoding
plus the usually uncoded characters inserted on positions 1 through 28.
(defalias 'ps-mode-latin-extended #[nil "\300c\207" ["\n% ISOLatin1Encoding, extended with remaining uncoded glyphs\n/ISOLatin1Extended [\n    /.notdef /Lslash /lslash /OE /oe /Scaron /scaron /Zcaron /zcaron\n    /Ydieresis /trademark /bullet /dagger /daggerdbl /ellipsis /emdash\n    /endash /fi /fl /florin /fraction /guilsinglleft /guilsinglright\n    /perthousand /quotedblbase /quotedblleft /quotedblright\n    /quotesinglbase /quotesingle /.notdef /.notdef /.notdef /space\n    /exclam /quotedbl /numbersign /dollar /percent /ampersand\n    /quoteright /parenleft /parenright /asterisk /plus /comma /minus\n    /period /slash /zero /one /two /three /four /five /six /seven /eight\n    /nine /colon /semicolon /less /equal /greater /question /at /A /B /C\n    /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z\n    /bracketleft /backslash /bracketright /asciicircum /underscore\n    /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s\n    /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde\n    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n    /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex\n    /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla\n    /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent\n    /sterling /currency /yen /brokenbar /section /dieresis /copyright\n    /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron\n    /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph\n    /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright\n    /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute\n    /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute\n    /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth\n    /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply\n    /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn\n    /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring\n    /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave\n    /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute\n    /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute\n    /ucircumflex /udieresis /yacute /thorn /ydieresis\n] def\n"] 1 (#$ . 23247) nil])
#@28 Insert function /Heapsort.
(defalias 'ps-mode-heapsort #[nil "\300c\207" ["\n% `array-element' Heapsort-cvi-or-cvr-or-cvs `number-or-string'\n/Heapsort-cvi-or-cvr-or-cvs {\n    % 0 get\n} bind def\n% `array' Heapsort `sorted-array'\n/Heapsort {\n    dup length /hsR exch def\n    /hsL hsR 2 idiv 1 add def\n    {\n        hsR 2 lt { exit } if\n        hsL 1 gt {\n            /hsL hsL 1 sub def\n        } {\n            /hsR hsR 1 sub def\n            dup dup dup 0 get exch dup hsR get\n            0 exch put\n            hsR exch put\n        } ifelse\n        dup hsL 1 sub get /hsT exch def\n        /hsJ hsL def\n        {\n            /hsS hsJ def\n            /hsJ hsJ dup add def\n            hsJ hsR gt { exit } if\n            hsJ hsR lt {\n                dup dup hsJ 1 sub get Heapsort-cvi-or-cvr-or-cvs\n                exch hsJ get Heapsort-cvi-or-cvr-or-cvs\n                lt { /hsJ hsJ 1 add def } if\n            } if\n            dup hsJ 1 sub get Heapsort-cvi-or-cvr-or-cvs\n            hsT Heapsort-cvi-or-cvr-or-cvs\n            le { exit } if\n            dup dup hsS 1 sub exch hsJ 1 sub get put\n        } loop\n        dup hsS 1 sub hsT put\n    } loop\n} bind def\n"] 1 (#$ . 25823) nil])
#@30 Insert sparse EPSF template.
(defalias 'ps-mode-epsf-sparse #[nil "db\210\301\302\303\304#\204db\210\305c\210db\210\301\306\303\304#\204#\301\307!\210\310c\210db\210\301\311\303\304#\2045\301\312!\210\313c\210eb\210\314c\210\315\316@A@#c\210\317c\207" [ps-mode-paper-size re-search-backward "%%EOF[ 	\n]*\\'" nil t "\n%%EOF\n" "\\bshowpage[ 	\n]+%%EOF[ 	\n]*\\'" "%%EOF" "showpage\n" "\\bend[ 	\n]+\\bshowpage[ 	\n]+%%EOF[ 	\n]*\\'" "showpage" "\nend\n" "%!PS-Adobe-3.0 EPSF-3.0\n%%BoundingBox: 0 0 " format "%d %d\n\n" "64 dict begin\n\n"] 4 (#$ . 27048) nil])
#@28 Insert rich EPSF template.
(defalias 'ps-mode-epsf-rich #[nil "\301 \210\302y\210\203\303\304!\305\261\210\306\307 \305\261\210\310\311 \305\261\210\312c\210\313y\207" [buffer-file-name ps-mode-epsf-sparse -3 "%%Title: " file-name-nondirectory "\n" "%%Creator: " user-full-name "%%CreationDate: " current-time-string "%%EndComments\n" 3] 3 (#$ . 27622) nil])
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [ps-run-mode-hook variable-documentation put purecopy "Hook run when entering Interactive PS mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp ps-run-mode-map definition-name ps-run-mode] 5)
(defvar ps-run-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [ps-run-mode-map variable-documentation put purecopy "Keymap for `ps-run-mode'." boundp ps-run-mode-syntax-table definition-name ps-run-mode] 5)
(defvar ps-run-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [ps-run-mode-syntax-table variable-documentation put purecopy "Syntax table for `ps-run-mode'." ps-run-mode-abbrev-table definition-name ps-run-mode] 5)
(defvar ps-run-mode-abbrev-table (progn (define-abbrev-table 'ps-run-mode-abbrev-table nil) ps-run-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [ps-run-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `ps-run-mode'." ps-run-mode derived-mode-parent comint-mode] 5)
#@294 Major mode in interactive PostScript window.
This mode is invoked from `ps-mode' and should not be called directly.

In addition to any hooks its parent mode `comint-mode' might have run,
this mode runs the hook `ps-run-mode-hook', as the final step
during initialization.

\{ps-run-mode-map}
(defalias 'ps-run-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324\325\"\204V=\204V\326\325C#\210\327!\210\330\f!\210\306\331!\210\332\333 )\334\335!\207" [delay-mode-hooks major-mode mode-name ps-run-mode-map ps-run-mode-syntax-table parent make-local-variable t comint-mode ps-run-mode "Interactive PS" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table font-lock-defaults ((ps-run-font-lock-keywords ps-run-font-lock-keywords-1 ps-run-font-lock-keywords-2) t) (":%s") run-mode-hooks ps-run-mode-hook ps-run-mode-abbrev-table local-abbrev-table mode-line-process] 6 (#$ . 29288) nil])
#@54 Error if not in `ps-mode' or not running PostScript.
(defalias 'ps-run-running #[nil "\300\301!\204\n\302\303!\210\304\305!\306\232?\205\302\307!\207" [derived-mode-p ps-mode error "This function can only be called from PostScript mode" process-status "ps-run" run "No PostScript process running"] 2 (#$ . 30480)])
#@31 Start interactive PostScript.
(defalias 'ps-run-start #[nil "\203	\206	\n\306\211\307 \211\204\310\311!\210 \203&\312 !\204*\313  !\203>\314 \315!\316P\317
#\210
C\320\321!\210\322 \210\323\324!\203O\325\324!\210\326 \210\327
\"\330\331\332#\316\261\210\333\334\324@\306A%\210r\321q\210\335\"!\210#$)\336!,\207" [window-system ps-run-x ps-run-dumb oldwin process-connection-type init-file nil selected-window error "No command specified to run interactive PostScript" markerp make-marker ps-run-make-tmp-filename write-region "\n" 0 pop-to-buffer "*ps-run*" ps-run-mode process-status "ps-run" delete-process erase-buffer append mapconcat identity " " apply make-comint use-local-map select-window command ps-run-mark ps-run-init ps-run-mode-map ps-run-prompt comint-prompt-regexp] 7 (#$ . 30804) nil])
#@30 Quit interactive PostScript.
(defalias 'ps-run-quit #[nil "\300\301!\210\302 \207" [ps-run-send-string "quit" ps-run-cleanup] 2 (#$ . 31650) nil])
#@30 Kill interactive PostScript.
(defalias 'ps-run-kill #[nil "\300\301!\210\302 \207" [delete-process "ps-run" ps-run-cleanup] 2 (#$ . 31803) nil])
#@34 Clear/reset PostScript graphics.
(defalias 'ps-run-clear #[nil "\300\301!\210\302\303!\210\300\304!\207" [ps-run-send-string "showpage" sit-for 1 ""] 2 (#$ . 31954) nil])
#@40 Send buffer to PostScript interpreter.
(defalias 'ps-run-buffer #[nil "\300ed\"\207" [ps-run-region] 3 (#$ . 32131) nil])
#@40 Send region to PostScript interpreter.
(defalias 'ps-run-region #[(begin end) "\305 \210\306 \307 \n\310\223\210\311\f	#\210\312\313\314	\"!)\207" [ps-run-parent f ps-run-mark begin end ps-run-running buffer-name ps-run-make-tmp-filename nil write-region ps-run-send-string format "(%s) run"] 4 (#$ . 32259) "r"])
#@19 View BoundingBox.
(defalias 'ps-run-boundingbox #[nil "\306 \210\307\211\211\211\211p\212\310b\210\311\312!\210\313\310!\313\314!\313\315!\313\316!)\317
!\317!W\2048\320\321
#\210\317\f!\317\n!W\204H\320\322\f\n#\210\323 \324\325\326
\f\f\n
\n&	\327	#\210\330\325\331	\"!\210q.\207" [buf f y2 x2 y1 x1 ps-run-running nil 1 re-search-forward "^%%BoundingBox:[ 	]+\\(-?[0-9]+\\)[ 	]+\\(-?[0-9]+\\)[ 	]+\\(-?[0-9]+\\)[ 	]+\\(-?[0-9]+\\)" match-string 2 3 4 string-to-number error "x1 (%s) should be less than x2 (%s)" "y1 (%s) should be less than y2 (%s)" ps-run-make-tmp-filename write-region format "gsave\n    initgraphics\n    2 setlinewidth\n    %s %s moveto\n    %s %s lineto\n    %s %s lineto\n    %s %s lineto\n    closepath\n    gsave\n        [ 4 20 ] 0 setdash\n        1 0 0 setrgbcolor\n        stroke\n    grestore\n    gsave\n        [ 4 20 ] 8 setdash\n        0 1 0 setrgbcolor\n        stroke\n    grestore\n    [ 4 20 ] 16 setdash\n    0 0 1 setrgbcolor\n    stroke\ngrestore\n" 0 ps-run-send-string "(%s) run"] 11 (#$ . 32583) nil])
(defalias 'ps-run-send-string #[(string) "\302 \303\304!\210\305 \210	c\210\306 \210\307!)\207" [oldwin string selected-window pop-to-buffer "*ps-run*" comint-goto-process-mark comint-send-input select-window] 2])
(defalias 'ps-run-make-tmp-filename #[nil "\204	\206	\n\303\304!)\207" [ps-mode-tmp-file ps-run-tmp-dir temporary-file-directory make-temp-file "ps-run-"] 2])
(defalias 'ps-run-cleanup #[nil "\205\302\303	!\205\304	!)\207" [ps-mode-tmp-file i nil file-exists-p delete-file] 2])
#@58 Set point at mouse click, then call `ps-run-goto-error'.
(defalias 'ps-run-mouse-goto-error #[(event) "\301!\210\302 \207" [event mouse-set-point ps-run-goto-error] 2 (#$ . 34167) "e"])
#@110 Jump to buffer position read as integer at point.
Use line numbers if `ps-run-error-line-numbers' is not nil
(defalias 'ps-run-goto-error #[nil "`\305\306!\204\307`S]b\210\305\306!\205J\307u\210\310v\210\305\311!\205J\312\313\314\224\314\225{!b\210\315\n!\210\203C\316\f!b\210	Sy\210\312\202I	\316\f!\\b))\207" [p i ps-run-parent ps-run-error-line-numbers ps-run-mark looking-at "[0-9]" 1 -1 "[0-9]+" nil string-to-number 0 pop-to-buffer marker-position] 3 (#$ . 34361) nil])
(byte-code "\300\301\302\"\210\303\304!\207" [add-hook kill-emacs-hook ps-run-cleanup provide ps-mode] 3)

MMCT - 2023