dポイントプレゼントキャンペーン実施中!

お世話になります。

-----------------------------------------
; -*- lisp-interaction -*-
; このファイルはtest.elisというファイル名で、そのファイルを開いたバッファで実行

(buffer-name)
;;; ミニバッファに以下のように表示される
;;; "test.elis"

(buffer-name "test.elis")
;;; ★引数を与えるとそのバッファ名を返すはず
;;; エラーになる
;;; Debugger entered--Lisp error: (wrong-type-argument bufferp "test.elis")

(get-buffer "test.elis")
;;; ミニバッファに以下のように表示される
;;; #<buffer test.elis>

(buffer-file-name)
;;; ミニバッファに以下のように表示される
;;; "/home/userName/test.elis"

(buffer-file-name "test.elis")
;;; ★引数を与えるとそのバッファのファイル名を返すはず
;;; エラーになる
;;; Debugger entered--Lisp error: (wrong-type-argument bufferp "test.elis")
-----------------------------------------

Emacs Lispの勉強として、上のようなファイルを開いて、各関数の括弧綴じ)の後ろでC-x C-eとタイプして実行し、挙動を調べています。

★をつけたbuffer-nameおよびbuffer-file-name関数は、それぞれ引数を渡したバッファ名、および、そのバッファのファイル名が返ると思われるのですが、実際には上記のようにエラーになります。
これはどうしてでしょうか。

Emacsは23.4.1を使っています。
よろしくお願いします。

A 回答 (2件)

get-buffer 使えということだと。



(buffer-name (get-buffer "test.elis"))
(buffer-file-name (get-buffer "test.elis"))
    • good
    • 0
この回答へのお礼

ありがとうございます!バッチリです!

お礼日時:2013/10/18 10:53

マニュアルを見ればわかりますが, それらの関数の引数は「バッファ」でなければなりません.



ということで #1 の通り.
    • good
    • 0
この回答へのお礼

ありがとうございます!バッチリです!

お礼日時:2013/10/18 10:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!