[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:15371] Re: Printing on emacs



>>>>> plamo の No. 15322
>>>>> Message-Id: <20020911.182630.74726078.kmoue@sky-mue.jp> で、
>>>>> "MOUE" == MOUE Kiyoshi <kmoue@sky-mue.jp>さま曰く...

MOUE> ~/.emacs の default の記述で、

MOUE>  ;; プリンタ出力のコマンドを定義
MOUE>    (setq ps-lpr-command "lpr")
MOUE>    (setq ps-printer-name-option "-P ")

MOUE> ここなんですが、これでは印刷が開始されず、

MOUE>    (setq ps-printer-name-option "-P")

MOUE> こちらなら行けます。
MOUE> スペースの有る無しには、何か理由があるのでしょうか?

;; 手元に Plamo 2.2 の lpr はありませんので,確認はしていません
;; が, unix 系の一般的なコマンドとして。 m(_ _)m

Plamo や, lpr に関わらず unix 系の標準的なパラメータ解析を行っ
ているプログラムでは "-P " ではうまく動かないと思います。

さて, (setq ps-printer-name-option "-P ") だとうまく行かないの
は次のような原因だと思います。
これだと lpr には次のようにパラメータが渡ります。

argv[0] => "lpr"
argv[1] => "-P "
argv[2] => "pm850pt"
...

"-P" の場合は

argv[0] => "lpr"
argv[1] => "-P"
argv[2] => "pm850pt"
...

となります。

コマンドラインであれば,
$ lpr -P pm850pt hoge.ps
としても,
$ lpr -Ppm850pt hoge.ps
のどちらでもうまく行くのではないでしょうか?

コマンドラインではどちらもうまく動くのは,シェルが -P の後ろのス
ペースを除いた状態で lpr に渡すからで,上記の "-P" の場合と同じ
形になります。

-P オプションのようにパラメータを持つオプションの標準的なコマン
ドラインパラメータの解析では次のような方法をとります。

"-P" のように, 'P' の後ろに何もないときには,次のパラメータ(上
記例では argv[2])を "-P" のオプションパラメータとみなします。

"-Px" のように, 'P' の後ろに文字列が継続しているときには,継続
した文字列をオプションパラメータとみなします。

で, "-P " の場合,文字列としては " " というものがあると見なしま
すので, " " という名前のプリンタを探すということになってしまい
ます。("pm850pt" は出力対象のファイル名になるでしょう)

コマンドラインでも次のようにすると,うまく動かないと思います。
$ lpr '-P ' pm850pt hoge.ps

-- 
鈴木圭一 / keiichi@nanap.org
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B

Follow-Ups
[plamo:15372] Re: Printing on emacs, MOUE Kiyoshi
[plamo:15378] Re: Printing on emacs, Hiroshi Futami
References
[plamo:15322] Printing on emacs, MOUE Kiyoshi

[検索ページ] [メール一覧]
Plamo ML 公開システム