|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;; This file:
;; http://anggtwu.net/elisp/2025-buttons.el.html
;; http://anggtwu.net/elisp/2025-buttons.el
;; (find-angg "elisp/2025-buttons.el")
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;;
;; (defun e () (interactive) (find-angg "elisp/2025-buttons.el"))
;; «.find-ebuttontype» (to "find-ebuttontype")
(defun ee-button-message-setq (button) (message "%S" (setq b button)))
(progn
(insert "\n")
(insert-text-button "TB" 'action (lambda (b0) (message "%S" (setq b b0))))
(insert "\n")
(insert-text-button "TB" 'action 'ee-button-message-setq)
)
TB
TB
(--> b)
(--> b (marker-position it))
(--> b (marker-position it) (text-properties-at it))
(--> b (button-get it 'category))
;; (find-es "emacs" "helpful-button-at-point")
;; (find-es "emacs" "buttons")
;; (find-eapropos "default-button")
;; (find-eapropos "apropos-plist")
;; (find-eaproposf "widget")
;; (symbol-plist 'apropos-plist)
;; (find-egrep "grep --color=auto -nH --null -e widget *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e apropos-plist *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e button-category *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e face-link *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e define-widget *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e define-button-type *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e supertype *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e :supertype *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e help-function *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e help-face *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e \"(define-button-type 'help-face$\" *.el */*.el")
;; (find-egrep "grep --color=auto -nH --null -e \"define-button-type 'help-face\" *.el */*.el")
;; (find-efile "button.el" "and uninterned")
;; (find-efile "button.el" "If the property `button-data' is present")
;; (find-node "(widget)Basic Types")
;; (find-efile "wid-edit.el" "(define-widget 'info-link")
;; (find-efile "help-mode.el" "(define-button-type 'help-function")
;; (symbol-plist 'info-link)
;; (find-eapropos "^info-link$")
;; (apropos-describe-plist 'info-link)
;; err: (describe-widget 'info-link)
;; (find-egrep "grep --color=auto -nH --null -e apropos-widget *.el */*.el")
;; (find-efunction 'find-epp)
;; (find-efunction 'find-eppp)
;; (find-efunction 'ee-ppp0)
;; (find-efile "help-mode.el" "(define-button-type 'help-face")
;; (find-efile "help-mode.el" "(define-button-type 'help-xref")
;; (find-eapropos "help-face")
;; (find-esymbolplist 'help-face)
;; (find-ebuttoncategoryplist 'help-face)
;; «find-ebuttontype» (to ".find-ebuttontype")
;;
(defun ee-pp-buttontype (symbol1)
(let* ((symbol2 (button-category-symbol symbol1))
(plist1 (ee-pp-plist (symbol-plist symbol1)))
(plist2 (ee-pp-plist (symbol-plist symbol2))))
(ee-template0 "\
;; (find-ebuttontype '{symbol1})
;; (find-eapropos \"{symbol1}\")
;; (find-egrep \"grep --color=auto -nH --null -e\
\\\"define-button-type '{symbol1}\\\" *.el */*.el\")\n
;; (find-eplist (symbol-plist '{symbol1}))
{plist1}\n
;; (button-category-symbol '{symbol1})
;; --> {symbol2}
;; (find-eplist (symbol-plist (button-category-symbol '{symbol1})))
{plist2}")))
(defun find-ebuttontype (symbol1 &rest pos-spec-list)
(let ((ee-buffer-name
(or ee-buffer-name
(format "*(find-ebuttontype '%s)*" symbol1))))
(apply 'find-estring-elisp (ee-pp-buttontype symbol1) pos-spec-list)))
(define-button-type 'button1234 1 2 3 4)
(define-button-type 'button1234 1 2 3 4 'supertype 'help-xref)
;; (find-2a nil '(find-ebuttontype 'button1234))
(symbol-plist 'my-button)
(button-category-symbol 'my-button)
(symbol-plist (button-category-symbol 'my-button))
(find-esymbolplist (button-category-symbol 'my-button))
(find-esymbolplist 'my-button)
(find-ebuttoncategoryplist 'my-button)
(symbol-plist 'help-face)
(symbol-plist 'default-button)
(find-esymbolplist 'default-button)
(apropos-format-plist (symbol-plist 'default-button) "\n ")
(find-estring (apropos-format-plist 'default-button "\n "))
(find-ebuttoncategoryplist 'apropos-plist)
(find-eapropos "info-link")
(apropos-describe-plist 'default-button)
(apropos-describe-plist 'apropos-plist)
(--> (button-category-symbol 'apropos-plist))
(--> (button-category-symbol 'apropos-plist) (symbol-plist it))
(--> (button-category-symbol 'apropos-plist) (apropos-describe-plist it))
(--> (button-category-symbol 'apropos-plist) (find-esymbolplist it))
(--> (symbol-plist 'apropos-plist)