summaryrefslogtreecommitdiff
path: root/scheme/chicken/geiser/emacs.scm
AgeCommit message (Collapse)Author
2017-12-10Remove memoizationDan Leslie
It now _slows_ performance rather than improves it. Removing it speeds up the issue described in jaor/geiser#174
2017-12-09Improvements to Chicken completion speedDan Leslie
Removed all of the symbol-interning code, and in the process greatly reduced the amount of CPU time. Should resolve jaor/geiser#174
2017-11-03Support Chicken Scheme apropos =>2.3.0John Whitbeck
Chicken Scheme's apropos egg changed the identifiers in the return value of the `apropos-information-list` from `module#name` to `(module . name)`. This commit adds support for the new identifiers.
2016-09-17Allows Chicken to limit the number of symbols provided to Geiserdleslie
- Also cleaned up the namespace a little.
2016-08-10Disable aggressive prefix assumptionDan Leslie
This was causing significant typing delay with little to no benefit. Disabled until a better solution can be found.
2016-08-10Minor typoDan Leslie
2016-02-15Fix for #127Dan Leslie
2016-01-25Fixes a potential endless loop.Dan Leslie
2016-01-19Fuzzy matching for Chicken AutoDoc and CompletionsDan Leslie
Because Chicken allows symbols to be imported with prefixes, and because 'apropos' does not provide any utility to match with the loaded prefixes, it is difficult to acquire information about prefixed symbols. This solution hacks around the issue by providing naive fuzzy-matching. If no match for a symbol can be found then the first character is dropped and matching is attempted again; the process is repeated until matches are found or the entire symbol is consumed. Also removes the (now redundant and slow) geiser-chicken-prefix-delimiters.
2015-12-31Performance ImprovementsDan Leslie
No longer rely on Apropos for matching. Apropos would perform a slow substring or regex search at every call; as well as rebuilding the entire list of available symbols. Now the list of symb
2015-12-05Minor cleanupDan Leslie
Exposes geiser-load-paths, makes add-to-load-path and find-file 'unsafe'. Those needn't be memoized and would be strange if they are. This should finish fixing jaor/geiser#114
2015-12-05Minor changes to help with debugging completionsDan Leslie
2015-12-05No longer show arguments as strings.Dan Leslie
That was annoying.
2015-12-05Right-most character of arguments was being cutDan Leslie
2015-12-05Allows redefinition of modulesDan Leslie
If one were to re-evaluate a buffer with a module in it there would be problems because it would appear as a nested request. Solution: - Check if a module definition is a fore-most request, and if so, evaluate at top level
2015-12-05Fixes for Literals, Errors and ModulesDan Leslie
If literals were present chicken wouldn't provide any autodocumentation due to an error. Module evaluation was failing due to poor input. Chicken's Error output was failing to parse - Filter out all non-symbols from the autodoc set - Properly escape module names - Add "Error" to the set of accepted error prefixes
2015-10-03Stopped over-aggressive memoizationDan Leslie
It doesn't make sense to memoize the following: geiser-start-server geiser-macroexpand
2015-10-03Minor improvementsDan Leslie
Removed the unnecessary csi reference Added a flag to force build an so
2015-10-03Turn off debug logDan Leslie
2015-10-03Adds memoizationDan Leslie
Clears memo when anything other than a safe geiser call is made. Removes the last calls to regex within the thing
2015-10-03Converts toplevel methods to prefixed methodsDan Leslie
This seems to improve speed; in a large environment I witnessed a regular 100ms increase in speed for autodoc.
2015-10-03Refactored to reduce the reliance on regex.Dan Leslie
Improves speed by an order of magnitude.
2015-09-13Sorted and line-split crunch symbols.Dan Leslie
2015-09-11Added missing macrosDan Leslie
2015-09-11Adds recognition of the 'crunch' R5RS subsetDan Leslie
Crunch is a subset of R5RS that the crunch egg can heavily optimize via c++ compilation. This change allows geiser to report to chicken programmers whether the function is found within that subset, easing development. Details on the crunch egg can be found at: http://wiki.call-cc.org/eggref/4/crunch
2015-08-31Merge remote-tracking branch 'dleslie/faster-output-handling'Jose Antonio Ortega Ruiz
2015-08-29The issue arose with numerics, as well.Dan Leslie
This change should fix it for most any input.
2015-08-29Fixes an issue where symbol->string was failingDan Leslie
In some instances apropos-information-list returns a string and not a list of symbols; this is the case for Chicken's builtins, like C_plus. IE, the following would fail: (geiser-autodoc #f '(+)) This fixes jaor/geiser#72
2015-08-28Use pretty-print instead of write with ChickenDan Leslie
Emacs chokes on buffers with very long lines. Use of pretty-print instead of write causes most incidents of long lines to be avoided by use of better formatting. This fixes jaor/geiser#64 for Chicken, and appears to greatly speed up completions in the general case for Chicken.
2015-05-17Various improvementsDan Leslie
- Can now optionally compile Geiser components for enormous speed improvements; enabled by default - Apropos was returning many duplicates, which was causing slowdowns; duplicates are now filtered - Now check for #<unspecified> results and return something - Fixed a typo in a comment - Fixed a typo in calling string-length
2015-02-09Documentation updates and nits for FreijaJose Antonio Ortega Ruiz
Preparing the release of 0.7, which will feature support for Chicken thanks to Dan and Freija!
2015-02-09Initial Chicken supportDan Leslie