annotate etc/LEDIT @ 30411:41f228350eca

Got rid of all byte-compiler warnings on Emacs Load ada-xref.el before ada-prj.el, so that the Project menu is created when ada-prj tries to add to it. (ada-activate-keys-for-case): Suppress the characters that are not part of the Ada syntax. Better compatibility with else-mode (ada-adjust-case-interactive): When auto-casing is not active, correctly insert newlines (used to insert only ^M). Prevent the syntax table from being changed in case of an error (or '_' becomes part of a word and some commands are confused). Do nothing if ada-auto-case is nil. (ada-after-keyword-p): Ignore keywords that are also attributes (ada-batch-reformat): Update usage comment (ada-call-from-contextual-menu): New function (ada-case-read-exceptions): Reinitialize the casing exception list first to nil first, so that the casing exception file can be shared. (ada-check-defun-name): Handles "configure" keyword for gnatdist files. (ada-compile-goto-error): Fix regexp used to detect a file:line anywhere in the error message (ada-contextual-menu-last-point): New variable (ada-create-keymap): If the variable delete-key-deletes-forward is t on XEmacs, it means that DEL should delete one character forward. (ada-create-menu): Use :included instead of :visible for XEmacs. New submenu "Options". (ada-end-stmt-re): Correctly indent "select ... then abort" statements. (ada-fill-comment-paragraph): Correctly delete all leading '--' even if they don't match ada-fill-comment-prefix Fix handling of paragraphs on the first or last line of a file. (ada-format-paramlist): Fix handling of default parameter values. (ada-get-body-name): New function. (ada-get-current-indent): Optimized by searchling directly for an existing generic part or a statement outside of it. Handle ada-indent-align-comments when indenting comments Replaced some regexps by testing directly the next character. This results in a huge speedup on some files. New indentation scheme for renames statements. Stop looking for the 'while' or 'for' associated with a 'loop' at the first semicolon encountered. A "return" can also match an anonymous access subprogram declaration. (ada-get-indent-noindent): Ignore strings and comments when looking for the keywords "record" and "private". (ada-goto-matching-decl-start): When matching "if", make sure we are not in fact seeing "end if". Ignore "when" statements except when initial keyword was "begin". Fix handling of nested procedures. Add a recursive call to this function to skip over other 'end' statmts. Fix indentation for "when .. => begin" (ada-in-open-paren-p): Fix indentation for complex boolean expressions, where 'and then', 'or else' and parenthesis statements are mixed up. (ada-in-paramlist-p): Skip comments while searching for the beginning Fix handling of operator declarations. (ada-indent-align-comments): New variable (ada-indent-current): Change the syntax table only in the protected section, so that we are sure it is restored correctly. (ada-indent-on-previous-lines): Use ada-use-indent and ada-with-indent Correctly indent "select ... then" (ada-indent-region): Slight speedup. (ada-indent-renames): New variable. (ada-last-which-function-subprog, ada-last-which-function-line): New variables (ada-looking-at-semi-private): Correctly indent the 'private' keyword when it is the first word in a package declaration. (ada-loose-case-word): Stop searching if at the end of the buffer. (ada-loose-case-word, ada-capitalize-word): Recase the whole word even if point is not initially at the end of the word. (ada-matching-decl-start-re): Add "when". (ada-mode): Add support for abbrev-mode, outline-mode and which-func-mode Override the old find-file.el entry in ff-special-constructs since it is using the obsolete ada-spec-suffix variable (ada-no-auto-case): New function (ada-scan-paramlist): When parsing the argument type, accept spaces (as in "X 'Class", generated by Rational Rose). (ada-other-file-name): No longer loads the other file. (ada-popup-menu): Save and restore the current buffer and cursor position before and after displaying the menu. (ada-search-ignore-complex-boolean): New function. (ada-uncomment-region): Emacs21 already knows how to delete comments not starting in the first column. (ada-use-indent): New variable (ada-which-function): New function. (ada-with-indent): New variable (ada-xemacs): evaluate it at compile time too, so that ada-mode.el can be batch-compiled from the command line.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 24 Jul 2000 11:14:26 +0000
parents bd1d7d04426c
children 23a1cea22d13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25928
Dave Love <fx@gnu.org>
parents:
diff changeset
1 Date: 17 Apr 85 15:45:42 EST (Wed)
Dave Love <fx@gnu.org>
parents:
diff changeset
2 From: Martin David Connor <mdc@MIT-HTVAX.ARPA>
Dave Love <fx@gnu.org>
parents:
diff changeset
3
Dave Love <fx@gnu.org>
parents:
diff changeset
4 Date: Sat, 13 Apr 85 16:28:15 est
Dave Love <fx@gnu.org>
parents:
diff changeset
5 From: Richard M. Stallman <rms@mit-prep>
Dave Love <fx@gnu.org>
parents:
diff changeset
6
Dave Love <fx@gnu.org>
parents:
diff changeset
7 Can you help this person? Also, can you give me the rest of ledit
Dave Love <fx@gnu.org>
parents:
diff changeset
8 to distribute, plus some info on how to use it?
Dave Love <fx@gnu.org>
parents:
diff changeset
9
Dave Love <fx@gnu.org>
parents:
diff changeset
10 I have put the files "ledit.l" and "leditcfns.c" on prep:~mdc.
Dave Love <fx@gnu.org>
parents:
diff changeset
11 Much to my disgust ledit.l relied on some bogus little package of
Dave Love <fx@gnu.org>
parents:
diff changeset
12 functions on HT, so I had to massage it a bit.
Dave Love <fx@gnu.org>
parents:
diff changeset
13
Dave Love <fx@gnu.org>
parents:
diff changeset
14 To get it to work, one must:
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 - Compile leditcfns.c with something like:
Dave Love <fx@gnu.org>
parents:
diff changeset
17
Dave Love <fx@gnu.org>
parents:
diff changeset
18 cc leditcfns.c
Dave Love <fx@gnu.org>
parents:
diff changeset
19
Dave Love <fx@gnu.org>
parents:
diff changeset
20 - Edit ledit.l, changing the line beginning "(cfasl" to
Dave Love <fx@gnu.org>
parents:
diff changeset
21 have the right pathname for the cfns file you compiled in
Dave Love <fx@gnu.org>
parents:
diff changeset
22 the last step.
Dave Love <fx@gnu.org>
parents:
diff changeset
23
Dave Love <fx@gnu.org>
parents:
diff changeset
24 - Compile ledit.l with:
Dave Love <fx@gnu.org>
parents:
diff changeset
25
Dave Love <fx@gnu.org>
parents:
diff changeset
26 liszt ledit.l
Dave Love <fx@gnu.org>
parents:
diff changeset
27
Dave Love <fx@gnu.org>
parents:
diff changeset
28 Then put the following lines in your .lisprc file:
Dave Love <fx@gnu.org>
parents:
diff changeset
29
Dave Love <fx@gnu.org>
parents:
diff changeset
30 ;load in functions for emacs interface
Dave Love <fx@gnu.org>
parents:
diff changeset
31 (load "//src//mdc//ledit//ledit") ; Location of Ledit library
Dave Love <fx@gnu.org>
parents:
diff changeset
32 (set-proc-str "%gnumacs") ; Name of editor
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 Then you can use ^E <RETURN> to get from LISP back to gnumacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
35
Dave Love <fx@gnu.org>
parents:
diff changeset
36 Here is the part of my .emacs file that pertains to ledit.
Dave Love <fx@gnu.org>
parents:
diff changeset
37
Dave Love <fx@gnu.org>
parents:
diff changeset
38 ;;; Set up ledit mode
Dave Love <fx@gnu.org>
parents:
diff changeset
39 (setq ledit-go-to-lisp-string "%lisp")
Dave Love <fx@gnu.org>
parents:
diff changeset
40 (setq lisp-mode-hook 'ledit-from-lisp-mode)
Dave Love <fx@gnu.org>
parents:
diff changeset
41
Dave Love <fx@gnu.org>
parents:
diff changeset
42 Date: Sat, 13 Apr 85 11:26:32 cst
Dave Love <fx@gnu.org>
parents:
diff changeset
43 From: neves@wisc-ai.arpa (David Neves)
Dave Love <fx@gnu.org>
parents:
diff changeset
44
Dave Love <fx@gnu.org>
parents:
diff changeset
45 This is a documentation question.
Dave Love <fx@gnu.org>
parents:
diff changeset
46 I cannot figure out how to use Ledit. I suspect I need some
Dave Love <fx@gnu.org>
parents:
diff changeset
47 function on the Franz Lisp end of things to go to Emacs and read in
Dave Love <fx@gnu.org>
parents:
diff changeset
48 the temporary file. Is this true? Is the Lisp job started within
Dave Love <fx@gnu.org>
parents:
diff changeset
49 Emacs or outside of emacs? I'm just plain confused. Perhaps a couple
Dave Love <fx@gnu.org>
parents:
diff changeset
50 of words from someone in the know would help.
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52 A related question. I have been using a shell buffer when interacting
Dave Love <fx@gnu.org>
parents:
diff changeset
53 with Lisp (ie. put a definition in the kill buffer and then yank it
Dave Love <fx@gnu.org>
parents:
diff changeset
54 into the shell buffer to redefine it). This is nice but tends to fill
Dave Love <fx@gnu.org>
parents:
diff changeset
55 up the shell buffer with lots of code (I'd rather keep calls to functions
Dave Love <fx@gnu.org>
parents:
diff changeset
56 in the shell and not the functions themselves).
Dave Love <fx@gnu.org>
parents:
diff changeset
57 My question: Is using the shell buffer "better" than ledit? Am I using
Dave Love <fx@gnu.org>
parents:
diff changeset
58 it in the best way (i.e. copying definitions from an edit buffer to the
Dave Love <fx@gnu.org>
parents:
diff changeset
59 shell buffer)? -Thanks, David Neves
Dave Love <fx@gnu.org>
parents:
diff changeset
60
Dave Love <fx@gnu.org>
parents:
diff changeset
61 I have found that ledit works well for doing programming development
Dave Love <fx@gnu.org>
parents:
diff changeset
62 when you are changing lots of little pieces of a file and don't wish
Dave Love <fx@gnu.org>
parents:
diff changeset
63 to recompile the whole file. Of course M-X Compile is very nice for
Dave Love <fx@gnu.org>
parents:
diff changeset
64 calling up a liszt on a buffer and watching it in the another window.
Dave Love <fx@gnu.org>
parents:
diff changeset
65 Of course the interface of something like NIL is even better because
Dave Love <fx@gnu.org>
parents:
diff changeset
66 you can compile your function directly into your lisp. But since NIL
Dave Love <fx@gnu.org>
parents:
diff changeset
67 doesn't run under Unix, this is probably the next best thing.
Dave Love <fx@gnu.org>
parents:
diff changeset
68
Dave Love <fx@gnu.org>
parents:
diff changeset
69 I have tried the 2 window method (shell in lower window, lisp code in
Dave Love <fx@gnu.org>
parents:
diff changeset
70 upper), and have found it a little awkward. It does have certain
Dave Love <fx@gnu.org>
parents:
diff changeset
71 advantages, but most of the time, I get be fine using M-C-D to save a
Dave Love <fx@gnu.org>
parents:
diff changeset
72 defun for lisp, and C-X Z to jump back to LISP. C-E RETURN from lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
73 is also mnemonic for getting back to gnumacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
74
Dave Love <fx@gnu.org>
parents:
diff changeset
75 I hope this helps somewhat.
Dave Love <fx@gnu.org>
parents:
diff changeset
76
Dave Love <fx@gnu.org>
parents:
diff changeset
77