[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The convenient method to check/inspect/retrieve the definition/usage
From: |
Omar Polo |
Subject: |
Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code. |
Date: |
Sat, 19 Jun 2021 17:57:32 +0200 |
User-agent: |
mu4e 1.4.15; emacs 28.0.50 |
Hongyi Zhao <hongyi.zhao@gmail.com> writes:
> On Sat, Jun 19, 2021 at 10:48 PM Omar Polo <op@omarpolo.com> wrote:
>>
>>
>> Hongyi Zhao <hongyi.zhao@gmail.com> writes:
>>
>> > Dear all,
>> >
>> > Are there any built-in method of Emacs which can let me conveniently
>> > check/inspect/retrieve the definition/usage of any
>> > commands/symbols/operators used in elisp code at-the-point/in-situ?
>> > Say, for the following code snippets:
>> >
>> > ;;;
>> > (defun fk/company-wordfreq-toggle-language (&optional language)
>> > (interactive)
>> > (setq ispell-local-dictionary (or language
>> > (if (string=
>> > ispell-local-dictionary "english")
>> > "turkish"
>> > "english")))
>> > [...]
>> > `(progn
>> > ,@(mapcar (lambda (p) `(use-package ,p))
>> > packages)))
>> >
>> > (use-multiple-packages flycheck
>> > dash
>> > )
>> >
>> > [...]
>> > (mapcar #'straight-use-package '(flycheck lsp-mode dash ...))
>> >
>> > ;or equivalently
>> >
>> > (defvar my-package-list '(flycheck lsp-mode dash ...))
>> > (mapcar #'straight-use-package my-package-list)
>> > ;;;
>> >
>> > I want to find some convenient methods built in Emacs itself with an
>> > in-situ manner - by moving the point to the interest position - to
>> > check any commands/symbols/operators used in them.
>> >
>> > Regards
>>
>> there is M-. (xref-find-definitions) that will jump to the definition of
>> the symbol at point (at least in emacs lisp buffers),
>
> Thank you very much. But still there are some symbols can't find with
> this method, say, #' ,@ ' and so on.
#' ' ` , and ,@ aren't symbols, they are reader macros, i.e. special
character sequences that the lisp reader expands into some special
constructs. For instance, #'foo is the same as (function 'foo) and 'foo
the same as (quote foo).
If you M-. with the point over quote (in an elisp buffer) it should jump
to eval.c (assuming you have the C source files available).
>> and M-, (xref-pop-marker-stack) to jump back.
>
> I use scratch buffer to test, and it can't jump back there.
M-, is meant to be used after one or more M-.
For instance:
1. in *scratch* type describe-function
2. press M-. -- it'll jump to help-fns.el.gz
3. move the point over with-help-window (something like ~10 lines below)
4. M-. again -- it'll jump to a different place in the same file
5. go back with M-, -- now you're back in the definition of
describe-function
6. M-, again -- now you're back in the *scratch* buffer
>>
>> Or you can C-h f or C-h v (describe-function/variable) and then M-n
>> (next-history-element) to bring in the symbol at point.
>
> I meet the following message: M-n is undefined, as shown in the
> attached screenshot file.
M-n should be defined in some minibuffer maps; with `emacs -Q' I can
C-h v C-h k M-n
and it tells me that.
> M-n runs the command next-history-element (found in
> minibuffer-local-must-match-map), which is an interactive compiled
> Lisp function in ‘simple.el’.
Cheers,
> HY
- The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Hongyi Zhao, 2021/06/19
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Omar Polo, 2021/06/19
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Hongyi Zhao, 2021/06/19
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code.,
Omar Polo <=
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Hongyi Zhao, 2021/06/19
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Omar Polo, 2021/06/23
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Hongyi Zhao, 2021/06/23
- Re: The convenient method to check/inspect/retrieve the definition/usage of any commands/symbols/operators used in elisp code., Hongyi Zhao, 2021/06/23
- Screenshots, frame shots straight from Emacs, Jean Louis, 2021/06/23
- Re: Screenshots, frame shots straight from Emacs, Emanuel Berg, 2021/06/25
- Re: Screenshots, frame shots straight from Emacs, Jean Louis, 2021/06/25
- Re: Screenshots, frame shots straight from Emacs, Emanuel Berg, 2021/06/25
- Re: Screenshots, frame shots straight from Emacs, Jean Louis, 2021/06/28