ListLines
Enables or disables line logging or displays the script lines most recently executed.
ListLines "On|Off"
Parameters
- On|Off
If blank or omitted, the history of lines most recently executed is shown. The first parameter affects only the behavior of the current thread as follows:
On or 1 (true): Includes subsequently-executed lines in the history.
Off or 0 (false): Omits subsequently-executed lines from the history. This is the starting default for all scripts.
Remarks
ListLines (with no parameter) is equivalent to selecting the "View->Lines most recently executed" menu item in the main window. It can help debug a script. However, since line logging is disabled by default, "ListLines On" must be used before executing the section of code which is to be debugged.
ListLines Off/On
can be used to selectively omit some lines from the history, which can help prevent the history from filling up too quickly (such as in a loop with many fast iterations). Additionally, performance is reduced by a few percent while line logging is enabled.
Every newly launched thread (such as a hotkey, custom menu item, or timed subroutine) starts off fresh with the default setting for this command. That default may be changed by using this command in the auto-execute section (top part of the script).
Although there is no built-in variable "A_ListLines", similar functionality can be achieved by including the following in a script:
ListLines(PassTrueToTurnOnOrFalseToTurnOff) ; Returns the previous setting of ListLines (prior to this call). { static sListLines := true ; The starting default for all scripts is "ListLines On". ListLines % PassTrueToTurnOnOrFalseToTurnOff ? "On" : "Off" ; Execute ListLines unconditionally to omit the lines executed below from the log. ListLines_prev := sListLines sListLines := PassTrueToTurnOnOrFalseToTurnOff return ListLines_prev } ; To use the above function: prev_ListLines := ListLines(false) ; Turn off ListLines temporarily. ; ... ListLines(prev_ListLines) ; Restore ListLines to its previous setting.
On a related note, the built-in variables A_LineNumber and A_LineFile contain the currently executing line number and the file name to which it belongs.
Related
KeyHistory, ListHotkeys, ListVars
Example
ListLines ListLines Off