Mercurial > hg > xemacs-beta
diff lisp/egg/egg.el @ 110:fe104dbd9147 r20-1b7
Import from CVS: tag r20-1b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:19:45 +0200 |
parents | 0d2f883870bc |
children | 8619ce7e4c50 |
line wrap: on
line diff
--- a/lisp/egg/egg.el Mon Aug 13 09:18:41 2007 +0200 +++ b/lisp/egg/egg.el Mon Aug 13 09:19:45 2007 +0200 @@ -403,12 +403,12 @@ ;; 97.2.4 Created by J.Hein to simulate Mule-2.3 (defun read-event () "Cheap 'n cheesy event filter to facilitate translation from Mule-2.3" - (setq event (make-event)) - (while (progn - (next-event event) - (not (key-press-event-p event))) - (dispatch-event event)) - (event-key event)) + (let ((event (make-event))) + (while (progn + (next-event event) + (not (key-press-event-p event))) + (dispatch-event event)) + (event-key event))) (eval-when-compile (require 'egg-jsymbol)) @@ -880,36 +880,6 @@ ;;; ;;;---------------------------------------------------------------------- -(defvar ascii-char "[\40-\176]") - -(defvar ascii-space "[ \t]") -(defvar ascii-symbols "[\40-\57\72-\100\133-\140\173-\176]") -(defvar ascii-numeric "[\60-\71]") -(defvar ascii-English-Upper "[\101-\132]") -(defvar ascii-English-Lower "[\141-\172]") - -(defvar ascii-alphanumeric "[\60-\71\101-\132\141-\172]") - -(defvar kanji-char "\\cj") -(defvar kanji-space "$B!!(B") -(defvar kanji-symbols "\\cS") -(defvar kanji-numeric "[$B#0(B-$B#9(B]") -(defvar kanji-English-Upper "[$B#A(B-$B#Z(B]") -(defvar kanji-English-Lower "[$B#a(B-$B#z(B]") -;;; Bug fixed by Yoshida@CSK on 88-AUG-24 -(defvar kanji-hiragana "\\cH") -(defvar kanji-katakana "\\cK") -;;; -(defvar kanji-Greek-Upper "[$B&!(B-$B&8(B]") -(defvar kanji-Greek-Lower "[$B&A(B-$B&X(B]") -(defvar kanji-Russian-Upper "[$B'!(B-$B'A(B]") -(defvar kanji-Russian-Lower "[$B'Q(B-$B'q(B]") -(defvar kanji-Kanji-1st-Level "[$B0!(B-$BOS(B]") -(defvar kanji-Kanji-2nd-Level "[$BP!(B-$Bt$(B]") - -(defvar kanji-kanji-char "\\(\\cH\\|\\cK\\|\\cC\\)") - -(defvar aletter (concat "\\(" ascii-char "\\|" kanji-char "\\)")) ;;; ;;; $B$R$i$,$JJQ49(B @@ -1680,13 +1650,13 @@ (defun fence-self-insert-command () (interactive) - (setq ch (event-to-character last-command-event)) - (cond((or (not egg:*input-mode*) - (null (get-next-map its:*current-map* ch))) - (insert ch)) - (t - (insert ch) - (its:translate-region (1- (point)) (point) t)))) + (let ((ch (event-to-character last-command-event))) + (cond((or (not egg:*input-mode*) + (null (get-next-map its:*current-map* ch))) + (insert ch)) + (t + (insert ch) + (its:translate-region (1- (point)) (point) t))))) ;;; ;;; its: completing-read system @@ -2193,15 +2163,31 @@ (not (eq new (minibuffer-window)))) (save-excursion (set-buffer (window-buffer (minibuffer-window))) - (setq minibuffer-preprompt nil - egg:*mode-on* (default-value 'egg:*mode-on*) + (set-minibuffer-preprompt nil) + (setq egg:*mode-on* (default-value 'egg:*mode-on*) egg:*input-mode* (default-value 'egg:*input-mode*) egg:*in-fence-mode* (default-value 'egg:*in-fence-mode*)))) (if (eq new (minibuffer-window)) (setq minibuffer-window-selected t) (setq minibuffer-window-selected nil))) -(setq select-window-hook 'egg:select-window-hook) +(defun egg:minibuffer-entry-hook () + (setq minibuffer-window-selected t)) + +(defun egg:minibuffer-exit-hook () + "Call upon exit from minibufffer" + (set-minibuffer-preprompt nil) + (setq minibuffer-window-selected nil) + (save-excursion + (set-buffer (window-buffer (minibuffer-window))) + (setq egg:*mode-on* (default-value 'egg:*mode-on*) + egg:*input-mode* (default-value 'egg:*input-mode*) + egg:*in-fence-mode* (default-value 'egg:*in-fence-mode*)))) + +(if (boundp 'select-window-hook) + (add-hook 'select-window-hook 'egg:select-window-hook) + (add-hook 'minibuffer-exit-hook 'egg:minibuffer-exit-hook) + (add-hook 'minibuffer-entry-hook 'egg:minibuffer-entry-hook)) ;;; ;;; @@ -2257,8 +2243,10 @@ str) (aset (nth 2 egg:minibuffer-preprompt) 0 (if its:*previous-map* ?\> ?\])) - (setq minibuffer-preprompt - egg:minibuffer-preprompt)) + (set-minibuffer-preprompt (concat + (car egg:minibuffer-preprompt) + (car (nthcdr 1 egg:minibuffer-preprompt)) + (car (nthcdr 2 egg:minibuffer-preprompt))))) (setq display-minibuffer-mode t mode-line-egg-mode-in-minibuffer str)) (setq display-minibuffer-mode nil