aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Love2000-03-31 16:00:08 +0000
committerDave Love2000-03-31 16:00:08 +0000
commit5960adc712fd346b842e9d3759b4c583a994f10b (patch)
tree52ecf4f81a382d98121af93d3b4b242da7e14bb9
parent7f9de034e87306071871bdda4f5e2573ad23d5e3 (diff)
downloademacs-5960adc712fd346b842e9d3759b4c583a994f10b.tar.gz
emacs-5960adc712fd346b842e9d3759b4c583a994f10b.zip
Don't require cl, fortran.
(add-log-current-defun-function): Doc fix. (change-log-version-number-regexp-list): Remove SCCS stuff. Doc fix. (change-log-mode-map): Defvar directly. (change-log-version-rcs): Function deleted. (change-log-version-number-search): Doc fix.
-rw-r--r--lisp/add-log.el388
1 files changed, 169 insertions, 219 deletions
diff --git a/lisp/add-log.el b/lisp/add-log.el
index a30e5eb9b7e..a89cbd49f6d 100644
--- a/lisp/add-log.el
+++ b/lisp/add-log.el
@@ -1,6 +1,6 @@
1;;; add-log.el --- change log maintenance commands for Emacs 1;;; add-log.el --- change log maintenance commands for Emacs
2 2
3;; Copyright (C) 1985, 86, 88, 93, 94, 97, 1998, 2000 Free Software Foundation, Inc. 3;; Copyright (C) 1985, 86, 88, 93, 94, 97, 98, 2000 Free Software Foundation, Inc.
4 4
5;; Keywords: tools 5;; Keywords: tools
6 6
@@ -28,9 +28,7 @@
28;;; Code: 28;;; Code:
29 29
30(eval-when-compile 30(eval-when-compile
31 (require 'fortran) 31 (require 'timezone))
32 (require 'timezone)
33 (require 'cl))
34 32
35(defgroup change-log nil 33(defgroup change-log nil
36 "Change log maintenance" 34 "Change log maintenance"
@@ -52,10 +50,9 @@
52 :group 'change-log) 50 :group 'change-log)
53 51
54(defcustom add-log-current-defun-function nil 52(defcustom add-log-current-defun-function nil
55 "\ 53 "*If non-nil, function to guess name of surrounding function.
56*If non-nil, function to guess name of current function from surrounding text. 54It is used by `add-log-current-defun' in preference to built-in rules.
57\\[add-change-log-entry] calls this function (if nil, `add-log-current-defun' 55Returns function's name as a string, or nil if outside a function."
58instead) with no arguments. It returns a string or nil if it cannot guess."
59 :type 'function 56 :type 'function
60 :group 'change-log) 57 :group 'change-log)
61 58
@@ -140,11 +137,9 @@ use the file's name relative to the directory of the change log file."
140 ;; (defconst ad-version "2.15" 137 ;; (defconst ad-version "2.15"
141 (concat "^(def[^ \t\n]+[ \t]+[^ \t\n][ \t]\"" re) 138 (concat "^(def[^ \t\n]+[ \t]+[^ \t\n][ \t]\"" re)
142 ;; Revision: pcl-cvs.el,v 1.72 1999/09/05 20:21:54 monnier Exp 139 ;; Revision: pcl-cvs.el,v 1.72 1999/09/05 20:21:54 monnier Exp
143 (concat "^;+ *Revision: +[^ \t\n]+[ \t]+" re) 140 (concat "^;+ *Revision: +[^ \t\n]+[ \t]+" re)))
144 ;; SCCS @(#)igrep.el 2.83
145 (concat "SCCS[ \t]+@(#).*[ \t]+" re)
146 ))
147 "*List of regexps to search for version number. 141 "*List of regexps to search for version number.
142The version number must be in group 1.
148Note: The search is conducted only within 10%, at the beginning of the file." 143Note: The search is conducted only within 10%, at the beginning of the file."
149 :version "21.1" 144 :version "21.1"
150 :type '(repeat regexp) 145 :type '(repeat regexp)
@@ -185,11 +180,8 @@ Note: The search is conducted only within 10%, at the beginning of the file."
185 1 font-lock-comment-face)) 180 1 font-lock-comment-face))
186 "Additional expressions to highlight in Change Log mode.") 181 "Additional expressions to highlight in Change Log mode.")
187 182
188(defvar change-log-mode-map nil 183(defvar change-log-mode-map (make-sparse-keymap)
189 "Keymap for Change Log major mode.") 184 "Keymap for Change Log major mode.")
190(if change-log-mode-map
191 nil
192 (setq change-log-mode-map (make-sparse-keymap)))
193 185
194(defvar change-log-time-zone-rule nil 186(defvar change-log-time-zone-rule nil
195 "Time zone used for calculating change log time stamps. 187 "Time zone used for calculating change log time stamps.
@@ -248,50 +240,33 @@ If nil, use local time.")
248 (file-name-as-directory name)) 240 (file-name-as-directory name))
249 name)))) 241 name))))
250 242
251(defun change-log-version-rcs (rcs-string &optional end)
252 "Search for plain RCS-STRING from whole buffer up till END.
253The surrounding $ characters fro RCS-STRING are added in this function;
254provide argument e.g. as \"Id\"."
255 (let (str)
256 (save-excursion
257 (goto-char (point-min))
258 (when (re-search-forward
259 (concat "[$]" rcs-string ":[^\n$]+[$]")
260 end t)
261 (setq str (match-string 0))
262 (when (string-match "[0-9]+\.[0-9.]+" str)
263 (match-string 0 str))))))
264
265(defun change-log-version-number-search () 243(defun change-log-version-number-search ()
266 "Return version number for the file by searchin version control tags." 244 "Return version number of current buffer's file.
245This is the value returned by `vc-workfile-version' or, if that is
246nil, by matching `change-log-version-number-regexp-list'."
267 (let* ((size (buffer-size)) 247 (let* ((size (buffer-size))
268 (end 248 (end
269 ;; The version number can be anywhere in the file, but restrict 249 ;; The version number can be anywhere in the file, but
270 ;; search to the file beginning: 10% should be enough to prevent 250 ;; restrict search to the file beginning: 10% should be
271 ;; some mishits. 251 ;; enough to prevent some mishits.
272 ;; 252 ;;
273 ;; Apply percentage only if buffer size is bigger than approx 100 lines 253 ;; Apply percentage only if buffer size is bigger than
254 ;; approx 100 lines.
274 (if (> size (* 100 80)) 255 (if (> size (* 100 80))
275 (/ (* (buffer-size) 10) 100) 256 (/ size 10)
276 size)) 257 size))
277 version) 258 version)
278 259 (or (and buffer-file-name
279 ;; Search RCS, CVS version strings 260 (vc-workfile-version buffer-file-name))
280 261 (save-restriction
281 (dolist (choice '("Revision" "Id")) 262 (widen)
282 (when (setq version (change-log-version-rcs choice end)) 263 (let ((regexps change-log-version-number-regexp-list))
283 (return))) 264 (while regexps
284 265 (save-excursion
285 (unless version 266 (goto-char (point-min))
286 (dolist (regexp change-log-version-number-regexp-list) 267 (when (re-search-forward (pop regexps) end t)
287 (save-excursion 268 (setq version (match-string 1)
288 (goto-char (point-min)) 269 regexps nil)))))))))
289 (when (re-search-forward regexp end t)
290 (setq version (match-string 1))
291 (return)))))
292
293 version
294 ))
295 270
296 271
297;;;###autoload 272;;;###autoload
@@ -380,12 +355,10 @@ non-nil, otherwise in local time."
380 ;; s/he can edit the full name field in prompter if s/he wants. 355 ;; s/he can edit the full name field in prompter if s/he wants.
381 (setq add-log-mailing-address 356 (setq add-log-mailing-address
382 (read-input "Mailing address: " add-log-mailing-address)))) 357 (read-input "Mailing address: " add-log-mailing-address))))
383 (let ((defun (funcall (or add-log-current-defun-function 358 (let ((defun (add-log-current-defun))
384 'add-log-current-defun)))
385 (version (and change-log-version-info-enabled 359 (version (and change-log-version-info-enabled
386 (change-log-version-number-search))) 360 (change-log-version-number-search)))
387 bound 361 bound entry)
388 entry)
389 362
390 (setq file-name (expand-file-name (find-change-log file-name))) 363 (setq file-name (expand-file-name (find-change-log file-name)))
391 364
@@ -450,7 +423,7 @@ non-nil, otherwise in local time."
450 (goto-char (match-beginning 0)) 423 (goto-char (match-beginning 0))
451 ;; Delete excess empty lines; make just 2. 424 ;; Delete excess empty lines; make just 2.
452 (while (and (not (eobp)) (looking-at "^\\s *$")) 425 (while (and (not (eobp)) (looking-at "^\\s *$"))
453 (delete-region (point) (save-excursion (forward-line 1) (point)))) 426 (delete-region (point) (line-beginning-position 2)))
454 (insert "\n\n") 427 (insert "\n\n")
455 (forward-line -2) 428 (forward-line -2)
456 (indent-relative-maybe)) 429 (indent-relative-maybe))
@@ -460,12 +433,11 @@ non-nil, otherwise in local time."
460 (while (looking-at "\\sW") 433 (while (looking-at "\\sW")
461 (forward-line 1)) 434 (forward-line 1))
462 (while (and (not (eobp)) (looking-at "^\\s *$")) 435 (while (and (not (eobp)) (looking-at "^\\s *$"))
463 (delete-region (point) (save-excursion (forward-line 1) (point)))) 436 (delete-region (point) (line-beginning-position 2)))
464 (insert "\n\n\n") 437 (insert "\n\n\n")
465 (forward-line -2) 438 (forward-line -2)
466 (indent-to left-margin) 439 (indent-to left-margin)
467 (insert "* " (or entry "")) 440 (insert "* " (or entry ""))))
468 ))
469 ;; Now insert the function name, if we have one. 441 ;; Now insert the function name, if we have one.
470 ;; Point is at the entry for this file, 442 ;; Point is at the entry for this file,
471 ;; either at the end of the line or at the first blank line. 443 ;; either at the end of the line or at the first blank line.
@@ -473,22 +445,19 @@ non-nil, otherwise in local time."
473 (progn 445 (progn
474 ;; Make it easy to get rid of the function name. 446 ;; Make it easy to get rid of the function name.
475 (undo-boundary) 447 (undo-boundary)
476 (insert (if (save-excursion 448 (unless (save-excursion
477 (beginning-of-line 1) 449 (beginning-of-line 1)
478 (looking-at "\\s *$")) 450 (looking-at "\\s *$"))
479 "" 451 (insert ?\ ))
480 " ") 452 (insert "(" defun "): ")
481 "(" defun "): " 453 (if version
482 (if version 454 (insert version ?\ )))
483 (concat version " ")
484 "")))
485 ;; No function name, so put in a colon unless we have just a star. 455 ;; No function name, so put in a colon unless we have just a star.
486 (if (not (save-excursion 456 (unless (save-excursion
487 (beginning-of-line 1) 457 (beginning-of-line 1)
488 (looking-at "\\s *\\(\\*\\s *\\)?$"))) 458 (looking-at "\\s *\\(\\*\\s *\\)?$"))
489 (insert ": " 459 (insert ": ")
490 (if version 460 (if version (insert version ?\ ))))))
491 (concat version " ") ""))))))
492 461
493;;;###autoload 462;;;###autoload
494(defun add-change-log-entry-other-window (&optional whoami file-name) 463(defun add-change-log-entry-other-window (&optional whoami file-name)
@@ -579,11 +548,11 @@ Prefix arg means justify as well."
579 "Return name of function definition point is in, or nil. 548 "Return name of function definition point is in, or nil.
580 549
581Understands C, Lisp, LaTeX (\"functions\" are chapters, sections, ...), 550Understands C, Lisp, LaTeX (\"functions\" are chapters, sections, ...),
582Texinfo (@node titles), Perl, and Fortran. 551Texinfo (@node titles) and Perl.
583 552
584Other modes are handled by a heuristic that looks in the 10K before 553Other modes are handled by a heuristic that looks in the 10K before
585point for uppercase headings starting in the first column or 554point for uppercase headings starting in the first column or
586identifiers followed by `:' or `=', see variables 555identifiers followed by `:' or `='. See variables
587`add-log-current-defun-header-regexp' and 556`add-log-current-defun-header-regexp' and
588`add-log-current-defun-function' 557`add-log-current-defun-function'
589 558
@@ -591,15 +560,16 @@ Has a preference of looking backwards."
591 (condition-case nil 560 (condition-case nil
592 (save-excursion 561 (save-excursion
593 (let ((location (point))) 562 (let ((location (point)))
594 (cond ((and (functionp add-log-current-defun-function) 563 (cond (add-log-current-defun-function
595 (funcall add-log-current-defun-function))) 564 (funcall add-log-current-defun-function))
596 ((memq major-mode add-log-lisp-like-modes) 565 ((memq major-mode add-log-lisp-like-modes)
597 ;; If we are now precisely at the beginning of a defun, 566 ;; If we are now precisely at the beginning of a defun,
598 ;; make sure beginning-of-defun finds that one 567 ;; make sure beginning-of-defun finds that one
599 ;; rather than the previous one. 568 ;; rather than the previous one.
600 (or (eobp) (forward-char 1)) 569 (or (eobp) (forward-char 1))
601 (beginning-of-defun) 570 (beginning-of-defun)
602 ;; Make sure we are really inside the defun found, not after it. 571 ;; Make sure we are really inside the defun found,
572 ;; not after it.
603 (when (and (looking-at "\\s(") 573 (when (and (looking-at "\\s(")
604 (progn (end-of-defun) 574 (progn (end-of-defun)
605 (< location (point))) 575 (< location (point)))
@@ -613,9 +583,9 @@ Has a preference of looking backwards."
613 ;; The second element is usually a symbol being defined. 583 ;; The second element is usually a symbol being defined.
614 ;; If it is not, use the first symbol in it. 584 ;; If it is not, use the first symbol in it.
615 (skip-chars-forward " \t\n'(") 585 (skip-chars-forward " \t\n'(")
616 (buffer-substring (point) 586 (buffer-substring-no-properties (point)
617 (progn (forward-sexp 1) 587 (progn (forward-sexp 1)
618 (point))))) 588 (point)))))
619 ((and (memq major-mode add-log-c-like-modes) 589 ((and (memq major-mode add-log-c-like-modes)
620 (save-excursion 590 (save-excursion
621 (beginning-of-line) 591 (beginning-of-line)
@@ -631,8 +601,9 @@ Has a preference of looking backwards."
631 (forward-line -1)) 601 (forward-line -1))
632 (search-forward "define") 602 (search-forward "define")
633 (skip-chars-forward " \t") 603 (skip-chars-forward " \t")
634 (buffer-substring (point) 604 (buffer-substring-no-properties (point)
635 (progn (forward-sexp 1) (point)))) 605 (progn (forward-sexp 1)
606 (point))))
636 ((memq major-mode add-log-c-like-modes) 607 ((memq major-mode add-log-c-like-modes)
637 (beginning-of-line) 608 (beginning-of-line)
638 ;; See if we are in the beginning part of a function, 609 ;; See if we are in the beginning part of a function,
@@ -642,142 +613,123 @@ Has a preference of looking backwards."
642 (or (eobp) 613 (or (eobp)
643 (forward-char 1)) 614 (forward-char 1))
644 (beginning-of-defun) 615 (beginning-of-defun)
645 (if (progn (end-of-defun) 616 (when (progn (end-of-defun)
646 (< location (point))) 617 (< location (point)))
647 (progn 618 (backward-sexp 1)
648 (backward-sexp 1) 619 (let (beg tem)
649 (let (beg tem) 620
650 621 (forward-line -1)
651 (forward-line -1) 622 ;; Skip back over typedefs of arglist.
652 ;; Skip back over typedefs of arglist. 623 (while (and (not (bobp))
653 (while (and (not (bobp)) 624 (looking-at "[ \t\n]"))
654 (looking-at "[ \t\n]")) 625 (forward-line -1))
655 (forward-line -1)) 626 ;; See if this is using the DEFUN macro used in Emacs,
656 ;; See if this is using the DEFUN macro used in Emacs, 627 ;; or the DEFUN macro used by the C library.
657 ;; or the DEFUN macro used by the C library. 628 (if (condition-case nil
658 (if (condition-case nil 629 (and (save-excursion
659 (and (save-excursion 630 (end-of-line)
660 (end-of-line) 631 (while (= (preceding-char) ?\\)
661 (while (= (preceding-char) ?\\) 632 (end-of-line 2))
662 (end-of-line 2)) 633 (backward-sexp 1)
663 (backward-sexp 1) 634 (beginning-of-line)
664 (beginning-of-line) 635 (setq tem (point))
665 (setq tem (point)) 636 (looking-at "DEFUN\\b"))
666 (looking-at "DEFUN\\b")) 637 (>= location tem))
667 (>= location tem)) 638 (error nil))
668 (error nil)) 639 (progn
669 (progn 640 (goto-char tem)
670 (goto-char tem) 641 (down-list 1)
671 (down-list 1) 642 (if (= (char-after (point)) ?\")
672 (if (= (char-after (point)) ?\") 643 (progn
673 (progn 644 (forward-sexp 1)
674 (forward-sexp 1) 645 (skip-chars-forward " ,")))
675 (skip-chars-forward " ,"))) 646 (buffer-substring-no-properties
676 (buffer-substring (point) 647 (point)
677 (progn (forward-sexp 1) (point)))) 648 (progn (forward-sexp 1)
678 (if (looking-at "^[+-]") 649 (point))))
679 (change-log-get-method-definition) 650 (if (looking-at "^[+-]")
680 ;; Ordinary C function syntax. 651 (change-log-get-method-definition)
681 (setq beg (point)) 652 ;; Ordinary C function syntax.
682 (if (and (condition-case nil 653 (setq beg (point))
683 ;; Protect against "Unbalanced parens" error. 654 (if (and
684 (progn 655 ;; Protect against "Unbalanced parens" error.
685 (down-list 1) ; into arglist 656 (condition-case nil
686 (backward-up-list 1) 657 (progn
687 (skip-chars-backward " \t") 658 (down-list 1) ; into arglist
688 t) 659 (backward-up-list 1)
689 (error nil)) 660 (skip-chars-backward " \t")
690 ;; Verify initial pos was after 661 t)
691 ;; real start of function. 662 (error nil))
692 (save-excursion 663 ;; Verify initial pos was after
693 (goto-char beg) 664 ;; real start of function.
694 ;; For this purpose, include the line 665 (save-excursion
695 ;; that has the decl keywords. This 666 (goto-char beg)
696 ;; may also include some of the 667 ;; For this purpose, include the line
697 ;; comments before the function. 668 ;; that has the decl keywords. This
698 (while (and (not (bobp)) 669 ;; may also include some of the
699 (save-excursion 670 ;; comments before the function.
700 (forward-line -1) 671 (while (and (not (bobp))
701 (looking-at "[^\n\f]"))) 672 (save-excursion
702 (forward-line -1)) 673 (forward-line -1)
703 (>= location (point))) 674 (looking-at "[^\n\f]")))
704 ;; Consistency check: going down and up 675 (forward-line -1))
705 ;; shouldn't take us back before BEG. 676 (>= location (point)))
706 (> (point) beg)) 677 ;; Consistency check: going down and up
707 (let (end middle) 678 ;; shouldn't take us back before BEG.
708 ;; Don't include any final whitespace 679 (> (point) beg))
709 ;; in the name we use. 680 (let (end middle)
710 (skip-chars-backward " \t\n") 681 ;; Don't include any final whitespace
711 (setq end (point)) 682 ;; in the name we use.
712 (backward-sexp 1) 683 (skip-chars-backward " \t\n")
713 ;; Now find the right beginning of the name. 684 (setq end (point))
714 ;; Include certain keywords if they 685 (backward-sexp 1)
715 ;; precede the name. 686 ;; Now find the right beginning of the name.
716 (setq middle (point)) 687 ;; Include certain keywords if they
717 (forward-word -1) 688 ;; precede the name.
718 ;; Ignore these subparts of a class decl 689 (setq middle (point))
719 ;; and move back to the class name itself. 690 (forward-word -1)
720 (while (looking-at "public \\|private ") 691 ;; Ignore these subparts of a class decl
721 (skip-chars-backward " \t:") 692 ;; and move back to the class name itself.
722 (setq end (point)) 693 (while (looking-at "public \\|private ")
723 (backward-sexp 1) 694 (skip-chars-backward " \t:")
724 (setq middle (point)) 695 (setq end (point))
725 (forward-word -1)) 696 (backward-sexp 1)
726 (and (bolp) 697 (setq middle (point))
727 (looking-at "enum \\|struct \\|union \\|class ") 698 (forward-word -1))
728 (setq middle (point))) 699 (and (bolp)
729 (goto-char end) 700 (looking-at
730 (when (eq (preceding-char) ?=) 701 "enum \\|struct \\|union \\|class ")
731 (forward-char -1) 702 (setq middle (point)))
732 (skip-chars-backward " \t") 703 (goto-char end)
733 (setq end (point))) 704 (when (eq (preceding-char) ?=)
734 (buffer-substring middle end))))))))) 705 (forward-char -1)
706 (skip-chars-backward " \t")
707 (setq end (point)))
708 (buffer-substring-no-properties
709 middle end))))))))
735 ((memq major-mode add-log-tex-like-modes) 710 ((memq major-mode add-log-tex-like-modes)
736 (if (re-search-backward 711 (if (re-search-backward
737 "\\\\\\(sub\\)*\\(section\\|paragraph\\|chapter\\)" nil t) 712 "\\\\\\(sub\\)*\\(section\\|paragraph\\|chapter\\)"
713 nil t)
738 (progn 714 (progn
739 (goto-char (match-beginning 0)) 715 (goto-char (match-beginning 0))
740 (buffer-substring (1+ (point));; without initial backslash 716 (buffer-substring-no-properties
741 (progn 717 (1+ (point)) ; without initial backslash
742 (end-of-line) 718 (line-end-position)))))
743 (point))))))
744 ((eq major-mode 'texinfo-mode) 719 ((eq major-mode 'texinfo-mode)
745 (if (re-search-backward "^@node[ \t]+\\([^,\n]+\\)" nil t) 720 (if (re-search-backward "^@node[ \t]+\\([^,\n]+\\)" nil t)
746 (buffer-substring (match-beginning 1) 721 (match-string-no-properties 1)))
747 (match-end 1))))
748 ((eq major-mode 'perl-mode) 722 ((eq major-mode 'perl-mode)
749 (if (re-search-backward "^sub[ \t]+\\([^ \t\n]+\\)" nil t) 723 (if (re-search-backward "^sub[ \t]+\\([^ \t\n]+\\)" nil t)
750 (buffer-substring (match-beginning 1) 724 (match-string-no-properties 1)))
751 (match-end 1)))) 725 ;; Emacs's autoconf-mode installs its own
726 ;; `add-log-current-defun-function'. This applies to
727 ;; a different mode apparently for editing .m4
728 ;; autoconf source.
752 ((eq major-mode 'autoconf-mode) 729 ((eq major-mode 'autoconf-mode)
753 (if (re-search-backward "^\\(\\(m4_\\)?define\\|A._DEFUN\\)(\\[?\\([A-Za-z0-9_]+\\)" nil t) 730 (if (re-search-backward
754 (buffer-substring (match-beginning 3) 731 "^\\(\\(m4_\\)?define\\|A._DEFUN\\)(\\[?\\([A-Za-z0-9_]+\\)" nil t)
755 (match-end 3)))) 732 (match-string-no-properties 3)))
756 ((or (eq major-mode 'fortran-mode)
757 ;; Needs work for f90, but better than nothing.
758 (eq major-mode 'f90-mode))
759 ;; must be inside function body for this to work
760 (fortran-beginning-of-subprogram)
761 (let ((case-fold-search t)) ; case-insensitive
762 ;; search for fortran subprogram start
763 (if (re-search-forward
764 "^[ \t]*\\(program\\|subroutine\\|function\
765\\|[ \ta-z0-9*()]*[ \t]+function\\|\\(block[ \t]*data\\)\\)"
766 (save-excursion (fortran-end-of-subprogram)
767 (point))
768 t)
769 (or (match-string 2)
770 (progn
771 ;; move to EOL or before first left paren
772 (if (re-search-forward "[(\n]" nil t)
773 (progn (backward-char)
774 (skip-chars-backward " \t"))
775 (end-of-line))
776 ;; Use the name preceding that.
777 (buffer-substring (point)
778 (progn (backward-sexp)
779 (point)))))
780 "main")))
781 (t 733 (t
782 ;; If all else fails, try heuristics 734 ;; If all else fails, try heuristics
783 (let (case-fold-search 735 (let (case-fold-search
@@ -787,14 +739,12 @@ Has a preference of looking backwards."
787 add-log-current-defun-header-regexp 739 add-log-current-defun-header-regexp
788 (- (point) 10000) 740 (- (point) 10000)
789 t) 741 t)
790 (setq result (or (buffer-substring (match-beginning 1) 742 (setq result (or (match-string-no-properties 1)
791 (match-end 1)) 743 (match-string-no-properties 0)))
792 (buffer-substring (match-beginning 0)
793 (match-end 0))))
794 ;; Strip whitespace away 744 ;; Strip whitespace away
795 (when (string-match "\\([^ \t\n\r\f].*[^ \t\n\r\f]\\)" 745 (when (string-match "\\([^ \t\n\r\f].*[^ \t\n\r\f]\\)"
796 result) 746 result)
797 (setq result (match-string 1 result))) 747 (setq result (match-string-no-properties 1 result)))
798 result)))))) 748 result))))))
799 (error nil))) 749 (error nil)))
800 750
@@ -806,7 +756,7 @@ Has a preference of looking backwards."
806(defun change-log-get-method-definition-1 (end) 756(defun change-log-get-method-definition-1 (end)
807 (setq change-log-get-method-definition-md 757 (setq change-log-get-method-definition-md
808 (concat change-log-get-method-definition-md 758 (concat change-log-get-method-definition-md
809 (buffer-substring (match-beginning 1) (match-end 1)) 759 (match-string 1)
810 end)) 760 end))
811 (goto-char (match-end 0))) 761 (goto-char (match-end 0)))
812 762