現在の行番号を Elisp の変数に設定しようとしていますが、void-variable エラーが発生し続けます!
コードは次のとおりです。
(setq x what-line)
バッファ内の総行数も変数に設定したいのですが、同じエラーが発生しますか?!
現在の行番号を Elisp の変数に設定しようとしていますが、void-variable エラーが発生し続けます!
コードは次のとおりです。
(setq x what-line)
バッファ内の総行数も変数に設定したいのですが、同じエラーが発生しますか?!
(setq x (line-number-at-pos)
y (line-number-at-pos (point-max)))
こういうのってどうやって調べるの?M-x find-function
RET what-line
RETのソースコードを表示してみてくださいwhat-line
。simple.el
(が定義されているファイル) を読むwhat-line
ことは、基本的な Elisp プログラミングに慣れるための良い方法です。
(setq x (what-line))
前の回答で言及された line-number-at-pos 関数は、バッファーのアクセス可能な部分のみを考慮します。バッファが「狭められている」場合、隠線はカウントされないため、かなり混乱する可能性があります。
what-line 関数のコードを読むと、狭められたバッファーをどのように処理するかがわかります (実際、what-line は line-number-at-pos を呼び出すことで機能します)。