-----Original Message-----
From: Chitale, Sandip V [mailto:[EMAIL PROTECTED]
Sent: Wednesday, July 16, 2003 9:58 PM
To: Jayakrishnan Nair; [EMAIL PROTECTED]
Subject: RE: Auto Indending
It is due to the (IMHO) extraneous (c-indent-defun) call at the end of
jde-gen-cflow-if template. Customize it and remove the call.
(Reasoning: why should every if statement indent the whole functions?
Maybe the call should be substituted with indent-region, assuming the
whole if statement is wrapped by a region.)
(defcustom jde-gen-cflow-if
'(
"(if (jde-parse-comment-or-quoted-p)"
" '(l \"if\")"
" '(l '> \"if\" jde-gen-conditional-padding-1 "
" \"(\" jde-gen-conditional-padding-2 (p \"if-clause: \" clause)"
" jde-gen-conditional-padding-2 \")\""
" (if jde-gen-k&r "
" jde-gen-conditional-padding-3 "
" '>'n)"
" \"{\"'>'n'>'r'n"
" \"}\""
" (if jde-gen-comments "
" '(l \" // end of if (\" (s clause) \")\"))"
" '>'n'> (c-indent-defun))"
" )"
)
> -----Original Message-----
> From: Jayakrishnan Nair [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 16, 2003 5:50 PM
> To: [EMAIL PROTECTED]
> Subject: Auto Indending
>
>
> Hi,
>
> I am using JDE 2.3.2 on Win2K. Everything works fine. If I
> type an if() then it just does it without any problem. But
> later, due to some key combination I am pressing, when I type
> if(), it says "Indenting.." And waits for a while and then
> puts the open and close curly brace and all. It takes some
> time and is irritating. How does this mode get turned on ?
>
> Cheers,
>
> JK
>
>
How about creating a JDE customization variable to control if
c-indent-defun is called by any JDE abbreviations? It seems a few
people experienced performance issues with this, and it is in three
different templates (if, while, and try-catch).
At the bottom is a patch to the jde-gen.el in 2.3.3Beta5 (revision
1.64). It creates a new JDE customization variable called
jde-gen-cindent. If it is set to true, the default, the abbreviations
behave as currently implemented. If it is set to false, if, while, and
try-catch will not call the c-indent-defun.
David
-------------------- jde-gen.patch -------------------------------
--- jde-gen.el.old 2003-07-16 11:21:41.000000000 -0400
+++ jde-gen.el 2003-07-16 12:23:55.000000000 -0400
@@ -2220,6 +2220,13 @@
:group 'jde-gen
:type 'boolean)
+(defcustom jde-gen-cindent t
+ "*If nil, disables the call to c-indent-defun at the end of
+any templates where it is included. This can improve performance
+on very large source files."
+ :group 'jde-gen
+ :type 'boolean)
+
;; (makunbound 'jde-gen-cflow-if)
(defcustom jde-gen-cflow-if
'(
@@ -2235,7 +2242,9 @@
" \"}\""
" (if jde-gen-comments "
" '(l \" // end of if (\" (s clause) \")\"))"
- " '>'n'> (c-indent-defun))"
+ " '>'n'>"
+ " (if jde-gen-cindent"
+ " (c-indent-defun)))"
" )"
)
"Skeleton if statement. To insert the if statement at point, type if
@@ -2357,7 +2366,9 @@
" \"}\""
" (if jde-gen-comments "
" '(l \" // end of while (\" (s clause) \")\"))"
- " '>'n'> (c-indent-defun))"
+ " '>'n'>"
+ " (if jde-gen-cindent"
+ " (c-indent-defun)))"
" )"
)
"Skeleton while statement. To insert the statement at point, type while
@@ -2546,7 +2557,9 @@
" \"}\""
" (if jde-gen-comments "
" '(l \" // end of try-catch\"))"
- " '>'n'> (c-indent-defun))"
+ " '>'n'>"
+ " (if jde-gen-cindent"
+ " (c-indent-defun)))"
" )"
)
"Skeleton try-catch statement. To insert the statement at point, type try
-------------------- jde-gen.patch -------------------------------