From e94a3679c58f147a91682231f62ff701aee5cfff Mon Sep 17 00:00:00 2001 From: =?utf8?q?Francesco=20Potort=C3=AC?= Date: Sat, 15 Dec 2001 16:08:32 +0000 Subject: [PATCH] Etags changes for Prolog and PHP. --- etc/NEWS | 11 +++++++++-- etc/etags.1 | 3 ++- lib-src/ChangeLog | 24 ++++++++++++++++++++---- man/maintaining.texi | 8 ++++++-- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index be8ed4dfd3b..c7b4e8a059b 100644 --- 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. - + * Installation Changes in Emacs 21.1 diff --git a/etc/etags.1 b/etc/etags.1 index 21450a8f836..9ba7a064fa4 100644 --- a/etc/etags.1 +++ b/etc/etags.1 @@ -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 diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 15bba97c6a7..e92b49363ae 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,19 @@ +2001-12-12 Francesco Potorti` + + * 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 * Makefile.in (clean): Don't delete ../etc/DOC*. @@ -8,10 +24,10 @@ 2001-11-30 Andrew Innes - * 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'. diff --git a/man/maintaining.texi b/man/maintaining.texi index b84b17c3783..e32c3294251 100644 --- a/man/maintaining.texi +++ b/man/maintaining.texi @@ -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}). - -- 2.39.2