From: Glenn Morris Date: Wed, 13 Feb 2013 08:50:44 +0000 (-0800) Subject: Make yow.el obsolete X-Git-Tag: emacs-24.3.90~173^2~7^2~56 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4e16ddf47e6060876d5c8b5a5a04f5b127c2d2bf;p=emacs.git Make yow.el obsolete * lisp/play/yow.el: Move to obsolete/. * doc/emacs/ack.texi (Acknowledgments): Don't mention yow any more. * doc/misc/message.texi (News Headers): Don't mention yow any more. * etc/NEWS: Mention this. Fixes: debbugs:9384 --- diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index e5404a15c59..ba6f7e323e0 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-02-13 Glenn Morris + + * ack.texi (Acknowledgments): Don't mention yow any more. + 2013-02-13 Paul Eggert * cmdargs.texi (General Variables): diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 99e0c690a09..718a51c60db 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -811,9 +811,8 @@ Richard Mlynarik wrote @file{cl-indent.el}, a package for indenting Common Lisp code; @file{ebuff-menu.el}, an ``electric'' browser for buffer listings; @file{ehelp.el}, bindings for browsing help screens; @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format, -used in mail messages and news articles; @file{terminal.el}, a -terminal emulator for Emacs subprocesses; and @file{yow.el}, an -essential utility. +used in mail messages and news articles; and @file{terminal.el}, a +terminal emulator for Emacs subprocesses. @item Gerd Moellmann was the Emacs maintainer from the beginning of Emacs 21 diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 11ff3700da4..dd3c0ccd1e2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-02-13 Glenn Morris + + * message.texi (News Headers): Don't mention yow any more. + 2013-02-09 Jay Belanger * calc.texi (Basic Operations on Units): diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 4d5d82aa6bd..a98c7e48e53 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -1817,17 +1817,14 @@ a string nor @code{nil}, use the user name only. However, it is highly unlikely that you should need to fiddle with this variable at all. @end table -@findex yow @cindex Mime-Version In addition, you can enter conses into this list. The @sc{car} of this cons should be a symbol. This symbol's name is the name of the header, and the @sc{cdr} can either be a string to be entered verbatim as the value of this header, or it can be a function to be called. This function should -return a string to be inserted. For instance, if you want to insert -@code{Mime-Version: 1.0}, you should enter @code{(Mime-Version . "1.0")} -into the list. If you want to insert a funny quote, you could enter -something like @code{(X-Yow . yow)} into the list. The function -@code{yow} will then be called without any arguments. +take no arguments, and return a string to be inserted. For +instance, if you want to insert @code{Mime-Version: 1.0}, you should +enter @code{(Mime-Version . "1.0")} into the list. If the list contains a cons where the @sc{car} of the cons is @code{optional}, the @sc{cdr} of this cons will only be inserted if it is diff --git a/etc/NEWS b/etc/NEWS index 6891f1019bd..05d2f7edb06 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -201,6 +201,9 @@ are obsolete. Customize the `woman-* faces instead. *** terminal.el is obsolete; use term.el instead. ++++ +*** yow.el is obsolete; use fortune.el or cookie1.el instead. + * New Modes and Packages in Emacs 24.4 ** New nadvice.el package offering lighter-weight advice facilities. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 172af2f4efd..d7c7ed7218f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2013-02-13 Glenn Morris + + * play/yow.el: Move to obsolete/. (Bug#9384) + 2013-02-13 Juri Linkov * vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus' diff --git a/lisp/obsolete/yow.el b/lisp/obsolete/yow.el new file mode 100644 index 00000000000..42bb0a0b354 --- /dev/null +++ b/lisp/obsolete/yow.el @@ -0,0 +1,129 @@ +;;; yow.el --- quote random zippyisms + +;; Copyright (C) 1993-1995, 2000-2013 Free Software Foundation, Inc. + +;; Maintainer: FSF +;; Author: Richard Mlynarik +;; Keywords: games +;; Obsolete-since: 24.4 + +;; 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 3 of the License, 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. If not, see . + +;;; Commentary: + +;; Important pinheadery for GNU Emacs. +;; This file is obsolete. For similar functionality, see +;; fortune.el and cookie1.el. + +;;; Code: + +(require 'cookie1) + +(defgroup yow nil + "Quote random zippyisms." + :prefix "yow-" + :group 'games) + +(defcustom yow-file (expand-file-name "yow.lines" data-directory) + "File containing pertinent pinhead phrases." + :type 'file + :group 'yow) + +(defconst yow-load-message "Am I CONSING yet?...") +(defconst yow-after-load-message "I have SEEN the CONSING!!") + +;;;###autoload +(defun yow (&optional insert display) + "Return or display a random Zippy quotation. With prefix arg, insert it." + (interactive "P\np") + (let ((yow (cookie yow-file yow-load-message yow-after-load-message))) + (cond (insert + (insert yow)) + ((not display) + yow) + (t + (message "%s" yow))))) + +(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 yow-load-message yow-after-load-message + 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)) + +;;;###autoload +(defun apropos-zippy (regexp) + "Return a list of all Zippy quotes matching REGEXP. +If called interactively, display a list of matches." + (interactive "sApropos Zippy (regexp): ") + ;; Make sure yows are loaded + (cookie yow-file yow-load-message yow-after-load-message) + (let* ((case-fold-search t) + (cookie-table-symbol (intern yow-file cookie-cache)) + (string-table (symbol-value cookie-table-symbol)) + (matches nil) + (len (length string-table)) + (i 0)) + (save-match-data + (while (< i len) + (and (string-match regexp (aref string-table i)) + (setq matches (cons (aref string-table i) matches))) + (setq i (1+ i)))) + (and matches + (setq matches (sort matches 'string-lessp))) + (and (called-interactively-p 'interactive) + (cond ((null matches) + (message "No matches found.")) + (t + (let ((l matches)) + (with-output-to-temp-buffer "*Zippy Apropos*" + (while l + (princ (car l)) + (setq l (cdr l)) + (and l (princ "\n\n"))) + (help-print-return-message)))))) + matches)) + + +;; Yowza!! Feed zippy quotes to the doctor. Watch results. +;; fun, fun, fun. Entertainment for hours... +;; +;; written by Kayvan Aghaiepour + +(declare-function doctor-ret-or-read "doctor" (arg)) + +;;;###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 (yow)) + (sit-for 0) + (doctor-ret-or-read 1) + (doctor-ret-or-read 1))) + +(provide 'yow) + +;;; yow.el ends here diff --git a/lisp/play/yow.el b/lisp/play/yow.el deleted file mode 100644 index 10c69347469..00000000000 --- a/lisp/play/yow.el +++ /dev/null @@ -1,126 +0,0 @@ -;;; yow.el --- quote random zippyisms - -;; Copyright (C) 1993-1995, 2000-2013 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 3 of the License, 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. If not, see . - -;;; Commentary: - -;; Important pinheadery for GNU Emacs. - -;;; Code: - -(require 'cookie1) - -(defgroup yow nil - "Quote random zippyisms." - :prefix "yow-" - :group 'games) - -(defcustom yow-file (expand-file-name "yow.lines" data-directory) - "File containing pertinent pinhead phrases." - :type 'file - :group 'yow) - -(defconst yow-load-message "Am I CONSING yet?...") -(defconst yow-after-load-message "I have SEEN the CONSING!!") - -;;;###autoload -(defun yow (&optional insert display) - "Return or display a random Zippy quotation. With prefix arg, insert it." - (interactive "P\np") - (let ((yow (cookie yow-file yow-load-message yow-after-load-message))) - (cond (insert - (insert yow)) - ((not display) - yow) - (t - (message "%s" yow))))) - -(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 yow-load-message yow-after-load-message - 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)) - -;;;###autoload -(defun apropos-zippy (regexp) - "Return a list of all Zippy quotes matching REGEXP. -If called interactively, display a list of matches." - (interactive "sApropos Zippy (regexp): ") - ;; Make sure yows are loaded - (cookie yow-file yow-load-message yow-after-load-message) - (let* ((case-fold-search t) - (cookie-table-symbol (intern yow-file cookie-cache)) - (string-table (symbol-value cookie-table-symbol)) - (matches nil) - (len (length string-table)) - (i 0)) - (save-match-data - (while (< i len) - (and (string-match regexp (aref string-table i)) - (setq matches (cons (aref string-table i) matches))) - (setq i (1+ i)))) - (and matches - (setq matches (sort matches 'string-lessp))) - (and (called-interactively-p 'interactive) - (cond ((null matches) - (message "No matches found.")) - (t - (let ((l matches)) - (with-output-to-temp-buffer "*Zippy Apropos*" - (while l - (princ (car l)) - (setq l (cdr l)) - (and l (princ "\n\n"))) - (help-print-return-message)))))) - matches)) - - -;; Yowza!! Feed zippy quotes to the doctor. Watch results. -;; fun, fun, fun. Entertainment for hours... -;; -;; written by Kayvan Aghaiepour - -(declare-function doctor-ret-or-read "doctor" (arg)) - -;;;###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 (yow)) - (sit-for 0) - (doctor-ret-or-read 1) - (doctor-ret-or-read 1))) - -(provide 'yow) - -;;; yow.el ends here