aboutsummaryrefslogtreecommitdiffstats
path: root/admin/grammars (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2026 to copyright years.Sean Whitton2026-01-019-9/+9
|
* Update copyright year to 2025Paul Eggert2025-01-019-9/+9
| | | | Run "TZ=UTC0 admin/update-copyright".
* ; Add 2024 to copyright yearsPo Lu2024-01-029-9/+9
|
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-019-9/+9
|
* ; Fix typosStefan Kangas2022-11-201-1/+1
|
* Abolish max-specpdl-size (bug#57911)Mattias EngdegÄrd2022-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max-lisp-eval-depth limit is sufficient to prevent unbounded stack growth including the specbind stack; simplify matters for the user by not having them to worry about two different limits. This change turns max-specpdl-size into a harmless variable with no effects, to keep existing code happy. * lisp/subr.el (max-specpdl-size): Define as an ordinary (but obsolete) dynamic variable. * admin/grammars/Makefile.in: * doc/lispintro/emacs-lisp-intro.texi (Loops & Recursion): * doc/lispref/control.texi (Cleanups): * doc/lispref/edebug.texi (Checking Whether to Stop): * doc/lispref/eval.texi (Eval): * doc/lispref/variables.texi (Local Variables): * doc/misc/calc.texi (Recursion Depth): Update documentation. * etc/NEWS: Announce. * src/eval.c (FletX): Use safe iteration to guard against circular bindings list. (syms_of_eval): Remove old max-specpdl-size definition. (init_eval_once, restore_stack_limits, call_debugger) (signal_or_quit, grow_specpdl_allocation): * leim/Makefile.in: * lisp/Makefile.in: * lisp/calc/calc-stuff.el (calc-more-recursion-depth) (calc-less-recursion-depth): * lisp/calc/calc.el (calc-do): * lisp/cedet/semantic/ede-grammar.el (ede-proj-makefile-insert-rules): * lisp/cedet/semantic/grammar.el (semantic-grammar-batch-build-one-package): * lisp/cus-start.el (standard): * lisp/emacs-lisp/comp.el (comp--native-compile): * lisp/emacs-lisp/edebug.el (edebug-max-depth): (edebug-read-and-maybe-wrap-form, edebug-default-enter): * lisp/emacs-lisp/regexp-opt.el (regexp-opt): * lisp/eshell/esh-mode.el (eshell-mode): * lisp/loadup.el (max-specpdl-size): * lisp/mh-e/mh-e.el (mh-invisible-headers): * lisp/net/shr.el (shr-insert-document, shr-descend): * lisp/play/hanoi.el (hanoi-internal): * lisp/progmodes/cperl-mode.el: * src/fileio.c (Fdo_auto_save): Remove references to and modifications of max-specpdl-size.
* Enlarge max-specpdl-size for generation of files in .../admin/grammarsAlan Mackenzie2022-01-311-1/+2
| | | | | * admin/grammars/Makefile.in: Add a --eval clause to set max-specpdl-size to 5000 (previously 2500) for these targets.
* Prefer unexport in MakefilesGlenn Morris2022-01-121-2/+2
| | | | | | * admin/grammars/Makefile.in, leim/Makefile.in: * lisp/Makefile.in, test/Makefile.in: Use unexport for EMACSLOADPATH.
* ; Add 2022 to copyright years.Eli Zaretskii2022-01-019-9/+9
|
* Base the "extraclean" Make rule on "maintainer-clean"Glenn Morris2021-05-091-2/+1
| | | | | | | | | | | | | | | | * Makefile.in (FIND_DELETE): New, set by configure. (extraclean_dirs): Remove. (extraclean): Make it just a small variation on maintainer-clean. * admin/charsets/Makefile.in (extraclean): * admin/grammars/Makefile.in (extraclean): * admin/unidata/Makefile.in (extraclean): * leim/Makefile.in (extraclean): * lib-src/Makefile.in (extraclean): * lisp/Makefile.in (extraclean): * lwlib/Makefile.in (extraclean): * nt/Makefile.in (extraclean): * src/Makefile.in (extraclean): Remove target. * lib/Makefile.in (extraclean): Merge into maintainer-clean.
* Don't version-control generated file `grammat-wy.el`Stefan Monnier2021-04-121-8/+5
| | | | | | | | | | | | | | | | | | | This file is needed for CEDET's bootstrap, tho, so we now keep a copy of it under version control in `gram-wy-boot.el`, very much like we do with the `ldefs-boot.el` copy of `loaddefs.el`. * lisp/cedet/semantic/grm-wy-boot.el: Rename from `lisp/cedet/semantic/grammar-wy.el`. * lisp/cedet/semantic/grammar.el: Load `grm-wy-boot.el` if `grammar-wy.el` hasn't been generated yet. * admin/update_autogen: Also refresh `grm-wy-boot.el`. * admin/grammars/Makefile.in (WISENT): Add `grammar-wy.el` to the generated files. * .gitignore: Add `grammar-wy.el`.
* Regenerate semantic grammars if the generating code changesGlenn Morris2021-04-041-10/+10
| | | | | | | | | | | | | | * admin/grammars/Makefile.in (emacs): Set load-prefer-newer. (grammar_bovine, grammar_wisent): New variables. (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el) (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el) (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): Depend on the source file for the generating function. * lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1): * lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1): Force generation of the output file. The previous "is the output newer than the input" failed to account for changes in the generation code itself. Force so we can let make figure it out.
* Make maintainer-clean delete generated files, as per standardsGlenn Morris2021-04-041-8/+11
| | | | | | | | | | | | | | | | These are generated files that were once kept in the repository. When they were removed from the repository, as a half-way measure they were only deleted by "extraclean", but this was never necessary and was not a proper use of that rule. * admin/charsets/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * admin/grammars/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * admin/unidata/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * leim/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * GNUmakefile: Doc fix.
* Fix compilation warning in python-wy.el after lexical rewriteLars Ingebrigtsen2021-03-121-0/+1
| | | | | | | | * admin/grammars/python.wy: Require semantic/tag. In end of data: cedet/semantic/wisent/python-wy.el:862:1: Warning: the function `semantic-tag-name' might not be defined at runtime.
* * lisp/cedet/semantic/wisent: Use lexical-bindingStefan Monnier2021-03-072-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/cedet/semantic/wisent/comp.el: lexical-binding. (wisent-defcontext): Make sure the vars are also dynbound in the files that `require` us. (wisent-state-actions, wisent-automaton-lisp-form): Use `obarray-make`. (wisent--compile-grammar): Rename from `wisent-compile-grammar`. (wisent-compile-grammar): Redefine as an obsolete function. (wisent-automaton-lisp-form): Avoid variable `state`. * lisp/cedet/semantic/grammar.el: Use lexical-binding. (semantic-grammar-require-form): New var. (semantic-grammar-header): Use it to provide new element `require-form`. (semantic-grammar-header-template): Use it. * lisp/cedet/semantic/wisent.el (wisent-compiled-grammar): New macro. * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-parsetable-builder): Use it in the generated code instead of the `wisent-compile-grammar` function. (wisent-grammar-mode): Set `semantic-grammar-require-form` so the generated ELisp files require `semantic/wisent` rather than `semantic/bovine`. * lisp/cedet/semantic/wisent/wisent.el: Use lexical-binding. * lisp/cedet/semantic/wisent/java-tags.el: Use lexical-binding. * lisp/cedet/semantic/wisent/python.el: Use lexical-binding. * lisp/cedet/semantic/wisent/javascript.el: Use lexical-binding. (semantic-ctxt-current-symbol): Remove unused var `symlist`. * admin/grammars/python.wy (wisent-python-EXPANDING-block): Declare dynbound var. * lisp/cedet/semantic/grammar-wy.el: Regenerate.
* Simplify silent-rules build machineryGlenn Morris2021-03-061-12/+1
| | | | | | | | | | | | | | * src/verbose.mk.in: New file. * configure.ac (AM_V, AM_DEFAULT_V): Remove output variables. (src/verbose.mk): New output file. * Makefile.in, admin/charsets/Makefile.in: * admin/grammars/Makefile.in, admin/unidata/Makefile.in: * doc/emacs/Makefile.in, doc/lispintro/Makefile.in: * doc/lispref/Makefile.in, doc/misc/Makefile.in, leim/Makefile.in: * lib-src/Makefile.in, lib/Makefile.in, lisp/Makefile.in: * lwlib/Makefile.in, nt/Makefile.in, oldXMenu/Makefile.in: * src/Makefile.in, src/verbose.mk.in, test/Makefile.in: Include src/verbose.mk rather than repeatedly defining AM_V_at etc.
* * * lisp/cedet/semantic: Use lexical-binding in the generated grammarsStefan Monnier2021-03-051-1/+1
| | | | | | | | | | | | | | | | | * admin/grammars/c.by (typesimple): Bind `semantic-c-classname` dynamically. * lisp/cedet/semantic/bovine.el: Use lexical-binding. (semantic-lambda): Silence warnings if the `vals` arg is not used. * lisp/cedet/semantic/grammar-wy.el: Re-generate. * lisp/cedet/semantic/bovine/grammar.el: Use lexical-binding. (bovine-grammar-expand-action): Silence warnings if some of the `vals`, `start`, or `end` args is not used. (bovine--make-parser-1): Use lexical-binding in the generated files. * lisp/cedet/semantic/wisent/grammar.el: Use lexical-binding. (wisent--make-parser-1): Use lexical-binding in the generated files.
* Enable Python type hints and non-trivial base classes in wisentKapuze Martin2021-02-281-7/+22
| | | | | | | * admin/grammars/python.wy: Enable understanding Python type hints and non-trivial base classes (bug#46817). Copyright-paperwork-exempt: yes
* Update copyright year to 2021Paul Eggert2021-01-019-9/+9
| | | | Run "TZ=UTC0 admin/update-copyright".
* Update copyright year to 2020Paul Eggert2020-01-019-9/+9
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Clarify C void type description in semanticStefan Kangas2019-10-141-1/+1
| | | | * admin/grammars/c.by: Clarify void type. (Bug#9222)
* Update some URLsPaul Eggert2019-09-231-1/+1
| | | | | | | | | | | | | | | | | This mostly changes http: to https: in URLs. It also updates some URLs that have moved, removes some URLs that no longer work, recommends against using procmail (procmail.org no longer works), and removes some mentions of the no-longer-existing Gmane, LPF and VTW. It doesn't update all URLs, just the ones I had time for. * GNUmakefile (help): * admin/admin.el (manual-doctype-string): * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map): * admin/charsets/mapconv: * lisp/net/soap-client.el (soap-create-envelope): * lisp/org/org.el (org-doi-server-url): * lisp/textmodes/bibtex.el (bibtex-generate-url-list): Prefer https: to http: un URLs.
* Allow bad tags in SchemeEric Ludlam2019-07-141-0/+2
| | | | | * admin/grammars/scheme.by (scheme-in-list): Allow bad tags in Scheme (bug#36521).
* Allow specifying the expected number of shift/reduce conflictsLars Ingebrigtsen2019-06-192-0/+8
| | | | | | | | | | | | | | | | | | * admin/grammars/grammar.wy: Add %expectedconflicts. * lisp/cedet/semantic/grammar-wy.el (semantic-grammar-wy--keyword-table): Ditto. * lisp/cedet/semantic/grammar.el (semantic-grammar-expected-conflicts): New function. (semantic-grammar-insert-defconst-with-eval): New function. (semantic-grammar-create-package): Output the number of expected shift/reduce conflicts. * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Don't output the warning if the number of shift/reduce conflicts is expected. (wisent-expected-conflicts): Made obsolete.
* Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"Lars Ingebrigtsen2019-06-181-1/+0
| | | | | | This reverts commit f21ec24524c705e18674a2e9e4db37b11fa3ebab. *sigh* Revert again because this created a bootstrap problem in a different part of the process.
* Add a mechanism to specify expected shift/reduce .wy conflictsLars Ingebrigtsen2019-06-181-0/+1
| | | | | | | | | | | | * admin/grammars/python.wy: Set the expected number of shift/reduce conflicts to four. * lisp/cedet/semantic/grammar.el (semantic-grammar-expected-conflicts): New function. * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use it to suppress warnings about the expected number of shift/reduce conflicts.
* Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"Lars Ingebrigtsen2019-06-181-1/+0
| | | | | | This reverts commit d715ae8788e16b22f7f68cb82b51a40ad95c78c2. This commit led to a build error, so revert for now.
* Add a mechanism to specify expected shift/reduce .wy conflictsLars Ingebrigtsen2019-06-181-0/+1
| | | | | | | | | | | * admin/grammars/python.wy: Set the expected number of shift/reduce conflicts to four. * lisp/cedet/semantic/grammar.el (semantic-grammar-expected-conflicts): New function. * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use it to suppress warnings about the expected number of shift/reduce conflicts.
* Add types to some no-type tokes in js.wyLars Ingebrigtsen2019-06-181-3/+3
| | | | | | | | | | | | | * admin/grammars/js.wy: Add types to the FALSE, TRUE and QUERY tokens. Without the types, you'd get the warning *Warning* default value of <<no-type>> tokens changed to QUERY, was NULL_TOKEN *Warning* default value of <<no-type>> tokens changed to TRUE, was QUERY *Warning* default value of <<no-type>> tokens changed to FALSE, was TRUE I think this should be harmless, and it doesn't seem to break handling .js files.
* Comment out useless nonterminals from python.wyLars Ingebrigtsen2019-06-181-10/+11
|
* Remove nonterminals that semantic claims are uselessLars Ingebrigtsen2019-06-181-8/+0
| | | | | | | | | | | | * admin/grammars/js.wy (VariableStatement): Remove useless nonterminals. Debug output from wisent: Useless nonterminals: StatementList BlockExpand
* Update author/maintainer infoPaul Eggert2019-05-261-1/+1
| | | | | Update email addresses and fix spellings of some author and maintainer names.
* Remove Maintainer: when it duplicates Author:Paul Eggert2019-05-263-3/+0
| | | | | | | The convention is that a file with Author: but not Maintainer: means the author is a maintainer, which makes it confusing when a file lists the same person as author and maintainer. Avoid the confusion by removing the duplicate Maintainer: line.
* Merge from origin/emacs-26Paul Eggert2018-12-319-9/+9
|\ | | | | | | | | | | 2fcf2df Fix copyright years by hand 26bed8b Update copyright year to 2019 2814292 Fix value of default frame height. (Bug#33921)
| * Update copyright year to 2019Paul Eggert2019-01-019-9/+9
| | | | | | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* | Quieten cedet "might not be defined at runtime" compile warningsGlenn Morris2018-02-281-0/+5
| | | | | | | | | | | | | | * admin/grammars/scheme.by (semantic-parse-region): * lisp/cedet/ede.el (ede--project-inode): * lisp/cedet/semantic/texi.el (semantic-analyze-context): Declare.
* | Merge from origin/emacs-26Glenn Morris2018-02-171-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes f21f8e6 Document 'desktop-files-not-to-save' d8917eb Improve documentation of Profiling features b228839 Improve indexing of "performance" in ELisp manual ab67b3e Minor change in Emacs manual's VC chapter c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3... 593bbda Document comment-fill-column in the manual (Bug#11636) bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits. 69107f3 ; Fix doc typos related to indefinite articles aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... 5906418 More fixes for the Emacs manual 9ab3df1 ; Fix doc typos related to indefinite articles 66a4e65 ; Fix doc typos related to indefinite articles 35e5c57 ; Fix doc typos related to indefinite articles
| * ; Fix doc typos related to indefinite articlesGlenn Morris2018-02-161-2/+2
| |
* | Merge from origin/emacs-26Paul Eggert2018-01-019-9/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 63b04c11d5 Fix copyright years by hand 5c7dd8a783 Update copyright year to 2018 220a9ecba1 Merge from Gnulib 312c565566 Don't add empty keyboard macro to macro ring (Bug#24992) 39ca289a7a Allow customization of decoding of "man" command f8240815ea * etc/NEWS: Add security consideration note on passphrase ... 0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ... acd289c5a4 Fix problems with indexing in User manual b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh... e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846 81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ... 7175496d7a Fix doc string of 'enable-recursive-minibuffers' 5b38406491 Fix documentation of delsel and of killing text # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex
| * Update copyright year to 2018Paul Eggert2018-01-019-9/+9
| | | | | | | | Run admin/update-copyright.
* | Work around reader limitations for old-style backquotes.Philipp Stephani2017-12-091-7/+12
|/ | | | | | | See Bug#28759. * admin/grammars/make.by: Escape ,@ to avoid old-style backquote detection
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-139-11/+10
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
* Update copyright year to 2017Paul Eggert2016-12-319-9/+9
| | | | Run admin/update-copyright.
* Update copyright year to 2016Paul Eggert2016-01-019-9/+9
| | | | Run admin/update-copyright.
* Less 'make' chatter for admin/grammarsPaul Eggert2015-01-031-12/+25
| | | | | | | | | * grammars/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN) (am__v_GEN_, am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_) (am__v_at_0, am__v_at_1): New macros, from src/Makefile.in. (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el) (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el) (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): Use them.
* Update copyright year to 2015Paul Eggert2015-01-019-9/+9
| | | | Run admin/update-copyright.
* Update from CEDET trunk.David Engster2014-11-102-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * grammars/c.by (template-type): Add :template-specifier and :typevar to capture extra details about the template. (opt-post-fcn-modifiers): Splice in the found symbol into the return value correctly. (QUESTION): New punctuation. (expression): Add ternary conditional support. * grammars/scheme.by (MODULE): New token. (scheme): Handle expanding the MODULE tag. (scheme-list): Remove closeparen required match. (scheme-in-list): Remove extraneous matches for DEFINE. Add support for MODULE Simplify matching for code & make work. (name-args, name-arg-list, name-arg-expand): Make it work. * semantic.el (semantic-mode): Add/remove 3 completion-at-point-functions. (semantic-completion-at-point-function): Removed. (semantic-analyze-completion-at-point-function) (semantic-analyze-notc-completion-at-point-function) (semantic-analyze-nolongprefix-completion-at-point-function): New completion at point functions. * semantic/doc.el (semantic-doc-snarf-comment-for-tag): Fix case when comment-end is empty string. * semantic/debug.el (semantic-debug-parser-debugger-source): New buffer local variable. (semantic-debug-interface): Add 'nil' initform to overlays. (semantic-debug-mode): Remove read-only tags from buffers on exit. (semantic-debug): Add autoload cookie. Force the language specific debugger to load. * semantic/db.el (generic::semanticdb-full-filename): New generic method to allow this method to be used on buffer names via an associated database. * semantic/symref.el (semantic-symref-cleanup-recent-buffers-fcn): When cleaning up buffers, don't clean up buffers that are being used (i.e., in a window) when the hook fires. (semantic-symref-recently-opened-buffers): New tracking variable. (semantic-symref-cleanup-recent-buffers-fcn): New hook fcn. (semantic-symref-result-get-tags): Move logic into `semantic-symref-hit-to-tag-via-buffer', and cleanup buffers via the symref cleanup function in post-command-hook. (semantic-symref-hit-to-tag-via-buffer): Logic that used to be from above. (semantic-symref-hit-to-tag-via-db): New. * semantic/analyze.el: (semantic-analyze-find-tag-sequence-default): If first entry in sequence is the only one, apply tagclass filter. (semantic-analyze-princ-sequence): Show slot even if empty. (semantic-analyze-find-tag-sequence) (semantic-analyze-find-tag-sequence-default): Add flags argument. Add support for forcing the final entry of the sequence to be of class variable. (semantic-analyze-find-tag): Fix bug where input class filter was ignored if there was a typecache match. (semantic-analyze-current-context-default): For assignments, the assignee now must be of class variable. * semantic/analyze/complete.el (semantic-analyze-possible-completions-default): Add 'no-longprefix' flag. When used, the prefix and prefixtypes are shortened to just the last symbol. * semantic/bovine/c.el (semantic-c-do-lex-if): Catch errors from 'hideif', and push to the parser warning stack. (semantic-lex-cpp-define): When a comment is at the end of a macro, do not subtract an extra 1 from the found position. Fixes bug with: #define foo (a)/**/ adding an extra ')' to the stream. * semantic/bovine/scm.el (semantic-lex-scheme-symbol): Allow symbols to be one char long. * semantic/bovine/grammar.el (bovine-grammar-calculate-source-on-path): New. (bovine-grammar-setupcode-builder): Use it. * ede.el (ede/detect): New require. (ede-version): Bump version (ede-initialize-state-current-buffer): Use new `ede-detect-directory-for-project' to detect projects first instead of depending on currente dir only. (ede-delete-project-from-global-list): New. (ede-flush-deleted-projects): Use above. (ede-check-project-query-fcn): New variable (ede-check-project-directory): Use above when querying the user. Added to support unit testing of this security measure. (ede-initialize-state-current-buffer): Use `ede-directory-project-cons' instead of the -detect- fcn to take advantage of the cache. Pass found project into `ede-load-project-file'. (ede-load-project-file): Add new input DETECTIN. (ede-rescan-toplevel): Get the proj root a better way. (ede-load-project-file): Return the loaded object. When asking for existing project, ask for an exact match. (ede-initialize-state-current-buffer): Simplify some conditional logic. (ede-load-project-file): Simplify conditional logic. (ede-global-list-sanity-check): New Testing fcn. (ede-parent-project): Replace old code with call to faster `ede-find-subproject-for-directory'. (ede-load-project-file): Use `ede-directory-get-toplevel-open-project' instead of above deleted. Rename "pfc" to "autoloader". Use `ede-directory-project-cons' to detect a project. Delete no project found case where we search up the tree. * ede/auto.el (ede-project-autoload): Fix doc typo. Add `:root-only' slot. (ede-auto-load-project): Doc update: warn to not use. (ede-dir-to-projectfile): Deleted. (ede-project-autoload-dirmatch): Add subdir-only slot. Make configdatastash unbound by default. (ede-do-dirmatch): If subdir-only is true, then don't allow exact matches. Account for configdatastash as unbound. Assume value of nil means no tool installed. Make sure loaded path matches from beginning. Stash the regexp, not the raw string. (ede-project-class-files): Note that makefile and automake are not root only. (ede-auto-detect-in-dir): New (for use with `ede/detect.el'). (ede-project-dirmatch-p): Deleted. (ede-project-root-directory): Remove body, return nil. (ede-project-autoload): :proj-root-dirmatch can be null & doc fix. (ede-auto-detect-in-dir): If there is no :proj-file, check for a dirmatch. * ede/generic.el (ede/config): Replace require of ede. (ede-generic-new-autoloader): Generic projects are now safe by default. Note this is NOT a root only project. (project-rescan, ede-project-root, ede-generic-target-java) (ede-java-classpath, ede-find-subproject-for-directory): New. (ede-enable-generic-projects): Add new autoloaders for git, bzr, hg, sv, CVS. (ede-generic-vc-project) (ede-generic-vc-project::ede-generic-setup-configuration): New. (ede-generic-config): Remove slots: c-include-path, c-preprocessor-table, c-preprocessor-files, classpath, build-command, debug-command, run command. Inherit from ede-extra-config-build, ede-extra-config-program. Make run-command :value match :custom so only strings are accepted. Add some more :group slot specifiers. (ede-generic-project): Add mixins `ede-project-with-config-c' and `ede-project-with-config-java'. Inherit from `ede-project-with-config-build', `ede-project-with-config-program'. Subclass `ede-project-with-config'. Remove duplication from new baseclass. (ede-generic-target): Inherit from `ede-target-with-config-build', `ede-target-with-config-program'. Subclass `ede-target-with-config'. (ede-generic-target-c-cpp): Add mixin `ede-target-with-config-c'. (ede-generic-target-java): Add mixin `ede-target-with-config-java'. (ede-preprocessor-map, ede-system-include-path) (edejava-classpath): Deleted, moved to config.el. (project-compile-project, project-compile-target) (project-debug-target, project-run-target): Deleted. (ede-generic-get-configuration, ede-generic-setup-configuration) (ede-commit-project, project-rescan) (ede-generic-project::ede-customize) (ede-generic-target::ede-customize) (ede-generic-config::eieio-done-customizing) (ede-generic-config::ede-commit): Deleted. Subsumed by new baseclass. (ede-preprocessor-map, ede-system-include-path) (project-debug-target, project-run-target): Call new `ede-config-get-configuration' instead of old version. (ede-generic-load): Do not add to global list here. * ede/files.el (ede-find-project-root) (ede-files-find-existing) (ede-directory-get-toplevel-open-project-new): Deleted. (ede-project-root-directory): Use `ede-project-root' first. (ede-project-directory-remove-hash) (ede--directory-project-from-hash) (ede--directory-project-add-description-to-hash): Rename to make internal symbols (via --). Expand input dir first. (ede-directory-project-p): Doc fix (note obsoleted.) (ede-toplevel-project-or-nil): Alias to `ede-toplevel-project'. (ede-toplevel-project): Doc Fix. Delete commented out old code. Simplify returning result from ede-detect-directory-for-project. (ede-directory-get-open-project): Support when inodes are disabled. If disabled to str compare on root project. (ede-directory-get-toplevel-open-project): Enabled nested projects. When doing directory name matching, save the 'short' version of an answer (non-exact match) and eventually select the shortest answer at the end. Expand the filename of tested projects. Better support for when inodes are disabled. Add 'exact' option so that it will return a project that is an exact match. (ede-find-subproject-for-directory): Small optimization to run `file-truename' less often. (ede-directory-project-p): Move content, then use `ede-directory-project-cons'. Use `ede-detect-directory-for-project', replacing old detection loop. (ede-directory-project-cons): New, from above. (ede-toplevel-project): Toss old scanning code. Use `ede-detect-directory-for-project' instead. (ede-directory-get-toplevel-open-project-new): New. * ede/linux.el (ede-linux-project-root): Deleted. (ede-project-autoload): Remove dirmatch entry - it is no longer needed. * lisp/cedet/ede/proj.el (project-rescan): Replace direct manipulation of `ede-projects' with equivalent and better functions. (ede-proj-load): Replace call to test if dir has project to explicity ask filesystem if Project.ede is there. * ede/config.el: * ede/detect.el: New files. * ede/project-am.el (project-run-target): Add "./" to program to run for systems where '.' isn't in PATH. (project-am-load): Remove old code regarding `ede-constructing'. Just read in the makefiles. * ede/linux.el (ede-linux-load): Do not add to global list here. Don't check for existing anymore. (project-rescan): New. (ede-linux-project-list, ede-linux-file-existing): Deleted. (ede-linux-project-root): Delete body. Need symbol for autoloads for now. (ede-linux-project): No longer instance tracker. (ede-project-autoload): Don't provide :proj-root * ede/emacs.el (ede-emacs-load): Do not add project to global list here. Don't look for existing first. (ede-project-autoload): Remove dirmatch entry - it is no longer needed. Don't provide proj-root anymore. (ede-emacs-project-list, ede-emacs-file-existing): Delete. (ede-emacs-project-root): Remove body (need symbol for loaddefs still). (ede-emacs-project): Do not instance track anymore. * ede/cpp-root.el (initialize-instance): Remove commented code. Add note about why we are adding the project to the master list. Make sure if we are replacing a prev version, remove from global list. (ede-cpp-root-file-existing) (ede-cpp-root-project-file-for-dir) (ede-cpp-root-count, ede-cpp-root-project-root, ede-cpp-root-load) (ede-project-autoload cpp-root): Deleted. (ede-project-root-directory): Return :directory instead of calculating from :file. (project-rescan): New. * ede/base.el (ede-toplevel): Only use buffer cached value if subproj not passed in. * srecode/java.el (srecode-semantic-handle-:java): Fix case when an EDE project didn't support java paths. * lisp/cedet/ede/proj-elisp.el (ede-proj-target-elisp::ede-proj-tweak-autoconf): Kill buffer after saving modified elisp-comp script, as to avoid "file has changed on disk; really edit the buffer" questions when script gets rewritten. * emacs-lisp/eieio-custom.el (eieio-customize-object): Set eieio-cog (current group) to g, which is an improved form of input group. * srecode/doc-cpp.srt (mode): Set to c mode so this works with both C and C++.
* * admin/grammars/Makefile.in (bootstrap-clean): Don't delete Makefile,Glenn Morris2014-06-281-1/+4
| | | | for sake of top-level maintainer-clean rule.
* admin/grammars: Use pattern rules in MakefileGlenn Morris2014-06-241-20/+13
| | | | | | | * admin/grammars/Makefile.in (${bovinedir}/c-by.el, ${bovinedir}/make-by.el): (${wisentdir}/js-wy.el, ${wisentdir}/python-wy.el): Replace with pattern rules. (${bovinedir}/scm-by.el, ${wisentdir}/javat-wy.el) (${cedetdir}/srecode/srt-wy.el): Use $<.
* Avoid EMACSDATA in user environment interfering with buildingGlenn Morris2014-04-101-0/+3
| | | | | | | | | | * admin/grammars/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): * leim/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): * lisp/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): * test/automated/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport. Fixes: debbugs:16429