Repository Analysis

AutoHotkey/AutoHotkey

AutoHotkey - macro-creation and automation-oriented scripting utility for Windows.

4.6 Likely human-written View on GitHub
4.6
Adjusted Score
4.6
Raw Score
100%
Time Factor
2026-05-17
Last Push
12,471
Stars
C++
Language
149,886
Lines of Code
150
Files
813
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 9LOW 804

Pattern Findings

813 matches across 2 categories. Click a row to expand file-level details.

Over-Commented Block803 hits · 656 pts
SeverityFileLineSnippet
LOWsource/TextIO.h1#pragma once
LOWsource/util.cpp141// of the YYYYMMDDHH24MISS format is present.
LOWsource/util.cpp321 return (__int64)((__int64)(uiEnd.QuadPart - uiStart.QuadPart) / 10000000); // Convert from tenths-of-microsecond.
LOWsource/util.cpp461}
LOWsource/util.cpp521}
LOWsource/util.cpp541
LOWsource/util.cpp661 } // while() find next match
LOWsource/util.cpp681 // version 2.1 of the License, or (at your option) any later version.
LOWsource/util.cpp1081// - aLimit: Specify UINT_MAX to have no restriction on the number of replacements. Otherwise, specify a number >=0.
LOWsource/util.cpp1101// two other/related StrReplace() functions obsolete. Also, the code has been simplified to avoid doing
LOWsource/util.cpp1161 if (!length_delta // old_len==new_len, so use in-place method because it's just as fast in this case but it avoids the
LOWsource/util.cpp1261 }
LOWsource/util.cpp1301}
LOWsource/util.cpp1361 { // A limit is currently in effect and it's less than expected replacements, so cap the expected.
LOWsource/util.cpp1381 double quality = 1 + 2*(1-(
LOWsource/util.cpp1861// Caller has ensured that aBuf is large enough (though anything >=32767 is always large enough).
LOWsource/util.cpp1961 // Since above didn't return, an error occurred. MSDN isn't clear about what conditions can
LOWsource/util.cpp2061 // This differs from GetDpiForSystem, as it appears the "system DPI" is fixed at initial login
LOWsource/util.cpp2121 return NULL;
LOWsource/util.cpp2141 // said that an ICL is an "ICon Library... a renamed 16-bit Windows .DLL (an NE format executable) which
LOWsource/util.cpp2201 // It is also not documented to support resource IDs, unlike ExtractIcon and ExtractIconEx.
LOWsource/util.cpp2261 // LR_CREATEDIBSECTION applies only when aImageType == IMAGE_BITMAP, but seems appropriate in that case.
LOWsource/util.cpp2281 // Gui, Show
LOWsource/util.cpp2501 // The following will also handle HICON/HCURSOR correctly if aImageType == IMAGE_ICON/CURSOR.
LOWsource/util.cpp2521 // Therefore, it seems best to call the right function even though DeleteObject might work on
LOWsource/MdType.h121#define md_arg_decl_type_Out(type) md_outtype<MdType::type>::t
LOWsource/TextIO.cpp121 {
LOWsource/debug.h1#pragma once
LOWsource/debug.h21// #define _CRTDBG_MAP_ALLOC
LOWsource/debug.h41#ifndef VERIFY
LOWsource/AutoHotkey.cpp41 // that has no media (and possibly other errors) won't cause the system to display an error
LOWsource/AutoHotkey.cpp101
LOWsource/AutoHotkey.cpp301 // top part (the auto-execute part) of the script so that they will be in effect even if the
LOWsource/stdafx.h21
LOWsource/stdafx.h41 #include <stdlib.h>
LOWsource/stdafx.h61 // dependencies sneaking in, or subtle naming conflicts:
LOWsource/script.h21#include "defines.h"
LOWsource/script.h41// Explanation: If/when AutoExec() finishes, although it no longer needs g_array[0] (not even
LOWsource/script.h121#define ERR_ABORT_DELETE _T("__Delete will now return.")
LOWsource/script.h141#define ERR_PARAM4_INVALID _T("Parameter #4 invalid.")
LOWsource/script.h161#define ERR_MISSING_PARAM_NAME _T("Missing parameter name.")
LOWsource/script.h181#define ERR_INVALID_LINE_IN_CLASS_DEF _T("Not a valid method, class or property definition.")
LOWsource/script.h201#define ERR_NO_WINDOW _T("Target window not found.")
LOWsource/script.h381
LOWsource/script.h401// returning if there's any chance _f_throw() will be used, since in that case the caller
LOWsource/script.h421#define _o_throw _f_throw
LOWsource/script.h441 // performs marginally better, but file system performance has a much bigger impact.
LOWsource/script.h701 Line *mRelatedLine; // e.g. the "else" that belongs to this "if"
LOWsource/script.h721 #define RAW_ARG3 (mArgc > 2 ? mArg[2].text : _T(""))
LOWsource/script.h741 #define NEW_RAW_ARG4 (aArgc > 3 ? new_arg[3].text : _T(""))
LOWsource/script.h761 #define ARG8 sArgDeref[7]
LOWsource/script.h781 // Uses arg number (i.e. the first arg is 1, not 0). Caller must ensure that ArgNum >= 1 and that
LOWsource/script.h801
LOWsource/script.h1561 // 2) The fact that any return encountered after the Goto cannot provide a return value for
LOWsource/script.h1581 if (result == EARLY_RETURN)
LOWsource/script_gui.h21
LOWsource/script_gui.h101 // Keep any fields that are smaller than 4 bytes adjacent to each other. This conserves memory
LOWsource/script_gui.h161 return TypeHasAttrib(TYPE_SUPPORTS_BGTRANS);
LOWsource/script_gui.h361class GuiType : public Object
LOWsource/keyboard_mouse.cpp61// For v1.0.25, the following situation is fixed by the code below: If LWin or LAlt
743 more matches not shown…
AI Slop Vocabulary10 hits · 28 pts
SeverityFileLineSnippet
MEDIUMsource/script_object.h21 // Used by Object, but defined here on (x64 builds only) to utilize the space
LOWsource/script_com.cpp1827 // - foo.bar() and foo.bar[] in C#. There's no way to differentiate, so we just use METHOD
MEDIUMsource/defines.h189#define YIELDS_AN_OPERAND(symbol) ((symbol) < SYM_OPAREN) // CPAREN also covers the tail end of a function call. Post-i
MEDIUMsource/defines.h189#define YIELDS_AN_OPERAND(symbol) ((symbol) < SYM_OPAREN) // CPAREN also covers the tail end of a function call. Post-i
MEDIUMsource/script_gui.cpp1025 // script is unable to alternate between tab controls and still utilize autosizing.
MEDIUMsource/script_gui.cpp3646 // control types won't utilize the extra space (they are apparently clipped according
MEDIUMsource/script_gui.cpp10997 // maintainable/robust (plus LV_GeneralSort() relies on us to do this check).
MEDIUMsource/script_object.cpp2500 if (si->nested_object_size < sizeof(Object)) // Definitely no constructible properties defined by aBase.
MEDIUMsource/script_autoit.cpp524 // utilize the notification in that case (e.g. Notepad's Save As dialog).
MEDIUMsource/lib/drive.cpp40 // support within the OS is improved in future, callers can utilize it.