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/modula2.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:28 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/modula2.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.

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


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313&	\207" [require smie custom-declare-group modula2 nil "Major mode for editing Modula-2 code." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :prefix "m2-" :group languages] 10)
#@42 Syntax table in use in Modula-2 buffers.
(defvar m2-mode-syntax-table (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\320#\210\302\322\320#\210\302\323\320#\210\302\324\320#\210\302\325\320#\210\302\326\327#\210)\207" [table make-syntax-table modify-syntax-entry 92 "\\" 47 ". 12" 10 ">" 40 "()1" 41 ")(4" 42 ". 23nb" 43 "." 45 61 37 60 62 39 "\""] 4) (#$ . 827))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\210\300\313\314\315\304\316\306\307&\210\300\317\320\321\304\322\306\307&\207" [custom-declare-variable m2-compile-command "m2c" "Command to compile Modula-2 programs." :type string :group modula2 m2-link-command "m2l" "Command to link Modula-2 programs." m2-link-name nil "Name of the Modula-2 executable." (choice (const nil) string) m2-end-comment-column 75 "Column for aligning the end of a comment, in Modula-2." integer] 8)
#@31 Keymap used in Modula-2 mode.
(defvar m2-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\344#\210\302\345\346#\210\302\347\350#\210\302\351\352#\210\302\353\354#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\302\365\366#\210\302\367\370#\210)\207" [map make-sparse-keymap define-key "b" m2-begin "c" m2-case "d" m2-definition "e" m2-else "f" m2-for "h" m2-header "i" m2-if "m" m2-module "l" m2-loop "o" m2-or "p" m2-procedure "" m2-with "r" m2-record "s" m2-stdio "t" m2-type "u" m2-until "v" m2-var "w" m2-while "x" m2-export "y" m2-import "{" m2-begin-comment "}" m2-end-comment "" suspend-emacs "" m2-visit "" m2-toggle "\f" m2-link "" m2-compile] 4) (#$ . 1826))
(byte-code "\300\301\302\303\304\305\306\307&\210\310\301\311\312#\207" [custom-declare-variable m2-indent 5 "This variable gives the indentation in Modula-2-Mode." :type integer :group modula2 put safe-local-variable #[(v) "?\206\250\207" [v] 1]] 8)
(defconst m2-smie-grammar '((:smie-closer-alist (#22="RECORD" . #28="END") (#23="POINTER" . #27="TO") (#24="SET" . "OF-type") (#25="ARRAY" . #26="OF-type") (#21="(" . #20=")") (#1="PROCEDURE" . "END") (#1# . #17="BEGIN") ("PROCEDURE" . #12="FINALLY") (#18="PROCEDURE" . #19="FORWARD") (#2="CASE" . "END") (#2# . #11="OF") (#14="CASE" . #10="ELSE") (#15="LOOP" . "END") (#3="WITH" . "END") (#3# . #9="DO") (#16="REPEAT" . #13="UNTIL") (#4="WHILE" . "END") (#4# . "DO") (#5="FOR" . "END") (#5# . "DO") (#6="IF" . "END") (#6# . #8="THEN") ("IF" . "ELSE") ("IF" . #7="ELSIF") ("ARRAY" . "OF") ("SET" . "OF")) ("^" 150 163) ("." 151 164) ("~" 136 137) ("NOT" 138 139) ("&" 125 125) ("/" 125 125) ("*" 125 125) ("REM" 125 125) ("DIV" 125 125) ("MOD" 125 125) ("AND" 125 125) ("-" 114 114) ("+" 114 114) ("OR" 114 114) ("IN" 77 96) ("#" 78 97) ("<>" 79 98) (">" 80 99) (">=" 81 100) ("<=" 82 101) ("<" 83 102) (#7# 0 1) (#8# 1 0) (#9# 2 0) (#10# 0 0) (#11# 4 0) (":-case" 31 30) ("|" 18 18) (".." 162 162) (#12# 0 0) (#13# 3 59) (":=" 165 60) (#14# (166) 4) (#15# (167) 0) (#3# (168) 2) (#16# (169) 3) (#4# (170) 2) (#5# (171) 2) ("IF" (172) 1) (#17# 6 0) (#18# (173) 6) ("TYPE" (174) 34) ("CONST" (175) 33) ("VAR" (176) 32) (#19# 6 (177)) ("-anchor-" 84 58) (";-block" 19 19) ("=" 56 57) (#20# 5 (178)) ("VAR-arg" (179) 62) ("CONST-arg" (180) 63) (#21# (181) 5) (#22# (182) 0) (#23# (183) 17) (#24# (184) 4) (#25# (185) 4) ("," 103 103) (":" 85 66) (#26# 4 64) ("PROCEDURE-type" (186) 65) (#27# 17 61) (";" 45 45) (#28# 0 (187))))
(defalias 'm2-smie-refine-colon #[nil "\303\2042\304 \305	G!\203\303\211\306\307\217\210)\202.	\310\235\203&\311\202.	\312\235\203.\313)\202)\207" [res tok forward-sexp-function nil smie-default-backward-token zerop (forward-sexp -1) ((scan-error (byte-code "\301\302\207" [res ":" nil] 1))) ("|" "OF" "..") ":-case" (":" "END" ";" "BEGIN" "VAR" "RECORD" "PROCEDURE") ":"] 4])
(defalias 'm2-smie-refine-of #[nil "\302 \303G!\203\304\211\305\306\217\210\302 )\307\235\203\310\202 \311)\207" [tok forward-sexp-function smie-default-backward-token zerop nil (backward-sexp 1) ((scan-error)) ("ARRAY" "SET") "OF-type" "OF"] 4])
(defalias 'm2-smie-refine-semi #[nil "\300d!\210\301\302!\203\f\303\207\304\207" [forward-comment looking-at "\\(?:BEGIN\\|CONST\\|PROCEDURE\\|TYPE\\|VAR\\)" ";-block" ";"] 2])
(defalias 'm2-smie-forward-token #[nil "\301 \211\302\232\203\303\304 @!\203\302\202]\305\202]\306\232\203/\303\304 @!\203+\306\202]\307\202]\310\232\203<\212\311 )\202]\312\232\203L\212\313u\210\314 )\202]\315\232\203\\\212\316u\210\317 )\202])\207" [#1=#:val smie-default-forward-token "VAR" zerop syntax-ppss "VAR-arg" "CONST" "CONST-arg" ";" m2-smie-refine-semi "OF" -2 m2-smie-refine-of ":" -1 m2-smie-refine-colon] 3])
(defalias 'm2-smie-backward-token #[nil "\301 \211\302\232\203\303\304 @!\203\302\202Z\305\202Z\306\232\203/\303\304 @!\203+\306\202Z\307\202Z\310\232\203?\212\311u\210\312 )\202Z\313\232\203L\212\314 )\202Z\315\232\203Y\212\316 )\202Z)\207" [#1=#:val smie-default-backward-token "VAR" zerop syntax-ppss "VAR-arg" "CONST" "CONST-arg" ";" 1 m2-smie-refine-semi "OF" m2-smie-refine-of ":" m2-smie-refine-colon] 3])
(defalias 'm2-smie-rules #[(kind token) "	B\211:\205v\n@\nA\306=\203\f\307=\205u
\202u\310=\203^\f\311\232\2034
\206u\202u\f\312\235\203C
\206u\202u\f\313\232\203Z\314\315!\205u\316
\206V!\202u\317\202u\320=\204h\317\202u\f\321\232\203t\322!\202u\317*)\207" [kind token #1=#:val #2=#:xcar #3=#:xcdr m2-indent :elem basic :after ":=" ("CONST" "VAR" "TYPE") ";-block" smie-rule-parent-p "PROCEDURE" smie-rule-parent nil :before "|" smie-rule-separator smie-indent-basic] 3])
(byte-code "\300\301\302\"\210\303\304N\204\305\303\304\306\307!#\210\310\311!\204\305\311\312\302#\210\300\207" [defalias modula-2-mode m2-mode m2-mode-hook variable-documentation put purecopy "Hook run when entering Modula-2 mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp m2-mode-map definition-name] 5)
(defvar m2-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" [m2-mode-map variable-documentation put purecopy "Keymap for `m2-mode'." boundp m2-mode-syntax-table definition-name m2-mode] 5)
(defvar m2-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [m2-mode-syntax-table variable-documentation put purecopy "Syntax table for `m2-mode'." m2-mode-abbrev-table definition-name m2-mode] 5)
(defvar m2-mode-abbrev-table (progn (define-abbrev-table 'm2-mode-abbrev-table nil) m2-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [m2-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `m2-mode'." m2-mode derived-mode-parent prog-mode] 5)
#@1225 This is a mode intended to support program development in Modula-2.
All control constructs of Modula-2 can be reached by typing C-c
followed by the first character of the construct.
\<m2-mode-map>
  \[m2-begin] begin         \[m2-case] case
  \[m2-definition] definition    \[m2-else] else
  \[m2-for] for           \[m2-header] header
  \[m2-if] if            \[m2-module] module
  \[m2-loop] loop          \[m2-or] or
  \[m2-procedure] procedure     Control-c Control-w with
  \[m2-record] record        \[m2-stdio] stdio
  \[m2-type] type          \[m2-until] until
  \[m2-var] var           \[m2-while] while
  \[m2-export] export        \[m2-import] import
  \[m2-begin-comment] begin-comment \[m2-end-comment] end-comment
  \[suspend-emacs] suspend Emacs     \[m2-toggle] toggle
  \[m2-compile] compile           \[m2-next-error] next-error
  \[m2-link] link

   `m2-indent' controls the number of spaces for each indentation.
   `m2-compile-command' holds the command to compile a Modula-2 program.
   `m2-link-command' holds the command to link a Modula-2 program.

In addition to any hooks its parent mode `prog-mode' might have run,
this mode runs the hook `m2-mode-hook', as the final step
during initialization.
(defalias 'm2-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\3320P\306\333!\210\306\334!\210\307\306\335!\210\336\306\337!\210\340\306\341!\210\342!\306\343!\210\307#\306\344!\210\345$\3461\347\350\351\352\353&\210)\354\355!\207" [delay-mode-hooks major-mode mode-name m2-mode-map m2-mode-syntax-table parent make-local-variable t prog-mode m2-mode "Modula-2" 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 paragraph-start "$\\|" paragraph-separate paragraph-ignore-fill-prefix comment-start "(* " comment-end " *)" comment-start-skip "\\(?:(\\*+\\|//+\\) *" parse-sexp-ignore-comments font-lock-defaults ((m3-font-lock-keywords m3-font-lock-keywords-1 m3-font-lock-keywords-2) nil nil ((95 . "w") (46 . "w") (60 . ". 1") (62 . ". 4")) nil) smie-setup m2-smie-rules :forward-token m2-smie-forward-token :backward-token m2-smie-backward-token run-mode-hooks m2-mode-hook m2-mode-abbrev-table local-abbrev-table page-delimiter m2-smie-grammar] 8 (#$ . 8097) nil])
#@48 Subdued level highlighting for Modula-3 modes.
(defconst m3-font-lock-keywords-1 '(("\\<\\(INTERFACE\\|MODULE\\|PROCEDURE\\)\\>[ 	]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)) ("\\<\\(EXPORTS\\|FROM\\|IMPORT\\)\\>" (1 font-lock-keyword-face) (font-lock-match-c-style-declaration-item-and-skip-to-next nil (goto-char (match-end 0)) (1 font-lock-constant-face))) ("<\\*[ 	]*\\(\\sw+\\)" 1 font-lock-warning-face prepend)) (#$ . 10680))
#@46 Gaudy level highlighting for Modula-3 modes.
(defconst m3-font-lock-keywords-2 (append m3-font-lock-keywords-1 '("\\<\\(\\(?:A\\(?:N[DY]\\|S\\)\\|B\\(?:EGIN\\|RANDED\\|Y\\)\\|C\\(?:ASE\\|ONST\\)\\|D\\(?:IV\\|O\\)\\|E\\(?:LS\\(?:E\\|IF\\)\\|VAL\\|X\\(?:\\(?:CEP\\|I\\)T\\)\\)\\|F\\(?:INALLY\\|OR\\)\\|GENERIC\\|I[FN]\\|LO\\(?:CK\\|OP\\)\\|M\\(?:ETHODS\\|OD\\)\\|NOT\\|O\\(?:BJECT\\|VERRIDES\\|[FR]\\)\\|RE\\(?:ADONLY\\|CORD\\|F\\|PEAT\\|TURN\\|VEAL\\)\\|T\\(?:HEN\\|O\\|RY\\|YPE\\(?:CASE\\)?\\)\\|UN\\(?:SAFE\\|T\\(?:IL\\|RACED\\)\\)\\|VA\\(?:LUE\\|R\\)\\|W\\(?:HILE\\|ITH\\)\\)\\)\\>" ("\\<\\(\\(?:A\\(?:BS\\|DR\\(?:SIZE\\)?\\)\\|B\\(?:\\(?:IT\\|YTE\\)SIZE\\)\\|CEILING\\|D\\(?:EC\\|ISPOSE\\)\\|F\\(?:IRST\\|LOOR\\)\\|I\\(?:NC\\|STYPE\\)\\|L\\(?:AST\\|OOPHOLE\\)\\|M\\(?:AX\\|IN\\)\\|N\\(?:ARROW\\|EW\\|UMBER\\)\\|ORD\\|ROUND\\|SUBARRAY\\|T\\(?:RUNC\\|YPECODE\\)\\|VAL\\)\\)\\>" . font-lock-builtin-face) ("\\<\\(\\(?:A\\(?:DDRESS\\|RRAY\\)\\|B\\(?:ITS\\|OOLEAN\\)\\|C\\(?:ARDINAL\\|HAR\\)\\|EXTENDED\\|FLOAT\\|INTEGER\\|LONGREAL\\|MUTEX\\|R\\(?:E\\(?:AL\\|FANY\\)\\|OOT\\)\\|\\(?:SE\\|TEX\\)T\\)\\)\\>" . font-lock-type-face) ("\\<\\(END\\|EXCEPTION\\|RAISES?\\)\\>[ 	{]*" (1 font-lock-keyword-face) (font-lock-match-c-style-declaration-item-and-skip-to-next nil (goto-char (match-end 0)) (1 font-lock-function-name-face))) ("\\<\\(FALSE\\|NIL\\|NULL\\|TRUE\\)\\>" . font-lock-constant-face))) (#$ . 11157))
#@53 Default expressions to highlight in Modula-3 modes.
(defvar m3-font-lock-keywords m3-font-lock-keywords-1 (#$ . 12572))
#@48 Subdued level highlighting for Modula-2 modes.
(defconst m2-font-lock-keywords-1 m3-font-lock-keywords-1 (#$ . 12698))
#@46 Gaudy level highlighting for Modula-2 modes.
(defconst m2-font-lock-keywords-2 m3-font-lock-keywords-2 (#$ . 12823))
#@53 Default expressions to highlight in Modula-2 modes.
(defvar m2-font-lock-keywords m2-font-lock-keywords-1 (#$ . 12946))
(put 'm2-begin 'no-self-insert t)
#@557 Insert a BEGIN keyword and indent for the next line.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-begin #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "BEGIN" > n)] 4 (#$ . 13107) "*P\nP"])
(put 'm2-case 'no-self-insert t)
#@567 Build skeleton CASE statement, prompting for the <expression>.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-case #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Case-Expression: " n "CASE " str " OF" > n _ n "END (* " str " *);" > n)] 4 (#$ . 13837) "*P\nP"])
(put 'm2-definition 'no-self-insert t)
#@571 Build skeleton DEFINITION MODULE, prompting for the <module name>.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-definition #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Name: " n "DEFINITION MODULE " str ";" > n n _ n n "END " str "." > n)] 4 (#$ . 14637) "*P\nP"])
(put 'm2-else 'no-self-insert t)
#@550 Insert ELSE keyword and indent for next line.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-else #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "ELSE" > n)] 4 (#$ . 15439) "*P\nP"])
(put 'm2-for 'no-self-insert t)
#@574 Build skeleton FOR loop statement, prompting for the loop parameters.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-for #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Loop Initializer: " n "FOR " str " TO " (setq v1 (read-string "Limit: ")) (let ((by (read-string "Step: "))) (if (not (string-equal by "")) (concat " BY " by))) " DO" > n _ n "END (* for " str " to " v1 " *);" > n)] 4 (#$ . 16159) "*P\nP"])
(put 'm2-header 'no-self-insert t)
#@569 Insert a comment block containing the module title, author, etc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-header #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Title: " "(*\n    Title: 	" str "\n    Created: 	" (current-time-string) "\n    Author: 	" (user-full-name) " <" user-mail-address ">\n" "*)" > n)] 4 (#$ . 17103) "*P\nP"])
(put 'm2-if 'no-self-insert t)
#@570 Insert skeleton IF statement, prompting for <boolean-expression>.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-if #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("<boolean-expression>: " n "IF " str " THEN" > n _ n "END (* if " str " *);" > n)] 4 (#$ . 17973) "*P\nP"])
(put 'm2-loop 'no-self-insert t)
#@536 Build skeleton LOOP (with END).

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-loop #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "LOOP" > n _ n "END (* loop *);" > n)] 4 (#$ . 18776) "*P\nP"])
(put 'm2-module 'no-self-insert t)
#@571 Build skeleton IMPLEMENTATION MODULE, prompting for <module-name>.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-module #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Name: " n "IMPLEMENTATION MODULE " str ";" > n n '(m2-header) '(m2-type) n '(m2-var) n _ n n '(m2-begin) '(m2-begin-comment) " Module " str " Initialization Code " '(m2-end-comment) n n "END " str "." > n)] 4 (#$ . 19511) "*P\nP"])
(put 'm2-or 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-or #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "|" > n)] 4 (#$ . 20442) "*P\nP"])
(put 'm2-procedure 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-procedure #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Name: " n "PROCEDURE " str " (" (read-string "Arguments: ") ")" (let ((args (read-string "Result Type: "))) (if (not (equal args "")) (concat " : " args))) ";" > n "BEGIN" > n _ n "END " str ";" > n)] 4 (#$ . 21125) "*P\nP"])
(put 'm2-with 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-with #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Record-Type: " n "WITH " str " DO" > n _ n "END (* with " str " *);" > n)] 4 (#$ . 21996) "*P\nP"])
(put 'm2-record 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-record #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "RECORD" > n _ n "END (* record *);" > n)] 4 (#$ . 22738) "*P\nP"])
(put 'm2-stdio 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-stdio #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "FROM TextIO IMPORT" > n "WriteCHAR, ReadCHAR, WriteINTEGER, ReadINTEGER," > n "WriteCARDINAL, ReadCARDINAL, WriteBOOLEAN, ReadBOOLEAN," > n "WriteREAL, ReadREAL, WriteBITSET, ReadBITSET," > n "WriteBasedCARDINAL, ReadBasedCARDINAL, WriteChars, ReadChars," > n "WriteString, ReadString, WhiteSpace, EndOfLine;" > n n "FROM SysStreams IMPORT sysIn, sysOut, sysErr;" > n n)] 4 (#$ . 23454) "*P\nP"])
(put 'm2-type 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-type #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "TYPE" > n ";" > n)] 4 (#$ . 24498) "*P\nP"])
(put 'm2-until 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-until #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("<boolean-expression>: " n "REPEAT" > n _ n "UNTIL " str ";" > n)] 4 (#$ . 25190) "*P\nP"])
(put 'm2-var 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-var #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "VAR" > n ";" > n)] 4 (#$ . 25921) "*P\nP"])
(put 'm2-while 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-while #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("<boolean-expression>: " n "WHILE " str " DO" > n _ n "END (* while " str " *);" > n)] 4 (#$ . 26611) "*P\nP"])
(put 'm2-export 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-export #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "EXPORT QUALIFIED " > _ n)] 4 (#$ . 27365) "*P\nP"])
(put 'm2-import 'no-self-insert t)
#@512 No doc.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'm2-import #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Module: " n "FROM " str " IMPORT " > _ n)] 4 (#$ . 28067) "*P\nP"])
(defalias 'm2-begin-comment #[nil "n\204	\301\302\"\210\303c\207" [comment-column indent-to 0 "(*  "] 3 nil nil])
(defalias 'm2-end-comment #[nil "n\204j\210\301c\207" [m2-end-comment-column "*)"] 1 nil nil])
(defalias 'm2-compile #[nil "\301\302\303 Q!\207" [m2-compile-command compile " " buffer-name] 4 nil nil])
(defalias 'm2-link #[nil "\302\303	\206\304\305\306 \"\211Q!\207" [m2-link-command m2-link-name compile " " read-string "Name of executable: " buffer-name] 6 nil nil])
(defalias 'm2-execute-monitor-command #[(command) "\303	\304\305\211\306\307\nP&)\207" [shell-file-name shell command call-process nil t "-cf" "exec "] 8])
(defalias 'm2-visit #[nil "\303\211\211\212\304\305!\306\307!\210\310\311P!\210eb\210\303\312\313\217\210\303\314\315\217\210\n\204/	\204/\316\317\"\210)\n\203D\320\n!\210	\205K\212\320	!)\202K	\205K\320	!+\207" [modulename modfile deffile nil read-string "Module name: " switch-to-buffer "*Command Execution*" m2-execute-monitor-command "m2whereis " (byte-code "\301\302!\210\303\224\303\225{\301\207" [deffile re-search-forward "\\(.*\\.def\\) *$" 1] 2) ((search-failed)) (byte-code "\301\302!\210\303\224\303\225{\301\207" [modfile re-search-forward "\\(.*\\.mod\\) *$" 1] 2) ((search-failed)) error "I can find neither definition nor implementation of %s" find-file] 3 nil nil])
#@52 Toggle between .mod and .def files for the module.
(defalias 'm2-toggle #[nil "\300 \301\302O\303\230\203\304\300 \305\301O\306P!\207\300 \301\302O\306\230\203(\304\300 \305\301O\303P!\207\300 \307\302O\310\230\203<\304\300 \305\307O\311P!\207\300 \307\302O\311\230\205O\304\300 \305\307O\310P!\207" [buffer-name -4 nil ".def" find-file-other-window 0 ".mod" -3 ".mi" ".md"] 4 (#$ . 30093) nil])
(provide 'modula2)

MMCT - 2023