Etags changes for Prolog and PHP.
authorFrancesco Potortì <pot@gnu.org>
Sat, 15 Dec 2001 16:08:32 +0000 (16:08 +0000)
committerFrancesco Potortì <pot@gnu.org>
Sat, 15 Dec 2001 16:08:32 +0000 (16:08 +0000)
etc/NEWS
etc/etags.1
lib-src/ChangeLog
man/maintaining.texi

index be8ed4d..c7b4e8a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -37,7 +37,7 @@ the combined fringe widths must match an integral number of columns.
 The extra width is distributed evenly between the left and right fringe.
 For force a specific fringe width, specify the width as a negative
 integer (if both widths are negative, only the left fringe gets the
-specified width). 
+specified width).
 
 Setting the width to nil (the default), restores the default fringe
 width which is the minimum number of pixels necessary to display any
@@ -107,6 +107,13 @@ were changed.
 ** On terminals whose erase-char is ^H (Backspace), Emacs
 now uses normal-erase-is-backspace-mode.
 
+** Etags changes.
+
+*** In Prolog, etags creates tags for rules in addition to predicates.
+
+*** New language PHP: tags are function, classes and defines.  If
+the --members option is specified to etags, tags are vars also.
+
 +++
 ** The command line option --no-windows has been changed to
 --no-window-system.  The old one still works, but is deprecated.
@@ -396,7 +403,7 @@ current syntactic context (as returned by parse-partial-sexp).
 
 *** The TCL package tcl-mode.el was replaced by tcl.el.
 This was actually done in Emacs-21.1 was not documented.
-       
+
 \f
 * Installation Changes in Emacs 21.1
 
index 21450a8..9ba7a06 100644 (file)
@@ -50,7 +50,7 @@ format understood by
 .BR vi ( 1 )\c
 \&.  Both forms of the program understand
 the syntax of C, Objective C, C++, Java, Fortran, Ada, Cobol, Erlang,
-LaTeX, Emacs Lisp/Common Lisp, makefiles, Pascal, Perl, Postscript,
+LaTeX, Emacs Lisp/Common Lisp, makefiles, Pascal, Perl, PHP, Postscript,
 Python, Prolog, Scheme and
 most assembler\-like syntaxes.
 Both forms read the files specified on the command line, and write a tag
@@ -167,6 +167,7 @@ from shell interpretation.
 Tag the DEFVAR macros in the emacs source files:
 .br
 \fI\-\-regex\='/[ \\t]*DEFVAR_[A-Z_ \\t(]+"\\([^"]+\\)"\/'\fP
+.\"" This comment is to avoid confusion to Emacs syntax highlighting
 .br
 
 Tag VHDL files (this example is a single long line, broken here for
index 15bba97..e92b493 100644 (file)
@@ -1,3 +1,19 @@
+2001-12-12  Francesco Potorti`  <pot@gnu.org>
+
+       * etags.c (PHP_functions): New function by Diez B. Roggisch,
+       heavily adapted by me, for parsing PHP.
+       (LOOKING_AT): New macro.
+       (Perl_functions, Python_functions, PHP_functions)
+       (Scheme_functions, Texinfo_nodes): Use it.
+       (Perl_functions): Use strneq.
+       (prolog_pred): Renamed to prolog_pr.
+       (prolog_pr): Recognise Prolog rules (thanks to Geert Kloosterman)
+       in addition to predicates.
+       [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
+       unmodified compile, as Cygwin's regex.h is incompatible with us
+       (thanks to Markus Hoenicka).
+       [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.
+
 2001-12-11  Richard M. Stallman  <rms@gnu.org>
 
        * Makefile.in (clean): Don't delete ../etc/DOC*.
 
 2001-11-30  Andrew Innes  <andrewi@gnu.org>
 
-       * makefile.w32-in (FACE_SUPPORT): 
-       (MOUSE_SUPPORT): 
-       (FLOAT_SUPPORT): 
-       (WINNT_SUPPORT): 
+       * makefile.w32-in (FACE_SUPPORT):
+       (MOUSE_SUPPORT):
+       (FLOAT_SUPPORT):
+       (WINNT_SUPPORT):
        (lisp): Reference .el files instead of .elc files, to simplify
        bootstrapping.
        ($(DOC)): Change dependency to just `make-docfile'.
index b84b17c..e32c329 100644 (file)
@@ -343,11 +343,16 @@ In Perl code, the tags are the procedures defined by the @code{sub},
 @code{my} and @code{local} keywords.  Use @samp{--globals} if you want
 to tag global variables.
 
+@item
+In PHP code, tags are functions, classes and defines.  When using the
+@samp{--members} option, vars are tags too.
+
 @item
 In PostScript code, the tags are the functions.
 
 @item
-In Prolog code, a tag name appears at the left margin.
+In Prolog code, tags are predicates and rules at the beginning of
+line.
 
 @item
 In Python code, @code{def} or @code{class} at the beginning of a line
@@ -1226,4 +1231,3 @@ commands.
 @vindex emerge-startup-hook
   After setting up the merge, Emerge runs the hook
 @code{emerge-startup-hook} (@pxref{Hooks}).
-