Annotation of 43BSDReno/contrib/emacs-18.55/dist-1.3/fi/shell.el, revision 1.1

1.1     ! root        1: ;;
        !             2: ;; copyright (C) 1987, 1988 Franz Inc, Berkeley, Ca.
        !             3: ;;
        !             4: ;; The software, data and information contained herein are the property 
        !             5: ;; of Franz, Inc.  
        !             6: ;;
        !             7: ;; This file (or any derivation of it) may be distributed without 
        !             8: ;; further permission from Franz Inc. as long as:
        !             9: ;;
        !            10: ;;     * it is not part of a product for sale,
        !            11: ;;     * no charge is made for the distribution, other than a tape
        !            12: ;;       fee, and
        !            13: ;;     * all copyright notices and this notice are preserved.
        !            14: ;;
        !            15: ;; If you have any comments or questions on this interface, please feel
        !            16: ;; free to contact Franz Inc. at
        !            17: ;;     Franz Inc.
        !            18: ;;     Attn: Kevin Layer
        !            19: ;;     1995 University Ave
        !            20: ;;     Suite 275
        !            21: ;;     Berkeley, CA 94704
        !            22: ;;     (415) 548-3600
        !            23: ;; or
        !            24: ;;     emacs-info%[email protected]
        !            25: ;;     ucbvax!franz!emacs-info
        !            26: 
        !            27: ;; $Header: shell.el,v 1.9 88/07/15 18:32:39 layer Exp $
        !            28: 
        !            29: (defvar fi:shell-mode-map nil
        !            30:   "The shell major-mode keymap.")
        !            31: 
        !            32: (defvar fi:shell-mode-super-key-map nil
        !            33:   "Used for super-key processing in shell mode.")
        !            34: 
        !            35: (defvar fi:shell-image-name "csh"
        !            36:   "*Default Shell image to invoke from (fi:shell).  If the value
        !            37: is a string then it names the image file or image path that
        !            38: `fi:common-lisp' invokes.  Otherwise, the value of this variable is given
        !            39: to funcall, the result of which should yield a string which is the image
        !            40: name or path.")
        !            41: 
        !            42: (defvar fi:shell-image-arguments '("-i")
        !            43:   "*Default Shell image arguments when invoked from (fi:shell).")
        !            44: 
        !            45: (defvar fi:shell-prompt-pattern
        !            46:   "^[-_.a-zA-Z0-9]*[#$%>] *"
        !            47:   "*Regexp used by Newline command in shell mode to match subshell prompts.
        !            48: Anything from beginning of line up to the end of what this pattern matches
        !            49: is deemed to be prompt, and is not re-executed.")
        !            50: 
        !            51: (defun fi:shell-mode ()
        !            52:   "Major mode for interacting with an inferior shell."
        !            53:   (interactive)
        !            54:   (kill-all-local-variables)
        !            55:   (setq major-mode 'fi:shell-mode)
        !            56:   (setq mode-name "Shell")
        !            57: 
        !            58:   (if (null fi:shell-mode-super-key-map)
        !            59:       (progn
        !            60:        (setq fi:shell-mode-super-key-map (make-sparse-keymap))
        !            61:        (fi::subprocess-mode-super-keys fi:shell-mode-super-key-map 'shell)))
        !            62: 
        !            63:   (if (null fi:shell-mode-map)
        !            64:       (setq fi:shell-mode-map
        !            65:        (fi::subprocess-mode-commands (make-sparse-keymap)
        !            66:                                      fi:shell-mode-super-key-map
        !            67:                                      'shell)))
        !            68:   (use-local-map fi:shell-mode-map)
        !            69:   (setq fi:subprocess-super-key-map fi:shell-mode-super-key-map)
        !            70:   (run-hooks 'fi:subprocess-mode-hook 'fi:shell-mode-hook))
        !            71: 
        !            72: (defun fi:shell (&optional buffer-number)
        !            73:   "Start a sub-shell in a buffer whose name is determined from the optional
        !            74: prefix argument BUFFER-NUMBER.  Shell buffer names start with `*shell'
        !            75: and end with `*', with an optional `-N' in between.  If BUFFER-NUMBER is
        !            76: not given it defaults to 1.  If BUFFER-NUMBER is >= 0, then the buffer is
        !            77: named `*shell-<BUFFER-NUMBER>*'.  If BUFFER-NUMBER is < 0, then the first
        !            78: available buffer name is chosen.
        !            79: 
        !            80: The image file and image arguments are taken from the variables
        !            81: `fi:shell-image-name' and `fi:shell-image-arguments'.
        !            82: 
        !            83: See fi:explicit-shell."
        !            84:   (interactive "p")
        !            85:   (fi::make-subprocess
        !            86:    buffer-number "shell" 'fi:shell-mode
        !            87:    fi:shell-prompt-pattern fi:shell-image-name fi:shell-image-arguments))
        !            88: 
        !            89: (defun fi:explicit-shell (&optional buffer-number
        !            90:                                    image-name image-arguments)
        !            91:   "The same as fi:shell, except that the image and image arguments
        !            92: are read from the minibuffer."
        !            93:   (interactive "p\nsImage name: \nxImage arguments (a list): ")
        !            94:   (fi::make-subprocess
        !            95:    buffer-number "shell" 'fi:shell-mode fi:shell-prompt-pattern
        !            96:    image-name image-arguments))

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.