[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: patch: add-log.el: changelog find file under poin
From: |
Dan Nicolaescu |
Subject: |
Re: patch: add-log.el: changelog find file under poin |
Date: |
Tue, 22 Jan 2008 00:21:09 -0800 |
Richard Stallman <address@hidden> writes:
> Would someone please install this, and update NEWS?
> (Please add a doc string for the new variable.)
I think this code needs a bit of bug fixing before it is ready to be
applied. For example given this ChangeLog:
* progmodes/hideif.el (hide-ifdef-initially, hide-ifdef-read-only)
(hide-ifdef-lines, hide-ifdef-shadow, hide-ifdef-shadow):
Remove autoload cookies.
* vc.el (vc-diff-sentinel): Do not write a footer if there were
differences.
If the point is on the hide-ifdef-shadow line, C-c C-f will find vc.el,
not progmodes/hideif.el, which sounds like a bug.
An improvement that would make this even more useful would be that after
finding the file, it should do a search for the item the point is
on. That won't always find the correct function/variable/etc. the log
entry refers to, but it will help the user a lot when it does.
> From: Jan Nieuwenhuizen <address@hidden>
> To: address@hidden
> Content-Type: text/plain
> Organization: lilypond-design.org
> Date: Sun, 04 Nov 2007 22:18:12 +0100
> Mime-Version: 1.0
> Subject: patch: add-log.el: changelog find file under poin
>
> Hi,
>
> I found this function missing after applying a patch that had minor
> conflicts in almost every file.
>
> Greetings,
> Jan.
>
> ChangeLog
> 2007-11-04 Jan Nieuwenhuizen <address@hidden>
>
> * add-log.el (change-log-search-file-name, change-log-find-file):
> New function.
> (change-log-mode-map): New binding C-c C-f to change-log-find-file.
>
> --- lisp/add-log.el~ 2007-11-04 22:12:20.000000000 +0100
> +++ lisp/add-log.el 2007-11-04 22:12:31.000000000 +0100
> @@ -240,8 +240,10 @@
> ;; backward-compatibility alias
> (put 'change-log-acknowledgement-face 'face-alias
'change-log-acknowledgement)
>
> +(defvar change-log-file-names-re "^\\( +\\|\t\\)\\* \\([^ ,:([\n]+\\)")
> +
> (defvar change-log-font-lock-keywords
> - '(;;
> + `(;;
> ;; Date lines, new (2000-01-01) and old (Sat Jan 1 00:00:00 2000)
styles.
> ;; Fixme: this regepx is just an approximate one and may match
> ;; wrongly with a non-date line existing as a random note. In
> @@ -255,7 +257,7 @@
> (2 'change-log-email)))
> ;;
> ;; File names.
> - ("^\\( +\\|\t\\)\\* \\([^ ,:([\n]+\\)"
> + (,change-log-file-names-re
> (2 'change-log-file)
> ;; Possibly further names in a list:
> ("\\=, \\([^ ,:([\n]+\\)" nil nil (1 'change-log-file))
> @@ -287,10 +289,27 @@
> 3 'change-log-acknowledgement))
> "Additional expressions to highlight in Change Log mode.")
>
> +(defun change-log-search-file-name (where)
> + "Return the file-name for the change under point."
> + (save-excursion
> + (goto-char where)
> + (beginning-of-line 1)
> + (re-search-forward change-log-file-names-re)
> + (match-string 2)))
> +
> +(defun change-log-find-file ()
> + "Visit the file for the change under point."
> + (interactive)
> + (let ((file (change-log-search-file-name (point))))
> + (if (and file (file-exists-p file))
> + (find-file file)
> + (message "No such file or directory: ~s" file))))
> +
> (defvar change-log-mode-map
> (let ((map (make-sparse-keymap)))
> (define-key map [?\C-c ?\C-p] 'add-log-edit-prev-comment)
> (define-key map [?\C-c ?\C-n] 'add-log-edit-next-comment)
> + (define-key map [?\C-c ?\C-f] 'change-log-find-file)
> map)
> "Keymap for Change Log major mode.")
>
>
>
> --
> Jan Nieuwenhuizen <address@hidden> | GNU LilyPond - The music typesetter
> http://www.xs4all.nl/~jantien | http://www.lilypond.org
>
>
>
> _______________________________________________
> Emacs-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-devel
- Re: patch: add-log.el: changelog find file under poin, (continued)
- Re: patch: add-log.el: changelog find file under poin, Dan Nicolaescu, 2008/01/29
- Re: patch: add-log.el: changelog find file under poin, Juri Linkov, 2008/01/21
- RE: patch: add-log.el: changelog find file under poin, Drew Adams, 2008/01/21
- Re: patch: add-log.el: changelog find file under poin, Juri Linkov, 2008/01/22
- RE: patch: add-log.el: changelog find file under poin, Drew Adams, 2008/01/22
- Re: patch: add-log.el: changelog find file under poin, Richard Stallman, 2008/01/22
- Re: patch: add-log.el: changelog find file under poin, Juri Linkov, 2008/01/22
- Re: patch: add-log.el: changelog find file under poin, Richard Stallman, 2008/01/23
- Re: patch: add-log.el: changelog find file under poin, Jan Nieuwenhuizen, 2008/01/28
- Re: patch: add-log.el: changelog find file under poin, Johan Bockgård, 2008/01/28
Re: patch: add-log.el: changelog find file under poin,
Dan Nicolaescu <=