emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/newcomment.el


From: Eli Zaretskii
Subject: [Emacs-diffs] Changes to emacs/lisp/newcomment.el
Date: Sat, 04 Sep 2004 08:50:44 -0400

Index: emacs/lisp/newcomment.el
diff -c emacs/lisp/newcomment.el:1.77 emacs/lisp/newcomment.el:1.78
*** emacs/lisp/newcomment.el:1.77       Thu Jun 17 00:02:13 2004
--- emacs/lisp/newcomment.el    Sat Sep  4 12:30:24 2004
***************
*** 710,763 ****
    (interactive "*r\nP")
    (comment-normalize-vars)
    (when (> beg end) (setq beg (prog1 end (setq end beg))))
!   (save-excursion
!     (if uncomment-region-function
!       (funcall uncomment-region-function beg end arg)
!       (goto-char beg)
!       (setq end (copy-marker end))
!       (let* ((numarg (prefix-numeric-value arg))
!            (ccs comment-continue)
!            (srei (comment-padright ccs 're))
!            (csre (comment-padright comment-start 're))
!            (sre (and srei (concat "^\\s-*?\\(" srei "\\)")))
!            spt)
!       (while (and (< (point) end)
!                   (setq spt (comment-search-forward end t)))
!         (let ((ipt (point))
!               ;; Find the end of the comment.
!               (ept (progn
!                      (goto-char spt)
!                      (unless (or (comment-forward)
!                                  ;; Allow non-terminated comments.
!                                  (eobp))
!                        (error "Can't find the comment end"))
!                      (point)))
!               (box nil)
!               (box-equal nil)) ;Whether we might be using `=' for boxes.
!           (save-restriction
!             (narrow-to-region spt ept)
! 
!             ;; Remove the comment-start.
!             (goto-char ipt)
!           (skip-syntax-backward " ")
!           ;; A box-comment starts with a looong comment-start marker.
!           (when (and (or (and (= (- (point) (point-min)) 1)
!                               (setq box-equal t)
!                               (looking-at "=\\{7\\}")
!                               (not (eq (char-before (point-max)) ?\n))
!                               (skip-chars-forward "="))
!                          (> (- (point) (point-min) (length comment-start)) 7))
!                      (> (count-lines (point-min) (point-max)) 2))
!             (setq box t))
!           ;; Skip the padding.  Padding can come from comment-padding and/or
!           ;; from comment-start, so we first check comment-start.
!           (if (or (save-excursion (goto-char (point-min)) (looking-at csre))
!                   (looking-at (regexp-quote comment-padding)))
!               (goto-char (match-end 0)))
!           (when (and sre (looking-at (concat "\\s-*\n\\s-*" srei)))
!             (goto-char (match-end 0)))
!           (if (null arg) (delete-region (point-min) (point))
!             (skip-syntax-backward " ")
                  (delete-char (- numarg))
                  (unless (or (bobp)
                              (save-excursion (goto-char (point-min))
--- 710,768 ----
    (interactive "*r\nP")
    (comment-normalize-vars)
    (when (> beg end) (setq beg (prog1 end (setq end beg))))
! 
!   ;; Bind `comment-use-global-state' to nil. While uncommenting a
!   ;; (which works a line at a time) region a comment can appear to be
!   ;; included in a mult-line string, but it is actually not.
!   (let ((comment-use-global-state nil))
!     (save-excursion
!       (if uncomment-region-function
!         (funcall uncomment-region-function beg end arg)
!       (goto-char beg)
!       (setq end (copy-marker end))
!       (let* ((numarg (prefix-numeric-value arg))
!              (ccs comment-continue)
!              (srei (comment-padright ccs 're))
!              (csre (comment-padright comment-start 're))
!              (sre (and srei (concat "^\\s-*?\\(" srei "\\)")))
!              spt)
!         (while (and (< (point) end)
!                     (setq spt (comment-search-forward end t)))
!           (let ((ipt (point))
!                 ;; Find the end of the comment.
!                 (ept (progn
!                        (goto-char spt)
!                        (unless (or (comment-forward)
!                                    ;; Allow non-terminated comments.
!                                    (eobp))
!                          (error "Can't find the comment end"))
!                        (point)))
!                 (box nil)
!                 (box-equal nil)) ;Whether we might be using `=' for boxes.
!             (save-restriction
!               (narrow-to-region spt ept)
!               
!               ;; Remove the comment-start.
!               (goto-char ipt)
!               (skip-syntax-backward " ")
!               ;; A box-comment starts with a looong comment-start marker.
!               (when (and (or (and (= (- (point) (point-min)) 1)
!                                   (setq box-equal t)
!                                   (looking-at "=\\{7\\}")
!                                   (not (eq (char-before (point-max)) ?\n))
!                                   (skip-chars-forward "="))
!                              (> (- (point) (point-min) (length 
comment-start)) 7))
!                          (> (count-lines (point-min) (point-max)) 2))
!                 (setq box t))
!               ;; Skip the padding.  Padding can come from comment-padding 
and/or
!               ;; from comment-start, so we first check comment-start.
!               (if (or (save-excursion (goto-char (point-min)) (looking-at 
csre))
!                       (looking-at (regexp-quote comment-padding)))
!                   (goto-char (match-end 0)))
!               (when (and sre (looking-at (concat "\\s-*\n\\s-*" srei)))
!                 (goto-char (match-end 0)))
!               (if (null arg) (delete-region (point-min) (point))
!                 (skip-syntax-backward " ")
                  (delete-char (- numarg))
                  (unless (or (bobp)
                              (save-excursion (goto-char (point-min))
***************
*** 765,771 ****
                    ;; If there's something left but it doesn't look like
                    ;; a comment-start any more, just remove it.
                    (delete-region (point-min) (point))))
! 
                ;; Remove the end-comment (and leading padding and such).
                (goto-char (point-max)) (comment-enter-backward)
                ;; Check for special `=' used sometimes in comment-box.
--- 770,776 ----
                    ;; If there's something left but it doesn't look like
                    ;; a comment-start any more, just remove it.
                    (delete-region (point-min) (point))))
!               
                ;; Remove the end-comment (and leading padding and such).
                (goto-char (point-max)) (comment-enter-backward)
                ;; Check for special `=' used sometimes in comment-box.
***************
*** 803,809 ****
                      (replace-match "" t t nil (if (match-end 2) 2 1)))))
                ;; Go to the end for the next comment.
                (goto-char (point-max)))))))
!       (set-marker end nil)))
  
  (defun comment-make-extra-lines (cs ce ccs cce min-indent max-indent 
&optional block)
    "Make the leading and trailing extra lines.
--- 808,814 ----
                      (replace-match "" t t nil (if (match-end 2) 2 1)))))
                ;; Go to the end for the next comment.
                (goto-char (point-max)))))))
!       (set-marker end nil))))
  
  (defun comment-make-extra-lines (cs ce ccs cce min-indent max-indent 
&optional block)
    "Make the leading and trailing extra lines.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]