Mercurial > emacs
view lisp/cedet/srecode/el.el @ 108009:17d3324f96dd
Make the log-edit comments use RFC822 format throughout.
* vc.el (vc-checkin, vc-modify-change-comment):
Adjust to new vc-start/finish-logentry.
(vc-find-conflicted-file): New command.
(vc-transfer-file): Adjust to new vc-checkin.
(vc-next-action): Improve scoping.
* vc-hg.el (vc-hg-log-edit-mode): Remove.
(vc-hg-checkin): Remove extra arg. Use log-edit-extract-headers.
* vc-git.el (vc-git-log-edit-mode): Remove.
(vc-git-checkin): Remove extra arg. Use log-edit-extract-headers.
(vc-git-commits-coding-system): Rename from git-commits-coding-system.
* vc-dispatcher.el (vc-log-edit): Shorten names for log-edit-show-files.
(vc-start-logentry): Remove argument `extra'.
(vc-finish-logentry): Remove extra args.
* vc-bzr.el (vc-bzr-log-edit-mode): Remove.
(vc-bzr-checkin): Remove extra arg. Use log-edit-extract-headers.
(vc-bzr-conflicted-files): New function.
* log-edit.el (log-edit-extra-flags)
(log-edit-before-checkin-process): Remove.
(log-edit-summary, log-edit-header, log-edit-unknown-header): New faces.
(log-edit-headers-alist): New var.
(log-edit-header-contents-regexp): New const.
(log-edit-match-to-eoh): New function.
(log-edit-font-lock-keywords): Use them.
(log-edit): Insert a "Summary:" header as default.
(log-edit-mode): Mark font-lock rules as case-insensitive.
(log-edit-done): Cleanup headers.
(log-view-process-buffer): Remove.
(log-edit-extract-headers): New function to replace it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 20 Apr 2010 22:05:24 -0400 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
line wrap: on
line source
;;; srecode/el.el --- Emacs Lisp specific arguments ;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <eric@siege-engine.com> ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;; ;; Emacs Lisp specific handlers. To use these handlers in your ;; template, add the :name part to your template argument list. ;; ;; Error if not in a Emacs Lisp mode ;;; Code: (require 'srecode) (require 'srecode/semantic) (declare-function semanticdb-brute-find-tags-by-class "semantic/db-find") ;;;###autoload (defun srecode-semantic-handle-:el (dict) "Add macros into the dictionary DICT based on the current Emacs Lisp file. Adds the following: PRENAME - The common name prefix of this file." (let* ((names (append (semantic-find-tags-by-class 'function (current-buffer)) (semantic-find-tags-by-class 'variable (current-buffer))) ) (common (try-completion "" names))) (srecode-dictionary-set-value dict "PRENAME" common) )) ;;;###autoload (defun srecode-semantic-handle-:el-custom (dict) "Add macros into the dictionary DICT based on the current Emacs Lisp file. Adds the following: GROUP - The 'defgroup' name we guess you want for variables. FACEGROUP - The `defgroup' name you might want for faces." (require 'semantic/db-find) (let ((groups (semanticdb-strip-find-results (semanticdb-brute-find-tags-by-class 'customgroup))) (varg nil) (faceg nil) ) ;; Pick the best group (while groups (cond ((string-match "face" (semantic-tag-name (car groups))) (setq faceg (car groups))) ((not varg) (setq varg (car groups))) (t ;; What about other groups? )) (setq groups (cdr groups))) ;; Double check the facegroup. (setq faceg (or faceg varg)) ;; Setup some variables (srecode-dictionary-set-value dict "GROUP" (semantic-tag-name varg)) (srecode-dictionary-set-value dict "FACEGROUP" (semantic-tag-name faceg)) )) (define-mode-local-override srecode-semantic-apply-tag-to-dict emacs-lisp-mode (tagobj dict) "Apply Emacs Lisp specific features from TAGOBJ into DICT. Calls `srecode-semantic-apply-tag-to-dict-default' first." (srecode-semantic-apply-tag-to-dict-default tagobj dict) ;; Pull out the tag for the individual pieces. (let* ((tag (oref tagobj :prime)) (doc (semantic-tag-docstring tag))) ;; It is much more common to have doc on ELisp. (srecode-dictionary-set-value dict "DOC" doc) (cond ;; ;; FUNCTION ;; ((eq (semantic-tag-class tag) 'function) (if (semantic-tag-get-attribute tag :user-visible-flag) (srecode-dictionary-set-value dict "INTERACTIVE" " (interactive)\n ") (srecode-dictionary-set-value dict "INTERACTIVE" "")))))) (provide 'srecode/el) ;; Local variables: ;; generated-autoload-file: "loaddefs.el" ;; generated-autoload-load-name: "srecode/el" ;; End: ;; arch-tag: c1852a36-d45b-4263-8f3e-03f4f3c795d9 ;;; srecode/el.el ends here