;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\207" [require ess-mode ess-inf ess-s-lang ess-dde ess-trns] 2) #@35 Name of 'dialect' for S-PLUS 4.x. (defvar S+4-dialect-name "S+4" (#$ . 224)) #@237 Default "/MULTIPLEINSTANCES" opens up a new instance of S+4 in a GUI window and connects it to the '(ddeESS [S+4])' window. The alternative nil uses an existing S+4 GUI (if there is one) and connects it to the '(ddeESS [S+4])' window. (defvar inferior-S+4-multipleinstances "/MULTIPLEINSTANCES" (#$ . 308)) #@32 Variables to customize for S+4 (defvar S+4-customize-alist (append '((ess-local-customize-alist quote S+4-customize-alist) (ess-dialect . S+4-dialect-name) (ess-object-name-db-file . "ess-sp4-namedb.el") (inferior-ess-program . inferior-S+4-program) (inferior-ess-help-command . "help(\"%s\")\n") (inferior-ess-help-filetype . "chm") (ess-send-region-function function ess-dde-send-region) (ess-load-file-function function ess-dde-load-file) (ess-command-function function ess-dde-command) (ess-eval-linewise-function function ess-dde-eval-linewise) (ess-dump-object-function function ess-dde-dump-object) (ess-read-object-name-function function ess-dde-read-object-name) (ess-find-help-file-function function ess-dde-find-help-file) (ess-display-help-on-object-function function ess-chm-display-help-on-object) (inferior-ess-start-file) (inferior-ess-start-args concat inferior-S+4-multipleinstances " " inferior-S+4-print-command " S_PROJ=" (directory-file-name default-directory)) (ess-STERM . "ddeESS")) S+common-cust-alist) (#$ . 622)) #@36 Variables to customize for Sqpe+4. (defvar Sqpe+4-customize-alist (append '((ess-local-customize-alist quote Sqpe+4-customize-alist) (ess-dialect . S+4-dialect-name) (ess-loop-timeout . 500000) (ess-object-name-db-file . "ess-sp4-namedb.el") (ess-display-help-on-object-function function ess-chm-display-help-on-object) (inferior-ess-program . inferior-Sqpe+4-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-language-start concat "options(" "STERM='" ess-STERM "'" (if ess-editor (concat ", editor='" ess-editor "'")) (if ess-pager (concat ", pager='" ess-pager "'")) ")") (ess-STERM . "iESS")) S+common-cust-alist) (#$ . 1669)) #@664 Call 'S-PLUS 4.x', the 'GUI Thing' from StatSci. Put S-Plus in an independent MS-Window (Splus persists even if the '(ddeESS [S+4])' 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+4])' 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 30 second delay during startup in which the screen will not be refreshed. This delay is here to allow slow disks to start the Splus program. (defalias 'S+4 #[(&optional proc-name) "\212\306\307\310\np#!\210\311 \312\"\311 \313\"\311 \314\"\315\316!\315\317!\320\321!\2033\322\321\323 !!!\210\2029\322\323 !!\210\324\316 \"\210\324\317\315\325!\"\210\326 \210\327\330!\210\324\317 \"\210\324\316\f\"\210*\331 !\210\332+\333,\334-\335.\336/db\2100\3371Qc\210\340 \210\327\341!\21023\342\3432P!\210eb\210\344c\210db\210\345\3463!\347\350#\210\3514\35256\205\252\3426!)\207" [S+4-customize-alist ess-customize-alist ess-dialect manpath s-proj default-directory ess-write-to-dribble-buffer format "\n(S+4): ess-dialect=%s, buf=%s\n" append ((inferior-ess-program . "sh")) ((inferior-ess-primary-prompt . "^")) ((inferior-ess-start-args . "-i")) getenv "S_PROJ" "MANPATH" fboundp w32-short-file-name cd directory-file-name setenv "PATH" inferior-ess sleep-for 2 ess-setq-vars-local "ddeclient" "S-PLUS" "SCommand" nil comint-simple-send " " inferior-ess-send-input 30 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-process raw-text-dos raw-text-unix t "ddeESS" inferior-ess-ddeclient inferior-ess-client-name inferior-ess-client-command comint-process-echoes comint-input-sender inferior-S+4-program inferior-ess-start-args ess-current-process-name ess-local-process-name buffer-read-only mode-name inferior-ess-language-start] 5 (#$ . 2445) nil]) #@398 Call 'S-PLUS 4.x', 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+4])' buffer in emacs. If there is no existing S-Plus, then a new one will be opened in the default directory, usually something like c:/Program Files/spls45se/users/yourname. If you have a HOME environment variable, it will open it there. (defalias 'S+4-existing #[(&optional proc-name) "\303\304 !\210)r\305 @q\210\306db\210\307 \210\310y\210\311c\210\312\211)\207" [inferior-S+4-multipleinstances proc-name buffer-read-only " & # " S+4 buffer-list nil beginning-of-line -1 "This is S+4-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 (#$ . 4937) nil]) #@64 Call 'Sqpe' from 'S-PLUS 4.x', the 'Real Thing' from StatSci. (defalias 'Sqpe+4 #[(&optional proc-name) "\306\307!\310=\211\203\311\307 \"\210\312\313\314\fp#!\210\315 \316\"\317 \210\320 !\210\321 \322\323\260\324P \325!\326\327\330\310\331$\210db\210\332c\210\333 \210\334\"#\203W\335#!\210\n\205_\311\307\310\")\207" [Sqpe+4-customize-alist ess-customize-alist shome-nil-p inferior-Sqpe+4-SHOME-name ess-dialect inferior-ess-primary-prompt getenv "SHOME" nil setenv ess-write-to-dribble-buffer format "\n(Sqpe+4): 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=T)" inferior-ess-send-input "iESS(Sqpe)" ess-eval-linewise inferior-ess-secondary-prompt inferior-ess-prompt comint-prompt-regexp comint-input-sender mode-name inferior-ess-language-start] 6 (#$ . 5761) nil]) #@67 Major mode for editing S+4 source. See `ess-mode' for more help. (defalias 'S+4-mode #[(&optional proc-name) "\304\n\"\210 \205 \305 \207" [S+4-customize-alist ess-customize-alist proc-name ess-imenu-use-S ess-mode ess-imenu-S] 3 (#$ . 6750) nil]) #@29 S-PLUS 4.x transcript mode. (defalias 'S+4-transcript-mode #[nil "\301!\207" [S+4-customize-alist ess-transcript-mode] 2 (#$ . 7009) nil]) #@664 Call 'S-PLUS 4.x', the 'GUI Thing' from StatSci. Put S-Plus in an independent MS-Window (Splus persists even if the '(ddeESS [S+4])' 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+4])' 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 30 second delay during startup in which the screen will not be refreshed. This delay is here to allow slow disks to start the Splus program. (defalias 'S+4-msdos #[(&optional proc-name) "\212\306\307\310\np#!\210\311 \312\"\311 \313\"\311 \314\"\315\316!\317\320!\203/\321\320\322\f!!!\210\2025\321\322\f!!\210\323\316\f\"\210\324 \210\325\326!\210\323\316 \"\210)\327 !\210\330\331,\332-\333.\334/\335\3360!\337\211#\210db\2101\3402Qc\210\341 \210\325\342!\210\343/\344\345\346\334\343$\21030\347\3503P!\210eb\210\351c\210db\210\3524!\210\3435\35367\205\250\3477!)\207" [S+4-customize-alist ess-customize-alist ess-dialect s-proj default-directory inferior-ess-ddeclient ess-write-to-dribble-buffer format "\n(S+4): ess-dialect=%s, buf=%s\n" append ((inferior-ess-program getenv "COMSPEC")) ((inferior-ess-primary-prompt . "^")) ((inferior-ess-start-args . "")) getenv "S_PROJ" fboundp w32-short-file-name cd 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-process raw-text-dos " " inferior-ess-send-input 30 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 There is a 30\nsecond delay when this program starts during which the emacs\nscreen will be partially blank.\n Remember to `q()' from S-Plus\nand then C-x C-q exit from the `'(ddeESS [S+4])'' buffer, or take\nthe risk of not being able to shut down your computer and\nsuffering through scandisk.\n Any results of the !system.command\ntyped at the S prompt in the Splus Commands window (are supposed\nto) appear in this buffer.\n\n" use-local-map "ddeESS" inferior-ess-client-name inferior-ess-client-command comint-input-sender comint-process-echoes ess-local-process-name inferior-S+4-program inferior-ess-start-args ess-current-process-name comint-mode-map buffer-read-only mode-name inferior-ess-language-start] 5 (#$ . 7156) nil]) #@398 Call 'S-PLUS 4.x', 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+4])' buffer in emacs. If there is no existing S-Plus, then a new one will be opened in the default directory, usually something like c:/Program Files/spls45se/users/yourname. If you have a HOME environment variable, it will open it there. (defalias 'S+4-msdos-existing #[(&optional proc-name) "\303\304 !\210)r\305 @q\210\306db\210\307 \210\310y\210\311c\210\312\211)\207" [inferior-S+4-multipleinstances proc-name buffer-read-only "" S+4-msdos buffer-list nil beginning-of-line -1 "This is S+4-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 (#$ . 10021) nil]) (provide 'ess-sp4-d)