;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307\310\311#\207" [require eglot cl-lib ert ert-x edebug python company nil t] 4) (defalias 'eglot--have-eclipse-jdt-ls-p #[0 "\300\301!\205\302\303\304\300\301!\305\"\"\207" [getenv "CLASSPATH" cl-some #[257 "\301\302\303\304#)\207" [inhibit-changing-match-data "org\\.eclipse\\.equinox\\.launcher_.*\\.jar$" nil t string-match] 8 "\n\n(fn X)"] split-string ":"] 5]) #@400 Setup FIXTURE, call BODY, teardown FIXTURE. FIXTURE is a list. Its elements are of the form (FILE . CONTENT) to create a readable FILE with CONTENT. FILE may be a directory name and CONTENT another (FILE . CONTENT) list to specify a directory hierarchy. FIXTURE's elements can also be (SYMBOL VALUE) meaning SYMBOL should be bound to VALUE during BODY and then restored. (fn FIXTURE &rest BODY) (defalias 'eglot--with-fixture '(macro . #[385 "\300\301\302\303BBDE\207" [eglot--call-with-fixture function lambda nil] 8 (#$ . 879)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put eglot--with-fixture lisp-indent-function 1 put edebug-form-spec t] 5) #@12 (fn ASS) (defalias 'eglot--make-file-or-dir #[257 "\211@A\211<\203\301\302\"\210\303Q\304\305\")\202H\211;\203E\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216c\210\317\320\211\320\321%\210*\210C\202H\322\323!\207" [default-directory make-directory parents "/" mapcan eglot--make-file-or-dir generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 write-region nil nomessage eglot--error "Expected a string or a directory spec"] 10 (#$ . 1559)]) #@75 Helper for `eglot--with-fixture'. Run FN under FIXTURE. (fn FIXTURE FN) (defalias 'eglot--call-with-fixture #[514 "\304\305\306\"\211\307\211C\307C\307C\307C\211\203^\211@\2119\203.\211JB\242B\240\210\211\307L\210\202W\211@9\203K@@JB\242B\240\210\211@A@L\210\202W\211@;\203W\211B\262A\266\202\202\210\310\311\312\313\314\n    %\315\"\316$\216\317 B\307\310\320\321\313\314!\322\"\323\324%\325\326\"\240\210 \306\240\210-\207" [default-directory process-environment eglot-server-initialized-hook python-indent-guess-indent-offset-verbose make-temp-file "eglot--fixture" t nil make-byte-code 0 "\306\307\304\242\203 \310\202\f\311\"\210\312\313\314\315\316\300\301\302#\317\"\320$\216\321\303\242\211\205\221\211@\322!\203C\3231<\324\321\325\304\242?$0\202B\306\326\"\262\210\304\242\204\212\327\321\330\331!!\332!\333!E\"$\203\200\211\211\203|\211@\306\334\335!\"\210\336rq\210\337 )\340\"\210A\266\202\202]\210\202\211\306\341\342\335\343#\"\210\210A\266\202\202 \262*\207" vconcat vector [eglot-autoreconnect eglot--message "Test body was %s" "OK" "A FAILURE" make-byte-code 0 "\303\300\301\242\302\242#\207" vconcat vector [eglot--cleanup-after-test] 4 nil jsonrpc-running-p (error) eglot-shutdown 3 "Non-critical shutdown error after test: %S" delq process-buffer jsonrpc--process jsonrpc-stderr-buffer jsonrpc-events-buffer "%s:" buffer-name princ buffer-string external-debugging-output "Preserved for inspection: %s" mapconcat ", " noninteractive] 9 "XDG_CONFIG_HOME=/dev/null" 257 "\300\300\242B\240\207" [] 4 "\n\n(fn SERVER)" mapcan eglot--make-file-or-dir] 18 (#$ . 2100)]) #@56 (fn FIXTURE-DIRECTORY CREATED-FILES SYMS-TO-RESTORE) (defalias 'eglot--cleanup-after-test #[771 "\300\301\302\303\"\"\304\305\302\306\"$\210\301\211:\2032@\262\211A\262\242\262\211L\210A\262\202\266\211\211\203M\211@r\211q\210\307 \210\310 \210)A\266\202\2025\210\311\312\"\207" [delete nil mapcar find-buffer-visiting eglot--message "Killing %s, wiping %s, restoring %s" car save-buffer kill-buffer delete-directory recursive] 11 (#$ . 3761)]) #@27 (fn TIMEOUT &body BODY) (defalias 'eglot--with-timeout '(macro . #[385 "\300\301\302BBE\207" [eglot--call-with-timeout lambda nil] 7 (#$ . 4238)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put eglot--with-timeout lisp-indent-function 1 put edebug-form-spec t] 5) #@19 (fn TIMEOUT FN) (defalias 'eglot--call-with-timeout #[514 "\300\301!\302\303!<\203\202\304D\211@A@\305C\305C\306\307\310\311\312\n$\313\"\314$\216\2112N\315\305\306\307\316\311\312\"\317\"\320$#\240\210 0\240)\207" [gensym "eglot-test-timeout" make-symbol "timeout" "waiting for test to finish" nil make-byte-code 0 "\304\302\242!\210\303\242\300=\205\305\306\307\301P\"\207" vconcat vector [cancel-timer error "%s" "Timed out "] 4 run-with-timer "\n?\205 \303\300\301\"\207" [edebug-active throw] 3] 21 (#$ . 4532)]) #@31 (fn FILE &optional NOERROR) (defalias 'eglot--find-file-noselect #[513 "\211\204\300!\204\301\302\"\210\303!\207" [file-readable-p error "%s does not exist" find-file-noselect] 5 (#$ . 5088)]) #@196 Run BODY saving LSP JSON messages in variables, most recent first. (fn (&key SERVER-REQUESTS SERVER-NOTIFICATIONS SERVER-REPLIES CLIENT-REQUESTS CLIENT-NOTIFICATIONS CLIENT-REPLIES) &rest BODY) (defalias 'eglot--sniffing '(macro . #[128 "\211\203 \211A\262\242\202\300\301\302GD\"\303\304\"A@\303\305\"A@\303\306\"A@\303\307\"A@\303\310\"A@\303\311\"A@\211\203f\211@\312>\203N\211AA\262\202;\313>A@\203]\314\262\202;\315\316@\"\210\202;\210\317\320!\321\322\323\314\n\n\n\n\n\n\257\"\324\325\326\327\330\331\332\333\322\334\335\336\335\337\205\225\340\333ED\341\205\241\340\333ED\342\205\255\340\333EDFD\343\335\337\205\275\340\333ED\341\205\311\340\333ED\342\205\325\340\333EDFDEEFE\344\345 BCD\257\fBBB\346\347\344DEE\262\207" [signal wrong-number-of-arguments eglot--sniffing plist-member :server-requests :server-notifications :server-replies :client-requests :client-notifications :client-replies (:server-requests :server-notifications :server-replies :client-requests :client-notifications :client-replies :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:server-requests :server-notifications :server-replies :client-requests :client-notifications :client-replies)" make-symbol "eglot--event-sniff" unwind-protect let delq advice-add #'jsonrpc--log-event :before lambda (_proc message &optional type) cl-destructuring-bind (&key method id _error &allow-other-keys) message ((req-p (and method id)) (notif-p method) (reply-p id)) cond (eq type 'server) req-p push notif-p reply-p (eq type 'client) quote name advice-remove #'jsonrpc--log-event] 32 (#$ . 5297)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put eglot--sniffing lisp-indent-function 1 put edebug-form-spec (sexp &rest form)] 5) #@163 Spin until FN match in EVENTS-SYM, flush events after it. Pass TIMEOUT to `eglot--with-timeout'. (fn (EVENTS-SYM &optional (TIMEOUT 1) MESSAGE) ARGS &body BODY) (defalias 'eglot--wait-for '(macro . #[128 "\211A\203\211A\262\242\202\300\301\302GD\"\211\203\"\211A\262\242\202)\300\301\302GD\"\2036\211A\262\242\2027\303\211A\262\242\211A\262\242\203R\300\301\302\304G\\D\"\210\305\306\206`\307\310\311 !\"DD\312\313\314\315\314\316\317\320 \316\321\322\323\324\325\326\327\324\330\331BB\332BB\333BBBBBBBBBBBBBBB\334BBBDC\335\336BB\337BBBE\207" [signal wrong-number-of-arguments eglot--wait-for 1 3 eglot--with-timeout quote format "waiting for:\n%s" pp-to-string let event cl-loop thereis for json in method = (plist-get json :method) when (keywordp method) do (plist-put json :method (substring (symbol-name method) 1)) funcall jsonrpc-lambda (json) (return (cons json before) collect json into before) (for i from 0 when (zerop (mod i 5)) do (read-event "[eglot] Waiting a bit..." nil 0.1) (accept-process-output nil 0.1)) setq ((cdr event)) ((eglot--message "Event detected:\n%s" (pp-to-string (car event))))] 30 (#$ . 7122)])) (byte-code "\301\302\303\304#\305\302\306\307#\210\310\311!\204\215\312\313!\210\314\315N\204!\305\314\315\316#\210\317\320!\204-\305\320\321\311#\210\322\323 !\210\320\315N\204@\305\320\315\324\325!#\210\317\326!\204Q\305\326\321\311#\210\327\330 !\210\326\315N\204_\305\326\315\324\331!#\210\317\300!\204t\305\300\321\311#\210\332\333\300\313\"\210!\210\300\315N\204\202\305\300\315\324\334!#\210\305\311\335\336#\210\337\311\340\"\210\341\342\343\"\207" [rust-mode-abbrev-table function-put eglot--wait-for lisp-indent-function 2 put edebug-form-spec (sexp sexp sexp &rest form) functionp rust-mode (lambda (#1=#:def-tmp-var) (defvar rust-mode-hook #1#)) nil rust-mode-hook variable-documentation "Hook run after entering Rust mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp rust-mode-map definition-name (lambda (#1#) (defvar rust-mode-map #1#)) make-sparse-keymap purecopy "Keymap for `rust-mode'." rust-mode-syntax-table (lambda (#1#) (defvar rust-mode-syntax-table #1#)) make-syntax-table "Syntax table for `rust-mode'." (lambda (#1#) (defvar rust-mode-abbrev-table #1#)) define-abbrev-table "Abbrev table for `rust-mode'." derived-mode-parent prog-mode defalias #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R =\204R\326 \325C#\210\327 !\210\330\f!\210 )\331\332!\207" [delay-mode-hooks major-mode mode-name rust-mode-map rust-mode-syntax-table rust-mode-abbrev-table make-local-variable t prog-mode rust-mode "Rust" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table run-mode-hooks rust-mode-hook local-abbrev-table] 5 "Major mode derived from `prog-mode' by `define-derived-mode'.\nIt inherits all of the parent's attributes, but has its own keymap,\nabbrev table and syntax table:\n\n `rust-mode-map', `rust-mode-abbrev-table' and `rust-mode-syntax-table'\n\nwhich more-or-less shadow prog-mode's corresponding tables.\n\nIn addition to any hooks its parent mode might have run,\nthis mode runs the hook `rust-mode-hook', as the final or penultimate step\nduring initialization.\n\n\\{rust-mode-map}" nil] add-to-list auto-mode-alist ("\\.rs\\'" . rust-mode)] 6) #@26 (fn &optional TIMEOUT) (defalias 'eglot--tests-connect #[256 "\211\206\302\303\211\304\305\306 \"*\207" [eglot-sync-connect eglot-connect-timeout 2 t apply eglot--connect eglot--guess-contact] 5 (#$ . 10777)]) (byte-code "\300\301\302\303\301\304\305\306\307\306&\"\210\300\310\302\303\310\311\312\306\307\306&\"\210\300\313\302\303\313\314\315\306\307\306&\"\210\300\316\302\303\316\317\320\306\307\306&\"\210\300\321\302\303\321\322\323\306\307\306&\"\210\300\324\302\303\324\325\326\306\307\306&\"\210\300\327\302\303\327\330\331\306\307\306&\"\207" [ert-set-test eclipse-connect record ert-test "Connect to eclipse.jdt.ls server." #[0 "\300C\3011 \3020\202\303\240\210\211@AD\262\304C\302C\3051=\306\307\310\311\312$\313\"\314$\216\315\242\"\240)0\202?\210\302\204G\316\242!\210\266\317\320\321\"\207" [eglot--have-eclipse-jdt-ls-p (error) nil signal #1=#:ert-form-evaluation-aborted-4809 (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (eglot--have-eclipse-jdt-ls-p)) :form eql #1# :value eglot--have-eclipse-jdt-ls-p ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project/src/main/java/foo" ("Main.java" . #5="")) ("project/.git/")) #[0 "r\300\301!q\210\302\216\303C\304\305\306\307\310\311\312\313!\314\"\315\316%\317$\210\320C\3211)\322C0\2024\323\240\210\211@AD\262\324C\303C\307\325\326\312\313$\327\"\330$\216\331\242\"\240)\204[\332\242!\210\266\333\334\307\325\335\312\313!\336\"\337$\"\262*\207" [eglot--find-file-noselect "project/src/main/java/foo/Main.java" #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #2=#:eglot--event-sniff] 3] nil advice-add jsonrpc--log-event :before make-byte-code 770 "\301\302\"A@\301\303\"A@\301\304\"A@\205\305=\203?\203)\306\202[\2037\300 \300\242B\240\202[\211\205[\306\202[\307=\205[\203N\306\202[\203V\306\202[\211\205[\306\266\203\207" vconcat vector [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #2#)) eglot--tests-connect (error) 20 signal #3=#:ert-form-evaluation-aborted-4814 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot--tests-connect 20)) :form eql #3# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail eglot--call-with-timeout (10 "waiting for:\n((string= method \"language/status\"))\n") "\301\302\303\300\242\303\211\211\302\303:\203R@\262\304\305\"\262\306!\203+\307\305\310!\311\303O#\210\312\313\"\262\203AB\262\303\211\262\202B\302\203RC\244\262A\262\202\n\266\205\211\262?\211\262\203y\314\315\"\301U\203r\316\317\303\320#\210\321\303\322\"\210T\262\202\266\202\300A\240\210\323\324\325@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\300\301\"A@\300\302\"A@\211\303\230\207" [plist-member :id :method "language/status"] 5 "\n\n(fn &key ID METHOD &allow-other-keys)"] mod 5 read-event #8="[eglot] Waiting a bit..." 0.1 accept-process-output 0.1 eglot--message #9="Event detected:\n%s" pp-to-string] 15] 14]] 13] nil :passed eclipse-workspace-folders "Check eclipse connection with multi-root projects." #[0 "\300C\3011 \3020\202\303\240\210\211@AD\262\304C\302C\3051=\306\307\310\311\312$\313\"\314$\216\315\242\"\240)0\202?\210\302\204G\316\242!\210\266\317\320\321\"\207" [eglot--have-eclipse-jdt-ls-p (error) nil signal #4=#:ert-form-evaluation-aborted-4819 (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (eglot--have-eclipse-jdt-ls-p)) :form eql #4# :value eglot--have-eclipse-jdt-ls-p ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project/main/src/main/java/foo" ("Main.java" . #5#)) ("project/sub1/" ("pom.xml" . #5#)) ("project/sub2/" ("build.gradle" . #5#)) ("project/sub3/" ("a.txt" . #5#)) ("project/.git/")) #[0 "\301!r\302\303!q\210\304\216\305C\306\307\310\311\312\313\314\315!\316\"\317\320%\321$\210\322C\3231,\324C0\2027\325\240\210\211@AD\262\326C\305C\311\327\330\314\315$\331\"\332$\216\333\242\"\240)\204^\334\242!\210\266\335\336\311\327\337\314\315\"\340\"\341$\"\262*\207" [default-directory file-name-as-directory eglot--find-file-noselect "project/main/src/main/java/foo/Main.java" #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #6=#:eglot--event-sniff] 3] nil advice-add jsonrpc--log-event :before make-byte-code 770 "\301\302\"A@\301\303\"A@\301\304\"A@\205\305=\2039\203)\306\202[\2031\306\202[\211\205[\306\202[\307=\205[\203N\300 \300\242B\240\202[\203V\306\202[\211\205[\306\266\203\207" vconcat vector [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #6#)) eglot--tests-connect (error) 10 signal #7=#:ert-form-evaluation-aborted-4824 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot--tests-connect 10)) :form eql #7# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail eglot--call-with-timeout (10 "waiting for:\n((if\n (string= method \"initialize\")\n (progn\n (let\n ((folders\n (plist-get\n (plist-get params :initializationOptions)\n :workspaceFolders))\n (default-directory root))\n (and\n (cl-find\n (eglot--path-to-uri \"project/\")\n folders :test #'equal)\n (cl-find\n (eglot--path-to-uri \"project/sub1/\")\n folders :test #'equal)\n (cl-find\n (eglot--path-to-uri \"project/sub2/\")\n folders :test #'equal)\n (= 3\n (length folders)))))))\n") "\302\303\304\301\242\304\211\211\303\304:\203Y@\262\305\306\"\262\307!\203+\310\306\311!\312\304O#\210\313\314\315\316\317\300!\320\"\321\322%!\203HB\262\304\211\262\202I\303\203YC\244\262A\262\202\n\266\205\211\262?\211\262\203\200\323\324\"\302U\203y\325\326\304\327#\210\330\304\331\"\210T\262\202\266\202\301A\240\210\332\333\334@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 make-byte-code 257 "\301\302\303\304\305\306\300!\307\"\310\311%\"\207" vconcat vector [apply make-byte-code 128 "\302\303\"A@\302\304\"A@\302\305\"A@\306\230\205I\307\211\310\"\311\"\300\312\313\314!\315\316$\205F\312\313\317!\315\316$\205F\312\313\320!\315\316$\205F\211G\321U)\262\207" vconcat vector [default-directory plist-member :id :method :params "initialize" plist-get :initializationOptions :workspaceFolders cl-find eglot--path-to-uri "project/" :test equal "project/sub1/" "project/sub2/" 3] 10 "\n\n(fn &key ID METHOD PARAMS &allow-other-keys)"] 8 "\n\n(fn JSONRPC-LAMBDA-ELEM27)" mod 5 read-event #8# 0.1 accept-process-output 0.1 eglot--message #9# pp-to-string] 15] 15]] 13] auto-detect-running-server "Visit a file and M-x eglot, then visit a neighbour. " #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\305C\320\321\307\310\322\312\313!\323\"\324$\"\207" [executable-find (error) #10="pyls" signal #11=#:ert-form-evaluation-aborted-4829 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #10#)) :form eql #11# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("coiso.py" . "bla") ("merdix.py" . "bla")) ("anotherproject" ("cena.py" . "bla"))) "r\302\303!q\210\304\305!C\306C\307\310\311\312\313\"\314\"\315$\216\300\316 \240\240)\204*\317\242!\210\266\320C\32117\3060\202B\322\240\210\211@AD\262\323C\306C\307\310\324\312\313$\325\"\326$\216\327\242\"\240)\204i\317\242!\210\266)r\302\330!q\210\320C\3311}\3060\202\210\322\240\210\211@AD\262\332C\306C\307\310\324\312\313$\333\"\326$\216\327\242\"\240)\204\257\317\242!\210\266\334C\3351\303\336\320 \300\242)D0\202\316\322\240\210\211@AD\262\337C\306C\307\310\324\312\313$\340\"\326$\216\327\242\"\240)\204\365\317\242!\210\266)r\302\341!q\210\342C\3431 \3060\202\322\240\210\211@AD\262\344C\306C\306\307\310\345\312\313!\346\"\347$\3501J\307\310\324\312\313\n\n\n\n$\351\"\326$\216\327\242\"\240)0\202Y\352\262\353\354\306$\210\240\262\210\204h\317\355 \356\357D\"!\210\266\211\242\262\266\202)\207" [signal-hook-function eglot--find-file-noselect "project/coiso.py" gensym #19="ert-form-evaluation-aborted-" nil make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(should #12=(setq server (eglot--tests-connect))) :form #12# :value ert--signal-should-execution] 6 eglot--tests-connect ert-fail eglot-current-server (error) signal #13=#:ert-form-evaluation-aborted-4836 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot-current-server)) :form eql #13# :value eglot-current-server ert-explainer :explanation apply ert--signal-should-execution] 7 apply "project/merdix.py" (error) #14=#:ert-form-evaluation-aborted-4841 [(should (eglot-current-server)) :form eql #14# :value eglot-current-server ert-explainer :explanation apply ert--signal-should-execution] eq (error) ert--should-signal-hook #15=#:ert-form-evaluation-aborted-4846 [(should (eq (eglot-current-server) server)) :form eql #15# :value eq ert-explainer :explanation apply ert--signal-should-execution] "anotherproject/cena.py" eglot--current-server-or-lose (error) #16=#:ert-form-evaluation-aborted-4851 "\300\242\207" [] 1 (error) [(should-error (eglot--current-server-or-lose)) :form eql #16# :value eglot--current-server-or-lose ert-explainer :explanation apply ert--signal-should-execution] t ert--should-error-handle-error error append :fail-reason "did not signal an error"] 15] 13] auto-shutdown "Visit a file and M-x eglot, then kill buffer. " #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\305C\305C\320\321\307\310\322\312\313\"\323\"\324$\"\207" [executable-find (error) #17="pyls" signal #18=#:ert-form-evaluation-aborted-4858 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #17#)) :form eql #18# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("coiso.py" . "def coiso: pass"))) "r\301\304\305!\240q\210\306\307!C\310C\311\312\313\314\315\"\316\"\317$\216\300\320 \240\240)\204,\321\242!\210\266\322C\32319\3100\202D\324\240\210\211@AD\262\325C\310C\311\312\326\314\315$\327\"\330$\216\331\242\"\240)\204k\321\242!\210\266\310\332\301\242!\210)\333C\3341\205\335\300\242)C0\202\220\324\240\210\211@AD\262\336C\310C\311\312\326\314\315$\337\"\330$\216\331\242\"\240)\204\267\321\242!\210\266\301\304\340\301\242!!\240\210\341\332\301\242!\210)\342C\3431\334\335\333\300\242!)C0\202\347\324\240\210\211@AD\262\344C\310C\311\312\326\314\315$\345\"\330$\216\331\242\"\240)\204\321\242!\210\210\211\242\262\266\202)\207" [eglot-autoshutdown signal-hook-function eglot--find-file-noselect "project/coiso.py" gensym #19# nil make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(should #20=(setq server (eglot--tests-connect))) :form #20# :value ert--signal-should-execution] 6 eglot--tests-connect ert-fail eglot-current-server (error) signal #21=#:ert-form-evaluation-aborted-4865 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot-current-server)) :form eql #21# :value eglot-current-server ert-explainer :explanation apply ert--signal-should-execution] 7 apply kill-buffer jsonrpc-running-p (error) ert--should-signal-hook #22=#:ert-form-evaluation-aborted-4870 [(should (jsonrpc-running-p server)) :form eql #22# :value jsonrpc-running-p ert-explainer :explanation apply ert--signal-should-execution] buffer-file-name t not (error) #23=#:ert-form-evaluation-aborted-4875 [(should (not (jsonrpc-running-p server))) :form eql #23# :value not ert-explainer :explanation apply ert--signal-should-execution]] 13] 13] auto-reconnect "Start a server. Kill it. Watch it reconnect." #[0 "\301C\3021\f\303C0\202\304\240\210\211@AD\262\305C\306C\3071>\310\311\312\313\314$\315\"\316$\216\317\242\"\240)0\202@\210\306\204H\320\242!\210\266\306C\321\322\323\310\311\324\313\314!\325\"\326$\")\207" [eglot-autoreconnect executable-find (error) #24="pyls" signal #25=#:ert-form-evaluation-aborted-4880 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #24#)) :form eql #25# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip 1 eglot--call-with-fixture (("project" ("coiso.py" . "bla") ("merdix.py" . "bla"))) "r\302\303!q\210\304\305!C\306C\307\310\311\312\313\"\314\"\315$\216\300\316 \240\240)\204*\317\242!\210\266\320\321\306\307\310\322\312\313\300!\323\"\324$#\210\325\300\242!\203K\326\306\327\"\210\202<\330C\3311V\3060\202a\332\240\210\211@AD\262\333C\306C\307\310\334\312\313$\335\"\336$\216\337\242\"\240)\204\210\317\242!\210\266\300\330 \240\210\340\300\242!\320\341\306\307\310\342\312\313!\343\"\344$#\210\345!\203\262\326\306\346\"\210\202\244\210\347C\3501\303\351\330 )C0\202\316\332\240\210\211@AD\262\352C\306C\307\310\334\312\313$\353\"\336$\216\337\242\"\240)\204\365\317\242!\210\210\211\242\262\266\202)\207" [signal-hook-function eglot--find-file-noselect "project/coiso.py" gensym #19# nil make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(should #26=(setq server (eglot--tests-connect))) :form #26# :value ert--signal-should-execution] 6 eglot--tests-connect ert-fail run-with-timer 1.2 "\301\302\300\242!!\207" [delete-process jsonrpc--process] 3 jsonrpc-running-p accept-process-output 0.5 eglot-current-server (error) signal #27=#:ert-form-evaluation-aborted-4887 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot-current-server)) :form eql #27# :value eglot-current-server ert-explainer :explanation apply ert--signal-should-execution] 7 apply jsonrpc--process 0.5 "\301\300!\207" [delete-process] 2 process-live-p 0.5 not (error) ert--should-signal-hook #28=#:ert-form-evaluation-aborted-4892 [(should (not (eglot-current-server))) :form eql #28# :value not ert-explainer :explanation apply ert--signal-should-execution]] 13] 13] rls-watches-files "Start RLS server. Notify it when a critical file changes." #[0 "\302C\3031\f\304C0\202\305\240\210\211@AD\262\306C\307C\3101>\311\312\313\314\315$\316\"\317$\216\320\242\"\240)0\202@\210\307\204H\321\242!\210\266\302C\3221V\323C0\202a\305\240\210\211@AD\262\324C\307C\3251\210\311\312\313\314\315$\326\"\317$\216\320\242\"\240)0\202\212\210\307\204\222\321\242!\210\266\327C\3301\245\331\332\333!)C0\202\260\305\240\210\211@AD\262\334C\307C\3351\327\311\312\313\314\315$\336\"\317$\216\320\242\"\240)0\202\331\210\307\204\341\321\242!\210\266\337\340\341\342\")\207" [signal-hook-function eglot-autoreconnect executable-find (error) #29="rls" signal #30=#:ert-form-evaluation-aborted-4897 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #29#)) :form eql #30# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip (error) #31="cargo" #32=#:ert-form-evaluation-aborted-4902 (error) [(skip-unless (executable-find #31#)) :form eql #32# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] null (error) ert--should-signal-hook getenv #33="TRAVIS_TESTING" #34=#:ert-form-evaluation-aborted-4907 (error) [(skip-unless (null (getenv #33#))) :form eql #34# :value null ert-explainer :explanation apply ert--signal-should-execution] 1 eglot--call-with-fixture (("watch-project" ("coiso.rs" . "bla") ("merdix.rs" . "bla"))) #[0 "r\301\302!q\210\303C\3041\305\306\307\310!)D0\202#\311\240\210\211@AD\262\312C\313C\314\306\315\316\317$\320\"\321$\216\322\242\"\240)\204J\323\242!\210\266\324\216\313C\313C\313C\325\326\327\314\330\331\316\317\n\n\n#\332\"\333\334%\335$\210\336C\3371v\3130\202\201\311\240\210\211@AD\262\340C\313C\314\306\315\316\317$\341\"\321$\216\322\242\"\240)\204\250\323\242!\210\266\313C\342\343\314\306\344\316\317\n\"\345\"\346$\"\210\342\347\314\306\344\316\317\"\350\"\346$\"\266\351\352!\210\342\353\314\306\354\316\317!\355\"\346$\"\266\203*\207" [signal-hook-function eglot--find-file-noselect "watch-project/coiso.rs" = (error) ert--should-signal-hook 0 shell-command #35="cargo init" signal #36=#:ert-form-evaluation-aborted-4912 nil make-byte-code "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (zerop (shell-command #35#))) :form eql #36# :value = ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #37=#:eglot--event-sniff] 3] advice-add jsonrpc--log-event :before 770 "\303\304\"A@\303\305\"A@\303\306\"A@\205\307=\203?\203/\300 \300\242B\240\202g\2037\310\202g\211\205g\310\202g\311=\205g\203N\310\202g\203\\\301 \301\242B\240\202g\211\205g\302 \302\242B\240\266\203\207" [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #37#)) eglot--tests-connect (error) #38=#:ert-form-evaluation-aborted-4917 [(should (eglot--tests-connect)) :form eql #38# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] eglot--call-with-timeout (1 "waiting for:\n((setq register-id id)\n (string= method \"client/registerCapability\"))\n") "\302\303\304\300\242\304\211\211\303\304:\203Y@\262\305\306\"\262\307!\203+\310\306\311!\312\304O#\210\313\314\315\316\317\301!\320\"\321\322%!\203HB\262\304\211\262\202I\303\203YC\244\262A\262\202\n\266\205\211\262?\211\262\203\200\323\324\"\302U\203y\325\326\304\327#\210\330\304\331\"\210T\262\202\266\202\300A\240\210\332\333\334@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 make-byte-code 257 "\301\302\303\304\305\306\300!\307\"\310\311%\"\207" vconcat vector [apply make-byte-code 128 "\301\302\"A@\301\303\"A@\300\240\210\211\304\230\207" vconcat vector [plist-member :id :method "client/registerCapability"] 5 "\n\n(fn &key ID METHOD &allow-other-keys)"] 8 "\n\n(fn JSONRPC-LAMBDA-ELEM28)" mod 5 read-event #8# 0.1 accept-process-output 0.1 eglot--message #9# pp-to-string] 15 (1 "waiting for:\n((and\n (eq id register-id)\n (null error)))\n") [0 t nil plist-get :method keywordp plist-put symbol-name 1 make-byte-code 257 "\301\302\303\304\305\306\300!\307\"\310\311%\"\207" vconcat vector [apply make-byte-code 128 "\301\302\"A@\301\303\"A@\300\242=\205\211?\207" vconcat vector [plist-member :id :error] 5 "\n\n(fn &key ID ERROR &allow-other-keys)"] 8 "\n\n(fn JSONRPC-LAMBDA-ELEM29)" mod 5 read-event #8# 0.1 accept-process-output 0.1 eglot--message #9# pp-to-string] delete-file "Cargo.toml" (3 "waiting for didChangeWatchedFiles notification") "\301\302\303\300\242\303\211\211\302\303:\203R@\262\304\305\"\262\306!\203+\307\305\310!\311\303O#\210\312\313\"\262\203AB\262\303\211\262\202B\302\203RC\244\262A\262\202\n\266\205\211\262?\211\262\203y\314\315\"\301U\203r\316\317\303\320#\210\321\303\322\"\210T\262\202\266\202\300A\240\210\323\324\325@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\300\301\"A@\300\302\"A@\303\230\205]\304\305\"\306\234\300\307\"A@\300\310\"A@\211\203O\211@\311>\2038\211AA\262\202%\312>A@\203F\313\262\202%\314\315@\"\210\202%\210\316\317!\230\205[\211\320U\266\203\207" [plist-member :method :params "workspace/didChangeWatchedFiles" plist-get :changes 0 :uri :type (:uri :type :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:uri :type)" eglot--path-to-uri "Cargo.toml" 3] 10 "\n\n(fn &key METHOD PARAMS &allow-other-keys)"] mod 5 read-event #8# 0.1 accept-process-output 0.1 eglot--message #9# pp-to-string]] 16]] 13] basic-diagnostics "Test basic diagnostics." #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #39="pyls" signal #40=#:ert-form-evaluation-aborted-4922 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #39#)) :form eql #40# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("diag-project" ("main.py" . "def foo(): if True pass"))) #[0 "r\301\302!q\210\303\216\304C\305\306\307\310\311\312\313\314!\315\"\316\317%\320$\210\321 \210\322\323\310\324\325\313\314!\326\"\327$\"\210\330 \210eb\210\331\332\304\333#\210\334C\3351M\336\337\340 )D0\202X\341\240\210\211@AD\262\342C\304C\310\324\343\313\314$\344\"\345$\216\346\242\"\240)\204\347\242!\210\210\211\242\262\266\202\262*\207" [signal-hook-function eglot--find-file-noselect "diag-project/main.py" #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #41=#:eglot--event-sniff] 3] nil advice-add jsonrpc--log-event :before make-byte-code 770 "\301\302\"A@\301\303\"A@\301\304\"A@\205\305=\203?\203)\306\202[\2037\300 \300\242B\240\202[\211\205[\306\202[\307=\205[\203N\306\202[\203V\306\202[\211\205[\306\266\203\207" vconcat vector [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #41#)) eglot--tests-connect eglot--call-with-timeout (2 "waiting for:\n((string= method \"textDocument/publishDiagnostics\"))\n") 0 "\301\302\303\300\242\303\211\211\302\303:\203R@\262\304\305\"\262\306!\203+\307\305\310!\311\303O#\210\312\313\"\262\203AB\262\303\211\262\202B\302\203RC\244\262A\262\202\n\266\205\211\262?\211\262\203y\314\315\"\301U\203r\316\317\303\320#\210\321\303\322\"\210T\262\202\266\202\300A\240\210\323\324\325@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\300\301\"A@\300\302\"A@\211\303\230\207" [plist-member :id :method "textDocument/publishDiagnostics"] 5 "\n\n(fn &key ID METHOD &allow-other-keys)"] mod 5 read-event #8# 0.1 accept-process-output 0.1 eglot--message #9# pp-to-string] 15 flymake-start flymake-goto-next-error 1 t eq (error) ert--should-signal-hook flymake-error face-at-point signal #42=#:ert-form-evaluation-aborted-4927 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eq 'flymake-error (face-at-point))) :form eql #42# :value eq ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail] 14]] 13]] 10) (defalias 'eglot--eldoc-on-demand #[0 "\300\301!\207" [eldoc t] 2]) (defalias 'eglot--tests-force-full-eldoc #[0 "pr\302 q\210\303\304 \210r\211q\210\305 \210)\306\211S\211\262\307Y\203-\310 G\307U\203-\311\312!\210\202\210\313C\3141?\315\310 G)C0\202J\316\240\210\211@AD\262\317C\320C\321\307\322\323\324$\325\"\326$\216\327\242\"\240)\204q\330\242!\210\266\331\332\310 \"\210\310 *\207" [inhibit-read-only signal-hook-function eldoc-doc-buffer t erase-buffer eglot--eldoc-on-demand 10 0 buffer-string sit-for 0.1 cl-plusp (error) ert--should-signal-hook signal #1=#:ert-form-evaluation-aborted-4932 nil make-byte-code "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (cl-plusp (length (buffer-string)))) :form eql #1# :value cl-plusp ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail message "returning %s"] 14]) (byte-code "\300\301\302\303\301\304\305\306\307\306&\"\210\300\310\302\303\310\311\312\306\307\306&\"\210\300\313\302\303\313\314\315\306\307\306&\"\210\300\316\302\303\316\317\320\306\307\306&\"\207" [ert-set-test rls-hover-after-edit record ert-test "Hover and highlightChanges are tricky in RLS." #[0 "\301C\3021\f\303C0\202\304\240\210\211@AD\262\305C\306C\3071>\310\311\312\313\314$\315\"\316$\216\317\242\"\240)0\202@\210\306\204H\320\242!\210\266\301C\3211V\322C0\202a\304\240\210\211@AD\262\323C\306C\3241\210\310\311\312\313\314$\325\"\316$\216\317\242\"\240)0\202\212\210\306\204\222\320\242!\210\266\326C\3271\245\330\331\332!)C0\202\260\304\240\210\211@AD\262\333C\306C\3341\327\310\311\312\313\314$\335\"\316$\216\317\242\"\240)0\202\331\210\306\204\341\320\242!\210\266\336\337\340\"\207" [signal-hook-function executable-find (error) #1="rls" signal #2=#:ert-form-evaluation-aborted-4937 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #1#)) :form eql #2# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip (error) #3="cargo" #4=#:ert-form-evaluation-aborted-4942 (error) [(skip-unless (executable-find #3#)) :form eql #4# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] null (error) ert--should-signal-hook getenv #5="TRAVIS_TESTING" #6=#:ert-form-evaluation-aborted-4947 (error) [(skip-unless (null (getenv #5#))) :form eql #6# :value null ert-explainer :explanation apply ert--signal-should-execution] eglot--call-with-fixture (("hover-project" ("main.rs" . "fn test() -> i32 { let test=3; return te; }"))) #[0 "r\301\302!q\210\303C\3041\305\306\307\310!)D0\202#\311\240\210\211@AD\262\312C\313C\314\306\315\316\317$\320\"\321$\216\322\242\"\240)\204J\323\242!\210\266\324\216\313C\313C\325\326\327\314\330\331\316\317  \"\332\"\333\334%\335$\210\336 \210eb\210\337\340!\210\341c\210\342 \210\343 \210\313C\344\345\314\306\346\316\317\"\347\"\350$\"\210\344\351\314\306\346\316\317 \"\352\"\350$\"\262\266\202*\207" [signal-hook-function eglot--find-file-noselect "hover-project/main.rs" = (error) ert--should-signal-hook 0 shell-command #7="cargo init" signal #8=#:ert-form-evaluation-aborted-4952 nil make-byte-code "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (zerop (shell-command #7#))) :form eql #8# :value = ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #9=#:eglot--event-sniff] 3] advice-add jsonrpc--log-event :before 770 "\302\303\"A@\302\304\"A@\302\305\"A@\205\306=\203?\203)\307\202a\2031\307\202a\211\205a\300 \300\242B\240\202a\310=\205a\203T\301 \301\242B\240\202a\203\\\307\202a\211\205a\307\266\203\207" [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #9#)) eglot--tests-connect search-forward "return te" "st" eglot--signal-textDocument/didChange eglot--eldoc-on-demand eglot--call-with-timeout (2 "waiting for:\n((setq pending-id id)\n (string= method \"textDocument/documentHighlight\"))\n") "\302\303\304\300\242\304\211\211\303\304:\203Y@\262\305\306\"\262\307!\203+\310\306\311!\312\304O#\210\313\314\315\316\317\301!\320\"\321\322%!\203HB\262\304\211\262\202I\303\203YC\244\262A\262\202\n\266\205\211\262?\211\262\203\200\323\324\"\302U\203y\325\326\304\327#\210\330\304\331\"\210T\262\202\266\202\300A\240\210\332\333\334@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 make-byte-code 257 "\301\302\303\304\305\306\300!\307\"\310\311%\"\207" vconcat vector [apply make-byte-code 128 "\301\302\"A@\301\303\"A@\300\240\210\211\304\230\207" vconcat vector [plist-member :id :method "textDocument/documentHighlight"] 5 "\n\n(fn &key ID METHOD &allow-other-keys)"] 8 "\n\n(fn JSONRPC-LAMBDA-ELEM32)" mod 5 read-event #10="[eglot] Waiting a bit..." 0.1 accept-process-output 0.1 eglot--message #11="Event detected:\n%s" pp-to-string] 15 (2 "waiting for:\n((eq id pending-id))\n") [0 t nil plist-get :method keywordp plist-put symbol-name 1 make-byte-code 257 "\301\302\303\304\305\306\300!\307\"\310\311%\"\207" vconcat vector [apply make-byte-code 128 "\301\302\"A@\211\300\242=\207" vconcat vector [plist-member :id] 4 "\n\n(fn &key ID &allow-other-keys)"] 8 "\n\n(fn JSONRPC-LAMBDA-ELEM33)" mod 5 read-event #10# 0.1 accept-process-output 0.1 eglot--message #11# pp-to-string]] 13]] 13] nil :passed rename-a-symbol "Test basic symbol renaming" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #12="pyls" signal #13=#:ert-form-evaluation-aborted-4957 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #12#)) :form eql #13# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("rename-project" ("main.py" . "def foo (bar) : 1 + bar\n\ndef bar() : pass"))) #[0 "r\301\302!q\210\303 \210eb\210\304\305!\210\306\307!\210\310C\3111%\312\313 )\314D0\2020\315\240\210\211@AD\262\316C\317C\320\321\322\323\324$\325\"\326$\216\327\242\"\240)\204W\330\242!\210\210\211\242\262\266\202)\207" [signal-hook-function eglot--find-file-noselect "rename-project/main.py" eglot--tests-connect search-forward "bar" eglot-rename "bla" equal (error) ert--should-signal-hook buffer-string #14="def foo (bla) : 1 + bla\n\ndef bar() : pass" signal #15=#:ert-form-evaluation-aborted-4962 nil make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (equal (buffer-string) #14#)) :form eql #15# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail] 13]] 13] basic-completions "Test basic autocompletion in a python LSP" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #16="pyls" signal #17=#:ert-form-evaluation-aborted-4967 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #16#)) :form eql #17# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "import sys\nsys.exi"))) #[0 "r\300\301!q\210\302C\3031\3040\202\305\240\210\211@AD\262\306C\304C\307\310\311\312\313$\314\"\315$\216\316\242\"\240)\204C\317\242!\210\266db\210\320 \210\321C\3221W\323C0\202b\305\240\210\211@AD\262\324C\304C\307\310\311\312\313$\325\"\315$\216\316\242\"\240)\204\211\317\242!\210\210\211\242\262\266\202)\207" [eglot--find-file-noselect "project/something.py" eglot--tests-connect (error) nil signal #18=#:ert-form-evaluation-aborted-4972 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #18# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail completion-at-point looking-back (error) #19="sys.exit" #20=#:ert-form-evaluation-aborted-4977 [(should (looking-back #19#)) :form eql #20# :value looking-back ert-explainer :explanation apply ert--signal-should-execution]] 13]] 13] basic-xref "Test basic xref functionality in a python LSP" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #21="pyls" signal #22=#:ert-form-evaluation-aborted-4982 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #21#)) :form eql #22# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "def foo(): pass\ndef bar(): foo()"))) #[0 "r\300\301!q\210\302C\3031\3040\202\305\240\210\211@AD\262\306C\304C\307\310\311\312\313$\314\"\315$\216\316\242\"\240)\204C\317\242!\210\266\320\321!\210\322\323!\210\324C\3251Y\326C0\202d\305\240\210\211@AD\262\327C\304C\307\310\311\312\313$\330\"\315$\216\316\242\"\240)\204\213\317\242!\210\210\211\242\262\266\202)\207" [eglot--find-file-noselect "project/something.py" eglot--tests-connect (error) nil signal #23=#:ert-form-evaluation-aborted-4987 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #23# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail search-forward "bar(): f" call-interactively xref-find-definitions looking-at (error) #24="foo(): pass" #25=#:ert-form-evaluation-aborted-4992 [(should (looking-at #24#)) :form eql #25# :value looking-at ert-explainer :explanation apply ert--signal-should-execution]] 13]] 13]] 10) (defvar eglot--test-python-buffer "def foobarquux(a, b, c=True): pass\ndef foobazquuz(d, e, f): pass\n") (byte-code "\300\301\302\303\301\304\305\306\307\306&\"\210\300\310\302\303\310\304\311\306\307\306&\"\210\300\312\302\303\312\313\314\306\307\306&\"\210\300\315\302\303\315\316\317\306\320\321!\203<\322\202=\307\306&\"\210\300\323\302\303\323\316\324\306\307\306&\"\210\300\325\302\303\325\326\327\306\307\306&\"\210\300\330\302\303\330\331\332\306\307\306&\"\210\300\333\302\303\333\334\335\306\307\306&\"\210\300\336\302\303\336\337\340\306\307\306&\"\210\300\341\302\303\341\342\343\306\307\306&\"\210\300\344\302\303\344\345\346\306\307\306&\"\210\300\347\302\303\347\350\351\306\307\306&\"\210\300\352\302\303\352\353\354\306\307\306&\"\210\300\355\302\303\355\356\357\306\307\306&\"\210\300\360\302\303\360\361\362\306\307\306&\"\210\300\363\302\303\363\364\365\306\307\306&\"\210\300\366\302\303\366\306\367\306\307\306&\"\210\300\370\302\303\370\306\371\306\307\306&\"\210\300\372\302\303\372\306\373\306\307\306&\"\207" [ert-set-test snippet-completions record ert-test "Test simple snippet completion in a python LSP" #[0 "\301\302!C\303C\3041)\305\306\307\310\311\"\312\"\313$\216\314\315!\205#\316\317!\240)0\202+\210\303\2043\320\242!\210\266\321\322\323BDC\324\"\207" [eglot--test-python-buffer gensym #8="ert-form-evaluation-aborted-" nil (error) make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(skip-unless #1=(and (executable-find #2="pyls") (functionp 'yas-minor-mode))) :form #1# :value ert--signal-should-execution] 6 executable-find #2# functionp yas-minor-mode ert-skip eglot--call-with-fixture "project" "something.py" #[0 "r\301\302!q\210\303\304!\210\305\306C\3071\3100\202\"\311\240\210\211@AD\262\312C\310C\313\314\315\316\317$\320\"\321$\216\322\242\"\240)\204I\323\242!\210\266)db\210\324c\210\325 \210\326C\3271a\330C0\202l\311\240\210\211@AD\262\331C\310C\313\314\315\316\317$\332\"\321$\216\322\242\"\240)\204\223\323\242!\210\266\333C\3341\241\335C0\202\254\311\240\210\211@AD\262\336C\310C\313\314\315\316\317$\337\"\321$\216\322\242\"\240)\204\323\323\242!\210\210\211\242\262\266\202)\207" [eglot-workspace-configuration eglot--find-file-noselect "project/something.py" yas-minor-mode 1 ((:pyls :plugins (:jedi_completion (:include_params t)))) eglot--tests-connect (error) nil signal #3=#:ert-form-evaluation-aborted-4999 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #3# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail "foobar" completion-at-point looking-back (error) #4="foobarquux(" #5=#:ert-form-evaluation-aborted-5004 [(should (looking-back #4#)) :form eql #5# :value looking-back ert-explainer :explanation apply ert--signal-should-execution] looking-at (error) #6="a, b)" #7=#:ert-form-evaluation-aborted-5009 [(should (looking-at #6#)) :form eql #7# :value looking-at ert-explainer :explanation apply ert--signal-should-execution]] 13]] 9] nil :passed snippet-completions-with-company #[0 "\301\302!C\303C\3041/\305\306\307\310\311\"\312\"\313$\216\314\315!\205)\316\317!\205)\316\320!\240)0\2021\210\303\2049\321\242!\210\266\322\323\324BDC\325\"\207" [eglot--test-python-buffer gensym #8# nil (error) make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(skip-unless #9=(and (executable-find #10="pyls") (functionp 'yas-minor-mode) (functionp 'company-complete))) :form #9# :value ert--signal-should-execution] 6 executable-find #10# functionp yas-minor-mode company-complete ert-skip eglot--call-with-fixture "project" "something.py" #[0 "r\303\304!q\210\305\306!\210\307\310C\3111\3120\202\"\313\240\210\211@AD\262\314C\312C\315\316\317\320\321$\322\"\323$\216\324\242\"\240)\204I\325\242!\210\266)db\210\326c\210\327 \210\330 \210\331C\3321d\333C0\202o\313\240\210\211@AD\262\334C\312C\315\316\317\320\321$\335\"\323$\216\324\242\"\240)\204\226\325\242!\210\266\336C\3371\251\340\341\nG)D0\202\264\313\240\210\211@AD\262\342C\312C\315\316\317\320\321$\343\"\323$\216\324\242\"\240)\204\333\325\242!\210\266\344C\3451\355\340\346\n)D0\202\370\313\240\210\211@AD\262\347C\312C\315\316\317\320\321$\350\"\323$\216\324\242\"\240)\204\325\242!\210\210\211\242\262\266\202)\207" [eglot-workspace-configuration signal-hook-function company-candidates eglot--find-file-noselect "project/something.py" yas-minor-mode 1 ((:pyls :plugins (:jedi_completion (:include_params t)))) eglot--tests-connect (error) nil signal #11=#:ert-form-evaluation-aborted-5016 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #11# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail "foo" company-mode company-complete looking-back (error) #12="fooba" #13=#:ert-form-evaluation-aborted-5021 [(should (looking-back #12#)) :form eql #13# :value looking-back ert-explainer :explanation apply ert--signal-should-execution] = (error) ert--should-signal-hook 2 #14=#:ert-form-evaluation-aborted-5026 [(should (= 2 (length company-candidates))) :form eql #14# :value = ert-explainer :explanation apply ert--signal-should-execution] member (error) #15="foobazquuz(d, e, f)" #16=#:ert-form-evaluation-aborted-5031 [(should (member #15# company-candidates)) :form eql #16# :value member ert-explainer :explanation apply ert--signal-should-execution]] 13]] 9] eglot-eldoc-after-completions "Test documentation echo in a python LSP" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #17="pyls" signal #18=#:ert-form-evaluation-aborted-5036 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #17#)) :form eql #18# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "import sys\nsys.exi"))) #[0 "r\301\302!q\210\303C\3041\3050\202\306\240\210\211@AD\262\307C\305C\310\311\312\313\314$\315\"\316$\216\317\242\"\240)\204C\320\242!\210\266db\210\321 \210\322C\3231W\324C0\202b\306\240\210\211@AD\262\325C\305C\310\311\312\313\314$\326\"\316$\216\317\242\"\240)\204\211\320\242!\210\266\327C\3301\234\331\332\333 )D0\202\247\306\240\210\211@AD\262\334C\305C\310\311\312\313\314$\335\"\316$\216\317\242\"\240)\204\316\320\242!\210\210\211\242\262\266\202)\207" [signal-hook-function eglot--find-file-noselect "project/something.py" eglot--tests-connect (error) nil signal #19=#:ert-form-evaluation-aborted-5041 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #19# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail completion-at-point looking-back (error) #20="sys.exit" #21=#:ert-form-evaluation-aborted-5046 [(should (looking-back #20#)) :form eql #21# :value looking-back ert-explainer :explanation apply ert--signal-should-execution] string-match (error) ert--should-signal-hook #22="^exit" eglot--tests-force-full-eldoc #23=#:ert-form-evaluation-aborted-5051 [(should (string-match #22# (eglot--tests-force-full-eldoc))) :form eql #23# :value string-match ert-explainer :explanation apply ert--signal-should-execution]] 13]] 13] eglot-multiline-eldoc "Test if suitable amount of lines of hover info are shown." #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #24="pyls" signal #25=#:ert-form-evaluation-aborted-5056 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #24#)) :form eql #25# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("hover-first.py" . "from datetime import datetime"))) #[0 "r\303\304!q\210\305C\3061\3070\202\310\240\210\211@AD\262\311C\307C\312\313\314\315\316$\317\"\320$\216\321\242\"\240)\204C\322\242!\210\266db\210\323\324 \325C\3261\\\327\330)D0\202g\310\240\210\211@AD\262\331C\307C\312\313\314\315\316$\332\"\320$\216\321\242\"\240)\204\216\322\242!\210\266\333C\3341\240\327\335\n)D0\202\253\310\240\210\211@AD\262\336C\307C\312\313\314\315\316$\337\"\320$\216\321\242\"\240)\204\322\322\242!\210\210\211\242\262\266\202)\262)\207" [eldoc-echo-area-use-multiline-p signal-hook-function eldoc-last-message eglot--find-file-noselect "project/hover-first.py" eglot--tests-connect (error) nil signal #26=#:ert-form-evaluation-aborted-5061 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #26# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail t eglot--tests-force-full-eldoc string-match (error) ert--should-signal-hook #27="datetim" #28=#:ert-form-evaluation-aborted-5066 [(should (string-match #27# captured-message)) :form eql #28# :value string-match ert-explainer :explanation apply ert--signal-should-execution] cl-find (error) 10 #29=#:ert-form-evaluation-aborted-5071 [(should (cl-find 10 eldoc-last-message)) :form eql #29# :value cl-find ert-explainer :explanation apply ert--signal-should-execution]] 14]] 13] getenv "TRAVIS_TESTING" :failed eglot-single-line-eldoc #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #30="pyls" signal #31=#:ert-form-evaluation-aborted-5076 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #30#)) :form eql #31# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("hover-first.py" . "from datetime import datetime"))) #[0 "r\303\304!q\210\305C\3061\3070\202\310\240\210\211@AD\262\311C\307C\312\313\314\315\316$\317\"\320$\216\321\242\"\240)\204C\322\242!\210\266db\210\307\323 \324C\3251\\\326\327)D0\202g\310\240\210\211@AD\262\330C\307C\312\313\314\315\316$\331\"\320$\216\321\242\"\240)\204\216\322\242!\210\266\332C\3331\242\326\334\335\n\")C0\202\255\310\240\210\211@AD\262\336C\307C\312\313\314\315\316$\337\"\320$\216\321\242\"\240)\204\324\322\242!\210\210\211\242\262\266\202)\262)\207" [eldoc-echo-area-use-multiline-p signal-hook-function eldoc-last-message eglot--find-file-noselect "project/hover-first.py" eglot--tests-connect (error) nil signal #32=#:ert-form-evaluation-aborted-5081 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #32# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail eglot--tests-force-full-eldoc string-match (error) ert--should-signal-hook #33="datetim" #34=#:ert-form-evaluation-aborted-5086 [(should (string-match #33# captured-message)) :form eql #34# :value string-match ert-explainer :explanation apply ert--signal-should-execution] not (error) cl-find 10 #35=#:ert-form-evaluation-aborted-5091 [(should (not (cl-find 10 eldoc-last-message))) :form eql #35# :value not ert-explainer :explanation apply ert--signal-should-execution]] 14]] 13] python-autopep-formatting "Test formatting in the pyls python LSP.\npyls prefers autopep over yafp, despite its README stating the contrary." #[0 "\300\301!C\302C\3031)\304\305\306\307\310\"\311\"\312$\216\313\314!\205#\313\315!\240)0\202+\210\302\2043\316\242!\210\266\317\320\321\"\207" [gensym #8# nil (error) make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(skip-unless #36=(and (executable-find #37="pyls") (executable-find #38="autopep8"))) :form #36# :value ert--signal-should-execution] 6 executable-find #37# #38# ert-skip eglot--call-with-fixture (("project" ("something.py" . "def a():pass\n\ndef b():pass"))) #[0 "r\301\302!q\210\303C\3041\3050\202\306\240\210\211@AD\262\307C\305C\310\311\312\313\314$\315\"\316$\216\317\242\"\240)\204C\320\242!\210\266\321\322!\210\323\324 \325 \"\210\326C\3271\\\330C0\202g\306\240\210\211@AD\262\331C\305C\310\311\312\313\314$\332\"\316$\216\317\242\"\240)\204\216\320\242!\210\266\333C\3341\241\335\336 )\337D0\202\254\306\240\210\211@AD\262\340C\305C\310\311\312\313\314$\341\"\316$\216\317\242\"\240)\204\323\320\242!\210\266\342 \210\333C\3431\351\335\336 )\344D0\202\364\306\240\210\211@AD\262\345C\305C\310\311\312\313\314$\346\"\316$\216\317\242\"\240)\204\320\242!\210\210\211\242\262\266\202)\207" [signal-hook-function eglot--find-file-noselect "project/something.py" eglot--tests-connect (error) nil signal #39=#:ert-form-evaluation-aborted-5098 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #39# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail search-forward "b():pa" eglot-format point-at-bol point-at-eol looking-at (error) #40="ss" #41=#:ert-form-evaluation-aborted-5103 [(should (looking-at #40#)) :form eql #41# :value looking-at ert-explainer :explanation apply ert--signal-should-execution] string= (error) ert--should-signal-hook buffer-string #42="def a():pass\n\n\ndef b(): pass\n" #43=#:ert-form-evaluation-aborted-5108 [(should (string= (buffer-string) #42#)) :form eql #43# :value string= ert-explainer :explanation apply ert--signal-should-execution] eglot-format-buffer (error) #44="def a(): pass\n\n\ndef b(): pass\n" #45=#:ert-form-evaluation-aborted-5113 [(should (string= (buffer-string) #44#)) :form eql #45# :value string= ert-explainer :explanation apply ert--signal-should-execution]] 13]] 9] python-yapf-formatting "Test formatting in the pyls python LSP" #[0 "\300\301!C\302C\30310\304\305\306\307\310\"\311\"\312$\216\313\314!\205*\313\315!?\205*\313\316!\240)0\2022\210\302\204:\317\242!\210\266\320\321\322\"\207" [gensym #8# nil (error) make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(skip-unless #46=(and (executable-find #47="pyls") (not (executable-find #48="autopep8")) (executable-find #49="yapf"))) :form #46# :value ert--signal-should-execution] 6 executable-find #47# #48# #49# ert-skip eglot--call-with-fixture (("project" ("something.py" . "def a():pass\ndef b():pass"))) #[0 "r\301\302!q\210\303C\3041\3050\202\306\240\210\211@AD\262\307C\305C\310\311\312\313\314$\315\"\316$\216\317\242\"\240)\204C\320\242!\210\266\321\322!\210\323\324 \325 \"\210\326C\3271\\\330C0\202g\306\240\210\211@AD\262\331C\305C\310\311\312\313\314$\332\"\316$\216\317\242\"\240)\204\216\320\242!\210\266\333C\3341\241\335\336 )\337D0\202\254\306\240\210\211@AD\262\340C\305C\310\311\312\313\314$\341\"\316$\216\317\242\"\240)\204\323\320\242!\210\266\342 \210\333C\3431\351\335\336 )\344D0\202\364\306\240\210\211@AD\262\345C\305C\310\311\312\313\314$\346\"\316$\216\317\242\"\240)\204\320\242!\210\210\211\242\262\266\202)\207" [signal-hook-function eglot--find-file-noselect "project/something.py" eglot--tests-connect (error) nil signal #50=#:ert-form-evaluation-aborted-5120 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #50# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail search-forward "b():pa" eglot-format point-at-bol point-at-eol looking-at (error) #51="ss" #52=#:ert-form-evaluation-aborted-5125 [(should (looking-at #51#)) :form eql #52# :value looking-at ert-explainer :explanation apply ert--signal-should-execution] string= (error) ert--should-signal-hook buffer-string #53="def a():pass\n\n\ndef b():\n pass\n" #54=#:ert-form-evaluation-aborted-5130 [(should (string= (buffer-string) #53#)) :form eql #54# :value string= ert-explainer :explanation apply ert--signal-should-execution] eglot-format-buffer (error) #55="def a():\n pass\n\n\ndef b():\n pass\n" #56=#:ert-form-evaluation-aborted-5135 [(should (string= (buffer-string) #55#)) :form eql #56# :value string= ert-explainer :explanation apply ert--signal-should-execution]] 13]] 9] javascript-basic "Test basic autocompletion in a python LSP" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #57="~/.yarn/bin/javascript-typescript-stdio" signal #58=#:ert-form-evaluation-aborted-5140 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #57#)) :form eql #58# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("hello.js" . "console.log('Hello world!');"))) #[0 "r\302\303!q\210\304db\210\305\216\306C\306C\307\310\311\312\313\314\315\316  \"\317\"\320\321%\322$\210\323C\32411\3060\202<\325\240\210\211@AD\262\326C\306C\312\327\330\315\316$\331\"\332$\216\333\242\"\240)\204c\334\242!\210\266\335\336\312\327\337\315\316!\340\"\341$\"\210\342C\3431\207\344\345 )\346=C0\202\222\325\240\210\211@AD\262\347C\306C\312\327\330\315\316$\350\"\332$\216\333\242\"\240)\204\271\334\242!\210\266\351c\210\352 \210\335\353\312\327\337\315\316!\354\"\341$\"\210\335\355\312\327\337\315\316!\356\"\341$\"\266\202+\207" [eglot-server-programs signal-hook-function eglot--find-file-noselect "project/hello.js" ((js-mode "~/.yarn/bin/javascript-typescript-stdio")) #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #59=#:eglot--event-sniff] 3] nil advice-add jsonrpc--log-event :before make-byte-code 770 "\302\303\"A@\302\304\"A@\302\305\"A@\205\306=\203?\203)\307\202a\2037\300 \300\242B\240\202a\211\205a\307\202a\310=\205a\203N\307\202a\203\\\301 \301\242B\240\202a\211\205a\307\266\203\207" vconcat vector [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #59#)) eglot--tests-connect (error) signal #60=#:ert-form-evaluation-aborted-5145 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot--tests-connect)) :form eql #60# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail eglot--call-with-timeout (2 "waiting for:\n((string= method \"textDocument/publishDiagnostics\"))\n") "\301\302\303\300\242\303\211\211\302\303:\203R@\262\304\305\"\262\306!\203+\307\305\310!\311\303O#\210\312\313\"\262\203AB\262\303\211\262\202B\302\203RC\244\262A\262\202\n\266\205\211\262?\211\262\203y\314\315\"\301U\203r\316\317\303\320#\210\321\303\322\"\210T\262\202\266\202\300A\240\210\323\324\325@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\300\301\"A@\211\302\230\207" [plist-member :method "textDocument/publishDiagnostics"] 4 "\n\n(fn &key METHOD &allow-other-keys)"] mod 5 read-event #62="[eglot] Waiting a bit..." 0.1 accept-process-output 0.1 eglot--message #63="Event detected:\n%s" pp-to-string] 15 not (error) ert--should-signal-hook face-at-point flymake-error #61=#:ert-form-evaluation-aborted-5150 [(should (not (eq 'flymake-error (face-at-point)))) :form eql #61# :value not ert-explainer :explanation apply ert--signal-should-execution] "{" eglot--signal-textDocument/didChange (1 "waiting for:\n((string= method \"textDocument/didChange\"))\n") [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\300\301\"A@\211\302\230\207" [plist-member :method "textDocument/didChange"] 4 "\n\n(fn &key METHOD &allow-other-keys)"] mod 5 read-event #62# 0.1 accept-process-output 0.1 eglot--message #63# pp-to-string] (2 "waiting for:\n((and\n (string= method \"textDocument/publishDiagnostics\")\n (let*\n ((--cl-rest-- params)\n (_uri\n (car\n (cdr\n (plist-member --cl-rest-- ':uri))))\n (diagnostics\n (car\n (cdr\n (plist-member --cl-rest-- ':diagnostics)))))\n (progn\n (let\n ((--cl-keys-- --cl-rest--))\n (while --cl-keys--\n (cond\n ((memq\n (car --cl-keys--)\n '(:uri :diagnostics :allow-other-keys))\n (setq --cl-keys--\n (cdr\n (cdr --cl-keys--))))\n ((car\n (cdr\n (memq ':allow-other-keys --cl-rest--)))\n (setq --cl-keys-- nil))\n (t\n (error \"Keyword argument %s not one of (:uri :diagnostics)\"\n (car --cl-keys--))))))\n (cl-find-if\n #'(lambda\n (jsonrpc-lambda-elem34)\n (apply\n #'(lambda\n (&rest --cl-rest--)\n \"\\n\\n(fn &key SEVERITY &allow-other-keys)\"\n (let*\n ((severity\n (car\n (cdr\n (plist-member --cl-rest-- ':severity)))))\n (= severity 1)))\n jsonrpc-lambda-elem34))\n diagnostics)))))\n") [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\300\301\"A@\300\302\"A@\211\303\230\205Q\300\304\"A@\300\305\"A@\211\203J\211@\306>\2033\211AA\262\202 \307>A@\203A\310\262\202 \311\312@\"\210\202 \210\313\314\"\266\203\207" [plist-member :params :method "textDocument/publishDiagnostics" :uri :diagnostics (:uri :diagnostics . #102=(:allow-other-keys)) :allow-other-keys nil error "Keyword argument %s not one of (:uri :diagnostics)" cl-find-if #[257 "\300\301\"\207" [apply #[128 "\300\301\"A@\211\302U\207" [plist-member :severity 1] 4 "\n\n(fn &key SEVERITY &allow-other-keys)"]] 4 "\n\n(fn JSONRPC-LAMBDA-ELEM34)"]] 10 "\n\n(fn &key PARAMS METHOD &allow-other-keys)"] mod 5 read-event #62# 0.1 accept-process-output 0.1 eglot--message #63# pp-to-string]] 15]] 13] json-basic "Test basic autocompletion in vscode-json-languageserver" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #64="vscode-json-languageserver" signal #65=#:ert-form-evaluation-aborted-5155 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #64#)) :form eql #65# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("p.json" . "{\"foo.b") ("s.json" . "{\"properties\":{\"foo.bar\":{\"default\":\"fb\"}}}") (".git"))) #[0 "r\302\303!q\210\304 \210\305b\210\306\307!\310\261\210\311db\210\312C\3131$\3140\202/\315\240\210\211@AD\262\316C\314C\317\320\321\322\323$\324\"\325$\216\326\242\"\240)\204V\327\242!\210\266\330 \210\331C\3321g\333C0\202r\315\240\210\211@AD\262\334C\314C\317\320\321\322\323$\335\"\325$\216\326\242\"\240)\204\231\327\242!\210\266\336C\3371\247\340C0\202\262\315\240\210\211@AD\262\341C\314C\317\320\321\322\323$\342\"\325$\216\326\242\"\240)\204\331\327\242!\210\210\211\242\262\266\202*\207" [buffer-file-name eglot-server-programs eglot--find-file-noselect "project/p.json" yas-minor-mode 2 "\"$schema\": \"file://" file-name-directory "s.json\"," ((js-mode "vscode-json-languageserver" "--stdio")) eglot--tests-connect (error) nil signal #66=#:ert-form-evaluation-aborted-5160 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect)) :form eql #66# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail completion-at-point looking-back (error) #67="\"foo.bar\": \"" #68=#:ert-form-evaluation-aborted-5165 [(should (looking-back #67#)) :form eql #68# :value looking-back ert-explainer :explanation apply ert--signal-should-execution] looking-at (error) #69="fb\"$" #70=#:ert-form-evaluation-aborted-5170 [(should (looking-at #69#)) :form eql #70# :value looking-at ert-explainer :explanation apply ert--signal-should-execution]] 13]] 13] eglot-lsp-abiding-column "Test basic `eglot-lsp-abiding-column' and `eglot-move-to-lsp-abiding-column'" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #71="clangd" signal #72=#:ert-form-evaluation-aborted-5175 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #71#)) :form eql #72# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("foo.c" . "const char write_data[] = u8\"🚂🚃🚄🚅🚆🚈🚇🚈🚉🚊🚋🚌🚎🚝🚞🚟🚠🚡🛤🛲\";"))) #[0 "\304r\305\306!q\210\307\301!\210\310\307\302!\210\311\312\216\313C\314\315\316\317\320\321\322\323!\324\"\325\326%\327$\210\330 \210\313\210\331c\210\332 \210\333\334\317\335\336\322\323!\337\"\340$\"\210\341 \210\342C\3431Z\344 )\310D0\202e\345\240\210\211@AD\262\346C\313C\317\335\347\322\323$\350\"\351$\216\352\242\"\240)\204\214\353\242!\210\266 \354!\210\355C\3561\236\357C0\202\251\345\240\210\211@AD\262\360C\313C\317\335\347\322\323$\361\"\351$\216\352\242\"\240)\204\320\353\242!\210\210\211\242\262\266\202\262+\207" [eglot-server-programs eglot-move-to-column-function eglot-current-column-function signal-hook-function ((c-mode "clangd")) eglot--find-file-noselect "project/foo.c" make-local-variable eglot-move-to-lsp-abiding-column eglot-lsp-abiding-column #[0 "\300\301\302\"\207" [advice-remove jsonrpc--log-event #73=#:eglot--event-sniff] 3] nil advice-add jsonrpc--log-event :before make-byte-code 770 "\301\302\"A@\301\303\"A@\301\304\"A@\205\305=\2039\203)\306\202[\2031\306\202[\211\205[\306\202[\307=\205[\203H\306\202[\203V\300 \300\242B\240\202[\211\205[\306\266\203\207" vconcat vector [plist-member :method :id :error server nil client] 13 "\n\n(fn PROC MESSAGE &optional TYPE)" ((name . #73#)) eglot--tests-connect "p " eglot--signal-textDocument/didChange eglot--call-with-timeout (2 "waiting for:\n((let*\n ((fn-5177 #'equal)\n (args-5178\n (condition-case err\n (let\n ((signal-hook-function #'ert--should-signal-hook))\n (list 71\n (car\n (cdr\n (cdr\n (cdr\n (car\n (cdr\n (car\n (cdr\n (aref\n (car\n (cdr\n (cdr\n (cdr params))))\n 0)))))))))))\n (error\n (progn\n (setq fn-5177 #'signal)\n (list\n (car err)\n (cdr err)))))))\n (let\n ((value-5179 'ert-form-evaluation-aborted-5180))\n (let\n (form-description-5181)\n (if\n (unwind-protect\n (setq value-5179\n (apply fn-5177 args-5178))\n (setq form-description-5181\n (nconc\n (list\n '(should\n (equal 71\n (cadddr\n (cadadr\n (aref\n (cadddr params)\n 0))))))\n (list :form\n (cons fn-5177 args-5178))\n (if\n (eql value-5179 'ert-form-evaluation-aborted-5180)\n nil\n (list :value value-5179))\n (let\n ((-explainer-\n (and\n (symbolp 'equal)\n (get 'equal 'ert-explainer))))\n (if -explainer-\n (progn\n (list :explanation\n (apply -explainer- args-5178)))))))\n (ert--signal-should-execution form-description-5181))\n nil\n (ert-fail form-description-5181)))\n value-5179)))\n") 0 "\301\302\303\300\242\303\211\211\302\303:\203R@\262\304\305\"\262\306!\203+\307\305\310!\311\303O#\210\312\313\"\262\203AB\262\303\211\262\202B\302\203RC\244\262A\262\202\n\266\205\211\262?\211\262\203y\314\315\"\301U\203r\316\317\303\320#\210\321\303\322\"\210T\262\202\266\202\300A\240\210\323\324\325@!\"\207" [0 t nil plist-get :method keywordp plist-put symbol-name 1 apply #[128 "\301\302\"A@\303C\3041$\305\306AAA@\307HA@A@AAA@)D0\202/\310\240\210\211@AD\262\311C\312C\313\307\314\315\316$\317\"\320$\216\321\242\"\240)\204V\322\242!\210\210\211\242\262\207" [signal-hook-function plist-member :params equal (error) ert--should-signal-hook 71 0 signal #74=#:ert-form-evaluation-aborted-5180 nil make-byte-code "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (equal 71 (cadddr (cadadr (aref (cadddr params) 0))))) :form eql #74# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail] 15 "\n\n(fn &key PARAMS &allow-other-keys)"] mod 5 read-event #62# 0.1 accept-process-output 0.1 eglot--message #63# pp-to-string] 15 beginning-of-line eq (error) ert--should-signal-hook signal #75=#:ert-form-evaluation-aborted-5185 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eq eglot-move-to-column-function #'eglot-move-to-lsp-abiding-column)) :form eql #75# :value eq ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail 71 looking-at (error) #76="p" #77=#:ert-form-evaluation-aborted-5190 [(should (looking-at #76#)) :form eql #77# :value looking-at ert-explainer :explanation apply ert--signal-should-execution]] 14]] 13] eglot-ensure "Test basic `eglot-ensure' functionality" #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #78="pyls" signal #79=#:ert-form-evaluation-aborted-5195 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #78#)) :form eql #79# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("foo.py" . "import sys\nsys.exi") ("bar.py" . "import sys\nsys.exi")) (python-mode-hook (eglot-ensure (lambda nil (remove-hook 'flymake-diagnostic-functions 'python-flymake))))) #[0 "\301r\302\303!q\210\304\305!C\301C\306\307\310\311\312\"\313\"\314$\216\315 \211\262\240)\204,\316\242!\210\266)r\302\317!q\210\320C\3211F\322\315 )D0\202Q\323\240\210\211@AD\262\324C\301C\306\307\325\311\312$\326\"\327$\216\330\242\"\240)\204x\316\242!\210\210\211\242\262\266\202)\207" [signal-hook-function nil ert-simulate-command (find-file "project/foo.py") gensym #8# make-byte-code 0 "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" vconcat vector [(should #80=(setq server (eglot-current-server))) :form #80# :value ert--signal-should-execution] 6 eglot-current-server ert-fail (find-file "project/bar.py") eq (error) ert--should-signal-hook signal #81=#:ert-form-evaluation-aborted-5202 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eq server (eglot-current-server))) :form eql #81# :value eq ert-explainer :explanation apply ert--signal-should-execution] 7 apply] 14]] 13] slow-sync-connection-wait "Connect with `eglot-sync-connect' set to t." #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #82="pyls" signal #83=#:ert-form-evaluation-aborted-5207 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #82#)) :form eql #83# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "import sys\nsys.exi"))) #[0 "r\302\303!q\210\304\305\306C\3071\310C0\202!\311\240\210\211@AD\262\312C\313C\314\315\316\317\320$\321\"\322$\216\323\242\"\240)\204H\324\242!\210\210\211\242\262\266\202+\207" [eglot-server-programs eglot-sync-connect eglot--find-file-noselect "project/something.py" t ((python-mode "sh" "-c" "sleep 1 && pyls")) eglot--tests-connect (error) 3 signal #84=#:ert-form-evaluation-aborted-5212 nil make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect 3)) :form eql #84# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail] 13]] 13] slow-sync-connection-intime "Connect synchronously with `eglot-sync-connect' set to 2." #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #85="pyls" signal #86=#:ert-form-evaluation-aborted-5217 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #85#)) :form eql #86# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "import sys\nsys.exi"))) #[0 "r\302\303!q\210\304\305\306C\3071\310C0\202!\311\240\210\211@AD\262\312C\313C\314\315\316\317\320$\321\"\322$\216\323\242\"\240)\204H\324\242!\210\210\211\242\262\266\202+\207" [eglot-server-programs eglot-sync-connect eglot--find-file-noselect "project/something.py" 2 ((python-mode "sh" "-c" "sleep 1 && pyls")) eglot--tests-connect (error) 3 signal #87=#:ert-form-evaluation-aborted-5222 nil make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot--tests-connect 3)) :form eql #87# :value eglot--tests-connect ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail] 13]] 13] slow-async-connection "Connect asynchronously with `eglot-sync-connect' set to 2." #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #88="pyls" signal #89=#:ert-form-evaluation-aborted-5227 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #88#)) :form eql #89# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "import sys\nsys.exi"))) #[0 "r\303\304!q\210\305\306\307C\3101\311\312\313 )D0\202&\314\240\210\211@AD\262\315C\316C\317\320\321\322\323$\324\"\325$\216\307\242\"\240)\203M\326\242!\210\266\327\330\331\"+\207" [eglot-server-programs eglot-sync-connect signal-hook-function eglot--find-file-noselect "project/something.py" 1 ((python-mode "sh" "-c" "sleep 2 && pyls")) apply (error) ert--should-signal-hook eglot--connect eglot--guess-contact signal #90=#:ert-form-evaluation-aborted-5232 nil make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\311\301\"D\262\244\240\210\314\303\242!\207" vconcat vector [(should-not (apply #'eglot--connect (eglot--guess-contact))) :form eql #90# :value apply ert-explainer :explanation ert--signal-should-execution] 7 ert-fail eglot--call-with-timeout 3 #[0 "\300 \204 \301\302\303\"\210\202\300C\3041\3020\202#\305\240\210\211@AD\262\306C\302C\307\310\311\312\313$\314\"\315$\216\316\242\"\240)\204J\317\242!\210\210\211\242\262\207" [eglot-current-server accept-process-output nil 0.2 (error) signal #91=#:ert-form-evaluation-aborted-5237 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (eglot-current-server)) :form eql #91# :value eglot-current-server ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail] 13]] 13]] 13] slow-sync-timeout "Failed attempt at connection synchronously." #[0 "\300C\3011\f\302C0\202\303\240\210\211@AD\262\304C\305C\3061>\307\310\311\312\313$\314\"\315$\216\316\242\"\240)0\202@\210\305\204H\317\242!\210\266\320\321\322\"\207" [executable-find (error) #92="pyls" signal #93=#:ert-form-evaluation-aborted-5242 nil (error) make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(skip-unless (executable-find #92#)) :form eql #93# :value executable-find ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-skip eglot--call-with-fixture (("project" ("something.py" . "import sys\nsys.exi"))) #[0 "r\304\305!q\210\306\307\310\311C\3121\313\314\315 )D0\202(\316\240\210\211@AD\262\317C\320C\320\321\322\323\324\325!\326\"\307$\3271^\321\322\330\324\325\n\n\n\n$\331\"\332$\216\311\242\"\240)0\202m\306\262\333\334\320$\210\240\262\210\204|\335\336 \337\340D\"!\210\266\211\242\262\266\202,\207" [eglot-server-programs eglot-connect-timeout eglot-sync-connect signal-hook-function eglot--find-file-noselect "project/something.py" t 1 ((python-mode "sh" "-c" "sleep 2 && pyls")) apply (error) ert--should-signal-hook eglot--connect eglot--guess-contact signal #94=#:ert-form-evaluation-aborted-5247 nil make-byte-code 0 "\300\242\207" vconcat vector #101=[] (error) "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\311\301\"D\262\244\240\210\314\303\242!\207" [(should-error (apply #'eglot--connect (eglot--guess-contact))) :form eql #94# :value apply ert-explainer :explanation ert--signal-should-execution] 7 ert--should-error-handle-error error ert-fail append :fail-reason #120="did not signal an error"] 15]] 13] eglot-capabilities "Unit test for `eglot--server-capable'." #[0 "\301\302\303K\304K\305\306\307\310\311\"\312\"\313$\216\303M\210\304M\210\314C\3151/\316\313\317\320!)D0\202:\321\240\210\211@AD\262\322C\323C\305\306\324\310\311$\325\"\326$\216\327\242\"\240)\204a\330\242!\210\266\317C\3311p\332\333D0\202{\321\240\210\211@AD\262\334C\323C\305\306\335\310\311$\336\"\326$\216\327\242\"\240)\204\242\330\242!\210\266\337C\3401\266\316\341\317\332!)D0\202\301\321\240\210\211@AD\262\342C\323C\305\306\335\310\311$\343\"\326$\216\327\242\"\240)\204\350\330\242!\210\266\317C\3441\366\345C0\202\321\240\210\211@AD\262\346C\323C\305\306\335\310\311$\347\"\326$\216\327\242\"\240)\203(\330\242!\210\266\317C\35017\320\345D0\202B\321\240\210\211@AD\262\351C\323C\305\306\335\310\311$\352\"\326$\216\327\242\"\240)\203i\330\242!\210\210\211\242\262\266\202)\207" [signal-hook-function #[257 "\300\301\302\303\304\305\306\307\310\303\311\303\312\303\313\303\314\303\315\303\316\303\317\303\320\303\321\303\257\207" [:textDocumentSync 2 :hoverProvider t :completionProvider (:triggerCharacters ["."]) :signatureHelpProvider (:triggerCharacters ["(" ","]) :definitionProvider :typeDefinitionProvider :referencesProvider :documentSymbolProvider :workspaceSymbolProvider :implementationProvider :documentFormattingProvider :xworkspaceReferencesProvider :xdefinitionProvider :xworkspaceSymbolByProperties] 29 "\n\n(fn DUMMY)"] #[0 "\300\207" [nil] 1] eglot--current-server-or-lose eglot--capabilities make-byte-code 0 "\302\300M\210\303\301M\207" vconcat vector [eglot--current-server-or-lose eglot--capabilities] 2 eql (error) ert--should-signal-hook eglot--server-capable :textDocumentSync signal #95=#:ert-form-evaluation-aborted-5254 nil "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\306\311N\211\205%\312\313\301\"D\262\244\240\210\314\303\242!\207" [(should (eql 2 (eglot--server-capable :textDocumentSync))) :form eql #95# :value ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail (error) :completionProvider :triggerCharacters #96=#:ert-form-evaluation-aborted-5259 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (eglot--server-capable :completionProvider :triggerCharacters)) :form eql #96# :value eglot--server-capable ert-explainer :explanation apply ert--signal-should-execution] equal (error) #97=(:triggerCharacters ["."]) #98=#:ert-form-evaluation-aborted-5264 [(should (equal '#97# (eglot--server-capable :completionProvider))) :form eql #98# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) :foobarbaz #99=#:ert-form-evaluation-aborted-5269 [(should-not (eglot--server-capable :foobarbaz)) :form eql #99# :value eglot--server-capable ert-explainer :explanation apply ert--signal-should-execution] (error) #100=#:ert-form-evaluation-aborted-5274 [(should-not (eglot--server-capable :textDocumentSync :foobarbaz)) :form eql #100# :value eglot--server-capable ert-explainer :explanation apply ert--signal-should-execution]] 17] eglot-strict-interfaces #[0 "\303\304C\3051r\306\307\310\311\312\313\n>\203W\314\315\"A@\314\316\"A@\211\203M\211@\317>\2036\211AA\262\202#\320>A@\203D\310\262\202#\321\322@\"\210\202#\210\"\266\203\202j\314\315\"A@\314\316\"A@\"\266\203\266\202*D0\202}\323\240\210\211@AD\262\324C\310C\325\326\327\330\331$\332\"\333$\216\334\242\"\240)\204\244\335\242!\210\266\336\337!C\310C\310\325\326\340\330\331!\341\"\342$\34315\325\326\344\330\331\"\345\"\346$\216\347\350\351\313\n>\203\314\315\"A@\314\316\"A@\211\203\211@\352>\203\370\211AA\262\202\345\320>A@\203\310\262\202\345\321\322@\"\210\202\345\210\"\266\203\202,\314\315\"A@\314\316\"A@\"\266\203\266\202)\240)0\202D\353\262\354\321\310$\210\240\262\210\204S\335\355 \356\357D\"!\210\266\304C\3601\305\306\361\310\362\363\313\n>\203\252\314\315\"A@\314\316\"A@\211\203\240\211@\364>\203\211\211AA\262\202v\320>A@\203\227\310\262\202v\321\322@\"\210\202v\210\"\266\203\202\275\314\315\"A@\314\316\"A@\"\266\203\266\202*D0\202\320\323\240\210\211@AD\262\365C\310C\325\326\327\330\331$\366\"\333$\216\334\242\"\240)\204\367\335\242!\210\266\336\337!C\310C\310\325\326\340\330\331!\341\"\342$\3671L\325\326\344\330\331\"\370\"\346$\216\371\372\211\314\315\"A@\314\316\"A@\373\374\375\n>\313\n>\376\n>%\210B\266\203\262)\240)0\202[\353\262\354\321\310$\210\240\262\210\204j\335\355 \356\357D\"!\210\266\304C\3771\246\306\201@\201A\201B\211\314\315\"A@\314\316\"A@\373\374\375\n>\313\n>\376\n>%\210B\266\203\262*D0\202\261\323\240\210\211@AD\262\201CC\310C\325\326\327\330\331$\201D\"\333$\216\334\242\"\240)\204\334\335\242!\210\266\304C\201E1\306\201F\310\201G\211\314\315\"A@\314\316\"A@\373\374\375\n>\313\n>\376\n>%\210B\266\203\262*D0\202#\323\240\210\211@AD\262\201HC\310C\325\326\327\330\331$\201I\"\333$\216\334\242\"\240)\204N\335\242!\210\266\304C\201J1\214\306\201K\201L\201M\211\314\315\"A@\314\316\"A@\373\374\375\n>\313\n>\376\n>%\210B\266\203\262*D0\202\227\323\240\210\211@AD\262\201NC\310C\325\326\327\330\331$\201O\"\333$\216\334\242\"\240)\204\302\335\242!\210\266\336\337!C\310C\310\325\326\340\330\331!\341\"\342$\201P1\325\326\344\330\331\"\201Q\"\346$\216\201R\201S\211\314\315\"A@\314\316\"A@\373\374\375\n>\313\n>\376\n>%\210B\266\203\262)\240)0\202.\353\262\354\321\310$\210\240\262\210\204=\335\355 \356\357D\"!\210\266\211\242\262)\207" [eglot--lsp-interface-alist signal-hook-function eglot-strict-mode ((FooObject (:foo :bar) (:baz))) equal (error) ert--should-signal-hook #103=("foo" . "bar") nil (:foo #104="foo" :bar #105="bar") #[514 "B\207" #101# 4 "\n\n(fn FOO BAR)"] disallow-non-standard-keys plist-member :foo :bar (:foo :bar . #102#) :allow-other-keys error "Keyword argument %s not one of (:foo :bar)" signal #106=#:ert-form-evaluation-aborted-5279 make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (equal '#103# (let ((eglot-strict-mode nil)) (eglot--dbind (foo bar) `(:foo #104# :bar #105#) (cons foo bar))))) :form eql #106# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail gensym #8# "\300\242\207" #101# 1 (error) "\301\302\303\304\305\300\242\257\240\210\306\301\242!\207" [(should-error (let #107=((eglot-strict-mode '#117=(disallow-non-standard-keys))) (eglot--dbind #110=(foo bar) `(:foo #108="foo" :bar #109="bar" :fotrix bargh) #111=(cons foo bar)))) :form (let #107# (let ((#112=#:object-once '#118=(:foo #108# :bar #109# :fotrix bargh)) (#115=#:fn-once #'(lambda #110# #111#))) (if (memq 'disallow-non-standard-keys eglot-strict-mode) (let* ((#113=#:--cl-rest-- #112#) (foo (car (cdr (plist-member #113# ':foo)))) (bar (car (cdr (plist-member #113# ':bar))))) (progn (let ((#114=#:--cl-keys-- #113#)) (while #114# (cond ((memq (car #114#) '#119=(:foo :bar . #102#)) (setq #114# (cdr (cdr #114#)))) ((car (cdr (memq ':allow-other-keys #113#))) (setq #114# nil)) (t (error "Keyword argument %s not one of (:foo :bar)" (car #114#)))))) (funcall #115# . #110#))) (let* ((#116=#:--cl-rest-- #112#) (foo (car (cdr (plist-member #116# ':foo)))) (bar (car (cdr (plist-member #116# ':bar))))) (funcall #115# . #110#))))) :value ert--signal-should-execution] 6 #117# #118# #[514 "B\207" #101# 4 "\n\n(fn FOO BAR)"] #119# t ert--should-error-handle-error append :fail-reason #120# (error) #121=("foo" . "bar") (:foo #122="foo" :bar #123="bar" :fotrix bargh) #[514 "B\207" #101# 4 "\n\n(fn FOO BAR)"] (:foo :bar . #102#) #124=#:ert-form-evaluation-aborted-5288 [(should (equal '#121# (let ((eglot-strict-mode nil)) (eglot--dbind (foo bar) `(:foo #122# :bar #123# :fotrix bargh) (cons foo bar))))) :form eql #124# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) [(should-error (let #125=((eglot-strict-mode '#131=(disallow-non-standard-keys))) (eglot--dbind ((FooObject) foo bar) `(:foo #126="foo" :bar #127="bar" :fotrix bargh) #130=(cons foo bar)))) :form (let #125# (let ((#128=#:object-once '#132=(:foo #126# :bar #127# :fotrix bargh))) (let* ((#129=#:--cl-rest-- #128#) (foo (car (cdr (plist-member #129# ':foo)))) (bar (car (cdr (plist-member #129# ':bar))))) (progn (eglot--check-object 'FooObject #128# . #150=((memq 'enforce-required-keys eglot-strict-mode) (memq 'disallow-non-standard-keys eglot-strict-mode) (memq 'check-types eglot-strict-mode))) #130#)))) :value ert--signal-should-execution] #131# #132# eglot--check-object FooObject enforce-required-keys check-types (error) #133=("foo" . "bar") #134=(disallow-non-standard-keys) (:foo #135="foo" :bar #136="bar" :baz bargh) #137=#:ert-form-evaluation-aborted-5297 [(should (equal '#133# (let ((eglot-strict-mode '#134#)) (eglot--dbind ((FooObject) foo bar) `(:foo #135# :bar #136# :baz bargh) (cons foo bar))))) :form eql #137# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #138=("foo") (:foo #139="foo" :baz bargh) #140=#:ert-form-evaluation-aborted-5302 [(should (equal '#138# (let ((eglot-strict-mode nil)) (eglot--dbind ((FooObject) foo bar) `(:foo #139# :baz bargh) (cons foo bar))))) :form eql #140# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #141=("foo" . "bar") #142=(enforce-required-keys) (:foo #143="foo" :bar #144="bar" :baz bargh) #145=#:ert-form-evaluation-aborted-5307 [(should (equal '#141# (let ((eglot-strict-mode '#142#)) (eglot--dbind ((FooObject) foo bar) `(:foo #143# :bar #144# :baz bargh) (cons foo bar))))) :form eql #145# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) [(should-error (let #146=((eglot-strict-mode '#152=(enforce-required-keys))) (eglot--dbind ((FooObject) foo bar) `(:foo #147="foo" :baz bargh) #151=(cons foo bar)))) :form (let #146# (let ((#148=#:object-once '#153=(:foo #147# :baz bargh))) (let* ((#149=#:--cl-rest-- #148#) (foo (car (cdr (plist-member #149# ':foo)))) (bar (car (cdr (plist-member #149# ':bar))))) (progn (eglot--check-object 'FooObject #148# . #150#) #151#)))) :value ert--signal-should-execution] #152# #153#] 16] eglot-dcase #[0 "\303\304C\3051=\306\307\310\3111\312\313\314\315\n>\314%0\202!\210\2020\2030\211\316\317\"A@\262\2025\320\321\322#\262)D0\202H\323\240\210\211@AD\262\324C\325C\326\327\330\331\332$\333\"\334$\216\335\242\"\240)\204o\336\242!\210\266\304C\3371\362\306\307\340\341E\342\3431\217\312\344\314\315\n>\314%0\202\223\210\202\261\203\261\211\316\345\"A@\316\346\"A@\316\347\"A@\336\350!\266\204\202\352\3511\302\312\352\314\315\n>\314%0\202\306\210\202\345\203\345\211\316\345\"A@\316\353\"A@\316\346\"A@E\266\204\202\352\320\321\354#\262)D0\202\375\323\240\210\211@AD\262\355C\325C\326\327\330\331\332$\356\"\334$\216\335\242\"\240)\204$\336\242!\210\266\304C\3571\247\306\307\340\325E\360\3611D\312\344\314\315\n>\314%0\202H\210\202g\203g\211\316\345\"A@\316\346\"A@\316\347\"A@E\266\204\202\237\3621x\312\352\314\315\n>\314%0\202|\210\202\232\203\232\211\316\345\"A@\316\353\"A@\316\346\"A@\336\363!\266\204\202\237\320\321\364#\262)D0\202\262\323\240\210\211@AD\262\365C\325C\326\327\330\331\332$\366\"\334$\216\335\242\"\240)\204\331\336\242!\210\210\211\242\262\266\202)\207" [eglot--lsp-interface-alist signal-hook-function eglot-strict-mode ((FooObject (:foo :bar) (:baz)) (CodeAction (:title) (:kind :diagnostics :edit :command)) (Command (:title :command) (:arguments))) equal (error) ert--should-signal-hook #154="foo" (:foo #155="foo" :bar #156="bar") (error) eglot--check-object FooObject t disallow-non-standard-keys plist-member :foo eglot--error #171="%S didn't match any of %S" (#157=((FooObject) foo)) signal #158=#:ert-form-evaluation-aborted-5316 nil make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (equal #154# (eglot--dcase `(:foo #155# :bar #156#) (#157# foo)))) :form eql #158# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail (error) #159="some command" #160="some edit" #161=(:title "foo" :command "some command" :edit "some edit") (error) Command :title :command :arguments #163="Shouldn't have destructured this object as a Command" (error) CodeAction :edit (#162=((Command) _title _command _arguments) #164=((CodeAction) title edit command)) #165=#:ert-form-evaluation-aborted-5321 [(should (equal (list "foo" #159# #160#) (eglot--dcase '#161# (#162# (ert-fail #163#)) (#164# (list title command edit))))) :form eql #165# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #166=(:title "foo" :command "some command") (error) (error) #169="Shouldn't have destructured this object as a CodeAction" (#167=((Command) title command arguments) #168=((CodeAction) _title _edit _command)) #170=#:ert-form-evaluation-aborted-5326 [(should (equal (list "foo" "some command" nil) (eglot--dcase '#166# (#167# (list title command arguments)) (#168# (ert-fail #169#))))) :form eql #170# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 13] eglot-dcase-issue-452 #[0 "\303\304C\3051{\306\307\310D\311\3121\313\314\315\316\n>\315%0\202#\210\202A\203A\211\317\320\"A@\317\321\"A@\317\322\"A@\323\324!\266\204\202s\3251R\313\326\315\316\n>\315%0\202V\210\202n\203n\211\317\320\"A@\317\321\"A@D\266\203\202s\327\330\331#\262)D0\202\206\332\240\210\211@AD\262\333C\334C\335\336\337\340\341$\342\"\343$\216\344\242\"\240)\204\255\323\242!\210\210\211\242\262\266\202)\207" [eglot--lsp-interface-alist signal-hook-function eglot-strict-mode ((FooObject (:foo :bar) (:baz)) (CodeAction (:title) (:kind :diagnostics :edit :command)) (Command ((string . :title) (:command . string)) (:arguments))) equal (error) ert--should-signal-hook #172="foo" #173=(:command "cmd" :title "alsofoo") #174=(:title "foo" :command (:command "cmd" :title "alsofoo")) (error) eglot--check-object Command t disallow-non-standard-keys plist-member :title :command :arguments ert-fail #176="Shouldn't have destructured this object as a Command" (error) CodeAction eglot--error #171# (#175=((Command) _title _command _arguments) #177=((CodeAction) title command)) signal #178=#:ert-form-evaluation-aborted-5331 nil make-byte-code 0 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" vconcat vector [(should (equal (list #172# '#173#) (eglot--dcase '#174# (#175# (ert-fail #176#)) (#177# (list title command))))) :form eql #178# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7 apply] 13]] 10) #@598 Evaluate BODY twice, binding results of `eglot--guess-contact'. INTERACTIVE-SYM is bound to the boolean passed to `eglot--guess-contact' each time. If the user would have been prompted, PROMPT-ARGS-SYM is bound to the list of arguments that would have been passed to `read-shell-command', else nil. GUESSED-CLASS-SYM and GUESSED-CONTACT-SYM are bound to the useful return values of `eglot--guess-contact'. Unless the server program evaluates to "a-missing-executable.exe", this macro will assume it exists. (fn (INTERACTIVE-SYM PROMPT-ARGS-SYM GUESSED-CLASS-SYM GUESSED-CONTACT-SYM) &body BODY) (defalias 'eglot--guessing-contact '(macro . #[128 "\211\203 \211A\262\242\202\300\301\302GD\"\211G\303U\203$\211A\262\242\202+\300\301\302GD\"\211A\262\242\211A\262\242@\304 \305\306B\307D\310\311BE\312\313\314\315\316\317 \320BB\321BBBDD\322\323\211  F\324 DBBBEEE\262\207" [signal wrong-number-of-arguments eglot--guessing-contact 4 cl-gensym dolist ('(nil t)) let (buffer-file-name "_") (nil) cl-letf ((symbol-function 'executable-find) (lambda (name) (unless (string-equal name "a-missing-executable.exe") (format "/totally-mock-bin/%s" name)))) (symbol-function 'read-shell-command) lambda (&rest args) setq (args) ("") cl-destructuring-bind _ eglot--guess-contact] 19 (#$ . 103219)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\312\310\313\314\313\315\313&\"\210\307\316\311\312\316\313\317\313\315\313&\"\210\307\320\311\312\320\313\321\313\315\313&\"\210\307\322\311\312\322\313\323\313\315\313&\"\210\307\324\311\312\324\313\325\313\315\313&\"\210\307\326\311\312\326\313\327\313\315\313&\"\210\307\330\311\312\330\313\331\313\315\313&\"\210\307\332\311\312\332\313\333\313\315\313&\"\210\307\334\311\312\334\313\335\313\315\313&\"\210\307\336\311\312\336\313\337\313\315\313&\"\210\340\341!\207" [function-put eglot--guessing-contact lisp-indent-function 1 put edebug-form-spec t ert-set-test eglot-server-programs-simple-executable record ert-test nil #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode "some-executable")) foo-mode #5=(nil t) #6="_" nil #[257 "\211\300\230?\205 \301\302\"\207" [#7="a-missing-executable.exe" format #8="/totally-mock-bin/%s"] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9=""] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #1=#:ert-form-evaluation-aborted-5336 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #1# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #2=#:ert-form-evaluation-aborted-5341 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #2# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #3=("some-executable") #4=#:ert-form-evaluation-aborted-5346 [(should (equal guessed-contact '#3#)) :form eql #4# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] :passed eglot-server-programs-simple-missing-executable #[0 "\304\305\306\211\205A\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351x\336\n\242? )?D0\202\203\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\252\344\242!\210\266\334C\3451\274\336)\346D0\202\307\332\240\210\211@AD\262\347C\310C\312\324\340\315\316$\350\"\342$\216\343\242\"\240)\204\356\344\242!\210\266\334C\3511\336)\352D0\202 \332\240\210\211@AD\262\353C\310C\312\324\340\315\316$\354\"\342$\216\343\242\"\240)\2042\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode "a-missing-executable.exe")) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments equal (error) ert--should-signal-hook #10=#:ert-form-evaluation-aborted-5351 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (equal (not prompt-args) (not interactive-p))) :form eql #10# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail (error) eglot-lsp-server #11=#:ert-form-evaluation-aborted-5356 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #11# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #12=("a-missing-executable.exe") #13=#:ert-form-evaluation-aborted-5361 [(should (equal guessed-contact '#12#)) :form eql #13# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-executable-multiple-major-modes #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function (((bar-mode foo-mode) "some-executable")) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #14=#:ert-form-evaluation-aborted-5366 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #14# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #15=#:ert-form-evaluation-aborted-5371 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #15# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #16=("some-executable") #17=#:ert-form-evaluation-aborted-5376 [(should (equal guessed-contact '#16#)) :form eql #17# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-executable-with-arg #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode "some-executable" "arg1")) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #18=#:ert-form-evaluation-aborted-5381 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #18# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #19=#:ert-form-evaluation-aborted-5386 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #19# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #20=("some-executable" "arg1") #21=#:ert-form-evaluation-aborted-5391 [(should (equal guessed-contact '#20#)) :form eql #21# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-executable-with-args-and-autoport #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode "some-executable" "arg1" :autoport "arg2")) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #22=#:ert-form-evaluation-aborted-5396 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #22# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #23=#:ert-form-evaluation-aborted-5401 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #23# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #24=("some-executable" "arg1" :autoport "arg2") #25=#:ert-form-evaluation-aborted-5406 [(should (equal guessed-contact '#24#)) :form eql #25# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-host-and-port #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode "somehost.example.com" 7777)) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #26=#:ert-form-evaluation-aborted-5411 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #26# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #27=#:ert-form-evaluation-aborted-5416 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #27# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #28=("somehost.example.com" 7777) #29=#:ert-form-evaluation-aborted-5421 [(should (equal guessed-contact '#28#)) :form eql #29# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-host-and-port-and-tcp-args #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode "somehost.example.com" 7777 :type network)) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #30=#:ert-form-evaluation-aborted-5426 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #30# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #31=#:ert-form-evaluation-aborted-5431 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #31# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #32=("somehost.example.com" 7777 :type network) #33=#:ert-form-evaluation-aborted-5436 [(should (equal guessed-contact '#32#)) :form eql #33# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-class-name-and-plist #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode bar-class :init-key init-val)) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #34=#:ert-form-evaluation-aborted-5441 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #34# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) bar-class #35=#:ert-form-evaluation-aborted-5446 [(should (equal guessed-class 'bar-class)) :form eql #35# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #36=(:init-key init-val) #37=#:ert-form-evaluation-aborted-5451 [(should (equal guessed-contact '#36#)) :form eql #37# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-class-name-and-contact-spec #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode bar-class "some-executable" "arg1" :autoport "arg2")) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #38=#:ert-form-evaluation-aborted-5456 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #38# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) bar-class #39=#:ert-form-evaluation-aborted-5461 [(should (equal guessed-class 'bar-class)) :form eql #39# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #40=("some-executable" "arg1" :autoport "arg2") #41=#:ert-form-evaluation-aborted-5466 [(should (equal guessed-contact '#40#)) :form eql #41# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] eglot-server-programs-function #[0 "\304\305\306\211\205=\211@\211\307\310C\311\312\313\314\315\316!\317\"\320\321%\322K\323K\312\324\325\315\316\"\326\"\327$\216\322M\210\323M\210\330!\211G\331U\203N\211A\262\242\202U\332\333\310GD\"\211A\262\242\211A\262\242@\334C\3351t\336\n\242)C0\202\332\240\210\211@AD\262\337C\310C\312\324\340\315\316$\341\"\342$\216\343\242\"\240)\204\246\344\242!\210\266\345C\3461\270\336)\347D0\202\303\332\240\210\211@AD\262\350C\310C\312\324\340\315\316$\351\"\342$\216\343\242\"\240)\204\352\344\242!\210\266\345C\3521\374\336)\353D0\202\332\240\210\211@AD\262\354C\310C\312\324\340\315\316$\355\"\342$\216\343\242\"\240)\204.\344\242!\210\266 )\266)\266A\266\202\202\262*\207" [major-mode eglot-server-programs buffer-file-name signal-hook-function ((foo-mode lambda (&optional _) '("some-executable"))) foo-mode #5# #6# nil #[257 "\211\300\230?\205 \301\302\"\207" [#7# format #8#] 4 "\n\n(fn NAME)"] make-byte-code 128 "\300\240\210\301\207" vconcat vector [#9#] 3 "\n\n(fn &rest ARGS)" read-shell-command executable-find 0 "\302\300M\210\303\301M\207" [read-shell-command executable-find] 2 eglot--guess-contact 4 signal wrong-number-of-arguments not (error) ert--should-signal-hook #42=#:ert-form-evaluation-aborted-5471 "\303\304C\305\300\242\301BD\244\306\302\242\307\"?\205\310\302\242D\244\311\312N\211\205%\313\314\301\"D\262\244\240\210\315\303\242!\207" [(should (not prompt-args)) :form eql #42# :value not ert-explainer :explanation apply ert--signal-should-execution] 7 apply ert-fail equal (error) eglot-lsp-server #43=#:ert-form-evaluation-aborted-5476 [(should (equal guessed-class 'eglot-lsp-server)) :form eql #43# :value equal ert-explainer :explanation apply ert--signal-should-execution] (error) #44=("some-executable") #45=#:ert-form-evaluation-aborted-5481 [(should (equal guessed-contact '#44#)) :form eql #45# :value equal ert-explainer :explanation apply ert--signal-should-execution]] 27] provide eglot-tests] 11)