Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
edited body
Source Link

I use xref-find-definition to look up the definition of a symbol name. When I call xref-find-definition, I want to Emacs to automatically find and load an appropriately named etags file. For this purpose, I have a function, open-tags-file:

(defadvice xref-find-definitions (before before-xref-find-definitions activate)
  (open-tags-file))

(defun open-tags-file ()
  (interactive)
  (if (booleanp tags-file-name)
    (when (file-exists-p "my_tag_file")
      (visit-tags-table "my_tag_file"))))
  )
)

This works fine when I run xref-find-definitions with the cursor already over an existing symbol name. It also works if I do not have the cursor over a symbol name -- Emacs will prompt me to enter a symbol name, such as "CreateFood". Either way, The tags file is automatically loaded, and then the symbol is looked up.

However, when Emacs prompts me to enter a symbol name, I want to be able to type a partial symbol name, such as "Cre", and then press Tab and have "CreateFood" be auto-completed. If I do that, Emacs will prompt me to load the tag file, and it will expect it to have the name TAGS. This means that my defadvice xref-find-definitions is not being run before Emacs prompts me to enter the symbol name, it is only run after that symbol name is entered.

Is there a way to run open-tags-file before the symbol name is interedentered, so that I can auto-complete "Cre" into "CreateFood" when entering the symbol name to find the definition of?

I use xref-find-definition to look up the definition of a symbol name. When I call xref-find-definition, I want to Emacs to automatically find and load an appropriately named etags file. For this purpose, I have a function, open-tags-file:

(defadvice xref-find-definitions (before before-xref-find-definitions activate)
  (open-tags-file))

(defun open-tags-file ()
  (interactive)
  (if (booleanp tags-file-name)
    (when (file-exists-p "my_tag_file")
      (visit-tags-table "my_tag_file"))))
  )
)

This works fine when I run xref-find-definitions with the cursor already over an existing symbol name. It also works if I do not have the cursor over a symbol name -- Emacs will prompt me to enter a symbol name, such as "CreateFood". Either way, The tags file is automatically loaded, and then the symbol is looked up.

However, when Emacs prompts me to enter a symbol name, I want to be able to type a partial symbol name, such as "Cre", and then press Tab and have "CreateFood" be auto-completed. If I do that, Emacs will prompt me to load the tag file, and it will expect it to have the name TAGS. This means that my defadvice xref-find-definitions is not being run before Emacs prompts me to enter the symbol name, it is only run after that symbol name is entered.

Is there a way to run open-tags-file before the symbol name is intered, so that I can auto-complete "Cre" into "CreateFood" when entering the symbol name to find the definition of?

I use xref-find-definition to look up the definition of a symbol name. When I call xref-find-definition, I want to Emacs to automatically find and load an appropriately named etags file. For this purpose, I have a function, open-tags-file:

(defadvice xref-find-definitions (before before-xref-find-definitions activate)
  (open-tags-file))

(defun open-tags-file ()
  (interactive)
  (if (booleanp tags-file-name)
    (when (file-exists-p "my_tag_file")
      (visit-tags-table "my_tag_file"))))
  )
)

This works fine when I run xref-find-definitions with the cursor already over an existing symbol name. It also works if I do not have the cursor over a symbol name -- Emacs will prompt me to enter a symbol name, such as "CreateFood". Either way, The tags file is automatically loaded, and then the symbol is looked up.

However, when Emacs prompts me to enter a symbol name, I want to be able to type a partial symbol name, such as "Cre", and then press Tab and have "CreateFood" be auto-completed. If I do that, Emacs will prompt me to load the tag file, and it will expect it to have the name TAGS. This means that my defadvice xref-find-definitions is not being run before Emacs prompts me to enter the symbol name, it is only run after that symbol name is entered.

Is there a way to run open-tags-file before the symbol name is entered, so that I can auto-complete "Cre" into "CreateFood" when entering the symbol name to find the definition of?

added 1 character in body
Source Link

I use xref-find-definition to look up the definition of a symbol name. When I call xref-find-definition, I want to Emacs to automatically find and load an appropriately named etags file. For this purpose, I have a function, open-tags-file:

(defadvice xref-find-definitions (before before-xref-find-definitions activate)
  (open-tags-file))

(defun open-tags-file ()
  (interactive)
  (if (boundpbooleanp 'tagstags-file-name)
    (when (file-exists-p "my_tag_file")
      (visit-tags-table "my_tag_file"))))
  )
)

This works fine when I run xref-find-definitions with the cursor already over an existing symbol name. It also works if I do not have the cursor over a symbol name -- Emacs will prompt me to enter a symbol name, such as "CreateFood". Either way, The tags file is automatically loaded, and then the symbol is looked up.

However, when Emacs prompts me to enter a symbol name, I want to be able to type a partial symbol name, such as "Cre", and then press Tab and have "CreateFood" be auto-completed. If I do that, Emacs will prompt me to load the tag file, and it will expect it to have the name TAGS. This means that my defadvice xref-find-definitions is not being run before Emacs prompts me to enter the symbol name, it is only run after that symbol name is entered.

Is there a way to run open-tags-file before the symbol name is intered, so that I can auto-complete "Cre" into "CreateFood" when entering the symbol name to find the definition of?

I use xref-find-definition to look up the definition of a symbol name. When I call xref-find-definition, I want to Emacs to automatically find and load an appropriately named etags file. For this purpose, I have a function, open-tags-file:

(defadvice xref-find-definitions (before before-xref-find-definitions activate)
  (open-tags-file))

(defun open-tags-file ()
  (interactive)
  (if (boundp 'tags-file-name)
    (when (file-exists-p "my_tag_file")
      (visit-tags-table "my_tag_file"))))
  )
)

This works fine when I run xref-find-definitions with the cursor already over an existing symbol name. It also works if I do not have the cursor over a symbol name -- Emacs will prompt me to enter a symbol name, such as "CreateFood". Either way, The tags file is automatically loaded, and then the symbol is looked up.

However, when Emacs prompts me to enter a symbol name, I want to be able to type a partial symbol name, such as "Cre", and then press Tab and have "CreateFood" be auto-completed. If I do that, Emacs will prompt me to load the tag file, and it will expect it to have the name TAGS. This means that my defadvice xref-find-definitions is not being run before Emacs prompts me to enter the symbol name, it is only run after that symbol name is entered.

Is there a way to run open-tags-file before the symbol name is intered, so that I can auto-complete "Cre" into "CreateFood" when entering the symbol name to find the definition of?

I use xref-find-definition to look up the definition of a symbol name. When I call xref-find-definition, I want to Emacs to automatically find and load an appropriately named etags file. For this purpose, I have a function, open-tags-file:

(defadvice xref-find-definitions (before before-xref-find-definitions activate)
  (open-tags-file))

(defun open-tags-file ()
  (interactive)
  (if (booleanp tags-file-name)
    (when (file-exists-p "my_tag_file")
      (visit-tags-table "my_tag_file"))))
  )
)

This works fine when I run xref-find-definitions with the cursor already over an existing symbol name. It also works if I do not have the cursor over a symbol name -- Emacs will prompt me to enter a symbol name, such as "CreateFood". Either way, The tags file is automatically loaded, and then the symbol is looked up.

However, when Emacs prompts me to enter a symbol name, I want to be able to type a partial symbol name, such as "Cre", and then press Tab and have "CreateFood" be auto-completed. If I do that, Emacs will prompt me to load the tag file, and it will expect it to have the name TAGS. This means that my defadvice xref-find-definitions is not being run before Emacs prompts me to enter the symbol name, it is only run after that symbol name is entered.

Is there a way to run open-tags-file before the symbol name is intered, so that I can auto-complete "Cre" into "CreateFood" when entering the symbol name to find the definition of?

edited tags
Link
Drew
  • 79.1k
  • 10
  • 123
  • 257
Source Link
Loading