🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

7 total messages Started by Takashi YOSHIMI Tue, 09 Mar 1999 00:00
Q substitute 'unless' and 'when' easily ?
#724
Author: Takashi YOSHIMI
Date: Tue, 09 Mar 1999 00:00
24 lines
1809 bytes
吉見@電総研です。

mule 2.3 (emacs-19.28.1) を使っています。

最新のemacs-20.3 のアーカイブに入っていたlisp ファイルを一つだけ引っ張
り出して使って見ようとしたのですが、コードの中に 'unless' や 'when' が
あって、エラーが出てしまいました。
試しに、emacs-19.34b も調べてみたのですが、これは 19.28.1と同じバージョ
ンでした。

mule2.3 で intro を見ると、CL の項目の下にこれらの制御コマンドは書かれ
ているのですが、実際には使えないようです。そこには、if を使った置き換
え方も書かれていたのですが、現実問題としてそれらをすべて置き換えるのは
大変です。

そこで、質問なのですが、mule 2.3 で unless や when の混じったリスプコー
ドを実行するために、何かフィルタかのようなものはあるのでしょうか?

--------------
⊂工・吉見 隆(よしみ たかし)0x27歳 妻1人子3人 yoshimi@etl.go.jp
 人 [所属]電子技術総合研究所[仕事]コンピュータビジョン       619
   [好]美和ちゃん、光ちゃん、宙ちゃん、昴ちゃん、SF、漫画、ばか話 ~  (c)
   [嫌]暴煙者、暴走族、たばこ会社
       http://www.etl.go.jp/~yoshimi/
Re: Q substitute 'unless' and 'when' easily ?
#726
Author: Katsumi Yamaoka
Date: Tue, 09 Mar 1999 00:00
35 lines
2826 bytes
>>>>> In <svBTh.yoshimi@etl.go.jp> 
>>>>>	yoshimi@etl.go.jp (Takashi YOSHIMI) wrote:

吉見さん> mule 2.3 (emacs-19.28.1) を使っています。

吉見さん> 最新のemacs-20.3 のアーカイブに入っていたlisp ファイルを一つ
吉見さん> だけ引っ張り出して使って見ようとしたのですが、コードの中に 
吉見さん> 'unless' や 'when' があって、エラーが出てしまいました。
吉見さん> 試しに、emacs-19.34b も調べてみたのですが、これは 19.28.1と
吉見さん> 同じバージョンでした。

吉見さん> mule2.3 で intro を見ると、CL の項目の下にこれらの制御コマン
吉見さん> ドは書かれているのですが、実際には使えないようです。そこには、
吉見さん> if を使った置き換え方も書かれていたのですが、現実問題として
吉見さん> それらをすべて置き換えるのは大変です。

使えないことはないと思うのですが。

吉見さん> そこで、質問なのですが、mule 2.3 で unless や when の混じっ
吉見さん> たリスプコードを実行するために、何かフィルタかのようなものは
吉見さん> あるのでしょうか?

el ファイルの冒頭に

(eval-when-compile (require 'cl))

と書いて byte-compile すれば OK だと思います。
これ無しで byte-compile すると unless や when が macro ではなくて関数
として byte code が生成されてしまっていますから、そういうものを救済す
る手立てはありません。

それはともかく、20.3 用の el をそのまま 19.28 で使えたとすれば、かなり
運が良いことだとは思いますよ。:-p
-- 
Katsumi Yamaoka <yamaoka@ga.sony.co.jp>
Re: Q substitute 'unless' and 'when' easily ?
#727
Author: Takashi YOSHIMI
Date: Tue, 09 Mar 1999 00:00
34 lines
2145 bytes
吉見@電総研です。

On 03/09/99(16:33) Katsumi Yamaoka <yamaoka@ga.sony.co.jp> wrote
in <28r9qz6rsj.fsf@kchisa.ga.sony.co.jp> (nntp://news-server/fj.editor.mule/7827):
 |el ファイルの冒頭に
 |
 |(eval-when-compile (require 'cl))
 |
 |と書いて byte-compile すれば OK だと思います。
 |これ無しで byte-compile すると unless や when が macro ではなくて関数
 |として byte code が生成されてしまっていますから、そういうものを救済す
 |る手立てはありません。
 |
 |それはともかく、20.3 用の el をそのまま 19.28 で使えたとすれば、かなり
 |運が良いことだとは思いますよ。:-p
 |-- 
 |Katsumi Yamaoka <yamaoka@ga.sony.co.jp>

試しに
(require 'cl)
を実行してから load したら、とりあえずunlessやwhenのエラーは出なくなっ
たのですが、今度はdefgroupが定義されていない、とエラーになりました。

info みても書いていないし、これはどうやら 19.28->20.3 で拡張された機能
なようです。というわけでお手上げ。

やはりそう甘くはなかったですね。

--------------
⊂工・吉見 隆(よしみ たかし)0x27歳 妻1人子3人 yoshimi@etl.go.jp
 人 [所属]電子技術総合研究所[仕事]コンピュータビジョン       619
   [好]美和ちゃん、光ちゃん、宙ちゃん、昴ちゃん、SF、漫画、ばか話 ~  (c)
   [嫌]暴煙者、暴走族、たばこ会社
       http://www.etl.go.jp/~yoshimi/
Re: Q substitute 'unless' and 'when' easily ?
#728
Author: ichikawa 市川達哉 hv.epson.co.jp
Date: Tue, 09 Mar 1999 00:00
25 lines
2352 bytes
>>>>> In <svDpQ.yoshimi@etl.go.jp>
>>>>>  yoshimi@etl.go.jp (Takashi YOSHIMI) wrote:
吉見> 吉見@電総研です。

吉見> 試しに
吉見> (require 'cl)
吉見> を実行してから load したら、とりあえずunlessやwhenのエラーは出なく
吉見> なったのですが、今度はdefgroupが定義されていない、とエラーになりま
吉見> した。

(unless (and (condition-case ()
		 (require 'custom)
	       (file-error nil))
	     (fboundp 'defgroup)
	     (fboundp 'defcustom))
  (require 'backquote)
  (defmacro defgroup (&rest args))
  (defmacro defcustom (symbol value &optional doc &rest args)
    (` (defvar (, symbol) (, value) (, doc))))
  )

  なんてのをいれてみては??

-- 
  Tatsuya Ichikawa <ichikawa@hv.epson.co.jp>
Re: Q substitute 'unless' and 'when' easily ?
#729
Author: Katsumi Yamaoka
Date: Tue, 09 Mar 1999 00:00
28 lines
2296 bytes
>>>>> In <svDpQ.yoshimi@etl.go.jp> 
>>>>>	yoshimi@etl.go.jp (Takashi YOSHIMI) wrote:

吉見さん> 試しに
吉見さん> (require 'cl)
吉見さん> を実行してから load したら、とりあえずunlessやwhenのエラーは
吉見さん> 出なくなったのですが、今度はdefgroupが定義されていない、とエ
吉見さん> ラーになりました。

Mule 2.3 base on Emacs 19.34 だったら新しい custom package を使って救
済できるのですが、19.28 ではこうでもするしかないですね。

(eval-when-compile
  (require 'cl)
  (unless (and (fboundp 'defgroup)
	       (fboundp 'defcustom))
    (defmacro defgroup (&rest args))
    (defmacro defcustom (symbol value &optional doc &rest args)
      (let ((doc (concat "*" (or doc ""))))
	(` (defvar (, symbol) (, value) (, doc)))))
    ))

吉見さん> やはりそう甘くはなかったですね。

はい、上記の defgroup, defcustom のでっち上げを行なっても、まだまだ敷
居は高いと思います。(^^;;)
-- 
Katsumi Yamaoka <yamaoka@ga.sony.co.jp>
Re: Q substitute 'unless' and 'when' easily ?
#671
Author: KATAYAMA Yoshio
Date: Wed, 10 Mar 1999 00:00
26 lines
1304 bytes
In article <uk8wr6m4g.fsf@hv08.hv.epson.co.jp>,
	ichikawa ($B;T@nC#:H(B) @ hv.epson.co.jp writes:

>(unless (and (condition-case ()
>		 (require 'custom)
>	       (file-error nil))
>	     (fboundp 'defgroup)
>	     (fboundp 'defcustom))
>  (require 'backquote)
>  (defmacro defgroup (&rest args))
>  (defmacro defcustom (symbol value &optional doc &rest args)
>    (` (defvar (, symbol) (, value) (, doc))))
>  )

>  $B$J$s$F$N$r$$$l$F$_$F$O(B??

(require 'backquote) $B$O$J$/$F$b!"(Bautoload $B$5$l$^$9!#(B

20.3 $B$N(B elisp $B%U%!%$%k$G$O(B

    `(defvar ,symbol ,value ,doc)

$B$N9=J8$r;H$C$F$$$k$b$N$,$+$J$j$"$j$^$9!#$3$l$O!"(B19.28 $B$G$O2r<a$7(B
$B$F$/$l$^$;$s$N$G!"(B19.34 $B$NJ}$,$&$^$/$$$/3NN($,9b$$$H;W$$$^$9!#(B
--
$BJR;3!w#P#F#U(B
Re: Q substitute 'unless' and 'when' easily ?
#735
Author: Takashi YOSHIMI
Date: Wed, 10 Mar 1999 00:00
62 lines
3355 bytes
吉見@電総研です。

On 03/09/99(19:27) Katsumi Yamaoka <yamaoka@ga.sony.co.jp> wrote
in <28ogm32c1u.fsf@kchisa.ga.sony.co.jp> (nntp://news-server/fj.editor.mule/7830):
 |>>>>> In <svDpQ.yoshimi@etl.go.jp> 
 |>>>>>	yoshimi@etl.go.jp (Takashi YOSHIMI) wrote:
 |
 |吉見さん> 試しに
 |吉見さん> (require 'cl)
 |吉見さん> を実行してから load したら、とりあえずunlessやwhenのエラーは
 |吉見さん> 出なくなったのですが、今度はdefgroupが定義されていない、とエ
 |吉見さん> ラーになりました。
 |
 |Mule 2.3 base on Emacs 19.34 だったら新しい custom package を使って救
 |済できるのですが、19.28 ではこうでもするしかないですね。
 |
 |(eval-when-compile
 |  (require 'cl)
 |  (unless (and (fboundp 'defgroup)
 |	       (fboundp 'defcustom))
 |    (defmacro defgroup (&rest args))
 |    (defmacro defcustom (symbol value &optional doc &rest args)
 |      (let ((doc (concat "*" (or doc ""))))
 |	(` (defvar (, symbol) (, value) (, doc)))))
 |    ))
 |
 |吉見さん> やはりそう甘くはなかったですね。
 |
 |はい、上記の defgroup, defcustom のでっち上げを行なっても、まだまだ敷
 |居は高いと思います。(^^;;)

やはり敷居は高かったです。

defgroup は 某所からのcustom.el をインストールして防いだのですが、
たとえば、のっけから次のような部分でエラーが発生します。

(defgroup ps-print nil
  "PostScript generator for Emacs 19"
  :prefix "ps-"
  :group 'wp)

これに対して、
	Symbol's value as variable is void: \` 
なるメッセージがでます。今までの障害は定義されていないマクロなどを使っ
ていたみたいなことで「なんとかなるかな?」と思っていたんですが、こうなっ
ちゃうともうわかりません。

まだまだ先があるらしく、残念ながら断念します。当初はもっと簡単にできる
だろうとたかをくくっていました。せっかく教えて頂いたのに
申し訳ありません。みなさん、どうもありがとうございました。

ちなみに、使おうとしていたファイルは、ps-print.el の 3.06.3 で、コメン
トによるとこれは以前の版では "Features to add " と書かれていた 
landscape 印刷やマルチコラム、行番号などに対応しているということでした。

--------------
⊂工・吉見 隆(よしみ たかし)0x27歳 妻1人子3人 yoshimi@etl.go.jp
 人 [所属]電子技術総合研究所[仕事]コンピュータビジョン       619
   [好]美和ちゃん、光ちゃん、宙ちゃん、昴ちゃん、SF、漫画、ばか話 ~  (c)
   [嫌]暴煙者、暴走族、たばこ会社
       http://www.etl.go.jp/~yoshimi/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads