emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/progmodes/make-mode.el


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/make-mode.el
Date: Wed, 18 Sep 2002 21:21:46 -0400

Index: emacs/lisp/progmodes/make-mode.el
diff -c emacs/lisp/progmodes/make-mode.el:1.72 
emacs/lisp/progmodes/make-mode.el:1.73
*** emacs/lisp/progmodes/make-mode.el:1.72      Wed Sep 18 12:00:29 2002
--- emacs/lisp/progmodes/make-mode.el   Wed Sep 18 21:21:46 2002
***************
*** 192,198 ****
    :type 'boolean
    :group 'makefile)
  
! (defcustom makefile-cleanup-continuations-p t
    "*If non-nil, automatically clean up continuation lines when saving.
  A line is cleaned up by removing all whitespace following a trailing
  backslash.  This is done silently.
--- 192,198 ----
    :type 'boolean
    :group 'makefile)
  
! (defcustom makefile-cleanup-continuations t
    "*If non-nil, automatically clean up continuation lines when saving.
  A line is cleaned up by removing all whitespace following a trailing
  backslash.  This is done silently.
***************
*** 545,551 ****
     (i.e. it calls `makefile-pickup-filenames-as-targets'), otherwise
     filenames are omitted.
  
! `makefile-cleanup-continuations-p':
     If this variable is set to a non-nil value then Makefile mode
     will assure that no line in the file ends with a backslash
     (the continuation character) followed by any whitespace.
--- 545,551 ----
     (i.e. it calls `makefile-pickup-filenames-as-targets'), otherwise
     filenames are omitted.
  
! `makefile-cleanup-continuations':
     If this variable is set to a non-nil value then Makefile mode
     will assure that no line in the file ends with a backslash
     (the continuation character) followed by any whitespace.
***************
*** 565,573 ****
  
    (interactive)
    (kill-all-local-variables)
!   (make-local-variable 'local-write-file-hooks)
!   (setq local-write-file-hooks
!       '(makefile-cleanup-continuations makefile-warn-suspicious-lines))
    (make-local-variable 'makefile-target-table)
    (make-local-variable 'makefile-macro-table)
    (make-local-variable 'makefile-has-prereqs)
--- 565,574 ----
  
    (interactive)
    (kill-all-local-variables)
!   (add-hook 'write-file-functions
!           'makefile-warn-suspicious-lines nil t)
!   (add-hook 'write-file-functions
!           'makefile-cleanup-continuations nil t)
    (make-local-variable 'makefile-target-table)
    (make-local-variable 'makefile-macro-table)
    (make-local-variable 'makefile-has-prereqs)
***************
*** 749,755 ****
      (setq makefile-has-prereqs nil)
      (save-excursion
        (goto-char (point-min))
!       (while (re-search-forward makefile-dependency-regex (point-max) t)
        (makefile-add-this-line-targets)))
      (message "Read targets OK.")))
  
--- 750,756 ----
      (setq makefile-has-prereqs nil)
      (save-excursion
        (goto-char (point-min))
!       (while (re-search-forward makefile-dependency-regex nil t)
        (makefile-add-this-line-targets)))
      (message "Read targets OK.")))
  
***************
*** 783,789 ****
      (setq makefile-macro-table nil)
      (save-excursion
        (goto-char (point-min))
!       (while (re-search-forward makefile-macroassign-regex (point-max) t)
        (makefile-add-this-line-macro)
        (forward-line 1)))
      (message "Read macros OK.")))
--- 784,790 ----
      (setq makefile-macro-table nil)
      (save-excursion
        (goto-char (point-min))
!       (while (re-search-forward makefile-macroassign-regex nil t)
        (makefile-add-this-line-macro)
        (forward-line 1)))
      (message "Read macros OK.")))
***************
*** 792,806 ****
    (save-excursion
      (beginning-of-line)
      (skip-chars-forward " \t")
!     (if (not (eolp))
!       (let* ((start-of-macro-name (point))
!              (line-number (1+ (count-lines (point-min) (point))))
!              (macro-name (progn
!                            (skip-chars-forward "^ \t:#=*")
!                            (buffer-substring start-of-macro-name (point)))))
!         (if (makefile-remember-macro macro-name)
!             (message "Picked up macro \"%s\" from line %d"
!                      macro-name line-number))))))
  
  (defun makefile-pickup-everything (arg)
    "Notice names of all macros and targets in Makefile.
--- 793,807 ----
    (save-excursion
      (beginning-of-line)
      (skip-chars-forward " \t")
!     (unless (eolp)
!       (let* ((start-of-macro-name (point))
!            (line-number (1+ (count-lines (point-min) (point))))
!            (macro-name (progn
!                          (skip-chars-forward "^ \t:#=*")
!                          (buffer-substring start-of-macro-name (point)))))
!       (if (makefile-remember-macro macro-name)
!           (message "Picked up macro \"%s\" from line %d"
!                    macro-name line-number))))))
  
  (defun makefile-pickup-everything (arg)
    "Notice names of all macros and targets in Makefile.
***************
*** 1014,1021 ****
        ;; Found a comment.  Set the fill prefix, and find the paragraph
        ;; boundaries by searching for lines that look like comment-only
        ;; lines.
!       (let ((fill-prefix (buffer-substring-no-properties (match-beginning 0)
!                                                        (match-end 0)))
            (fill-paragraph-function nil))
        (save-excursion
          (save-restriction
--- 1015,1021 ----
        ;; Found a comment.  Set the fill prefix, and find the paragraph
        ;; boundaries by searching for lines that look like comment-only
        ;; lines.
!       (let ((fill-prefix (match-string-no-properties 0))
            (fill-paragraph-function nil))
        (save-excursion
          (save-restriction
***************
*** 1038,1050 ****
  
       ;; Must look for backslashed-region before looking for variable
       ;; assignment.
!      ((save-excursion
!       (end-of-line)
!       (or
!        (= (preceding-char) ?\\)
!        (progn
!          (end-of-line -1)
!          (= (preceding-char) ?\\))))
        ;; A backslash region.  Find beginning and end, remove
        ;; backslashes, fill, and then reapply backslahes.
        (end-of-line)
--- 1038,1045 ----
  
       ;; Must look for backslashed-region before looking for variable
       ;; assignment.
!      ((or (eq (char-before (line-end-position 1)) ?\\)
!         (eq (char-before (line-end-position 0)) ?\\))
        ;; A backslash region.  Find beginning and end, remove
        ;; backslashes, fill, and then reapply backslahes.
        (end-of-line)
***************
*** 1370,1380 ****
  
  (defun makefile-cleanup-continuations ()
    (if (eq major-mode 'makefile-mode)
!       (if (and makefile-cleanup-continuations-p
               (not buffer-read-only))
          (save-excursion
            (goto-char (point-min))
!           (while (re-search-forward "\\\\[ \t]+$" (point-max) t)
              (replace-match "\\" t t))))))
  
  
--- 1365,1375 ----
  
  (defun makefile-cleanup-continuations ()
    (if (eq major-mode 'makefile-mode)
!       (if (and makefile-cleanup-continuations
               (not buffer-read-only))
          (save-excursion
            (goto-char (point-min))
!           (while (re-search-forward "\\\\[ \t]+$" nil t)
              (replace-match "\\" t t))))))
  
  
***************
*** 1522,1543 ****
        ;; Scan back line by line, noticing when we come to a
        ;; variable or rule definition, and giving up when we see
        ;; a line that is not part of either of those.
!       (while (not found)
!       (cond
!        ((looking-at makefile-macroassign-regex)
!         (setq found (buffer-substring-no-properties (match-beginning 1)
!                                                       (match-end 1))))
!        ((looking-at makefile-dependency-regex)
!         (setq found (buffer-substring-no-properties (match-beginning 1)
!                                                     (match-end 1))))
!        ;; Don't keep looking across a blank line or comment.  Give up.
!        ((looking-at "$\\|#")
!         (setq found 'bobp))
!        ((bobp)
!         (setq found 'bobp)))
!       (or found
!           (forward-line -1)))
!       (if (stringp found) found))))
  
  (provide 'make-mode)
  
--- 1517,1530 ----
        ;; Scan back line by line, noticing when we come to a
        ;; variable or rule definition, and giving up when we see
        ;; a line that is not part of either of those.
!       (while (not (or (setq found
!                           (when (or (looking-at makefile-macroassign-regex)
!                                     (looking-at makefile-dependency-regex))
!                             (match-string-no-properties 1)))
!                     ;; Don't keep looking across a blank line or comment.
!                     (looking-at "$\\|#")
!                     (not (zerop (forward-line -1))))))
!       found)))
  
  (provide 'make-mode)
  




reply via email to

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