Function: tuareg-comment-or-uncomment-region
tuareg-comment-or-uncomment-region is an interactive and natively
compiled function defined in tuareg.el.
Signature
(tuareg-comment-or-uncomment-region BEG END &optional ARG)
Documentation
Replacement for comment-or-uncomment-region tailored for OCaml.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/6mbh851dhnag8f92qfrlh9ckldzwf6c6-emacs-packages-deps/share/emacs/site-lisp/elpa/tuareg-20260626.936/tuareg.el
(defun tuareg-comment-or-uncomment-region (beg end &optional arg)
"Replacement for `comment-or-uncomment-region' tailored for OCaml."
(interactive "*r\nP")
(comment-normalize-vars)
(setq beg (save-excursion (goto-char beg)
(skip-chars-forward " \t\r\n")
(point)))
(setq end (save-excursion (goto-char end)
(skip-chars-backward " \t\r\n")
(point)))
(let (state pos)
;; Include the comment or string to which BEG possibly belongs
(setq pos (nth 8 (syntax-ppss beg)))
(if pos (setq beg pos))
;; Include the comment or string to which END possibly belongs
(setq state (syntax-ppss end))
(if (nth 8 state)
(setq end (tuareg--end-of-string-or-comment state)))
(if (comment-only-p beg end)
(uncomment-region beg end arg)
(comment-region beg end arg))))