理系学生日記

おまえはいつまで学生気分なのか

モジュール名からモジュールのソースを開く elisp

前に作ったものの改変版。ミニバッファからモジュール名を指定する。

|lisp| (defun find-perl-module-source (module) (interactive "MModule name: ") (internal-find-perl-module-source module))

(defun internal-find-perl-module-source (module) (if module (let ((buffer-name "perldoc buffer*") (return-code (call-process "perldoc" nil buffer-name t "-l" module))) (with-current-buffer buffer-name (let ((buffer-content (buffer-substring (point-min) (progn (end-of-line) (- (point) 1))))) (kill-buffer buffer-name) (if (eq return-code 0) (find-file-read-only buffer-content) (message "perldoc: %s" buffer-content))))) (message "empty module name"))) ||<