         (exchange-point-and-mark))
     (setq end (line-end-position))
     (let ((region (buffer-substring-no-properties beg end)))
-      (dotimes (i arg)
+      (dotimes (_ arg)
         (goto-char end)
         (newline)
         (insert region)

        (setq beg (region-beginning) end (region-end))
      (setq beg (line-beginning-position) end (line-end-position)))
    (comment-or-uncomment-region beg end)
    (next-line)))
(global-set-key (kbd "C-;") 'comment-or-uncomment-region-or-line)

;; Bind <f5> to recompile


;; Bind C-w to delete previous word
(defun kill-region-or-backward-kill-word (&optional arg region)
  "`kill-region' if the region is active, otherwise `backward-kill-word'.
Don't remember what `ARG' or `REGION' is there for."
  (interactive
   (list (prefix-numeric-value current-prefix-arg) (use-region-p)))
  (if region
