--- egg-remix.el.0 Wed Oct 11 00:33:34 2000 +++ egg-remix.el Thu Oct 12 01:00:26 2000 @@ -56,8 +56,17 @@ ;; "remix" Egg ReMix モード ;; Change Log: -;; Sep 27 2000: version 0.201 細かな bug を fix -;; Sep 27 2000: version 0.200 とりあえず公開版 +;; Oct 12 2000: version 0.202 +;; ・remix-fence-open, remix-fence-continue, remix-fence-close が +;; 2文字以上のときに正常に動作しない問題に対応 +;; ・fence に使う文字列が remix-fence-* になっていたのを +;; its-fence-* に修正 +;; ・remix-sysdict や remix-usrdict が nil のときに正常に動作しない +;; 問題点を fix +;; Sep 27 2000: version 0.201 +;; ・細かな bug を fix +;; Sep 27 2000: version 0.200 +;; ・とりあえず公開版 ;; Code: @@ -221,9 +230,9 @@ ;;;;==== ;;;; Egg-ReMix code ;;;;==== -(defconst remix-version "0.201" +(defconst remix-version "0.202" "Egg ReMix のバージョン") -(defconst remix-version-date "Sep 27 2000" +(defconst remix-version-date "Oct 12 2000" "Egg ReMix の最終更新日") ;;;###autoload (defun remix-version () @@ -781,16 +790,16 @@ (close-props '(remix-end t intangible remix-part-2 rear-nonsticky t)) (p0 (point)) p1) - (if (or (null (stringp remix-fence-open)) (zerop (length remix-fence-open)) - (null (stringp remix-fence-continue)) (zerop (length remix-fence-continue)) - (null (stringp remix-fence-close)) (zerop (length remix-fence-close))) + (if (or (null (stringp its-fence-open)) (zerop (length its-fence-open)) + (null (stringp its-fence-continue)) (zerop (length its-fence-continue)) + (null (stringp its-fence-close)) (zerop (length its-fence-close))) (error "invalid fence")) ;; Put open-fence before inhibit-read-only to detect read-only - (insert (if remix-context remix-fence-continue remix-fence-open)) + (insert (if remix-context its-fence-continue its-fence-open)) (let ((inhibit-read-only t) (p1 (point))) (add-text-properties p0 p1 open-props) - (insert remix-fence-close) + (insert its-fence-close) (add-text-properties p1 (point) close-props) (if its-fence-invisible (put-text-property p0 (point) 'invisible t)) @@ -845,8 +854,6 @@ (defun remix-search-beginning-fence (&optional from) (let ((p (or from (point)))) - (if (get-text-property p 'remix-start) - (setq p (next-single-property-change p 'remix-start))) (previous-single-property-change p 'remix-start nil (point-min)))) (defun remix-search-beginning-seq (&optional from) @@ -857,8 +864,6 @@ (defun remix-search-end-fence (&optional from) (let ((p (or from (point)))) - (if (get-text-property (1+ p) 'remix-end) - (setq p (previous-single-property-change p 'remix-end))) (next-single-property-change p 'remix-end nil (point-max)))) (defun remix-search-end-seq (&optional from) @@ -911,24 +916,30 @@ 綴りフラグの point を返す。登録しなかった場合は 0 を返す。 見つからなければ nil を返す" (save-excursion - (set-buffer remix-usrdictbuf) - (goto-char (point-min)) (let ((entry (format "^%s " (regexp-quote seq)))) - (or (re-search-forward entry nil t) ; ユーザ辞書から検索 + (or (if remix-usrdict + (progn + (set-buffer remix-usrdictbuf) + (goto-char (point-min)) + (re-search-forward entry nil t)) ; ユーザ辞書から検索 + nil) (if (< (length seq) 2) - nil - (set-buffer remix-sysdictbuf) - (goto-char (point-min)) - (setq entry (format "^%s$" (regexp-quote seq))) - (if (re-search-forward entry nil t) ; システム辞書から検索 - (if remix-auto-add-entry ; エントリ(seq)を自動で追加するか? - (progn - (set-buffer remix-usrdictbuf) - (insert (format "%s 0\n" seq)) - (forward-word -1) - (set-buffer-modified-p nil) ;エントリの追加発生 - (point)) - 0) + nil ; 2文字未満は検索しない + (if remix-sysdict + (progn + (set-buffer remix-sysdictbuf) + (goto-char (point-min)) + (setq entry (format "^%s$" (regexp-quote seq))) + (if (re-search-forward entry nil t) ; システム辞書から検索 + (if remix-auto-add-entry ; エントリ(seq)を自動で追加するか? + (progn + (set-buffer remix-usrdictbuf) + (insert (format "%s 0\n" seq)) + (forward-word -1) + (set-buffer-modified-p nil) ;エントリの追加発生 + (point)) + 0) + nil)) nil)))))) (defun remix-kick-convert-region-or-self-insert ()