;; intangible intangible
;; 1 2
;;
-(defun its-start (key)
- (let (p cursor)
- (setq p (point))
+(defun its-insert-fence-open ()
+ (let ((p (point)))
(insert its-fence-open)
- (add-text-properties p (point)
- (let ((props '(its-start t intangible its-part-1)))
- (if its-fence-face
- (append '(invisible t) props)
- props)))
- (setq p (point))
- (setq cursor (its-input nil key))
- (its-put-cursor cursor)
- (forward-char 1)
- (setq p (point))
+ (add-text-properties p (point)
+ (if its-fence-face
+ '(invisible t its-start t intangible its-part-1)
+ '(its-start t intangible its-part-1)))))
+
+(defun its-insert-fence-close ()
+ (let ((p (point)))
(insert its-fence-close)
(add-text-properties p (point)
- (let ((props '(its-end t intangible its-part-2)))
- (if its-fence-face
- (append '(invisible t) props)
- props)))
- (forward-char -2)
- (force-mode-line-update)))
+ (if its-fence-face
+ '(invisible t its-end t intangible its-part-2)
+ '(its-end t intangible its-part-2)))
+ (goto-char p)))
+
+(defun its-start (key)
+ (its-insert-fence-open)
+ (its-insert-fence-close)
+ (its-put-cursor (its-input nil key))
+ (force-mode-line-update))
+
+(defun its-restart (str)
+ (let (p)
+ (its-insert-fence-open)
+ (its-insert-fence-close)
+ (setq p (point))
+ (insert str)
+ (put-text-property p (point) 'intangible 'its-part-2)
+ (goto-char p)
+ (its-put-cursor t)))
(defun its-self-insert-char ()
(interactive)
(setq end (next-single-property-change (point) 'its-end)))
(delete-region end (1+ end))
;; Remove all properties added by ITS
- (remove-text-properties start end '(its-syl nil
- its-map nil
+ (remove-text-properties start end '(its-map nil
face nil
intangible nil))
(if proceed-to-conversion
(egg-convert-region start end)
- (remove-text-properties start end '(its-lang nil))
+ (remove-text-properties start end '(its-lang nil its-syl nil))
(egg-do-auto-fill)
(run-hooks 'input-method-after-insert-chunk-hook))))
(delete-region start end)
(apply 'insert (reverse its-translation-result))))
\f
-(load "its-keydef.el")
+(require 'its-keydef)
(provide 'its)
;;; its.el ends here.