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-eplist» (to "find-eplist") ;; «.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-eplist» (to ".find-eplist") ;; (defun ee-pp-plist (plist) (let* ((abs (cl-loop for (a b) on plist by 'cddr collect (format "%s %s" (ee-pp0 a) (ee-pp0 b)))) (body (mapconcat 'identity abs "\n "))) (concat "(" body ")"))) (defun find-eplist (plist &rest pos-spec-list) (let ((ee-buffer-name (or ee-buffer-name "*pp*"))) (apply 'find-estring-elisp (ee-pp-plist plist) pos-spec-list))) ;; «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)