diff --git a/verilog-align-ports.el b/verilog-align-ports.el index 4681b8c..0e248e2 100644 --- a/verilog-align-ports.el +++ b/verilog-align-ports.el @@ -67,24 +67,23 @@ (defun verilog-align-ports--bounds () (save-excursion - (unless (verilog-align-ports--line-port-p (line-beginning-position)) - (user-error "Point is not on a port declaration line")) - (let ((start (line-beginning-position)) - (end nil)) - (while (and (not (bobp)) - (save-excursion - (forward-line -1) - (verilog-align-ports--line-port-p - (line-beginning-position)))) - (forward-line -1) - (setq start (line-beginning-position))) - (goto-char start) - (while (and (not (eobp)) - (verilog-align-ports--line-port-p - (line-beginning-position))) - (forward-line 1)) - (setq end (line-beginning-position)) - (cons start end)))) + (and (verilog-align-ports--line-port-p (line-beginning-position)) + (let ((start (line-beginning-position)) + (end nil)) + (while (and (not (bobp)) + (save-excursion + (forward-line -1) + (verilog-align-ports--line-port-p + (line-beginning-position)))) + (forward-line -1) + (setq start (line-beginning-position))) + (goto-char start) + (while (and (not (eobp)) + (verilog-align-ports--line-port-p + (line-beginning-position))) + (forward-line 1)) + (setq end (line-beginning-position)) + (cons start end))))) (defun verilog-align-ports--collect (start end) (let (entries) @@ -169,14 +168,15 @@ (defun verilog-align-ports () "Align SystemVerilog port declarations around point." (interactive) - (let* ((bounds (verilog-align-ports--bounds)) - (start (car bounds)) - (end (cdr bounds)) - (entries (verilog-align-ports--collect start end))) - (when (null entries) - (user-error "No port declarations found")) - (let ((lines (verilog-align-ports--format-lines entries))) - (verilog-align-ports--apply start lines)))) + (let ((bounds (verilog-align-ports--bounds))) + (and bounds + (let* ((start (car bounds)) + (end (cdr bounds)) + (entries (verilog-align-ports--collect start end))) + (and entries + (let ((lines (verilog-align-ports--format-lines entries))) + (verilog-align-ports--apply start lines) + t)))))) (provide 'verilog-align-ports)