|
@@ -125,6 +125,30 @@
|
|
|
(defun sysrpl-show-stack-effect (name)
|
|
|
(message (rpl-edb-get-stack-effect sysrpl-selected-calculator name)))
|
|
|
|
|
|
+(defun sysrpl-apropos-thing-at-point (name)
|
|
|
+ "Show information about NAME in a popup buffer.
|
|
|
+When called interactively NAME defaults to the word around
|
|
|
+point."
|
|
|
+ (interactive (list (completing-read "Apropos: " (rpl-edb-all-names sysrpl-selected-calculator)
|
|
|
+ nil nil (thing-at-point 'word))))
|
|
|
+ (let ((bufname (format "*SysRPL: %s*" name)))
|
|
|
+ (with-current-buffer (get-buffer-create bufname)
|
|
|
+ (setq buffer-read-only nil)
|
|
|
+ (erase-buffer)
|
|
|
+ (insert (rpl-edb-get-stack-effect sysrpl-selected-calculator name))
|
|
|
+ (newline)
|
|
|
+ (insert (rpl-edb-get-description sysrpl-selected-calculator name))
|
|
|
+ (newline)
|
|
|
+ (insert (format "Address: %s" (rpl-edb-get-address sysrpl-selected-calculator name)))
|
|
|
+ (newline)
|
|
|
+ (insert (format "Flags: %s" (rpl-edb-get-flags sysrpl-selected-calculator name)))
|
|
|
+ (newline)
|
|
|
+ (end-of-buffer)
|
|
|
+ (help-mode)
|
|
|
+ (set-buffer-modified-p nil)
|
|
|
+ (setq buffer-read-only t))
|
|
|
+ (fit-window-to-buffer (display-buffer bufname))))
|
|
|
+
|
|
|
(defvar sysrpl-mode-map
|
|
|
(let ((map (make-sparse-keymap))
|
|
|
(menu-map (make-sparse-keymap)))
|