;;;; prime-enum-mode.el: Description about selection by typing of numbers. ;;;; $Id: prime-enum-mode.el,v 1.1 2003/05/08 19:50:57 komatsu Exp $ ;;;; ;;;; Copyright (C) 2003 Hiroyuki Komatsu ;;;; All rights reserved. ;;;; This is free software with ABSOLUTELY NO WARRANTY. ;;;; ;;;; You can redistribute it and/or modify it under the terms of ;;;; the GNU General Public License version 2. (defcustom prime-enum-char-list '(?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?0) "prime-enum-mode 時に選択用として使用される文字のリスト") (defcustom prime-enum-mode-sensitive nil "prime-enum-mode が有効な場合, 常に適用するかどうか nil の場合は prime-enum-char-list の値が続く限り, prime-enum-mode は無視する.") (defvar prime-enum-mode-ignorep nil "enum-mode を無視するかのフラグ (内部用)") (make-variable-buffer-local 'prime-enum-mode-ignorep) ;;;; ------------------------------------------------------------ ;;;; prime-enum-mode ;;;; ------------------------------------------------------------ (defun prime-enum-mode (&optional arg) (interactive) (setq prime-enum-mode (if (null arg) (not prime-enum-mode) (> (prefix-numeric-value arg) 0))) (cond (prime-enum-mode-ignorep (prime-enum-mode-on t)) (prime-enum-mode ;; 直感とは逆になっちゃってるね. (prime-enum-mode-on t)) (t (prime-enum-mode-off t))) (prime-enum-mode-reset) (prime-disp-conv) ) (defun prime-enum-mode-on (&optional forcep) (if (or forcep (not prime-enum-mode)) (progn (setq prime-enum-mode t) ))) (defun prime-enum-mode-off (&optional forcep) (if (or forcep prime-enum-mode) (progn (setq prime-enum-mode nil) ))) (defun prime-enum-mode-reset () (setq prime-enum-mode-ignorep nil) ) ;;;; ------------------------------------------------------------ (defun prime-enum-keyin (char) (if (and prime-enum-mode (not prime-enum-mode-ignorep) (member char prime-enum-char-list)) (cond (prime-fund-mode (setq prime-enum-mode-ignorep (not prime-enum-mode-sensitive)) nil) (t (prime-fix (prime-nth-candidate (+ prime-nth-cand (if prime-conv-mode 1 0);; ここ, よくないね. (mell-list-member-get-nth char prime-enum-char-list)))) (prime-after-fix) t) ) nil)) (provide 'prime-enum-mode)