Cyrex wrote:If I output to editor, then the macro environment can access it, can it then open the wanted file location?
You could open the file, but positioning the cursor at correct line is not possible with a macro because you can't convert the line number as string into an integer number for being used in a GotoLine command. Also the macro environment does not support variables. The only possibility would be to run from within the macro a user tool which calls UltraEdit with the "file name/line number" as parameter and when allow multiple instances is not enabled the file should be opened in the current instance of UltraEdit with cursor positioned on the correct line. So a script would be definitely better.
Even better than a script is using Ctags and the command Search - Find Symbol
(with a hotkey). Because you are working already with a project using Ctags here should be your first choice as I would use too. To be more precise I have a C167 project with source files mainly written in C but contains also 3 assembler files and I use Ctags for that project. Search - Find Symbol
to jump to a label in the assembler file based on the word at current cursor position (selecting the word is not necessary) works fine and with Search - Back (last position)
I can jump back. Both commands are assigned to hotkeys. That should work also in your project. I think, you don't really need special Ctags parameters because assembler languages are supported natively by Ctags. So the standard Ctags parameters -L %fi -f %fo
should be enough. So all you need to do is to specify in the project settings dialog the name and location for the ctags database file and create the database by executing Project - Create CTAG file
Also possible would be to add to your wordfile a regular expression function string which finds labels in your assembler files and list them in the function list. I have not done this because an assembler file contains so many labels that this does not make really sense. So the function list for my C167 assembler files shows only the names of the procedures.