grass.el(0.1.8) > defun grass-out-function

「grass.el(0.1.8)/defun grass-out-function」の編集履歴(バックアップ)一覧に戻る

grass.el(0.1.8)/defun grass-out-function - (2009/01/05 (月) 01:08:49) のソース

*概要
- aaa
- aaa
-- bbb

*引数
c

*実装
(defun grass-out-function (c)
  (unless (eq (grass-primitive-type c) 'char)
    (error "grass-out-function: error: not a character"))
  (let ((ch (grass-primitive-value c)))
    ;; Decode Shift-JIS Encoding Character
    (if grass-out-prev-char
	(setq ch (condition-case nil
		     (decode-sjis-char (+ (* grass-out-prev-char 256) ch))
		   (error (string-to-char "※")))
	      grass-out-prev-char nil)
      (if (and (> ch 127) grass-out-decode-sjis)
	  (if (or (and (>= ch ?\x81) (<= ch ?\x9f))
		  (and (>= ch ?\xe0) (<= ch ?\xfc)))
	      (setq grass-out-prev-char ch)
	    (setq ch (condition-case nil
			 (decode-sjis-char ch)
		       (error (setq grass-out-prev-char ch)))))))
    ;; Output the Character
    (unless grass-out-prev-char
      (condition-case nil
	  (write-char ch)
	(error (princ "※")))
      ;; Update the Screen Intermittently
      (unless noninteractive
	(let ((outbuf (get-buffer grass-evaluation-buffer-name)))
	  (when outbuf
	    (with-current-buffer outbuf
	      (set-window-point (get-buffer-window outbuf) (point)))
	    (when (integerp grass-out-update-cycle)
	      (setq grass-out-counter (1+ grass-out-counter))
	      (when (or (and (> grass-out-update-cycle 0)
			     (= grass-out-counter grass-out-update-cycle))
			(eq ch 10))
		(sit-for 0)
		(setq grass-out-counter 0))))))))
  c) ;; Return Value




*呼出元
#comment(noname)


*履歴
-作者:[[kobapan>http://www20.atwiki.jp/kobapan/]]
-日付:2009/01/03
-対象:
|更新日|更新者|更新内容|
||||

*コメント

#comment