Re: Filter interactive function declared in file

[email protected]
Newsgroups gmane.emacs.help
Message-ID <[email protected]>
Heime <[email protected]> writes:

>> 
>> - Try it non-interactively, for example, using
>> 
>>    (mazonas-agfun "/usr/share/emacs/30.2/lisp/subr.elc" "global-set-*")
>>    => "Interactive functions: (global-set-key)"
>
> I did as instructed but getting "No interactive functions found" for the
> subr.elc example.
>  

Try evaluating the following expressions.  The ‘let’
expression finds the symbol’s file and uses that value.
This ensures that there are no typing errors for file names.

Here are the steps I took to guarantee that this works
(using Emacs 30.2):

  1. emacs -Q
  2. Copy the definitions of the functions ‘mazonas-agfun’
     and ‘mazonas-smbptn’ to the *scratch* buffer of the new
     instance of Emacs.  Evaluate the definitions.
  3. Copy the expressions, below, the *scratch* buffer and
     evaluate them to get the messages.

;; Use a more specific pattern: "global-set-*"
(let ((my-file (symbol-file 'global-set-key)))
  (mazonas-agfun my-file "global-set-*"))
;;=> "Interactive functions: (global-set-key)"

;; Use a more general pattern: "global-*"
(let ((my-file (symbol-file 'global-set-key)))
  (mazonas-agfun my-file "global-*"))
;;=> "Interactive functions: (global-set-key global-unset-key)"

;; Some other random examples:
(let ((my-file (symbol-file 'dabbrev-expand)))
  (mazonas-agfun my-file "dabbrev*"))
;;=> "Interactive functions: (dabbrev-completion dabbrev-expand)"

(let ((my-file (symbol-file 'dynamic-completion-mode)))
  (mazonas-agfun my-file "dynamic*"))
;;=> "Interactive functions: (dynamic-completion-mode)"

(let ((my-file (symbol-file 'string-rectangle)))
      (mazonas-agfun my-file "string*"))
"Interactive functions: (string-insert-rectangle string-rectangle)"

;; No symbols found because `string=' is not a command.
(let ((my-file (symbol-file 'string=)))
  (mazonas-agfun my-file "string="))
"No interactive functions found"


-- 
The lyf so short, the craft so long to lerne.
- Geoffrey Chaucer, The Parliament of Birds.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.