aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorGlenn Morris2014-03-27 14:20:08 -0400
committerGlenn Morris2014-03-27 14:20:08 -0400
commit322ddc7f74bc997b6c04d641594eb474c4ef37f2 (patch)
tree9bd53c75ceed95b477c7dbfb555ec14a949650b5 /doc
parent2c9bd776d7b267d31768082c0439848b3a5583d7 (diff)
downloademacs-322ddc7f74bc997b6c04d641594eb474c4ef37f2.tar.gz
emacs-322ddc7f74bc997b6c04d641594eb474c4ef37f2.zip
vhdl-mode.texi clean-up
* doc/misc/vhdl-mode.texi: General clean-up. Set copyright to FSF (years based on vhdl-mode releases), add license. Remove hand-written node pointers. Remove info re old Emacs versions. Markup fixes. (Getting Connected): Remove irrelevant info. (Indentation Commands, Requirements): Remove empty/irrelevant nodes. (Frequently Asked Questions): Electric indent is now enabled.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/ChangeLog9
-rw-r--r--doc/misc/vhdl-mode.texi453
2 files changed, 108 insertions, 354 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index e1c4d004c30..582a4012e4d 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,12 @@
12014-03-27 Glenn Morris <rgm@gnu.org>
2
3 * vhdl-mode.texi: General clean-up. Set copyright to FSF, add license.
4 Remove hand-written node pointers. Remove info re old Emacs versions.
5 Markup fixes.
6 (Getting Connected): Remove irrelevant info.
7 (Indentation Commands, Requirements): Remove empty/irrelevant nodes.
8 (Frequently Asked Questions): Electric indent is now enabled.
9
12014-03-27 Reto Zimmermann <reto@gnu.org> 102014-03-27 Reto Zimmermann <reto@gnu.org>
2 Rod Whitby <software.vhdl-mode@rwhitby.net> 11 Rod Whitby <software.vhdl-mode@rwhitby.net>
3 12
diff --git a/doc/misc/vhdl-mode.texi b/doc/misc/vhdl-mode.texi
index f5933df016d..b44b1fedac7 100644
--- a/doc/misc/vhdl-mode.texi
+++ b/doc/misc/vhdl-mode.texi
@@ -1,87 +1,60 @@
1\input texinfo @c -*- texinfo -*- 1\input texinfo @c -*- texinfo -*-
2 2
3@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 3@setfilename ../../info/vhdl-mode
4@comment %**start of header (This is for running Texinfo on a region) 4@settitle VHDL Mode, an Emacs mode for editing VHDL code
5@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6
7@setfilename vhdl-mode.info
8@settitle VHDL Mode Version 3 Documentation
9@footnotestyle end
10
11@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12@comment @setchapternewpage odd !! we don't want blank pages !!
13@comment %**end of header (This is for running Texinfo on a region)
14@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15
16
17@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18@comment
19@comment texinfo manual for @file{vhdl-mode.el} version 3
20@comment manual version: 3.1
21@comment adapted from the VHDL Mode texinfo manual version 2 by
22@comment Rodney J. Whitby <rwhitby@geocities.com>
23@comment adapted from the CC Mode texinfo manual by Barry A. Warsaw
24@comment <bwarsaw@cnri.reston.va.us>
25@comment
26@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
28
29@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
30@comment The following line inserts the copyright notice
31@comment into the Info file.
32@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
33
34@ifinfo
35Copyright @copyright{} 1997 - 2002 Reto Zimmermann <reto@@gnu.org>
36Copyright @copyright{} 1995 - 1997 Rodney J. Whitby <software.vhdl-mode@@rwhitby.net>
37@end ifinfo
38
39@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
40@comment !!!The titlepage section does not appear in the Info file.!!!
41@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
42 5
43@titlepage 6@c Adapted from the VHDL Mode texinfo manual version 2 by Rodney J. Whitby.
44@sp 10 7@c Adapted from the CC Mode texinfo manual by Barry A. Warsaw.
45 8
9@copying
10This file documents VHDL Mode, an Emacs mode for editing VHDL code.
46 11
47@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 12Copyright @copyright{} 1995--2008, 2010, 2012, 2014 Free Software
48@comment The title is printed in a large font. 13Foundation, Inc.
49@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
50 14
51@center @titlefont{VHDL Mode Version 3} 15@quotation
52@sp 2 16Permission is granted to copy, distribute and/or modify this document
53@center A GNU Emacs mode for editing VHDL code. 17under the terms of the GNU Free Documentation License, Version 1.3 or
54@center (manual revision: 3.1) 18any later version published by the Free Software Foundation; with no
55@sp 2 19Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
56@center Reto Zimmermann 20and with the Back-Cover Texts as in (a) below. A copy of the license
57@center @code{Reto.Zimmermann@@iaeth.ch} 21is included in the section entitled ``GNU Free Documentation License.''
58@center Rod Whitby 22
59@center @code{rwhitby@@geocities.com} 23(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
24modify this GNU manual.''
25@end quotation
26@end copying
60 27
28@dircategory Emacs editing modes
29@direntry
30* VHDL Mode: (vhdl-mode). Emacs mode for editing VHDL code.
31@end direntry
61 32
62@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 33@finalout
63@comment The following two commands start the copyright page 34
64@comment for the printed manual. This will not appear in the Info file. 35@titlepage
65@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 36@title VHDL Mode
37@sp 2
38@subtitle A GNU Emacs mode for editing VHDL code.
39@sp 2
40@author Reto Zimmermann
41@author @email{reto@@gnu.org}
42@author Rod Whitby
43@author @email{software.vhdl-mode@@rwhitby.net}
66 44
67@page 45@page
68@vskip 0pt plus 1filll 46@vskip 0pt plus 1filll
69Copyright @copyright{} 1997 Reto Zimmermann <Reto.Zimmermann@@iaeth.ch> 47@insertcopying
70Copyright @copyright{} 1995 - 1997 Rodney J. Whitby <rwhitby@@geocities.com>
71@end titlepage 48@end titlepage
72 49
50@contents
73 51
74@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 52@ifnottex
75@comment The Top node contains the master menu for the Info file. 53@node Top
76@comment This appears only in the Info file, not the printed manual. 54@top VHDL Mode, an Emacs mode for editing VHDL code
77@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
78
79@node Top, Introduction, (dir), (dir)
80@comment node-name, next, previous, up
81
82 55
83@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 56@insertcopying
84@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 57@end ifnottex
85 58
86@menu 59@menu
87* Introduction:: 60* Introduction::
@@ -89,29 +62,24 @@ Copyright @copyright{} 1995 - 1997 Rodney J. Whitby <rwhitby@@geocities.com>
89* New Indentation Engine:: 62* New Indentation Engine::
90* Customizing Indentation:: 63* Customizing Indentation::
91* Syntactic Symbols:: 64* Syntactic Symbols::
92* Indentation Commands::
93* Frequently Asked Questions:: 65* Frequently Asked Questions::
94* Getting the latest VHDL Mode release:: 66* Getting the latest VHDL Mode release::
95* Sample .emacs File:: 67* Sample .emacs File::
96* Requirements:: 68* Limitations and Known Bugs::
97* Limitations and Known Bugs::
98* Mailing Lists and Submitting Bug Reports:: 69* Mailing Lists and Submitting Bug Reports::
70* GNU Free Documentation License:: The license for this documentation.
99* Concept Index:: 71* Concept Index::
100* Command Index:: Command Index 72* Command Index:: Command Index
101* Key Index:: Key Index 73* Key Index:: Key Index
102* Variable Index:: Variable Index 74* Variable Index:: Variable Index
103@end menu 75@end menu
104 76
105@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 77@node Introduction
106@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
107
108@node Introduction, Getting Connected, Top, Top
109@comment node-name, next, previous, up
110@chapter Introduction 78@chapter Introduction
111@cindex Introduction 79@cindex Introduction
112 80
113Welcome to VHDL Mode version 3. This is a GNU Emacs mode for editing 81Welcome to VHDL Mode. This is a GNU Emacs mode for editing files
114files containing VHDL code. 82containing VHDL code.
115 83
116This manual will describe the following: 84This manual will describe the following:
117 85
@@ -145,120 +113,17 @@ within the mode itself by typing @kbd{C-c C-h}. Also, all commands and
145customization of most variables are available through the menu, which 113customization of most variables are available through the menu, which
146makes everything highly self-explaining. 114makes everything highly self-explaining.
147 115
148 116@node Getting Connected
149@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
150
151@node Getting Connected, New Indentation Engine, Introduction, Top
152@comment node-name, next, previous, up
153@chapter Getting Connected 117@chapter Getting Connected
154@cindex Getting Connected 118@cindex Getting Connected
155 119
156@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 120To get started, simply visit a @file{.vhd} file in Emacs; or type
157 121@kbd{M-x vhdl-mode RET}.
158VHDL Mode works well under GNU Emacs 20 and XEmacs 19.15 and higher.
159GNU Emacs 19 is not supported anymore since several new features of
160Emacs 20 are used in this VHDL Mode version (you can download VHDL
161Mode version 1.10 for Emacs 19).
162
163@cindex .emacs file
164The first thing you will want to do is put @file{vhdl-mode.el} somewhere
165on your @code{load-path} so Emacs can find it. Do a @kbd{C-h v
166load-path RET} to see all the directories Emacs looks at when loading a
167file. If none of these directories are appropriate, create a new
168directory and add it to your @code{load-path}:
169
170@noindent
171@emph{[in the shell]}
172@example
173@group
174
175% cd
176% mkdir mylisp
177% mv vhdl-mode.el mylisp
178% cd mylisp
179
180@end group
181@end example
182
183@noindent
184@emph{[in your .emacs file add]}
185@example
186
187(setq load-path (cons "~/mylisp" load-path))
188
189@end example
190
191@cindex byte compile
192Next you want to @dfn{byte compile} @file{vhdl-mode.el}. The mode uses a
193lot of macros so if you don't byte compile it, things will be unbearably
194slow. @emph{You can ignore all byte-compiler warnings!} They are the
195result of the supporting different versions of Emacs, and none of the
196warnings have any effect on operation. Let me say this again:
197@strong{You really can ignore all byte-compiler warnings!}
198
199Here's what to do to byte-compile the file [in emacs]:
200@example
201
202M-x byte-compile-file RET ~/mylisp/vhdl-mode.el RET
203
204@end example
205
206Now add the following autoloads to your @file{.emacs} file so that
207@code{vhdl-mode} gets loaded at the right time:
208@example
209
210(autoload 'vhdl-mode "vhdl-mode" "VHDL Editing Mode" t)
211
212@end example
213
214Alternatively, if you want to make sure VHDL Mode is loaded when
215Emacs starts up, you could use this line instead of the autoload above:
216@example
217
218(require 'vhdl-mode)
219
220@end example
221
222Next, you will want to set up Emacs so that it edits VHDL files in
223VHDL Mode. All users should add the following to their
224@file{.emacs} file. Note that this assumes you'll be editing @code{.vhd}
225and files as VHDL. YMMV:
226@example
227@group
228
229(setq auto-mode-alist
230 (append
231 '(("\\.vhd$" . vhdl-mode)
232 ) auto-mode-alist))
233
234@end group
235@end example
236
237That's all you need -- I know, I know, it sounds like a lot @code{:-)},
238but after you've done all this, you should only need to quit and restart
239Emacs. The next time you visit a VHDL file you should be using
240VHDL Mode. You can check this easily by hitting @kbd{M-x
241vhdl-version RET} in the VHDL Mode buffer. You should see this
242message in the echo area:
243@example
244
245Using VHDL Mode version 3.@var{XX}
246
247@end example
248
249@noindent
250where @var{XX} will be some minor revision number.
251
252@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
253
254@node New Indentation Engine, Indentation Commands, Getting Connected, Top
255@comment node-name, next, previous, up
256 122
123@node New Indentation Engine
257@chapter New Indentation Engine 124@chapter New Indentation Engine
258@cindex New Indentation Engine 125@cindex New Indentation Engine
259 126
260@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
261
262VHDL Mode has a new indentation engine, providing a simplified, yet 127VHDL Mode has a new indentation engine, providing a simplified, yet
263flexible and general mechanism for customizing indentation. It breaks 128flexible and general mechanism for customizing indentation. It breaks
264indentation calculation into two steps. First for the line of code being 129indentation calculation into two steps. First for the line of code being
@@ -271,19 +136,14 @@ VHDL Mode. It is important to understand the indentation model
271being used so that you will know how to customize VHDL Mode for 136being used so that you will know how to customize VHDL Mode for
272your personal coding style. 137your personal coding style.
273 138
274@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
275@menu 139@menu
276* Syntactic Analysis:: Step 1 -- Syntactic Analysis 140* Syntactic Analysis:: Step 1 -- Syntactic Analysis
277* Indentation Calculation:: Step 2 -- Indentation Calculation 141* Indentation Calculation:: Step 2 -- Indentation Calculation
278@end menu 142@end menu
279@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
280 143
281@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 144@node Syntactic Analysis
282@node Syntactic Analysis, Indentation Calculation, , New Indentation Engine
283@comment node-name, next, previous, up
284@section Syntactic Analysis 145@section Syntactic Analysis
285@cindex Syntactic Analysis 146@cindex Syntactic Analysis
286@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
287 147
288@vindex vhdl-offsets-alist 148@vindex vhdl-offsets-alist
289@vindex offsets-alist (vhdl-) 149@vindex offsets-alist (vhdl-)
@@ -375,12 +235,9 @@ so you can see that the syntactic component list contains two syntactic
375components. Also notice that the first component, 235components. Also notice that the first component,
376@samp{(comment-intro)} has no relative buffer position. 236@samp{(comment-intro)} has no relative buffer position.
377 237
378@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 238@node Indentation Calculation
379@node Indentation Calculation, , Syntactic Analysis, New Indentation Engine
380@comment node-name, next, previous, up
381@section Indentation Calculation 239@section Indentation Calculation
382@cindex Indentation Calculation 240@cindex Indentation Calculation
383@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
384 241
385@vindex vhdl-offsets-alist 242@vindex vhdl-offsets-alist
386@vindex offsets-alist (vhdl-) 243@vindex offsets-alist (vhdl-)
@@ -451,23 +308,18 @@ syntactic component list and calculated offset will always be echoed in
451the minibuffer when you hit @kbd{TAB}. 308the minibuffer when you hit @kbd{TAB}.
452 309
453 310
454@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 311@ignore
455@node Indentation Commands, Customizing Indentation, New Indentation Engine, Top 312@node Indentation Commands
456@comment node-name, next, previous, up
457
458@chapter Indentation Commands 313@chapter Indentation Commands
459@cindex Indentation Commands 314@cindex Indentation Commands
460@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
461 315
462@strong{<TBD>} 316@strong{<TBD>}
317@end ignore
463 318
464@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
465@node Customizing Indentation, Syntactic Symbols, Indentation Commands, Top
466@comment node-name, next, previous, up
467 319
320@node Customizing Indentation
468@chapter Customizing Indentation 321@chapter Customizing Indentation
469@cindex Customizing Indentation 322@cindex Customizing Indentation
470@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
471 323
472@cindex vhdl-set-offset 324@cindex vhdl-set-offset
473@cindex set-offset (vhdl-) 325@cindex set-offset (vhdl-)
@@ -478,7 +330,7 @@ O} (@code{vhdl-set-offset}) as the way to set offsets, both
478interactively and from your mode hook. Also, you can set up 330interactively and from your mode hook. Also, you can set up
479@emph{styles} of indentation. Most likely, you'll find one of the 331@emph{styles} of indentation. Most likely, you'll find one of the
480pre-defined styles will suit your needs, but if not, this section will 332pre-defined styles will suit your needs, but if not, this section will
481describe how to set up basic editing configurations. @xref{Styles} for 333describe how to set up basic editing configurations. @xref{Styles}, for
482an explanation of how to set up named styles. 334an explanation of how to set up named styles.
483 335
484@cindex vhdl-basic-offset 336@cindex vhdl-basic-offset
@@ -532,13 +384,9 @@ interactively, then I'll describe how to make changes to your
532* Advanced Customizations:: 384* Advanced Customizations::
533@end menu 385@end menu
534 386
535@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 387@node Interactive Customization
536@node Interactive Customization, Permanent Customization, , Customizing Indentation
537@comment node-name, next, previous, up
538
539@section Interactive Customization 388@section Interactive Customization
540@cindex Interactive Customization 389@cindex Interactive Customization
541@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
542 390
543As an example of how to customize indentation, let's change the 391As an example of how to customize indentation, let's change the
544style of the example above from: 392style of the example above from:
@@ -620,13 +468,9 @@ examples, this may not always work. The general approach to take is to
620always start adjusting offsets for lines higher up in the file, then 468always start adjusting offsets for lines higher up in the file, then
621re-indent and see if any following lines need further adjustments. 469re-indent and see if any following lines need further adjustments.
622 470
623@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 471@node Permanent Customization
624@node Permanent Customization, Styles, Interactive Customization, Customizing Indentation
625@comment node-name, next, previous, up
626
627@section Permanent Indentation 472@section Permanent Indentation
628@cindex Permanent Indentation 473@cindex Permanent Indentation
629@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
630 474
631@vindex vhdl-mode-hook 475@vindex vhdl-mode-hook
632@cindex hooks 476@cindex hooks
@@ -639,11 +483,8 @@ Here's a simplified example of what you can add to your @file{.emacs}
639file to make the changes described in the previous section 483file to make the changes described in the previous section
640(@ref{Interactive Customization}) more permanent. See the Emacs 484(@ref{Interactive Customization}) more permanent. See the Emacs
641manuals for more information on customizing Emacs via hooks. 485manuals for more information on customizing Emacs via hooks.
642@xref{Sample .emacs File} for a more complete sample @file{.emacs} file. 486@xref{Sample .emacs File}, for a more complete sample @file{.emacs} file.
643@footnote{The use of @code{add-hook} in this example only works for 487
644Emacs 19. Workarounds are available if you are using Emacs 18, but this
645just points out another reason for you to upgrade to Emacs 19!
646@code{:-)}}
647@example 488@example
648@group 489@group
649 490
@@ -659,19 +500,15 @@ just points out another reason for you to upgrade to Emacs 19!
659 500
660For complex customizations, you will probably want to set up a 501For complex customizations, you will probably want to set up a
661@emph{style} that groups all your customizations under a single 502@emph{style} that groups all your customizations under a single
662name. @xref{Styles} for details. 503name. @xref{Styles}.
663 504
664The offset value can also be a function, and this is how power users 505The offset value can also be a function, and this is how power users
665gain enormous flexibility in customizing indentation. @xref{Advanced 506gain enormous flexibility in customizing indentation. @xref{Advanced
666Customizations} for details. 507Customizations}.
667
668@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
669@node Styles, Advanced Customizations, Permanent Customization, Customizing Indentation
670@comment node-name, next, previous, up
671 508
509@node Styles
672@section Styles 510@section Styles
673@cindex Styles 511@cindex Styles
674@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
675 512
676Most people only need to edit code formatted in just a few well-defined 513Most people only need to edit code formatted in just a few well-defined
677and consistent styles. For example, their organization might impose a 514and consistent styles. For example, their organization might impose a
@@ -692,13 +529,9 @@ describes how to set up styles and how to edit your C code using styles.
692@end menu 529@end menu
693 530
694 531
695@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 532@node Built-in Styles
696@node Built-in Styles, Adding Styles, , Styles
697@comment node-name, next, previous, up
698
699@subsection Built-in Styles 533@subsection Built-in Styles
700@cindex Built-in Styles 534@cindex Built-in Styles
701@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
702 535
703If you're lucky, one of VHDL Mode's built-in styles might be just 536If you're lucky, one of VHDL Mode's built-in styles might be just
704what you're looking for. Some of the most common VHDL styles are 537what you're looking for. Some of the most common VHDL styles are
@@ -714,20 +547,15 @@ already built-in. These include:
714@findex vhdl-set-style 547@findex vhdl-set-style
715@findex set-style (vhdl-) 548@findex set-style (vhdl-)
716If you'd like to experiment with these built-in styles you can simply 549If you'd like to experiment with these built-in styles you can simply
717type the following in a VHDL Mode buffer: 550type @kbd{M-x vhdl-set-style RET} in a VHDL Mode buffer.
718@example
719@group
720
721@kbd{M-x vhdl-set-style RET}.
722 551
723@end group
724@end example
725@noindent
726You will be prompted for one of the above styles (with completion). 552You will be prompted for one of the above styles (with completion).
727Enter one of the styles and hit @kbd{RET}. Note however that setting a 553Enter one of the styles and hit @kbd{RET}. Note however that setting a
728style in this way does @emph{not} automatically re-indent your file. 554style in this way does @emph{not} automatically re-indent your file.
555@ignore
729For commands that you can use to view the effect of your changes, see 556For commands that you can use to view the effect of your changes, see
730@ref{Indentation Commands}. 557@ref{Indentation Commands}.
558@end ignore
731 559
732Once you find a built-in style you like, you can make the change 560Once you find a built-in style you like, you can make the change
733permanent by adding a call to your @file{.emacs} file. Let's say for 561permanent by adding a call to your @file{.emacs} file. Let's say for
@@ -749,13 +577,9 @@ files. You would add this:
749@noindent 577@noindent
750@xref{Permanent Customization}. 578@xref{Permanent Customization}.
751 579
752@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 580@node Adding Styles
753@node Adding Styles, File Styles, Built-in Styles, Styles
754@comment node-name, next, previous, up
755
756@subsection Adding Styles 581@subsection Adding Styles
757@cindex Adding Styles 582@cindex Adding Styles
758@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
759 583
760@vindex vhdl-style-alist 584@vindex vhdl-style-alist
761@vindex style-alist (vhdl-) 585@vindex style-alist (vhdl-)
@@ -777,13 +601,9 @@ institutes the new style in the current buffer.
777The sample @file{.emacs} file provides a concrete example of how a new 601The sample @file{.emacs} file provides a concrete example of how a new
778style can be added and automatically set. @xref{Sample .emacs File}. 602style can be added and automatically set. @xref{Sample .emacs File}.
779 603
780@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 604@node File Styles
781@node File Styles, , Adding Styles, Styles
782@comment node-name, next, previous, up
783
784@subsection File Styles 605@subsection File Styles
785@cindex File Styles 606@cindex File Styles
786@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
787 607
788@cindex local variables 608@cindex local variables
789The Emacs manual describes how you can customize certain variables on a 609The Emacs manual describes how you can customize certain variables on a
@@ -816,13 +636,9 @@ Note that file style settings (i.e. @code{vhdl-file-style}) are applied
816before file offset settings (i.e. @code{vhdl-file-offsets}). 636before file offset settings (i.e. @code{vhdl-file-offsets}).
817 637
818 638
819@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 639@node Advanced Customizations
820@node Advanced Customizations, , Styles, Customizing Indentation
821@comment node-name, next, previous, up
822
823@section Advanced Customizations 640@section Advanced Customizations
824@cindex Advanced Customizations 641@cindex Advanced Customizations
825@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
826 642
827@vindex vhdl-style-alist 643@vindex vhdl-style-alist
828@vindex style-alist (vhdl-) 644@vindex style-alist (vhdl-)
@@ -844,13 +660,9 @@ not handled by the mode directly.
844* Other Special Indentations:: 660* Other Special Indentations::
845@end menu 661@end menu
846 662
847@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 663@node Custom Indentation Functions
848@node Custom Indentation Functions, Other Special Indentations, , Advanced Customizations
849@comment node-name, next, previous, up
850
851@subsection Custom Indentation Functions 664@subsection Custom Indentation Functions
852@cindex Custom Indentation Functions 665@cindex Custom Indentation Functions
853@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
854 666
855@cindex custom indentation functions 667@cindex custom indentation functions
856One of the most common ways to customize VHDL Mode is by writing 668One of the most common ways to customize VHDL Mode is by writing
@@ -959,13 +771,9 @@ a custom indentation function associated with it. Note however that
959using many custom indentation functions may have a performance impact on 771using many custom indentation functions may have a performance impact on
960VHDL Mode. 772VHDL Mode.
961 773
962@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 774@node Other Special Indentations
963@node Other Special Indentations, , Custom Indentation Functions, Advanced Customizations
964@comment node-name, next, previous, up
965
966@subsection Other Special Indentations 775@subsection Other Special Indentations
967@cindex Other Special Indentations 776@cindex Other Special Indentations
968@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
969 777
970@vindex vhdl-special-indent-hook 778@vindex vhdl-special-indent-hook
971@vindex special-indent-hook (vhdl-) 779@vindex special-indent-hook (vhdl-)
@@ -979,13 +787,9 @@ component instantiation, etc. Note however, that you should not change
979functions. 787functions.
980 788
981 789
982@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 790@node Syntactic Symbols
983@node Syntactic Symbols, Frequently Asked Questions, Customizing Indentation, Top
984@comment node-name, next, previous, up
985
986@chapter Syntactic Symbols 791@chapter Syntactic Symbols
987@cindex Syntactic Symbols 792@cindex Syntactic Symbols
988@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
989 793
990@vindex vhdl-offsets-alist 794@vindex vhdl-offsets-alist
991The complete list of recognized syntactic symbols is described in the 795The complete list of recognized syntactic symbols is described in the
@@ -1012,13 +816,9 @@ suffix @code{-block-intro}.
1012@strong{<TBD> include the name and a brief example of every syntactic 816@strong{<TBD> include the name and a brief example of every syntactic
1013symbol currently recognized} 817symbol currently recognized}
1014 818
1015@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 819@node Frequently Asked Questions
1016@node Frequently Asked Questions, Getting the latest VHDL Mode release, Syntactic Symbols, Top
1017@comment node-name, next, previous, up
1018
1019@chapter Frequently Asked Questions 820@chapter Frequently Asked Questions
1020@cindex Frequently Asked Questions 821@cindex Frequently Asked Questions
1021@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1022 822
1023@kindex C-x h 823@kindex C-x h
1024@kindex ESC C-\ 824@kindex ESC C-\
@@ -1057,24 +857,6 @@ marked.
1057C-q}. 857C-q}.
1058@sp 2 858@sp 2
1059 859
1060@strong{Q.} @emph{Why doesn't the @key{RET} key indent the line to
1061where the new text should go after inserting the newline?}
1062
1063@strong{A.} Emacs' convention is that @key{RET} just adds a newline,
1064and that @key{LFD} adds a newline and indents it. You can make
1065@key{RET} do this too by adding this to your
1066@code{vhdl-mode-hook} (see the sample @file{.emacs} file
1067@ref{Sample .emacs File}):
1068@example
1069
1070(define-key vhdl-mode-map "\C-m" 'newline-and-indent)
1071
1072@end example
1073
1074This is a very common question. @code{:-)} If you want this to be the
1075default behavior, don't lobby me, lobby RMS!
1076@sp 2
1077
1078@strong{Q.} @emph{I put @code{(vhdl-set-offset 'statement-cont 0)} 860@strong{Q.} @emph{I put @code{(vhdl-set-offset 'statement-cont 0)}
1079in my @file{.emacs} file but I get an error saying that 861in my @file{.emacs} file but I get an error saying that
1080@code{vhdl-set-offset}'s function definition is void.} 862@code{vhdl-set-offset}'s function definition is void.}
@@ -1097,31 +879,23 @@ details.
1097@end quotation 879@end quotation
1098 880
1099 881
1100@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 882@node Getting the latest VHDL Mode release
1101@node Getting the latest VHDL Mode release, Sample .emacs File, Frequently Asked Questions, Top
1102@comment node-name, next, previous, up
1103
1104@chapter Getting the latest VHDL Mode release 883@chapter Getting the latest VHDL Mode release
1105@cindex Getting the latest VHDL Mode release 884@cindex Getting the latest VHDL Mode release
1106@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1107 885
1108The best way to be sure you always have the latest VHDL Mode release 886The best way to be sure you always have the latest VHDL Mode release
1109is to join the @code{vhdl-mode-announce} mailing list. If you are a 887is to join the @code{vhdl-mode-announce} mailing list. If you are a
1110brave soul, and wish to participate in beta testing of new releases of 888brave soul, and wish to participate in beta testing of new releases of
1111VHDL Mode, you may also join the @code{vhdl-mode-victims} mailing 889VHDL Mode, you may also join the @code{vhdl-mode-victims} mailing
1112list. Send email to the maintainer <reto@@gnu.org> to join 890list. Send email to the maintainer @email{reto@@gnu.org} to join
1113either of these lists. 891either of these lists.
1114 892
1115The official Emacs VHDL Mode Home Page can be found at 893The official Emacs VHDL Mode Home Page can be found at
1116<http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html>. 894@uref{http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html}.
1117
1118@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1119@node Sample .emacs File, Requirements, Getting the latest VHDL Mode release, Top
1120@comment node-name, next, previous, up
1121 895
896@node Sample .emacs File
1122@chapter Sample @file{.emacs} file 897@chapter Sample @file{.emacs} file
1123@cindex Sample @file{.emacs} file 898@cindex Sample @file{.emacs} file
1124@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1125 899
1126Most customizations can be done using the `Customize' entry in the 900Most customizations can be done using the `Customize' entry in the
1127VHDL Mode menu, which requires no editing of the .emacs file. 901VHDL Mode menu, which requires no editing of the .emacs file.
@@ -1157,43 +931,27 @@ If you want to customize indentation, here you go:
1157 (define-key vhdl-mode-map "\C-m" 'newline-and-indent) 931 (define-key vhdl-mode-map "\C-m" 'newline-and-indent)
1158 ) 932 )
1159 933
1160;; the following only works in Emacs 19
1161;; Emacs 18ers can use (setq vhdl-mode-hook 'my-vhdl-mode-hook)
1162(add-hook 'vhdl-mode-hook 'my-vhdl-mode-hook) 934(add-hook 'vhdl-mode-hook 'my-vhdl-mode-hook)
1163@end example 935@end example
1164 936
1165@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 937@node Limitations and Known Bugs
1166@node Requirements, Limitations and Known Bugs, Sample .emacs File, Top
1167@comment node-name, next, previous, up
1168@chapter Requirements
1169@cindex Requirements
1170@comment * Requirements
1171@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1172
1173All required files are distributed with GNU Emacs 20 and XEmacs 19.15.
1174
1175@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1176@node Limitations and Known Bugs, Mailing Lists and Submitting Bug Reports, Requirements, Top
1177@comment node-name, next, previous, up
1178@chapter Limitations and Known Bugs 938@chapter Limitations and Known Bugs
1179@cindex Limitations and Known Bugs 939@cindex Limitations and Known Bugs
1180@comment * Limitations and Known Bugs
1181@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1182 940
1183@itemize @bullet 941@itemize @bullet
1184@item 942@item
1185Re-indenting large regions or expressions can be slow. 943Re-indenting large regions or expressions can be slow.
1186 944
945@ignore
1187@item 946@item
1188The index menu does not work on my XEmacs installation (don't know why). 947The index menu does not work on my XEmacs installation (don't know why).
948@end ignore
1189 949
1190@end itemize 950@end itemize
1191 951
1192@node Mailing Lists and Submitting Bug Reports, Concept Index, Limitations and Known Bugs, Top 952@node Mailing Lists and Submitting Bug Reports
1193@comment node-name, next, previous, up
1194@chapter Mailing Lists and Submitting Bug Reports 953@chapter Mailing Lists and Submitting Bug Reports
1195@cindex Mailing Lists and Submitting Bug Reports 954@cindex Mailing Lists and Submitting Bug Reports
1196@comment * Mailing Lists and Submitting Bug Reports
1197 955
1198@kindex C-c C-b 956@kindex C-c C-b
1199@findex vhdl-submit-bug-report 957@findex vhdl-submit-bug-report
@@ -1208,35 +966,32 @@ to reproduce the problem, and include an exact recipe of steps needed to
1208expose the bug. Be especially sure to include any code that appears 966expose the bug. Be especially sure to include any code that appears
1209@emph{before} your bug example. 967@emph{before} your bug example.
1210 968
1211For other help or suggestions, send a message to <reto@@gnu.org>. 969For other help or suggestions, send a message to @email{reto@@gnu.org}.
1212 970
1213Send an add message to <reto@@gnu.org> to get on the 971Send an add message to @email{reto@@gnu.org} to get on the
1214@code{vhdl-mode-victims} beta testers list where beta releases of 972@code{vhdl-mode-victims} beta testers list where beta releases of
1215VHDL Mode are posted. Note that you shouldn't expect beta 973VHDL Mode are posted. Note that you shouldn't expect beta
1216releases to be as stable as public releases. 974releases to be as stable as public releases.
1217 975
1218There is also an announce only list where the latest public releases 976There is also an announce only list where the latest public releases
1219of VHDL Mode are posted. Send an add message to 977of VHDL Mode are posted. Send an add message to
1220<reto@@gnu.org> to be added to this list. 978@email{reto@@gnu.org} to be added to this list.
979
1221 980
1222@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 981@node GNU Free Documentation License
1223@node Concept Index, Command Index, Mailing Lists and Submitting Bug Reports, Top 982@appendix GNU Free Documentation License
1224@comment node-name, next, previous, up 983@include doclicense.texi
984
985
986@node Concept Index
1225@unnumbered Concept Index 987@unnumbered Concept Index
1226@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1227 988
1228@printindex cp 989@printindex cp
1229 990
1230 991
1231@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 992@node Command Index
1232@node Command Index, Key Index, Concept Index, Top
1233@comment node-name, next, previous, up
1234@unnumbered Command Index 993@unnumbered Command Index
1235@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1236
1237@ifinfo
1238 994
1239@end ifinfo
1240Since all VHDL Mode commands are prepended with the string 995Since all VHDL Mode commands are prepended with the string
1241@samp{vhdl-}, each appears under its @code{vhdl-<thing>} name and its 996@samp{vhdl-}, each appears under its @code{vhdl-<thing>} name and its
1242@code{<thing> (vhdl-)} name. 997@code{<thing> (vhdl-)} name.
@@ -1246,24 +1001,15 @@ Since all VHDL Mode commands are prepended with the string
1246@printindex fn 1001@printindex fn
1247 1002
1248 1003
1249@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1004@node Key Index
1250@node Key Index, Variable Index, Command Index, Top
1251@comment node-name, next, previous, up
1252@unnumbered Key Index 1005@unnumbered Key Index
1253@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1254 1006
1255@printindex ky 1007@printindex ky
1256 1008
1257 1009
1258@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1010@node Variable Index
1259@node Variable Index, , Key Index, Top
1260@comment node-name, next, previous, up
1261@unnumbered Variable Index 1011@unnumbered Variable Index
1262@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1263 1012
1264@ifinfo
1265
1266@end ifinfo
1267Since all VHDL Mode variables are prepended with the string 1013Since all VHDL Mode variables are prepended with the string
1268@samp{vhdl-}, each appears under its @code{vhdl-<thing>} name and its 1014@samp{vhdl-}, each appears under its @code{vhdl-<thing>} name and its
1269@code{<thing> (vhdl-)} name. 1015@code{<thing> (vhdl-)} name.
@@ -1271,6 +1017,5 @@ Since all VHDL Mode variables are prepended with the string
1271@sp 2 1017@sp 2
1272@end iftex 1018@end iftex
1273@printindex vr 1019@printindex vr
1274@summarycontents 1020
1275@contents
1276@bye 1021@bye