Allow commenting out white space lines in latex-mode
* lisp/newcomment.el (comment-region-default-1): Allow commenting out whitespace-only regions (bug#41793). * lisp/textmodes/tex-mode.el (latex--comment-region): Use it. (latex-mode): Set a comment style shim.
This commit is contained in:
parent
e4c6670790
commit
0870ebb3cb
2 changed files with 27 additions and 10 deletions
|
@ -1221,21 +1221,33 @@ changed with `comment-style'."
|
|||
;; FIXME: maybe we should call uncomment depending on ARG.
|
||||
(funcall comment-region-function beg end arg)))
|
||||
|
||||
(defun comment-region-default-1 (beg end &optional arg)
|
||||
(defun comment-region-default-1 (beg end &optional arg noadjust)
|
||||
"Comment region between BEG and END.
|
||||
See `comment-region' for ARG. If NOADJUST, do not skip past
|
||||
leading/trailing space when determining the region to comment
|
||||
out."
|
||||
(let* ((numarg (prefix-numeric-value arg))
|
||||
(style (cdr (assoc comment-style comment-styles)))
|
||||
(lines (nth 2 style))
|
||||
(block (nth 1 style))
|
||||
(multi (nth 0 style)))
|
||||
|
||||
;; We use `chars' instead of `syntax' because `\n' might be
|
||||
;; of end-comment syntax rather than of whitespace syntax.
|
||||
;; sanitize BEG and END
|
||||
(goto-char beg) (skip-chars-forward " \t\n\r") (beginning-of-line)
|
||||
(setq beg (max beg (point)))
|
||||
(goto-char end) (skip-chars-backward " \t\n\r") (end-of-line)
|
||||
(setq end (min end (point)))
|
||||
(if (>= beg end) (error "Nothing to comment"))
|
||||
(if noadjust
|
||||
(when (bolp)
|
||||
(setq end (1- end)))
|
||||
;; We use `chars' instead of `syntax' because `\n' might be
|
||||
;; of end-comment syntax rather than of whitespace syntax.
|
||||
;; sanitize BEG and END
|
||||
(goto-char beg)
|
||||
(skip-chars-forward " \t\n\r")
|
||||
(beginning-of-line)
|
||||
(setq beg (max beg (point)))
|
||||
(goto-char end)
|
||||
(skip-chars-backward " \t\n\r")
|
||||
(end-of-line)
|
||||
(setq end (min end (point)))
|
||||
(when (>= beg end)
|
||||
(error "Nothing to comment")))
|
||||
|
||||
;; sanitize LINES
|
||||
(setq lines
|
||||
|
|
|
@ -1169,7 +1169,12 @@ subshell is initiated, `tex-shell-hook' is run."
|
|||
(setq-local outline-regexp latex-outline-regexp)
|
||||
(setq-local outline-level #'latex-outline-level)
|
||||
(setq-local forward-sexp-function #'latex-forward-sexp)
|
||||
(setq-local skeleton-end-hook nil))
|
||||
(setq-local skeleton-end-hook nil)
|
||||
(setq-local comment-region-function #'latex--comment-region)
|
||||
(setq-local comment-style 'plain))
|
||||
|
||||
(defun latex--comment-region (beg end &optional arg)
|
||||
(comment-region-default-1 beg end arg t))
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode slitex-mode latex-mode "SliTeX"
|
||||
|
|
Loading…
Add table
Reference in a new issue