-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emacs: fix stack overflow on large files #1024
Conversation
@Wilfred, @rgrinberg : awesome patch. Now I can use Btw, I love what two of you are doing. Do you want to be added as the contributors of this package? (and feel free to do so) |
@taquangtrung you mean listed as contributors in the header of the file? I don't mind, as it's all in git-blame anyway :) |
5ca2236
to
57386ce
Compare
Updated to use the private variable naming convention. |
Did you forget to add the |
57386ce
to
97cf026
Compare
Argh, I messed up my force push. Should be correct now. |
Thank you! |
CHANGES: Fri Nov 29 17:35:58 CET 2019 + backend - support OCaml 4.09 (ocaml/merlin#1055) - fix parse errors in 4.08 (ocaml/merlin#1037) - update 4.08 support to OCaml 4.08.1 (ocaml/merlin#1053) - support `without_cmis` - separate reading from caching in file-cache, use caching in `Env.check_state_consistency` (ocaml/merlin#1044) - simplify compiler state management (ocaml/merlin#1056, ocaml/merlin#1059) - fix creation of initial environment, improve compatibility with upstream 4.08 (ocaml/merlin#1052) + frontend - code re-organization (ocaml/merlin#1042) - error command: select which kind of errors to show (ocaml/merlin#995) - print value types in outline (ocaml/merlin#1014) - fix process handling in windows (ocaml/merlin#1005) + editor modes - emacs + bugfixes in merlin-imenu, merlin-xref (ocaml/merlin#1000, ocaml/merlin#1021, ocaml/merlin#1001) + show types in merlin-imenu (ocaml/merlin#1013) + reset buffer local configurations when resetting server (ocaml/merlin#1004) + remove merlin-use-tuareg-imenu + fix stack overflow (ocaml/merlin#1024) + fix merlin-occurrence (ocaml/merlin#1043) - vim + display warn-error warnings as errors (ocaml/merlin#1009) + testsuite - cover file-cache and `check_state_consistency` (ocaml/merlin#1044) - check inconsistent assumptions, test server versus single modes (ocaml/merlin#1047)
CHANGES: Fri Nov 29 17:35:58 CET 2019 + backend - support OCaml 4.09 (ocaml/merlin#1055) - fix parse errors in 4.08 (ocaml/merlin#1037) - update 4.08 support to OCaml 4.08.1 (ocaml/merlin#1053) - support `without_cmis` - separate reading from caching in file-cache, use caching in `Env.check_state_consistency` (ocaml/merlin#1044) - simplify compiler state management (ocaml/merlin#1056, ocaml/merlin#1059) - fix creation of initial environment, improve compatibility with upstream 4.08 (ocaml/merlin#1052) + frontend - code re-organization (ocaml/merlin#1042) - error command: select which kind of errors to show (ocaml/merlin#995) - print value types in outline (ocaml/merlin#1014) - fix process handling in windows (ocaml/merlin#1005) + editor modes - emacs + bugfixes in merlin-imenu, merlin-xref (ocaml/merlin#1000, ocaml/merlin#1021, ocaml/merlin#1001) + show types in merlin-imenu (ocaml/merlin#1013) + reset buffer local configurations when resetting server (ocaml/merlin#1004) + remove merlin-use-tuareg-imenu + fix stack overflow (ocaml/merlin#1024) + fix merlin-occurrence (ocaml/merlin#1043) - vim + display warn-error warnings as errors (ocaml/merlin#1009) + testsuite - cover file-cache and `check_state_consistency` (ocaml/merlin#1044) - check inconsistent assumptions, test server versus single modes (ocaml/merlin#1047)
Don't recurse on the outline list, as large files have a long list and Emacs runs out of stack.
This ensures that merlin-imenu doesn't need to change Emacs stack depth settings (see discussion in #1021).
Also rename variables to ensure they're appropriately namespaced.