;ELC���
;;; Compiled by yjaradin(at)localhost.localdomain on Fri Jul 4 12:17:08 2008
;;; from file /tmp/build-1.4.0/build-linux-i486/share/elisp/mozart.el
;;; in Emacs version 21.4.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.
(if (and (boundp ’emacs-version)
(< (aref emacs-version (1- (length emacs-version))) ?A)
(or (and (boundp ‘epoch::version) epoch::version)
(string-lessp emacs-version “19”)))
(error “`mozart.el’ was compiled for Emacs 19 or later”))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code “\300\301!\210\300\302!\210\300\303!\210\300\304!\207” [require oz comint compile oz-server] 2)
(defvar oz-old-frame-title (byte-code “\203�\303\304\305\306 @!"A\207 \205�\n\207” [oz-gnu-emacs oz-lucid-emacs frame-title-format assoc name frame-parameters visible-frame-list] 4) “
Saved Emacs frame title.”)
(defgroup mozart nil “Running a Mozart sub-process.” :group ’oz :prefix “oz-”)
(defcustom oz-prefix “/tmp/build-1.4.0/install” “*Directory where Mozart is installed.\nUsed as fallback if the environment variable OZHOME is not set.” :type ’string :group ’mozart)
(put ’oz-prefix ’variable-interactive “DMozart installation directory: “)
(defcustom oz-change-title t “*If non-nil, change the Emacs frame title while Mozart is running.” :type ’boolean :group ’mozart)
(byte-code “\303\301\304\305#\210\302B\306\302!\204� \303\207” [current-load-list oz-change-title oz-change-title put variable-interactive “XChange frame title while Mozart is running? (t or nil): “ boundp] 4)
(defcustom oz-frame-title (concat “Oz Programming Interface (” oz-old-frame-title “)”) “*String to be used as Emacs frame title while Mozart is running.” :type ’string :group ’mozart)
(byte-code “\303\301\304\305#\210\302B\306\302!\204� \303\207” [current-load-list oz-frame-title oz-frame-title put variable-interactive “sFrame title to use while Mozart is running: “ boundp] 4)
(defcustom oz-prepend-line t “*If non-nil, prepend a \line directive to all Oz queries.” :type ’boolean :group ’mozart)
(byte-code “\303\301\304\305#\210\302B\306\302!\204� \303\207” [current-load-list oz-prepend-line oz-prepend-line put variable-interactive “XPrepend a \line directive to all Oz queries? (t or nil): “ boundp] 4)
(defcustom oz-default-host “localhost” “Default name of host to use for creating socket connections.” :type ’string :group ’mozart)
(byte-code “\306\301\307\310#\210\302B\311\302!\204� \303B\311\303!\204 �\312\313!\305B\311\305!\2048�\312\314!\2067�\312\315!\2067�\f\316B\311\316!\204[�\317>\203M�\320\202Y�
\205Y�\321
\322P!\323\324O\306\207” [current-load-list oz-default-host oz-default-host OZ_PI oz-prefix OZHOME put variable-interactive “sDefault host name to use for socket connections: “ boundp getenv “OZ_PI” “OZ_HOME” “OZHOME” oz-platform (ms-dos windows-nt) “win32-i486” shell-command-to-string “/bin/ozplatform” 0 -1 system-type] 4)
(fset ’oz-platform ’(lambda nil (byte-code “\206 � \303>\203�\304\304\207\n\203�\305\n\306P!\307\310O\211\207\311\312!\207” [oz-platform system-type OZHOME (ms-dos windows-nt) “win32-i486” shell-command-to-string “/bin/ozplatform” 0 -1 error “Cannot determine Oz platform”] 4)))
(byte-code “\301B\302\301\207” [current-load-list oz-tmp-buffer “ Oz Tmp”] 2)
(fset ’oz-tmp-buffer ’(lambda nil (byte-code “\301!\207” [oz-tmp-buffer get-buffer-create] 2)))
(fset ’oz-escape-path-separator ‘(lambda (s &rest l) (byte-code “\212\306 q\210\307 \210\310 \210c\210 \nB\311\211
\203:�eb\210
@
A\312\fP\313\314\f!\311\315#\203�\316\315\211#\210\202’�+\317ed")\207” [s path-separator l repl sep seps oz-tmp-buffer widen erase-buffer nil “\” re-search-forward regexp-quote t replace-match buffer-substring-no-properties] 4)))
(byte-code “\301B\306\301!\204�\307\310!\206�\311\302B\306\302!\204&�\307\312!\206%�\313 P\305B\306\305!\204V�\307\314!\206U�\307\315!\206U�\307\316!\206U�\317\320\321\322\n\323P!!\320\321\322\f\323P!!%\324B\306\324!\204~�\307\325!\206|�\307\326!\206|�\307\327!\206|�\330\321\322\f\331P!!Q\332B\306\332!\204\215�\307\333!\334B\306\334!\204\234�\307\335!\336B\306\336!\204\253�\307\337!\340B\306\340!\204\272�\307\341! \342B\306\342!\204\376�\307\343!\206\374�%\205\374�\322\n\344\345 \346R!/0\3470\350"\203\346�\35100\203\371�\3220\344\345 \346R!P\202\372�\350)P"\352B\306\352!\204\307\353!\206"\354B\306\354!\204\355,\356B\306\356!\204,\351.\351\207” [current-load-list OZVERSION OZDOTOZ path-separator oz-prefix OZLOAD boundp getenv “OZVERSION” “1.4.0” “OZ_DOTOZ” “~/.oz/” “OZ_SEARCH_LOAD” “OZ_LOAD” “OZLOAD” concat “cache=” oz-escape-path-separator expand-file-name “/cache” OZPATH “OZ_SEARCH_PATH” “OZ_PATH” “OZPATH” “.” “/share” OZEMULATOR “OZEMULATOR” OZINIT “OZINIT” OZ_TRACE_LOAD “OZ_TRACE_LOAD” OZ_TRACE_MODULE “OZ_TRACE_MODULE” OZ_LD_LIBRARY_PATH “LD_LIBRARY_PATH” “/platform/” oz-platform “/lib” equal “” nil OZ_DYLD_LIBRARY_PATH “DYLD_LIBRARY_PATH” oz-root-functor “x-oz://system/OPI.ozf” oz-gdb OZHOME d] 9)
(defcustom oz-other-buffer-size 35 “*Percentage of screen to use for Oz Compiler/Emulator/Temp window.” :type ‘integer :group ‘mozart)
(byte-code “\303\301\304\305#\210\302B\306\302!\204� \303\207” [current-load-list oz-other-buffer-size oz-other-buffer-size put variable-interactive “nPercentage of screen to use for Oz windows: “ boundp] 4)
(defcustom oz-popup-on-error t “*If non-nil, pop up Compiler resp. Emulator buffer upon error.” :type ‘boolean :group ‘mozart)
(byte-code “\303\301\304\305#\210\302B\306\302!\204� \303\207” [current-load-list oz-popup-on-error oz-popup-on-error put variable-interactive “XPop up Oz buffers on error? (t or nil): “ boundp] 4)
(defcustom oz-halt-timeout 30 “Number of seconds to wait for shutdown in oz-halt.” :type ’integer :group ’mozart)
(byte-code “\306\301\307\310#\210\302B\311\302!\204� \303B\311\303!\204�\312\304B\311\304!\204�\313\314B\311\314!\204A�
\203>�
\315P\202?�\316\f\317B\311\317!\204N�\320\321\322\323\324\325\326\327\330\331\332\333\322\211\334\335\336\337\322\340\334\341\342\343\344\345\346\347\350\351BBBBB\352BB\344\345\346\353\350\354BBBBB\355BB\344\345\346\356\350\357BBBBB\360BB\344\345\346\361\350\362BBBBB\363BB\344\345\346\364\350\365BBBBB\366BB\344\345\346\367\350\370BBBBB\371BB\344\345\346\372\350\373BBBBB\374BB\344\345\346\375\350\376BBBBB\377BB\344\345\346\201A�\350\201B�BBBBBD\344\345\346\201C�\350\201D�BBBBB\201E�BB\344\345\334\201F�\346\201G�\350\201H�BBBBBBB\201I�BB\344\345\334\201J�\346\201K�\350\201L�BBBBBBB\201M�BB\344\345\334\201N�\346\201O�\350\201P�BBBBBBB\201Q�BB\344\345\334\201R�\346\201S�\350\201T�BBBBBBB\201U�BB\344\345\334\201V�\346\201W�\350\201X�BBBBBBB\201Y�BB\344\345\334\201Z�\346\201[�\350\201\�BBBBBBB\201]�BB\344\345\334\201^�\346\201_�\350\201�BBBBBBB\201a�BB\344\345\334\201b�\346\201c�\350\201d�BBBBBBB\201e�BB\344\345\334\201f�\346\201g�\350\201h�BBBBBBB\201i�BB\344\345\334\201j�\346\201k�\350\201l�BBBBBBB\201m�BB\344\345\334\201n�\346\201o�\350\201p�BBBBBBB\201q�BB\344\345\334\201r�\346\201s�\350\201t�BBBBBBB\201u�BB\344\345\334\201v�\346\201w�\350\201x�BBBBBBB\201y�BB\344\345\334\201z�\346\201{�\350\201|�BBBBBBB\201}�BB\344\201~�\201�\201\200�@\315PEE&&DD&!\207" [current-load-list oz-halt-timeout *oz-halt-timeout* *oz-compile-command* *oz-application-command* *OZHOME* put variable-interactive "nNumber of seconds to wait for shutdown of the Mozart sub-process: " boundp "ozc -c \"%s\"" "%s" *oz-engine-program* "/bin/ozengine" "ozengine" oz-format-1 "%t\n %h" eval list defcustom oz-profiles nil "*An alist of profiles for multiple Mozart versions" :group 'mozart :type quote repeat :tag "Profile" (symbol :tag "Name ") (choice :tag "Type " :value default (const default) (const installed) (const build)) set "Options" :inline t group const :doc "Oz installation directory" :format (OZHOME) (directory) "methods used by the resolver to resolve URIs" (OZLOAD) ((repeat :tag "Methods" (choice :tag "Method" (const :tag "User Cache" user-cache) (const :tag "Global Cache" global-cache) (group :tag "Cache" (const :tag "Cache" cache) (string :tag "Directory")) (group :tag "Root" (const :tag "Root" root) (string :tag "Directory")) (group :tag "Prefix" (const :tag "Prefix" prefix) (string :tag "Match String") (string :tag "Replacement String")) (group :tag "Pattern" (const :tag "Pattern" pattern) (string :tag "Match Pattern") (string :tag "Replacement Pattern")) (group :tag "All" (const :tag "All" all) (string :tag "Directory")) (const :tag "Block default lookup" block)))) "directories to search for \\insert directives" (OZPATH) ((repeat :tag "Directories" (choice (const :tag "Current Directory" current) (const :tag "Global Installation" global) directory))) "whether the resolver should output tracing information" (OZ_TRACE_LOAD) (boolean) "whether the module manager should output tracing information" (OZ_TRACE_MODULE) (boolean) "additional directories to search for dynamically linked libraries" (LD_LIBRARY_PATH) ((repeat :tag "Directories" directory)) "additional directories to search for MacOS X dylib libraries" (DYLD_LIBRARY_PATH) ((repeat :tag "Directories" directory)) "path to emulator.exe" (OZEMULATOR) (file) oz-prefix "path to Init.ozf" (OZINIT) "additional directories to search for executable programs" (PATH) ((repeat :tag "Directories" directory)) "Change Title" "whether to change the Emacs frame title\nwhile Mozart is running" (change-title) (boolean) "Frame Title" "string to be used as Emacs frame title\nwhile Mozart is running" (frame-title) (string) "Prepend Line" "whether to prepend a \\line directive to all Oz queries" (prepend-line) (boolean) "Default Host" "default name of host to use for creating socket connections" (default-host) (string) "Source Directory" "directory containing the Mozart sources" (source-dir) (directory) "Build Directory" "directory containing the Mozart build" (build-dir) (directory) "Secondary Build Directory" "another directory containing a Mozart build.\nThis is useful when the Build Directory contains\nonly a partial build. The Secondary Build Directory should\ncontain a full build that supplies the missing pieces." (build-dir-too) (directory) "Root Functor" "URI of the root functor to load on startup" (root-functor) ((string :value "x-oz://system/OPI.ozf")) "Run Under GDB" "whether to run Mozart under GDB for debugging the implementation" (gdb) ((choice (const :tag "No" nil) (const :tag "Yes" t) (const :tag "Yes + Auto Start" auto))) "Other Buffer Size" "percentage of screen to use for Oz Compiler/Emulator/Temp window" (other-buffer-size) (integer) "Popup On Error" "whether to pop up Compiler resp. Emulator buffer upon error" (popup-on-error) (boolean) "Halt Timeout" "number of seconds to wait for shutdown in oz-halt" (halt-timeout) (integer) "Compile Command" "default shell command to do a compilation\nThis may contain at most one occurrence of
%s’, which is\nreplaced by the current buffer’s file name” (compile-command) ((string :value “ozc -c %s”)) “Application Command” “default shell command to execute an Oz application\nThis may contain at most one occurrence of %s', which\nis replaced by the current buffer's file name, minus the\n
.oz’ or .ozg' extension." (application-command) ((string :value "%s")) (const :tag "Engine Program" :doc "default Oz engine to run the OPI" engine-program) string :value] 55) (fset 'oz-simple-directory '(lambda (d) (byte-code "\301\302\303O\304\"\203�\305\302O\207\207" [d string-equal -1 nil "/" 0] 4))) (fset 'oz-push-method '(lambda (m) (byte-code "\203� B\nB\211\207" [methods path-separator m] 2))) (fset 'oz-dirs-to-search-path '(lambda (l user global) (byte-code "\306\306\n\2031�\n@\nA \304=\203�\f\202#� \305=\203#� ;\203�\307\310 !!\210\202�\311\312\313!\"+\207" [OZPATH d l methods user global nil oz-push-method oz-simple-directory apply concat reverse] 4))) (byte-code "\301B\303\301!\204\f�\304\302B\303\302!\204�\305\304\207" [current-load-list *OZ_PATH* oz-environment-variables boundp nil ("PATH" "OZ_PI" "OZ_HOME" "OZHOME" "OZINIT" "OZ_SEARCH_LOAD" "OZ_LOAD" "OZLOAD" "OZ_SEARCH_PATH" "OZ_PATH" "OZPATH" "OZEMULATOR" "OZ_TRACE_LOAD" "OZ_TRACE_MODULE" "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH")] 2) (fset 'oz-environment-snapshot '(lambda nil (byte-code "\301\302\"\207" [oz-environment-variables mapcar (lambda (v) (byte-code "\301!B\207" [v getenv] 3))] 3))) (fset 'oz-environment-install '(lambda nil (byte-code "\306\307\310\"\210\203�\311\312\"\204�\306\313 \314\313!Q\"\210\n\204\"�\203,�\306\315\n\"\210\306\316\n\"\210\f\2044�\203C�\306\317\f\"\210\306\320\f\"\210\306\321\f\"\210 \204K�\203Z�\306\322 \"\210\306\323 \"\210\306\324 \"\210\204c�\203i�\306\325\"\210\306\326\"\210\306\327\"\210\203\234�\311\312\"\204\234�\314\330!\306\330\203\227� Q\202\231�\"\210) \203\303�\311 \312\"\204\303�\314\331!\306\331\203\276� Q\202\300� \"\210)!\204\314�\205\332�\306\332\311!\312\"?\205\331�!\"\207" [*OZ_PATH* path-separator *OZHOME* *oz-ignore-env* *OZLOAD* *OZPATH* setenv "OZ_PI" "1" equal "" "PATH" getenv "OZHOME" "OZ_HOME" "OZ_SEARCH_LOAD" "OZ_LOAD" "OZLOAD" "OZ_SEARCH_PATH" "OZ_PATH" "OZPATH" "OZINIT" "OZ_TRACE_LOAD" "OZ_TRACE_MODULE" "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH" "OZEMULATOR" *OZINIT* *OZ_TRACE_LOAD* *OZ_TRACE_MODULE* *OZ_LD_LIBRARY_PATH* p *OZ_DYLD_LIBRARY_PATH* *OZEMULATOR*] 6))) (byte-code "\301B\302\301!\204\f�\303\301\207" [current-load-list oz-elisp-variables boundp (*OZHOME* *OZLOAD* *OZPATH* *OZINIT* *OZ_TRACE_LOAD* *OZ_TRACE_MODULE* *OZ_LD_LIBRARY_PATH* *OZ_DYLD_LIBRARY_PATH* *OZEMULATOR* *OZ_PATH* *oz-change-title* *oz-frame-title* *oz-prepend-line* *oz-default-host* *oz-root-functor* *oz-gdb* *oz-other-buffer-size* *oz-popup-on-error* *oz-halt-timeout* *oz-compile-command* *oz-application-command* *oz-engine-program*)] 2) (fset 'oz-elisp-snapshot '(lambda nil (byte-code "\301\302\"\207" [oz-elisp-variables mapcar (lambda (v) (byte-code "\211JB\207" [v] 2))] 3))) (byte-code "\301B\302\301!\204\f�\303\303\207" [current-load-list *oz-snapshot* boundp nil] 2) (fset 'oz-snapshot-take '(lambda nil (byte-code "\301 \302 D\211\207" [*oz-snapshot* oz-environment-snapshot oz-elisp-snapshot] 2))) (fset 'oz-environment-snapshot-revert '(lambda (l) (byte-code "\205�\302\211@@)\211@A)\"\210A\211\204�\303\207" [l x setenv nil] 4))) (fset 'oz-elisp-snapshot-revert '(lambda (l) (byte-code "\205�\211@@)\211@A)L\210A\211\204�\302\207" [l x nil] 3))) (fset 'oz-snapshot-revert '(lambda nil (byte-code "\302@!\210\303\211A@)!\210\304\211\207" [*oz-snapshot* x oz-environment-snapshot-revert oz-elisp-snapshot-revert nil] 3))) (byte-code "\301B\302\301!\204\f�\303\303\207" [current-load-list *oz-ignore-env* boundp nil] 2) (fset 'oz-profile-install '(lambda (profile) (byte-code "@\211A@)\211AA)\306\305\f\"\211A@)\306\307\f\"\211A@)\306\310\f\"\211A@)\306\311\f\"\211A@) \306\312\f\"\211A@)\n\306\313\f\"\211A@)\306\314\f\"\211A@)\f\306\315\f\"\211A@) \306\316\f\"\211A@)\306\317\f\"\211A@)\306\320\f\"\306\321\f\"\306\322\f\"\306\323\f\"\306\324\f\"\306\325\f\"\306\326\f\"\306\327\f\"\306\330\f\"\306\331\f\"\306\332\f\"\306\333\f\"\306\334\f\"\306\335\f\"\306\336\f\"\306\337\f\"\340=\203\357�\204z\341\202z\342=\203S \204\375�\343\344!\210\204\345\204 \346\204\347\f\204\f\204&\350\204.\351\204:\335 \352PD\204D\336\353D\204z\337 \354PD\202z\355=\203s\204a\356\204j\343\357!\210\204\364\360\361\211A@)\362PE\360\361\211A@)\363PE\360\364\211A@)\365PE\366\205\276\360\361\211A@)\362PE\360\361\211A@)\363PE\360\364\211A@)\365PEE\205\350\360\367\211A@)\370PE\360\371\211A@)\372PE\360\371\211A@)\373PEE\374 \205\356\375$BBB\204\374\376\204A\377@\211A@)\201d�P@\201e�@!\203!@\202@\203@\211A@)\201d�P@\201e�@!\203@@)\204K\201f�\f\204T\f\204^\201g� \204z\211A@)\201h�P \202z\343\201i�\"\210\211A@)A \204\214A\203\217 BB\203\234\201j�B!B\206\247B\201k�PC\203\377\211\377DEFGE\203\375E@DEAED\201l�=\203\344\201m�\201n�H\201o�Q!\210\202\273D\201p�=\203B\203\273\201m�\201n�\201q�B\201o�P!P!\210\202\273D\201r�=\203\201s�G\202\273D:\203\362D@\201t�=\203D\201m�\201n�\201q�\201j�D\211A@)!!P!\210\202\273D@\201u�=\203i\201m�\201v�\201q�\201j�D\211A@)!!P!\210\202\273D@\360=\203\232\201m�\201w�\201q�D\211A@)\201x�\"\201x�\201q�DA\211A@)!R!\210\202\273D@\201y�=\203\315\201m�\201z�\201q�D\211A@)\201x�\"\201x�\201q�DA\211A@)!R!\210\202\273D@\201{�=\203\273\201m�\201|�\201q�\201j�D\211A@)!!P!\210\202\273\343\201}�D\"\210\202\273G\203\n\201m�\201x�!\210\201~�\201�\201\200�F!\"I,\2033\201\201�\377B\2050B\201\202�P#J \203=\201\203�K\n\203G\201\203�L\203{\201\201�\201\204�H\201\205�\201\206� \201\207�R!B\205x\201\204�B\201\205�\201\206� \201\207�R!#M\f\203\257\201\201�\f\201\204�H\201\205�\201\206� \201\207�R!B\205\254\201\204�B\201\205�\201\206� \201\207�R!#N \203\270 O\203\336\201\201�\201\204�H\201\210�P!B\205\333\201\204�B\201\210�P!#P\203\355\211A@)\202\357QR\203�\211A@)\202ST\203\211A@)\202UV\203&\211A@)\202(WX\2038\211A@)Y\203F\211A@)Z\203U\211A@)\202W[\\\203h\211A@)\202j]^\203{\211A@)\202}_
\203\215\211A@)a\203\233\211A@)b\203\251\211A@)c.\201\211� \207” [profile name x type alist OZHOME assq OZLOAD OZPATH OZ_TRACE_LOAD OZ_TRACE_MODULE LD_LIBRARY_PATH DYLD_LIBRARY_PATH OZEMULATOR OZINIT PATH ignore-env change-title frame-title prepend-line default-host source-dir build-dir build-dir-too root-functor gdb other-buffer-size popup-on-error halt-timeout compile-command application-command engine-program default (ignore-env nil) installed error “No OZHOME in profile” (user-cache global-cache) (current global) (user global) (user global) (ignore-env t) “/bin/ozc -c "%s"” “%s” “/bin/ozengine” build (ignore-env t) “No build-dir in profile” prefix “x-oz://system/” “/share/lib/” “/share/tools/” “x-oz://boot/” “/platform/emulator/” append “x-oz://system/images/inspector/” “/share/tools/inspector/images/” “x-oz://system/images/” “/share/lib/images/” “/share/tools/images/” (user-cache) (global-cache) (current) nil f oz-ignore-env OZHOME OZINIT spec specs methods blocks OZDOTOZ OZLOAD OZPATH OZ_TRACE_LOAD OZ_TRACE_MODULE OZ_LD_LIBRARY_PATH OZ_DYLD_LIBRARY_PATH OZEMULATOR OZ_PATH oz-change-title oz-change-title oz-frame-title oz-frame-title oz-prepend-line oz-prepend-line oz-default-host oz-default-host oz-root-functor oz-gdb oz-other-buffer-size oz-other-buffer-size oz-popup-on-error oz-popup-on-error oz-halt-timeout oz-halt-timeout oz-compile-command oz-application-command oz-engine-program “/share/lib/Init.ozf” file-exists-p (user global) (user global) “/platform/emulator/emulator.exe” “Unkown profile type: %s” oz-simple-directory “/share/Init.ozf” user-cache oz-push-method “cache=” “/cache” global-cache oz-escape-path-separator block t cache root “root=” “prefix=” “=” pattern “pattern=” all “all=” “unexpected OZLOAD method: %s” apply concat reverse oz-dirs-to-search-path “/share” “” expand-file-name “/platform/” oz-platform “/lib” “/bin” oz-environment-install] 12)))
(byte-code “\301B\302\301!\204\f�\303\303\207” [current-load-list oz-current-profile boundp nil] 2)
(defun oz-set-profile (name) “
Select and install a profile from the list oz-profiles' of user-defined profiles. NAME is the name of a profile, or nil to revert to the defaults." (interactive (list (completing-read "Profile: " (mapcar #'(lambda (p) (list (format "%s" (car p)))) oz-profiles) nil t))) (byte-code "\304 \203�\305\306!\203�\307\310!\210\202�\311\312!\210\313 \210\314 \210\205@�\315\316\"?\205@�\317\320!\n\"\211\203;�\321!\202?�\311\322\")\207" [name oz-current-profile oz-profiles profile oz-is-running y-or-n-p "Oz is currently running. Kill it?" oz-halt t error "Cannot install a profile while Oz is running" oz-snapshot-revert oz-snapshot-take equal "" assq intern oz-profile-install "Unknown profile: %s"] 4)) (defvar oz-emulator-buffer "*Oz Emulator*" "\ Name of the Oz Emulator buffer.") (defvar oz-compiler-buffer "*Oz Compiler*" "\ Name of the Oz Compiler buffer.") (defvar oz-compiler-buffers nil "\ List of buffers in which Oz Compilers have been started.") (defvar oz-temp-buffer "*Oz Temp*" "\ Name of the Oz temporary buffer.") (defvar oz-buffered-send-string nil "\ List of buffered calls to oz-send-string. These are performed only when the Oz Compiler is known to be running.") (defvar oz-emulator-filter-hook nil "\ If non-nil, hook used as second process filter for the Oz Emulator. This is set when gdb is active.") (defconst oz-error-string (char-to-string 17) "\ Regex to recognize error messages from Oz Compiler and Emulator. Used for popping up the corresponding buffer.") (defconst oz-remove-pattern (byte-code "\301\302\303\304!\302\303\305!\302\306\303\307!\303\310!\303\310!\302\303\311!\302\312&\207" [oz-error-string concat "\\|" char-to-string 18 19 "\\" 4 8 13 "\\\\line.*% fromemacs\n"] 15) "\ Regex specifying what to remove from Compiler and Emulator output. All strings matching this regular expression are removed.") (defconst oz-socket-pattern "'oz-socket \\(\"\\([^\"]*\\)\" \\)?\\([0-9]+\\) \\([0-9]+\\)'" "\ Regex for reading the information about the compiler socket.") (defconst oz-show-temp-pattern "'oz-show-temp \\([^ ]*\\)'" "\ Regex for reading messages from the Oz compiler.") (defconst oz-bar-pattern "'oz-bar \\(.*\\) \\([0-9]+\\) \\([0-9]+\\|~1\\) \\([^ ]*\\)'" "\ Regex for reading messages from the Oz debugger or profiler.") (defun oz-set-title (frame-title) "\ Set the title of the Emacs frame." (byte-code "\204�\305\207 \203�\306\307\310 \"\207\n\205�\211\207" [*oz-change-title* oz-gnu-emacs oz-lucid-emacs frame-title frame-title-format t mapcar (lambda (scr) (byte-code "\302\303 BC\"\207" [scr frame-title modify-frame-parameters name] 4)) visible-frame-list] 3)) (defvar oz-compiler-output-start nil "\ Position in the Oz Compiler buffer where the last run's output began.") (make-variable-buffer-local 'oz-compiler-output-start) (defconst oz-error-intro-pattern "\\(error\\|warning\\) \\*\\*\\*\\*\\*" "\ Regular expression for finding error messages.") (defconst oz-error-pattern "in \\(file \"\\([^\"\n]+\\)\",? *\\)?line \\([0-9]+\\)\\(,? *column \\([0-9]+\\)\\)?" "\ Regular expression matching error coordinates.") (defun oz-compilation-parse-errors (&optional limit-search find-at-least) "\ Parse the current buffer as Mozart error messages. See variable
compilation-parse-errors-function’ for the interface it uses.” (byte-code “\306\307\310!\210 \206�e\n\206�\311]b\210\311\312\f
\203!�
Y\205#�\313#\203\331�\314\315!\316\314\317!!\314\320!\211\205A�\316!\212\321 \205N�\322 \210\323 ) \205[�\324\306"! \204f�\306\202\306�\204q� C\202\306�!\203\236�\212!q\210\214\325 \210\326!\210\203\225�\311V\203\225�\327!\210 \323 *B\202\306�\330!\211"#D\203\271�E\202\276�$D% %+B\211%\203\324�T%B.\202�)\331!\307\332!\207" [compilation-error-list oz-compiler-output-start compilation-parsing-end num-found oz-error-pattern find-at-least nil message "Parsing error messages..." 0 re-search-forward t oz-match-string 2 string-to-number 3 5 oz-goto-error-start beginning-of-line point-marker oz-find-buffer-or-file widen goto-line forward-char oz-normalize-file-name nreverse "Parsing error messages...done" limit-search file-string line column-string column error-marker buffer file default-directory filedata error-data] 5)) (fset 'oz-goto-error-start '(lambda nil (byte-code "\212\302 \210\303\304!\205�\305\306\307#)\211\205� b)\207" [oz-error-intro-pattern errstart beginning-of-line looking-at "%\\*\\*" re-search-backward nil t] 5))) (fset 'oz-line-region '(lambda (arg) (byte-code "\212\303\211\n\304V\203�\305 \210
\306\nS!\210\307 \210\202;�\n\304U\203*�
\202;�\n\304W\203;�\307 \210
\306\n!\210 +B\207" [end start arg nil 0 beginning-of-line forward-line end-of-line] 2))) (fset 'oz-paragraph-region '(lambda (arg) (byte-code "\212\303\211\n\304V\203�\305\306!\210
\307\n!\210\202;�\n\304U\203'�
\202;�\n\304W\203;�\307\nS!\210
\305\nS!\210 +B\207" [end start arg nil 0 backward-paragraph 1 forward-paragraph] 2))) (fset 'oz-get-region '(lambda (start end) (byte-code "\212b\210\303\304!\210\305
"\306U\204�\307 \210 b\210\310\304!\210
)\n\203=�\311\312\313\305\314"T!\315\316 \2065�\317 \320\321 "&\207\321 "\207” [start end oz-prepend-line skip-chars-forward “ \n” count-lines 0 beginning-of-line skip-chars-backward concat “\line “ number-to-string 1 “ ‘” buffer-file-name buffer-name “’ % fromemacs\n” buffer-substring] 9)))
(fset ’oz-normalize-file-name ’(lambda (file) (byte-code “\302 \303\216\304\305 "\203�\306\307\310\211 $\304\311 \312#\203%�\306\307\310\211 $\202� *\207” [save-match-data-internal file match-data ((set-match-data save-match-data-internal)) string-match “^///+” replace-match “/” t “//+” 1] 5)))
(fset ’oz-find-buffer-or-file ’(lambda (name visit) (byte-code “\303!\206�\304!\206� \205�\305\306\307!!)\207” [name visit find-file-run-dired get-buffer find-buffer-visiting nil find-file-noselect oz-normalize-file-name] 3)))
(fset ’oz-match-string ’(lambda (num &optional string) (byte-code “\302!\205� \203� \302!\303!O\207\304\302!\303!"\207” [num string match-beginning match-end buffer-substring] 4)))
(defun run-oz nil “
Run Mozart as a sub-process.
Handle input and output via the Oz Emulator buffer.” (interactive) (byte-code “\212\300 \210)\301 \207” [oz-start-if-not-running oz-create-oz-buffer] 1))
(fset ’oz-create-oz-buffer ‘(lambda nil (byte-code “\301=\206�\302=\206�\303=\206�\304 \207” [major-mode oz-mode oz-gump-mode ozm-mode oz-new-buffer] 2)))
(defun oz-halt (force) “
Halt the Mozart sub-process.
With no prefix argument, feed an {Application.exit 0}' statement and wait for the process to terminate. Waiting time is limited by variable
oz-halt-timeout’; after this delay, the process is sent a SIGHUP if
still living.
With C-u as prefix argument, send the process a SIGHUP without delay.
With C-u C-u as prefix argument, send it a SIGKILL instead.” (interactive “P”) (byte-code “\306 \203X�\307\310!\210\2046� \311!\312\313\314"\210\315\f!\316=\2035�\n\317V\2035�\307\320\n"\210\321\322!\210\nS\202�:\203M�@\323V\203M�\324!\210\307\325!\210\202\�\326!\210\307\327!\210\202\�\307\330!\210\331
!\203j�\332
!\210\333
!\210\334 \210\335\336 !\207” [force oz-halt-timeout i oz-emulator-buffer proc oz-temp-buffer oz-is-running message “Halting Oz …” get-buffer-process oz-send-string “ functor _ require Application prepare {Application.exit 0} end “ t process-status run 0 “Halting Oz … %s” sleep-for 1 4 kill-process “Oz killed.” delete-process “Oz halted.” “Oz is not running.” get-buffer delete-windows-on kill-buffer oz-bar-remove nil oz-set-title oz-buffered-send-string oz-old-frame-title] 3))
(fset ’oz-is-running ’(lambda nil (byte-code “\301!\207” [oz-emulator-buffer get-buffer-process] 2)))
(fset ’oz-start-if-not-running ’(lambda nil (byte-code “\306 ?\2050�\307!\210 \203�\310 \210\311\312\313\n!!\314"\210\202)�\315\316\f"\210\311\317\314"\210\320
!\210\321\322!\207” [oz-current-profile oz-gdb oz-emulator-buffer oz-engine-program oz-root-functor oz-frame-title oz-is-running oz-set-profile oz-start-gdb-emulator oz-prepare-emulator-buffer process-filter get-buffer-process t “Oz Emulator” oz-make-comint oz-filter oz-set-title message “Oz started.”] 4)))
(fset ’oz-attach ’(lambda nil (byte-code “\305\211\nG\306Y\203�\307\n@!\nA\202�\310\311!\210\312 B!\210\313\314\305"\210\315\316\f!!\207” [port host command-line-args-left oz-default-host oz-emulator-buffer nil 1 string-to-number error “Missing port argument to oz-attach” oz-make-comint oz-prepare-emulator-buffer oz-filter process-kill-without-query get-buffer-process] 3)))
(fset ’oz-make-comint ’(lambda (program &rest switches) (byte-code “\303!\203�\304!\210\305!\210\306\307\310 \311\n%\207” [oz-emulator-buffer program switches get-buffer delete-windows-on kill-buffer apply make-comint “Oz Emulator” nil] 6)))
(fset ’oz-prepare-emulator-buffer ’(lambda (filter show) (byte-code “\305!\n\306 \307"\210)\f\203�\310\311!!\210\312!\207” [oz-emulator-buffer proc filter oz-emulator-filter-hook show get-buffer-process set-process-filter oz-emulator-filter oz-buffer-show get-buffer bury-buffer] 3)))
(fset ’oz-socket ‘(lambda (host port port2) (byte-code “\306\211\203#�\307\n@!\204�\310\n@!\210\202�\n@ B\nA\211\204� *\311\312!\211B\212q\210\313 \210\306\314\315!\316L\210)\317\320!
B\306\211%\210\321!\322\306"\210\323\324"\210)\325!\210\326!\210\306\203\205�\327@@@A"\210A\211\204q�\330
"\207” [oz-compiler-buffers newbs bs buffer buffer-read-only host nil comint-check-proc kill-buffer generate-new-buffer “Oz Compiler” compilation-mode make-local-variable compilation-parse-errors-function oz-compilation-parse-errors comint-exec buffer-name get-buffer-process process-kill-without-query set-process-filter oz-compiler-filter oz-buffer-show bury-buffer oz-send-string oz-server-open port proc oz-buffered-send-string xs port2] 7)))
(fset ’oz-emulator-filter ’(lambda (proc string) (byte-code “\306\307 \n#\203>�\310\311\n"\206�\312\310\313\n"!\312\310\314\n"!\315\306!\n\306O\n\316\306!\317OP\212\320
\f#\210,\202�)\n"\207” [start oz-socket-pattern string oz-default-host port2 port 0 string-match oz-match-string 2 string-to-number 3 4 match-beginning match-end nil oz-socket host oz-emulator-filter-hook proc] 6)))
(fset ’oz-compiler-filter ’(lambda (proc string) (byte-code “\306\307 \n#\203[�\310\311\312\n"!\313\306!\n\306O\n\314\306!\315OP\212\316\f!\206+�\317\f!\320
!\210
q\210)\321\322\315\211\322%\210\323!\210\307\324"\203M�\325 \210\202W�\307\326"\203W�\327 \210\202�)\306\307"\n#\203\272�\311\312\n"\330\311\331\n"!\311\332\n"#\333#\334"\203\203�\335\202\207�\330#!)\311\336\n"%&'\313\306!\n\306O\n\314\306!\315OP\212\337(!q\210\340'&%\210-\202^�)\341(\n\"\207" [start oz-show-temp-pattern string filename oz-temp-buffer buf 0 string-match oz-normalize-file-name oz-match-string 1 match-beginning match-end nil get-buffer generate-new-buffer oz-buffer-show insert-file-contents t delete-file "\\.ozi” oz-mode “\.ozm" ozm-mode string-to-number 2 3 string-equal "~1" -1 4 process-buffer oz-bar oz-filter oz-bar-pattern c state column line file proc] 6))) (fset 'oz-filter '(lambda (proc string) (byte-code "p\306\216\307\211\211\310\f!q\210`\311\f!U\212\311\f!b\210`\312 !\210\313\311\f!`\"\210 b\210\205<�\314\307\315#\205<�\316\317! b\210\314\307\315#\203R�\320\321\307\315#\210\202@�)\n\203k�\322p!\210\323\324p!\n\"\210\325\324p!\n\"\202s�\205s�\311\f!b-\207" [old-buffer start-of-output errs-found moving proc string ((set-buffer old-buffer)) nil process-buffer process-mark insert-before-markers set-marker re-search-forward t match-beginning 0 replace-match "" oz-buffer-show set-window-start get-buffer-window set-window-point *oz-popup-on-error* oz-error-string oz-remove-pattern] 4))) (fset 'oz-buffer-show '(lambda (buffer) (byte-code "\205Y�\306!?\205Y�\306 !\206D�\n\307\204(�\f\203(�\306\f@!\fA\202�*\206D�\306 !\206D�\310\311 \312\313\314\311 !\315Z\"\315\"\"\316\"\210q\210\317d\"\210\320!)\207" [buffer oz-emulator-buffer oz-compiler-buffers com bs oz-temp-buffer get-buffer-window nil split-window get-largest-window / * window-height 100 set-window-buffer set-window-point bury-buffer *oz-other-buffer-size* win] 7))) (defun oz-toggle-compiler nil "\ Toggle visibility of the Oz Compiler window. If the compiler buffer is not visible in any window, then display it. If it is, then delete the corresponding window." (interactive) (byte-code "\301!\207" [oz-compiler-buffer oz-toggle-window] 2)) (defun oz-toggle-emulator nil "\ Toggle visibility of the Oz Emulator window. If the emulator buffer is not visible in any window, then display it. If it is, then delete the corresponding window." (interactive) (byte-code "\301!\207" [oz-emulator-buffer oz-toggle-window] 2)) (defun oz-toggle-temp nil "\ Toggle visibility of the Oz Temp window. If the temporary buffer is not visible in any window, then show it. If it is, then delete the corresponding window." (interactive) (byte-code "\301!\207" [oz-temp-buffer oz-toggle-window] 2)) (fset 'oz-toggle-window '(lambda (buffername) (byte-code "\303!\211\2050�\304!\211\203*�\212 q\210\305\n!dU\203\"�\306!\202&�\307\nd\")\202/�\310\303!!))\207" [buffername buffer win get-buffer get-buffer-window window-point delete-windows-on set-window-point oz-buffer-show] 4))) (fset 'oz-zmacs-stuff '(lambda nil (byte-code "\301\300!\205 �\302\211\207" [zmacs-region-stays boundp t] 2))) (defun oz-feed-buffer nil "\ Feed the current buffer to the Oz Compiler." (interactive) (byte-code "\302 \203�\203�\303 \203�\304\305\306\307 \"!\203�\310 \210 \2031�\2031�\303 \2041�\311!\210\2026�\312ed\"\210)\313 \207" [file *oz-prepend-line* buffer-file-name buffer-modified-p y-or-n-p format "Save buffer %s first? " buffer-name save-buffer oz-feed-file oz-feed-region oz-zmacs-stuff] 4)) (defun oz-feed-region (start end) "\ Feed the current region to the Oz Compiler." (interactive "r") (byte-code "\302\303 \"!\210\304 \207" [start end oz-send-string oz-get-region oz-zmacs-stuff] 4)) (defun oz-feed-line (arg) "\ Feed the current line to the Oz Compiler. With ARG, feed that many lines. If ARG is negative, feed that many preceding lines as well as the current line." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-line-region oz-feed-region] 3)) (defun oz-feed-paragraph (arg) "\ Feed the current paragraph to the Oz Compiler. If the point is exactly between two paragraphs, feed the preceding paragraph. With ARG, feed that many paragraphs. If ARG is negative, feed that many preceding paragraphs as well as the current paragraph." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-paragraph-region oz-feed-region] 3)) (byte-code "\301>\203 �\302\303M\210\202�\302\304M\210\302\207" [system-type (ms-dos windows-nt) oz-encode-string (lambda (s) (byte-code "\302 \"\207" [string buffer-file-coding-system encode-coding-string] 3)) (lambda (s) (byte-code "\207" [s] 1))] 2) (defun oz-send-string (string &optional system) "\ Feed STRING to the Oz Compiler, restarting Mozart if it died. If SYSTEM is non-nil, it is a command for the system and is to be compiled using a default set of switches." (interactive "sString to feed: \nP") (byte-code "\306 \210\307!\204�\310 \nBC\"\211\207\307!\311\312!\313P\212q\210p\314\315\307p!!!\316)\203C�\317 \320\321\322\323\n!R\"\210\202J�\317 \323\n!\"\210\317 \313\"\210\317 \f\"*\207" [oz-compiler-buffer oz-buffered-send-string string system eof proc oz-start-if-not-running get-buffer-process nconc char-to-string 4 "\n" marker-position process-mark nil comint-send-string "\\localSwitches\n" "\\switch +threadedqueries -verbose " "-expression -runwithdebugger\n" oz-encode-string compilation-last-buffer oz-compiler-output-start compilation-error-list] 7)) (defun oz-to-coresyntax-buffer nil "\ Display the core syntax expansion of the current buffer." (interactive) (byte-code "\300ed\"\207" [oz-to-coresyntax-region] 3)) (defun oz-to-coresyntax-region (start end) "\ Display the core syntax expansion of the current region." (interactive "r") (byte-code "\302 \303#\207" [start end oz-directive-on-region "+core -codegen"] 4)) (defun oz-to-coresyntax-line (arg) "\ Display the core syntax expansion of the current line. With ARG, feed that many lines. If ARG is negative, feed that many preceding lines as well as the current line." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-line-region oz-to-coresyntax-region] 3)) (defun oz-to-coresyntax-paragraph (arg) "\ Display the core syntax expansion of the current paragraph. If the point is exactly between two paragraphs, feed the preceding paragraph. With ARG, feed that many paragraphs. If ARG is negative, feed that many preceding paragraphs as well as the current paragraph." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-paragraph-region oz-to-coresyntax-region] 3)) (defun oz-to-emulatorcode-buffer nil "\ Display the emulator code for the current buffer." (interactive) (byte-code "\300ed\"\207" [oz-to-emulatorcode-region] 3)) (defun oz-to-emulatorcode-region (start end) "\ Display the emulator code for the current region." (interactive "r") (byte-code "\302 \303#\207" [start end oz-directive-on-region "-core +codegen +outputcode -feedtoemulator"] 4)) (defun oz-to-emulatorcode-line (arg) "\ Display the emulator code for the current line. With ARG, feed that many lines. If ARG is negative, feed that many preceding lines as well as the current line." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-line-region oz-to-emulatorcode-region] 3)) (defun oz-to-emulatorcode-paragraph (arg) "\ Display the emulator code for the current paragraph. If the point is exactly between two paragraphs, feed the preceding paragraph. With ARG, feed that many paragraphs. If ARG is negative, feed that many preceding paragraphs as well as the current paragraph." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-paragraph-region oz-to-emulatorcode-region] 3)) (fset 'oz-directive-on-region '(lambda (start end switches) (byte-code "\303\304\305\306\307\310 \n\"%!\207" [switches start end oz-send-string concat "\\localSwitches\n" "\\switch " "\n" oz-get-region] 9))) (defun oz-browse-buffer nil "\ Feed the current buffer to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Browse." (interactive) (byte-code "\300ed\"\207" [oz-browse-region] 3)) (defun oz-browse-region (start end) "\ Feed the current region to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Browse." (interactive "r") (byte-code "\303 \"\304\305\n\306Q!\210)\307 \207" [start end contents oz-get-region oz-send-string "{Browse\n" "}" oz-zmacs-stuff] 4)) (defun oz-browse-line (arg) "\ Feed the current line to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Browse. With ARG, feed that many lines. If ARG is negative, feed that many preceding lines as well as the current line." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-line-region oz-browse-region] 3)) (defun oz-browse-paragraph (arg) "\ Feed the current paragraph to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Browse. If the point is exactly between two paragraphs, feed the preceding paragraph. With ARG, feed that many paragraphs. If ARG is negative, feed that many preceding paragraphs as well as the current paragraph." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-paragraph-region oz-browse-region] 3)) (defun oz-show-buffer nil "\ Feed the current buffer to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Show." (interactive) (byte-code "\300ed\"\207" [oz-show-region] 3)) (defun oz-show-region (start end) "\ Feed the current region to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Show." (interactive "r") (byte-code "\303 \"\304\305\n\306Q!\210)\307 \207" [start end contents oz-get-region oz-send-string "{Show\n" "}" oz-zmacs-stuff] 4)) (defun oz-show-line (arg) "\ Feed the current line to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Show. With ARG, feed that many lines. If ARG is negative, feed that many preceding lines as well as the current line." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-line-region oz-show-region] 3)) (defun oz-show-paragraph (arg) "\ Feed the current paragraph to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Show. If the point is exactly between two paragraphs, feed the preceding paragraph. With ARG, feed that many paragraphs. If ARG is negative, feed that many preceding paragraphs as well as the current paragraph." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-paragraph-region oz-show-region] 3)) (defun oz-inspect-buffer nil "\ Feed the current buffer to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Inspect." (interactive) (byte-code "\300ed\"\207" [oz-inspect-region] 3)) (defun oz-inspect-region (start end) "\ Feed the current region to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Inspect." (interactive "r") (byte-code "\303 \"\304\305\n\306Q!\210)\307 \207" [start end contents oz-get-region oz-send-string "{Inspect\n" "}" oz-zmacs-stuff] 4)) (defun oz-inspect-line (arg) "\ Feed the current line to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Inspect. With ARG, feed that many lines. If ARG is negative, feed that many preceding lines as well as the current line." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-line-region oz-inspect-region] 3)) (defun oz-inspect-paragraph (arg) "\ Feed the current paragraph to the Oz Compiler. Assuming it to contain an expression, enclose it by an application of the procedure Inspect. If the point is exactly between two paragraphs, feed the preceding paragraph. With ARG, feed that many paragraphs. If ARG is negative, feed that many preceding paragraphs as well as the current paragraph." (interactive "p") (byte-code "\302!\303 @ A\")\207" [arg region oz-paragraph-region oz-inspect-region] 3)) (defun oz-debugger (arg) "\ Start the Oz debugger. With ARG, stop it instead." (interactive "P") (byte-code "\301\203 �\302\202\n�\303\304\"\207" [arg oz-send-string "{Ozcar.close}" "{Ozcar.open}" t] 3)) (defun oz-breakpoint-at-point (arg) "\ Set breakpoint at current line. With ARG, delete it instead." (interactive "P") (byte-code "\301!\207" [arg oz-breakpoint] 2)) (fset 'oz-breakpoint '(lambda (flag) (byte-code "\212\302 \210\303\304`\"T\305\306\307\310 \206�\311 \312\313! \203 �\314\202!�\315\316&\317\"*\207" [line flag beginning-of-line count-lines 1 oz-send-string concat "{Ozcar.object bpAt('" buffer-file-name buffer-name "' " int-to-string " false" " true" ")}" t] 8))) (defun oz-profiler (arg) "\ Start the profiler. With ARG, stop it instead." (interactive "P") (byte-code "\301\203 �\302\202\n�\303\304\"\207" [arg oz-send-string "{Profiler.close}" "{Profiler.open}" t] 3)) (defun oz-open-panel nil "\ Feed `{Panel.open}' to the Oz Compiler." (interactive) (byte-code "\300\301\302\"\207" [oz-send-string "{Panel.open}" t] 3)) (defun oz-open-distribution-panel nil "\ Feed `{DistributionPanel.open}' to the Oz Compiler." (interactive) (byte-code "\300\301\302\"\207" [oz-send-string "{DistributionPanel.open}" t] 3)) (defun oz-open-compiler-panel nil "\ Feed `{New CompilerPanel.'class' init(OPI.compiler) _}' to the Oz Compiler." (interactive) (byte-code "\300\301\302\"\207" [oz-send-string "{New CompilerPanel.'class' init(OPI.compiler) _}" t] 3)) (defun oz-feed-file (file) "\ Feed a file to the Oz Compiler." (interactive "fFeed file: ") (byte-code "\301\302\303Q!\207" [file oz-send-string "\\insert '" "'"] 4)) (byte-code "\304\305!\210\306\305\307\"\210\310\305\203�\311\202�\312\"\210\304\313!\210\306\313\314\"\210\310\313\203)�\315\202*�\307\"\210\304\316!\210\306\316\307\"\210\310\316\203?�\317\202@�\312\"\210\304\320!\210\306\320\321\"\210\310\320\203U�\315\202V�\307\"\210\304\322!\210\306\322\307\"\210\310\322\203k�\323\202l�\312\"\210\304\324!\210\306\324\323\"\210\310\324\203\201�\315\202\202�\307\"\210\302 B\325\302!\204\220�\326\303 B\325\303!\204\234�\326\326\207" [oz-is-color current-load-list oz-bar-overlay oz-bar-overlay-here make-face bar-running set-face-foreground "white" set-face-background "#a0a0a0" "black" bar-running-here "#707070" "#d0d0d0" bar-runnable "#7070c0" bar-runnable-here "#5050a0" bar-blocked "#d05050" bar-blocked-here boundp nil] 3) (fset 'oz-bar '(lambda (file line column state) (byte-code "\306\307\"\203�\310 \210\311\312!\207\306 \313\"\203�\310 \207\314 \315\"\316\n!\317\317\317,\317-\212\nq\210\214\320 \210\321.!\210`\212\322\323!\210`)/\324V\203N�\325/!\210/\324Y\203i�\3260!\203i�\327\324!,\330\324!-\202o�\f,\f-1\204\267�2\203\230�\331\f \"1\331,-\"3\3321\333\334#\210\3323\333\335#\210\202\267�4\203\267�\336\f \"1\336,-\"3\3371\334\"\210\3373\335\"\2102\203\321�\3401\f p\210\3403,-p\210\202\350�4\203\350�\3411\f p\210\3413,-p\210\306\342\"\204\363�\343!\210*\344 5\345\216p\31767\346!\210\nq\210`6\feW\204\fdV\203\320 \210\347\f!\204+\fb\210\350\351\352 S\353\"!\210\3476!\20366b\2107q.\n\207" [state file buffer window start1 end1 string-equal "exit" oz-bar-remove call-interactively save-buffers-kill-emacs "" oz-find-buffer-or-file t display-buffer nil widen goto-line forward-line 1 0 forward-char looking-at match-beginning match-end make-overlay overlay-put priority 17 18 make-extent set-extent-priority move-overlay set-extent-endpoints "unchanged" oz-bar-configure selected-window ((byte-code "\301!\203\n�\302!\210\301\207" [save-selected-window-window window-live-p select-window] 2)) select-window pos-visible-in-window-p recenter / window-height 2 start2 end2 line column oz-token-pattern oz-bar-overlay oz-gnu-emacs oz-bar-overlay-here oz-lucid-emacs save-selected-window-window old-pos old-buffer] 5))) (fset 'oz-bar-configure '(lambda (state) (byte-code "\306\307P!@\306\307\310Q!@\203!�\311\f\302\n#\210\311 \302 #\202/�\205/�\312\f\n\"\210\312 \"*\207" [state face-here face oz-gnu-emacs oz-bar-overlay oz-bar-overlay-here read-from-string "bar-" "-here" overlay-put set-extent-face oz-lucid-emacs] 5))) (defun oz-bar-remove nil "\ Remove the bar marking an Oz source line." (interactive) (byte-code "\205� \203�\304!\210\304\n!\210\202�\203�\305!\210\305\n!\210\306\306\211\207” [oz-bar-overlay oz-gnu-emacs oz-bar-overlay-here oz-lucid-emacs delete-overlay delete-extent nil] 2))
(fset ‘oz-start-gdb-emulator ‘(lambda nil (byte-code “p\306\307Q\310!\203�\311!\210\312!\210\f\203"�\313\314
P!\210\202+�\203+�\313
!\210\315p!\316\317! "\210\320=\203D�\316\317!\321"\210\322\n!\207” [oz-root-functor init-str old-buffer oz-emulator-buffer oz-gnu-emacs OZEMULATOR “set args -u “ “\n” get-buffer delete-windows-on kill-buffer gdb “gdb “ buffer-name comint-send-string get-buffer-process auto “run\n” switch-to-buffer oz-lucid-emacs oz-gdb] 4)))
(defvar oz-compile-history nil “
History of commands used in oz-compile-file.”)
(defun oz-compile-file (command) “
Compile an Oz program non-interactively.” (interactive (list (if (buffer-file-name) (read-from-minibuffer “Oz compilation command: “ oz-compile-command nil nil ‘(oz-compile-history . 1)) (error “Buffer has no file name”)))) (byte-code “\304 \305 \n\206\f�\306"\n\203�\307 \203�\310\305\311\312 "!\203�\313 \210\314\315\"*\207" [command *oz-compile-command* file real-command buffer-file-name format "" buffer-modified-p y-or-n-p "Save buffer %s first? " buffer-name save-buffer compile-internal "No more errors"] 4)) (defvar oz-application-history nil "\ History of commands used in oz-debug-application.") (defvar oz-application-name-pattern "\\`\\(.*\\)\\.ozg?\\'" "\ Regular expression matching a file name with an `.oz' or `.ozg' extension. The first subexpression matches the file name without the extension.") (defun oz-debug-application (command) "\ Invoke ozd." (interactive (list (if (oz-is-running) (error "Only one Oz may be running") (read-from-minibuffer "Oz application invocation: " *oz-application-command* nil nil '(oz-application-history . 1))))) (byte-code "\306 \211\205�\307\n\"\205�\310\311\n\"\312\313 \f\206�\314\"P\315\316\317 #\210\320\321\322\"+\207" [command *oz-application-command* file oz-application-name-pattern app real-command buffer-file-name string-match oz-match-string 1 "ozd -E --opi -- " format "" oz-make-comint "/bin/sh" "-c" oz-prepare-emulator-buffer oz-filter t] 5)) (byte-code "\301B\306\302B\307\310\311\312\313#\314Q\303B\307\310\311\315\313#\316Q\304B\317\305B\320\321B\322\323B\324\325B\326\327B\330 \331B\n\332D\333D\f\334D\335B%\336B\337B\340 \341D\342B\343DE\"\301\207" [current-load-list ozm-keywords-matcher ozm-instr-matcher-1 ozm-instr-matcher-2 ozm-definition-matcher ozm-register-matcher "\\<\\(true\\|false\\|unit\\|pos\\|pid\\|ht\\|onScalar\\|onRecord\\|cmi\\)\\>" " \\(" mapconcat identity ("move" "moveMove" "allocateL" "createVariable" "createVariableMove" "putConstant" "putList" "putRecord" "setConstant" "setProcedureRef" "setValue" "setVariable" "setVoid" "getNumber" "getLiteral" "getList" "getListValVar" "getListVarVar" "getRecord" "unifyNumber" "unifyLiteral" "unifyValue" "unifyVariable" "unifyValVar" "unifyVoid" "unify" "branch" "callBI" "inlinePlus1?" "inlineMinus1?" "inlineDot" "inlineAt" "inlineAssign" "callGlobal" "callMethod" "call" "consCall" "deconsCall" "tailCall" "tailConsCall" "tailDeconsCall" "callProcedureRef" "callConstant" "sendMsg" "tailSendMsg" "exHandler" "testLiteral" "testNumber" "testRecord" "testList" "testBool" "testBI" "testLT" "testLE" "match" "getVariable" "getVarVar" "getVoid" "lockThread" "getSelf" "setSelf" "debugEntry" "debugExit" "globalVarname" "localVarname" "clear") "\\|" "\\)(" ("allocateL[1-9]" "allocateL10" "deAllocateL" "deAllocateL[1-9]" "deAllocateL10" "return" "popEx" "skip" "profileProc") "\\)” “ \(definition\|definitionCopy\|endDefinition\)(” “\<\(x\|y\|g\)([0-9]+)” ozm-label-matcher “^lbl(\([A-Za-z0-9_]+\|’[^’\n]’\))” ozm-name-matcher “<N: [^>]+>” ozm-builtin-name-matcher “ \(callBI\|testBI\)(\([A-Za-z0-9_]+\|’[^’\n]*’\)” ozm-font-lock-keywords-1 list 1 (1 font-lock-keyword-face) (1 font-lock-keyword-face) (1 font-lock-function-name-face) font-lock-string-face ozm-font-lock-keywords ozm-font-lock-keywords-2 append (1 font-lock-type-face) font-lock-reference-face (2 font-lock-variable-name-face)] 7)
(fset ’ozm-set-font-lock-defaults ’(lambda nil (byte-code “\300\301!\302L\207” [make-local-variable font-lock-defaults ((ozm-font-lock-keywords ozm-font-lock-keywords-1 ozm-font-lock-keywords-2) nil nil nil beginning-of-line)] 2)))
(defun ozm-mode nil “
Major mode for displaying Oz machine code.
Commands:
\{oz-mode-map}” (interactive) (byte-code “\305 \210\306!\210\307\310\311 \210\312 \210\205�\f\205�\313\314!\207” [oz-mode-map major-mode mode-name oz-want-font-lock window-system kill-all-local-variables use-local-map ozm-mode “Oz-Machine” oz-mode-variables ozm-set-font-lock-defaults font-lock-mode 1] 2))
(provide ’mozart)