monnier pushed a change to branch externals/trie. at 63da3b1 * trie.el: Fix header which likely suffered a `M-q` accident
This branch includes the following new commits: new 1697b5f trie.el re-implements tstree.el using AVL trees but is also flexible enough to support other types of trie. new b6ba36b Minor improvements to trie-complete[-ordered] new 0162b74 Added trie-stacks implementation. new 503b286 Make bare avl trees which don't store cmpfun with tree (so it has to be passed as function argument). new 5a0883f Fixed bug in trie-complete when passed list of prefixes. new 4dc003b Fixed bug when deleting non-existent entries. new 45569c2 Added optional TEST function to trie-delete new 4b24754 Converted function wrapping macros into functions in part to avoid run-time dependency on cl package. new 1e246d0 Bug-fix to remove setf inside backquote construct from trie-insert new 19e6dbe Make weird variable names used to avoid dynamic scoping bugs more consistent and document what should be avoided in user-visible functions. new d998322 Made trie--terminator symbol into a configurable defconst. Added trie-stack-push function. Edited commentary. new 81268ae Added functions for pushing things onto dictree and trie stacks new 673ca83 Don't compile wrapped functions explicitly or even uncompiled dictionaries will break when the Emacs byte-compiler changes! new 58c6685 Replaced bare avl-trees which were an ugly optimisation needed for efficiently printing and reading tries, with trie-transform-for-print and trie-transform-from-read functions. new c7c9994 trie--createfun now passed corresponding sequence as an argument superseding removed trie-depth variable. Corrected descriptions of the function arguments in the trie-create-custom docstring. new 0ecad1b Fixed avl type trie--createfun to accept (and ignore) extra seq argument new d746b4d Added safeguards to throw errors if stack operations attempted when no stack functions have been defined. new 15b4de9 Simplified trie--create by storing functions for predefined trie types in symbol property lists new 45accae Bug-fix in trie--do-delete new 2281926 Minor code reformatting and rearrangement new a402c27 Implemented wildcard searches! new 4f11b37 Docstring, change log, and version number updates new dd26bb3 more trivial docstring changes new 31c4ac2 Implemented trie-wildcard-stacks! new 490c011 Bug fixes to trie--wildcard-stack-repopulate (and there will probably be a few more before it works fully...) new 46369a7 Added trie-wildcard-match function new f930fe9 Documentation updates related to wildcard searches and predictive features that make use of them new 6d76748 Allow "]" to be included in a negated character alternatives, by placing immediately after the "[^". new a35651b Implemented grouping constructs in trie wildcards new e1be744 Bug-fix in trie--do-wildcard-search new 1b3b473 Another bug-fix in trie--do-wildcard-search new fc9b218 Removed support for non-terminal * wildcards (inefficient; should use efficient NFA regexp search implementation instead!) new 6aa6701 Added optional RESULTFUN argument to trie query functions, and used it to implement more efficient data stripping and grouping data processing. new fb1d096 Changed trie-wildcard-match to return grouping data if pattern matches and contains groups new 510844e trivial variable name change new ae8bf27 minor code tidying new 0d17008 Added nilflag argument to trie-stack functions new 1c2790d Replaced wildcard searches with more powerful and efficient regexp searches. new e505b47 Pass equality function constructed from trie comparison function to tNFA functions new ff5e05f Bumped copyright year new a8bc50f Minor code tidying new 13bb42f Updated docstrings for regexp-related functions and others. new af10bd5 Bug-fix in trie--do-regexp-search new a1f9faa Re-filled to 72 chars/line, for mailing to gnu-emacs-sources list new 333151b Bug-fix in trie--do-regexp-search relating to accumulation of results new 6cdaed0 Removed left-over debugging code and other minor tidying. new 2345832 Advised edebug-prin1 and edebug-prin1-to-string to prevent edebug hanging whilst printing large data structures - finally! new 153d2d4 Require advice when compiling new 6a449ed Improved edebug-prin1 advice new acad8e8 Bug-fixes to edebug advice new da9ace9 More efficient implementations of replacements for CL 'position' function. new a8615f7 Bug-fixes to edebug pretty-print functions. new defa7e0 Replaced advice with cedet-edebug.el for pretty-printing tries and dictionaries in edebug. new 160f092 Revert "Replaced advice with cedet-edebug.el for pretty-printing" new d99fb00 Simplified advice-based edebug pretty-printing of tries and dictionaries. new a17e6df Minor bug-fixes to [trie/dict-tree]--edebug-pretty-print to make them print "nil" instead of "()". new 4ff2b48 Minor typo-fixes in docstrings. new e00ae36 Trivial docstring and comment fixes. new 304b8e9 Added fboundp guard around ad-define-subr-args (removed in Emacs-24). new 9f5b6c2 Simplified persistent-storage code for tries and dict-trees. new ecf872e Updated Package-Version, Package-Requires, and Keywords package headers. Made small changes to some Commentary sections. new d45e9d5 Added autoload cookies. new f398b8e Updated copyright attribution and license (GPL2 -> GPL3). new b4d81bf Trivial whitespace tidying. new 3b61c64 More minor whitespace and commentary changes. new 0d81a80 Remove dependency on Emacs version, since this is currently broken in ELPA. new 4efa42d Fix trie--node-data defsetf, so it compiles in latest Emacs trunk. new 9986ac7 Restore trie print/read transformer functions. new e88f10d Remove ChangeLogs from library headers. new cc94506 Enable lexical binding, and fix issues it picks up. new ec5396c Suppress bogus unused lexical variable byte-compiler warnings. new bc12ecb Exploit lexical closures to allow byte-compilation of wrapped functions. new 0c21bf4 Add note to self to use cust-print pretty-printing instead of advice. new 00300c4 Revert trie--node-data defsetf, since it seems to work now. new 14fa4ee Code cleanup. new 3117b5b Fix bugs in trie searches introduced by code cleanup. new 3a734c3 Implement trie-fuzzy-match and trie-fuzzy-complete functions. new 1eb515f Implement trie fuzzy match and completion stacks. new eef13c4 Document fuzzy matching functions and bump version number. new 53146c1 Implement fuzzy match and completion on dict-trees. new 5e8e73f Fix data wrapping handling in fuzzy query functions. new 3b7aa3c Document that fuzzy queries with distance 0 won't work. new 5909c59 Include prefix length information in fuzzy completion results. new 18dc856 Don't wrap rank and filter functions for regexp and fuzzy queries. new bbfecae Do lexbind test at compile-time instead of load-time. new 9f49d95 Implement iterator generators on collection data structures. new 94a1a86 Bump version numbers since we've added iterator generators. new 9259d51 Improve edebug pretty-printing. new 633c8b1 Mention iterator generators in Commentary. new a438b01 Fix bugs in lexical binding support(?) new f676ea0 Fix off-by-1 bug in Lewenstein distance queries. new 5a064c0 Fix bug in trie-delete return value. new 5fa968c Fix byte-compiler warning. new a2554d6 Fix function symbol quoting. new 7823234 Fix bug in trie-fuzzy-complete that meant it didn't return minimum prefix distance in some cases. new c6ddbb9 Bump version numbers. new 4001f61 Fix corresponding bug in trie-fuzzy-complete-stack. new 71f8273 Significantly improve efficiency of trie-fuzzy-complete. new 2a9d7ec Port efficiency improvements to trie-fuzzy-match. new 7bf9008 Implement fuzzy-completion with fixed initial prefix segment. new 929cb78 Rename to trie--map-internal to clarify not for public use. new 87d5786 Allow trie-fuzzy-match/complete to take lists of multiple prefixes/strings. new 2957aec Fix bugs in trie-fuzzy-match/complete. new 91d299c Pretty-print trie nodes in edebug. new c2b5e26 Myriad bug fixes and code refactoring in new fuzzy and ngram completion. new ee4b459 Allow pruning of trie branches in queries. new db78411 Switch to keyword arguments for trie/dictree query functions. new 77aafc9 Fix byte-compilation errors and warnings. new 14c4bec Fix lexical binding bugs. new 81899c0 * packages/trie/trie.el (trie--if-lexical-binding): Simplify new 63da3b1 * trie.el: Fix header which likely suffered a `M-q` accident