Mercurial > emacs
view lisp/play/yow.el @ 10515:d32348ef2b69
(term-version): Increased to 0.94.
(term-if-emacs19, term-if-xemacs, term-ifnot-xemacs): New macros
to conditionalize at compile-time for different emacs versions.
(various places): Use them (instead of term-is-XXXX).
(term-is-emacs19): Removed, no longer needed.
Change keybindings to not use C-c LETTER, for
term-char-mode, term-line-mode. Keybindings for term-pager-enable
and term-pager-disable replaced by one for term-pager-toggle.
(term-pager-toggle): New function.
(term-fake-pager-enable, term-fake-pager-disable):
Define as aliases, so that menubar code will find proper keybindings.
(term-char-mode): Make no-op if already in char mode.
(term-line-mode): Make no-op if already in line mode.
(term-mode-map): Add keybinding for no-op term-line-mode, so
code to display menubar keybindings doesn't lose it. (Needed
as long as char-mode and line-mode share term-terminal-menu.)
(term-raw-escape-map): Likewise for term-char-mode.
(term-char-mode, term-line-mode): Better documentation strings.
Added menubar for pager sub-mode.
(term-command-hook): Disabled the feature that allowed
inferior to send a lisp command to emacs - too big a security hole.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 22 Jan 1995 02:21:32 +0000 |
parents | 34901f215641 |
children | 9a8ea4e8cb01 |
line wrap: on
line source
;;; yow.el --- quote random zippyisms ;; Copyright (C) 1993, 1994 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Author: Richard Mlynarik ;; Keywords: games ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ;;; Commentary: ;; Important pinheadery for GNU Emacs. ;; ;; See cookie1.el for implementation. Note --- the `n' argument of yow ;; from the 18.xx implementation is no longer; we only support *random* ;; random access now. ;;; Code: (require 'cookie1) (defvar yow-file (concat data-directory "yow.lines") "File containing pertinent pinhead phrases.") ;;;###autoload (defun yow (&optional insert) "Return or display a random Zippy quotation. With prefix arg, insert it." (interactive "P") (let ((yow (cookie yow-file "Am I CONSING yet?..." "I have SEEN the CONSING!!"))) (cond (insert (insert yow)) ((not (interactive-p)) yow) ((not (string-match "\n" yow)) (delete-windows-on (get-buffer-create "*Help*")) (message "%s" yow)) (t (message "Yow!") (with-output-to-temp-buffer "*Help*" (princ yow) (save-excursion (set-buffer standard-output) (help-mode))))))) (defsubst read-zippyism (prompt &optional require-match) "Read a Zippyism from the minibuffer with completion, prompting with PROMPT. If optional second arg is non-nil, require input to match a completion." (read-cookie prompt yow-file "Am I CONSING yet?..." "I have SEEN the CONSING!!" require-match)) ;;;###autoload (defun insert-zippyism (&optional zippyism) "Prompt with completion for a known Zippy quotation, and insert it at point." (interactive (list (read-zippyism "Pinhead wisdom: " t))) (insert zippyism)) ; Yowza!! Feed zippy quotes to the doctor. Watch results. ; fun, fun, fun. Entertainment for hours... ; ; written by Kayvan Aghaiepour ;;;###autoload (defun psychoanalyze-pinhead () "Zippy goes to the analyst." (interactive) (doctor) ; start the psychotherapy (message "") (switch-to-buffer "*doctor*") (sit-for 0) (while (not (input-pending-p)) (insert-string (yow)) (sit-for 0) (doctor-ret-or-read 1) (doctor-ret-or-read 1))) (provide 'yow) ;;; yow.el ends here