[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] XEmacs recent changes to tcl.el
From: |
Ville Skyttä |
Subject: |
[PATCH] XEmacs recent changes to tcl.el |
Date: |
31 Mar 2002 15:59:30 +0300 |
Here's a patch with recent changes to tcl.el in XEmacs modified for the
GNU Emacs version.
Submitter's (Jeff Mincy <jeff@delphioutpost.com>) description:
The problems are, tcl-mode default fill commands interacts badly with
filladapt. Enable filladapt and use fill-paragraph-or-region command
in a tcl buffer. Also, tcl-mode had some special purpose and obsolete
code for doing imenu. All that is necessary for imenu support is to
create a imenu-generic-expression and to do imenu-add-menubar-index in
a hook.
--- tcl.el.1.67 Sun Mar 31 15:42:32 2002
+++ tcl.el Sun Mar 31 15:48:14 2002
@@ -60,7 +60,7 @@
;; Jesper Pedersen <blackie@imada.ou.dk>
;; dfarmer@evolving.com (Doug Farmer)
;; "Chris Alfeld" <calfeld@math.utah.edu>
-;; Ben Wing <wing@666.com>
+;; Ben Wing <ben@xemacs.org>
;; KNOWN BUGS:
;; * In Tcl "#" is not always a comment character. This can confuse
@@ -506,6 +506,11 @@
()
(tcl-set-font-lock-keywords))
+
+(defvar tcl-imenu-generic-expression
+ '((nil "^proc[ \t]+\\([-A-Za-z0-9_:+*]+\\)" 1))
+ "Imenu generic expression for `tcl-mode'. See `imenu-generic-expression'.")
+
;;
@@ -549,8 +554,14 @@
(set (make-local-variable 'paragraph-start) "$\\|")
(set (make-local-variable 'paragraph-separate) paragraph-start)
- (set (make-local-variable 'paragraph-ignore-fill-prefix) t)
- (set (make-local-variable 'fill-paragraph-function) 'tcl-do-fill-paragraph)
+ (if (not (and (boundp 'filladapt-mode)
+ filladapt-mode))
+ (progn
+ (set (make-local-variable 'paragraph-ignore-fill-prefix) t)
+ (set (make-local-variable 'fill-paragraph-function)
+ 'tcl-do-fill-paragraph)
+ )
+ )
(set (make-local-variable 'indent-line-function) 'tcl-indent-line)
(set (make-local-variable 'comment-indent-function) 'tcl-comment-indent)
@@ -571,8 +582,8 @@
(font-lock-syntactic-keywords . tcl-font-lock-syntactic-keywords)
(parse-sexp-lookup-properties . t)))
- (set (make-local-variable 'imenu-create-index-function)
- 'tcl-imenu-create-index-function)
+ (set (make-local-variable 'imenu-generic-expression)
+ 'tcl-imenu-generic-expression)
;; Settings for new dabbrev code.
(set (make-local-variable 'dabbrev-case-fold-search) nil)
@@ -987,23 +998,6 @@
;; Interfaces to other packages.
;;
-(defun tcl-imenu-create-index-function ()
- "Generate alist of indices for `imenu'."
- (let ((re (concat tcl-proc-regexp "\\([^ \t\n{]+\\)"))
- alist prev-pos)
- (goto-char (point-min))
- (imenu-progress-message prev-pos 0)
- (save-match-data
- (while (re-search-forward re nil t)
- (imenu-progress-message prev-pos)
- ;; Position on start of proc name, not beginning of line.
- (setq alist (cons
- (cons (buffer-substring (match-beginning 2) (match-end 2))
- (match-beginning 2))
- alist))))
- (imenu-progress-message prev-pos 100)
- (nreverse alist)))
-
;; FIXME Definition of function is very ad-hoc. Should use
;; beginning-of-defun. Also has incestuous knowledge about the
;; format of tcl-proc-regexp.
@@ -1108,7 +1102,7 @@
(define-derived-mode inferior-tcl-mode comint-mode "Inferior Tcl"
"Major mode for interacting with Tcl interpreter.
-A Tcl process can be started with M-x inferior-tcl.
+A Tcl process can be started with \\[inferior-tcl].
Entry to this mode runs the normal hooks `comint-mode-hook' and
`inferior-tcl-mode-hook', in that order.
@@ -1246,7 +1240,7 @@
(car (tcl-hairy-scan-for-comment nil save nil))))
(defun tcl-do-fill-paragraph (ignore)
- "fill-paragraph function for Tcl mode. Only fills in a comment."
+ "`fill-paragraph' function for Tcl mode. Only fills in a comment."
(let (in-comment col where)
(save-excursion
(end-of-line)
--
Ville Skyttä
ville.skytta@xemacs.org
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] XEmacs recent changes to tcl.el,
Ville Skyttä <=