;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\"\207" [require ess-s-lang ess-trns defvaralias inferior-S+6-multipleinstances inferior-S+-multipleinstances] 3) #@238 Default "/MULTIPLEINSTANCES" opens up a new instance of S+[678] in a GUI window and connects it to the '(ddeESS [S+])' window. The alternative nil uses an existing S+ GUI (if there is one) and connects it to the '(ddeESS [S+])' window. (defvar inferior-S+-multipleinstances "/MULTIPLEINSTANCES" (#$ . 252)) (defvaralias 'S+6-customize-alist 'S+-customize-alist) #@31 Variables to customize for S+ (defvar S+-customize-alist (append '((ess-local-customize-alist quote S+-customize-alist) (ess-dialect . S+-dialect-name) (ess-object-name-db-file . "ess-sp6-namedb.el") (ess-display-help-on-object-function function ess-chm-display-help-on-object) (inferior-ess-program . inferior-S+-program) (inferior-ess-help-command . "help(\"%s\")\n") (inferior-ess-help-filetype . "chm") (inferior-ess-search-list-command . "searchPaths()\n") (inferior-ess-start-file) (inferior-ess-start-args concat inferior-S+-multipleinstances " " inferior-S+-start-args " " inferior-S+-print-command " S_PROJ=" (when (fboundp 'w32-short-file-name) (w32-short-file-name (directory-file-name default-directory)))) (ess-STERM . "ddeESS")) S+common-cust-alist) (#$ . 621)) (defvaralias 'Sqpe+6-customize-alist 'Sqpe+-customize-alist) #@35 Variables to customize for Sqpe+. (defvar Sqpe+-customize-alist (append '((ess-local-customize-alist quote Sqpe+-customize-alist) (ess-dialect . S+-dialect-name) (ess-loop-timeout . 500000) (ess-object-name-db-file . "ess-sp6-namedb.el") (ess-display-help-on-object-function function ess-chm-display-help-on-object) (inferior-ess-program . inferior-Sqpe+-program) (inferior-ess-help-command . "help(\"%s\")\n") (inferior-ess-help-filetype . "chm") (inferior-ess-search-list-command . "searchPaths()\n") (inferior-ess-start-file) (inferior-ess-start-args concat "ALWAYS_PROMPT=X" " " inferior-Sqpe+-start-args) (ess-STERM . "iESS")) S+common-cust-alist) (#$ . 1464)) (defalias 'S+6 'S+) #@313 Verify that `inferior-S+-program' points to S-Plus 6 or S-Plus 7 or S-Plus 8. Start normally for S-Plus 6.1 and later. Inform the user to start S-Plus 6.0 from the icon and then connect to it with `S+-existing'. Give an error message if `inferior-S+-program' doesn't point to S-Plus 6 or S-Plus 7 or S-Plus 8. (defalias 'S+ #[(&optional proc-name) "r\303\304!\305P\306\"q\210\307\310y\210\311\312e\306#\204\313\314!\210\202.\310y\210\315\316e\306#\203.\313\317!\210)\320\n!\207" [inferior-S+-program buffer-read-only proc-name find-file-noselect executable-find "/../../versions" t 1 nil search-backward-regexp "splus [678].[0-9]" error "The emacs variable `inferior-S+-program' does\nnot point to S-Plus 6 or 7 or 8. Please add `splus[678]?/cmd' (expand the\n`[678]?' to match your setup) to your `exec-path' or specify the complete\npath to `Splus.exe' in the variable `inferior-S+-program' in your\n`.emacs' file." search-backward "splus 6.0" "S-Plus 6.0 for Microsoft Windows has a bug that\nprevents it from being started by emacs. Instead, you must start it\nby double-clicking an icon. Then you can connect to it with\n`S+-existing'. You should consider upgrading to a newer\nrelease of S-Plus." S+-initiate] 4 (#$ . 2157) nil]) (defalias 'S+6-initiate 'S+-initiate) #@698 Call 'S-PLUS [678].x for Windows', the 'GUI Thing' from StatSci. Put S-Plus in an independent MS-Window (Splus persists even if the '(ddeESS [S+])' window is killed in emacs). Do this by creating a comint process that calls sh. Send a shell command in that sh buffer to call Splus. When it completes set up a shell as a placeholder in the '(ddeESS [S+])' buffer. The S-Plus options are correctly set. In particular, the S-Plus Commands window is opened if the Options/General Settings/Startup menu says it should be. There is a startup delay of `ess-S+-startup-delay' seconds during which the screen will not be refreshed. This delay is here to allow slow disks to start the Splus program. (defalias 'S+-initiate #[(&optional proc-name) "\212\306\307\310\np#!\210\311 \312\"\311 \313\"\311 \314\"\315\316! \206$\f\317=?)\320\321\322!\2055\322\323*!!!\210\324\316\321\322!\205C\322*!\"\210\325 \210\326\327!\210\324\316)\"\210*\330 !\210\331+\332,\333-\334.\335/db\2100\3361Qc\210\337 \210\3262!\21034\340\3413P!\210eb\210\342c\210db\210\343\344p!\345\346#\210\3475\35067\205\246\3407!)\207" [S+-customize-alist ess-customize-alist ess-dialect ess-microsoft-p system-type use-dialog-box ess-write-to-dribble-buffer format "\n(S+): ess-dialect=%s, buf=%s\n" append ((inferior-ess-program . "sh")) ((inferior-ess-primary-prompt . "^")) ((inferior-ess-start-args . "-i")) getenv "S_PROJ" cygwin cd fboundp w32-short-file-name directory-file-name setenv inferior-ess sleep-for 2 ess-setq-vars-local "ddeclient" "S-PLUS" "SCommand" nil comint-simple-send " " inferior-ess-send-input ess-eval-linewise "#" "This is a placeholder buffer. You can't type anything here.\nUse `C-x b RET' to return to your file.\n\nAnything sent to this process from an S-mode buffer goes\ndirectly to the associated Splus Commands window.\n\nThe S-Plus Commands window must be visible.\nYou may need to open the S-Plus Commands window manually (by clicking on\nSplus/Window/Commands Window).\n\nAny results of the !system.command typed at the S prompt in the\nSplus Commands window appear in this buffer.\n\n" set-process-coding-system get-buffer-process raw-text-dos raw-text-unix t "ddeESS" s-proj default-directory inferior-ess-ddeclient inferior-ess-client-name inferior-ess-client-command comint-process-echoes comint-input-sender inferior-S+-program inferior-ess-start-args ess-S+-startup-delay ess-current-process-name ess-local-process-name buffer-read-only mode-name inferior-ess-language-start] 5 (#$ . 3450) nil]) (defalias 'S+6-existing 'S+-existing) #@743 Call 'S-PLUS [678].x for Windows', the 'GUI Thing' from StatSci. Do so by finding an existing S-Plus in an independent MS-Window (if there is one) and set up a '(ddeESS [S+])' buffer in emacs. If there is no existing S-Plus, then a new one will be opened in the default directory. The default is usually something like 'c:/Program Files/Insightful/splus70/users/yourname' for S-Plus before 8.0.4. Beginning with 8.0.4, S-Plus uses the default directory 'c:/Documents and Settings/yourname/My Documents/S-PLUS Projects/Project1'. Beginning with TIBCO Spotfire S+ Version 8.1.1 for Microsft Windows, the default directory is 'c:/DOCUME~1/yourname/MYDOCU~1/SPOTFI~1/Project1'. If you have a HOME environment variable, it will open it there. (defalias 'S+-existing #[(&optional proc-name) "\304\305\306\n!\210*r\307 @q\210\310db\210\311 \210\312y\210\313c\210\314\211)\207" [inferior-S+-multipleinstances ess-S+-startup-delay proc-name buffer-read-only " & # " 0 S+-initiate buffer-list nil beginning-of-line -1 "This is S+-existing.\nResults of the !system.command typed at the S prompt in the\nSplus Commands window blink a DOS window and you won't see them.\n\n" t] 2 (#$ . 6036) nil]) (defalias 'Sqpe+6 'Sqpe+) #@79 Call 'Sqpe' from 'S-PLUS [678].x for Windows', the 'Real Thing' from StatSci. (defalias 'Sqpe+ #[(&optional proc-name) "\306\307!\310= \206\f\311=?\n\203\312\307\"\210\313\314\315 p#!\210\316 \317\"\320 \210\321 !\210\322!\323\"\324\260#\325#P$\326%\327\330\331\310\332$\210db\210\333c\210\334 \210\335&'\203c\336'!\210\n\205k\312\307\310\"*\207" [Sqpe+-customize-alist ess-customize-alist shome-nil-p ess-microsoft-p system-type use-dialog-box getenv "SHOME" nil cygwin setenv ess-write-to-dribble-buffer format "\n(Sqpe+6): ess-dialect=%s, buf=%s\n" append ((inferior-ess-primary-prompt . "^")) inferior-ess ess-setq-vars-local "\\(" "\\|" "\\)" "^" inferior-ess-input-sender add-hook comint-output-filter-functions shell-strip-ctrl-m t "options(interactive=TRUE)" inferior-ess-send-input "iESS(Sqpe)" ess-eval-linewise inferior-Sqpe+-SHOME-name ess-dialect inferior-ess-primary-prompt inferior-ess-secondary-prompt inferior-ess-prompt comint-prompt-regexp comint-input-sender mode-name inferior-ess-language-start] 5 (#$ . 7265) nil]) (byte-code "\300\301\302\"\210\300\301\303\"\210\300\301\304\"\210\300\301\305\"\210\306\307\310\"\207" [add-to-list auto-mode-alist ("\\.sp\\'" . S-mode) ("\\.[qsS]\\'" . S-mode) ("\\.ssc\\'" . S-mode) ("\\.SSC\\'" . S-mode) defalias S+6-mode S+-mode] 3) #@71 Major mode for editing S+[678] source. See `ess-mode' for more help. (defalias 'S+-mode #[(&optional proc-name) "\304\n\"\210 \205 \305 \207" [S+-customize-alist ess-customize-alist proc-name ess-imenu-use-S ess-mode ess-imenu-S] 3 (#$ . 8591) nil]) (defalias 'S+6-transcript-mode 'S+-transcript-mode) #@25 S-PLUS transcript mode. (defalias 'S+-transcript-mode #[nil "\301!\207" [S+-customize-alist ess-transcript-mode] 2 (#$ . 8904) nil]) #@319 Verify that `inferior-S+-program' points to S-Plus 6 or S-Plus 7 or S-Plus 8. Start normally for S-Plus 6.1 and later. Inform the user to start S-Plus 6.0 from the icon and then connect to it with `S+-msdos-existing'. Give an error message if `inferior-S+-program' doesn't point to S-Plus 6 or S-Plus 7 or S-Plus 8. (defalias 'S+-msdos #[(&optional proc-name) "r\303\304!\305P\306\"q\210\307\310y\210\311\312e\306#\204\313\314!\2022\310y\210\315\316e\306#\203/\313\317!\2022\320\n!)\207" [inferior-S+-program buffer-read-only proc-name find-file-noselect executable-find "/../../versions" t 1 nil search-backward-regexp "splus [678].[0-9]" error "The emacs variable `inferior-S+-program' does\n not point to S-Plus 6 or 7 or 8. Please add `splus[678]?/cmd'\n (expand the `[678]?' to match your setup) to your `exec-path' or\n specify the complete path to `Splus.exe' in the variable\n`inferior-S+-program' in your `.emacs' file." search-backward "splus 6.0" "S-Plus 6.0 for Microsoft Windows has a bug that\nprevents it from being started by emacs. Instead, you must start it\nby double-clicking an icon. Then you can connect to it with\n`S+-msdos-existing'. You should consider upgrading to a newer\nrelease of S-Plus." S+-msdos-initiate] 4 (#$ . 9045) nil]) (defalias 'S+6-msdos-initiate 'S+-msdos-initiate) #@698 Call 'S-PLUS [678].x for Windows', the 'GUI Thing' from StatSci. Put S-Plus in an independent MS-Window (Splus persists even if the '(ddeESS [S+])' window is killed in emacs). Do this by creating a comint process that calls sh. Send a shell command in that sh buffer to call Splus. When it completes set up a shell as a placeholder in the '(ddeESS [S+])' buffer. The S-Plus options are correctly set. In particular, the S-Plus Commands window is opened if the Options/General Settings/Startup menu says it should be. There is a startup delay of `ess-S+-startup-delay' seconds during which the screen will not be refreshed. This delay is here to allow slow disks to start the Splus program. (defalias 'S+-msdos-initiate #[(&optional proc-name) "\212\306\307\310\np#!\210\311 \312\"\311 \313\"\311 \314\"\315\316! \206$\f\317=?,\320\321\322!\2055\322\323-!!!\210\324\316\321\322!\205C\322-!\"\210\325 \210\326\327!\210\324\316,\"\210*\330 !\210\331.\332/\3330\3341\3352\336\337p!\340\211#\210db\2103\3414Qc\210\342 \210\3265!\210\3432\344\345\346\335\343$\21067\347\3506P!\210eb\210\351c\210db\210\3528!\210\3439\353:;\205\265\347;!)\207" [S+-customize-alist ess-customize-alist ess-dialect ess-microsoft-p system-type use-dialog-box ess-write-to-dribble-buffer format "\n(S+): ess-dialect=%s, buf=%s\n" append ((inferior-ess-program getenv "COMSPEC")) ((inferior-ess-primary-prompt . "^")) ((inferior-ess-start-args . "")) getenv "S_PROJ" cygwin cd fboundp w32-short-file-name directory-file-name setenv inferior-ess sleep-for 2 ess-setq-vars-local "ddeclient" "S-PLUS" "SCommand" comint-simple-send nil set-process-coding-system get-buffer-process raw-text-dos " " inferior-ess-send-input t add-hook comint-output-filter-functions shell-strip-ctrl-m ess-eval-linewise "#" "This is a placeholder buffer. You can't type anything here.\nUse `C-x b RET' to return to your file.\n\nAnything sent to this process from an S-mode buffer goes\ndirectly to the associated Splus Commands window.\n\nThe S-Plus Commands window must be visible.\nYou may need to open the S-Plus Commands window manually\n (by clicking on Splus/Window/Commands Window).\n\nThere is a `ess-S+-startup-delay' second delay when this program starts\nduring which the emacs screen will be partially blank.\n\nRemember to 'q()' from S-Plus and\nthen C-x C-q exit from the '(ddeESS [S+])' buffer,\nor take the risk of not being able to shut down your computer\nand suffering through scandisk.\n\nAny results of the !system.command typed at the S prompt in the\nSplus Commands window (are supposed to) appear in this buffer.\n\n" use-local-map "ddeESS" s-proj default-directory inferior-ess-ddeclient inferior-ess-client-name inferior-ess-client-command comint-input-sender comint-process-echoes inferior-S+-program inferior-ess-start-args ess-S+-startup-delay ess-current-process-name ess-local-process-name comint-mode-map buffer-read-only mode-name inferior-ess-language-start] 5 (#$ . 10375) nil]) (defalias 'S+6-msdos-existing 'S+-msdos-existing) #@743 Call 'S-PLUS [678].x for Windows', the 'GUI Thing' from StatSci. Do so by finding an existing S-Plus in an independent MS-Window (if there is one) and set up a '(ddeESS [S+])' buffer in emacs. If there is no existing S-Plus, then a new one will be opened in the default directory. The default is usually something like 'c:/Program Files/Insightful/splus70/users/yourname' for S-Plus before 8.0.4. Beginning with 8.0.4, S-Plus uses the default directory 'c:/Documents and Settings/yourname/My Documents/S-PLUS Projects/Project1'. Beginning with TIBCO Spotfire S+ Version 8.1.1 for Microsft Windows, the default directory is 'c:/DOCUME~1/yourname/MYDOCU~1/SPOTFI~1/Project1'. If you have a HOME environment variable, it will open it there. (defalias 'S+-msdos-existing #[(&optional proc-name) "\304\305\306\n!\210*r\307 @q\210\310db\210\311 \210\312y\210\313c\210\314\211)\207" [inferior-S+-multipleinstances ess-S+-startup-delay proc-name buffer-read-only "" 0 S+-msdos-initiate buffer-list nil beginning-of-line -1 "This is S+-msdos-existing.\nResults of the !system.command typed at the S prompt in the\nSplus Commands window blink a DOS window and you won't see them.\n\n" t] 2 (#$ . 13440) nil]) #@715 Generate the `M-x splusxy' functions for starting other versions of Sqpe. `ESS-SHOME-VERSIONS' is normally taken from `ess-sqpe-versions', a variable that contains strings that determine which functions are created. This works by creating a temp buffer where the template function `Sqpe+template' is edited by replacing the string 'Sqpe+template' by the version name. The list of functions actually created appears in the `ess-dribble-buffer'. If `X64' is not nil, then modify the function name to show "-64bit" in its name. The result `ess-sqpe-versions-created' will store a list of the new Sqpe defuns, if any, that were created. The defuns will normally be placed on the menubar upon ESS initialisation. (defalias 'ess-sqpe-versions-create #[(ess-SHOME-versions &optional x64) "\306\211\211\307\310!\306r q\210ed|\210 \205\311\312! \203~ @ A\313\n!\203`\314\n! P\315\316K \"\210\317c\210\fb\210\320\321\306\322\323$\203Y\324\325P\322\211#\210\202D\320\326\306\322#\203j\324\n\322\211#\210\202Ydb\210B\327\330\331\n#!\210\202\332 \210\333 !\210)-\207" [ess-sqpe-versions-created eval-buf version versions beg x64 nil get-buffer-create "*ess-temp-sqpe-evals*" "-64bit" ess-uniq-list file-executable-p file-name-nondirectory prin1 Sqpe+template "\n\n" search-forward "lambda" t 1 replace-match "defun " "ess-SHOME" ess-write-to-dribble-buffer format "(Sqpe): ess-sqpe-versions-create making M-x defun %s for %s \n" eval-buffer kill-buffer ess-SHOME-versions version-function-name] 5 (#$ . 14658)]) #@141 Call 'Sqpe' from 'S-PLUS for Windows ess-SHOME', the 'Real Thing' from StatSci. This function was generated by `ess-sqpe-versions-create'. (defalias 'Sqpe+template #[(&optional proc-name) "\306\307\310!\311\312\313\310\311\"\210\314\315\316 p#!\210\317 \320\"\321 \210\322 !\210\323!\324\"\325\260#\326#P$\327%\330\331\332\306\333$\210db\210\334c\210\335 \210\336&'\203Y\337'!\210\313\310 \",\207" [Sqpe+-customize-alist ess-customize-alist use-dialog-box shome-old inferior-Sqpe+-SHOME-name inferior-Sqpe+-program nil getenv "SHOME" "ess-SHOME" "ess-SHOME/cmd/sqpe.exe" setenv ess-write-to-dribble-buffer format "\n(Sqpe+template): ess-dialect=%s, buf=%s\n" append ((inferior-ess-primary-prompt . "^")) inferior-ess ess-setq-vars-local "\\(" "\\|" "\\)" "^" inferior-ess-input-sender add-hook comint-output-filter-functions shell-strip-ctrl-m t "options(interactive=TRUE)" inferior-ess-send-input "iESS(Sqpe)" ess-eval-linewise ess-dialect inferior-ess-primary-prompt inferior-ess-secondary-prompt inferior-ess-prompt comint-prompt-regexp comint-input-sender mode-name inferior-ess-language-start] 5 (#$ . 16204) nil]) (provide 'ess-sp6w-d)