From 7c90919de0ab52efbf3fc18072a44fdc5bca0cd7 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 9 Nov 2025 15:33:17 -0600 Subject: feat:system: Add system utility library with executable check Introduce a new `system-lib.el` module providing low-level system utility functions, including function `cj/executable-exists-p` to check for the availability of programs in PATH. Integrate this library in `init.el`. test(system): Add unit tests for executable check function Create comprehensive unit tests for `cj/executable-exists-p` in `system-lib.el`, ensuring coverage of normal, boundary and error scenarios. --- modules/system-lib.el | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 modules/system-lib.el (limited to 'modules') diff --git a/modules/system-lib.el b/modules/system-lib.el new file mode 100644 index 00000000..8bbf8474 --- /dev/null +++ b/modules/system-lib.el @@ -0,0 +1,20 @@ +;;; system-lib.el --- System utility library functions -*- lexical-binding: t; -*- +;; +;;; Commentary: +;; This module provides low-level system utility functions for checking +;; the availability of external programs and system capabilities. +;; +;; Functions include: +;; - Checking if external programs are available in PATH +;; +;;; Code: + +(defun cj/executable-exists-p (program) + "Return non-nil if PROGRAM is available in PATH. +PROGRAM should be a string naming an executable program." + (and (stringp program) + (not (string-empty-p program)) + (executable-find program))) + +(provide 'system-lib) +;;; system-lib.el ends here -- cgit v1.2.3