view lisp/play/meese.el @ 6058:662b9cd767fe

(Fx_popup_menu): Allow t as position, meaning use mouse pos. Allow nil as position, meaning just precompute equiv-key data. Mouse events have coords in pixel units. (menu_item_equiv_key): Cached equiv-key data is a sublist. Most of file rewritten. (menu_items, menu_items_*): New variables. (MENU_ITEMS_*): New macros. (init_menu_items, discard_menu_items, push_menu_pane, push_menu_item) (finish_menu_items): New functions. (menu_item_enabled_p): New function. (keymap_panes, single_keymap_panes): Major rewrite; most args changed. (list_of_panes, list_of_items): Major rewrite; most args changed. (Fx_popup_menu): Major rewrite. Now independent of display mechanism. No more conditionals here. (set_menu_items, free_menu_items): Functions deleted. (xmenu_show): Both versions rewritten to work from menu_items and to do all the conditionalized things that were in Fx_popup_menu. (unread_menu_bar_button, other_menu_bar_item_p): New functions. (check_mouse_other_menu_bar): New function.
author Richard M. Stallman <rms@gnu.org>
date Thu, 24 Feb 1994 08:07:16 +0000
parents fb0ed5a1d0f3
children 9127591ba072
line wrap: on
line source

;;; meese.el --- protect the impressionable young minds of America

;; This is in the public domain on account of being distributed since
;; 1985 or 1986 without a copyright notice.

;; Maintainer: FSF
;; Keywords: games

;;; Code:

(defun protect-innocence-hook ()
  (if (and (equal (file-name-nondirectory buffer-file-name) "sex.6")
	   (not (y-or-n-p "Are you over 18? ")))
      (progn
	(clear-visited-file-modtime)
	(setq buffer-file-name (concat (file-name-directory buffer-file-name)
				       "celibacy.1"))
	(let (buffer-read-only)	; otherwise (erase-buffer) may bomb.
	  (erase-buffer)
	  (insert-file-contents buffer-file-name t))
	(rename-buffer (file-name-nondirectory buffer-file-name)))))

(or (memq 'protect-innocence-hook find-file-hooks)
    (setq find-file-hooks (cons 'protect-innocence-hook find-file-hooks)))

;;; meese.el ends here